sábado, 28 de enero de 2017

[DevExtreme] Traducir o cambiar localización de DevExtreme 16.1+

DevExtreme ocupa la librería globalizejs para controlar los textos de la mayoría de sus widgets. Globalizejs es una librería que nos permite internacionalizar (también llamado i18n como abreviación de internationalization por la cantidad de letras entre la 'i' y la 'n') nuestra aplicación.Esto quiere decir que podremos cambiar el idioma de nuestra aplicación fácilmente.

Repaso

Antes de la versión 16.1 de DevExtreme, este ocupaba la versión 0.1.3 de globalizejs que la mayoría de los desarrolladores podían utilizar fácilmente ya que era sólo llamar al archivo javascript de Globalize y otro archivo donde definíamos los textos (llamado diccionario). Con esto ya teníamos el sitio en nuestra idioma local.

Desde la versión 16.1 de DevExtreme, este necesita la versión 1.x de globalizejs. Desde la documentación ponen una guía (link) de como deberíamos definir los texto que queremos traducir.

Resumiendo, nos indican que se debemos crear un archivo html que debe implemetar DevExtreme y este nos permitirá exportar el archivo diccionario en una de las idiomas que viene por defecto y luego nosotros tendremos que traducirlo y renombrarlo a "dx.all.es.json". Una vez traducido debemos llamarlo de la siguiente manera y todo funcionará.

$.when(
    $.get("dx.all.es.json")
).then(function(data){
    Globalize.loadMessages(data);
});

Además menciona que debemos importar un motón de diccionarios (link) sin explicarnos mucho de que hacen y porque son tantos. Esto sin mencionar que su guía no funciona.

CLDR

Son bloques (en nuestro caso archivos js) construidos con un propósito clave (fechas, monedas, números, periodos, etc). Dice ser el mayor y más extenso repositorio estándar de datos de localización disponibles. Trabajan en formato unicode lo que quiere decir que soporta una infinidad de codificaciones cómo las de los idiomas árabe, chino, coreano y muchos más.

Desde la versión 1.x de Globalizejs obtiene los datos de CLDR

En construcción...

2 comentarios:

  1. Estoy tratando de poner DevExpress en español para usar el pivotGrid pero no hay caso, es muy complicado... Más o menos entendí lo que pusiste, pero no me funciona, a vos te funcionó?

    ResponderBorrar