Have you implemented OpenMRS? Please participate in the Implementation Site Survey. If you already have, thank you!
Child pages
  • Translating the Reference Application

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

The modules that make up the Reference Application are (mostly) translated via the online tool Transifex. It lives here:


If you would like to help translate, you need to create a (free) account on transifex and join the OpenMRS team on Transifex. (If you have trouble doing this, please ask for help on the dev:translation category of OpenMRS Talk.)

If you find a Reference Application module that is not included in the Transifex project, please ask on OpenMRS Talk to have it added. 

The translations that you make on Transifex need to be reviewed by an reviewer, and then manually pulled into modules by a developer, so after you have reached a good stopping point with a module's translations, you may want to notify its owner, and ask them to pull them in.

You can be a reviewer!

For this you should meet certain requirements:

  1. be a native speaker or interpreter of the language
  2. (one of the following)
    • be a known OpenMRS community member (/dev/2 or above, or another Talk badge that shows you have been around)
    • have some Transifex recommendations
    • submitted 100 new / improved and appropriate translations

If you are interested in the work of a reviewer, but do not meet all conditions or if you can speak an uncommon language, ask if you still qualify on the dev:translation category.

Be a Translation Manager

There are some tasks that you can do as a Translation Manager, without needing to be multilingual yourself:

  • Make sure all new translations are reviewed in a reasonable amount of time
    • Even better, help set up automated alerts for this
  • Make sure that all languages that have translations are available in modules
    • Even better, help set up automated alerts for this (i.e. a module's config.xml or .tx/config doesn't mention a language for which it has a translation)
  • Make sure that any reported "translation issues" in Transifex are being addressed
    • Even better, help us set up automated alerts for this
  • Find commonly-used modules we aren't translating yet, and encourage module authors to get these into Transifex.
  • Help recruit translators and (especially!) reviewers
  • Help us craft a strategy for uncommon languages (i.e. what to do where it's too hard to find reviewers)
    • (Maybe allow unreviewed translations of certain languages. Or maybe decide that if a language is that uncommon in the OpenMRS community, we shouldn't be including it.)

Thanks to Ismael Batista for volunteering in this role! (We can always use more help, though.)

Translation Notes & Gotchas

  • Any messages that contain arguments (i.e., {0}, etc) must have any single quotes (') replaced with two single quotes (' '). Spring's ResourceBundleMessageSource uses MessageFormat for replacing placeholders ({0}) inside messages. MessageFormat requires that single quotes (') are escaped using two single quotes ('') (see: MessageFormat Javadoc).

Developer Details

For more details about how a developer would configure a module to use Transifex, see Maintaining OpenMRS Module Translations via Transifex.