- Home
- Skills
- Yelmuratoff
- Agent Sync
- Localization
localization_skill
- Shell
3
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
3 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill yelmuratoff/agent_sync --skill localization- SKILL.md1.8 KB
Overview
This skill guides adding Flutter localizations using gen-l10n and ARB files, covering keys, parameters, pluralization, and wiring generated strings into widgets. It focuses on practical configuration, ARB authoring patterns, using the generated AppLocalizations, and handling directionality for RTL locales. The goal is predictable, testable localized UI behavior across languages.
How this skill works
Enable Flutter's gen-l10n via a l10n.yaml and place ARB files in the configured directory. Add stable, descriptive ARB keys with placeholders and ICU plural syntax where needed. Use the generated AppLocalizations class inside widgets to retrieve localized strings, and prefer directional widgets and mirroring options to support RTL layouts. Test locale-dependent logic and at least one critical screen in an RTL locale.
When to use it
- When adding a new screen or feature that shows user-visible text.
- When replacing hardcoded strings with maintainable localized resources.
- When introducing parameters, placeholders, or plural forms in copy.
- When supporting additional locales or preparing for RTL languages.
- When you need consistent programmatic access to localized strings in widgets.
Best practices
- Keep ARB keys stable and descriptive; avoid concatenating strings in code.
- Use ICU plural and placeholder syntax in ARB files to handle counts and parameters.
- Store ARB files under lib/l10n and configure l10n.yaml to generate AppLocalizations.
- Access strings via AppLocalizations.of(context) and pass typed parameters from code.
- Prefer EdgeInsetsDirectional, AlignmentDirectional, and matchTextDirection for RTL support.
- Add targeted widget or golden tests for any UI logic that depends on localized output.
Example use cases
- Add a new screen: create app_en.arb entries, regenerate localizations, and call AppLocalizations in the screen widget.
- Introduce pluralized labels: add a plural ARB entry with placeholders and use the generated method with count.
- Replace concatenated labels: combine template text and placeholders in ARB to preserve grammar across languages.
- Enable RTL layout: switch paddings and alignments to directional variants and validate the screen in an RTL locale.
- Test localized UI: run widget tests with a fixed Locale and verify rendered strings and layout direction.
FAQ
Add a l10n.yaml in your project root pointing to the ARB dir and template file, then run Flutter build or rely on IDE build actions to generate AppLocalizations.
How should I handle pluralization and parameters?
Use ICU plural syntax in ARB entries and declare placeholders with types; the generator produces methods that accept typed parameters like count or name.