Agent Skills: Localization

Add multi-language support using easy_localization with CSV or JSON. Use when implementing localization or multi-language support in Flutter apps. (triggers: **/assets/translations/*.json, **/assets/langs/*.csv, main.dart, localization, multi-language, translation, tr(), easy_localization, sheet_loader)

UncategorizedID: hoangnguyen0403/agent-skills-standard/flutter-localization

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/flutter/flutter-localization

Skill Files

Browse the full folder contents for flutter-localization.

Download Skill

Loading file tree…

skills/flutter/flutter-localization/SKILL.md

Skill Metadata

Name
flutter-localization
Description
"Add multi-language support using easy_localization with CSV or JSON. Use when implementing localization or multi-language support in Flutter apps. (triggers: **/assets/translations/*.json, **/assets/langs/*.csv, main.dart, localization, multi-language, translation, tr(), easy_localization, sheet_loader)"

Localization

Priority: P1 (STANDARD)

Consistent multi-language support using easy_localization.

Format Selection

  • CSV (Recommended for teams with translators): Google Sheets compatibility via sheet_loader_localization. Store in assets/langs/.
  • JSON (Developer-friendly): Nested structure support with IDE validation. Store in assets/translations/.

Structure

# CSV Format (Google Sheets workflow)
assets/langs/langs.csv

# OR JSON Format (nested keys)
assets/translations/
├── en.json
└── vi.json

Implementation Workflow

  1. Initialize — Call await EasyLocalization.ensureInitialized() before runApp.
  2. Wrap root — Wrap the app with EasyLocalization widget specifying supported locales and path.
  3. Translate strings — Use .tr() extension on keys (e.g., 'welcome'.tr()).
  4. Switch locale — Change via context.setLocale(Locale('vi')).
  5. Handle plurals — Use plural() for quantity-dependent strings.
  6. Sync translations — Use sheet_loader_localization to auto-generate CSV/JSON from Google Sheets.

Bootstrap & Usage Examples

See implementation examples for bootstrap setup and translation usage patterns.

Anti-Patterns

  • ❌ Hardcoded strings in UI — always use translation keys
  • ❌ Using Localizations.of manually — use easy_localization .tr() extension
  • ❌ Mismatched keys across locale files — keep keys identical in all locales

Reference & Examples

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

Related Topics

idiomatic-flutter | widgets