I have no clue to which is the Drupal way of allowing any user (registered or not) to change the website language.

The way I need it to work is to allow any user to click on their preferred language flag and just change the interface language.

What modules should I look into?
Is there any function I should be calling when clicking the flag?

Any link to something resembling a walktrough is also appreciated.

2 Answers 2


If it's just the interface you'd like to translate, then I think you can get by with Locale (a core module). If you want content translation (and many other things) you can use i18n. The project page for i18n gives you plenty of links to follow for other projects and documentation.

  • Thanks Andy, yes, I need only the interface translation, not the content. So I had it narrowed to Locale, but I still have no clue how to allow someone to change the language by clicking on a flag. Could you please shed some light?
    – acm
    Commented Apr 5, 2011 at 13:47
  • @andre There's a language switcher block that comes with locale. Just enable that and theme it appropriately.
    – Andy
    Commented Apr 5, 2011 at 13:57

You will probably also want to look at the Language Icons module, which provides the flags. Some details about this module (from its project page):

This module provides icons for language links, both for the Language switcher block and (optionally) for node links. It is a spin-off from Internationalization (i18n) package.

As basic multilingual support is now built into Drupal 6 core, it doesn't depend anymore on any other contributed module. This module will work as simple add-in for Drupal 6.

However, for a fully enabled multilingual site, the Internationalization package is recommended.

Setup is very important with localization. I suggest that you start -- preferably on a test site -- by setting Language negotiation to "Path prefix only" and Content selection mode to "Mixed current language (if available) or default language (if not) and language neutral"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.