First of all, if you're just starting out and want a good overview of Drupal Multilingual, you're best to start with what the experts have to say on the subject: Drupal Multilingual Guide - the basic modules and configuration settings you will need to get your site started. Drupal 7 Multilingual Sites by Kristen Pol - is a good place to start about how you should start thinking about your multilingual site. It's a relatively small book, but packed with a lot of information and easy to read, so its well worth the $£€ if you're building a multilingual site in Drupal. Multilingual Drupal 7 by Gábor Hojtsy - another good introduction to get you started. And of course if you just google 'drupal multilingual' you're sure to come upon many other sources, so I would highly recommend you get yourself acquainted with how tricky multilingual drupal can be before you dive in head first. I'm coming from a relative beginner's perspective, so my aim is to try to clarify things or supply any tips I found while on this multilingual journey.
A few things you should be familiar with before you start building your site
What components of your website are you going to have to translate? content? menus? taxonomy? blocks? interface? views? facets? search? webforms? Lots of things to consider, so make a list!
Are you going to be using revisions? are you going to be using anything fancy like solr? publishing tools?
Know the difference between 'content' transalation (CT) and 'entity' translation (ET): the future seems to be with entity translation in Drupal 8, but you should still know what content translation is useful for, as you still might need to use it (as I eventually found out)!
Basically, CT creates a new node for each translation while ET only creates one node for all translations. Reading the literature it seems that people are tending toward to using ET, but if your site has a lot of extra modules that do all sorts of things, the more likely that one of these modules won't work with ET translation and you're going to have to either hack the module, write a patch for it, or put it in the issue queue and hope someone else writes a patch for it. Things like revisions and scheduling tools work differently in that with ET revisions and scheduling happen across all languages whereas in CT you can get languages to work more independently since they each have their own node.
There are also two ways to translate taxonomy:
- Entity translation
- If you create custom fields that you want to translate in your taxonomy, you need to use entity translation to be able to translate the extra fields.
Only way to do this was with i18n, but the new release (as of 2012-Nov-02) of entity_translation includes menu translation. I haven't tried this yet, so it's something to try!
I don't think many multilingual sites are going to be using taxonomy menus, but if you do...probably best that you don't, but if you do...
A couple of tips:
- When you first build your menu, its best to untick 'Synchronise changes to this vocabulary' as when I started translating and saving terms with it synced I had endless problems with menu items disappearing as the language of the menu items kept changing when I updated the taxonomy terms. Total headache.
- It is best to 'rebuild' menus in a non-translated state and then don't rebuild once you have started translating, or else you will probably have problems with the menu, see Multilingual Taxonomy Menu.
Make sure you have the latest version of entity translation, title, and core (at least 7.15) or else funny things might start to happen.
Want more? Quieres mas? Read on to Multilingual & Me Part 2: The Project