= Internationalisation = Sahanapy should preferably use the combination of GNU/gettext + Pootle/translate toolkit + Babel for internationalization purposes: * [http://www.gnu.org/software/gettext GNU Gettext] * [http://translate.sourceforge.net/wiki/start Translate Toolkit & Pootle] * [http://babel.edgewall.org Babel] Justification: * PO-based translation (GNU/gettext) works with both Sahana-PHP and Sahana-Python (one translation project applicable for both code bases) * there is already a Pootle engine successfully run and well known by the Sahana community * Babel tools support advanced message extraction methods (e.g. even from HTML templates) * Babel library also supports localized date and number formatting which is very useful for the Sahana type of application * Babel also integrates well with Trac * Babel comes under BSD-like license, which is compatible to LGPL3. Disadvantages: * GNU/gettext does not support context tagging of message strings, so non-ambiguous terminology is a requirement * Offline RAD would require extra software (all except Pootle, which can be replaced by any text editor) + perhaps extract/build scripts Other options: * [https://help.launchpad.net/Translations LaunchPad Translations] - access to Ubuntu community * [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 * [http://code.google.com/apis/ajaxlanguage GoogleTranslate] can be used to help translators get started, but needs humans to make cultural and linguistic refinements ---- BluePrints