i18n-integrity

Solid

Translation integrity: every key present in every language, no hardcoded strings, consistent placeholders and plurals. Runs when user-facing text changes.

AI & Automation 22 stars 4 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 79/100

Stars 20%
45
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
74
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Translation Integrity (i18n) <!-- routing-eval reads this line; it lives in the BODY so the always-on skill LISTING stays inside Claude Code's budget (1% of the context window) — an overflowing listing gets descriptions truncated or dropped, which strips the very keywords a match depends on. --> Trigger phrases: "i18n", "translation", "language file", "missing translation", "localization", "translate" Goal: no missing/broken text in any language. Default languages: **TR / EN / DE / RU** (the project sets these). ## Audit dimensions - **Key parity:** every key has a counterpart in ALL languages; a missing/extra key = a finding. - **No hardcoded strings:** user-facing text is not embedded in code, it comes from the language file. - **Placeholder consistency:** `{name}`, `%s`, ICU `{count, plural, ...}` are identical in every language. - **Plural rules:** language-specific plural forms (especially RU) are correct. - **Empty/identical value:** an untranslated (identical to the source) placeholder value is flagged. ## Check (key-set comparison) ```bash # Example: compare the key sets of JSON language files for f in locales/*.json; do echo "== $f =="; jq -r 'keys[]' "$f" | sort > "/tmp/$(basename $f).keys"; done diff /tmp/tr.json.keys /tmp/en.json.keys # differences = missing/extra keys ``` ## DoD - Key sets are equal across all languages; no hardcoded user text; placeholders are consistent. - **Missing translation = red** (no deferral).

Details

Author
byerlikaya
Repository
byerlikaya/claude-starter-kit
Created
1 months ago
Last Updated
yesterday
Language
Shell
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category