better-i18n 翻訳品質保証:大規模な自動チェック
不足している翻訳、壊れたプレースホルダー、および不整合を本番環境に到達する前に検出します。
翻訳の一貫性を維持する
翻訳の品質とは、単に言葉を正確に訳すことではありません。すべてのキーが考慮され、未使用のキーがクリーンアップされ、用語がすべての言語にわたって一貫していることを確認することです。better-i18n は、プロジェクト全体で翻訳品質を維持するために連携する複数のツールを提供します。
CLI Scan:ハードコードされた文字列の検出
最初の防衛ラインは scan コマンドです。AST 解析を使用してコードベースを解析し、翻訳されるべきだが翻訳関数でラップされていない文字列を見つけます。
better-i18n scan --dir ./src
スキャナーは以下を検出します:
- ハードコードされた JSX テキスト(
<h1>Hello</h1>) - ハードコードされた JSX 属性(
<img alt="Logo" />) - トーストと通知の文字列
- ロケール依存の三項式
- ユーザー向けテキストを含む文字列変数
CSS クラス、URL、HTML エンティティ、技術的な定数を無視するのに十分スマートです。そのため、結果は実際の翻訳ギャップに絞られ、誤検知ではありません。
--ci を使用して、これをビルドパイプラインに統合し、新しいハードコードされた文字列を導入する PR をブロックします:
npx @better-i18n/cli scan --ci
CLI Sync:不足しているキーと未使用のキーを見つける
sync コマンドは、コードベースの翻訳キーの使用状況を better-i18n のクラウドに存在するものと比較します:
better-i18n sync
以下を示す明確なレポートを生成します:
- Remote に不足: コードが使用しているが、まだ better-i18n にアップロードされていないキー
- コードで未使用: ソースコードで参照されなくなった better-i18n のキー
これはリファクタリング後に非常に価値があります。どのキーが孤立してクリーンアップできるか、そしてどの新しいキーがリリース前に翻訳が必要かをすぐに確認できます。
--summary フラグで素早いヘルスチェックが得られます:
better-i18n sync --summary
カバレッジのパーセンテージ(ローカル対リモート、リモート使用)が表示されるので、翻訳の完成度が一目でわかります。
Glossary:用語の一貫性
Glossary はすべての翻訳にわたって一貫した用語を強制します。Glossary でブランド用語、製品名、またはドメイン固有の語彙を定義すると、AI 翻訳はそれらの定義を自動的に尊重します。
これにより、同じコンセプトがアプリ内で異なって翻訳されるという一般的な問題を防ぎます。ある場所では「ワークスペース」、別の場所では「作業エリア」、3 番目の場所では「プロジェクトスペース」というようなことがなくなります。
ダッシュボードのカバレッジ表示
better-i18n ダッシュボードは言語ごと、ネームスペースごとの翻訳カバレッジを表示します。一目でわかります:
- どの言語が完全に翻訳されているか
- どのネームスペースにギャップがあるか
- プロジェクトの各部分にいくつのキーが存在するか
これにより、プロダクトマネージャーやエンジニアリングリードは CLI コマンドを実行することなく、ローカライゼーションの状況を明確に把握できます。
品質ゲートのための CI インテグレーション
CI パイプラインで scan と sync を組み合わせて、翻訳の問題が本番環境に到達するのを防ぐ品質ゲートを作成します:
name: i18n Quality
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @better-i18n/cli scan --ci
- run: |
npx @better-i18n/cli sync --format json \
| jq -e '.comparison.missingCount == 0' > /dev/null || exit 1
プリコミットフックの場合、素早いフィードバックのためにステージングされたファイルのみをスキャンします:
npx @better-i18n/cli scan --staged --ci
現在提供していないもの
品質ツールの現在のスコープについて明確にするために:
- インライン QA エンジンなし -- エディター内でのプレースホルダー、HTML タグ、ICU MessageFormat のリアルタイム検証はありません。CLI はコードレベルで不足している翻訳を検出します。
- カスタムルールシステムなし -- 現在、カスタム検証ルール(長さの制限や禁止文字など)を定義することはできません。
- プレースホルダー検証なし -- ソースの
{name}が翻訳に現れるかどうかをシステムはチェックしません。 - ビジュアルコンテキストなし -- 品質チェックはレンダリングされた UI スクリーンショットではなく、キー/バリューデータで動作します。
これらは将来の開発のために評価している領域です。
はじめに
CLI をインストールして最初の品質チェックを実行します:
npm install -g @better-i18n/cli
better-i18n scan --dir ./src
better-i18n sync --summary
ダッシュボードで Glossary 用語を設定して AI 翻訳の一貫性を強制し、CLI を CI パイプラインに統合して自動化された品質ゲートを実現してください。
アカウントを作成するで、プロジェクト全体の翻訳品質の管理を開始してください。