2

有人能幫助我理解爲什麼使用ResourceBundle進行國際化在Google App Engine Servlet中無法像在命令行Java應用程序中一樣工作嗎?Google App Engine Servlet中的ResourceBundle無法按預期工作

下面的代碼片斷:

ResourceBundle resource_en_US, resource_de_DE, resource_ja_JP;

resource_en_US = ResourceBundle.getBundle(bundleBasename, Locale.US); resource_de_DE = ResourceBundle.getBundle(bundleBasename, new Locale("de_DE")); resource_ja_JP = ResourceBundle.getBundle(bundleBasename, new Locale("ja_JP"));

logger.info("resource_en_US:" + resource_en_US.getLocale()); logger.info("resource_de_DE:" + resource_de_DE.getLocale()); logger.info("resource_ja_JP:" + resource_ja_JP.getLocale());

僅記錄GAE中的。

resource_en_US:en_US

resource_de_DE:en_US

resource_ja_JP:en_US

但登錄命令行Java程序相應的語言環境。

resource_en_US:en_US

resource_de_DE:de_DE

resource_ja_JP:ja_JP

回答

0

確保你的屬性文件被複制到WEB-INF/classes中。您可以使用命令外殼檢查出來。

+0

Hi @ nacho-coloma,我使用Eclipse作爲開發環境,並將這些文件複製到/war/WEB-INF/classes。 – tanji