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

时间:2017-04-03 15:43:38

标签: java xml internationalization wicket

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

例如,我有<entry key="greetingMessage">Welcome to my app</entry>,这会显示在视图中,但也可以从视图中修改消息,我希望在XML中自动更新。

我已经设法通过使用javax.xmlorg.w3c解析和更改XML来实现这一目标,但我觉得我遗漏了一些东西.Java国际化或Wicket框架是否有实现这一目标的方法?

1 个答案:

答案 0 :(得分:1)

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

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

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

  1. 首先,immutable,level,基于原始(和不可变的)XML文件。
  2. 第二级包含&#39;编辑&#39;就像第一级补丁一样。它可以存储在数据库中,该数据库更便于存储不断更新的数据(如此类编辑)。