在HTML中选择Wicket消息的特定本地化



是否可以在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>创建的(实现起来会很简单,即使用具有两个Labels的自定义Panel,模型使用Localizer.get()来获得本地化值。

相关内容

  • 没有找到相关文章

最新更新