PC52 Yaniv Feinberg Senior SDE Microsoft Corporation Erik Fortune Principal Dev Lead Microsoft Corporation Non-English Speakers 91.5% Other English Speakers 3.4% Native English Speakers 5.1% Developers rely on system settings to guess the language of a user’s text • Windows needs reliable user language detection to help developers provide appropriate user experiences • Users compute in more than one language, so we need more than just a one-size-fits-all system setting Gaps in developer support for key markets like India, China, and Eastern Europe • Windows needs market-relevant features targeted towards users in these emerging markets • Developers can use these features to extend the reach of their applications into emerging technology markets Developers have to build and deploy their own advanced linguistic functionality • Windows needs more centralized APIs to provide scalable, world-ready linguistic support • These APIs need to be easy to learn and use New globalization functionality for developers Language detection • Detect the language of a user’s text Script Detection • Detect the writing system of a user’s text Transliteration • Convert text from one writing system to another Scenarios Usage highlights in Windows 7 • Word processing: Word breakers and proofing tools can be customized for user’s language • Search: Faster index searches based on language of query • Content targeting: Display dynamic content to users based on their language preference • • • • Support for 100+ languages Support for mixed language scenarios Support for short strings (single sentence detection) Available through ELS APIs Scenarios Usage highlights in Windows 7 • Enable smart font selection • Prevent spoofing: Make sure that the characters users think they are seeing are the ones they are actually seeing • Supports every script encoded in the most recent version of Unicode (Unicode 5.1) • Supports text analysis by range, where individual writing systems are detected in the string and labeled Language And Script Detection Yaniv Feinberg Senior SDE Windows International Scenarios • Chinese Simplified <> Traditional conversion helps Chinese speakers talk to each other • Helps users understand the pronunciation of strings that are written in an unfamiliar writing system Usage highlights in Windows 7 • Callers can select a specific or all possible transliterations • Provides linguistic coverage for Traditional Chinese<>Simplified Chinese, as well as Cyrillic, Bengali, Malayalam, and Devanagari >Latin • Available through ELS APIs Instant Messaging Yaniv Feinberg Senior SDE Windows International • Get list of services that the application cares about Enumerate • Send text to platform and ask services for ranges of text that they recognize Recognize • Return text results Results Application Layer Applications Russian text, Transliteration Russian text, all services Platform Layer Service Layer Latin form ELS Platform Latin form Cyrillic Transliteration Script Detection Russian Language Detection Future Services Erik Fortune Principal Dev Lead Microsoft Corporation M U I en-US binary Code en-US MUI File Language Neutral Resources (en-US) Binary ja-JP binary Code ja-JP MUI File Language Neutral Resources (ja-JP) Binary UI Language Fallback List Example fr-FR, es-ES Thread Preferred fr-FR es-ES de-DE ar-SA en-US ca-ES fr-FR es-ES Process Preferred User Preferred System Preferred System Default de-DE ar-SA en-US ca-ES Fully Merged Preferred UI Language List fr-FR es-ES Recommendation <?xml version="1.0" encoding="utf-8"?> <localization> <resources> <win32Resources fileType="Application"> <neutralResources> <resourceType typeNameId="#16" /> </neutralResources> <localizedResources> <resourceType typeNameId="#2" itemId="5 6 7 8 9 10 11 12" itemName="HTML PRI" /> <resourceType typeNameId="#4" /> <resourceType typeNameId="#16" /> </localizedResources> </win32Resources > </resources> </localization> RC Compiler (Source Localization) Source code Compiler Compiled .OBJ file Linker Localization LN PE file (foo.exe) Compiled LN resources .RC files .RC files Localized .RC files RC.exe RC Config file Compiled Localized resources Linker MUI files (foo.exe.mui) RC Compiler (PE Localization) Source code Compiler Compiled .OBJ file Linker LN PE file (foo.exe) Compiled LN resources .RC file RC.exe RC Config file Localization Compiled localizable source resources Linker MUI file (foo.exe.mui) MUIRCT (PE Localization) Source code Compiler And Linker LN PE File (foo.exe) Executable (foo.exe) MUIRCT. exe .RC file RC Config file MUI file (foo.exe.mui) Localization Redirection Probing www.microsoftpdc.com © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. http://msdn.microsoft.com/GoGlobal yanivf@microsoft.com erik@microsoft.com