外掛程式國際化

2021-05-04 05:42:56 字數 1506 閱讀 8356

外掛程式國際化

在我們的應用中,難免會遇到國際化的問題,eclipse rcp給我們提供了很好的方案,甚至可以在後期批處理完成,但如果是其它外掛程式未提供我們需要的語言版呢?我們可以如何為它們提供語言包呢?

乙個簡單的例子,你用messagedialog開啟對話方塊時,按鈕一般時:ok,cancel, yes, no,在乙個中文系統中顯得不太地道,當前,該類在構造時給了我們改正的機會,即可以在構造時傳入你需要顯示的字元,如:

messagedialog dialog = new messagedialog(parent, title, null,message, question, new string , 0);

但對於乙個國際化的系統,這樣並不合適,如果今後需要日語版/法語版呢?是否還得改**呢?

其它,eclipse能很好的通過語言包來解決這樣的問題,我們只需為指定外掛程式建立你需要的語言包,即可以使應用使用當前locale的語言。我們以為jface建立中文語言包為例來說說這個過程:

1、建立乙個fragment project

2、注意在第三步的時候,選擇你要為哪個外掛程式建立語言包(紅色標出),並選定要示的版本。

3、專案結構如下:

其中,messages_zh_cn.properties是將jface的messages.properties部分譯成中文後再用native2ascii生成的檔案。messages.properties可以按自己的要求翻譯。

下面是我的檔案的一部分,我只譯了其中的幾個lable:

ok=確定

cancel=取消

yes=是(&y)

yestoall=全部(&a)

skip=s&kip

stop=&stop

abort=&abort

retry=&retry

ignore=&ignore

proceed=&proceed

open=&open

close=關閉(&c)

經轉換後的樣子:

ok=/u786e/u5b9a

cancel=/u53d6/u6d88

yes=/u662f(&y)

yestoall=/u5168/u90e8(&a)

skip=s&kip

stop=&stop

abort=&abort

retry=&retry

ignore=&ignore

proceed=&proceed

open=&open

close=/u5173/u95ed(&c)

4、將該專案匯出為可部署的包(可通過匯出嚮導)。

5、將該包放到你自己的rcp外掛程式搜尋目錄(如plugins目錄)中即可。

6、這時,你在中文系統中執行rcp應用,相應的對話方塊label就變成了你譯成的label

7、需要做其它語言的版本,過程一樣。

軟體國際化值頁面國際化

國際化 軟體的國際化 軟體開發時,要使它能同時應對世界不同地區和國家的訪問,並針對不同地區和國家的訪問,提供相應的 符合來訪者閱讀習慣的頁面或資料。國際化又稱為 i18n internationalization 對於軟體中的選單欄 導航條 錯誤提示資訊,狀態資訊等這些固定不變的文字資訊,可以把它們...

Qt國際化之一 國際化 幫助系統和Qt外掛程式

國際化的英文表述為internationalization,通常簡寫為i18n 首尾字母加中間的字元數 乙個應用程式的國際化就是使該應用程式可以讓其他國家的使用者使用的過程。qt支援現在使用的大多數語言,特別是 在qt中,所有的輸入部件和文字繪製方式對qt所支援的所有語言都提供了內建的支援。qt內建...

資源國際化

properties 檔案裡的資源必須經過編碼,不能出現中問,日文等。且必須是ascii 碼。jdk 中bin 資料夾下的native2ascii.exe 可以把資源轉換為ascii 碼。在命令提示符中輸入 native2ascii encoding utf 8 sourcefile targetf...