1---2name: li-lance-android-seraphim-framework-flutter-localization3description: Localization4---56# Localization78## **Priority: P1 (STANDARD)**910Consistent multi-language support using `easy_localization`.1112## Format Selection1314- **CSV** (Recommended for teams with translators): Google Sheets compatibility via15 `sheet_loader_localization`. Store in `assets/langs/`.16- **JSON** (Developer-friendly): Nested structure support with IDE validation. Store in17 `assets/translations/`.1819## Structure2021```text22# CSV Format (Google Sheets workflow)23assets/langs/langs.csv2425# OR JSON Format (nested keys)26assets/translations/27├── en.json28└── vi.json29```3031## Implementation Workflow32331. **Initialize** — Call `await EasyLocalization.ensureInitialized()` before `runApp`.342. **Wrap root** — Wrap the app with `EasyLocalization` widget specifying supported locales and35 path.363. **Translate strings** — Use `.tr()` extension on keys (e.g., `'welcome'.tr()`).374. **Switch locale** — Change via `context.setLocale(Locale('vi'))`.385. **Handle plurals** — Use `plural()` for quantity-dependent strings.396. **Sync translations** — Use `sheet_loader_localization` to auto-generate CSV/JSON from Google40 Sheets.4142### Bootstrap & Usage Examples4344See [implementation examples](references/implementation.md) for bootstrap setup and translation45usage patterns.4647## Anti-Patterns4849- ❌ Hardcoded strings in UI — always use translation keys50- ❌ Using `Localizations.of` manually — use `easy_localization` `.tr()` extension51- ❌ Mismatched keys across locale files — keep keys identical in all locales5253## Reference & Examples5455For setup and Google Sheets automation:56See [references/REFERENCE.md](references/REFERENCE.md).5758## Related Topics5960idiomatic-flutter | widgets6162---63> Source: [li-lance/android-seraphim-framework](https://github.com/li-lance/android-seraphim-framework) — distributed by [TomeVault](https://tomevault.io).64<!-- tomevault:4.0:skill_md:2026-06-16 -->
Run npx skillmds@latest add tomevault-io/li-lance-android-seraphim-framework-flutter-localization in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Localization It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.