All files / src languages.ts

100% Statements 56/56
100% Branches 7/7
100% Functions 0/0
100% Lines 56/56

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 151x 158x 158x 158x 151x 151x 151x 151x 151x 151x 151x  
const intlLanguageNames = new Intl.DisplayNames(['en'], {
  type: 'language',
  fallback: 'none'
});
 
const ADDITIONAL_LANGUAGE_NAMES: { [code: string]: string } = {
  aab: 'Alumu-Tesu',
  aac: 'Ari',
  aas: 'Aasáx',
  abp: 'Abellen Ayta',
  acf: 'Saint Lucian Creole French',
  aec: 'Saidi Arabic',
  afb: 'Gulf Arabic',
  apd: 'Sudanese Arabic',
  ayl: 'Libyan Arabic',
  blk: "Pa'o Karen",
  bog: 'Bamako Sign Language',
  bzs: 'Brazilian Sign Language',
  csn: 'Colombian Sign Language',
  dag: 'Dagbani',
  ecs: 'Ecuadorian Sign Language',
  frk: 'Frankish',
  fsl: 'French Sign Language',
  fuv: 'Nigerian Fulfulde',
  gcr: 'Guianese Creole French',
  gpe: 'Ghanaian Pidgin English',
  gux: 'Gourmanchéma',
  ise: 'Italian Sign Language',
  ksw: "S'gaw Karen",
  kun: 'Kunama',
  kyu: 'Western Kayah',
  laj: 'Lango',
  nyj: 'Nyanga',
  prd: 'Parsi-Dari',
  prl: 'Peruvian Sign Language',
  pst: 'Central Pashto',
  rop: 'Kriol',
  tdt: 'Tetun Dili',
  toi: 'Tonga',
  tuv: 'Turkana',
  vsl: 'Venezuelan Sign Language'
};
 
export function getLanguageName(code: string): string {
  if (!code) return '';
  if (code === 'und') return 'Unknown';
 
  try {
    const name = intlLanguageNames.of(code);
    if (name) return name;
  } catch {
    // fall through to additional lookup
  }
 
  return ADDITIONAL_LANGUAGE_NAMES[code] || code;
}