PrimeFaces PickList 自定义本地化

问题描述 投票:0回答:1

我有一个像这样的选项列表:

<div class="card">
    <h5>Advanced</h5>
    <p:pickList id="pojoPickList" value="#{pickListView.countries}" var="country"
                itemValue="#{country}" itemLabel="#{country.name}" converter="#{countryConverter}"
                labelDisplay="inline"
    >

        <f:facet name="sourceCaption">Available</f:facet>
        <f:facet name="targetCaption">Starting</f:facet>

        <p:ajax event="transfer" listener="#{pickListView.onTransfer}" update="msg"/>

        <p:column style="width:94%">
            <div class="flex align-items-center">
                <span class="flag flag-#{country.code} mr-2" style="width: 30px; height: 20px" />
                <h:outputText value="#{country.name}"/>
            </div>
        </p:column>
    </p:pickList>
</div>

这些按钮标有“移动到目标”、“全部移动到目标”等。我想更改英语和其他国家/地区的标签。我该如何去做呢?我找到了文档herehere,但它们没有指出我从哪里开始覆盖默认翻译。我还发现了这个问题,但是

addLabel
addAllLabel
,...属性在PrimeFaces 14中被删除了。

编辑:后来编辑了可能的重复项,以更好地回答这个问题。我的描述已经包含了它的链接以及它不能回答我的问题的解释。还是不行,见评论区。

jsf primefaces
1个回答
0
投票

只需将此脚本添加到您的页面并更改您想要的任何语言即可。 一旦你让它工作,将所有这些移动到一个

stefan-locales.js
文件中,然后使用正常的
<h:outputScript>

加载该文件

这会覆盖英语 EN 区域设置的那些标签。 显然你也可以为其他人做同样的事情。

  PrimeFaces.locales["en"] = $.extend(true, {}, PrimeFaces.locales["en"], {
    aria: {
      moveAllToSource: "Move All to Source",
      moveAllToTarget: "Move All to Target",
      moveBottom: "Move Bottom",
      moveDown: "Move Down",
      moveToSource: "Move to Source",
      moveToTarget: "Move to Target",
      moveTop: "Move Top",
      moveUp: "Move Up",
    },
  });
© www.soinside.com 2019 - 2024. All rights reserved.