# OmegaT

OmegaT è un software di traduzione assistita (CAT, Computer Assisted Translation in inglese) scritto nel linguaggio di programmazione Java. Creato da Keith Godfrey nel 2000 e attualmente sviluppato da un team guidato da Didier Briel, è un software libero, il cui codice di programmazione è disponibile per essere modificato e migliorato liberamente. È gestito da volontari e chiunque può scaricarlo, copiarlo o modificarlo. Il nome OmegaT è un marchio registrato in Germania.
OmegaT è uno strumento rivolto a traduttori professionisti e non professionisti. Le sue caratteristiche includono l'uso di espressioni regolari, memoria di traduzione con la corrispondenza parziale (fuzzy match) e la propagazione delle corrispondenze, la corrispondenza di glossari e dizionari, memorie di traduzione e materiale di ricerca di riferimento, e infine il controllo ortografico attraverso l'utilizzo del programma Hunspell.
OmegaT funziona con Linux, macOS e Microsoft Windows 98 SE o superiore e richiede Java 1.5. È disponibile in 27 lingue e prevede un supporto per Unicode (UTF-8), per alfabeti non latini e un supporto per le lingue che si leggono da destra verso sinistra. Esiste inoltre un gruppo multilingue di utenti, che serve come fonte di supporto, nonché come punto d'incontro fra gli utenti e gli sviluppatori.

## Storia

OmegaT è stato inizialmente sviluppato da Keith Godfrey nel 2000 ed era originariamente scritto in C++.
La prima versione pubblica risale al febbraio 2001 ed era scritta in Java. Questa versione usava un formato proprietario per la memoria di traduzione e permetteva soltanto di tradurre file di testo non formattato e HTML, e di eseguire solo operazioni a livello di segmentazione (ossia paragrafi invece di frasi).

## Sviluppo e rilascio del software

Lo sviluppo di OmegaT è ospitato su SourceForge. Il team di sviluppo è guidato da Didier Briel. Come in molti progetti opensource, le nuove versioni di OmegaT vengono rilasciate di frequente, di solito ciascuno con 2-3 bugfix e aggiornamenti di caratteristiche. Esiste una versione "standard", che ha sempre un manuale d'uso completo, e altre versioni di sviluppo, rivolte principalmente a utenti esperti o sviluppatori professionisti. I file più recenti sono sempre disponibili nel repository SourceForge.

## Come funziona OmegaT

Per ogni progetto di lavoro, OmegaT crea una serie di cartelle di progetto che contengono o possono contenere file specifici. L'utente copia i documenti non ancora tradotti in una sottocartella "source" e al termine del processo traduttivo i documenti tradotti appaiono nella sottocartella "target".
Prima di iniziare una traduzione l'utente può anche inserire traduzioni fatte in precedenza nella sottocartella "tm", glossari nella cartella "glossary" e dizionari nella cartella "dictionary", consultati automaticamente da OmegaT.
Durante la traduzione OmegaT cerca nelle traduzioni precedenti le frasi simili, mostrate nella finestra delle corrispondenze parziali (fuzzy match). Il traduttore può inoltre abilitare traduzioni automatiche come Google Translate o aggiungere glossari e dizionari, che OmegaT consulterà automaticamente.
Quando la traduzione è finita, OmegaT crea testi tradotti dei file e memorizza le traduzioni in file TMX, che potranno essere successivamente riutilizzati.

## Caratteristiche di OmegaT

OmegaT ha molte caratteristiche in comune con i più diffusi strumenti CAT: creazione, importazione ed esportazione di memorie di traduzione, corrispondenza parziale da memorie di traduzione, ricerca nei glossari e ricerche per riferimento e concordanza.
OmegaT ha anche funzioni aggiuntive che non sono sempre disponibili in altri strumenti CAT. Tra queste:
* OmegaT può tradurre contemporaneamente più file, anche di formati differenti, e consultare diverse memorie di traduzione, glossari e dizionari (è limitato solo dalla memoria disponibile del computer).
* Per quanto riguarda i tipi di file supportati, OmegaT permette all'utente di personalizzare le estensioni e le codifiche dei file. Per numerosi tipi di documento, l'utente può scegliere selettivamente quali elementi devono essere tradotti (ad esempio nei file di OpenOffice.org Writer, scegliere se includere i segnalibri, in Microsoft Office 2007/2010, scegliere se tradurre le note, o in HTML, scegliere se tradurre il testo ALT per le immagini). L'utente può inoltre scegliere come devono essere trattati elementi non standard delle memorie di traduzione altrui.
* In OmegaT le regole di segmentazione sono basate su espressioni regolari. La segmentazione può essere configurata in base alla lingua o al formato del file. Si possono stabilire numerose regole di segmentazione e organizzarle in una gerarchia in modo che le successive ereditino i valori dalle precedenti.
* Nella finestra di modifica, l'utente può passare direttamente al segmento successivo non tradotto. Può inoltre annullare e ripetere le ultime operazioni, copiare e incollare, oppure ancora cambiare il testo da maiuscolo a minuscolo e viceversa, come in un editor di testo avanzato. L'utente può scegliere di vedere il testo di partenza di segmenti già tradotti. Il riquadro di modifica non ha soltanto il controllo ortografico interattivo, ma anche il controllo ortografico che usa i dizionari del programma Hunspell.
* Gli utenti possono inserire le corrispondenze parziali utilizzando i tasti rapidi oppure il mouse. OmegaT mostra il grado di corrispondenza delle parole usando colori differenti e permette anche di visualizzare la data, l'ora e il nome dell'utente che ha tradotto un dato segmento. Le corrispondenze dal glossario possono essere inserite con il mouse. Come testo di partenza, l'utente può scegliere di avere il testo originale copiato nel campo di destinazione o la corrispondenza parziale più accurata.
* Nella finestra di ricerca, l'utente può scegliere di cercare il testo di partenza, il testo di arrivo, altre memorie di traduzione e file di riferimento. Nelle ricerche possono essere usate espressioni regolari. Il doppio clic su un risultato di ricerca porta l'utente direttamente a quel segmento nella finestra di modifica.
* Dopo la traduzione, OmegaT può eseguire la convalida dei tag per garantire che non ci siano errori accidentali sui tag. OmegaT è in grado di calcolare le statistiche per i file di progetto e per le memorie di traduzione prima che il progetto parta, oppure può mostrare l'avanzamento del lavoro durante la traduzione.
* OmegaT può ottenere traduzioni automatiche da Apertium, Belazar e Google Translate, visualizzate in una finestra separata.
* Quando OmegaT viene lanciato, appare un breve tutorial chiamato "Guida di avvio rapido".

## Formati di documento supportati

Diversi tipi di file possono essere tradotti direttamente con OmegaT, che ne determina il tipo a seconda della loro estensione. La gestione delle estensioni dei file e la codifica di default possono essere personalizzate per sovrascrivere le impostazioni predefinite.
Come altri strumenti CAT, anche OmegaT gestisce documenti formattati convertendo la formattazione in tag.

### Formati supportati direttamente

OmegaT può tradurre direttamente i seguenti formati:
| Formato del file | Estensione del file |
| Formato di documento ||
| Solo testo (qualunque formato di testo che Java possa maneggiare), codificato in una varietà di codifiche fra cui Unicode | .txt, .txt1, .txt2, .utf8 |
| HTML/XHTML | .html, .htm, .xhtml, .xht |
| OpenDocument (ODF), used in LibreOffice, StarOffice, OpenOffice.org | .sx?, .st?, .od?, .ot? |
| Microsoft Office Open XML | .doc?, .xls?, .ppt? |
| Help & Manual | .xml, .hmxp |
| HTML Help Compiler | .hhc, .hhk |
| LaTeX | .tex, .latex |
| DokuWiki | .txt |
| QuarkXPress CopyFlow Gold | .tag, .xtg |
| DocBook | .xml, .dbk |
| Formati di localizzazione risorse ||
| Android Resource | .xml |
| Java properties | .properties |
| Typo3 LocManager | .xml |
| Mozilla DTD | .dtd |
| Windows Resource | .rc |
| WiX Localization | .wxl |
| ResX | .resx |
| files with a “Key=Value” structure | .ini, .lng |
| Formati di localizzazione multilingue ||
| XLIFF | .xlf, .sdlxliff |
| Portable Object (PO) | .po, .pot |
| Altri formati ||
| SubRip Subtitles | .srt |
| SVG Images | .svg |

### Formati supportati indirettamente

Ci sono due processi che consentono ad OmegaT di gestire formati non supportati:
* registrare l'estensione del file nel filtro dei formati preferiti (funziona di solito con tutti i file in testo semplice)
* convertire il formato in un formato direttamente supportato

#### Supporto per XLIFF

Il programma Rainbow del framework Okapi può convertire determinati formati di file in un formato XLIFF che OmegaT supporta. Rainbow può anche creare interi progetti OmegaT da tali documenti, per una più facile gestione.

#### Supporto per Gettext PO

Numerosi formati di file possono essere convertiti nel formato "Gettext Portable Object" (PO), che può essere tradotto in OmegaT. Il programma po4a è in grado di convertire formati come LaTeX, TeX e POD a Gettext PO. Il Translate Toolkit è in grado di convertire i file.properties di Mozilla, file dtd, file CSV, alcuni file Qt .ts ed alcuni file XLIFF a Gettext PO.

#### Supporto per Office Open XML e ODF

Documenti di Microsoft Word, Excel e PowerPoint dalla versione 97 alla 2003 possono essere convertiti nel formato Office Open XML (Microsoft Office 2007/2010) o ODF (OpenOffice.org), ma può succedere che la formattazione venga persa.

## Formati supportati per le memorie di traduzione e i glossari
### Memorie di traduzione in formato TMX

Il formato interno della memoria di traduzione di OmegaT non è visibile all'utente, ma ogni volta che avviene un salvataggio automatico del progetto di traduzione, tutte le unità di traduzione nuove o aggiornate vengono automaticamente esportate e aggiunte a tre memorie esterne TMX: un TMX originario OmegaT, un TMX livello 1 e un TMX livello 2.
* Il file TMX originario serve per i progetti OmegaT.
* Il TMX livello 1 conserva le informazioni testuali e può essere utilizzato con TMX livello 1 e 2 di strumenti di supporto CAT.
* Il livello 2 conserva le informazioni testuali e le informazioni dei tag online e può essere utilizzato con un TMX di livello 2 negli strumenti di supporto CAT.
File livello 2 esportati includono i tag interni di OmegaT all'interno di tag TMX che permettono ai file TMX di generare le corrispondenze nei TMX di livello 2 degli strumenti di supporto CAT. I test con Trados e SDLX sono risultati positivi.
OmegaT può importare file TMX fino al livello 1 della versione 1.4b così come di livello 2. I file di livello 2 importati in OmegaT genereranno corrispondenze dello stesso livello, perché OmegaT converte i tag dei TMX di livello 2 in tag del TMX esterno. Anche in questo caso, i test con i file TMX creati da Transit sono stati positivi.

### Glossari

Per i glossari, OmegaT utilizza principalmente file di testo delimitati da tabulazioni con l'estensione.txt in codifica UTF-8. La struttura di un file di glossario è semplice: la prima colonna contiene la parola nella lingua di partenza, la seconda colonna contiene la parola corrispondente nella lingua di destinazione, la terza colonna (opzionale) può contenere qualsiasi cosa, comprese le osservazioni sul contesto, ecc. Sono supportati anche i file strutturati in modo simile al formato standard CSV, così come i file TBX.