# Scripts

Scripts

## Introductie

OmegaT maakt het mogelijk scripts uit te voeren die zijn geschreven in verschillende scripttalen.

## Gebruiken

Klikken op Extra > Scripten opent het dialoogvenster Scripten: dialoogvenster Scripten

Het dialoogvenster Scripten maakt het voor u mogelijk om een bestaand script in het tekstgebied te laden en het uit te voeren tegen het huidige geopende project. Doe het volgende om de mogelijkheid voor scripten aan te passen:

- Laadt een script in het bewerkingsvenster door op de naam ervan te klikken in de lijst in het venster links.

- Klik met rechts op een knop van "<1>" tot en met "<12>" in het onderste venster en selecteer "Toevoegen". In het voorbeeld hierboven zijn al twee scripts (positie 1 en 2) toegevoegd.

- Als u met links klikt op het cijfer zal het geselecteerde script worden uitgevoerd. U kunt de geselecteerde macro's ook starten vanuit het hoofdmenu door hun items te gebruiken in het menu Extra of door te drukken op Ctrl+Alt+F# (# 1 tot en met 12).

Standaard worden scripts opgeslagen in de map "scripts" die zich bevindt in de installatiemap van OmegaT (de map waarin OmegaT.jar staat).

U kunt daar nieuwe scripts toevoegen, zodat zij zullen verschijnen in de lijst met beschikbare scripts in het venster Scripten.

## Scripttalen

De volgende scripttalen zijn geïmplementeerd:

- Groovy (http://groovy.codehaus.org): is een dynamische taal voor de Java Virtual machine. Het bouwt op de sterke punten van Java maar heeft aanvullende krachtige mogelijkheden, geïnspireerd op talen als Python, Ruby en Smalltalk.

- JavaScript (soms afgekort tot JS, niet te verwarren met Java): is een op prototype gebaseerde scripttaal die dynamisch is, zwak getypeerd en eersteklas functies heeft. Het is een taal met meerdere paradigma's, ondersteund object-georiënteerde, imperatieve en functionele programmeerstijlen. Omdat het de taal is achter de populaire software zoals Firefox is het met voorkeur een bekend gereedschap om te programmeren in het domein van open-source .

Alle talen hebben toegang tot het objectmodel van OmegaT, met het project als het hoogste object. De volgende code in groovy scant bijvoorbeeld door alle segmenten in alle bestanden in het huidige project en drukt, als de vertaling bestaat, de bron en het doel van het segment af:

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