有人可以帮助我了解为什么使用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());
在GAE中仅记录en_US
。
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
确保将属性文件复制到WEB-INF / classs中。 您可以使用命令外壳进行检查。