/i18n-audit — i18n キー整合性チェック
messages/ja.json と messages/en.json のキー構造が一致するか検証する静的チェック。
Usage
npm script 経由
npm run audit:i18n
直接実行
node scripts/audit/i18n-keys.mjs node scripts/audit/i18n-keys.mjs --ignore-new # ja-only キーを警告扱い(en翻訳未完了時)
Claude Code スキル
/i18n-audit /i18n-audit --ignore-new
What It Checks
-
ja-only キー: ja.json にあって en.json にないキー → en 翻訳が必要
-
en-only キー: en.json にあって ja.json にないキー → ja が欠落(通常はバグ)
-
キー総数: 共有キー数と差分数を表示
Output Example
=== i18n Key Parity Check === Sources: messages/ja.json, messages/en.json Keys: 280 shared, 12 ja-only, 0 en-only
❌ [MISSING in en.json] marketing.tryNow (12 keys): - marketing.tryNow.badge - marketing.tryNow.title ...
💡 Fix: 不足キーを対応する messages ファイルに追加してください。
Flags
フラグ 効果
(なし) ja-only も en-only も全て error(exit 1)
--ignore-new
ja-only は warning(exit 0)、en-only のみ error
--ignore-new は「新機能を ja で先に実装し、en 翻訳は後回し」のワークフロー向け。
CI Integration
GitHub Actions - 厳密モード
- name: i18n Key Check run: npm run audit:i18n
GitHub Actions - 寛容モード(en翻訳は後回し許容)
- name: i18n Key Check (lenient) run: npm run audit:i18n -- --ignore-new
Workflow: 新しい i18n キーを追加する時
-
messages/ja.json にキーを追加
-
npm run audit:i18n を実行 → ja-only キーが報告される
-
messages/en.json に対応する英語キーを追加
-
npm run audit:i18n を再実行 → ✅
AI Assistant Instructions
このスキルが有効化された時:
-
npm run audit:i18n を実行して差分を把握
-
ja-only キーがあれば en.json に英語翻訳を追加
-
en-only キーがあれば ja.json に日本語翻訳を追加(または en から削除)
-
再度 npm run audit:i18n で検証
Always:
-
キー追加は ja.json と en.json を同時に行う
-
ネストされたキー構造を維持する(フラットにしない)
Never:
-
空文字列でキーを埋めない(未翻訳なら --ignore-new を使う)
-
機械翻訳の品質が低い場合は TODO コメントをキー値に含めない