我正在使用PrimeFaces日历组件。但是我想用土耳其语显示时间和月份。

< p:calendar effect="slideDown" navigator="true"  locale="tr"
                        yearRange="1975" pattern="dd/mm/yyyy HH:mm"/>

但是它又用英文显示了,这是什么问题?

最佳答案

Primefaces本身仅为calendar等可本地化的组件提供英语翻译。如果需要其他翻译,则必须通过JavaScript手动将它们包括到JSF中。

将以下JavaScript添加到您的JSF View 中:

<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

09-30 15:28
查看更多