WP-CLIを使ったi18nスクリプトを追加する#45
Conversation
- composer.json に i18n:pot / i18n:po / i18n:mo / i18n スクリプトを追加 - tscf.php の load_plugin_textdomain パスを plugin_basename を使った動的な指定に変更 - .claude/commands/i18n.md を新規作成(/i18n スラッシュコマンド) Closes #37 by Claude Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AI トリアージ: PR #45リスク: 🟢 低(開発ツール追加のみ) サマリー
詳細レビューテスト要否
レビュワーが確認すべき箇所
設計上の懸念
🤖 AI トリアージ by Claude — レビュワーによる最終確認を推奨 |
|
返事をしてください! |
|
@claude auto-review |
|
Claude finished @MarikoMorimoto's task in 16s —— View job はい、こちらです!👋 PR #45 を確認しています。先ほどのトリアージコメントでお伝えした通り、今回の変更内容はリスクが低く、全体的に良い実装です。 一点だけ確認させてください: 他にご質問やレビュー依頼があればお気軽にどうぞ! |
AI トリアージ(差分レビュー): PR #45リスク: 🟢 低(開発ツール追加のみ) サマリー
詳細レビューテスト要否
レビュワーが確認すべき箇所
設計上の懸念
前回指摘の状況
🤖 AI トリアージ by Claude — レビュワーによる最終確認を推奨 |
|
@claude sanko は私のローカルにある参考ディレクトリですが、一般的ではない名称のフォルダなので、excludeからは消しますね。 |
|
Claude finished @MarikoMorimoto's task in 18s —— View job ご確認ありがとうございます!🙌
修正後は |
sanko はローカル専用の参考ディレクトリのため、リポジトリ共通の設定には含めない by Claude Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AI トリアージ(差分レビュー): PR #45リスク: 🟢 低(開発ツール追加のみ) サマリー
詳細レビューテスト要否
レビュワーが確認すべき箇所
設計上の懸念なし 前回指摘の状況
🤖 AI トリアージ by Claude — レビュワーによる最終確認を推奨 |
- composer.json に i18n:json(wp i18n make-json)を追加し、i18n 一括実行にも含める - --exclude に assets/lib と assets/js/dist を追加 - assets/lib/ace/: Ace エディタ等のバンドル済みサードパーティ JS(最大 1.6MB)を peast がパースしてメモリ不足になるため除外 - assets/js/dist: コンパイル済み出力物は assets/js/src と重複するため除外 - Editor.php に wp-i18n 依存追加と wp_set_script_translations() を追加(JS翻訳の準備) - i18n スクリプトを実際に実行して POT/PO/MO ファイルを更新 - .claude/commands/i18n.md に除外ディレクトリ一覧と理由を記載、文言を改善 by Claude
追加実装と動作確認の報告Issue #37 の要件との照合Issue では FUST を参考実装として挙げており、以下の対応が求められていました。
動作確認(テスト実施済み)wp-env を起動した環境で以下を実行し、各スクリプトが正常に動作することを確認しました。 npm run cli -- composer --working-dir=/var/www/html/wp-content/plugins/tscf i18n
除外ディレクトリについて
by Claude |
- composer.json の i18n スクリプトを `npm run cli -- wp i18n ...` で WP-CLI を 直接呼び出す形式に変更(FUST の docker compose exec 相当) これにより --working-dir の指定が不要になり `composer i18n:pot` だけで実行可能 - i18n:compile(mo + json の組み合わせ)を追加 PO ファイルを直接編集した後、POT 再生成なしにコンパイルのみ行う場合に使用 - .claude/commands/i18n.md のコマンドを composer 形式に更新し i18n:compile を追記 - i18n スクリプト実行後の POT/PO ファイルを更新 by Claude
i18n スクリプトを FUST 準拠の形式に変更変更内容前回のコミットでは FUST の実装( "i18n:pot": "npm run cli -- wp i18n make-pot /var/www/html/wp-content/plugins/tscf ..."これにより また FUST に合わせて 動作確認以下のコマンドがすべて正常に動作することを確認しました。 composer i18n:pot # Success: POT file successfully generated.
composer i18n:po # Success: Updated 1 file.
composer i18n:compile # Success: Created 1 file. / Success: Created 0 files.by Claude |
- i18n:po(PO更新単体)を i18n:update にリネーム - i18n:po を i18n:pot + i18n:update の組み合わせとして新設 - i18n の一括実行を @i18n:update 参照に更新 - i18n.md のコマンドとショートカット説明を合わせて更新 FUST との対応: i18n:update = PO更新単体(FUST の i18n:update 相当) i18n:po = pot + update(FUST の i18n:po 相当) i18n:compile = mo + json(FUST の i18n:compile 相当) by Claude
i18n スクリプトの命名を FUST に完全準拠FUST との命名の違いを解消しました。 変更前後の対応
用途別の使い分け
動作確認
by Claude |
by Claude
概要
Issue #37 の対応です。WP-CLI を使って翻訳ファイル(POT/PO/MO)を管理するための composer スクリプトを追加しました。
変更内容
composer.jsonに以下のスクリプトを追加i18n:pot—wp i18n make-potで POT ファイルを生成(tests,node_modules,vendorなどを除外)i18n:po—wp i18n update-poで既存の PO ファイルを POT で更新i18n:mo—wp i18n make-moで PO ファイルをコンパイルして MO ファイルを生成i18n— 上記3つをまとめて実行tscf.phpのload_plugin_textdomainのパスをハードコードからdirname( plugin_basename( __FILE__ ) ) . '/languages'に変更.claude/commands/i18n.mdを新規作成(/i18nスラッシュコマンド)使い方
wp-env を起動した状態で以下を実行:
Closes #37
by Claude