Sorting it all Out Michael Kaplan's random stuff of dubious value Be sure to read the disclaimer here first!
(Apologies to Roger Ebert, whose book I parodied for the sake of this blog post was a wonderful and not just for the great 0 star Deuce Bigalow: European Gigolo review!)
As a by the way, this post does NOT represent anything beyond my own personal recommendations based on the way I think things are going. I am not even on the team that decides these things any more and I wasn't in charge of the strategy when I was then. Anyone who quotes me with prefacing words like "According to Microsoft..." is a complete and utter moron.
Anyway, your LCID sucks.
(This assumes you are still using LCIDs when you could be using locale names, of course!)
How do I know that your LCID sucks?
Easy.
They all do!
It started back in 2002, when Cathy and I each did one hour presentations for a big group of Microsoft employees about standards and our plans related to them.
Of the whole twenty two slide two hours worth of presentation, one slide I wrote probably got the most email afterward.
It was entitled The Death of LCIDs.
Point after point as to why these things are so awful. From the lack of scalability to the fact that custom locales wouldn't work to their proprietary nature and so on. Not to mention all those problems with Walking off the end of the eighth bit.
And if you'll recall, other people hate them too -- like Bill Poser whose valid criticisms of these things I talked about earlier this month in I think they might kind of get it now.
And then in 2004 when I did a presentation to GIFT about locales whose title was "Intro to Locales (and what's wrong with LCIDs)" that practically had more slides explaining why LCIDs suck than anything else.
LCIDs are just beastly.
Truly.
It is time to move to names instead of LCIDs. Because going forward who knows how many new features will only exist in the "name based" NLS API functions rather than the LCID based ones (just as has already happened with all of the v.next versioning stuff and custom locales and so on).
Because locale names are based on RFCs that are based on international standards.
Because SAIO would really prefer it that way.
And the ninth bit too!
I'll close with some reworded Smash Mouth lyrics:
Somebody once told me Microsoft's gonna roll meI ain't the sharpest tool in the shedThe code's looking kind of dumb with its finger and its thumbIn the shape on "L" on its forehead Well the numbers start coming but will they always keep comingDon't ignore me now and hit the ground runningDoesn't make sense not to just use namesC'mon you're smart so please don't be lame. So much to do so much to seeSo what's wrong with following the RFCYou'll never know if you don't tryJust tell those LCIDs goodbye. (Chorus)Hey now, names are All Stars got their game on, go playHey now, LCIDs suck so, their so '90's, they'll fade.And all that glitters is goldOnly locale names break the mold....
Somebody once told me Microsoft's gonna roll meI ain't the sharpest tool in the shedThe code's looking kind of dumb with its finger and its thumbIn the shape on "L" on its forehead
Well the numbers start coming but will they always keep comingDon't ignore me now and hit the ground runningDoesn't make sense not to just use namesC'mon you're smart so please don't be lame.
So much to do so much to seeSo what's wrong with following the RFCYou'll never know if you don't tryJust tell those LCIDs goodbye.
(Chorus)Hey now, names are All Stars got their game on, go playHey now, LCIDs suck so, their so '90's, they'll fade.And all that glitters is goldOnly locale names break the mold....
Ok, I can't do any more of this. You get the point. :-)
But truly, you should start moving toward using locale names instead of LCIDs. It's time to stop associating with those shady sparsely allocated DWORD kinds of types....
This post brought to you by L (U+004c, a.k.a. LATIN CAPITAL LETTER L)
"Doesn't make sense not to just use names"
"So what's wrong with following the RFC"
Two words: Windows XP!
Just ask Raymond about the value of "backward compatibility" :-)
Yes, LCIDs suck, and named locales are the right thing. About 5-10 years from now, when XP is dead.
Ah, but there are downlevel packages to help with that -- both for NLS and for MUI. :-)
And of course LCIDs remain backward compatible, but that doesn't speak to future features (like versioningm for example).
A while back, Windows Fundamentals developer Ryan Myers asked me a question via email that I could not
Sometimes when working on software projects we spend so much time thinking a certain way that thinking
(I will explain the title at the end of this post if you aren't sure yet what it means!) In Vista, a
I'll be the first person that standards are a good thing. And when I say that, I want you to fully grok
I was going to run the title by some people since it seems like it might be mildly offensive, though
They say that you could put just the word Playboy or Hugh Hefner or a picture of the Playboy Bunny on
Regular readers might recall a long ago blog entitled New in Vista: What's your name? Who's your daddy?
As a by the way, this blog does NOT represent anything beyond my own personal thoughts based on the way
Mark Davis noticed something amiss: As I recall, ISO said that they were not going to reuse codes for
So, the movement fromLCIDs to names continues apace (ref Your LCID sucks and It is true that your LCID
Previous blogs from this series:
part 9: Nastaleeq vs. Nastaliq? Either way, Windows 8 has got