Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
davila7 avatar

I18n Localization

  • 550 installs
  • 29.9k repo stars
  • Updated July 27, 2026
  • davila7/claude-code-templates

i18n-localization is an agent skill with a Python checker that scans React, Vue, and Python codebases for hardcoded UI strings and missing translation keys before shipping multiple locales.

About

The i18n-localization skill packages a small Python scanner that audits your frontend and backend source for strings that should live in translation catalogs instead of hardcoded literals. developers shipping SaaS or APIs with React, Vue, or Python surfaces invoke it when adding locales or cleaning up tech debt before release. It contrasts suspicious capitalization-heavy literals against established i18n call patterns so your agent can prioritize refactors. It is a focused checker—not a full TMS integration—meant to complement react-i18next, vue-i18n, or gettext workflows. Run it after feature work or before merge when multilingual support is on the roadmap, and feed findings into your normal PR workflow.

  • Python i18n checker script scans repos for hardcoded English in JSX, Vue templates, and Python literals
  • Regex families flag untranslated JSX text, attribute strings (title, placeholder, label), and flash/print messages
  • Recognizes proper i18n usage patterns: react-i18next t(), useTranslation, Vue $t(), Python gettext _()
  • Windows console UTF-8 handling for Unicode diagnostics in CI or local runs
  • Structured output path (JSON-oriented workflow) for agent-driven fix lists

I18n Localization by the numbers

  • 550 all-time installs (skills.sh)
  • +12 installs in the week ending Jun 22, 2026 (Skillselion tracking)
  • Ranked #594 of 2,277 Frontend Development skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/davila7/claude-code-templates --skill i18n-localization

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs550
repo stars29.9k
Security audit3 / 3 scanners passed
Last updatedJuly 27, 2026
Repositorydavila7/claude-code-templates

How do you find hardcoded strings before i18n ship?

Scan React, Vue, and Python codebases for hardcoded UI copy and missing translation keys before you ship multiple locales.

Who is it for?

Frontend and full-stack developers validating react-i18next or next-intl readiness across React, Vue, and Python code before a locale launch.

Skip if: Single-language internal tools with no translation requirements or teams wanting automatic translation generation instead of audit checks.

When should I use this skill?

A developer prepares multi-locale release and needs to detect hardcoded UI copy or missing translation keys in React, Vue, or Python.

What you get

i18n audit report listing missing locale keys, hardcoded string examples, and pass/fail exit status

  • i18n audit console report
  • Missing-key list
  • Hardcoded string examples

By the numbers

  • Recognizes 8 i18n usage patterns in source code
  • Uses 6 locale file glob patterns and scans up to 50 code files per audit
  • Defines separate hardcoded-string regex sets for JSX, Vue, and Python

Files

SKILL.mdMarkdownGitHub ↗

i18n & Localization

Internationalization (i18n) and Localization (L10n) best practices.

---

1. Core Concepts

TermMeaning
i18nInternationalization - making app translatable
L10nLocalization - actual translations
LocaleLanguage + Region (en-US, tr-TR)
RTLRight-to-left languages (Arabic, Hebrew)

---

2. When to Use i18n

Project Typei18n Needed?
Public web app✅ Yes
SaaS product✅ Yes
Internal tool⚠️ Maybe
Single-region app⚠️ Consider future
Personal project❌ Optional

---

3. Implementation Patterns

React (react-i18next)

import { useTranslation } from 'react-i18next';

function Welcome() {
  const { t } = useTranslation();
  return <h1>{t('welcome.title')}</h1>;
}

Next.js (next-intl)

import { useTranslations } from 'next-intl';

export default function Page() {
  const t = useTranslations('Home');
  return <h1>{t('title')}</h1>;
}

Python (gettext)

from gettext import gettext as _

print(_("Welcome to our app"))

---

4. File Structure

locales/
├── en/
│   ├── common.json
│   ├── auth.json
│   └── errors.json
├── tr/
│   ├── common.json
│   ├── auth.json
│   └── errors.json
└── ar/          # RTL
    └── ...

---

5. Best Practices

DO ✅

  • Use translation keys, not raw text
  • Namespace translations by feature
  • Support pluralization
  • Handle date/number formats per locale
  • Plan for RTL from the start
  • Use ICU message format for complex strings

DON'T ❌

  • Hardcode strings in components
  • Concatenate translated strings
  • Assume text length (German is 30% longer)
  • Forget about RTL layout
  • Mix languages in same file

---

6. Common Issues

IssueSolution
Missing translationFallback to default language
Hardcoded stringsUse linter/checker script
Date formatUse Intl.DateTimeFormat
Number formatUse Intl.NumberFormat
PluralizationUse ICU message format

---

7. RTL Support

/* CSS Logical Properties */
.container {
  margin-inline-start: 1rem;  /* Not margin-left */
  padding-inline-end: 1rem;   /* Not padding-right */
}

[dir="rtl"] .icon {
  transform: scaleX(-1);
}

---

8. Checklist

Before shipping:

  • [ ] All user-facing strings use translation keys
  • [ ] Locale files exist for all supported languages
  • [ ] Date/number formatting uses Intl API
  • [ ] RTL layout tested (if applicable)
  • [ ] Fallback language configured
  • [ ] No hardcoded strings in components

---

Script

ScriptPurposeCommand
scripts/i18n_checker.pyDetect hardcoded strings & missing translationspython scripts/i18n_checker.py <project_path>

Related skills

Forks & variants (1)

I18n Localization has 1 known copy in the catalog totaling 2 installs. They canonicalize to this original listing.

How it compares

Use i18n-localization to audit existing code; use translation-management platforms when writers need workflow beyond static key checks.

FAQ

What does i18n_checker.py scan?

i18n-localization's i18n_checker.py scans React TSX/JSX, Vue, and Python files for hardcoded user-facing strings while verifying locale JSON completeness across languages discovered via six glob patterns under locales/, translations/, and i18n/ paths.

Which i18n libraries does i18n-localization recognize?

i18n-localization detects proper usage patterns for react-i18next t() and useTranslation, next-intl useTranslations, Vue $t(), Python gettext() and _(), plus react-intl FormattedMessage markers.

Is I18n Localization safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Frontend Developmentfrontendtesting

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.