Commit 81fb7af
Changed files (2)
lib
model
docs/release-process.md
@@ -4,6 +4,7 @@ App release checklist
- [ ] milestone finished
- [ ] no remaining breaking issues
- [ ] add translation from [Weblate](https://hosted.weblate.org/projects/blood-pressure-monitor-fl/#repository)
+- [ ] in case new languages got added, add them to `iso_lang_names.dart`
- [ ] create changelog
- [ ] update version in `pubspec.yaml` and `android/app/build.gradle`
- [ ] verify no tests fail
lib/model/iso_lang_names.dart
@@ -1,191 +1,23 @@
import 'package:flutter/material.dart';
-final _isoLangs = {
- 'ab': 'аҧсуа',
- 'aa': 'Afaraf',
- 'af': 'Afrikaans',
- 'ak': 'Akan',
- 'sq': 'Shqip',
- 'am': 'አማርኛ',
- 'ar': 'العربية',
- 'an': 'Aragonés',
- 'hy': 'Հայերեն',
- 'as': 'অসমীয়া',
- 'av': 'авар мацӀ, магӀарул мацӀ',
- 'ae': 'avesta',
- 'ay': 'aymar aru',
- 'az': 'azərbaycan dili',
- 'bm': 'bamanankan',
- 'ba': 'башҡорт теле',
- 'eu': 'euskara, euskera',
- 'be': 'Беларуская',
- 'bn': 'বাংলা',
- 'bh': 'भोजपुरी',
- 'bi': 'Bislama',
- 'bs': 'bosanski jezik',
- 'br': 'brezhoneg',
- 'bg': 'български език',
- 'my': 'ဗမာစာ',
- 'ca': 'Català',
- 'ch': 'Chamoru',
- 'ce': 'нохчийн мотт',
- 'ny': 'chiCheŵa, chinyanja',
- 'zh': '中文 (Zhōngwén)',
- 'cv': 'чӑваш чӗлхи',
- 'kw': 'Kernewek',
- 'co': 'corsu, lingua corsa',
- 'cr': 'ᓀᐦᐃᔭᐍᐏᐣ',
- 'hr': 'hrvatski',
- 'cs': 'česky, čeština',
- 'da': 'dansk',
- 'dv': 'ދިވެހި',
- 'nl': 'Nederlands, Vlaams',
- 'en': 'English',
- 'eo': 'Esperanto',
- 'et': 'eesti, eesti keel',
- 'ee': 'Eʋegbe',
- 'fo': 'føroyskt',
- 'fj': 'vosa Vakaviti',
- 'fi': 'suomi, suomen kieli',
- 'fr': 'française',
- 'ff': 'Fulfulde, Pulaar, Pular',
- 'gl': 'Galego',
- 'ka': 'ქართული',
- 'de': 'Deutsch',
- 'el': 'Ελληνικά',
- 'gn': 'Avañeẽ',
- 'gu': 'ગુજરાતી',
- 'ht': 'Kreyòl ayisyen',
- 'ha': 'Hausa, هَوُسَ',
- 'he': 'עברית',
- 'hz': 'Otjiherero',
- 'hi': 'हिन्दी, हिंदी',
- 'ho': 'Hiri Motu',
- 'hu': 'Magyar',
- 'ia': 'Interlingua',
- 'id': 'Bahasa Indonesia',
- 'ie': 'Occidental (Interlingue)',
- 'ga': 'Gaeilge',
- 'ig': 'Asụsụ Igbo',
- 'ik': 'Iñupiaq, Iñupiatun',
- 'io': 'Ido',
- 'is': 'Íslenska',
- 'it': 'Italiano',
- 'iu': 'ᐃᓄᒃᑎᑐᑦ',
- 'ja': '日本語 (にほんご/にっぽんご)',
- 'jv': 'basa Jawa',
- 'kl': 'kalaallisut, kalaallit oqaasii',
- 'kn': 'ಕನ್ನಡ',
- 'kr': 'Kanuri',
- 'ks': 'कश्मीरी, كشميري',
- 'kk': 'Қазақ тілі',
- 'km': 'ភាសាខ្មែរ',
- 'ki': 'Gĩkũyũ',
- 'rw': 'Ikinyarwanda',
- 'ky': 'кыргыз тили',
- 'kv': 'коми кыв',
- 'kg': 'KiKongo',
- 'ko': '한국어 (韓國語), 조선말 (朝鮮語)',
- 'ku': 'Kurdî, كوردی',
- 'kj': 'Kuanyama',
- 'la': 'latine, lingua latina',
- 'lb': 'Lëtzebuergesch',
- 'lg': 'Luganda',
- 'li': 'Limburgs',
- 'ln': 'Lingála',
- 'lo': 'ພາສາລາວ',
- 'lt': 'lietuvių kalba',
- 'lu': '',
- 'lv': 'latviešu valoda',
- 'gv': 'Gaelg, Gailck',
- 'mk': 'македонски јазик',
- 'mg': 'Malagasy fiteny',
- 'ms': 'bahasa Melayu, بهاس ملايو',
- 'ml': 'മലയാളം',
- 'mt': 'Malti',
- 'mi': 'te reo Māori',
- 'mr': 'मराठी',
- 'mh': 'Kajin M̧ajeļ',
- 'mn': 'монгол',
- 'na': 'Ekakairũ Naoero',
- 'nv': 'Diné bizaad, Dinékʼehǰí',
- 'nb': 'Norsk bokmål',
- 'nd': 'isiNdebele',
- 'ne': 'नेपाली',
- 'ng': 'Owambo',
- 'nn': 'Norsk nynorsk',
- 'no': 'Norsk',
- 'ii': 'ꆈꌠ꒿ Nuosuhxop',
- 'nr': 'isiNdebele',
- 'oc': 'Occitan',
- 'oj': 'ᐊᓂᔑᓈᐯᒧᐎᓐ',
- 'cu': 'ѩзыкъ словѣньскъ',
- 'om': 'Afaan Oromoo',
- 'or': 'ଓଡ଼ିଆ',
- 'os': 'ирон æвзаг',
- 'pa': 'ਪੰਜਾਬੀ, پنجابی',
- 'pi': 'पाऴि',
- 'fa': 'فارسی',
- 'pl': 'polski',
- 'ps': 'پښتو',
- 'pt': 'Português',
- 'qu': 'Runa Simi, Kichwa',
- 'rm': 'rumantsch grischun',
- 'rn': 'kiRundi',
- 'ro': 'română',
- 'ru': 'русский язык',
- 'sa': 'संस्कृतम्',
- 'sc': 'sardu',
- 'sd': 'सिन्धी, سنڌي، سندھی',
- 'se': 'Davvisámegiella',
- 'sm': 'gagana faa Samoa',
- 'sg': 'yângâ tî sängö',
- 'sr': 'српски језик',
- 'gd': 'Gàidhlig',
- 'sn': 'chiShona',
- 'si': 'සිංහල',
- 'sk': 'slovenčina',
- 'sl': 'slovenščina',
- 'so': 'Soomaaliga, af Soomaali',
- 'st': 'Sesotho',
- 'es': 'español, castellano',
- 'su': 'Basa Sunda',
- 'sw': 'Kiswahili',
- 'ss': 'SiSwati',
- 'sv': 'svenska',
- 'ta': 'தமிழ்',
- 'te': 'తెలుగు',
- 'tg': 'тоҷикӣ, toğikī, تاجیکی',
- 'th': 'ไทย',
- 'ti': 'ትግርኛ',
- 'bo': 'བོད་ཡིག',
- 'tk': 'Türkmen, Түркмен',
- 'tl': 'Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔',
- 'tn': 'Setswana',
- 'to': 'faka Tonga',
- 'tr': 'Türkçe',
- 'ts': 'Xitsonga',
- 'tt': 'татарча, tatarça, تاتارچا',
- 'tw': 'Twi',
- 'ty': 'Reo Tahiti',
- 'ug': 'Uyƣurqə, ئۇيغۇرچە',
- 'uk': 'українська',
- 'ur': 'اردو',
- 'uz': 'zbek, Ўзбек, أۇزبېك',
- 've': 'Tshivenḓa',
- 'vi': 'Tiếng Việt',
- 'vo': 'Volapük',
- 'wa': 'Walon',
- 'cy': 'Cymraeg',
- 'wo': 'Wollof',
- 'fy': 'Frysk',
- 'xh': 'isiXhosa',
- 'yi': 'ייִדיש',
- 'yo': 'Yorùbá',
- 'za': 'Saɯ cueŋƅ, Saw cuengh',
-};
-
/// Selects the correct language name for a specific language code.
///
/// Does not account for dialects.
-String? getDisplayLanguage(Locale l) => _isoLangs[l.languageCode];
+String? getDisplayLanguage(Locale l) => switch(l.toLanguageTag()) {
+ 'en' => 'English',
+ 'en-US' => 'English (US)',
+ 'de' => 'Deutsch',
+ 'fr' => 'française',
+ 'it' => 'Italiano',
+ 'nb' => 'Norsk bokmål',
+ 'pt' => 'Português',
+ 'pt-BR' => 'português (Brasil)',
+ 'ru' => 'русский',
+ 'tr' => 'Türkçe',
+ 'zh' => '中文 (简体)',
+ 'zh-Hant' => '中文(繁體)',
+ (_) => (){
+ assert(false, l.toString());
+ return l.languageCode;
+ }()
+};