Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The Internationalization (i18n) package is collection of submodules that provides extended multilingual support for Drupal. Each module addresses a specific functionality.
Although most of Drupal core objects and strings can be translated with the Internationalization (i18n) package, contributed modules are a different story and some of them present specific issues. For administrative purposes, we will be handling core issues as 'bugs' and compatibility issues with other contributed modules as 'support requests'. This is a list of known issues and workarounds.
Blocks defined through the Context module cannot be translated by i18n for now. Use one module or the other for block visibility. Multilingual menu blocks are also not compatible with Context.
Using Domain Access with Internationalization will cause multiple issues so first of all please think twice if you really need to use both of them. (Each domain having a different language doesn't mean you really need i18n, unless you are actually sharing some multilingual data between domains). Some of the issues:
The Internationalization module exposes a new field on the node display, the node language, that was already there but never displayed.
In order to remove it from showing up on the node view, you need to edit your content type's Display settings. Note: The Field UI core module must be enabled to edit these Display settings.
When using node references, if the Multilingual select module is enabled (from the Internationalization package), you'll see only a list of nodes in the current language when selecting node references. To change this and get nodes for all languages to show up when selecting node references, you can exclude node edit paths from the language selection as follows:
When creating a multilingual Drupal site, if your site front page is a node listing (which is the default in Drupal), you can enable the Multilingual select module, included in the contributed Internationalization (i18n) package of modules, and the content for each language will be selected depending on your settings for 'Language selection' (Administration > Configuration > Regional and language > Multilingual settings > Selection ) so you won't need to do anything else in this case.
Different node or path per language as the homepage
When using a single node as the front page, or when using a different path per language for the front page, the page won't switch automatically depending on the language detection. You need to use the Variable translation module (part of the Internationalization package) to specify a default front page path per language.
In Configuration > Regional and languages: Multilingual settings > Variables, enable 'Default front page' as a multilingual variable.
Go to Configuration > System > Site information > Front page.