AngularJS/Angular-ui-bootstrap Cambio del idioma utilizado por el datePicker

Yo uso el datePicker documentado aquí.

Sin embargo, ninguna opción directa permite cambiar el idioma, Inglés por defecto.

He encontrado la documentación del widget proporcionado sin directiva angular, y proporciona una buena manera de lograrlo:

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

¿Existe alguna forma fácil de cambiarlo, sin tener que modificar el código fuente de la directiva original?

Solución

Si está utilizando el formulario DatePicker angular-ui simplemente agregue el archivo js localizado en el encabezado de su página. Un ejemplo sería:

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

Usted puede ver un plunker de trabajo aquí

Comentarios (3)

Primero, tienes que cargar tu script de locales (get them here) después de angular en index.html:

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

Después de eso, los días y los meses se localizan pero hay que traducir los botones por sí mismo añadiendo parámetros dentro de la etiqueta de entrada 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" />
Comentarios (2)

Puede encontrar la última versión de los archivos locale js en este enlace.

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

Además, si desea traducir botones de acción datepicker (como 'Close') globaly, puede agregar este código para la configuración global.

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