Packages

🌍 Type-safe ISO 639 language codes for Gleam

Current section

Files

Jump to
lang src lang.erl
Raw

src/lang.erl

-module(lang).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/lang.gleam").
-export([to_iso639_1/1, to_iso639_2/1, from_iso639_1/1, from_iso639_2/1, to_name/1]).
-export_type([language/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(
" Lang provides a `Language` type representing the 183 languages\n"
" from the ISO 639 standard that have both ISO 639-1 (alpha-2, two-letter)\n"
" and ISO 639-2 (alpha-3, three-letter) codes.\n"
" \n"
" It does not handle regional variants or scripts -\n"
" those concerns are left to application code or higher-level libraries.\n"
"\n"
" ## Examples\n"
"\n"
" ```gleam\n"
" import lang\n"
"\n"
" fn main() {\n"
" let language = lang.En\n"
" \n"
" // Convert to codes\n"
" lang.to_iso639_1(language)\n"
" // -> \"en\"\n"
" \n"
" lang.to_iso639_2(language)\n"
" // -> \"eng\"\n"
" \n"
" // Parse from codes\n"
" lang.from_iso639_1(\"ko\")\n"
" // -> Ok(Ko)\n"
" \n"
" lang.from_iso639_2(\"kor\")\n"
" // -> Ok(Ko)\n"
" \n"
" // Get language name\n"
" lang.to_name(language)\n"
" // -> \"English\"\n"
" }\n"
" ```\n"
).
-type language() :: aa |
ab |
af |
ak |
sq |
am |
ar |
an |
hy |
as |
av |
ae |
ay |
az |
ba |
bm |
eu |
be |
bn |
bi |
bs |
br |
bg |
my |
ca |
ch |
ce |
zh |
cu |
cv |
kw |
co |
cr |
cs |
da |
dv |
nl |
dz |
en |
eo |
et |
ee |
fo |
fj |
fi |
fr |
fy |
ff |
ka |
de |
gd |
ga |
gl |
gv |
el |
gn |
gu |
ht |
ha |
he |
hz |
hi |
ho |
hr |
hu |
ig |
is |
io |
ii |
iu |
ie |
ia |
id |
ik |
it |
jv |
ja |
kl |
kn |
ks |
kr |
kk |
km |
ki |
rw |
ky |
kv |
kg |
ko |
kj |
ku |
lo |
la |
lv |
li |
ln |
lt |
lb |
lu |
lg |
mk |
mh |
ml |
mi |
mr |
ms |
mg |
mt |
mn |
na |
nv |
nr |
nd |
ng |
ne |
nn |
nb |
no |
ny |
oc |
oj |
'or' |
om |
os |
pa |
fa |
pi |
pl |
pt |
ps |
qu |
rm |
ro |
rn |
ru |
sg |
sa |
si |
sk |
sl |
se |
sm |
sn |
sd |
so |
st |
es |
sc |
sr |
ss |
su |
sw |
sv |
ty |
ta |
tt |
te |
tg |
tl |
th |
bo |
ti |
to |
tn |
ts |
tk |
tr |
tw |
ug |
uk |
ur |
uz |
ve |
vi |
vo |
cy |
wa |
wo |
xh |
yi |
yo |
za |
zu.
-file("src/lang.gleam", 428).
?DOC(
" Convert a `Language` to its ISO 639-1 two-letter code.\n"
"\n"
" ## Examples\n"
"\n"
" ```gleam\n"
" to_iso639_1(En)\n"
" // -> \"en\"\n"
"\n"
" to_iso639_1(De)\n"
" // -> \"de\"\n"
" ```\n"
).
-spec to_iso639_1(language()) -> binary().
to_iso639_1(Language) ->
case Language of
aa ->
<<"aa"/utf8>>;
ab ->
<<"ab"/utf8>>;
af ->
<<"af"/utf8>>;
ak ->
<<"ak"/utf8>>;
sq ->
<<"sq"/utf8>>;
am ->
<<"am"/utf8>>;
ar ->
<<"ar"/utf8>>;
an ->
<<"an"/utf8>>;
hy ->
<<"hy"/utf8>>;
as ->
<<"as"/utf8>>;
av ->
<<"av"/utf8>>;
ae ->
<<"ae"/utf8>>;
ay ->
<<"ay"/utf8>>;
az ->
<<"az"/utf8>>;
ba ->
<<"ba"/utf8>>;
bm ->
<<"bm"/utf8>>;
eu ->
<<"eu"/utf8>>;
be ->
<<"be"/utf8>>;
bn ->
<<"bn"/utf8>>;
bi ->
<<"bi"/utf8>>;
bs ->
<<"bs"/utf8>>;
br ->
<<"br"/utf8>>;
bg ->
<<"bg"/utf8>>;
my ->
<<"my"/utf8>>;
ca ->
<<"ca"/utf8>>;
ch ->
<<"ch"/utf8>>;
ce ->
<<"ce"/utf8>>;
zh ->
<<"zh"/utf8>>;
cu ->
<<"cu"/utf8>>;
cv ->
<<"cv"/utf8>>;
kw ->
<<"kw"/utf8>>;
co ->
<<"co"/utf8>>;
cr ->
<<"cr"/utf8>>;
cs ->
<<"cs"/utf8>>;
da ->
<<"da"/utf8>>;
dv ->
<<"dv"/utf8>>;
nl ->
<<"nl"/utf8>>;
dz ->
<<"dz"/utf8>>;
en ->
<<"en"/utf8>>;
eo ->
<<"eo"/utf8>>;
et ->
<<"et"/utf8>>;
ee ->
<<"ee"/utf8>>;
fo ->
<<"fo"/utf8>>;
fj ->
<<"fj"/utf8>>;
fi ->
<<"fi"/utf8>>;
fr ->
<<"fr"/utf8>>;
fy ->
<<"fy"/utf8>>;
ff ->
<<"ff"/utf8>>;
ka ->
<<"ka"/utf8>>;
de ->
<<"de"/utf8>>;
gd ->
<<"gd"/utf8>>;
ga ->
<<"ga"/utf8>>;
gl ->
<<"gl"/utf8>>;
gv ->
<<"gv"/utf8>>;
el ->
<<"el"/utf8>>;
gn ->
<<"gn"/utf8>>;
gu ->
<<"gu"/utf8>>;
ht ->
<<"ht"/utf8>>;
ha ->
<<"ha"/utf8>>;
he ->
<<"he"/utf8>>;
hz ->
<<"hz"/utf8>>;
hi ->
<<"hi"/utf8>>;
ho ->
<<"ho"/utf8>>;
hr ->
<<"hr"/utf8>>;
hu ->
<<"hu"/utf8>>;
ig ->
<<"ig"/utf8>>;
is ->
<<"is"/utf8>>;
io ->
<<"io"/utf8>>;
ii ->
<<"ii"/utf8>>;
iu ->
<<"iu"/utf8>>;
ie ->
<<"ie"/utf8>>;
ia ->
<<"ia"/utf8>>;
id ->
<<"id"/utf8>>;
ik ->
<<"ik"/utf8>>;
it ->
<<"it"/utf8>>;
jv ->
<<"jv"/utf8>>;
ja ->
<<"ja"/utf8>>;
kl ->
<<"kl"/utf8>>;
kn ->
<<"kn"/utf8>>;
ks ->
<<"ks"/utf8>>;
kr ->
<<"kr"/utf8>>;
kk ->
<<"kk"/utf8>>;
km ->
<<"km"/utf8>>;
ki ->
<<"ki"/utf8>>;
rw ->
<<"rw"/utf8>>;
ky ->
<<"ky"/utf8>>;
kv ->
<<"kv"/utf8>>;
kg ->
<<"kg"/utf8>>;
ko ->
<<"ko"/utf8>>;
kj ->
<<"kj"/utf8>>;
ku ->
<<"ku"/utf8>>;
lo ->
<<"lo"/utf8>>;
la ->
<<"la"/utf8>>;
lv ->
<<"lv"/utf8>>;
li ->
<<"li"/utf8>>;
ln ->
<<"ln"/utf8>>;
lt ->
<<"lt"/utf8>>;
lb ->
<<"lb"/utf8>>;
lu ->
<<"lu"/utf8>>;
lg ->
<<"lg"/utf8>>;
mk ->
<<"mk"/utf8>>;
mh ->
<<"mh"/utf8>>;
ml ->
<<"ml"/utf8>>;
mi ->
<<"mi"/utf8>>;
mr ->
<<"mr"/utf8>>;
ms ->
<<"ms"/utf8>>;
mg ->
<<"mg"/utf8>>;
mt ->
<<"mt"/utf8>>;
mn ->
<<"mn"/utf8>>;
na ->
<<"na"/utf8>>;
nv ->
<<"nv"/utf8>>;
nr ->
<<"nr"/utf8>>;
nd ->
<<"nd"/utf8>>;
ng ->
<<"ng"/utf8>>;
ne ->
<<"ne"/utf8>>;
nn ->
<<"nn"/utf8>>;
nb ->
<<"nb"/utf8>>;
no ->
<<"no"/utf8>>;
ny ->
<<"ny"/utf8>>;
oc ->
<<"oc"/utf8>>;
oj ->
<<"oj"/utf8>>;
'or' ->
<<"or"/utf8>>;
om ->
<<"om"/utf8>>;
os ->
<<"os"/utf8>>;
pa ->
<<"pa"/utf8>>;
fa ->
<<"fa"/utf8>>;
pi ->
<<"pi"/utf8>>;
pl ->
<<"pl"/utf8>>;
pt ->
<<"pt"/utf8>>;
ps ->
<<"ps"/utf8>>;
qu ->
<<"qu"/utf8>>;
rm ->
<<"rm"/utf8>>;
ro ->
<<"ro"/utf8>>;
rn ->
<<"rn"/utf8>>;
ru ->
<<"ru"/utf8>>;
sg ->
<<"sg"/utf8>>;
sa ->
<<"sa"/utf8>>;
si ->
<<"si"/utf8>>;
sk ->
<<"sk"/utf8>>;
sl ->
<<"sl"/utf8>>;
se ->
<<"se"/utf8>>;
sm ->
<<"sm"/utf8>>;
sn ->
<<"sn"/utf8>>;
sd ->
<<"sd"/utf8>>;
so ->
<<"so"/utf8>>;
st ->
<<"st"/utf8>>;
es ->
<<"es"/utf8>>;
sc ->
<<"sc"/utf8>>;
sr ->
<<"sr"/utf8>>;
ss ->
<<"ss"/utf8>>;
su ->
<<"su"/utf8>>;
sw ->
<<"sw"/utf8>>;
sv ->
<<"sv"/utf8>>;
ty ->
<<"ty"/utf8>>;
ta ->
<<"ta"/utf8>>;
tt ->
<<"tt"/utf8>>;
te ->
<<"te"/utf8>>;
tg ->
<<"tg"/utf8>>;
tl ->
<<"tl"/utf8>>;
th ->
<<"th"/utf8>>;
bo ->
<<"bo"/utf8>>;
ti ->
<<"ti"/utf8>>;
to ->
<<"to"/utf8>>;
tn ->
<<"tn"/utf8>>;
ts ->
<<"ts"/utf8>>;
tk ->
<<"tk"/utf8>>;
tr ->
<<"tr"/utf8>>;
tw ->
<<"tw"/utf8>>;
ug ->
<<"ug"/utf8>>;
uk ->
<<"uk"/utf8>>;
ur ->
<<"ur"/utf8>>;
uz ->
<<"uz"/utf8>>;
ve ->
<<"ve"/utf8>>;
vi ->
<<"vi"/utf8>>;
vo ->
<<"vo"/utf8>>;
cy ->
<<"cy"/utf8>>;
wa ->
<<"wa"/utf8>>;
wo ->
<<"wo"/utf8>>;
xh ->
<<"xh"/utf8>>;
yi ->
<<"yi"/utf8>>;
yo ->
<<"yo"/utf8>>;
za ->
<<"za"/utf8>>;
zu ->
<<"zu"/utf8>>
end.
-file("src/lang.gleam", 634).
?DOC(
" Convert a `Language` to its ISO 639-2 three-letter terminological code.\n"
"\n"
" When a language has both bibliographic and terminological codes, this function\n"
" returns the terminological (T) code. For example, German returns `\"deu\"` \n"
" (not `\"ger\"`), and Chinese returns `\"zho\"` (not `\"chi\"`).\n"
"\n"
" ## Examples\n"
"\n"
" ```gleam\n"
" to_iso639_2(En)\n"
" // -> \"eng\"\n"
"\n"
" to_iso639_2(De)\n"
" // -> \"deu\"\n"
"\n"
" to_iso639_2(Zh)\n"
" // -> \"zho\"\n"
" ```\n"
).
-spec to_iso639_2(language()) -> binary().
to_iso639_2(Language) ->
case Language of
aa ->
<<"aar"/utf8>>;
ab ->
<<"abk"/utf8>>;
af ->
<<"afr"/utf8>>;
ak ->
<<"aka"/utf8>>;
sq ->
<<"sqi"/utf8>>;
am ->
<<"amh"/utf8>>;
ar ->
<<"ara"/utf8>>;
an ->
<<"arg"/utf8>>;
hy ->
<<"hye"/utf8>>;
as ->
<<"asm"/utf8>>;
av ->
<<"ava"/utf8>>;
ae ->
<<"ave"/utf8>>;
ay ->
<<"aym"/utf8>>;
az ->
<<"aze"/utf8>>;
ba ->
<<"bak"/utf8>>;
bm ->
<<"bam"/utf8>>;
eu ->
<<"eus"/utf8>>;
be ->
<<"bel"/utf8>>;
bn ->
<<"ben"/utf8>>;
bi ->
<<"bis"/utf8>>;
bs ->
<<"bos"/utf8>>;
br ->
<<"bre"/utf8>>;
bg ->
<<"bul"/utf8>>;
my ->
<<"mya"/utf8>>;
ca ->
<<"cat"/utf8>>;
ch ->
<<"cha"/utf8>>;
ce ->
<<"che"/utf8>>;
zh ->
<<"zho"/utf8>>;
cu ->
<<"chu"/utf8>>;
cv ->
<<"chv"/utf8>>;
kw ->
<<"cor"/utf8>>;
co ->
<<"cos"/utf8>>;
cr ->
<<"cre"/utf8>>;
cs ->
<<"ces"/utf8>>;
da ->
<<"dan"/utf8>>;
dv ->
<<"div"/utf8>>;
nl ->
<<"nld"/utf8>>;
dz ->
<<"dzo"/utf8>>;
en ->
<<"eng"/utf8>>;
eo ->
<<"epo"/utf8>>;
et ->
<<"est"/utf8>>;
ee ->
<<"ewe"/utf8>>;
fo ->
<<"fao"/utf8>>;
fj ->
<<"fij"/utf8>>;
fi ->
<<"fin"/utf8>>;
fr ->
<<"fra"/utf8>>;
fy ->
<<"fry"/utf8>>;
ff ->
<<"ful"/utf8>>;
ka ->
<<"kat"/utf8>>;
de ->
<<"deu"/utf8>>;
gd ->
<<"gla"/utf8>>;
ga ->
<<"gle"/utf8>>;
gl ->
<<"glg"/utf8>>;
gv ->
<<"glv"/utf8>>;
el ->
<<"ell"/utf8>>;
gn ->
<<"grn"/utf8>>;
gu ->
<<"guj"/utf8>>;
ht ->
<<"hat"/utf8>>;
ha ->
<<"hau"/utf8>>;
he ->
<<"heb"/utf8>>;
hz ->
<<"her"/utf8>>;
hi ->
<<"hin"/utf8>>;
ho ->
<<"hmo"/utf8>>;
hr ->
<<"hrv"/utf8>>;
hu ->
<<"hun"/utf8>>;
ig ->
<<"ibo"/utf8>>;
is ->
<<"isl"/utf8>>;
io ->
<<"ido"/utf8>>;
ii ->
<<"iii"/utf8>>;
iu ->
<<"iku"/utf8>>;
ie ->
<<"ile"/utf8>>;
ia ->
<<"ina"/utf8>>;
id ->
<<"ind"/utf8>>;
ik ->
<<"ipk"/utf8>>;
it ->
<<"ita"/utf8>>;
jv ->
<<"jav"/utf8>>;
ja ->
<<"jpn"/utf8>>;
kl ->
<<"kal"/utf8>>;
kn ->
<<"kan"/utf8>>;
ks ->
<<"kas"/utf8>>;
kr ->
<<"kau"/utf8>>;
kk ->
<<"kaz"/utf8>>;
km ->
<<"khm"/utf8>>;
ki ->
<<"kik"/utf8>>;
rw ->
<<"kin"/utf8>>;
ky ->
<<"kir"/utf8>>;
kv ->
<<"kom"/utf8>>;
kg ->
<<"kon"/utf8>>;
ko ->
<<"kor"/utf8>>;
kj ->
<<"kua"/utf8>>;
ku ->
<<"kur"/utf8>>;
lo ->
<<"lao"/utf8>>;
la ->
<<"lat"/utf8>>;
lv ->
<<"lav"/utf8>>;
li ->
<<"lim"/utf8>>;
ln ->
<<"lin"/utf8>>;
lt ->
<<"lit"/utf8>>;
lb ->
<<"ltz"/utf8>>;
lu ->
<<"lub"/utf8>>;
lg ->
<<"lug"/utf8>>;
mk ->
<<"mkd"/utf8>>;
mh ->
<<"mah"/utf8>>;
ml ->
<<"mal"/utf8>>;
mi ->
<<"mri"/utf8>>;
mr ->
<<"mar"/utf8>>;
ms ->
<<"msa"/utf8>>;
mg ->
<<"mlg"/utf8>>;
mt ->
<<"mlt"/utf8>>;
mn ->
<<"mon"/utf8>>;
na ->
<<"nau"/utf8>>;
nv ->
<<"nav"/utf8>>;
nr ->
<<"nbl"/utf8>>;
nd ->
<<"nde"/utf8>>;
ng ->
<<"ndo"/utf8>>;
ne ->
<<"nep"/utf8>>;
nn ->
<<"nno"/utf8>>;
nb ->
<<"nob"/utf8>>;
no ->
<<"nor"/utf8>>;
ny ->
<<"nya"/utf8>>;
oc ->
<<"oci"/utf8>>;
oj ->
<<"oji"/utf8>>;
'or' ->
<<"ori"/utf8>>;
om ->
<<"orm"/utf8>>;
os ->
<<"oss"/utf8>>;
pa ->
<<"pan"/utf8>>;
fa ->
<<"fas"/utf8>>;
pi ->
<<"pli"/utf8>>;
pl ->
<<"pol"/utf8>>;
pt ->
<<"por"/utf8>>;
ps ->
<<"pus"/utf8>>;
qu ->
<<"que"/utf8>>;
rm ->
<<"roh"/utf8>>;
ro ->
<<"ron"/utf8>>;
rn ->
<<"run"/utf8>>;
ru ->
<<"rus"/utf8>>;
sg ->
<<"sag"/utf8>>;
sa ->
<<"san"/utf8>>;
si ->
<<"sin"/utf8>>;
sk ->
<<"slk"/utf8>>;
sl ->
<<"slv"/utf8>>;
se ->
<<"sme"/utf8>>;
sm ->
<<"smo"/utf8>>;
sn ->
<<"sna"/utf8>>;
sd ->
<<"snd"/utf8>>;
so ->
<<"som"/utf8>>;
st ->
<<"sot"/utf8>>;
es ->
<<"spa"/utf8>>;
sc ->
<<"srd"/utf8>>;
sr ->
<<"srp"/utf8>>;
ss ->
<<"ssw"/utf8>>;
su ->
<<"sun"/utf8>>;
sw ->
<<"swa"/utf8>>;
sv ->
<<"swe"/utf8>>;
ty ->
<<"tah"/utf8>>;
ta ->
<<"tam"/utf8>>;
tt ->
<<"tat"/utf8>>;
te ->
<<"tel"/utf8>>;
tg ->
<<"tgk"/utf8>>;
tl ->
<<"tgl"/utf8>>;
th ->
<<"tha"/utf8>>;
bo ->
<<"bod"/utf8>>;
ti ->
<<"tir"/utf8>>;
to ->
<<"ton"/utf8>>;
tn ->
<<"tsn"/utf8>>;
ts ->
<<"tso"/utf8>>;
tk ->
<<"tuk"/utf8>>;
tr ->
<<"tur"/utf8>>;
tw ->
<<"twi"/utf8>>;
ug ->
<<"uig"/utf8>>;
uk ->
<<"ukr"/utf8>>;
ur ->
<<"urd"/utf8>>;
uz ->
<<"uzb"/utf8>>;
ve ->
<<"ven"/utf8>>;
vi ->
<<"vie"/utf8>>;
vo ->
<<"vol"/utf8>>;
cy ->
<<"cym"/utf8>>;
wa ->
<<"wln"/utf8>>;
wo ->
<<"wol"/utf8>>;
xh ->
<<"xho"/utf8>>;
yi ->
<<"yid"/utf8>>;
yo ->
<<"yor"/utf8>>;
za ->
<<"zha"/utf8>>;
zu ->
<<"zul"/utf8>>
end.
-file("src/lang.gleam", 838).
?DOC(
" Parse an ISO 639-1 two-letter code into a `Language`.\n"
"\n"
" The input is case-insensitive and whitespace is trimmed.\n"
"\n"
" ## Examples\n"
"\n"
" ```gleam\n"
" from_iso639_1(\"en\")\n"
" // -> Ok(En)\n"
"\n"
" from_iso639_1(\"DE\")\n"
" // -> Ok(De)\n"
"\n"
" from_iso639_1(\"invalid\")\n"
" // -> Error(Nil)\n"
" ```\n"
).
-spec from_iso639_1(binary()) -> {ok, language()} | {error, nil}.
from_iso639_1(Code) ->
case begin
_pipe = string:lowercase(Code),
gleam@string:trim(_pipe)
end of
<<"aa"/utf8>> ->
{ok, aa};
<<"ab"/utf8>> ->
{ok, ab};
<<"af"/utf8>> ->
{ok, af};
<<"ak"/utf8>> ->
{ok, ak};
<<"sq"/utf8>> ->
{ok, sq};
<<"am"/utf8>> ->
{ok, am};
<<"ar"/utf8>> ->
{ok, ar};
<<"an"/utf8>> ->
{ok, an};
<<"hy"/utf8>> ->
{ok, hy};
<<"as"/utf8>> ->
{ok, as};
<<"av"/utf8>> ->
{ok, av};
<<"ae"/utf8>> ->
{ok, ae};
<<"ay"/utf8>> ->
{ok, ay};
<<"az"/utf8>> ->
{ok, az};
<<"ba"/utf8>> ->
{ok, ba};
<<"bm"/utf8>> ->
{ok, bm};
<<"eu"/utf8>> ->
{ok, eu};
<<"be"/utf8>> ->
{ok, be};
<<"bn"/utf8>> ->
{ok, bn};
<<"bi"/utf8>> ->
{ok, bi};
<<"bs"/utf8>> ->
{ok, bs};
<<"br"/utf8>> ->
{ok, br};
<<"bg"/utf8>> ->
{ok, bg};
<<"my"/utf8>> ->
{ok, my};
<<"ca"/utf8>> ->
{ok, ca};
<<"ch"/utf8>> ->
{ok, ch};
<<"ce"/utf8>> ->
{ok, ce};
<<"zh"/utf8>> ->
{ok, zh};
<<"cu"/utf8>> ->
{ok, cu};
<<"cv"/utf8>> ->
{ok, cv};
<<"kw"/utf8>> ->
{ok, kw};
<<"co"/utf8>> ->
{ok, co};
<<"cr"/utf8>> ->
{ok, cr};
<<"cs"/utf8>> ->
{ok, cs};
<<"da"/utf8>> ->
{ok, da};
<<"dv"/utf8>> ->
{ok, dv};
<<"nl"/utf8>> ->
{ok, nl};
<<"dz"/utf8>> ->
{ok, dz};
<<"en"/utf8>> ->
{ok, en};
<<"eo"/utf8>> ->
{ok, eo};
<<"et"/utf8>> ->
{ok, et};
<<"ee"/utf8>> ->
{ok, ee};
<<"fo"/utf8>> ->
{ok, fo};
<<"fj"/utf8>> ->
{ok, fj};
<<"fi"/utf8>> ->
{ok, fi};
<<"fr"/utf8>> ->
{ok, fr};
<<"fy"/utf8>> ->
{ok, fy};
<<"ff"/utf8>> ->
{ok, ff};
<<"ka"/utf8>> ->
{ok, ka};
<<"de"/utf8>> ->
{ok, de};
<<"gd"/utf8>> ->
{ok, gd};
<<"ga"/utf8>> ->
{ok, ga};
<<"gl"/utf8>> ->
{ok, gl};
<<"gv"/utf8>> ->
{ok, gv};
<<"el"/utf8>> ->
{ok, el};
<<"gn"/utf8>> ->
{ok, gn};
<<"gu"/utf8>> ->
{ok, gu};
<<"ht"/utf8>> ->
{ok, ht};
<<"ha"/utf8>> ->
{ok, ha};
<<"he"/utf8>> ->
{ok, he};
<<"hz"/utf8>> ->
{ok, hz};
<<"hi"/utf8>> ->
{ok, hi};
<<"ho"/utf8>> ->
{ok, ho};
<<"hr"/utf8>> ->
{ok, hr};
<<"hu"/utf8>> ->
{ok, hu};
<<"ig"/utf8>> ->
{ok, ig};
<<"is"/utf8>> ->
{ok, is};
<<"io"/utf8>> ->
{ok, io};
<<"ii"/utf8>> ->
{ok, ii};
<<"iu"/utf8>> ->
{ok, iu};
<<"ie"/utf8>> ->
{ok, ie};
<<"ia"/utf8>> ->
{ok, ia};
<<"id"/utf8>> ->
{ok, id};
<<"ik"/utf8>> ->
{ok, ik};
<<"it"/utf8>> ->
{ok, it};
<<"jv"/utf8>> ->
{ok, jv};
<<"ja"/utf8>> ->
{ok, ja};
<<"kl"/utf8>> ->
{ok, kl};
<<"kn"/utf8>> ->
{ok, kn};
<<"ks"/utf8>> ->
{ok, ks};
<<"kr"/utf8>> ->
{ok, kr};
<<"kk"/utf8>> ->
{ok, kk};
<<"km"/utf8>> ->
{ok, km};
<<"ki"/utf8>> ->
{ok, ki};
<<"rw"/utf8>> ->
{ok, rw};
<<"ky"/utf8>> ->
{ok, ky};
<<"kv"/utf8>> ->
{ok, kv};
<<"kg"/utf8>> ->
{ok, kg};
<<"ko"/utf8>> ->
{ok, ko};
<<"kj"/utf8>> ->
{ok, kj};
<<"ku"/utf8>> ->
{ok, ku};
<<"lo"/utf8>> ->
{ok, lo};
<<"la"/utf8>> ->
{ok, la};
<<"lv"/utf8>> ->
{ok, lv};
<<"li"/utf8>> ->
{ok, li};
<<"ln"/utf8>> ->
{ok, ln};
<<"lt"/utf8>> ->
{ok, lt};
<<"lb"/utf8>> ->
{ok, lb};
<<"lu"/utf8>> ->
{ok, lu};
<<"lg"/utf8>> ->
{ok, lg};
<<"mk"/utf8>> ->
{ok, mk};
<<"mh"/utf8>> ->
{ok, mh};
<<"ml"/utf8>> ->
{ok, ml};
<<"mi"/utf8>> ->
{ok, mi};
<<"mr"/utf8>> ->
{ok, mr};
<<"ms"/utf8>> ->
{ok, ms};
<<"mg"/utf8>> ->
{ok, mg};
<<"mt"/utf8>> ->
{ok, mt};
<<"mn"/utf8>> ->
{ok, mn};
<<"na"/utf8>> ->
{ok, na};
<<"nv"/utf8>> ->
{ok, nv};
<<"nr"/utf8>> ->
{ok, nr};
<<"nd"/utf8>> ->
{ok, nd};
<<"ng"/utf8>> ->
{ok, ng};
<<"ne"/utf8>> ->
{ok, ne};
<<"nn"/utf8>> ->
{ok, nn};
<<"nb"/utf8>> ->
{ok, nb};
<<"no"/utf8>> ->
{ok, no};
<<"ny"/utf8>> ->
{ok, ny};
<<"oc"/utf8>> ->
{ok, oc};
<<"oj"/utf8>> ->
{ok, oj};
<<"or"/utf8>> ->
{ok, 'or'};
<<"om"/utf8>> ->
{ok, om};
<<"os"/utf8>> ->
{ok, os};
<<"pa"/utf8>> ->
{ok, pa};
<<"fa"/utf8>> ->
{ok, fa};
<<"pi"/utf8>> ->
{ok, pi};
<<"pl"/utf8>> ->
{ok, pl};
<<"pt"/utf8>> ->
{ok, pt};
<<"ps"/utf8>> ->
{ok, ps};
<<"qu"/utf8>> ->
{ok, qu};
<<"rm"/utf8>> ->
{ok, rm};
<<"ro"/utf8>> ->
{ok, ro};
<<"rn"/utf8>> ->
{ok, rn};
<<"ru"/utf8>> ->
{ok, ru};
<<"sg"/utf8>> ->
{ok, sg};
<<"sa"/utf8>> ->
{ok, sa};
<<"si"/utf8>> ->
{ok, si};
<<"sk"/utf8>> ->
{ok, sk};
<<"sl"/utf8>> ->
{ok, sl};
<<"se"/utf8>> ->
{ok, se};
<<"sm"/utf8>> ->
{ok, sm};
<<"sn"/utf8>> ->
{ok, sn};
<<"sd"/utf8>> ->
{ok, sd};
<<"so"/utf8>> ->
{ok, so};
<<"st"/utf8>> ->
{ok, st};
<<"es"/utf8>> ->
{ok, es};
<<"sc"/utf8>> ->
{ok, sc};
<<"sr"/utf8>> ->
{ok, sr};
<<"ss"/utf8>> ->
{ok, ss};
<<"su"/utf8>> ->
{ok, su};
<<"sw"/utf8>> ->
{ok, sw};
<<"sv"/utf8>> ->
{ok, sv};
<<"ty"/utf8>> ->
{ok, ty};
<<"ta"/utf8>> ->
{ok, ta};
<<"tt"/utf8>> ->
{ok, tt};
<<"te"/utf8>> ->
{ok, te};
<<"tg"/utf8>> ->
{ok, tg};
<<"tl"/utf8>> ->
{ok, tl};
<<"th"/utf8>> ->
{ok, th};
<<"bo"/utf8>> ->
{ok, bo};
<<"ti"/utf8>> ->
{ok, ti};
<<"to"/utf8>> ->
{ok, to};
<<"tn"/utf8>> ->
{ok, tn};
<<"ts"/utf8>> ->
{ok, ts};
<<"tk"/utf8>> ->
{ok, tk};
<<"tr"/utf8>> ->
{ok, tr};
<<"tw"/utf8>> ->
{ok, tw};
<<"ug"/utf8>> ->
{ok, ug};
<<"uk"/utf8>> ->
{ok, uk};
<<"ur"/utf8>> ->
{ok, ur};
<<"uz"/utf8>> ->
{ok, uz};
<<"ve"/utf8>> ->
{ok, ve};
<<"vi"/utf8>> ->
{ok, vi};
<<"vo"/utf8>> ->
{ok, vo};
<<"cy"/utf8>> ->
{ok, cy};
<<"wa"/utf8>> ->
{ok, wa};
<<"wo"/utf8>> ->
{ok, wo};
<<"xh"/utf8>> ->
{ok, xh};
<<"yi"/utf8>> ->
{ok, yi};
<<"yo"/utf8>> ->
{ok, yo};
<<"za"/utf8>> ->
{ok, za};
<<"zu"/utf8>> ->
{ok, zu};
_ ->
{error, nil}
end.
-file("src/lang.gleam", 1049).
?DOC(
" Parse an ISO 639-2 three-letter code into a `Language`.\n"
"\n"
" Accepts both terminological (T) and bibliographic (B) codes.\n"
" For example, both `\"deu\"` and `\"ger\"` will return `Ok(De)`.\n"
"\n"
" The input is case-insensitive and whitespace is trimmed.\n"
"\n"
" ## Examples\n"
"\n"
" ```gleam\n"
" from_iso639_2(\"eng\")\n"
" // -> Ok(En)\n"
"\n"
" from_iso639_2(\"deu\") // terminological code\n"
" // -> Ok(De)\n"
"\n"
" from_iso639_2(\"ger\") // bibliographic code\n"
" // -> Ok(De)\n"
"\n"
" from_iso639_2(\"invalid\")\n"
" // -> Error(Nil)\n"
" ```\n"
).
-spec from_iso639_2(binary()) -> {ok, language()} | {error, nil}.
from_iso639_2(Code) ->
case begin
_pipe = string:lowercase(Code),
gleam@string:trim(_pipe)
end of
<<"aar"/utf8>> ->
{ok, aa};
<<"abk"/utf8>> ->
{ok, ab};
<<"afr"/utf8>> ->
{ok, af};
<<"aka"/utf8>> ->
{ok, ak};
<<"sqi"/utf8>> ->
{ok, sq};
<<"alb"/utf8>> ->
{ok, sq};
<<"amh"/utf8>> ->
{ok, am};
<<"ara"/utf8>> ->
{ok, ar};
<<"arg"/utf8>> ->
{ok, an};
<<"hye"/utf8>> ->
{ok, hy};
<<"arm"/utf8>> ->
{ok, hy};
<<"asm"/utf8>> ->
{ok, as};
<<"ava"/utf8>> ->
{ok, av};
<<"ave"/utf8>> ->
{ok, ae};
<<"aym"/utf8>> ->
{ok, ay};
<<"aze"/utf8>> ->
{ok, az};
<<"bak"/utf8>> ->
{ok, ba};
<<"bam"/utf8>> ->
{ok, bm};
<<"eus"/utf8>> ->
{ok, eu};
<<"baq"/utf8>> ->
{ok, eu};
<<"bel"/utf8>> ->
{ok, be};
<<"ben"/utf8>> ->
{ok, bn};
<<"bis"/utf8>> ->
{ok, bi};
<<"bos"/utf8>> ->
{ok, bs};
<<"bre"/utf8>> ->
{ok, br};
<<"bul"/utf8>> ->
{ok, bg};
<<"mya"/utf8>> ->
{ok, my};
<<"bur"/utf8>> ->
{ok, my};
<<"cat"/utf8>> ->
{ok, ca};
<<"cha"/utf8>> ->
{ok, ch};
<<"che"/utf8>> ->
{ok, ce};
<<"zho"/utf8>> ->
{ok, zh};
<<"chi"/utf8>> ->
{ok, zh};
<<"chu"/utf8>> ->
{ok, cu};
<<"chv"/utf8>> ->
{ok, cv};
<<"cor"/utf8>> ->
{ok, kw};
<<"cos"/utf8>> ->
{ok, co};
<<"cre"/utf8>> ->
{ok, cr};
<<"ces"/utf8>> ->
{ok, cs};
<<"cze"/utf8>> ->
{ok, cs};
<<"dan"/utf8>> ->
{ok, da};
<<"div"/utf8>> ->
{ok, dv};
<<"nld"/utf8>> ->
{ok, nl};
<<"dut"/utf8>> ->
{ok, nl};
<<"dzo"/utf8>> ->
{ok, dz};
<<"eng"/utf8>> ->
{ok, en};
<<"epo"/utf8>> ->
{ok, eo};
<<"est"/utf8>> ->
{ok, et};
<<"ewe"/utf8>> ->
{ok, ee};
<<"fao"/utf8>> ->
{ok, fo};
<<"fij"/utf8>> ->
{ok, fj};
<<"fin"/utf8>> ->
{ok, fi};
<<"fra"/utf8>> ->
{ok, fr};
<<"fre"/utf8>> ->
{ok, fr};
<<"fry"/utf8>> ->
{ok, fy};
<<"ful"/utf8>> ->
{ok, ff};
<<"kat"/utf8>> ->
{ok, ka};
<<"geo"/utf8>> ->
{ok, ka};
<<"deu"/utf8>> ->
{ok, de};
<<"ger"/utf8>> ->
{ok, de};
<<"gla"/utf8>> ->
{ok, gd};
<<"gle"/utf8>> ->
{ok, ga};
<<"glg"/utf8>> ->
{ok, gl};
<<"glv"/utf8>> ->
{ok, gv};
<<"ell"/utf8>> ->
{ok, el};
<<"gre"/utf8>> ->
{ok, el};
<<"grn"/utf8>> ->
{ok, gn};
<<"guj"/utf8>> ->
{ok, gu};
<<"hat"/utf8>> ->
{ok, ht};
<<"hau"/utf8>> ->
{ok, ha};
<<"heb"/utf8>> ->
{ok, he};
<<"her"/utf8>> ->
{ok, hz};
<<"hin"/utf8>> ->
{ok, hi};
<<"hmo"/utf8>> ->
{ok, ho};
<<"hrv"/utf8>> ->
{ok, hr};
<<"hun"/utf8>> ->
{ok, hu};
<<"ibo"/utf8>> ->
{ok, ig};
<<"isl"/utf8>> ->
{ok, is};
<<"ice"/utf8>> ->
{ok, is};
<<"ido"/utf8>> ->
{ok, io};
<<"iii"/utf8>> ->
{ok, ii};
<<"iku"/utf8>> ->
{ok, iu};
<<"ile"/utf8>> ->
{ok, ie};
<<"ina"/utf8>> ->
{ok, ia};
<<"ind"/utf8>> ->
{ok, id};
<<"ipk"/utf8>> ->
{ok, ik};
<<"ita"/utf8>> ->
{ok, it};
<<"jav"/utf8>> ->
{ok, jv};
<<"jpn"/utf8>> ->
{ok, ja};
<<"kal"/utf8>> ->
{ok, kl};
<<"kan"/utf8>> ->
{ok, kn};
<<"kas"/utf8>> ->
{ok, ks};
<<"kau"/utf8>> ->
{ok, kr};
<<"kaz"/utf8>> ->
{ok, kk};
<<"khm"/utf8>> ->
{ok, km};
<<"kik"/utf8>> ->
{ok, ki};
<<"kin"/utf8>> ->
{ok, rw};
<<"kir"/utf8>> ->
{ok, ky};
<<"kom"/utf8>> ->
{ok, kv};
<<"kon"/utf8>> ->
{ok, kg};
<<"kor"/utf8>> ->
{ok, ko};
<<"kua"/utf8>> ->
{ok, kj};
<<"kur"/utf8>> ->
{ok, ku};
<<"lao"/utf8>> ->
{ok, lo};
<<"lat"/utf8>> ->
{ok, la};
<<"lav"/utf8>> ->
{ok, lv};
<<"lim"/utf8>> ->
{ok, li};
<<"lin"/utf8>> ->
{ok, ln};
<<"lit"/utf8>> ->
{ok, lt};
<<"ltz"/utf8>> ->
{ok, lb};
<<"lub"/utf8>> ->
{ok, lu};
<<"lug"/utf8>> ->
{ok, lg};
<<"mkd"/utf8>> ->
{ok, mk};
<<"mac"/utf8>> ->
{ok, mk};
<<"mah"/utf8>> ->
{ok, mh};
<<"mal"/utf8>> ->
{ok, ml};
<<"mri"/utf8>> ->
{ok, mi};
<<"mao"/utf8>> ->
{ok, mi};
<<"mar"/utf8>> ->
{ok, mr};
<<"msa"/utf8>> ->
{ok, ms};
<<"may"/utf8>> ->
{ok, ms};
<<"mlg"/utf8>> ->
{ok, mg};
<<"mlt"/utf8>> ->
{ok, mt};
<<"mon"/utf8>> ->
{ok, mn};
<<"nau"/utf8>> ->
{ok, na};
<<"nav"/utf8>> ->
{ok, nv};
<<"nbl"/utf8>> ->
{ok, nr};
<<"nde"/utf8>> ->
{ok, nd};
<<"ndo"/utf8>> ->
{ok, ng};
<<"nep"/utf8>> ->
{ok, ne};
<<"nno"/utf8>> ->
{ok, nn};
<<"nob"/utf8>> ->
{ok, nb};
<<"nor"/utf8>> ->
{ok, no};
<<"nya"/utf8>> ->
{ok, ny};
<<"oci"/utf8>> ->
{ok, oc};
<<"oji"/utf8>> ->
{ok, oj};
<<"ori"/utf8>> ->
{ok, 'or'};
<<"orm"/utf8>> ->
{ok, om};
<<"oss"/utf8>> ->
{ok, os};
<<"pan"/utf8>> ->
{ok, pa};
<<"fas"/utf8>> ->
{ok, fa};
<<"per"/utf8>> ->
{ok, fa};
<<"pli"/utf8>> ->
{ok, pi};
<<"pol"/utf8>> ->
{ok, pl};
<<"por"/utf8>> ->
{ok, pt};
<<"pus"/utf8>> ->
{ok, ps};
<<"que"/utf8>> ->
{ok, qu};
<<"roh"/utf8>> ->
{ok, rm};
<<"ron"/utf8>> ->
{ok, ro};
<<"rum"/utf8>> ->
{ok, ro};
<<"run"/utf8>> ->
{ok, rn};
<<"rus"/utf8>> ->
{ok, ru};
<<"sag"/utf8>> ->
{ok, sg};
<<"san"/utf8>> ->
{ok, sa};
<<"sin"/utf8>> ->
{ok, si};
<<"slk"/utf8>> ->
{ok, sk};
<<"slo"/utf8>> ->
{ok, sk};
<<"slv"/utf8>> ->
{ok, sl};
<<"sme"/utf8>> ->
{ok, se};
<<"smo"/utf8>> ->
{ok, sm};
<<"sna"/utf8>> ->
{ok, sn};
<<"snd"/utf8>> ->
{ok, sd};
<<"som"/utf8>> ->
{ok, so};
<<"sot"/utf8>> ->
{ok, st};
<<"spa"/utf8>> ->
{ok, es};
<<"srd"/utf8>> ->
{ok, sc};
<<"srp"/utf8>> ->
{ok, sr};
<<"ssw"/utf8>> ->
{ok, ss};
<<"sun"/utf8>> ->
{ok, su};
<<"swa"/utf8>> ->
{ok, sw};
<<"swe"/utf8>> ->
{ok, sv};
<<"tah"/utf8>> ->
{ok, ty};
<<"tam"/utf8>> ->
{ok, ta};
<<"tat"/utf8>> ->
{ok, tt};
<<"tel"/utf8>> ->
{ok, te};
<<"tgk"/utf8>> ->
{ok, tg};
<<"tgl"/utf8>> ->
{ok, tl};
<<"tha"/utf8>> ->
{ok, th};
<<"bod"/utf8>> ->
{ok, bo};
<<"tib"/utf8>> ->
{ok, bo};
<<"tir"/utf8>> ->
{ok, ti};
<<"ton"/utf8>> ->
{ok, to};
<<"tsn"/utf8>> ->
{ok, tn};
<<"tso"/utf8>> ->
{ok, ts};
<<"tuk"/utf8>> ->
{ok, tk};
<<"tur"/utf8>> ->
{ok, tr};
<<"twi"/utf8>> ->
{ok, tw};
<<"uig"/utf8>> ->
{ok, ug};
<<"ukr"/utf8>> ->
{ok, uk};
<<"urd"/utf8>> ->
{ok, ur};
<<"uzb"/utf8>> ->
{ok, uz};
<<"ven"/utf8>> ->
{ok, ve};
<<"vie"/utf8>> ->
{ok, vi};
<<"vol"/utf8>> ->
{ok, vo};
<<"cym"/utf8>> ->
{ok, cy};
<<"wel"/utf8>> ->
{ok, cy};
<<"wln"/utf8>> ->
{ok, wa};
<<"wol"/utf8>> ->
{ok, wo};
<<"xho"/utf8>> ->
{ok, xh};
<<"yid"/utf8>> ->
{ok, yi};
<<"yor"/utf8>> ->
{ok, yo};
<<"zha"/utf8>> ->
{ok, za};
<<"zul"/utf8>> ->
{ok, zu};
_ ->
{error, nil}
end.
-file("src/lang.gleam", 1249).
?DOC(
" Get the English name of a language.\n"
"\n"
" ## Examples\n"
"\n"
" ```gleam\n"
" to_name(En)\n"
" // -> \"English\"\n"
"\n"
" to_name(Ja)\n"
" // -> \"Japanese\"\n"
" ```\n"
).
-spec to_name(language()) -> binary().
to_name(Language) ->
case Language of
aa ->
<<"Afar"/utf8>>;
ab ->
<<"Abkhazian"/utf8>>;
af ->
<<"Afrikaans"/utf8>>;
ak ->
<<"Akan"/utf8>>;
sq ->
<<"Albanian"/utf8>>;
am ->
<<"Amharic"/utf8>>;
ar ->
<<"Arabic"/utf8>>;
an ->
<<"Aragonese"/utf8>>;
hy ->
<<"Armenian"/utf8>>;
as ->
<<"Assamese"/utf8>>;
av ->
<<"Avaric"/utf8>>;
ae ->
<<"Avestan"/utf8>>;
ay ->
<<"Aymara"/utf8>>;
az ->
<<"Azerbaijani"/utf8>>;
ba ->
<<"Bashkir"/utf8>>;
bm ->
<<"Bambara"/utf8>>;
eu ->
<<"Basque"/utf8>>;
be ->
<<"Belarusian"/utf8>>;
bn ->
<<"Bengali"/utf8>>;
bi ->
<<"Bislama"/utf8>>;
bs ->
<<"Bosnian"/utf8>>;
br ->
<<"Breton"/utf8>>;
bg ->
<<"Bulgarian"/utf8>>;
my ->
<<"Burmese"/utf8>>;
ca ->
<<"Catalan"/utf8>>;
ch ->
<<"Chamorro"/utf8>>;
ce ->
<<"Chechen"/utf8>>;
zh ->
<<"Chinese"/utf8>>;
cu ->
<<"Church Slavic"/utf8>>;
cv ->
<<"Chuvash"/utf8>>;
kw ->
<<"Cornish"/utf8>>;
co ->
<<"Corsican"/utf8>>;
cr ->
<<"Cree"/utf8>>;
cs ->
<<"Czech"/utf8>>;
da ->
<<"Danish"/utf8>>;
dv ->
<<"Divehi"/utf8>>;
nl ->
<<"Dutch"/utf8>>;
dz ->
<<"Dzongkha"/utf8>>;
en ->
<<"English"/utf8>>;
eo ->
<<"Esperanto"/utf8>>;
et ->
<<"Estonian"/utf8>>;
ee ->
<<"Ewe"/utf8>>;
fo ->
<<"Faroese"/utf8>>;
fj ->
<<"Fijian"/utf8>>;
fi ->
<<"Finnish"/utf8>>;
fr ->
<<"French"/utf8>>;
fy ->
<<"Western Frisian"/utf8>>;
ff ->
<<"Fulah"/utf8>>;
ka ->
<<"Georgian"/utf8>>;
de ->
<<"German"/utf8>>;
gd ->
<<"Gaelic"/utf8>>;
ga ->
<<"Irish"/utf8>>;
gl ->
<<"Galician"/utf8>>;
gv ->
<<"Manx"/utf8>>;
el ->
<<"Greek, Modern (1453-)"/utf8>>;
gn ->
<<"Guarani"/utf8>>;
gu ->
<<"Gujarati"/utf8>>;
ht ->
<<"Haitian"/utf8>>;
ha ->
<<"Hausa"/utf8>>;
he ->
<<"Hebrew"/utf8>>;
hz ->
<<"Herero"/utf8>>;
hi ->
<<"Hindi"/utf8>>;
ho ->
<<"Hiri Motu"/utf8>>;
hr ->
<<"Croatian"/utf8>>;
hu ->
<<"Hungarian"/utf8>>;
ig ->
<<"Igbo"/utf8>>;
is ->
<<"Icelandic"/utf8>>;
io ->
<<"Ido"/utf8>>;
ii ->
<<"Sichuan Yi"/utf8>>;
iu ->
<<"Inuktitut"/utf8>>;
ie ->
<<"Interlingue"/utf8>>;
ia ->
<<"Interlingua (International Auxiliary Language Association)"/utf8>>;
id ->
<<"Indonesian"/utf8>>;
ik ->
<<"Inupiaq"/utf8>>;
it ->
<<"Italian"/utf8>>;
jv ->
<<"Javanese"/utf8>>;
ja ->
<<"Japanese"/utf8>>;
kl ->
<<"Kalaallisut"/utf8>>;
kn ->
<<"Kannada"/utf8>>;
ks ->
<<"Kashmiri"/utf8>>;
kr ->
<<"Kanuri"/utf8>>;
kk ->
<<"Kazakh"/utf8>>;
km ->
<<"Central Khmer"/utf8>>;
ki ->
<<"Kikuyu"/utf8>>;
rw ->
<<"Kinyarwanda"/utf8>>;
ky ->
<<"Kirghiz"/utf8>>;
kv ->
<<"Komi"/utf8>>;
kg ->
<<"Kongo"/utf8>>;
ko ->
<<"Korean"/utf8>>;
kj ->
<<"Kuanyama"/utf8>>;
ku ->
<<"Kurdish"/utf8>>;
lo ->
<<"Lao"/utf8>>;
la ->
<<"Latin"/utf8>>;
lv ->
<<"Latvian"/utf8>>;
li ->
<<"Limburgan"/utf8>>;
ln ->
<<"Lingala"/utf8>>;
lt ->
<<"Lithuanian"/utf8>>;
lb ->
<<"Luxembourgish"/utf8>>;
lu ->
<<"Luba-Katanga"/utf8>>;
lg ->
<<"Ganda"/utf8>>;
mk ->
<<"Macedonian"/utf8>>;
mh ->
<<"Marshallese"/utf8>>;
ml ->
<<"Malayalam"/utf8>>;
mi ->
<<"Maori"/utf8>>;
mr ->
<<"Marathi"/utf8>>;
ms ->
<<"Malay"/utf8>>;
mg ->
<<"Malagasy"/utf8>>;
mt ->
<<"Maltese"/utf8>>;
mn ->
<<"Mongolian"/utf8>>;
na ->
<<"Nauru"/utf8>>;
nv ->
<<"Navajo"/utf8>>;
nr ->
<<"Ndebele, South"/utf8>>;
nd ->
<<"Ndebele, North"/utf8>>;
ng ->
<<"Ndonga"/utf8>>;
ne ->
<<"Nepali"/utf8>>;
nn ->
<<"Norwegian Nynorsk"/utf8>>;
nb ->
<<"BokmÄl, Norwegian"/utf8>>;
no ->
<<"Norwegian"/utf8>>;
ny ->
<<"Chichewa"/utf8>>;
oc ->
<<"Occitan (post 1500)"/utf8>>;
oj ->
<<"Ojibwa"/utf8>>;
'or' ->
<<"Oriya"/utf8>>;
om ->
<<"Oromo"/utf8>>;
os ->
<<"Ossetian"/utf8>>;
pa ->
<<"Panjabi"/utf8>>;
fa ->
<<"Persian"/utf8>>;
pi ->
<<"Pali"/utf8>>;
pl ->
<<"Polish"/utf8>>;
pt ->
<<"Portuguese"/utf8>>;
ps ->
<<"Pushto"/utf8>>;
qu ->
<<"Quechua"/utf8>>;
rm ->
<<"Romansh"/utf8>>;
ro ->
<<"Romanian"/utf8>>;
rn ->
<<"Rundi"/utf8>>;
ru ->
<<"Russian"/utf8>>;
sg ->
<<"Sango"/utf8>>;
sa ->
<<"Sanskrit"/utf8>>;
si ->
<<"Sinhala"/utf8>>;
sk ->
<<"Slovak"/utf8>>;
sl ->
<<"Slovenian"/utf8>>;
se ->
<<"Northern Sami"/utf8>>;
sm ->
<<"Samoan"/utf8>>;
sn ->
<<"Shona"/utf8>>;
sd ->
<<"Sindhi"/utf8>>;
so ->
<<"Somali"/utf8>>;
st ->
<<"Sotho, Southern"/utf8>>;
es ->
<<"Spanish"/utf8>>;
sc ->
<<"Sardinian"/utf8>>;
sr ->
<<"Serbian"/utf8>>;
ss ->
<<"Swati"/utf8>>;
su ->
<<"Sundanese"/utf8>>;
sw ->
<<"Swahili"/utf8>>;
sv ->
<<"Swedish"/utf8>>;
ty ->
<<"Tahitian"/utf8>>;
ta ->
<<"Tamil"/utf8>>;
tt ->
<<"Tatar"/utf8>>;
te ->
<<"Telugu"/utf8>>;
tg ->
<<"Tajik"/utf8>>;
tl ->
<<"Tagalog"/utf8>>;
th ->
<<"Thai"/utf8>>;
bo ->
<<"Tibetan"/utf8>>;
ti ->
<<"Tigrinya"/utf8>>;
to ->
<<"Tonga (Tonga Islands)"/utf8>>;
tn ->
<<"Tswana"/utf8>>;
ts ->
<<"Tsonga"/utf8>>;
tk ->
<<"Turkmen"/utf8>>;
tr ->
<<"Turkish"/utf8>>;
tw ->
<<"Twi"/utf8>>;
ug ->
<<"Uighur"/utf8>>;
uk ->
<<"Ukrainian"/utf8>>;
ur ->
<<"Urdu"/utf8>>;
uz ->
<<"Uzbek"/utf8>>;
ve ->
<<"Venda"/utf8>>;
vi ->
<<"Vietnamese"/utf8>>;
vo ->
<<"VolapĂŒk"/utf8>>;
cy ->
<<"Welsh"/utf8>>;
wa ->
<<"Walloon"/utf8>>;
wo ->
<<"Wolof"/utf8>>;
xh ->
<<"Xhosa"/utf8>>;
yi ->
<<"Yiddish"/utf8>>;
yo ->
<<"Yoruba"/utf8>>;
za ->
<<"Zhuang"/utf8>>;
zu ->
<<"Zulu"/utf8>>
end.