Having a multi-lingual site

There are several approaches to internationalisation in Drupal:

  • The translation of the interface: with the "Locale"

module.

  • The translation of content:
    • With "Content translation": you can choose to activate translations by content type, this approach dupes nodes, example: an article in English whose url is node/1, if you translate it, the translation will be accessible with the url node/2
    • With "Entity translation" (not available on assos): you can choose to activate translations by field, this approach does not duplex nodes
  • Translation of what is neither content nor interface: with the "Internationalization" module and its add-ons.

This tutorial is very brief because internationalisation is a vast subject. For more details, read the documentation on Drupal.org (here).

  • Enable the modules you use plus any modules you need, for example if you want a multilingual forum, enable "Multilingual forum".
  • In Administration menu: configuration > regionalisation and languages > languages :
    • Choose the languages you wish to activate. If the language you want does not appear, go to Administration menu: configuration > regionalisation and languages > add a language and select the desired language.
  • In Administration menu: configuration > regionalisation and languages > languages. Go to the tab Detection and selection :
    • Enable : Session, User and Browser
  • In Administration menu: Structure > blocks: Choose where you want to put the "Language selector" block allowing the user to choose their language
  • You need to translate what you want to translate:
    • Menus (requires "Menu translation"): for each menu, you need to choose whether it should use translation or not and translate each link. To do this click on modify menu and choose to activate language management. Then click modify for the link you want to translate. Click on the translate tab, add a translation for a language. Finally, click Save. This will create a second link, and depending on the language used Drupal will choose which one to show.
    • Content: you need to enable an option on each content type. Go to Administration menu: Content type structure. Click modify for the content type for which you want to activate translation. Then, in the Publishing options sub-menu, activate multilingual management. The Enabled option simply adds a drop-down menu to the content type allowing you to choose the language of the content. The content will only be available in the chosen language. The Enabled, with translations option adds this drop-down menu and a translation tab that will appear next to the modify tab once the content has been saved.
  • As translation work is often time-consuming, only translate what is really necessary, there is no point in translating the administration interface or certain parts of the site, if you know that they are only reserved for people who speak the same language.

Comments

Add new comment