简介

持续本地化集成(Continuous Localization Integration),遵循着持续化规则、以代码仓库为中心、自动析取所有需要本地化的字符串、同步到一个可视化的翻译平台、并将翻译平台的翻译结果同步回代码仓库;各部门分工协作、无缝配合,可以实现整个项目的快速迭代并缩短版本开发周期

Serge

SERGE = String Extraction and Resource Generation Engine

Serge是一个由Evernote开发的开源平台。支持多种翻译平台,官方推荐翻译平台ZingPootle,它采用Perl语言,项目托管在Github上。

Zing

Zing是印象笔记Evernote开发的在线翻译服务器软件,它应用于Surge平台上,用命令行Command Line进行相关操作,源自于Pootle软件,有很多相似之处。

Pootle

Pootle是一个基于Web的在线翻译和翻译管理工具。它支持主流的本地化文件格式,如Gettext PO, XLIFF, Java .properties, PHP arrays等。并集成用户建议、机器翻译、术语管理、记忆库等功能。它的宣传口号是“Get your community translating your software into their languages”/“让你的社区将你的软件翻译成本地语言”。是一个社区本地化服务器(Community Localization Server)。

工作原理

Developers’ harbor >Lzable Resource Files>Internal TM >T9N Interchange Files>Translators’ Cloud/
Source Code Reposit<Lzable Resource Files<Internal TM <T9N Interchange Files<In/External T9N Service

创建Zing项目

  1. 登录Zing账号,前往Admin → Admin → Projects,创建账户,设置权限;

  2. 打开命令提示符Command Prompt,用SSH(安全外壳协议/Secure Shell)登录服务器;

  3. 创建Serge config文件。在MC模式下,导航到config文件夹,F5复制config文件,F4编辑文件,选择本地化后的目的语,保存新config文件XX.serge;

  4. 返回命令行,导航到config文件夹,依次运行serge pull –initialize从Git库中拉取源代码字符串到Serge库、serge pull-ts从Zing中拉取翻译到Serge库、serge localize生成PO文件、serge push-ts从Serge库中推送待翻译字符串到Zing;

  5. 返回Zing,在项目中可看到待翻译字符串,依次进行翻译;

  6. 翻译后运行serge pull-ts XX.serge从Zing中拉取翻译好的字符串;

  7. 运行serge push,将翻译好的字符创推送回Git库。

常见的Serge命令

  1. pull - 从远程Git库里拉取最新的源文件到Serge/pull the undated source files from the remote Git repository;

  2. pull-ts - 从Pootle/Zing拉取最新翻译到Serge/pull the latest translation from Pootle/Zing;

  3. localize - 生成PO文件/generate the PO files;

  4. push-ts - 从Serge推送给Pootle/Zing最新的源文件/push the updated source files to Pootle;

  5. push - 向Git库推送翻译文件/push the tranlation to the Git server。