localize_and_translate

Creator: coderz1093

Last updated:

Add to Cart

Description:

localize and translate

localize_and_translate #
Flutter localization in easy steps








Getting Started #
🔩 Installation #
Add to your pubspec.yaml:
dependencies:
localize_and_translate: <last_version>
copied to clipboard
Create folder and add translation files like this
assets
└── lang
├── {languageCode}.{ext} //only language code
└── {languageCode}-{countryCode}.{ext} //or full locale code
copied to clipboard
Example:
assets
└── lang
├── en.json
└── en-US.json
copied to clipboard
Declare your assets localization directory in pubspec.yaml:
flutter:
assets:
- assets/lang/
copied to clipboard
⚠️ Note on iOS #
For translation to work on iOS you need to add supported locales to
ios/Runner/Info.plist as described here.
Example:
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>nb</string>
</array>
copied to clipboard
⚙️ Configuration #
Add EasyLocalization widget like in example
import 'package:flutter/material.dart';
import 'package:localize_and_translate/localize_and_translate.dart';

void main() async {
WidgetsFlutterBinding.ensureInitialized();
await LocalizeAndTranslate.init(
assetLoader: const AssetLoaderRootBundleJson('assets/lang/'), // <-- change the path of the translation files
supportedLanguageCodes: <String>['ar', 'en'], // <-- or supportedLocales: [Locale('ar', 'DZ'), Locale('en', 'US')],
);

runApp(
LocalizedApp(
child: MaterialApp(
// style 1
builder: LocalizeAndTranslate.directionBuilder,
// style 2
builder: (BuildContext context, Widget? child) {
child = LocalizeAndTranslate.directionBuilder(context, child);

return child;
},
home: const MyHomePage(),
locale: context.locale,
localizationsDelegates: context.delegates,
supportedLocales: context.supportedLocales,
),
),
);
}
copied to clipboard
Full example
📜 Localize And Translate init properties #



Properties
Required
Description




supportedLanguageCodes
or next
List of supported languages to be converted to locales.


supportedLocales
or prev
List of supported locales.


defaultType
false
Path to your folder with localization files.


assetLoader
true
Class loader for localization values. You can create your own class.



Usage #
Init #
Call LocalizeAndTranslate.init(params) in your main before runApp.
void main() async{
// ...
// Needs to be called so that we can await for LocalizeAndTranslate.init();
WidgetsFlutterBinding.ensureInitialized();

await LocalizeAndTranslate.init(
assetLoader: const AssetLoaderRootBundleJson('assets/lang/'), // <-- change the path of the translation files
supportedLocales: <Locale>[Locale('ar', 'DZ'), Locale('en', 'US')], // <-- or supportedLanguageCodes: <String>['ar', 'en'],
defaultType: LocalizationDefaultType.asDefined, // <-- change the default type
);
// ...
runApp(
// ...
);
// ...
}
copied to clipboard
context extensions #
LocalizeAndTranslate uses extension methods [BuildContext] for access to some values.
Example:
// set locale
context.setLocale(Locale('en', 'US'));

// set language code
context.setLanguageCode('en');

// get locale
context.locale; // en_US

// get language code
context.languageCode; // en
copied to clipboard
Translate tr() #
Main function for translate your language keys
print('title'.tr(defaultValue: 'Awesome App')); //String
copied to clipboard
Translations #
as json values pair
{
"title": "Awesome App",
"hello": "Hello",
"world": "World!",
}
copied to clipboard
API Reference #



Properties
Extension
Type
Description




countryCode
context
Property
Gets the country code of the current locale.


delegates
context
Property
Gets the list of localization delegates used for translation.


init
no
Method
Initializes the plugin with the desired configuration values.


locale
context
Property
Gets the current locale being used for localization.


resetLocale
context
Method
Resets the current locale to its default value.


setLanguageCode
context
Method
Sets the language code for localization.


setLocale
context
Method
Sets the current locale to one of the supported locales.


supportedLocales
context
Property
Gets the list of supported locales for the app.


tr
string
Method
Retrieves the translated string for a given localization key.



Reset everything to default values passed through init().
Example:
RaisedButton(
onPressed: (){
context.resetLocale();
},
child: Text(LocaleKeys.reset_locale).tr(),
)
copied to clipboard
Contributors #
Contributors

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.