開發全球通用應用程式的最佳做法

2022-08-20 03:54:14 字數 2487 閱讀 2494

開發全球通用應用程式的最佳做法

本節描述在開發全球通用的應用程式時應遵循的最佳做法。

全球化最佳做法

在內部使應用程式**成為 unicode。

使用 system.globalization

命名空間提供的區域性識別類來操作和格式化資料。

在適當的情況下,使用 system.globalization..::

.cultureinfo

類提供的區域性屬性設定。使用 cultureinfo..::

.currentculture

屬性來執行格式化任務,如日期和時間或數字的格式化。使用 cultureinfo..::

.currentuiculture

屬性來檢索資源。請注意,currentculturecurrentuiculture屬性可以基於每個執行緒來設定。

通過使用 system.text

命名空間中的編碼類,使應用程式能夠與各種編碼相互進行資料讀寫。不要採用 ascii 資料。假定在使用者可以輸入文字的任何位置都將提供國際字元。例如,在伺服器名、目錄、檔名、使用者名稱和 url 中接受國際字元。

使用 utf8encoding

類時,出於安全原因,建議您使用此類提供的錯誤檢測功能。要開啟錯誤檢測功能,請使用帶有 throwoninvalidbytes 引數的建構函式建立該類的例項,並將 throwoninvalidbytes 的值設定為true

盡可能將字串按整個字串處理,而不是按一系列個別字元處理。這在排序或搜尋子字串時尤為重要。這可以防止與分析組合字元有關的問題。

使用 system.drawing

命名空間提供的類來顯示文字。

為保持作業系統間的一致性,不要允許使用者設定重寫 cultureinfo

。使用接受 useuseroverride 引數的cultureinfo建構函式,並將該引數設定為false

在國際作業系統版本上使用國際資料來測試應用程式功能。

如果安全決策基於字串比較或大小寫更改操作的結果,請通過顯式指定 cultureinfo..::

.invariantculture

屬性來執行不區分區域性的操作。這種做法確保結果不會受cultureinfo.currentculture的值的影響。有關說明不區分區域性的字串比較如何產生不一致結果的示例,請參見自定義大小寫對映和排序規則

。本地化最佳做法

將所有可本地化的資源移動到單獨的純資源 dll 中。可本地化的資源包括使用者介面元素,如字串、錯誤資訊、對話方塊、選單以及嵌入的物件資源。

不要對字串或使用者介面資源進行硬編碼。

不要將不可本地化的資源放在純資源 dll 中。否則會使翻譯人員產生困惑。

不要使用在執行時從串聯片語生成的復合字串。復合字串難以本地化,因為它們往往採用英語語法順序,而此順序並不適用於所有語言。

避免不明確的構造,如「empty folder」,因為根據字串組成部分的語法規則,這些字串可能產生不同的翻譯。例如,「empty」既可以是乙個動詞,也可以是乙個形容詞,因此在諸如義大利語或法語等語言中就可能導致不同的翻譯。

避免在應用程式中使用包含文字的影象和圖示。本地化這些影象和圖示的成本是很大的。

允許在使用者介面中為字串長度的擴充套件保留足夠的空間。在某些語言中,片語可能另外需要百分之五十到百分之七十五的空間。

使用 system.resources..::

.resourcemanager

類來根據區域性檢索資源。

使用 microsoft visual studio 2005 建立 windows 窗體對話方塊,以便可以使用 windows 窗體資源編輯器 (winres.exe)

對它們進行本地化。不要對 windows 窗體對話方塊進行手動編碼。

安排進行專業本地化工作(翻譯)。

有關建立並本地化資源的完整說明,請參見「應用程式中的資源」

。asp.net 應用程式的全球化最佳做法

在應用程式中顯式設定 currentuiculture

和 currentculture

屬性。不要依賴於預設設定。

請注意,asp.net 應用程式是託管應用程式,因此可以使用與其他託管應用程式相同的類,以根據區域性檢索、顯示和操作資訊。

注意在 asp.net 中可以指定以下三種編碼型別:

在 asp.net 應用程式中的以下三個位置指定requestencodingresponseencodingfileencodingcultureuiculture屬性的值:

請注意,uiculture可以設定為瀏覽器接受語言。有關詳細資訊,請參見 asp.net 快速入門

中的「使用資源」示例。

Windows Phone 應用程式的全球化

本文 自 windows phone 應用程式的全球化跟silverlight做法一樣,如果大家熟悉silverlight的全球化,可以不看此文。本文乙個具體的demo介紹wp7應用程式如何實現本地化,並在本地化的一些注意點。1.建立windows phone 7 應用程式,命名為wp7global...

企業應用程式的最佳開源替代

經濟危機之下,2009年的it預算顯然要砍掉許多,也許你需要重新考慮購買何種企業應用軟體,這篇文章介紹了25款最佳的開源替代 color red b 生產力軟體 b color url office url 當仁不讓的替代ms office,color red b 客戶關係管理軟體 b color ...

WinCE應用程式的開發

wince應用程式的開發是wince開發中很重要的乙個環節。本文將簡單介紹一些wince應用程式開發的基本概念。先說開發工具,目前用得比較多的開發工具有evc4 sp4 vs2005 vs2008和platform builder。其中platform builder主要是用來定製作業系統的,雖然也...