I made a Claude skill that audits the internationalization health of any codebase
I made a Claude skill that audits the internationalization health of any codebase and it caught every single issue across both test projects with zero false positives.
Internationalization (i18n) is how developers make apps work in multiple languages ,things like translating buttons, error messages, and labels into French, Arabic, Japanese, and so on. It sounds simple. It's not. The bugs are invisible until a real user in another country sees raw code instead of text, or your app silently crashes because one word was forgotten.
Here's everything i18n-audit catches:
- Coverage & Gap Detection
-- Finds translation keys your code uses but that don't exist in your language files (these show up as broken text or crashes for users in those languages)
-- Finds keys sitting in your language files that nothing in your app actually uses anymore (dead weight making your app bigger for no reason)
- Hardcoded String Detection
-- Scans your entire codebase using real code understanding (not guesswork) to find text like "Submit" or "Error" typed directly into components instead of being properly translated
-- Ranks each find as HIGH, MEDIUM, or LOW priority so you know exactly what to fix first
3)Translation Quality Flags
-- Catches copy-paste translations: text in your French or Arabic file that is word-for-word identical to English, meaning it was never actually translated
-- Detects placeholder mismatches: if your English says "Hello, {name}!" but your French says "Bonjour!" ,the name variable got dropped and that's a runtime error
- ICU Plural Rule Validation
-- Checks that your plural forms match the grammar rules for each language (Arabic needs 6 different plural forms; English only needs 2)
-- Flags languages where the rules are incomplete, which causes broken grammar for native speakers
- Structural Validation
-- Surfaces broken or malformed language files before anything else even runs, so you're not debugging mystery errors
-- Detects duplicate keys inside the same file, mixed naming styles, and keys organized differently across languages
- Bundle Impact Analysis
-- Tells you exactly how many bytes of dead translations are bloating your app bundle
-- Suggests which language files are large enough to split into lazy loaded chunks so your app loads faster
- Fallback Chain Auditing
-- Verifies your fallback language chains (e.g. Traditional Chinese → Chinese → English) actually resolve every key all the way down
-- Catches circular configurations that would cause your app to loop forever looking for a translation
- Framework-Aware Detection
-- Auto-detects which i18n library you are using (react-i18next, next-intl, vue-i18n, Django, Flask-Babel, and 5 more) and applies the right rules for each
-- Catches framework-specific misconfigurations that generic tools completely miss
- CI/CD Integration
-- Plug it into GitHub Actions with one config block and it fails your build automatically if any language drops below your coverage threshold
-- Outputs a clean language coverage table directly into your pull request summary
Test results across two reference projects — one simple (react-i18next, 2 languages, 16 keys), one complex (next-intl, 5 languages, 4 namespaces, 55 keys):
63 issues seeded. 63 detected. 0 false positives. 100% precision, 100% recall — across missing keys, orphaned keys, hardcoded strings, copy-paste translations, placeholder mismatches, ICU violations, structural issues, and more.
To use the skill and learn more: https://github.com/AvighnaBasak/i18n-audit-skill
IF U LIKE MY SKILL I'D APPRECIATE A STAR! TYSM