CLI — UI文字列
extract
概要: ai-i18n-tools extract
includeUiLanguageEnglishNamesが有効な場合、t("…") / i18n.t("…")リテラル、オプションのpackage.json説明、およびオプションのバンドルされたマスターenglishNameエントリからstrings.jsonを更新します(ui.uiExtractorを参照、languagesManifestPathは読み取りません)。また、languagesManifestPathでui-languages.jsonを再生成します。.html / .htmがui.uiExtractor.extensionsにリストされている場合、HTMLからdata-i18n / data-i18n-title / data-i18n-placeholderマーカー文字列もキャプチャします。空でないui.sourceRootsが必要です。LLMは呼び出しません。
関連項目: UI文字列の概要, プレーンHTMLアプリ
migrate-intlayer
概要: ai-i18n-tools migrate-intlayer [paths...] [--write] [--report <path>] [--content-glob <glob>] [--t-import <specifier>]
Intlayerの*.content.ts辞書をstrings.jsonおよびフラットなロケールファイルにインポートし、単純なuseIntlayer / getIntlayerの呼び出し箇所をt('English source')に書き換えます。デフォルトではドライランです(レポートは引き続き書き込まれます)。--writeはカタログをシードし、安全な書き換えを適用します。LLMは呼び出しません。
レポートは--writeが残したすべてのものの引き継ぎであり、残りの作業を順序付けたステップバイステップのTODOで締めくくられます。これには、各手動サイトに対する具体的なt()またはJSX呼び出し、import { t }行、辞書ファイルおよび後で削除するIntlayerProviderの残留ファイル、extractしてからtranslate-uiする必要があるソース文字列、そしてアプリのi18nモジュールに貼り付けて上書きするi18nextランタイムブートストラップが含まれます。ロケール制御はloadLocaleだけでなくi18n.changeLanguageも呼び出す必要があります。extractはui-languages.jsonを記述し、そのブートストラップがこれをインポートします。strings.json、フラットなロケールファイル、またはui-languages.jsonを手動で編集しないでください。
主なオプション: --write, --report, --content-glob (デフォルト **/*.content.ts), --t-import
関連情報: Intlayerからの移行
mark-html
概要: ai-i18n-tools mark-html [paths...] [--write]
ソーステキストが1回(要素自体に)書き込まれるように、裸のdata-i18n / data-i18n-title / data-i18n-placeholderマーカーをHTMLに挿入します。指定されたファイル/ディレクトリ/グロブをスキャンします(デフォルト: ui.sourceRootsの下の.html / .htm)。デフォルトでドライラン(ファイルごとの追加数と、手動の<span data-i18n>が必要な混合コンテンツ要素を報告します)。--writeが変更を適用します。冪等であり、data-i18n-ignoreを尊重し(要素とそのサブツリーをスキップします)、コードのような要素(code, pre, kbd, samp, var)や空のテキスト/数値のみのテキストには決して触れず、値を持つマーカーは発行しません。LLMは呼び出しません。
主なオプション: --write
関連項目: 翻訳用のHTMLのマーキング
generate-ui-languages
概要: ai-i18n-tools generate-ui-languages [--master <path>] [--dry-run]
sourceLocale + targetLocalesとバンドルされたdata/ui-languages-complete.json(または--master)を使用して、ui-languages.jsonをlanguagesManifestPath(デフォルトは{ui.flatOutputDir}/ui-languages.json)に書き込みます。マスターファイルにないロケールに対して警告し、TODOプレースホルダーを出力します。カスタマイズされたlabelまたはenglishNameの値を持つ既存のマニフェストがある場合、それらはマスターカタログのデフォルトに置き換えられます。後で生成されたファイルを確認して調整してください。
主なオプション: --master, --dry-run
translate-ui
概要: ai-i18n-tools translate-ui [-l <codes>] [--force] [--dry-run] [-j <n>]
UI文字列のみを翻訳します(strings.json → ロケールJSON)。features.translateUIStringsが必要です。
主なオプション: -l / --locale, --force, --dry-run, -j / --concurrency
-l / --locale: カンマ区切りのターゲットロケール(デフォルト: config targetLocales から sourceLocale を除いたもの)。--force: ロケールごとにすべてのエントリを再翻訳(既存の翻訳を無視)。--dry-run: 書き込みなし、API呼び出しなし。-j は locales を並列化し、各ロケール内では config uiBatchConcurrency(デフォルト 2)が LLM バッチ(50文字列のチャンク、続いて複数形グループ)を並列化します。uiBatchConcurrency に対応する CLI フラグはありません。
sync-ui
概要: ai-i18n-tools sync-ui [-l <codes>] [--force] [--dry-run] [-j <n>]
UI文字列を抽出してから翻訳します (features.translateUIStringsが必要)。UIのみ — ドキュメント、SVG、json[]は含みません。translate-uiと同じ-l、--force、--dry-run、-jオプション。
proofread-ui
概要: ai-i18n-tools proofread-ui [-l <code>] [--chunk <n>] [--dry-run] [--json] [-j <n>]
最初にextractを実行し (features.translateUIStringsが必要) 、strings.jsonがソースと一致するようにしてから、ソースロケールのUI文字列 (スペル、文法) のLLMレビューを行います。用語のヒントはglossary.userGlossary CSVからのみ取得されます (translate-uiと同じスコープ — strings.json / uiGlossaryではないため、悪いコピーが用語集として強化されることはありません)。アクティブなLLMプロバイダー (そのAPIキー環境変数) を使用します。
失敗時(機能フラグの未設定、抽出の失敗、カタログの欠落または無効、APIキーの欠落、あるいは全バッチの失敗)には、1 で終了します。実行が正常に完了した場合(検出結果はあくまで参考情報です)には、0 で終了します。cacheDir 配下に proofread-ui-results_<timestamp>.log を、人が読みやすい形式のレポート(概要、問題点、未レビューの行、および文字列ごとの正常行)として出力します。ターミナルには概要の件数と問題点のみが表示されます(文字列ごとの [ok] 行は出力されません)。バッチが失敗した場合、あるいはモデルの応答がバッチより短く、各スロットに利用可能な index がない場合は、該当する文字列は未レビューとしてカウントされます。短い配列が誤った文字列に適用されるのを防ぐため、これらの問題点は破棄されます。最終行にはログファイル名が出力されます。--json を指定すると、人が読みやすい形式の出力は標準エラー出力に送られます。リンクには、ダッシュボードUIの文字列リンクボタンと同様に path:line が使用されます。
主なオプション: -l / --locale, --chunk (デフォルト 50), --dry-run, --json, -j / --concurrency
export-ui-xliff
概要: ai-i18n-tools export-ui-xliff [-l <codes>] [-o <dir>] [--untranslated-only] [--dry-run]
strings.jsonをXLIFF 2.0にエクスポートします (ターゲットロケールごとに1つの.xliff)。読み取り専用、APIはありません。
主なオプション: -l / --locale, -o / --output-dir, --untranslated-only, --dry-run
-o / --output-dir: 出力ディレクトリ (デフォルト: カタログと同じフォルダ)。--untranslated-only: そのロケールの翻訳が欠落しているユニットのみ。