Sun Java Solaris Communities My SDN Account
 
Architecture, Design and Testing

Sun Software Product Internationalization Taxonomy

 
  « Previous | Contents | Next »
 

4.1.3.2 Graphical User Interface (GUI) Objects


Description

This section describes cultural considerations for laying out GUIs.

Command Line Interface

Not applicable.

Character Interface

Not applicable.

Graphical Interface

When dialog boxes are translated from English into other languages, the length of the components that contain text can increase by more than 30%. The components that are affected by translation include buttons, menus, tables, labels, and text fields. If the window is already wide, expansion can cause it to exceed the width of the screen. The height of textual components can also increase when they are translated into Asian languages, since Asian characters can be unreadable at a Latin height.
In the following example, the components of a dialog box are laid out side-by-side. The dialog box will become much wider after translation.
AdminSuite 3.0 Dialog Box - Courtesy of Karen Stanley
The dialog box is redesigned by stacking the components vertically. Now, there is space to the right of the components for expanded text.
AdminSuite 3.0 Dialog Box - Courtesy of Karen Stanley
Word order changes from one language to another. A GUI that embeds a component in a text string must be laid out again when translated into French. In French, most adjectives come after the noun they describe instead of before it. In the following example, the French translation has an incorrect word order.
Graphic courtesy of the Java Look and Feel Design Guidelines
To anticipate variations in word order, a layout like the following should be used in the original version of the product.
Graphic courtesy of the Java Look and Feel Design Guidelines
Now the word order is correct in both French and English.

Application Protocols

Not applicable.

Storage and Interchange

Not applicable.

Application Programming Interfaces (APIs)

Not applicable.

Requirements for Compliance

Command Line Interface

No requirement.

Character Interface

No requirement.

Graphical Interface

Dialog boxes should be designed to resize gracefully when text expands, so the localized user interface is attractive and readable. GUI objects should be cushioned amidst ample horizontal and vertical space. This way, they can expand into the blank space when translated; hence reducing the possibility of the entire dialog box growing.
If the total length of a row of GUI objects on a dialog box is longer than 60% of the width of the dialog box, or if the total height of a column of GUI objects is taller than 80% of the dialog box, the layout probably needs to change.
When layout managers are available for the platform, providers should use them in laying out dialog boxes. This way, when the components are translated, the whole window can expand automatically if necessary.
Layouts should be tested with a text expansion utility. The utility should test horizontal expansion by appending a certain number of extra characters to textual components. If a resulting expanded text string is too long for the window, the layout needs to be fixed. The utility should also test vertical expansion by increasing the height of all textual components by a specific amount. If the results make the dialog box unreasonably tall, the layout needs to be fixed.
Providers should ensure that the location of GUI objects on a window and the tab traversal order are pluggable. If the application is translated into a language with a right-to-left reading order, the layout of the GUI objects must be reversed. For instance, vertical scrollbars must move to the left side of the window and labels must be placed to the right of their associated GUI objects. On some systems, this happens automatically; this automatic shift should be verified. Also, providers should verify that the tab traversal order makes sense in a right-to-left locale.
If the application is translated for a locale with a right-to-left reading order, its layout should be examined by literally looking at the user interface in the mirror.
GUI objects should not be embedded within a text string, since the order of words can change from one language to another.

Application Protocols

No requirement.

Storage and Interchange

No requirement.

Application Programming Interfaces (APIs)

No requirement.
  « Previous | Contents | Next »
 
Related Links
 

Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.