OmegaT consente di avviare script scritti in diversi linguaggi, all'interno di OmegaT.
Facendo clic su
si apre la finestra di dialogo per le azioni:La finestra delle Azioni di script consente di caricare uno script esistente all'interno dell'area di testo e avviarlo nel progetto attivo aperto. Per personalizzare le funzionalità di script, osservare la procedura seguente:
Caricare uno script all'interno dell'editor facendo clic sul suo nome nell'elenco contenuto nel pannello sinistro.
Fare clic col destro su un pulsante da "<1>" a "<12>" nella parte inferiore del pannello e selezionare "Aggiungi". Nell'esempio sopra, sono stati già aggiunti due script (posizione 1 e 2).
Il clic sinistro sul numero farà avviare lo script selezionato. È possibile avviare le macro selezionate sia dal menu principale, sia tramite le voci all'interno del menu Ctrl+Alt+F# (# 1 a 12).
, sia premendoPer impostazione predefinita, gli script vengono memorizzati nella cartella "scripts" che si trova nella cartella di installazione di OmegaT (quella in cui è presente il file OmegaT.jar).
È possibile aggiungere i nuovi script in quella cartella, essi appariranno nell'elenco degli script disponibili all'interno della finestra Azioni di script.
Si possono trovare alcuni script aggiuntivi qui: OmegaT Scripts
Sono stati implementati i seguenti linguaggi di script:
Groovy (http://groovy.codehaus.org): è un linguaggio dinamico per la Java Virtual machine. Si basa sulle potenzialità Java ma contiene potenti funzioni aggiuntive ispirate da linguaggi come Python, Ruby e Smalltalk.
JavaScript (a volte abbreviato in JS, da non confondere con Java): è un linguaggio di script basato su un prototipo, dinamico, debolmente tipizzato e con funzioni di prima classe. È un linguaggio a paradigma multiplo, che supporta gli stili di programmazione funzionali, imperativi e orientati agli oggetti. Essendo il linguaggio che sta dietro programmi diffusi, come Firefox, è uno strumento di programmazione familiare e preferito nell'ambiente open source.
Tutti i linguaggi hanno accesso al modello oggetti di OmegaT e con il progetto come oggetto primario. La seguente porzione di codice scritto in groovy, per esempio, esegue un'analisi di tutti i segmenti, all'interno di tutti i file del progetto attivo e, se esiste la traduzione, restituisce il testo di partenza e di arrivo del segmento:
files = project.projectFiles; for (i in 0 ..< files.size()) { for (j in 0 ..< files[i].entries.size()) { currSegment = files[i].entries[j]; if (project.getTranslationInfo(currSegment)) { source = currSegment.getSrcText(); target = project.getTranslationInfo(currSegment).translation; console.println(source + " >>>> " + target); } } }