2011-08-23 85 views
2

是否有可能從位於jar中的資源包中覆蓋String屬性?如何覆蓋資源包屬性

我已經給了一堆罐子來開發一個多語言的應用程序,但罐子只包含一個資源文件,所以當我設置語言環境,比如德語,只有資源文件我提供了一個德語版本當然是翻譯的;面對來自罐子的串的用戶仍然是英語。

所以我想我需要複製,然後覆蓋(不是很好,但這是我能想到的)屬性在我的代碼中的資源文件之一,所以它可以在其他資源文件我也提供。

這可能嗎?

這可能取決於各種資源包的加載順序嗎?

的幫助

回答

1

您必須爲每個本地化(de,it,fr ...)需求提供額外的資源文件。不要在JAR中覆蓋任何內容。 瀏覽JAR並找出每個資源包文件名,並在您的應用程序中提供(在classpath中)它的本地化版本。

+0

!謝謝我會嘗試 – dm76

0

非常感謝據我理解你的問題,你有英文版本的資源包的應用程序,你想它翻譯成德語。要做到這一點,你必須購買英文資源包,創建它的副本,將其重命名爲TheBundle_de.properties,然後將所有文本翻譯成德文,並將該文件與您的應用程序一起打包,以使其可以作爲資源訪問。現在使用常規的java本地化機制,一切都會正常工作。

+0

所以我想你沒有承擔我的問題...讓我再試一次:我知道如何創建和使用各種語言的資源包。問題出在一個不同的層面:我有依賴關係(罐子),它們沒有翻譯資源bunldes,我無法更新這些罐子添加那些好點的 – dm76