Using full locales rather than the neutral ones?

Sorting it all Out
Michael Kaplan's random stuff of dubious value
Be sure to read the disclaimer here first!

Using full locales rather than the neutral ones?

  • Comments 7

Late last year, I asked and answered two 'neutral' questions: What is a neutral culture? What is a neutral locale?

And I did go to some lengths to explain in there why they were not too terribly useful except for resource loading.

But most of the time, people both inside of Microsoft do not actually use them even for that. It is one of the reasons why (as Mike Williams charitably put it) English = English(US) in so many cases.

Not just when it makes sense like with Iberian Portuguese (LCID 0x0816) and Brazilian Portuguese (LCID 0x0416), when the languages are somewhat mutually intelligible but truly very different -- enough to warrant separate localizations.

But also in cases such as Italian where LCID 0x0410 is generally used for all Italian localization, even for when it is Switzerland bound Italian (LCID 0x0810). And generally the good old LANG_ITALIAN (0x010) that is the basis of both is not used. And of course as Mike noted, all of the versions of English use LCID 0x0409 rather than LANG_ENGLISH (0x009).

(If you are primarily working in the world of Office or VBA or SQL Server, replace those hex values with 2070, 1046, 1040, 2064, 16, 1033, and 9, respectively)

We in NLS are to some extent unindicted co-conspirators in this since we generally have the LOCALE_SLANGUAGE and related locale data returned by GetLocaleInfo return only the language when the language does not have multiple locales associated with it. Or perhaps the charges were dropped when it was clear that we do have the country/region info in there any time there are multiple locales using the same language....

It would actually make sense to tag the resources with the neutral locale in cases such as this. And it would work. But at this point it is hard to get people to change processes, especially for languages into which they already localize.

I remember a bunch of cases in SQL Server where they had to put duplicate sets of Spanish language resources under both the 1034 and the 3082 subdirectories (that's 0x040a and 0x0c0a for those who prefer hex), due to a combination of not only feeling the need to use full LCIDs but also having conflicting methods for producing the full LCID from good old LANG_SPANISH. Not sure whether that is still a problem or not....

Of course, as Mike said there are lots of other times that the full LCIDs are used, and some of those cases really don't make very much sense. By and large I know that there are people throughout Microsoft who are trying to do that less, and I think that they (well, we) are doing that faster than new cases are being added by people who do not realize the problems. Between that and trying to get people to recognize the GEOID and how that location information may well be a better choice for location-specific restrictions, this problem should get better over time....

 

This post brought to you by "Җ" (U+0496, a.k.a. CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER)

Comment on the blather
Leave a Comment
  • Please add 6 and 1 and type the answer here:
  • Post
Blog - Comment List
  • The problem goes beyond lang_ids. Because there is a fundamental ignorance of the difference between language, locale and location even the text references in help, readme and marketing docs to program usage say English(US) rather than just English. This is not automated text: this has theoretically been written by a "competent" person and vetted by an editor.

    Beyond this again, specific errors of this nature are never fixed when the instances are brought to the attention of Microsoft.

  • Charles Bocock asked in the Suggestion Box:

    How about an article covering the lack of an English...
  • Ah yes, it has happened again. As we all knew, it could not end with اردو , Inuktitut , മലയാളം , Qhichwa

  • I have mentioned Mike Williams once or twice in previous posts . He actually used to work for Microsoft

  • A question came up the other day that some regular readers might find vaguely familiar: We have been

  • People have been misusing the word neutral in the whole area of internationalization of Microsoft products

  • Breaking changes suck. Even when the thing broken is of limited use and serves limited purpose. The suckage

Page 1 of 1 (7 items)