Multilanguage for Drupal 7: Internationalization module (i18n beta1)

It's been 5 years since the first version of the Internationalization module (4.7) was released. Though Drupal 6 included Content translation, and Drupal 7 provides some cool new features like Multilingual fields and really improved Language management, it stil needs some 'help' to be able to build a full featured multilingual site.

Which means yes, there will be a Drupal 7 version of Internationalization module. And here's the first Beta, which comes enhanced and plenty of new features. This is just a quick overview of the module (actually a package of 12+ modules) and some old and new features it includes. Read on or jump to the download link at the end.

Enhanced for Drupal 7

  • Language selection, filter page content by language with some more options, like paths for enabling/disabling it, or query tags to skip.
    Drupal - Internationalization - Language selection
  • Better, cleaner, easier, language options for blocks. Select for which languages the block will be displayed.
    Drupal - Internationalization - Multilingual blocks
  • Taxonomy translation, basically the same, but now using our Translation set API and some better UI.
    Drupal - Internationalization - Multilingual taxonomy
  • Multilingual variables have got a full featured UI to select which variables are translatable. This is possible because we are using now the new Variable module which provides some human readable information about variables.
    Drupal - Internationalization - Multilingual variables

New Translation sets

  • Translation sets is a powerful idea and some generic API to handle collections of objects that are translations of each other. This is used at the moment for terms, paths, or menu items.
    Drupal - Internationalization - Translation sets
  • Tags or taxonomy terms are just another example of translation sets. Here you can add existing tags to a translation or create new translations on the fly.
    Drupal - Internationalization - Tag translation
  • When there's no other option for defining what is a translation on what, you can use Path translation, this is, define which path is a translation of which other one.
    Drupal - Internationalization - Path translation
  • Menu translation has got some more powers. Create translation sets of menu items.
    Drupal - Internationalization - Menu translation

And some tips

  • When you have a translation set and want some options to be the same for all the elements, like having a collection of nodes promoted at the same time, you can use the synchronization feature. This will be way easier as almost everything are Fields now.
    Drupal - Internationalization - Synchronize translations
  • And finally, yes, this is what it looks like, a much requested feature. Some Search Engine Optimization for multilingual sites.
    Drupal - Internationalization - Translation redirect - SEO

Still, I have to insist this module is not a complete site solution, it is just an API module, or a collection of tools, that you can use together with other modules to build your site solution. There's not a single answer for how to build a multilingual site. Or if you think there is, feel free to post it on the comments below or to contribute your module.

So these are tools you can use (or not). You don't need to enable all the modules and figure out what to do with them, but just enable the ones that make sense for your user story. Also look into other options like Entity translation and decide which is the best one for each element of your site.

Module FAQ

  • So, can I use this beta version for production sites?
  • Sure, I just use Alpha, Beta, etc because I like the Greek alphabet.
  • Ok, ok, then when will a stable version be available?
  • Soon, which means possibly two or three weeks. If you can help testing and polishing this beta, it will be sooner. If you create duplicate or pointless issues on the tracker that will delay us, it will be later.
  • This xxx feature is cool but useless, what could I use it for?
  • When at home, open your toolbox and try to figure out how to use each of the tools. If you can, buy a bigger one.
  • As translation sets are entities themselves, can I create translation sets of translation sets?
  • ....

Here is the Internationalization module. Thanks for reading. And more thanks if you want to post your comments...