
Movable Type 向け AI翻訳プラグイン「AITranslator」の v1.5.0 をリリースしました。
v1.5.0 は、サイト間翻訳の運用で問題になりがちな複数の領域に踏み込んだ大型アップデートです。サイトをまたぐカテゴリ/フォルダ/カテゴリセットのマッピング、選択肢系フィールド(select/radio/checkbox)の値マッピング、非翻訳フィールド(数値・URL・日付など)を翻訳先へそのまま引き継ぐコピー対象フィールドマッピング、すべてのマッピング UI への「AI で候補生成」ボタン、異なるコンテンツタイプ間の翻訳の正式サポート、LLM タイムアウトの環境変数化、そして長い記事や多言語一括翻訳でも CGI/プロキシのタイムアウトに切られない分割翻訳パイプラインを導入しました。
サイト間のカテゴリ/フォルダ/カテゴリセット マッピング
翻訳先サイトが現在のサイトと異なる場合に、これまではスキップされていたカテゴリ/フォルダ/コンテンツデータの categories フィールドの ID を、明示的に対応付けて引き継げるようになりました。
- 翻訳設定画面に専用セクションを追加。翻訳先サイトが現サイトと異なるときだけ表示されます。
- モーダル UI で「記事」「ウェブページ」「コンテンツデータ」の3タブを切り替えて編集。
- 3 つの初期化方法: ラベル名一致/LLM 翻訳した名前で自動マッチング/手動編集。コンテンツデータのカテゴリセットの組も自動で対照表が生成されます。
選択肢フィールド(select/radio/checkbox)の値マッピング
これまで翻訳対象外だった以下のフィールド型の値を、ソース→ターゲットの値マッピングを通じて引き継げるようになりました。
- コンテンツフィールド:
select_box/radio_button/checkboxes - カスタムフィールド:
select_box/radio/checkbox
フィールドマッピング各行の「値マッピング...」ボタン(両側が選択肢型の場合のみ表示)からモーダル UI で編集できます。初期化方法は「名前で一致」「AI で候補生成」「クリア」の3つです。
コピー対象フィールドマッピング(翻訳しない値の引き継ぎ)
翻訳しないが翻訳先コンテンツへそのままコピーしたいフィールドの対応を設定する新機能です。数値・URL・日付・時刻・datetime・boolean・選択肢系(値マッピング無し) などが対象になります。
- 翻訳設定画面に 「コピー対象フィールドマッピング(翻訳しない)」 セクションを追加。記事カスタムフィールド/ウェブページカスタムフィールド/コンテンツフィールドの 3 種類をそれぞれ独立して設定可能。
- マッピング未設定時は ラベル名(コンテンツフィールド)/basename(カスタムフィールド)の自動マッチがフォールバック動作。フィールド名を揃えていれば設定不要です。
- asset(画像など)・categories・tags はクロスサイトで ID が壊れるためコピー対象から除外。これらは翻訳対象フィールドマッピング側で AssetCopier・カテゴリマッピングを通じて処理されます。
すべてのマッピング UI への「AI で候補生成」ボタンの追加
これまでカテゴリマッピング・値マッピングにのみ提供していた「AI で候補生成」ボタンを、翻訳対象フィールドマッピング 3 セクション + コピー対象フィールドマッピング 3 セクションにも追加しました。
候補マッチング方式も改善し、LLM が単純に翻訳した訳語と target ラベルを照合する従来方式から、target 候補リスト全体を LLM に渡して semantic match を行う方式に変更しました。例えば日本語「サッカー」に対して翻訳先候補が ["Football", "Tennis"] の場合は「Football」を、日本語「カテゴリ1」に対して翻訳先候補が ["Category1", "Category2"] の場合は空白の有無に関わらず「Category1」を選択します。これにより、ターゲットサイトのカテゴリ名やフィールドラベルが翻訳先言語ではなく英語名のままでもマッピングできるようになりました(運用ではこのケースが多数派です)。
異なるコンテンツタイプ間(クロスコンテンツタイプ)翻訳の正式サポート
翻訳元と翻訳先で異なるコンテンツタイプを指定する運用が安定動作するようになりました。同じコンテンツタイプの場合は翻訳元の data を丸ごとコピーしてから翻訳対象フィールドを上書き、異なるコンテンツタイプの場合は コピー対象フィールドマッピング(ユーザー設定)または ラベル名自動マッチ(フォールバック)で非翻訳フィールドの値を引き継ぎます。
LLM タイムアウトの環境変数化
各プロバイダ(ChatGPT / Gemini / Claude)の HTTP リクエストタイムアウトを、環境変数・mt-config.cgi ディレクティブ・プラグイン設定画面から 30〜1800 秒の範囲で指定できるようになりました。デフォルトは v1.4.0 と同じ 300 秒です。
分割翻訳パイプライン
翻訳の実行を「プラン生成 → フィールドごとに翻訳 → 確定」の3段階に分け、フロントエンドから順次 HTTP リクエストを送る形に変更しました。1 リクエストあたりの所要時間が「1フィールド分の LLM 応答」までに短縮されるため、長文記事や多言語一括翻訳でも CGI/プロキシのタイムアウトに切られにくくなります。翻訳ウィジェットにはフィールド単位の進捗表示が出るようになります。
その他の改善
- 「フィールドマッピング」見出しを 「翻訳対象フィールドマッピング」 にリネームし、新しい「コピー対象フィールドマッピング」との対比を明確化。
- 翻訳中のフィールド名を ローカライズ表示(例: 「翻訳中 1/3: Body」→「翻訳中 1/3: 本文」)。
- 「全ての言語に翻訳」の挙動を変更。同じターゲット言語の翻訳設定が複数あっても、すべての設定が順次実行されるようになりました。これにより「日本語→英語(同じサイト)」「日本語→英語(別サイト A)」「日本語→英語(別サイト B)」のような構成でも 3 つすべて実行されます。
互換性
translation_config に category_mapping 列と copy_field_mapping 列を追加(schema_version 1.0008 → 1.0010)。MT 管理画面アクセス時に自動アップグレードされます。既存の翻訳エンドポイント(ai_translator_translate / ai_translator_translate_json)は後方互換のため維持されます。
製品詳細
製品の詳細・ご購入については以下のページをご覧ください。