mcpField
C
crowdin-context-cli

crowdin-context-cli

github.com/crowdin開発9112 回インストール6 日前に更新
リポジトリ

crowdin-context-cli について

Crowdin Context CLI は、文字列の AI コンテキストをダウンロード、編集、アップロードし、登録状況を集計するツールです。Crowdin プロジェクトで翻訳コンテキストを管理するローカライゼーション作業に使えます。

主な機能

  1. 01ファイル、ラベル、ブランチで文字列を絞り込み
  2. 02JSONL 形式でコンテキストを入出力
  3. 03コンテキストの登録状況を集計
  4. 04手動分を保ちながら AI コンテキストをリセット
  5. 05dryrun で変更を事前確認

活用シーン

  1. 01AI エージェントによる補足用に文字列を出力
  2. 02プロジェクトのブランチ別に登録状況を確認
  3. 03編集済み AI コンテキストをアップロード
  4. 04再生成前に古い AI コンテキストを削除

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/crowdin/skills --skill crowdin-context-cli

インストール後、Claude Code で/crowdin-context-cliを入力して読み込まれたか確認します。

詳細

Crowdin Context CLI

コンテキストのダウンロードとアップロードには、Crowdin CLI を使用します。デフォルトでは crowdin.yml から設定が読み込まれます。必要に応じて -c, --config=<path> で上書きできます。

crowdin context <command> [options]

context download

AI エージェントで補足するため、文字列のコンテキストを別ファイルにダウンロードします。

crowdin context download [CONFIG OPTIONS] [OPTIONS]
  • --to=<path> — コンテキストのダウンロード先のファイルパス。デフォルト:crowdin-context.jsonl
  • -f, --file=<glob> — Crowdin のファイルパス(glob)で文字列を絞り込みます。複数のパスを指定できます
  • --label=<label> — ラベルで文字列を絞り込みます。複数のラベルを指定できます
  • -b, --branch=<name> — ブランチ名で絞り込みます
  • --croql=<expr> — CroQL 式(ほかの絞り込みオプションとは併用できません)
  • --since=<YYYY-MM-DD> — この日付より後に作成された文字列のみを対象にします
  • --status=<value> — 文字列がすでに持っているコンテキストの種類:empty(種類を問わずコンテキストなし)、manual(ソースコンテキストあり、AI コンテキストなし)、ai(AI コンテキストが書き込まれている)。以下を参照してください。これは「コンテキストがまだ必要な文字列」を絞り込むオプションではありません

設定ファイルを使用しない場合の設定オプション:-T, --token、-i, --project-id、--base-url、--base-path。-c, --config=<path> で設定ファイルを上書きできます(デフォルト:crowdin.yml または crowdin.yaml)。

AI コンテキストが必要な文字列を選択する --status の値は、ソース形式によって異なるため、省略することをおすすめします。 ソース参照を Crowdin に引き継ぐ形式(例:PO の #: 行)では、すべての文字列に手動コンテキストが残るため、empty では何も一致せず、manual ではすべてが一致します。コンテキストを持たない形式では、その逆になります。--status を指定しなければ、1 回の実行ですべてのケースをダウンロードできます。また、余分なコストもかかりません。context upload は、ai_context が実際に入力されたレコードのみを書き戻します。

context upload

文字列のコンテキストをアップロードします。context download で事前にダウンロードしたファイルのみサポートされます。

crowdin context upload [CONFIG OPTIONS] [OPTIONS]
  • --from=<path> — コンテキストのアップロード元のファイルパス。デフォルト:crowdin-context.jsonl
  • --overwrite — ai_context が空の文字列も更新します(その AI セクションを削除します)。デフォルト:false
  • --dryrun — 実行せずにコマンドの出力を表示します

context status

コンテキストの網羅状況(手動、AI、またはコンテキストなしの文字列の数)を表示します。

crowdin context status [CONFIG OPTIONS] [OPTIONS]
  • -f, --file=<glob> — Crowdin のファイルパス(glob)で文字列を絞り込みます。複数のパスを指定できます
  • --label=<label> — ラベルで文字列を絞り込みます。複数のラベルを指定できます
  • -b, --branch=<name> — ブランチ名で絞り込みます
  • --croql=<expr> — CroQL 式(ほかの絞り込みオプションとは併用できません)
  • --since=<YYYY-MM-DD> — この日付より後に作成された文字列のみを対象にします
  • --by-file — ファイルごとに統計を分けて表示します

context reset

文字列から AI が生成したコンテキストを削除します。手動で記述したコンテキストは保持されます。

crowdin context reset [CONFIG OPTIONS] [OPTIONS]
  • -f, --file=<glob> — 一致するファイルパスの文字列のみをリセットします。複数のパスを指定できます
  • --label=<label> — 一致するラベルを持つ文字列のみをリセットします。複数のラベルを指定できます
  • -b, --branch=<name> — 一致するブランチの文字列のみをリセットします
  • --croql=<expr> — CroQL 式に一致する文字列のみをリセットします(ほかの絞り込みオプションとは併用できません)
  • --since=<YYYY-MM-DD> — この日付より後に作成された文字列のみをリセットします
  • --dryrun — 実行せずにコマンドの出力を表示します
  • --all — 絞り込み条件が指定されていない場合に必要な安全フラグです

JSONL format

1 行につき JSON オブジェクトが 1 つ含まれます。フィールド:

  • id — Crowdin の文字列 ID
  • key — 文字列キー
  • text — ソーステキスト
  • file — Crowdin のファイルパス
  • context — 既存のソースコンテキスト
  • ai_context — 設定する AI コンテキスト(アップロード前にこのフィールドを編集してください)

行の例:

{"file":"/src/locales/en.po","ai_context":"","context":"#: src/App.tsx:54","id":3125833,"text":"Click on the Vite and React logos to learn more","key":"Click on the Vite and React logos to learn more"}

一般的なワークフロー

  1. カバレッジを確認します(任意):crowdin context status — 手動、AI、コンテキストなしの内訳を確認できます。次のステップで --status フィルターを選ぶ前に内容を確認するか、フィルターを省略してすべてを対象にします。
  2. ダウンロードします:crowdin context download(デフォルトで crowdin-context.jsonl に書き込みます)、または crowdin context download --to=path/to/file.jsonl
  3. ファイルを編集し、各文字列の ai_context を入力します(context-extraction を使うと便利です)。
  4. アップロードします:crowdin context upload(デフォルトで crowdin-context.jsonl から読み込みます)、または crowdin context upload --from=path/to/file.jsonl

後でAI生成コンテキストを破棄する場合(たとえば、最初からコンテキストの補完をやり直す前など)は、フィルターを指定して crowdin context reset を実行するか、crowdin context reset --all を実行します。

コメント