by Michael S. Kaplan, published on 2010/01/08 07:11 -08:00, original URI: http://blogs.msdn.com/michkap/archive/2010/01/08/9945487.aspx
The Suggestion Box has been getting way too busy during my extended absence from blogging, so I thought I'd clear out a few today. :-)
First, from Jeroen Ruigrok van der Werven, who asked:
Hi Michael,
any idea why the locale identifier is missing for Corsican at http://msdn.microsoft.com/en-us/library/ms776260
Also, what additional locales does Windows 7 have over Vista?
Now I'll be honest with you about these two topics (Locale Identifier Constants and Strings and Language Identifier Constants and Strings). I don't like them. They are huge lists that are static looks at a list of locales but neither says when it is from, specifically. Which is really the only useful purpose for HAVING such a static list (knowing when the list is designed to encompass). You could use the list itself to work backward and discern the dates under the if you already know the answer you'll be able to find out the answer doctrine, but that's kind of not the point.
The previous paragraph gives a hint as to how once can understand answer to the original question -- obviously the one missing an LCID came before the one not missing it. Further along the lines of FDA (Forensic Documentation Analysis, a common science seen on the tv show CSI: MSDN) one can look at the top line info on each page, the latter with
MSDN -> MSDN Library -> Win32 and COM Development -> User Interface -> International Support -> Globalization Services -> National Language Support -> National Language Support Reference -> National Language Support Constants -> Language Identifier Constants and Strings
and the former with
MSDN -> MSDN Library
The fact that the one has several locales marked Vista and later and the other has a locale not in the first make it clear that one is from Vista and the other is from Windows 7, and that the Vista topic is "orphaned" from the full indexing of a Table of Contents.
So the topic without the locale in question should probably just be removed or something.
The second question comes from Jan Kučera:
Hi, glad to see you back, Michael!
Actually I've already tried twice to post the following question some time ago, but it did not go through. However, I know how you like sorting topics, so I thought I might try it once more… here we go:
Say I have a web page, and I'm providing the content in several languages. Now the question is, what do you thing is the best way to present the languages available, in which language and the most interesting – in which order?
I've told to myself – okay, let's see how the MSDN does it. If I open the MSDN web, I see "Česká Republika - Česky" in the top right corner. Hmm well, if you happen to not know the Czech language, I guess you have no idea this is the language selector. Anyway, here is the list expanded:
- Argentina (Español)
- Australia (English)
- Brasil (Português)
- Canada (English)
- Canada (Français)
- 中国 (简体中文)
- Colombia (Español)
- Deutschland (Deutsch)
- España (Español)
- France (Français)
- India (English)
- México (Español)
- Perú (Español)
- Россия (Pусский)
- United Kingdom (English)
- United States (English)
What is the reason for listing the country first and then the language? I also see both country and language are displayed in the native language, which prevents you discovering the selector if the page is displayed in a language you are not familiar with. Now after couple of your posts about sorting, I see this list is sorted neither by language, nor by country (the non-Latin characters would go down, right?). So my first guess is that the list is sorted by country language in English – an item not in the list – a bit confusing, especially if you don't know the English names – though quite interesting idea for me. And now, what sort is used? Assuming the 中国 thing is China, it seems to be sorted using English rules, because in Czech (in which the web is shown), this would go after Colombia. Wasn't it me to whom did you advised to use the sorting expected by the user? Funny is that if you click to display more languages, the combo box is sorted different way, I would say by native country names (non-Latin at the bottom), accent insensitive (Česká republika before Chile) using English rules (Chile before Colombia) – at least that page is in English only. Though for me, looking for Česká republika in the middle of 'C' names is really weird.
Looking at another sites, I see everyone implemented it differently. So...I wonder, do you have any thoughts what could be the most correct way?
Thanks!
I don't know how back I was in April when Jan put this question up, though I think I'm back now. :-)
There are several questions packed in there, let's try and get all of them.
First there is the country followed by language is just a choice that several of the pages and subwebs of microsoft.com do to underscore the reality of the different subsidiaries (both to help foster a sense of "ownership" and to make it clearer who is best to be looking after the interests of accuracy whethr subsidiary or localizer, etc.).
Now the putting the country/language in the native language is a common way to keep the readers on the pages they are most likely to find useful - if you can't read it, then why would you click on it? :-)
As for the two lists, the first is the one in the dropdown:
where the second list is on the separate page:
It is clearly based on the less sexy list sorted alphabetically, though noit be a specific language, as Jan mentioned.
One of the bad things bout it is that will place all of the non-Latin script names at the end, which almost hads the unfortunate connotation of putting some entries at the "back of the bus". So the smaller list, which is indeed sorted in the order of the English spelling of the entry but which even though you may not see the order but can almost certainly find your language if its there, and the bigger list is fun to look at the source and you'll see the locale names there, too:
<option value="es-ar">Argentina (Español)</option>
<option value="en-au">Australia (English)</option>
<option value="nl-be">België (Nederlands)</option>
<option value="fr-be">Belgique (Français)</option>
<option value="es-bo">Bolivia (Español)</option>
<option value="pt-br">Brasil (Português)</option>
<option value="en-ca">Canada (English)</option>
<option value="fr-ca">Canada (Français)</option>
<option value="cs-cz">Česká republika (Česky)</option>
<option value="es-cl">Chile (Español)</option>
<option value="es-co">Colombia (Español)</option>
<option value="es-cr">Costa Rica (Español)</option>
<option value="da-dk">Danmark (Dansk)</option>
<option value="de-de">Deutschland (Deutsch)</option>
<option value="es-ec">Ecuador (Español)</option>
<option value="es-sv">El Salvador (Español)</option>
<option value="es-es">España (Español)</option>
<option value="fr-fr">France (Français)</option>
<option value="es-gt">Guatemala (Español)</option>
<option value="es-hn">Honduras (Español)</option>
<option value="en-in">India (English)</option>
<option value="id-id">Indonesia (Bahasa Indonesia)</option>
<option value="en-ie">Ireland (English)</option>
<option value="it-it">Italia (Italiano)</option>
<option value="es-mx">México (Español)</option>
<option value="nl-nl">Nederland (Nederlands)</option>
<option value="en-nz">New Zealand (English)</option>
<option value="es-ni">Nicaragua (Español)</option>
<option value="nb-no">Norge (Norsk)</option>
<option value="de-at">Österreich (Deutsch)</option>
<option value="es-pa">Panamá (Español)</option>
<option value="es-py">Paraguay (Español)</option>
<option value="es-pe">Perú (Español)</option>
<option value="pl-pl">Polska (Polski)</option>
<option value="pt-pt">Portugal (Português)</option>
<option value="es-pr">Puerto Rico (Español)</option>
<option value="es-do">República Dominicana (Español)</option>
<option value="ro-ro">România (Română)</option>
<option value="de-ch">Schweiz (Deutsch)</option>
<option value="en-sg">Singapore (English)</option>
<option value="sk-sk">Slovensko (Slovensky)</option>
<option value="en-za">South Africa (English)</option>
<option value="fr-ch">Suisse (Français)</option>
<option value="fi-fi">Suomi (Suomi)</option>
<option value="sv-se">Sverige (Svenska)</option>
<option value="tr-tr">Turkiye (Türkçe)</option>
<option value="en-gb">United Kingdom (English)</option>
<option selected="selected" value="en-us">United States (English)</option>
<option value="es-uy">Uruguay (Español)</option>
<option value="es-ve">Venezuela (Español)</option>
<option value="el-gr">Ελλάδα (Ελληνικά)</option>
<option value="bg-bg">България (Български)</option>
<option value="kk-kz">Қазақстан (Русский)</option>
<option value="ru-ru">Россия (Pусский)</option>
<option value="uk-ua">Україна (Українська)</option>
<option value="ko-kr">한국(한국어)</option>
<option value="zh-cn">中国(简体中文)</option>
<option value="zh-tw">台灣(繁體中文)</option>
<option value="ja-jp">日本 (日本語)</option>
<option value="ar-sa">الشرق الأوسط - العربية</option>
<option value="he-il">ארצות הברית - אנגלית</option>
See what I mean? Interesting,m right? And clearly not in the same order as the smaller list.
Kind of interesting the letters they chose to use NCRs for too, since they did not use all of them.
I actually get asked the final question about what would the best order be all the time, at least 10 times thie year (mostly from inside Microsoft but a few from the outside). the really aren't good rules for this, though I find the English only ordering to be pretty wrong myself - not accent insensitive since in the English sort that Č really is just letter with an accent that is a tertiary distinmction, so the primary diostinctoion later in the letter will win. Maybe they'll do better if we switch languages - say to French:
Well they did localize the More... to Plus... but the list itself is the same, and the list when you click that list is identical, which I would call unfortunate as I was hoping they'd be using the locale name, which they have in the list, for the sorting. Though they did not do so. That really seems less than ideal to me. But there aren't a whole lot of standards out there for sorting these lists so almost anything one does isn't "wrong" in a technical sense.
The web is rife with different answers to this question, though.... on the whole I don't really like any of them....