J’utilise datetimepicker dans un de mes plugin et j’ai eu beaucoup de difficultés à trouver comment configurer ce widget jquery pour qu’il s’affiche en français.
Selon la doc, il faudrait le faire avec ce code:
$(selecteur).datetimepicker({
lang: 'fr'
})
Mais ça ne fonctionne pas. J’ai cherché des exemples dans les codes des plugins qui sont installés dans mon Jeedom et j’ai trouvé le plugin suiviconso qui implémente le code ci-dessus mais le widget ne s’affiche pas dans ce plugin en français mais en anglais (même problème que pour mon plugin).
J’ai fait quelques recherches sur le net et suivis plusieurs fausses pistes avant de trouver le moyen d’afficher le widget dans la bonne langue. Il faut utiliser la méthode datetimepicker.setLocale()
J’ai implémenté l’appel à cette fonction dans le fichier .js de mon plugin comme ceci:
Il suffit alors d’associer un datetimepicker à un champ input comme ceci:
$(selecteur).datetimepicker({})
Je pense qu’il serait bien de mettre le bout de code qui appel setLocale() dans le fichier core/js/plugin.template.js du core afin que tous les plugins en bénéficient automatiquement sans perturber les plugins qui appellent déjà cette fonction.
pour initialiser lors de la création il faut utiliser locale: "fr" et pas lang
autres propriétés intéressantes dans le cadre de localisation / traduction: dateFormat, timeFormat, dayNames (un array avec le nom des jours de dimanche à samedi), dayNamesShort & dayNamesMin (pareil, un array), monthNames (toujours pareil, mois de janvier à décembre), prevText, nextText, currentText, closeText…
Autre solution: ne plus utiliser le datepicker de jquery ui qui est un peu vieillot
Je préfère flatpickr (https://flatpickr.js.org/)
Il est top je trouve.
Pour un autre projet perso j’ai testé quelques un (mon but étant aussi de virer d’abord jqueryui, et peut-être ensuite jquery) et c’est celui que jai choisi.
Il gère déjà plein de langues et s’il faut on peut en rajouter
Et il n’a donc aucune dépendances