Agent-skills-standard flutter-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)
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/flutter/flutter-localization" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-flutter-localization && rm -rf "$T"
manifest:
skills/flutter/flutter-localization/SKILL.mdsource content
Localization
Priority: P1 (STANDARD)
Format Selection
- CSV (Recommended for teams with translators): Google Sheets compatibility via
. Store insheet_loader_localization
.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
- Initialize — Call
beforeawait EasyLocalization.ensureInitialized()
.runApp - Wrap root — Wrap app with
widget specifying supported locales and path.EasyLocalization - Translate strings — Use
extension on keys (e.g.,.tr()
).'welcome'.tr() - Switch locale — Change via
.context.setLocale(Locale('vi')) - Handle plurals — Use
for quantity-dependent strings.plural() - Sync translations — Use
to auto-generate CSV/JSON from Google Sheets.sheet_loader_localization
Bootstrap & Usage Examples
See implementation examples for bootstrap setup and translation usage patterns.
Anti-Patterns
- No Hardcoded Strings: Always use translation keys from assets
- No Manual Localization Calls: Use
easy_localization
extension.tr() - No Mismatched Keys: Ensure keys identical across all locale-specific files
Reference & Examples
For setup and Google Sheets automation: See references/REFERENCE.md.
Related Topics
idiomatic-flutter | widgets