Lions and tigers and
bearsELKs, Oh my!
by Michael S. Kaplan, published on 2005/01/26 00:19 -08:00, original URI: http://blogs.msdn.com/michkap/archive/2005/01/26/360685.aspx
In Fall 2004, Cathy Wissink and I were in San Jose at the Unicode Technical Committee meeting (being held at Apple) along with 20+ of our colleagues from various companies involved with internationalization. We spoke at the IMUG (International Mac User's Group) meeting one evening, giving a much longer version of the talk that has been done before at both prior Internationalization and Unicode Conferences and at the Microsoft Global Development & Deployment Conference. Things were a little bit closer to shipping so more could be said, and since we were given more time we were definitely allowed to say more.
The title of the talk? Windows for the Rest of the World -- Customizing Windows for Emerging Markets. This post will contain a few slides of the content from that talk. :-)
One thing we talked about quite a bit was about locales and how long it took to get them added. Some stats:
- Windows NT 3.51 – 45 locales
- Windows 95 – 105 locales
- Windows NT 4.0 – 105 locales
- Windows 98 – 114 locales
- Windows 2000 – 125 locales
- Windows Millennium Edition – 114 locales
- Windows XP – 135 locales
- Windows Server 2003 – 135 locales
These numbers are only impressive when one ignores how many languages and cultures that are not being covered around the world. We then pointed out the problem with the traditional methods we have been using to add NLS data:
- The last few years have seen an explosion of demand for new cultural data
- Procedure has only allowed for additions to data at the time of a major system release
- In order to add traditional NLS data to Windows, we need:
- Strong business case
- Adequate resources (research/development/test)
- Carefully reviewed data
- Scrubbed for geopolitical issues
- Standards conformant
- Culturally appropriate
- It therefore takes too long to enable new languages for Windows!
The presentation got into detail about a lot of the things that we are doing to try to help here, some of which I have talked about before (like MSKLC), and others that I will likely cover in future posts. But for now I will talk about one of the many things GIFT is doing to help with the issues above: ELKs!
ELK stands for Enabling Language Kit. These useful beasts will (on a per locale basis) install as needed any or all of the following:
- New locale information
- New keyboard(s)
- New sort(s)
- New font(s)
- New shaping engine(s)
- Underlying infrastructure (setup, registry, .INF file changes)
Obviously some (like locale information) always had to be done, but others (like fonts or shaping engines) were only required for a few.
Lest you are afraid at this point that ELKs are typical vaporware that is never actually shipped, Microsoft Windows XP Service Pack 2 ships with 25 new ELK locales! Those locales are:
- Bengali - India
- Croatian - Bosnia and Herzegovina
- Bosnian - Bosnia and Herzegovina
- Serbian - Bosnia and Herzegovina (Latin)
- Serbian - Bosnia and Herzegovina (Cyrillic)
- Welsh - United Kingdom (more info in English, in Welsh)
- Maori - New Zealand
- Malayalam - India
- Maltese - Malta
- Quechua - Bolivia
- Quechua - Ecuador
- Quechua - Peru
- Setswana / Tswana - South Africa
- isiXhosa / Xhosa - South Africa
- isiZulu / Zulu - South Africa
- Sesotho sa Leboa / Northern Sotho - South Africa
- Northern Sami - Norway
- Northern Sami - Sweden
- Northern Sami - Finland
- Lule Sami - Norway
- Lule Sami - Sweden
- Southern Sami - Norway
- Southern Sami - Sweden
- Skolt Sami - Finland
- Inari Sami - Finland
(I swear that this list was even more impressive when it was done with PowerPoint animations, showing up one item at a time!)
Definitely not vaporware -- you can install XP SP2 and see support for all of these locales today. And things will continue on in the future!
And like I said, there are a lot of other items discussed in the presentation, which will be covered in future posts. It's all about getting out of the way...
This post sponsored by "ᕣ" (U+1563, CANADIAN SYLLABICS N-CREE THII)
# AC on Wednesday, January 26, 2005 10:28 AM:
So, who do we talk to if we want to have a language added to this project?
I would like to see some of the many languages of Afganistan on a list like that. Pashto, Sindhi, Dari, Urdu, Uzbek, and Brahui are all important languages. None of them are supported by Windows.
# Michael Kaplan on Wednesday, January 26, 2005 10:30 AM:
Urdu is already partially supported by Windows. I will forward on the list to the important people who own the "Language Roadmap" for MS products -- they are all valuable suggestions.
# Jonathan Wilson on Wednesday, January 26, 2005 4:32 PM:
the obvious question is, why doesnt microsoft take this ELK thing to the next level and allow people to build their own language kits (a kit could contain all the things needed for a language including 1 or more MSKLC
This would enable proponents of all the languages in this world that are too small for microsoft to consider viable to get their own kits done.
I can also imagine language kits being made for fictional languages like Klingon too just for fun :)
I suspect the reason it is not possible is because making new languages requires various bits of windows code itself (something microsoft can do in a service pack but that mere mortals cant do since we dont have the source code to windows)
# Michael Kaplan on Wednesday, January 26, 2005 5:11 PM:
The obvious answer is that we are planning to do just that -- and I will cover that in future posts. Think of the ELK as part 1 of the "getting out of the way" plan....
# Anonymous on Saturday, July 23, 2005 1:32 PM:
This may remind you a little of my post back in January (Does MS pull new keyboard layouts out...
# Anonymous on Tuesday, August 09, 2005 7:57 AM:
Back in January I was saying Lions and tigers and bearsELKs, Oh my when I first started talking...
# Yuhong Bao on Sunday, November 18, 2007 12:49 AM:
Windows 98 – 114 locales
Windows 2000 – 125 locales
Windows Millennium Edition – 114 locales
No superise, since Me do not have unicode support
Please consider a donation
to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.
2012/03/21 And it all started with a request that was refused....
2010/09/13 Olive, the other reindeer, gets to Sort it all Out too....
2008/05/10 Why Bengali keyboards can't be found on XP 64 bit
2007/11/02 Predictably (in retrospect), aka Where Wild^H^H^Hindows-Only Things Are, aka SHORT [on ]TIME for a LONG TIME
2007/04/14 Rhymes with Amharic #4 (a.k.a. we're all [sub]set so turning out the lights and going to [em]bed!)
2007/03/22 When language codes are reported that don't actually exist
2007/02/04 So how does that Naqittaut keyboard work, exactly?
2006/12/15 Sometimes both the question and the answer can suck
2006/11/05 It's not dead, it's just sleeping
2006/07/27 When will we support Rongo-Rongo?
2006/07/17 Appreciation, embarrassment, and redirecting thanks
2006/04/20 Sample code for getting ELK cultures on other platforms
2006/02/07 ELK cultures for other platforms
2006/01/28 Approaching linguiticalishnessality?
2005/12/17 ELKs aren't roaming where the servers are
2005/11/28 Custom keyboard, custom language?
2005/09/29 It's already in there, or it's on the way
2005/09/13 Extending collation support in SQL Server and Jet, Part 0 (HISTORY)
2005/08/09 ELK stampede!
2005/07/23 Does MS pull new locales out of their [insert stronger language here]?
2005/06/27 A quick look at Whidbey's TextRenderer
2005/06/05 Does Bengali sorting work?
2005/05/04 Collation data -- must be stable, but it must not stand still
2005/05/02 Virtual PC needs international thought about its keyboard support
2005/03/30 What does the the third letter in GIFT stand for?
2005/03/20 Mixed feelings about the splitting out of features on Longhorn
2005/03/02 Why do LCIDs skip around so much?
2005/02/10 Microsoft, you giving us some LIP?
2005/01/30 Why I don't like the IsTextUnicode API
go to newer or older post, or back to index or month or day