Makeまたはnpmスクリプトから翻訳をチェックする
プロジェクトに既に make test または npm test がある場合は、そこに翻訳チェックを追加します。kaeris check はプレースホルダーまたはキーが壊れている場合に1で終了するため、ターゲット全体が失敗します。オフラインで無料です:APIキー不要、アカウント不要。
KAERISはこのページを翻訳し、すべての行を逆翻訳して確認しました。ネイティブスピーカーによるレビューはまだ行われていません。 英語原文
レシピ
Makefile
チェッカーを pip install kaeris で一度インストールします。レシピ行はタブで始まります。test を i18n-check に依存させることで、テストの前にチェックを実行します。
.PHONY: i18n-check test i18n-check: kaeris check --source locales/en.json --langs de,fr --ci test: i18n-check ./run-tests.sh
npmスクリプト
スクリプトはPATHから kaeris を呼び出すだけなので、チェッカーは pip install kaeris からのPythonパッケージです。pretest は test の前に実行され、チェックが失敗するとそれを停止します。
{
"scripts": {
"i18n:check": "kaeris check --source locales/en.json --langs de,fr --ci",
"pretest": "npm run i18n:check",
"test": "jest"
}
}
実際の実行時に表示される内容
KAERIS 0.2.35 の出力、2026年10月27日取得。各ボックスの最後の行は、CIジョブが認識する終了コードです。
npm テスト
上記のスクリプトを使用した npm test の出力(この実行では test スクリプトは echo でした)。左:問題のないファイル。右:{name} の代わりに {nam} を持つ de.json と、checkout キーが欠落しています。npm は test の前に停止します。
$ npm test > [email protected] pretest > npm run i18n:check > [email protected] i18n:check > kaeris check --source locales/en.json --langs de,fr --ci ✓ de: complete & placeholder-safe ✓ fr: complete & placeholder-safe ✓ all locales complete & placeholder-safe > [email protected] test > echo tests would run here tests would run here exit code: 0
$ npm test > [email protected] pretest > npm run i18n:check > [email protected] i18n:check > kaeris check --source locales/en.json --langs de,fr --ci ✗ de: 1 missing key(s): checkout ✗ de: 1 placeholder mismatch(es): greeting: missing ['{name}'], added ['{nam}'] ✗ de: 2 translation fault(s): greeting: lost placeholder {name} greeting: invented placeholder {nam} (not in source) ✓ fr: complete & placeholder-safe ✗ 1 missing key, 1 placeholder mismatch, 2 translation faults exit code: 1
Makefileのレシピ行
i18n-check ターゲットが実行するコマンドと同じコマンドと、その終了コード。
$ kaeris check --source locales/en.json --langs de,fr --ci ✓ de: complete & placeholder-safe ✓ fr: complete & placeholder-safe ✓ all locales complete & placeholder-safe exit code: 0
$ kaeris check --source locales/en.json --langs de,fr --ci
✗ de: 1 missing key(s): checkout
✗ de: 1 placeholder mismatch(es):
greeting: missing ['{name}'], added ['{nam}']
✗ de: 2 translation fault(s):
greeting: lost placeholder {name}
greeting: invented placeholder {nam} (not in source)
✓ fr: complete & placeholder-safe
✗ 1 missing key, 1 placeholder mismatch, 2 translation faults
exit code: 1
3つのステップで設定します
チェッカーをインストールする
テストを実行するマシンまたはCIイメージで
pip install kaerisを実行します。ターゲットまたはスクリプトを追加する
Makefileに
i18n-checkターゲットを追加するか、package.jsonにi18n:checkおよびpretestスクリプトを追加し、独自の--sourceと--langsを設定します。通常のコマンドを実行する
make testまたはnpm testは、最初にチェックを実行し、翻訳が壊れている場合は非ゼロの終了コードで停止します。
どのようにチェックしたか
このページにあるすべてのコマンドは、ここに書かれる前に実行されました。実行されなかったものもリストされています。
実行された内容
上記のスクリプトを使用した
npm test。ただし、testはechoでした(npm 11.17、Node 24)。PATHにはPyPIから kaeris 0.2.35 がありました。クリーンなファイル:終了コード 0、テスト実行済み。壊れたde.json:終了コード 1、テストは実行されませんでした。実行されなかった内容
makeは、これがチェックされたマシンにはインストールされていません。レシピ行はシェル経由で実行されました。これはmakeが行うことなので、上記の終了コードは本物ですが、Makefile自体はmakeによって実行されませんでした。npm
npmレジストリにはまだkaerisパッケージがないため、このページはnpmへのリンクを送信しません。Nodeプロジェクトは、上記のようにPythonパッケージを呼び出します。
知っておくと便利なオプション
古いキーでも失敗する
--strictは、翻訳にソースに存在しないキーがある場合にも失敗します。ブランド名をそのまま保持する
--glossary 'KAERIS,GitHub'は、いずれかの用語が欠落しているターゲットを失敗させます。同じリストはkaeris.jsonのkeepの下に置くこともできます。異なるファイルレイアウト
--outは翻訳が含まれるフォルダで、--pattern '{lang}/common.json'はファイル名です。デフォルト:kaeris translateが書き出すレイアウト。フラグなし
プロジェクトに
kaeris.jsonがある場合(kaeris initが作成します)、kaeris checkはそこからソース、言語、フォルダを取得します。
よくある質問
APIキーやアカウントは必要ですか?
いいえ。kaeris check はそのヘルプで静的、ローカル、API不要と説明されているため、ジョブにシークレットは不要です。翻訳は別のコマンドであり、キーが必要です。
チェックは何を検出しますか?
失われたまたは発明されたプレースホルダー({name}、%s、{{x}}、ICU複数形)、欠落しているキー、および存在しないロケールファイル。比較はローカルかつ静的です。チェック内容とすべてのフラグ
Pythonなしで動作しますか?
チェッカーはPythonパッケージなので、チェックを実行するマシンにはPython 3.8以降が必要です。パッケージは依存関係を宣言していません。
続ける
その他のレシピ:GitHub Actions · GitLab CI · pre-commit
CLIリファレンス · Checkリファレンス · GitHub Actionリファレンス · ブラウザでの無料チェック · ブラウザでの翻訳