Internationalization of applications

I was going over my backlog today (about 5k unread posts that I’m going to try and finish reading in the next few days), and noticed an interesting post from Raymond (well, one of many, but one I can blog about).

The subject of internationalization is highly more complex than just using resource files and letting applications use the ToString() method with a culture. Numbers can be different. In some languages, “I” is not the uppercase of “i”. Digits are not between 0-9. This subject is important to understand, and CultureInfo.InvariantCulture is your friend.

For that matter, one of my early .net projects was a batch parser. I was thinking, well, if (command.ToUpper() == “IN”), it failed miserably, my Turkish customers thought I didn’t care about them. They were nice enough to say that setting the English culture for the application resolved the issue, and I had a chance to correct the bug.