XLIFF

本地化数据交换的格式标准

XLIFF是由软件开发商、本地化服务提供商、本地化工具提供商等团体共同倡议和设计,由OASIS标准组织发布的用于本地化数据交换的格式标准。它基于XML技术制定软件资源文件格式的转换规格,其目的在于提高软件的本地化作业效率。

基本介绍
本地化的困局
软件开发技术的不断发展,软件规模和软件功能的不断增强,不但增加了本地化处理过程的复杂程度,而且降低了本地化工程的处理效率,对软件的本地化过程带来严峻挑战。
首先,多种资源文件格式增加了处理难度。本地化行业人士面对如此众多的资源文件格式常常陷入迷茫的困局。对于一个大型软件本地化项目,需要进行本地化的文件格式多达十几种,其中大部分属于通用格式文件,例如,Java 资源文件(.Properties),Windows 资源文件(.RC),HTML 文件,XML文件等,但是也有一些属于软件开发商专有的文件类型,对专有类型的文件的本地化是经常困扰本地化人士的难题。
其次,软件数据交换成为瓶颈。软件本地化过程需要处理的文件,经常需要经过多次传递和格式转换处理,而每次传递过程产生的文件数据格式都不相同,为了本地化过程管理,要保证数据可以存储和跟踪不同传递阶段的内容发生了哪些改变。随着本地化工具的日益普及及其在大范围内的普遍应用,为了充分利用已经本地化的文件内容,提高处理效率,保证一致性,数据互可交换的需求随之产生。由于缺少行业文件数据标准,不同软件开发商和本地化工具处理后的数据缺乏兼容性,造成重用以前翻译过的内容比较困难。
再次,软件版本控制成为难题。由于软件市场的竞争日益激烈,源语言软件和本地化的软件发布间隔日益缩短(甚至同步发布),因此,全球化软件的开发和本地化过程是同步实现的,即边开发边进行本地化。由于源软件不断推出中间版本,本地化服务商需要保证得到和实现最新版本的文件进行本地化,因此软件版本控制成为一个重要内容。
最后,本地化参与者核心竞争力受到制约。缺乏文件数据格式的统一标准,也使软件开发商和本地化工具提供商深受影响。对于软件开发商他们的核心竞争力在于不断实现功能强大的专业软件,但是由于缺乏文件交换的标准,他们经常要为自己开发的新格式文件定制开发解析工具或过滤工具,并且要培训本地化服务商关于如何使用这些专用工具。本地化工具提供商的核心竞争力在于不断提供高效、方便的本地化工具,但是面对众多的资源文件格式,不得不耗费不少时间提供文件解析功能,需要开发各种插件、宏、过滤器处理特殊类型的资源文件。
很显然,在本地化行业不断发展的今天,缺少本地化过程文件数据交换格式的标准已经成为行业短板,并且困扰着整个本地化过程,已经阻碍了整个本地化行业的继续发展。
解困之道
如果将1990年“本地化行业标准协会(LISA)”成立,标志着软件本地化行业的正式形成,那么本地化行业至今已经走过了十多个年头,从时间跨度看这显然是个新兴的行业。
中国有句谚语:“不立规矩,难成方圆”。在当今信息时代,行业标准成为推动行业健康发展的持久动力。本地化行业的不成熟导致了标准的缺失,而标准的缺失又阻碍了这个行业的更快发展。特别是随着XML等软件规范的出现,为Web应用提供了巨大空间,而全球一体化的发展趋势促进了软件全球化和软件本地化的进一步发展。
市场需求的推动永远是新技术、新标准产生的直接动力。为了破解多格式文件本地化处理的困局,来自本地化行业相关团体的专业之士,为着共同的目标,聚集在一起,讨论和制定了本地化数据交换的标准,由此直接导致了了XLIFF标准的诞生。
公元2000年10月,来自Oracle,Novell,Sun和IBM/Lotus公司的代表聚在一起,成立了一个松散的“数据定义组”(Data Definition Group),后来改为正式的名称XLIFF(XML Localization Interchange File Format),开始定义本地化数据交换的规格。随后Alchemy Software Development, Moravia IT, RWS Group 和Lionbridge等公司也陆续加入到讨论组中。
讨论组的工作目标是制定可扩展的多语言本地化数据交换的规范,允许任何软件开发商根据该规范创建单一数据交换格式的文件,这些单一数据交换格式的文件能够向任何本地化服务商提交,并且能够被本地化服务商易于理解和有效处理。因此,制定的格式规范必须不依赖于任何特定工具软件,具有标准化和支持本地化处理的全部过程。另外,规范必须完全支持软件通用数据格式,并且具有足够的开放性,以便本地化专业工具开发商开发各种专有数据格式的实现程序。
最开始的时候这个小组使用Yahoo! eGroup展开讨论。为了吸引更多的人士参与,这个网络讨论组向任何人自由开放,但是只有受邀请者才能参加会议讨论。经过小组成员的努力,他们于2001年5月发布了XLIFF的第一版草稿规范。
为了增强团体结构和工作流程的集中性,该小组于2001年秋决定寻找一个具有良好组织结构的标准机构,以便更系统的制定本地化数据交换的标准。经过与OASIS (Organization for the Advancement of Structured Information Standards),W3C(World Wide Web Consortium)和LISA(Localization Industry Standard Association)等组织的接触和比较,XLIFF小组终于在2001年12月选定OASIS作为正式制定和发布XLIFF标准的机构。OASIS致力于XML的研究,XLIFF小组的很多公司也都是OASIS的成员,而且OASIS也乐意提供全系列的支持服务,双方的合作一拍即合。
随后OASIS成立了专门的XLIFF技术委员会(XLIFF TC),并于2002年一月召开了第一次技术会议。XLIFF技术委员会随后审阅了XLIFF 1.0的规格文件,于2002年4月15日批准和发布了XLIFF 1.0标准。
在XLIFF 1.0标准发布后,XLIFF技术委员会并没有停止研究的步伐,他们继续在1.0版本的基础上进行增强和修正,并于2003 年 10 月 31 日发布了XLIFF 1.1标准。
XLIFF标准将需要本地化的文本从繁杂的文件格式中分离出来,相同的源文件可以使用多种不同的工具软件进行本地化处理,而且可以在处理的过程中添加一些注释等的文字,存储有助于本地化处理的数据信息。XLIFF标准的发布,使得软件本地化数据交换的格式趋向统一,使很多本地化工程师从选择、学习和使用众多的定制工具的困境中解脱出来。
XLIFF结构解读
XLIFF 是一种存储抽取的文本并且在本地化多个处理过程进行数据传递的格式规范。它的基本原理是从源文件中抽取与本地化相关的数据,并对这些抽取出来的需要本地化的数据进行本地化处理,然后再与源文件中不需要本地化的数据合并成与源文件相同的格式文件。
采用XLIFF标准后,软件开发商利用过滤器将原来的文件转换为XLIFF格式,将其交给本地化服务商进行本地化的翻译,收到翻译过的文件以后,再使用同样的过滤器恢复为原来的文件格式。
源文件经过抽取后,那些不需要本地化的数据存放在“框架(Skeleton)”文件中,在 XILFF 标准中,框架文件可以以独立的文件存在,以保证不会因翻译过程而被改动。当然,在实际的操作过程中,为简便起见,也经常将框架文件直接存储在 XLIFF 文档中。如果将框架文件存储在文档中,一般可简单地采用 CDATA 部分来封装它的主体;或者如果框架文件是二进制的,则可以采用 Base64 编码将其插入到文档中。
XLIFF 基于 OpenTag 所定义的原则(OpenTag 是一个更早的用于抽取文本的 XML 应用),同时借用了 OpenTag 的一些标记。此外,它还增加了一些创新特性,比如项目信息、预翻译及历史记录、版本管理、二进制对象等。相对于OpenTag而言,XLIFF更为精确(不允许以不同方式定义同样的内容),也具有更好的互操作性。
从XLIFF的文档结构分析,XLIFF基于XML规范,以“XML”声明开始。XML后是XML文档自身,包括在 元素中。XLIFF文档可以包括一个或多个部分,每个部分被包含在一个对应的元素内。每个元素由元素和元素组成,元素包括元素的元数据(meta-data),例如,项目数据(联系信息、项目阶段、引用对象的指针和框架文件的信息等)。元素包括从元素中抽取的可翻译的数据,它们是XLIFF文件的主要组成元素。这些可以本地化的数据包含在多个元素中,而每一个元素包括由和 成对组成的元素中。XLIFF 文件可以描述成翻译单元(trans-unit)的集合,每个翻译单元包含从原始文档中抽取的一个句子或者一个段落,原始文本放在 元素中,译员需要用适当的翻译文本填充 元素。多个元素可以成组地包含在元素中。
除此之外,XLIFF通过元素保存文件不同处理阶段的信息, 元素包含有关工具、日期、用户等等的信息,以便在项目进行过程中为不同用户提供强大的预翻译和版本管理接口,每个元素可以包含属性(attribute),并与特定阶段相关联。由机器翻译(MT)、计算机辅助翻译(CAT)和以前项目中的继承下来的翻译结果可以使用元素增加到元素中。如果 元素中的翻译是正确的,则译员必须接受建议的文本。二进制数据(例如图像、鼠标指针、图标等)包含在元素中,该元素包含 和 元素,对象类型在 元素的 mime-type 属性中指定。元素被包含在相关联的元素中。二进制数据对象可以直接嵌入在 XLIFF 文档中,也可以采用引用外部文件的方式,XLIFF 甚至可以进行适当的调用,以选择编辑对象所需的相关应用程序。
关于内嵌(Inline)代码,XLIFF支持两个主要的标记机制,以便在 和 元素中使用内嵌代码:封装机制和取代机制。封装机制是在 XLIFF 标记中包含本地代码。 和 元素用于封装成对代码; 元素用于任何成对代码的孤立部分;而 元素用于任何其他独立代码
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市