## Traducción de GenJ a otras lenguas

La traducción no requiere de conocimientos de programación ni se han de procesar ficheros en lenguaje java (*.java).Los datos de lenguaje están completamente separados del programa y se almacenan en ficheros de texto. Una traducción completa consiste en tres fases:

> 1. El programa GenJ
> 2. los informes
> 3. los ficheros de ayuda

Estas partes son independientes así que la traducción puede ser parcial ( por ejemplo sólo el programa y los informes sin los ficheros de ayuda). Debería usar una lengua ya existente como muestra , p.e. el inglés. Los ficheros necesarios (la muestra) están almacenados en el servidor CVS. La página web de Genj contiene información sobre cómo acceder a este servidor. Otra posibilidad es enviar los fichero por e-mail contactando con el equipo de GenJ o visitando el forum de GenJ. La estructura de directorios puede ser ligeramente diferente de la estructura en el CVS, la cual es la que se usa en esta explicación, y que contiene varios subdirectorios con los ficheros a procesar. Cada parte se traduce de la siguiente manera.

## El programa GenJ

Todos los ficheros están codificados como UTF-8. Por favor asegúrese de que su editor de texto lo usa. La ruta es `dev/genj/language/[identificación del lenguaje de muestra, p.e. en=english]/genj/`. Sólo los ficheros *.properties son relevantes, y en cada uno de ellos los textos en el lado derecho del signo igual deben ser traducidos. Los textos al lado izquierdo del signo igual denben permanecer sin cambios.

> Example (en => es)
> cc.menu.file = File (muestra en inglés)
> cc.menu.file = Datei (traducción alemana)
> cc.menu.file = Fichier (traducción francesa) cc.menu.file = Fichero (traducción española)

En el caso de traducciones no existentes se usa el ingles como lenguaje por defecto. Los ficheros *.properties han de ser renombrados despues de ser traducidos añadiendo un "_" y el símbolo del lenguaje, en el caso del español con "es". Nota: Los ficheros de lenguaje por defecto en inglés no tienen _ ni símbolo de identificación de lengua.

> Ejemplo (en => de, fr, es)
> resources.properties
> resources_de.properties (alemán)
> resources_fr.properties (francés)
> resources_es.properties (español)

Después de renombrar el directorio de identificación del nuevo lenguaje la traducción está lista.

> Ejemplo (en => de, fr, es)
> dev/genj/language/en/genj
> dev/genj/language/de/genj/ (alemán)
> dev/genj/language/fr/genj/ (francés)
> dev/genj/language/es/genj/ (español)

## Informes

Aquí los ficheros *.properties están en `dev/genj/src/report` y están codificados en UTF-8. Una nueva línea debe ser añadida para cada entrada.Las entradas existentes pueden ser usadas como muestra usando "cortar y pegar". Al lado izquierdo del signo igual en la nueva entrada se debe añadir un punto mas el símbolo del lenguaje usado para identificar el cambio Nota: Las entradas en inglés (lenguaje por defecto) no tiene punto ni identificador de lenguaje.

> Ejemplo (en => de, fr, es)
> name = Gedcom Statistics
> name.de = Gedcom-Statistik (german)
> name.fr = Statistiques des données Gedcom (french)
> name.es = Estadísticas de Gedcom (español)

El texto del lado derecho del signo igual debe ser traducido. El ingles es el lenguaje por defecto cuando no se encuentra el adecuado. El texto encerrado entre `{}` o `@@` es una marca para variables y se debe dejar como está. Las secuencias de escape comienzan con `\` como `\n`. Las secuencias como `\u00ED` son símbolos Unicode y es tranformado en letras legibles durante la ejecución de GenJ.

> Ejemplo (en => de, fr, es)
> females = Females: {0} ({1}%)
> females.de = Weiblich: {0} ({1}%)
> females.fr = Femmes : {0} ({1}%)
> females.es = Mujeres : {0} ({1}%)

La traducción está completa cuando todos los ficheros *.properties se han procesado.

## Ficheros de ayuda

Los ficheros de ayuda están escritos en formato HTML . Las imágenes de `dev/genj/images` son usadas como demostración. Lso ficheros *.html relevantes están en `dev/genj/help/[identificación del lenguaje de muestra, p.e. en=english]`. Los comandos HTML como `<br>` o `</p>` permanecerán sin cambios. Sólo el texto debe ser procesado. Cuando se actualicen imagenes del programa (pantallas)tenga esto en cuenta:

> - La traducción de las otras partes( Programa , Informes ) debe estar acabada para evitar mezclar lenguajes.
> - Cuando se usen diferentes apariencias gráficas ponga la misma para cuidar la homogeneidad en las imágenes de los ficheros de ayuda .
> - No sobreescriba ficheros en `help/images`, coloque sus pantallas directamente en el directorio de `ayuda` en el que esté trabajando
> - Use PNG como formato gráfico.

La traducción de los ficheros de ayuda está acabada cuando se renombra el directorio con el nuevo identificador de lenguaje (vease la sección de Progaraman GenJ para un ejemplo).