亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用.NET的System.Globalization來創建多語言應用程序

2019-11-18 12:10:38
字體:
來源:轉載
供稿:網友

  假如你計劃在你的應用程序中包括對使用各種語言的用戶的支持,那么開發它的代價不會比開發只支持英語的版本要高很多。但是假如你需要翻新一個已有應用程序,那么其代價和重新開發它差不了多少。
  
  .NET框架在它的System.Globalization名字空間中提供了對全球化(globalization,指得是支持多種語言)的支持,這樣你就可以在你的應用程序中實現多語種支持了。這個名字空間包括了若干類,用來處理許多重要的全球化問題,如文明識別字符串比較、日期和時間格式、數字格式和支持陽歷和其它歷法的日歷。你首先需要知道的一個要害的類就是CultureInfo類。(譯者注:這里的文明即culture,主要指得是語種,也包括記錄時間日期的習慣等等)
  
  
  使用CultureInfo類
  
  CultureInfo類提供了文明參數選擇的支持以及可以在每個線程(per-thread)基礎上的控制。CurrentCulture合適的處數據和數字格式、字符串比較和大小寫。CurrentUICulture屬性由開發者來設置,CLR用它來為用戶界面裝載適當的資源。你可以用CultureInfo類來為當前線程設置CurrentCulture和CurrentUICulture,如下所示:
  Thread.CurrentThread.CurrentUICulture = new CultureInfo("ja")
  Thread.CurrentThread.CurrentCulture = new CultureInfo("ja-JP")
  
  還有一些API函數可以用CultureInfo類來控制輸出:
  Str = DateTime.Now.ToString(cultureInfo);
  
  所有與文明有關的(culture-aware)類都是默認為文明敏感的(culture-sensitive),因此你只要簡單的設置當前線程的文明就可以自動給System.Globalization名字空間中的類(如CompareInfo、StringInfo和Calendar)以及核心系統類(如Resources、DataTime和String)提供針對特定文明的支持。
  
  為了可以支持更多的文明種數,你還需要在你的應用程序中全部使用符合統一字符編碼標準的字符串(Unicode string)。盡管.NET框架提供了對Unicode字符串的完全支持,不過你仍需要在編寫代碼的時候意識到所有的字符串都寫成Unicode格式。而且你還需要清楚許多依靠操作系統的操作(包括對文件系統的訪問和某些控制)并不支持Unicode格式的字符串,因此你還必須在執行這些操作之前進行顯式格式轉換。
  
  規劃本地化
  
  全球化將某些要害的數據以我們熟悉的國際通用(international)格式保存,但是假如你希望讓你的用戶得到專門為他們的文明而開發的應用程序,你就需要本地化你的應用程序。本地化包括了為特定文明創建特定資源然后再寫你的應用程序,這樣它針對程序所設定或者檢測出來的某種文明而裝載合適的資源。讓我們具體看看資源模型。
  資源模型
  
  
  .NET框架的資源模型包括了對任何可串行化對象(serializable object)的支持,它還可以擴展以支持新的格式。這就意味著除了提示符、標簽以及其它用戶界面元素上的針對特定文明的字符串之外,你還可以把聲音、圖像和其它二進制數據當作資源使用。asp.net(包括.NET Compact Framwork,它在設備的運行時間和內存的大小上有限制)和Windows Form支持該資源模型。
  
  為了本地化應用程序,你需要識別特定文明資源(你需要用它們來展開程序),然后把它們放置到一個資源文件中。簡單的應用程序只需要字符串資源(字符串中保存“名字——值”對),你可以創建特定文明的文本文件。盡管自己演示一番很有趣,但你應該用微軟ResX格式來創建資源文件。Visual Studio中有一個工具支持創建.resx文件(它包括了用xml格式對資源的描述)和.resources文件(它包括了二進制已編譯文件)。你即可以把這些文件隨同你的程序一同發布,也可以把它們編譯到一個附屬匯編(satellite assembly)中去。
  
  在命名和保存你的資源文件時,你應該保持一致性。微軟建議在命名.resources文件時,文件名應該嵌入文明名(例如,..resources),一個資源文件對應于你支持的一種文明。附屬資源匯編應該以項目名稱命名(如,.resources.dll),然后把它們放到不同的子目錄下(每個子目錄對應一種文明)。
  
  
  
  在運行時使用資源文件
  
  一旦創立了資源文件,你就可以用資源治理器(resource manager)來在運行時載入字符串和對象。資源即可以根據CurrentThread中的CurrentUICulture設置來載入(例如:RM.GetObject("Button1.Cursor")),你也可以在載入某個資源時指明文明(例如:RM.GetString("mystring", new CultureInfo("en-NZ"))。
  
  ASP.NET、.NET Compact Framework以及Windows Forms應用程序中都有資源治理器。而且Windows Forms引擎提供了額外的本地化支持。每個form都有一個可以設置的本地化屬性。當設置為“真”時,項目系統會自動跟蹤form的不同語言版本并把不同語言的form編譯到附屬匯編中去。
  
  只要你在你的原設計中考慮到本地化,那么建立international應用程序并不建立支持單一文明的應用程序難很多。在建議一個假定只支持英語用戶界面的應用程序之前,.NET體系應該詢問針對其它文明所期望提供支持的特定問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美孕妇性xx| 国产精品久久久999| 日韩一区二区av| 91啪国产在线| 国产精品av免费在线观看| 国产综合在线观看视频| www.日本久久久久com.| 91黑丝在线观看| 免费不卡在线观看av| 日韩成人激情在线| 亚洲高清一二三区| 深夜福利91大全| 国产mv免费观看入口亚洲| 97视频在线观看免费高清完整版在线观看| www高清在线视频日韩欧美| 成人久久久久久| 欧美激情免费看| 激情懂色av一区av二区av| 亚洲美腿欧美激情另类| 国产成人在线视频| 日本亚洲欧洲色α| 欧美激情欧美狂野欧美精品| 国产精品久久久久久久久男| 97人人模人人爽人人喊中文字| 欧美视频在线观看 亚洲欧| 欧美巨猛xxxx猛交黑人97人| 久久久中精品2020中文| 欧美电影第一页| 97国产精品视频| 国产美女直播视频一区| 3344国产精品免费看| 午夜精品一区二区三区在线视频| 中文字幕日韩视频| 成人免费网视频| 国产精品久久91| 成人黄色在线播放| 黑人巨大精品欧美一区二区三区| 国产精品美女视频网站| 亚洲人成电影网站色xx| 国产精品永久免费视频| 国产成人一区二区三区电影| 97国产精品视频人人做人人爱| 欧美在线视频播放| 91精品国产99久久久久久| 在线日韩中文字幕| 亚洲免费小视频| 91精品国产乱码久久久久久久久| 欧美日韩第一视频| 91在线观看免费高清完整版在线观看| 国产精品成人观看视频国产奇米| 97久久精品在线| 欧美人在线观看| 亚洲福利视频网站| 国产成人97精品免费看片| 欧美亚州一区二区三区| 国产精品99久久99久久久二8| 成人黄色片在线| 日韩av电影在线网| 欧美高清第一页| 亚洲精品国精品久久99热一| 91精品中国老女人| 久久综合伊人77777尤物| 久久露脸国产精品| 久久精品91久久香蕉加勒比| 在线精品视频视频中文字幕| 狠狠色狠狠色综合日日五| 欧美在线视频在线播放完整版免费观看| 欧美又大又硬又粗bbbbb| 91亚洲人电影| 激情av一区二区| 97在线观看视频| 亚洲电影免费在线观看| 日韩美女中文字幕| 91久久精品久久国产性色也91| 精品久久久久久久久久久久| 欧美电影在线观看完整版| 欧美疯狂xxxx大交乱88av| 日韩美女在线观看一区| 日韩欧美亚洲成人| 国产午夜精品美女视频明星a级| 在线视频中文亚洲| 欧美疯狂做受xxxx高潮| 91av免费观看91av精品在线| 亚洲成人三级在线| 在线播放日韩欧美| 国产成人亚洲综合青青| 午夜精品一区二区三区视频免费看| 亚洲欧美在线一区二区| 中文字幕日韩在线视频| 久久精品久久久久电影| 成人久久一区二区三区| 色先锋久久影院av| 亚洲成人精品久久| 狠狠躁夜夜躁人人爽天天天天97| 日韩电影免费在线观看| 97在线视频国产| 欧美视频在线观看免费网址| 中文字幕9999| 亚洲精品一区二区网址| 中文字幕日韩有码| 丝袜亚洲欧美日韩综合| 欧美一级视频免费在线观看| 日韩电视剧在线观看免费网站| 亚洲国产精彩中文乱码av在线播放| 亚洲视频777| **欧美日韩vr在线| 日av在线播放中文不卡| 日韩av一卡二卡| 一区二区欧美日韩视频| 伊人成人开心激情综合网| 久久不射电影网| 91精品国产色综合久久不卡98口| 中文字幕精品一区二区精品| 亚洲a中文字幕| 成人午夜在线观看| 国产日韩欧美自拍| 久久久久成人精品| 色偷偷9999www| 成人在线中文字幕| 欧洲成人免费aa| 欧美在线性视频| 136fldh精品导航福利| 欧美成人sm免费视频| 亚洲欧美在线看| 91热精品视频| 日本精品久久久| 国产精品美乳一区二区免费| 中文字幕一区电影| 国产精品男人的天堂| 性欧美亚洲xxxx乳在线观看| 欧美日韩国产中文字幕| 欧美专区在线观看| 欧美在线视频一区二区| 96国产粉嫩美女| 色爱精品视频一区| 亚洲肉体裸体xxxx137| 亚洲国产高清福利视频| 亚洲成人免费网站| 亚洲黄色www网站| 亚洲久久久久久久久久| 成人激情视频在线| 精品久久久久人成| 成人免费视频xnxx.com| 欧美大片网站在线观看| 国产日韩欧美夫妻视频在线观看| 不卡在线观看电视剧完整版| 91豆花精品一区| 色香阁99久久精品久久久| 91久久精品国产91久久性色| 亚洲成人1234| 国产精品久久久久久久久久久久久| 欧美激情国产高清| 欧美一级黄色网| 成人精品视频在线| 国产在线不卡精品| 亚洲а∨天堂久久精品喷水| 欧美成人精品一区二区| 91精品国产乱码久久久久久久久| 久久影院模特热| 少妇高潮 亚洲精品| 92国产精品久久久久首页| 国产免费一区二区三区香蕉精| 国产美女91呻吟求| 日韩精品中文字|