是否可以在HTML中强制使用Wicket消息的语言
我有一些wicket页面和通用组件,当用户的语言环境已知时和未知时都会使用它们。当区域设置未知时,我需要用两种官方语言(本例中为英语和德语(显示消息。目前,我已经为这两种语言制作了特定语言的页面;未知";案例:
MyComponent.html
MyComponent_en.hmtl
MyComponent_de.html
";未知";页面(MyComponent.html(包含两种语言的消息元素。目前,其中一种语言是默认的,对于常见组件,我不得不通过将语言代码附加到消息键来复制其他语言的消息:
MyComponent.html:
<span lang="en"><wicket:message key="myMessageKey"/></span>
<span lang="de"><wicket:message key="myMessageKey.de"/></span>
wicket_package.properties:
myMessageKey=My hovercraft is full of eels
myMessageKey.de=Mein Luftkissenfahrzeug ist voller Aale
wicket_package_de.properties:
myMessageKey=Mein Luftkissenfahrzeug ist voller Aale
显然,这种本地化的重复是疯狂的有没有一种方法可以让我在HTML中强制使用wicket:message的语言,并避免重复本地化?我要找的是类似<wicket:消息键=";myMessageKey"lang=";de"/>或任何类似的东西。
一种选择似乎是制作我自己的WicketMessageResolver
,但如果我能避免的话,我宁愿不做这项工作
当前Wicket(9.8.0(中没有此类功能。
我也会犹豫是否要实现类似WicketMessageResolver
的东西!但使用非自动组件(自动组件都是从标记-<wicket:xyz>
创建的(实现起来会很简单,即使用具有两个Label
s的自定义Panel
,模型使用Localizer.get()
来获得本地化值。