2017-04-04 41 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

相關問題