# Scripts

Scripts

## Introduction

OmegaT permitte le execution de scriptes scribite in plure linguas.

## Uso

Cliccar sur Instrumentos > Script pro displicar the fenestra de dialogo de Script: Fenestra de dialogo Script

Le Fenestra del Script te permitte de cargar un script existente in le area texto e exequer lo verso le projecto aperte currente. Pro personalisar le characteristica del script, face le sequente:

- Carga un script in le editor cliccante sur su nomine in le lista sur le quadro sinistre.

- Clicca con le dextera sur un button de "<1>" a "<12>" in le quadro basse e selige "Adde". In le exemplo precedente, duo scriptes (position 1 e 2) esseva jam addite.

- Quando tu clicca sur le numero, le script seligite essera exequite. Tu pote lancear le macros seligite ab le menu principal o con lor entratas in le menu Instrumentos o pulsante Ctrl+Alt+F# (con # de 1 a 12).

Normalmente, le scriptes es continite in le plica "scripts" ubicate in le plica de installation de OmegaT (le plica que contine OmegaT.jar).

Tu pote adder nove scriptes ibi, si que illos apparera in le lista del scriptes disponibile in le fenestra Script.

On pote trovar additional scriptes ci: OmegaT Scripts

## Linguas de Script

Le sequente linguas de script esseva implementate:

- Groovy (http://groovy.codehaus.org): es un lingua dynamic pro le machina virtual Java. Illo es basate sur le punctos forte de Java ma ha additional characteristicas potente inspirate de linguas como Python, Ruby e Smalltalk.

- JavaScript (alicun vices abbreviate JS, non confunder con Java): es un lingua de scripting, basate sur prototypo, que es dynamic, debilemente typate, e ha functiones de prima classe. Illo es un lingua de programmation plure-paradigma, que supporta stilos de programmation orientate al objecto, imperative, e functional. Pois que illo es le lingua de un software ultra popular como Firefox, illo es un instrumento de programmation familiar e ideal in le dominio del open-source.

Omne le linguas ha accesso al modello a objectos OmegaT, con le projecto como objecto culmine. Le sequente retalio de codice in groovy per exemplo, scande trans tote le segmentos in omne le files del projecto actual e, si le traduction existe, stampa le segmento fonte e su traduction:

        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);
                }
            }
        }