java - 使用 Java 国际化 (i18n) 修改 Wicket 的 XML 资源包

标签 java xml internationalization wicket

在资源 XML 中,有与键关联的所有这些值。我想直接从 Java 修改与键关联的值。

例如,我有 <entry key="greetingMessage">Welcome to my app</entry>这显示在 View 中,而且还可以从 View 中修改消息,并且我希望在 XML 中自动更新。

我通过使用 javax.xml 解析和更改 XML 成功做到了这一点和org.w3c但我觉得我错过了一些东西。Java 国际化或 Wicket 框架有办法实现这一点吗?

最佳答案

Wicket 仅具有读取 i18n 资源的功能(例如,XmlFilePropertiesLoader)。 Wicket 6 代码中不使用 Properties.storeToXML(),而 Properties.loadFromXML() 用于读取这些 XML 属性文件。

要将这些翻译存储回 XML 文件,您需要小心。至少,必须实现同步以确保同时编辑的内容不会丢失。

我不建议将编辑内容存储在 XML 中(尤其是在原始 XML 文件中)。拥有两个级别的属性似乎更好:

  1. 首先,不可变级别,基于原始(且不可变)XML 文件。
  2. 由“编辑”组成的第二级就像第一级上的补丁。它可以存储在数据库中,这对于存储不断更新的数据(例如此类编辑)更加方便。

关于java - 使用 Java 国际化 (i18n) 修改 Wicket 的 XML 资源包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43188899/

相关文章:

regex - 如何匹配所有国际化文本?

python - 将 blocktrans 与 "with"和 "count"关键字一起使用

java网络摄像头调整快门速度

xml - 如何使用 xsd 命名空间

c++ - 为什么 boost::property_tree::read_xml 抛出读取有效的 Office Open XML?

xml - 如何使用 XSD 基于属性值约束 XML 元素内容类型

css - 汉字的辅助字体

java - 如何将 Magnolia cms 与 hibernate 搜索集成?

java - 在 eclipse 上更改 JRE 时构建项目

java - 如何使用 Guice 的 AssistedInject?