From f75c43f4adaa5a69b92409688a4d32561cc1ff18 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Sun, 7 May 2023 10:01:23 +0530 Subject: [PATCH] Add support for more locales --- lib/locale.dart | 7 ++++++- lib/ui/settings/language_picker.dart | 25 ++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/lib/locale.dart b/lib/locale.dart index b1fa71c74..ad16741bc 100644 --- a/lib/locale.dart +++ b/lib/locale.dart @@ -5,9 +5,14 @@ import 'package:shared_preferences/shared_preferences.dart'; // Add more language to the list only when at least 90% of the strings are // translated in the corresponding language. const List appSupportedLocales = [ + Locale('de'), Locale('en'), - Locale('es'), + Locale('es', 'ES'), Locale('fr'), + Locale('nl'), + Locale('pt', 'BR'), + Locale('ru'), + Locale("zh", "CN"), ]; Locale localResolutionCallBack(locales, supportedLocales) { diff --git a/lib/ui/settings/language_picker.dart b/lib/ui/settings/language_picker.dart index 5c1bc6796..2b1b0ba43 100644 --- a/lib/ui/settings/language_picker.dart +++ b/lib/ui/settings/language_picker.dart @@ -122,15 +122,27 @@ class _ItemsWidgetState extends State { case 'en': return 'English'; case 'es': - return 'Español'; + switch (locale.countryCode) { + case 'ES': + return 'Español (España)'; + default: + return 'Español'; + } case 'fr': return 'Français'; case 'de': return 'Deutsch'; case 'it': return 'Italiano'; + case 'nl': + return 'Nederlands'; case 'pt': - return 'Português'; + switch (locale.countryCode) { + case 'BR': + return 'Português (Brasil)'; + default: + return 'Português'; + } case 'ru': return 'Русский'; case 'tr': @@ -138,7 +150,14 @@ class _ItemsWidgetState extends State { case 'fi': return 'Suomi'; case 'zh': - return '中文'; + switch (locale.scriptCode) { + case 'Hans': + return '中文 (简体)'; + case 'Hant': + return '中文 (繁體)'; + default: + return '中文'; + } case 'ja': return '日本語'; case 'ko':