Etiqueta

9 de abril de 2014

De No-Unicode a Unicode (Parte 10 de 10)

Conclusión


En esta serie de 10 artículos, he querido hacer una breve explicación sobre como Omnis Studio aborda la compleja cuestión de la codificación Unicode. Seguramente a usted ahora le surjan algunas preguntas sobre esto, le animo a que las platee, en el grupo “omnisstudio” (http://groups.google.com/group/omnisstudio?hl=es). Si le ha parecido útil la información le pediría deje algún comentario, comparta la información en las redes sociales o al menos haga “click” en +1.

Estaré agradecido por cualesquiera preguntas y/o comentarios desee plantear sobre el tema a la comunidad omnis. A través de éste blog seguiré atento ante cualquier novedad que se presente en las futuras actualizaciones de Omnis Studio.

Es posible que usted ya haya actualizado sus versiones no-Unicode de Omnis a Unicode, si es así, ¿Porqué no plantearse ahora la internacionalización de su aplicación? Ahora es posible, con algo de esfuerzo podrá extender el abanico de clientes hasta lugares insospechados, quien sabe si Japón o China. ¿Ya ha hecho ésto también? Entonces le animo a que comparta su experiencia con la creciente comunidad Omnis de habla hispana.

Muchas gracias por la atención prestada durante la publicación de esta serie.

Reciba un cordial saludo.

2 de abril de 2014

De No-Unicode a Unicode (Parte 9 de 10)

Localización


Con el termino “localización” Omnis hace referencia al proceso previo necesario, para la distribución de una aplicación entre clientes finales localizados en diferentes países y que por tanto usan diferentes grafías de caracteres e idioma. En la práctica, esto significa que tendremos que traducir cualquier texto que sea visible al cliente a los idiomas que desea sean soportados por su aplicación, pero también es posible que tenga que modificar el modo en que se manejaran los datos, el tipo de ordenación, etc.

Para localizar su aplicación, en primer lugar deberá cambiar ciertas cosas tanto en el propio Omnis, como  en todas las cadenas de texto y etiquetas que contenga su librería. Si va a distribuir su aplicación a través de la web, sólo tendrá que traducir los textos de su librería o dicho más concretamente, todo lo que vaya a ser visible sobre el navegador del usuario.

Omnis Studio cuenta con diversas herramientas, tanto para traducir el propio Omnis, como para sus archivos de librería, en futuros artículos hablaremos más concretamente sobre el uso de éstas herramientas, en ésta serie de 10 artículos, tan sólo pretendo exponer en términos generales como Omnis trata la codificación Unicode.

Aún no he recibido muchos comentarios sobre si los artículos expuestos en éste blog, están resultado útiles para la comunidad de desarrolladores Omnis de habla hispana, pero espero sinceramente que así estén resultando, no obstante (querido lector) sería muy animador poder contar con su opinión al respecto.

La “localización” del propio Omnis.

La “localización” del run-time Omnis le permitirá cambiar los elementos que indicamos a continuación, algunos de ellos podrán ser observados por el usuario final, mientras que otros sólo afectan a cómo se gestionarán los datos de tipo “Character” y “Number”, hablamos de los siguientes:

  • Denominación de los días de la semana y meses del año.
  • Caracteres separadores.
  • Los textos de “Yes/no”, “OK/Cancel”, “True/False”, “Am/Pm” y “On/Off”.
  • La forma de ordenación a utilizar con el uso de “National”

Todas sus librerías comparten las especificaciones que habrán sido guardadas en un archivo de datos Omnis, denominado omnisloc.df1, se trata de hecho, de la base de datos de localización y que podrá encontrar dentro de la carpeta “local”, situada bajo el directorio raíz de su instalación Omnis. La librería “omnisloc.lbr”, le permitirá añadir y modificar información según los diferentes idiomas a soportar en su aplicación.

Cada registro en la base de datos de localización (omnisloc.df1) contiene un conjunto completo de datos en correspondencia con un idioma. También contiene un identificador de idioma actual, es decir, el registro actual o configuración en uso.

La librería “omnisloc.lbs” ha sido actualizada para soportar Unicode. El campo que antes se llamaba “sort order” ahora se denomina “locale”. Además, y sólo en la versión Unicode, podrá encontrar una nueva casilla de verificación denominada “Use Locale For Defaulted Items”. Esto determinará la configuración regional a utilizar según las diferencias que se pueden encontrar en cada lengua y del modo siguiente:

  • Si la casilla de verificación “Use Locale...” está marcada, los valores por defecto se tomarán de la configuración guardada en el registro del lenguaje (omnisloc.df1).
  • Si no está marcada, los valores por defecto serán tomados de la configuración regional indicada en el sistema operativo.

La “localización” de una librería.

Omnis proporciona dos opciones para traducir textos y etiquetas incluidas en su aplicación:

  • La librería “translation”.
    La librería (trans.lbs), situada en el directorio raíz Omnis, permite la traducción de textos y las etiquetas de su librería, podrá exportar todos los literales contenidos en su librería para así poder traducirlos, para después ser importados de nuevo a su librería.
  • Uso de “String Tablas”.
    Mediante “String Tables”, podrá traducir dinámicamente textos y etiquetas de su aplicación, use la utilidad “String Table Editor” para configurar tablas conteniendo conjuntos de palabras para los diferentes idiomas, también dispone de algunas utilidades que le ayudaran en la traducción, podrá encontrar la utilidad “String Table Editor” bajo el menú “Tools>>Add Ons”.

Una herramienta similar a ésta, incluida desde la versión 5 de Studio, nos permite, incluso la traducción en diferentes idiomas de cada texto usado por la propia aplicación Omnis, pero no hablaremos de ella en ésta ocasión, lo dejaremos para un futuro artículo.

26 de marzo de 2014

De No-Unicode a Unicode (Parte 8 de 10)

Conversión de archivos de datos Omnis (df1)

  • ¡¡ CUIDADO !!
    Haga una copia de seguridad de sus archivos, antes de convertirlos en una versión Unicode de Omnis Studio.

Desde la versión 4.3 (y 4.3.x) Unicode, Omnis Studio incluye un conversor de los datos e índices contenidos en ficheros df1 de Omnis. En el caso de encontrar datos de tipo “Character” almacenados en campos de tipo “Binay”, (por ejemplo, al guardar un documento creado con un editor de textos externo) no se llevará cabo ningún tipo de conversión.

Al abrir un archivo de datos Omnis con una versión Unicode, se le pedirá que confirme si desea realmente realizar la conversión. Si pulsa sobre el botón “Sí”, Omnis mostrará un cuadro de diálogo con las siguientes opciones:

  • Rápida (Quick)
    Los índices son eliminados y después reconstruidos, los datos no se convierten. Ésta opción puede resultar útil en los casos en que el archivo a convertir únicamente contenga caracteres de 7 bits, tenga en cuenta que Omnis no realizará comprobación alguna en cuanto a esto, será responsabilidad suya.

  • Completa (Full)
    Se lleva a cabo la conversión completa del archivo.

Cuando el fichero es abierto desde comandos


A los comandos “Open data file” y  “Prompt for data file” se les ha añadido la opción “Convert without user prompts”. Si esta opción está activada, no se mostrará el diálogo para conversión mencionado anteriormente, pero si podrá seleccionar, (como parte del comando), si desea usar "Quick Unicode conversion" o "Full Unicode conversion", de éste modo podrá indicar el nivel de conversión que desee.

Compruebe cabalmente si los resultados de la conversión son los deseados, no deseche la copia de seguridad del archivo de datos no-Unicode y que realizo antes de la conversión, al menos hasta que esté completamente seguro de que los datos ha sido convertidos con éxito. Realice algunas pruebas con los datos desde su aplicación. Normalmente usted hará esto con una nueva versión de Omnis Studio, pero cuando la librería es convertida a Unicode al igual que sus archivos de datos, deberá tener especial precaución por los posibles problemas que se puedan presentar.

Datos tipo “Character” y “Binary” bajo Unicode

No es posible concatenar una variable de tipo “Character” con otra de tipo “Binary” cuando se está trabajando con una versión Unicode de Omnis Studio. El opción correcta sería usar $readfile para leer un archivo y guardarlo sobre una variable binaria, para después analizarlo. La asignación de datos de tipo “Characer” a “Binary” y viceversa es probable que cause problemas, sobre todo al usar Unicode, y debe ser por tanto evitado.