Chapter 13. Memorie di traduzione

1. Memorie di traduzione in OmegaT
1.1. Cartelle tmx - posizione e scopo
1.2. copia di sicurezza della TMX
1.3. file TMX e lingua
1.4. Segmenti orfani
2. Riutilizzo delle memorie di traduzione
2.1. Importazione ed esportazione delle memorie di traduzione
2.2. Creazione di una memoria di traduzione per i documenti selezionati
2.3. Condivisione delle memorie di traduzione
2.4. Uso delle TMX con coppie di lingua alternative
3. File di partenza con traduzioni esistenti
4. Memoria pseudo-tradotta
5. Aggiornamento delle memorie di traduzione

1. Memorie di traduzione in OmegaT

1.1. Cartelle tmx - posizione e scopo

I progetti OmegaT possono possedere file di memoria di traduzione (ossia file con estensione tmx) in cinque posizioni differenti:

Cartella omegat

La cartella omegat contiene il file project_save.tmx e pure varie copie di sicurezza dei file TMX. Il file project_save.tmx contiene tutti i segmenti che sono stati memorizzati a partire dall'inizio della traduzione del progetto. Questo file è sempre presente nel progetto. Il suo contenuto sarà sempre ordinato alfabeticamente dal segmento di partenza.

Cartella principale del progetto

La cartella principale del progetto contiene tre file tmx, project_name-omegat.tmx, project_name-level1.tmx e project_name-level2.tmx (dove project_name è il nome del proprio progetto).

  • Il file level1 contiene solo informazioni di tipo testuale.

  • Il file level2 contiene i tag specifici di OmegaT incapsulati nei tag TMX, in modo che il file possa essere usato, con le sue informazioni di formattazione, in strumenti di traduzione assistita in grado di riconoscere le memorie di traduzione TMX di livello 2, oppure nello stesso OmegaT.

  • Il file OmegaT include tag di formattazione specifici di OmegaT, in modo che esso possa essere usato in altri progetti OmegaT.

Questi file sono copie di project_save.tmx, ossia della memoria di traduzione principale del progetto, ad esclusione dei cosiddetti segmenti orfani. Il loro nome è stato opportunamente cambiato, in modo che il loro contenuto resti identificabile in qualsiasi situazione di utilizzo, per esempio nella sottocartella tm di un altro progetto (vedere sotto).

Cartella tm

La cartella /tm/ può contenere qualsiasi numero di memorie di traduzione secondarie - cioè i file tmx. Tali file possono essere creati in uno dei tre modi indicati sopra. Notare che gli altri strumenti CAT possono esportare (e importare) file tmx, di solito in tutte e tre le forme. La cosa migliore da fare è, naturalmente, usare i file TMX specifici di OmegaT (vedere sopra), in modo che venga mantenuta la formattazione incorporata all'interno del segmento.

Il contenuto delle memorie di traduzione, della sottocartella tm, serve per generare i suggerimenti per i segmenti di testo da tradurre. Tutto il testo già tradotto e memorizzato in questi file, se sufficientemente simile al testo che si sta traducendo, apparirà tra le concordanze parziali.

OmegaT agisce come definito nella finestra di dialogo OpzioniComportamento di modifica..., se il segmento di origine, in una delle memorie di traduzione secondarie, è identico al testo da tradurre. Per esempio, se le impostazioni predefinite vengono lasciate inalterate, la traduzione della TM secondaria è accettata e marcata col prefisso [fuzzy], in modo da permettere al traduttore di rivedere le traduzioni in un secondo momento e verificare se i segmenti contrassegnati siano stati tradotti correttamente (si veda il capitolo Comportamento di modifica) .

Può succedere che le memorie di traduzione contenute nella sottocartella tm, contengano segmenti con testo di origine identico ma testo di destinazione diverso. I file TMX sono letti ordinati per nome e segmenti all'interno di un file TMX dato riga per riga. L'ultimo segmento con il testo di origine identico verrà considerato prioritario (nota: ha naturalmente più senso evitare, in primo luogo, che questo avvenga).

Si noti che i file TMX contenuti nella cartella tm possono essere compressi con gzip.

Cartella tm/auto

Se si sa da subito che le traduzioni di una certa memoria di traduzione (o più d'una) sono tutte corrette, esse possono essere inserite all'interno della cartella tm/auto, al fine di evitare la conferma dei molteplici casi di concordanze parziali [fuzzy].

  1. Inserire la TMX nella cartella /tm/auto.

  2. Aprire il progetto. Vengono visualizzate le modifiche.

  3. Eseguire una piccola modifica in un punto qualsiasi del progetto. Questa operazione modifica project_save.tmx (aggiungendo le unità di traduzione appropriate dalla TMX "automatica")

Nota: se la TMX viene rimossa dalla cartella /tm/auto prima del passaggio 3, non verrà aggiunta alcuna unità di traduzione.

Cartella tm/enforce

Se si è certi che una TMX è più accurata del file project_save.tmx di OmegaT, inserire questa TMX nella cartella /tm/enforce per sovrascrivere in modo categorico le traduzioni predefinite esistenti.

  1. Inserire la TMX nella cartella /tm/enforce.

  2. Aprire il progetto. Vengono visualizzate le modifiche.

  3. Eseguire una piccola modifica in un punto qualsiasi del progetto. Questa operazione modifica project_save.tmx.

  4. Decidere riguardo l'immunità dei segmenti forzati:

    • Se essi non necessitano di essere protetti da modifiche successive, rimuovere allora la TMX dalla cartella /tm/enforce.

    • Se essi necessitano di essere protetti da modifiche successive, allora mantenere la TMX nella cartella /tm/enforce.

Nota: se la TMX viene rimossa dalla cartella /tm/enforce prima del passaggio 3, la protezione non viene applicata.

Cartella tm/mt

Nel pannello dell'editor, quando viene inserita una concordanza proveniente da una TMX contenuta in una cartella di nome mt, lo sfondo del segmento attivo diventa rosso. Lo sfondo ritorna al colore normale se si lascia il segmento.

Cartelle tm/penalty-xxx

A volte può risultare utile distinguere tra memorie di traduzione di alta qualità e quelle che, a causa dell'argomento, del cliente, dello stato di revisione e via discorrendo, sono ritenute meno affidabili. Per le memorie di traduzione contenute nelle cartelle di nome "penalty-xxx" (xxx tra 0 e 100), le corrispondenze verranno ridotte in base al nome della cartella: una corrispondenza del 100% di una qualsiasi TM contenuta in una cartella chiamata Penalty-30, per esempio, verrà ridotta al 70%. La penalità si applica a tutt'e tre le percentuali di corrispondenza: le corrispondenze 75, 80, 90, in questo caso, saranno abbassate a 45, 50, 60.

Facoltativamente, si può consentire a OmegaT di possedere un file TMX aggiuntivo (in stile OmegaT) in una posizione qualunque, che contenga tutti i segmenti traducibili del progetto. Si veda memoria pseudo-tradotta (più sotto).

Si noti che tutte le memorie di traduzione vengono caricate in memoria all'apertura del progetto. Copie di sicurezza della memoria di traduzione del progetto vengono create regolarmente (vedere il capitolo seguente), e il file project_save.tmx è anch'esso salvato/aggiornato alla chiusura o riapertura del progetto. Questo significa, per esempio, che non è necessario uscire da un progetto su cui si sta lavorando, se si decide di aggiungervi un'altra memoria secondaria: per integrare le modifiche basterà ricaricare il progetto.

Le posizioni delle varie memorie di traduzione per uno specifico progetto sono definite dall'utente (si veda la finestra di dialogo Progetto in Proprietà del progetto)

A seconda della situazione, sono dunque possibili strategie diverse, per esempio:

diversi progetti sullo stesso soggetto: mantenere la struttura del progetto e modificare le cartelle di origine e di destinazione (Origine = source/ordine1, destinazione = target/ordine1, e così via). Si noti che ai segmenti derivanti da ordine1 non presenti in ordine2 e in altri lavori successivi, saranno contrassegnati come segmenti orfani; tuttavia essi ritorneranno utili per individuare concordanze parziali.

diversi traduttori che lavorano su uno stesso progetto: dividere i file di partenza in source/Alice, source/Mario... e distribuirli ai membri della squadra (Alice, Mario...). Essi possono creare il proprio progetto e consegnare il proprio file project_save.tmx, una volta terminato o raggiunto un determinato obiettivo. I file project_save.tmx vengono poi messi insieme e i possibili conflitti, per esempio di terminologia, risolti. Viene poi creata una nuova versione principale della memoria, o inserendo nelle sottocartelle tm/auto dei membri della squadra i file project_save.tmx, oppure sostituendoli. La squadra può utilizzare anche la stessa sottocartella per i file di destinazione. Ciò consente loro, per esempio, di verificare in qualsiasi momento se la versione finale del progetto completo è a posto oppure no.

1.2. copia di sicurezza della TMX

Quando si traducono i file, OmegaT memorizza continuamente il lavoro nel file project_save.tmx, all'interno della sottocartella /omegat del progetto.

OmegaT inoltre, nella stessa sottocartella, e ogni volta che un progetto viene aperto o ricaricato, crea anche file di backup della memoria di traduzione, ai quali assegna il nome project_save.tmx.ANNOMMGGHHNN.bak. ANNO è l'anno espresso in quattro cifre, MM è il mese, GG è il giorno del mese, HH e NN corrispondono alle ore e ai minuti in cui è stata salvata la precedente memoria di traduzione.

Se si ritiene di aver perso i dati di traduzione, attenersi alla procedura seguente:

  1. Chiudere il progetto

  2. Rinominare l'attuale file project_save.tmx (per es., in project_save.tmx.temporaneo)

  3. Selezionare la copia di sicurezza della memoria di traduzione che si ritiene essere quella più probabile (per es., quella più recente o la versione del giorno precedente) a contenere i dati che si stanno cercando

  4. Copiarla in project_save.tmx

  5. Aprire il progetto

1.3. file TMX e lingua

I file TMX contengono le unità di traduzione che corrispondono ai vari segmenti equivalenti, in lingue diverse. Una unità di traduzione è composta, almeno, da due varianti di unità di traduzione (TUV). Possono essere usate come segmento di origine o di destinazione.

La definizione della lingua sorgente e di quella di destinazione viene decisa dalle impostazioni del progetto. OmegaT preleva, dunque, i segmenti TUV che corrispondono ai codici di lingua di partenza e di arrivo del progetto e li utilizza rispettivamente come segmenti di origine e di destinazione. OmegaT riconosce i codici di lingua utilizzando le seguenti due convenzioni standard:

  • 2 lettere (per es., IT per l'italiano), o

  • il codice di lingua a 2 o 3 lettere, seguito dal codice nazione a 2 lettere (per es., IT-IT - Si consulti Appendix A, Lingue - elenco codice ISO 639 per un elenco parziale dei codici di lingua e nazione).

Se i codici di lingua del progetto e quelli del file tmx sono completamente corrispondenti, i segmenti verranno caricati nella memoria. Se le lingue corrispondono ma la nazione no, i segmenti verranno ancora caricati. Se non corrisponde né il codice della lingua, né quello della nazione, i segmenti verranno ignorati.

I file TMX possono, in genere, contenere unità di traduzione con diverse lingue candidate. Se per uno specifico segmento di partenza non è presente alcuna voce per la lingua di destinazione selezionata, tutti gli altri segmenti di destinazione vengono caricati, indipendentemente dalla lingua. Per esempio, se la coppia linguistica del progetto è IT-FR, può essere di qualche aiuto verificare le corrispondenze nella traduzione IT-EN, se non è presente nulla nella coppia IT-FR.

1.4. Segmenti orfani

Il file project_save.tmx contiene tutti i segmenti che sono stati tradotti a partire dall'inizio della traduzione del progetto. Se si modifica la segmentazione del progetto o si eliminano file dai file di origine, potrebbero apparire delle stringhe orfane nel visualizzatore delle concordanze: tali concordanze si riferiscono a segmenti che non esistono più nei documenti di origine, dato che corrispondono a segmenti tradotti e registrati prima di eseguire le modifiche.

2. Riutilizzo delle memorie di traduzione

In principio, quando si crea il progetto, la memoria di traduzione principale, project_save.tmx, è vuota. Essa viene popolata gradualmente durante la traduzione. Per velocizzare il processo, possono essere riutilizzate le memorie esistenti. Se una frase specifica è stata già tradotta correttamente una volta, non è necessario che venga tradotta nuovamente. Le memorie di traduzione possono contenere anche traduzioni di collegamenti: la legislazione multinazionale, come quella della Comunità Europea, è un tipico esempio.

Quando, in un progetto OmegaT, si creano i documenti di arrivo, la sua memoria di traduzione viene memorizzata sotto forma di tre file all'interno della cartella principale del progetto OmegaT cui fa riferimento (si veda la descrizione sopra). È possibile considerare questi tre file tmx (-omegat.tmx, -level1.tmx e -level2.tmx) come una "memoria di traduzione da esportazione", ossia come un'esportazione del contenuto dell'attuale progetto in formato bilingue.

Si potrebbe voler riutilizzare una memoria di traduzione di un progetto precedente (per esempio, perché il nuovo progetto è simile al precedente, oppure perché utilizza una terminologia simile): è possibile usare queste memorie come "memorie di traduzione di immissione", ad esempio da importare all'interno del nuovo progetto. In tal caso, copiare le memorie di traduzione che si desidera utilizzare nella cartella /tm o /tm/auto del nuovo progetto: nel primo caso si otterranno risultati da queste memorie di traduzione nel riquadro delle corrispondenze parziali, nel secondo le memorie verranno usate per tradurre subito il testo di partenza.

Per impostazione predefinita, la cartella /tm è contenuta all'interno della cartella principale del progetto (per es. /MioProgetto/tm), ma è possibile scegliere una cartella diversa nella finestra di dialogo delle proprietà. Tale metodo è utile se si usano spesso memorie di traduzione create in precedenza, per esempio perché si occupano dello stesso argomento o sono legate a uno stesso cliente. In questo caso, un metodo da seguire potrebbe essere:

  • Creare una cartella (una "cartella deposito"), in una posizione appropriata del proprio disco rigido, per le memorie di traduzione di un particolare cliente od oggetto.

  • Ogni volta che si termina un progetto, copiare uno dei tre file di memoria di traduzione da "esportazione" dalla cartella principale del progetto a quella deposito.

  • Quando si inizia un nuovo progetto sullo stesso oggetto o per lo stesso cliente, scegliere la cartella "deposito" nella finestra di dialogo Progetto > Proprietà > Modifica il progetto e selezionarla come cartella della memoria di traduzione.

Si noti che tutti i file tmx contenuti nel deposito /tm vengono analizzati all'apertura del progetto, dunque l'inserimento al suo interno di tutte le diverse memorie di traduzione potrebbe inevitabilmente rallentare OmegaT. Si potrebbe anche considerare di rimuovere quelle non più necessarie, una volta usato il loro contenuto e aver popolato il file project-save.tmx.

2.1. Importazione ed esportazione delle memorie di traduzione

OmegaT supporta le memorie importate nelle versioni 1.1-1.4b (entrambi i livelli 1 e 2). In questo modo sarà possibile utilizzare con OmegaT le memorie di traduzione generate da altri strumenti di traduzione assistita. Tuttavia, OmegaT non è in grado di gestire completamente i file tmx iimportati di livello 2 (questi non memorizzano solo la traduzione ma anche la formattazione). I file tmx di livello 2 saranno ancora importati e il contenuto del loro testo visualizzato in OmegaT, ma la qualità delle corrispondenze parziali risulterà essere in qualche modo inferiore.

Quando OmegaT deve caricare i file delle memorie di traduzione (tmx) adotta una procedura molto rigida. Se all'interno del file viene rilevato un errore, OmegaT indicherà la posizione all'interno del file in cui esso si trova.

In certe condizioni, vi sono alcuni strumenti di traduzione assistita che, notoriamente, generano file tmx non corretti. Se si vuole utilizzare questo tipo di file come traduzioni di riferimento in OmegaT, essi devono essere riparati, altrimenti OmegaT segnalerà un errore e non li caricherà. La correzione degli errori è un'operazione relativamente banale e OmegaT aiuterà alla loro risoluzione con opportuni messaggi di errore. Se si sperimentano problemi, si potrà sempre chiedere assistenza al gruppo di utenti di OmegaT.

OmegaT esporta i file tmx nella versione 1.4 (in entrambi i livelli 1 e 2). Il livello di esportazione 2 non si conforma completamente con lo standard di livello 2, ma è sufficientemente simile e genera corrispondenze corrette negli altri strumenti di traduzione che supportano il livello TMX 2. Se si desidera unicamente avere a disposizione informazioni di tipo testuale (tralasciando quelle di formattazione) si utilizzi il file TMX di livello 1 creato da OmegaT.

2.2. Creazione di una memoria di traduzione per i documenti selezionati

Nel caso in cui i traduttori desiderino condividere le loro TMX escludendo però alcune parti, o includendo solo le traduzioni di alcuni file, la condivisione del file ProjectName-omegat.tmx completo è fuori discussione. La soluzione seguente è solo una delle possibilità, abbastanza semplice, però, da seguire senza che il proprio patrimonio di lavoro possa subire perdite.

  • Creare un progetto dal nome appropriato, separato dagli altri, nella coppia linguistica desiderata: si noti che le TMX create useranno questo nome.

  • Copiare i documenti, sarà necessaria la memoria di traduzione per essi, all'interno della cartella di partenza del progetto.

  • Copiare le memorie di traduzione, contenenti le traduzioni dei documenti sopra citati, all'interno della sottocartella tm/auto del nuovo progetto.

  • Avviare il progetto. Verificare possibili errori nei tag con Ctrl+T e segmenti non tradotti con Ctrl+U. Per verificare il risultato finale atteso, è possibile premere Ctrl+D per creare i documenti di arrivo e controllarne il contenuto.

  • Uscire dal progetto. I file TMX contenuti nella cartella principale del progetto (vedere sopra) ora contengono le traduzioni nella coppia di lingua selezionata, per i file copiati all'interno della cartella source. Copiarli in un'altra posizione per futuro utilizzo.

  • Per evitare di riutilizzare il progetto e contaminare casi futuri, eliminare la cartella del progetto o archiviarla fuori dal proprio spazio di lavoro.

2.3. Condivisione delle memorie di traduzione

Nei casi in cui sia presente una squadra di traduttori, costoro preferiranno condividere memorie di traduzione comuni piuttosto che distribuire le proprie versioni locali.

OmegaT si interfaccia con SVN e Git, due popolari sistemi di controllo di versione e revisione (RCS, Revision Control System), disponibili con licenza open source. Nel caso di OmegaT, le cartelle complete del progetto - in altre parole, le relative memorie di traduzione, le cartelle di partenza, le impostazioni del progetto e via discorrendo - sono gestite dal RCS scelto. ulteriori informazioni nel capitolo

2.4. Uso delle TMX con coppie di lingua alternative

Potrebbero verificarsi casi in cui è stato creato un progetto, per esempio, con file di origine olandese e una traduzione, diciamo, in Inglese. Si ha ora necessità di una traduzione in Cinese, ma la traduttrice non conosce l'Olandese; ella, tuttavia, padroneggia perfettamente l'Inglese. In questo caso, la memoria di traduzione NL-EN può servire da ponte per aiutare a generare la traduzione da NL a ZH.

La soluzione, nel nostro esempio, è copiare la memoria di traduzione esistente all'interno della sottocartella tm/tmx2source/ e rinominarla ZH_CN.tmx per indicare la lingua di destinazione della tmx. Alla traduttrice si presenteranno traduzioni in Inglese per i segmenti di partenza in Olandese, che saranno usate per creare la traduzione in Cinese.

Importante: la TMX di aiuto deve essere rinominata XX_YY.tmx, dove XX_YY è la lingua di destinazione della tmx, per esempio in ZH_CN.tmx, nell'esempio sopra riportato. Il progetto e le lingue di origine della TMX devono essere, ovviamente, identiche - NL nel nostro esempio. Si noti che è possibile solo una TMX per una coppia linguistica specifica, perciò, nel caso in cui fossero presenti più memorie, sarà necessario unirle tutte all'interno del file XX_YY.tmx.

3. File di partenza con traduzioni esistenti

Alcuni tipi di file di partenza (per esempio, PO, TTX e via discorrendo) sono bilingui, ossia funzionano sia come testo di partenza, sia come memoria di traduzione. In tali casi, una traduzione esistente, trovata all'interno del file, viene inclusa nel project_save.tmx. Nel caso in cui non venisse trovata alcuna corrispondenza, essa verrà considerata come traduzione predefinita, o, se dovesse essere presente lo stesso segmento di partenza ma con la corrispondente traduzione, come traduzione alternativa. Il risultato dipenderà, perciò, dall'ordine in cui i segmenti di partenza sono stati caricati.

Tutte le traduzioni provenienti dai documenti di partenza saranno visualizzati anche nel pannello Commenti, oltre che al pannello delle Concordanze. Nel caso dei file PO, verrà applicata una penalità del 20% alla traduzione alternativa, (ossia, una corrispondenza del 100% diventerà 80%). La parola [Fuzzy] viene visualizzata nel segmento di partenza.

Quando si carica un file TTX segmentato, verranno inclusi i segmenti con partenza = destinazione, se è stata attivata l'opzione "Permetti traduzione uguale all'originale" in Opzioni → Comportamento di modifica... Ciò potrebbe condurre a confusione, dunque varrebbe la pena di considerare, nei casi come questo, di disattivare questa opzione.

4. Memoria pseudo-tradotta

Note

Rivolto solo agli utenti avanzati!

Prima di tradurre segmenti, si potrebbe avere necessità di eseguirne una pre-elaborazione o indirizzarli in uno dei modi possibili offerti da OmegaT. Per esempio, se si volesse creare una pseudo-traduzione a fini di controllo, OmegaT permette di creare un file tmx aggiuntivo contenente tutti i segmenti del progetto. Il risultato in questa tmx può essere:

  • traduzione uguale all'originale (predefinita)

  • segmento di traduzione vuoto

È possibile assegnare al file tmx qualsiasi nome. Una memoria pseudo-tradotta può essere generata con i parametri a riga di comando di seguito specificati:

java -jar omegat.jar --pseudotranslatetmx=<nome_file> [pseudotranslatetype=[equal|empty]]

Sostituire <nome_file> col nome del file da creare, all'interno della cartella di lavoro assoluta o relativa (la cartella da cui si avvia OmegaT). Il secondo argomento --pseudotranslatetype è facoltativo. Il suo valore è equal (predefinito, per origine=destinazione) o empty (segmento di arrivo vuoto). È possibile elaborare il file tmx generato con qualsiasi strumento a propria disposizione. Per riutilizzarlo in OmegaT, rinominarlo in project_save.tmx e copiarlo nella cartella omegat del proprio progetto.

5. Aggiornamento delle memorie di traduzione

Le primissime versioni di OmegaT segmentavano un file di partenza solo per paragrafi, e la numerazione dei tag di formattazione dei file HTML e Open Document non era coerente. OmegaT è in grado di rilevare e aggiornare immediatamente questi file tmx, in modo da migliorare la qualità delle corrispondenze parziali e l'influenza che queste hanno sulle traduzioni precedentemente eseguire, evitando così un lavoro di modifica manuale.

Un file tmx di un progetto verrà aggiornato solo una volta, e verrà scritto nel project-save.tmx nella sua forma aggiornata; i file tmx ereditati saranno aggiornati immediatamente alla riapertura del progetto. Si noti anche che sono stati apportati alcuni cambiamenti ai filtri dei file di OmegaT che potrebbero portare a una segmentazione totalmente diversa; pertanto si potrebbero eccezionalmente presentare condizioni in cui viene richiesto l'aggiornamento manuale della propria traduzione.