Problem solve Get help with specific problems with your technologies, process and projects.

Internationalizing an application for Windows

I would like to know how you plan/design for internationalization of the database and the resulting forms for Windows operating system. For example, I would like to develop an application in English and Spanish.

There are a number of ways to approach the internationalization of applications. Each has its own benefits and drawbacks, so you need to consider several of them, and pick the one that is right for your application(s).

Probably the most successful model for creating applications that can easily be translated from one language to another is the one used by the Macintosh. This is described at some length in the Inside Macintosh books, and the User Interface (UI) implications are discussed at length in "TOG on Interface," written by Bruce Tognazzini. Bear in mind though, that this is relatively labor intensive compared to some of the other methods.

The Microsoft Windows model also works very well. I am fairly comfortable that this is the model that is used by more international applications than any other model. Actually, there are probably more international Windows applications than international applications produced by all of the other models combined! There are quite literally hundreds of white papers, and several good step-by-step descriptions of the process of creating an international application in MSDN, the Microsoft Developer Network. If you have visions of developing Windows Applications, you have got to have a copy of MSDN. Trying to develop without it is just plain working too hard!

There are several other international application models that also work quite well. SAP and PeopleSoft make it quite easy to create international applications within their products. These are basically customizations to very specialized products, but they work quite well.

There are a number of other packages that make it easier to internationalize an application. I remember one for a Unix / character based UI by an Israeli company, but I'd have to do some research to track down the information on it. These packages have a much more limited audience, but they can greatly reduce the effort needed for this kind of application if they meet your needs.

From the database perspective, the process of allowing multiple languages to be represented is reasonably simple. First and foremost, specify Unicode (16-bit) characters everywhere that you can. This allows you to store text from different character sets. An important step to take to make this easier to manage is to store an indicator for every row (or possibly columns within each row) to indicate which language was used. This can be an important aid for the application to format and display the text correctly.

You will also probably want to keep metrics indicators for your monetary and measurement columns. It doesn't work well to add British Pounds and Euros, or to total furlongs, kilometers and light years. Mixing the units of measure causes all kinds of problems!

For More Information

Dig Deeper on Oracle database design and architecture

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.