Views
Contents
Many tools exist that may help make translating strings in Mifos more approachable.
1 Goals
- reports on which strings have not yet been translated into which locales
- allows for a community review process of strings that have been translated
- exports properties files whenever we need them
2 Pootle Launch
We've decided to move forward with Pootle as the online translation tool.
2.1 Pre-Launch Tasks
- Rhino
- clean up bundles in src/org/mifos/config/localizedResources
- convert *_LOCALE.properties to LOCALE/BUNDLENAME_LOCALE.po
- remove *_LOCALE.properties
- enable direct-to-vcs Update and Commit operations
- resolve Issue 2144
2.2 Post-Launch Tasks
- secure use with SSL
- autogenerate pseudolocale translations
- proper DNS record for neem (done)
- test roundtrip of strings from SVN -> Pootle -> SVN (done)
- soft-launch within team, get feedback (maybe another mini-showcase)
- a community showcase (Dimdim meeting or whatever)
- contributor agreement (done)
- script(s) to automate conversion to/from (done, on neem only)
- documentation (done)
- short HOWTO for translators (done)
- how to administer Pootle (done via email)
- how to maintain translations (done in potest on neem)
- how to manage translators (done in potest on neem)
- Rhino
- move locale-specific bundles used only in testing to test/ dir?
- create default strings editable copy ('en' language) (done)
- commit locale_sync.sh, create_props.sh, and update_defaults.sh to trunk
3 Background Research
Notes done during research prior to selecting Pootle for the online translation tool follows.
3.1 Findings
- CAT tools for .po files are abundant and mature, CAT tools for Java .properties files are not
- Translate Toolkit's prop2po only works on UTF8-encoded .properties files, but .properties files must be latin1 encoded. Early experiments of manually reencoding RolesAndPermission_fr.properties as UTF-8 using Vim (:set fileencoding=utf8) successfully produces a file that prop2po can read.
- prop2po actually produces .pot files, not .po files. These are what Pootle needs to get started with new languages.
- The GNU gettext utilities "msgcat" program seems to discard any non-ascii characters (like é). This was found when trying msgcat -P RolesAndPermission_fr.properties
3.2 Off-the-shelf software
Enumerate and evaluate computer-assisted translation tools here.
3.2.1 Pootle
- http://translate.sourceforge.net
- web-based
3.2.1.1 Pros
- TBD
3.2.1.2 Cons
- no direct support for Java .properties files (must use prop2po and po2prop from Translate Toolkit)
3.2.2 JasperBabylon
3.2.2.1 Pros
- works with Java .properties files
3.2.2.2 Cons
- TBD
3.2.5 Open Language Tools
- https://open-language-tools.dev.java.net/
- client-side
3.2.5.1 Pros
- Nice GUI interface for translating
- cross-platform
- FLOSS
3.2.5.2 Cons
- cannot export to Java .properties files
