Home > Developers > Wiki > Improve translatability
Views

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

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.3   Transifex

3.2.3.1   Pros
  • TBD
3.2.3.2   Cons

3.2.4   Rosetta (hosted by launchpad)

3.2.4.1   Pros
  • TBD

3.2.5   Open Language Tools

3.2.5.1   Pros
  • Nice GUI interface for translating
  • cross-platform
  • FLOSS
3.2.5.2   Cons
  • cannot export to Java .properties files

3.2.6   Okapi Framework

3.2.6.1   Pros
  • TBD
3.2.6.2   Cons
  • TBD


Grameen logo