How to get language's full name from languageCode? (e.g: from 'en' to 'English')
I'm looking for the dart equivalent of this SO question/answer:
Get language name in that language from language code
In other words I'd rather avoid going manually one by one of checking if langCode=='en' return 'English' else if langCode == 'fr' return 'French' etc...
I tried looking for possible methods that do this in Locale, Intl, and Localizations classes, to no avail.
DropdownButton<String>(
items: langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(value),
value: value,
);
}).toList(),
hint: Text(Localizations.localeOf(context).languageCode),
))
I want the DDL to display the full language name.
dart

add a comment |
I'm looking for the dart equivalent of this SO question/answer:
Get language name in that language from language code
In other words I'd rather avoid going manually one by one of checking if langCode=='en' return 'English' else if langCode == 'fr' return 'French' etc...
I tried looking for possible methods that do this in Locale, Intl, and Localizations classes, to no avail.
DropdownButton<String>(
items: langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(value),
value: value,
);
}).toList(),
hint: Text(Localizations.localeOf(context).languageCode),
))
I want the DDL to display the full language name.
dart

add a comment |
I'm looking for the dart equivalent of this SO question/answer:
Get language name in that language from language code
In other words I'd rather avoid going manually one by one of checking if langCode=='en' return 'English' else if langCode == 'fr' return 'French' etc...
I tried looking for possible methods that do this in Locale, Intl, and Localizations classes, to no avail.
DropdownButton<String>(
items: langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(value),
value: value,
);
}).toList(),
hint: Text(Localizations.localeOf(context).languageCode),
))
I want the DDL to display the full language name.
dart

I'm looking for the dart equivalent of this SO question/answer:
Get language name in that language from language code
In other words I'd rather avoid going manually one by one of checking if langCode=='en' return 'English' else if langCode == 'fr' return 'French' etc...
I tried looking for possible methods that do this in Locale, Intl, and Localizations classes, to no avail.
DropdownButton<String>(
items: langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(value),
value: value,
);
}).toList(),
hint: Text(Localizations.localeOf(context).languageCode),
))
I want the DDL to display the full language name.
dart

dart

asked Jan 2 at 0:14
Agon EousAgon Eous
991211
991211
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
language class
class LanguageLocal {
final isoLangs = {
"ab": {"name": "Abkhaz", "nativeName": "аҧсуа"},
"aa": {"name": "Afar", "nativeName": "Afaraf"},
"af": {"name": "Afrikaans", "nativeName": "Afrikaans"},
"ak": {"name": "Akan", "nativeName": "Akan"},
"sq": {"name": "Albanian", "nativeName": "Shqip"},
"am": {"name": "Amharic", "nativeName": "አማርኛ"},
"ar": {"name": "Arabic", "nativeName": "العربية"},
"an": {"name": "Aragonese", "nativeName": "Aragonés"},
"hy": {"name": "Armenian", "nativeName": "Հայերեն"},
"as": {"name": "Assamese", "nativeName": "অসমীয়া"},
"av": {"name": "Avaric", "nativeName": "авар мацӀ, магӀарул мацӀ"},
"ae": {"name": "Avestan", "nativeName": "avesta"},
"ay": {"name": "Aymara", "nativeName": "aymar aru"},
"az": {"name": "Azerbaijani", "nativeName": "azərbaycan dili"},
"bm": {"name": "Bambara", "nativeName": "bamanankan"},
"ba": {"name": "Bashkir", "nativeName": "башҡорт теле"},
"eu": {"name": "Basque", "nativeName": "euskara, euskera"},
"be": {"name": "Belarusian", "nativeName": "Беларуская"},
"bn": {"name": "Bengali", "nativeName": "বাংলা"},
"bh": {"name": "Bihari", "nativeName": "भोजपुरी"},
"bi": {"name": "Bislama", "nativeName": "Bislama"},
"bs": {"name": "Bosnian", "nativeName": "bosanski jezik"},
"br": {"name": "Breton", "nativeName": "brezhoneg"},
"bg": {"name": "Bulgarian", "nativeName": "български език"},
"my": {"name": "Burmese", "nativeName": "ဗမာစာ"},
"ca": {"name": "Catalan; Valencian", "nativeName": "Català"},
"ch": {"name": "Chamorro", "nativeName": "Chamoru"},
"ce": {"name": "Chechen", "nativeName": "нохчийн мотт"},
"ny": {
"name": "Chichewa; Chewa; Nyanja",
"nativeName": "chiCheŵa, chinyanja"
},
"zh": {"name": "Chinese", "nativeName": "中文 (Zhōngwén), 汉语, 漢語"},
"cv": {"name": "Chuvash", "nativeName": "чӑваш чӗлхи"},
"kw": {"name": "Cornish", "nativeName": "Kernewek"},
"co": {"name": "Corsican", "nativeName": "corsu, lingua corsa"},
"cr": {"name": "Cree", "nativeName": "ᓀᐦᐃᔭᐍᐏᐣ"},
"hr": {"name": "Croatian", "nativeName": "hrvatski"},
"cs": {"name": "Czech", "nativeName": "česky, čeština"},
"da": {"name": "Danish", "nativeName": "dansk"},
"dv": {"name": "Divehi; Dhivehi; Maldivian;", "nativeName": "ދިވެހި"},
"nl": {"name": "Dutch", "nativeName": "Nederlands, Vlaams"},
"en": {"name": "English", "nativeName": "English"},
"eo": {"name": "Esperanto", "nativeName": "Esperanto"},
"et": {"name": "Estonian", "nativeName": "eesti, eesti keel"},
"ee": {"name": "Ewe", "nativeName": "Eʋegbe"},
"fo": {"name": "Faroese", "nativeName": "føroyskt"},
"fj": {"name": "Fijian", "nativeName": "vosa Vakaviti"},
"fi": {"name": "Finnish", "nativeName": "suomi, suomen kieli"},
"fr": {"name": "French", "nativeName": "français, langue française"},
"ff": {
"name": "Fula; Fulah; Pulaar; Pular",
"nativeName": "Fulfulde, Pulaar, Pular"
},
"gl": {"name": "Galician", "nativeName": "Galego"},
"ka": {"name": "Georgian", "nativeName": "ქართული"},
"de": {"name": "German", "nativeName": "Deutsch"},
"el": {"name": "Greek, Modern", "nativeName": "Ελληνικά"},
"gn": {"name": "Guaraní", "nativeName": "Avañeẽ"},
"gu": {"name": "Gujarati", "nativeName": "ગુજરાતી"},
"ht": {"name": "Haitian; Haitian Creole", "nativeName": "Kreyòl ayisyen"},
"ha": {"name": "Hausa", "nativeName": "Hausa, هَوُسَ"},
"he": {"name": "Hebrew (modern)", "nativeName": "עברית"},
"hz": {"name": "Herero", "nativeName": "Otjiherero"},
"hi": {"name": "Hindi", "nativeName": "हिन्दी, हिंदी"},
"ho": {"name": "Hiri Motu", "nativeName": "Hiri Motu"},
"hu": {"name": "Hungarian", "nativeName": "Magyar"},
"ia": {"name": "Interlingua", "nativeName": "Interlingua"},
"id": {"name": "Indonesian", "nativeName": "Bahasa Indonesia"},
"ie": {
"name": "Interlingue",
"nativeName": "Originally called Occidental; then Interlingue after WWII"
},
"ga": {"name": "Irish", "nativeName": "Gaeilge"},
"ig": {"name": "Igbo", "nativeName": "Asụsụ Igbo"},
"ik": {"name": "Inupiaq", "nativeName": "Iñupiaq, Iñupiatun"},
"io": {"name": "Ido", "nativeName": "Ido"},
"is": {"name": "Icelandic", "nativeName": "Íslenska"},
"it": {"name": "Italian", "nativeName": "Italiano"},
"iu": {"name": "Inuktitut", "nativeName": "ᐃᓄᒃᑎᑐᑦ"},
"ja": {"name": "Japanese", "nativeName": "日本語 (にほんご/にっぽんご)"},
"jv": {"name": "Javanese", "nativeName": "basa Jawa"},
"kl": {
"name": "Kalaallisut, Greenlandic",
"nativeName": "kalaallisut, kalaallit oqaasii"
},
"kn": {"name": "Kannada", "nativeName": "ಕನ್ನಡ"},
"kr": {"name": "Kanuri", "nativeName": "Kanuri"},
"ks": {"name": "Kashmiri", "nativeName": "कश्मीरी, كشميري"},
"kk": {"name": "Kazakh", "nativeName": "Қазақ тілі"},
"km": {"name": "Khmer", "nativeName": "ភាសាខ្មែរ"},
"ki": {"name": "Kikuyu, Gikuyu", "nativeName": "Gĩkũyũ"},
"rw": {"name": "Kinyarwanda", "nativeName": "Ikinyarwanda"},
"ky": {"name": "Kirghiz, Kyrgyz", "nativeName": "кыргыз тили"},
"kv": {"name": "Komi", "nativeName": "коми кыв"},
"kg": {"name": "Kongo", "nativeName": "KiKongo"},
"ko": {"name": "Korean", "nativeName": "한국어 (韓國語), 조선말 (朝鮮語)"},
"ku": {"name": "Kurdish", "nativeName": "Kurdî, كوردی"},
"kj": {"name": "Kwanyama, Kuanyama", "nativeName": "Kuanyama"},
"la": {"name": "Latin", "nativeName": "latine, lingua latina"},
"lb": {
"name": "Luxembourgish, Letzeburgesch",
"nativeName": "Lëtzebuergesch"
},
"lg": {"name": "Luganda", "nativeName": "Luganda"},
"li": {
"name": "Limburgish, Limburgan, Limburger",
"nativeName": "Limburgs"
},
"ln": {"name": "Lingala", "nativeName": "Lingála"},
"lo": {"name": "Lao", "nativeName": "ພາສາລາວ"},
"lt": {"name": "Lithuanian", "nativeName": "lietuvių kalba"},
"lu": {"name": "Luba-Katanga", "nativeName": ""},
"lv": {"name": "Latvian", "nativeName": "latviešu valoda"},
"gv": {"name": "Manx", "nativeName": "Gaelg, Gailck"},
"mk": {"name": "Macedonian", "nativeName": "македонски јазик"},
"mg": {"name": "Malagasy", "nativeName": "Malagasy fiteny"},
"ms": {"name": "Malay", "nativeName": "bahasa Melayu, بهاس ملايو"},
"ml": {"name": "Malayalam", "nativeName": "മലയാളം"},
"mt": {"name": "Maltese", "nativeName": "Malti"},
"mi": {"name": "Māori", "nativeName": "te reo Māori"},
"mr": {"name": "Marathi (Marāṭhī)", "nativeName": "मराठी"},
"mh": {"name": "Marshallese", "nativeName": "Kajin M̧ajeļ"},
"mn": {"name": "Mongolian", "nativeName": "монгол"},
"na": {"name": "Nauru", "nativeName": "Ekakairũ Naoero"},
"nv": {"name": "Navajo, Navaho", "nativeName": "Diné bizaad, Dinékʼehǰí"},
"nb": {"name": "Norwegian Bokmål", "nativeName": "Norsk bokmål"},
"nd": {"name": "North Ndebele", "nativeName": "isiNdebele"},
"ne": {"name": "Nepali", "nativeName": "नेपाली"},
"ng": {"name": "Ndonga", "nativeName": "Owambo"},
"nn": {"name": "Norwegian Nynorsk", "nativeName": "Norsk nynorsk"},
"no": {"name": "Norwegian", "nativeName": "Norsk"},
"ii": {"name": "Nuosu", "nativeName": "ꆈꌠ꒿ Nuosuhxop"},
"nr": {"name": "South Ndebele", "nativeName": "isiNdebele"},
"oc": {"name": "Occitan", "nativeName": "Occitan"},
"oj": {"name": "Ojibwe, Ojibwa", "nativeName": "ᐊᓂᔑᓈᐯᒧᐎᓐ"},
"cu": {
"name":
"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
"nativeName": "ѩзыкъ словѣньскъ"
},
"om": {"name": "Oromo", "nativeName": "Afaan Oromoo"},
"or": {"name": "Oriya", "nativeName": "ଓଡ଼ିଆ"},
"os": {"name": "Ossetian, Ossetic", "nativeName": "ирон æвзаг"},
"pa": {"name": "Panjabi, Punjabi", "nativeName": "ਪੰਜਾਬੀ, پنجابی"},
"pi": {"name": "Pāli", "nativeName": "पाऴि"},
"fa": {"name": "Persian", "nativeName": "فارسی"},
"pl": {"name": "Polish", "nativeName": "polski"},
"ps": {"name": "Pashto, Pushto", "nativeName": "پښتو"},
"pt": {"name": "Portuguese", "nativeName": "Português"},
"qu": {"name": "Quechua", "nativeName": "Runa Simi, Kichwa"},
"rm": {"name": "Romansh", "nativeName": "rumantsch grischun"},
"rn": {"name": "Kirundi", "nativeName": "kiRundi"},
"ro": {"name": "Romanian, Moldavian, Moldovan", "nativeName": "română"},
"ru": {"name": "Russian", "nativeName": "русский язык"},
"sa": {"name": "Sanskrit (Saṁskṛta)", "nativeName": "संस्कृतम्"},
"sc": {"name": "Sardinian", "nativeName": "sardu"},
"sd": {"name": "Sindhi", "nativeName": "सिन्धी, سنڌي، سندھی"},
"se": {"name": "Northern Sami", "nativeName": "Davvisámegiella"},
"sm": {"name": "Samoan", "nativeName": "gagana faa Samoa"},
"sg": {"name": "Sango", "nativeName": "yângâ tî sängö"},
"sr": {"name": "Serbian", "nativeName": "српски језик"},
"gd": {"name": "Scottish Gaelic; Gaelic", "nativeName": "Gàidhlig"},
"sn": {"name": "Shona", "nativeName": "chiShona"},
"si": {"name": "Sinhala, Sinhalese", "nativeName": "සිංහල"},
"sk": {"name": "Slovak", "nativeName": "slovenčina"},
"sl": {"name": "Slovene", "nativeName": "slovenščina"},
"so": {"name": "Somali", "nativeName": "Soomaaliga, af Soomaali"},
"st": {"name": "Southern Sotho", "nativeName": "Sesotho"},
"es": {"name": "Spanish; Castilian", "nativeName": "español, castellano"},
"su": {"name": "Sundanese", "nativeName": "Basa Sunda"},
"sw": {"name": "Swahili", "nativeName": "Kiswahili"},
"ss": {"name": "Swati", "nativeName": "SiSwati"},
"sv": {"name": "Swedish", "nativeName": "svenska"},
"ta": {"name": "Tamil", "nativeName": "தமிழ்"},
"te": {"name": "Telugu", "nativeName": "తెలుగు"},
"tg": {"name": "Tajik", "nativeName": "тоҷикӣ, toğikī, تاجیکی"},
"th": {"name": "Thai", "nativeName": "ไทย"},
"ti": {"name": "Tigrinya", "nativeName": "ትግርኛ"},
"bo": {
"name": "Tibetan Standard, Tibetan, Central",
"nativeName": "བོད་ཡིག"
},
"tk": {"name": "Turkmen", "nativeName": "Türkmen, Түркмен"},
"tl": {"name": "Tagalog", "nativeName": "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},
"tn": {"name": "Tswana", "nativeName": "Setswana"},
"to": {"name": "Tonga (Tonga Islands)", "nativeName": "faka Tonga"},
"tr": {"name": "Turkish", "nativeName": "Türkçe"},
"ts": {"name": "Tsonga", "nativeName": "Xitsonga"},
"tt": {"name": "Tatar", "nativeName": "татарча, tatarça, تاتارچا"},
"tw": {"name": "Twi", "nativeName": "Twi"},
"ty": {"name": "Tahitian", "nativeName": "Reo Tahiti"},
"ug": {"name": "Uighur, Uyghur", "nativeName": "Uyƣurqə, ئۇيغۇرچە"},
"uk": {"name": "Ukrainian", "nativeName": "українська"},
"ur": {"name": "Urdu", "nativeName": "اردو"},
"uz": {"name": "Uzbek", "nativeName": "zbek, Ўзбек, أۇزبېك"},
"ve": {"name": "Venda", "nativeName": "Tshivenḓa"},
"vi": {"name": "Vietnamese", "nativeName": "Tiếng Việt"},
"vo": {"name": "Volapük", "nativeName": "Volapük"},
"wa": {"name": "Walloon", "nativeName": "Walon"},
"cy": {"name": "Welsh", "nativeName": "Cymraeg"},
"wo": {"name": "Wolof", "nativeName": "Wollof"},
"fy": {"name": "Western Frisian", "nativeName": "Frysk"},
"xh": {"name": "Xhosa", "nativeName": "isiXhosa"},
"yi": {"name": "Yiddish", "nativeName": "ייִדיש"},
"yo": {"name": "Yoruba", "nativeName": "Yorùbá"},
"za": {"name": "Zhuang, Chuang", "nativeName": "Saɯ cueŋƅ, Saw cuengh"}
};
getDisplayLanguage(key) {
if (isoLangs.containsKey(key)) {
return isoLangs[key];
} else {
throw Exception("Language key incorrect");
}
}
}
Language List
Widget
class LanguageWidget extends StatefulWidget {
@override
LanguageWidgetState createState() {
return new LanguageWidgetState();
}
}
class LanguageWidgetState extends State<LanguageWidget> {
var language = LanguageLocal();
var langCodesList = ["ar", "en", "fr"];
List<DropdownMenuItem<String>> list;
String _selectedLanguage = "ar";
@override
void initState() {
list = langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(language.getDisplayLanguage(value)["nativeName"]),
value: value,
);
}).toList();
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
child: new Container(
child: Center(
child: DropdownButton<String>(
value: _selectedLanguage,
items: list,
hint: Text(language.getDisplayLanguage(
Localizations.localeOf(context).languageCode)["name"]),
onChanged: (String value) {
print(value);
setState(() {
_selectedLanguage = value;
});
},
)),
),
);
}
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53999971%2fhow-to-get-languages-full-name-from-languagecode-e-g-from-en-to-english%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
language class
class LanguageLocal {
final isoLangs = {
"ab": {"name": "Abkhaz", "nativeName": "аҧсуа"},
"aa": {"name": "Afar", "nativeName": "Afaraf"},
"af": {"name": "Afrikaans", "nativeName": "Afrikaans"},
"ak": {"name": "Akan", "nativeName": "Akan"},
"sq": {"name": "Albanian", "nativeName": "Shqip"},
"am": {"name": "Amharic", "nativeName": "አማርኛ"},
"ar": {"name": "Arabic", "nativeName": "العربية"},
"an": {"name": "Aragonese", "nativeName": "Aragonés"},
"hy": {"name": "Armenian", "nativeName": "Հայերեն"},
"as": {"name": "Assamese", "nativeName": "অসমীয়া"},
"av": {"name": "Avaric", "nativeName": "авар мацӀ, магӀарул мацӀ"},
"ae": {"name": "Avestan", "nativeName": "avesta"},
"ay": {"name": "Aymara", "nativeName": "aymar aru"},
"az": {"name": "Azerbaijani", "nativeName": "azərbaycan dili"},
"bm": {"name": "Bambara", "nativeName": "bamanankan"},
"ba": {"name": "Bashkir", "nativeName": "башҡорт теле"},
"eu": {"name": "Basque", "nativeName": "euskara, euskera"},
"be": {"name": "Belarusian", "nativeName": "Беларуская"},
"bn": {"name": "Bengali", "nativeName": "বাংলা"},
"bh": {"name": "Bihari", "nativeName": "भोजपुरी"},
"bi": {"name": "Bislama", "nativeName": "Bislama"},
"bs": {"name": "Bosnian", "nativeName": "bosanski jezik"},
"br": {"name": "Breton", "nativeName": "brezhoneg"},
"bg": {"name": "Bulgarian", "nativeName": "български език"},
"my": {"name": "Burmese", "nativeName": "ဗမာစာ"},
"ca": {"name": "Catalan; Valencian", "nativeName": "Català"},
"ch": {"name": "Chamorro", "nativeName": "Chamoru"},
"ce": {"name": "Chechen", "nativeName": "нохчийн мотт"},
"ny": {
"name": "Chichewa; Chewa; Nyanja",
"nativeName": "chiCheŵa, chinyanja"
},
"zh": {"name": "Chinese", "nativeName": "中文 (Zhōngwén), 汉语, 漢語"},
"cv": {"name": "Chuvash", "nativeName": "чӑваш чӗлхи"},
"kw": {"name": "Cornish", "nativeName": "Kernewek"},
"co": {"name": "Corsican", "nativeName": "corsu, lingua corsa"},
"cr": {"name": "Cree", "nativeName": "ᓀᐦᐃᔭᐍᐏᐣ"},
"hr": {"name": "Croatian", "nativeName": "hrvatski"},
"cs": {"name": "Czech", "nativeName": "česky, čeština"},
"da": {"name": "Danish", "nativeName": "dansk"},
"dv": {"name": "Divehi; Dhivehi; Maldivian;", "nativeName": "ދިވެހި"},
"nl": {"name": "Dutch", "nativeName": "Nederlands, Vlaams"},
"en": {"name": "English", "nativeName": "English"},
"eo": {"name": "Esperanto", "nativeName": "Esperanto"},
"et": {"name": "Estonian", "nativeName": "eesti, eesti keel"},
"ee": {"name": "Ewe", "nativeName": "Eʋegbe"},
"fo": {"name": "Faroese", "nativeName": "føroyskt"},
"fj": {"name": "Fijian", "nativeName": "vosa Vakaviti"},
"fi": {"name": "Finnish", "nativeName": "suomi, suomen kieli"},
"fr": {"name": "French", "nativeName": "français, langue française"},
"ff": {
"name": "Fula; Fulah; Pulaar; Pular",
"nativeName": "Fulfulde, Pulaar, Pular"
},
"gl": {"name": "Galician", "nativeName": "Galego"},
"ka": {"name": "Georgian", "nativeName": "ქართული"},
"de": {"name": "German", "nativeName": "Deutsch"},
"el": {"name": "Greek, Modern", "nativeName": "Ελληνικά"},
"gn": {"name": "Guaraní", "nativeName": "Avañeẽ"},
"gu": {"name": "Gujarati", "nativeName": "ગુજરાતી"},
"ht": {"name": "Haitian; Haitian Creole", "nativeName": "Kreyòl ayisyen"},
"ha": {"name": "Hausa", "nativeName": "Hausa, هَوُسَ"},
"he": {"name": "Hebrew (modern)", "nativeName": "עברית"},
"hz": {"name": "Herero", "nativeName": "Otjiherero"},
"hi": {"name": "Hindi", "nativeName": "हिन्दी, हिंदी"},
"ho": {"name": "Hiri Motu", "nativeName": "Hiri Motu"},
"hu": {"name": "Hungarian", "nativeName": "Magyar"},
"ia": {"name": "Interlingua", "nativeName": "Interlingua"},
"id": {"name": "Indonesian", "nativeName": "Bahasa Indonesia"},
"ie": {
"name": "Interlingue",
"nativeName": "Originally called Occidental; then Interlingue after WWII"
},
"ga": {"name": "Irish", "nativeName": "Gaeilge"},
"ig": {"name": "Igbo", "nativeName": "Asụsụ Igbo"},
"ik": {"name": "Inupiaq", "nativeName": "Iñupiaq, Iñupiatun"},
"io": {"name": "Ido", "nativeName": "Ido"},
"is": {"name": "Icelandic", "nativeName": "Íslenska"},
"it": {"name": "Italian", "nativeName": "Italiano"},
"iu": {"name": "Inuktitut", "nativeName": "ᐃᓄᒃᑎᑐᑦ"},
"ja": {"name": "Japanese", "nativeName": "日本語 (にほんご/にっぽんご)"},
"jv": {"name": "Javanese", "nativeName": "basa Jawa"},
"kl": {
"name": "Kalaallisut, Greenlandic",
"nativeName": "kalaallisut, kalaallit oqaasii"
},
"kn": {"name": "Kannada", "nativeName": "ಕನ್ನಡ"},
"kr": {"name": "Kanuri", "nativeName": "Kanuri"},
"ks": {"name": "Kashmiri", "nativeName": "कश्मीरी, كشميري"},
"kk": {"name": "Kazakh", "nativeName": "Қазақ тілі"},
"km": {"name": "Khmer", "nativeName": "ភាសាខ្មែរ"},
"ki": {"name": "Kikuyu, Gikuyu", "nativeName": "Gĩkũyũ"},
"rw": {"name": "Kinyarwanda", "nativeName": "Ikinyarwanda"},
"ky": {"name": "Kirghiz, Kyrgyz", "nativeName": "кыргыз тили"},
"kv": {"name": "Komi", "nativeName": "коми кыв"},
"kg": {"name": "Kongo", "nativeName": "KiKongo"},
"ko": {"name": "Korean", "nativeName": "한국어 (韓國語), 조선말 (朝鮮語)"},
"ku": {"name": "Kurdish", "nativeName": "Kurdî, كوردی"},
"kj": {"name": "Kwanyama, Kuanyama", "nativeName": "Kuanyama"},
"la": {"name": "Latin", "nativeName": "latine, lingua latina"},
"lb": {
"name": "Luxembourgish, Letzeburgesch",
"nativeName": "Lëtzebuergesch"
},
"lg": {"name": "Luganda", "nativeName": "Luganda"},
"li": {
"name": "Limburgish, Limburgan, Limburger",
"nativeName": "Limburgs"
},
"ln": {"name": "Lingala", "nativeName": "Lingála"},
"lo": {"name": "Lao", "nativeName": "ພາສາລາວ"},
"lt": {"name": "Lithuanian", "nativeName": "lietuvių kalba"},
"lu": {"name": "Luba-Katanga", "nativeName": ""},
"lv": {"name": "Latvian", "nativeName": "latviešu valoda"},
"gv": {"name": "Manx", "nativeName": "Gaelg, Gailck"},
"mk": {"name": "Macedonian", "nativeName": "македонски јазик"},
"mg": {"name": "Malagasy", "nativeName": "Malagasy fiteny"},
"ms": {"name": "Malay", "nativeName": "bahasa Melayu, بهاس ملايو"},
"ml": {"name": "Malayalam", "nativeName": "മലയാളം"},
"mt": {"name": "Maltese", "nativeName": "Malti"},
"mi": {"name": "Māori", "nativeName": "te reo Māori"},
"mr": {"name": "Marathi (Marāṭhī)", "nativeName": "मराठी"},
"mh": {"name": "Marshallese", "nativeName": "Kajin M̧ajeļ"},
"mn": {"name": "Mongolian", "nativeName": "монгол"},
"na": {"name": "Nauru", "nativeName": "Ekakairũ Naoero"},
"nv": {"name": "Navajo, Navaho", "nativeName": "Diné bizaad, Dinékʼehǰí"},
"nb": {"name": "Norwegian Bokmål", "nativeName": "Norsk bokmål"},
"nd": {"name": "North Ndebele", "nativeName": "isiNdebele"},
"ne": {"name": "Nepali", "nativeName": "नेपाली"},
"ng": {"name": "Ndonga", "nativeName": "Owambo"},
"nn": {"name": "Norwegian Nynorsk", "nativeName": "Norsk nynorsk"},
"no": {"name": "Norwegian", "nativeName": "Norsk"},
"ii": {"name": "Nuosu", "nativeName": "ꆈꌠ꒿ Nuosuhxop"},
"nr": {"name": "South Ndebele", "nativeName": "isiNdebele"},
"oc": {"name": "Occitan", "nativeName": "Occitan"},
"oj": {"name": "Ojibwe, Ojibwa", "nativeName": "ᐊᓂᔑᓈᐯᒧᐎᓐ"},
"cu": {
"name":
"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
"nativeName": "ѩзыкъ словѣньскъ"
},
"om": {"name": "Oromo", "nativeName": "Afaan Oromoo"},
"or": {"name": "Oriya", "nativeName": "ଓଡ଼ିଆ"},
"os": {"name": "Ossetian, Ossetic", "nativeName": "ирон æвзаг"},
"pa": {"name": "Panjabi, Punjabi", "nativeName": "ਪੰਜਾਬੀ, پنجابی"},
"pi": {"name": "Pāli", "nativeName": "पाऴि"},
"fa": {"name": "Persian", "nativeName": "فارسی"},
"pl": {"name": "Polish", "nativeName": "polski"},
"ps": {"name": "Pashto, Pushto", "nativeName": "پښتو"},
"pt": {"name": "Portuguese", "nativeName": "Português"},
"qu": {"name": "Quechua", "nativeName": "Runa Simi, Kichwa"},
"rm": {"name": "Romansh", "nativeName": "rumantsch grischun"},
"rn": {"name": "Kirundi", "nativeName": "kiRundi"},
"ro": {"name": "Romanian, Moldavian, Moldovan", "nativeName": "română"},
"ru": {"name": "Russian", "nativeName": "русский язык"},
"sa": {"name": "Sanskrit (Saṁskṛta)", "nativeName": "संस्कृतम्"},
"sc": {"name": "Sardinian", "nativeName": "sardu"},
"sd": {"name": "Sindhi", "nativeName": "सिन्धी, سنڌي، سندھی"},
"se": {"name": "Northern Sami", "nativeName": "Davvisámegiella"},
"sm": {"name": "Samoan", "nativeName": "gagana faa Samoa"},
"sg": {"name": "Sango", "nativeName": "yângâ tî sängö"},
"sr": {"name": "Serbian", "nativeName": "српски језик"},
"gd": {"name": "Scottish Gaelic; Gaelic", "nativeName": "Gàidhlig"},
"sn": {"name": "Shona", "nativeName": "chiShona"},
"si": {"name": "Sinhala, Sinhalese", "nativeName": "සිංහල"},
"sk": {"name": "Slovak", "nativeName": "slovenčina"},
"sl": {"name": "Slovene", "nativeName": "slovenščina"},
"so": {"name": "Somali", "nativeName": "Soomaaliga, af Soomaali"},
"st": {"name": "Southern Sotho", "nativeName": "Sesotho"},
"es": {"name": "Spanish; Castilian", "nativeName": "español, castellano"},
"su": {"name": "Sundanese", "nativeName": "Basa Sunda"},
"sw": {"name": "Swahili", "nativeName": "Kiswahili"},
"ss": {"name": "Swati", "nativeName": "SiSwati"},
"sv": {"name": "Swedish", "nativeName": "svenska"},
"ta": {"name": "Tamil", "nativeName": "தமிழ்"},
"te": {"name": "Telugu", "nativeName": "తెలుగు"},
"tg": {"name": "Tajik", "nativeName": "тоҷикӣ, toğikī, تاجیکی"},
"th": {"name": "Thai", "nativeName": "ไทย"},
"ti": {"name": "Tigrinya", "nativeName": "ትግርኛ"},
"bo": {
"name": "Tibetan Standard, Tibetan, Central",
"nativeName": "བོད་ཡིག"
},
"tk": {"name": "Turkmen", "nativeName": "Türkmen, Түркмен"},
"tl": {"name": "Tagalog", "nativeName": "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},
"tn": {"name": "Tswana", "nativeName": "Setswana"},
"to": {"name": "Tonga (Tonga Islands)", "nativeName": "faka Tonga"},
"tr": {"name": "Turkish", "nativeName": "Türkçe"},
"ts": {"name": "Tsonga", "nativeName": "Xitsonga"},
"tt": {"name": "Tatar", "nativeName": "татарча, tatarça, تاتارچا"},
"tw": {"name": "Twi", "nativeName": "Twi"},
"ty": {"name": "Tahitian", "nativeName": "Reo Tahiti"},
"ug": {"name": "Uighur, Uyghur", "nativeName": "Uyƣurqə, ئۇيغۇرچە"},
"uk": {"name": "Ukrainian", "nativeName": "українська"},
"ur": {"name": "Urdu", "nativeName": "اردو"},
"uz": {"name": "Uzbek", "nativeName": "zbek, Ўзбек, أۇزبېك"},
"ve": {"name": "Venda", "nativeName": "Tshivenḓa"},
"vi": {"name": "Vietnamese", "nativeName": "Tiếng Việt"},
"vo": {"name": "Volapük", "nativeName": "Volapük"},
"wa": {"name": "Walloon", "nativeName": "Walon"},
"cy": {"name": "Welsh", "nativeName": "Cymraeg"},
"wo": {"name": "Wolof", "nativeName": "Wollof"},
"fy": {"name": "Western Frisian", "nativeName": "Frysk"},
"xh": {"name": "Xhosa", "nativeName": "isiXhosa"},
"yi": {"name": "Yiddish", "nativeName": "ייִדיש"},
"yo": {"name": "Yoruba", "nativeName": "Yorùbá"},
"za": {"name": "Zhuang, Chuang", "nativeName": "Saɯ cueŋƅ, Saw cuengh"}
};
getDisplayLanguage(key) {
if (isoLangs.containsKey(key)) {
return isoLangs[key];
} else {
throw Exception("Language key incorrect");
}
}
}
Language List
Widget
class LanguageWidget extends StatefulWidget {
@override
LanguageWidgetState createState() {
return new LanguageWidgetState();
}
}
class LanguageWidgetState extends State<LanguageWidget> {
var language = LanguageLocal();
var langCodesList = ["ar", "en", "fr"];
List<DropdownMenuItem<String>> list;
String _selectedLanguage = "ar";
@override
void initState() {
list = langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(language.getDisplayLanguage(value)["nativeName"]),
value: value,
);
}).toList();
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
child: new Container(
child: Center(
child: DropdownButton<String>(
value: _selectedLanguage,
items: list,
hint: Text(language.getDisplayLanguage(
Localizations.localeOf(context).languageCode)["name"]),
onChanged: (String value) {
print(value);
setState(() {
_selectedLanguage = value;
});
},
)),
),
);
}
}
add a comment |
language class
class LanguageLocal {
final isoLangs = {
"ab": {"name": "Abkhaz", "nativeName": "аҧсуа"},
"aa": {"name": "Afar", "nativeName": "Afaraf"},
"af": {"name": "Afrikaans", "nativeName": "Afrikaans"},
"ak": {"name": "Akan", "nativeName": "Akan"},
"sq": {"name": "Albanian", "nativeName": "Shqip"},
"am": {"name": "Amharic", "nativeName": "አማርኛ"},
"ar": {"name": "Arabic", "nativeName": "العربية"},
"an": {"name": "Aragonese", "nativeName": "Aragonés"},
"hy": {"name": "Armenian", "nativeName": "Հայերեն"},
"as": {"name": "Assamese", "nativeName": "অসমীয়া"},
"av": {"name": "Avaric", "nativeName": "авар мацӀ, магӀарул мацӀ"},
"ae": {"name": "Avestan", "nativeName": "avesta"},
"ay": {"name": "Aymara", "nativeName": "aymar aru"},
"az": {"name": "Azerbaijani", "nativeName": "azərbaycan dili"},
"bm": {"name": "Bambara", "nativeName": "bamanankan"},
"ba": {"name": "Bashkir", "nativeName": "башҡорт теле"},
"eu": {"name": "Basque", "nativeName": "euskara, euskera"},
"be": {"name": "Belarusian", "nativeName": "Беларуская"},
"bn": {"name": "Bengali", "nativeName": "বাংলা"},
"bh": {"name": "Bihari", "nativeName": "भोजपुरी"},
"bi": {"name": "Bislama", "nativeName": "Bislama"},
"bs": {"name": "Bosnian", "nativeName": "bosanski jezik"},
"br": {"name": "Breton", "nativeName": "brezhoneg"},
"bg": {"name": "Bulgarian", "nativeName": "български език"},
"my": {"name": "Burmese", "nativeName": "ဗမာစာ"},
"ca": {"name": "Catalan; Valencian", "nativeName": "Català"},
"ch": {"name": "Chamorro", "nativeName": "Chamoru"},
"ce": {"name": "Chechen", "nativeName": "нохчийн мотт"},
"ny": {
"name": "Chichewa; Chewa; Nyanja",
"nativeName": "chiCheŵa, chinyanja"
},
"zh": {"name": "Chinese", "nativeName": "中文 (Zhōngwén), 汉语, 漢語"},
"cv": {"name": "Chuvash", "nativeName": "чӑваш чӗлхи"},
"kw": {"name": "Cornish", "nativeName": "Kernewek"},
"co": {"name": "Corsican", "nativeName": "corsu, lingua corsa"},
"cr": {"name": "Cree", "nativeName": "ᓀᐦᐃᔭᐍᐏᐣ"},
"hr": {"name": "Croatian", "nativeName": "hrvatski"},
"cs": {"name": "Czech", "nativeName": "česky, čeština"},
"da": {"name": "Danish", "nativeName": "dansk"},
"dv": {"name": "Divehi; Dhivehi; Maldivian;", "nativeName": "ދިވެހި"},
"nl": {"name": "Dutch", "nativeName": "Nederlands, Vlaams"},
"en": {"name": "English", "nativeName": "English"},
"eo": {"name": "Esperanto", "nativeName": "Esperanto"},
"et": {"name": "Estonian", "nativeName": "eesti, eesti keel"},
"ee": {"name": "Ewe", "nativeName": "Eʋegbe"},
"fo": {"name": "Faroese", "nativeName": "føroyskt"},
"fj": {"name": "Fijian", "nativeName": "vosa Vakaviti"},
"fi": {"name": "Finnish", "nativeName": "suomi, suomen kieli"},
"fr": {"name": "French", "nativeName": "français, langue française"},
"ff": {
"name": "Fula; Fulah; Pulaar; Pular",
"nativeName": "Fulfulde, Pulaar, Pular"
},
"gl": {"name": "Galician", "nativeName": "Galego"},
"ka": {"name": "Georgian", "nativeName": "ქართული"},
"de": {"name": "German", "nativeName": "Deutsch"},
"el": {"name": "Greek, Modern", "nativeName": "Ελληνικά"},
"gn": {"name": "Guaraní", "nativeName": "Avañeẽ"},
"gu": {"name": "Gujarati", "nativeName": "ગુજરાતી"},
"ht": {"name": "Haitian; Haitian Creole", "nativeName": "Kreyòl ayisyen"},
"ha": {"name": "Hausa", "nativeName": "Hausa, هَوُسَ"},
"he": {"name": "Hebrew (modern)", "nativeName": "עברית"},
"hz": {"name": "Herero", "nativeName": "Otjiherero"},
"hi": {"name": "Hindi", "nativeName": "हिन्दी, हिंदी"},
"ho": {"name": "Hiri Motu", "nativeName": "Hiri Motu"},
"hu": {"name": "Hungarian", "nativeName": "Magyar"},
"ia": {"name": "Interlingua", "nativeName": "Interlingua"},
"id": {"name": "Indonesian", "nativeName": "Bahasa Indonesia"},
"ie": {
"name": "Interlingue",
"nativeName": "Originally called Occidental; then Interlingue after WWII"
},
"ga": {"name": "Irish", "nativeName": "Gaeilge"},
"ig": {"name": "Igbo", "nativeName": "Asụsụ Igbo"},
"ik": {"name": "Inupiaq", "nativeName": "Iñupiaq, Iñupiatun"},
"io": {"name": "Ido", "nativeName": "Ido"},
"is": {"name": "Icelandic", "nativeName": "Íslenska"},
"it": {"name": "Italian", "nativeName": "Italiano"},
"iu": {"name": "Inuktitut", "nativeName": "ᐃᓄᒃᑎᑐᑦ"},
"ja": {"name": "Japanese", "nativeName": "日本語 (にほんご/にっぽんご)"},
"jv": {"name": "Javanese", "nativeName": "basa Jawa"},
"kl": {
"name": "Kalaallisut, Greenlandic",
"nativeName": "kalaallisut, kalaallit oqaasii"
},
"kn": {"name": "Kannada", "nativeName": "ಕನ್ನಡ"},
"kr": {"name": "Kanuri", "nativeName": "Kanuri"},
"ks": {"name": "Kashmiri", "nativeName": "कश्मीरी, كشميري"},
"kk": {"name": "Kazakh", "nativeName": "Қазақ тілі"},
"km": {"name": "Khmer", "nativeName": "ភាសាខ្មែរ"},
"ki": {"name": "Kikuyu, Gikuyu", "nativeName": "Gĩkũyũ"},
"rw": {"name": "Kinyarwanda", "nativeName": "Ikinyarwanda"},
"ky": {"name": "Kirghiz, Kyrgyz", "nativeName": "кыргыз тили"},
"kv": {"name": "Komi", "nativeName": "коми кыв"},
"kg": {"name": "Kongo", "nativeName": "KiKongo"},
"ko": {"name": "Korean", "nativeName": "한국어 (韓國語), 조선말 (朝鮮語)"},
"ku": {"name": "Kurdish", "nativeName": "Kurdî, كوردی"},
"kj": {"name": "Kwanyama, Kuanyama", "nativeName": "Kuanyama"},
"la": {"name": "Latin", "nativeName": "latine, lingua latina"},
"lb": {
"name": "Luxembourgish, Letzeburgesch",
"nativeName": "Lëtzebuergesch"
},
"lg": {"name": "Luganda", "nativeName": "Luganda"},
"li": {
"name": "Limburgish, Limburgan, Limburger",
"nativeName": "Limburgs"
},
"ln": {"name": "Lingala", "nativeName": "Lingála"},
"lo": {"name": "Lao", "nativeName": "ພາສາລາວ"},
"lt": {"name": "Lithuanian", "nativeName": "lietuvių kalba"},
"lu": {"name": "Luba-Katanga", "nativeName": ""},
"lv": {"name": "Latvian", "nativeName": "latviešu valoda"},
"gv": {"name": "Manx", "nativeName": "Gaelg, Gailck"},
"mk": {"name": "Macedonian", "nativeName": "македонски јазик"},
"mg": {"name": "Malagasy", "nativeName": "Malagasy fiteny"},
"ms": {"name": "Malay", "nativeName": "bahasa Melayu, بهاس ملايو"},
"ml": {"name": "Malayalam", "nativeName": "മലയാളം"},
"mt": {"name": "Maltese", "nativeName": "Malti"},
"mi": {"name": "Māori", "nativeName": "te reo Māori"},
"mr": {"name": "Marathi (Marāṭhī)", "nativeName": "मराठी"},
"mh": {"name": "Marshallese", "nativeName": "Kajin M̧ajeļ"},
"mn": {"name": "Mongolian", "nativeName": "монгол"},
"na": {"name": "Nauru", "nativeName": "Ekakairũ Naoero"},
"nv": {"name": "Navajo, Navaho", "nativeName": "Diné bizaad, Dinékʼehǰí"},
"nb": {"name": "Norwegian Bokmål", "nativeName": "Norsk bokmål"},
"nd": {"name": "North Ndebele", "nativeName": "isiNdebele"},
"ne": {"name": "Nepali", "nativeName": "नेपाली"},
"ng": {"name": "Ndonga", "nativeName": "Owambo"},
"nn": {"name": "Norwegian Nynorsk", "nativeName": "Norsk nynorsk"},
"no": {"name": "Norwegian", "nativeName": "Norsk"},
"ii": {"name": "Nuosu", "nativeName": "ꆈꌠ꒿ Nuosuhxop"},
"nr": {"name": "South Ndebele", "nativeName": "isiNdebele"},
"oc": {"name": "Occitan", "nativeName": "Occitan"},
"oj": {"name": "Ojibwe, Ojibwa", "nativeName": "ᐊᓂᔑᓈᐯᒧᐎᓐ"},
"cu": {
"name":
"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
"nativeName": "ѩзыкъ словѣньскъ"
},
"om": {"name": "Oromo", "nativeName": "Afaan Oromoo"},
"or": {"name": "Oriya", "nativeName": "ଓଡ଼ିଆ"},
"os": {"name": "Ossetian, Ossetic", "nativeName": "ирон æвзаг"},
"pa": {"name": "Panjabi, Punjabi", "nativeName": "ਪੰਜਾਬੀ, پنجابی"},
"pi": {"name": "Pāli", "nativeName": "पाऴि"},
"fa": {"name": "Persian", "nativeName": "فارسی"},
"pl": {"name": "Polish", "nativeName": "polski"},
"ps": {"name": "Pashto, Pushto", "nativeName": "پښتو"},
"pt": {"name": "Portuguese", "nativeName": "Português"},
"qu": {"name": "Quechua", "nativeName": "Runa Simi, Kichwa"},
"rm": {"name": "Romansh", "nativeName": "rumantsch grischun"},
"rn": {"name": "Kirundi", "nativeName": "kiRundi"},
"ro": {"name": "Romanian, Moldavian, Moldovan", "nativeName": "română"},
"ru": {"name": "Russian", "nativeName": "русский язык"},
"sa": {"name": "Sanskrit (Saṁskṛta)", "nativeName": "संस्कृतम्"},
"sc": {"name": "Sardinian", "nativeName": "sardu"},
"sd": {"name": "Sindhi", "nativeName": "सिन्धी, سنڌي، سندھی"},
"se": {"name": "Northern Sami", "nativeName": "Davvisámegiella"},
"sm": {"name": "Samoan", "nativeName": "gagana faa Samoa"},
"sg": {"name": "Sango", "nativeName": "yângâ tî sängö"},
"sr": {"name": "Serbian", "nativeName": "српски језик"},
"gd": {"name": "Scottish Gaelic; Gaelic", "nativeName": "Gàidhlig"},
"sn": {"name": "Shona", "nativeName": "chiShona"},
"si": {"name": "Sinhala, Sinhalese", "nativeName": "සිංහල"},
"sk": {"name": "Slovak", "nativeName": "slovenčina"},
"sl": {"name": "Slovene", "nativeName": "slovenščina"},
"so": {"name": "Somali", "nativeName": "Soomaaliga, af Soomaali"},
"st": {"name": "Southern Sotho", "nativeName": "Sesotho"},
"es": {"name": "Spanish; Castilian", "nativeName": "español, castellano"},
"su": {"name": "Sundanese", "nativeName": "Basa Sunda"},
"sw": {"name": "Swahili", "nativeName": "Kiswahili"},
"ss": {"name": "Swati", "nativeName": "SiSwati"},
"sv": {"name": "Swedish", "nativeName": "svenska"},
"ta": {"name": "Tamil", "nativeName": "தமிழ்"},
"te": {"name": "Telugu", "nativeName": "తెలుగు"},
"tg": {"name": "Tajik", "nativeName": "тоҷикӣ, toğikī, تاجیکی"},
"th": {"name": "Thai", "nativeName": "ไทย"},
"ti": {"name": "Tigrinya", "nativeName": "ትግርኛ"},
"bo": {
"name": "Tibetan Standard, Tibetan, Central",
"nativeName": "བོད་ཡིག"
},
"tk": {"name": "Turkmen", "nativeName": "Türkmen, Түркмен"},
"tl": {"name": "Tagalog", "nativeName": "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},
"tn": {"name": "Tswana", "nativeName": "Setswana"},
"to": {"name": "Tonga (Tonga Islands)", "nativeName": "faka Tonga"},
"tr": {"name": "Turkish", "nativeName": "Türkçe"},
"ts": {"name": "Tsonga", "nativeName": "Xitsonga"},
"tt": {"name": "Tatar", "nativeName": "татарча, tatarça, تاتارچا"},
"tw": {"name": "Twi", "nativeName": "Twi"},
"ty": {"name": "Tahitian", "nativeName": "Reo Tahiti"},
"ug": {"name": "Uighur, Uyghur", "nativeName": "Uyƣurqə, ئۇيغۇرچە"},
"uk": {"name": "Ukrainian", "nativeName": "українська"},
"ur": {"name": "Urdu", "nativeName": "اردو"},
"uz": {"name": "Uzbek", "nativeName": "zbek, Ўзбек, أۇزبېك"},
"ve": {"name": "Venda", "nativeName": "Tshivenḓa"},
"vi": {"name": "Vietnamese", "nativeName": "Tiếng Việt"},
"vo": {"name": "Volapük", "nativeName": "Volapük"},
"wa": {"name": "Walloon", "nativeName": "Walon"},
"cy": {"name": "Welsh", "nativeName": "Cymraeg"},
"wo": {"name": "Wolof", "nativeName": "Wollof"},
"fy": {"name": "Western Frisian", "nativeName": "Frysk"},
"xh": {"name": "Xhosa", "nativeName": "isiXhosa"},
"yi": {"name": "Yiddish", "nativeName": "ייִדיש"},
"yo": {"name": "Yoruba", "nativeName": "Yorùbá"},
"za": {"name": "Zhuang, Chuang", "nativeName": "Saɯ cueŋƅ, Saw cuengh"}
};
getDisplayLanguage(key) {
if (isoLangs.containsKey(key)) {
return isoLangs[key];
} else {
throw Exception("Language key incorrect");
}
}
}
Language List
Widget
class LanguageWidget extends StatefulWidget {
@override
LanguageWidgetState createState() {
return new LanguageWidgetState();
}
}
class LanguageWidgetState extends State<LanguageWidget> {
var language = LanguageLocal();
var langCodesList = ["ar", "en", "fr"];
List<DropdownMenuItem<String>> list;
String _selectedLanguage = "ar";
@override
void initState() {
list = langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(language.getDisplayLanguage(value)["nativeName"]),
value: value,
);
}).toList();
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
child: new Container(
child: Center(
child: DropdownButton<String>(
value: _selectedLanguage,
items: list,
hint: Text(language.getDisplayLanguage(
Localizations.localeOf(context).languageCode)["name"]),
onChanged: (String value) {
print(value);
setState(() {
_selectedLanguage = value;
});
},
)),
),
);
}
}
add a comment |
language class
class LanguageLocal {
final isoLangs = {
"ab": {"name": "Abkhaz", "nativeName": "аҧсуа"},
"aa": {"name": "Afar", "nativeName": "Afaraf"},
"af": {"name": "Afrikaans", "nativeName": "Afrikaans"},
"ak": {"name": "Akan", "nativeName": "Akan"},
"sq": {"name": "Albanian", "nativeName": "Shqip"},
"am": {"name": "Amharic", "nativeName": "አማርኛ"},
"ar": {"name": "Arabic", "nativeName": "العربية"},
"an": {"name": "Aragonese", "nativeName": "Aragonés"},
"hy": {"name": "Armenian", "nativeName": "Հայերեն"},
"as": {"name": "Assamese", "nativeName": "অসমীয়া"},
"av": {"name": "Avaric", "nativeName": "авар мацӀ, магӀарул мацӀ"},
"ae": {"name": "Avestan", "nativeName": "avesta"},
"ay": {"name": "Aymara", "nativeName": "aymar aru"},
"az": {"name": "Azerbaijani", "nativeName": "azərbaycan dili"},
"bm": {"name": "Bambara", "nativeName": "bamanankan"},
"ba": {"name": "Bashkir", "nativeName": "башҡорт теле"},
"eu": {"name": "Basque", "nativeName": "euskara, euskera"},
"be": {"name": "Belarusian", "nativeName": "Беларуская"},
"bn": {"name": "Bengali", "nativeName": "বাংলা"},
"bh": {"name": "Bihari", "nativeName": "भोजपुरी"},
"bi": {"name": "Bislama", "nativeName": "Bislama"},
"bs": {"name": "Bosnian", "nativeName": "bosanski jezik"},
"br": {"name": "Breton", "nativeName": "brezhoneg"},
"bg": {"name": "Bulgarian", "nativeName": "български език"},
"my": {"name": "Burmese", "nativeName": "ဗမာစာ"},
"ca": {"name": "Catalan; Valencian", "nativeName": "Català"},
"ch": {"name": "Chamorro", "nativeName": "Chamoru"},
"ce": {"name": "Chechen", "nativeName": "нохчийн мотт"},
"ny": {
"name": "Chichewa; Chewa; Nyanja",
"nativeName": "chiCheŵa, chinyanja"
},
"zh": {"name": "Chinese", "nativeName": "中文 (Zhōngwén), 汉语, 漢語"},
"cv": {"name": "Chuvash", "nativeName": "чӑваш чӗлхи"},
"kw": {"name": "Cornish", "nativeName": "Kernewek"},
"co": {"name": "Corsican", "nativeName": "corsu, lingua corsa"},
"cr": {"name": "Cree", "nativeName": "ᓀᐦᐃᔭᐍᐏᐣ"},
"hr": {"name": "Croatian", "nativeName": "hrvatski"},
"cs": {"name": "Czech", "nativeName": "česky, čeština"},
"da": {"name": "Danish", "nativeName": "dansk"},
"dv": {"name": "Divehi; Dhivehi; Maldivian;", "nativeName": "ދިވެހި"},
"nl": {"name": "Dutch", "nativeName": "Nederlands, Vlaams"},
"en": {"name": "English", "nativeName": "English"},
"eo": {"name": "Esperanto", "nativeName": "Esperanto"},
"et": {"name": "Estonian", "nativeName": "eesti, eesti keel"},
"ee": {"name": "Ewe", "nativeName": "Eʋegbe"},
"fo": {"name": "Faroese", "nativeName": "føroyskt"},
"fj": {"name": "Fijian", "nativeName": "vosa Vakaviti"},
"fi": {"name": "Finnish", "nativeName": "suomi, suomen kieli"},
"fr": {"name": "French", "nativeName": "français, langue française"},
"ff": {
"name": "Fula; Fulah; Pulaar; Pular",
"nativeName": "Fulfulde, Pulaar, Pular"
},
"gl": {"name": "Galician", "nativeName": "Galego"},
"ka": {"name": "Georgian", "nativeName": "ქართული"},
"de": {"name": "German", "nativeName": "Deutsch"},
"el": {"name": "Greek, Modern", "nativeName": "Ελληνικά"},
"gn": {"name": "Guaraní", "nativeName": "Avañeẽ"},
"gu": {"name": "Gujarati", "nativeName": "ગુજરાતી"},
"ht": {"name": "Haitian; Haitian Creole", "nativeName": "Kreyòl ayisyen"},
"ha": {"name": "Hausa", "nativeName": "Hausa, هَوُسَ"},
"he": {"name": "Hebrew (modern)", "nativeName": "עברית"},
"hz": {"name": "Herero", "nativeName": "Otjiherero"},
"hi": {"name": "Hindi", "nativeName": "हिन्दी, हिंदी"},
"ho": {"name": "Hiri Motu", "nativeName": "Hiri Motu"},
"hu": {"name": "Hungarian", "nativeName": "Magyar"},
"ia": {"name": "Interlingua", "nativeName": "Interlingua"},
"id": {"name": "Indonesian", "nativeName": "Bahasa Indonesia"},
"ie": {
"name": "Interlingue",
"nativeName": "Originally called Occidental; then Interlingue after WWII"
},
"ga": {"name": "Irish", "nativeName": "Gaeilge"},
"ig": {"name": "Igbo", "nativeName": "Asụsụ Igbo"},
"ik": {"name": "Inupiaq", "nativeName": "Iñupiaq, Iñupiatun"},
"io": {"name": "Ido", "nativeName": "Ido"},
"is": {"name": "Icelandic", "nativeName": "Íslenska"},
"it": {"name": "Italian", "nativeName": "Italiano"},
"iu": {"name": "Inuktitut", "nativeName": "ᐃᓄᒃᑎᑐᑦ"},
"ja": {"name": "Japanese", "nativeName": "日本語 (にほんご/にっぽんご)"},
"jv": {"name": "Javanese", "nativeName": "basa Jawa"},
"kl": {
"name": "Kalaallisut, Greenlandic",
"nativeName": "kalaallisut, kalaallit oqaasii"
},
"kn": {"name": "Kannada", "nativeName": "ಕನ್ನಡ"},
"kr": {"name": "Kanuri", "nativeName": "Kanuri"},
"ks": {"name": "Kashmiri", "nativeName": "कश्मीरी, كشميري"},
"kk": {"name": "Kazakh", "nativeName": "Қазақ тілі"},
"km": {"name": "Khmer", "nativeName": "ភាសាខ្មែរ"},
"ki": {"name": "Kikuyu, Gikuyu", "nativeName": "Gĩkũyũ"},
"rw": {"name": "Kinyarwanda", "nativeName": "Ikinyarwanda"},
"ky": {"name": "Kirghiz, Kyrgyz", "nativeName": "кыргыз тили"},
"kv": {"name": "Komi", "nativeName": "коми кыв"},
"kg": {"name": "Kongo", "nativeName": "KiKongo"},
"ko": {"name": "Korean", "nativeName": "한국어 (韓國語), 조선말 (朝鮮語)"},
"ku": {"name": "Kurdish", "nativeName": "Kurdî, كوردی"},
"kj": {"name": "Kwanyama, Kuanyama", "nativeName": "Kuanyama"},
"la": {"name": "Latin", "nativeName": "latine, lingua latina"},
"lb": {
"name": "Luxembourgish, Letzeburgesch",
"nativeName": "Lëtzebuergesch"
},
"lg": {"name": "Luganda", "nativeName": "Luganda"},
"li": {
"name": "Limburgish, Limburgan, Limburger",
"nativeName": "Limburgs"
},
"ln": {"name": "Lingala", "nativeName": "Lingála"},
"lo": {"name": "Lao", "nativeName": "ພາສາລາວ"},
"lt": {"name": "Lithuanian", "nativeName": "lietuvių kalba"},
"lu": {"name": "Luba-Katanga", "nativeName": ""},
"lv": {"name": "Latvian", "nativeName": "latviešu valoda"},
"gv": {"name": "Manx", "nativeName": "Gaelg, Gailck"},
"mk": {"name": "Macedonian", "nativeName": "македонски јазик"},
"mg": {"name": "Malagasy", "nativeName": "Malagasy fiteny"},
"ms": {"name": "Malay", "nativeName": "bahasa Melayu, بهاس ملايو"},
"ml": {"name": "Malayalam", "nativeName": "മലയാളം"},
"mt": {"name": "Maltese", "nativeName": "Malti"},
"mi": {"name": "Māori", "nativeName": "te reo Māori"},
"mr": {"name": "Marathi (Marāṭhī)", "nativeName": "मराठी"},
"mh": {"name": "Marshallese", "nativeName": "Kajin M̧ajeļ"},
"mn": {"name": "Mongolian", "nativeName": "монгол"},
"na": {"name": "Nauru", "nativeName": "Ekakairũ Naoero"},
"nv": {"name": "Navajo, Navaho", "nativeName": "Diné bizaad, Dinékʼehǰí"},
"nb": {"name": "Norwegian Bokmål", "nativeName": "Norsk bokmål"},
"nd": {"name": "North Ndebele", "nativeName": "isiNdebele"},
"ne": {"name": "Nepali", "nativeName": "नेपाली"},
"ng": {"name": "Ndonga", "nativeName": "Owambo"},
"nn": {"name": "Norwegian Nynorsk", "nativeName": "Norsk nynorsk"},
"no": {"name": "Norwegian", "nativeName": "Norsk"},
"ii": {"name": "Nuosu", "nativeName": "ꆈꌠ꒿ Nuosuhxop"},
"nr": {"name": "South Ndebele", "nativeName": "isiNdebele"},
"oc": {"name": "Occitan", "nativeName": "Occitan"},
"oj": {"name": "Ojibwe, Ojibwa", "nativeName": "ᐊᓂᔑᓈᐯᒧᐎᓐ"},
"cu": {
"name":
"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
"nativeName": "ѩзыкъ словѣньскъ"
},
"om": {"name": "Oromo", "nativeName": "Afaan Oromoo"},
"or": {"name": "Oriya", "nativeName": "ଓଡ଼ିଆ"},
"os": {"name": "Ossetian, Ossetic", "nativeName": "ирон æвзаг"},
"pa": {"name": "Panjabi, Punjabi", "nativeName": "ਪੰਜਾਬੀ, پنجابی"},
"pi": {"name": "Pāli", "nativeName": "पाऴि"},
"fa": {"name": "Persian", "nativeName": "فارسی"},
"pl": {"name": "Polish", "nativeName": "polski"},
"ps": {"name": "Pashto, Pushto", "nativeName": "پښتو"},
"pt": {"name": "Portuguese", "nativeName": "Português"},
"qu": {"name": "Quechua", "nativeName": "Runa Simi, Kichwa"},
"rm": {"name": "Romansh", "nativeName": "rumantsch grischun"},
"rn": {"name": "Kirundi", "nativeName": "kiRundi"},
"ro": {"name": "Romanian, Moldavian, Moldovan", "nativeName": "română"},
"ru": {"name": "Russian", "nativeName": "русский язык"},
"sa": {"name": "Sanskrit (Saṁskṛta)", "nativeName": "संस्कृतम्"},
"sc": {"name": "Sardinian", "nativeName": "sardu"},
"sd": {"name": "Sindhi", "nativeName": "सिन्धी, سنڌي، سندھی"},
"se": {"name": "Northern Sami", "nativeName": "Davvisámegiella"},
"sm": {"name": "Samoan", "nativeName": "gagana faa Samoa"},
"sg": {"name": "Sango", "nativeName": "yângâ tî sängö"},
"sr": {"name": "Serbian", "nativeName": "српски језик"},
"gd": {"name": "Scottish Gaelic; Gaelic", "nativeName": "Gàidhlig"},
"sn": {"name": "Shona", "nativeName": "chiShona"},
"si": {"name": "Sinhala, Sinhalese", "nativeName": "සිංහල"},
"sk": {"name": "Slovak", "nativeName": "slovenčina"},
"sl": {"name": "Slovene", "nativeName": "slovenščina"},
"so": {"name": "Somali", "nativeName": "Soomaaliga, af Soomaali"},
"st": {"name": "Southern Sotho", "nativeName": "Sesotho"},
"es": {"name": "Spanish; Castilian", "nativeName": "español, castellano"},
"su": {"name": "Sundanese", "nativeName": "Basa Sunda"},
"sw": {"name": "Swahili", "nativeName": "Kiswahili"},
"ss": {"name": "Swati", "nativeName": "SiSwati"},
"sv": {"name": "Swedish", "nativeName": "svenska"},
"ta": {"name": "Tamil", "nativeName": "தமிழ்"},
"te": {"name": "Telugu", "nativeName": "తెలుగు"},
"tg": {"name": "Tajik", "nativeName": "тоҷикӣ, toğikī, تاجیکی"},
"th": {"name": "Thai", "nativeName": "ไทย"},
"ti": {"name": "Tigrinya", "nativeName": "ትግርኛ"},
"bo": {
"name": "Tibetan Standard, Tibetan, Central",
"nativeName": "བོད་ཡིག"
},
"tk": {"name": "Turkmen", "nativeName": "Türkmen, Түркмен"},
"tl": {"name": "Tagalog", "nativeName": "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},
"tn": {"name": "Tswana", "nativeName": "Setswana"},
"to": {"name": "Tonga (Tonga Islands)", "nativeName": "faka Tonga"},
"tr": {"name": "Turkish", "nativeName": "Türkçe"},
"ts": {"name": "Tsonga", "nativeName": "Xitsonga"},
"tt": {"name": "Tatar", "nativeName": "татарча, tatarça, تاتارچا"},
"tw": {"name": "Twi", "nativeName": "Twi"},
"ty": {"name": "Tahitian", "nativeName": "Reo Tahiti"},
"ug": {"name": "Uighur, Uyghur", "nativeName": "Uyƣurqə, ئۇيغۇرچە"},
"uk": {"name": "Ukrainian", "nativeName": "українська"},
"ur": {"name": "Urdu", "nativeName": "اردو"},
"uz": {"name": "Uzbek", "nativeName": "zbek, Ўзбек, أۇزبېك"},
"ve": {"name": "Venda", "nativeName": "Tshivenḓa"},
"vi": {"name": "Vietnamese", "nativeName": "Tiếng Việt"},
"vo": {"name": "Volapük", "nativeName": "Volapük"},
"wa": {"name": "Walloon", "nativeName": "Walon"},
"cy": {"name": "Welsh", "nativeName": "Cymraeg"},
"wo": {"name": "Wolof", "nativeName": "Wollof"},
"fy": {"name": "Western Frisian", "nativeName": "Frysk"},
"xh": {"name": "Xhosa", "nativeName": "isiXhosa"},
"yi": {"name": "Yiddish", "nativeName": "ייִדיש"},
"yo": {"name": "Yoruba", "nativeName": "Yorùbá"},
"za": {"name": "Zhuang, Chuang", "nativeName": "Saɯ cueŋƅ, Saw cuengh"}
};
getDisplayLanguage(key) {
if (isoLangs.containsKey(key)) {
return isoLangs[key];
} else {
throw Exception("Language key incorrect");
}
}
}
Language List
Widget
class LanguageWidget extends StatefulWidget {
@override
LanguageWidgetState createState() {
return new LanguageWidgetState();
}
}
class LanguageWidgetState extends State<LanguageWidget> {
var language = LanguageLocal();
var langCodesList = ["ar", "en", "fr"];
List<DropdownMenuItem<String>> list;
String _selectedLanguage = "ar";
@override
void initState() {
list = langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(language.getDisplayLanguage(value)["nativeName"]),
value: value,
);
}).toList();
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
child: new Container(
child: Center(
child: DropdownButton<String>(
value: _selectedLanguage,
items: list,
hint: Text(language.getDisplayLanguage(
Localizations.localeOf(context).languageCode)["name"]),
onChanged: (String value) {
print(value);
setState(() {
_selectedLanguage = value;
});
},
)),
),
);
}
}
language class
class LanguageLocal {
final isoLangs = {
"ab": {"name": "Abkhaz", "nativeName": "аҧсуа"},
"aa": {"name": "Afar", "nativeName": "Afaraf"},
"af": {"name": "Afrikaans", "nativeName": "Afrikaans"},
"ak": {"name": "Akan", "nativeName": "Akan"},
"sq": {"name": "Albanian", "nativeName": "Shqip"},
"am": {"name": "Amharic", "nativeName": "አማርኛ"},
"ar": {"name": "Arabic", "nativeName": "العربية"},
"an": {"name": "Aragonese", "nativeName": "Aragonés"},
"hy": {"name": "Armenian", "nativeName": "Հայերեն"},
"as": {"name": "Assamese", "nativeName": "অসমীয়া"},
"av": {"name": "Avaric", "nativeName": "авар мацӀ, магӀарул мацӀ"},
"ae": {"name": "Avestan", "nativeName": "avesta"},
"ay": {"name": "Aymara", "nativeName": "aymar aru"},
"az": {"name": "Azerbaijani", "nativeName": "azərbaycan dili"},
"bm": {"name": "Bambara", "nativeName": "bamanankan"},
"ba": {"name": "Bashkir", "nativeName": "башҡорт теле"},
"eu": {"name": "Basque", "nativeName": "euskara, euskera"},
"be": {"name": "Belarusian", "nativeName": "Беларуская"},
"bn": {"name": "Bengali", "nativeName": "বাংলা"},
"bh": {"name": "Bihari", "nativeName": "भोजपुरी"},
"bi": {"name": "Bislama", "nativeName": "Bislama"},
"bs": {"name": "Bosnian", "nativeName": "bosanski jezik"},
"br": {"name": "Breton", "nativeName": "brezhoneg"},
"bg": {"name": "Bulgarian", "nativeName": "български език"},
"my": {"name": "Burmese", "nativeName": "ဗမာစာ"},
"ca": {"name": "Catalan; Valencian", "nativeName": "Català"},
"ch": {"name": "Chamorro", "nativeName": "Chamoru"},
"ce": {"name": "Chechen", "nativeName": "нохчийн мотт"},
"ny": {
"name": "Chichewa; Chewa; Nyanja",
"nativeName": "chiCheŵa, chinyanja"
},
"zh": {"name": "Chinese", "nativeName": "中文 (Zhōngwén), 汉语, 漢語"},
"cv": {"name": "Chuvash", "nativeName": "чӑваш чӗлхи"},
"kw": {"name": "Cornish", "nativeName": "Kernewek"},
"co": {"name": "Corsican", "nativeName": "corsu, lingua corsa"},
"cr": {"name": "Cree", "nativeName": "ᓀᐦᐃᔭᐍᐏᐣ"},
"hr": {"name": "Croatian", "nativeName": "hrvatski"},
"cs": {"name": "Czech", "nativeName": "česky, čeština"},
"da": {"name": "Danish", "nativeName": "dansk"},
"dv": {"name": "Divehi; Dhivehi; Maldivian;", "nativeName": "ދިވެހި"},
"nl": {"name": "Dutch", "nativeName": "Nederlands, Vlaams"},
"en": {"name": "English", "nativeName": "English"},
"eo": {"name": "Esperanto", "nativeName": "Esperanto"},
"et": {"name": "Estonian", "nativeName": "eesti, eesti keel"},
"ee": {"name": "Ewe", "nativeName": "Eʋegbe"},
"fo": {"name": "Faroese", "nativeName": "føroyskt"},
"fj": {"name": "Fijian", "nativeName": "vosa Vakaviti"},
"fi": {"name": "Finnish", "nativeName": "suomi, suomen kieli"},
"fr": {"name": "French", "nativeName": "français, langue française"},
"ff": {
"name": "Fula; Fulah; Pulaar; Pular",
"nativeName": "Fulfulde, Pulaar, Pular"
},
"gl": {"name": "Galician", "nativeName": "Galego"},
"ka": {"name": "Georgian", "nativeName": "ქართული"},
"de": {"name": "German", "nativeName": "Deutsch"},
"el": {"name": "Greek, Modern", "nativeName": "Ελληνικά"},
"gn": {"name": "Guaraní", "nativeName": "Avañeẽ"},
"gu": {"name": "Gujarati", "nativeName": "ગુજરાતી"},
"ht": {"name": "Haitian; Haitian Creole", "nativeName": "Kreyòl ayisyen"},
"ha": {"name": "Hausa", "nativeName": "Hausa, هَوُسَ"},
"he": {"name": "Hebrew (modern)", "nativeName": "עברית"},
"hz": {"name": "Herero", "nativeName": "Otjiherero"},
"hi": {"name": "Hindi", "nativeName": "हिन्दी, हिंदी"},
"ho": {"name": "Hiri Motu", "nativeName": "Hiri Motu"},
"hu": {"name": "Hungarian", "nativeName": "Magyar"},
"ia": {"name": "Interlingua", "nativeName": "Interlingua"},
"id": {"name": "Indonesian", "nativeName": "Bahasa Indonesia"},
"ie": {
"name": "Interlingue",
"nativeName": "Originally called Occidental; then Interlingue after WWII"
},
"ga": {"name": "Irish", "nativeName": "Gaeilge"},
"ig": {"name": "Igbo", "nativeName": "Asụsụ Igbo"},
"ik": {"name": "Inupiaq", "nativeName": "Iñupiaq, Iñupiatun"},
"io": {"name": "Ido", "nativeName": "Ido"},
"is": {"name": "Icelandic", "nativeName": "Íslenska"},
"it": {"name": "Italian", "nativeName": "Italiano"},
"iu": {"name": "Inuktitut", "nativeName": "ᐃᓄᒃᑎᑐᑦ"},
"ja": {"name": "Japanese", "nativeName": "日本語 (にほんご/にっぽんご)"},
"jv": {"name": "Javanese", "nativeName": "basa Jawa"},
"kl": {
"name": "Kalaallisut, Greenlandic",
"nativeName": "kalaallisut, kalaallit oqaasii"
},
"kn": {"name": "Kannada", "nativeName": "ಕನ್ನಡ"},
"kr": {"name": "Kanuri", "nativeName": "Kanuri"},
"ks": {"name": "Kashmiri", "nativeName": "कश्मीरी, كشميري"},
"kk": {"name": "Kazakh", "nativeName": "Қазақ тілі"},
"km": {"name": "Khmer", "nativeName": "ភាសាខ្មែរ"},
"ki": {"name": "Kikuyu, Gikuyu", "nativeName": "Gĩkũyũ"},
"rw": {"name": "Kinyarwanda", "nativeName": "Ikinyarwanda"},
"ky": {"name": "Kirghiz, Kyrgyz", "nativeName": "кыргыз тили"},
"kv": {"name": "Komi", "nativeName": "коми кыв"},
"kg": {"name": "Kongo", "nativeName": "KiKongo"},
"ko": {"name": "Korean", "nativeName": "한국어 (韓國語), 조선말 (朝鮮語)"},
"ku": {"name": "Kurdish", "nativeName": "Kurdî, كوردی"},
"kj": {"name": "Kwanyama, Kuanyama", "nativeName": "Kuanyama"},
"la": {"name": "Latin", "nativeName": "latine, lingua latina"},
"lb": {
"name": "Luxembourgish, Letzeburgesch",
"nativeName": "Lëtzebuergesch"
},
"lg": {"name": "Luganda", "nativeName": "Luganda"},
"li": {
"name": "Limburgish, Limburgan, Limburger",
"nativeName": "Limburgs"
},
"ln": {"name": "Lingala", "nativeName": "Lingála"},
"lo": {"name": "Lao", "nativeName": "ພາສາລາວ"},
"lt": {"name": "Lithuanian", "nativeName": "lietuvių kalba"},
"lu": {"name": "Luba-Katanga", "nativeName": ""},
"lv": {"name": "Latvian", "nativeName": "latviešu valoda"},
"gv": {"name": "Manx", "nativeName": "Gaelg, Gailck"},
"mk": {"name": "Macedonian", "nativeName": "македонски јазик"},
"mg": {"name": "Malagasy", "nativeName": "Malagasy fiteny"},
"ms": {"name": "Malay", "nativeName": "bahasa Melayu, بهاس ملايو"},
"ml": {"name": "Malayalam", "nativeName": "മലയാളം"},
"mt": {"name": "Maltese", "nativeName": "Malti"},
"mi": {"name": "Māori", "nativeName": "te reo Māori"},
"mr": {"name": "Marathi (Marāṭhī)", "nativeName": "मराठी"},
"mh": {"name": "Marshallese", "nativeName": "Kajin M̧ajeļ"},
"mn": {"name": "Mongolian", "nativeName": "монгол"},
"na": {"name": "Nauru", "nativeName": "Ekakairũ Naoero"},
"nv": {"name": "Navajo, Navaho", "nativeName": "Diné bizaad, Dinékʼehǰí"},
"nb": {"name": "Norwegian Bokmål", "nativeName": "Norsk bokmål"},
"nd": {"name": "North Ndebele", "nativeName": "isiNdebele"},
"ne": {"name": "Nepali", "nativeName": "नेपाली"},
"ng": {"name": "Ndonga", "nativeName": "Owambo"},
"nn": {"name": "Norwegian Nynorsk", "nativeName": "Norsk nynorsk"},
"no": {"name": "Norwegian", "nativeName": "Norsk"},
"ii": {"name": "Nuosu", "nativeName": "ꆈꌠ꒿ Nuosuhxop"},
"nr": {"name": "South Ndebele", "nativeName": "isiNdebele"},
"oc": {"name": "Occitan", "nativeName": "Occitan"},
"oj": {"name": "Ojibwe, Ojibwa", "nativeName": "ᐊᓂᔑᓈᐯᒧᐎᓐ"},
"cu": {
"name":
"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
"nativeName": "ѩзыкъ словѣньскъ"
},
"om": {"name": "Oromo", "nativeName": "Afaan Oromoo"},
"or": {"name": "Oriya", "nativeName": "ଓଡ଼ିଆ"},
"os": {"name": "Ossetian, Ossetic", "nativeName": "ирон æвзаг"},
"pa": {"name": "Panjabi, Punjabi", "nativeName": "ਪੰਜਾਬੀ, پنجابی"},
"pi": {"name": "Pāli", "nativeName": "पाऴि"},
"fa": {"name": "Persian", "nativeName": "فارسی"},
"pl": {"name": "Polish", "nativeName": "polski"},
"ps": {"name": "Pashto, Pushto", "nativeName": "پښتو"},
"pt": {"name": "Portuguese", "nativeName": "Português"},
"qu": {"name": "Quechua", "nativeName": "Runa Simi, Kichwa"},
"rm": {"name": "Romansh", "nativeName": "rumantsch grischun"},
"rn": {"name": "Kirundi", "nativeName": "kiRundi"},
"ro": {"name": "Romanian, Moldavian, Moldovan", "nativeName": "română"},
"ru": {"name": "Russian", "nativeName": "русский язык"},
"sa": {"name": "Sanskrit (Saṁskṛta)", "nativeName": "संस्कृतम्"},
"sc": {"name": "Sardinian", "nativeName": "sardu"},
"sd": {"name": "Sindhi", "nativeName": "सिन्धी, سنڌي، سندھی"},
"se": {"name": "Northern Sami", "nativeName": "Davvisámegiella"},
"sm": {"name": "Samoan", "nativeName": "gagana faa Samoa"},
"sg": {"name": "Sango", "nativeName": "yângâ tî sängö"},
"sr": {"name": "Serbian", "nativeName": "српски језик"},
"gd": {"name": "Scottish Gaelic; Gaelic", "nativeName": "Gàidhlig"},
"sn": {"name": "Shona", "nativeName": "chiShona"},
"si": {"name": "Sinhala, Sinhalese", "nativeName": "සිංහල"},
"sk": {"name": "Slovak", "nativeName": "slovenčina"},
"sl": {"name": "Slovene", "nativeName": "slovenščina"},
"so": {"name": "Somali", "nativeName": "Soomaaliga, af Soomaali"},
"st": {"name": "Southern Sotho", "nativeName": "Sesotho"},
"es": {"name": "Spanish; Castilian", "nativeName": "español, castellano"},
"su": {"name": "Sundanese", "nativeName": "Basa Sunda"},
"sw": {"name": "Swahili", "nativeName": "Kiswahili"},
"ss": {"name": "Swati", "nativeName": "SiSwati"},
"sv": {"name": "Swedish", "nativeName": "svenska"},
"ta": {"name": "Tamil", "nativeName": "தமிழ்"},
"te": {"name": "Telugu", "nativeName": "తెలుగు"},
"tg": {"name": "Tajik", "nativeName": "тоҷикӣ, toğikī, تاجیکی"},
"th": {"name": "Thai", "nativeName": "ไทย"},
"ti": {"name": "Tigrinya", "nativeName": "ትግርኛ"},
"bo": {
"name": "Tibetan Standard, Tibetan, Central",
"nativeName": "བོད་ཡིག"
},
"tk": {"name": "Turkmen", "nativeName": "Türkmen, Түркмен"},
"tl": {"name": "Tagalog", "nativeName": "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},
"tn": {"name": "Tswana", "nativeName": "Setswana"},
"to": {"name": "Tonga (Tonga Islands)", "nativeName": "faka Tonga"},
"tr": {"name": "Turkish", "nativeName": "Türkçe"},
"ts": {"name": "Tsonga", "nativeName": "Xitsonga"},
"tt": {"name": "Tatar", "nativeName": "татарча, tatarça, تاتارچا"},
"tw": {"name": "Twi", "nativeName": "Twi"},
"ty": {"name": "Tahitian", "nativeName": "Reo Tahiti"},
"ug": {"name": "Uighur, Uyghur", "nativeName": "Uyƣurqə, ئۇيغۇرچە"},
"uk": {"name": "Ukrainian", "nativeName": "українська"},
"ur": {"name": "Urdu", "nativeName": "اردو"},
"uz": {"name": "Uzbek", "nativeName": "zbek, Ўзбек, أۇزبېك"},
"ve": {"name": "Venda", "nativeName": "Tshivenḓa"},
"vi": {"name": "Vietnamese", "nativeName": "Tiếng Việt"},
"vo": {"name": "Volapük", "nativeName": "Volapük"},
"wa": {"name": "Walloon", "nativeName": "Walon"},
"cy": {"name": "Welsh", "nativeName": "Cymraeg"},
"wo": {"name": "Wolof", "nativeName": "Wollof"},
"fy": {"name": "Western Frisian", "nativeName": "Frysk"},
"xh": {"name": "Xhosa", "nativeName": "isiXhosa"},
"yi": {"name": "Yiddish", "nativeName": "ייִדיש"},
"yo": {"name": "Yoruba", "nativeName": "Yorùbá"},
"za": {"name": "Zhuang, Chuang", "nativeName": "Saɯ cueŋƅ, Saw cuengh"}
};
getDisplayLanguage(key) {
if (isoLangs.containsKey(key)) {
return isoLangs[key];
} else {
throw Exception("Language key incorrect");
}
}
}
Language List
Widget
class LanguageWidget extends StatefulWidget {
@override
LanguageWidgetState createState() {
return new LanguageWidgetState();
}
}
class LanguageWidgetState extends State<LanguageWidget> {
var language = LanguageLocal();
var langCodesList = ["ar", "en", "fr"];
List<DropdownMenuItem<String>> list;
String _selectedLanguage = "ar";
@override
void initState() {
list = langCodesList.map((String value) {
return DropdownMenuItem<String>(
child: Text(language.getDisplayLanguage(value)["nativeName"]),
value: value,
);
}).toList();
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
child: new Container(
child: Center(
child: DropdownButton<String>(
value: _selectedLanguage,
items: list,
hint: Text(language.getDisplayLanguage(
Localizations.localeOf(context).languageCode)["name"]),
onChanged: (String value) {
print(value);
setState(() {
_selectedLanguage = value;
});
},
)),
),
);
}
}
answered Jan 2 at 2:34


AhmedAhmed
43137
43137
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53999971%2fhow-to-get-languages-full-name-from-languagecode-e-g-from-en-to-english%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown