TF-297 Inject LocalizationService in main when launch app

This commit is contained in:
dab246
2022-07-08 13:56:42 +07:00
committed by Dat H. Pham
parent 92405a2309
commit fd7ef88246
2 changed files with 7 additions and 8 deletions
+5 -7
View File
@@ -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/bindings/main_bindings.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.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/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/pages/app_pages.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart'; import 'package:tmail_ui_user/main/routes/app_routes.dart';
@@ -35,12 +36,7 @@ class TMailApp extends StatelessWidget {
return GetMaterialApp( return GetMaterialApp(
debugShowCheckedModeBanner: false, debugShowCheckedModeBanner: false,
theme: appTheme(), theme: appTheme(),
supportedLocales: const [ supportedLocales: LocalizationService.supportedLocales,
Locale('en'),
Locale('vi'),
Locale('ru'),
Locale('fr')
],
localizationsDelegates: const [ localizationsDelegates: const [
AppLocalizationsDelegate(), AppLocalizationsDelegate(),
GlobalMaterialLocalizations.delegate, GlobalMaterialLocalizations.delegate,
@@ -55,7 +51,9 @@ class TMailApp extends StatelessWidget {
} }
return supportedLocales.first; return supportedLocales.first;
}, },
locale: Get.locale ?? const Locale('en'), locale: LocalizationService.locale,
fallbackLocale: LocalizationService.fallbackLocale,
translations: LocalizationService(),
onGenerateTitle: (context) => AppLocalizations.of(context).page_name, onGenerateTitle: (context) => AppLocalizations.of(context).page_name,
defaultTransition: Transition.fade, defaultTransition: Transition.fade,
initialRoute: AppRoutes.HOME, initialRoute: AppRoutes.HOME,
@@ -1,12 +1,13 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.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<AppLocalizations> { class AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
const AppLocalizationsDelegate(); const AppLocalizationsDelegate();
@override @override
bool isSupported(Locale locale) { bool isSupported(Locale locale) {
return ['en', 'vi', 'fr', 'ru'].contains(locale.languageCode); return LocalizationService.supportedLanguageCodes.contains(locale.languageCode);
} }
@override @override