i18n-localization

Detect hardcoded strings and validate translation key consistency across locale files.

1|Updated Aug 17, 2025
One-click install
npx skills add https://github.com/ratnesh-maurya/mdconverter --skill i18n-localization-ratnesh-maurya
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: i18n-localization
Source: https://github.com/ratnesh-maurya/mdconverter/tree/main/.claude/skills/i18n-localization
Command: npx skills add https://github.com/ratnesh-maurya/mdconverter --skill i18n-localization-ratnesh-maurya

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Hardcoded user-facing strings and inconsistent translation keys across locale files break internationalized applications, causing untranslated UI text and missing translations in production. ## Core Features & Use Cases - Hardcoded String Detection: Scans React, Vue, and Python source files for untranslated text in JSX elements, attributes, and print statements. - Locale Completeness Check: Compares translation keys across language JSON files to find missing or extra keys per namespace. - i18n Implementation Guidance: Provides patterns for react-i18next, next-intl, and gettext, plus RTL support with CSS logical properties. - Use Case: Before shipping a multilingual Next.js app, run the checker to find components with hardcoded English strings and verify that the Turkish and Arabic locale files contain all keys present in the English base files. ## Quick Start Run the i18n checker script against my project directory to find hardcoded strings and missing translation keys.

Frequently Asked Questions about i18n-localization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find hardcoded strings in React components?

Run the i18n checker script against your project path to scan JSX and TSX files for text directly embedded in elements, attributes like title and placeholder, and button or heading content. Files already using t() or useTranslation are excluded from hardcoded-string flags.

How to check missing translation keys across locale files?

The checker loads JSON files from locales, translations, lang, or i18n directories, flattens nested keys, and compares each language against the base language. It reports missing keys and extra keys per namespace for every non-base locale.

react-i18next vs next-intl for Next.js internationalization?

react-i18next uses the useTranslation hook with t('key') calls and works across React frameworks. next-intl provides useTranslations scoped to namespaces and integrates with Next.js App Router conventions. Both patterns are recognized by the checker.

Does the i18n checker support Python projects?

Yes, it scans Python files for hardcoded strings in print statements, raised exceptions, and Flask flash messages. It recognizes gettext patterns like _('key') and gettext() calls as proper internationalization usage.

Why does RTL layout break in Arabic locales?

RTL breakage usually comes from physical CSS properties like margin-left and padding-right that do not flip direction. Use logical properties such as margin-inline-start and padding-inline-end, and mirror directional icons with a scaleX transform under [dir="rtl"].

What are the limitations of automated hardcoded string detection?

Regex-based detection can produce false positives on capitalized text that is not user-facing and may miss dynamically constructed strings. The checker limits analysis to 50 files and skips test, build, and dependency directories.