メインコンテンツへスキップ

CLIリファレンス

コマンド

champollion init Interactive setup wizard (--yes for quick defaults)
champollion sync Translate & sync all locale files
champollion watch Auto-sync when the source file changes
champollion audit List all untranslated [EN] fallback values
champollion lint Scan source code for hardcoded strings
champollion wrap Auto-wrap hardcoded strings in t() calls (with undo)
champollion seo <sub> Generate hreflang, sitemap.xml, or JSON-LD schema
champollion integrity Audit locale files for format/encoding issues
champollion verify Verify translations are present and correct (CI gate)
champollion status Show pair configuration, plugins, and quality tiers
champollion provenance Audit translation resource licensing
champollion plugin <sub> Manage method plugins (install, remove, list)
champollion fonts <sub> Download web fonts for PUA script converters
champollion leaderboard Browse and install methods from the MT Eval Arena leaderboard
champollion tm <sub> Manage Translation Memory cache (stats, clear)
champollion xliff <sub> Export/import XLIFF 1.2 for professional review

任意のコマンドの詳細なヘルプを表示するには、champollion <command> --helpを実行してください。

グローバルオプション

--help, -h Show help (global or per-command)
--version, -v Print version and exit
--yes, -y Skip interactive prompts, use defaults
--config <path> Custom config file path
--dir <path> Override locales directory
--content-dir <path> Hugo/Docusaurus content directory for Markdown translation
--source <code> Override source locale (default: en)
--model <model> Override translation model (full slug or alias from shared/model-aliases.json)
--method <method> Translation method: llm, google-translate (default: from config)
--temperature <n> LLM temperature (0.0–2.0, default: 0.3)
--coaching-file <path> Path to free-text coaching prompt file (injected into system prompt)
--format <fmt> Locale file format: json, toml, yaml, or auto
--dry, --dry-run Preview changes without writing files
--concurrency <n> Max parallel API calls (sets both JSON and content, default: 48)
--json-concurrency <n> Max parallel locale translations for JSON keys (default: 200)
--content-concurrency <n> Max parallel API calls for content translation (default: 48)
--force-content Re-translate all content files (clears content lock)
--force-keys <keys> Comma-separated dot-notation keys to force re-translate
--no-tm Skip Translation Memory cache for this sync run
--no-verify Skip post-sync verification pass
--locale <code> Target locale (xliff export, tm clear)
--quiet Errors and warnings only — suppress banner, progress bar, and info lines
--json Machine-readable NDJSON output — one JSON object per event

init

champollion.config.jsonを作成するインタラクティブなセットアップウィザードです。ソースロケール、ターゲット言語、ファイル形式、翻訳モデルの設定をガイドします。

champollion init # interactive wizard
champollion init --yes # skip wizard, use defaults
champollion init --yes --langs fr,de,ja # quick setup with specific languages
champollion init --source en --dir ./i18n # overrides with defaults

--langsオプション: ターゲット言語コードをカンマ区切りで指定します。言語の入力プロンプトをスキップし、各言語のデフォルトレジスタープリセットを適用します。--yesと組み合わせることで、完全に非インタラクティブなセットアップが可能です。

言語プリセット: ターゲット言語の入力を求められた際に、プリセット名を入力できます:

  • european → fr, de, es, it, pt, nl
  • asian → ja, zh, ko
  • global → fr, es, de, ja, zh, ko, pt, ar
  • nordic → da, fi, nb, sv

プリセットと個別コードを組み合わせることもできます:european, ja → fr, de, es, it, pt, nl, ja


sync

すべてのロケールファイルにわたって、未翻訳のキーと古くなったキーを翻訳します。デフォルトでは、同期後に検証を実行します。

champollion sync # translate everything
champollion sync --dry-run # preview only
champollion sync --force-keys "hero.title" # force re-translate
champollion sync --force-keys "a.title,a.subtitle" # multiple keys
champollion sync --force-content # re-translate all Markdown/MDX
champollion sync --content-dir ./content # include Hugo Markdown
champollion sync --method google-translate # force Google Translate
champollion sync --concurrency 20 # 20 parallel API calls (both phases)
champollion sync --json-concurrency 30 # 30 parallel locale translations (JSON)
champollion sync --content-concurrency 8 # 8 parallel content translations
champollion sync --no-verify # skip post-sync verification
champollion sync --no-tm # skip cache, fresh API calls

翻訳メモリ: デフォルトでは、sync.champollion/tm.jsonを読み込み、変更されていないソース値に対してキャッシュされた翻訳を返します。翻訳プロバイダーを切り替える際やデバッグ時には、--no-tmを使用してキャッシュをバイパスできます。詳細は翻訳メモリを参照してください。

変更検出: champollionは.champollion.lockにSHA-256ハッシュを保存します。ソース値が変更されると、次回の同期時にそれらのキーが自動的に再翻訳されます。すべての開発者がベースラインを共有できるよう、ロックファイルをコミットしてください。

並列処理: JSONキーの翻訳とコンテンツの翻訳はどちらも並列で実行されます。JSONロケールは同時に翻訳され(デフォルト:200並列ロケール)、各ロケール内のバッチも並列化されます(4並列バッチ)。コンテンツ翻訳(Markdown、MDX、ブログ投稿)はフラットなワークアイテムプールで実行されます(デフォルト:48並列APIコール)。--json-concurrency--content-concurrency、または--concurrency(両方を設定)で上書きできます。

出力: syncはバージョンバナー、フォーマット/フレームワーク検出、コスト見積もり、およびロケールごとのプログレスバーを表示します:

champollion v0.1.0

[INFO] Detected format: json (auto)
[INFO] Source: en.json (2,847 keys)
[INFO] Pairs: es-MX:llm, fr:deepl

[INFO] es-MX.json — 2,847 missing
████████████████████████████████ 2,847/2,847 keys
[INFO] fr.json — 2,847 missing
████████████████████████████████ 2,847/2,847 keys
[OK] Synced 5,694 keys total.

プログレスバーはバッチ(約80キー)ごとにその場で更新されます。エラーや警告のみを表示するには--quietを、機械可読なNDJSON出力には--jsonを使用してください。どちらもプログレスバーとバナーを非表示にします。


watch

ソースロケールファイルが変更されると自動的に同期します。Ctrl+Cで中断するまで実行し続けます。

champollion watch

audit

過去の実行で生成された[EN]プレフィックス付きのフォールバック値をすべて一覧表示します。見つかった場合はコード1で終了します。翻訳が不完全なビルドを失敗させるCIゲートとして使用できます。

champollion audit

verify

ディスクからすべてのロケールファイルを再読み込みし、翻訳が実際に存在し正しいことを検証します。これは、すべてのsyncの終了時に自動的に実行される検証と同じです(--no-verifyが渡された場合を除く)。

champollion verify # verify all locale files
champollion verify --warn-only # non-blocking
champollion verify && echo "All good" # CI gate

チェック内容:

  • キーの一致 — すべてのソースキーが各ターゲットに存在するか
  • 過去の実行による[EN]フォールバックマーカー
  • 空の翻訳
  • スクリプトの準拠 — 非ラテンロケールは非ASCII翻訳を持つべきか
  • プレースホルダーの保持 — ICUプレースホルダーがソースと一致するか
  • エンコーディングの問題 — BOMマーカー、不可視文字
  • ソースのエコー — ソースと同一の値(警告)

lint

i18n翻訳呼び出しを使用すべきハードコードされたユーザー向け文字列をソースコードからスキャンします。フレームワーク(next-intl、react-i18next、vue-i18n、Hugo)を自動検出します。

champollion lint # exits 1 if issues found
champollion lint --warn-only # always exits 0
champollion lint --src ./app # custom source directory
champollion lint --min-length 4 # minimum string length to flag

検出内容:

  • JSXテキスト、placeholderaltaria-labeltitle内のハードコードされた文字列
  • ユーザー向けコンテンツを含むがi18nフレームワークのインポートがないファイル
  • デッドキー — どのソースファイルも参照していないロケールキー
  • カバレッジスコア — i18nを通じて処理される文字列の割合

除外設定: プロジェクトルートに.champollionignoreを作成してください(.gitignoreのようなglobパターン)。


wrap

lintで検出されたハードコードされた文字列をt()呼び出しで自動的にラップします。ファイルを変更する前に自動バックアップを作成します。

champollion wrap # auto-wrap with backup
champollion wrap --dry # preview wrapping changes
champollion wrap --undo # restore from .champollion-backup/

安全ゲート:

  1. Gitクリーンチェック(ドライランではスキップ)
  2. .champollion-backup/への自動バックアップ
  3. 各ファイル書き込み前の差分プレビュー
  4. バックアップからの復元のための--undoサポート

seo

多言語サイト向けのSEOアーティファクトを生成します。

champollion seo hreflang # print hreflang tags
champollion seo sitemap --base-url https://example.com --out sitemap.xml
champollion seo jsonld --base-url https://example.com # JSON-LD schema
サブコマンド出力
hreflang<link rel="alternate" hreflang>タグ
sitemap多言語sitemap.xml
jsonldJSON-LD WebSite言語スキーマ

integrity

翻訳済みロケールファイルの破損とドリフトを検出します。

champollion integrity # exits 1 if issues found
champollion integrity --warn-only # non-blocking

チェック内容:

  • プレースホルダーの破損(例:{name}がソースに存在するがターゲットに欠落している)
  • エンコーディングの問題(文字化け、無効なUnicode)
  • 未翻訳のコピー(ターゲット値がソースと同一)
  • 孤立したキー(ターゲットに存在するがソースに存在しないキー)
  • ICU MessageFormat複数形カテゴリの完全性(例:アラビア語は6カテゴリが必要)

tm

翻訳メモリキャッシュ(.champollion/tm.json)を管理します。TMは過去の翻訳を保存し、APIを呼び出す代わりに後続の同期時に返します。

champollion tm stats # show cache statistics
champollion tm clear # clear cache (with confirmation)
champollion tm clear --yes # clear without confirmation
champollion tm clear --locale fr # clear only French entries
サブコマンド出力
statsエントリ数、ファイルサイズ、ロケール別の内訳
clearキャッシュファイルの削除(全体またはロケール別)
オプション効果
--locale <code>特定のロケールのエントリのみをクリア
--yes確認プロンプトをスキップ

TMの仕組みとクリアするタイミングについては、翻訳メモリを参照してください。


xliff

プロの翻訳者によるレビュー用にXLIFF 1.2ファイルをエクスポート・インポートします。XLIFFは、memoQ、SDL Trados、PhraseなどのCATツールでサポートされている汎用交換フォーマットです。

champollion xliff export --locale fr # export French XLIFF
champollion xliff export --locale ja --out ./review/ # custom output path
champollion xliff import .champollion/xliff/fr.xliff # import reviewed file
champollion xliff import ./reviewed.xliff --dry # preview import
サブコマンド出力
exportソースとターゲットのロケールファイルから.xliffを生成
importレビュー済みの.xliff翻訳をロケールファイルにマージ
オプション効果
--locale <code>エクスポート対象のターゲットロケール(必須)
--out <path>カスタム出力パスまたはディレクトリ
--dry書き込みを行わずにインポートをプレビュー

完全なワークフローについては、プロの翻訳者との作業を参照してください。


status

ペア設定、インストール済みプラグイン、品質ティア、ベンチマークスコアを表示します。

champollion status

provenance

インストール済みのすべてのプラグインの翻訳リソースライセンスを監査します。

champollion provenance

plugin

翻訳メソッドプラグインを管理します。プラグインは.champollion/methods/にインストールされる、あらかじめパッケージ化された翻訳レシピです。

champollion plugin list # show installed plugins
champollion plugin install ./my-method/ # install from local directory
champollion plugin remove crk-coached-v1 # remove a plugin

プラグインマニフェスト形式については、プラグイン仕様を参照してください。


leaderboard

MT Eval Arenaリーダーボードから翻訳メソッドを閲覧、検索、インストールします。リーダーボードからインストールされたメソッドには、ベンチマークスコアと完全な正規MethodConfig(評価時に使用された正確な設定)が付属しています。

champollion leaderboard # show leaderboard
champollion leaderboard --pair en:fr # filter by language pair
champollion leaderboard --install crk-coached-v8 # install a method plugin
champollion leaderboard --install crk-coached-v8 --apply # install + patch config
オプション効果
--pair <code>言語ペアでリーダーボードをフィルタリング(例:en:fr
--install <name>リーダーボードからメソッドプラグインをインストール
--applyインストール後、champollion.config.jsonmethodPluginを自動的に追加

--applyワークフロー: --applyでインストールすると、champollionはメソッドプラグインを.champollion/methods/に書き込み、さらにchampollion.config.jsonにパッチを当てて該当ペアに使用するよう設定します。これは「何が最高スコアか?」から「本番環境で使用中」への最速の経路です。


fonts

構築言語スクリプトコンバーター用のPUAウェブフォントをダウンロードして管理します。Private Use Area文字を使用する言語(Klingon、Sindarin、Kryptonian)は、スクリプトをレンダリングするためにカスタムウェブフォントが必要です。このコマンドは、検証済みのオープンソースリポジトリからフォントをダウンロードします。

champollion fonts list # show needed fonts
champollion fonts install # download all needed fonts
champollion fonts install --css # also generate CSS snippet
champollion fonts install --dir ./public/fonts # custom output directory
サブコマンド出力
list必要なPUAフォントとそのインストール状況を表示
install設定済み言語のフォントをダウンロード
オプション効果
--dir <path>フォント出力ディレクトリを上書き(プロジェクトタイプから自動検出)
--cssフォントと一緒にconlang-fonts.cssスニペットを生成
--config <path>設定ファイルへのパス(どの言語にフォントが必要かを検出するために使用)

自動検出: 出力ディレクトリはプロジェクト構造から推定されます:

  • Docusaurusstatic/fonts/ または website/static/fonts/
  • Hugostatic/fonts/
  • デフォルトpublic/fonts/

ネイティブUnicodeコンバーターcrk → クリー音節文字、sr → セルビア語キリル文字)はフォントのインストールを必要としません。

PUAフォントの詳細については、構築言語、スクリプト、正書法を参照してください。

三層パイプライン

完璧なi18nを実現するために、lintsyncauditを組み合わせて使用してください:

package.json
{
"scripts": {
"i18n:lint": "champollion lint",
"i18n:sync": "champollion sync",
"i18n:audit": "champollion audit"
}
}
レイヤーコマンドタイミング目的
Lintlintコミット前ハードコードされた文字列を含むコミットをブロック
Syncsyncコミット後 / CI未翻訳および変更されたキーを翻訳
Verifyverify同期後 / CI翻訳が存在し正しいことを確認
Auditauditビルドステップいずれかのロケールに[EN]マーカーがある場合はデプロイを失敗させる

関連情報