先月、従来の翻訳エージェンシーなら15万~30万ドルかかっていたプロジェクトを納品しました。総額660ドルです。118ページを30言語に翻訳して、1言語あたり約22ドル。いいえ、これは誤字ではありません。そして、品質が酷いわけでもありません。

私たちがどのようにしてこれを実現したかについて、アーキテクチャ、ツール、プロンプト・エンジニアリング、品質保証プロセス、および正直なトレードオフを含めて説明したいと思います。安価であることは悪いことを意味する必要はありませんが、どこに努力を投資するかについて賢く考える必要があります。

目次

プロジェクトの範囲

クライアントはヨーロッパ、アジア、ラテンアメリカ市場に進出するB2B SaaS企業でした。彼らのマーケティングサイトは118ページで構成されていました:ランディングページ、機能ページ、ブログ投稿、法務ページ、ドキュメンテーション。コンテンツは元々英語でした。

対象言語にはスペイン語、フランス語、ドイツ語、日本語、韓国語、中国語(標準中国語)といった通常の言語に加えて、翻訳者を探すのが難しいエストニア語、ラトビア語、リトアニア語、スロベニア語などが含まれました。合計30言語です。

コンテンツ量に関する簡単な計算:

メトリック 数値
総ページ数 118
1ページあたりの平均単語数 ~620
合計英語単語数 ~73,160
合計翻訳単語数 ~2,194,800 (73,160 × 30)
言語数 30
総コスト ~660ドル
1言語あたりのコスト ~22ドル
翻訳単語あたりのコスト $0.0003

参考までに、プロの人間による翻訳は通常、言語ペアに応じて単語あたり$0.10~$0.30です。中間値の$0.20/単語で計算すると、1言語あたり$14,632、合計$438,960になります。機械翻訳を使用して軽微な人間によるレビューを行う予算エージェンシーでも、単語あたり$0.05~0.08を請求します。

従来の翻訳が非常に高額な理由

翻訳業界を批判したいわけではありません。人間の翻訳者は素晴らしい仕事をしており、特定のコンテンツタイプに関しては代替手段がありません。しかし、コストを押し上げている要因は以下の通りです:

単語単価の価格設定モデルは、すべての単語が人間の認知的努力を必要とする時代のために設計されました。翻訳者は技術的コンテンツの場合、1日に2,000~3,000単語を処理できます。73,160単語では、言語ごとに24~36日の翻訳作業が必要です。これを30言語に掛けると、720~1,080人日の作業が必要になります。

珍しい言語ペアはより高くつきます。質の高い英語からラトビア語への技術翻訳者を見つけることは簡単ではありません。需給関係が働きます。

プロジェクト管理のオーバーヘッドは現実的です。翻訳エージェンシーには、翻訳者、レビュアー、クライアント間の調整を行うプロジェクトマネージャーがいます。そのオーバーヘッドは単価に組み込まれていますが、現実的なものです。

コンテキストスイッチングは時間がかかります。マーケティングコピーに取り組む翻訳者は、ブランド音声、製品用語、ターゲットオーディエンスを理解する必要があります。そのラップアップ時間はプロジェクト全体で償却されていますが、現実的なものです。

これらはどれも無駄ではなく、単に高額なだけです。そして、新しい市場をテストしている企業にとって、これらの地域で製品市場適合を検証する前に翻訳に$400Kを費やすのは、受け入れがたいものです。

AI翻訳アーキテクチャ

ここが、私たちが構築したシステムです。これは単一のAPI呼び出しではなく、パイプラインです。

ステップ1:コンテンツ抽出とセグメンテーション

サイトはNext.jsで構築されており、私たちの仕事を簡単にしてくれました。すべてのコンテンツは構造化されたデータファイルに存在していました(ブログ投稿用のMDX、UI文字列用のJSON、ヘッドレスCMSからの構造化コンテンツ)。

すべてのコンテンツソースをクローリングして、正規化された中間形式を生成するスクリプトを作成しました:

interface TranslationUnit {
  id: string;           // "homepage.hero.title"のようなユニークキー
  source: string;       // 英語テキスト
  context: string;      // これが表示される場所(ページ、セクション)
  type: 'heading' | 'paragraph' | 'ui-string' | 'legal' | 'meta';
  maxLength?: number;   // スペース制約のあるUI文字列用
  glossaryTerms: string[]; // このユニットで見つかった製品固有の用語
}

これは重要です。ページ全体をLLMに投げ込んで、うまくいくことを願いたくはありません。コンテンツを翻訳ユニットにセグメント化すると、コンテキストを制御でき、異なるコンテンツタイプを異なる方法で処理でき、後で増分更新を可能にします。

ステップ2:用語集とスタイルガイドの生成

単語を1つ翻訳する前に、用語集を作成しました。これには以下が含まれました:

  • 製品名(これらは絶対に翻訳しない)
  • 好みの翻訳を持つ技術用語
  • ブランド固有のフレーズ
  • コンテンツタイプごとのトーンガイドライン

実は、英語コンテンツを分析して翻訳を必要とする用語を特定するために、Claudeを使って初期用語集の構築を支援してもらいました。その後、クライアントにレビューと承認を依頼しました。

ステップ3:Claude APIでのバッチ翻訳

実際の翻訳にはClaude 3.5 Sonnet API(現在はClaude 4 Sonnetが利用可能でこれにはさらに優れています)を使用しました。GPT-4oやGeminiではなくClaudeを選んだ理由は複数あります:

  • 複雑なシステムプロンプトを一貫して守るのが得意
  • ロマンス語とゲルマン語での出力がより自然
  • 200Kのコンテキストウィンドウにより、すべてのリクエストに完全な用語集とスタイルガイドを含めることができた
  • 私たちのユースケースにおいて価格競争力があった

翻訳ユニットを20~30のグループにバッチ処理し、ページとコンテンツタイプ別に整理しました。各バッチには用語集、スタイルガイド、テキストが表示される場所に関するコンテキストが含まれていました。

import anthropic
import json

client = anthropic.Anthropic()

def translate_batch(units: list[dict], target_lang: str, glossary: dict, style_guide: str) -> list[dict]:
    system_prompt = f"""You are a professional translator specializing in {target_lang} 
    localization for B2B software companies.
    
    GLOSSARY (use these exact translations):
    {json.dumps(glossary[target_lang], indent=2, ensure_ascii=False)}
    
    STYLE GUIDE:
    {style_guide}
    
    RULES:
    - Preserve all markdown formatting
    - Never translate product names listed in the glossary
    - Adapt idioms naturally -- don't translate literally
    - For UI strings with maxLength, stay within the character limit
    - Output valid JSON matching the input structure"""
    
    user_prompt = f"""Translate the following translation units to {target_lang}.
    Return JSON array with same structure, replacing 'source' with 'translation'.
    
    {json.dumps(units, indent=2, ensure_ascii=False)}"""
    
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=8192,
        system=system_prompt,
        messages=[{"role": "user", "content": user_prompt}]
    )
    
    return json.loads(response.content[0].text)

ステップ4:自動品質チェック

翻訳後、すべてのユニットは自動チェックを実行しました:

  • フォーマット保持:マークダウン、HTMLタグ、変数は無事でしたか?
  • 長さ検証:UI文字列は最大長の範囲内ですか?
  • 用語集準拠:製品名は翻訳されずに残されましたか?
  • プレースホルダー整合性{variable}プレースホルダーは無傷ですか?
  • 逆翻訳サンプリング:出力の10%を英語に逆翻訳し、意味的類似性を比較

翻訳ユニットの約3~4%が1つ以上のチェックに失敗し、特定の修正指示で2回目のパスを通りました。

ステップ5:アセンブリと統合

翻訳されたユニットはNext.jsアプリが期待する形式に組み立て直されました——JSONロケールファイル、翻訳されたMDX、CMSエントリ。ローティングとロケール管理にはnext-intlを使用しました。

実際に効果のあるプロンプト・エンジニアリング

テキストをChatGPTに投げ込んで「AI翻訳」と呼ぶ人を見てきました。これであなたは70%の品質が得られます。70%から95%へのギャップは、プロンプト方法にすべてあります。

ここが針を動かしたものです:

コンテキストがすべてです

「これをフランス語に翻訳して」とモデルに言うと、ジェネリックな出力が得られます。「B2B SaaSランディングページのヒーロータイトルをフランスのIT責任者をターゲットとして翻訳して、自信があるが攻撃的ではないトーンを維持してください」と言うと、使用可能なものが得られます。

私たちはページタイプ、ターゲットオーディエンス、および各コンテンツブロックの目的をすべてのリクエストに含めました。

言語ごとの少数ショット例

言語ごとに、望むトーンをキャプチャした5~10の例翻訳を作成しました。これらはシステムプロンプトに入っています。チームネットワークにネイティブスピーカーがいた言語(約8つの30言語の中で)では、彼らにこれらの例を書いてもらいました。残りについては、それらを生成してから逆翻訳比較で洗練させました。

用語集の強制

これは明らかに聞こえるかもしれませんが、これはできる最も影響力のあることです。用語集がなければ、モデルは製品名「CloudSync」をいくつかの言語で「クラウド同期」と同等のものに翻訳します。ページ全体で同じ機能に異なる用語を使用します。矛盾は信頼を損なわせます。

チャンク戦略

500~800単語を一度に翻訳し、ページセクション別にグループ化すると、最良の結果が得られることがわかりました。小さすぎると(個々の文)コンテキストが失われます。大きすぎると(ページ全体)出力の終わりに向けて品質が低下します。

コスト内訳:22ドルの使い道

お金について具体的に説明しましょう。

コスト要素 1言語あたり 合計(30言語)
Claude API(翻訳) $16.40 $492.00
Claude API(QA/逆翻訳) $3.20 $96.00
Claude API(用語集生成) $0.80 $24.00
その他のAPI呼び出し(リトライ、修正) $1.60 $48.00
合計APIコスト $22.00 $660.00

これにはパイプラインを構築するためのエンジニアリング時間(約40時間)は含まれていません。ただし、そのパイプラインは再利用可能です。クライアントが新しいブログ投稿を追加すると、それをすべての30言語に翻訳するコストは約$2~4のAPI料金であり、CI/CDパイプラインで自動的に実行されます。

当時のClaude APIの価格設定(Claude 3.5 Sonnetを使用)は、入力トークンあたり$3、出力トークンあたり$15でした。Claude 4 Sonnetでは価格設定は同程度ですが、品質が向上しているため、リトライが減ります。

ネイティブスピーカーなしの品質保証

これは人々が最も懐疑的な部分であり、正直なところ、彼らはそうあるべきです。ここが私たちの実際のQAプロセスです:

自動チェック(問題の約60%を検出)

フォーマット保持、長さ、用語集チェック。これらは確定的であり、最も恥ずかしいエラーを検出します——破損したHTML、欠落した変数、翻訳された製品名。

逆翻訳比較(残りの問題の約25%を検出)

各言語のランダムな10%サンプルを別のモデル(GPT-4o)を使用して英語に逆翻訳し、意味的類似性を元のテキストと比較しました。逆翻訳が大きく異なった場合、レビューのためにフラグを立てました。

ネイティブスピーカーのスポットチェック(ニュアンスの問題を検出)

ネイティブスピーカーにアクセスできた8言語(スペイン語、フランス語、ドイツ語、ポルトガル語、日本語、韓国語、標準中国語、オランダ語)では、各スピーカーが15~20ページをレビューしました。彼らのフィードバックは有益でした:

  • 全体的な品質:情報的なコンテンツ向けで8~9/10
  • マーケティングのヘッドライン:6~7/10(より創造的な適応が必要)
  • 技術的なドキュメンテーション:9/10
  • 法的ページ:7/10(許容可能だが完全ではない)

彼らのフィードバックに基づいて、より創造的なプロンプティングでマーケティング見出しの2回目のパスを実施し、それを8/10に引き上げました。

コミュニティフィードバックループ

クライアントはすべてのページに小さな「より良い翻訳を提案」リンクを追加しました。起動後の最初の月間に、すべての言語で約140の提案を受け取りました——翻訳されたすべてのコンテンツの約0.04%。ほとんどの提案はエラーではなくスタイリングの設定でした。

Next.jsでの技術実装

サイトはNext.js App Routerをnext-intlで使用して多言語対応しています。高レベルのセットアップは以下の通りです:

// middleware.ts
import createMiddleware from 'next-intl/middleware';

export default createMiddleware({
  locales: ['en', 'es', 'fr', 'de', 'ja', 'ko', 'zh', /* ... 23 more */],
  defaultLocale: 'en',
  localePrefix: 'as-needed'
});

ヘッドレスCMS統合では、翻訳されたコンテンツはロケールバリアントとして保存されます。MDXのブログ投稿はロケールごとに別のファイルを取得します。UI文字列はJSONメッセージファイルに住んでいます。

ビルドはすべてのロケール/ページの組み合わせの静的ページを生成します。つまり、118 × 31(英語を含む)= 3,658ページです。ISR(増分静的再生成)により、これは完全に管理可能です。

注目すべき点:hreflangタグをプログラムでSEO用に実装しました。各ページはすべての言語バリアントにリンクしています。Googleが多言語サイト構造を理解するためにこれは非常に重要です。

// app/[locale]/layout.tsx
export function generateMetadata({ params: { locale } }) {
  const alternates = {
    languages: Object.fromEntries(
      locales.map(l => [l, `/${l}${pathname}`])
    )
  };
  return { alternates };
}

AI翻訳の欠点

AI翻訳が完璧であると言ったら、正直ではありません。ここが一貫して苦労している場所です:

マーケティングのしゃれと駄洒落。 ヘッドラインが英語で巧妙な場合、AIはそれを文字通りに翻訳するか(巧妙さを失う)、ターゲット言語のしゃれを試みますが、完全には着地しません。マーケティング見出しの約15%を創造的な方向性で手動で書き直しました。

文化的適応。 翻訳とローカライゼーションは同じものではありません。AIは、あなたの米国のケーススタディが「401(k)プロバイダー」について日本では何も意味しないことを知りません。例でドル記号をローカル通貨に交換しません。中国では赤が幸運を意味しますが、西側では危険を意味することを知りません。これには人間の思考が必要です。

法的精度。 利用規約とプライバシーポリシーの場合、AI翻訳は90%完成させます。しかし、法的言語は正確である必要があり、いくつかの管轄区域では、法的に認定された翻訳が必要です。クライアントが実際にビジネスを行っている12市場(他の18市場は探索的)では、法的ページをプロのレビュー用にフラグを立てました。

敬語システム。 日本語、韓国語、タイ語には複雑な敬礼体系があります。AIはサイトの同じページ内で形式的で非形式的な登録を混ぜることがあります。用語集とスタイルガイドは役に立ちましたが、スポットチェックでいくつかの矛盾が判明しました。

性別が付いた言語の性別同意。 フランス語、スペイン語、ドイツ語、アラビア語——ソース英語が性別中立的な場合、AIは選択をする必要があります。時々矛盾しています。自動チェックは関連する翻訳ユニット間で性別マーカーを比較することで、これらのほとんどを検出しました。

人間による翻訳にまだ料金を払うべき場合

1言語あたり22ドルのAI翻訳は、以下の場合に適切な選択です:

  • 新しい市場をテストしており、完璧さよりスピードが必要
  • コンテンツは主に情報的または技術的
  • 10以上のターゲット言語がある(1言語あたりの節約は複合的)
  • 頻繁に翻訳する必要がある(ブログ投稿、チェンジログ、ドキュメンテーション)

以下の場合は人間による翻訳に対して料金を支払う:

  • 法的責任が関わっている(契約、コンプライアンスドキュメンテーション)
  • ブランド音声が重要(タグライン、キャンペーン)
  • 規制対象業界にいる(医療、金融)
  • 1~3つのターゲット言語があり、予算がある
  • 言語的正確性と同じくらい文化的適応が重要

私たちが多くのクライアントに見つけた甘い点は?ほとんどをAI翻訳、重要な10~20%を人間によるレビュー。これは通常、総コストを1言語あたり$22ではなく$50~100に引き上げますが、すべてのコンテンツタイプ全体でほぼ人間の品質です。

多言語ウェブサイトの構築を検討している場合は、お問い合わせください——私たちはこのパイプラインを複数のプロジェクトで洗練させており、Next.js、Astro、または別のフレームワークなど、あなたのスタックに合わせて適応させることができます。国際化プロジェクトをスコープする方法については、価格設定ページを確認してください。

よくある質問

2025年のAI翻訳の品質は人間による翻訳とどのように比較されますか?

情報的および技術的なコンテンツに関しては、ギャップは劇的に狭まりました。ブラインドテストでは、ネイティブスピーカーはClaudeとGPT-4oの翻訳をほとんどのヨーロッパ言語と東アジア言語で人間による翻訳品質の85~92%と評価しています。創造的なマーケティングコピー(70~80%)と法的テキスト(75~85%)ではギャップが広くなります。ラトビア語やエストニア語のような一般的でない言語では、AI品質は実は予算人間翻訳エージェンシーから得られるものと同等で、それらはしばしば軽微な編集の機械翻訳を使用しています。

2025年でウェブサイトを翻訳する最も安い方法は何ですか?

最も安い方法は、ClaudeやGPT-4oのようなモデルへの直接APIアクセスで、約$0.0002~0.0005/単語で実行されます。Weglot($15~50/月)またはLokaliseなどのサービスはより高い単語単価ですが、インフラストラクチャを処理します。Google Translate APIはより安い単語あたり(~100万文字あたり$20)ですが、品質は最新のLLMよりも著しく低いです。Claude APIを含むQAパスの私たちのパイプラインアプローチは、翻訳単語あたり約$0.0003かかりました。

AI翻訳はアラビア語やヘブライ語などの右から左への言語で機能しますか?

はい、ただしフロントエンドの技術実装を慎重に処理する必要があります。Claudeからのアラビア語とヘブライ語への翻訳品質は良好です——当社のアラビア語スポットチェックは8/10でした。より難しい部分は、フロントエンドのRTLレイアウト実装です。CSSロジカルプロパティ(margin-leftではなくmargin-inline-start)と適切なdir="rtl"属性が必須です。ミラーリングが必要なUI要素を計画してください。

30言語に翻訳されたウェブサイトのSEOはどのように処理しますか?

最も重要な3つのことがあります:すべてのページでの適切なhreflangタグ、ロケール固有のURL(/fr//de/のようなサブディレクトリが良く機能)、翻訳されたメタデータ(タイトル、説明、Open Graphタグ)。これをすべてプログラムで生成します。Google Search Consoleにロケール固有のサイトマップを送信することを忘れないでください。30言語サイトの起動から3ヶ月以内に、クライアントは非英語クエリからのオーガニックトラフィックが340%増加しました。

AI翻訳は技術的な専門用語を含むウェブサイトコンテンツを翻訳できますか?

これは実はAI翻訳が輝く場所です。技術用語は通常一貫性があり、よく定義されており、モデルの強みを活かします。キーは、承認された翻訳で特定の条件の用語集を構築することです。用語集がなければ、モデルはあなたのサイト全体で「デプロイメントパイプライン」を3つの異なる方法で翻訳するかもしれません。用語集があれば、岩のように一貫性があります。

ウェブサイト全体をAI翻訳するのにどのくらい時間がかかりますか?

私たちのパイプラインは、レート制限を使用して並列APIリクエストを実行しながら、118ページすべてを30言語すべてに約6時間の計算時間で翻訳しました。パイプラインを構築するエンジニアリング時間は最初のプロジェクトで約40時間でした。同じパイプラインを使用した後続プロジェクトは、セットアップとカスタマイズに8~15時間のエンジニアリング時間、計算時間がかかります。

翻訳されたサイトでコンテンツを更新する必要がある場合、何が起こりますか?

これはセグメント化された翻訳ユニットアプローチが非常に大きく報われる場所です。ページが変更されると、翻訳ユニットを前のバージョンと差分します。変更または新規ユニットのみが再翻訳されます。30言語全体でブログ投稿を更新するのに数セント、およびCI/CDで自動的に発生します。翻訳ユニットハッシュを追跡して、正確に何が古いかを知ります。

1言語あたり22ドルは、あらゆるウェブサイト、または特定の種類のウェブサイトに現実的ですか?

22ドルの数字は当社のプロジェクトのコンテンツ量(~73K単語)とコンテンツタイプ(B2B SaaSマーケティングとドキュメンテーション)に特有です。あなたのマイレージは異なります。500K単語のコンテンツ豊富なサイトは1言語あたり$100~150かかるかもしれません。シンプルな10ページのマーケティングサイトは1言語あたり$3~5かかるかもしれません。コストは単語数でスケーリングし、複雑さで少しスケーリングします。固定コストはパイプラインを構築または構成するエンジニアリング時間です。