I have spent more time in the past six weeks looking a LocaleIDs and Culturalization in writing a program than I ever thought I would. It’s easy to see why some people get upset when it’s not done right. There’s not much to it, but it does take planning. To start with never assume 12/12/06 is December 12, 2006. If so, your an America-centered asshole (I’m channeling all three non-American countries, Europe, Africa and Asia).
Take a look at these locales.
Portuguese (Portugal) 123.456.789,00 31-05-2006
Russian 123 456 789,00 31.05.2006
Zulu 123,456,789.00 2006/05/31
French (Canadian)* 123 456 789,00 2006-05-31
French (France)* 123 456 789,00 31/05/2006
* Knowing the language isn’t enough. You have to know the country.
My hats off to Microsoft for making this so easy to write in .Net using the CultureInfo class.