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.
This commit is contained in:
cogwheel0
2025-10-12 20:59:05 +05:30
parent f8c823dea4
commit ea14ea6f09
14 changed files with 136 additions and 0 deletions

View File

@@ -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),
],
),