Claude Codeが生成したアプリをローカライズする最善の方法は、Claude Codeの中にとどまることです: ローカライズ用スキルをインストールし、エージェントにコードベースを国際化させ、そこから先はインフラにすべての言語の同期を任せます。globalize.nowは、まさにこの流れのために作られたAI駆動のローカライズ基盤です。ハードコードされた文字列を翻訳キーとして抽出し、ロケールファイルを生成し、gitへのプッシュのたびに翻訳済み言語をプルリクエストとして返します。本ガイドでは、英語オンリーのリポジトリからマージ済みの多言語プルリクエストに至るまでの流れ全体を解説します。


なぜあなたのClaude Codeアプリは英語しか対応していないのか?

それは、Claude Codeが他のあらゆるコーディングエージェントと同様に、ユーザー向けの文言をリテラルな文字列として書くからです。それが機能を動かすまでの最短経路であり、デフォルトのプロンプトには翻訳キーを求める指示など含まれていません。アプリが動く頃には、英語が数百のコンポーネントにハードコードされ、複数形や日付は一つの言語でしか通用しない文字列結合で処理されています。

つい取りたくなる対処法は、エージェントに「アプリをドイツ語に翻訳して」と頼むことです。しかしそれは二つ目のハードコードされた言語を生み出すだけです: コンポーネントの複製や三項演算子の山ができあがり、今後の新機能はすべて二重の作業になります。この失敗パターンについてはAI生成アプリのローカライズ方法で取り上げました。国際化を伴わない翻訳こそが、i18n負債を膨らませる原因です。


Claude Codeが生成したアプリをローカライズする最善の方法とは?

ローカライズのワークフローは、アプリを作ったエージェントの中で実行します: スキルがClaude Codeに国際化の手順を教え、プッシュのたびにインフラが翻訳と同期を担います。スキルはAnthropicが公式にサポートするClaude Codeの拡張形式で、タスクが一致したときにエージェントが読み込む指示のフォルダであり、Agent Skillsのドキュメントに記載されています。またスキルは移植性も備えています: オープンなVercel製のskills CLIを使えば、Claude Code、Cursor、Codexをはじめ数十種類のエージェントにスキルパッケージをインストールでき、どのエージェントを使っても同じワークフローが持ち運べます。

これは、多くのローカライズツールとは根本的に構造が異なります。既存のプラットフォームは、自社のダッシュボードを中心に据えたワークフローの上にAI機能やエージェント連携を後付けしています: あなたの文字列は彼らのシステム内に置かれ、エージェントはそのクライアントに過ぎません。エージェントネイティブなローカライズは、この構図を逆転させます。作業はあなたのリポジトリ内で行われ、国際化はエージェントが、翻訳と同期はglobalize.nowが担います。コードと切り離された別のコンテンツデータベースを管理する必要はありません。コードそのものがデータベースだからです。


Claude Codeアプリをステップごとにローカライズするには?

一連の流れは5つのステップで完結し、その中で最も手間のかかる部分をエージェントが担います。

  1. **globalize.nowでリポジトリを接続します。**変換はアプリ内で一度だけ実行され、プルリクエストとして反映されます。代わりにClaude Codeからこの最初の処理を実行したい場合は、スキルをインストールしてください:

    npx skills add globalize-now/globalize-skills
    

    Claude Codeだけでなく、お使いのマシン上のすべてのエージェントでスキルを使えるようにしたい場合は、--allを追加してください。

  2. **Claude Codeにアプリの国際化を依頼します。**スキルにより、エージェントはまずリポジトリを調査します: どのフレームワークを使っているか、どの文字列がユーザー向けか、すでにi18nの設定があるかどうかなどです。ライブラリ、キー構造、ロケールファイルの配置を含む計画を提案し、コードに手を加える前にあなたの承認を待ちます。

  3. リポジトリをglobalize.nowに接続して、プッシュが翻訳のトリガーになるようにします。開発者向けセットアップは接続一つで完了し、AIツールで開発するビルダーもステップ1以降はターミナルに触れることなく同じ流れを利用できます。

  4. **プッシュします。**新規・変更された文字列は翻訳された状態で戻ってきて、他のコード変更と同じようにレビューできるプルリクエストとして届きます。

  5. **マージします。**後から言語を追加するのは、プロジェクトではなく単なる設定変更です。

実際のプロダクション用モノレポでは、このワークフローを通じて実行されたエージェントがコードベースを国際化し、約30分で5言語分を生成しました。所要時間はプロジェクトの規模によって変わりますが、手作業なら1週間かかるリファクタリングが1回のエージェントセッションに凝縮されるのがステップ2です。


エージェントは実際にあなたのコードの何を変更するのか?

リテラルな文字列を翻訳呼び出しに変換し、ランタイムに必要なロケールファイルを生成します。具体的には: スタックに応じてi18nランタイムライブラリ(i18next、next-intl、Linguiなど)を選択または検出し、ハードコードされたJSXテキストをt()呼び出しやメッセージコンポーネントに置き換え、意味の通ったキー名を生成し、ソース言語のロケールファイルを書き出します。複数形はcount + " items"の代わりに、本物のICU形式で処理されるようになります。

globalize.nowはランタイムライブラリを置き換えるものではなく、外部のキューに丸投げして手作業で翻訳するものでもありません。ランタイムが読み込むキーとロケールファイルを生成・維持するインフラとして、一段上のレイヤーに位置します。すでにi18nextやnext-intlを組み込んでいる場合、スキルは既存のキーと構造をそのまま維持し、現状から作業を引き継ぎます。


次にgitへプッシュすると何が起こるのか?

セットアップ後は、プッシュのたびに変更内容の翻訳がトリガーされ、更新された言語がプルリクエストとして届きます。エクスポート作業も、インポート作業も、別ツール上のキューも不要です。レビューは、エンジニアが普段からレビューしている場所――差分――で行われます。

これが運用モデルのすべてです。一度セットアップすれば、gitへのプッシュのたびに自動同期され、手作業による介入は一切不要です。AIで作られたアプリにありがちな、どのローカライズプロセスも追いつけないほど速く機能がリリースされてしまうという失敗パターンは、意味をなさなくなります。なぜなら、ローカライズのプロセスが機能をリリースするのと同じプッシュに結びついているからです。


これにはMCPサーバーやダッシュボードが必要ですか?

いいえ。MCPはエージェントを外部プラットフォームに接続するものですが、スキルはエージェントに対して、コードが存在する場所でその作業をこなす方法を教えるものです。いくつかのローカライズ製品はすでにMCPサーバーを提供しており、それはウェブエディタへのコピー&ペースト作業に比べれば確かな進歩です。しかし、文字列とその状態は依然として接続先のプラットフォームに存在し続けており、あなたは両者を突き合わせて整合を取る必要が残ります。

スキルとプッシュを組み合わせたループでは、突き合わせる作業自体が発生しません。ロケールファイルはgit内に存在し、翻訳はコミットとして届き、ロールバックはgit revertだけで済みます。このパターンが広がっている理由については、Claude Codeのスキルがローカライズの標準になりつつあるで解説しています。どちらの手法もダッシュボード全盛の時代を上回りますが、違いは唯一の真実の情報源をどこに置くかにあります。


Claude Codeアプリのローカライズにかかる費用は?

globalize.nowはワークスペースごとに月額20ユーロで、毎月20ユーロ分(約20万語)の翻訳クレジットが含まれます。それを超えた分は、同じ文字単価でトークンベースの従量課金になります。プランは一つだけで、段階なし、シート課金なし、言語ごとの追加料金もありません。RTLを含め、言語数は無制限です。翻訳キーが約1万件、対応ロケールが5つ程度の一般的なSaaSであれば、無理なく含有量の範囲内に収まります。

サインアップにはカード登録不要で5ユーロ分の翻訳クレジットが付き、これはおおよそ100万文字に相当します。実際のアプリで一連の流れをひととおり試すのに十分な量で、課金前に体験できます。

あなたのアプリはすでに完成しています。ローカライズまでの距離は、スキルのインストール一回とプッシュ一回だけです。

globalize.nowは、ハードコードされたアプリ内テキストを翻訳可能なロケールファイルに変換し、リリースのたびに自動で最新の状態を保ちます。

globalize.nowを無料で試す