From ea14ea6f0927216120b0955d1427b915712be76f Mon Sep 17 00:00:00 2001 From: cogwheel0 <172976095+cogwheel0@users.noreply.github.com> Date: Sun, 12 Oct 2025 20:59:05 +0530 Subject: [PATCH] feat: Add Spanish, Dutch, Russian, and Chinese languages Adds support for Spanish, Dutch, Russian, and Chinese to the language selection menu. This includes adding the necessary translation strings and updating the app customization page to display these new language options. --- .../profile/views/app_customization_page.dart | 28 +++++++++++++++++++ lib/l10n/app_de.arb | 4 +++ lib/l10n/app_en.arb | 8 ++++++ lib/l10n/app_es.arb | 4 +++ lib/l10n/app_fr.arb | 4 +++ lib/l10n/app_it.arb | 4 +++ lib/l10n/app_localizations.dart | 24 ++++++++++++++++ lib/l10n/app_localizations_de.dart | 12 ++++++++ lib/l10n/app_localizations_en.dart | 12 ++++++++ lib/l10n/app_localizations_fr.dart | 12 ++++++++ lib/l10n/app_localizations_it.dart | 12 ++++++++ lib/l10n/app_nl.arb | 4 +++ lib/l10n/app_ru.arb | 4 +++ lib/l10n/app_zh.arb | 4 +++ 14 files changed, 136 insertions(+) diff --git a/lib/features/profile/views/app_customization_page.dart b/lib/features/profile/views/app_customization_page.dart index 38ae3f1..b61332b 100644 --- a/lib/features/profile/views/app_customization_page.dart +++ b/lib/features/profile/views/app_customization_page.dart @@ -494,6 +494,14 @@ class AppCustomizationPage extends ConsumerWidget { return AppLocalizations.of(context)!.francais; case 'it': return AppLocalizations.of(context)!.italiano; + case 'es': + return AppLocalizations.of(context)!.espanol; + case 'nl': + return AppLocalizations.of(context)!.nederlands; + case 'ru': + return AppLocalizations.of(context)!.russian; + case 'zh': + return AppLocalizations.of(context)!.chinese; default: return AppLocalizations.of(context)!.system; } @@ -554,6 +562,11 @@ class AppCustomizationPage extends ConsumerWidget { trailing: current == 'de' ? const Icon(Icons.check) : null, onTap: () => Navigator.pop(context, 'de'), ), + ListTile( + title: Text(AppLocalizations.of(context)!.espanol), + trailing: current == 'es' ? const Icon(Icons.check) : null, + onTap: () => Navigator.pop(context, 'es'), + ), ListTile( title: Text(AppLocalizations.of(context)!.francais), trailing: current == 'fr' ? const Icon(Icons.check) : null, @@ -564,6 +577,21 @@ class AppCustomizationPage extends ConsumerWidget { trailing: current == 'it' ? const Icon(Icons.check) : null, onTap: () => Navigator.pop(context, 'it'), ), + ListTile( + title: Text(AppLocalizations.of(context)!.nederlands), + trailing: current == 'nl' ? const Icon(Icons.check) : null, + onTap: () => Navigator.pop(context, 'nl'), + ), + ListTile( + title: Text(AppLocalizations.of(context)!.russian), + trailing: current == 'ru' ? const Icon(Icons.check) : null, + onTap: () => Navigator.pop(context, 'ru'), + ), + ListTile( + title: Text(AppLocalizations.of(context)!.chinese), + trailing: current == 'zh' ? const Icon(Icons.check) : null, + onTap: () => Navigator.pop(context, 'zh'), + ), const SizedBox(height: Spacing.sm), ], ), diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 83e6956..00e96de 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -214,6 +214,10 @@ "deutsch": "Deutsch", "francais": "Französisch", "italiano": "Italienisch", + "espanol": "Spanisch", + "nederlands": "Niederländisch", + "russian": "Russisch", + "chinese": "Chinesisch", "deleteMessagesTitle": "Nachrichten löschen", "deleteMessagesMessage": "{count} Nachrichten löschen?", "@deleteMessagesMessage": { diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 214e6a8..eba5a37 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -467,6 +467,14 @@ "@francais": {"description": "Language name: French."}, "italiano": "Italiano", "@italiano": {"description": "Language name: Italian."}, + "espanol": "Español", + "@espanol": {"description": "Language name: Spanish."}, + "nederlands": "Nederlands", + "@nederlands": {"description": "Language name: Dutch."}, + "russian": "Русский", + "@russian": {"description": "Language name: Russian."}, + "chinese": "中文", + "@chinese": {"description": "Language name: Chinese."}, "deleteMessagesTitle": "Delete Messages", "@deleteMessagesTitle": {"description": "Dialog title asking to confirm deletion of messages."}, "deleteMessagesMessage": "Delete {count} messages?", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 630747a..9775617 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -211,6 +211,10 @@ "deutsch": "Deutsch", "francais": "Français", "italiano": "Italiano", + "espanol": "Español", + "nederlands": "Nederlands", + "russian": "Русский", + "chinese": "中文", "deleteMessagesTitle": "Eliminar mensajes", "deleteMessagesMessage": "¿Eliminar {count} mensajes?", "@deleteMessagesMessage": { diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index c7290fe..99ecb6b 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -214,6 +214,10 @@ "deutsch": "Allemand", "francais": "Français", "italiano": "Italien", + "espanol": "Espagnol", + "nederlands": "Néerlandais", + "russian": "Russe", + "chinese": "Chinois", "deleteMessagesTitle": "Supprimer les messages", "deleteMessagesMessage": "Supprimer {count} messages ?", "@deleteMessagesMessage": { diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 37b77ef..9253441 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -214,6 +214,10 @@ "deutsch": "Tedesco", "francais": "Francese", "italiano": "Italiano", + "espanol": "Spagnolo", + "nederlands": "Olandese", + "russian": "Russo", + "chinese": "Cinese", "deleteMessagesTitle": "Elimina messaggi", "deleteMessagesMessage": "Eliminare {count} messaggi?", "@deleteMessagesMessage": { diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 1ef847b..f56db99 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -1286,6 +1286,30 @@ abstract class AppLocalizations { /// **'Italiano'** String get italiano; + /// Language name: Spanish. + /// + /// In en, this message translates to: + /// **'Español'** + String get espanol; + + /// Language name: Dutch. + /// + /// In en, this message translates to: + /// **'Nederlands'** + String get nederlands; + + /// Language name: Russian. + /// + /// In en, this message translates to: + /// **'Русский'** + String get russian; + + /// Language name: Chinese. + /// + /// In en, this message translates to: + /// **'中文'** + String get chinese; + /// Dialog title asking to confirm deletion of messages. /// /// In en, this message translates to: diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index f0df1c1..9d212b0 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -650,6 +650,18 @@ class AppLocalizationsDe extends AppLocalizations { @override String get italiano => 'Italienisch'; + @override + String get espanol => 'Spanisch'; + + @override + String get nederlands => 'Niederländisch'; + + @override + String get russian => 'Russisch'; + + @override + String get chinese => 'Chinesisch'; + @override String get deleteMessagesTitle => 'Nachrichten löschen'; diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 958905b..9c04e70 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -645,6 +645,18 @@ class AppLocalizationsEn extends AppLocalizations { @override String get italiano => 'Italiano'; + @override + String get espanol => 'Español'; + + @override + String get nederlands => 'Nederlands'; + + @override + String get russian => 'Русский'; + + @override + String get chinese => '中文'; + @override String get deleteMessagesTitle => 'Delete Messages'; diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index fb8fe7b..0bc9108 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -655,6 +655,18 @@ class AppLocalizationsFr extends AppLocalizations { @override String get italiano => 'Italien'; + @override + String get espanol => 'Espagnol'; + + @override + String get nederlands => 'Néerlandais'; + + @override + String get russian => 'Russe'; + + @override + String get chinese => 'Chinois'; + @override String get deleteMessagesTitle => 'Supprimer les messages'; diff --git a/lib/l10n/app_localizations_it.dart b/lib/l10n/app_localizations_it.dart index 0ba48eb..9927952 100644 --- a/lib/l10n/app_localizations_it.dart +++ b/lib/l10n/app_localizations_it.dart @@ -647,6 +647,18 @@ class AppLocalizationsIt extends AppLocalizations { @override String get italiano => 'Italiano'; + @override + String get espanol => 'Spagnolo'; + + @override + String get nederlands => 'Olandese'; + + @override + String get russian => 'Russo'; + + @override + String get chinese => 'Cinese'; + @override String get deleteMessagesTitle => 'Elimina messaggi'; diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 0072eba..ff39f34 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -211,6 +211,10 @@ "deutsch": "Deutsch", "francais": "Français", "italiano": "Italiano", + "espanol": "Español", + "nederlands": "Nederlands", + "russian": "Русский", + "chinese": "中文", "deleteMessagesTitle": "Berichten verwijderen", "deleteMessagesMessage": "{count} berichten verwijderen?", "@deleteMessagesMessage": { diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 32fc391..6ff9263 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -211,6 +211,10 @@ "deutsch": "Deutsch", "francais": "Français", "italiano": "Italiano", + "espanol": "Español", + "nederlands": "Nederlands", + "russian": "Русский", + "chinese": "中文", "deleteMessagesTitle": "Удалить сообщения", "deleteMessagesMessage": "Удалить {count, plural, one{{count} сообщение} few{{count} сообщения} other{{count} сообщений}}?", "@deleteMessagesMessage": { diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 1e3c6ca..62bd7c4 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -211,6 +211,10 @@ "deutsch": "Deutsch", "francais": "Français", "italiano": "Italiano", + "espanol": "Español", + "nederlands": "Nederlands", + "russian": "Русский", + "chinese": "中文", "deleteMessagesTitle": "删除消息", "deleteMessagesMessage": "删除 {count} 条消息?", "@deleteMessagesMessage": {