既存の翻訳

更新日:前四半期 · 読了目安 1分

非推奨

このドキュメントは旧CLI(v0)について説明しています。現在のCLIはv1です。 現在の CLI ドキュメントを見る

Lingo.dev CLI は、すでに翻訳ファイルがあるプロジェクトにも対応しています。ソースキーを既存のターゲットファイルと照合し、不足している翻訳だけを生成するため、これまでの作業はそのまま維持されます。

仕組み#

翻訳が一部だけ入っているプロジェクトで CLI を実行すると、不足分が分析されます。

json
// locales/en.json (source - 4 keys)
{
  "welcome": "Welcome to our app",
  "button.save": "Save",
  "button.cancel": "Cancel",
  "error.network": "Network error"
}

// locales/es.json (existing - 2 keys translated)
{
  "welcome": "Bienvenido a nuestra aplicación",
  "button.save": "Guardar"
}

npx lingo.dev@latest run を実行すると、不足しているキーだけが補完されます。

json
// locales/es.json (after run - all 4 keys present)
{
  "welcome": "Bienvenido a nuestra aplicación",
  "button.save": "Guardar",
  "button.cancel": "Cancelar",
  "error.network": "Error de red"
}

既存の welcome と button.save の翻訳はそのまま保持されます。

初回実行#

初回実行時に、CLI は現在の状態に基づいて i18n.lock ファイルを作成します。この lockfile には、すべてのソースコンテンツのフィンガープリントが記録されます。これにより、既存の翻訳は以降の実行で再生成されません。もともと別のツールで作成された翻訳でも同様です。

ターゲット言語ファイルには、ソース言語の内容が含まれていないことを確認してください。ターゲットファイル内に未翻訳のソーステキストがあると、不足分の検出に影響する可能性があります。

他のツールから移行する#

CLI は、対応フォーマット(JSON、YAML、PO など)であれば、どのツールで作成された翻訳ファイルでも利用できます。

1

i18n.json を設定する

既存のファイル配置に合う bucket パターンを設定します。

2

翻訳を実行する

CLI が既存の翻訳を保持したまま、不足しているキーを補完します。

3

レビューしてコミットする

補完されるのは不足分だけです。既存の翻訳はそのまま維持されます。

翻訳を更新する#

既存の翻訳に品質上の問題がある場合は、必要なものだけを選んで再翻訳できます。

bash
# Retranslate all Spanish content
npx lingo.dev@latest run --force --target-locale es

# Retranslate a specific key across all languages
npx lingo.dev@latest run --force --key error.network

その他のオプションについては、Retranslation をご覧ください。

次のステップ#