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.