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