i18n-localization

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

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/beliciobcardoso/mcp-postgres --skill i18n-localization-beliciobcardoso
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: i18n-localization
Source: https://github.com/beliciobcardoso/mcp-postgres/tree/main/.agent/skills/i18n-localization
Command: npx skills add https://github.com/beliciobcardoso/mcp-postgres --skill i18n-localization-beliciobcardoso

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Hardcoded user-facing strings and inconsistent translation files slip into codebases easily, breaking localized experiences and making apps hard to ship in multiple languages. This Skill audits your project for untranslated text and mismatched locale keys before release. ## Core Features & Use Cases - Hardcoded String Detection: Scans React, Vue, and Python files for text literals that bypass translation functions like t(), $t(), or gettext. - Locale Completeness Check: Compares JSON locale files across languages to find missing or extra translation keys per namespace. - i18n Implementation Guidance: Provides patterns for react-i18next, next-intl, and Python gettext, plus RTL layout and pluralization best practices. - Use Case: Before releasing a multilingual SaaS dashboard, run the checker to confirm every component uses translation keys and that the en, tr, and ar locale files contain identical key sets. ## Quick Start Ask the AI to run the i18n checker script against your project directory and report any hardcoded strings or 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 a React app?▼

Run the i18n checker script against your project path to scan JSX and TSX files for text literals in elements, titles, placeholders, and aria labels. Files already using t() or useTranslation are treated as properly internationalized.

How to check missing translations across locale files?▼

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

Does the i18n checker support Vue and Python projects?▼

Yes, it scans Vue templates for untranslated text and placeholder attributes, and Python files for print, raise, and Flask flash calls containing string literals. It recognizes $t(), gettext, and _() as valid i18n usage.

What are the limitations of automated hardcoded string detection?▼

Regex-based detection can produce false positives on capitalized text and may miss dynamically constructed strings. It also skips test files and limits analysis to the first 50 code files, so large monorepos may need targeted runs.

How do I support RTL languages like Arabic in CSS?▼

Use CSS logical properties such as margin-inline-start and padding-inline-end instead of directional properties like margin-left. For icons that imply direction, flip them with transform: scaleX(-1) under a [dir="rtl"] selector.