空のプロジェクトから始める必要はありません。すでに翻訳ファイルがあるなら、CLIはそのまま併用できます。不足分を補いながら、既存の翻訳はそのまま維持します。
今あるものを設定で指定する#
ソースロケールとターゲットロケール、そしてファイルパターンを設定し、既存の翻訳ファイルが置かれている場所に合わせて指定します。
json
{
"sourceLocale": "en",
"targetLocales": ["de", "fr"],
"files": [{ "pattern": "locales/en.json" }]
}locales/de.json と locales/fr.json がすでにある場合は、そのまま保持されます。
不足分だけを埋める#
bash
lingo push --backfill-missing--backfill-missing が生成するのは、不足している ターゲットだけです。つまり、まだファイルがないロケール、あるいは(初回実行後は)エンジンがまだ翻訳していないキーだけです。既存のファイルが上書きされることはありません。
text
✓ Run lfr_a8c...: localized 1 target file(s), 2 already up-to-date.特定の値を固定する#
既存の翻訳の中に、人手でレビュー済みで今後いっさい変更したくないものがある場合は、preservedKeys として指定してください。以後の実行ではそれらに一切触れません。
json
{ "pattern": "locales/en.json", "preservedKeys": ["legal.terms"] }lockfileが初回設定を支える仕組み#
最初のpushで、すべてのソースファイルのハッシュが .lingo/lock.json に記録されます。それ以降、通常の lingo push で送信されるのは変更のあったソースだけです。ソースを変更するか強制しない限り、既存の翻訳が再送信されることはありません。lockfileは翻訳ファイルと一緒にコミットしてください。Configuration を参照してください。
意図的に上書きする場合
--backfill-missing が上書きすることはありません。既存の翻訳を意図的に再生成したい場合(モデルや指示を変更したあとなど)は、対象を絞った --force push を使ってください。
