Multilanguage support by jCore is done using PHP's own gettext() and locale() functions. Every text that is written with jCore is translatable using this method, you just have to create your own file and translation already works.

Starting from 0.9 If PHP's own gettext isn't working just go to Global Settings -> Functionality Settings and turn on Manual Gettext.

In the admin you can create as many language as you wish for your site and then define menu items for these languages. When creating a new language you will have to define the locale path for your file, usually here you should write something like en_US and then your file would go into locale/en_US/LC_MESSAGES/ directory.

To create a .mo file you first will have to create a .po file with the text and translations you want and then convert them to .mo files with the following command:
msgfmt messages.po -o

You can also use poEdit which is a open source program and will automatically generate .mo files when you save your .mo files and it makes completing translations a lot easier.

There is always an example .po and .mo file in your jCore system so that should give you an exact idea of how to translate a phrase.

The file usually is used for the site's content but for modules you can define different .mo files just to keep things clean, to do so just create a .mo file with the name of your module, for e.g. to translate photogallery.class.php you would have to create a .mo file named like and that fill will be automatically loaded when module gets used.

Using the Languages section in the admin and the translation option with the you should be able to create multiple language versions of your site with different contents and even the smallest bit of text translated.

You can download available translations in our Downloads section.