Changes between Version 2 and Version 3 of BluePrint/Internationalisation
- Timestamp:
- 02/03/09 18:33:55 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BluePrint/Internationalisation
v2 v3 1 1 = Internationalisation = 2 2 3 Sahanapy should preferably use the combination of GNU/gettext + Pootle/translate toolkit + Babel for internationalization purposes: 3 == Web2py == 4 * T() function performs dictionary lookups (similar to GNU/gettext _()) 5 * the dictionaries are located in the languages subfolder 6 * dictionaries can be translated using the web2py web interface 4 7 5 * [http://www.gnu.org/software/gettext GNU Gettext] 6 * [http://translate.sourceforge.net/wiki/start Translate Toolkit & Pootle] 7 * [http://babel.edgewall.org Babel] 8 == Pootle/translate toolkit and web2py dictionaries == 9 * requires transformation python dictionaries <-> PO files (scripts?) 8 10 9 Justification: 10 * PO-based translation (GNU/gettext) works with both Sahana-PHP and Sahana-Python (one translation project applicable for both code bases) 11 * there is already a Pootle engine successfully run and well known by the Sahana community 12 * Babel tools support advanced message extraction methods (e.g. even from HTML templates) 13 * Babel library also supports localized date and number formatting which is very useful for the Sahana type of application 14 * Babel also integrates well with Trac 15 * Babel comes under BSD-like license, which is compatible to LGPL3. 16 17 Disadvantages: 18 * GNU/gettext does not support context tagging of message strings, so non-ambiguous terminology is a requirement 19 * Offline RAD would require extra software (all except Pootle, which can be replaced by any text editor) + perhaps extract/build scripts 20 21 Other options: 11 == Other options == 12 * [http://babel.edgewall.org Babel] - good toolkit to combine with GNU/gettext 22 13 * [https://help.launchpad.net/Translations LaunchPad Translations] - access to Ubuntu community 23 14 * [https://mdp.cti.depaul.edu/demo_admin/default/design/demo_app#languages Web2Py] - has it's own interface which is great for offline field RAD 15 24 16 * [http://code.google.com/apis/ajaxlanguage GoogleTranslate] can be used to help translators get started, but needs humans to make cultural and linguistic refinements 25 17