i18n-localization

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

2|Updated May 30, 2026
One-click install
npx skills add https://github.com/virahitvin8/crafty-gis --skill i18n-localization-virahitvin8
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: i18n-localization
Source: https://github.com/virahitvin8/crafty-gis/tree/main/GIT_STAR/.agent/skills/i18n-localization
Command: npx skills add https://github.com/virahitvin8/crafty-gis --skill i18n-localization-virahitvin8

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 apps and are tedious to audit manually. This Skill audits codebases for untranslated text and verifies that all language files contain matching keys. ## Core Features & Use Cases - Hardcoded String Detection: Scans React, Vue, and Python files for untranslated text in JSX, templates, and print/flash statements. - Locale Completeness Check: Compares flattened translation keys across language folders to find missing or extra keys per namespace. - i18n Implementation Guidance: Provides patterns for react-i18next, next-intl, and Python gettext, plus RTL support with CSS logical properties. - Use Case: Before shipping a multilingual SaaS app, run the checker to confirm no hardcoded strings remain in components and that the en, tr, and ar locale files all contain identical keys. ## Quick Start Run the i18n checker script on my project 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 detect hardcoded strings in React components?

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 internationalized and skipped.

How to check missing translation keys across locale files?

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

Does the i18n checker support Vue and Python projects?

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

How do I add RTL support for Arabic or Hebrew?

Use CSS logical properties like 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.

What are the limitations of automated hardcoded string detection?

Regex-based detection can produce false positives on legitimate capitalized text and may miss dynamically constructed strings. It also limits analysis to the first 50 code files and skips test and build directories.