I18n integrity
Skill byerlikaya/claude-starter-kit/claude-starter/skills/i18n-integrity
Enterprise engineering workflow for Claude Code — not just prompts. AI agents that plan, build, audit, and ship with security gates, privacy checks, and approval-controlled commits. Safely adopt it into new or existing repositories.
npx -y skills add byerlikaya/claude-starter-kit --skill i18n-integrityAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 20 stars20 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Translation integrity: every key present in every language, no hardcoded strings, consistent placeholders and plurals. Runs when user-facing text changes. Trigger phrases: "i18n", "translation", "language file", "missing translation", "localization", "translate"
SKILL.md
1.4 KB, as published. Nobody here has run it
Translation Integrity (i18n)
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)
# 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).