navigator.language list of all languages
Where i can see the list of languages and their codes?
I want to compare languages and auto-select required language in template.
Are they cross-browser equal?开发者_运维知识库
Any other solution?
For copy and pasting purposes:
["af", "sq", "ar-SA", "ar-IQ", "ar-EG", "ar-LY", "ar-DZ", "ar-MA", "ar-TN", "ar-OM",
"ar-YE", "ar-SY", "ar-JO", "ar-LB", "ar-KW", "ar-AE", "ar-BH", "ar-QA", "eu", "bg",
"be", "ca", "zh-TW", "zh-CN", "zh-HK", "zh-SG", "hr", "cs", "da", "nl", "nl-BE", "en",
"en-US", "en-EG", "en-AU", "en-GB", "en-CA", "en-NZ", "en-IE", "en-ZA", "en-JM",
"en-BZ", "en-TT", "et", "fo", "fa", "fi", "fr", "fr-BE", "fr-CA", "fr-CH", "fr-LU",
"gd", "gd-IE", "de", "de-CH", "de-AT", "de-LU", "de-LI", "el", "he", "hi", "hu",
"is", "id", "it", "it-CH", "ja", "ko", "lv", "lt", "mk", "mt", "no", "pl",
"pt-BR", "pt", "rm", "ro", "ro-MO", "ru", "ru-MI", "sz", "sr", "sk", "sl", "sb",
"es", "es-AR", "es-GT", "es-CR", "es-PA", "es-DO", "es-MX", "es-VE", "es-CO",
"es-PE", "es-EC", "es-CL", "es-UY", "es-PY", "es-BO", "es-SV", "es-HN", "es-NI",
"es-PR", "sx", "sv", "sv-FI", "th", "ts", "tn", "tr", "uk", "ur", "ve", "vi", "xh",
"ji", "zu"];
This list of languages is defined by the ISO : http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
Example : be
for belarus, fr
for french.
If you are looking for something more specific, those are not languages, but locale, e.g. "Brazilian Portuguese", or "Canadian French". Those can be found in the ICU project: https://www.localeplanet.com/icu/
Example : pt_BR
for Portuguese (Brazil) vs pt_CV
for Portuguese (Cape Verde)
Those are the ones available for copy/pasting in dYale answer.
In some case, navigator.language
can return something like "sr-Latn-RS"
According to MDN (https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/language) navigator.language
can return every value valid in BCP-47: https://tools.ietf.org/html/bcp47
If anyone also needs the name of the language for user selection (created from here using query selector so it's accurate):
[
['Abkhazian', 'ab'],
['Afar', 'aa'],
['Afrikaans', 'af'],
['Akan', 'ak'],
['Albanian', 'sq'],
['Amharic', 'am'],
['Arabic', 'ar'],
['Aragonese', 'an'],
['Armenian', 'hy'],
['Assamese', 'as'],
['Avaric', 'av'],
['Avestan', 'ae'],
['Aymara', 'ay'],
['Azerbaijani', 'az'],
['Bambara', 'bm'],
['Bashkir', 'ba'],
['Basque', 'eu'],
['Belarusian', 'be'],
['Bengali (Bangla)', 'bn'],
['Bihari', 'bh'],
['Bislama', 'bi'],
['Bosnian', 'bs'],
['Breton', 'br'],
['Bulgarian', 'bg'],
['Burmese', 'my'],
['Catalan', 'ca'],
['Chamorro', 'ch'],
['Chechen', 'ce'],
['Chichewa, Chewa, Nyanja', 'ny'],
['Chinese', 'zh'],
['Chinese (Simplified)', 'zh-Hans'],
['Chinese (Traditional)', 'zh-Hant'],
['Chuvash', 'cv'],
['Cornish', 'kw'],
['Corsican', 'co'],
['Cree', 'cr'],
['Croatian', 'hr'],
['Czech', 'cs'],
['Danish', 'da'],
['Divehi, Dhivehi, Maldivian', 'dv'],
['Dutch', 'nl'],
['Dzongkha', 'dz'],
['English', 'en'],
['Esperanto', 'eo'],
['Estonian', 'et'],
['Ewe', 'ee'],
['Faroese', 'fo'],
['Fijian', 'fj'],
['Finnish', 'fi'],
['French', 'fr'],
['Fula, Fulah, Pulaar, Pular', 'ff'],
['Galician', 'gl'],
['Gaelic (Scottish)', 'gd'],
['Gaelic (Manx)', 'gv'],
['Georgian', 'ka'],
['German', 'de'],
['Greek', 'el'],
['Greenlandic', 'kl'],
['Guarani', 'gn'],
['Gujarati', 'gu'],
['Haitian Creole', 'ht'],
['Hausa', 'ha'],
['Hebrew', 'he'],
['Herero', 'hz'],
['Hindi', 'hi'],
['Hiri Motu', 'ho'],
['Hungarian', 'hu'],
['Icelandic', 'is'],
['Ido', 'io'],
['Igbo', 'ig'],
['Indonesian', 'id, in'],
['Interlingua', 'ia'],
['Interlingue', 'ie'],
['Inuktitut', 'iu'],
['Inupiak', 'ik'],
['Irish', 'ga'],
['Italian', 'it'],
['Japanese', 'ja'],
['Javanese', 'jv'],
['Kalaallisut, Greenlandic', 'kl'],
['Kannada', 'kn'],
['Kanuri', 'kr'],
['Kashmiri', 'ks'],
['Kazakh', 'kk'],
['Khmer', 'km'],
['Kikuyu', 'ki'],
['Kinyarwanda (Rwanda)', 'rw'],
['Kirundi', 'rn'],
['Kyrgyz', 'ky'],
['Komi', 'kv'],
['Kongo', 'kg'],
['Korean', 'ko'],
['Kurdish', 'ku'],
['Kwanyama', 'kj'],
['Lao', 'lo'],
['Latin', 'la'],
['Latvian (Lettish)', 'lv'],
['Limburgish ( Limburger)', 'li'],
['Lingala', 'ln'],
['Lithuanian', 'lt'],
['Luga-Katanga', 'lu'],
['Luganda, Ganda', 'lg'],
['Luxembourgish', 'lb'],
['Manx', 'gv'],
['Macedonian', 'mk'],
['Malagasy', 'mg'],
['Malay', 'ms'],
['Malayalam', 'ml'],
['Maltese', 'mt'],
['Maori', 'mi'],
['Marathi', 'mr'],
['Marshallese', 'mh'],
['Moldavian', 'mo'],
['Mongolian', 'mn'],
['Nauru', 'na'],
['Navajo', 'nv'],
['Ndonga', 'ng'],
['Northern Ndebele', 'nd'],
['Nepali', 'ne'],
['Norwegian', 'no'],
['Norwegian bokmål', 'nb'],
['Norwegian nynorsk', 'nn'],
['Nuosu', 'ii'],
['Occitan', 'oc'],
['Ojibwe', 'oj'],
['Old Church Slavonic, Old Bulgarian', 'cu'],
['Oriya', 'or'],
['Oromo (Afaan Oromo)', 'om'],
['Ossetian', 'os'],
['Pāli', 'pi'],
['Pashto, Pushto', 'ps'],
['Persian (Farsi)', 'fa'],
['Polish', 'pl'],
['Portuguese', 'pt'],
['Punjabi (Eastern)', 'pa'],
['Quechua', 'qu'],
['Romansh', 'rm'],
['Romanian', 'ro'],
['Russian', 'ru'],
['Sami', 'se'],
['Samoan', 'sm'],
['Sango', 'sg'],
['Sanskrit', 'sa'],
['Serbian', 'sr'],
['Serbo-Croatian', 'sh'],
['Sesotho', 'st'],
['Setswana', 'tn'],
['Shona', 'sn'],
['Sichuan Yi', 'ii'],
['Sindhi', 'sd'],
['Sinhalese', 'si'],
['Siswati', 'ss'],
['Slovak', 'sk'],
['Slovenian', 'sl'],
['Somali', 'so'],
['Southern Ndebele', 'nr'],
['Spanish', 'es'],
['Sundanese', 'su'],
['Swahili (Kiswahili)', 'sw'],
['Swati', 'ss'],
['Swedish', 'sv'],
['Tagalog', 'tl'],
['Tahitian', 'ty'],
['Tajik', 'tg'],
['Tamil', 'ta'],
['Tatar', 'tt'],
['Telugu', 'te'],
['Thai', 'th'],
['Tibetan', 'bo'],
['Tigrinya', 'ti'],
['Tonga', 'to'],
['Tsonga', 'ts'],
['Turkish', 'tr'],
['Turkmen', 'tk'],
['Twi', 'tw'],
['Uyghur', 'ug'],
['Ukrainian', 'uk'],
['Urdu', 'ur'],
['Uzbek', 'uz'],
['Venda', 've'],
['Vietnamese', 'vi'],
['Volapük', 'vo'],
['Wallon', 'wa'],
['Welsh', 'cy'],
['Wolof', 'wo'],
['Western Frisian', 'fy'],
['Xhosa', 'xh'],
['Yiddish', 'yi, ji'],
['Yoruba', 'yo'],
['Zhuang, Chuang', 'za'],
['Zulu', 'zu'],
]
Or if you need an enum of languages without locale in typescript or plaint object in javascript for copy-paste purposes
export enum ISOLanguages {
AF = 'af',
SQ = 'sq',
AR = 'ar',
EU = 'eu',
BG = 'bg',
BE = 'be',
CA = 'ca',
ZH = 'zh',
HR = 'hr',
CS = 'cs',
DA = 'da',
NL = 'nl',
EN = 'en',
ET = 'et',
FO = 'fo',
FA = 'fa',
FI = 'fi',
FR = 'fr',
GD = 'gd',
DE = 'de',
EL = 'el',
HE = 'he',
HI = 'hi',
HU = 'hu',
IS = 'is',
ID = 'id',
IT = 'it',
JA = 'ja',
KO = 'ko',
LV = 'lv',
LT = 'lt',
MK = 'mk',
MT = 'mt',
NO = 'no',
PL = 'pl',
PT = 'pt',
RM = 'rm',
RO = 'ro',
RU = 'ru',
SZ = 'sz',
SR = 'sr',
SK = 'sk',
SL = 'sl',
SB = 'sb',
ES = 'es',
SX = 'sx',
SV = 'sv',
TH = 'th',
TS = 'ts',
TN = 'tn',
TR = 'tr',
UK = 'uk',
UR = 'ur',
VE = 've',
VI = 'vi',
XH = 'xh',
JI = 'ji',
ZU = 'zu',
}
Or an array of objects with "name" and "code" keys
[
{ code: 'ab', name: 'Abkhazian' },
{ code: 'aa', name: 'Afar' },
{ code: 'af', name: 'Afrikaans' },
{ code: 'ak', name: 'Akan' },
{ code: 'sq', name: 'Albanian' },
{ code: 'am', name: 'Amharic' },
{ code: 'ar', name: 'Arabic' },
{ code: 'an', name: 'Aragonese' },
{ code: 'hy', name: 'Armenian' },
{ code: 'as', name: 'Assamese' },
{ code: 'av', name: 'Avaric' },
{ code: 'ae', name: 'Avestan' },
{ code: 'ay', name: 'Aymara' },
{ code: 'az', name: 'Azerbaijani' },
{ code: 'bm', name: 'Bambara' },
{ code: 'ba', name: 'Bashkir' },
{ code: 'eu', name: 'Basque' },
{ code: 'be', name: 'Belarusian' },
{ code: 'bn', name: 'Bengali (Bangla)' },
{ code: 'bh', name: 'Bihari' },
{ code: 'bi', name: 'Bislama' },
{ code: 'bs', name: 'Bosnian' },
{ code: 'br', name: 'Breton' },
{ code: 'bg', name: 'Bulgarian' },
{ code: 'my', name: 'Burmese' },
{ code: 'ca', name: 'Catalan' },
{ code: 'ch', name: 'Chamorro' },
{ code: 'ce', name: 'Chechen' },
{ code: 'ny', name: 'Chichewa, Chewa, Nyanja' },
{ code: 'zh', name: 'Chinese' },
{ code: 'zh-Hans', name: 'Chinese (Simplified)' },
{ code: 'zh-Hant', name: 'Chinese (Traditional)' },
{ code: 'cv', name: 'Chuvash' },
{ code: 'kw', name: 'Cornish' },
{ code: 'co', name: 'Corsican' },
{ code: 'cr', name: 'Cree' },
{ code: 'hr', name: 'Croatian' },
{ code: 'cs', name: 'Czech' },
{ code: 'da', name: 'Danish' },
{ code: 'dv', name: 'Divehi, Dhivehi, Maldivian' },
{ code: 'nl', name: 'Dutch' },
{ code: 'dz', name: 'Dzongkha' },
{ code: 'en', name: 'English' },
{ code: 'eo', name: 'Esperanto' },
{ code: 'et', name: 'Estonian' },
{ code: 'ee', name: 'Ewe' },
{ code: 'fo', name: 'Faroese' },
{ code: 'fj', name: 'Fijian' },
{ code: 'fi', name: 'Finnish' },
{ code: 'fr', name: 'French' },
{ code: 'ff', name: 'Fula, Fulah, Pulaar, Pular' },
{ code: 'gl', name: 'Galician' },
{ code: 'gd', name: 'Gaelic (Scottish)' },
{ code: 'gv', name: 'Gaelic (Manx)' },
{ code: 'ka', name: 'Georgian' },
{ code: 'de', name: 'German' },
{ code: 'el', name: 'Greek' },
{ code: 'kl', name: 'Greenlandic' },
{ code: 'gn', name: 'Guarani' },
{ code: 'gu', name: 'Gujarati' },
{ code: 'ht', name: 'Haitian Creole' },
{ code: 'ha', name: 'Hausa' },
{ code: 'he', name: 'Hebrew' },
{ code: 'hz', name: 'Herero' },
{ code: 'hi', name: 'Hindi' },
{ code: 'ho', name: 'Hiri Motu' },
{ code: 'hu', name: 'Hungarian' },
{ code: 'is', name: 'Icelandic' },
{ code: 'io', name: 'Ido' },
{ code: 'ig', name: 'Igbo' },
{ code: 'id, in', name: 'Indonesian' },
{ code: 'ia', name: 'Interlingua' },
{ code: 'ie', name: 'Interlingue' },
{ code: 'iu', name: 'Inuktitut' },
{ code: 'ik', name: 'Inupiak' },
{ code: 'ga', name: 'Irish' },
{ code: 'it', name: 'Italian' },
{ code: 'ja', name: 'Japanese' },
{ code: 'jv', name: 'Javanese' },
{ code: 'kl', name: 'Kalaallisut, Greenlandic' },
{ code: 'kn', name: 'Kannada' },
{ code: 'kr', name: 'Kanuri' },
{ code: 'ks', name: 'Kashmiri' },
{ code: 'kk', name: 'Kazakh' },
{ code: 'km', name: 'Khmer' },
{ code: 'ki', name: 'Kikuyu' },
{ code: 'rw', name: 'Kinyarwanda (Rwanda)' },
{ code: 'rn', name: 'Kirundi' },
{ code: 'ky', name: 'Kyrgyz' },
{ code: 'kv', name: 'Komi' },
{ code: 'kg', name: 'Kongo' },
{ code: 'ko', name: 'Korean' },
{ code: 'ku', name: 'Kurdish' },
{ code: 'kj', name: 'Kwanyama' },
{ code: 'lo', name: 'Lao' },
{ code: 'la', name: 'Latin' },
{ code: 'lv', name: 'Latvian (Lettish)' },
{ code: 'li', name: 'Limburgish ( Limburger)' },
{ code: 'ln', name: 'Lingala' },
{ code: 'lt', name: 'Lithuanian' },
{ code: 'lu', name: 'Luga-Katanga' },
{ code: 'lg', name: 'Luganda, Ganda' },
{ code: 'lb', name: 'Luxembourgish' },
{ code: 'gv', name: 'Manx' },
{ code: 'mk', name: 'Macedonian' },
{ code: 'mg', name: 'Malagasy' },
{ code: 'ms', name: 'Malay' },
{ code: 'ml', name: 'Malayalam' },
{ code: 'mt', name: 'Maltese' },
{ code: 'mi', name: 'Maori' },
{ code: 'mr', name: 'Marathi' },
{ code: 'mh', name: 'Marshallese' },
{ code: 'mo', name: 'Moldavian' },
{ code: 'mn', name: 'Mongolian' },
{ code: 'na', name: 'Nauru' },
{ code: 'nv', name: 'Navajo' },
{ code: 'ng', name: 'Ndonga' },
{ code: 'nd', name: 'Northern Ndebele' },
{ code: 'ne', name: 'Nepali' },
{ code: 'no', name: 'Norwegian' },
{ code: 'nb', name: 'Norwegian bokmål' },
{ code: 'nn', name: 'Norwegian nynorsk' },
{ code: 'ii', name: 'Nuosu' },
{ code: 'oc', name: 'Occitan' },
{ code: 'oj', name: 'Ojibwe' },
{ code: 'cu', name: 'Old Church Slavonic, Old Bulgarian' },
{ code: 'or', name: 'Oriya' },
{ code: 'om', name: 'Oromo (Afaan Oromo)' },
{ code: 'os', name: 'Ossetian' },
{ code: 'pi', name: 'Pāli' },
{ code: 'ps', name: 'Pashto, Pushto' },
{ code: 'fa', name: 'Persian (Farsi)' },
{ code: 'pl', name: 'Polish' },
{ code: 'pt', name: 'Portuguese' },
{ code: 'pa', name: 'Punjabi (Eastern)' },
{ code: 'qu', name: 'Quechua' },
{ code: 'rm', name: 'Romansh' },
{ code: 'ro', name: 'Romanian' },
{ code: 'ru', name: 'Russian' },
{ code: 'se', name: 'Sami' },
{ code: 'sm', name: 'Samoan' },
{ code: 'sg', name: 'Sango' },
{ code: 'sa', name: 'Sanskrit' },
{ code: 'sr', name: 'Serbian' },
{ code: 'sh', name: 'Serbo-Croatian' },
{ code: 'st', name: 'Sesotho' },
{ code: 'tn', name: 'Setswana' },
{ code: 'sn', name: 'Shona' },
{ code: 'ii', name: 'Sichuan Yi' },
{ code: 'sd', name: 'Sindhi' },
{ code: 'si', name: 'Sinhalese' },
{ code: 'ss', name: 'Siswati' },
{ code: 'sk', name: 'Slovak' },
{ code: 'sl', name: 'Slovenian' },
{ code: 'so', name: 'Somali' },
{ code: 'nr', name: 'Southern Ndebele' },
{ code: 'es', name: 'Spanish' },
{ code: 'su', name: 'Sundanese' },
{ code: 'sw', name: 'Swahili (Kiswahili)' },
{ code: 'ss', name: 'Swati' },
{ code: 'sv', name: 'Swedish' },
{ code: 'tl', name: 'Tagalog' },
{ code: 'ty', name: 'Tahitian' },
{ code: 'tg', name: 'Tajik' },
{ code: 'ta', name: 'Tamil' },
{ code: 'tt', name: 'Tatar' },
{ code: 'te', name: 'Telugu' },
{ code: 'th', name: 'Thai' },
{ code: 'bo', name: 'Tibetan' },
{ code: 'ti', name: 'Tigrinya' },
{ code: 'to', name: 'Tonga' },
{ code: 'ts', name: 'Tsonga' },
{ code: 'tr', name: 'Turkish' },
{ code: 'tk', name: 'Turkmen' },
{ code: 'tw', name: 'Twi' },
{ code: 'ug', name: 'Uyghur' },
{ code: 'uk', name: 'Ukrainian' },
{ code: 'ur', name: 'Urdu' },
{ code: 'uz', name: 'Uzbek' },
{ code: 've', name: 'Venda' },
{ code: 'vi', name: 'Vietnamese' },
{ code: 'vo', name: 'Volapük' },
{ code: 'wa', name: 'Wallon' },
{ code: 'cy', name: 'Welsh' },
{ code: 'wo', name: 'Wolof' },
{ code: 'fy', name: 'Western Frisian' },
{ code: 'xh', name: 'Xhosa' },
{ code: 'yi, ji', name: 'Yiddish' },
{ code: 'yo', name: 'Yoruba' },
{ code: 'za', name: 'Zhuang, Chuang' },
{ code: 'zu', name: 'Zulu' },
];
精彩评论