flutter_locales2 1.0.0
flutter_locales2: ^1.0.0 copied to clipboard
Easily localize your app to multiple languages
flutter_locales2 #
Localize your Flutter app to multiple locales within seconds
** Note: This package is updated version from flutter_locales ** #
Why Flutter Locales #
✅ Easily Localize your app
✅ Change App Locale within the app
✅ Get Last Changed locale on App starts
✅ Save Locale Language After changed buy LocaleNotifier
✅ Get Translation with LocaleText('key') Widget
Example App #
Look at a Simple app at GitHub.
[Example App]
Video Tutorial #
1) Create locales assets #
Create an assets/locales folder at the root of your project and add your locales json files. like: [Example app assets/locales]
- your locale files name shall be Name of the language
- like:
- en.json For english locales
- ar.json for Arabic locales
- like:
2) Include package and assets #
Include latest dependency of flutter_locales
dependencies:
flutter:
sdk: flutter
flutter_locales:
Include assets/lang/ folder
flutter:
uses-material-design: true
assets:
- assets/lang/
3) Initialize app #
Replace your main app with
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Locales.init(['en', 'fa', 'ar']); // get last saved language
// remove await if you want to get app default language
runApp(MyApp());
}
['en', 'fa', 'ar']are language codes of.jsonfiles located in located inassets/localesfolder- You can replace these languages with your languages
Wrap your
MaterialAppwithLocaleBuilderthen provide locale to app
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return LocaleBuilder(
builder: (locale) => MaterialApp(
title: 'Flutter Locales',
localizationsDelegates: Locales.delegates,
supportedLocales: Locales.supportedLocales,
locale: locale,
home: HomeScreen(),
),
);
}
}
LocaleBuilderrebuild the app you change the app locale byLocales.change(context, 'fa')
Locale Text #
LocaleText Widget Use to translate a key
LocaleText(`welcome`);
LocaleTextTranslate a key to string
Locale String #
- To get a key translated call
Locales.string(context, 'welcome')
// with extension
context.localeString('welcome');
Change App Locale #
To change app locale language
Locales.change(context, 'fa');
//with extension
context.changeLocale('fa');
- When you change app automatically saves at Locale
Current Locale Language #
- To get current locale call
Locales.currentLocale(context);
//with extension
context.currentLocale;