# Engadido de Scripting

Engadidos Scripting

## Introdución

OmegaT-Scripting permite executar scripts escritos en diferentes linguaxes de programación en OmegaT.

## Instalación e uso

O engadido de Scrpting para OmegaT pode descargarse dende o sitio de descarga de engadidos de OmegaT. Descomprima os ficheiros e gárdeos no cartafol «plugins» dentro da carpeta de instalación de OmegaT, é dicir, o cartafol que contén o ficheiro OmegaT.jar. Primeiro cree o cartafol «plugins», de non existir un xa.

Isto engade un submenú novo Ferramentas > Scripting. Baixo o submenú de Scripting, hai dispoñíbeis 12 lugares para scripts. Facendo clic en Scripting, abre o diálogo do engadido: Diálogo de Scripting

O diálogo do engadido permítelle cargar un script existente na área de texto e executalo no proxecto aberto nese momento. Para personalizar a funcionalidade dos scripts, faga o seguinte:

- Cargue un script no editor facendo clic no seu nome na lista do panel esquerdo.

- Faga clic dereito nun botón dende o «<1>» ao «<12>» no panel inferior e seleccione «Engadir». No exemplo anterior, xa se engadiron dous scripts (posición 1 e 2).

- Cando faga clic esquerdo no número, executarase o script. Pode iniciar as macros seleccionadas dende o menú principal ou ben empregando as entradas no menú de Ferramentas ou premendo Ctrl+Alt+F# (sendo # un número do 1 ao 12).

Xa están implementadas as seguintes linguaxes de programación:

- NetRexx (http://www.netrexx.org/): é compatíbel coa sintaxe REXX clásica, sen palabras chave reservadas, xunto con importantes engadidos para a compatibilidade con programación orientada a obxectos dun xeito compatíbel co modelo de obxectos de Java. Tódalas librarías de clase Java existentes poden empregarse sen ningún cambio e sen unha configuración especial; ao mesmo tempo, un programador de Java pode escoller empregar a clase Rexx dende o paquete de execución para un mellor manexo das cadeas en programas de código fonte con sintaxe en Java.

- XSLT (Extensible Stylesheet Language Transformations, transformacións de idioma de folla de cálculo extensíbel): é unha linguaxe baseada en XML declarativa que se emprega para a transformación de documentos XML. O documento orixinal non se cambia, senón que se crea un novo documento baseado no contido dun documento existente. O novo documento pode producirse en serie polo procesador en linguaxe XML estándar ou noutro formato, como HTML ou texto plano. XSLT emprégase a miúdo para converter datos entre diferentes esquemas de XML ou para converter datos XML en páxinas web ou documentos PDF.

- Groovy (http://groovy.codehaus.org): é unha linguaxe dinámica para a máquina virtual Java. Constrúe sobre as forzas de Java mais ten funcións adicionais inspirados en linguaxes como Python, Ruby e Smalltalk.

- JavaScript (abreviado ás veces como JS, non confundir con Java): é unha linguaxe baseada nun prototipo. Esta linguaxe é dinámica, flexíbel e ten funcións de primeira clase. É unha linguaxe multiparadigmática, compatíbel con estilos de programación orientada a obxectos, imperativa e funcional. É unha ferramenta de programación popular e unha das preferidas no eido do software libre, pois se emprega en software tan coñecido como Firefox.

Todas as linguaxes teñen acceso ao modelo de obxectos de OmegaT, co proxecto como o punto máis elevado do obxecto. O seguinte fragmento de código en groovy analiza todos os segmentos de todos os ficheiros do proxecto activo e, se a tradución existe, imprime a orixe e o destino do 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);
                }
            }
        }