Files
bsky-social-app/src/locale/languages.ts
T
DS Boyce afbade6f6f Refine UX for on-device translation for posts (#9987)
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2026-03-04 20:37:44 -06:00

2643 lines
37 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export interface Language {
code3: string
code2: string
name: string
}
export enum AppLanguage {
en = 'en',
an = 'an',
ast = 'ast',
ca = 'ca',
cy = 'cy',
da = 'da',
de = 'de',
el = 'el',
en_GB = 'en-GB',
eo = 'eo',
es = 'es',
eu = 'eu',
fi = 'fi',
fr = 'fr',
fy = 'fy',
ga = 'ga',
gd = 'gd',
gl = 'gl',
hi = 'hi',
hu = 'hu',
ia = 'ia',
id = 'id',
it = 'it',
ja = 'ja',
km = 'km',
ko = 'ko',
ne = 'ne',
nl = 'nl',
pl = 'pl',
pt_BR = 'pt-BR',
pt_PT = 'pt-PT',
ro = 'ro',
ru = 'ru',
sv = 'sv',
th = 'th',
tr = 'tr',
uk = 'uk',
vi = 'vi',
zh_CN = 'zh-Hans-CN',
zh_HK = 'zh-Hant-HK',
zh_TW = 'zh-Hant-TW',
}
interface AppLanguageConfig {
code2: AppLanguage
name: string
}
export const APP_LANGUAGES: AppLanguageConfig[] = [
{code2: AppLanguage.en, name: 'English'},
{code2: AppLanguage.an, name: 'aragonés Aragonese'},
{code2: AppLanguage.ast, name: 'asturianu Asturian'},
{code2: AppLanguage.ca, name: 'català Catalan'},
{code2: AppLanguage.cy, name: 'Cymraeg Welsh'},
{code2: AppLanguage.da, name: 'dansk Danish'},
{code2: AppLanguage.de, name: 'Deutsch German'},
{code2: AppLanguage.el, name: 'Ελληνικά Greek'},
{code2: AppLanguage.en_GB, name: 'British English'},
{code2: AppLanguage.eo, name: 'Esperanto'},
{code2: AppLanguage.es, name: 'español Spanish'},
{code2: AppLanguage.eu, name: 'euskara Basque'},
{code2: AppLanguage.fi, name: 'suomi Finnish'},
{code2: AppLanguage.fr, name: 'français French'},
{code2: AppLanguage.fy, name: 'Frysk Western Frisian'},
{code2: AppLanguage.ga, name: 'Gaeilge Irish'},
{code2: AppLanguage.gd, name: 'Gàidhlig Scottish Gaelic'},
{code2: AppLanguage.gl, name: 'galego Galician'},
{code2: AppLanguage.hi, name: 'हिंदी Hindi'},
{code2: AppLanguage.hu, name: 'magyar Hungarian'},
{code2: AppLanguage.ia, name: 'Interlingua'},
{code2: AppLanguage.id, name: 'Bahasa Indonesia Indonesian'},
{code2: AppLanguage.it, name: 'italiano Italian'},
{code2: AppLanguage.ja, name: '日本語 Japanese'},
{code2: AppLanguage.km, name: 'ភាសាខ្មែរ Khmer'},
{code2: AppLanguage.ko, name: '한국어 Korean'},
{code2: AppLanguage.ne, name: 'नेपाली Nepali'},
{code2: AppLanguage.nl, name: 'Nederlands Dutch'},
{code2: AppLanguage.pl, name: 'polski Polish'},
{
code2: AppLanguage.pt_BR,
name: 'português do Brasil Brazilian Portuguese',
},
{code2: AppLanguage.pt_PT, name: 'português europeu European Portuguese'},
{code2: AppLanguage.ro, name: 'română Romanian'},
{code2: AppLanguage.ru, name: 'русский Russian'},
{code2: AppLanguage.sv, name: 'svenska Swedish'},
{code2: AppLanguage.th, name: 'ภาษาไทย Thai'},
{code2: AppLanguage.tr, name: 'Türkçe Turkish'},
{code2: AppLanguage.uk, name: 'українська Ukrainian'},
{code2: AppLanguage.vi, name: 'Tiếng Việt Vietnamese'},
{code2: AppLanguage.zh_CN, name: '简体中文 Simplified Chinese'},
{code2: AppLanguage.zh_TW, name: '繁體中文 Traditional Chinese'},
{code2: AppLanguage.zh_HK, name: '粵文 Cantonese'},
]
// Pre-generated list using Intl.DisplayNames to localize the language name.
export const LANGUAGES: Language[] = [
{
code3: 'aar',
code2: 'aa',
name: 'Afar',
},
{
code3: 'abk',
code2: 'ab',
name: 'Abkhazian',
},
{
code3: 'ace',
code2: '',
name: 'Achinese',
},
{
code3: 'ach',
code2: '',
name: 'Acoli',
},
{
code3: 'ada',
code2: '',
name: 'Adangme',
},
{
code3: 'ady',
code2: '',
name: 'Adyghe; Adygei',
},
{
code3: 'afa',
code2: '',
name: 'Afro-Asiatic languages',
},
{
code3: 'afh',
code2: '',
name: 'Afrihili',
},
{
code3: 'afr',
code2: 'af',
name: 'Afrikaans',
},
{
code3: 'ain',
code2: '',
name: 'Ainu',
},
{
code3: 'aka',
code2: 'ak',
name: 'Akan',
},
{
code3: 'akk',
code2: '',
name: 'Akkadian',
},
{
code3: 'alb',
code2: 'sq',
name: 'Albanian',
},
{
code3: 'ale',
code2: '',
name: 'Aleut',
},
{
code3: 'alg',
code2: '',
name: 'Algonquian languages',
},
{
code3: 'alt',
code2: '',
name: 'Southern Altai',
},
{
code3: 'amh',
code2: 'am',
name: 'Amharic',
},
{
code3: 'ang',
code2: '',
name: 'English, Old (ca.450-1100)',
},
{
code3: 'anp',
code2: '',
name: 'Angika',
},
{
code3: 'apa',
code2: '',
name: 'Apache languages',
},
{
code3: 'ara',
code2: 'ar',
name: 'Arabic',
},
{
code3: 'arc',
code2: '',
name: 'Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)',
},
{
code3: 'arg',
code2: 'an',
name: 'Aragonese',
},
{
code3: 'arm',
code2: 'hy',
name: 'Armenian',
},
{
code3: 'arn',
code2: '',
name: 'Mapudungun; Mapuche',
},
{
code3: 'arp',
code2: '',
name: 'Arapaho',
},
{
code3: 'art',
code2: '',
name: 'Artificial languages',
},
{
code3: 'arw',
code2: '',
name: 'Arawak',
},
{
code3: 'asm',
code2: 'as',
name: 'Assamese',
},
{
code3: 'ast',
code2: '',
name: 'Asturian',
},
{
code3: 'ath',
code2: '',
name: 'Athapascan languages',
},
{
code3: 'aus',
code2: '',
name: 'Australian languages',
},
{
code3: 'ava',
code2: 'av',
name: 'Avaric',
},
{
code3: 'ave',
code2: 'ae',
name: 'Avestan',
},
{
code3: 'awa',
code2: '',
name: 'Awadhi',
},
{
code3: 'aym',
code2: 'ay',
name: 'Aymara',
},
{
code3: 'aze',
code2: 'az',
name: 'Azerbaijani',
},
{
code3: 'bad',
code2: '',
name: 'Banda languages',
},
{
code3: 'bai',
code2: '',
name: 'Bamileke languages',
},
{
code3: 'bak',
code2: 'ba',
name: 'Bashkir',
},
{
code3: 'bal',
code2: '',
name: 'Baluchi',
},
{
code3: 'bam',
code2: 'bm',
name: 'Bambara',
},
{
code3: 'ban',
code2: '',
name: 'Balinese',
},
{
code3: 'baq',
code2: 'eu',
name: 'Basque',
},
{
code3: 'bas',
code2: '',
name: 'Basa',
},
{
code3: 'bat',
code2: '',
name: 'Baltic languages',
},
{
code3: 'bej',
code2: '',
name: 'Beja; Bedawiyet',
},
{
code3: 'bel',
code2: 'be',
name: 'Belarusian',
},
{
code3: 'bem',
code2: '',
name: 'Bemba',
},
{
code3: 'ben',
code2: 'bn',
name: 'Bangla',
},
{
code3: 'ber',
code2: '',
name: 'Berber languages',
},
{
code3: 'bho',
code2: '',
name: 'Bhojpuri',
},
{
code3: 'bih',
code2: 'bh',
name: 'Bhojpuri',
},
{
code3: 'bik',
code2: '',
name: 'Bikol',
},
{
code3: 'bin',
code2: '',
name: 'Bini; Edo',
},
{
code3: 'bis',
code2: 'bi',
name: 'Bislama',
},
{
code3: 'bla',
code2: '',
name: 'Siksika',
},
{
code3: 'bnt',
code2: '',
name: 'Bantu languages',
},
{
code3: 'bod',
code2: 'bo',
name: 'Tibetan',
},
{
code3: 'bos',
code2: 'bs',
name: 'Bosnian',
},
{
code3: 'bra',
code2: '',
name: 'Braj',
},
{
code3: 'bre',
code2: 'br',
name: 'Breton',
},
{
code3: 'btk',
code2: '',
name: 'Batak languages',
},
{
code3: 'bua',
code2: '',
name: 'Buriat',
},
{
code3: 'bug',
code2: '',
name: 'Buginese',
},
{
code3: 'bul',
code2: 'bg',
name: 'Bulgarian',
},
{
code3: 'bur',
code2: 'my',
name: 'Burmese',
},
{
code3: 'byn',
code2: '',
name: 'Blin; Bilin',
},
{
code3: 'cad',
code2: '',
name: 'Caddo',
},
{
code3: 'cai',
code2: '',
name: 'Central American Indian languages',
},
{
code3: 'car',
code2: '',
name: 'Galibi Carib',
},
{
code3: 'cat',
code2: 'ca',
name: 'Catalan',
},
{
code3: 'cau',
code2: '',
name: 'Caucasian languages',
},
{
code3: 'ceb',
code2: '',
name: 'Cebuano',
},
{
code3: 'cel',
code2: '',
name: 'Celtic languages',
},
{
code3: 'ces',
code2: 'cs',
name: 'Czech',
},
{
code3: 'cha',
code2: 'ch',
name: 'Chamorro',
},
{
code3: 'chb',
code2: '',
name: 'Chibcha',
},
{
code3: 'che',
code2: 'ce',
name: 'Chechen',
},
{
code3: 'chg',
code2: '',
name: 'Chagatai',
},
{
code3: 'chi',
code2: 'zh',
name: 'Chinese',
},
{
code3: 'chk',
code2: '',
name: 'Chuukese',
},
{
code3: 'chm',
code2: '',
name: 'Mari',
},
{
code3: 'chn',
code2: '',
name: 'Chinook jargon',
},
{
code3: 'cho',
code2: '',
name: 'Choctaw',
},
{
code3: 'chp',
code2: '',
name: 'Chipewyan; Dene Suline',
},
{
code3: 'chr',
code2: '',
name: 'Cherokee',
},
{
code3: 'chu',
code2: 'cu',
name: 'Church Slavic',
},
{
code3: 'chv',
code2: 'cv',
name: 'Chuvash',
},
{
code3: 'chy',
code2: '',
name: 'Cheyenne',
},
{
code3: 'cmc',
code2: '',
name: 'Chamic languages',
},
{
code3: 'cnr',
code2: '',
name: 'Serbian (Montenegro)',
},
{
code3: 'cop',
code2: '',
name: 'Coptic',
},
{
code3: 'cor',
code2: 'kw',
name: 'Cornish',
},
{
code3: 'cos',
code2: 'co',
name: 'Corsican',
},
{
code3: 'cpe',
code2: '',
name: 'Creoles and pidgins, English based',
},
{
code3: 'cpf',
code2: '',
name: 'Creoles and pidgins, French-based',
},
{
code3: 'cpp',
code2: '',
name: 'Creoles and pidgins, Portuguese-based',
},
{
code3: 'cre',
code2: 'cr',
name: 'Cree',
},
{
code3: 'crh',
code2: '',
name: 'Crimean Tatar; Crimean Turkish',
},
{
code3: 'crp',
code2: '',
name: 'Creoles and pidgins',
},
{
code3: 'csb',
code2: '',
name: 'Kashubian',
},
{
code3: 'cus',
code2: '',
name: 'Cushitic languages',
},
{
code3: 'cym',
code2: 'cy',
name: 'Welsh',
},
{
code3: 'cze',
code2: 'cs',
name: 'Czech',
},
{
code3: 'dak',
code2: '',
name: 'Dakota',
},
{
code3: 'dan',
code2: 'da',
name: 'Danish',
},
{
code3: 'dar',
code2: '',
name: 'Dargwa',
},
{
code3: 'day',
code2: '',
name: 'Land Dayak languages',
},
{
code3: 'del',
code2: '',
name: 'Delaware',
},
{
code3: 'den',
code2: '',
name: 'Slave (Athapascan)',
},
{
code3: 'deu',
code2: 'de',
name: 'German',
},
{
code3: 'dgr',
code2: '',
name: 'Dogrib',
},
{
code3: 'din',
code2: '',
name: 'Dinka',
},
{
code3: 'div',
code2: 'dv',
name: 'Divehi',
},
{
code3: 'doi',
code2: '',
name: 'Dogri',
},
{
code3: 'dra',
code2: '',
name: 'Dravidian languages',
},
{
code3: 'dsb',
code2: '',
name: 'Lower Sorbian',
},
{
code3: 'dua',
code2: '',
name: 'Duala',
},
{
code3: 'dum',
code2: '',
name: 'Dutch, Middle (ca.1050-1350)',
},
{
code3: 'dut',
code2: 'nl',
name: 'Dutch',
},
{
code3: 'dyu',
code2: '',
name: 'Dyula',
},
{
code3: 'dzo',
code2: 'dz',
name: 'Dzongkha',
},
{
code3: 'efi',
code2: '',
name: 'Efik',
},
{
code3: 'egy',
code2: '',
name: 'Egyptian (Ancient)',
},
{
code3: 'eka',
code2: '',
name: 'Ekajuk',
},
{
code3: 'ell',
code2: 'el',
name: 'Greek',
},
{
code3: 'elx',
code2: '',
name: 'Elamite',
},
{
code3: 'eng',
code2: 'en',
name: 'English',
},
{
code3: 'enm',
code2: '',
name: 'English, Middle (1100-1500)',
},
{
code3: 'epo',
code2: 'eo',
name: 'Esperanto',
},
{
code3: 'est',
code2: 'et',
name: 'Estonian',
},
{
code3: 'eus',
code2: 'eu',
name: 'Basque',
},
{
code3: 'ewe',
code2: 'ee',
name: 'Ewe',
},
{
code3: 'ewo',
code2: '',
name: 'Ewondo',
},
{
code3: 'fan',
code2: '',
name: 'Fang',
},
{
code3: 'fao',
code2: 'fo',
name: 'Faroese',
},
{
code3: 'fas',
code2: 'fa',
name: 'Persian',
},
{
code3: 'fat',
code2: '',
name: 'Akan',
},
{
code3: 'fij',
code2: 'fj',
name: 'Fijian',
},
{
code3: 'fil',
code2: '',
name: 'Filipino',
},
{
code3: 'fin',
code2: 'fi',
name: 'Finnish',
},
{
code3: 'fiu',
code2: '',
name: 'Finno-Ugrian languages',
},
{
code3: 'fon',
code2: '',
name: 'Fon',
},
{
code3: 'fra',
code2: 'fr',
name: 'French',
},
{
code3: 'fre',
code2: 'fr',
name: 'French',
},
{
code3: 'frm',
code2: '',
name: 'French, Middle (ca.1400-1600)',
},
{
code3: 'fro',
code2: '',
name: 'French, Old (842-ca.1400)',
},
{
code3: 'frr',
code2: '',
name: 'Northern Frisian',
},
{
code3: 'frs',
code2: '',
name: 'Eastern Frisian',
},
{
code3: 'fry',
code2: 'fy',
name: 'Western Frisian',
},
{
code3: 'ful',
code2: 'ff',
name: 'Fulah',
},
{
code3: 'fur',
code2: '',
name: 'Friulian',
},
{
code3: 'gaa',
code2: '',
name: 'Ga',
},
{
code3: 'gay',
code2: '',
name: 'Gayo',
},
{
code3: 'gba',
code2: '',
name: 'Gbaya',
},
{
code3: 'gem',
code2: '',
name: 'Germanic languages',
},
{
code3: 'geo',
code2: 'ka',
name: 'Georgian',
},
{
code3: 'ger',
code2: 'de',
name: 'German',
},
{
code3: 'gez',
code2: '',
name: 'Geez',
},
{
code3: 'gil',
code2: '',
name: 'Gilbertese',
},
{
code3: 'gla',
code2: 'gd',
name: 'Scottish Gaelic',
},
{
code3: 'gle',
code2: 'ga',
name: 'Irish',
},
{
code3: 'glg',
code2: 'gl',
name: 'Galician',
},
{
code3: 'glv',
code2: 'gv',
name: 'Manx',
},
{
code3: 'gmh',
code2: '',
name: 'German, Middle High (ca.1050-1500)',
},
{
code3: 'goh',
code2: '',
name: 'German, Old High (ca.750-1050)',
},
{
code3: 'gon',
code2: '',
name: 'Gondi',
},
{
code3: 'gor',
code2: '',
name: 'Gorontalo',
},
{
code3: 'got',
code2: '',
name: 'Gothic',
},
{
code3: 'grb',
code2: '',
name: 'Grebo',
},
{
code3: 'grc',
code2: '',
name: 'Ancient Greek',
},
{
code3: 'gre',
code2: 'el',
name: 'Greek',
},
{
code3: 'grn',
code2: 'gn',
name: 'Guarani',
},
{
code3: 'gsw',
code2: '',
name: 'Swiss German; Alemannic; Alsatian',
},
{
code3: 'guj',
code2: 'gu',
name: 'Gujarati',
},
{
code3: 'gwi',
code2: '',
name: "Gwich'in",
},
{
code3: 'hai',
code2: '',
name: 'Haida',
},
{
code3: 'hat',
code2: 'ht',
name: 'Haitian Creole',
},
{
code3: 'hau',
code2: 'ha',
name: 'Hausa',
},
{
code3: 'haw',
code2: '',
name: 'Hawaiian',
},
{
code3: 'heb',
code2: 'he',
name: 'Hebrew',
},
{
code3: 'her',
code2: 'hz',
name: 'Herero',
},
{
code3: 'hil',
code2: '',
name: 'Hiligaynon',
},
{
code3: 'him',
code2: '',
name: 'Himachali languages; Western Pahari languages',
},
{
code3: 'hin',
code2: 'hi',
name: 'Hindi',
},
{
code3: 'hit',
code2: '',
name: 'Hittite',
},
{
code3: 'hmn',
code2: '',
name: 'Hmong',
},
{
code3: 'hmo',
code2: 'ho',
name: 'Hiri Motu',
},
{
code3: 'hrv',
code2: 'hr',
name: 'Croatian',
},
{
code3: 'hsb',
code2: '',
name: 'Upper Sorbian',
},
{
code3: 'hun',
code2: 'hu',
name: 'Hungarian',
},
{
code3: 'hup',
code2: '',
name: 'Hupa',
},
{
code3: 'hye',
code2: 'hy',
name: 'Armenian',
},
{
code3: 'iba',
code2: '',
name: 'Iban',
},
{
code3: 'ibo',
code2: 'ig',
name: 'Igbo',
},
{
code3: 'ice',
code2: 'is',
name: 'Icelandic',
},
{
code3: 'ido',
code2: 'io',
name: 'Ido',
},
{
code3: 'iii',
code2: 'ii',
name: 'Sichuan Yi; Nuosu',
},
{
code3: 'ijo',
code2: '',
name: 'Ijo languages',
},
{
code3: 'iku',
code2: 'iu',
name: 'Inuktitut',
},
{
code3: 'ile',
code2: 'ie',
name: 'Interlingue',
},
{
code3: 'ilo',
code2: '',
name: 'Iloko',
},
{
code3: 'ina',
code2: 'ia',
name: 'Interlingua',
},
{
code3: 'inc',
code2: '',
name: 'Indic languages',
},
{
code3: 'ind',
code2: 'id',
name: 'Indonesian',
},
{
code3: 'ine',
code2: '',
name: 'Indo-European languages',
},
{
code3: 'inh',
code2: '',
name: 'Ingush',
},
{
code3: 'ipk',
code2: 'ik',
name: 'Inupiaq',
},
{
code3: 'ira',
code2: '',
name: 'Iranian languages',
},
{
code3: 'iro',
code2: '',
name: 'Iroquoian languages',
},
{
code3: 'isl',
code2: 'is',
name: 'Icelandic',
},
{
code3: 'ita',
code2: 'it',
name: 'Italian',
},
{
code3: 'jav',
code2: 'jv',
name: 'Javanese',
},
{
code3: 'jbo',
code2: '',
name: 'Lojban',
},
{
code3: 'jpn',
code2: 'ja',
name: 'Japanese',
},
{
code3: 'jpr',
code2: '',
name: 'Judeo-Persian',
},
{
code3: 'jrb',
code2: '',
name: 'Judeo-Arabic',
},
{
code3: 'kaa',
code2: '',
name: 'Kara-Kalpak',
},
{
code3: 'kab',
code2: '',
name: 'Kabyle',
},
{
code3: 'kac',
code2: '',
name: 'Kachin; Jingpho',
},
{
code3: 'kal',
code2: 'kl',
name: 'Kalaallisut',
},
{
code3: 'kam',
code2: '',
name: 'Kamba',
},
{
code3: 'kan',
code2: 'kn',
name: 'Kannada',
},
{
code3: 'kar',
code2: '',
name: 'Karen languages',
},
{
code3: 'kas',
code2: 'ks',
name: 'Kashmiri',
},
{
code3: 'kat',
code2: 'ka',
name: 'Georgian',
},
{
code3: 'kau',
code2: 'kr',
name: 'Kanuri',
},
{
code3: 'kaw',
code2: '',
name: 'Kawi',
},
{
code3: 'kaz',
code2: 'kk',
name: 'Kazakh',
},
{
code3: 'kbd',
code2: '',
name: 'Kabardian',
},
{
code3: 'kha',
code2: '',
name: 'Khasi',
},
{
code3: 'khi',
code2: '',
name: 'Khoisan languages',
},
{
code3: 'khm',
code2: 'km',
name: 'Khmer',
},
{
code3: 'kho',
code2: '',
name: 'Khotanese; Sakan',
},
{
code3: 'kik',
code2: 'ki',
name: 'Kikuyu; Gikuyu',
},
{
code3: 'kin',
code2: 'rw',
name: 'Kinyarwanda',
},
{
code3: 'kir',
code2: 'ky',
name: 'Kyrgyz',
},
{
code3: 'kmb',
code2: '',
name: 'Kimbundu',
},
{
code3: 'kok',
code2: '',
name: 'Konkani',
},
{
code3: 'kom',
code2: 'kv',
name: 'Komi',
},
{
code3: 'kon',
code2: 'kg',
name: 'Kongo',
},
{
code3: 'kor',
code2: 'ko',
name: 'Korean',
},
{
code3: 'kos',
code2: '',
name: 'Kosraean',
},
{
code3: 'kpe',
code2: '',
name: 'Kpelle',
},
{
code3: 'krc',
code2: '',
name: 'Karachay-Balkar',
},
{
code3: 'krl',
code2: '',
name: 'Karelian',
},
{
code3: 'kro',
code2: '',
name: 'Kru languages',
},
{
code3: 'kru',
code2: '',
name: 'Kurukh',
},
{
code3: 'kua',
code2: 'kj',
name: 'Kuanyama; Kwanyama',
},
{
code3: 'kum',
code2: '',
name: 'Kumyk',
},
{
code3: 'kur',
code2: 'ku',
name: 'Kurdish',
},
{
code3: 'kut',
code2: '',
name: 'Kutenai',
},
{
code3: 'lad',
code2: '',
name: 'Ladino',
},
{
code3: 'lah',
code2: '',
name: 'Lahnda',
},
{
code3: 'lam',
code2: '',
name: 'Lamba',
},
{
code3: 'lao',
code2: 'lo',
name: 'Lao',
},
{
code3: 'lat',
code2: 'la',
name: 'Latin',
},
{
code3: 'lav',
code2: 'lv',
name: 'Latvian',
},
{
code3: 'lez',
code2: '',
name: 'Lezghian',
},
{
code3: 'lim',
code2: 'li',
name: 'Limburgish',
},
{
code3: 'lin',
code2: 'ln',
name: 'Lingala',
},
{
code3: 'lit',
code2: 'lt',
name: 'Lithuanian',
},
{
code3: 'lol',
code2: '',
name: 'Mongo',
},
{
code3: 'loz',
code2: '',
name: 'Lozi',
},
{
code3: 'ltz',
code2: 'lb',
name: 'Luxembourgish',
},
{
code3: 'lua',
code2: '',
name: 'Luba-Lulua',
},
{
code3: 'lub',
code2: 'lu',
name: 'Luba-Katanga',
},
{
code3: 'lug',
code2: 'lg',
name: 'Ganda',
},
{
code3: 'lui',
code2: '',
name: 'Luiseno',
},
{
code3: 'lun',
code2: '',
name: 'Lunda',
},
{
code3: 'luo',
code2: '',
name: 'Luo (Kenya and Tanzania)',
},
{
code3: 'lus',
code2: '',
name: 'Mizo',
},
{
code3: 'mac',
code2: 'mk',
name: 'Macedonian',
},
{
code3: 'mad',
code2: '',
name: 'Madurese',
},
{
code3: 'mag',
code2: '',
name: 'Magahi',
},
{
code3: 'mah',
code2: 'mh',
name: 'Marshallese',
},
{
code3: 'mai',
code2: '',
name: 'Maithili',
},
{
code3: 'mak',
code2: '',
name: 'Makasar',
},
{
code3: 'mal',
code2: 'ml',
name: 'Malayalam',
},
{
code3: 'man',
code2: '',
name: 'Mandingo',
},
{
code3: 'mao',
code2: 'mi',
name: 'Māori',
},
{
code3: 'map',
code2: '',
name: 'Austronesian languages',
},
{
code3: 'mar',
code2: 'mr',
name: 'Marathi',
},
{
code3: 'mas',
code2: '',
name: 'Masai',
},
{
code3: 'may',
code2: 'ms',
name: 'Malay',
},
{
code3: 'mdf',
code2: '',
name: 'Moksha',
},
{
code3: 'mdr',
code2: '',
name: 'Mandar',
},
{
code3: 'men',
code2: '',
name: 'Mende',
},
{
code3: 'mga',
code2: '',
name: 'Irish, Middle (900-1200)',
},
{
code3: 'mic',
code2: '',
name: "Mi'kmaq; Micmac",
},
{
code3: 'min',
code2: '',
name: 'Minangkabau',
},
{
code3: 'mis',
code2: '',
name: 'Uncoded languages',
},
{
code3: 'mkd',
code2: 'mk',
name: 'Macedonian',
},
{
code3: 'mkh',
code2: '',
name: 'Mon-Khmer languages',
},
{
code3: 'mlg',
code2: 'mg',
name: 'Malagasy',
},
{
code3: 'mlt',
code2: 'mt',
name: 'Maltese',
},
{
code3: 'mnc',
code2: '',
name: 'Manchu',
},
{
code3: 'mni',
code2: '',
name: 'Manipuri',
},
{
code3: 'mno',
code2: '',
name: 'Manobo languages',
},
{
code3: 'moh',
code2: '',
name: 'Mohawk',
},
{
code3: 'mon',
code2: 'mn',
name: 'Mongolian',
},
{
code3: 'mos',
code2: '',
name: 'Mossi',
},
{
code3: 'mri',
code2: 'mi',
name: 'Māori',
},
{
code3: 'msa',
code2: 'ms',
name: 'Malay',
},
{
code3: 'mul',
code2: '',
name: 'Multiple languages',
},
{
code3: 'mun',
code2: '',
name: 'Munda languages',
},
{
code3: 'mus',
code2: '',
name: 'Creek',
},
{
code3: 'mwl',
code2: '',
name: 'Mirandese',
},
{
code3: 'mwr',
code2: '',
name: 'Marwari',
},
{
code3: 'mya',
code2: 'my',
name: 'Burmese',
},
{
code3: 'myn',
code2: '',
name: 'Mayan languages',
},
{
code3: 'myv',
code2: '',
name: 'Erzya',
},
{
code3: 'nah',
code2: '',
name: 'Nahuatl languages',
},
{
code3: 'nai',
code2: '',
name: 'North American Indian languages',
},
{
code3: 'nap',
code2: '',
name: 'Neapolitan',
},
{
code3: 'nau',
code2: 'na',
name: 'Nauru',
},
{
code3: 'nav',
code2: 'nv',
name: 'Navajo',
},
{
code3: 'nbl',
code2: 'nr',
name: 'South Ndebele',
},
{
code3: 'nde',
code2: 'nd',
name: 'North Ndebele',
},
{
code3: 'ndo',
code2: 'ng',
name: 'Ndonga',
},
{
code3: 'nds',
code2: '',
name: 'Low German; Low Saxon; German, Low; Saxon, Low',
},
{
code3: 'nep',
code2: 'ne',
name: 'Nepali',
},
{
code3: 'new',
code2: '',
name: 'Nepal Bhasa; Newari',
},
{
code3: 'nia',
code2: '',
name: 'Nias',
},
{
code3: 'nic',
code2: '',
name: 'Niger-Kordofanian languages',
},
{
code3: 'niu',
code2: '',
name: 'Niuean',
},
{
code3: 'nld',
code2: 'nl',
name: 'Dutch',
},
{
code3: 'nno',
code2: 'nn',
name: 'Norwegian Nynorsk',
},
{
code3: 'nob',
code2: 'nb',
name: 'Norwegian Bokmål',
},
{
code3: 'nog',
code2: '',
name: 'Nogai',
},
{
code3: 'non',
code2: '',
name: 'Norse, Old',
},
{
code3: 'nor',
code2: 'no',
name: 'Norwegian',
},
{
code3: 'nqo',
code2: '',
name: "N'Ko",
},
{
code3: 'nso',
code2: '',
name: 'Northern Sotho',
},
{
code3: 'nub',
code2: '',
name: 'Nubian languages',
},
{
code3: 'nwc',
code2: '',
name: 'Classical Newari; Old Newari; Classical Nepal Bhasa',
},
{
code3: 'nya',
code2: 'ny',
name: 'Nyanja',
},
{
code3: 'nym',
code2: '',
name: 'Nyamwezi',
},
{
code3: 'nyn',
code2: '',
name: 'Nyankole',
},
{
code3: 'nyo',
code2: '',
name: 'Nyoro',
},
{
code3: 'nzi',
code2: '',
name: 'Nzima',
},
{
code3: 'oci',
code2: 'oc',
name: 'Occitan',
},
{
code3: 'oji',
code2: 'oj',
name: 'Ojibwa',
},
{
code3: 'ori',
code2: 'or',
name: 'Odia',
},
{
code3: 'orm',
code2: 'om',
name: 'Oromo',
},
{
code3: 'osa',
code2: '',
name: 'Osage',
},
{
code3: 'oss',
code2: 'os',
name: 'Ossetic',
},
{
code3: 'ota',
code2: '',
name: 'Turkish, Ottoman (1500-1928)',
},
{
code3: 'oto',
code2: '',
name: 'Otomian languages',
},
{
code3: 'paa',
code2: '',
name: 'Papuan languages',
},
{
code3: 'pag',
code2: '',
name: 'Pangasinan',
},
{
code3: 'pal',
code2: '',
name: 'Pahlavi',
},
{
code3: 'pam',
code2: '',
name: 'Pampanga; Kapampangan',
},
{
code3: 'pan',
code2: 'pa',
name: 'Punjabi',
},
{
code3: 'pap',
code2: '',
name: 'Papiamento',
},
{
code3: 'pau',
code2: '',
name: 'Palauan',
},
{
code3: 'peo',
code2: '',
name: 'Persian, Old (ca.600-400 B.C.)',
},
{
code3: 'per',
code2: 'fa',
name: 'Persian',
},
{
code3: 'phi',
code2: '',
name: 'Philippine languages',
},
{
code3: 'phn',
code2: '',
name: 'Phoenician',
},
{
code3: 'pli',
code2: 'pi',
name: 'Pali',
},
{
code3: 'pol',
code2: 'pl',
name: 'Polish',
},
{
code3: 'pon',
code2: '',
name: 'Pohnpeian',
},
{
code3: 'por',
code2: 'pt',
name: 'Portuguese',
},
{
code3: 'pra',
code2: '',
name: 'Prakrit languages',
},
{
code3: 'pro',
code2: '',
name: 'Provençal, Old (to 1500);Occitan, Old (to 1500)',
},
{
code3: 'pus',
code2: 'ps',
name: 'Pashto',
},
{
code3: 'que',
code2: 'qu',
name: 'Quechua',
},
{
code3: 'raj',
code2: '',
name: 'Rajasthani',
},
{
code3: 'rap',
code2: '',
name: 'Rapanui',
},
{
code3: 'rar',
code2: '',
name: 'Rarotongan; Cook Islands Maori',
},
{
code3: 'roa',
code2: '',
name: 'Romance languages',
},
{
code3: 'roh',
code2: 'rm',
name: 'Romansh',
},
{
code3: 'rom',
code2: '',
name: 'Romany',
},
{
code3: 'rum',
code2: 'ro',
name: 'Romanian',
},
{
code3: 'ron',
code2: 'ro',
name: 'Romanian',
},
{
code3: 'run',
code2: 'rn',
name: 'Rundi',
},
{
code3: 'rup',
code2: '',
name: 'Aromanian; Arumanian; Macedo-Romanian',
},
{
code3: 'rus',
code2: 'ru',
name: 'Russian',
},
{
code3: 'sad',
code2: '',
name: 'Sandawe',
},
{
code3: 'sag',
code2: 'sg',
name: 'Sango',
},
{
code3: 'sah',
code2: '',
name: 'Yakut',
},
{
code3: 'sai',
code2: '',
name: 'South American Indian languages',
},
{
code3: 'sal',
code2: '',
name: 'Salishan languages',
},
{
code3: 'sam',
code2: '',
name: 'Samaritan Aramaic',
},
{
code3: 'san',
code2: 'sa',
name: 'Sanskrit',
},
{
code3: 'sas',
code2: '',
name: 'Sasak',
},
{
code3: 'sat',
code2: '',
name: 'Santali',
},
{
code3: 'scn',
code2: '',
name: 'Sicilian',
},
{
code3: 'sco',
code2: '',
name: 'Scots',
},
{
code3: 'sel',
code2: '',
name: 'Selkup',
},
{
code3: 'sem',
code2: '',
name: 'Semitic languages',
},
{
code3: 'sga',
code2: '',
name: 'Irish, Old (to 900)',
},
{
code3: 'sgn',
code2: '',
name: 'Sign Languages',
},
{
code3: 'shn',
code2: '',
name: 'Shan',
},
{
code3: 'sid',
code2: '',
name: 'Sidamo',
},
{
code3: 'sin',
code2: 'si',
name: 'Sinhala',
},
{
code3: 'sio',
code2: '',
name: 'Siouan languages',
},
{
code3: 'sit',
code2: '',
name: 'Sino-Tibetan languages',
},
{
code3: 'sla',
code2: '',
name: 'Slavic languages',
},
{
code3: 'slo',
code2: 'sk',
name: 'Slovak',
},
{
code3: 'slk',
code2: 'sk',
name: 'Slovak',
},
{
code3: 'slv',
code2: 'sl',
name: 'Slovenian',
},
{
code3: 'sma',
code2: '',
name: 'Southern Sami',
},
{
code3: 'sme',
code2: 'se',
name: 'Northern Sami',
},
{
code3: 'smi',
code2: '',
name: 'Sami languages',
},
{
code3: 'smj',
code2: '',
name: 'Lule Sami',
},
{
code3: 'smn',
code2: '',
name: 'Inari Sami',
},
{
code3: 'smo',
code2: 'sm',
name: 'Samoan',
},
{
code3: 'sms',
code2: '',
name: 'Skolt Sami',
},
{
code3: 'sna',
code2: 'sn',
name: 'Shona',
},
{
code3: 'snd',
code2: 'sd',
name: 'Sindhi',
},
{
code3: 'snk',
code2: '',
name: 'Soninke',
},
{
code3: 'sog',
code2: '',
name: 'Sogdian',
},
{
code3: 'som',
code2: 'so',
name: 'Somali',
},
{
code3: 'son',
code2: '',
name: 'Songhai languages',
},
{
code3: 'sot',
code2: 'st',
name: 'Southern Sotho',
},
{
code3: 'spa',
code2: 'es',
name: 'Spanish',
},
{
code3: 'sqi',
code2: 'sq',
name: 'Albanian',
},
{
code3: 'srd',
code2: 'sc',
name: 'Sardinian',
},
{
code3: 'srn',
code2: '',
name: 'Sranan Tongo',
},
{
code3: 'srp',
code2: 'sr',
name: 'Serbian',
},
{
code3: 'srr',
code2: '',
name: 'Serer',
},
{
code3: 'ssa',
code2: '',
name: 'Nilo-Saharan languages',
},
{
code3: 'ssw',
code2: 'ss',
name: 'Swati',
},
{
code3: 'suk',
code2: '',
name: 'Sukuma',
},
{
code3: 'sun',
code2: 'su',
name: 'Sundanese',
},
{
code3: 'sus',
code2: '',
name: 'Susu',
},
{
code3: 'sux',
code2: '',
name: 'Sumerian',
},
{
code3: 'swa',
code2: 'sw',
name: 'Swahili',
},
{
code3: 'swe',
code2: 'sv',
name: 'Swedish',
},
{
code3: 'syc',
code2: '',
name: 'Classical Syriac',
},
{
code3: 'syr',
code2: '',
name: 'Syriac',
},
{
code3: 'tah',
code2: 'ty',
name: 'Tahitian',
},
{
code3: 'tai',
code2: '',
name: 'Tai languages',
},
{
code3: 'tam',
code2: 'ta',
name: 'Tamil',
},
{
code3: 'tat',
code2: 'tt',
name: 'Tatar',
},
{
code3: 'tel',
code2: 'te',
name: 'Telugu',
},
{
code3: 'tem',
code2: '',
name: 'Timne',
},
{
code3: 'ter',
code2: '',
name: 'Tereno',
},
{
code3: 'tet',
code2: '',
name: 'Tetum',
},
{
code3: 'tgk',
code2: 'tg',
name: 'Tajik',
},
{
code3: 'tgl',
code2: 'tl',
name: 'Filipino',
},
{
code3: 'tha',
code2: 'th',
name: 'Thai',
},
{
code3: 'tib',
code2: 'bo',
name: 'Tibetan',
},
{
code3: 'tig',
code2: '',
name: 'Tigre',
},
{
code3: 'tir',
code2: 'ti',
name: 'Tigrinya',
},
{
code3: 'tiv',
code2: '',
name: 'Tiv',
},
{
code3: 'tkl',
code2: '',
name: 'Tokelau',
},
{
code3: 'tlh',
code2: '',
name: 'Klingon; tlhIngan-Hol',
},
{
code3: 'tli',
code2: '',
name: 'Tlingit',
},
{
code3: 'tmh',
code2: '',
name: 'Tamashek',
},
{
code3: 'tog',
code2: '',
name: 'Tonga (Nyasa)',
},
{
code3: 'ton',
code2: 'to',
name: 'Tongan',
},
{
code3: 'tpi',
code2: '',
name: 'Tok Pisin',
},
{
code3: 'tsi',
code2: '',
name: 'Tsimshian',
},
{
code3: 'tsn',
code2: 'tn',
name: 'Tswana',
},
{
code3: 'tso',
code2: 'ts',
name: 'Tsonga',
},
{
code3: 'tuk',
code2: 'tk',
name: 'Turkmen',
},
{
code3: 'tum',
code2: '',
name: 'Tumbuka',
},
{
code3: 'tup',
code2: '',
name: 'Tupi languages',
},
{
code3: 'tur',
code2: 'tr',
name: 'Turkish',
},
{
code3: 'tut',
code2: '',
name: 'Altaic languages',
},
{
code3: 'tvl',
code2: '',
name: 'Tuvalu',
},
{
code3: 'twi',
code2: 'tw',
name: 'Akan',
},
{
code3: 'tyv',
code2: '',
name: 'Tuvinian',
},
{
code3: 'udm',
code2: '',
name: 'Udmurt',
},
{
code3: 'uga',
code2: '',
name: 'Ugaritic',
},
{
code3: 'uig',
code2: 'ug',
name: 'Uyghur',
},
{
code3: 'ukr',
code2: 'uk',
name: 'Ukrainian',
},
{
code3: 'umb',
code2: '',
name: 'Umbundu',
},
{
code3: 'und',
code2: '',
name: 'Undetermined',
},
{
code3: 'urd',
code2: 'ur',
name: 'Urdu',
},
{
code3: 'uzb',
code2: 'uz',
name: 'Uzbek',
},
{
code3: 'vai',
code2: '',
name: 'Vai',
},
{
code3: 'ven',
code2: 've',
name: 'Venda',
},
{
code3: 'vie',
code2: 'vi',
name: 'Vietnamese',
},
{
code3: 'vol',
code2: 'vo',
name: 'Volapük',
},
{
code3: 'vot',
code2: '',
name: 'Votic',
},
{
code3: 'wak',
code2: '',
name: 'Wakashan languages',
},
{
code3: 'wal',
code2: '',
name: 'Wolaitta; Wolaytta',
},
{
code3: 'war',
code2: '',
name: 'Waray',
},
{
code3: 'was',
code2: '',
name: 'Washo',
},
{
code3: 'wel',
code2: 'cy',
name: 'Welsh',
},
{
code3: 'wen',
code2: '',
name: 'Sorbian languages',
},
{
code3: 'wln',
code2: 'wa',
name: 'Walloon',
},
{
code3: 'wol',
code2: 'wo',
name: 'Wolof',
},
{
code3: 'xal',
code2: '',
name: 'Kalmyk; Oirat',
},
{
code3: 'xho',
code2: 'xh',
name: 'Xhosa',
},
{
code3: 'yao',
code2: '',
name: 'Yao',
},
{
code3: 'yap',
code2: '',
name: 'Yapese',
},
{
code3: 'yid',
code2: 'yi',
name: 'Yiddish',
},
{
code3: 'yor',
code2: 'yo',
name: 'Yoruba',
},
{
code3: 'ypk',
code2: '',
name: 'Yupik languages',
},
{
code3: 'zap',
code2: '',
name: 'Zapotec',
},
{
code3: 'zbl',
code2: '',
name: 'Blissymbols; Blissymbolics; Bliss',
},
{
code3: 'zen',
code2: '',
name: 'Zenaga',
},
{
code3: 'zgh',
code2: '',
name: 'Standard Moroccan Tamazight',
},
{
code3: 'zha',
code2: 'za',
name: 'Zhuang; Chuang',
},
{
code3: 'zho',
code2: 'zh',
name: 'Chinese',
},
{
code3: 'znd',
code2: '',
name: 'Zande languages',
},
{
code3: 'zul',
code2: 'zu',
name: 'Zulu',
},
{
code3: 'zun',
code2: '',
name: 'Zuni',
},
{
code3: 'zza',
code2: '',
name: 'Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki',
},
]
export const LANGUAGES_MAP_CODE2 = Object.fromEntries(
LANGUAGES.map(lang => [lang.code2, lang]),
)
export const LANGUAGES_MAP_CODE3 = Object.fromEntries(
LANGUAGES.map(lang => [lang.code3, lang]),
)
// some additional manual mappings (not clear if these should be in the "official" mappings)
if (LANGUAGES_MAP_CODE2.fa) {
LANGUAGES_MAP_CODE3.pes = LANGUAGES_MAP_CODE2.fa
}