CiviCRM multi-lingual

Does anyone have practical experience running multi-lingual CiviCRM in Drupal?

The documentation seems all over the map. In particular, there seems to be a hard choice between translation at the Drupal level versus translation of CiviCRM itself.

It appears that the translation mechanism is for the interface text. Is there an automated solution for the content?


Yes - I have struggled a lot with multi-lingual. As a whole, it is quite impressive. You really can make CiviCRM into a truly multi-lingual application.

As you indicate, you have a choice. I would re-phrase it as: enabling the multi-lingual interface versus enabling multi-lingual content in CiviCRM.

With CiviCRM, we create a lot of content: the title and description of events, the labels for custom fields, the text in contribution pages. If you enable multi-lingual content in CiviCRM, then suddenly all of these fields will have new buttons for adding text in all the languages you enable. If you go this route, then when someone’s browser requests the spanish or french version of your site, they will just get the descriptions, title, and field labels in their language.

The downside, is that CiviCRM’s interface is already a bit hard to navigate - so adding multi-lingual content makes it even harder, especially if you don’t really need to translate all your custom field labels. Maybe, for example, you just need a few event pages to have the description in both english and spanish.

That’s the case for May First itself. We don’t enable the multi-lingual content - instead we have the multi-lingual interace enabled and whenever we add events, we simply write the english followed by the spanish in the same text box.

And no, there is no automated machine translation option. But there is - which is a hight quality alternative to giving all your text to Google.

1 Like

Ok, thanks.

I’ll definitely give a try.

Can you recommend a guide for implementing multi-lingual?

The instructions that I’ve found for the Drupal layer aren’t much help.

I don’t have anything published, but my cribbed notes for enabling the multi-lingual interface if you are running CiviCRM via Drupal are:

  • Install Localization update (which depends on Locale module)
    * Go to Administration (Drupal) -> Modules. Select “Localization update” and click Save Configuration. If Locale module is not enabled, it will enabled that as well
    * This step will enable the language switcher block, allow you to choose the languages you want to offer, and download the localization files for Drupal.
  • Choose the languages you want enabled.
    • Go to Administration (Drupal) -> Configuration -> Regional and language -> Languages
    • Click Add Language - choose your language and click “Add language”
  • Determine how Drupal will choose languages
    • Go to Administration (Drupal) -> Configuration -> Regional and language -> Languages
    • Click Detection and Selection Tab
    • Enable all detection methods EXCEPT browser (if browser is selected and someone has their browser set to prefer spanish, they will never be able to display english).
  • Lastly, tell CiviCRM to use the language selected by Drupal
    • Go to Administer (CiviCRM) -> Localization -> Languages, Currencies and Locations
    • Check the “Inherit CMS Language” checkbox

Now, you should see a language selection block on the left. If you click a language other than English, the Drupal interface should change.