Worked like a dog trying to make Tuesday Wednesday? Maybe he just needed Windows. And Bollywood.

by Michael S. Kaplan, published on 2011/05/05 07:04 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2011/05/05/10161374.aspx


Now have any of you ever seen the movie Xanadu?

Yes, I agree with you. It was not a very good movie.

Anyhow, remember the part where Sonny Malone told his boss "Tuesday's Wednesday" in a line that almost nobody understood,, because the joke was just done wrong?

Or later when he said "Simpson, I've worked like a dog trying to make Tuesday Wednesday. I couldn't do it. I must be a failure." Remember that?

Well it is safe to say that Sonny was not probably in Assam at the time. If he was, perhaps the line would have had just the right ironic, Microsoft-bashing twist. Prophetic, even!

Let me explain....

To start, as a disclaimer, I'll menion that Assamese is not Bangla.

I  figured I should start by saying that, before I say anything else.

Both languages do use the same script, mind you. The Bengali script (you can see it in the Unicode code charts here).

These days, Windows has three locales using this script:

It should be noted that although Unicode has just one script here that there are those who believe there is an Assamese script, which is identical in its current form except for a few letters (Unicode adds the extra letters to the "Bengali block").

But this blog is not about any of those script issues.

Instead, it is a simple question about the days. The names of the days, I mean.

I took the following code:

            CultureInfo[] rgci = {
              new CultureInfo("en-US"),
              new CultureInfo("bn-IN"),
              new CultureInfo("bn-BD"),
              new CultureInfo("as-IN")
            };
            for(int j=1; j < rgci.Length; j++) {
                Console.WriteLine(rgci[j].Name);
                for(int i=0; i < 7; i++) {
                    Console.WriteLine("\t{0}: {1}",
                      rgci[0].DateTimeFormat.AbbreviatedDayNames[i],
                      rgci[j].DateTimeFormat.DayNames[i]);
                }
            }

and ran it on both Vista and Windows 7. Here is the output (this may almost be better if you can't read it!):

E:\ROOT\TEST>ben.exe
bn-IN
        Sun: রবিবার
        Mon: সোমবার
        Tue: মঙ্গলবার
        Wed: বুধবার
        Thu: বৃহস্পতিবার
        Fri: শুক্রবার
        Sat: শনিবার
bn-BD
        Sun: রবিবার
        Mon: সোমবার
        Tue: মঙ্গলবার
        Wed: বুধবার
        Thu: বৃহস্পতিবার
        Fri: শুক্রবার
        Sat: শনিবার
as-IN
        Sun: সোমবাৰ
        Mon: মঙ্গলবাৰ
        Tue: বুধবাৰ
        Wed: বৃহস্পতিবাৰ
        Thu: শুক্রবাৰ
        Fri: শনিবাৰ
        Sat: ৰবিবাৰ

Or, over in Powershell ISE:

Now remember that Assamese is not Bangla.

Do any of these lists seem a little off?

If you know either language then you should let those who do not know find themselves feeling curious about the very thing that you might be finding really really bad and wrong doubleplusungood.

 Look at the shapes of the letters. Ignore any minor differences and let the overall suggestion of the shapes of the words capture your imagination.

Yes, that is really what is going on here:

Tuesday's Wednesday.

And all the other days are one off, too.

Which just goes to show that if Xanadu had been done as a Bollywood movie and they added a joke about Microsoft Windows, it might perhaps have done better!

Now this particular issue disturbs me on many levels. You can probably guess what some of them are....

In part it makes me wonder how many people who know Assamese and who use Windows are making use of the Assamese locale. Or the Assamese LIP along with it.

I wonder....

Perhaps everyone is just very forward-looking in Assam. And they were thinking Microsoft was being supportive.

Or perhaps Xanadu, which was really a terrible movie, would have done better as a Bollywood movie, and the locale is a secret Easter Egg of a tribute to to Xanadu -- Microsoft telling people that Tuesday's Wednesday!

I admit that this would be very unlikely.

Actually let's just look at the LOCALE_SDAYNAME* Constants description:

This topic defines the LOCALE_SDAYNAME* constants used by NLS.

ValueMeaning
LOCALE_SDAYNAME1 Native long name for Monday. The maximum number of characters allowed for this string is 80, including a terminating null character.
LOCALE_SDAYNAME2 Native long name for Tuesday. The maximum number of characters allowed for this string is 80, including a terminating null character.
LOCALE_SDAYNAME3 Native long name for Wednesday. The maximum number of characters allowed for this string is 80, including a terminating null character.
LOCALE_SDAYNAME4 Native long name for Thursday. The maximum number of characters allowed for this string is 80, including a terminating null character.
LOCALE_SDAYNAME5 Native long name for Friday. The maximum number of characters allowed for this string is 80, including a terminating null character.
LOCALE_SDAYNAME6 Native long name for Saturday. The maximum number of characters allowed for this string is 80, including a terminating null character.
LOCALE_SDAYNAME7 Native long name for Sunday. The maximum number of characters allowed for this string is 80, including a terminating null character.

 Okay, so the Windows names start with Monday.

 We'll contrast that with the DateTimeFormatInfo.DayNames Property:

A one-dimensional array of type String containing the culture-specific full names of the days of the week. The array for InvariantInfo contains "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", and "Saturday".

So .Net is Sunday based.

Perhaps this is yet another bug in the shuffle to move the Windows locale data to use the .Net format (the format is now internally a .Net-like semicolon delimited list of month names starting with Sunday).

A bug that no one notriced.

Or maybe just no one complained about.

Maybe it's just like the way people set their alarm clarks ahead, and everyone thought it would help....

This seems like something worth fixing at some point in the future, though!


no comments

referenced by

2011/07/12 The first isn't always #1

go to newer or older post, or back to index or month or day