# 翻译记忆

## 内容

- 1. OmegaT 和 TMX 文件
  - TMX 文件所在位置及其用途
  - TMX 文件和语种
- 2. 使用OmegaT对译文进行记忆
- 5. 使用其他翻译工具创建的记忆
  - 5.1. 导入文件
  - 5.2. 导入文件的处理
- 6. 在其他翻译工具中使用OmegaT的翻译记忆
- 7. 更新翻译记忆

## OmegaT 和 TMX 文件

### TMX 文件所在位置及其用途

OmegaT 在3个不同地方使用了 TMX 文件。

- /omegat/ 文件夹包含了 project_save.tmx 文件，最后也会包括一定数量的 TMX 备份文件。project_save.tmx 文件包含了自从项目开始以来所有被保存的片段。
- 项目的主文件夹有 3 个 TMX 文件： <project_name>-omegat.tmx、 <project_name>-level1.tmx 和 <project_name>-level2.tmx, 其中 `<project_name>` 就是项目的名称。这些文件是导出的 TMX 文件，只包括已译文本对。
  - <project_name>-level1.tmx 为只包含文本信息的 TMX 文件。
  - <project_name>-level2.tmx 这种 TMX 文件以恰当的TMX 标签封装了OmegaT的特殊标签，因此它可以在支持 TMX 级别2 记忆的翻译工具或 OmegaT 自己当中使用格式信息。
  - <project_name>-omegat.tmx 是包含了OmegaT特定格式标签的TMX文件，因此该文件中的格式信息可以在其他OmegaT项目中使用。
- /tm/ 文件夹可以包含任何数量的TMX文件。这些文件必须是正确的TMX文件，可以只包含文本信息（TMX级别1）、OmegaT文本和格式信息（OmegaT TMX），或者TMX文本和格式信息（TMX级别2）。

### TMX 文件和语种

TMX 文件包含的 翻译单元 由许多不同语言的对应片段组成。一个翻译单元至少由两个 翻译单元变量 (tuv)组成。每个都可以当作源或者目标使用。

项目的设置可以指出哪个是源语言，哪个是目标语言。因此 OmegaT 将会根据项目的源语种代码 提取tuv，并将该片段作为源片段使用，然后根据项目的目标语种代码提取 tuv 作为目标片段使用。

语种代码以多种形式出现。OmegaT 目前仅识别以下代码：

- 以2个字母组成的语种代码：（例如： JA 代表日语）

或者

- 以2个字母组成的语种代码加上2个字母组成的国家代码，中间以连字符相隔（如：JA-JP 代表日本使用的日语）。

如果项目语种代码和TMX语种代码完全相符，该片段将会被导入内存中。如果代码只和语种代码相符，但和国家代码不相符，片段也会载入内存中。如果语言代码和国家代码都不符合，片段将不会载入内存中。

## 使用OmegaT记住你的译文。

文件 project_save.tmx 包含了从项目开始以来 所有被记忆的片段。假如你对项目的片段进行了修改，project_save.tmx 将会记录新的译文对，但同时也会保留之前的信息。有时这将造成在匹配查阅器中出现 独孤字符串。这样的匹配不再和现存片段对应，而是对应修改发生之前记录的片段。如果该修改行为是一次错误，恢复到之前的设置后，旧的记录将会重新出现。

## 使用其他翻译工具创建的记忆。

### 导入文件

OmegaT 支持导入 TMX 的 1.1-1.4b 版本（包括级别1和级别2）。这使得其它工具创建的翻译记忆也可以被OmegaT使用。

然而，OmegaT不完全 支持导入级别2TMX文件（既保存了译文又保存了格式），因此当导入级别2的TMX文件时，模糊匹配的质量将会有所下降。

### 处理导入的文件

OmegaT在处理翻译记忆文件（TMX文件）时遵循非常严格的程序。

如果在该文件中发现了任何错误，OmegaT将不导入该文件。

已知有些工具在某些情况下会产生非法的TMX文件。如果你想在OmegaT中使用这样的文件作为参考翻译而遭到OmegaT拒绝的话，你必须对它们进行修补。修补是琐碎的操作，OmegaT将会在相关的错误信息中给你提示。如果你感到力不从心的话，可以向用户组询问相关的建议。

## 在其他翻译工具中使用OmegaT翻译记忆

OmegaT 导出1.4版本的TMX文件（包括级别1和级别2）。级别2的导出并不是标准的级别2，但是足以在支持TMX级别2的翻译工具中产生正确的匹配。

如果你只需要文本信息（而不是格式信息），可以使用OmegaT创建的级别1文件。

## 更新译文记忆

OmegaT的之前版本只能将源文本按照段落切割成片段，而且对HTML和开放文档文件的格式标签编号时会出现前后不一致。OmegaT 1.6.1 可以检测并更新这样的TMX文件，以此提高模糊匹配的质量、提高现有翻译的水平——因此你并不需要重新完成它。

项目的TMX只会更新一次，且会以更新过的格式写入，而每次项目被载入时都会对所继承的TMX文件进行更新。所在注意：在OmegaT1.6.1中对文件过滤器的一些修改可能会导致完全不同的片段分割，因此在少数情况下你必须手动更新译文。

法律注意事项