Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

A major aspect of creating an international user interface involves translating the text used in title bars, menus, other controls, messages, and registry entries. To make this process easier, store interface text as resources in your application's resource file, rather than including it in the source code of the application. In addition, translate any menu commands that your application stores for its file types in the system registry.

When translating text, remember that each language has its own syntax and grammar. The following are some general guidelines to keep in mind when translating text:

  • Avoid using vague words that can have several meanings in different contexts.

  • Avoid colloquialisms, jargon, acronyms, and abbreviations.

  • Use good grammar. Translation is a difficult task even when a translator does not have to deal with poor grammar.

  • Avoid dynamic, or run-time, concatenation of different strings to form new strings — for example, composing messages by combining frequently used strings. An exception is the construction of file names and names of paths.

  • Avoid hard-coding file names in a binary file. File names may need to be translated.

  • Avoid including text in images and icons. Doing so requires that these also be translated.

Translation of interface text often increases the length of text by 30 percent or more. In some extreme cases, the character count can increase by more than 100 percent; for example, the English word "move" becomes "verschieben" in German. Accordingly, if the amount of space for displaying text is strictly limited, as in a status bar, restrict the length of the interface text to approximately one-half of the available space. In contexts that allow more flexibility, such as dialog boxes and property sheets, allow 30 percent for text expansion in the interface design. Text in message boxes, however, should allow for text expansion of about 100 percent. Avoid having your software rely on the position of text in a control or window because translation may require movement of the text.

Expansion due to translation affects other aspects of your product. A localized version is likely to affect file sizes, which potentially can change the layout of your installation disks and setup software.

Additionally, translation is not always a one-to-one correspondence. A single word can have multiple translations in another language. Adjectives and articles sometimes change their spelling according to the gender of the nouns they modify. Therefore, be careful when reusing a string in multiple places. Similarly, several words may have only a single meaning in another language. This is particularly important when creating keywords for the Help index for your software.

In This Section

Adhering to International Conventions

Describes the keyboard, key and character conventions that must be taken into account when creating internationalized software.

Preparing for Cultural Differences

Describes the images and symbol meanings that differ between cultures.

Related Sections

Internationalizing Software

Describes how to use internationalization to present users with a consistent look, feel, and functionality across different language editions of a product.