Skip to main content

Designing a World-Ready Program


Making Life Easier for Translators

Setting up a proper development environment, as just discussed, can go a long way toward ensuring world-readiness. Developers can have a significant impact on the translator's job, a particularly important task since translation is not cheap-most translators charge by the word. Developers can help maximize the accuracy of translation and minimize the amount of support translators need in a number of ways.

First of all, clarify the context of strings that should be translated, preferably by providing comments in resource files or separate text files. Does the English word "integral" refer to the mathematical operator, or is it an adjective meaning "important"? Does a particular string appear on a dialog box, menu, or button, or in a message? If a string should not be translated, try to put it in a separate resource file where the translator won't even see it, or use a standard way of naming identifiers. For example, you could prefix identifiers for debug messages that shouldn't be translated with "IDS_DBG" or with an underline, as in "_IDS."

When composing messages or other translatable strings, watch out for slang, sloppy grammar, and ambiguous words or statements. Translators will have a hard time understanding poorly worded messages, and so will international users. Have a linguist or a professional writer edit messages for clarity before you send them for final translation. This will increase the accuracy of translation as well as improve the quality of your native-language product. If translators know which strings to translate and how to translate them, they will be able to work much faster. Their work will be more difficult if terminology is inconsistent within a single application or among different applications, and if adequate tools for editing and updating resources are not available.

Indeed, there are many localization tools that can expedite translation. Some, for example, allow both you and the translator to create translation glossaries that you can share with other software projects and use for automatically translating resource files. (for translation glossaries, see Microsoft Terminology Translations.) Machine translation software is also becoming commercially available. Automatically translated text still requires editing, but editing often takes less time than translating from scratch.

Giving translators a localization kit will allow them to work more independently because they can compile and check their work as they do it. Passing files back and forth among development, translation, and testing departments is simple when all parties are on the same computer network, but is more difficult when the translators are third-party contractors who work in different countries. Express-mailing DVDs or portable hard drives is one option, as is exchanging files via the Internet.