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.
|
|