Wednesday, February 07, 2007

Globalizing an existing application

Some applications start small and grow in to enterprise class applications that run around the globe. And despite the language changes and platform changes, these applications retain most of their original code intact, including the culture sensitive formatting and operations which were written with just one culture in mind and with no adoptability at all.

So where should we start from and how should we work our way through in making these applications truly world ready? As with any major task, it should be taken one step at a time.

First, we should identify what are the culture sensitive data that needs to be addressed. This includes calendars and dates, currency formatting and number formatting. Then we have the option of changing every code segment to use the formatting classes in System.Globalization namespace or to have a separate central component for formatting. Some times having a separate central component is a bit more desirable for this kind of applications because of the flexibility to alter the functionality a bit based on the requirements of existing components.

It’s a task that takes a lot of time and concentration that you would expect, especially when there are legacy third party components left in the application. But it’s some thing I enjoyed doing over the past couple of months.