If you can't read it, don't switch to it!

by Michael S. Kaplan, published on 2005/12/08 00:01 -08:00, original URI: http://blogs.msdn.com/michkap/archive/2005/12/08/501449.aspx

I was reminded of a quote from Martin Cruz Smith's Gorky Park the other day:

Arkady's throat was dry and he took a long drink. "There are not many road signs in Russia, you know." He laughed. "If you don't know where a road goes, you shouldn't be on it."

A few years ago, I found out that there were certain jokes I could tell when I was doing technical presentations that would always get a laugh.

For some reason, if I do a technical talk about Jet replication and mention that the way to make the .MDB file replicable is to set the Replicable property to (wait for it) "The letter T", for some reason people laugh. I have no idea why, as it never seemed all that funny to me, it actually seemed kind of dumb. But for some reason, it sounds silly enough that it manages to get a laugh.

In internationalization talks, I sometimes talk about MUI and inevitably while I show the language list (see below)

someone will ask me why the list of user interface languages is not translated so that it could be understood. It really does not matter how often folks have heard it before; when I suggest that this is a protection for customers -- if you cannot read the language name then you should not try to switch to it (since you may not be able to make it back to a language you do understand!).

I thought about all this yesterday, when Adam asked me in email:

AppLocale asks me, which locale I'd like to launch the application with -- see screenshot. I'm trying to pick Japanese. Any tips? My guess is that the two entries with boxes and parantheses are the two kinds of Chinese. Hence, Japanese is either the last or the second-last. I guess the last.

In other words: why not include an English translation of the locales in parantheses in the AppLocale UI?


Adam also sent me the following screenshot, and I must say a picture is worth 1000 words:

It is a fair question. Not everyone speaks fluent NULL GLYPH, do they? :-)

Now I would be the first to admit that this is not the best customer experience in the world. But usually when this happens it means that East Asian language support has not yet been installed. And if that is the case then the Japanese application is not going to fare any better than the language list. So one again my restatement of Arkady Renko's words come to mind -- if you can't read the language in the list then you probably won't be able to read the application later....

We can of course use a little forensic globalization to puzzle it out. Attend me:

Clearly the first two entries are probably 中文(简体) and 中文(繁体) -- Chinese (Simplified) and Chinese (Traditional). Since AppLocale is being run so presumably it is an ANSI application, so all you have to do is try the second last entry and then the last one. The one that is Korean will come up with a bunch of question marks, and the one that is Japanese will come up with a bunch of NULL GLYPHS. And then you will know which entry is Japanese.

Now you know I work for Microsoft, Adam -- I managed to give an answer that would you give you a completely correct answer that is of no real use whatsoever. :-)

Now it turns out that there was something wrong with Adam's font linking, as the problem resolved itself by him turning EA support off and then on again. Usually that suggests the installation of thir party programs that muck with the font linking (I try to avoid those sorts of programs as they can wreak all kinds of havoc with a machine. The fact that lots of non-Unicode programs were also running are not by any means proof of this, but it is common to see these various issues happening on the same machine.

Now I'll talk about the order of the language list another day. :-)


This post brought to you by "中" (U+4e2d, a.k.a. a CJK Unified Ideograph meaning 'central; center, middle; in the midst of; hit (target); attain')

# Gabe on Thursday, December 08, 2005 3:34 AM:

Do I see Uzbek on there twice (once in Latin [U'zbek], once in Cyrilic [y3beK])?

# Michael S. Kaplan on Thursday, December 08, 2005 7:19 AM:

Well, those would be two different UI languages (and for AppLocale, two different default system codepages!).

# alanjmcf on Thursday, December 08, 2005 11:47 AM:

Is "The letter T" being funny an instance of what Joel describes thus:

If you read a lot of Dave Barry, you'll discover that one of the easiest ways to be funny is to be specific when it's not called for. "Scrappy pugs" are funnier than "dogs." "Miss Piggy" is funnier than "the user". Instead of saying ...

From: http://www.joelonsoftware.com/articles/fog0000000033.html


# orcmid on Thursday, December 08, 2005 12:23 PM:

One situation that gives me language-deprivation fright is support of components or middleware that are intended for international, localized use.

The scary scenario has to do with someone having a problem and they send me screen shots of displays that I can't read.

The only thing I can think of, at least for the software I have some influence over, is to ensure that there are enough trouble-shooting cues so that I can duplicate the sequence and also coach the submitter in capturing more information that is needed to comprehend and reproduce the incident.

A corollary is that there must be only one binary per release, ever, and that what the user has is what I have (and we can easily confirm that no matter what the language cases are).

But there also need to be enough cues so that I can figure out what the user is doing even though I can't read what the user is seeing and writing.

So sometimes, you have to be able to read the signs, even if you don't know how to ask for directions.

That reminds me of the time I got off at the wrong stop out in Kanagawa, couldn't tell where I was and I couldn't decode the LCD display (or the audio assistance) on the pay phones that far out of Tokyo. I did succeed in reaching my host at his office desk (thank goodness for workaholics) and he bailed me out. That taught me to notice how foreigner-hostile our infrastructure and telecommunications are, and how mandatory voice-response menu systems and other creative notions make it worse [;<).

# Maurits on Thursday, December 08, 2005 3:24 PM:

But you didn't answer the question.

If the system's language is currently set to (say) Pig Latin, why not add the Pig Latin translation of the language's name, in parentheses, to each language name in the drop-down?

Ange-chay Anguage-lay O-tay:

[ Ig-pay Atin-lay v]
| English (English-yay)
| Español (anish-Spay)
| Руский (ussian-Ray)
| ...

That way, even if you switch to a language you don't understand, you will be able to find your way back.

As a bonus, you will also know what languages are available from the drop-down... handy if you have a friend on the phone who wants to know if they can use your computer tonight, and they are more comfortable speaking Op-ish than English.

# Michael S. Kaplan on Thursday, December 08, 2005 3:50 PM:

Yes, but that violates the principle -- if you don't know the language, you should not switch to it.

If we translate, you may think the UI will be translated later too....

# Nick Lamb on Thursday, December 08, 2005 6:00 PM:

How interesting, the locale configuration for this Red Hat system is localised, but the actual list of choices is not. It appears that no matter what your locale the list shows the English name first, with the native name afterwards. ie the entry for German will always read "German (Germany) Deutsch" even if your machine is set up for Korean.

I suspect that in earlier non-Unicode incarnations of this software the English name was always readable, while the native name might (as in Michael's images above) be unprintable in the current locale. If you can't read it, how will you know to switch to it? So perhaps the English translations will disappear in a future version.

# Michael S. Kaplan on Thursday, December 08, 2005 6:53 PM:

What's Red Hat?


# Maurits on Thursday, December 08, 2005 7:46 PM:

OK, there are two suboptimal solutions evidenced in this thread... Microsoft's and "Red Hat"'s (whatever that may be)

To wit:
Microsoft: Everybody speaks every language in the world
Red Hat: Everybody speaks English

Why doesn't anyone use the solution I propose?

Ockham's razor to the rescue!

Because my proposed solution entails generating an n-by-n matrix of every language name, localized to every language name.

Microsoft's solution entails only an n-vector of every language name /in it's own language./

Red Hat's solution entails two n-vectors... the Microsoft n-vector, plus another n-vector of every language name /in English./

Both are much easier than the n-by-n matrix.

So 'fess up, Michael, and "Red Hat" guy... you're both just trying to avoid localizing every language name to every language, right?

# Michael S. Kaplan on Thursday, December 08, 2005 7:56 PM:

Sorry, Maurits -- you are mistaken.

Note that the user locale list (which is a supserset of the UI language list) is translated fro every single language we localize into.... so we have the data anyway.

The rule is simple -- if cannot read it, DON'T SWITCH TO IT! :-)

# josh on Friday, December 09, 2005 1:24 AM:

"The key to the humor lies in the perfect selection of the letter T." Or probably not, since my memory is too poor to make a proper obscure reference...

# Mike Dunn on Friday, December 09, 2005 2:30 AM:

On the flip side, if you're into i18n testing, being able to read even a little can be a big help. I'm proficient in French so I can muddle my way around the other Romance languages pretty well. And if you want to impress your friends, learning katakana will get you surprisingly far in Japanese Windows.

# Mihai on Friday, December 09, 2005 12:22 PM:

It is all about practice.
I have been asked several times if I can read Chinese, since I was moving so naturally configuring network on a Chinese system.
No big deal, the position of all the controls is the same, and for double-bytes even the accelerators and quick-keys are the same.
If you are a heavy keybopard user, this helps a lot.
It is Arabic that I find most difficult, because everything is mirrored, so you have to think.

# Serge Wautier on Friday, December 09, 2005 12:50 PM:

I remember the first time I switched to Japanese: I had first carefully learn how to find my way back to English : Click Start than 4th line up in Start Menu than 1st line to open control panel then Xth icon in Control Panel to open regional settings then... Wait! It's not the regional settings applet. Oh no... applets are of course sorted by names ! Hence not in the same place in Japanese... MUUUUMMYYYYY ! HEEEEEEELP !

But I won't get caught a 2nd time : <Windows>+R then intl.cpl<Enter> ;-)

referenced by

2012/06/19 Maybe they're just showing off their fancy fonts? ;-)

2007/01/02 Right behavior, wrong scenario

2005/12/09 And they sort that list HOW, exactly?

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