CLIとコードスキャン:すべての未翻訳文字列を自動で検出
ソースファイルからハードコードされた文字列を手動で探す必要はありません。Better i18nのCLIはASTベースの解析を使用してコードベース全体をスキャンし、JSXコンポーネントや属性内の未翻訳テキストを検出し、不足・未使用キーをレポートし、CIパイプラインにシームレスに統合します。
AST駆動のコードスキャン
誤検知を生む正規表現ベースのスキャナーとは異なり、Better i18nはコードを抽象構文木(AST)に解析して、正確かつコンテキスト対応の文字列検出を実現します。
ハードコードされた文字列の検出
翻訳関数で囲まれていない、ユーザーに表示されるすべての文字列を自動的に検出します。これには、JSXの子要素やコンポーネントのプロパティ内の文字列も含まれます。
ASTに基づく構文解析
ソースコードを抽象構文木(AST)に解析し、文脈に応じた正確な検出を行うことで、正規表現ベースのスキャナーに見られる誤検出を排除します。
JSXテキストノードのスキャン
JSX要素内の未翻訳のテキストコンテンツを検出します。これには、コンポーネント内で直接レンダリングされる式やテンプレートリテラルも含まれます。
JSX属性のスキャン
placeholder、aria-label、title などの JSX 属性内にハードコードされた文字列を検出します。これらは、手動による i18n 監査では見落とされがちなものです。
スマートフィルタリング
CSSクラス名、インポートパス、数値リテラルなど、翻訳できない値は無視されるため、実際に処理可能な結果のみが表示されます。
翻訳監査のための CLI コマンド
check コマンドは、インタラクティブで開発者フレンドリーな監査体験を提供します。ソースコードで使用されている翻訳キーを Better i18n のリモートに保存されているキーと比較し、翻訳が必要な不足キーとクリーンアップ可能な未使用キーの両方を表示します。
テンプレートリテラルのような動的キーパターンは自動的に検出されます。コードが t(`key.${variable}`) を使用する場合、CLI は動的セグメントを認識してパターンマッチングレポートに含めるため、見落としがありません。
- 1つのチェックコマンドで翻訳の完全な監査を実行する
- コード内には存在するが、リモートストアには存在しない翻訳キーがSurfaceに欠落しています
- コード内で参照されなくなった、リモートストア内の未使用キーを特定する
- テンプレートリテラルなどの動的なキーパターンを検出し、レビュー対象としてマークする
- ローカルの使用状況とリモートの翻訳状態の比較レポートを生成する
柔軟な出力フォーマット
スキャン結果は、ワークフローに合わせて複数の形式で利用可能です。ESLint形式の出力では、ファイル、行、列の参照情報を含む、人間が読みやすいレポートが生成されます。JSON出力では、CI/CDの自動化やカスタムツール向けに、機械が読み取れるデータが提供されます。
詳細モードでは、詳細な監査ログ、スコーピングサマリー、タイミング情報を提供して深い透明性を実現します。スキャン統計はファイル数、検出メトリクス、パフォーマンスデータを表示するため、翻訳カバレッジの状態を常に把握できます。
ESLintスタイル出力
任意のエディタで素早くナビゲートできるよう、ファイルパス、行番号、列参照付きの人間が読みやすいレポートを生成します。
JSON出力
CI/CDオートメーション、カスタムダッシュボード、その他ツールとの連携に最適な、機械可読の構造化データです。
詳細モード
デバッグのためのスコーピングサマリー、タイミング情報、ネームスペース解決トレースを含む詳細な監査ログです。
スキャン統計
翻訳カバレッジの状態を常に把握するためのファイル数、キー検出メトリクス、パフォーマンスデータです。
DevOpsとCI/CDの統合
既存の開発パイプラインに翻訳チェックを組み込み、未翻訳の文字列が本番環境に到達する前に検出します。
CI パイプラインの統合
未翻訳の文字列や不足キーが検出されたときにビルドを失敗させる scan ステップを CI ワークフローに追加します。
プリコミットフック
コミットごとにステージングされたファイルをスキャンして、開発の最も早い段階で未翻訳の文字列を検出します。
ディレクトリスコープスキャン
ユーザー向けコンテンツを含むコードベースの特定部分のみをスキャンするために、特定のディレクトリやファイルパターンを対象に指定できます。
スコープ対応解析
レキシカルスコープトラッキングにより翻訳ネームスペースを自動解決し、各t()呼び出しを正しいキーセットにマッピングします。
Better i18n CLI:ローカライゼーションのために構築されたコードスキャン
Better i18nのCLIは、ASTベースのコードスキャンとリモートキー管理を単一ツールに統合しています。コードベースのハードコードされた文字列をスキャンし、ローカルの使用状況をリモート翻訳ストアと比較し、バンドルサイズを肥大化させる未使用キーを検出し、CIパイプライン向けのレポートを生成します。すべてターミナルから離れることなく実行できます。
スコープ対応スキャン
レキシカルスコープを通じてuseTranslationsとgetTranslationsの呼び出しを追跡し、各t()呼び出しを自動的に正しいネームスペースに紐付けます。
サーバーコンポーネントサポート
Next.js App Routerの非同期サーバーコンポーネントを完全サポートし、サーバーコード内のgetTranslations呼び出しをクライアントサイドの使用と並行して検出・監査します。
プリコミットフック
--staged フラグを使用すると、ステージングされたファイルのみをスキャンできるため、ワークフローの速度を落とすことなく、コミットされる前に未翻訳の文字列を検出できます。