為Eclipse plug-in(外掛程式)建立語言套件

來源:互聯網
上載者:User
建立

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



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.