メインコンテンツに移動
DrupalのEnityTranslationとContentTranslationの区別および利用
多言語コンテンツを構築するにはモジュール(ContentTranslation/EntityTranslation)の利用ができます
- 背景:Drupal7.55、Content Translation(コアモジュール)、Entity Translation7.x-1.0
- ユーザーインターフェース言語選択よりコンテンツ(例:記事など)の内容を選択された言語に応じて表示させることができます
- 代表的なコンテンツ言語モジュールは二つあります
- Content Translation:これはコアモジュールで、有効化にすればよいです
- Entity Translation:サードパーティーのモジュール
- 二つのモジュールの根本的な違いは以下のようで
- ContentTransation:複数のコンテンツよりそれぞれの言語に対応します
- Entity Translation:一つのコンテンツより複数のフィールドでそれぞれの言語に対応します
二つのモジュールをどれを利用すべきか
- 結論から言うとどっちらを利用しても良いです
- D7ではContentTranslationの利用が良いでしょう
- D8ではEntityTranslationの利用が良いでしょう
- Durpal7がContentTranslationをコアモジュールに選定しました
- 比較的に安定しています
- D7でContentTranslationに対応するモジュールが数多いようです
- 複数のコンテンツが存在するので、コンテンツ一覧検索時に戸惑うことがあるかも知れないです(時間がたつと以前作成した翻訳の内容が忘れがち)
- Drupal8ではEntity Translationをコアモジュールに選定しました
- 現時点では少し不安定な部分を見られています
- 現時点ではサポートしてくれるサブモジュールの数がまだ少ないようです
モジュール(Entity Translation)がメニュー翻訳機能を提供しています
- モジュール(Entity Translation)のサブモジュールEntity Translation Menuがメニューの翻訳機能を提供しています
- このサブモジュールを利用して簡単にメニューの翻訳ができます
各メニュー管理で翻訳機能を有効化にしてからメニューリンクの翻訳ができるようになります
- モジュールが有効化後に、各メニュー管理タブ(ホーム » 管理 » サイト構築 » メニュー » Main menu)で翻訳有効化に設定を行います
- このメニューにあるすべての子メニューリンクに「翻訳」リンクが現れます
- 確認子メニューリンクをそれぞれの言語で翻訳します(詳細はビデオを参考にしてください)