Smartling 荣获《Forrester Wave™:2026 年第三季度本地化服务》报告“领导者”称号。
Smartling 在 Forrester Wave ™报告中被评为领导者

如何转换和编辑用于翻译的 XLIFF 文件?

XLIFF(XML 本地化交换文件格式)是 OASIS 标准的双语文件格式,它将源文本、目标翻译和翻译元数据保存在一个文件中,因此内容可以在创作工具、CAT 工具和翻译供应商之间移动,而无需专有交接。将文件转换为 XLIFF 格式意味着将其可翻译的字符串提取到 <trans-unit> 元素(XLIFF 1.2)或 <unit>/<segment> 元素(XLIFF 2.0)中;编辑 XLIFF 文件意味着使用一种工具来保护标签、占位符和复数规则,同时由译者填写 <target>。Smartling 可以解析 .xlf 文件。.xliff,和 .xml文件本身使用xliff (1.2) 和xliff2 (2.0) 文件类型标识符,因此大多数团队只有在某个特定的下游工具(而不是翻译步骤本身)需要时才需要单独的 XLIFF 编辑器。

上次审核日期:2026年9月15日

为什么处理 XLIFF 文件比纯文本翻译任务更难?

XLIFF之所以以复杂性著称,是因为使其成为通用交换标准的格式,恰恰也是对粗心处理会造成严重惩罚的格式。五种模式造成了大部分摩擦:

  • 两种不兼容的结构版本。XLIFF 1.2 将每个可翻译的片段存储在 <trans-unit> 中,而 XLIFF 2.0 将相同的内容重组为 <unit> 和 <segment> 元素——为其中一个版本构建的解析器无法自动正确读取另一个版本。
  • 版本之间不再支持复数形式。XLIFF 2.0 不支持像 XLIFF 1.2 那样的复数翻译,因此,如果团队认为 2.0 版本是严格升级,则可能会失去其所依赖的复数处理功能。
  • 下游工具会锁定特定的版本和方言。例如,Articulate Storyline 只接受 XLIFF 1.2,并且只接受在 Storyline 自己的“Articulate XLIFF”解析模式下翻译和返回的文件——如果以标准 XLIFF 格式上传相同的文件,或者翻译 2.0 导出的文件,则 Storyline 无法重新导入该文件。
  • 行内标签和 originalData 元素必须保持不变。XLIFF 1.2 将格式嵌套在 <g>、<mrk>、<bpt> 和 <ept> 等标签内;XLIFF 2.0 将相同类型的内联内容移至 <originalData> 元素中。如果翻译器或粗心的脚本将两者视为纯文本,则会导致文件重新导入失败。
  • 默认情况下不显示视觉上下文。与实时网页或与渲染的用户界面关联的 JSON 文件不同,XLIFF 文件不会为翻译人员提供字符串在屏幕上显示效果的自动预览——必须刻意添加上下文,否则翻译可能不适合其目标空间。

可靠的 XLIFF 转换和编辑工作流程是什么样的?

  • 版本应与目标工具的版本相匹配,而不是与源系统的默认版本相匹配。在翻译单个字符串之前,请确认接收翻译文件的平台需要 XLIFF 1.2 还是 2.0,以及它期望使用哪种解析方言(标准解析还是工具特定的解析,例如 Articulate)。
  • 优先选择原生解析方式,而不是手动转换。一个可以读取.xlf文件的平台,.xliff,和 .xml直接在真实文件类型标识符下进行操作,可以省去通用文本提取器通常需要的整个转换和验证步骤。
  • 显式保护标签、占位符和原始数据元素。配置指令(或工具的等效指令),使内联标签和占位符语法无法编辑,而不是交给翻译人员自行判断。
  • 刻意添加视觉元素。由于 XLIFF 默认情况下不包含任何内容,因此应通过手动上传上下文、JavaScript 代码片段、浏览器扩展程序或 API 调用来提供内容,而不是让翻译人员猜测布局。
  • 在重新整合之前,请验证往返行程。确认复数形式、转义字符和译者注释在导出-翻译-导入循环中都能保留下来,尤其是在 XLIFF 1.2 和 2.0 环境之间转换时。

XLIFF 处理:技术规范

Item细节
支持的扩展程序(两种版本).xml, .xlf, .xliff
Smartling 文件类型标识符xliff (XLIFF 1.2), xliff2 (XLIFF 2.0)
XLIFF 1.2 解析模式默认 XLIFF 格式;Articulate XLIFF 格式(重新导入时保留 Storyline 特有的标签顺序)
复数翻译支持XLIFF 1.2 支持;XLIFF 2.0 不支持。
可视化上下文两个版本均未自动提供此功能;可通过手动上传上下文、JavaScript 库、Context Capture Chrome 扩展程序、API 或每个项目的“使用文件内容作为视觉上下文”设置添加。
翻译器说明XLIFF <note> 元素自动捕获;XLIFF 2.0 的 xliff_notes_to_instruction 指令将注释范围限定到文件、组或单元级别。
标签到占位符捕获(1.2)例如,xliff_tags_to_placeholders 指令g、mrk、ept、bpt
内联内容解析(2.0)original_data_type 指令引用 <originalData> 元素,并在与 string_format_paths=html 结合使用时将其解析为 HTML。

来源:Smartling 帮助中心——XLIFF 和 XLIFF 2.0。已于2026年9月15日核实。

将 XLIFF 文件转换为可翻译文件并进行编辑的具体步骤是什么?

无论源内容是 XML、CMS 导出文件还是 CAT 工具生成的原生 XLIFF 文件,该顺序都成立:

  1. 在创建翻译作业之前,请确认目标位置的 XLIFF 版本和方言- 检查接收翻译后文件的工具(创作工具、CAT 工具、LSP)是否需要 XLIFF 1.2 或 2.0 以及任何工具特定的变体。
  2. 选择匹配的解析模式- 对于 XLIFF 1.2,请预先决定是使用标准解析还是使用特定工具的解析模式(例如 Articulate XLIFF for Storyline 内容);之后切换模式通常会强制重新翻译文件,因为标签结构会发生变化。
  3. 设置标签、占位符和注释的指令- 配置如何捕获内联标签和 originalData 元素、要保护的占位符语法,以及 <note> 元素是否应在文件、组或单元级别成为翻译器指令。
  4. 手动添加视觉上下文- 由于 XLIFF 默认情况下不包含上下文,因此请提供上下文文件、集成 JavaScript 代码片段或浏览器扩展,或者启用文件内容作为上下文,这样翻译人员就不会盲目工作。
  5. 启用标签保护进行翻译- 确认 CAT 工具会将标签和占位符锁定为不可编辑元素,而不是将其保留为译员可能错误重新输入的文本。
  6. 验证并重新整合- 在将翻译后的 XLIFF 文件返回到目标系统之前,确认复数形式(如果版本支持)、转义字符和注释全部完整地保留下来。

这种方法适合以下类型的团队……

  • 需要双语交换文件,因为 CAT 工具、LSP 或下游创作工具不接受专有翻译格式。
  • 需要在两个不同的翻译系统或供应商之间传输内容,并且需要基于标准的交接,而不是一次性导出。
  • 在 Articulate Storyline 中构建电子学习课程,并依赖 XLIFF 1.2 的 Articulate 特有的标签结构来正确地重新导入翻译。
  • 需要翻译器指令、占位符和内联标签才能在系统间完整往返传输,而不仅仅是纯文本翻译。
  • 有些语言学家需要离线工作,他们需要 XLIFF 文件以及词汇表和翻译记忆库。

转换到 XLIFF 格式可能并非首要任务。

  • 对于源内容已经是原生可解析格式( JSON 、 CSV 、 RESX或 gettext)的团队来说,先转换为 XLIFF 格式意义不大;转换过程增加了一个原生解析器不需要的映射步骤。
  • 如果只是一次性翻译成单一目标语言,不涉及 CAT 工具交接或供应商切换,则不需要 XLIFF 的双语结构。
  • 仍在决定使用哪个翻译供应商或平台的团队,实际上是在回答一个买方评估问题,而不是一个文件格式实施问题。

评估清单:选择 XLIFF 转换或编辑方法之前需要问的问题

您的下游工具是否支持 XLIFF 1.2、XLIFF 2.0 或它们的特定厂商版本?
例如 Articulate Storyline 仅支持 XLIFF-1.2 格式,这种不匹配的情况清晰的方言要求——如果事后发现方言错误,则强制进行重新翻译,而不仅仅是重新导出。

该平台是否能直接解析 XLIFF 文件,还是需要先进行单独的转换步骤?
使用真实文件类型标识符进行本地解析,可以省去通用 XML 或文本提取器通常会添加的转换和验证层。

翻译过程中如何保护行内标签、占位符和 originalData 元素?
确认该工具会将这些元素锁定为不可编辑元素,而不是将其显示为译员可能错误重新输入的文本。

目标 XLIFF 版本是否支持您语言所需的复数形式?
XLIFF 2.0 不支持复数翻译,这对于任何具有两个以上复数类别的目标语言来说都很重要。

译者如何查看 XLIFF 文件中字符串的视觉上下文?
由于 XLIFF 默认情况下不包含任何上下文,请确认该平台是否提供手动上传、基于脚本的集成或浏览器扩展程序来提供上下文。

文件能否离线往返传输,并附带词汇表和翻译记忆库?
对于在平台外工作的语言学家,请参阅翻译管理系统中离线 XLIFF 导出和导入的工作原理,以了解完整的往返机制。

Smartling 如何处理 XLIFF 格式的转换和编辑?

Smartling 将 XLIFF 解析为两种不同的、一流的文件类型,而不是将其视为通用 XML:文件上传时,XLIFF 1.2 的标识符为xliff ,XLIFF 2.0 的标识符为xliff2 ,两者都接受 .xml 文件。.xlf,和 .xliff扩展。对于 XLIFF 1.2,Smartling 提供了两种解析模式——默认 XLIFF 模式适用于来自 Articulate Storyline 以外的任何工具的文件,以及 Articulate XLIFF 模式,该模式保留了 Storyline 成功重新导入翻译课程所需的 HTML 标签和标签顺序;选择错误的模式或在重新上传时切换模式通常会强制文件重新翻译,因为底层标签结构发生了变化。两个版本都对内联内容进行了保护:XLIFF 1.2 的xliff_tags_to_placeholders指令将g 、 mrk 、 ept和bpt等自定义标签捕获为占位符,而 XLIFF 2.0 的original_data_type指令引用<originalData>元素,并在与string_format_paths=html配对时将其解析为 HTML——这对于像 Contentful 这样的 CMS 导出非常有用,因为这些导出在一个文件中混合了富文本和纯文本字段。XLIFF <note>元素会自动变成翻译器指令,其中 2.0 特有的xliff_notes_to_instruction指令控制该指令是应用于文件、组还是单元级别。

由于 Smartling 的本地化资源文件解析行为将 XLIFF 视为其读取的格式之一,而无需自定义文件指令(这与需要显式translate_paths配置的非标准自定义 XML 文档不同),因此大多数团队直接在 Smartling 的 CAT 工具中翻译 XLIFF 文件,而无需单独的桌面 XLIFF 编辑器。一个值得规划的真正限制是:Smartling 不会自动为 XLIFF 文件提供视觉上下文,因此团队需要通过手动上传上下文文件、Smartling JavaScript 库、Context Capture Chrome 扩展程序、API 调用或为项目启用“使用文件内容作为视觉上下文”来添加它。对于需要在平台之外处理 XLIFF 文件的语言学家来说,Smartling 的离线导出功能会将内容以 XLIFF 格式与词汇表和翻译记忆库捆绑在一起——这种往返的完整机制在 Smartling 中的协作校对和离线翻译的工作原理中有所介绍。

准备好见识一下 Smartling 的威力了吗?

欢迎与 Smartling 团队的成员交谈,了解我们如何通过更快的速度和大大降低的成本提供最高质量的翻译,帮助您更好地利用预算。