helderberto/agent-skills

i18n

Audit internationalization coverage and find hardcoded strings.

First seen Mar 4, 2026

Installation

$ npx skills add helderberto/agent-skills --skill i18n

Summary

  • Audit internationalization coverage and find hardcoded strings.
  • Use when user asks to "check i18n", "/i18n", "find hardcoded strings", "check translations", or wants to verify translation coverage.
  • Don't use for backend string extraction, non-frontend code, projects without an i18n library, accessibility (use /a11y-audit), or bundle size (use /perf-audit).

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from helderberto/agent-skills · top by installs.

npx skills add helderberto/agent-skills

Browse all from helderberto/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 14
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,973 B
  • docs SUMMARY.md 370 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 34 installs

SKILL.md

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 (see [patterns.md](references/patterns.md)):

- String literals in JSX: <p>Hello world</p> - String props: placeholder="Search...", label="Submit" - aria-label="Close menu"

  1. Compare locale files — find missing keys between locales
  2. 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