Main Content

A Framework for the Integration of Internationalization into the Software Development Process

Which is more important, the bottle or the bottle cap? In fact, without the other neither is very useful. The processes of internationalization and localization share a similar symbiotic relationship. In a paper he wrote for the ACM's Special Interest Group for Computer-Human Interaction (SIGCHI) Alvin Yeo compared a thoroughly localized program to a capped bottle. The bottle itself represents the internationalized source code, which is enabled (via a screw top) to fit bottle caps. Each bottle cap represents a cultural interface or localization file, which is designed to fit the bottle's screw top. Proper internationalization ensures that introducing a new localization file to an application is as simple as replacing the cap on a bottle.

While many researchers focus on how to design better and more complete bottle caps, for her Master's thesis, "A Framework for the Integration of Internationalization into the Software Development Process" Erica Young, from The University of South Dakota focused on the process of creating a better bottle; that is how can software be more systematically internationalized.

Using the Waterfall Model of the software development lifecycle as a guide, the author wrote a framework of additional considerations the developer must make during each phase of the development process when creating internationalized software. Some example steps from the framework are shown in Table 1.

Table 1. Example steps from the internationalization framework. Refer to page 36 in the paper for the complete framework.

Phase Additional Step

Requirements

1.1 Determine initial and future locales.

Specification

2.2 Decide on a character set.
2.6 Identify which processes, modules or objects will be affected by internationalization.

Design

3.1 Determine how the locale files will be laid out and accessed.

Implementation

4.1 Choose a language with adequate support for the level of internationalization to be used for this project.

To test the framework, a small application was built to store and retrieve résumé information. The résumé information was stored in an Oracle database and the interface for the application was built in ColdFusion to be accessed from the web. The user application presents a form in either German or English, depending on user choice. The fields, which were presented to the user, were different depending on the language chosen. For example, the address field asking for the applicant's state of residence was omitted from the German form, while fields asking for date and place of birth as well as marital status, were added. All of the text for the forms, including default field values as well as the inclusion and requirement of certain fields was dictated by the location chosen. All of the locale-specific information was stored in a database table.

Although a good deal of time was spent developing and testing this specific application, the goal of the research was to test the framework. The author found that the first steps of the framework, involved with the Requirements and part of the Specification stages of the lifecycle were adequately laid out to describe the additional steps. Further on in the development process, the steps of the framework became too vague. After development of the application was complete, the author amended the framework in light of the experience gained during the research. The final framework is located on page 81 of the paper.

In order for localization to be realized efficiently and on a large scale, there has to be a solidly internationalized core program on which to build locale versions. From the experience of the author, little academic research or university training is touching on the subject of program code internationalization. The work of the author hopes to address that gap by supplying a framework with which a traditional programmer can begin to internationalize his or her future programs. Based on pure research and the development of one software application, the framework is far from being complete. The author welcomes comments and discussion on this paper or any related internationalization topics. They can be sent to eyoung@usd.edu.

A full version of Framework for the Integration of Internationalization into the Software Development Process can be downloaded here.