dev323.net架構(gòu)全球化思想!定制各種文化及國際數(shù)據(jù)張幟軟件_第1頁
已閱讀1頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DEV323.NET架構(gòu):全球化思想!定制各種文化及國際數(shù)據(jù),張幟軟件開發(fā)工程師中國技術(shù)中心微軟(中國)有限公司,全球軟件市場全球2010年P(guān)C市場?,Source: http://news.com.com/Global+PC+market+to+double+by+2010/2100-1042_3-5490500.html,,,,,,,,,,,,,,,,,,,,,,,0,200,400,600,800,1000,1200,

2、1400,2004,2010,PC數(shù)量,(百萬),,,發(fā)展中市場,,美國,歐洲, 亞洲-,太平洋,,現(xiàn)有量,,全球軟件市場佛羅里達(dá)的語言,Source: U.S. Census 2000 (http://quickfacts.census.gov/qfd/states/12000.html),實現(xiàn)全球化的理由,不斷發(fā)展的市場跨國企業(yè)靈活性基于網(wǎng)頁的應(yīng)用或發(fā)布全球化信息交流,國際化全球用戶的期待,,World Ready,,本

3、地化,正文和數(shù)據(jù)以文化中性的格式存放,,市場特定,用戶界面的翻譯,針對特定文化增加的功能點,,一套代碼,,,,.NET架構(gòu)國際化,為很多不同文化內(nèi)置的數(shù)據(jù)和功能最佳實踐如何交換數(shù)據(jù)如何定制和擴(kuò)展.Net架構(gòu)的文化,快速測驗,下面這一天屬于哪月?03/01/2005三月?一月?以上都不是.信息不足.,格式化日期和文化,依賴文化的數(shù)據(jù),API支持?jǐn)?shù)字的格式貨幣度量系統(tǒng)日期/時間格式時區(qū)(有限)日歷字符編碼大

4、寫比較(排序)拆字(有限)字符輸出/字體字符輸入/鍵盤布局雙向布局多語言UI,無API支持紙張尺寸地址格式電話號碼格式度量轉(zhuǎn)換貨幣交換率稅適應(yīng)本地法律商業(yè)習(xí)慣,CultureInfo 和 RegionInfo,在.Net架構(gòu)中, 依賴文化的數(shù)據(jù)由CultureInfo 和 RegionInfo這兩個類管理CultureInfo 用于格式化數(shù)據(jù)載入資源設(shè)置比較字符串的規(guī)則線程設(shè)置CurrentCul

5、tureCurrentUICulture,.NET架構(gòu)的文化,.Net架構(gòu)2.0將支持超過200種文化兩種文化類型特定的由語言和區(qū)域標(biāo)識中性的語言獨有僅用于資源載入,用一套代碼處理不同的數(shù)據(jù)格式,,格式化原則,,格式化和解析,格式化標(biāo)準(zhǔn)的格式化字符定制的格式化字符解析可按風(fēng)格配置TryParse – 無轉(zhuǎn)換例外ParseExact用于日期/時間值,類型對象,適應(yīng)文化的字符串,,,格式化,解析,數(shù)字?jǐn)?shù)字的格式,

6、盡可能存儲為二進(jìn)制數(shù)據(jù)整數(shù), 十進(jìn)數(shù), 浮點數(shù)正文的中性存儲用CultureInfo.InvariantCulture格式化浮點數(shù)采用標(biāo)準(zhǔn)格式字符 “R” (可逆的),數(shù)字非阿拉伯?dāng)?shù)字,常規(guī)的格式化和解析尚不支持采用 CharUnicodeInfo 中的新函數(shù)GetDecimalDigitValueGetNumericValueGetDigitValue,數(shù)字貨幣,更適宜存儲為帶meta數(shù)據(jù)的十進(jìn)制數(shù)文化Date

7、Time采用第三方服務(wù)進(jìn)行轉(zhuǎn)換當(dāng)存儲為正文時采用中性文化可逆的正文浮點格式貨幣正文格式: ¤1,000,000.23,decimal dec = decimal.Parse("$1000000.23", NumberStyles.Currency,CultureInfo.CurrentCulture);System.Console.WriteLine("{0:C}", dec

8、);Output: $1,000,000.23,,數(shù)字度量系統(tǒng),,日期和時間,日期 – 短日期格式2005-3-1 中國格式 03/01/2005 美國格式01/03/2005 愛爾蘭格式01.03.2005 俄羅斯格式2005-03-01 朝鮮格式時間 – 短時間格式14:30 中國格式2:30 PM 美國格式14:30 日本格式?? 2:30 朝鮮格式,日期和時間什么是DateTime對象?,從公元0

9、001年1月1日起的 ticks 數(shù) (以100 毫微秒為單位)時區(qū) – 本地 vs. UTC (通用協(xié)調(diào)時間)v1.x: 沒有關(guān)于DateTime是本地還是UTC的信息v2.0: 信息固有/可定義仍不可能從一個時區(qū)轉(zhuǎn)換到另一時區(qū)UTC用于算術(shù)存儲傳輸夏令時,日期和時間DateTime格式化/解析,受控于DateTimeFormatInfo CalendarDateTime的默認(rèn)值是公歷中性的正文格式R o

10、r r (RFC1123)(Request for Comments)Thu, 09 Jun 2005 20:30:00 GMTs (ISO 8601)2005-06-09T13:30:00yyyy-MM-ddTHH:mm:sszzzzz (XML)2005-06-09T13:30:00-07:00,正文排序和比較,正文表現(xiàn),Unicode (UTF-16) 是用于正文的數(shù)據(jù)類型“解析” 正文需要時處理字符串字符處理

11、– 正文元素組合字符é = e + ?Unicode 替代對將兩個16位值組合起來代表一個字符在v2.0中對正文處理支持的改進(jìn)在v2.0中Unicode標(biāo)準(zhǔn)化,正文排序和比較,比較僅為排序的一個特例文化相關(guān)的比較使用StringComparison.CurrentCulture文化無關(guān)的比較使用StringComparison.OrdinalStringComparison.OrdinalIgnoreC

12、aseToUpperInvariant 大寫轉(zhuǎn)換性能很少隨時間改變,使用FxCop檢驗全球化,使用FxCop檢驗,FxCop – 靜態(tài)代碼分析工具可從GotDotNet網(wǎng)站下載Visual Studio Team Developer: 完整版本包括規(guī)則檢查全球化可本地化能力,擴(kuò)展架構(gòu),,擴(kuò)展架構(gòu),地球上60多億人口,即使200種文化也不夠可用以下方法擴(kuò)展文化用戶重載 定制文化從Windows數(shù)據(jù)衍生文化,用戶重載

13、,用戶的設(shè)置影響當(dāng)前缺省文化在Windows中設(shè)置區(qū)域性選項有限的可定制化字段集合僅在CurrentCulture w/ UseUserOverride = True時有效.Net架構(gòu)所有版本均支持,定制文化,已經(jīng)為機(jī)器上的所有用戶進(jìn)行了安裝允許比user overrides設(shè)置更多的字段可以替換或添加.Net架構(gòu)的文化,創(chuàng)建一種定制文化,老方法 – 重載CultureInfo麻煩僅適用于某個特定的應(yīng)用維護(hù)困難在使用

14、前克隆一些APIs,創(chuàng)建一種定制文化,新方法 – 使用 CultureAndRegionInfoBuilder (CARIB)輕便適用于所有用戶和所有應(yīng)用創(chuàng)建的CultureInfo對象與.Net架構(gòu)發(fā)布的文化對象無異,追加的文化,使用追加的文化來擴(kuò)展.Net架構(gòu)現(xiàn)有的文化集合限制單一的定制LCID沒有定制collations或日歷顯示名和本地名一樣,創(chuàng)建一種新的文化美國的西班牙語,創(chuàng)建一種新的文化美國的西班牙語,//

15、 Set the native name and DateTimeFormat information to Spanishcarib.CultureNativeName = “Español (Estados-Unidos)”;carib.GregorianDateTimeFormat = ciES.DateTimeFormat;// Keep the United States’ time patte

16、rncarib.GregorianDateTimeFormat.LongTimePattern = ciUS.DateTimeFormat.LongTimePattern;[...],創(chuàng)建一種新的文化美國的西班牙語,// Deploy the Culture on this machinecarib.Register();// Instantiate a new CultureInfo from our new data

17、CultureInfo ci = new CultureInfo("es-US");,創(chuàng)建追加的文化es-US,替換文化,重要注釋!,如果某個管理員替換了某個文化,則應(yīng)用不能訪問到Microsoft原始的定義使用CultureInfo.CultureTypes屬性來判斷CultureInfo是不是替換文化If ((ci.CultureTypes & CultureTypes. ReplacementCu

18、ltures) != 0) {…},從Windows數(shù)據(jù)衍生文化,當(dāng)某種文化在.Net架構(gòu)中不存在,卻是Windows的一個Locale時,采用這種方法例如: zu-ZA, cy-GB, mt-MT.Net架構(gòu)用Windows Locale的數(shù)據(jù)創(chuàng)建 CultureInfo,互用性和移植非微軟平臺,使用CultureAndRegionInfoBuilder.Save 生成LDML文件使用CultureAndRegionInfoB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論