您的当前位置:首页正文

持续本地化集成——Continuous Localization

来源:华拓网

1. 持续本地化集成

传统的本地化集成,通常是需要在项目结束之后,才开始这项工作,这对于快速开发,限制了版本迭代,增加了整个项目控制的复杂性。

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

2. 收费服务

支持收费服务
支持开源的免费服务
weblate托管在github
支持本地服务器安装,可自行安装托管代码

支持收费服务
支持开源的免费服务

提供从注册开始,两周的免费试用
试用期间可以体验所有功能
试用结束后,必须选择付费服务

3. 开源软件(免费)

  1. (Box)
  1. (Evernote)

4. +

Serge(String Extraction and Resource Generation Engine)

安装过程可以在serge.io上有对应的教程,但是有几点需要注意的地方(我踩过的坑)

  1. cpancpanm

Serge 是一个由Perl语言开发的项目,其使用cpanm安装所有的依赖包,并生成可执行文件。熟悉Perl的人可能非常的熟悉cpancpanm两个依赖包管理工具。本人作为一个不熟悉Perl的移动端开发人员,在初始化cpan的时候,遇到了一个比较大的麻烦。

简单的了解一下cpancpnam,在Mac系统上,默认的搭载了Perlcpan。但是,如果你从来没有使用过cpan,第一次运行的时候,cpan会去初始化它的基本配置。
如果有移动端(iOS)开发经验的人,可以类比一下Cocoapods的安装。

初始化cpan的时候,可以会询问你权限的问题,提供三种,独立lib,sudo,手动。如果你是新手,个人建议采用sudo的方式,cpan默认的是第一种,这种情况下,需要更改你的PATH,有可能会带来很多的问题,我在安装的时候,就一路采用默认的方式,结果导致了cpanm安装之后,找不到命令,不知道是我操作的不对,还是对Mac兼容性的问题。

  1. PATH的影响

由于本人的电脑上配置了Macports和Homebrew两个第三方软件的安装和管理工具,导致了本机上的PATH错综复杂,Perl命令都很难找到,包括其对应的Lib路径。

解决方法,把在 Macports 和 Homebrew 上安装的Perl全部强制卸载,使用系统搭载的Perl, 在 Mac OS 10.12上,搭载的是5.18,由于在Mac OS 10.11 后,Mac 系统采用了SIP,来保护系统软件的完整性,系统的perl不能更换。但是,5.18已经够Serge的运行的最低依赖, serge要求,perl要大于5.10。

  1. Pootle 对Sqlite的支持问题

Pootle按照官方的文档已经部署完成,但是,在运行serge pull-ts的时候,使用无法更新对应的.po文件,从而就无法更新repo,导致翻译的结果,没法push到项目的远程仓库。

一直以为是Serge的问题,但是后来发现不是,是Pootle的问题。Pootle在初始化Sqlite数据库的时候,可能内部出错,但是翻译的内容无法写会到数据库,只保留在内存中,所以才导致了,在从Pootle同步到.po文件的时候,内容无法更新。

官方建议,如果是开发和发布服务的时候,不要使用Sqlite作为后端的数据库,更换MySQL或者PostgreSQL。

5. 参考文献