Change the language at runtime

November 30, 2011 No comment

Normally when you change your language you go to your user options, change your current language and the restart the client. This week I got the question if it was possible to do so in runtime. You can do so by just calling the infolog.language(str 7 _languageCode). All labels that you load after calling this method will be translated to the new language.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void JDO_ChangeLanguage(Args _args)
{
    info("@SYS1");
    infolog.language('nl-be'); // Change the language to nl-be
    info("@SYS1");
    infolog.language('fr-be'); // Change the language to fr-be
    info("@SYS1");
    infolog.language('it'); // Change the language to it
    info("@SYS1");
    infolog.language('de'); // Change the language to de
    info("@SYS1");
    infolog.language('en-us'); // Change the language to en-us
    info("@SYS1");
}

And the result is:

Caution: When you use this function make sure you get the current language before you use this function, so you can change it back when you don’t need it any more.