370 likes | 507 Views
Windows 2000 The Fruits of Unicode. Russ Rolfe Microsoft Corporation Program Manager. Agenda. Background Languages and Locales MultiLanguage User Interface Version (MUI) Conclusions & Resources. Goals. User: Support all modern languages in all parts of the operating system
E N D
Windows 2000The Fruits of Unicode Russ Rolfe Microsoft Corporation Program Manager
Agenda • Background • Languages and Locales • MultiLanguage User Interface Version (MUI) • Conclusions & Resources
Goals • User: Support all modern languages in all parts of the operating system • Administrator: Make it easier to maintain worldwide deployment of the OS
Tactics • Deliver worldwide single binary • Everything is Unicode • Rely on Uniscribe and OpenType • Localize for 24 languages (including Arabic & Hebrew) • Allow single version to support multiple UI languages
Single Worldwide Binary • NT4 had 3 binary types • Windows 2000 has Identical binaries, regardless of language • Resources are different • Non-Win32 binaries are different
Single Binary Benefits • Users: • Simpler, faster support and update • Shorter localization deltas • Multilingual content • Localized applications • Developers • Single binary applications • Develop on any version of Windows 2000 • Windows 2000 MultiLanguage Version
API Changes • Most changes are transparent to developers and existing code • Unicode makes representation easy • Multilingual for no extra effort
Languages and Locales • Concepts • Evolution of locale • New concepts • Implementations • Unified locales • New locales
User Locale • Represents preferences of user’s culture: • Sort order • Calendar • Casing rules etc • Really thread locale • Change is dynamic
System Locale • Is not really a locale • Affects Windows 95/98 (ANSI) application compatibility • No effect on Unicode application • Has a few side-effects • Change requires a reboot & privilege
Input Locale • Pairs a language & keyboard layout • Includes both keyboard drivers and input methods • Also affects cut & paste • Change is dynamic
UI Language • Just a language (no cultural or regional implications) • Controls resources loaded for dialogs and menus • Available only in Windows 2000 MultiLanguage Version • Change requires log-off/logon
Locale Implementation • 126 locales (21 entirely new) • All ship with all versions of Windows 2000 • Includes necessary fonts, keyboards etc • NT4: 105 total but only ~80 with U.S. English • First Unicode-only locales
Arabic, Urdu & Farsi • 16 Arabic locales plus Farsi and Urdu • 6 calendars (Gregorian & Hijri + transliterations) • Digit substitution (National, Contextual, None) • ANSI: 1256; OEM: 720
Hebrew • Gregorian and Hebrew calendars • Hebrew keyboard • Hebrew extended keyboard (Yiddish) via Windows Update • No support for “visual order” • ANSI: 1255; OEM: 862
Thai • Gregorian and Thai Buddhist calendars • Digit substitution • Simple sequence checking on input • Simple word wrapping • ANSI: 874; OEM: 874
Indian Locales • Hindi, Sanskrit, Konkani, Marathi plus Tamil • Entirely new for Windows 2000 • Digit substitution and unusual digit grouping • Rely heavily on OpenType & Uniscribe • Cannot be system locale (no ANSI or OEM code page)
Other New Locales • Political changes: • Tatar, Uzbek, Kazakh, Georgian, Azeri (Cyrillic & Latin), Armenian • Armenian & Georgian–Unicode only
Language and Locale Futures • Additional keyboards and fonts • Windows Update • More Indian support • More script support • Unicode 3.0 compliance • Improved font linking
Locale and Language Summary • Windows 2000 supports most modern languages • Every version supports every locale • System locale less significant
MUI Version Goals • Allow users to choose the language in which they work. • Allow administrators to support such users independent of location • Language is just a setting
Big burden to deploy and maintain: English OS Arabic OS Japanese OS NOW Windows 2000 MultiLanguage Version PAST MUI Version Scenario Needed to deploy: To support: English users Arabic users Japanese Users 3 different versions of the operating system 3 different service packs 3 different release schedules Need to deploy: Deploy & maintain: To support: English users Arabic users Japanese Users • 1 Version • 1 Service pack • 1 Release schedule
Implementation • “Magic” is in the resource loader and build process • Resources and all UI calls must be Unicode since system locale does not change • Resource files are identical to localized resources
Details & Availability • Languages of menus and dialogs is a per-user setting • Installable language modules • Sold through MOLP, Select, and Enterprise Agreement • Available to developers through MSDN • Available on new machines (some manufacturers)
MUI Version Lowers TCO (Total Cost of Ownership) • Enables roll out of one OS worldwide • Eases system support and administration • One workstation shared between different language users
MUI Version TCOReal World Examples: • Company One • MUI version deployed on 11,525 PCs in 30 countries world-wide • Benefits offset cost of application upgrade
MUI Version TCOReal World Examples: • Company Two • Deployment increased international users productivity by 1.7%. • Note: • Employee rate = $60/hr • Employee works about 2000 hrs/yr • 1% productivity gain = $60 x 2000 x .01= $1200/yr/emp • If 1000 employees benefit, then cost savings =1000 x $1200 = $1.2 million/yr
Final Conclusions • Worldwide, single binary OS is achievable and worthwhile • Windows 2000 is a milestone in Unicode’s adoption • MultiLanguage Version • Surrogate Support • Benefits of Unicode now extend to everyone, not just the multilingual community
Hardcopy Resources • Microsoft Systems Journal: • Nov 1998 and Apr 1999 • Windows 2000 SDK • Developing International Software for Windows 95 and Windows NT by Nadine Kano, Microsoft Press (no longer published) http://msdn.microsoft.com/library/ books/devintl/S24AB.HTM
On-line Resources • Windows 2000 Globalization: http://www.microsoft.com/globaldev • Newsgroup:Microsoft.public.win32.programmer. international • E-Mail Help:drintl@microsoft.comgdhelp@microsoft.com • OpenType: http://www.microsoft.com/typography