クロスコンテンツタイプ翻訳
翻訳元と翻訳先で異なるコンテンツタイプを使う運用です。v1.5.0 で正式サポートされました。
翻訳元と翻訳先のコンテンツタイプを別々に指定する運用を「クロスコンテンツタイプ翻訳」と呼びます。v1.5.0 で正式サポートされました。
利用シーン
| シナリオ | 翻訳元コンテンツタイプ | 翻訳先コンテンツタイプ |
|---|---|---|
| 言語ごとにサイトを分けつつコンテンツタイプも別々 | Site Page (日本語サイト) | Site Page (de) (ドイツ語サイト) |
| 同じサイト内で別コンテンツタイプを翻訳の受け皿に | Article | Article (translated) |
設定箇所
翻訳設定の編集画面で「コンテンツタイプ設定」セクションを開きます。
| 項目 | 説明 |
|---|---|
| 翻訳元コンテンツタイプ | 翻訳元となる現在のサイトのコンテンツタイプ |
| 翻訳先コンテンツタイプ | 翻訳先サイトで翻訳結果を作成するコンテンツタイプ |
両方を同じコンテンツタイプに指定することも、別々のコンテンツタイプに指定することもできます。
同じコンテンツタイプの場合の翻訳動作
翻訳元と翻訳先のコンテンツタイプが同じ場合(source_ct.id == target_ct.id)、翻訳元コンテンツの data を丸ごとコピーしてから、翻訳対象フィールドだけを LLM 翻訳結果で上書きします。
- 全フィールドが翻訳元と一貫
- 非翻訳フィールド(数値・URL・日付など)は何も設定せずに元の値が引き継がれる
convert_breaksも同期される
異なるコンテンツタイプの場合の翻訳動作
翻訳元と翻訳先のコンテンツタイプが異なる場合、AITranslator は次の優先順位でフィールド対応を解決します。
| 優先 | 仕組み | 対象フィールド |
|---|---|---|
| 1 | 翻訳対象フィールドマッピング(UI 明示) | テキスト系、アセット、カテゴリ、選択肢 |
| 2 | コピー対象フィールドマッピング(UI 明示) | 数値・URL・日付など |
| 3 | ラベル名 / basename での自動マッチ(フォールバック) | コピー対象フィールド(UI 設定が無い場合) |
翻訳対象フィールドはマッピングが必須です。コピー対象フィールドは未設定でも自動マッチが動作します。
ラベル名自動マッチの仕組み
異なるコンテンツタイプ間で、コピー対象フィールドマッピングが空のままでも次の挙動が動作します。
| 対象 | マッチング |
|---|---|
| コンテンツフィールド | ラベル名(空白除去・大文字小文字無視)で比較 |
| 記事/ウェブページ CF | basename で比較 |
翻訳元の各フィールドについて、翻訳先 コンテンツタイプに同じラベル名 / basename のフィールドがあれば値をコピーします。
翻訳先コンテンツタイプに対応フィールドがない場合
翻訳元コンテンツタイプにあって翻訳先コンテンツタイプに対応するフィールドがない場合、翻訳元フィールドの値は破棄されます。翻訳先コンテンツタイプに保存先カラムが物理的に存在しないため、コピー先がないことが原因です。
必要なフィールドは翻訳先コンテンツタイプにも作成しておいてください。
アセットの扱い
クロスコンテンツタイプ翻訳でアセットフィールドが含まれる場合、翻訳対象フィールドマッピングで「翻訳元のアセットフィールド → 翻訳先のアセットフィールド」のペアを指定すれば、AssetCopier がアセットを翻訳先サイトに複製します。
同じ blog の場合はアセット ID をそのままコピーし、別 blog の場合は新しい asset を作成します。
カテゴリーフィールドの扱い
クロスコンテンツタイプ翻訳でカテゴリーフィールドが含まれる場合、翻訳元と翻訳先で参照しているカテゴリセットの組ごとにマッピングが必要です。
詳細は「カテゴリ/フォルダのマッピング」をご覧ください。
値マッピング型(select / radio / checkbox)
クロスコンテンツタイプ翻訳で値マッピング型のフィールドが含まれる場合、翻訳対象フィールドマッピング行の「値マッピング...」ボタンから値の対応表を設定してください。
詳細は「選択肢フィールドの値マッピング」をご覧ください。
同じコンテンツタイプで運用するべきか別コンテンツタイプで運用するべきか
設計判断のヒントです。
| 観点 | 同じコンテンツタイプで運用 | 別コンテンツタイプで運用 |
|---|---|---|
| 設定の手間 | 少ない | 多い(マッピング設定が必要) |
| 翻訳先コンテンツタイプのカスタマイズ | できない(元と同じ) | できる(翻訳先専用フィールドを追加可能) |
| データ移行のしやすさ | 元コンテンツタイプへの戻しやすさ | 別コンテンツタイプとして独立 |
シンプルな多言語サイトなら同じコンテンツタイプが楽です。翻訳先言語向けに独自のフィールド構造を持たせたい場合は別コンテンツタイプが選ばれます。