There are functional differences in languages, not only in writing systems. This must be kept in mind when developing software that has anything to do with text elements on the UI. S60 has been localized into over 40 languages. In practice, this means that no design and implementation can be based solely on the English language. To allow for variation and localization into other languages, at least the points listed in the table below should be considered:
|
Features of languages or writing systems |
Impact on implementation |
|---|---|
|
Word order
|
|
|
Singular vs. plural vs. dual forms
|
Allow room for text expansion in the layout design and in TBuf. Some languages need more space to indicate plurality and/or duality in order to convey the needed information. |
|
Gender
|
Do not reuse text strings. The same term may not work in different context due to the gender of the base word. |
|
Compound words
|
Allow for text expansion. The compound words tend to make terms longer than in English. |
|
Casing (uppercase and lowercase letters)
|
Do not use casing to indicate functionality or emphasis. Do not assume each writing system has got uppercase and lowercase letters. |
|
Word boundaries
|
|
|
Different conventions for emphasizing words
|
Do not assume that a certain type face is always available. Not all writing systems use italic, bold, or underline type faces to indicate emphasis or importance. |
|
Abbreviations
|
Do not assume that all supported S60 languages can be abbreviated if the layout is not wide enough. Sometimes this is impossible. |
|
Length of words
|
Do not assume that the layout is OK if a short English word fits in. |
|
Direction of text flow
|
|
|
Writing systems |
|
|
Character sets and character repertoire |
Do not assume a certain character is always available. |
|
Multiple scripts within one writing system for one language |
Do not assume that a language would use only one script in writing. |
|
Ligature |
|
|
Digits |
Allow also for other than European digits (1,2,3, ...). Use the digit settings in the TLocale class. |