|
ドキュメント
デモを予約プラットフォーム
プラットフォームMCPCLIAPIワークフロー
ガイド
変更履歴

ローカライゼーション

  • 概要
  • 翻訳API
  • Webアプリのローカライゼーション
  • モバイルアプリのローカライズ
  • String Catalogを使ったiOS
  • Android with strings.xml
  • メールのローカライズ
  • 静的コンテンツ(例: .md、.json)
  • Next.js with Markdoc
  • Rails with i18n

ワークフロー

  • MCP でエンジンを設定
  • Jiraトリアージ
  • CI/CD

Webアプリのローカライゼーション

Lingo.dev のCLIは、Web アプリのリソースファイル(JSON、YAML、XLIFF、PO、PHP)を、設定済みのローカライゼーションエンジン経由で翻訳します。フレームワークで i18n を設定し、CLI で翻訳ファイルを指定して実行するだけです。

仕組み#

どの Web フレームワークにも、リソースファイルから翻訳を読み込む i18n ライブラリがあります。たとえば React では JSON、Angular では XLIFF、Django では PO を使います。CLI はそれらのファイルを直接翻訳するため、コードを変更しなくてもフレームワーク側でそのまま翻訳を取り込めます。

1

フレームワークで i18n を設定する

各フレームワークの公式 i18n ライブラリを使って、ロケール対応のルーティング、翻訳関数、ソース言語のリソースファイルを追加します。以下の各フレームワークセクションから、公式セットアップガイドを参照できます。

2

CLI を設定する

まず lingo init を実行して、ソースロケール、対象ロケール、翻訳対象のファイルパターンを含む .lingo/config.json を作成します。続いて lingo link を実行し、組織とエンジンを関連付けます。CLI は各ファイルの形式を拡張子から自動判別するため、bucket type の指定は不要です。.lingo/config.json はコミットしてください。

3

翻訳を実行する

lingo push を実行すると、CLI がローカライゼーションエンジンを通じてリソースファイルを翻訳します。用語集ルール、ブランドボイス、モデル選択も自動で適用されます。

前提条件#

CLI をインストールして認証します。

bash
npm install -g @lingo.dev/cli
lingo login

CLI の利用には Node.js 22 以降が必要です。CI では対話型ログインをスキップし、--api-key または LINGO_API_KEY 環境変数でキーを渡してください。

CLI を実行するたびに、コンテンツは ローカライゼーションエンジン を通ります。これは、どの LLM モデル、用語集、ブランドボイス、ルールを適用するかを決める設定です。Lingo.dev のダッシュボードで作成し、API key を生成してください。lingo link は、そのエンジンの orgId と engineId を .lingo/config.json に書き込みます。

AI 支援セットアップ

i18n MCPを使えば、フレームワークの i18n 基盤全体を自動でひな形化できます。これをClaude Code、Cursor、またはGitHub Copilotに接続し、「Set up i18n」と入力すると、エージェントが 13 ステップのチェックリストに沿って、ルーティング、翻訳ファイル、言語切り替え機能を設定します。

JavaScript フレームワーク#

各 pattern に含まれるロケールセグメントは、対象ロケールごとに置き換えられます。たとえば public/locales/en/translation.json は public/locales/de/translation.json になります。ソースパスには、ソースロケールのコードが含まれている必要があります。

react-i18nextは JSON ファイルから翻訳を読み込み、実行時にキーを翻訳文字列にマッピングするuseTranslationフックを提供します。

json
{
  "orgId": "org_...",
  "engineId": "eng_...",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "public/locales/en/translation.json" }]
}

サーバーサイドフレームワーク#

Laravel には組み込みのローカライズ機能があり、ロケールごとのディレクトリに整理された PHP ファイルから翻訳を読み込みます。

json
{
  "orgId": "org_...",
  "engineId": "eng_...",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "lang/en/messages.php" }]
}

翻訳の実行#

.lingo/config.json を用意したら、1 つのコマンドですべてのリソースファイルを翻訳できます。

bash
lingo push

CLI はソースロケールのファイルを読み込み、lockfile(.lingo/lock.json。設定ファイルとあわせてコミットします)を使って前回の実行以降の変更を判定し、差分だけを翻訳して対象ロケールのファイルに書き込みます。既存の翻訳はそのまま保持され、CLI が補完するのは未翻訳または更新された文字列のみです。

初回実行時、または新しい対象ロケールを追加したあとは、すべてをゼロから翻訳します。

bash
lingo push --backfill-missing

glob を指定すれば、実行対象を一部のファイルだけに絞れます。

bash
lingo push "messages/**"

翻訳は行わず、別の場所(たとえば別のマシンやビルドステップ)で最新の翻訳だけを取得したい場合は、lingo pull を実行します。翻訳が最新の状態かを確認するデプロイゲートとして lingo check を使ってください。

次のステップ#

導入事例
設定と翻訳を反映済みの、React、Next.js、Laravel、Rails の実際に動かせるリポジトリ
CLI 設定
.lingo/config.json の完全なリファレンス。ファイル、ロケールコード、高度なオプションを網羅
対応フォーマット
CLI で翻訳できるすべてのファイル形式
GitHub App
プッシュのたびに翻訳を自動化。サーバーサイドで動作し、runner もシークレットも不要です
i18n MCP
フレームワーク向けの AI 支援 i18n セットアップ

このページは役に立ちましたか?

Max PrilutskiyMax Prilutskiy·更新済み 13日前·2分で読めます