Contribuir a las traducciones

Tras bastidores, GeoNode utiliza un software llamado GNU gettext y otros archivos de traducción basados en texto (django.po y djangojs.po) para traducir el contenido. Si deseas saber más sobre cómo funciona todo esto, encontrarás una descripción completa en la Django Docs. A continuación, nos concentraremos en lo que se necesita para editar una traducción existente o contribuir con una nueva.

Descargar el archivo de traducción

Todos los archivos de idioma se encuentran en una subcarpeta específica llamada según su código ISO <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes/>`_ dentro de la carpeta de configuración regional <https://github.com/GeoNode/geonode/tree/master/geonode/locale/>`_. Por ejemplo, para francés, el archivo de traducción principal llamado django.po se puede descargar desde aquí <https://github.com/GeoNode/geonode/blob/master/geonode/locale/fr/LC_MESSAGES/django.po/>`_.

A continuación, para descargar el archivo de idioma, necesitamos instalar un editor de Código Abierto llamado «poedit» para editar desde: https://poedit.net/download

Proceso de traducción

Haz una copia del archivo antes de comenzar la traducción para que pueda volver atrás en caso de errores.

Después de instalar “poedit”, deberías poder hacer doble clic en el archivo “.po” para abrirlo. La interfaz de Poedit debería ser similar a la que se muestra en la siguiente imagen:

Interfaz de Poedit

Identificación de problemas de traducción

Desde el menú “Ver” de “poedit”, asegúrate de que la opción “Entradas con errores primero” esté marcada:

Validar traducción

A continuación, haz clic en “Validar traducciones” en el menú “Catálogo”:

Validar traducción

“Poedit” colocará las traducciones que requieran una consideración adicional en la parte superior de la lista. Una marca de advertencia significa que la interpretación podría no ser totalmente coherente con la frase original. Esto no es necesariamente un error, solo una advertencia que solicita al usuario que vuelva a verificar.

Advertencia de Poedit

A continuación de las frases marcadas, “Poedit” mostrará las frases sin traducir. Al hacer clic en una, se puede traducir a través del panel inferior.

Durante la traducción, presta especial atención al botón que dice «necesita trabajo». Si este botón está marcado, la frase se marcará como «difusa» y se ignorará en GeoNode.

La frase necesita trabajo

Guardar traducciones

Una vez finalizada la traducción, hay que guardarla y compilarla. Guardar es muy sencillo: solo hay que hacer clic en el botón «Guardar» del menú superior.

Como último paso, compilamos el archivo. Compilar la traducción significa crear un archivo binario «.mo» a partir del archivo «.po» editado. Para ello, haga clic en «Compilar en MO»

guardar y compilar

Poedit le preguntará dónde escribir el archivo «.mo». De manera predeterminada, es la misma carpeta en la que se encuentra el archivo «.po» editado. El archivo «.mo» se puede sobrescribir si es necesario.

Enviar traducciones al repositorio

Para compartir nuestras actualizaciones, debemos subir los archivos al repositorio de GitHub de GeoNode. Vaya a la posición correcta del archivo que, en el caso del francés, es: https://github.com/GeoNode/geonode/tree/master/geonode/locale/fr/LC_MESSAGES

Haga clic en «Subir archivos»

subir archivos

Arrastra los archivos actualizados al formulario de carga y escribe un título/descripción de los cambios.

arrastrar archivos

Haz clic en “Create a new branch for this commit…” y luego haz clic en el botón verde.

arrastrar archivos

El último paso creará una «PULL REQUEST» que puede ser revisada y luego aprobada por un desarrollador.

Activar la traducción actualizada en su servidor

Una vez que los archivos se hayan subido a GitHub, será necesario actualizar tu servidor para reflejar los archivos cambiados.

En este momento, esto solo lo puede hacer un administrador. Desde el “shell” del servidor se deben ejecutar los siguientes comandos:

workon geonode
cd /opt/geonode
DJANGO_SETTINGS_MODULE=geonode.settings python -W ignore manage.py collectstatic --noinput
sudo service uwsgi restart

Textos no listados en archivos .po

En caso de encontrar una plantilla de salida sin traducción correspondiente, puede agregarla de la siguiente manera:

Identifique el archivo de plantilla correspondiente que es responsable de generar el texto. Agregue una etiqueta {% trans "TEXT" %}. Guarde el archivo de plantilla y ejecute lo siguiente:

django-admin makemessages --no-location -l en -d django -e "html,txt,py" -i docs
django-admin makemessages --no-location -l en -d djangojs -e "js" -i docs -i node_modules -i lib

Esto actualizará el archivo .po en inglés. También se actualizará el idioma, que se debe editar configurando el parámetro -l fr. Continúe con la actualización del archivo .po como se describe anteriormente.