メインコンテンツへスキップ

エンタープライズ向け i18n-rosetta

チームでは定期的にコンテンツの翻訳を行っていることでしょう。ロケールファイルの山、CIパイプライン、そしておそらく誰かが手動でGoogle Translateを実行し、結果をJSONにコピーして、うまくいくことを祈るようなプロセスが存在しているはずです。あるいは、TMSプラットフォームに料金を支払い、特定のベンダーの翻訳エンジンに縛られているかもしれません。

もっと良い方法があります。

提案

  1. 言語ごとに最適なメソッドを選択 — ベンダーのデフォルトに依存しません
  2. 1つのコマンドでデプロイnpx i18n-rosetta sync がすべてのロケール、すべてのフォーマットを毎回翻訳します
  3. コードを変更せずにメソッドを切り替え — 移行作業ではなく、設定の変更だけで済みます
  4. パイプラインを自社で管理 — ベンダーロックイン、月額制のダッシュボード、アカウント作成は不要です
i18n-rosetta.config.json
{
"version": 3,
"pairs": {
"en:fr": { "method": "deepl" },
"en:ja": { "method": "llm", "model": "google/gemini-2.5-pro" },
"en:de": { "method": "google-translate" },
"en:ko": { "method": "llm", "register": "polite-haeyo" },
"en:crk": { "methodPlugin": "crk-coached-v3" }
}
}

フランス語にはDeepLを使用します(チームがヨーロッパ言語の流暢さを評価しているため)。日本語には最先端のLLMを、ドイツ語にはGoogle Translate(高速、安価、十分な品質)を使用します。韓国語にはフォーマルなトーンを持つLLMを適用し、平原クリー語にはリーダーボードで最高スコアを獲得したコミュニティ構築のコーチング済みプラグインを使用します。

同じコマンド。同じCIパイプライン。言語ペアごとに異なるメソッド。1つの設定ファイル。

リーダーボードからデプロイへのワークフロー

:::tip 近日公開: rosetta leaderboard CLI 以下で説明するワークフローは、MT Eval Arena のリーダーボードと i18n-rosetta CLI の間で計画されている統合機能です。インフラストラクチャは両側に存在しており、現在その連携部分を開発中です。 :::

MT Eval Arena は、再現性のあるフィンガープリント付きのスコアリングで翻訳メソッドのベンチマークを行う場所です。すべてのメソッドは、複数の指標(chrF++、完全一致、FSTの許容度、セマンティクススコアリング)に基づく総合スコアを獲得します。リーダーボードでは、すべての提出結果が追跡されます。

計画されているワークフロー:

# Browse the leaderboard from your terminal
npx i18n-rosetta leaderboard --pair en:crk

# Output:
# ┌──────┬───────────────────────┬────────────┬──────────┬───────────┐
# │ Rank │ Method │ Model │ chrF++ │ Composite │
# ├──────┼───────────────────────┼────────────┼──────────┼───────────┤
# │ 1 │ crk-coached-v3 │ gemini-2.5 │ 43.2 │ 0.67 │
# │ 2 │ fst-gated-pipeline │ gpt-4o │ 41.8 │ 0.63 │
# │ 3 │ prompt-baseline │ claude-4 │ 38.1 │ 0.55 │
# └──────┴───────────────────────┴────────────┴──────────┴───────────┘

# Install the top-scoring method as a plugin
npx i18n-rosetta plugin install crk-coached-v3

# Use it
npx i18n-rosetta sync

メソッドを構築したり、モデルをトレーニングしたりする必要はありません。勝者を選んでデプロイするだけです。 来月、リーダーボードにより優れたメソッドが登場した場合は、1つのコマンドで切り替えることができます。

現在利用可能な機能

リーダーボードとCLIの連携部分は開発中です。現在機能しているものは以下の通りです:

組み込みメソッド(プラグイン不要)

メソッド最適な用途コスト
llm (デフォルト)品質重視、すべての言語OpenRouter経由のトークン課金
gemini品質 + 無料枠無料(制限あり)、以降はトークン課金
google-translateスピード + 大量処理20ドル/100万文字
deeplヨーロッパ言語25ドル/100万文字
llm-coachedコーチングデータのある言語OpenRouter経由のトークン課金
apiカスタム/コミュニティホスト型メソッドセルフホスト

プラグインメソッド(別途インストール)

カスタムプラグインは、ファインチューニングされたモデル、FSTで制御されたパイプライン、コミュニティAPIなど、JSONを出力するあらゆる翻訳ロジックをラップできます。詳細は プラグインの構築 を参照してください。

エンタープライズワークフロー

1. 現在の品質を評価する

# See what you're getting today
npx i18n-rosetta status

# Output shows: method per pair, cache hit rate, quality gate stats

2. 候補に対して評価ハーネスを実行する

評価ハーネス を使用すると、同じデータセットに対して複数のメソッドをベンチマークできます。スイープを実行し、スコアを比較して、最適なものを選びます:

# In the eval harness repo
python -m mt_eval_harness.run \
--methods coached-v3 baseline prompt-tuned \
--dataset data/your-corpus.json

3. 言語ペアごとの勝者を設定する

言語ペアごとに最適なメソッドを使用するように設定を更新します。言語によって最適なメソッドは異なります。これが重要なポイントです。

4. CI/CDに統合する

# In your CI pipeline
npx i18n-rosetta lint # Catch hardcoded strings
npx i18n-rosetta sync # Translate what changed
npx i18n-rosetta audit # Fail if any locale is incomplete
npx i18n-rosetta integrity # Validate placeholder consistency

3つのコマンド。手動翻訳はゼロ。パイプラインがハードコードされた文字列を検出し、選択したメソッドで翻訳し、不足や破損がある場合はビルドを失敗させます。

5. プロフェッショナルによるレビュー(オプション)

重要なコンテンツについては、XLIFFにエクスポートして人間によるレビューを行います:

npx i18n-rosetta xliff export --locale ja --output translations.xliff
# → Send to your translation agency
# → Import corrections back:
npx i18n-rosetta xliff import translations.xliff

大部分は機械翻訳を行い、重要な部分は人間がレビューします。重要な箇所にのみ人間のリソースにコストをかけます。

コストモデル

rosettaには、ライセンス費用、月額サブスクリプション、シート単位の料金はありません。オープンソースのCLIツールです。翻訳APIの呼び出しに対してのみ料金が発生します:

ボリュームGoogle TranslateLLM (Gemini Flash)LLM (GPT-4o)
1,000キー × 5ロケール約$0.50約$0.30 (無料枠)約$2.00
10,000キー × 15ロケール約$15約$8約$60
50,000キー × 30ロケール約$75約$40約$300

翻訳メモリ機能により、次回の同期以降は変更されたキーに対してのみ料金が発生します。10,000個の文字列のうち10個を更新した場合、支払うのは10,000個分ではなく10個分の翻訳料金のみです。

TMSプラットフォームとの比較

rosettaCrowdin / Phrase / Locize
料金無料(オープンソース)+ APIコスト月額$50~$500 + シート単位
ベンダーロックインなし — 設定でプロバイダーを切り替え可能高い — データはベンダーのクラウド上
メソッドの選択任意のプロバイダー、モデルを言語ペアごとに選択可能ベンダーの提供するものに依存
CI/CDファーストクラス (lint → sync → audit)プラグイン/Webhook
カスタムメソッドプラグインシステム、コミュニティプラグインサポートなし
品質ゲート組み込み(文字種エラー、エコー、長さ)ベンダーにより異なる
セルフホスト可能 (LibreTranslate、カスタムAPI)不可

詳細は 完全な比較 を参照してください。

さらに詳しく