Page tree
Skip to end of metadata
Go to start of metadata

These files are used by Spring to internationalize all strings in your module.  It is highly recommended you use these.

The files should be in /omod/src/main/resources.

You need to list your messages.properties file in your config.xml file in "messages" elements. 

Prefixing with your module's id

Typically they keys you define in a module's messages.properties file should start with your module's id, and any keys that do not start with your module's id will have it prepended.

For example:

title = My Module  # will be converted to mymodule.title = My Module

Starting in OpenMRS 1.9.3 you are allowed to override this behavior, and let your module define message keys outside of its namespace. To do this, you need to include a special entry in the properties file like:

openmrs.property.ALLOW_KEYS_OUTSIDE_OF_MODULE_NAMESPACE = true

mymodule.title = My Module's Title  # explicitly inside mymodule namespace
othermodule.othercode = Some Other Value  # defines a code in another module's namespace

Example

The main english file should be named messages.properties.  Each other language will be messages_fr.properties (for French)

Example:

messages.properties:

mymodule.doSomething=You should do something here
mymodule.somethingElse=Something else happens when you use this.

messages_fr.properties:

mymodule.doSomething=Vous devriez faire quelque chose ici
mymodule.somethingElse=Quelque chose d'autre qui se passe quand vous l'utilisez.

Now in your jsp files you can use <spring:message code="mymodule.doSomething"/> and it will be translated when the user chooses to use the French locale.

What if I don't know another language?

Most developers only know a single language.  It is acceptable to only fill out the english messages.properties file and wait for another language speaker to help you out.

  • No labels