Background
Changing an application for use in another country or culture is often thought of as merely translating the language that appears in the user interface. There are many other aspects, however, that you should consider when developing a global application.
• How will you identify the preferred language and geographic location of the user-
You may want to design into the application (or underlying product architecture) the ability to determine the locale and present the appropriate version from a collection of different localized versions.
• What data used within your application is sensitive to locale-
Consider the use of decimals within numbers, currency symbols, date formats, address styles, and system of measurement.
• How should data be formatted-
Consider the order in which text and numbers are read by different audiences. Languages that display numbers from left to right and text from right to left affect the layout of menu bars and text entry fields. The grammar of a language may dictate different placement of variables in error messages.
• Collation of sortable lists
Consider how different alphabets affect the collation sequence and how collation of typical list elements is done in the locales of potential users of your application.
• Non-Roman alphabets
Your application must be able to accommodate different fonts and different sizes of fonts. This again can affect the layout of menu bars and text entry fields.
• What are the cultural sensitivities toward graphics and use of color-
When designing icons or other graphics, and deciding on background and other colors, consider whether they may be objectionable in another culture
Both client and server developers need to be aware of these factors. You must be able to localize not only the GUI, but also feedback messages and exceptions that might be displayed to the user.