【问题标题】:Internationalization with Seam 2.2.2Seam 2.2.2 的国际化
【发布时间】:2011-11-09 01:27:29
【问题描述】:

我有一个 jboss seam 2.2.2 项目,这是我第一次在这个框架中使用国际化。我已经设置了默认语言环境,并且使用全局 messages_XX.properties 已经可以工作了。 好吧,这个项目正在快速增长,为了更好的组织和易于维护,我希望将消息更好地组织在特定页面的各种属性文件中。 Seam documentation on internationalization 提到这一点,并在特定段落中说:

如果您只想为特定页面定义消息,您可以 在与 JSF 视图 ID 同名的资源包中指定它, 删除了前导 / 和尾随文件扩展名。所以我们可以 如果我们只需要,将我们的消息放入welcome/hello_en.properties 在 /welcome/hello.jsp 上显示消息

此段可在:http://docs.jboss.org/seam/2.2.2.Final/reference/en-US/html/i18n.html#d0e14166

文档提到了带有 .jsp 扩展名的页面,但在我的情况下,我使用的是 facelets,我拥有的是一个 .xhtml 文件,因此对于我的 home.xhtml 页面,我创建了一个 home_pt_BR.properties 文件,该文件是我的默认语言环境 pt_BR应用程序,我已经在这个 .properties 文件中放置了这个特定页面的消息。

实际上这种方法对我不起作用。

我也尝试在 faces-config.xml 和 pages.xml 中注册页面,但这似乎不起作用。

那么,如何配置 Seam 以支持我的应用程序的多个捆绑文件?

【问题讨论】:

    标签: internationalization seam facelets bundle


    【解决方案1】:

    您可以将捆绑文件添加到 components.xml

    例如:

    <core:resource-loader>
        <core:bundle-names>
            <value>messages</value>
            <value>strings</value>
        </core:bundle-names>
    </core:resource-loader>
    

    【讨论】:

    • 我不确定您的建议是什么,但我会看看这个选项。你可以再详细一点吗?我在哪里声明捆绑包名称?每个值标签都有一个捆绑名称吗?
    • 嗨,我看了一下建议的方法,实际上它不能满足我的要求,因为它会是禁止和维护地狱来跟踪系统中的所有捆绑文件conponents.xml 文件。我想采用一种方法,为每种语言的每个文件保留一个捆绑文件,如 seam doc 建议应该可行。
    • 实际上您的解决方案不能满足我的要求,但就它看起来是唯一的解决方案而言,我会认为它是正确的。我仍然相信还有其他更简单的方法可以做到这一点,或者我只是误解了关于那个的缝文档。
    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2015-08-31
    • 2011-12-27
    相关资源
    最近更新 更多