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/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,
@@ -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<AppLocalizations> {
const AppLocalizationsDelegate();
@override
bool isSupported(Locale locale) {
return ['en', 'vi', 'fr', 'ru'].contains(locale.languageCode);
return LocalizationService.supportedLanguageCodes.contains(locale.languageCode);
}
@override