再翻訳
Lingo.dev CLIは、ソーステキストが変更されると自動的にコンテンツを再翻訳し、その他の理由で翻訳を更新する必要がある場合には手動再翻訳オプションを提供します。
CLIのコンテンツフィンガープリントシステムは、変更されていないコンテンツの不要な再翻訳を回避しながら、翻訳をソースの変更と同期させます。
自動再翻訳
ソースコンテンツを変更すると、Lingo.dev CLIはコンテンツフィンガープリントを通じて変更を検出し、次回の実行時に影響を受けるキーを再翻訳します。
ワークフローの例:
// locales/en.json (original)
{
"button.save": "Save changes"
}
// locales/es.json (generated)
{
"button.save": "Guardar cambios"
}
ソースを更新した後:
// locales/en.json (modified)
{
"button.save": "Save all changes"
}
npx lingo.dev@latest runを実行すると、スペイン語版が再翻訳されます:
// locales/es.json (updated)
{
"button.save": "Guardar todos los cambios"
}
CLIは新しいコンテンツフィンガープリントをi18n.lockと比較し、どの翻訳を更新する必要があるかを識別します。
手動再翻訳
ソースが変更されていない場合でも、コンテンツを再翻訳する必要がある場合があります。これは、AIモデルを更新したり、翻訳プロンプトを変更したり、改善されたコンテキストで翻訳を更新したい場合に発生します。
完全な再翻訳
完全な再翻訳を強制する:
npx lingo.dev@latest run --force
これによりロックファイルがバイパスされ、すべてのコンテンツが再翻訳され、i18n.lockファイルがゼロから再作成されます。
ターゲットを絞った再翻訳
特定の言語をターゲットにする:
npx lingo.dev@latest run --target-locale es
他の言語を保持しながら、スペイン語のコンテンツのみを再翻訳します。
特定のファイルタイプをターゲットにする:
npx lingo.dev@latest run --bucket json
JSONファイルのみを再翻訳します。これは、異なるファイルタイプが異なる更新頻度を持つ場合に便利です。
特定の翻訳キーをターゲットにする:
npx lingo.dev@latest run --key welcome.title
すべてのターゲット言語で単一のキーを再翻訳します。ネストされたキーの場合は、ドット記法を使用します:
npx lingo.dev@latest run --key header.navigation.about
特定のファイルをターゲットにする:
npx lingo.dev@latest run --file blog.[locale].json
バケット内の特定のファイルを再翻訳します。複数のファイルをターゲットにすることができます:
npx lingo.dev@latest run --file landing.[locale].json --file pricing.[locale].json
オプションの組み合わせ
ターゲティングオプションを組み合わせて、正確な制御を行うことができます:
npx lingo.dev@latest run --force --bucket json --target-locale es
これにより、すべてのJSONコンテンツが再翻訳されますが、スペイン語のみが対象となります。
翻訳コンテキストの更新
AI翻訳設定を変更しても、既存の翻訳は自動的に更新されません。新しいプロンプトやモデルを以前に翻訳されたコンテンツに適用するには、手動での再翻訳が必要です。
再翻訳が必要な一般的なシナリオ:
- あるAIモデルから別のモデルへの切り替え
- より良いコンテキストのための翻訳プロンプトの更新
- 生のLLM APIからLingo.dev Engineへの移行
- 生のLLM APIを使用する際の既存翻訳全体での用語の一貫性の向上
ロックファイルの統合
再翻訳により、i18n.lockファイルが新しいコンテンツフィンガープリントで更新されます。これにより、将来の実行で現在の翻訳設定の下で処理されたコンテンツを正しく追跡できます。
ロックファイルは再翻訳ループを防ぎ、手動での再翻訳操作後でも増分翻訳のパフォーマンス上の利点を維持します。