mcpField
A
AI Localization Agent

AI Localization Agent

ローカル
l10n.devAI・エージェント311 週間前に更新

AI Localization Agent について

AI Localization Agentは、l10n.devを通じてソフトウェアのi18nファイルを翻訳するMCPサーバーです。翻訳と形式検証をサーバー側で行い、エージェントがソースファイルをコンテキストに読み込む必要を減らします。

主な機能

  1. 01165言語への翻訳
  2. 02ファイル形式とプレースホルダーの保持・検証
  3. 03プロジェクトの言語構成の検出
  4. 04用語集と言語指示の保存
  5. 05新規・変更文字列の差分翻訳

活用シーン

  1. 01アプリのi18nファイルを複数言語に翻訳
  2. 02複数ファイル間で用語と文体を統一
  3. 03変更された原文だけの翻訳を更新

MCP 対応

MCPサーバーは、ファイル翻訳、プロジェクト構成の検出、用語集と言語指示の管理ツールをクライアントに提供します。アカウント残高とAPIキー状態を確認するツールも公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ai-l10n": {
"command": "npx",
"args": [
"-y",
"ai-l10n-mcp"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
起動コマンドnpx -y ai-l10n-mcp
設定が必要な環境変数
YOUR_API_KEYシークレットYour API key for the service

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmai-l10n-mcp1.2.0

ツール

16

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
sourceFilestringはいソース i18n ファイルの絶対パスまたは相対パス(JSON、JSONC、ARB、YAML、PO、XLIFF、MD など)
targetLanguagesarrayいいえBCP-47 言語コード。例:['es','fr','de']。省略した場合はプロジェクト構造から自動検出されます。
translateOnlyNewStringsbooleanいいえ新規または変更された文字列のみを翻訳し、対象ファイルにすでに存在する文字列はスキップします。文字数クォータを節約できます。デフォルトは false です。注:初回実行時はハッシュテーブルが空のため、追加された文字列のみが翻訳されます。注:generateGlossary も有効な場合、ソース全体の文字数分がクォータから差し引かれます。
generateGlossarybooleanいいえ今回の翻訳から用語集を生成して保存し、今後の翻訳の一貫性を保ちます。追加の文字数を消費します(ソース全体の文字数分が事前に差し引かれます)。デフォルトは false です。
instructionstringいいえこの翻訳に対する言語指示。例:'Use formal tone, never translate Dashboard'。このリクエストでは、有効な保存済み指示より優先されます。最大 1000 文字です。
generatePluralFormsbooleanいいえサフィックス付きの複数形文字列を生成します(例:i18next 用)。ソースから対象への厳密な対応付けが必要な場合は有効にしないでください。デフォルトは false です。
useShorteningbooleanいいえ適切な場合に、より短い訳文を許可します。デフォルトは false です。
translateMetadatabooleanいいえUI 文字列とともにメタデータ項目も翻訳します(例:Flutter ARB の @key の説明)。false(デフォルト)の場合、対象ファイルのメタデータ項目は変更されません。
replacebooleanいいえ既存の対象ファイルをその場で置き換えます。false(デフォルト)の場合、一意の名前を付けたコピーを作成します。
languageCodeRegexstringいいえファイル名内の言語コードを特定する正規表現。組み込みの検出方法を上書きします。名前付きキャプチャグループ (?<language>...) を含める必要があります。例:'^common\\.(?<language>[\\w-]+)\\.json$'。グループの前後のテキストは対象ファイルにも引き継がれるため、common.en.json は common.ru-RU.json になります。ローカライズファイルが存在するにもかかわらず l10n_detect_project_structure が構造を不明と報告する場合にのみ必要です。
verbosebooleanいいえ出力に SDK の詳細ログを表示します。デフォルトは false です。

詳細

ai-l10n-mcp

npm version License: MIT

AI エージェントが l10n.dev にアクセスできるようにする MCP サーバーです。l10n.dev は、ソフトウェアの i18n ファイル専用に開発された**プロフェッショナルなローカライズサービス**です。

AI エージェントがアプリを翻訳するとき、ファイルの内容をチャットに貼り付けるという単純な方法では、すぐに限界が見えてきます。ローカライズファイルは大きく、形式には厳密なルールがあり、プレースホルダーはそのまま保持する必要があります。用語集はセッションをまたいで揺れ、エージェントは実行間で記憶を保持できません。この MCP は、エージェントがツールとして呼び出す専用のローカライズエンジンで、この脆弱なワークフローを置き換えます。 生のファイル内容でコンテキストウィンドウを無駄にすることなく、プロフェッショナル品質の出力を得られます。

AI エージェントにプロフェッショナルなローカライズのコパイロットを与えるものと考えてください。 エージェントは意図の把握とオーケストレーションを担当し、l10n.dev は正確性、一貫性、形式の保証を備えた実際の翻訳を担当します。


AI エージェントに直接依頼する代わりに、これを使う理由

AI エージェント単独ai-l10n-mcp
165 言語への対応まちまちで、多くの場合は限定的✅ 全言語に対応
大きなファイルの処理途中で切り詰められる、またはスキップされる✅ すべてサーバー側で処理
形式の保持不安定 — プレースホルダー、キー、構造が壊れる✅ 保証 — 翻訳後にソース形式を検証
用語集の一貫性セッション間やファイルの分割間で失われる✅ 保存された用語集をすべてのファイルと分割に適用
翻訳後の編集が必要か通常は必要✅ 不要 — 出力はそのまま本番環境で使用可能
トークンコスト高い — 生のファイルをコンテキストに含める✅ 低い — 返されるのはメタデータのみ
差分更新毎回、全体を読み込んで再翻訳✅ 新規または変更された文字列のみ

特長

  • 165 言語 — 1 回の呼び出しで、世界中の幅広い言語に翻訳
  • 形式を保証 — JSON、JSONC、Flutter ARB、YAML、PO(gettext)、XLIFF、MD、およびテキストベースのすべての i18n 形式に対応。プレースホルダー、キー、構造を保持し、翻訳後に検証します
  • 対象言語の自動検出 — プロジェクト構造から対象言語を検出
  • 用語集の永続化 — コンテンツから用語集を生成して保存し、以降のすべてのファイルと分割に自動適用して用語を統一
  • 言語的な指示 — 言語ペアごとにスタイルやトーンのルール(例:「フォーマルな文体を使用」)を保存
  • 差分翻訳 — ハッシュベースの変更検出により翻訳済みの文字列をスキップし、クォータを節約するとともに既存の翻訳を保護
  • 先回りの品質管理 — 翻訳後ではなく、翻訳前に言語ペアごとの指示と用語集を確認

Claude Desktop、Cursor、Windsurf、GitHub Copilot、OpenAI Codex、または MCP 互換のエージェントを l10n.dev の翻訳エンジンに直接接続できます。


インストールと設定

API キーの取得

無料アカウントを作成し、https://l10n.dev/ws/api-keys で API キーを取得してください。

ヒント: 各設定で L10N_API_KEY を設定する代わりに、l10n_set_api_key を使ってキーを保存するよう AI に依頼できます。キーは ~/.ai-l10n/config.json に保存され、自動的に使用されます。

Claude Desktop

Claude Desktop で Settings > Developer > Edit Config を開きます。Claude Desktop がインストール環境に応じた正しい MCP 設定ファイルを開きます。macOS では通常、~/Library/Application Support/Claude/claude_desktop_config.json です。Windows ではインストール方法によって保存先が異なる場合があるため、手動で移動せず Edit Config を使用してください。次を追加します。

{
  "mcpServers": {
    "l10n": {
      "command": "npx",
      "args": ["-y", "ai-l10n-mcp"],
      "env": {
        "L10N_API_KEY": "your-api-key-here"
      }
    }
  }
}
Cursor

Cursor の Customize を開き、MCP サーバーを追加・管理します。ファイルを使って設定する場合は、次のいずれかの設定ファイルを作成します。

  • ユーザー全体に適用する設定:~/.cursor/mcp.json
  • ワークスペース固有の設定:プロジェクト内の .cursor/mcp.json

次を追加します。

{
  "mcpServers": {
    "l10n": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "ai-l10n-mcp"],
      "env": {
        "L10N_API_KEY": "your-api-key-here"
      }
    }
  }
}
Windsurf

Windsurf では、Cascade の MCPs パネルを開くか、Devin Settings > Cascade > MCP Servers に移動します。手動で追加する必要がある場合は、~/.codeium/windsurf/mcp_config.json を編集して、次の内容を追加します。

{
  "mcpServers": {
    "l10n": {
      "command": "npx",
      "args": ["-y", "ai-l10n-mcp"],
      "env": {
        "L10N_API_KEY": "your-api-key-here"
      }
    }
  }
}
GitHub Copilot (VS Code)

コマンドパレットを開き、MCP: Open User Configuration を選択します。または、ワークスペースかユーザー設定に .vscode/mcp.json ファイルを作成します。次の内容を追加します。

{
  "servers": {
    "l10n": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "ai-l10n-mcp"],
      "env": {
        "L10N_API_KEY": "your-api-key-here"
      }
    }
  }
}
OpenAI Codex (CLI and IDE)

ユーザー全体の設定には ~/.codex/config.toml に、信頼できるプロジェクトの設定には .codex/config.toml に追加します。

[mcp_servers.l10n]
command = "npx"
args = ["-y", "ai-l10n-mcp"]

[mcp_servers.l10n.env]
L10N_API_KEY = "your-api-key-here"

ターミナルから追加することもできます。

codex mcp add l10n --env L10N_API_KEY=your-api-key-here -- npx -y ai-l10n-mcp
Claude Code (CLI and VS Code extension)

ターミナルからサーバーを追加します。

claude mcp add --env L10N_API_KEY=your-api-key-here --transport stdio l10n -- npx -y ai-l10n-mcp

プロジェクトで共有する設定の場合、Claude Code はプロジェクトのルートにある .mcp.json ファイルに MCP サーバーを保存することもできます。


利用可能なツール

翻訳
ツール説明
l10n_translate_filei18n ソースファイルを 1 つ以上のターゲット言語に翻訳します
l10n_detect_project_structureソースファイルをスキャンし、構造の種類、ソース言語、ターゲット言語、ターゲットファイルのパスを検出します

どちらのツールも、言語コードのフォルダー(locales/en/common.json、 folder-based として報告)とファイル名(file-based)の両方で言語コードを検出します。ファイル名はコードそのもの(locales/en.json)の場合も、ほかの部分とコードを組み合わせたもの(app_en.arb、 locales/emails.en.json、locales/en-US.common.json、messages_en_US.properties)の場合も対象です。認識されない命名規則を使う場合は、(?<language>...) グループを含む正規表現の languageCodeRegex を渡します。例:^emails\.(?<language>[\w-]+)\.json$。グループの前後にあるテキストはターゲットファイルにも引き継がれるため、emails.en.json は emails.ru-RU.json になります。

言語的な指示
ツール説明
l10n_list_instructions保存済みの言語的な指示(トーン、スタイル、ブランドボイス)をすべて一覧表示します
l10n_create_instruction言語ペアの新しい指示を作成します
l10n_update_instruction既存の指示を更新します
l10n_delete_instruction指示を削除します
用語集
ツール説明
l10n_list_glossaries保存済みの用語集をすべて一覧表示します
l10n_get_glossary特定の用語集の詳細とエントリーを取得します
l10n_create_glossary空の用語集を新規作成します
l10n_update_glossary用語集の名前または有効状態を更新します
l10n_delete_glossary用語集を完全に削除します
l10n_add_glossary_entry用語集に用語の対応関係を追加します
l10n_delete_glossary_entry用語の対応関係を削除します
アカウント
ツール説明
l10n_get_balance残りの文字数を確認します
l10n_set_api_keyAPI キーをローカルに保存し、自動的に使用できるようにします
l10n_get_api_key_statusAPI キーが設定されているか確認します

利用可能なプロンプト

l10n_project_setup

最適な翻訳品質を得るために、言語的な指示と用語集の確認および設定を案内します。新しいプロジェクトの開始時、または l10n.dev の設定を確認するときに実行してください。

引数:

  • sourceLanguage — ソース言語コード(デフォルト:en)
  • targetLanguages — カンマ区切りのターゲット言語コード(例:es,fr,de)
l10n_setup_automation

プロジェクトをスキャンして i18n のソースファイルを検出し(l10n_detect_project_structure を使用)、言語に関する指示、用語集、翻訳の整合性を確認したうえで、GitHub Actions または npm スクリプトを使った完全自動翻訳を対話形式で設定します。

GitHub Actions の場合は、次の 4 つのトリガーオプションを案内します。

  • A) main へのプッシュごと — 翻訳して直接コミットし直す
  • B) プルリクエスト時 — 翻訳してレビュー用の PR を作成する
  • C) スケジュール実行 — 毎晩、または cron で翻訳する
  • D) 手動トリガーのみ — workflow_dispatch

ai-l10n.config.json と .github/workflows/translate.yml を作成する(または package.json のスクリプトを更新する)と、API キーの追加場所と、次回のトリガー時に実行される処理を案内します。

引数:

  • sourceLanguage — ソース言語コード(デフォルト:en)
  • targetLanguages — カンマ区切りのターゲット言語コード(例:es,fr,de)

ワークフローの例

ユーザー:「アプリをスペイン語とフランス語に翻訳してください」

Claude(この MCP サーバーを使用)は次のように動作します:

  1. l10n_list_instructions を呼び出す — es/fr の言語ペアに関する指示がないことを確認する
  2. 次のように尋ねる:「スペイン語/フランス語の指示が見つかりません。翻訳前にトーンやスタイルのルールを設定しますか?(例:フォーマル、カジュアル、ブランド用語は翻訳しない)」
  3. ユーザーが答える:「ラテンアメリカ向けのフードアプリなので、カジュアルなトーンにしてください」
  4. スタイルルールを指定して l10n_create_instruction を呼び出す
  5. l10n_list_glossaries を呼び出す — es/fr の有効な用語集がないことを確認する
  6. 次のように尋ねる:「スペイン語/フランス語の用語集が見つかりません。今回の実行で用語集の生成を有効にしますか?一貫した翻訳のために、重要な用語を保存できます。」
  7. ユーザーが答える:「はい」
  8. es.json と fr.json がすでに存在することを検出し、次のように尋ねる:「ターゲットファイルはすでに存在します。変更されていない文字列をスキップしてクォータを節約するため、増分モードを有効にしますか?」
  9. ユーザーが答える:「はい」
  10. sourceFile、targetLanguages: ["es", "fr"]、instruction、generateGlossary: true、translateOnlyNewStrings: true を指定して l10n_translate_file を呼び出す
  11. 結果を報告する

増分翻訳

JSON ベースの形式では、すでに翻訳済みの文字列をスキップするために translateOnlyNewStrings: true を有効にします。変更を検出するため、各ソース文字列のハッシュ(内容そのものではありません)が l10n.dev サーバーに保存されます。追加または変更された文字列だけを翻訳するため、文字数クォータを節約できます。

注: 初回の翻訳では、変更された文字列を検出するためのハッシュテーブルが空なので、追加された文字列のみを翻訳します。


自動化:CLI と GitHub Actions

CI/CD の自動化とコマンドラインでの使用方法については、以下を参照してください。

  • ai-l10n CLI — ターミナルまたは CI パイプラインからファイルを翻訳します
  • GitHub Action — プッシュ、PR、または手動トリガーで自動翻訳します

料金

  • 無料プラン — 毎月 10,000 文字まで無料で、クレジットカードは不要です。
  • 従量課金制 — サブスクリプション不要の、手頃な文字数ベースの料金です。
  • 現在のプラン — 最新の料金については l10n.dev/#pricing をご覧ください。

プライバシーとセキュリティ

  • データを保持しません — リクエストの処理に必要な時間を超えて、ソーステキストや翻訳を l10n.dev のサーバーに保存することはありません。
  • 暗号化通信 — すべての API 呼び出しで HTTPS を使用します。
  • プライバシーを最優先 — 開発者のために開発者が構築し、プライバシー、信頼性、品質を最優先事項としています。

サポート

📧 メール[email protected]
🐛 課題GitHub Issues
📚 API ドキュメントapi.l10n.dev/doc
🌐 ウェブサイトl10n.dev

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。