by Michael S. Kaplan, published on 2010/08/09 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2010/08/09/10047417.aspx
The other day in I put up a table covering all of the Serbian, Bosnian, and Croatian locales on Windows:
Locale Name | Locale ID, hexadecimal (Windows) |
Locale ID, decimal (Office, SQL) |
Language Name |
Region Name |
Script |
bs-Cyrl-BA | 0x201a | 8218 | Bosnian | Bosnia and Herzegovina | Cyrillic |
bs-Latn-BA | 0x141a | 5146 | Bosnian | Bosnia and Herzegovina | Latin |
hr-BA | 0x101a | 4122 | Croatian | Bosnia and Herzegovina | Latin |
hr-HR | 0x041a | 1050 | Croatian | Croatia | Latin |
sr-Cyrl-BA | 0x1c1a | 7194 | Serbian | Bosnia and Herzegovina | Cyrillic |
sr-Latn-BA | 0x181a | 6170 | Serbian | Bosnia and Herzegovina | Latin |
(not assigned) | (not assigned) | (not assigned) | Serbian | Croatia | Latin |
sr-Cyrl-CS | 0x0c1a | 3098 | Serbian | Serbia and Montenegro (former) | Cyrl |
sr-Latn-CS | 0x081a | 2074 | Serbian | Serbia and Montenegro (former) | Latn |
Now this list is complete according to many of the sites on MSDN, including
I did note the whole Serbia/Montenegro issue and pointed to some other blogs, but seeing no info or update on plans here my assumption was that there was none....
So anyway, I figured it ought to be pretty solid. In theory.
But then if you look at Regional and Language Options in Windows 7:
There are clearly at least four missing from this 'full" list:
Probably a good idea since the word FORMER is on the ones for Serbia and Montenegro....
By the way I hate the new name structure since I don't think the alphabetical order that comes out of the names is necessarily more intuitive!
But anyway, what are the constants for these four new locales?
Oops.
Lucky for us that someone wrote a document about Microsoft .NET Framework 4: What is New in Globalization, which tells the rest of the story.
I'll get into that document more another day, for now I'll just stay in this one part of the world!
So here are the additional table items:
Locale Name | Locale ID, hexadecimal (Windows) |
Locale ID, decimal (Office, SQL) |
Language Name |
Region Name |
Script |
sr-Cyrl-ME | 0x301a | 12314 | Serbian | Montenegro | Cyrillic |
sr-Cyrl-RS | 0x281a | 10266 | Serbian | Serbian | Cyrillic |
sr-Latn-ME | 0x2c1a | 11290 | Serbian | Montenegro | Latin |
sr-Latn-RS | 0x241a | 9242 | Serbian | Serbian | Latin |
And as I noted in the Bosnian blog:
Note that there is still no unique ISO code for Montenegrin (Montenegro), so that the situation Kieran described back in What's in a name? Part two back in 2006 is still not clarified.
The issues I mentioned in Ask 'em if their language is Montenegrin; their answer may surprise you are not all that further along either.
So there is the problem that there was time to write a new .Net white paper but not time to update core lists that contain the information that both native and managed developers might want.
The only other place that has the updated locales is the protocol site (here) though since it lists some different values, somebody may want to update that since that means the Protocol docs are wrong!
Their take on Serbian:
Language |
Location (or type) |
LCID |
Releases available in |
Serbian (Cyrillic) sr-Cyrl-CS |
Serbia and Montenegro (Former) |
0x0c1a |
Windows NT 4.0, Windows 2000, Windows Server 2003, Windows Server 2008, Windows Vista, Windows XP, Windows 7, Windows Server 2008 R2 |
Serbian (Cyrillic) sr-Cyrl-RS |
Serbia |
0x281a |
Windows 7, Windows Server 2008 R2 |
Serbian(Cyrillic) sr-Cyrl-ME |
Montenegro |
0x301a |
Windows 7, Windows Server 2008 R2 |
Serbian (Cyrillic) |
Bosnia and Herzegovina |
0x1c1a |
Windows XP ELK v1, Windows XP SP2, Windows Server 2003 SP2, Windows Server 2008, Windows Vista, Windows 7, Windows Server 2008 R2 |
Serbian (Latin) sr-Latn-CS |
Serbia and Montenegro (Former) |
0x081a |
Windows NT 4.0, Windows 2000, Windows Server 2003, Windows Server 2008, Windows Vista, Windows XP, Windows 7, Windows Server 2008 R2 |
Serbian (Latin) sr-Latn-RS |
Serbia |
0x241a |
Windows 7, Windows Server 2008 R2 |
Serbian (Latin) Sr-Latn-ME |
Montenegro |
0x2c1a |
Windows 7, Windows Server 2008 R2 |
Serbian (Latin) |
Montenegro |
0x081a |
Windows NT 4.0, Windows 2000, Windows Server 2003, Windows Server 2008, Windows Vista, Windows XP, Windows 7, Windows Server 2008 R2 |
Serbian (Latin) |
Bosnia and Herzegovina |
0x181a |
Windows XP ELK v1, Windows XP SP2, Windows Server 2003 SP2, Windows Server 2008, Windows Vista, Windows 7, Windows Server 2008 R2 |
Like I said, someone may want to fix the discrepancies here!
Anyway, I guess I should thanks for Microsoft .NET Framework 4: What is New in Globalization, or else nobody would ever be able to get information on the latest story here.
Though I'd rather the other docs weren't inaccurate, if I had my choice here....
Oh wait. I do. Since my group has some responsibilities around GoGlobal, I can do a little insisting on better information for documentation they provide like Locale IDs Assigned by Microsoft. I can also suggest they clean up their own docs like Language Identifier Constants and Strings, but that is really more up to them, I guess. :-)
Now there are a few remaining issues to talk about, though that will have to wait for another day. Stay tuned....
Carl on 10 Aug 2010 3:14 AM:
The pun to insert is "Bulky Balkanization in the Balkans Bloats the Board." :-)
Maurits [MSFT] on 24 Aug 2010 1:36 PM:
Looking for some a-Serbic humor?
referenced by
2011/03/26 An over-complexity worthy of an ISO standard