Lingo.dev CLI は、すでに翻訳ファイルがあるプロジェクトにも対応しています。ソースキーを既存のターゲットファイルと照合し、不足している翻訳だけを生成するため、これまでの作業はそのまま維持されます。
仕組み#
翻訳が一部だけ入っているプロジェクトで CLI を実行すると、不足分が分析されます。
// 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 を実行すると、不足しているキーだけが補完されます。
// 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 など)であれば、どのツールで作成された翻訳ファイルでも利用できます。
i18n.json を設定する
既存のファイル配置に合う bucket パターンを設定します。
翻訳を実行する
CLI が既存の翻訳を保持したまま、不足しているキーを補完します。
レビューしてコミットする
補完されるのは不足分だけです。既存の翻訳はそのまま維持されます。
翻訳を更新する#
既存の翻訳に品質上の問題がある場合は、必要なものだけを選んで再翻訳できます。
# 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 をご覧ください。
