land 0.0.3
land: ^0.0.3 copied to clipboard
Tool for generating localization files in Dart
LAND #
Tool for generating localization files to be used in Dart applications.
- Supports complex ICU messages
- Works on non Flutter apps
Using instead of flutter gen-l10n #
1. Update configuration #
Instead of specifying the output localization file, only specify the folder
l10n.yaml
# remove
output-localization-file: l10n.dart
# add
output-directory: lib/.gen/l10n/
2. Rename the configuration file #
l10n.yaml -> land.yaml
3. Remove generate flag #
pubspec.yaml
# remove this inside flutter:
generate: true
4. Ignore the generated files #
.gitignore
# Generated files
/lib/.gen/
5. Add land as dependency #
pubspec.yaml
# add to dev_dependencies:
land: any
6. Generate the files #
flutter pub run land
7. Profit 🚀 #
Configuration example: #
1. Create configuration file #
land.yaml
arb-dir: l10n
template-arb-file: l10n_en.arb
output-directory: lib/.gen/l10n/
output-class: L10N
2. Create localization files #
Create a folder named l10n in the root of the application (outside lib) and add your languages files there, for example:
l10n/l10n_en.arb
{
"helloWorld": "Hello World!",
"@helloWorld": {}
}
l10n/l10n_pt.arb
{
"helloWorld": "Olá mundo!"
}
3. Ignore the generated files #
Update your .gitignore to ignore the generated files.
.gitignore
# Generated files
/lib/.gen/
4. Run land #
After running land all the files should be generated to be used. If it is a Flutter project it will contain the glue to use in a Flutter application. More details about Flutter localization at: https://docs.flutter.dev/development/accessibility-and-localization/internationalization.
NOTE: I highly recommend downloading the tool, building it, making it available globally and use it this way instead of using flutter pub run.