[ Previous | Next | Contents | Glossary | Home | Search ]
Motif and CDE 2.1 Style Guide

General Guidelines for International Design

The following sections discuss using general Motif guidelines in an international environment.


The guidelines stated for capitalization in this manual are for the English language developer. When an application is developed in another language or translated to another language, the rules of that language must be followed. For example, in the German language all nouns are capitalized, no matter what their position in a phrase or sentence.

Column Headings

The space for a translated column head may need to be increased. You can create the additional space by increasing the number of rows in the heading.


The translation of a label may cause a field to be misaligned. Fields must be realigned after translation.

Labels sometimes reflect a localized or culturally sensitive format. Allow the translator to edit the descriptive text.

First-Letter Cursor Navigation

Allow a user to press the unaccented uppercase or lowercase character to access accented first letters when using first-letter cursor navigation.

For a description of first-letter cursor navigation, see "First-Letter Cursor Navigation".

Shortcut Keys

Using Alt (A - Z) for shortcut keys can be awkward on non-United States keyboards since only a left-hand Alt key or a right-hand Alt key may be available for this function.

Sort Function

Each country has a different way of sorting and may have several ways of sorting within the country, such as in a telephone book or a dictionary. The Sort menu may have to allow selection of these criteria based on the requirements of the country or application. In addition, when lists are ordered alphabetically, as in spin boxes, the list must be reordered after translation.

Graphical Symbols

You may not always be able to design a graphical symbol (like an icon or a pointer) that adequately represents the same object or function in different countries. Cultural differences impact even seemingly universal symbols. For example, sending and receiving electronic mail is a common function, but representing that function with a picture of a mail box may be inappropriate because the appearance of mail boxes varies among countries.

Advantages of Graphical Symbols

When used correctly, graphical symbols offer the following advantages:

  1. They are language independent and do not need to be translated.

  2. They can replace computer terms that have no national-language equivalent.

  3. They may have more impact when used with warning text than ordinary text.

  4. Guidelines for Using Graphical Symbols

    Use the following guidelines when designing icons, symbols, or pointer shapes:

    1. Use an already existing international icon, if possible.

    2. Avoid using human body parts.

    3. If you include alphabetic characters, use uppercase letters.

    4. Avoid symbolically written material oriented for left-to-right text.

    5. Avoid using stars and crosses.

    6. Do not use humor or regional metaphors.

    7. Make your icons, symbols, and pointer shapes represent basic, concrete concepts. The less abstract the icon, the less explanatory documentation is needed.

    8. Check your icons and symbols for conflicts with existing icons or symbols for that function.

    9. Do not incorporate text in icons because the text will need to be translated. Translated text often expands and might no longer fit the icon.

    10. Test and retest your symbols and icons in context with real users.

    11. Country-Specific Data Formats

      Different countries require data to be represented in different ways. Besides the language differences, other data (such as currency) varies from country to country. The following list describes these data formats and includes an example of each:

      1. Thousands separators

        The comma, period, space, and apostrophe are examples of valid separators for units of thousands.

        1 234 567

      2. Decimal separators

        The comma, period, and center dot are examples of valid separators for decimal fractions.


      3. Grouping separators

        Grouping may not be restricted to thousands separators.


      4. Positive and negative values

        The symbols + (plus) and - (minus) can appear before or after the number. You can enclose negative numbers in parentheses in certain applications, such as spreadsheets.


      5. Currency

        The comma, period, and colon are examples of valid separators for currency. There can be one or no space between the currency symbol and the amount.

        Kr. 3,50
        FIM 3:50 
        350 Pts 

      6. Date format

        Most countries use the Gregorian calendar but the dates may be formatted differently. Separators might be different or might not be used. The hyphen, comma, period, space, and slash are all valid separators for the day, month, and year. In numeric date formats, the month and day fields might be reversed and, in some cases, the year field might come first.

        4/8/96 or 8/4/96 for August 4, 1996
        961029 or 962910 for October 29, 1996 

      7. Time format

        The colon, period, and space are valid separators for hours, minutes, and seconds. You can sometimes use the letter h to separate hours and minutes. Also, you may use either 12- or 24-hour notation. For 12-hour notation, a.m. or p.m. might appear after the time, separated by a space. You can also indicate the time zone for a given time.

        01 07
        1.07 p.m
        13:07:31.30 IST (Indian Standard Time) 

      8. Telephone numbers

        Telephone numbers can contain blanks, commas, hyphens, periods, and brackets as valid separators. You can display telephone numbers in local, national, and international formats. Local formats vary. National formats might have an area code in parentheses. The international format does not use parentheses, but adds a + (plus) at the beginning of the number to indicate the country code.

        (038) 473589 +44 
        (038) 473589 
        (617) 555-2199 
        1 (617) 555-2199 
        (1) 617 555 2199

      9. Proper names and addresses

        Addresses can vary from two to six lines long and can include any character used in the locale's character set. The post code (zip code) can be in various positions in the address and can include alphabetic characters and separators as well as numbers.

        Herr Dipl. Ing. Schmidt
        Stolbergerstrasse 90
        D-200 Hamburg 55
        Madame Dupont Claudette
        17, Rue Louis Guerin
        F-69626 Lyon-Villuerbanne

      10. Internationalized Text Input

        In some languages, users cannot type characters from the keyboard into a text control. Instead, the user must apply multiple key combinations to form the symbols that appear in the text-entry field. For these languages, you must provide a preedit area. The text is typed into the preedit area until the user indicates the text is complete; the text is then converted and sent to the text control.

        You must address the following issues when providing a preedit area:

        1. Locating the preedit area

        2. Displaying the status

        3. Converting the preedit characters to final characters

        4. Locating the Preedit Area

          The location of the preedit area depends on a variety of software considerations. Ideally, preedit should occur in place in the text control being edited. The following list describes three preedit locating methods:

          The input from the preedit area goes to the text control. This method is preferred because it is more direct for the user; however, the on-the-spot input method can be difficult to implement.

          The preedit spot is above, but separate from, the text control.

          A single preedit area is used for multiple text controls. The input from the preedit area goes to the text control that currently has the focus.

          Displaying the Status

          With the on-the-spot method, the text control may contain both unconverted and final characters. You should show the portions of the text that have been converted by using a visual cue, such as a different font, color, or highlight.

          Converting Preedit Characters to Final Characters

          When the preedit text is converted into the final characters, there might not be enough information to unambiguously convert the text. If there is not enough information, the conversion either:

          1. Prompts for more preedit text

          2. Presents a list of possible choices

          3. Fails

          4. Multibyte Character Sets

            ASCII and extended ASCII character sets are single-byte character sets (SBCSs). That is, there are no more than 256 unique characters in an SBCS. The English language uses an SBCS. Some languages, like Japanese or Chinese, have a larger set of unique characters that constitute more than what a single byte can represent. These character sets are called multibyte character sets (MBCSs). The following sections address multibyte character set guidelines.


            When a user types a valid mnemonic, the cursor moves to the choice that the mnemonic is assigned to and the choice is automatically activated. This saves keystrokes for choices that are usually activated explicitly.

            All the guidelines for mnemonics in an SBCS language apply to an MBCS language except for how the mnemonics appear. If all the letters in a choice are already assigned, or the choice consists of MBCS characters, you may choose another letter or a keyboard character, such as the comma (,). You should assign the same mnemonic to choices that appear many times throughout an application.

            Applications translated from SBCS languages to MBCS languages can keep the SBCS mnemonics. Place the mnemonics in parentheses following the word.

            Sort Order

            For controls that specify choices be shown in a specific sort order, such as alphabetic order, the sort order may actually depend on the application. For example, in Japanese Kanji it may be better to sort by Japanese phonetic order or some other appropriate order, depending on the information in the field.

            Screen Text

            Well-written screen text makes an application easier for users to understand. It also makes translation easier. Use the following guidelines when writing screen text for translation:

            1. Write brief and simple sentences. They are easier to understand and translate.

            2. Write affirmative sentences. They are easier to understand than negative statements. For example, write "Do you want to continue?" rather than "Don't you want to continue?"

            3. Use active voice. It is easier for both users and translators to understand. For example, use "Press the Help button" rather than "The Help button should be pressed."

            4. Use prepositions to clarify the relationships of nouns. Avoid stringing three or more nouns together.

            5. Use simple vocabulary. Avoid jargon unless it is part of your audience's working vocabulary.

            6. Allow space for translation. Text translated from English is likely to expand thirty to fifty percent or more in some languages.

            7. Software Design

              Designing software in modules makes translation easier. A modular application requires fewer files; therefore, fewer files must be translated. Use the following guidelines when designing software:

              1. Create separate modules for text, code, and input and output components that need to be changed to accommodate different markets. Also, place elements that need to be translated in separate files.

              2. Separate all user interface text from the code that presents it.

              3. Use standard registered data formats, such as ISO and IEEE.

              4. Use standard processing algorithms for all processing, storage, and interchange.

                Use the internationalization tools on your system to create a different set of language-dependent text files for each market you are designing for.

              5. [ Previous | Next | Contents | Glossary | Home | Search ]