如何在 JavaScript 中将语言代码转换为语言名称?

Sar*_*ara 9 javascript internationalization

我使用以下方式获取浏览器的语言代码:

var lang = window.navigator.language;
Run Code Online (Sandbox Code Playgroud)

这将返回代码(即 en-US)。如何将其转换为语言名称(即英语)?

Ste*_*gin 24

Javascript 有一个 API,用于Intl使用所选语言将语言转换为字符串。

请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames

const languageNames = new Intl.DisplayNames(['en'], {
  type: 'language'
});

console.log('en', languageNames.of('en'))
console.log('en-US', languageNames.of('en-US'))
console.log('es-MX', languageNames.of('es-MX'))
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以将 lang 代码转换为语言

\n\n
    var isoLangs = {\n    "ab": {\n        "name": "Abkhaz",\n            "nativeName": "\xd0\xb0\xd2\xa7\xd1\x81\xd1\x83\xd0\xb0"\n    },\n        "aa": {\n        "name": "Afar",\n            "nativeName": "Afaraf"\n    },\n        "af": {\n        "name": "Afrikaans",\n            "nativeName": "Afrikaans"\n    },\n        "ak": {\n        "name": "Akan",\n            "nativeName": "Akan"\n    },\n        "sq": {\n        "name": "Albanian",\n            "nativeName": "Shqip"\n    },\n        "am": {\n        "name": "Amharic",\n            "nativeName": "\xe1\x8a\xa0\xe1\x88\x9b\xe1\x88\xad\xe1\x8a\x9b"\n    },\n        "ar": {\n        "name": "Arabic",\n            "nativeName": "\xd8\xa7\xd9\x84\xd8\xb9\xd8\xb1\xd8\xa8\xd9\x8a\xd8\xa9"\n    },\n        "an": {\n        "name": "Aragonese",\n            "nativeName": "Aragon\xc3\xa9s"\n    },\n        "hy": {\n        "name": "Armenian",\n            "nativeName": "\xd5\x80\xd5\xa1\xd5\xb5\xd5\xa5\xd6\x80\xd5\xa5\xd5\xb6"\n    },\n        "as": {\n        "name": "Assamese",\n            "nativeName": "\xe0\xa6\x85\xe0\xa6\xb8\xe0\xa6\xae\xe0\xa7\x80\xe0\xa6\xaf\xe0\xa6\xbc\xe0\xa6\xbe"\n    },\n        "av": {\n        "name": "Avaric",\n            "nativeName": "\xd0\xb0\xd0\xb2\xd0\xb0\xd1\x80 \xd0\xbc\xd0\xb0\xd1\x86\xd3\x80, \xd0\xbc\xd0\xb0\xd0\xb3\xd3\x80\xd0\xb0\xd1\x80\xd1\x83\xd0\xbb \xd0\xbc\xd0\xb0\xd1\x86\xd3\x80"\n    },\n        "ae": {\n        "name": "Avestan",\n            "nativeName": "avesta"\n    },\n        "ay": {\n        "name": "Aymara",\n            "nativeName": "aymar aru"\n    },\n        "az": {\n        "name": "Azerbaijani",\n            "nativeName": "az\xc9\x99rbaycan dili"\n    },\n        "bm": {\n        "name": "Bambara",\n            "nativeName": "bamanankan"\n    },\n        "ba": {\n        "name": "Bashkir",\n            "nativeName": "\xd0\xb1\xd0\xb0\xd1\x88\xd2\xa1\xd0\xbe\xd1\x80\xd1\x82 \xd1\x82\xd0\xb5\xd0\xbb\xd0\xb5"\n    },\n        "eu": {\n        "name": "Basque",\n            "nativeName": "euskara, euskera"\n    },\n        "be": {\n        "name": "Belarusian",\n            "nativeName": "\xd0\x91\xd0\xb5\xd0\xbb\xd0\xb0\xd1\x80\xd1\x83\xd1\x81\xd0\xba\xd0\xb0\xd1\x8f"\n    },\n        "bn": {\n        "name": "Bengali",\n            "nativeName": "\xe0\xa6\xac\xe0\xa6\xbe\xe0\xa6\x82\xe0\xa6\xb2\xe0\xa6\xbe"\n    },\n        "bh": {\n        "name": "Bihari",\n            "nativeName": "\xe0\xa4\xad\xe0\xa5\x8b\xe0\xa4\x9c\xe0\xa4\xaa\xe0\xa5\x81\xe0\xa4\xb0\xe0\xa5\x80"\n    },\n        "bi": {\n        "name": "Bislama",\n            "nativeName": "Bislama"\n    },\n        "bs": {\n        "name": "Bosnian",\n            "nativeName": "bosanski jezik"\n    },\n        "br": {\n        "name": "Breton",\n            "nativeName": "brezhoneg"\n    },\n        "bg": {\n        "name": "Bulgarian",\n            "nativeName": "\xd0\xb1\xd1\x8a\xd0\xbb\xd0\xb3\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb8 \xd0\xb5\xd0\xb7\xd0\xb8\xd0\xba"\n    },\n        "my": {\n        "name": "Burmese",\n            "nativeName": "\xe1\x80\x97\xe1\x80\x99\xe1\x80\xac\xe1\x80\x85\xe1\x80\xac"\n    },\n        "ca": {\n        "name": "Catalan; Valencian",\n            "nativeName": "Catal\xc3\xa0"\n    },\n        "ch": {\n        "name": "Chamorro",\n            "nativeName": "Chamoru"\n    },\n        "ce": {\n        "name": "Chechen",\n            "nativeName": "\xd0\xbd\xd0\xbe\xd1\x85\xd1\x87\xd0\xb8\xd0\xb9\xd0\xbd \xd0\xbc\xd0\xbe\xd1\x82\xd1\x82"\n    },\n        "ny": {\n        "name": "Chichewa; Chewa; Nyanja",\n            "nativeName": "chiChe\xc5\xb5a, chinyanja"\n    },\n        "zh": {\n        "name": "Chinese",\n            "nativeName": "\xe4\xb8\xad\xe6\x96\x87 (Zh\xc5\x8dngw\xc3\xa9n), \xe6\xb1\x89\xe8\xaf\xad, \xe6\xbc\xa2\xe8\xaa\x9e"\n    },\n        "cv": {\n        "name": "Chuvash",\n            "nativeName": "\xd1\x87\xd3\x91\xd0\xb2\xd0\xb0\xd1\x88 \xd1\x87\xd3\x97\xd0\xbb\xd1\x85\xd0\xb8"\n    },\n        "kw": {\n        "name": "Cornish",\n            "nativeName": "Kernewek"\n    },\n        "co": {\n        "name": "Corsican",\n            "nativeName": "corsu, lingua corsa"\n    },\n        "cr": {\n        "name": "Cree",\n            "nativeName": "\xe1\x93\x80\xe1\x90\xa6\xe1\x90\x83\xe1\x94\xad\xe1\x90\x8d\xe1\x90\x8f\xe1\x90\xa3"\n    },\n        "hr": {\n        "name": "Croatian",\n            "nativeName": "hrvatski"\n    },\n        "cs": {\n        "name": "Czech",\n            "nativeName": "\xc4\x8desky, \xc4\x8de\xc5\xa1tina"\n    },\n        "da": {\n        "name": "Danish",\n            "nativeName": "dansk"\n    },\n        "dv": {\n        "name": "Divehi; Dhivehi; Maldivian;",\n            "nativeName": "\xde\x8b\xde\xa8\xde\x88\xde\xac\xde\x80\xde\xa8"\n    },\n        "nl": {\n        "name": "Dutch",\n            "nativeName": "Nederlands, Vlaams"\n    },\n        "en": {\n        "name": "English",\n            "nativeName": "English"\n    },\n        "eo": {\n        "name": "Esperanto",\n            "nativeName": "Esperanto"\n    },\n        "et": {\n        "name": "Estonian",\n            "nativeName": "eesti, eesti keel"\n    },\n        "ee": {\n        "name": "Ewe",\n            "nativeName": "E\xca\x8begbe"\n    },\n        "fo": {\n        "name": "Faroese",\n            "nativeName": "f\xc3\xb8royskt"\n    },\n        "fj": {\n        "name": "Fijian",\n            "nativeName": "vosa Vakaviti"\n    },\n        "fi": {\n        "name": "Finnish",\n            "nativeName": "suomi, suomen kieli"\n    },\n        "fr": {\n        "name": "French",\n            "nativeName": "fran\xc3\xa7ais, langue fran\xc3\xa7aise"\n    },\n        "ff": {\n        "name": "Fula; Fulah; Pulaar; Pular",\n            "nativeName": "Fulfulde, Pulaar, Pular"\n    },\n        "gl": {\n        "name": "Galician",\n            "nativeName": "Galego"\n    },\n        "ka": {\n        "name": "Georgian",\n            "nativeName": "\xe1\x83\xa5\xe1\x83\x90\xe1\x83\xa0\xe1\x83\x97\xe1\x83\xa3\xe1\x83\x9a\xe1\x83\x98"\n    },\n        "de": {\n        "name": "German",\n            "nativeName": "Deutsch"\n    },\n        "el": {\n        "name": "Greek, Modern",\n            "nativeName": "\xce\x95\xce\xbb\xce\xbb\xce\xb7\xce\xbd\xce\xb9\xce\xba\xce\xac"\n    },\n        "gn": {\n        "name": "Guaran\xc3\xad",\n            "nativeName": "Ava\xc3\xb1e\xe1\xba\xbd"\n    },\n        "gu": {\n        "name": "Gujarati",\n            "nativeName": "\xe0\xaa\x97\xe0\xab\x81\xe0\xaa\x9c\xe0\xaa\xb0\xe0\xaa\xbe\xe0\xaa\xa4\xe0\xab\x80"\n    },\n        "ht": {\n        "name": "Haitian; Haitian Creole",\n            "nativeName": "Krey\xc3\xb2l ayisyen"\n    },\n        "ha": {\n        "name": "Hausa",\n            "nativeName": "Hausa, \xd9\x87\xd9\x8e\xd9\x88\xd9\x8f\xd8\xb3\xd9\x8e"\n    },\n        "he": {\n        "name": "Hebrew (modern)",\n            "nativeName": "\xd7\xa2\xd7\x91\xd7\xa8\xd7\x99\xd7\xaa"\n    },\n        "hz": {\n        "name": "Herero",\n            "nativeName": "Otjiherero"\n    },\n        "hi": {\n        "name": "Hindi",\n            "nativeName": "\xe0\xa4\xb9\xe0\xa4\xbf\xe0\xa4\xa8\xe0\xa5\x8d\xe0\xa4\xa6\xe0\xa5\x80, \xe0\xa4\xb9\xe0\xa4\xbf\xe0\xa4\x82\xe0\xa4\xa6\xe0\xa5\x80"\n    },\n        "ho": {\n        "name": "Hiri Motu",\n            "nativeName": "Hiri Motu"\n    },\n        "hu": {\n        "name": "Hungarian",\n            "nativeName": "Magyar"\n    },\n        "ia": {\n        "name": "Interlingua",\n            "nativeName": "Interlingua"\n    },\n        "id": {\n        "name": "Indonesian",\n            "nativeName": "Bahasa Indonesia"\n    },\n        "ie": {\n        "name": "Interlingue",\n            "nativeName": "Originally called Occidental; then Interlingue after WWII"\n    },\n        "ga": {\n        "name": "Irish",\n            "nativeName": "Gaeilge"\n    },\n        "ig": {\n        "name": "Igbo",\n            "nativeName": "As\xe1\xbb\xa5s\xe1\xbb\xa5 Igbo"\n    },\n        "ik": {\n        "name": "Inupiaq",\n            "nativeName": "I\xc3\xb1upiaq, I\xc3\xb1upiatun"\n    },\n        "io": {\n        "name": "Ido",\n            "nativeName": "Ido"\n    },\n        "is": {\n        "name": "Icelandic",\n            "nativeName": "\xc3\x8dslenska"\n    },\n        "it": {\n        "name": "Italian",\n            "nativeName": "Italiano"\n    },\n        "iu": {\n        "name": "Inuktitut",\n            "nativeName": "\xe1\x90\x83\xe1\x93\x84\xe1\x92\x83\xe1\x91\x8e\xe1\x91\x90\xe1\x91\xa6"\n    },\n        "ja": {\n        "name": "Japanese",\n            "nativeName": "\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e (\xe3\x81\xab\xe3\x81\xbb\xe3\x82\x93\xe3\x81\x94\xef\xbc\x8f\xe3\x81\xab\xe3\x81\xa3\xe3\x81\xbd\xe3\x82\x93\xe3\x81\x94)"\n    },\n        "jv": {\n        "name": "Javanese",\n            "nativeName": "basa Jawa"\n    },\n        "kl": {\n        "name": "Kalaallisut, Greenlandic",\n            "nativeName": "kalaallisut, kalaallit oqaasii"\n    },\n        "kn": {\n        "name": "Kannada",\n            "nativeName": "\xe0\xb2\x95\xe0\xb2\xa8\xe0\xb3\x8d\xe0\xb2\xa8\xe0\xb2\xa1"\n    },\n        "kr": {\n        "name": "Kanuri",\n            "nativeName": "Kanuri"\n    },\n        "ks": {\n        "name": "Kashmiri",\n            "nativeName": "\xe0\xa4\x95\xe0\xa4\xb6\xe0\xa5\x8d\xe0\xa4\xae\xe0\xa5\x80\xe0\xa4\xb0\xe0\xa5\x80, \xd9\x83\xd8\xb4\xd9\x85\xd9\x8a\xd8\xb1\xd9\x8a\xe2\x80\x8e"\n    },\n        "kk": {\n        "name": "Kazakh",\n            "nativeName": "\xd2\x9a\xd0\xb0\xd0\xb7\xd0\xb0\xd2\x9b \xd1\x82\xd1\x96\xd0\xbb\xd1\x96"\n    },\n        "km": {\n        "name": "Khmer",\n            "nativeName": "\xe1\x9e\x97\xe1\x9e\xb6\xe1\x9e\x9f\xe1\x9e\xb6\xe1\x9e\x81\xe1\x9f\x92\xe1\x9e\x98\xe1\x9f\x82\xe1\x9e\x9a"\n    },\n        "ki": {\n        "name": "Kikuyu, Gikuyu",\n            "nativeName": "G\xc4\xa9k\xc5\xa9y\xc5\xa9"\n    },\n        "rw": {\n        "name": "Kinyarwanda",\n            "nativeName": "Ikinyarwanda"\n    },\n        "ky": {\n        "name": "Kirghiz, Kyrgyz",\n            "nativeName": "\xd0\xba\xd1\x8b\xd1\x80\xd0\xb3\xd1\x8b\xd0\xb7 \xd1\x82\xd0\xb8\xd0\xbb\xd0\xb8"\n    },\n        "kv": {\n        "name": "Komi",\n            "nativeName": "\xd0\xba\xd0\xbe\xd0\xbc\xd0\xb8 \xd0\xba\xd1\x8b\xd0\xb2"\n    },\n        "kg": {\n        "name": "Kongo",\n            "nativeName": "KiKongo"\n    },\n        "ko": {\n        "name": "Korean",\n            "nativeName": "\xed\x95\x9c\xea\xb5\xad\xec\x96\xb4 (\xe9\x9f\x93\xe5\x9c\x8b\xe8\xaa\x9e), \xec\xa1\xb0\xec\x84\xa0\xeb\xa7\x90 (\xe6\x9c\x9d\xe9\xae\xae\xe8\xaa\x9e)"\n    },\n        "ku": {\n        "name": "Kurdish",\n            "nativeName": "Kurd\xc3\xae, \xd9\x83\xd9\x88\xd8\xb1\xd8\xaf\xdb\x8c\xe2\x80\x8e"\n    },\n        "kj": {\n        "name": "Kwanyama, Kuanyama",\n            "nativeName": "Kuanyama"\n    },\n        "la": {\n        "name": "Latin",\n            "nativeName": "latine, lingua latina"\n    },\n        "lb": {\n        "name": "Luxembourgish, Letzeburgesch",\n            "nativeName": "L\xc3\xabtzebuergesch"\n    },\n        "lg": {\n        "name": "Luganda",\n            "nativeName": "Luganda"\n    },\n        "li": {\n        "name": "Limburgish, Limburgan, Limburger",\n            "nativeName": "Limburgs"\n    },\n        "ln": {\n        "name": "Lingala",\n            "nativeName": "Ling\xc3\xa1la"\n    },\n        "lo": {\n        "name": "Lao",\n            "nativeName": "\xe0\xba\x9e\xe0\xba\xb2\xe0\xba\xaa\xe0\xba\xb2\xe0\xba\xa5\xe0\xba\xb2\xe0\xba\xa7"\n    },\n        "lt": {\n        "name": "Lithuanian",\n            "nativeName": "lietuvi\xc5\xb3 kalba"\n    },\n        "lu": {\n        "name": "Luba-Katanga",\n            "nativeName": ""\n    },\n        "lv": {\n        "name": "Latvian",\n            "nativeName": "latvie\xc5\xa1u valoda"\n    },\n        "gv": {\n        "name": "Manx",\n            "nativeName": "Gaelg, Gailck"\n    },\n        "mk": {\n        "name": "Macedonian",\n            "nativeName": "\xd0\xbc\xd0\xb0\xd0\xba\xd0\xb5\xd0\xb4\xd0\xbe\xd0\xbd\xd1\x81\xd0\xba\xd0\xb8 \xd1\x98\xd0\xb0\xd0\xb7\xd0\xb8\xd0\xba"\n    },\n        "mg": {\n        "name": "Malagasy",\n            "nativeName": "Malagasy fiteny"\n    },\n        "ms": {\n        "name": "Malay",\n            "nativeName": "bahasa Melayu, \xd8\xa8\xd9\x87\xd8\xa7\xd8\xb3 \xd9\x85\xd9\x84\xd8\xa7\xd9\x8a\xd9\x88\xe2\x80\x8e"\n    },\n        "ml": {\n        "name": "Malayalam",\n            "nativeName": "\xe0\xb4\xae\xe0\xb4\xb2\xe0\xb4\xaf\xe0\xb4\xbe\xe0\xb4\xb3\xe0\xb4\x82"\n    },\n        "mt": {\n        "name": "Maltese",\n            "nativeName": "Malti"\n    },\n        "mi": {\n        "name": "M\xc4\x81ori",\n            "nativeName": "te reo M\xc4\x81ori"\n    },\n        "mr": {\n        "name": "Marathi (Mar\xc4\x81\xe1\xb9\xadh\xc4\xab)",\n            "nativeName": "\xe0\xa4\xae\xe0\xa4\xb0\xe0\xa4\xbe\xe0\xa4\xa0\xe0\xa5\x80"\n    },\n        "mh": {\n        "name": "Marshallese",\n            "nativeName": "Kajin M\xcc\xa7aje\xc4\xbc"\n    },\n        "mn": {\n        "name": "Mongolian",\n            "nativeName": "\xd0\xbc\xd0\xbe\xd0\xbd\xd0\xb3\xd0\xbe\xd0\xbb"\n    },\n        "na": {\n        "name": "Nauru",\n            "nativeName": "Ekakair\xc5\xa9 Naoero"\n    },\n        "nv": {\n        "name": "Navajo, Navaho",\n            "nativeName": "Din\xc3\xa9 bizaad, Din\xc3\xa9k\xca\xbceh\xc7\xb0\xc3\xad"\n    },\n        "nb": {\n        "name": "Norwegian Bokm\xc3\xa5l",\n            "nativeName": "Norsk bokm\xc3\xa5l"\n    },\n        "nd": {\n        "name": "North Ndebele",\n            "nativeName": "isiNdebele"\n    },\n        "ne": {\n        "name": "Nepali",\n            "nativeName": "\xe0\xa4\xa8\xe0\xa5\x87\xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\xb2\xe0\xa5\x80"\n    },\n        "ng": {\n        "name": "Ndonga",\n            "nativeName": "Owambo"\n    },\n        "nn": {\n        "name": "Norwegian Nynorsk",\n            "nativeName": "Norsk nynorsk"\n    },\n        "no": {\n        "name": "Norwegian",\n            "nativeName": "Norsk"\n    },\n        "ii": {\n        "name": "Nuosu",\n            "nativeName": "\xea\x86\x88\xea\x8c\xa0\xea\x92\xbf Nuosuhxop"\n    },\n        "nr": {\n        "name": "South Ndebele",\n            "nativeName": "isiNdebele"\n    },\n        "oc": {\n        "name": "Occitan",\n            "nativeName": "Occitan"\n    },\n        "oj": {\n        "name": "Ojibwe, Ojibwa",\n            "nativeName": "\xe1\x90\x8a\xe1\x93\x82\xe1\x94\x91\xe1\x93\x88\xe1\x90\xaf\xe1\x92\xa7\xe1\x90\x8e\xe1\x93\x90"\n    },\n        "cu": {\n        "name": "Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",\n            "nativeName": "\xd1\xa9\xd0\xb7\xd1\x8b\xd0\xba\xd1\x8a \xd1\x81\xd0\xbb\xd0\xbe\xd0\xb2\xd1\xa3\xd0\xbd\xd1\x8c\xd1\x81\xd0\xba\xd1\x8a"\n    },\n        "om": {\n        "name": "Oromo",\n            "nativeName": "Afaan Oromoo"\n    },\n        "or": {\n        "name": "Oriya",\n            "nativeName": "\xe0\xac\x93\xe0\xac\xa1\xe0\xac\xbc\xe0\xac\xbf\xe0\xac\x86"\n    },\n        "os": {\n        "name": "Ossetian, Ossetic",\n            "nativeName": "\xd0\xb8\xd1\x80\xd0\xbe\xd0\xbd \xc3\xa6\xd0\xb2\xd0\xb7\xd0\xb0\xd0\xb3"\n    },\n        "pa": {\n        "name": "Panjabi, Punjabi",\n            "nativeName": "\xe0\xa8\xaa\xe0\xa9\xb0\xe0\xa8\x9c\xe0\xa8\xbe\xe0\xa8\xac\xe0\xa9\x80, \xd9\xbe\xd9\x86\xd8\xac\xd8\xa7\xd8\xa8\xdb\x8c\xe2\x80\x8e"\n    },\n        "pi": {\n        "name": "P\xc4\x81li",\n            "nativeName": "\xe0\xa4\xaa\xe0\xa4\xbe\xe0\xa4\xb4\xe0\xa4\xbf"\n    },\n        "fa": {\n        "name": "Persian",\n            "nativeName": "\xd9\x81\xd8\xa7\xd8\xb1\xd8\xb3\xdb\x8c"\n    },\n        "pl": {\n        "name": "Polish",\n            "nativeName": "polski"\n    },\n        "ps": {\n        "name": "Pashto, Pushto",\n            "nativeName": "\xd9\xbe\xda\x9a\xd8\xaa\xd9\x88"\n    },\n        "pt": {\n        "name": "Portuguese",\n            "nativeName": "Portugu\xc3\xaas"\n    },\n        "qu": {\n        "name": "Quechua",\n            "nativeName": "Runa Simi, Kichwa"\n    },\n        "rm": {\n        "name": "Romansh",\n            "nativeName": "rumantsch grischun"\n    },\n        "rn": {\n        "name": "Kirundi",\n            "nativeName": "kiRundi"\n    },\n        "ro": {\n        "name": "Romanian, Moldavian, Moldovan",\n            "nativeName": "rom\xc3\xa2n\xc4\x83"\n    },\n        "ru": {\n        "name": "Russian",\n            "nativeName": "\xd1\x80\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9 \xd1\x8f\xd0\xb7\xd1\x8b\xd0\xba"\n    },\n        "sa": {\n        "name": "Sanskrit (Sa\xe1\xb9\x81sk\xe1\xb9\x9bta)",\n            "nativeName": "\xe0\xa4\xb8\xe0\xa4\x82\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\x95\xe0\xa5\x83\xe0\xa4\xa4\xe0\xa4\xae\xe0\xa5\x8d"\n    },\n        "sc": {\n        "name": "Sardinian",\n            "nativeName": "sardu"\n    },\n        "sd": {\n        "name": "Sindhi",\n            "nativeName": "\xe0\xa4\xb8\xe0\xa4\xbf\xe0\xa4\xa8\xe0\xa5\x8d\xe0\xa4\xa7\xe0\xa5\x80, \xd8\xb3\xd9\x86\xda\x8c\xd9\x8a\xd8\x8c \xd8\xb3\xd9\x86\xd8\xaf\xda\xbe\xdb\x8c\xe2\x80\x8e"\n    },\n        "se": {\n        "name": "Northern Sami",\n            "nativeName": "Davvis\xc3\xa1megiella"\n    },\n        "sm": {\n        "name": "Samoan",\n            "nativeName": "gagana faa Samoa"\n    },\n        "sg": {\n        "name": "Sango",\n            "nativeName": "y\xc3\xa2ng\xc3\xa2 t\xc3\xae s\xc3\xa4ng\xc3\xb6"\n    },\n        "sr": {\n        "name": "Serbian",\n            "nativeName": "\xd1\x81\xd1\x80\xd0\xbf\xd1\x81\xd0\xba\xd0\xb8 \xd1\x98\xd0\xb5\xd0\xb7\xd0\xb8\xd0\xba"\n    },\n        "gd": {\n        "name": "Scottish Gaelic; Gaelic",\n            "nativeName": "G\xc3\xa0idhlig"\n    },\n        "sn": {\n        "name": "Shona",\n            "nativeName": "chiShona"\n    },\n        "si": {\n        "name": "Sinhala, Sinhalese",\n            "nativeName": "\xe0\xb7\x83\xe0\xb7\x92\xe0\xb6\x82\xe0\xb7\x84\xe0\xb6\xbd"\n    },\n        "sk": {\n        "name": "Slovak",\n            "nativeName": "sloven\xc4\x8dina"\n    },\n        "sl": {\n        "name": "Slovene",\n            "nativeName": "sloven\xc5\xa1\xc4\x8dina"\n    },\n        "so": {\n        "name": "Somali",\n            "nativeName": "Soomaaliga, af Soomaali"\n    },\n        "st": {\n        "name": "Southern Sotho",\n            "nativeName": "Sesotho"\n    },\n        "es": {\n        "name": "Spanish; Castilian",\n            "nativeName": "espa\xc3\xb1ol, castellano"\n    },\n        "su": {\n        "name": "Sundanese",\n            "nativeName": "Basa Sunda"\n    },\n        "sw": {\n        "name": "Swahili",\n            "nativeName": "Kiswahili"\n    },\n        "ss": {\n        "name": "Swati",\n            "nativeName": "SiSwati"\n    },\n        "sv": {\n        "name": "Swedish",\n            "nativeName": "svenska"\n    },\n        "ta": {\n        "name": "Tamil",\n            "nativeName": "\xe0\xae\xa4\xe0\xae\xae\xe0\xae\xbf\xe0\xae\xb4\xe0\xaf\x8d"\n    },\n        "te": {\n        "name": "Telugu",\n            "nativeName": "\xe0\xb0\xa4\xe0\xb1\x86\xe0\xb0\xb2\xe0\xb1\x81\xe0\xb0\x97\xe0\xb1\x81"\n    },\n        "tg": {\n        "name": "Tajik",\n            "nativeName": "\xd1\x82\xd0\xbe\xd2\xb7\xd0\xb8\xd0\xba\xd3\xa3, to\xc4\x9fik\xc4\xab, \xd8\xaa\xd8\xa7\xd8\xac\xdb\x8c\xda\xa9\xdb\x8c\xe2\x80\x8e"\n    },\n        "th": {\n        "name": "Thai",\n            "nativeName": "\xe0\xb9\x84\xe0\xb8\x97\xe0\xb8\xa2"\n    },\n        "ti": {\n        "name": "Tigrinya",\n            "nativeName": "\xe1\x89\xb5\xe1\x8c\x8d\xe1\x88\xad\xe1\x8a\x9b"\n    },\n        "bo": {\n        "name": "Tibetan Standard, Tibetan, Central",\n            "nativeName": "\xe0\xbd\x96\xe0\xbd\xbc


Wen*_* Li 2

有一个 JS 库可以使用:语言标签

它有点重,你可以使用像这样的预定义列表。