A tool for making maps multilingual


Is there a tool that helps in quickly converting hundreds of maps in a particular language to other languages?

Of course translated text will be provided by the user, but creation of maps and changes to the programs to handle these maps should be automatic (language to be chosen based on user ID, database etc).


Well, though I am not totally clear with your requirements, it seems that what you are after is not possible with any such a tool :?:

Can you please detail your requirements?

It will be a manual process, but perhaps much easier than you think.

For each multilanguage map, change the statement




You choose the position of the ampersand - it must be consistent for all maps, so this may be problematic for your naming standard.

At execution time, the ampersand is changed to the user’s language code (refer to system variable *LANGUAGE).

For each map to be translated, STOW the current version with the current language code. MAPNAME becomes MAPNAME1 for English, MAPNAME2 for German, etc. Again, the position of the language code must match. Then save the map again for each language you need. Edit the new maps, changing the captions to the translated text.

See Defining the Language of a Natural Object in the Programming Guide.

Thank You for your replies.

I understand what you are explaining… You have said -

I was wondering if these actions (underlined above) could be automated. I understand that the translation part will be manual. However, apart from that, certain effort will be required to -

identify and correctly replace each text field
save & stow the map
find and stow the associated programs
verify that the changes are correct

If we assume roughly 10 minutes per map per language for an average programmer, total effort for this task for 4 languages in an application with 900 maps could be around 600 person hours. And I was exploring if this effort can be eliminated in some way…

Start by copying the 900 maps to a temporary library.

identify and correctly replace each text field

For strings that are identical across many maps, you can use the SCAN utility to replace them all, but I suspect its a manual process for the bulk of the changes.

save & stow the map

Run a batch job to create the 4 language-specific maps.

READ map1
SA map11
SA map12
SA map13
SA map14
READ map2
SA map21
SA map22
SA map23
SA map24
READ ...

CATALL can STOW the entire library.

find and stow the associated programs

Use SCAN to find all the programs. SCAN allows you to make the manual changes. Or create a utility to scan & replace. There are routines in SYSEXT to read, edit, and save source members.

verify that the changes are correct

A manual process.

Also consider recordings for repetitive manual processes.

We made French and Spanish versions of our English maps, and if there had been some automated tool, we probably would have even more languages.

It was a long, tedious manual process.

About the only thing that might help is if you use common phrases in your text labels on your maps… you could replace those with variables and use an Adabas file to store common translations for business terms. It will take you some extra time to set up, but it will make adding additional languages a little easier as you can utilize Natural’s features and have less to translate.