実際の一例を見てみましょう。「Connect Search Console」というボタンラベルは、ドメイン設定フローに新しいオンボーディングステップを追加したある火曜日の午後に出荷されました。特別なことは何もありません — `data-i18n`キー1つ、英語の文1つ、週に何十回も出ていくような変更です。ここに、コミットから画面表示までの間に実際に何が起きるのかを、順を追って示します。
コミットされた文字列
開発者はいつも通り英語のキーを手で書き、その隣に中国語訳も手で追加します — この2つは決して機械生成されません。チームのネイティブスピーカーが実際に読んでズレを発見するのがこの2言語だからです。それ以外の文字列については何もしません。フランス語や韓国語の翻訳ファイルには触れません。同期を取るために他の18個のJSONファイルを開くこともありません。それがこの仕組みの要点です — コミットは、人間が実際に書いた2言語だけに限定されます。
格納先のレジストリ
そのキーは、バックエンドとフロントエンドの両方が参照する単一の信頼できる情報源に格納されます — サポートされているすべての言語について、コード、ネイティブ名、ブラウザのロケールプレフィックス、テキストの方向を把握している1つのファイルです。「Connect Search Console」という文字列そのものについては何も知りません。ただ、新しいキーが現れるたびに、20言語分の枠が用意されていて、そのうち18言語ではまだこのキーが欠けている、ということを把握しているだけです。
それを取り込む実行処理
機能の出荷そのものがトリガーです。誰も「新しいオンボーディングステップを翻訳してください」というチケットを起票しません。生成処理がレジストリに対して実行され、すべてのカタログを英語のソースと比較し、不足している文字列 — このケースも含めて — だけを埋めます。他のすべてのファイルの他のすべての行はそのまま残ります。もし誰かが気づくのを待っていたら、このボタンは1年後もドイツ語UIで「Connect Search Console」のままで、ドイツ語の他の部分と並んでいたことでしょう。それこそ、私たちがパイプライン全体を構築して避けようとした失敗パターンです — 翻訳の質が悪いことではなく、何も強制されないために翻訳が永遠に行われないことです。
意図的に不完全な状態で出荷される、たった一つの単語
ここが意外に思われる部分です。このオンボーディングステップは新しいドメインステータスの値も導入しますが、ステータス値は翻訳者の作業キューではなくデータベースに由来します — これらは表示の最終段階でローカライズされ、英語のフォールバックが組み込まれています。そのため、コードが出荷されてからカタログが再生成されるまでの数時間、フランス語ユーザーには、そのステータスに対応する言葉が空白やエラー、スタックトレースの代わりに、生の英語の単語として表示されます。きちんとした翻訳より意図的に見劣りするようにしつつ、壊れた表示よりは意図的にましな状態にしています。
私たちは、静かな不具合よりも、正直な欠落のほうを選びます。
切り替えスイッチ
カタログが反映されても、ユーザーがそこにたどり着く方法は何も変わりません。地球儀のアイコンは、アカウント設定の奥に隠された環境設定ではなく、すべての公開ページのナビゲーションに常に表示されており、切り替えるとその場で現在のページが再描画されます。誰かがその新しいオンボーディングステップの途中で英語からベトナム語に切り替えても、ボタンはページの再読み込みや進行状況の喪失なしに、カーソルの下でラベルが変わります。正直なところ、この細部には翻訳パイプライン自体よりも多くのエンジニアリング時間がかかりました。「再読み込みなしで全体を再描画する」という要件は、静的なコピーだけでなく、ページ上のあらゆる状態を持つコンポーネントに影響するからです。
レジストリを一度も見たことのないエージェント
そしてここに意外な事実があります。このオンボーディングフローの実際のユーザーが実際にコメントするのは、このような仕組みそのものではありません。彼らが気づくのは、アシスタントが自分の話した言語でそのまま返事をしてくれるということです — それは文字列レジストリを読んだからではなく、言語モデルが、人間に対してするのと同じように、相手に合わせて応答しているからです。
- セットアップ途中でAIアシスタントを開き、ベトナム語で質問してみてください——ベトナム語で答えが返ってきます。
- サイトビルダーに日本語でプランの作成を依頼すると——日本語でプランが返ってきます。
- スペイン語でSEOレポートを依頼すると——最初から最後までスペイン語のレポートになります。
インターフェースの文言は、前述の20言語対応カタログの仕組みによるものですが、エージェントの出力はまったく別のメカニズムで同じ体験にたどり着いています。これこそが、製品が「翻訳された」のではなく「あなた専用に作られた」ように感じさせる要因です。



