Don't be effrayé. Making your software multilingual is easier than you think.
By Tom Wallin
Have you avoided making your software multilingual because you don't have the budget or people power? Does the task seem too daunting?
There is more to it than changing your screens to message IDs. What about your RPG and CL programs? Internal printer files? Compile-time arrays? Constants defined in programs? CL messages? Alternating tables?
All of these things need to be changed to make your software truly multilingual.
Making your software multilingual gives your company a competitive edge when expanding your products into other countries. Some foreign companies require that your software already be in their native language to even consider buying it.
You can also make training in a multilingual world easier by providing screens and reports that are displayed in the users' own language.
Oasis Software International's NLS product does this for you so that you don't need to learn special skills. Your entire application could be language-neutral in just a few hours.
Most developers know that you can change constants in DDS to message IDs and store the display or printer text in message files. They may have even written a utility to do it automatically. But there is more to it than just changing the constants in DDS.
There are things to consider when changing constants to message IDs. For example, F3=Exit is F3=Sortie in French. You must make enough room for the entire word, if possible. You don't want your screen to say F3=Sort.
NLS not only converts your DDS screens and printer files, it also converts your RPG, RPGLE, and CL programs to be language-neutral using message files.
Developers do not need to do anything differently when creating screens and programs. The conversion is done at the end the development, and the original code is never touched. You just recompile your new source to a new library and add that library above your current object library.
To change to a new language, just add a library with that language message file to the top of your library list. The screens and programs will now be in that language.
There is no programming required.
What if I Want to Change the Language While I'm in the Application?
It's easy to add code to your existing programs to switch languages when running an application.
Simply close the display file, issue an Override Message File (OVRMSGF) command to your other language message file, and reopen the display file.
Everything Is Language-Neutral. Now What?
Now you have to translate the text from your application to other languages. One way to do that is with the NLS command WRKNLSMSG.
As shown in Figure 1, this NLS command allows you to display multiple message files at the same time. You can see what has been translated, change the translation of any text, or look for new messages that need to be translated.
Figure 1: Display multiple message files at the same time. (Click images to enlarge.)
You can search and replace text within the languages. For example, you could replace all instances of "exit" with "sortie."
You can also enter a program name and translate your most critical applications first.
But What if I Can't Write in Other Languages?
Many companies don't have people to translate the screens by themselves. However, there are many translation companies that will do this for you (for example, LionBridge and Systran).
NLS provides a command to export the contents of a message file to a database file.
Send this file to a translation service and have them return the file with the original and translated text. From that translated file, you can import the text into your language library.
Be sure when working with a translation company that they have a basic understanding of your business. In one case, a company converted everything to French and later realized the translation company had change "Order" to "Commande" instead of "Ordre." Be careful of those double-meaning words.
Displaying Dates
You may have to change the way you display and edit dates for other languages. In many countries, they want to see October 10, 2008, as 27/10/08 not 10/27/08.
You can use *JOBRUN when testing and moving dates to match the current job's date format.
Figure 2: Change the way you display and edit dates for other languages.
Now that you know how easy it is to make your software multilingual, veille de la toussaint heureuse (happy Halloween).
LATEST COMMENTS
MC Press Online