Back to skills
SKILL.md
I18n
ASecurityAudit internationalization coverage and find hardcoded strings. Use when asked to "check i18n", "find hardcoded strings", or verify translation coverage. Don't use for backend code, projects without an i18n library, accessibility (/a11y-audit), or bundle size (/perf-audit).
- 16 stars
- 0 votes
- 0 copies
- 0 views
- Added October 11, 2026
Security analysis
100/100npx -y skills add helderberto/agent-skills --skill i18n --agent claude-codeAre you the author of I18n?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/helderberto-i18n)---
name: i18n
description: Audit internationalization coverage and find hardcoded strings. Use when asked to "check i18n", "find hardcoded strings", or verify translation coverage. Don't use for backend code, projects without an i18n library, accessibility (/a11y-audit), or bundle size (/perf-audit).
user-invocable: false
---
# i18n Audit
## Detection
Read `package.json` for i18n library:
- `react-i18next` / `i18next`
- `next-intl`
- `vue-i18n`
- `react-intl` (FormatJS)
Read locale files to understand key structure (e.g. `src/locales/en.json`).
## Workflow
1. Detect i18n library and locale file locations
2. Search JSX/TSX/Vue files for hardcoded user-facing strings:
- String literals in JSX: `<p>Hello world</p>`
- String props: `placeholder="Search..."`, `label="Submit"`
- `aria-label="Close menu"`
3. Compare locale files — find missing keys between locales
4. Report findings
## Output format
**Hardcoded strings** (`file:line`):
```
src/components/Header.tsx:12 "Welcome back" → suggest key: header.welcomeBack
src/components/Form.tsx:34 placeholder="Search..." → suggest key: form.searchPlaceholder
```
**Missing translations** (key present in base locale but absent in others):
```
Key: dashboard.emptyState missing in: pt-BR, es
Key: errors.networkTimeout missing in: pt-BR
```
## Rules
- Only flag user-visible strings (skip internal IDs, CSS classes, URLs, enum values)
- Suggest translation key names in camelCase matching project convention
- Never auto-modify locale files — report only
## Error Handling
- If no i18n library detected → report project may not use i18n; still list any hardcoded strings found
- If no locale files found → skip missing-key comparison; only report hardcoded strings
- If locale files are not JSON (e.g. `.po`, `.yaml`) → read them anyway and adapt key comparison logic
Attribution
Comments
Loading comments…