Skip to content
Flutter Localization logo

Flutter Localization

Standards for multi-language support using easy_localization and JSON/CSV assets.

ngxtm/devkit0installs8stars

SKILL.md

Full skill instructions

Localization

Priority: P1 (STANDARD)

Consistent multi-language support using easy_localization.

Structure

assets/
└── translations/
    ├── en.json
    └── vi.json

Implementation Guidelines

  • Bootstrap: Wrap root with EasyLocalization. Always use await EasyLocalization.ensureInitialized().
  • Format: Default to JSON. Store in assets/​translations/.
  • Lookup: Use .tr() extension on strings.
  • Locale: Change via context.setLocale(Locale('code')).
  • Params: Use {} in JSON; pass via tr(args: [...]).
  • Counting: Use plural() for quantities.
  • Sheets: Sync via sheet_loader_localization from Google Sheets for Online file storage to JSON/​CSV.

Anti-Patterns

  • Hardcoding: No raw strings in UI; use keys.
  • Manual L10n: Avoid standard Localizations.of; use GetX or easy_localization context methods.
  • Desync: Keep keys identical across all locale files.

Reference & Examples

For setup and Google Sheets automation: See references/​REFERENCE.md.

Related Topics

idiomatic-flutter | widgets