deepin项目翻译流程介绍

因为很多同学反映对目前的项目翻译流程不是太清楚,因此特地在此进行说明,留待参考。

项目翻译的基本流程是,项目创建->代码更新->更新翻译源文件->翻译人员在transifex上进行翻译->项目拉取翻译->打包进入产品。transifex这个平台的主要作用即是翻译人员上传了翻译源文件(pot或者ts文件)到transifex上以后,transifex自动创建不同语言的翻译文件(po或者ts文件)并提供web页面供给不同国家的翻译者翻译后,项目负责人可以很方便的把翻译文件下载下来使用。以下分点说明其中每个环节需要做的和注意的事。

transifex项目创建

transifex有两个基础概念需要开发人员比较熟悉:Project和Source。Source(翻译源文件)对应于一个.ts文件或者.pot文件,一个Project则可以包含多个Source,类似一个项目可以打出多个二进制这样的关系。目前单独应用需要新建一个自己的Project,一般最少包含两个Source,一个是程序中使用的翻译源文件,另一个是翻译desktop用的文件(desktop文件翻译方式参见Desktop文件翻译方式整理);

在这个环节,项目负责人需要注意的是,tansifex对应项目的创建和Source的上传,在项目中期左右即可开始,并不是常常误认为的项目后期,因为除了中英文可以快速完成外,其他语言的翻译要几周到几个月的时间不等,后期开始往往会导致时间来不及。

.tx/config的配置

[main]
host = https://www.transifex.com
minimum_perc = 80
mode = developer

[deepin-desktop-environment.dde-control-center]
file_filter = translations/dde-control-center_<lang>.ts
source_file = translations/dde-control-center.ts
source_lang = en
type = QT

每个代码仓库与transifex项目通过.tx/config配置关联起来,它一般放在项目的根目录下,基本信息如上,以下给出各个项的含义以供参考。
main部分:
– host 服务器地址,不用处理
– minimum_perc 表示一个语言的翻译达到多少百分比以后才去拉取,上面的例子就是80%
– mode 不用处理
下面的每个部分代表一个Source,形式是[Project.Source],一个配置文件可以包含多个这种形式的Source。
– file_filter 表示下载下来的翻译文件放置的位置,支持特殊的其中表示语言,类似于blob。上例表示所有下载的翻译文件都放到translations目录下,并且重命名为dde-control-center_.ts这种形式。
– source_file 指向翻译源文件
– source_lang 表示源文件的语言,一般为en
– type 表示文件的类型,ts文件都是QT,pot文件都是PO;

配置完以后才可以使用ci.deepin.io提供的sync_transifex工具进行翻译文件的上传和拉取。

更新翻译

开发人员在需要更新文案或者添加需要翻译的项目的时候,除了提交相应的代码外,同时也要更新翻译源文件,提交CL添加翻译人员为reviewer,确保翻译源无误;审核通过合并代码后,需要到 https://ci.deepin.io/view/tools/job/sync-transifex/ 使用工具进行翻译源文件的上传。使用方法如下图:

点击Build with Parameters,选择相应的ACTION:下载翻译文件为DownloadPo,上传源文件为UploadPot,然后点击开始构建。

注意:Build with Parameters需要登录和一定权限,没有的话可以找系统组获取;另外,新项目可能在右边的PROJECT列表里不存在,需要配置同样找系统组帮忙。

确保上传完成后,即可通知翻译人员在transifex对刚上传的新字段进行翻译。翻译人员完成翻译后(一般只是中文),及时通知开发人员进行翻译拉取翻译更新。拉取翻译更新的Job执行完成后,会有一个gerrit CL产生,检查无误后即可合并。此处需要注意的是,除中英文外的语言翻译完成时间不定,最好在每次版本发布之前执行一次以获取更完成的翻译。

发表评论

电子邮件地址不会被公开。 必填项已用*标注