- From: Kentaroh Noji <NOJIK@jp.ibm.com>
- Date: Tue, 21 Jan 2003 16:54:18 +0900
- To: public-i18n-ws@w3.org
Hello, Addison wrote>> >Action Items: > >1. Martin: will follow up with Russ Rolfe in case >MS has any space in Prague for an FTF. >This is a low priority item. >2. Team: write up and send to list a "position" >on the locale problem (See notes below for >what that means). Due prior to next meeting. The following is my POV descriptions. My view focuses on interoperability. If introducing RFC3066 style lang tag as it is to Web Services Locale model, a result of Web Services loses functional interoperability due to locale implementation differences of service runtime environment. Introducing locale model for web services, we need to consider a framework to keep i18n functional interoperability in heterogeneous Web Services operating environment. The following description is current my concerns about Language/Locale/i18n context management. * * * * * 1. Language and Locale Problem: Because the most of basic Locale naming rule is a pair of language and region, Language is usually a part of Locale name. On the other hand, Language tag "en-US" means American English, and Locale "en_US" means language: English(US), and the country: United States. What is the difference between locale and language? My view: Language is a part of Locale if they are mainly used for messages of user interface. However, if locale links other data processing such as collation, data exchanging etc, locale becomes different semantics from language. For example, "Invest $100,000" is an en-US messages and it can be generated from en_US locale sensitive functions such as Java NumberFormat, ResouceBundle and the default currency. On the other hand, data "$100,000" is English message, but it may be, or not related to default currency of en_US locale because currency is attributed to actual monetary data instead of locale, according to some application scenarios. For example, when monetary data $100000.00 is sent from an account of a bank of US(en_US) to an account of bank of France(fr_FR), it must be $100000.00 as it is, or it is exchanged into €93773.45 by an exchange rate. An account user which prefers French culture wants to see the monetary data such as "100 000,00$" or "93 773,45€". An account user which prefers American culture wants to see the monetary data such as "$100,000.00" or "€93,773.45". In summary, en-US message "Invest $100,000.00" "Invest €93,773.45" en_US default currency: $ fr-FR message "Invest 100 000,00$" "Invest 93 773,45€" fr_FR(after 1999) default currency: € The most of existent locale model focuses on data formatting for UI, or sensitive functions in stand alone operating environment. It does not focus on how to exchange data which is affected by locale, and how to process data in heterogenous distributed environment. The important point is that Web Services is used for messaging, data processing and data exchanging in heterogenous distributed environment. That's why we need to make the applicable Web Services area which are affected by Language/Locale negotiation clear. * * * * * 2. Locale data differences by platforms Problem description: There is locale implementation differences usually. For example, the following is the current date formatting result of ja_JP locale. Java: 2003/01/15 Linux: 2003年01月14日 Windows: 2003/01/15 The following examples are usual locale sensitive messages using locale sensitive format. Message examples a) English "Invest $100,000 on 1/15/2003" b) Japanese(Java ja_JP locale) "2003/01/15に¥100,000投資せよ" = "Invest ¥100,000 on 2003/01/15" c) Japanese(Linux ja_JP locale) "2003年01月15日に¥100,000投資せよ" = "Invest ¥100,000 on 2003nen01gatsu14ka" My view: If the locale/i18n context is used for simple user interface, the locale implementation differences is not so critical problem. User can adjust the differences. However, 1) In heterogenous environment, both message b) and c) can be displayed on the same interface, because Web Services can aggregate both messages using an user interface aggregation scenario. The data format differences is unsightly. 2) If locale/i18n context is used for data processing, the locale implementation differences become problem because the result is varied by locale implementation environment. For example, if a requester requests a string comparison in ja_JP locale, the result of Java based Web services is not the same as the result of Linux based Web Services. Needs a mechanism to keep i18n consistency for service results. * * * * * 3. Locale Identifier Problem: Locale naming rule is various. In homogeneous environment, locale name is equal to locale identifier. However, heterogenous environment such as Web Services, locale name is not equal to Locale identifier because naming rule is differed by Web Services runtime environment. My View: Needs an interoperable locale identification framework to identify any locales in Web Services. * * * * * 4. Categories of locale Problem: Locale categories are varied by requester/provider's runtime environment. Linux/POSIX/XPG: Collation, Character Classification, Datetime format, Numeric format, Currency format, YesNo Response format, Code set. Java: ISO 3 lang, ISO 3 country, Languages, Countries, Collation, Datetime format, Numeric/Percent/Currency format. Windows XP NLS info: LCID, Locale name, Language, Code page, Number format, Currency format, Datetime format, Calendar. Among above environment, interoperable common locale categories are Datetime/Numeric/Currency data format only. Needs an interoperable locale related categories/functions for heterogeneous Web Services operating environment. * * * * * Kentaroh Noji
Received on Tuesday, 21 January 2003 03:17:44 UTC