web-dev-qa-db-fra.com

AngularJS / Angular-ui-bootstrap Changer de langue utilisée par datePicker

J'utilise le datePicker documenté ici .

Cependant, aucune option directe ne permet de changer de langue, anglais par défaut.

Je trouve une documentation du widget fournie sans angular angulaire, et elle fournit un moyen agréable de le réaliser:

http://bootstrap-datepicker.readthedocs.org/en/latest/i18n.html

Existe-t-il un moyen simple d'éviter de modifier le code source de la directive d'origine afin de le modifier?

48
Mik378

Si vous utilisez le formulaire DatePicker angular-ui, ajoutez simplement le fichier js localisé à l’en-tête de votre page. Un exemple serait:

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.js"></script>
<script src="http://code.angularjs.org/1.0.8/i18n/angular-locale_fr-fr.js"></script>
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.6.0.js"></script>

Vous pouvez voir un plunker de travail ici

90
Nicolas ABRIC

Tout d’abord, vous devez charger votre script locale ( les obtenir ici ) après angular dans index.html:

 <script src="angular.js"></script>
 <script src="angular-locale_de-de.js"></script>

Après cela, les jours et les mois sont localisés, mais vous devez traduire les boutons vous-même en ajoutant des paramètres dans la balise d’entrée datepicker:

<input type="text" class="form-control" datepicker-popup="dd.MM.yyyy"
ng-model="dt" is-open="opened" min-date="minDate" max-date="'2042-04-02'"
datepicker-options="dateOptions" date-disabled="disabled(date, mode)" 
ng-required="true" 
current-text="Tonight" clear-text="Reset" close-text="Exit" />
18
Pekka

Vous pouvez trouver les fichiers de locale js dernière version avec ce lien.

https://cdnjs.com/libraries/angular-i18n

De plus, si vous souhaitez traduire les boutons d'action datepicker (tels que "Fermer") globalement, vous pouvez ajouter ce code pour la configuration globale.

//DatePicker -> uibDatepickerConfig
//DatePickerPopup -> uibDatepickerPopupConfig
app.config(['uibDatepickerPopupConfig', function(uibDatepickerPopupConfig) {
uibDatepickerPopupConfig.closeText = 'Close';
uibDatepickerPopupConfig.currentText = 'Today';
uibDatepickerPopupConfig.clearText = 'Clear';
}]);
3
Edward D. Wilson