gpt4 book ai didi

jsf - 在 JSF 中国际化链接的模式

转载 作者:行者123 更新时间:2023-12-04 21:46:11 25 4
gpt4 key购买 nike

我想国际化以下内容:

Click here to view our privacy policy.


here是一个超链接。以下是我目前的处理方式:
#{msg.footer_privacyPolicy1}
<h:outputLink>
#{msg.footer_privacyPolicy2}
</h:outputLink>
#{msg.footer_privacyPolicy3}
msgResourceBundle注册于 faces-config.xml ,内容如下:
footer_privacyPolicy1 = Click
footer_privacyPolicy2 = here
footer_privacyPolicy3 = to view our privacy policy.

我认为必须有更好的模式来实现这一目标。这是我不喜欢我的方法的地方:
  • 失去了实际国际化的灵活性,因为我限制了句子的语义顺序。例如,也许在某些语言中,“点击”的命令应该放在句子的末尾——但这在我的方法中是不可能的。
  • 演示文稿的机制(即超链接)正在混入内容中。如果我稍后删除超链接,或使用某种不同的超链接控件,则属性文件也需要更改。

  • 是否有更好的方法来国际化必须由表示标记机制划分的内容?

    最佳答案

    JSF 实用程序库 OmniFaces提供 <o:param> 为了确切的目的。

    footer.privacyPolicy = Click {0} to view our privacy policy.
    footer.privacyPolicy.link = here

    <h:outputFormat value="#{i18n['footer.privacyPolicy']}" escape="false">
    <o:param><h:link outcome="privacyPolicy" value="#{i18n['footer.privacyPolicy.link']}" /></o:param>
    </h:outputFormat>

    <f:param>相反,它能够将子组件编码为参数值。

    关于jsf - 在 JSF 中国际化链接的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28509871/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com