Untitled
unknown
plain_text
a year ago
1.4 kB
2
Indexable
Never
import 'package:flutter/material.dart'; import 'package:flutter_localization_v2/classes/language_constants.dart'; import 'package:flutter_localization_v2/router/custom_router.dart'; import 'package:flutter_localization_v2/router/route_constants.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({Key? key}) : super(key: key); @override State<MyApp> createState() => _MyAppState(); static void setLocale(BuildContext context, Locale newLocale) { _MyAppState? state = context.findAncestorStateOfType<_MyAppState>(); state?.setLocale(newLocale); } } class _MyAppState extends State<MyApp> { Locale? _locale; setLocale(Locale locale) { setState(() { _locale = locale; }); } @override void didChangeDependencies() { getLocale().then((locale) => {setLocale(locale)}); super.didChangeDependencies(); } @override Widget build(BuildContext context) { return MaterialApp( title: 'Localization', debugShowCheckedModeBanner: false, theme: ThemeData( primarySwatch: Colors.blue, ), localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: AppLocalizations.supportedLocales, onGenerateRoute: CustomRouter.generatedRoute, initialRoute: homeRoute, locale: _locale, ); } }