2017-04-04 19 views
1

我想根据用户端设置的语言区域设置cookie更改日期范围选取器的标签。现在,默认情况下,我使用英文标签,我想根据Cookie更改它们。使用根据Cookie中选定的语言动态更改引导程序日期范围选取器的标签

var locale = $.cookie('locale'); 
    moment.locale(locale); 
    var start = moment(); 
    var end = moment().add(29, 'days'); 

    $('#Date').daterangepicker({ 
     startDate: start, 
     endDate: end, 
     autoUpdateInput: false, 
     locale: { 
      cancelLabel: 'Clear' 
     }, 
     ranges: { 
      'Today': [moment(), moment()], 
      'Tomorrow': [moment().add(1, 'days'), moment().add(1, 'days')], 
      'Next 7 Days': [moment(), moment().add(6, 'days')], 
      'Next 30 Days': [moment(), moment().add(29, 'days')], 
      'This Month': [moment().startOf('month'), moment().endOf('month')], 
      'Next Month': [moment().add(1, 'month').startOf('month'), moment().add(1, 'month').endOf('month')] 
     }, 
     "alwaysShowCalendars": true 
    }); 

moment.locale('custom language')帮助有日期的本地化语言的名称和月份,但是,我怎么可以自定义的TodayTomorrow和其他人的标签?

我想从cookie中获取'en','fr'或其他语言的id,然后根据这个更改我的javascript代码中的属性。

回答

0

您应该如下编辑您的语言环境对象。使用所需语言在您的Cookie上添加“应用”和“取消”。从cookie中读取并放置它们,如下所示。

  "locale": { 
      "format": "DD.MM.YYYY", 
      "separator": " - ", 
      "applyLabel": "Apply", 
      "cancelLabel": "Cancel", 
      "fromLabel": "From", 
      "toLabel": "To", 
      "customRangeLabel": "Custom", 
      "weekLabel": "W", 
      "daysOfWeek": [ 
+0

这将是一大堆饼干。我想获取'en','fr'或其他语言的名称,然后将其应用到我的JavaScript代码中。 – Afshin

+0

你说你想根据cookie更改语言ID。这意味着你已经有了一些cookie。所以你必须有“应用”和“取消”的语言定义。像这样:{“key”:“_apply”,“value”:“Apply”,“lng”:“en”}当然,您可以用各种方式保存这两个定义。 Cookie只是其中之一。通常日期选择器具有区域设置文件夹,但不幸的是,Daterangepicker没有。在这种情况下,您必须在您的项目中导入外部区域设置文件。这也是您的应用的流量。 – oneNiceFriend

相关问题