Add aliases for three letter codes

Signed-off-by: Michal Čihař <michal@cihar.com>
This commit is contained in:
Michal Čihař 2019-04-17 10:52:48 +02:00
parent b62eb63d48
commit af525ffa18
2 changed files with 233 additions and 3 deletions

View file

@ -77,7 +77,212 @@ de_fo;de_form
dk;da
gr;el
rs;sr
jpn;ja
swe;sv
zho;zh_Hant
ca_es@valencia;ca@valencia
#;Slovak sign language
svk;sk
#;three letter codes, generated by gen-iso-aliases
aar;aa
abk;ab
afr;af
aka;ak
alb;sq
amh;am
ara;ar
arg;an
arm;hy
asm;as
ava;av
ave;ae
aym;ay
aze;az
bak;ba
bam;bm
baq;eu
bel;be
ben;bn
bih;bh
bis;bi
bod;bo
bos;bs
bre;br
bul;bg
bur;my
cat;ca
ces;cs
cha;ch
che;ce
chi;zh
chu;cu
chv;cv
cor;kw
cos;co
cre;cr
cym;cy
cze;cs
dan;da
deu;de
div;dv
dut;nl
dzo;dz
ell;el
eng;en
epo;eo
est;et
eus;eu
ewe;ee
fao;fo
fas;fa
fij;fj
fin;fi
fra;fr
fre;fr
fry;fy
ful;ff
geo;ka
ger;de
gla;gd
gle;ga
glg;gl
glv;gv
gre;el
grn;gn
guj;gu
hat;ht
hau;ha
hbs;sh
heb;he
her;hz
hin;hi
hmo;ho
hrv;hr
hun;hu
hye;hy
ibo;ig
ice;is
ido;io
iii;ii
iku;iu
ile;ie
ina;ia
ind;id
ipk;ik
isl;is
ita;it
jav;jv
jpn;ja
kal;kl
kan;kn
kas;ks
kat;ka
kau;kr
kaz;kk
khm;km
kik;ki
kin;rw
kir;ky
kom;kv
kon;kg
kor;ko
kua;kj
kur;ku
lao;lo
lat;la
lav;lv
lim;li
lin;ln
lit;lt
ltz;lb
lub;lu
lug;lg
mac;mk
mah;mh
mal;ml
mao;mi
mar;mr
may;ms
mkd;mk
mlg;mg
mlt;mt
mon;mn
mri;mi
msa;ms
mya;my
nau;na
nav;nv
nbl;nr
nde;nd
ndo;ng
nep;ne
nld;nl
nno;nn
nob;nb
nor;no
nya;ny
oci;oc
oji;oj
ori;or
orm;om
oss;os
pan;pa
per;fa
pli;pi
pol;pl
por;pt
pus;ps
que;qu
roh;rm
ron;ro
rum;ro
run;rn
rus;ru
sag;sg
san;sa
sin;si
slk;sk
slo;sk
slv;sl
sme;se
smo;sm
sna;sn
snd;sd
som;so
sot;st
spa;es
sqi;sq
srd;sc
srp;sr
ssw;ss
sun;su
swa;sw
swe;sv
tah;ty
tam;ta
tat;tt
tel;te
tgk;tg
tgl;tl
tha;th
tib;bo
tir;ti
ton;to
tsn;tn
tso;ts
tuk;tk
tur;tr
twi;tw
uig;ug
ukr;uk
urd;ur
uzb;uz
ven;ve
vie;vi
vol;vo
wel;cy
wln;wa
wol;wo
xho;xh
yid;yi
yor;yo
zha;za
zho;zh_Hant
zul;zu

1 # Windows
77 dk da
78 gr el
79 rs sr
jpn ja
swe sv
zho zh_Hant
80 ca_es@valencia ca@valencia
81 # Slovak sign language
82 svk sk
83 # three letter codes, generated by gen-iso-aliases
84 aar aa
85 abk ab
86 afr af
87 aka ak
88 alb sq
89 amh am
90 ara ar
91 arg an
92 arm hy
93 asm as
94 ava av
95 ave ae
96 aym ay
97 aze az
98 bak ba
99 bam bm
100 baq eu
101 bel be
102 ben bn
103 bih bh
104 bis bi
105 bod bo
106 bos bs
107 bre br
108 bul bg
109 bur my
110 cat ca
111 ces cs
112 cha ch
113 che ce
114 chi zh
115 chu cu
116 chv cv
117 cor kw
118 cos co
119 cre cr
120 cym cy
121 cze cs
122 dan da
123 deu de
124 div dv
125 dut nl
126 dzo dz
127 ell el
128 eng en
129 epo eo
130 est et
131 eus eu
132 ewe ee
133 fao fo
134 fas fa
135 fij fj
136 fin fi
137 fra fr
138 fre fr
139 fry fy
140 ful ff
141 geo ka
142 ger de
143 gla gd
144 gle ga
145 glg gl
146 glv gv
147 gre el
148 grn gn
149 guj gu
150 hat ht
151 hau ha
152 hbs sh
153 heb he
154 her hz
155 hin hi
156 hmo ho
157 hrv hr
158 hun hu
159 hye hy
160 ibo ig
161 ice is
162 ido io
163 iii ii
164 iku iu
165 ile ie
166 ina ia
167 ind id
168 ipk ik
169 isl is
170 ita it
171 jav jv
172 jpn ja
173 kal kl
174 kan kn
175 kas ks
176 kat ka
177 kau kr
178 kaz kk
179 khm km
180 kik ki
181 kin rw
182 kir ky
183 kom kv
184 kon kg
185 kor ko
186 kua kj
187 kur ku
188 lao lo
189 lat la
190 lav lv
191 lim li
192 lin ln
193 lit lt
194 ltz lb
195 lub lu
196 lug lg
197 mac mk
198 mah mh
199 mal ml
200 mao mi
201 mar mr
202 may ms
203 mkd mk
204 mlg mg
205 mlt mt
206 mon mn
207 mri mi
208 msa ms
209 mya my
210 nau na
211 nav nv
212 nbl nr
213 nde nd
214 ndo ng
215 nep ne
216 nld nl
217 nno nn
218 nob nb
219 nor no
220 nya ny
221 oci oc
222 oji oj
223 ori or
224 orm om
225 oss os
226 pan pa
227 per fa
228 pli pi
229 pol pl
230 por pt
231 pus ps
232 que qu
233 roh rm
234 ron ro
235 rum ro
236 run rn
237 rus ru
238 sag sg
239 san sa
240 sin si
241 slk sk
242 slo sk
243 slv sl
244 sme se
245 smo sm
246 sna sn
247 snd sd
248 som so
249 sot st
250 spa es
251 sqi sq
252 srd sc
253 srp sr
254 ssw ss
255 sun su
256 swa sw
257 swe sv
258 tah ty
259 tam ta
260 tat tt
261 tel te
262 tgk tg
263 tgl tl
264 tha th
265 tib bo
266 tir ti
267 ton to
268 tsn tn
269 tso ts
270 tuk tk
271 tur tr
272 twi tw
273 uig ug
274 ukr uk
275 urd ur
276 uzb uz
277 ven ve
278 vie vi
279 vol vo
280 wel cy
281 wln wa
282 wol wo
283 xho xh
284 yid yi
285 yor yo
286 zha za
287 zho zh_Hant
288 zul zu

25
gen-iso-aliases Executable file
View file

@ -0,0 +1,25 @@
#! /usr/bin/env python3

import json
import sys

names = {}

def add_name(item):
if 'alpha_2' not in item:
return
if 'alpha_3' in item:
names[item['alpha_3']] = item['alpha_2']
if 'bibliographic' in item:
names[item['bibliographic']] = item['alpha_2']

with open('/usr/share/iso-codes/json/iso_639-2.json', 'r') as handle:
for item in json.load(handle)['639-2']:
add_name(item)

with open('/usr/share/iso-codes/json/iso_639-3.json', 'r') as handle:
for item in json.load(handle)['639-3']:
add_name(item)

for row in sorted(names.items()):
print('{};{}'.format(*row))