高度な設定
Lingo.dev コンパイラーは、翻訳の動作をカスタマイズし、ローカリゼーションワークフローを最適化するための幅広い設定オプションを提供します。
設定パラメータ
プロジェクトにコンパイラを実装する際、以下のオプションを含む設定オブジェクトを渡すことができます:
// デフォルト設定
const compilerConfig = {
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es"],
rsc: false,
debug: false,
models: {
// カスタムモデル設定
"*:fr": "qwen/qwen3-32b",
"en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
"*:*": "qwen/qwen3-32b",
},
prompt:
"You are AI translator. You translate from {SOURCE_LOCALE} to {TARGET_LOCALE}.",
};
// Next.js
lingoCompiler.next(compilerConfig)(nextConfig);
// Vite/React Router
lingoCompiler.vite(compilerConfig)(viteConfig);
設定オプション
sourceRoot
-lingo/
ディレクトリが格納されるソースディレクトリへのパスlingoDir
- 翻訳ファイルを含むディレクトリの名前(デフォルト:"lingo"
)sourceLocale
- アプリケーションのソース言語(デフォルト:"en"
)targetLocales
- 翻訳対象言語の配列rsc
- React Server Componentsのサポートを有効にする(デフォルト:false
)debug
- トラブルシューティング用のデバッグログを有効にする(デフォルト:false
)models
- 特定の言語ペア用のカスタムAIモデル設定(オプション)prompt
- プレースホルダーを含むカスタム翻訳プロンプト(オプション)
推奨Groqモデル
最良の結果を得るために、特定のロケールに対して以下のGROQモデルの品質をテストおよび検証しました:
qwen/qwen3-32b
- ar - アラビア語
- de - ドイツ語
- fr - フランス語
- pt-BR - ポルトガル語(ブラジル)
meta-llama/llama-4-maverick-17b-128e-instruct
- es - スペイン語
- ja - 日本語
- ko - 韓国語
- ru - ロシア語
- zh - 中国語
カスタムモデル設定
コンパイラ設定で直接AIモデルとプロンプトをカスタマイズできます:
const compilerConfig = {
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
models: {
"*:fr": "qwen/qwen3-32b",
"en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
"es:fr": "meta-llama/llama-4-maverick-17b-128e-instruct",
"*:*": "qwen/qwen3-32b",
},
prompt:
"You are a professional translator specializing in technical documentation. Translate from {SOURCE_LOCALE} to {TARGET_LOCALE} while maintaining technical accuracy.",
};
モデル設定
- ロケールペアを
source-locale:target-locale
として定義 - ワイルドカードとして
*
を使用して任意のロケールを指定 - すべての翻訳のフォールバックとして
*:*
を使用 - すべてのオプションについては代替LLMプロバイダーを参照
カスタムプロンプト
プレースホルダーを含むカスタム翻訳プロンプトを定義できます:
{SOURCE_LOCALE}
- ソース言語コード{TARGET_LOCALE}
- ターゲット言語コード
カスタム用語集を構築するには、プロンプトに専門用語を含めてください。ベストプラクティスについてはデフォルトのコンパイラプロンプトを参照してください。
ビルド正規化
変更をコミットする前に、常にローカルで本番ビルドを実行してください:
npm run build
これにより、lingo/
ディレクトリ内の meta.json
と dictionary.js
ファイルにアプリに存在する文字列のみが含まれ、適切にフォーマットされていることが保証されます。
プリコミットフック設定
huskyを使用して自動正規化を設定します:
# huskyをインストール
npm install --save-dev husky
# プリコミットフックを追加
npx husky add .husky/pre-commit "npm run build"
環境固有の設定
開発環境
const isDev = process.env.NODE_ENV === "development";
const compilerConfig = {
debug: isDev,
targetLocales: isDev ? ["es"] : ["es", "fr", "de", "ja"],
};
CI/CD統合
自動ビルドの場合、CI環境がLingo.devまたは設定したLLMプロバイダーのAPIキーにアクセスできることを確認してください。例えばGroqの場合:
# GitHub Actions
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
# Vercel
GROQ_API_KEY=gsk_...
# Netlify
GROQ_API_KEY=gsk_...
パフォーマンス最適化
インクリメンタルビルド
コンパイラは自動的に以下を行います:
- ファイルフィンガープリントによるコンテンツ変更の追跡
- 新規または変更されたコンテンツのみを翻訳
- 変更されていないコンテンツには既存の翻訳を再利用
バンドル最適化
- ロケールごとのバンドル - アクティブなロケールの翻訳のみを読み込み
- ツリーシェイキング - 本番ビルドから未使用の翻訳を削除
- コード分割 - ルートベースのアプリケーションでは必要に応じて翻訳を読み込み
トラブルシューティング
デバッグモード
問題のトラブルシューティングにはデバッグログを有効にしてください:
const compilerConfig = {
debug: true,
// ... その他のオプション
};
一般的な問題
翻訳の欠落:ローカルでnpm run build
を実行し、lingo/
ディレクトリをコミットしたことを確認してください。NextJSを使用している場合は、すべてのファイルが再ビルドされるように.next/
ディレクトリを削除する必要があるかもしれません。
ビルドエラー:設定されたLLMプロバイダーのAPIキーが環境変数に正しく設定されていることを確認してください。
パフォーマンスの問題:コンパイルプロセスのボトルネックを特定するためにデバッグモードを有効にしてください。
次のステップ
- FAQ: よくある質問とトラブルシューティング
- フレームワークガイド: Next.js, React Router, Vite
- 仕組み: ビルドプロセスの理解