8

I am using a Bootstrap Datepicker available here and everything is working fine. However, I want to localize the calendar given a user's preferred language. I've set the following when I initialize the datepicker:

locale: 'fr'

However, I get a console error that reads:

Uncaught TypeError: locale() locale fr is not loaded from moment locales!

I am including MomentJS in my project:

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

This is my first implementation so I feel like I'm missing something simple but just can't figure it out.

Hakan Fıstık
  • 16,800
  • 14
  • 110
  • 131
Jason
  • 1,105
  • 3
  • 16
  • 30

2 Answers2

13

Replace

/moment/min/moment.min.js

by

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

and it will work

Salim Hamidi
  • 20,731
  • 1
  • 26
  • 31
9

As the error messages says, you just have to include the desired locale to solve your issue. If you need only fr locale, you can add something like this:

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

after moment import.

EDIT:

If you need multiple locales you can import locales.js instead of fr.js. Moreover moments provides a single file, moment-with-locales.min.js, with moment library + all supported locales.

If you want to dynamically set locale for you picker, you can use locale function:

// Example with german locale
var localeString = 'de';
$('#your-picker-id').data("DateTimePicker").locale(localeString);
VincenzoC
  • 30,117
  • 12
  • 90
  • 112
  • Thank you for the help! So that resolved the error but now the datepicker is in French regardless of whether or not I specify the locale. I'll keep trying! – Jason Mar 04 '16 at 01:21