Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bootstrap Datepicker Locale with MomentJS

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.

like image 912
Jason Avatar asked Mar 03 '16 17:03

Jason


2 Answers

Replace

/moment/min/moment.min.js

by

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

and it will work

like image 137
Salim Hamidi Avatar answered Oct 20 '22 18:10

Salim Hamidi


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);
like image 22
VincenzoC Avatar answered Oct 20 '22 19:10

VincenzoC