Etiqueta

07 marzo 2019

Firmado y localización de aplicaciones (Parte 2 de 3)

Personalización de las opciones en el menú del sistema macOS



Tras haber cambiado el nombre "Omnis" por el de nuestra propia aplicación, observaremos que el nombre del menú del sistema MacOS ahora presentará cómo título el nombre de nuestra aplicación, pero siguen apareciendo en él opciones cómo: "Hide Omnis", "Quit Omnis", "Preferences" o "Services" y que (con toda seguridad) desearemos personalizar para nuestra aplicación y según el idioma del usuario. No es el propósito de esta serie de artículos tratar el tema de la localización a otros idiomas de nuestras aplicaciones (tema ya tratado en éste blog) sino más bien, repasar los elementos que permiten la adecuada adaptación de nuestros "runtime-omnis", en cuanto a la creación del paquete final de instalación, de modo que trataremos las llamadas "Studio String Table" (studio.stb) con éste único propósito.

Puesto que llegados a éste punto ya habremos cambiado el nombre del "Omnis app package" por el de nuestra propia aplicación, deberemos cambiar ahora la opciones de su menú principal a fin de que se adecuen a nuestro producto, mediante los pasos siguientes:

  • Abra el "Omnis Catalog" (pulse F9) de Omnis Studio para MacOS
  • Seleccione la pestaña "String Tables" y haga clic derecho sobre "Built-in strings"
  • Introduzca los textos originales sobre la columna de la STRINGID y el texto a cambiar sobre la/s columnas correspondientes al idioma 'en', 'es_es', etc.

Podremos localizar textos específicos a traducir originales de Omnis Studio mediante la opción, "Find strings…" (botón derecho sobre "Built-in strings"), arrastrando y soltando el texto localizado, desde la ventana "Find" sobre la columna "STRINGID", para después añadir su texto traducido.

Cómo ya hemos mencionado, no es el propósito de éste artículo, mostrar como adaptar nuestras aplicaciones a diferentes idiomas, por lo que cuestiones, sobre cómo localizar los días de la semana, meses del año, separadores de caracteres, ordenamiento nacional, etc, tienen en Omnis sus utilidades específicas para éstos asuntos, pero no es nuestro objetivo ahora.

Sólo haremos un apunte en cuanto al comportamiento de Omnis, cuando cambiamos el atributo de idioma en sus preferencias ($language).

Cuando cambiamos la propiedad "$language" Omnis la aplica de inmediato, por lo que no necesita  reiniciar la aplicación ni ninguna otra acción, pero en caso de que la base de datos de localización (la llamada omnisloc.df1) esté siendo compartida entre varios usuarios, el cambio de lenguaje, solo será efectivo tras el reiniciado de la aplicación.

Un pequeño apunte final a modo de recordatorio


La notación: $root.$prefs.$language, retorna el nombre del lenguaje actualmente en uso, el cual podemos (del mismo modo) cambiar con efecto inmediato.

La propiedad: $hascurrlangnationalsortorder, es una propiedad boleana exclusiva de los "df1" y accesible mediante (por ejemplo) "$root.$datas.mificherodf1.$hascurrlangnationalsortorder", si es "true" causará que el orden de clasificación se corresponda con el idioma actual.

No hay comentarios: