En/Developers/Language Pack Development

Mahara has inbuilt support for translations. This allows you to run Mahara in languages other than English. If you're looking to develop support for Mahara in your language, you have come to the right place. If you are looking for whether Mahara has a language pack for your langauge, check the list of supported languages.

Developing a Language Pack

A translation GUI similar to Moodle one has been developed by David Mudrak. It is not part of standard Mahara distribution yet but you can install a separate Mahara installation from contrib repository containing the translation tool. Follow the instructions:

1. Install Mahara from this repo on your PC or testing server. Follow the steps described at En/Sysadmin Guide/Installing Mahara but use

       git clone git://git.mahara.org/git/contrib/adminlang.git

instead of standard /mahara.git at Step 2

Alternatively, you can use yet another repository containing this branch. See http://repo.or.cz/w/mahara-contrib.git for more information.

2. Create a directory 'lang/xx.utf' in your Mahara data directory. 'xx' stands for your language code. Make sure the directory is writeable by the web server process.

3. Copy the file 'langconfig.php' from the Mahara lang/en.utf8 and change the string 'thislanguage'.

4. Add the following line into your config.php

       $cfg->langpacksearchpaths = array($cfg->dataroot.'/lang/xx.utf8');

(replace xx with your language code)

5. Login as admin and go to Configure Site. Change Language to your language.

6. Go to Language card at Admin navigation. It opens admin/lang.php in the browser. Choose a file to edit. Add missing string or modify existing ones. Click on the existing string to edit it. There is no save button at the moment - every changed string is saved automatically on-the-fly by JSON AJAX request.

Getting your Language Pack Upstream

Once you have developed your language pack and are prepared to look after it, you may be eligible to an account on git.mahara.org, and a git repository for your language.

Git is a distributed revision control system, which does mean you can publish your language pack yourself. The advantage of pushing to git.mahara.org is that eventually scripts will be able to build tarballs of your langauge pack every time a release is made, and automatically place them on the site for download.

Giving you access to the git repository indicates that your language pack is stable, trusted by the Mahara developers and well maintained. As such, access will not be given out lightly. Getting in contact with us early about your plans will help your chances!

Once you have access, En/Developers/Language Pack Development/Policy documents how things work.