16 abril 2014

Soporte Multilingüe

Soporte Multilingüe con Omnis Sudio (Opción Built-in)


A partir del estudio 5.0.1, es posible editar los textos utilizados por Omnis, lo cual permite personalizarlo para adaptarlo a sus preferencias y diferencias del idioma, corregir problemas deribados del uso de diferentes teclados o cambiar la combinación de teclas a utilizar en la activación de opciones. Todos los textos personalizados serán guardados sobre el archivo “studio.stb”.

Tenga en cuenta que Omnis cargará automáticamente sólo los textos incluidos en “studio.stb”, que se correspondan con la columna cuyo nombre sea coincidente con el consignado en el parámetro “$language” de las preferencias Omnis. (Añada o edite los diferentes idiomas mediante la librería “omnisloc.lbs”, que podrá hallar bajo el directorio 'local' del raíz Omnis Studio).

Los siguientes ejemplos, muestran como cambiar los atajos de teclado asignados a la opción de mostrar la lista de tipos de letra y a la que permite comentar o des-comentar líneas de código:

Lista de tipos de letra

 

  • Presione F9 (Cmd-9 en Mac) para abrir el Catálogo.
     
  • Vaya a la pestaña "StringTable", y busque la entrada "Built-in Strings". Haga clic derecho y seleccione "Find strings", esto le permitirá localizar el STRINGID de cualquier texto utilizado por Omnis.
     
  • Sitúese sobre el cuadro de búsqueda y escriba "[] (list font size)”, haga clic derecho y cópielo sobre el portapapeles.
     
  • Ahora vuelva de nuevo al Catálogo, haga clic derecho sobre "Built-in Strings" y seleccione la opción "Edit built-in strings". Esto abrirá el editor “String Table”, mediante el cual, podremos componer nuestra traducción y/o personalización del texto.
     
  • Si es necesario añada una nueva fila a continuación de la columna STRINGID, pegue el contenido del portapapeles. Cambie el nombre de la primera columna, utilizando el código de país que corresponda a su preferencia "$language", por ejemplo, si es el español, cambie el nombre de la columna por "ES_es".
  • Copie el STRINGID sobre su columna con el texto a personalizar y cambie los símbolos "[]" por los 2 caracteres que desee utilizar.

Guarde los cambios y salga del editor "String Table", si el valor actual de la propiedad "$language" coincide con el nonbre dado a la columna que contiene el texto traducido, las nuevas teclas de acceso directo estarán listas para su uso.

Comentar o des-comentar líneas de código (Comment/Uncomment)


Por defecto, usted puede comentar o des-comentar las líneas de código previamente seleccionadas sobre el editor de métodos, mediante la pulsación de las teclas Cmd/Ctrl y ";" o "’", a continuación indicamos como cambiarlas para usar en su lugar las teclas que desee.

Para conseguirlo simplemente repita los pasos descritos en el aparado anterior, pero buscando ahora el texto "comment". Seleccione después la línea "2846!~Comment Selected Lines\; 2221", añada una fila más a la tabla de textos y situándose sobre la columna que contiene sus textos personalizados, cambie solamente el carácter “;” por la combinación de teclas que desee.

Haga lo mismo para "2847!~Uncomment Selected Lines\' 2222", cambiando el carácter "’".


Yendo más lejos


Los ejemplos anteriores ilustran los procesos que intervienen en la personalización de teclas de acceso directo. El mismo enfoque se puede utilizar para personalizar cualquier texto de los utilizados por Omnis mediante simplemente buscarlo para después editarlo, puede encontrar más información sobre como añadir soporte multi-lenguaje a sus aplicaciones Omnis, en el articulo publicado en Bastiaan's blog: http://bastiaanolij.blogspot.com.es/2013/05/part-5-adding-multi-lingual-support.html

Resumen

  1. Desde el catálogo, haga clic sobre la pestaña “STRINGTABLE”.
  2. Haga clic derecho sobre "Built-in strings" y seleccione la opción "Edit Built-in Strings" 
  3. Esto abrirá el editor “String Table” con esta tabla especial vacía (excepto la primera línea que contiene el ID A)
  4. Luego haga clic derecho en "Built-in strings" y seleccione la opción "Find Strings"

La ventana de búsqueda nos permite realizar búsquedas de textos localizaod en el “Studio Core“, los “dam’s”, y otras librerías del entorno Omnis, en ellas encontraremos los textos que queramos traducir, naturalmente primero tendremos que tener claro que es lo que queremos traducir para poderlos buscar, normalmente desearemos traducir aquello que afecta a la interface del usuario y no lo correspondiente al entorno de programación Omnis Studio.

09 abril 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.

02 abril 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.