Skip to content

ai-i18n-tools とは

ai-i18n-tools は、好みの LLM プロバイダーを使用してアプリとドキュメントを翻訳するのに役立つコマンドラインツールキットです。単一の設定ファイルからすべてを制御し、有効にする翻訳機能を選択できます。「sync」コマンドを使用して、必要なモードを一度に実行できます。

翻訳モード

  • UI文字列 — JS/TSソースからt("…")呼び出し(および同様のマーカー)を抽出し、i18nextまたは静的ルックアップ用のロケールごとのフラットなJSONファイルを書き込みます。コマンド: extracttranslate-ui。ガイド: UI文字列
  • ドキュメントdocs[].contentPathsにリストされているMarkdown、MDX、および.astroページを翻訳します。VitePress、Starlight、Docusaurus、Nextra、Fumadocs、Astro、およびその他の静的ドキュメントサイトで動作します。コマンド: translate-docs。ガイド: ドキュメント
  • JSON — トップレベルのjson[]で定義されているネストされたJSONロケールバンドル(テーマラベル、i18nオーバーライド、ソースにないアプリのコピー)を翻訳します。コマンド: translate-json。ガイド: JSON
  • SVG — SVGイラスト(<text><title><desc>)内の表示テキストを翻訳し、ロケールごとに1つの出力ファイルを書き込みます。ドキュメント翻訳とは別です — translate-docsはSVGアセットを変更しません。コマンド: translate-svg。ガイド: SVG翻訳

これら 4 つのモードはすべて、アクティブな LLM プロバイダー を使用し、同じ設定ファイルを共有し、SQLite キャッシュを再利用するため、再実行では新しいテキストまたは変更されたテキストのみがモデルに送信されます。

どれを使用すべきですか?

コンテンツモードコマンド
ソースコードが t() または HTML data-i18n マーカーを使用している場合UI 文字列extract / translate-ui
ローカライズされたページまたはドキュメントサイトドキュメントtranslate-docs
スタンドアロンのネストされた JSON ロケールファイルJSONtranslate-json
SVG にラベルが付いた図またはイラストSVGtranslate-svg

多くのプロジェクトでは、複数のモードを組み合わせて使用します。たとえば、VitePress サイトの場合は UI 文字列とドキュメント、図解付きガイドの場合はドキュメントと SVG などです。クイックスタート でスキャフォールドテンプレートを、設定 で完全な設定スキーマを参照してください。

リポジトリには、examples/ の下に実行可能なサンプルプロジェクトが同梱されています。それぞれに独自の設定、コミットされたロケール出力、および README が含まれています。API キーなしで翻訳されたファイルを探索できます。翻訳を再実行するにはプロバイダーキーが必要です (プロバイダーとモデル を参照)。

内容
console-app最小のエンドツーエンドアプリ: t() UI 文字列と README 翻訳
nextjs-appNext.js UI、複数形、SVG、ネストされたDocusaurusドキュメント、フラットなREADME、ダッシュボード
docusaurus-docsスタンドアロンのDocusaurusドキュメントサイト
astro-websiteAstro マーケティングサイト: 全ページ HTML 翻訳と t() 文字列
astro-docsAstro Starlight ドキュメントサイト
vitepress-docsVitePressドキュメントとテーマカタログ
nextra-docsNextraドキュメントと_meta.tsサイドバーラベルおよびテーマ辞書
fumadocs-docsFumadocsドキュメントとmeta.jsonサイドバーラベルおよびUIカタログ
multi-provider同じドキュメントで LLM プロバイダーを比較
test-markdownMarkdown パイプラインのストレステスト (CJK、デーヴァナーガリー、エッジケース)

npx degit コピーコマンドと選択ガイドを参照してください。

次のステップ

  1. インストール — パッケージをインストールし、プロバイダーAPIキーを設定します。
  2. クイックスタート — 設定をスキャフォールドし、最初の翻訳を実行します。
  3. プロバイダーとモデル — プロバイダー、モデルフォールバックチェーン、および-Pオーバーライドを選択します。

MITライセンスの下で公開されています。