-
Notifications
You must be signed in to change notification settings - Fork 25
如何开始
- 环境需求 ====== 使用Linux环境或Mac环境,用于测试和生成翻译后的man。目前阶段,要求所有译者都能够自行测试和修改自己译文,所以必须具备该环境。
理论上,windows环境中,也可以做相应的部署来达成以上目的,但是不但繁琐,而是有可能有种种不一致处,因此不建议。
- 部署环境 ====== 2.1. po4a
Man翻译项目采用kernel的man手册维护人建议的po4a架构来进行。
po4a 是一个Perl脚本模块,用于从各种文档(包括man)中抽取需要翻译的字符串,生成po文件,然后利用po文件编辑器进行翻译,并将翻译后的po文件合并生成译文。
po4a 可以从 http://po4a.alioth.debian.org/ 下载并进行安装。 po4a 并没有放到CPAN库中,因此不能通过cpan命令来安装。
po4a 的具体安装在此不赘述。
po4a 安装完成之后,会有 po4a 的系列命令,对于译者,只需要使用其中的 po4a-translate 来合并生成译文即可。
po4a 会生成 po 文件,这是一个 I18N 标准的用于多语言的国际化/本地化的文件格式。po 文件是一个文本格式的文件,你可以使用任何你喜欢的文本编辑器来编辑,不过如果使用类似 poedit 这样的专业 po 编辑器,会更加方便:
- 便于区分已译、未译和模糊的片段
- 可以自动推测相近的译文
- 可以从 pot (po文件模版)中更新,很方便的增加新的字符串和删除过期的字符串
- 可以自动生成 mo (po 文件的编译结果,可以直接用于支持 po 多语言化的程序。不过本项目中并不需要编译成 mo。)
poedit 可以从 http://www.poedit.net/ 下载安装,支持各种操作系统。
###poedit 的配置
poedit 的配置很简单,设置首选项中的姓名和邮件地址,建议采用 github 中的用户名和邮件地址(或永久邮件地址),该信息将来会记录到 po 文件中。
其它选项基本上不需要修改。
- 开始翻译 ====== 3.1. 建立本地的版本库
本项目依然采用 Fork+PR 的模式进行,请先在你的 Github 账户下 Fork 本项目。项目地址是:
https://github.com/LCTT/man-pages
为了方便使用,你可以采用 git 客户端将这个项目再同步到你本地的计算机里面。
具体的 Github 操作和客户端的使用,请参考 LCTT 的 TranslateProject 的 Wiki 说明。
本项目的目录结构如下图:
- man 这里存放man手册页面
- man1 .. man8 这里存放各个分区的英文 man 手册页面(有修改,补充了页尾的翻译占位内容)
- zh_CN.UTF-8 这里存放翻译后的中文(UTF-8编码)的 man 手册页面,其下的 man1 .. man8 分别对应英文页面
- po 这里存放翻译用的 po 文件及其 pot 模版
- man1 .. man8 对应man页面的目录。其中默认只有 pot 文件,需要从 pot 文件新建 po 文件。po 文件和 pot 文件存放在同一个目录
打开 poedit,点击如下菜单:
然后,选定一个尚未翻译的 pot 文件:
然后会弹出如下对话:
补充其中的“团队”、“团队的电子邮件地址”和“语言”:
然后确定,并修改保存名称为所要翻译的man手册名称(包括后面的分区号,如: dd.1.po):
这样就打开了 poedit 的翻译界面,可以翻译了:
如果你要校对、补充自己或他人完成的 po 文件,你可以直接使用 poedit 打开 po 文件:
然后从 pot 文件更新,以确保修改的 po 文件是最新的:
选择其对应的 pot 文件:
然后会告诉你新增了多少字符串和废弃了多少个:
这样就可以在这个基础上进行进一步的翻译了。
在翻译一个新的 man 之前,请发一个 issue。
写明你认领了哪个 man 页面,以免和其它人冲突。
新建了 po 文件了,先 PR 一个未进行翻译的 po 文件到项目版本库,这样也可以充分提醒别人你已经开始翻译了。
关于如何使用 poedit 和如何生成翻译后的 man 页面,请参见其它 wiki 页面。