【问题标题】:Resource Bundle - anyone who care to explain?资源包 - 任何愿意解释的人?
【发布时间】:2012-09-02 07:15:08
【问题描述】:

再一次,我为我的项目提出了一些要求,我觉得我完全是一个 Java 新手...... 无论如何,最近有人告诉我 ResourceBundle。我真正的问题是,我一般无法理解该类的 Oracle 文档,而且我遇到了一些奇怪的编译时错误。
首先,我制作了三个捆绑 mwb extends java.util.ResourceBundle,第二个 mwb_el extends mwb 和第三个 mwb_en extends mwb。我创建了一个contents 类型为Object[][] 的变量并编写了一个getContents() 方法return cotents;!然后我进入每个班级并更改每行中第二个字段的值(不是键,值)。不,我被困在我无法真正了解如何处理获取价值的地步。 我检查了一些教程和示例,但我更加困惑。我需要有人向我解释:

  1. 如何使我在类中创建和初始化的 mwb 对象获得我想要的语言环境 它到。

  2. 我如何获得某个值。我什至尝试了getObject(),getString() getContents() 甚至覆盖了 handleGetObject() 到 没用。

    提前致谢! :)

【问题讨论】:

  • 为什么要扩展ResourceBundle?如果可能的话,向我们展示你在做什么。另请查看本教程 - docs.oracle.com/javase/tutorial/i18n/intro/after.html
  • 那我应该如何制作我的资源包呢?我看到我制作了一个.properties 文件。它只是一个带有这个扩展名的文本文件吗?

标签: java localization resourcebundle


【解决方案1】:

属性文件应该在键/值对中包含消息。

例如

键1=消息1 键2=消息2

如果您有一个名为“MessagesBundle_en_US.properties”的资源文件,您可以按如下方式加载它。

Locale locale = new Locale("en", "US");
ResourceBundle messages = ResourceBundle.getBundle("MessagesBundle", locale);

那么messages.getString("key1") 应该返回“message1”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    相关资源
    最近更新 更多