i18n-expert
A comprehensive tool to configure i18n frameworks and audit localization coverage in React/TS applications.
Install
mkdir -p .claude/skills/i18n-expert && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3899" && unzip -o skill.zip -d .claude/skills/i18n-expert && rm skill.zipInstalls to .claude/skills/i18n-expert
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
This skill should be used when setting up, auditing, or enforcing internationalization/localization in UI codebases (React/TS, i18next or similar, JSON locales), including installing/configuring the i18n framework, replacing hard-coded strings, ensuring en-US/zh-CN coverage, mapping error codes to localized messages, and validating key parity, pluralization, and formatting.Key capabilities
- →Configure i18n framework providers and routing strategies
- →Audit codebases for hard-coded strings and missing translation keys
- →Implement pluralization and formatting using library-specific helpers
- →Map application error codes to localized UI messages
- →Organize locale files into structured namespaces
- →Localize accessibility attributes like aria-labels and placeholders
How it works
The process involves auditing the codebase for hard-coded strings, replacing them with translation keys, and ensuring parity across locale files using automated scripts and manual verification.
Inputs & outputs
When to use i18n-expert
- →Initialize i18n in a new project
- →Audit existing code for hard-coded strings
- →Verify en-US and zh-CN translation keys
About this skill
I18n Expert
Overview
Deliver a complete i18n setup + audit pass: configure the i18n framework, replace user-facing strings with keys, ensure locale parity, and validate pluralization/formatting for en-US and zh-CN.
Core Capabilities
- Library selection and setup (React, Next.js, Vue).
- Key architecture and locale file organization.
- Translation generation and quality strategy (AI, professional, manual).
- Routing and language detection/switching.
- SEO and metadata localization (when applicable).
- RTL support (only if RTL locales are in scope).
Scope Inputs (ask if unclear)
- Framework and routing style.
- Existing i18n state (none, partial, legacy).
- Target locales (default: en-US + zh-CN).
- Translation quality needs (AI vs professional vs manual).
- Locale formats in use (JSON, YAML, PO, XLIFF).
- Formality/cultural requirements (if any).
Workflow (Audit -> Fix -> Validate)
- Confirm scope and locale targets
- Identify the i18n framework and locale locations.
- Confirm locales; default to en-US + zh-CN when specified.
- Setup i18n baseline (if missing)
- Choose a framework-appropriate library (e.g., React: react-i18next; Next.js: next-intl; Vue: vue-i18n).
- Install packages and create the i18n entry/config file.
- Wire the provider at the app root and load locale resources.
- Add a language switcher and persistence (route/param/localStorage) as appropriate.
- Establish locale file layout and key namespaces.
- If routing is locale-aware, define the locale segment strategy early (subpath, subdomain, query param).
- If metadata is user-facing, include translation for titles/descriptions.
- Audit key usage and locale parity
- Run:
python scripts/i18n_audit.py --src <src-root> --locale <path/to/en-US.json> --locale <path/to/zh-CN.json> - Treat missing keys/parity gaps as blockers.
- Manually verify dynamic keys (
t(var)).
- Find raw user-facing strings
- Search:
rg -n --glob '<src>/**/*.{ts,tsx,js,jsx}' "<[^>]+>[^<{]*[A-Za-z][^<{]*<" rg -n --glob '<src>/**/*.{ts,tsx,js,jsx}' "aria-label=\"[^\"]+\"|title=\"[^\"]+\"|placeholder=\"[^\"]+\"" - Localize accessibility labels.
- Replace strings with keys
- Use
t('namespace.key')for UI text. - For plurals use
t('key', { count })+_one/_otherkeys. - Use Intl/app formatters for time/date/number.
- Localize error handling (critical)
- Map error codes to localized keys; show localized UI only.
- Log raw error details only.
- Provide localized fallback for unknown codes.
- Update locale files
- Add missing keys in both locales.
- Keep placeholders consistent; avoid renames unless requested.
- Generate translations using the agreed method; preserve placeholders and plural rules.
- Validate
- Re-run the audit until missing/parity issues are zero.
- Validate JSON (e.g.,
python -m json.tool <file>). - Update tests asserting visible text.
Guardrails
- Never expose raw
error.messageto UI; show localized strings only. - Do not add extra locales unless explicitly requested.
- Prefer structured namespaces (e.g.,
errors.*,buttons.*,workspace.*). - Keep translations concise and consistent.
- Some technical/brand terms should remain untranslated (e.g., product name, API, MCP, Bash).
Deliverables (expected outputs)
- i18n config/provider wiring.
- Locale files for each target language.
- Replaced UI strings with stable keys.
- Language switcher and persistence (if applicable).
- Updated tests for visible text.
Architecture Guidance (keep concise)
- Key structure: prefer nested namespaces by area (e.g.,
common.buttons.save,pricing.tier.pro). - File layout: one file per locale or per-locale namespaces; keep keys in sync across locales.
- Placeholders: preserve
{name}/{{name}}exactly; validate plurals by locale rules. - Formatting: use Intl/app helpers for date, time, number, and list formatting.
- SEO/metadata: localize titles and descriptions if the app exposes them.
- RTL: only needed for RTL locales; use logical CSS properties and test layout.
- Non-web surfaces (Electron main-process dialogs, CLI prompts, native menus) need localization too.
Performance Notes (short)
- Lazy-load locale bundles when the app supports it.
- Split large locale files by namespace.
Failure Modes (watchlist)
- Missing translations: fall back to default locale and log warnings.
- RTL layout issues: verify logical CSS and test pages.
- SEO missing: ensure alternates and metadata are localized when applicable.
Validation Checklist (short)
- No missing keys and no raw UI strings.
- Locale switching works and persists.
- Plurals and formatting verified in both locales.
- Fallback locale configured.
Resources
scripts/
scripts/i18n_audit.py: Extractst('key')usage and compares against locale JSON files.
When not to use it
- →Translating technical brand terms or product names
- →Adding locales not explicitly requested by the user
Prerequisites
Limitations
- →Requires manual verification of dynamic keys
- →RTL support is restricted to explicitly scoped locales
How it compares
Unlike manual string replacement, this workflow uses automated audit scripts to detect missing keys and parity gaps across multiple locale files.
Compared to similar skills
i18n-expert side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| i18n-expert (this skill) | 2 | 6mo | Review | Intermediate |
| frontend-developer | 0 | 4mo | No flags | Intermediate |
| skills | 0 | 3mo | No flags | Beginner |
| roier-seo | 4 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by daymade
View all by daymade →You might also like
frontend-developer
bonnguyenitc
Use when building web UI, designing component architecture, or reviewing frontend code — regardless of framework (React, Vue, Svelte, etc.)
skills
jralvarenga
Package map and reading order for Better Translate product skills.
roier-seo
davila7
Technical SEO auditor and fixer. Runs Lighthouse/PageSpeed audits on websites or local dev servers, analyzes SEO/performance/accessibility scores, and automatically implements fixes for meta tags, structured data, Core Web Vitals, and accessibility issues.
ai-model-web
TencentCloudBase
Use this skill when developing browser/Web applications (React/Vue/Angular, static websites, SPAs) that need AI capabilities. Features text generation (generateText) and streaming (streamText) via @cloudbase/js-sdk. Built-in models include Hunyuan (hunyuan-2.0-instruct-20251111 recommended) and DeepSeek (deepseek-v3.2 recommended). NOT for Node.js backend (use ai-model-nodejs), WeChat Mini Program (use ai-model-wechat), or image generation (Node SDK only).
moai-domain-frontend
modu-ai
Frontend development specialist covering React 19, Next.js 16, Vue 3.5, and modern UI/UX patterns with component architecture. Use when building web UIs, implementing components, optimizing frontend performance, or integrating state management.
init
alirezarezvani
Set up Playwright in a project. Use when user says "set up playwright", "add e2e tests", "configure playwright", "testing setup", "init playwright", or "add test infrastructure".