i18n in drupal.

Posted on: Wed, 07/05/2006 - 10:49 By: dae

After struggling for a long time. Finally, I have managed to get the internationalization module works as I want. the only problem is that I use the wrong block for accessing the translated page. We have to use Translation bock, not the Language Swithcer block, even though they look the same in in the appearance but it works totally different. Language switcher is just a languaeg swithcer of course. It does nothing except that letting a user select his/her prefered language and then display a content of that language only.

With translation block, a user can access the translation of the displaying content immediately and that is what I want. For illustration example, if I have a page called "member" which is translated into two language, says Thai and Eng. When a user is viewing a Thai member page, the user can click the language in the translation block to access the english member page but with the language swithcer block, the user can do nothing. Much better...

The only problem remain is that the primary link. Well, there exists a work around. With the translation module, the link in every page is prefixed with the language code. For example, node with id 57 will be displayed in a link as th/node/57 when a user is viewing in thai and will be displayed as en/node/57 when viewing in english. The solution is simple, just allow url alias, and name the page with en/ or th/ prefix and we are solved. Check http://isl2.cp.eng.chula.ac.th/ for example.