We were investigating a bug in the Greek version of Windows Media Center for Windows Vista this past week. As Matt Goyer previously explained, there are some instances where we automatically capitalize strings in Windows Media Center (such as when we display music album names when no cover art is available). The Greek bug we were looking at involved some interesting characters that appeared when performing this automatic capitalization.
The initial problem we found was that we were calling ToUpper without passing in a CultureInfo argument. I’m far from an expert in globalization issues, but this is generally a bad thing to do and can cause incorrect strings to display or even crashes in some instances if you’re not careful. We previously learned this lesson the hard way in previous beta versions of Windows Media Center for Windows Vista with some date-time formatting logic in our TV guide functionality that was causing crashes on Turkish locales. Once we corrected the call to ToUpper to pass in CultureInfo.CurrentUiCulture, we found we were still having some issues with some strings.
After consulting with company-wide globalization experts such as Michael Kaplan, we found we were running into an interesting special case for which there isn’t a readily available solution. In fact, Michael just today wrote an in-depth blog post describing essentially the same scenario that we ran into in Windows Media Center. I thought this post was really interesting and wanted to link to it here to illustrate some of the interesting tricks we have run into while expanding Windows Media Center to a larger set of locales in Windows Vista.