diff --git a/lib/main.dart b/lib/main.dart index 04788b565..55bb8a358 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -8,6 +8,7 @@ import 'package:tmail_ui_user/features/caching/config/hive_cache_config.dart'; import 'package:tmail_ui_user/main/bindings/main_bindings.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations_delegate.dart'; +import 'package:tmail_ui_user/main/localizations/localization_service.dart'; import 'package:tmail_ui_user/main/pages/app_pages.dart'; import 'package:tmail_ui_user/main/routes/app_routes.dart'; @@ -35,12 +36,7 @@ class TMailApp extends StatelessWidget { return GetMaterialApp( debugShowCheckedModeBanner: false, theme: appTheme(), - supportedLocales: const [ - Locale('en'), - Locale('vi'), - Locale('ru'), - Locale('fr') - ], + supportedLocales: LocalizationService.supportedLocales, localizationsDelegates: const [ AppLocalizationsDelegate(), GlobalMaterialLocalizations.delegate, @@ -55,7 +51,9 @@ class TMailApp extends StatelessWidget { } return supportedLocales.first; }, - locale: Get.locale ?? const Locale('en'), + locale: LocalizationService.locale, + fallbackLocale: LocalizationService.fallbackLocale, + translations: LocalizationService(), onGenerateTitle: (context) => AppLocalizations.of(context).page_name, defaultTransition: Transition.fade, initialRoute: AppRoutes.HOME, diff --git a/lib/main/localizations/app_localizations_delegate.dart b/lib/main/localizations/app_localizations_delegate.dart index dcb388941..c02a592e1 100644 --- a/lib/main/localizations/app_localizations_delegate.dart +++ b/lib/main/localizations/app_localizations_delegate.dart @@ -1,12 +1,13 @@ import 'package:flutter/material.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; +import 'package:tmail_ui_user/main/localizations/localization_service.dart'; class AppLocalizationsDelegate extends LocalizationsDelegate { const AppLocalizationsDelegate(); @override bool isSupported(Locale locale) { - return ['en', 'vi', 'fr', 'ru'].contains(locale.languageCode); + return LocalizationService.supportedLanguageCodes.contains(locale.languageCode); } @override