プレースホルダーとタグ
原文と同じ集合です。追加も翻訳もしません。ICU、i18next、MessageFormat 2に対応。
de "Jetzt {Preis} sparen"
glotによる拒否: Placeholder `{Preis}` does not exist in the source; remove it or fix its name (the source only has {price}).
Labs学習するコピー
AIがヘッドラインとボタンのバリアントを作成します。glotはすべてのバリアントを全ロケールで検証し、国、デバイス、流入元ごとに最も成果の高いバージョンを表示します。勝者はプルリクエストとしてリポジトリに戻します。
i18nスタックを検出し、glotをセットアップします。実験はglotクラウドまたは自分のサーバーで実行されます。
1 ベンチマーク:ICUメッセージ320件、8ロケール、claude-haiku-5-5、2026年10月18日。プロンプトとモデルは同一。
動作を確認
1つのキーに、AIが書いた3バージョン。すべてのロケールをコードで検証し、オーディエンスごとに勝者を配信して、結果を Git に戻します。
home.hero.title公式テキスト: “Send your invoices in minutes.”サンプルデータAIが3つのバージョンを書きます
バージョンごとに意図は1つ。公式テキストは基準として残ります。
“Invoices in a few clicks.”
“Get paid faster. Send invoices in minutes.”
“Today only: send unlimited invoices.”
1/5
サンプルデータです。拒否メッセージは glot の文言をそのまま表示しています。
課題
01
US訪問者向けにデスクトップ用に書いた見出しは、ドイツの検索流入や日本のモバイルユーザーにも表示されます。
02
価格プレースホルダーを落としたり、ポーランド語の複数形を忘れたり、112 px のボタンからはみ出したり、「本日残り3点のみ」と勝手に作ったりすることもあります。
「このJSONを翻訳して」と頼まれたclaude-haiku-5-5は、当社のベンチマークでポーランド語メッセージの42.5%を壊しました。 ベンチマークを見る
03
1つのバリアント、1つの言語、読み込み時にちらつくスクリプト、誰も信用しないダッシュボード、そして勝者をコードに手作業で戻す必要があること。
glot は AI の部分を安全に、テストの部分を自動化します。
仕組み
ヒーローのタイトル、サブタイトル、ボタンなど、一緒に変わるキーのグループを選びます。オーディエンスも指定します:国、言語、デバイス、流入元。
社会的証明やシンプルさなどの意図を選びます。glotは全ロケールで各バリアントを作成し、ルールに違反するものは正確な理由を添えて拒否します。
glotは各オーディエンスに最適なバージョンを表示し、実際の根拠を待ってから、勝者を含むプルリクエストを開きます。カタログが引き続き信頼できる情報源です。
実験の定義は、コードの近くのglot.experiments.tomlに置かれます。glot experiments validateは、CIでオフラインでそれらをチェックします。
保証の内容
glotの翻訳を守るのと同じバリデーターが、すべてのロケールのすべてのバリアントで実行されます。1つでも失敗するロケールがあるバリアントは、公開されることはありません。
原文と同じ集合です。追加も翻訳もしません。ICU、i18next、MessageFormat 2に対応。
de "Jetzt {Preis} sparen"
glotによる拒否: Placeholder `{Preis}` does not exist in the source; remove it or fix its name (the source only has {price}).
言語が必要とするすべての形式に対応。ポーランド語では4形式、アラビア語では6形式。
pl "{count, plural, one {…} other {…}}"
glotによる拒否: `{count, plural, …}` is missing plural categories required by pl: few, many.
製品名はそのまま保持されます。言語ごとの必須用語と禁止用語を、リポジトリ内のファイルで定義します。
fr "Ouvrez votre espace"
glotによる拒否: Glossary: `Workspace` must be translated as `Espace de travail` in fr.
アプリの実際のフォントとボックスで計測します。ボタンに収まらないほど幅の広いバリアントは、切り捨てずに拒否されます。
de "Jetzt kostenlos und ohne Kreditkarte starten"
glotによる拒否: Too wide for its box in the app: one line of 160px at Geist 14px/500; it renders 301px wide.
偽の緊急性、偽のアクティビティカウンター、証明できない主張、確認強要(confirmshaming)は拒否されます。価格と法的表示は変更できません。
en "Today only: unlimited invoices"
glotによる拒否: "Today only": urgency or scarcity with no source. Declare the real deadline or stock as a fact (e.g. "offer ends 31 Oct") or remove the wording.
バリアントが引用できるのは、宣言した数値だけです。「10,000のチームが参加」は、10,000がリストにない限り拒否されます。
en "Join 10,000 teams who get paid faster"
glotによる拒否: "10000" is in neither the official text nor the facts. Declare it as a fact or remove it.
ルールは、EU消費者法で既に制裁対象となっている手法を対象とします。問題なしのレポートは既知の危険信号がないことを意味するもので、法的助言ではありません。
読める結果
すべてのオーディエンスについて、glotは勝つバージョン、その差、確信度を一文で示します。p値ではありません。
“シンプルさ:ドイツでの登録数 +18%(おそらく +6%~+30%の範囲)、最良である確率 97%。あと約3日。”
早期判断はしません。 7日間、かつ各バージョン500人の訪問者に達するまで勝者は決めません。たまたま忙しい月曜日で結論が出ることはありません。
偽の勝者はなし。 確認、バージョン、オーディエンスを増やすたびに基準は厳しくなります。当社のテストスイートは、何も変わらない実験をシミュレーションし、その5%超で勝者を宣言すると失敗するようになっています。
オーディエンスの勝者は、本物の場合のみ。 glotは、ドイツが全体の結果を明確に上回る場合にのみ「ドイツの勝者」と表示します。そうでなければ、全体に展開することを推奨します。
トラフィックは成果の出るものへ。 学習中は、より良く見えるバージョンに多くの訪問者が流れます。どのバージョンも最後まで少なくとも10%は維持されます。
見逃せないアラート。 トラフィックの分割がおかしい場合(キャッシュ、ボット、バグなど)、判断は保留され、赤いバナーで理由が表示されます。
オーディエンスは最大4つ。 国、言語、デバイス、流入元、新規か再訪か。それ以外の訪問者には、それぞれ専用のグループが割り当てられます。
目標
バリアントの勝敗は、重視するイベントで決まります。クリックだけで決まることはありません。
初期設定で高速・プライベート
ちらつきなし。 エッジがバージョンを選択し、サーバーがそれをレンダリングします。訪問者が古いテキストの差し替えを見ることはありません。
クリティカルパスには決して置きません。 判定には1分ごとに更新されるキャッシュファイルを使用します。glot がダウンしても、全員にあなたの公式テキストが表示されます。
既定で Cookie は使用しません。 glot はバージョンとオーディエンスごとの日次カウントを保持します。IP、ユーザーエージェント、訪問者 ID は保存しません。Global Privacy Control に従います。
検索エンジンには人間と同じものが見えます。 URL と canonical は同一で、クローラー向けにバージョンが選ばれることはありません。
サーバーサイドレンダリングのないシングルページアプリは、クライアント専用モードを使えますが、ちらつきが発生する場合があります。
インストール
Next.js(App Router)と next-intl に対応。t() の呼び出しは変わりません。
1 proxy.ts
export const proxy = glotProxy({ source: "en", locales: ["fr", "de"], experiments: { server: "https://glot.example.com", project: "acme", key: "PUBLIC_KEY" } });2 i18n/request.ts
return { locale, messages: withExperiments(messages, { header: (await headers()).get("x-glot-xp"), locale }) };3 signup-form.tsx
track("signup"); // or track("purchase", { value: 49, currency: "EUR" })対象ユーザー
Next.jsアプリに3行追加するだけ。t()の呼び出しは変更不要。勝者は、他の変更と同じようにレビューできるプルリクエストとして届きます。
ダッシュボードから、すべての言語でヒーローセクションの実験を開始するか、コーディングエージェントに依頼できます。結果は一文で確認できます。
すべてのバリアントは、用語集とレビューキューを通過します。承認していない市場に届くものはありません。
連携
基盤
バリアントはglotのローカライズエンジン上に構築されています。1つのコマンドでハードコードされた文字列をキーに移行し、変更された部分のみを翻訳し、壊れたものは拒否します。
当社のベンチマークでは、glotが壊れた文字列を書いた割合は0.0%でした。同じモデルにシンプルなプロンプトを使った場合は、14.1%(Haiku)と8.8%(Sonnet)でした。独立したFormatJSのジャッジも、この結果に同意しています。
850件の文字列の翻訳は、今回の実行でデフォルトモデルを使用して$0.035でした。LLMプロバイダーには直接お支払いいただきます。
ベンチマーク全文を読むglotは、独自のLLMキーでアプリをローカライズするオープンソース(MIT)のCLIおよびMCPサーバーです。さらに、コピー実験として、AIが作成した見出しのバージョンをすべてのロケールで確認し、各オーディエンスに配信します。プレースホルダー、複数形、用語集、UIの枠を壊すテキストは、コードが拒否します。
はい。glotは、選択したオーディエンス(国、デバイス、流入元)ごとに、見出しやボタンの複数のバージョンを配信し、すべての言語で同時に実行して、コンバージョンにつながるものを残します。実験ごとに最大4つのオーディエンスを指定でき、それ以外のすべてのユーザーも対象になります。
すべてのバージョンは、翻訳と同じチェックをすべてのロケールで受けます。さらに、偽の緊急性、作り出された数値、証明できない主張を禁じるルールも適用されます。公開前に人間による承認を必須にすることもできます。
いいえ。バリアントで引用できるのは、宣言された事実のみです。テキストや事実に含まれていない数値は拒否されます。価格や法務に関わるキーは、テストすることができません。
同期的なブロッキング呼び出しはありません。エッジがキャッシュ済みファイルからバージョンを選び、サーバーがそれをレンダリングするため、サーバーレンダリングではちらつきは起きません。クライアントのみのSPAでは、初回描画時にちらつくことがあります。glotが停止している場合、訪問者には元の公式テキストが表示されます。
glotはデフォルトではCookieを設定せず、IPアドレス、ユーザーエージェント、訪問者IDは保存せず、日次の件数のみを保存します。任意のセッションCookieはバージョンを保持するだけで、それ以外は何も保存しません。同意が必要かどうかはDPOの判断となります。プライバシーに関する資料が参考になります。
glotはユーザーエージェントに基づいてバージョンを選ぶことはありません。クローラーも通常の訪問者と同じバージョンを、同じURLと同じcanonicalで受け取り、ボットのアクセスはカウントされません。バージョンは同じ意味を保ちます。
トラフィックとコンバージョン率によって異なります。実験を作成すると、glotは所要期間を推定し、90日以上かかるオーディエンスは統合することを提案します。まずはグローバルな実験を1つから始めてください。
glotは、バージョンごとに最低7日間と500人の訪問者を待ち、確認するたびに基準を引き上げます。また、プロモートしたすべての効果を測定するために、少数のホールドアウトを残すこともできます。
CLI、バリデーター、ローカルのMCPサーバーはMITライセンスの無料版で、LLMプロバイダーには直接お支払いいただきます。glot cloudには実験1件までの無料プランがあり、オーディエンス機能を含む有料のProプランとTeamプランがあります。サーバーをセルフホストすれば、制限はありません。
文字列の自動抽出:Next.js(App RouterおよびPages Router)、React Router、Astro、Vite + React。カタログ:ICU、i18next、MessageFormat 2構文のJSON、JS辞書、Apple .xcstringsおよび.strings、Android strings.xml、Flutter ARB、gettext PO、YAML。
npx -y glot-i18n mcp を通じて MCP に対応するエージェントであれば利用できます(Claude Code、Cursor、Codex、Windsurf など)。Claude Code には glot のプラグインとスキルも用意されており、その他のエージェント向けに AGENTS.md ルールも提供しています。
CLI、バリデーター、ローカル MCP サーバーは MIT ライセンスで、制限はありません。glot cloud は1つの実験まで無料で始められます。Pro ではオーディエンスを、Team ではさらに多くを追加できます。サーバーをセルフホストすれば、何も制限されません。
まずは見出しを一つ用意してください。文章チェック、計算、プルリクエストは glot が行います。