Upgrade multilanguage Drupal 6 to Drupal 11
This documentation page provides an overview of multilingual upgrades from Drupal 6 to Drupal 8. A similar page for Drupal 7 to Drupal 11 will be created soon. In the meantime, refer to the multilingual migration meta issue.
Before You Begin: Enable D8 Modules
Drupal 8 offers comprehensive multilingual support in Core. As explained in the Drupal 8 Multilingual Guide, multilingual capabilities are provided by the following core modules:
- Language
- Interface Translation
- Content Translation
- Configuration Translation
Ensure that all these core modules are enabled on your Drupal 8 site before starting the upgrade. Additionally, make sure the core multilingual module Migrate Drupal is enabled.
Multilingual Nodes
The contributed i18n module provides multilingual capabilities for nodes in Drupal 6. Similar functionality exists in Drupal 8 core.
Content Type Language Settings
- Migration of content type language settings from Drupal 6 to Drupal 8 is supported.
Language-Specific Nodes without Translations
- Nodes in Drupal 6 can have a language without having translations.
- The result in Drupal 8 will conceptually be the same: two separate node entities with their respective languages will be migrated automatically.
- The diagram below illustrates this migration.
Node Translations
The concept of translation differs fundamentally between Drupal 6 and Drupal 8.
In Drupal 6, separate node entities exist for each language and are linked as translations. In Drupal 8, a single node entity holds translations at the field level.
The image below shows the migration process. Content from both nodes (English and Finnish) is migrated into one Drupal 8 node entity with translated fields. Redirects from node/2 to node/1 are created automatically.
Multilingual Node Revisions
WARNING: Node revisions are not yet migrated!Remaining tasks:
#2746541: Migrate D6 and D7 node revision translations to D8
Multilingual Menu Items
The i18n module includes a menu translation submodule that allows Drupal 6 to:
- Assign a language to menu items
- Translate menu items via the string translation interface
Drupal 8 core offers similar functionality. Menu item languages and their translations from Drupal 6 are supported for migration.
Multilingual Comments
WARNING: Comment migration is not complete!Remaining tasks:
- #2981393: Migrate comment type language settings. Workaround: manually adjust comment type settings in Drupal 8 after upgrade.
Multilingual Taxonomy Vocabularies and Terms
The i18n module includes a taxonomy translation submodule for multilingual vocabularies and terms in Drupal 6. Similar functionality exists in Drupal 8 core.
Warning: Migration of multilingual vocabularies is not yet complete!
Drupal 6 supports two different multilingual vocabulary concepts. See the remaining tasks below.
Vocabulary Title and Description Translation
- Migration of vocabulary name and description translations is supported
Reference: Drupal 6 Vocabulary Translation Modes
Drupal 6 supports various multilingual settings for vocabularies, as shown below.
The "localized terms" and "per language" modes are explained below. The "language" setting applies if the vocabulary has a fixed language (set in the settings). In this case, all terms inherit that language.
Localized Terms
Remaining tasks for "Localized Terms" migration:
Workaround: manually set language settings in Drupal 8.
No workaround (manual term translation in Drupal 8).
No workaround (manual linking of terms to node translations).
Per Language Terms
Remaining tasks for "Per Language Terms" migration:
Workaround: manually adjust language settings in Drupal 8.
No workaround (manual linking of terms to node translations).
Other Multilingual Migrations
Additional supported migrations:
- Included languages from Drupal 6 are migrated to Drupal 8.
- Language negotiation settings from Drupal 6 are migrated to Drupal 8.
- Block translations from Drupal 6 to Drupal 8 are supported.
Other remaining D6-D8 migration tasks:
#2845975: Migrate Drupal 6 user profile field value translation option
Found an Issue? Need Help? Want to Contribute?
If you’ve found a multilingual migration-related bug, report it as a child issue under the multilingual meta issue.
If you need support, join the active #migration channel on Drupal Slack or post your question on Drupal Stack Exchange.
If you want to contribute to migration issues, you’re welcome! Visit the Migration Contribution page.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.