首页 > 解决方案 > 覆盖primefaces messages.properties标签的正确配置是什么

问题描述

我试图PrimeFaces messages.properties在我的消息中覆盖标签但没有成功。

这就是我试图改变数据表标签的方法:

  1. 这是我的faces-config.xml

    <faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
    version="2.2">
    
    <application>
    
        <locale-config>
            <default-locale>it</default-locale>
            <supported-locale>it</supported-locale>
            <supported-locale>en</supported-locale>
        </locale-config>
    
        <resource-bundle>
            <base-name>i18n.messages</base-name>
            <var>msg</var>
        </resource-bundle>
        <resource-bundle>
            <base-name>i18n.primefaces</base-name>
            <var>messages</var>
        </resource-bundle>
    
    </application>
    
    
    </faces-config>
    
  2. resources/i18n/messages.properties包含我自己app应用程序标签(resources/i18n/primefaces.properties

  3. 所以在resources/i18n/primefaces.properties文件中我有这个内容:

    primefaces.datatable.SORT_ASC = Ascending
    primefaces.datatable.SORT_DESC = Descending
    
  4. resources/i18n/primeface_it.properties文件中我有这个内容:

    primefaces.datatable.SORT_ASC = Crescente
    primefaces.datatable.SORT_DESC = Decrescente
    
  5. 什么都没有发生,即使我切换到意大利语言环境,我仍然会看到英文翻译SORT_ASCSORT_DESC标签。

标签: jsfprimefaceswarproperties-file

解决方案


PrimeFaces 属性的“basename”是“org.primefaces.Messages”,因此要为其添加翻译,您需要Messages_it.propertiesresources/org/primefaces项目中添加一个。如果您还想覆盖默认的 PF,也可以Messages.properties在其中放置一个(确保它包含每个键的副本并覆盖值)。

而且您不需要在 faces-config 中覆盖或添加资源包,因为它们已经在 PrimeFaces jar 中的 faces-config 中定义。


推荐阅读