There should always be a fallback available

by Michael S. Kaplan, published on 2006/08/28 16:10 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/08/28/728868.aspx


So during the season finale of Entourage, one of the sage pieces of advice given to Vince about his plan to fire Ari was that he really ought to get a feel for what is out there in terms of agents before he actually fires Ari. It is all about having a good fallback in case the resource you have been relying on turns out to not be able to come with the goods....

One of the things that has been built into the Language Interface Pack design, required due to the fact that it is only a partial localization, is the notion of a fallback language to use in case the resources do not exist in the expected language.

Hoefully you would not fire the LIP since it is not screwing up like Ari did, it is just doing its best. But clearly English is not always the best choice for language fallback.

In Vista, this notion has been further extended so that it does not have to only be embedded in the locale itself but can also be a user overridable choice. The Regional and Language Options tab will look as follows when a partial localization is chosen:

Notice how there is even a third language choice you can make if the second one is thought of as a partial localization. Importantly, note that neither the second nor the third choice will be visible if a partial localization is not chosen.

Which is not to say Dutch is a partial localization in Vista, but it is temporarily with not all the strings localized, and it allows the testng of this feature to happen more widely.

Now all of this is very cool, but I think the design is a bit flawed, in my opinion.

Because we actually encourage people to build their own applications with MUI-like features and we encourage them to use both the MUI resource loading and UI language functions, and clearly our business cases that are used to decide which localizations are full ones and which ones are partials will not always match those of an ISV writing an application with MUI functionality.

Therefore, the option to say "if you can't find this language, then use that one" should always exist. Because even if a full localization is involved, what we call full and what a user does are two different things....

 

This post brought to you by (U+0eab, LAO LETTER HO SUNG)


# Rosyna on 28 Aug 2006 5:05 PM:

Perhaps it is just me, but wouldn't this rather be best served by a list instead of 2-3 popups? IE, various forms of chinese, then japanese, then english.

# Michael S. Kaplan on 28 Aug 2006 8:22 PM:

Didn't you mean 'e.g.' there rather than 'i.e.' ? :-)

One of the issues here also relates to performance, and the need to keep a tight and mangeable fallback list....

# Mihai on 29 Aug 2006 12:00 AM:

<<but I think the design is a bit flawed, in my opinion>>

It is flawed for sure.

Probably the best option would have been to give a complete list of locales,  that the user can sort according to his preferences.
Like Mac OS X. Or like Fedora Linux. Or like the language preferences in most browsers (including IE).

Now each application will be forced to design it's own language fallback list.

I was happy to see the MUI API getting public, but it is only a half-backed solution :-(

# The SZ on 29 Aug 2006 5:09 AM:

I hope this dialog is a joke. Are you kidding. How many people are speaking three different languages? Which users should understand this? Which user wanna have a userinterface in three different languages?

Wait, I have a two new feature requests:

* I wanna have a random choosed language feature.
* On even days I wanna have all programms at the upper half of my destop using chineese, and the apps on the lower half using japaneese. On uneven days, all apps on the left side have to use french, and on the right side spanish.

Can you add this please?

Steffen

# Mihai on 29 Aug 2006 12:55 PM:

<<How many people are speaking three different languages?>>
Many!
In fact, I think in Europe this is more the norm than the exception.

And it does not mean you will have one application in a mixture of 3 languages. If I select Romanian, French, English and an application (not part of the OS) is fully localized in French, I will get French UI in the application, no mixtures, no nothing.

# RubenP on 29 Aug 2006 3:43 PM:

Maybe a silly question, but as a .NET developer the first question I have is: how do *I* get the benefit of this MUI stuff? I.e./e.g., how does this relate to CultureInfo.UICulture and ResourceManagers? (And I'll be sticking my fingers in my ears and start singing stuff like 'lalala' if the answer involves P/Invoke.;-)

(And that many Europeans can speak three or more languages, does not mean they actually like that. I don't see that an average Flemish user would select French as a fallback language, or for a Walloon to select Dutch. They'd rather select English, or even [*gasp*] German. Reality usually doesn't leave a choice, but *given* the choice...)

# Michael S. Kaplan on 29 Aug 2006 4:51 PM:

Three is not expected to be common -- most common is one, and next most common is two. The three is just there to handle a lit bit more....

# Mihai on 30 Aug 2006 12:39 PM:

In the end, is not about how many languages there are in the fallback list.
Is about OS list vs. Application list: what if they don't match?

# Michael S. Kaplan on 30 Aug 2006 1:29 PM:

Well yes. That is why I said I think the design is somewhat flawed....

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