Skip to content

Commit

Permalink
Add locale code to app language selector (#1142)
Browse files Browse the repository at this point in the history
* added country code to language selector

* changed from country code to locale identifier
  • Loading branch information
hjiangsu authored Feb 21, 2024
1 parent deba608 commit d25b046
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions lib/settings/pages/general_settings_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -398,15 +398,15 @@ class _GeneralSettingsPageState extends State<GeneralSettingsPage> with SingleTi
description: l10n.appLanguage,
bottomSheetHeading: Align(alignment: Alignment.centerLeft, child: Text(l10n.translationsMayNotBeComplete)),
value: ListPickerItem(label: currentLocale.languageCode, icon: Icons.language_rounded, payload: currentLocale),
options: supportedLocales.map((e) => ListPickerItem(label: LanguageLocal.getDisplayLanguage(e.languageCode), icon: Icons.language_rounded, payload: e)).toList(),
options: supportedLocales.map((e) => ListPickerItem(label: LanguageLocal.getDisplayLanguage(e.languageCode, e.toLanguageTag()), icon: Icons.language_rounded, payload: e)).toList(),
icon: Icons.language_rounded,
onChanged: (ListPickerItem<Locale> value) {
setPreferences(LocalSettings.appLanguageCode, value.payload);
},
valueDisplay: Row(
children: [
Text(
LanguageLocal.getDisplayLanguage(currentLocale.languageCode),
LanguageLocal.getDisplayLanguage(currentLocale.languageCode, currentLocale.toLanguageTag()),
style: theme.textTheme.titleSmall,
),
],
Expand Down
4 changes: 2 additions & 2 deletions lib/utils/language/language.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class LanguageLocal {
static String getDisplayLanguage(key) {
static String getDisplayLanguage(key, String? code) {
final languageLabels = {
"ab": {"name": "Abkhaz", "nativeName": "аҧсуа"},
"aa": {"name": "Afar", "nativeName": "Afaraf"},
Expand Down Expand Up @@ -186,7 +186,7 @@ class LanguageLocal {
};

if (languageLabels.containsKey(key)) {
return languageLabels[key]?["nativeName"] ?? "N/A";
return "${languageLabels[key]?["nativeName"]}${code != null ? " ($code)" : ""}";
} else {
throw Exception("Language key incorrect");
}
Expand Down

0 comments on commit d25b046

Please sign in to comment.