多言語Drupal 6からDrupal 8へのアップグレード
このドキュメントページでは、Drupal 6からDrupal 8への多言語アップグレードの概要を紹介します。Drupal 7からDrupal 8への同様のページもまもなく作成されます。そのページができるまでの間、多言語移行のメタ問題を参照してください。
始める前に:D8モジュールを有効にする
Drupal 8にはコアに広範な多言語サポートがあります。Drupal 8の多言語ガイドで説明されているように、多言語機能は次のコアモジュールによって提供されます:
- Language
- Interface Translation
- Content Translation
- Configuration Translation
アップグレードを実行する前に、Drupal 8サイトでこれらすべてのコアモジュールが有効になっていることを確認してください。上記の4つのモジュールに加えて、コアの多言語Migrate Drupalモジュールが有効になっていることを確認してください。
多言語ノード
i18nモジュールは、Drupal 6のノードに多言語機能を提供します。同様の機能はDrupal 8コアにもあります。
コンテンツタイプの言語設定
- コンテンツタイプの言語設定のDrupal 6からDrupal 8への移行がサポートされています。
翻訳のない言語ノード
- Drupal 6では、ノードは翻訳なしで言語を持つことができます。
- Drupal 8の結果は概念的にはDrupal 6と同じになります。2つの別々のノードオブジェクトがあり、各ノードの言語が自動的に移行されます。
- 下の図はこの移行を示しています。

ノード翻訳
Drupal 6とDrupal 8の翻訳の概念は根本的に異なります。
Drupal 6では、英語用とフィンランド語用の2つのノードがあります。両方の言語バージョンは、独自のノードIDを持つ別々のノードオブジェクトです。ノードは互いの翻訳としてリンクされています。
Drupal 8の翻訳の概念は根本的に異なります。ノードのすべての言語バージョンに「共通」のノードエンティティが1つだけあり、翻訳はフィールドレベルで行われます。
下の図は移行を示しています。両方のノード(英語とフィンランド語)のコンテンツが同じノードに移行され、フィールドレベルで言語バージョンが提供されます。node/2からnode/1へのリダイレクトは、移行中に自動的に作成されます。

多言語ノードリビジョン
警告:多言語ノードリビジョンはまだ移行されていません!残りのタスク:
多言語メニュー項目
i18nモジュールにはメニュー翻訳サブモジュールがあり、Drupal 6で次の機能を提供します
- メニュー項目の言語を定義する
- 文字列翻訳UIを使用してメニュー項目を翻訳します。
同様の機能はDrupal 8コアにもあります。Drupal 6からのメニュー項目の言語とその翻訳の移行がサポートされています。
多言語コメント
警告:コメントの移行はまだ完了していません!残りのタスク
- #2981393: コメントタイプの言語設定を移行する。回避策:この設定は、アップグレード後にDrupal 8のコメントタイプ設定で手動で簡単に変更できます。
多言語タクソノミーボキャブラリと用語
i18nモジュールにはタクソノミー翻訳サブモジュールがあり、Drupal 6のボキャブラリとタクソノミー用語に多言語機能を提供します。同様の機能はDrupal 8コアにもあります。
警告:多言語ボキャブラリの移行はまだ完了していません!
Drupal 6には、多言語ボキャブラリの2つの異なる概念があります。それらの残りのタスクは以下を参照してください。
ボキャブラリの移行、名前と説明の翻訳
- ボキャブラリの名前と説明の翻訳の移行がサポートされています
参考情報:Drupal 6のボキャブラリ翻訳モード
Drupal 6は、下の図に示すように、ボキャブラリのさまざまな多言語概念をサポートしています。

「ローカライズされた用語」と「言語ごと」の概念は以下で説明します。ボキャブラリの「言語」は、ボキャブラリに固定言語がある場合(「ボキャブラリに言語を設定する」設定)にのみ適用されます。固定言語の概念では、ボキャブラリのすべての用語がその言語を受け取ります。
ローカライズされた概念
「ローカライズされた用語」移行の残りのタスク
一時的な解決策:言語設定はDrupal 8サイトで手動で変更できます。
回避策はありません(Drupal 8で用語を手動で翻訳する以外)。
回避策はありません(Drupal 8で用語をノード翻訳に手動でリンクする以外)。
Drupal 6の「ローカライズされた用語」の概念は下の図に示されています。
- 英語(nid 1)とフィンランド語(nid 2)の2つのノードがあります。これらのノードは互いの翻訳としてリンクされています。
- タクソノミー用語(tid 1)が1つあります。フィンランド語と英語の両方のノードが同じ用語を指しています。
- 用語の「タイトルと説明」は、i18n/String翻訳モジュールで翻訳できます。
Drupal 8には「ローカライズされた用語」の概念に相当するものがあります。
- 上記で説明したように、ノード翻訳はDrupal 8に移行されるため、両方の言語バージョンでノードは1つだけになります。
- Drupal 6と同じタクソノミー用語が1つあります。
- フィンランド語と英語のノードバージョンが同じ用語を指しています。

言語ごとの用語
「言語ごとの用語」移行の残りのタスク
一時的な解決策:言語設定はDrupal 8サイトで手動で変更できます。
回避策はありません(Drupal 8で用語をノード翻訳に手動でリンクする以外)。
D6の「言語ごとの用語」の概念は下の図に示されています。
- 英語とフィンランド語の2つのノードがあります。それらは互いの翻訳としてリンクできます。
- 英語用とフィンランド語用の別々のタクソノミー用語オブジェクトがあります。それぞれ独自の用語IDを持っています。用語は互いの翻訳としてリンクできます。
「言語ごとの用語」の概念に最も近いDrupal 8の相当物は下の図に示されています。
- 上記で説明したように、ノード翻訳はDrupal 8に移行されるため、ノードは1つだけですが、翻訳可能なフィールドがあります。
- ここでは、タクソノミー用語参照フィールドが翻訳可能に設定されているため、ノードの英語バージョンは英語の用語(term/1)を指し、ノードのフィンランド語バージョンはフィンランド語の用語(term/2)を指すことができます。
- Drupal 8では、両方の用語を互いの翻訳としてリンクできないことに注意してください。

その他の多言語移行
その他のサポートされている移行:
- 有効な言語のDrupal 6からDrupal 8への移行がサポートされています。
- 言語ネゴシエーション設定のDrupal 6からDrupal 8への移行がサポートされています。
- Drupal 6からDrupal 8へのブロック翻訳の移行がサポートされています。
その他の残りのD6-D8移行タスク:
#2845975: Drupal 6のユーザープロフィールフィールド値の翻訳オプションを移行する
バグを見つけましたか?サポートが必要ですか?移行に貢献したいですか?
多言語移行に関連するバグを見つけた場合は、multilingual meta issueの子問題として報告してください。
サポートが必要な場合は、Drupal Slackの活発な#migrationチャンネルに参加するか、Drupal Stack Exchangeに質問を投稿してください。
移行の問題に貢献したい場合は、大歓迎です!「移行への貢献」ページを参照してください。