Tutorial: Conversió de TMX a text tabulat - mtuoc/tutorials GitHub Wiki

1. Introducció

En aquest tutorial s’ensenya com utilitzar els programes que es troben al repositori https://github.com/mtuoc/MTUOC-TMX2tabtxt per a convertir arxius TMX en arxius de text tabulat. Els programes d’aquest repositori es troben a les següents versions:

  • Versions per a ús a terminal.
  • Versions amb interfície gràfica d’usuari (són les versions que contenen GUI en nom seu)

També es poden distingir les versions:

*Que actuen sobre un únic arxiu. *Que tracten tots els arxius TMX d’un directori.

I tindrem programes per a dur a terme dues accions:

  • Detectar els codis de llengua de l’arxiu o arxius TMX.
  • Convertir l’arxiu o arxius TMX en un arxiu de text tabulat.

A l’última release disponible es distribueixen, a més a més, les versions executables per a Windows dels programes amb interfície gràfica d’usuari.

2. Detecció dels codis d’idioma

Si no estem segurs de quines llengües inclou el TMX que volem convertir ni quins codis de llengua utilitza per a cadascuna, és recomanable detectar els codis de llengua presents al TMX. Recordem que, per exemple, l’anglès podria tenir els següents codis: en, en-GB, en-US, eng, etc.

La detecció es pot fer sobre un únic arxiu a Terminal mitjançant el programa STUOC-TMXdetectlanguages.p, que, amb l’opció ‘-h’, mostra l’ajuda:

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.

Com hem vist, simplement haurem d’indicar l’arxiu d’entrada mitjançant l’opció ‘-i’:

python3 MTUOC-TMXdetectlanguages.py -i archivo.tmx

i en pantalla apareixeran els codis presents:

en
es

També podem posar en marxa l’opció amb interfície gràfica d’usuari MTUOC-TMXdetectlanguages-GUI.py o bé, si som a Windows, directament la seva versió executable MTUOC-TMXdetectlanguages-GUI.exe. Apareixerà una interfície com la següent, on indicarem l’arxiu d’entrada mitjançant el botó Input file i fent clic al botó Go!, el programa ens mostrarà els codis detectats, com a la següent imatge:

També és possible detectar els codis de llengua de tots els arxius TMX que es troben en un directori. A terminal això es pot fer amb el programa MTUOC-TMXdetectlanguagesDIR.py, que disposa de l’opció ‘-h’ que mostra l’ajuda:

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.

Senzillament, haurem d’indicar el directori d’entrada mitjançant el botó Input dir i fent clic al botó Go!, el programa ens mostrarà tots els codis de llengua:

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

També disposem de la versió gràfica MTUOC-TMXdetectlanguagesDIR-GUI.py i STUOC-TMXdetectlanguagesDIR-GUI.exe, que disposa de la següent interfície gràfica on hem d’indicar el directori d’entrada:

3. Conversió de TMX a text tabulat

Si ja tenim els codis de llengua de l’arxiu o arxius que volem convertir, tindrem l’opció de fer-ho a Terminal o amb interfície gràfica i sobre un sol arxiu o sobre tot el directori.

Per a convertir un sol arxiu a Terminal podem utilitzar el programa MTUOC-TMX2tabtxt.py que disposa de l’opció ‘-h’ que mostra l’ajuda:

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.

Amb ‘-i’ indiquem l’arxiu de partida i amb ‘o’ l’arxiu de sortida.

Amb ‘-s’o ‘-sl’ indiquem el codi o codis corresponents a la llengua de partida; i amb ‘-t’ o ‘-tl’ els corresponents a la llengua d’arribada. Si volem indicar més d’un codi, ho farem separant per espais, com per exemple: ‘¡s en eng en-GB en-US’.

L’opció ‘-noTags’ elimina totes les etiquetes HTML/XML dels segments. L'opció --simpleTags, en canvi, substitueix qualsevol etiqueta per <t>, </t> o <t\>.

L'opció --noEntities substitueix les entitats HTML/XML pels seus caràcters corresponents.

L’opció ‘-fixencoding’ intenta reparar els possibles errors de codificació de caràcters que pugui contenir l’arxiu.

Ara ja podem escriure la instrucció, com per exemple:

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

També podem fer servir la versió GUI: MTUOC-TMX2tabtxt-GUI.py o STUOC-TMX2tabtxt-GUI.exe, que presenta la següent interfície:

També podem utilitzar la versió DIR, que tracta tots els arxius d’un directori:

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 bé la versió amb interfície gràfica: MTUOC-TMX2tabtxtDIR-GUI.py o STUOC-TMX2tabtxtDIR-GUI.exe, amb la següent interfície gàfica:

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