Difference between revisions of "Translation for developers/es"
(4 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
Necesitarás un sistema operativo GNU/Linux. Es posible hacerlo con otro sistema operativo, pero es más complicado obtener un entorno de trabajo. | Necesitarás un sistema operativo GNU/Linux. Es posible hacerlo con otro sistema operativo, pero es más complicado obtener un entorno de trabajo. | ||
Debes tener algunas cosas en mente: | |||
* | * Todos los archivos de traducción de Kiwix están en el directorio "kiwix/chrome/locale". | ||
* Hay dos tipos de archivos de traducción para traducir la interfaz de usuario (Echa un vistazo a los * .js y | * Hay dos tipos de archivos de traducción para traducir la interfaz de usuario (Echa un vistazo a los archivos *.js y *.xul en kiwix/chrome/content/main para entender cómo funciona): | ||
** " | ** "main.dtd", que proporciona traducciones de todos los archivos *.xul | ||
** " | ** "main.properties", que proporciona traducciones para todos los archivos *.js. | ||
* Las traducciones Translatewiki se importan por separado en el repositorio de código Kiwix una vez por semana y siempre se deben sincronizar los archivos con el código Kiwix en ambas direcciones (KW-> TW y TW -> KW). | * Las traducciones de Translatewiki se importan por separado en el repositorio de código de Kiwix una vez por semana y siempre se deben sincronizar los archivos con el código de Kiwix en ambas direcciones (KW-> TW y TW -> KW). | ||
'''ADVERTENCIA: Antes de que cualquier modificación del código fuente de Kiwix, actualiza tus repositorios de código locales con "git pull origin master" en cada uno de ellos.''' | '''ADVERTENCIA: Antes de que cualquier modificación del código fuente de Kiwix, actualiza tus repositorios de código locales con "git pull origin master" en cada uno de ellos.''' | ||
Line 42: | Line 42: | ||
=== Actualización de los archivos de Translatewiki === | === Actualización de los archivos de Translatewiki === | ||
Pero también hay que decirle a Translatewiki | Pero también hay que decirle a Translatewiki que agregue esta cadena en la lista de cadenas que tiene que proveer (a los traductores de Translatewiki) para traducir. Para eso necesitas descargar otra parte del repositorio de código de Kiwix. Ejecuta fuera de tu directorio local de código kiwix el siguiente comando en la consola: | ||
<source lang="bash"> | <source lang="bash"> | ||
Line 81: | Line 81: | ||
git push origin master | git push origin master | ||
</source> | </source> | ||
La ruta completa debe ser el directorio de moulinkiwix, no el directorio kiwix dentro. | La ruta completa debe ser el directorio de moulinkiwix, no el directorio kiwix dentro de él. | ||
== Añadir un nuevo idioma soportado a Kiwix == | == Añadir un nuevo idioma soportado a Kiwix == | ||
Line 99: | Line 99: | ||
Ahora actualiza el CHANGELOG agregando una nota sobre la incorporación de los nuevos idiomas soportados. | Ahora actualiza el CHANGELOG agregando una nota sobre la incorporación de los nuevos idiomas soportados. | ||
Añade el nuevo directorio de idioma y haz un commit de esta manera: | Añade el nuevo directorio de idioma y haz un "commit" de esta manera: | ||
<source lang="bash"> | <source lang="bash"> |
Latest revision as of 21:24, 25 February 2015
Además del propio trabajo de traducción, el código fuente de Kiwix necesita sincronizarse con Translatewiki.
Esta sincronización con Translatewiki necesita tres tipos de operaciones:
- Agregar una cadena a Kiwix y Translatewiki, es decir, la introducción de una cadena dinámica que se reemplazará por la correspondiente traducción en tiempo de ejecución.
- Actualización de las cadenas de Kiwix con las traducciones procedentes de Translatewiki.
- Añadir un idioma nuevo completamente traducido, desde Translatewiki a Kiwix.
Requerimientos
Necesitarás un sistema operativo GNU/Linux. Es posible hacerlo con otro sistema operativo, pero es más complicado obtener un entorno de trabajo.
Debes tener algunas cosas en mente:
- Todos los archivos de traducción de Kiwix están en el directorio "kiwix/chrome/locale".
- Hay dos tipos de archivos de traducción para traducir la interfaz de usuario (Echa un vistazo a los archivos *.js y *.xul en kiwix/chrome/content/main para entender cómo funciona):
- "main.dtd", que proporciona traducciones de todos los archivos *.xul
- "main.properties", que proporciona traducciones para todos los archivos *.js.
- Las traducciones de Translatewiki se importan por separado en el repositorio de código de Kiwix una vez por semana y siempre se deben sincronizar los archivos con el código de Kiwix en ambas direcciones (KW-> TW y TW -> KW).
ADVERTENCIA: Antes de que cualquier modificación del código fuente de Kiwix, actualiza tus repositorios de código locales con "git pull origin master" en cada uno de ellos.
Obtén el código y ejecuta Kiwix
Antes de comenzar a trabajar en la integración de nuevas cadenas en el código de Kiwix, es preferible lograr compilar Kiwix:
- Consigue el código inestable
- Compílalo
- En el subdirectorio kiwix, ejecúta kiwix
Nota: Si no puedes compilar Kiwix o no dispones de xulrunner (es el caso, por ejemplo, en Ubuntu Oneiric y superior) todavía podrás iniciar Kiwix y obtener una interfaz aunque la aplicación no funcionará correctamente. Sin embargo, con esto es suficiente, por ejemplo, para manipular los archivos XUL. En este caso, tendrás que hacer algunos pasos adicionales como agregar "maxVersion = 42.*" en una línea nueva en kiwix/application.ini y ejecutar Kiwix desde el directorio "kiwix" usando el comando "firefox -app application.ini".
Añadir una cadena para las traducciones
Encuentra una cadena para localizar
Revisa los archivos * .xul y * .js en busca de cadenas "harcodeadas" (en Inglés).
Si encuentras una, debes encontrar un identificador de cadena (foobar por ejemplo), echa un vistazo a la cadena ya localizada para ver cómo debería verse. Lo más importante que hay que saber es que en los archivos *.xul, deberían verse como "&foobar;" y en los *.js como "getProperty('foobar')".
Traducirla en el idioma original inglés
Tendrás que hacer eso en dos lugares. Primero en los archivos main.dtd o main.properties de "kiwix/chrome/locale/en/main/". De esa manera la aplicación Kiwix reconoce que mostrar si el idioma de la interfaz de usuario es el inglés.
Actualización de los archivos de Translatewiki
Pero también hay que decirle a Translatewiki que agregue esta cadena en la lista de cadenas que tiene que proveer (a los traductores de Translatewiki) para traducir. Para eso necesitas descargar otra parte del repositorio de código de Kiwix. Ejecuta fuera de tu directorio local de código kiwix el siguiente comando en la consola:
git pull origin master
Ahora tienes en tu ordenador las traducciones de translatewiki. Solo debes actualizar el archivo "en" que es el archivo de idioma maestro para Translatewiki. Así que simplemente añade tu cadena nueva siguiendo el ejemplo de otras cadenas ya agregadas y haz un "commit" de tu archivo "en".
Alguien de Translatewiki comprueba cada semana el archivo "en" por si hay cadenas nuevas y sincroniza Translatewiki con este archivo si es necesario.
Crea un pedazo de traducción de tu cadena para todos los idiomas
Lo último que necesitas hacer es crear un pedazo de traducción de tu nueva cadena localizada para todos los idiomas de interfaz de usuario soportados en Kiwix. Si no haces eso, Kiwix no será capaz de funcionar correctamente en un idioma distinto del Inglés.
Para ello, es necesario utilizar el script TW2PL.pl (este es un script en perl, por consiguiente, perl debe estar instalado) como a continuación (en el directorio de archivos translatewiki):
./TW2KW.pl --path=/full/path/to/the/kiwix/code/directory --allLanguages=kw
Confirma los nuevos archivos de traducción kiwix
Ahora, todo el archivo de entorno local en kiwix/chrome/locale debe actualizarse y debes tener una gran cantidad de archivos (modificados) listados, escribiendo:
git status kiwix/chrome/locale
Después de comprobar que todo está bien, puede hacer commit de tus modificaciones: es decir, en el directorio kiwix/chrome/locale y *.xul y/o *.js que tu has modificado.
Actualización de las traducciones de Kiwix
Otra tarea es la de actualizar idiomas kiwix ya soportados con las últimas cadenas actualizadas procedentes de Translatewiki. Lo primero que debes saber, es que en el repositorio de subversion remoto, el archivo Translatewiki (en maintenance/translatewiki) se actualiza cada dos semanas a partir de unos contribuyentes de Translatewiki. Eso significa, que sólo tendrás que actualizar tu repositorio local y actualizar y hacer un commit de los archivos de traducción de código kiwix como por ejemplo:
cd /full/path/to/the/kiwix/maintenance_tools/translatewiki
./TW2KW.pl --path=/full/path/to/the/kiwix/code/directory --allLanguages=kw
git commit /full/path/to/the/kiwix/code/directory/kiwix/chrome/locale
git push origin master
La ruta completa debe ser el directorio de moulinkiwix, no el directorio kiwix dentro de él.
Añadir un nuevo idioma soportado a Kiwix
Kiwix intenta agregar solamente idiomas 100% traducidos procedentes de Translatewiki. Así sucede que a menudo hay más idiomas en el directorio "maintenance_tools/translatewiki" que en el directorio "kiwix/kiwix/chrome/locale". En tal caso, simplemente significa que el idioma Translatewiki todavía no se ha integrado en la base de código Kiwix. Explicamos ahora cómo hacerlo.
En primer lugar necesitas crear los archivos de traducción en un directorio nuevo en "kiwix/kiwix/chrome/locale/codigo_iso_de_tu_idioma" como por ejemplo:
./TW2KW.pl --path=/full/path/to/your/kiwix/code/base/directory/ --language=your_language_iso_code
Después, necesitas ir al directorio del código fuente Kiwix en "kiwix/chrome" y editar con tu editor de texto preferido los archivos "chrome.manifest" y "chrome.manifest.prod". Ninguna explicación aquí, solamente hazlo para que los idiomas ya estén compatibles.
Luego edita chrome/content/main/js/languages.js y aquí también agrega los idiomas nuevos.
Ahora actualiza el CHANGELOG agregando una nota sobre la incorporación de los nuevos idiomas soportados.
Añade el nuevo directorio de idioma y haz un "commit" de esta manera:
git add kiwix/chrome/locale/language_iso_code
git commit CHANGELOG kiwix/chrome/chrome.manifest kiwix/chrome/chrome.manifest.prod kiwix/chrome/locale/ kiwix/chrome/content/main/js/gui.js
git push origin master