Skip to main content
返回术语表
术语

XLIFF(XML本地化交换文件格式)

缩写: XLIFF

由OASIS标准化的基于XML的格式,用于在本地化工作流程中的工具之间交换可本地化数据及其翻译。

4 分钟阅读
文件格式标准本地化XML工作流程

什么是XLIFF?

**XLIFF(XML Localization Interchange File Format,XML本地化交换文件格式)**是一种基于XML的开放标准,设计用于存储可本地化数据并在本地化过程的不同步骤之间传输。由OASIS标准化,XLIFF使得可翻译内容能够在不同工具之间交换,而不受原始文件格式的限制。

与存储已完成翻译的TMX不同,XLIFF设计为活跃翻译过程的工作格式,承载源内容、翻译和工作流程元数据。

XLIFF版本

XLIFF 1.2(2008)

最广泛采用的版本:

  • 成熟稳定的规范
  • 广泛的工具支持
  • 丰富的内联元素支持
  • 仍是行业主力

XLIFF 2.0(2014)/ 2.1(2018)

采用模块化架构的现代重新设计:

  • 更清晰、更简单的核心
  • 模块化扩展
  • 更好定义的语义
  • 采用率不断增长

XLIFF结构

基本XLIFF 1.2结构

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en" target-language="zh"
        datatype="plaintext" original="example.txt">
    <body>
      <trans-unit id="1">
        <source>Hello, world!</source>
        <target>你好,世界!</target>
      </trans-unit>
    </body>
  </file>
</xliff>

基本XLIFF 2.x结构

<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0"
       version="2.0" srcLang="en" trgLang="zh">
  <file id="f1" original="example.txt">
    <unit id="1">
      <segment>
        <source>Hello, world!</source>
        <target>你好,世界!</target>
      </segment>
    </unit>
  </file>
</xliff>

关键元素(XLIFF 1.2)

元素描述
<xliff>带版本的根元素
<file>单个文件的容器
<body>包含翻译单元
<trans-unit>单个可翻译片段
<source>原始文本
<target>翻译文本
<note>给翻译人员的注释
<alt-trans>替代翻译

关键元素(XLIFF 2.x)

元素描述
<xliff>带srcLang、trgLang的根元素
<file>文件内容的容器
<unit>可翻译单元
<segment>源文-译文对
<source>原始内容
<target>翻译
<notes>注释容器
<note>单个注释

File元素属性

XLIFF 1.2

<file
  source-language="en-US"
  target-language="zh-CN"
  datatype="html"
  original="index.html"
  product-name="MyApp"
  product-version="2.0"
  build-num="1234">

XLIFF 2.x

<file
  id="f1"
  original="index.html">

在2.x中,语言代码移到了根<xliff>元素。

Trans-Unit / Unit状态

翻译状态(XLIFF 1.2)

状态含义
new尚未翻译
needs-translation需要翻译
needs-review-translation翻译需要审核
translated翻译完成
final已批准且最终
signed-off正式签字

带状态的示例

<trans-unit id="1" state="needs-review-translation">
  <source>Welcome</source>
  <target state="needs-review-translation">欢迎</target>
</trans-unit>

内联元素

XLIFF支持丰富的内联标记:

XLIFF 1.2内联标签

标签描述示例
<g>通用组<g id="1">粗体</g>
<x>通用占位符<x id="1"/>
<bx>开始配对标签<bx id="1"/>
<ex>结束配对标签<ex id="1"/>
<bpt>开始配对标签(带内容)<bpt id="1">&lt;b&gt;</bpt>
<ept>结束配对标签(带内容)<ept id="1">&lt;/b&gt;</ept>
<ph>占位符<ph id="1">{0}</ph>
<it>独立标签<it id="1">&lt;br/&gt;</it>

带内联标签的示例

<trans-unit id="msg1">
  <source>Click <g id="1">here</g> to continue.</source>
  <target>点击<g id="1">这里</g>继续。</target>
</trans-unit>

元数据和注释

添加注释

<trans-unit id="1">
  <source>File</source>
  <target>文件</target>
  <note from="developer">菜单项标签</note>
  <note from="translator">上下文:主菜单</note>
</trans-unit>

上下文组

<trans-unit id="1">
  <source>OK</source>
  <context-group name="location">
    <context context-type="sourcefile">dialog.cpp</context>
    <context context-type="linenumber">42</context>
  </context-group>
</trans-unit>

XLIFF 2.x模块

XLIFF 2.0+使用模块化扩展:

模块用途
Translation Candidates替代翻译
Glossary术语定义
Format Style格式信息
Metadata自定义元数据
Resource Data外部资源
Change Tracking修订历史
Size Restriction长度限制
ValidationQA规则

XLIFF vs TMX

方面XLIFFTMX
用途本地化工作流程TM存储/交换
内容正在翻译的文档已完成的翻译
元数据面向工作流程面向TM
结构层次化(文件、单元)扁平(仅TU)
状态跟踪翻译进度无状态跟踪
使用活跃项目存档/参考

最佳实践

创建XLIFF文件

  1. 选择正确的版本

    • XLIFF 1.2获得最大兼容性
    • XLIFF 2.x用于现代工作流程
  2. 保留上下文

    • 包含文件路径信息
    • 添加有意义的注释
    • 使用上下文组
  3. 正确分段

    • 每个片段一个可翻译单元
    • 保留内联格式
    • 包含用于跟踪的ID

处理XLIFF

  1. 验证结构

    • 检查XML格式正确性
    • 根据模式验证
  2. 处理状态

    • 跟踪翻译进度
    • 适当更新状态
  3. 保留内联元素

    • 保持标签顺序
    • 正确匹配标签ID

常见问题

XLIFF和TMX有什么区别?

XLIFF设计用于活跃的本地化工作流程——它承载正在翻译的文档及其所有元数据和上下文。TMX用于存储和交换已完成的翻译(翻译记忆)。您在XLIFF中工作,在TMX中存储。

应该使用哪个XLIFF版本?

XLIFF 1.2提供最大的工具兼容性。XLIFF 2.x更清晰、更现代,但支持范围较小。在选择之前检查您的工具链。

XLIFF可以存储翻译记忆吗?

XLIFF不是为TM存储设计的,但XLIFF 2.x有Translation Candidates模块可以存储替代翻译。对于TM,请使用TMX。

如何将文件转换为XLIFF?

大多数CAT工具可以从各种格式(DOCX、HTML等)提取内容到XLIFF。像Okapi Framework这样的专用工具为许多文件类型提供过滤器。

本地化必须使用XLIFF吗?

不是必须的,但非常有益。XLIFF提供了一种标准方式来在不同工具和团队之间共享本地化项目,提高互操作性。

XLIFF可以处理复杂格式吗?

可以,XLIFF有丰富的内联元素支持来处理格式、占位符和标记。正确的内联处理是保留文档结构的关键。

KTTC团队
翻译技术专家
4分钟阅读

We use cookies to improve your experience. Learn more in our Cookie Policy.