Drupal8 Paragraph(パラグラフ)モジュールの多言語対応方法


前回の記事は Paragraph モジュールの実力、主な機能について説明しましたが、今回は、Paragraph モジュールの多言語対応方法について、説明したいと思います。
記事対象
Drupal の設定にある程度慣れていて、多言語化についても理解している方
はじめに
Paragraph の多言語対応は、少しコツがあります。
まず、Paragraph モジュールを使ったサイトを多言語化する際、Content Translation モジュールを有効にし、「コンテンツの言語」設定画面(/admin/config/regional/content-language)にアクセスすると、
(* unsupported) Paragraphs fields do not support translation. See the online documentation.
というメッセージが出ます。
「パラグラフフィールドは翻訳をサポートしていません」と書いてあるので、パラグラフは多言語化できないと思われるかもしれません。ですがこの See the online documentation のリンク先のドキュメントに記載がある通り、「親エンティティのパラグラフフィールドは翻訳不可ですが、パラグラフエンティティは翻訳可能」なのです。そのため結果としては、設定を正しく行えば、パラグラフは翻訳が可能になります。
設定方法
具体的な設定方法を見てみましょう。
設定方法のポイントは、
親エンティティのパラグラフフィールドは翻訳の設定をオフにし、すべてのパラグラフタイプ、およびそれらのフィールドは翻訳の設定をオンにする
です。
例えば、「事例」というコンテンツタイプに「パラグラフ」(field_paragraphs)というフィールドがあり、そのフィールドで「h2タイトル」「文章」「画像+文章(左画像回り込み)」といったパラグラフタイプを使っていたとします。
- 「コンテンツの言語」設定画面(/admin/config/regional/content-language)で、「言語のカスタム設定」で、Content と Paragraph にチェックを入れます。
- スクロールし、Content の「事例」コンテンツタイプの「翻訳可能」にチェックを入れます。
- 「パラグラフ」フィールドの「翻訳可能」のチェックを外します。
- Paragraph までスクロールし、「h2タイトル」「文章」「画像+文章(左画像回り込み)」のバンドルと、それらのフィールドの「翻訳可能」にチェックを入れ、設定を保存します。
となります。
これは、パラグラフでパラグラフフィールドを使用している場合(パラグラフをネストしている場合)も同様です。その場合は、親エンティティのパラグラフフィールドの翻訳をオフにして、その中のパラグラフタイプはすべて翻訳をオンにします。
まとめ
今回は少し特殊な話題を説明しましたが、いかがだったでしょうか。
パラグラフは活躍の幅が広いモジュールなので、是非活用したいところです。
要は、パラグラフフィールドは翻訳をサポートしていないが、パラグラフエンティティはサポートしているということですね。
ここだけ押さえ、正しく設定を行えば、パラグラフも翻訳が可能になります。
「パラグラフは翻訳出来ないから使えない」、と思って諦めている方の参考になれば幸いです。
参考:
Multilingual Paragraphs configuration Drupal 8 guide on Drupal.org

阿部 正幸/ 代表取締役
Drupal歴15年、ウェブマーケティング、インフラ構築、AP開発が守備範囲です。
キャッチボール、筋トレ、日本酒、ウイスキーが好きです。天気の良い日に、誰かキャッチボールして、立呑に付き合ってください。
好きなDrupalモジュールはIMCEです。