gpt4 book ai didi

java - 将 resourceBundle 与外部文件一起使用,java

转载 作者:行者123 更新时间:2023-12-03 23:20:23 25 4
gpt4 key购买 nike

我一直在阅读与此相关的其他问题和答案,但我没有完全了解资源绑定(bind)的工作原理。我认为这与 Joomla 使用多语言选项的方式类似。基本上,您拥有针对不同语言的不同消息的文件。所以我在 src/Lang 文件夹中创建了 System.properties我在里面创造

STARTING_MYAPP=Starting my app

我在这里可能是错的,但无论如何我无法读取默认文件。现在我脑死亡了,我看不懂任何东西我就是这样做的

Locale locale = Locale.getDefault();
String basename ="System";
ResourceBundle resourceBundle = ResourceBundle.getBundle(basename, locale);
System.out.println(resourceBundle.getString("STARTING_MYAPP"));
//UserPreferences UserPrefs = new UserPreferences();

当我调用 getBundle() 时,它有两个输入,基本名称和语言环境,对吧。我在使用基本名称时遇到问题。如果我的文件在src/lang/System.properties里面,我应该怎么找呢。 basename="System", basename="Lang/System", basename="System.properties", basename="myProject.label".

我尝试了所有这些和更多的组合,但没有用,我总是得到类似的东西线程“main”中的异常 java.util.MissingResourceException:找不到基本名称系统的包,区域设置 en_US

关于语言环境,我如何将其保留为默认值,这样我就不必使用 System_en_US.properties 或类似的东西。

最佳答案

basename 的结构类似于一个完全限定的类名(因为资源包可以是类),所以如果你的类路径根是 src 并且资源是一个文件 src/lang/System .properties,则基本名称为 lang.System

About the locale, how I leave it up to default, so I dont have to use a System_en_US.properties or something like that.

只需使用 getBundle()仅采用基本名称的方法。

关于java - 将 resourceBundle 与外部文件一起使用,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com