## 源片段

- 结构层片段

- 语句层片段

  - 片段切分规则

  - 规则设置

    - 优先级

    - 规则创建

    - 中断或例外

    - 一些简单的例子

- 构造正则表达式

译法记忆工具的使用以叫做片段的文本为单位。OmegaT 通过两种途径对文本进行片段切割：段落分割和语句分割。要选择分割类型，从主菜单选择 项目 → 属性... 然后选用可用的复选框。要注意的是段落分割已经非常过时，对于大多数项目来说语句分割是相对可取的选择。如果选用了语句分割，可以通过从主菜单选择 选项 → 片段分割... 以设置规则。

请注意，大量开发被花在了开发可靠的片段分割规则之上，因此在多数情况下你并不需要编写自己的片段分割规则。另一方面，该功能在特殊情况下可能非常有用，它可以帮助你在不触动那些必须保持原样的部分的情况下翻译需要翻译的内容。

警告！ 在项目处于打开状态时修改过滤器选项可能会导致数据丢失。如果在项目打开的时候改变片段分割选项，你必须重新导入项目以使改变生效。

## 结构层片段

OmegaT 首先将文本分割成结构级别的片段。在这个过程中，只有源文本之结构被用于创建片段。

例如：文本文件可能会在行终止、空行进行片段切割或者根本不进行片段切割。格式化文件（OpenOffice.org 文档、HTML 文档等等）在块一级标签进行分割。XHTML 或 HTML 文件的可翻译对象 attributes 可能被提取为独立的片段。

## 语句层片段

在将源文件分割为逻辑单位之后， OmegaT 将进一步把这些块分割为语句。

### 片段切分规则

片段分割过程可描绘如下：想像一下光标沿着文本移动，每次一个字符。对于每个光标位置，以特定的顺序应用每条规则，对左边的文本使用 之前 模式识别，对光标右边的文本使用 之后 模式。如果规则匹配，程序停止规则检查（为例外规则）或者创建一个新片段（为中断规则）。

语句片段的实现得益于 片段规则交换 (SRX) 标准 －－ 请注意并不支持所有的 SRX 特性。同时，还可以导入或导出以 SRX 格式定义的规则。然而，如果知道 SRX 如何运作，你就非常熟悉 OmegaT 进行片段分割的方式。

存在两种规则

- 中断规则 将源文本分割为片段。例如， 将 "Did it make sense?I was not sure." 分割成两个片段意味着：必须有一条为 "`?`" 准备的中断规则。

- 例外规则 指定哪部分文本不应该被分开。不考虑句点的话， "Mrs. Dalloway " 不应被分割成两个片段，因此应该为后面跟着句点的 Mrs (以及 Mr 和 Dr 、prof 等等) 创建例外规则。

对于绝大多数欧洲语言和日语来说，预定义的中断规则已经够用了。鉴于所提供的灵活性，你可能考虑为要翻译的语种定义更多的例外规则，以获取语意更完整也更连贯的片段。

### 规则设置

### 优先级

为匹配的语言模式定义的所有片段分割规则会按照规定的优先级别得到应用，因此为特定语言定义的规则优先级会比缺省规则要高。例如，为加拿大法语 (FR-CA) 创建的规则优先级应该比为法语 (FR.*)创建规则的优先级要高，也比缺省规则(.*) 要高。在对加拿大法语进行翻译时，项目将会按照正确的顺序使用为加拿大法语定义的规则、为法语定义的规则和缺省规则。

### 规则创建

为编辑或拓展现有规则集合，仅需在上面的表格中打开它。规则集合将出现在窗口的下半部分。

要为某新语种模式创建空的规则几何，,在对话框的上半部分 点击 新增。上方表格的底部将出现一条空行 (你可能需要向下滚动才能看到它)。修改规则集的名称和语言模式语言模式的语法遵守正则表达式的语法规则。如果你设置的规则处理语言——国家对，我们建议你使用上移按钮将它移到顶部。

### 中断或例外

中断/例外 检查框决定该规则是一条中断规则（勾上检查框）还是一条意外规则（不勾上检查框）。之前和之后两条正则表达式指定了意外规则和中断规则之前及之后的文本必须符合的条件。

### 一些简单的例子

意图 | 之前 | 之后 | 注意
将句点('<c1>.</c1>')之后及空格之前的内容设置为片段 | `\.` | `\s` | "`\.`" 表示该字符 "`.`" "`\s`" 表示任何空白字符
不要对 Mr. 之后的内容进行分割 | `Mr\.` | `\s` | 这是一条例外规则，因此必须将规则复选框设为未选中。
在 "ã€‚" (日文句点) 之后设置一个片段 | `ã€‚` |  | 注意 之后 规则为空
不要对 M. Mr. Mrs. 和 Ms. 之后的内容进行分割 | `Mr??s??\.` | `\s` | 例外规则 - 正则表达式中使用 ? （非贪婪标识符）

## 正则表达式构造

在搜索和片段切分规则中使用的是 Java 支持的正则表达式。附录 正则表达式 中有一份简短的摘要。如果你需要更多的信息，请参阅 http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html。

在网站(http://www.regular-expressions.info/quickstart.html）可以找到一份简单的入门指南。

法律声明 | 首页 | 内容索引