TF-297 Inject LocalizationService in main when launch app
This commit is contained in:
+5
-7
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user