i18n-localization

Detects hardcoded strings and validates translation key consistency across locale files.

Updated Aug 5, 2026
One-click install
npx skills add https://github.com/pd-phuc/laravel-template --skill i18n-localization-pd-phuc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: i18n-localization
Source: https://github.com/pd-phuc/laravel-template/tree/main/.agent/skills/i18n-localization
Command: npx skills add https://github.com/pd-phuc/laravel-template --skill i18n-localization-pd-phuc

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, template attributes, and print/flash statements. - Locale Completeness Check: Compares flattened translation keys across language files 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 find components with hardcoded English strings and verify that the Turkish and Arabic locale files contain all keys present in the English base locale. ## Quick Start Ask the AI to audit this project for hardcoded strings and missing translations using the i18n checker.

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 inside elements, title/placeholder/aria-label attributes, and button or heading content. Files already using t() or useTranslation are treated as 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 the base language. It reports missing keys 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 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 support RTL languages like Arabic in CSS?▼

Use CSS logical properties such as margin-inline-start and padding-inline-end instead of margin-left and padding-right so layouts flip automatically. For directional icons, apply 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 capitalized text that is not user-facing and may miss dynamically constructed strings. The script also limits analysis to the first 50 code files and skips test and build directories.