lingo purge

更新日:2 か月前 · 読了目安 1分

生成済みのターゲットファイルや lockfile を削除します。破壊的な操作のため、--yes を指定しない限りはドライランで実行されます。

text
lingo purge [--locale <code>...] [--file <substring>...] [--lockfile-only] [--yes]

フラグを付けない場合、purge は設定されているすべてのターゲットロケールの生成済みファイルに加えて、.lingo/lock.json も対象にします。

フラグ#

フラグ効果
--locale <code>対象を、指定したターゲットロケールのみに絞ります。複数回指定できます。
--file <substring>対象を、この部分文字列を含むソースパスのみに絞ります。複数回指定できます。
--lockfile-onlyすべてのターゲットファイルは残し、.lingo/lock.json だけを削除します。
--yes実際に削除を実行します。これを付けない場合、purge は削除対象を表示するだけです。

デフォルトはドライラン#

bash
lingo purge --locale fr
text
Would delete (dry run — pass --yes to apply):
  content/fr/app.json
  content/fr/guide.md
  ...

実際に適用するには --yes を追加してください。

#

1 つのロケールを削除#

bash
lingo purge --locale ja --yes

ja のターゲットファイルをすべて削除します。あわせて、jaconfig 内の targetLocales から を削除してください。

ロケール単位で低コストに再翻訳#

bash
lingo purge --locale fr --yes
lingo push --backfill-missing

フランス語のターゲットを削除したうえで、不足分だけを再生成します。他のすべてのロケールはキャッシュヒットのままなので、--force より低コストです。Retranslation を参照してください。

特定のファイルに絞る#

bash
lingo purge --file marketing --locale de --yes

ソースパスに marketing を含むドイツ語ターゲットを削除します。

lockfile だけをリセット#

bash
lingo purge --lockfile-only --yes

ディスク上の翻訳はすべてそのまま残しつつ、.lingo/lock.json を削除します。次回 lingo push を実行すると、すべてのソースが最初から再ハッシュされます。lockfile と実際のディスク上の状態がずれているときに使います。

元に戻せません

purge --yes はファイルを即座に削除します。翻訳が git にコミットされていなければ、そのまま失われます。まずは --yes なしで実行して、削除対象のファイル一覧を確認してください。

従来の CLI から移行する場合#

従来の CLI の purge では、--key--bucket による絞り込みもできました。現在の CLI で絞り込みに使えるのは、--locale--file(ソースパスの部分文字列)だけです。特定のキーを消したい場合は、ソース側でそのキーを編集または削除してから、lingo push を再実行してください。