El trabajo de traducción llega como una tabla mucho más a menudo que en cualquier formato hecho a medida. Una columna de clave, el idioma origen, una columna por idioma destino, y algunas columnas que no son traducciones en absoluto.
Es un formato razonable. Sobrevive a que lo manden por correo, se abre en cualquier sitio, y quien traduce no necesita una cuenta para usarlo. Lo que no hace es entender qué significa cada columna, y ahí empieza el lío.
La forma del archivo
Cinco tipos de columna, más o menos en este orden:
- La clave — el identificador por el que el software busca la cadena.
checkout_button_label, o un número. Esta columna no es texto para personas y tiene que sobrevivir intacta. - El idioma origen — de donde lee quien traduce. Normalmente inglés, y no le corresponde editarlo; un cambio aquí desincroniza en silencio todas las demás columnas.
- Los idiomas destino — uno por configuración regional, las columnas que se están rellenando.
- Comentarios — notas de desarrollo, preguntas de traducción, respuestas. Prosa sobre la cadena, no la cadena.
- Metadatos — estado, nombre de pantalla, límite de caracteres, el archivo del que salió la cadena.
La distinción entre los dos últimos y los idiomas destino es la que una hoja de cálculo no sabe hacer sola, y la que más importa.
¿Cómo se reconoce una columna de idioma?
Por su cabecera, y las cabeceras son inconsistentes de formas predecibles. Una herramienta que solo acepte un código ISO pelado se pierde la mayoría de los archivos reales.
Hay tres familias que atender. Los códigos simples —en, es, ja— son el caso fácil. Las variantes regionales —pt-BR, zh-Hans, es-419— llevan una escritura o una región detrás de un separador, y quitar el sufijo fundiría el portugués de Brasil con el de Portugal en una columna que no es ninguno de los dos. Los nombres escritos —Spanish, Japonés— aparecen siempre que el archivo se preparó para personas y no para un analizador.
Encima de eso, las cabeceras llegan decoradas: [EN], text_en, en (US), EN_translation. Todas son el mismo idioma con distinta ropa, y el único enfoque que funciona es desnudarlas hasta el código antes de decidir.
El editor de este sitio además hace coincidir las formas con y sin tilde de los nombres escritos, porque una cabecera que dice Japonés y otra que dice Japones son la misma columna y solo una se tecleó con cuidado.
Las columnas que no son traducciones
Una columna de comentarios presentada como celda de traducción editable es peor que inútil: invita a traducir una nota que estaba para leerse, y cuenta para una cifra de completitud con la que no tiene nada que ver.
Las palabras de cabecera que marcan comentario son una lista corta en cualquier idioma: comentario, nota, observación, contexto, instrucción, respuesta, y sus equivalentes. En archivos de estudios japoneses esas cabeceras son igual de probables como コメント, 備考 o 返答, y una herramienta que solo mire palabras en inglés tratará tres columnas de correspondencia interna como cadenas sin traducir.
Los metadatos son el otro grupo — id, estado, pantalla, archivo, maxlength, límite. Tienen que verse, porque un límite de caracteres es justo lo que quien traduce necesita ver, pero no son trabajo pendiente.
Si esto se equivoca, todos los números que calcules después se equivocan con él. Un archivo que sale como 60% traducido cuando tres de sus «idiomas» son columnas de comentarios no te dice nada.
Dónde la hoja de cálculo juega en tu contra
Cuatro fallos concretos, todos habituales:
La columna de claves se destruye. Las claves se parecen lo bastante a datos como para que Excel las convierta: desaparece un cero de delante, MAR1 se vuelve una fecha. El software ya no encuentra la cadena, y la traducción que se hizo bien se pierde detrás de una clave que ya no coincide.
La completitud es invisible. Una hoja de cálculo te dirá que una columna tiene 1.200 celdas no vacías. No te dirá que 300 de ellas siguen siendo el texto inglés de origen, que no es lo mismo que estar traducidas.
No hay fusión segura. Dos personas trabajando sobre dos copias producen dos archivos, y reconciliarlos es manual. Este es el argumento más fuerte para pasarse a una plataforma de localización de verdad en cuanto el proyecto crece.
La codificación se va. Un archivo con japonés, coreano y latín acentuado es exactamente el archivo que se vuelve galimatías al abrirse sin la codificación correcta — y, a diferencia de una clave, el texto estropeado no se delata en un idioma que no lees.
Convenciones que lo hacen llevadero
Si la tabla es lo que hay, unas pocas decisiones quitan casi todo el dolor:
- Pon la clave primero y no ordenes nunca por otra cosa. Ordenar una tabla de traducción por un idioma destino descoloca la correspondencia entre filas y claves si algo más adelante da por hecho el orden.
- Nombra las columnas de idioma con códigos, no con nombres.
pt-BRno admite duda;Portuguéses una pregunta. - Mantén los comentarios en columnas claramente nombradas y nunca en la misma columna que una traducción.
- Acordad la codificación y el fin de línea una vez, y reexportad siempre con los mismos ajustes. UTF-8 en todo, y marca de orden de bytes solo si alguien lo abre de verdad en Excel.
- Manda TSV en lugar de CSV cuando el contenido es prosa. El texto traducido está lleno de comas y rara vez lleva tabuladores, así que el delimitador se quita de en medio — el intercambio está explicado en TSV vs CSV.
Hacerlo aquí
El editor de este sitio reconoce esta forma al abrir: mira las cabeceras y deduce qué columnas son idiomas, cuál es el origen y cuáles son comentarios o metadatos. Cuando encuentra una clave y al menos dos columnas de idioma, entra en un modo de traducción construido alrededor de esa disposición.
La columna origen pasa a ser de solo lectura, porque editar aquello de lo que lee quien traduce casi nunca es la intención. Las columnas de comentario se presentan como notas pegadas a la fila, no como celdas que rellenar. El progreso se reporta por idioma, y qué cuenta como traducido es una pregunta con más de una respuesta.
No se sube nada: el archivo lo lee y lo escribe tu navegador, lo que para una entrega de traducción sujeta a un acuerdo sobre dónde puede estar el contenido no es un detalle menor. La página del editor de archivos de traducción TSV y CSV cubre el resto de lo que hace ese modo.