Search code examples
javascriptangularjsdatepickerbootstrap-datepickerbootstrap-datetimepicker

bootstrap-datepicker set language globally


I'm using bootstrap-datepaginator that inside uses bootstrap-datepicker. Utilizzanto bootstrap-datepicker as a single component, there are no problems to set the language, but the same is not true using bootstrap-datepaginator. How can I do?

I'm trying to set the Italian language as a default for the entire project. In index.html I put the following script:

<script src="vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
<script src="vendors/jquery-ui/ui/i18n/datepicker-it.js"></script>

<script>
    $(function() {
        $( "#datepicker" ).datepicker( $.datepicker.regional[ "it" ] );
    });
</script>

But in the console I get these errors:

Uncaught TypeError: Cannot read property 'regional' of undefined datepicker-it.js:15
Uncaught TypeError: Cannot read property 'regional' of undefined (index):394

I tried everything but I'm going crazy!

Bootstrap Datepicker i18n


I changed the code in this way:

<script src="vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
<script src="vendors/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js"></script>


<script>
    $(function() {
        $.datepicker.setDefaults( $.datepicker.regional["it"] );
    });
</script>

but now the error is as follows:

Uncaught TypeError: Cannot read property 'setDefaults' of undefined

With this fix:

$('.datepicker').datepicker({
    language: "it"
});

I haven't got errors in console but the language is always english by default


Solution

  • You can set default options for Bootstrap Datepicker by assigning them like so:

    $.fn.datepicker.defaults.language = 'it';
    

    Example below:

    $(document).ready(function(){
         $.fn.datepicker.defaults.language = 'it';
    });
    
    $(document).ready(function(){
         $('.datepicker').datepicker();
    });
    <link href="https://cdn.jsdelivr.net/bootstrap.datepicker-fork/1.3.0/css/datepicker3.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/bootstrap.datepicker-fork/1.3.0/js/bootstrap-datepicker.js"></script>
    <script src="https://cdn.jsdelivr.net/bootstrap.datepicker-fork/1.3.0/js/locales/bootstrap-datepicker.it.js"></script>
    <input class="datepicker"/>