I cannot write rules to standardize all XOOPS coding system. It needs an expert developer.
You don't need to be developer to set them for the language part, the other point is who will follow them and how :)
Monitoring is another missing point here.
Adopting Gettext will be mistake, specially for non-native English speaking developers, they need to edit both files when a bug in language is discovered - once in the code next in the POT.
INI - just find the way which will be best, 1.5 clean or 2.5 messy.
Clean example why POT should be avoided, PHP DEFINE too
(No one except me understand Bulgarian, but u will see on the following examples, what's translated and what's not)http://drupalcamp.bg/
- something like promotional site for Drupal in Bulgaria, acting as anti-advertise, the whole core is untranslated, only content is in Bulgarian, thanks, but no thanks of such advertising.
Drupal never will be translated to anything different then English, bcz of two points:
1. English - Drupal English is most awful language I've ever seen.
2. GNU GETTEXT
The only good point with Drupal, is that have unbeatable CCK
------- That's all for Gettext -----------------
Solved and unsolved bugs on Infidex with both versions of INI structure.
------------ Presuming XOOPS 2.6 uses INI (no matter which version) -----
1. Content of the language file must not be over 150KB, otherwise some ppl like Cesag will give up of waiting for every auto-save on TX.
2. There should be not any empty strings such as
COM_SOMETHING="" or COM_SOMETHING=
3. Filenames must not be longer then 50 characters including .ini extension.
example for bad naming - en-GB.plg_cck_field_validation_letter_number_only.sys.ini
4. There is no way of maintaining
English or French only translations, translations must be based on en-US or en-GB and translated to fr-FR or fr-CA and en-AU or else. For arabians there is ar-AA already if they're country is not mentioned in particular. Farsi is another point.
4.1. Double resources are not allowed, this means:
If there is French (French) translation, there can't be French translation.
4.2. Source language can't be English (should be en-GB, or en-US)
5. There can be plural forms in INI files and this feature must be used
6. If is used INI structure similar to those in 2.5 of Joomla, developers should be aware of adding URLS into language files
Double quotes in the value should be written as "_QQ_" or as "
NEVER use an escaped quote " as these will break in php 5.2.x
7. Local.php should be evolved into another file
To allow setting proper calendar function for Farsi (it's not only Iranians who uses different calendar)
May The Source Be With You!