The Internationalization (i18n) package provides full upgrade scripts for a smooth transition from Drupal 5 to Drupal 6. However, due to some multilingual features provided now by Drupal core and that the Internationalization package has been fully reworked, there are some special considerations. So, please, read this page before doing anything.

Drupal 6 upgrade notes

  • To upgrade from 5.x, first upgrade to the latest 5.x stable release. To upgrade from 4.x, first upgrade to 5.x, then to 6.x.
  • Note that some old features and behaviors have been dropped and replaced by new Drupal 6 multilingual features. This module won't pretend to replace Drupal core available features but to build on them and provide extended ones.
  • While the upgrade scripts already work for nodes and taxonomy, there's other data that is simply deleted by the main Drupal 6 core upgrade, like the menu items language.
  • Other parts like the multilingual block system have been completely reworked and will need manual reconfiguration. Existing normal blocks won't be lost but the language settings will need manual reconfiguration.
  • The module layout, dependencies, and names have important changes, so it is advised to take your time, read the new modules descriptions, and decide on which ones you need enabled, that may be different from the Drupal 5 ones.

The upgrade process

  1. As with any other upgrade, make a full backup of your database prior to upgrading and set the site in off-line mode.
  2. Disable all Internationalization package modules. Disabling all contributed modules is always recommended before upgrading to Drupal 6.
  3. Upgrade your codebase and run the Drupal 6 standard upgrade.
  4. First, enable Drupal 6 core Translation module. The Internationalization package now relies on it.
  5. Go through the Internationalization package module list and enable the ones you need.
  6. Run the update script again (update.php) so the Internationalization package modules can update their data properly.
  7. Review *all* the language settings (Drupal 6 core settings have also changed), and reconfigure your multilingual menus, blocks, and path aliases.

After upgrading

  • If you are using multilingual variables, some variable names have changed in Drupal 6. Review and update your settings.
  • Language prefixes in path aliases are not supported anymore. Instead use the new language setting for path aliases. You'll need to update them manually.