Multiidioma

La opción de Multiidioma es de las últimas opciones que se realizan en un proyecto, cuando el mappings.xml y appwizard.xml están ya validados para producción.


La opción de Multiidioma está implementada en el xonestudio, de forma que partiremos del mappings original que acabamos de desarrollar.




Tras pulsar el botón de “Google Translate” se produce una primera traducción utilizando este servicio de Google y así nos hará gran parte del trabajo de forma automática (al traducir palabras sueltas, la traducción es bastante fiable). Tras esta primera traducción, podremos corregir los valores que queramos en la columna correspondiente, de forma que si volvemos a traducir con el botón de Google Translate, los valores corregidos “a mano” no se machaquen.

Este paso podemos hacerlo tantas veces como queramos y con cuantos idiomas necesitemos, sin embargo, el lenguaje ORIGINAL únicamente se selecciona la primera vez que vamos a realizar las traducciones.





Una vez corregidos los resultados de la traducción (podemos volver a esta ventana tantas veces como queramos), exportamos los archivos resultantes, dando lugar a un fichero de diccionario: xonemappdictionary.xml, que contendrá las cadenas a traducir y su equivalente en los distintos idiomas así como unas carpetas EN, PT y FR (en el caso de traducciones al Inglés, Portugués y Francés respectivamente) que contendrán todos los ficheros del proyecto, de forma que mirando el LOCALE del dispositivo (Idioma del dispositivo) se cogen los archivos de una u otra carpeta según corresponda.


<?xml version="1.0" encoding="utf-8"?>
<xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" code="es">
  <string value="3" tooltip="coll [Cierre] - btn_back [] - action [runscript] - script [] - linea 3">
    <language code="es" value="3" locked="true" />
    <language code="en" value="3" locked="false" />
    <language code="pt" value="3" locked="false" />
  </string>
  <string value="Atras" tooltip="coll [Cierre] - prop [BTNBACK] - title">
    <language code="es" value="Atras" locked="true" />
    <language code="en" value="back" locked="false" />
    <language code="pt" value="de volta" locked="false" />
  </string>
  <string value="Ayuda" tooltip="coll [WebView] - title">
    <language code="es" value="Ayuda" locked="true" />
    <language code="en" value="help" locked="false" />
    <language code="pt" value="ajudar" locked="false" />
  </string>
  <string value="Campos de Usuario" tooltip="coll [Incidencias] - prop [MAP_TLUSER] - title">
    <language code="es" value="Campos de Usuario" locked="true" />
    <language code="en" value="User Fields" locked="false" />
    <language code="pt" value="Utilizador Campos" locked="false" />
  </string>
  <string value="Cancelada" tooltip="coll [SolicitudPiezas] - prop [CANCELADA] - title">
    <language code="es" value="Cancelada" locked="true" />
    <language code="en" value="Cancelled" locked="false" />
    <language code="pt" value="Cancelado" locked="false" />
  </string>
.....
</xml>


Podemos generar en cualquier momento las traducciones partiendo en todo momento del mappings original, simplemente borrando el fichero xonemappdictionary.xml y las carpetas con los distintos idiomas en la carpeta del proyecto.