Developing for Internationalization
I have mentioned internationalization briefly in previous posts, but have learned more about the different aspects to it in the last few weeks. In software engineering, internationalization involves designing software in such a manner that it can be easily localizable to work in different cultural and language environments. Localization is the process of actually translating the messages, labels, and other interface elements of an application into another language/format.
So how then do we develop localizable software? In the Article Internationalizing GNOME Applications, internationalization is defined as the phase in an application’s development where the developers incorporate the pieces needed to assist the translators and to subsequently display any message using the translated version for the appropriate locale.
Through our developers’ surveys, we seek to understand current processes used in software development to achieve internationalization, and will then develop guidelines based on lessons we’ll learn from the developers who do focus on internationalization in their software design.
An interesting aspect that we seek to understand from developers is: what is the focus of internationalization? Is language the only aspect of a tool that needs to be changed to make the tool more appropriate to the target audience? How(if at all) do developers prepare software to be transformed to accommodate culturally and politically dependent aspects of a tool’s design(such as icons, sounds, colours, data representation, etc.)?
If you have further thoughts on issues of software internationalization and cultural considerations in design, please take this survey or drop a comment below.