2010-01-14 37 views
2

我對國際化一無所知。Java i18n:每個軟件包使用一個ResourceBundle訪問器,還是一個用於整個項目?

我有一個項目有幾個包。我使用Eclipse內置的「外部化字符串」嚮導將我的類中的字符串常量提取到屬性文件,並將這些字符串替換爲對靜態訪問器的調用。因此,而不是

System.out.println("Hello, world!"); 

我最終

System.out.println(Messages.getString("MyKey")); 

,並在每包一個Messages工具類(它提供一個靜態getString方法用於獲得所希望的字符串從ResourceBundle [在這種情況下.properties文件])。每個包裝中最好有Messages課程,還是整個項目只有一個Messages課程?

回答

3

我贊成全球本地化文件。您將擁有需要重複或嵌套的重複密鑰(「確定」,「取消」),並且如果合併資源,則與外部本地化人員交互會更容易。

+0

文件越少越好。正如Michael所說,將共享字符串合併爲一個文件可以促進翻譯一致性。如果您只需要在幾個文件中查找它們,則修復錯誤更容易。 – 2010-01-15 23:22:54

+0

好的 - 你在問消息類...然後每個包一個。 – 2010-01-15 23:23:56

+0

@ Mike - 爲什麼有比資源文件更多的類? – 2010-01-16 00:59:00

3

我會保持每包一個。這樣維護/重構/單元測試就容易多了。

另外,對單個文件沒有全局依賴關係。

相關問題