How to Overcome the Challenges of String Translation
When generating messages for software users, the general practice is to assemble them at runtime from a library of sub-strings. These truncated strings are nearly impossible to translate with any degree of accuracy. The translated version of the software cannot combine these strings grammatically at runtime. A translation vendor will ask your programmer instead to rewrite these strings into messages which make sense independently.
Beware of Gender
Here is a recent example from the coal face: We were localising a DLL file for a large electronic document management software. Since the organisations the software was aimed at tend to use their own vocabulary for everything that is related to electronic documents, the developers thought it was a good idea to implement a naming feature, which would allow users to rename about every noun used in the interface.
This seemed like a great idea, since these developers neglected that most languages, unlike English, have genders and other infections for nouns and adverbs. In English, these adverbs do not have an inflection depending on the “gender” of a noun. For example, in English, whatever you are talking about, the word “new” is the same.
For example, in Dutch, “a new archive” is “een nieuw archief” while a new record is “een nieuwe record”. In Dutch, the words for archive and record have different genders, meaning that the preceding adverb is inflected.
The entire program was filled with strings along the lines of “new%s”, on the assumption that “new” could be replaced easily, no matter what word “%s” represented.
All strings using this method had to be rewritten. Imagine the cost!
Differing keyboards
Keyboards in other countries also differ from the US or English keyboard. Avoid using punctuation character keys as shortcut keys, because they are not always found on other-language keyboards.
Some commands in an application have keyboard shortcuts or “accelerators”. For example, the standard accelerator for the Copy and Paste commands in MS Windows are Ctrl C and Ctrl V respectively. Other accelerators can be F5, Alt F8, or Ctrl P. Quite often accelerator mnemonics are chosen according to corresponding menu commands, for example, Crtl S for Save, Ctrl P for Print, etc. In languages other than English they may be changed to keep them mnemonic, for example, from Ctrl P to Strg D (in German). But the decision should be made in each case individually.
These keyboard shortcuts are in many cases assigned on a mnemonic basis – Ctrl P for Print, notably. However, this is different in other languiages – in German, for example, the shortcut for print is Strg D.
If a menu lists shortcuts, then this menu command should have corresponding text which also will need to be translated. For instance, Copy: Ctrl C. If any changes are made in the shortcut table, these should also be reflected in the menu definitions.
Filed under: Software