我有一个像这样的选项列表:
<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>
这些按钮标有“移动到目标”、“全部移动到目标”等。我想更改英语和其他国家/地区的标签。我该如何去做呢?我找到了文档here和here,但它们没有指出我从哪里开始覆盖默认翻译。我还发现了这个问题,但是
addLabel
,addAllLabel
,...属性在PrimeFaces 14中被删除了。
编辑:后来编辑了可能的重复项,以更好地回答这个问题。我的描述已经包含了它的链接以及它不能回答我的问题的解释。还是不行,见评论区。
只需将此脚本添加到您的页面并更改您想要的任何语言即可。 一旦你让它工作,将所有这些移动到一个
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",
},
});