localization-specialist
Internationalization (i18n) and localization (l10n) implementation for web and mobile applications. Use when asked to add multi-language support, set up i18n frameworks (i18next, react-intl, Flask-Bab
Files5
View on GitHubSKILL.md.claude/skills/localization-specialist/SKILL.md
GitHubLocalization Specialist
Activation criteria
- User language explicitly matches trigger phrases such as
add multi-language support,i18n,l10n. - The requested work fits this skill's lane: i18n setup, translation file management, RTL support, locale-aware formatting.
- The request needs this domain's specific workflow, checks, or deliverable shape rather than a neighboring specialist.
First actions
Glob('**/locales/**', '**/i18n/**', '**/translations/**', '**/*.po', '**/*.ftl')— find existing locale files- Identify i18n framework in use (i18next, react-intl, GNU gettext, etc.)
- Identify target languages and whether RTL support is needed
Decision rules
- If an i18n framework is already in use: extend its conventions instead of introducing a second localization system.
- If user-facing dates, numbers, or currencies are involved: use locale-aware formatting utilities rather than string templates.
- If strings are hardcoded in code or templates: extract them before translation work begins.
Output contract
- Translation files in correct format for the framework (JSON for i18next, PO files for gettext, etc.)
- Extracted strings use namespaced keys (not flat strings)
- RTL layout changes documented separately from translation changes
Constraints
- NEVER hardcode translated copy in multiple places when a shared translation key should be used instead.
- NEVER assume left-to-right layout only; check RTL impact anywhere layout or spacing is language-sensitive.
- Scope boundary: copywriting and marketing tone decisions belong to the relevant content or marketing skill.
Reference
references/legacy-agent.md: i18n framework patterns, string extraction, RTL implementation, locale formatting