Localization of Initial Setup and Update Wizards

The outcome of this project was merged with the main codebase. It can be used starting in OpenMRS 1.9.0

Primary mentor

Wyclif Luyima

Backup mentor

Nyoman Ribeka

Assigned to

Taras Chorny


In OpenMRS just like any other legacy system, the text displayed to the user can be in varying languages as specified by the user but currently all the text on the pages that are rendered when installing the OpenMRS web application or running the database updater isn't translated to the supported languages except english. If the application is to be installed well, the user should be able to provide the right responses to all the prompts of the installation wizard and this can prove to be a problem if they can't understand well what the prompts are asking for. Therefore, this project is aimed at addressing the possible language barrier.


The purpose is to integrate an internationalization tool that can be used to localize all velocity templates in OpenMRS and allow a user to run the installation and database update wizards in their selected language.

Domain Expert(s) / User(s)

OpenMRS Core Developers

Required Skills

  •  Knowledge of the Java programming language

Desired Skills

  • Apache Velocity
  • Java Servlets


  • Integrate an internalization tool for velocity templates
  • The user should be able to select a language as the first step of the setup wizard.
  • The text on the pages rendered when the setup and update wizards are running should be displayed in the user's selected language.
  • The languages that the user can select from should be the ones that are added to the web application's message resource files.
  • The user should be able to move back and forth through the wizard's pages even when the text displayed is in a language they don't understand so well or if they selected a wrong language by mistake (You can employ the use of arrows instead of buttons with text)
  • The selected language should be persisted by the web application so that the user isn't required to set it again when the application is started.

Extra Credit

  • Translate some of the text for the supported languages you may happen to know how to read and write