原創 如何資源本地化DevExpress

2021-09-07 23:15:05 字數 1897 閱讀 9459

使應用程式支援各種語言本地化,可以使你的應用程式支援面對各個國家使用者的版本的語言。

下面以xtraeditors 為例子進行資源本地化。

你需要哪種語言版本的應用程式,你就需要建立哪種語言的assembly,其中包含該語言的本地資源。

sdk提供了本地化工具winres.exe。工具的具體使用,參見sdk幫助。

預設的情況下,xtraeditors類庫僅支援英語。要把編輯器的使用者介面轉為其他的語言,你需要手工進行。

其中xtraeditors使用的字元都是儲存在localizationres.resx 檔案中的。為建立本地資源檔案,你需要

以下步驟:

* 複製 localizationres.resx 檔案到你的應用程式目錄,並將其改名,名字遵循資源命名的規則

(例如,德語"localizationres.de.resx").檔案localizationres.resx 的路徑:

developer express inc.net\xtraeditors\sources\devexpress.xtraeditors

\devexpress.xtraeditors\localizationres.resx

注意:至於命名規則在類cultureinfo 中詳細列出。

附:zh-hk  0x0c04  中文 - 香港特別行政區 

zh-mo  0x1404  中文 - 澳門特別行政區 

zh-cn  0x0804  中文 - 中國 

zh-chs  0x0004  中文(簡體) 

zh-sg  0x1004  中文 - 新加坡 

zh-tw  0x0404  中文 - 台灣 

zh-cht  0x7c04  中文(繁體)

* 修改資源檔案。這意味著將原字串轉為目標字串。這步工作可以用visual studio .net很好的實現

* 用resgen.exe工具將.resx檔案轉換為.resources檔案。例如,用下述命令建立包含德語.resources檔案:

resgen localizationres.de.resx localizationres.de.resources

* 用al或者其他sdk工具建立乙個dll,並將.resources檔案嵌入其中。使用如下命令:

al /out:devexpress.xtraeditors.resources.dll /v:0.0.0.0 /culture:de

/embed:localizationres.de.resources,devexpress.xtraeditors.localizationres.de.resources

/keyfile:strongkey.snk

注意:1.關於al工具的使用可以檢視sdk幫助。

2.這裡需要的strongkey.snk應該是和devexpress~使用的相同。如果有必要的話,你可以將

.resources檔案傳送到[email protected] ,讓公司來編譯。

應用到本地物件:

xtraeditors 的執行時使用者介面可以載入localizer物件。為此,你需要首先建立乙個localizer的子類,

接著,重寫localizer.getlocalizedstring方法,這樣就可以改變編輯介面的標題了。最後需要的就是將

localizer例項化,並賦值給localizer.active屬性,以使其生效。

// creating the localizer descendant

public class germanlocalizer : localizer

return "";}}

using devexpress.xtraeditors.controls;

private void form1_load(object sender, system.eventargs e)

新時尚Windows8開發(6) 資源 本地化

老周的部落格專欄 在實際開發中,也許我們需要做這樣的介面,可分為兩種情況 1 應用程式具備多語言版本 如中文簡體,中文繁體,英文等 使用者介面上顯示的文字會根據系統的情況自動套用資源,比如我的系統是簡體中文版的,那就使用簡體中文的資源檔案中的內容。2 使用者可以選擇語言如簡體中文 正體中文。根據使用...

go web本地化資源

本資訊是編寫web應用中最常用到的,也是本地化資源中最多的資訊,想要以適合本地語言的方式來顯示文字資訊,可行的一種方案是 建立需要的語言相應的map來維護乙個key value的關係,在輸出之前按需從適合的map中去獲取相應的文字,如下是乙個簡單的示例 package main import fmt...

資料本地化儲存 如何選擇

巨集定義,直接根據檔名稱,拼接檔案的絕對路徑,pragma mark 寫入檔案 ibaction writtofile id sender pragma mark 讀取內容,讀取字串的內容 ibaction readfromfile id sender pragma mark 寫入檔案 ibacti...