如何本地化jQuery UI DateRangePicker?

丹尼斯

我正在使用jQuery UI DateRangePicker(参考)。我想要这个daterangepicker提供3种语言(nl,fr和en)。

我将使用switch语句来设置日历的设置。

switch(curr_lang) {
        case 'nl':
            moment.locale('nl');
            var daterangepicker = $("#search-vac-daterange").daterangepicker(
                {
                    initialText : 'Selecteer datums',
                    dateFormat: 'd MM yy',
                    datepickerOptions: {
                        minDate: new Date(),
                        startDate: new Date(),
                        maxDate: '+2y'
                    },
                    presetRanges: [{
                        text: 'Vandaag',
                        dateStart: function() { return moment() },
                        dateEnd: function() { return moment() }
                    }, {
                        text: 'Volgende 7 dagen',
                        dateStart: function() { return moment() },
                        dateEnd: function() { return moment().add(7, 'days') }
                    }, {
                        text: 'Volgende 30 dagen',
                        dateStart: function() { return moment() },
                        dateEnd: function() { return moment().add(30, 'days') }
                    }, {
                        text: 'Volgende 6 maanden',
                        dateStart: function() { return moment()},
                        dateEnd: function() { return moment().add(6, 'months') }
                    }, {
                        text: 'Volgend jaar',
                        dateStart: function() { return moment() },
                        dateEnd: function() { return moment().add(1,'years') }
                    }]
                }
            );
            break;
}

日期显示为

2019年1月18日-2019年2月17日

不会选择使用moment设置的语言环境,并且结果始终为英语(默认)。

注意:我没有设法使minDate和startDate与moment()一起使用,因此,如果有人对此有所了解。请帮帮我!

曲折的

所以我建议以下示例:

var cl = "en";
$(function() {
  var drp = $("#search-vac-daterange").daterangepicker({
    datepickerOptions: $.extend({
      minDate: new Date(),
      startDate: new Date(),
      maxDate: '+2y'
    }, $.datepicker.regional[cl])
  });
  var cdrp = drp.data("comiseoDaterangepicker");
  console.log(drp, cdrp);
});

工作示例:https : //jsfiddle.net/Twisty/c5db9rng/20/

因此,这增加了本地化。如果我们查看DatePicker示例中的步骤,则建议执行以下操作:

$( selector ).datepicker( $.datepicker.regional[ "fr" ] );

要么:

$( selector ).datepicker( "option", $.datepicker.regional[ "fr" ] );

每个本地化都包含在其自己的文件中,并在名称后附加了语言代码,例如jquery.ui.datepicker-fr.js法语。所需的本地化文件应包括在主日期选择器代码之后。每个本地化文件都将其选项添加到可用的本地化集中,并自动将其作为所有实例的默认设置应用。本地化文件可以在https://github.com/jquery/jquery-ui/tree/master/ui/i18n中找到

因此,意识到这一点也很重要。因此,对于您的代码,我建议以下几点。

$(function() {
  switch (curr_lang) {
    case 'nl':
      moment.locale('nl');
      var daterangepicker = $("#search-vac-daterange").daterangepicker({
        initialText: 'Selecteer datums',
        dateFormat: 'd MM yy',
        datepickerOptions: $.extend({
          minDate: new Date(),
          startDate: new Date(),
          maxDate: '+2y'
        }, $.datepicker.regional[curr_lang]),
        presetRanges: [{
          text: 'Vandaag',
          dateStart: function() {
            return moment()
          },
          dateEnd: function() {
            return moment()
          }
        }, {
          text: 'Volgende 7 dagen',
          dateStart: function() {
            return moment()
          },
          dateEnd: function() {
            return moment().add(7, 'days')
          }
        }, {
          text: 'Volgende 30 dagen',
          dateStart: function() {
            return moment()
          },
          dateEnd: function() {
            return moment().add(30, 'days')
          }
        }, {
          text: 'Volgende 6 maanden',
          dateStart: function() {
            return moment()
          },
          dateEnd: function() {
            return moment().add(6, 'months')
          }
        }, {
          text: 'Volgend jaar',
          dateStart: function() {
            return moment()
          },
          dateEnd: function() {
            return moment().add(1, 'years')
          }
        }]
      });
      break;
  }
});

半工作示例:https//jsfiddle.net/Twisty/c5db9rng/24/

该示例没有语言文件,因此不会给出正确的结果,但是代码按预期工作。

希望对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

jQuery UI DateRangePicker的startDate和endDate在加载时

如何使用 NPM 获得 JQuery-UI 和 datepicker 本地化?

SwiftUI 本地化 - 如何使 UI 组件及其功能成为本地化的基础

如何在Swift UI中实现本地化

如何为 Blazor 本地化 Telerik Ui?

iOS本地化弄乱了UI

如何使Xamarin iOS UI测试与本地化版本一起工作?

Kendo UI小部件的完整本地化

具有本地化UI的Xcode 7 UITests

在daterangepicker中,我如何动态设置minDate?

如何禁用daterangepicker中的过去日期?

如何禁用daterangepicker中的特定日期?

如何在Angular中使用daterangepicker包?

如何清除Bootstrap DateRangePicker字段的输入

如何在daterangepicker中设置默认日期?

如何在daterangepicker中添加时间

如何在daterangepicker中禁用将来的日期

如何返回当天的预定义daterangepicker范围?

如何用数据表实现Daterangepicker?

如何在 Angular 9 中更改 ngx-daterangepicker-material daterangepicker 的时区?

如何在daterangepicker jQuery中设置加两年

我如何在jQuery daterangepicker中侦听开始日期更改

ui-tabset和bootstrap-daterangepicker不能一起使用吗?

具有开始和结束数据Jquery DateRangePicker的单个日历

使用 i18n 在 Fluent UI 组件属性中进行本地化

通过扩展版式在React with Material UI中进行i18n本地化?

我可以使用Braintree iOS SDK显示本地化的Drop In UI吗

适用于新UI的iOS故事板本地化

在 UWP 中本地化 XAML UI 中的字符串