覆盖 primefaces messages.properties 标签的正确配置是什么

What is the correct configuration to override primefaces messages.properties labels

我试图覆盖我消息中的 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 中,我只想覆盖这个 Messages.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 标签的英文翻译。

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

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