Localize your Flutter app to multiple locales within seconds
✅ 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
Look at a Simple app at GitHub.
Create an assets/locales folder at the root of your project and add your locales json files. like:
Include latest dependency of flutter_locales
dependencies: flutter: sdk: flutter flutter_locales:
Include assets/locales/ folder
flutter: uses-material-design: true assets: - assets/locales/
Replace your main app with
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Locales.init(['en', 'fa', 'ps']); // get last saved language // remove await if you want to get app default language
runApp(MyApp()); }
* `['en', 'fa', 'ps']` are language codes of `.json` files located in located in `assets/locales` folder
* You can replace these languages with your languages
> Wrap your `MaterialApp` with `LocaleBuilder` then provide locale to app
```dart
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(),
),
);
}
}
LocaleBuilder
rebuild the app you change the app locale by Locales.change(context, 'fa')
LocaleText
Widget Use to translate a key
LocaleText(`welcome`);
LocaleText
Translate a key to string
Locales.string(context, 'welcome')
// with extension context.localeString('welcome');
## Change App Locale
To change app locale language
```dart
Locales.change(context, 'fa');
//with extension
context.changeLocale('fa');
Locales.currentLocale(context);
//with extension context.currentLocale;
## Getting Started
This project is a starting point for a Dart
[package](https://flutter.dev/developing-packages/),
a library module containing code that can be shared easily across
multiple Flutter or Dart projects.
For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.