Language packs are not just text files. They are actually pieces of code that contain the strings for the language they translate.
That means that even small errors in a language pack file could render a Mahara install partially unusable. In the worst case they could render it completely unusable. Depending on the kind of error, they could even create security problems.
That's why Mahara developers have put a tool in place (https://translations.launchpad.net/mahara-lang) to check language packs for a range of common errors, notify about them and prevent downloading of broken packs. The language packs from that page are processed and verified and made available for download from http://langpacks.mahara.org
Proposed Language Release Policy
If you are translating a language pack and don't use Launchpad, put a big warning telling people that's only work in progress for translators, not for final users, and that they shouldn't use it.
Also, try to always use the official download page and discourage alternative download sites. This way Mahara developers can run the checks on your language pack and users will always download a working copy of it (with most blatant security holes plugged).
Rationale: When people start translating new languages, they sometimes don't use Launchpad, because they are probably not familiar with Launchpad and its associated tools. So they set up a shared space (a view in http://mahara.org/, a dropbox account, etc.) and they use it to do the initial translation work (e.g., this is how the Spanish translation for Mahara 1.3 was done).
It's only after they have something more or less complete that they get in contact with Mahara core developers to ask for a place in the official language repository.
In the first phase (shared place outside the official language repository) no quality control is done (in the sense of errors that may break Mahara). So that's why we propose that translators clearly tell other people they shouldn't use that 'work-in-progress' version from the shared space. Unless they are going to collaborate on translation, of course.
The rest of the people should wait until that work-in-progress version is put into the official language repository, where those additional checks are run. That way they would use a non-broken version of the language pack.
Please see " How to start a translation" for more information on getting started.
- All files must be in the UTF-8 encoding without BOM (byte-order mark)
- All files must be valid PHP files (i.e. no syntax errors). Run "php -l myfile.php" to check.