adding multilingual support
This commit is contained in:
@@ -7,14 +7,18 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'core/providers/dynamic_theme_provider.dart';
|
||||
import 'core/providers/locale_provider.dart';
|
||||
import 'core/providers/theme_provider.dart';
|
||||
import 'core/theme/app_theme.dart';
|
||||
import 'l10n/app_localizations.dart';
|
||||
import 'routes/app_routes.dart';
|
||||
import 'utils/managers/user_manager.dart';
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
await UserManager().initialize();
|
||||
final localeProvider = LocaleProvider();
|
||||
await localeProvider.initialize();
|
||||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
|
||||
runApp(MultiProvider(
|
||||
@@ -24,6 +28,7 @@ void main() async {
|
||||
ChangeNotifierProvider(create: (context) => SystemParamsViewModel()),
|
||||
ChangeNotifierProvider(create: (context) => ThemeProvider()),
|
||||
ChangeNotifierProvider(create: (context) => DynamicThemeProvider()),
|
||||
ChangeNotifierProvider.value(value: localeProvider),
|
||||
],
|
||||
child: const MyApp(),
|
||||
));
|
||||
@@ -63,8 +68,8 @@ class MyApp extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Consumer2<ThemeProvider, DynamicThemeProvider>(
|
||||
builder: (context, themeProvider, dynamicThemeProvider, child) {
|
||||
return Consumer3<ThemeProvider, DynamicThemeProvider, LocaleProvider>(
|
||||
builder: (context, themeProvider, dynamicThemeProvider, localeProvider, child) {
|
||||
final theme = AppTheme.getTheme(context);
|
||||
// Set system UI overlay style
|
||||
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
|
||||
@@ -86,6 +91,9 @@ class MyApp extends StatelessWidget {
|
||||
initialRoute: RouteNames.splashView,
|
||||
onGenerateRoute: AppRoutes.generateRoutes,
|
||||
navigatorKey: navigatorKey,
|
||||
locale: localeProvider.locale,
|
||||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
localizationsDelegates: AppLocalizations.localizationsDelegates,
|
||||
builder: (context, child) {
|
||||
return MediaQuery(
|
||||
data: MediaQuery.of(context).copyWith(
|
||||
|
||||
Reference in New Issue
Block a user