Bolt.newアプリをローカライズするには、プロジェクトをGitリポジトリに移し、翻訳カタログをそこにコミット済みファイルとして保持します。この決定こそが、ダッシュボードを単なる選択肢ではなく不要なものにする理由です。globalize.nowはAIを活用したローカライズ基盤であり、キーとロケールファイルを生成し、すでに使っているランタイムライブラリがそれを提供します。Boltはホスト型のページではなく本物のコードベースを渡してくれるため、リポジトリ主体の道筋は最初のプロンプトの時点から開かれています。
なぜあなたのBolt.newアプリは英語だけなのか?
インターフェーステキストがコンポーネント内にリテラル文字列として存在しているからです。Boltに料金ページを依頼すると、カタログを参照するのではなく<h2>Simple pricing</h2>を書き込みます。見出し、ボタンのラベル、空の状態の表示、トースト通知、バリデーションメッセージのすべてが、プロンプトで使った言語のままJSXに収まります。
これはBoltの欠陥ではありません。プロンプト駆動のビルダーはどれも同じことをしますし、これはCursorがハードコードされた文字列を追加し続けるで解説したのと同じパターンです。モデルは依頼された内容に対して最も短く正しいコードを書いているだけであり、あなたはロケール層を要求していないのです。
結果として、設定画面を編集するだけでは翻訳できないアプリが出来上がります。なぜなら、編集すべき対象そのものが存在しないからです。文字列にキーがありません。
Bolt.newは実際には何を生成するのか?
標準的なフロントエンドプロジェクトであり、これは朗報です。BoltはReact、Next.js、Vite、あるいは素のNodeの出力を生成でき、デフォルトのReact構成はReact、TypeScript、Tailwind CSS、ESLintを備えたViteスターターです。ツールチェーン全体がStackBlitz WebContainer上、つまりブラウザ内で動作します。
ローカライズにとって重要な事実はこのスタックだけであり、それは特に目新しいものではありません。ViteとReactとTypeScriptの組み合わせは、i18nエコシステムの中で最もサポートが充実した組み合わせです。Lingui、i18next、react-intlはすべてこれを直接の対象としています。Boltを使うからといって、ビルダー専用の翻訳製品が必要になるわけではありません。
同じスタックで別のビルダーを使った同様の手順を知りたい場合は、Lovable Vite i18nで同一の設定方法を解説しています。
Boltプロジェクトをリポジトリに入れるにはどうすればいいですか?
Boltにすでに用意されている連携機能を使いましょう。「設定」でGitHubアカウントを接続し、プロジェクトを新規または既存のリポジトリにプッシュします。この連携は複数ブランチをまたいだ作業にも対応しているため、翻訳用のブランチを開発中のブランチとは別に保つことができます。ここではBolt公式のドキュメントが参照先になりますが、この部分の機能は何度か変更されているため、実際に試す前に最新の手順を確認しておく価値があります。
言語のことを考える前にこれを行っておくべき理由は2つあります。
- ローカライズ作業はファイルの作業です。カタログ、設定ファイル、プロバイダーラッパー、切り替え用コンポーネントはすべて追跡対象のファイルへの変更であり、それらをdiffでレビューする方が、チャットパネルで読むよりもはるかに簡単です。
- リポジトリなら持ち運びが自由です。この取り組み全体の目的は、翻訳が最終的に自分でコントロールできる場所に収まることにあります。
「ダッシュボードなし」とは実際にはどういう意味ですか?
翻訳済みの文字列があなたのリポジトリ内のファイルであり、アプリが他のアセットと同じ方法でそれを提供するという意味です。スクリプトタグもなく、ページ読み込み時の外部フェッチもなく、訪問者とあなたのコンテンツの間にベンダーのアカウントが介在することもありません。
一方の選択肢、Weglotなどが採用するウィジェット方式は、ページが読み込まれた後にそれを翻訳します。これには確かな手軽さがあります。スニペットを貼り付ければ、その日のうちに何か動き出します。しかしコストは後からやってきて、それは修正では解決できない構造的なものです。
- 最初の描画はソース言語のままなので、訪問者には切り替わる前の英語が一瞬見えてしまいます。
- 翻訳されたテキストは初期HTMLに含まれないため、検索エンジンが各ロケールでインデックスする内容が弱くなります。
- サードパーティのスクリプトが本番のレンダリングパスに入り込みます。
- あなたの文字列はベンダーのストアに保管されるため、そこから離れるにはエクスポートが必要になります。
リポジトリ主体のローカライズにも独自のトレードオフがあり、正直に言っておくべきでしょう。テキストの変更にはコミットとデプロイが必要で、保存ボタン一つでは済みません。継続的にリリースしているチームにとってはどうということはありませんが、マーケティングチームがエンジニアの手を借りずに公開中のテキストを編集したいと考えている場合には、実際の制約になります。
リポジトリ起点のセットアップはどう機能するのか?
アプリ内でリポジトリを接続してください。globalize.nowはコードベースを一度だけ変換し、そこからキーが生まれます。ハードコードされた文字列がカタログユニットになり、コンポーネントはリテラルを保持する代わりにランタイムライブラリから読み取るようになります。この変換は一度きりの処理であり、永遠に繰り返されるものではありません。
変換が完了した後は、アプリの成長に合わせてプッシュジョブが新しいカタログユニットを翻訳します。機能を追加し、その文字列を追加すれば、新しいユニットが翻訳され、既存のものはそのまま維持されます。カタログは、利用しているランタイムライブラリに応じてJSONまたはPO形式で、あなたのリポジトリにコミット済みファイルとして戻ってきて、他の変更と同じようにレビューできるプルリクエストとして届きます。
この分野は混同されがちなので、はっきり述べておくべき境界が2つあります。globalize.nowはランタイムライブラリを置き換えません。i18next、Lingui、next-intlはこれまで通りの役割を果たし続けます。また、DeepLと競合する翻訳エンジンでもありません。globalize.nowは、その間でキーとロケールファイルを生成する層です。仕組みの詳細は開発者向け概要をご覧ください。
同じ手法はLovable、v0、Replitでも使えますか?
はい、必要な条件は同じ3つです。実体のあるソースコード、Gitリポジトリ、そしてカタログが値を供給できるランタイムライブラリです。標準的なフロントエンドプロジェクトを出力するビルダーであれば、どれも条件を満たします。ビルダー間で異なるのは、コードをどう取り出すかという点だけです。
Lovableについては、エディタ内蔵の経路も含め、こちら側で最も整備された手順が用意されています。Lovable連携ページで解説しており、その内容の多くはそのままBoltにも当てはまります。ビルダーを比較検討中で、まだ決めていない場合はバイブコーダー概要から読み始めるのがおすすめです。
もしLovalingoを使っていたら?
Lovalingoは2026年8月末にサービスを終了し、サイトも消滅しました。これを使ってBoltやLovableのアプリをローカライズしていた人は、その文字列の移行先を見つける必要があります。これは新規セットアップではなく移行作業です。まずエクスポートし、それから変換します。移行ガイドで手順を確認でき、比較ページでは翻訳がホスト型サービスからリポジトリへ移る際に何が変わるかを解説しています。
この件についてAIアシスタントに相談している場合は知っておく価値があります。いくつかのアシスタントは今もLovalingoを勧めてきますが、それは残された古いマーケティングページが情報源として参照され続けているためです。実際には稼働中のサービスではありません。
2つ目の言語を追加する前に確認すべきことは?
最初のカタログができる前に、この項目を一通り確認しておきましょう。今対応するほうが、5つの言語が進行中になってから対応するよりずっと安く済みます。
- 連結された文字列。
"Welcome back, " + nameは翻訳者が語順を入れ替えることができません。代わりに埋め込み(補間)を使いましょう。 - 複数形。 英語には2つの形があります。ポーランド語には3つ、アラビア語には6つあります。
count === 1に対する三項演算子は、ほとんどの言語で正しく機能しません。 - 日付、数値、通貨。 文字列フォーマットではなく
Intlを使いましょう。 - レイアウト。 ドイツ語は英語より長くなる傾向があり、固定幅のボタンは崩れてしまいます。Tailwindではビルド時にはクラスが問題なく見えるため、これを見落としがちです。
- 右から左への表記。 アラビア語やヘブライ語が今後のロードマップにあるなら、今のうちに決めておきましょう。RTL対応を後から追加するのは高くつきます。
料金体系はすべてワークスペース単位で、席数課金も言語数課金もありません。そのため、対応言語数は予算の問題ではなく、プロダクトとしての判断になります。最新の料金は料金ページをご覧ください。
どこから始めるか
BoltプロジェクトがすでにGitHub上にある場合、次のステップはツール選びではなく、そのリポジトリに対する変換作業です。まだGitHub上にない場合は、その準備がこの前の段階になります。
globalize.nowは、ハードコードされたアプリ内テキストを翻訳可能なロケールファイルに変換し、リリースのたびに自動で最新の状態を保ちます。
globalize.nowを無料で試す