Skip navigation

Internationalization

Translation Tips and Modules for Multilingual Drupal sites

Drupal has some excellent translation functions but deciding which modules to use and how to configure the modules is challenging. There are many different possible configurations depending on your website needs, domain names and content. You'll find there are a lot of choices of modules for setting up a multilingual site.... then there are a lot of key configuration items to enable depending on your website.

This post focused on Drupal 6 modules and issues. We will give some example of the difficult decision making involved in translating content. There is no out-of-the-box configuration that seems to work, it all depends on the needs of your website. There are many different modules to choose from in core and contrib and a lot of their functions overlap.

The best advice is to start with the core multilingual modules and then add other modules when needed. Good Luck Bon Chance Viel Glueck 幸運 Buona fortuna 好运 Buena suerte Удача

translating your content through i18n translation

Watch Ravi as he demonstrates how easy it is to create bilingual or multi-lingual content in Drupal. Ravi is demonstrating how this module works in Drupal 4.7 with a bilingual site. He demonstrates how language switching allows you to jump back and forth between the two versions of your document.

Great Things About Drupal 6.0

Drupal 6.0 was just released yesterday and we're pretty excited about this as we've been watching the latest release evolve over the last year now.

We wanted to highlight just a few of the enhancements we've seen over 5.x:

CiviLingua, RIP

The CiviLingua project was an attempt to build i18n/l10n into CiviCRM core in the late 1.6 / early 1.7 release era. Details are available on the CiviCRM wiki:
http://wiki.civicrm.org/confluence/display/CRM/CiviLingua+-+support+for+multi-lingual+sites

And in my earlier blog posts:

i18n breadcrumbs and nested menus

I recently tried to add breadcrumbs to one of our client sites. We wanted breadcrumbs to reflect the location of the current page in the nested menu system. The usual Drupal breadcrumb functions failed utterly, returning bizarre values for the supposed menu items in the current trail. (Things like a negative int where one expects a positive value in a string.)

Inserting Parents for Breadcrumbs

The following article is part of a series on Setting up a Drupal Site for Internationalization.

Some of the existing English documents did not have a parent category in the database. This meant that the breadcrumb for those categories was not necessarily useful,

Using i18n_variables to Enable Translation of Module-Specific Variables

The following article is part of a series on Setting up a Drupal Site for Internationalization.

Using i18n_variables to Enable Translation of Module-Specific Variables

In some cases, we need to translate elements of the user interface that are not part of a regular node or part of the .po system for translating strings. For these elements, we can sometimes use i18n_variables (http://drupal.org/node/67824).

Passing Langage Values to Drupal Themes

I solved this problem a while ago, but didn't have the docs handy or in my blog, so decided to post this quickly here. I needed to pass along the current language along to a variable in my template, but had to define it first as phpTemplates doesn't define it by default. It's a pretty simple process if you have a handle on PHP.

Better Approaches to Managing Translation with Technology

I got a call from a translation company the other day because they were looking to contract someone for some PHP development work. We got started talking about some of the work that they were doing, but also some of the opportunities to use content management tools to automate the process, and reduce the costs for high quality professional translations.

Tinymce

The following article is part of s series on Setting up a Drupal Site for Internationalization.