The 2008 Professional Developers Conference introduced several new features that can be expected with the release of Windows 7, one of which is the new support for writing language-aware applications. The presenters of one session pointed out why globalization really matters: over 90% of the world population does not speak English at all, and only 5.1% of the remaining percentage speaks it natively. If a developer provides an application only in English, then the developer is neglecting a vast majority of the population and severely limiting the usage of his or her application.
In the past, it has been cumbersome to say the least to provide support for multiple languages. Developers have had to guess the current language by looking at local settings, or in the case of Web applications, HTTP header information, which could very often provide inaccurate results. Windows 7 will change all of this with a set of APIs, called Extended Linguistic Services, which will initially provide the following features:
· Language detection: detect the language of a user’s text.
· Script detection: detect the writing system, or alphabet, of a user’s text (some languages have multiple alphabets).
· Transliteration: convert text from one writing system to another; i.e., Chinese Simplified to Chinese Traditional.
· Support for 100+ languages.
· Support for mixed languages (many users prefer to perform one set of tasks in one language, and another set of tasks in another language).
To access the services, a developer will:
1. Call enumeration to get the list of available services (i.e., MappingGetServices()).
2. Pass the text to the selected service (i.e., MappingRecognizeText()).
3. Do something with the results that are returned by the service based on what it discovered (i.e., text not recognized, text recognized and it is Japanese, text recognized as Chinese Simplified and can be transliterated to Chinese Traditional).
Developers can expect to follow the same general procedure for accessing new services that are added in the future. One of the Windows 7 team’s main goals in providing this set of APIs is to make the experience intuitive and easy to learn, and to not force developers to learn something new each time another service is released, which I’m sure we can all appreciate.
To watch the session, visit Channel 9 on MSDN, Windows 7: Writing World-Ready Applications.