程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 為Eclipse plug-in(插件)創建語言包

為Eclipse plug-in(插件)創建語言包

編輯:關於JAVA

在我們的應用中,難免會遇到國際化的問題,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、需要做其它語言的版本,過程一樣。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved