Introducción a la traducción

From ReactOS Wiki
Jump to: navigation, search

El equipo de ReactOS les da la bienvenida a cualquiera que quiera contribuir en la traducción. Este artículo está escrito para ayudarte a comenzar a traducir.

Si necesitas más ayuda con cosas que no están en este artículo, pregunta en los foros de ReactOS (En la sección General Discussion) o en el chat de ReactOS. También puedes enviar tus dudas en la lista de correos de traducción (ros-translate) o en la lista de desarolladores (ros-dev).

Primeros pasos

Deberías comprobar si hay otros traductores trabajando en tu idioma comprobando la Lista de Traductores, también puedes intentar contactarlos a través del chat. Si hay otros traductores en la lista, deberías contactar con ellos y decirles que estas interesado en traducir. También puedes preguntar sobre el estado actual de la traducción.

Si tu idioma no está en la lista, puedes apuntar tu idioma en la Lista de Traductores y poner tu nombre allí.

Traducciónes Wine

Los archivos que son de Wine (lista) deben ser traducidos en Wine para que luego sean importados más tarde.

Para más información, vaya a WineHQ Patch submission guidelines (Guia de envío de parches de WineHQ).

Traducir ReactOS

Donde descargar los archivos

Los archivos más actualizados están disponibles en nuestro repositorio GitHub. Asegúrate de que descargues los archivos del master branch y no de otro lanzamiento ya que podrian estár desactualizados.

Como traducir los archivos

Debajo hay un ejemplo de un archivo .rc de ReactOS Access Control List Editor (aclui).

(Como habian líneas que no eran importantes, hemos eliminado todo lo que no está relacionado con la traducción para que encaje con el formato de esta página)

#include <reactos/resource.h>
#include <defines.h>
#include "resource.h"

LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL

IDD_SECPAGE DIALOGEX 0, 0, 227, 215
STYLE WS_CHILD | WS_VISIBLE | WS_CAPTION
CAPTION "Security"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
  LTEXT "&Group or user names:", -1, 7, 7, 105, 8
  CONTROL "", IDC_ACELIST, "SysListView32", LVS_REPORT
  PUSHBUTTON "A&dd...", IDC_ACELIST_ADD, 116, 87, 50, 14
  PUSHBUTTON "&Remove", IDC_ACELIST_REMOVE, 170, 87, 50, 14
  LTEXT "Allow", -1, 135, 107, 32, 8, SS_CENTER
  LTEXT "Deny", -1, 176, 107, 32, 8, SS_CENTER
END

STRINGTABLE DISCARDABLE
BEGIN
  IDS_PSP_TITLE "Permissions for %1"
END

Lo primero que hay que hacer es copiar el archivo .rc English, normalmente llamado en-US.rc, y cambiarlo en tu código de idioma. Si no sabes el código de tu idioma, echa un vistazo a los códigos de 2 letras debajo de ISO-639 (también puedes encontrar nombres de ubicación en esta página de MSDN). Ten en cuenta que algunos archivos podrian diferir de esta lista, por ejemplo, archivos que son de Wine. Así que asegúrate de que una traducción de tu idioma no exista antes de que lo traduzcas tu mismo.

El archivo que has copiado es solo para empezar la traducción:

  • Primero cambia LANG_ENGLISH en tu idioma (Por ejemplo: LANG_SWEDISH). Dependiendo de tu idioma y ubicación, también deberias cambiar Sublang de SUBLANG_NEUTRAL o SUBLANG_DEFAULT.
  • Los textos a traducir están normalmente entre comillas. Aunque hay excepciones, pero son fáciles de ver. Por ejemplo, no debes traducir "MS Shell Dlg" (porque es una fuente, como puedes ver al principio de la línea) o "SysListView32".
  • La mayoria de los recursos traducidos ahora están codificados en UTF-8, por favor guarde sus archivos .rc como "UTF-8".
  • Deje una línea al final del archivo .rc (una línea en blanco) para facilitar la compilación.
Ajustar el tamaño

Si alguno de los campos, etiquetas, etc. no caben en tu idioma, debes ajustarlos.

Por ejemplo, en:

 PUSHBUTTON "&Some text", IDC_ACELIST_REMOVE, 170, 87, 50, 14

Los números 170, 87, 50, 14 representan LEFT, TOP, WIDTH, HEIGHT. Así que cambiando de 50 a 60 resultará en un pushbutton más largo.

En caso de que no estés actualizando traducciones anteriores, Tendrás que editar más archivos. En cada aplicación, DLL, carpeta, etc. Debe haber un archivo llamado rsrc.rc o <nombredeaplicacion>.rc. Debes abrirlo y añadir tu ubicación del archivo de idioma en ella.

Carácteres Comunes

Char Descripción
& El signo &, que está dentro de algunas palabras, define un atajo de tecla; la letra que va después del & se convierte en un atajo de tecla.

Un atajo de tecla se usa para acceder rápidamente a diferentes menús, etc. El atajo de tecla muestra la tecla subrayada.

% El signo de porciento está seguido de otro carácter, como %1 que puedes ver en el .rc de arriba. Esto no debe ser cambiado ya que normalmente indica un texto o un valor siendo introducido.
\n Esto introduce una nueva línea.
/* text */ Esto es texto comentado. Deberias considerar dejarlo como está para facilitar trabajos futuros.

Enviar tu traducción

1. Crea una cuenta de GitHub (si todavia no tienes uno).
La línea de comando Git es útil para entender los básicos de Git. TortoiseGit también es una opción buena para principiantes.
Puedes encontrar más información sobre git aquí: https://reactos.org/wiki/ReactOS_Git_For_Dummies

2. Hacer un Fork de ReactOS en GitHub
Ya deberias haber configurado correctamente git con tu nombre real y puesto el repositorio ReactOS como remoto.

3. Crea un branch en tu fork donde puedas enviar tus cambios
Como actualizar el código de tu fork a la última reactos:master:
En tu sesión de línea de comandos de git:

  git remote -v

Este comando te permite visualizar la lista de repositorios remotos disponibles para sincronizar.
Típicamente los encontrarás:

  "origin https://github.com/<your_nickname>/reactos.git"

y por ejemplo:

  "upstream https://github.com/reactos/reactos.git"

lo cual, significa que te referirás al reactos:master original a través del nombre "upstream" (si nada de esto existe en la lista que se le ha devuelto, por favor lea https://help.github.com/articles/config ... or-a-fork/ ).
Ahora, cuando esté en algún branch de tu fork, ejecute los siguientes comandos:

  git fetch upstream
  git rebase upstream/master

El primer comando descargará toda la nueva información, en el segundo, actualiza tu branch con los commits que existen en el branch upstream/master, y luego añade backs encima de tus commits. Luego, debes actualizar tu fork remoto ejecutando:

  git push --force-with-lease

Como alternativa, puedes intentar la solución explicada en https://help.github.com/articles/syncing-a-fork/ , pero éste no ayuda a mantener un historial lineal.

4. Crear un pull request
Ten en cuenta que "pull request" NO es lo mismo que "git pull". Pull Request solicita a los mantenedores de los repositorios a hacer "git pull" desde tu branch o fork.

Por favor, siga la guia Envío de Commits de Cambios.

Aquí hay un ejemplo de un mensaje de un commit para una traducción bien escrita:

 [EXPLORER] Improve german translation

Importante: Si eres el primer traductor de este idioma (usted ha creado el archivo de idioma), por favor, siga estos pasos adicionales:

  • Después de haber terminado de traducir el archivo, vaya fuera del directorio "lang" y busca otro archivo ".rc". Normalmente, este archivo tiene el mismo nombre que la carpeta en la que está actualmente Y es el único archivo ".rc" en esa carpeta. Por ejemplo: si estas traduciendo los archivos en reactos/base/applications/charmap/lang, y el archivo que estas buscando es "charmap.rc" en base/applications/charmap. Abra el archivo, haga click en "Editar", busca una línea con:
#pragma code_page(65001)
  • Pegue estas líneas (recuerde seguir el orden alfabético):
#ifdef LANGUAGE_LANGUAGECODE_LANGUAGECODE
    #include "lang/translationcodehere.rc"
#endif
  • Reemplaza "LANGUAGECODE", "translationcodehere" conforme con el código de idioma. Ejemplo, si el idioma de traducción es Vietnamesa, las líneas de encima serían lo siguiente:
#ifdef LANGUAGE_VI_VN
    #include "lang/vi-VN.rc"
#endif
  • Asegúrate de que los dos archivos (este archivo y tu archivo de traducción) están en la misma pull request para evitar una situación en la que solo hay un archivo que se ha unido en el branch principal.

Terminología

No tienes por que traducirlo todo exactamente como en Windows. Si crees que puedes traducirlo mejor que Windows, adelante! Pero debes usar los términos comúnes, como por ejemplo los menús de Windows.

Además, trata de mantener tu traducción consistente, esto quiere decir cosas como, intentar no traducir el mismo término de manera diferente en otros sitios.

Recomendaciones

  • Corrección
Teniendo otro miembro de tu equipo de traducción corrigiendo tus traducciones y ellos/ellas dar sus surgerencias, obtendrá una mayor calidad de traducción.
Esta idea comenzó con el equipo de traductores en Sueco, y así es como lo llevan al cabo:
  1. Alguien traduce un archivo y en nuestro caso lo sube en nuestro servidor ftp.
  2. Otro miembro del equipo corrige el archivo y da su opinión.
  3. El autor original realiza los cambios conforme a los comentarios con las que está de acuerdo con él/ella.
  4. Si hay algo de lo que los dos miembros no están de acuerdo, se inicia una votación.
Por supuesto no es necesario seguir todos estos pasos, pero algo de ayuda a la corrección es bastante recomendado.
  • Un sítio para reunirse y chatear
Tener un sítio para reunirse y chatear hace que la traducción sea más fácil. Un consejo es utilizar el chat de ReactOS y reunirse allí — en el chat, puedes hacer click en "More..." en el panel de la izquierda para mostrar los canales específicos de cada idioma.
  • Entra en contacto con otros traductores por E-mail, chat o foros en lenguaje específico.

Otros Idiomas