首页 > 解决方案 > 用primefaces显示特定的阿拉伯语()

问题描述

亲爱的,请我尝试使用标签 <p:schedule> 显示一种特定的可耕语言。但是,当我输入 locale="ar" 时,它会显示为 primefaces 的默认阿拉伯语言 .. 请请注意,我使用了 bewlow JavaScript,它适用于他标记 <p:calendar> 但不适用于 <p:schedule>。

<h:form>
<div align="center" >
    <p:growl id="messages" showDetail="true" />    
    <h:panelGrid columnClasses="value" id="table">
    <p:calendar locale="ar"></p:calendar>
        <p:schedule  id="schedule" value="#{workBean.eventModel}" widgetVar="myschedule" 
             rightHeaderTemplate=""
             leftHeaderTemplate="today, prev, next"
                showWeekNumbers="true" view="month"  resizable="false" clientTimeZone="local"  locale="ar" >
 
            <p:ajax event="dateSelect" listener="#{workBean.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
            <p:ajax event="eventSelect" listener="#{workBean.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
            <p:ajax event="eventMove" listener="#{workBean.onEventMove}" update="messages" />
            <p:ajax event="eventResize" listener="#{workBean.onEventResize}" update="messages" />
         </p:schedule>
    </h:panelGrid>
  </div>
   

</h:form> 
 <script type="text/javascript" >    
 PrimeFaces.locales ['ar'] = {
          closeText: 'إغلق',
          prevText: 'إلى الخلف', 
          nextText: 'إلى الأمام',
           currentText: 'بداية',
              monthNames: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر' ],
             monthNamesShort: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر' ],
              dayNames: ['يوم الأحد‎', 'يوم الإثنين‎', 'يوم الثلاثاء‎', '‏يوم الأَرْبعاء‎', '‏يوم الخَمِيس‎', 'يوم الجُمْعَة‎‎', 'يوم السَّبْت'], 
              dayNamesShort: ['الأحد‎', 'الإثنين‎', 'الثلاثاء‎', 'الأَرْبعاء‎', 'الخَمِيس‎', 'الجُمْعَة‎‎', 'السَّبْت'], 
              dayNamesMin: ['الأحد‎', 'الإثنين‎', 'الثلاثاء‎', 'الأَرْبعاء‎', 'الخَمِيس‎', 'الجُمْعَة‎‎', 'السَّبْت'],
               weekHeader: 'الأسبوع', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix:'' , 
               timeOnlyTitle: 'الوقت فقط' ,
                timeText: 'الوقت' ,
                 hourText: 'ساعة', 
                 minuteText: 'دقيقة', 
                 secondText: 'ثانية', 
                 ampm: false, 
                 month: 'الشهر',
                  week: 'الأسبوع', 
                  day: 'اليوم', 
                  allDayText: 'سا ئراليوم' };
</script>

结果链接:https ://ibb.co/VgPGZcQ

标签: javascriptprimefaces

解决方案


好的,有几件事...

  1. 就像在展示中的这个示例中一样,您可能希望将脚本放在组件之上,以便在组件加载之前加载它。https://www.primefaces.org/showcase/ui/data/schedule/localization.xhtml

请参阅此阿拉伯语屏幕截图: 阿拉伯语时间表

  1. 您是否有兴趣帮助 PrimeFaces 提供更好的阿拉伯语内置翻译?我们有两个文件需要翻译,阿拉伯语的文件不完整。您可以在此处查看我们需要阿拉伯语的完整客户端和服务器端文件:https ://primefaces.github.io/primefaces/10_0_0/#/core/localization

这是当前的阿拉伯语:https ://github.com/primefaces/primefaces/blob/master/primefaces/src/main/resources/META-INF/resources/primefaces/locales/locale-ar.js

但这是完整的英文文件,因此您可以看到缺少的阿拉伯语翻译:https ://github.com/primefaces/primefaces/blob/master/primefaces/src/main/resources/META-INF/resources/primefaces/语言环境/语言环境-en.js

如果您有兴趣帮助我们更新阿拉伯语翻译,请告诉我!


推荐阅读