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

时间:2018-09-11 11:55:40

标签: jsf primefaces war properties-file

我试图覆盖邮件中的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标签的英文翻译。

1 个答案:

答案 0 :(得分:1)

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

由于您已经在PrimeFaces jar中的faces-config中定义了资源束,因此您无需在faces-config中覆盖或添加资源束。