如何在运行时确定所有可用的 ResourceBundle?
我的 Java 应用程序已本地化为多个语言环境。对于每个语言环境,都有一个包含翻译的属性文件。我按如下方式加载它:
ResourceBundle bundle = ResourceBundle.getBundle("MessagesBundle", Locale.getDefault());
我想在运行时确定所有可用的资源包。这些捆绑包位于我的应用程序的 jar 文件中。
我该怎么做?
My Java app has been localised into several locales. For each locale there is a properties file with the translations. I load it as follows:
ResourceBundle bundle = ResourceBundle.getBundle("MessagesBundle", Locale.getDefault());
I'd like to determine at runtime all available resource bundles. The bundles are in my application's jar file.
How can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ResourceBundle 类没有标准方法。您可以使用(黑客解决方案) -
Thread.currentThread().getContextClassLoader().getResource() 方法或 this.getClass().getResource("/")。查看另一个具有相同标题的SO线程。
There is no standard method with ResourceBundle class. You may use (hackish solution) -
Thread.currentThread().getContextClassLoader().getResource()
method or this.getClass().getResource("/"). Have look at another SO thread having same title.如果您使用 Spring,您可以尝试使用 PathMatchingResourcePatternResolver:
If you use Spring you can try with PathMatchingResourcePatternResolver: