目次
エンタープライズ規模での翻訳管理は、小規模なアプリで数十個のキーを扱うこととは根本的に異なる課題です。製品が20言語、50個の名前空間、数千の翻訳キーにわたる場合、手動のワークフローはその重さに耐えられなくなります。用語の変更は数百の文字列に波及します。新しい言語のローンチのたびに、すべてのキーに触れる必要があります。リリースサイクルごとに、変更範囲全体をカバーする公開操作が求められます。
このガイドでは、Better i18n のバッチ操作がこれらの問題をどのように解決するかを説明します — Translation Editor の組み込み一括アクションから、AI を活用した翻訳、CMS 一括管理、MCP ツール自動化まで。
3つのコアバッチ操作
Translation Editor は、効率的なローカライゼーション管理の基盤となる3つのバッチ操作を提供します。
翻訳の一括更新
最も一般的な一括操作は、複数のキーにわたる翻訳を同時に更新することです。実際のシナリオを考えてみましょう:あなたの会社が製品全体で「Workspace」を「Team Space」にリブランドします。バッチ操作なしでは、誰かがすべての言語でその用語を含むすべてのキーを見つけて更新しなければなりません。
一括更新では、影響を受けるキーを選択し、変更を適用すると、選択したすべての言語に伝播します。操作はアトミックです:すべての更新が成功するか、まったく成功しないかのどちらかであり、UIが部分的に更新された状態になることはありません。
キーの一括削除
未使用の翻訳キーのクリーンアップは、面倒なため、チームがしばしば怠る重要なメンテナンスです。機能が廃止され、A/Bテストが終了し、古い文字列が蓄積されます。一括削除により、複数のキーを選択して1つのアクションで削除できます。操作は名前空間の境界を尊重するため、他の部分に誤って影響を与える心配なく、アプリの1つの領域をクリーンアップできます。
翻訳の一括公開
翻訳はライフサイクルを経ます:作成、翻訳、レビュー、公開。公開ステップは翻訳を CDN にプッシュするか、GitHub リポジトリに同期します。一括公開により、レビュー済みの翻訳セット全体を、キーごとに公開するのではなく、一度にライブにプッシュできます。これは、すべての翻訳変更を同時に公開したい協調リリースで特に重要です。
translateBatch による AI 一括翻訳
translateBatch ツールは、バッチ操作と AI が出会う場所です。スコープとターゲットを正確に制御しながら、1つのリクエストで最大500個のキーを翻訳できます。
パラメータがどのように連携するかを以下に説明します:
- targetLanguages[] は、どの言語の翻訳を生成するかを定義します。1つの新しい言語だけをターゲットにすることも、一度に12個ターゲットにすることもできます。
- scope は広さを決定します — 「all」はプロジェクト内のすべてのキーをカバーし、「namespace」は範囲を絞ります。
- namespaces[] は、scope が「namespace」に設定されているときに含める名前空間を正確に指定できます。
- maxKeys は、リクエストあたり1〜500キーのバッチサイズを制御します。
AI 一括翻訳をいつ使用するか
AI 翻訳は最初のパスとして優れています。高速で一貫性があり、大量を処理します。理想的なワークフローは次のとおりです:
translateBatchを実行して、すべての未翻訳キーの初期翻訳を生成する- Translation Editor を使用して AI が生成した翻訳をレビューし、改善する
- レビュー済みの翻訳を一括公開する
この3ステップのワークフローにより、週間に及ぶ手動翻訳作業が1日のレビュー作業に変わります。
CMS 一括操作
Better i18n のコンテンツ管理システムを使用している場合、構造化コンテンツの並列一括機能にアクセスできます。
bulkUpdateEntryStatus は、複数のコンテンツエントリを1つの操作で状態間で移動させます — ドラフト、公開済み、またはアーカイブ済み。これは、数十の古いエントリをアーカイブしたり、レビュー済みコンテンツのバッチを同時に公開したりする必要がある場合のコンテンツ監査時に非常に価値があります。
bulkDeleteEntries は、複数のコンテンツエントリを一度に削除します。製品ラインを廃止したり、テストコンテンツをクリーンアップしたりするときに、大幅な手動作業を節約できます。
proposeContentEntries は AI を使用して、1つのリクエストで最大20の構造化コンテンツエントリを生成します。各エントリには翻訳が完備されており、新しい製品エリアや市場ローンチのコンテンツライブラリをブートストラップするための強力なツールとなります。
開発者ワークフロー向け MCP 一括ツール
Model Context Protocol (MCP) は、すべての一括操作をプログラム可能なツールとして公開し、UI が提供するものを超えた自動化を可能にします。
createKeys — 一括キー作成
1つの API 呼び出しで、初期翻訳とともに数百の翻訳キーを作成します。これは、新しい機能エリアをセットアップしたり、外部システムから翻訳をインポートしたりする際に選ばれるツールです。各キーは複数の言語の翻訳を含めることができるため、1つの操作で完全に翻訳された名前空間を作成できます。
updateKeys — 一括翻訳更新
任意の数のキーと言語にわたって既存の翻訳を更新します。ツールはターゲットキーが存在することを検証し、名前空間の不一致について警告します — 誤った名前空間に重複キーが誤って作成されることを防ぐ重要なガードレールです。
deleteKeys — 一括キー削除
廃止されたキーをプログラムで削除します。これは、コードベースで参照されなくなったキーを自動的にクリーンアップできる CI/CD パイプラインに自然に統合されます。
publishTranslations — CDN と GitHub への一括公開
名前空間全体の翻訳を一度にライブにプッシュします。公開操作は高スループット向けに設計されています — PUBLISH_BATCH メッセージタイプを使用して内部でバッチ処理し、batch_publish ジョブタイプを通じて処理するため、数千のキーを公開してもワークフローがブロックされません。
実際のシナリオ:5,000キーの移行
具体的なエンタープライズシナリオを見ていきましょう。チームが翻訳アーキテクチャを再構築しています — モノリシックな「common」名前空間を「billing」、「settings」、「onboarding」などのドメイン固有の名前空間に分割します。
ステップ 1:エクスポートとマッピング。 listKeys を使用して「common」名前空間のすべてのキーを取得します。新しいアーキテクチャに基づいて各キーをターゲット名前空間にマッピングします。
ステップ 2:一括作成。 createKeys を使用して、既存のすべての翻訳を引き継いで新しい名前空間にキーを作成します。最適なスループットのために200〜300キーのバッチで処理します。
ステップ 3:検証。 各新しい名前空間で listKeys を使用して、すべてのキーが翻訳とともに正しく配置されていることを確認します。
ステップ 4:一括公開。 各新しい名前空間に対して publishTranslations を使用して、再編成された翻訳を CDN にプッシュします。
ステップ 5:クリーンアップ。 コードベースが新しい名前空間を参照するように更新されたら、deleteKeys を使用して「common」から古いキーを削除します。
移行全体 — 15言語にわたる5,000キー — はスプリントを消費するのではなく、午後のうちに完了します。
実際のシナリオ:大規模言語ロールアウト
製品が5言語から12言語のサポートに拡大しています。つまり、すべての名前空間に7つの新しい言語を追加することを意味します。
ステップ 1:AI 最初のパス。 7つの新しいターゲット言語、scope を「all」、maxKeys を500に設定して translateBatch を実行します。2,000キーのプロジェクトでは、これは4バッチかかります。
ステップ 2:優先レビュー。 まず顧客向け名前空間の人間によるレビューに集中します。Translation Editor の一括更新を使用して、レビュアーの修正を効率的に適用します。
ステップ 3:段階的公開。 トラフィックが最も多い領域から始めて、一度に1つの名前空間を一括公開します。次のバッチを公開する前に問題を監視します。
ステップ 4:継続的なカバレッジ。 開発中に追加された新しいキーに対して自動 translateBatch 実行をセットアップして、新しい言語が決して遅れないようにします。
規模でのパフォーマンスと安全性
エンタープライズ規模でのバッチ操作にはガードレールが必要です。Better i18n の一括ツールにはいくつかの安全メカニズムが含まれています:
- 名前空間の検証 により、誤った名前空間にキーが作成されるのを防ぎます — ファントム重複キーにつながる一般的な自動化エラーです。
- クロスエンティティ衝突警告 は、作成しようとしているキーが別の名前空間にすでに存在する場合にアラートを出します。
- アトミック操作 により、一括更新が完全に成功するか完全にロールバックするかのどちらかになります — 部分的な状態はありません。
- 大規模公開バッチの非同期処理 により、チームがデプロイメントの完了を待ってブロックされることがありません。
バッチ操作の始め方
現在、翻訳を手動で管理している場合は、Translation Editor のバッチ操作から始めてください — セットアップは不要で、すぐに生産性の向上が得られます。規模が大きくなるにつれて、プログラム的な制御のために MCP 一括ツールを開発ワークフローに統合します。そして、新しい言語を追加する際のコールドスタート問題を解消するために AI 一括翻訳を使用します。
エンタープライズ翻訳管理は遅くある必要はありません。適切なバッチツールを使えば、ローカライゼーションワークフローは製品と同じ速さでスケールします。