# 脚本化插件

插件 脚本化

## 介绍

OmegaT-脚本化支持在OmegaT中运行一些脚本语言编写的脚本。

## 安装和使用

OmegaT的脚本化插件可以从OmegaT插件下载站下载。然后解压文件并把它们放到OmegaT安装目录（即包含OmegaT.jar的目录）的“plugins”文件夹中。若不存在，则首先创建“plugins”文件夹。

这样会增加工具> 脚本子菜单。在脚本子菜单下，有12个放脚本的位置。点击脚本会打开脚本对话框： 脚本对话框

您可在脚本对话框中加载已有的脚本到文本区并对当前打开的项目运行该脚本。要定制脚本功能，请执行以下操作：

- 点击左面板列表中的脚本名称加载脚本到编辑器中。

- 右键点击底面板中的“<1>”到“<12>”按钮并选择“添加”。在上面的例子中，已添加了两个脚本（位置1和2）。

- 当您左键点击数字时，将运行选择的脚本。您还可以点击工具菜单下的脚本条目或按 Ctrl+Alt+F#（#表示1到12）组合键运行选择的宏。

目前已支持下列脚本语言：

- NetRexx（http://www.netrexx.org/）：它支持经典的REXX语法、无保留关键字，还包含了兼容Java对象模型的面向对象编程风格的重要附加支持。所有现有的Java类库可以无需修改和特殊设置而直接使用；在一些情况下Java程序员可以选择在运行时包中使用Rexx类以获得在Java语法的源程序中增强的字符串处理功能。

- XSLT（扩展样式表语言转换）：是用于转换XML文档的基于XML的描述性语言。原始的文档没有改变，不过基于原有文档的内容创建了新文档。新文档可能是由处理程序以标准的XML语法或其他格式串行化的，例如HTML或纯文本。XSLT最常用于在不同的XML模式转换数据或把XML数据转换为网页或PDF文档。

- Groovy（http://groovy.codehaus.org）：是用于Java虚拟机的动态语言。它构建于增强的Java之上，含有从Python、Ruby和Smalltalk等语言获得灵感而实现的附加强大功能。

- JavaScript（不会与Java混淆时简写为JS）：是动态、弱类型且具有一类函数的基于原型的脚本语言。它是多范型语言，支持面向对象、命令和函数式编程风格。它工作于像Firefox这样流行软件的后台，是开源领域中常见和首选的编程工具。

所有的语言都能访问OmegaT对象模型，其中的顶级对象为项目。例如下面的groovy代码片段扫描当前项目所有文件中的所有片段，且当某个片段的翻译存在时打印出它的源和目标译文：

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