Commit 81fb7af

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2024-01-15 15:39:59
change lang name process
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent bfddcf5
Changed files (2)
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;
+  }()
+};