Internationalization
Internationalization refers to the translation of all text items on the screen to other languages. Different alphabets can take up more or less room on the screen, so UI designs must be tested to make sure that the content and meaning are not lost.
Text
Every written language has its own set of characters known as glyphs. For each language that a UI can display, the typography layout should adapt as languages vary in average word length and height. To determine which font family to use for each language, refer to the typography section.
Avaya currently supports 10 languages: English, French, Spanish, German, Italian, Russian, Portuguese, Simplified Chinese, Japanese, and Korean. Additional languages can be added via a request for each project region.
Word Length
Average word lengths vary between languages, even those that use similar glyphs (e.g. English and German). In the UI, ensure there is enough space to fit longer translations, otherwise text may overlap or be cut off. Generally, shorter text fields are more likely to be expanded in other languages. Below is a table from IBM’s Globalization Guidelines that provides an idea about how much space could be provided.
Characters (In English) | Average Expansion | Can Apply To |
---|---|---|
<= 10 | 200 - 300% | Buttons, menus and tabs |
11 - 20 | 180 - 200% | Labels, form fields, chips and tables |
21 - 30 | 160 - 180% | Longer headers |
31 - 50 | 140 - 160% | Short headers, tooltips and notifications |
51 - 70 | 151 - 170% | Short paragraphs |
> 70 | 130% | Longer paragraphs |
Small header
Average text expansion of 140-160%.
Button
Average text expansion of 200 - 300%.
Height
Many non-Latin writing systems have taller characters, and often require more vertical space between lines. The user interface should provide enough vertical space to accommodate them.
Alignment
Some writing systems (such as Arabic, Hebrew, Persian and Urdu) are displayed with characters that go from right-to-left. Alignments for these systems must be adjusted accordingly. Visit the bidirectionality section to learn more.
Content
When translating content into other languages, there are a number of items that should be taken into consideration.
Formatting Fields
The formatting of date, time and numbers can vary significantly from region-to-region. For native applications, use the system defaults and preferences so the correct localized content is applied for each language and region. For web applications, leverage existing APIs or follow W3C guidelines.
Field Type | Principles/Examples |
---|---|
Date - Short | The order of day number, month and year can appear as MM/DD/YY, DD/MM/YY, or YY/MM/DD. |
Date - Long | The order of day number, month and year can vary. Some examples:
|
Time | The order and presentation of hours, minutes and seconds varies in the following ways:
|
Phone Numbers | The presentation of phone numbers varies in the following ways:
|
Currency | Currency formatting varies in the following ways:
|
Numbers | The presentation of numbers varies in the following ways:
|
Keyboard Shortcuts
Many languages have their own keyboard layouts for their most common characters. Some languages can have several layouts. Any shortcuts you create must consider how these actions can be triggered in each language.
Differentiate between Modifier Keys
Most languages use a modifier key such as AltGr (known as the right Alt/option key on a U.S. English keyboard) to enter additional letters, diacritics or symbols. To avoid clashing with shortcuts that use Alt, make sure the application differentiates between these 2 keys. On the web, this can be achieved by checking the .key attribute instead of .keycode.
Allow for Personalization
Providing users with a mechanism to override embedded shortcuts with their own is a great way to alleviate conflicts between languages and allows users to select the configuration that is most comfortable for them. Where possible, allow users to define their own shortcuts within an application.
Bidirectionality
Some writing systems (such as Arabic, Hebrew, Persian and Urdu) are displayed with characters that flow from right-to-left (RTL). In these cases, the user interface should be mirrored to reflect the RTL reading pattern.
Mirroring Layout
The display of right-to-left language content can affect the layout, text and images. Content that is mirrored includes:
Text
For languages that read RTL, right-align the text within each component.
Icon Placement
Order of icons should match the way content is read (RTL).
Directional Flow
Any sequence of events should be shown RTL.
Images & Icons
Icons should match the direction that content is read (RTL).
Navigation
Buttons and tabs should be shown in reverse order to match RTL reading pattern.
Gestures
Interactions that contain forward or backward motion should be mirrored in RTL languages.
Symbols
Question marks are shown flipped for most RTL languages (with the exception of Hebrew).
When Not to Mirror
In some situations, content should not be mirrored. These include:
Numbers
For example clocks and phone numbers.
Untranslated Text
This is true even if it is part of a phrase that is in an RTL language.
Icons that do not convey direction
Icons that do not show direction or flow should not be flipped.
Passage of Time
This includes components such as media players.