2017-04-04 4 views
1

ユーザ側で設定された言語ロケールのクッキーに基づいて日付範囲のピッカーのラベルを変更します。現在、デフォルトでは、英語のラベルを使用しています。これはクッキーに応じて変更したいものです。クッキー内で選択された言語に応じて、ブートストラップ日付範囲のピッカーの言語を動的に変更します。

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などのラベルをカスタマイズすることができますか?

「en」や「fr」などの言語IDをcookieから取得し、それに応じてJavaScriptコードの属性を変更したいと考えています。

答えて

0

ロケールオブジェクトを次のように編集する必要があります。クッキーに「適用」と「キャンセル」を希望の言語で追加します。私が下で行ったように、クッキーから読み込んで配置します。クッキーの大きな束になり

  "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

あなたは、クッキーに従って言語IDを変更したいと言った。既にクッキーがあることを意味します。だからあなたは "適用"と "キャンセル"の言語定義を持っている必要があります。このように、{"key": "_apply"、 "value": "Apply"、 "lng": "en"}もちろん、これら2つの定義をさまざまな方法で保存することができます。クッキーはその1つです。通常、Datepickersにはロケールフォルダがありますが、残念ながらDaterangepickerは持っていません。その場合、プロジェクトに外部ロケールファイルをインポートする必要があります。それはあなたのアプリのトラフィックでもあります。 – oneNiceFriend

関連する問題