Stupid Wrong-Headed Locale Crapola
Posted by Tech at 6:07 p.m. on Jan. 13th, 20071 Comments 0 Pings in
Being a native English-speaker in a foreign land can be a real pain in the ass. Especially if you’re using a computer. First of all, you’ll probably be buying keyboards and the like from local purveyors, instead of having them flown in specially like the rich boys do. Getting used to a new keyboard is a task unto itself: the German keyboard, for example, reverses the positions of the Y and Z keys in relation to U.S. English keyboards, in addition to relocating the most of the special punctuation symbols ({,},|,\) to finger-breaking combos involving the magical, mystical “Alt-Gr” key. Most commonly used symbols in command-line environments, like the / (Shift-7 in German layout), were not really envisioned as Barre chords, and using them a lot can be exasperating.
Figure 1: The German PC Keyboard (Stolen from Here)
Even worse are the efforts by all the world’s programmers to be the cleverest little boys in town when it comes to solving the localization problem. Take Google, for example. Even though they have more money and resources than about 80% of sovereign nations, they’ve chosen the least reliable method possible to determine a user’s preffered language: His geographical location. If your IP address is in Germany, you’ll get forwarded to the German start page. It’s a solution, I guess, but it paints users with a very broad brush. If you’re a businessman travelling in Germany, for example, and you type in “google.com”, that’s not what you’ll get; you’ll get google.de. Oh, you can set a cookie with Google to always be in English, but you’ll have to navigate to the “Settings” page, if you happen to know that Einstellungen means ‘settings’, then pick your language from a drop-down list you probably can’t read, then save your new settings. As long as you know what Einstellungen Speichern means.
But a lot of people in Germany don’t speak German; and even more don’t have it as their first language. There are a lot of English, Turkish, and Italian speakers, not to mention Russian, Vietnamese, and Chinese left over from the Communist East German days; among them are people who can’t even read Latin characters. Using geography to determine language doesn’t even wash in the United States even more, since the Burrito Invasion went into overdrive. So why not just let the user tell you what language he wants if you’re so interested. In reality, he already is telling you, you’re just not listening!
Here’s another example. If you install a program under Windows, more often than not that program will use the Locale setting to determine which language to display. If you live in Germany, it will display – you guessed it – German, no matter what language your Windows OS is running in. When I install SVN, for example, and type “svn help” at the command prompt, this is what it returns:
Now, considering my Windows installation is in English, why in the world would this POS be spitting German at me?Because it uses the Locale setting instead of the Language setting, and this is wrong. Although I’m speaking English, I’m still bound by other Locale settings, like the Euro Symbol and date format, when I’m living in Germany. I’m not sure why everybody in the world gets this wrong, but they do.
Here’s how it should be: Your web page – I’m looking at you, Googlezonhoo! – shouldn’t show me a language I don’t understand just because your GeoIP database says that’s what language I should speak. My browser tells you what language I want with the “Accept-Language” header. This is a much more reliable indicator than my IP address as to whether or not I can speak English or not. Most Germans use German versions of their web browser, which will in turn send you that information. That’s what it’s there for! Thanks, Dr. Schmidt, you can make the billion-dollar check payable to “Rube”.
As to your application, Mr. SVN, why the hell don’t you read the Language setting instead of the Locale setting? If you ask at install time which language you should use, why would you do it in German? What if I was in Japan and couldn’t make heads nor tails of the posed question? I guess it doesn’t help that Microsoft itself confuses the role of a Locale with that of a language. Even better is their insistence that an “Input Language” is the same thing as a keyboard layout! Bravo, Bill! How does having a German keyboard magically change the language that I’m typing on it to German? Bob knows. Observe what happens with the following Python code:
Huh? Looking at Microsoft’s handy localization page, I see that 0x407 is German, and 0x409 is U.S. English. I’m getting a different language for my user than I am for my system, even though we’re both in Germany, and we’re both speaking English. In other words, even though I’m using the English version of Windows, my user language is set to German because I’ve got a German keyboard? What a crock o’ crap. Windows’ Multilanguage Support is viciously, unfixably broken.
A lot of programmers give very little thought to internationalizing their products. Some people, like the ones mentioned here, would’ve been better off ignoring it and sticking to English-only versions.
Figure 1: The German PC Keyboard (Stolen from Here)
Even worse are the efforts by all the world’s programmers to be the cleverest little boys in town when it comes to solving the localization problem. Take Google, for example. Even though they have more money and resources than about 80% of sovereign nations, they’ve chosen the least reliable method possible to determine a user’s preffered language: His geographical location. If your IP address is in Germany, you’ll get forwarded to the German start page. It’s a solution, I guess, but it paints users with a very broad brush. If you’re a businessman travelling in Germany, for example, and you type in “google.com”, that’s not what you’ll get; you’ll get google.de. Oh, you can set a cookie with Google to always be in English, but you’ll have to navigate to the “Settings” page, if you happen to know that Einstellungen means ‘settings’, then pick your language from a drop-down list you probably can’t read, then save your new settings. As long as you know what Einstellungen Speichern means.
But a lot of people in Germany don’t speak German; and even more don’t have it as their first language. There are a lot of English, Turkish, and Italian speakers, not to mention Russian, Vietnamese, and Chinese left over from the Communist East German days; among them are people who can’t even read Latin characters. Using geography to determine language doesn’t even wash in the United States even more, since the Burrito Invasion went into overdrive. So why not just let the user tell you what language he wants if you’re so interested. In reality, he already is telling you, you’re just not listening!
Here’s another example. If you install a program under Windows, more often than not that program will use the Locale setting to determine which language to display. If you live in Germany, it will display – you guessed it – German, no matter what language your Windows OS is running in. When I install SVN, for example, and type “svn help” at the command prompt, this is what it returns:
C:\Documents and Settings\eric>svn help
Aufruf: svn UNTERBEFEHL [Optionen] [Parameter]
Subversion Befehlszeilenclient, Version 1.3.1.
Geben Sie ‘svn help UNTERBEFEHL’ ein, um Hilfe zu einem Unterbefehl
zu erhalten.
Now, considering my Windows installation is in English, why in the world would this POS be spitting German at me?Because it uses the Locale setting instead of the Language setting, and this is wrong. Although I’m speaking English, I’m still bound by other Locale settings, like the Euro Symbol and date format, when I’m living in Germany. I’m not sure why everybody in the world gets this wrong, but they do.
Here’s how it should be: Your web page – I’m looking at you, Googlezonhoo! – shouldn’t show me a language I don’t understand just because your GeoIP database says that’s what language I should speak. My browser tells you what language I want with the “Accept-Language” header. This is a much more reliable indicator than my IP address as to whether or not I can speak English or not. Most Germans use German versions of their web browser, which will in turn send you that information. That’s what it’s there for! Thanks, Dr. Schmidt, you can make the billion-dollar check payable to “Rube”.
As to your application, Mr. SVN, why the hell don’t you read the Language setting instead of the Locale setting? If you ask at install time which language you should use, why would you do it in German? What if I was in Japan and couldn’t make heads nor tails of the posed question? I guess it doesn’t help that Microsoft itself confuses the role of a Locale with that of a language. Even better is their insistence that an “Input Language” is the same thing as a keyboard layout! Bravo, Bill! How does having a German keyboard magically change the language that I’m typing on it to German? Bob knows. Observe what happens with the following Python code:
C:\Documents and Settings\eric>python
ActivePython 2.4.2 Build 10 (ActiveState Corp.) based on
Python 2.4.2 (#67, Jan 17 2006, 15:36:03) [MSC v.1310 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import win32api
>>> print hex(win32api.GetUserDefaultLangID())
0x407
>>> print hex(win32api.GetSystemDefaultLangID())
0x409
Huh? Looking at Microsoft’s handy localization page, I see that 0x407 is German, and 0x409 is U.S. English. I’m getting a different language for my user than I am for my system, even though we’re both in Germany, and we’re both speaking English. In other words, even though I’m using the English version of Windows, my user language is set to German because I’ve got a German keyboard? What a crock o’ crap. Windows’ Multilanguage Support is viciously, unfixably broken.
A lot of programmers give very little thought to internationalizing their products. Some people, like the ones mentioned here, would’ve been better off ignoring it and sticking to English-only versions.
Technorati Tags: Bill Gates, Ex-patratism
Crankshaft
January 17, 2007 at 11:26 a.m.:I once visited my aunt in Munich, Germany. Innocently I requested for use of the internet to email. I had no idea it would be this bad.