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
- What do you think about this answer? E-mail us at editor@searchDatabase.com with your feedback.
- The Best Database Design Web Links: tips, tutorials, scripts, and more.
- Have a Database Design tip to offer your fellow DBA's and developers? The best tips submitted will receive a cool prize--submit your tip today!
- Ask your technical Database Design questions--or help out your peers by answering them--in our live discussion forums.
Dig Deeper on Oracle database design and architecture
Related Q&A from Pat Phelan
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.