PrimeFaces语言环境无法正常工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PrimeFaces语言环境无法正常工作相关的知识,希望对你有一定的参考价值。
我正在使用PrimeFaces Calendar组件。但我想用土耳其语显示时间和月份。我写了这样的代码;
< p:calendar effect="slideDown" navigator="true" locale="tr"
yearRange="1975" pattern="dd/mm/yyyy HH:mm"/>
但它再次以英文显示。问题是什么?
答案
Primefaces本身仅为calendar这样的可本地化组件提供英语翻译。如果您需要其他翻译,您必须通过javascript手动将它们包含在您的JSF中。
将以下JavaScript添加到JSF视图中:
<script type="text/javascript">
PrimeFaces.locales['tr'] = {
closeText: 'kapat',
prevText: 'geri',
nextText: 'ileri',
currentText: 'bugün',
monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz', 'Tem','Ağu','Eyl','Eki','Kas','Ara'],
dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
weekHeader: 'Hf',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: '',
timeOnlyTitle: 'Zaman Seçiniz',
timeText: 'Zaman',
hourText: 'Saat',
minuteText: 'Dakika',
secondText: 'Saniye',
ampm: false,
month: 'Ay',
week: 'Hafta',
day: 'Gün',
allDayText : 'Tüm Gün'
};
</script>
另见:http://code.google.com/p/primefaces/wiki/PrimeFacesLocales 编辑: PrimeFaces移动到github,所以这里是新的URL(即使旧的URL仍然可用到现在): https://github.com/primefaces/primefaces/wiki/Locales
另一答案
- 在
primefaces_i18n.js
文件夹中创建一个文件resources/js
。 - 将gist复制并粘贴到其中。
- 然后你可以在你的页面中导入它,如下所示:
<h:outputScript library="js" name="primefaces_i18n.js" />
- 定期检查PrimeFacesLocales的翻译更新
以上是关于PrimeFaces语言环境无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
modal=true 的 Primefaces 对话框无法正常工作
Primefaces:fileUpload显示Facesmessage无法正常工作
Numberformat.parse 在java中的法语语言环境中无法正常工作