Actions

Difference between revisions of "Language Packs/Language Pack Release Policy"

From Mahara Wiki

< Language Packs
(Created page with "<div id="section_1"> ==Background== Language packs are not just text files. They are actually pieces of code that contain the strings for the language they translate. That mea…")
 
(warning, out of date)
Line 1: Line 1:
<div id="section_1">
+
'''WARNING: this page is out-of-date since the new preferred way of translating Mahara is through [https://translations.launchpad.net/mahara PO files].'''
  
 
==Background==
 
==Background==
Line 8: Line 8:
  
 
That's why Mahara developers have put a tool in place (http://langpacks.dev.mahara.org/) to check language packs for a range of common errors, notify about them and prevent downloading of broken packs. Because of this, that page is also the preferred download site for language packs (in fact, the download links in the [[Language Packs|Language Packs page]] point there).
 
That's why Mahara developers have put a tool in place (http://langpacks.dev.mahara.org/) to check language packs for a range of common errors, notify about them and prevent downloading of broken packs. Because of this, that page is also the preferred download site for language packs (in fact, the download links in the [[Language Packs|Language Packs page]] point there).
 
</div><div id="section_2">
 
  
 
==Proposed Language Release Policy==
 
==Proposed Language Release Policy==
Line 24: Line 22:
  
 
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 lanaguage pack.
 
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 lanaguage pack.
 
</div><div id="section_3">
 
  
 
==Technical Details==
 
==Technical Details==
Line 31: Line 27:
 
* All files must be in the UTF-8 encoding without BOM (byte-order mark)
 
* 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.
 
* All files must be valid PHP files (i.e. no syntax errors). Run "php -l myfile.php" to check.
 
</div>
 

Revision as of 13:46, 30 November 2011

WARNING: this page is out-of-date since the new preferred way of translating Mahara is through PO files.

Background

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 files 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 (http://langpacks.dev.mahara.org/) to check language packs for a range of common errors, notify about them and prevent downloading of broken packs. Because of this, that page is also the preferred download site for language packs (in fact, the download links in the Language Packs page point there).

Proposed Language Release Policy

If you are translating a language pack, 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, even if you don't use gitorious.org to maintain your language pack. 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 pluged).

Rationale: When people start translating new languages, they sometimes don't use git (either at gitorious.org or other places), because they are probably not developers and they don't master the tool. So they setup 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)

I'ts 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 (or to put the new version in gitorious.org, etc.).

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 lanaguage pack.

Technical Details

  • 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.