|
文件扩展名 |
.xlf, .xliff |
|
API 扩展 |
xlf |
|
导入 |
是 |
|
导出 |
是 |
|
复数形式支持 |
是 |
|
描述支持 |
是 |
|
格式选项 这些选项可以在上传和/或下载文件时指定。根据上传/下载方法(API、CLI、Repo同步等),它们可以在查询参数中指定 |
enclose_in_cdata include_translation_state indent_size indent_style ignore_source_translations ignore_target_translations export_key_id_as_resname export_key_name_hash_as_extradata override_file_language strip_placeholder_delimiters delimit_placeholders |
翻译行业中使用最广泛的文件格式。它可以被视为源文件的镜像,将源内容分解为存储在标签中的各种段落(例如 <trans-unit>, <seg-source>)。
XLIFF 是基于 XML 的,并遵循基本的 XML 约定,如有效性和良好的格式。在翻译之前,始终通过将文件扩展名从 .xliff (.xlf) 更改为 .xml 并在网页浏览器中打开它来进行完整性检查。如果文件有效,将呈现良好组织的文档结构;如果无效,则将无法呈现或显示错误消息。
XLIFF 已更新为 XLIFF 2.0。它类似于更广泛使用的 XLIFF,但是一种不同的文件格式,通常与 XLIFF 不兼容。
Xcode 可以将本地化字符串打包为行业标准的 XLIFF 格式,以便与 Phrase 一起发送进行本地化。
格式选项
|
标识符 |
enclose_in_cdata |
|
类型 |
布尔值 |
|
上传 |
否 |
|
下载 |
是 |
|
默认 |
false |
|
说明 |
将包含 html 标签的翻译封装在 CDATA 中。如果禁用,不支持的 HTML 实体将被替换为其解码值。例如:
|
|
标识符 |
include_translation_state |
|
类型 |
布尔值 |
|
上传 |
否 |
|
下载 |
是 |
|
默认 |
false |
|
说明 |
包含目标区域的翻译状态。每个 |
代码示例
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file original="global" datatype="plaintext" source-language="de-DE" target-language="en-GB">
<body>
<trans-unit id="boolean_key">
<source xml:lang="de-DE">--- true
</source>
<target xml:lang="en-GB">--- true
</target>
</trans-unit>
<trans-unit id="empty_string_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="key_with_description">
<source xml:lang="de-DE">看看这个!这个键有一个描述!</source>
<target xml:lang="en-GB">检查一下!This key has a description!(至少在某些格式中)</target>
<note>这是这个键的惊人描述!</note>
</trans-unit>
<trans-unit id="key_with_line-break">
<source xml:lang="de-DE">Diese Übersetzung hat
<einen Zeilenumbruch.</source>
<target xml:lang="en-GB">这个翻译包含</target>
a line-break.</target>
</trans-unit>
<trans-unit id="nested.deeply.key">
<source xml:lang="de-DE">我是一把深层嵌套的键。</source>
<target xml:lang="en-GB">我是一把深层嵌套的键。</target>
</trans-unit>
<trans-unit id="nested.key">
<source xml:lang="de-DE">这个键嵌套在一个命名空间内。</source>
<target xml:lang="en-GB">这个键嵌套在一个命名空间内。</target>
</trans-unit>
<trans-unit id="null_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="sample_collection">
<source xml:lang="de-DE">---
- 第一个条目
- 第二个条目
</source>
<target xml:lang="en-GB">---
- first item
- second item
- third item
</target>
</trans-unit>
<trans-unit id="simple_key">
<source xml:lang="de-DE">Einfacher Schlüssel, einfache Nachricht, so einfach</source>
<target xml:lang="en-GB">简单的键,简单的消息,如此简单。</target>
</trans-unit>
<trans-unit id="unverified_key">
<source xml:lang="de-DE">这个翻译尚未验证,正在等待!</source>
<target xml:lang="en-GB">这个翻译尚未验证,正在等待。</target>(在某些格式中,我们也导出此状态)</target>
</trans-unit>
</body>
</file>
</xliff>
复数形式
复数键使用以下语法导出:
<trans-unit id="plural_key">
<source xml:lang="zh">{"one":"一把椅子","other":"{nrOfChairs} 把椅子","zero":"没有椅子"}</source>
<target xml:lang="de">{"one":"ein Stuhl","other":"{nrOfChairs} Stühle","zero":"keine Stühle"}</target>
</trans-unit>