Tutorial: conversión de TMX a texto tabulado - mtuoc/tutorials GitHub Wiki

1. Introducción

En este tutorial se explica cómo utilizar los programas que se encuentran en el repositorio https://github.com/mtuoc/MTUOC-TMX2tabtxt para convertir archivos TMX en archivos de texto tabulado. Los programas de este repositorio se encuentran en las siguientes versiones:

  • Versiones para uso en terminal.
  • Versiones con interfaz grágfica de usuario (son las versiones que contienen GUI en su nombre)

También se pueden distiguir las versiones:

  • Que actúan sobre un único archivo.
  • Que tratan todos los archivos TMX de un directorio.

Y tendremos programas para hacer dos acciones:

  • Detectar los códigos de lengua del archivo o archivos TMX.
  • Convertir el archivo o archivos TMX en un arhivo de texto tabulado.

En la última release disponible se distribuyen además las versiones ejecutables para Windows de los programas con interfaz gráfica de usuario.

2. Detección de los códigos de idioma

Si no estamos seguros de qué lenguas incluye el TMX que queremos convertir ni que códigos de lengua utiliza para cada lengua, es recomendable detectar los códigos de lengua presentes en el TMX. Recordemos que por ejemplo el inglés podría tener los códigos en, en-GB, en-US, eng, etc.

La detección se puede hacer sobre un único archivo en Terminal mediante el programa MTUOC-TMXdetectlanguages.p, que con la opción -hmuestra la ayuda:

python3 MTUOC-TMXdetectlanguages.py -h
usage: MTUOC-TMXdetectlanguages.py [-h] -i INPUTFILE

MTUOC program for detecting the language codes of a TMX file.

options:
  -h, --help            show this help message and exit
  -i INPUTFILE, --in INPUTFILE
                        The input TMX file.

Como vemos, símplemente tendremos que indicar el archivo de entrada mediante la opción -i:

python3 MTUOC-TMXdetectlanguages.py -i archivo.tmx

y en pantalla aparecerán los códigos presentes:

en
es

También podemos poner en marcha la opción con intefaz gráfica de usuario MTUOC-TMXdetectlanguages-GUI.py o bien, si estamos en Windows, directamente su versión ejecutable MTUOC-TMXdetectlanguages-GUI.exe. Aparecerá una interfaz como la siguiente, donde indicaremos el archivo de entrada mediante el botón Input file y haciendo clic en el botón Go! el programa nos mostrará los códigos detectados, com en la siguiente imagen:

También es posible detectar los códigos de lengua de todos los archivos TMX que se encuentran en un directorio. En terminal esto se puede hacer con el programa MTUOC-TMXdetectlanguagesDIR.py, que dispone de la opción -h que muestra la ayuda:

python MTUOC-TMXdetectlanguagesDIR.py -h
usage: MTUOC-TMXdetectlanguagesDIR.py [-h] -d INPUTDIR

MTUOC program for detecting the language code of all TMX files in a given directory.

options:
  -h, --help            show this help message and exit
  -d INPUTDIR, --dir INPUTDIR
                        The input directory where the TMX files are located.

Símplemente tendremos que indicar el directorio de entrada mediante el botón Input dir y haciendo clic en el botón Go! el programa nos mostrará todos los códigos de lengua:

python MTUOC-TMXdetectlanguagesDIR.py -d directorio
en-es.tmx
gnome.tmx
en
es
en-GB
es-ES
eng
spa

También disponemos de la versión gráfica MTUOC-TMXdetectlanguagesDIR-GUI.py y MTUOC-TMXdetectlanguagesDIR-GUI.exe, que dispone de la siguiente intefaz gráfica donde tenemos que indicar el directorio de entrada:

3. Conversión de TMX a texto tabulado

Si ya sabemos los códigos de lengua del archivo o archivos que queremos convertir, tendremos la opción de hacerlo en Terminal o con interfaz gráfica y sobre un solo archivo o sobre todo el directorio.

Para convertir un solo archivo en Terminal podemos utilizar el programa MTUOC-TMX2tabtxt.py que dispone de la opció -h que muestra la ayuda:

python MTUOC-TMX2tabtxt.py -h
usage: MTUOC-TMX2tabtxt.py [-h] -i INPUTFILE -o OUTPUTFILE -s SLCODE [SLCODE ...] -t TLCODE [TLCODE ...] [--noTags]
                           [--simpleTags] [--noEntities] [--fixencoding]

MTUOC program for converting a TMX into a tab text.

options:
  -h, --help            show this help message and exit
  -i INPUTFILE, --in INPUTFILE
                        The input TMX file.
  -o OUTPUTFILE, --out OUTPUTFILE
                        The output text file.
  -s SLCODE [SLCODE ...], --sl SLCODE [SLCODE ...]
                        The code for the source language.
  -t TLCODE [TLCODE ...], --tl TLCODE [TLCODE ...]
                        The code for the target language.
  --noTags              Removes the internal tags.
  --simpleTags          Replaces tags with <t>, </t> or <t/>.
  --noEntities          Replaces html/xml entities by corresponding characters.
  --fixencoding         Tries to restore errors in encoding.

Con -i indicamos el archivo de partida y con -oel archivo de salida.

Con -so --sl indicamos el código o códigos correspondientes la lengua de partida; y con -t o --tl los correspondientes a la lengua de llegada. Si queremos indicar más de un código lo haremos separados por espacios, como por ejemplo: -s en eng en-GB en-US.

La opción -noTags elimina todas las etiquetas HTML/XML de los segmentos. La opción --simpleTags, en cambio, substituye cualquier etiqueta por <t>, </t> o <t\>.

La opción --noEntities reemplaza las entidades HTML/XML por sus correspondietens caracteres.

La opción --fixencoding intenta reparar los posibles errores de codificación de carácteres que pueda haber en el archivo.

Ahora ya podemos escribir la instucción, como por ejemplo:

python MTUOC-TMX2tabtxt.py -i gnome.tmx -o gnome-eng-spa.txt -s en en-GB eng -t es es-ES spa --noTags --noEntities --fixencoding

También podemos utilizar la versión GUI: MTUOC-TMX2tabtxt-GUI.py o MTUOC-TMX2tabtxt-GUI.exe, que presenta la siguiente interfaz:

También podemos utilizar la versión DIR, que trata todos los archivos de un directorio:

python MTUOC-TMX2tabtxtDIR.py -d directorio -o corpus-eng-spa.txt -s en en-GB eng -t es es-ES spa --noTags --noEntities --fixencoding

o bien la versión con interfaz gráfica: MTUOC-TMX2tabtxtDIR-GUI.py o MTUOC-TMX2tabtxtDIR-GUI.exe, con la siguiente interfaz gáfica:

⚠️ **GitHub.com Fallback** ⚠️