# Scripts

Scripts

## Introduction

OmegaT permet d'exécuter des scripts écrits dans différents langages de script.

## Utilisation

En cliquant sur Outils > Scripts, la fenêtre de Scripts s'ouvre : fenêtre de Scripts

La fenêtre de Scripts vous permet de charger un script préexistant dans la zone de texte et de l'exécuter dans le projet en cours. Pour personnaliser les caractéristiques du script, suivez les étapes ci-dessous :

- Chargez un script dans le volet d'édition en cliquant sur son nom dans la liste qui apparaît dans le panneau de gauche.

- Faites un clic droit sur un des boutons allant de « <1> » à « <12> » dans le panneau inférieur et sélectionnez « Ajouter ». Dans l'exemple ci-dessus, deux scripts (position 1 et 2) ont déjà été ajoutés.

- Un clic gauche sur un des chiffres lance le script sélectionné correspondant. Vous pouvez lancer les macros sélectionnées soit à partir du menu principal, soit en passant par leurs entrées dans le menu Outils , soit en appuyant sur Ctrl+Alt+F# (# de 1 à 12).

Par défaut, les scripts sont stockés dans le dossier « scripts » situé dans le dossier d'installation d'OmegaT (le dossier contenant OmegaT.jar).

Vous pouvez y ajouter de nouveaux scripts afin qu'ils apparaissent dans le liste des scripts disponibles dans la fenêtre de Scripts.

Des scripts supplémentaires sont disponibles sur le site web suivant : OmegaT Scripts

## Langages de script

Les langages de script suivants ont déjà été mis en place :

- Groovy (http://groovy.codehaus.org) : c'est un langage dynamique conçu pour la machine virtuelle de Java. Il s'appuie sur les ressources de Java mais possède de puissantes fonctions supplémentaires inspirées de langages tels que Python, Ruby et Smalltalk.

- JavaScript (parfois abrégé JS, à ne pas confondre avec Java) : c'est un langage de script à prototype, à typage dynamique et faible, avec des fonctions de première classe. C'est un langage multi-paradigme, orienté-objet, de genre impératif et fonctionnel. Étant un langage utilisé par des logiciels populaires comme Firefox, c'est un outil de programmation répandu et favorisé dans le domaine de l'open source.

Tous les langages ont accès au modèle objet d'OmegaT, le projet étant l'objet principal. L'exemple de code suivant, dans le langage groovy par exemple, examine tous les segments de tous les fichiers du projet en cours et, si la traduction existe, imprime la source et la cible du segment :

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