In this concluding article, read about the specific things to bekept in mind when creating interface text for menus, windows, buttons,fields and application messages, and also find out how to design interfacetext for easy internationalization of your application.
Last, but not least, we come to the part about making your applicationsuitable for international use. Localization of your interface text issomething you need to consider and plan well in advance of deployment. Ifyou decide you want to do this, the process and guidelines to developinterface text gets quite intensive - multiply the usual effort by thenumber of languages you are planning to localize it in!
There are two main considerations to keep in mind when embarking on alocalization project: the technical aspect of developing and translatingthe interface text in the requisite languages, and the actual developmentof the interface text.
While the technical code required to implement internationalization arebeyond the scope of this piece, an important tip is to place the differenttranslations of your interface text in separate language files, one foreach language, instead of hard-coding it directly in your source code.Implementing language switching is then simply a matter of finding thecorrect language file and displaying its contents in the appropriate places.
You will find, though, that the larger consideration lies with thedevelopment of the interface text in a manner that allows the translationto be automatically handled by a resource. The following should be yourprime concerns:
Definite words: While developing the interface text, ensure that you useterms that cannot be interpreted in different senses in other languages.
Consistency: Ensure that your messages are consistent in tone and usageof terms; inconsistencies can be further obscured when translated intodifferent languages.
Formats: Date, time, temperature, currency and numbering conventions varyvastly from country to country; these will have to be accounted for.
This is by no means a comprehensive list, and even for the items listedabove, the nuances are too large to be covered within this piece. The basicaim should always be to develop a database of clear and consistent text,with minimal jargon, local language flavor (exclamations or phrases) andambiguities.
Also, besides the interface text itself, the interface must be designed ina manner to accommodate differences in label or message widths due to thechange in language; most of the time, text written in English will expandwhen converted to other languages. Application text areas will have to bedesigned to accommodate that.
And that's about it for the moment. I hope you found this article enjoyableand useful, and that it offered some tips for the next time you need tocreate text for your application interface. Happy writing!
Note: Examples are illustrative only, and are not meant for a productionenvironment. Melonfire provides no warranties or support for the sourcecode described in this article. YMMV!