lingo push は、変更があったものだけを翻訳します。各ソースは lockfile と照合するためにハッシュ化され、一致するものはスキップされます。通常はこれが最適ですが、エンジンのモデルを切り替えたあとや、指示や用語集を更新したあと、あるいは品質上の問題を修正したあとなど、ソーステキストが同じでも再翻訳したいことがあります。
その場合の方法は 2 つあります。スコープ付きの --force push を使うか、purge のあとに通常の push を実行します。
スコープ付き push を強制する#
--force は、既存の翻訳やサーバー側のキャッシュを無視して、条件に一致するすべてのターゲットを再翻訳します。スコープの指定は必須です。スコープなしの lingo push --force は受け付けられないため、プロジェクト全体を誤って再翻訳してしまう心配はありません。
単一ファイル#
lingo push content/en/landing.mdx --forceサブツリー#
lingo push 'content/en/**/*.md' --forceすべて#
lingo push --backfill-missing --force --yes--force は上書き前に確認を求めます。確認を省略するには --yes を指定してください(CI 向け)。利用できるフラグの一覧は、lingo push を参照してください。
1 つのロケールだけを再翻訳する#
push にはロケールごとのフラグはありません。1 つの言語だけをやり直したい場合は、そのファイルを削除して backfill します。
lingo purge --locale fr
lingo push --backfill-missingpurge で fr のターゲットを削除し、そのあと --backfill-missing で不足分だけを再生成します。他のロケールには影響しません。また、--force よりも低コストです。fr 以外はすべてキャッシュヒットのままだからです。詳しくは Purge を参照してください。
費用をかける前に見積もる#
どの push でも --estimate を指定でき、翻訳は実行せずに料金を見積もって終了します。
lingo push 'content/en/**/*.md' --force --estimate見積もりはあくまで目安であり、確定額ではありません。最終的な費用は異なる場合があります。
再翻訳が必要なタイミング#
| 状況 | 実行するもの |
|---|---|
| ソーステキストが変更された | 不要 — 通常の lingo push で反映されます |
| エンジンのモデルを切り替えた | lingo push <scope> --force |
| 指示 / 用語集を更新した | lingo push <scope> --force、またはロケール単位の purge + backfill |
| 1 つのロケールで品質がよくない | lingo purge --locale <code> のあとに lingo push --backfill-missing |
| 完全にまっさらな状態から始める | lingo push --backfill-missing --force --yes |
