Configure content types for entity translation

Last updated on
5 October 2018

Drupal 7 will no longer be supported after January 5, 2025. Learn more and find resources for Drupal 7 sites

Enabling entity translation for a content type

With Entity Translation enabled for "Node", you can set the translation mode (Entity Translation or Content Translation) for each Content Type. To enable translation mode for a particular content type, you need to edit the content type and click on the 'Publishing options' tab and choose under Multilingual support:

  • "Enabled, with translation" for Content Translation
  • "Enabled, with field translation" for Entity Translation

Note that the i18n submodules "Field Translation (i18n_field)", "Multilingual Content (i18n_node)" and "Multilingual Select (i18n_select)" do NOT need to be enabled to use Entity Translation properly, and SHOULD NOT be enabled to use Entity Translation properly with an upgrade path to multilingual websites in Drupal 8.

  • Multilingual Select is architecturally incompatible with Entity Translation.
  • Field Translation or localize fields might be needed though if you want to translate field labels.
  • Multilingual content and its dependency Content translation might be needed though if you want to translate content type strings such as content type names and descriptions. Read more.

Screenshot "Multilingual support"

How to enable translation for particular fields

Once entity translation has been enabled, you can make individual fields for the content type translatable by editing the field and then going to the '<field name> field settings' section of the Edit tab. Here we have different options depending on whether the field already contains data.

Empty field (applies to new fields as well)

In case the field does not contain any data, one can activate field translation by checking the Users may translate all occurrences of this field checkbox, and saving the settings.

Enabling translation for a field

Fields with existing data

In case the field already contains data, the UI presents a link for enabling translation called "Enable translation"

After clicking on that link, a confirmation step is presented for allowing  instantiating all translated versions of the field's data, or not.

Disabling field translation for a field with existing translation data

In case one wants to disable translation for a field with existing translation data, the UI presents the user with an link called "Disable translation"

The confirmation screen that follows makes sure the user has a chance to avoid deletion of translated data in case this was not intended.

Translation of titles

By default in Drupal 7, titles are not fields. Titles of nodes and other entity types can be converted to fields using the Title module as follows:

  • Download and enable the Title module.
  • For the given content type, go to the Manage fields tab.
  • In the table of fields, beside the title element, click the replace link under the 'Operations' heading. Select the checkbox "Replace title with a field instance" and hit save.
  • The title will be converted to a field, which users can translate by default.
  • Since the title is now a field, it will show up under the content of each node, as well as being the title. To hide the title field from the content, go to the Manage display tab for the content type and drag the title field into the Hidden section.

Screenshot "Manage Fields" with "replace" link

Translation of taxonomy terms

You can choose to allow users to translate taxonomy term references attached to a content type, just like you can do with fields. In the case of taxonomy terms, this will allow users to choose a different term or set of terms for each language. Localization of the terms themselves needs to be handled separately, for example, with the Internationalization (i18n) package's Taxonomy translation module.

Options for multilingual comments

Since only one node is created for content types with entity translation enabled, all comments are added to the same node, regardless of the user's language. By default, all comments will be displayed on the node page. Under the Comment settings tab, there is an option to Filter comments by language which will filter out comments in languages other than the current language.

Help improve this page

Page status: No known problems

You can: