第 7 章 文件过滤器
上一页 |  | 下一页

# 第 7 章 文件过滤器

OmegaT 的特色之一是可高度自定义过滤器，它让您可以配置众多的过滤器。文件过滤器是一堆代码，它能够：

- 从某些特定文件格式中读取文档。例如：纯文本文件。

- 将可翻译的内容从文件中提取出来。

- 通过将可翻译内容替换为译文，自动修改可译文档的文件名。

多数用户应该会对缺省的文件过滤器选项感到满意。如果不满意，可以从主菜单选项→文件过滤器……打开主对话框。通过选择项目属性中的文件过滤器……属性，您还可以启用仅用于当前项目的项目专用文件过滤器.

警告！如果您在项目打开的时候改变过滤器选项，您必须重新载入项目以使改变生效。

## 1. 文件过滤器对话框

该对话框列出了可用的文件过滤器。如果您不想使用 OmegaT 翻译某些类型的文件，您可以将它们文件名旁边的复选框的对勾符号去掉来关闭该过滤器。这样一来，在载入项目时 OmegaT 会忽略这些文件，并且在创建目标文档时对它们进行原封不动的复制。如果之后您又决定使用这些过滤器，只需勾上这些复选框。点击缺省【Defaults】可将文件过滤器恢复为缺省设置。要编辑过滤器处理文件时使用的编码，请从列表中选中该过滤器然后点击编辑按钮。

## 2. 过滤器选项

五种过滤器（文本文件、 XHTML 文件、HTML 和 XHTML 文件、开放文档／OpenOffice.org 文件和 微软开放 XML 文件）有一个或多个特殊选项。要修改这些选项，请从列表中选中该过滤器，并点击 选项【Options】按钮。可用选项包括：

文本文件

- 在换行、空行处进行片段分割或不分割：

  如果激活了句子分割规则，则文本将会按照现有规则作进一步的分割。

PO 文件

- 允许目标文件中存在空译文：

  如果启用，未翻译的 PO 片段（可能是整个段落）在目标文件中的译文是空的。从技术上说，PO 目标文件（如果创建了）中的 `msgstr` 片段将为空的。由于这是 PO 文件的标准行为，所以缺省启用。如果关闭了此选项，则会复制源文本到目标片段中。

XHTML 文件

- 翻译下列属性——已选择的属性会作为片段出现在编辑器窗口中。

- 在下列位置分割新段落：按照 <br> HTML 标签分割段落。

- 忽略匹配正则表达式的文本：匹配该正则表达式的文本会被忽略。

- 不要翻译元标签的属性内容……：属性键值对，用逗号分隔，将保持未译状态

Microsoft Office 开放 XML 文件

您可以选择要翻译的元素。它们将以单独片段的形式出现。

- Word：不可见说明文本、注释、脚注、尾注、页脚

- Excel：注释、工作表名

- Power Point：幻灯片注释、幻灯片控制和幻灯片布局

- 通用：图表、图示、图画和艺术字

- 其他选项：

  - 聚合标签：如果选中了，不含可翻译文本的多个相邻标签会被合并为单个。

  - 保留所有标签的空白：如果选中了，则会保留“空白”（即空格和新行符），即使没有在文档中专门设置

HTML 和 XHTML 文件

- 在 HTML 和 XHTML 文件中新增或重写编码声明：总是（缺省），仅当 (X)HTML 文件含标题时，仅当 (X)HTML 文件含编码声明时，从不

- 翻译下列属性：已选择的属性会作为片段出现在编辑器窗口中。

- 在下列位置分割新段落：按照 <br> HTML 标签分割段落。

- 忽略匹配正则表达式的文本：匹配该正则表达式的文本会被忽略。

- 不要翻译元标签的属性内容……：属性键值对，用逗号分隔，将保持未译状态

文本文件

- 在换行、空行处进行片段分割或不分割：

  如果激活了句子分割规则，则文本将会按照现有规则作进一步的分割。

开放文档/OpenOffice.org 文件

- 您可以选择要翻译下列哪些项：

  索引条目、书签、书签参考、笔记、注解、介绍说明、链接（URL）、工作表名称

## 3. 编辑过滤器对话框

该对话框允许您设置该过滤器所处理的文件的源文件名模式，定制已译文件文件名，并为它选择用何种编码来载入文件及保存已译副本。要修改文件过滤器模式，可直接修改该字段或点击编辑按钮。要新增文件过滤器模式，请点击新增。新增模式和编辑特定模式使用的是相同的对话框。该对话框非常有用，因为它带有的特定目标文件名模式的编辑器，它允许您自定义输出文件的名称。

### 3.1. 源文件类型、文件名模式

当 OmegaT 在源文件夹中发现一个文件时，它将首先根据文件的扩展名试着选择过滤器。更确切地说，OmegaT 尝试着用每个过滤器的源文件名模式对文件名进行匹配。例如，`*.xhtml` 模式将会匹配任何扩展名为 `.xhtml` 的文件。如果找到了合适的过滤器，它将被用来处理该文件。比如说在缺省情况下 XHTML 过滤器将会用来处理扩展名为 .xhtml 的文件。 您可以对每个文件过滤器要处理文件的名称模式进行修改或增添。源文件名模式中使用的匹配字符与搜索中所使用的类似。'*' 字符匹配零个或多个字符。'?' 字符只匹配一个字符。其他所有字符代表自身。比如，如果您希望文本过滤器处理 readme 文件（`readme, read.me` 和 `readme.txt`），那么您应该使用模式 `read*`.

### 3.2. 源文件和目标文件编码

仅少量文件格式必须指定强制性的编码方式。未指定编码方式的文件格式将使用您所设定的匹配该名称的扩展名的编码方式。例如，缺省情况下 `.txt` 文件将会使用系统缺省的编码导入。您可以对每种源文件名模式的源编码进行修改。这些文件也可以任何编码方式输出。缺省情况下，已译文件的编码与源文件的编码相同。源和目标编码字段使用的组合框包括了所支持的全部编码。<自动>将编码选择工作留给 OmegaT。以下是其工作原理：

- OmegaT 通过（HTML 文件、基于 XML 的文件中）可能存在的编码声明来识别源文件编码。

- OmegaT 被设置为某些文件格式（Java 属性等）使用强制性编码。

- OmegaT 为文本文件使用缺省的系统编码。

### 3.3. 目标文件名

有时您也需希望系统自动将译好的的文件重新命名，比如在文件名后加上语言代码。目标文件名模式使用特殊的语法规则，因此如果希望编辑这些字段的话，您必须点击编辑……以使用编辑模式对话框。如果您想恢复到缺省的过滤器设置，点击缺省。您也可以在文件过滤器对话框中的目标文件名模式字段中直接修改名称。模式编辑对话框提供了以下选项：

- 缺省设置是 `${filename}`——和源文件完全相同的文件名和扩展名：此时已译文件名和源文件名完全一样。

- `${nameOnly}`——只插入源文件的名称，而不包括扩展名。

- `${targetLocale}`——目标文件区域设置代码（形式为 "xx_YY"）。

- `${targetLanguage}`——目标语言和国家代码（形式为 "XX-YY"）。

- `${targetLanguageCode}`——目标语言代码（"XX"）。

- `${targetCountryCode}`——目标国家代码（"YY"）。

上一页 |  | 下一页
第 6 章 项目属性 | 起始页 | 第 8 章 OmegaT 文件和目录