web-dev-qa-db-ja.com

Bootstrap MomentJSを使用したDatepickerロケール

Bootstrap Datepicker こちらから入手可能 )を使用していますが、すべて正常に機能しています。ただし、ユーザーの希望する言語を指定してカレンダーをローカライズしたいと思います。次のように設定しました。日付ピッカーを初期化するとき:

locale: 'fr'

ただし、次のようなコンソールエラーが発生します。

キャッチされないTypeError:locale()ロケールfrは、モーメントロケールからロードされません!

プロジェクトにMomentJSを含めています。

<script src="/vendors/moment/min/moment.min.js"></script>

これは私の最初の実装なので、単純なものが欠けているように感じますが、それを理解することはできません。

6
Jason

エラーメッセージに示されているように、問題を解決するには、目的のロケールを含める必要があります。 frロケールのみが必要な場合は、次のようなものを追加できます。

<script src="/vendors/moment/locale/fr.js"></script>

momentインポート後。

編集:

複数のロケールが必要な場合は、locales.jsの代わりにfr.jsをインポートできます。さらに、momentsは、momentライブラリとサポートされているすべてのロケールを含む単一のファイルmoment-with-locales.min.jsを提供します。

ピッカーのロケールを動的に設定する場合は、 locale 関数を使用できます。

// Example with german locale
var localeString = 'de';
$('#your-picker-id').data("DateTimePicker").locale(localeString);
8
VincenzoC

交換

/moment/min/moment.min.js

沿って

/moment/min/moment-with-locales.js

そしてそれは動作します

11
Salim Hamidi