2

有人可以帮助我理解为什么国际化使用ResourceBundle在 Google App Engine Servlet 中无法像在命令行 Java 应用程序中那样工作吗?

以下片段:

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());

en_US在 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

4

1 回答 1

0

确保您的属性文件被复制到 WEB-INF/classes 中。您可以使用命令外壳检查这一点。

于 2012-05-26T09:18:36.417 回答