Justin Haaheim
Squashed commit of the following:
6bfe941
const LANG3_TO_NAME = {
afr: 'afrikaans',
amh: 'amharic',
arb: 'arabic',
asm: 'assamese',
azj: 'azerbaijani',
bak: 'bashkir',
bel: 'belarusian',
ben: 'bengali',
bod: 'tibetan',
bos: 'bosnian',
bre: 'breton',
bul: 'bulgarian',
cat: 'catalan',
ces: 'czech',
cmn: 'chinese',
cym: 'welsh',
dan: 'danish',
deu: 'german',
ell: 'greek',
eng: 'english',
est: 'estonian',
eus: 'basque',
fao: 'faroese',
fin: 'finnish',
fra: 'french',
glg: 'galician',
guj: 'gujarati',
hat: 'haitian creole',
hau: 'hausa',
haw: 'hawaiian',
heb: 'hebrew',
hin: 'hindi',
hrv: 'croatian',
hun: 'hungarian',
hye: 'armenian',
ind: 'indonesian',
isl: 'icelandic',
ita: 'italian',
jav: 'javanese',
jpn: 'japanese',
kan: 'kannada',
kat: 'georgian',
kaz: 'kazakh',
khk: 'mongolian',
khm: 'khmer',
kor: 'korean',
lao: 'lao',
lat: 'latin',
lin: 'lingala',
lit: 'lithuanian',
ltz: 'luxembourgish',
lvs: 'latvian',
mal: 'malayalam',
mar: 'marathi',
mkd: 'macedonian',
mlg: 'malagasy',
mlt: 'maltese',
mri: 'maori',
mya: 'myanmar',
nld: 'dutch',
nno: 'nynorsk',
nob: 'norwegian',
npi: 'nepali',
oci: 'occitan',
pan: 'punjabi',
pbt: 'pashto',
pes: 'persian',
pol: 'polish',
por: 'portuguese',
ron: 'romanian',
rus: 'russian',
san: 'sanskrit',
sin: 'sinhala',
slk: 'slovak',
slv: 'slovenian',
sna: 'shona',
snd: 'sindhi',
som: 'somali',
spa: 'spanish',
sqi: 'albanian',
srp: 'serbian',
sun: 'sundanese',
swe: 'swedish',
swh: 'swahili',
tam: 'tamil',
tat: 'tatar',
tel: 'telugu',
tgk: 'tajik',
tgl: 'tagalog',
tha: 'thai',
tuk: 'turkmen',
tur: 'turkish',
ukr: 'ukrainian',
urd: 'urdu',
uzn: 'uzbek',
vie: 'vietnamese',
yid: 'yiddish',
yor: 'yoruba',
zlm: 'malay',
};
export function getLanguageFromThreeLetterCode(
lang3Code: string,
): string | null {
try {
const name = LANG3_TO_NAME[lang3Code] ?? null;
if (name == null) {
return null;
}
const capitalizedWords = name
.split(' ')
.map((word: string) => word[0].toUpperCase() + word.slice(1));
return capitalizedWords.join(' ');
} catch (e) {
console.warn(`Unable to get language name for code ${lang3Code}: ${e}`);
}
return null;
}