web-dev-qa-db-fra.com

bootstrap-datepicker définit la langue de manière globale

J'utilise bootstrap-datepaginator qui à l'intérieur utilise bootstrap-datepicker. Utilizzanto bootstrap-datepicker en tant que composant unique, il n’ya pas de problèmes pour définir la langue, mais il n’en va pas de même avec bootstrap-datepaginator. Comment puis-je faire?

J'essaie de définir la langue italienne par défaut pour l'ensemble du projet. Dans index.html je mets le script suivant:

<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>

Mais dans la console, j'obtiens ces erreurs:

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

J'ai tout essayé mais je deviens fou!

Bootstrap Datepicker i18n


J'ai changé le code de cette façon:

<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>

mais maintenant l'erreur est la suivante:

Uncaught TypeError: Cannot read property 'setDefaults' of undefined

Avec ce correctif:

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

Je n'ai pas d'erreur dans la console mais la langue est toujours l'anglais par défaut

5
YoBre

Vous pouvez définir les options par défaut pour Bootstrap Datepicker en les assignant comme suit:

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

Exemple ci-dessous:

$(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"/>

24
mccannf

Utilisez la méthode de l'utilitaire extend () de jQuery pour fusionner vos paramètres dans l'objet par défaut de datepicker:

$.extend( $.fn.datepicker.defaults, {format: 'dd-mm-yyyy', language: 'nl'} );
3
Stephan van Hoof
<script src="/jquery/jquery.ui.datepicker.js" type="text/javascript"></script>
<script src="/jquery/jquery.ui.datepicker-it.js" type="text/javascript"></script>

<script>
$.datepicker.setDefaults( $.datepicker.regional["it"] );

$( "#data" ).datepicker();
</script>
0
user4166097