Skip to content
Xingyu.Wang edited this page Oct 24, 2013 · 11 revisions
  1. 环境需求 ====== 使用Linux环境或Mac环境,用于测试和生成翻译后的man。目前阶段,要求所有译者都能够自行测试和修改自己译文,所以必须具备该环境。

理论上,windows环境中,也可以做相应的部署来达成以上目的,但是不但繁琐,而是有可能有种种不一致处,因此不建议。

  1. 部署环境 ====== 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 来合并生成译文即可。

2.2. poedit

po4a 会生成 po 文件,这是一个 I18N 标准的用于多语言的国际化/本地化的文件格式。po 文件是一个文本格式的文件,你可以使用任何你喜欢的文本编辑器来编辑,不过如果使用类似 poedit 这样的专业 po 编辑器,会更加方便:

  • 便于区分已译、未译和模糊的片段
  • 可以自动推测相近的译文
  • 可以从 pot (po文件模版)中更新,很方便的增加新的字符串和删除过期的字符串
  • 可以自动生成 mo (po 文件的编译结果,可以直接用于支持 po 多语言化的程序。不过本项目中并不需要编译成 mo。)

poedit 可以从 http://www.poedit.net/ 下载安装,支持各种操作系统。

###poedit 的配置

poedit 的配置很简单,设置首选项中的姓名和邮件地址,建议采用 github 中的用户名和邮件地址(或永久邮件地址),该信息将来会记录到 po 文件中。

poedit-setting-1

其它选项基本上不需要修改。

  1. 开始翻译 ====== 3.1. 建立本地的版本库

本项目依然采用 Fork+PR 的模式进行,请先在你的 Github 账户下 Fork 本项目。项目地址是:

https://github.com/LCTT/man-pages 

为了方便使用,你可以采用 git 客户端将这个项目再同步到你本地的计算机里面。

具体的 Github 操作和客户端的使用,请参考 LCTTTranslateProjectWiki 说明。

3.2. 项目目录结构说明

本项目的目录结构如下图:

  • 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 文件存放在同一个目录

3.3. 新建 po 文件

打开 poedit,点击如下菜单:

然后,选定一个尚未翻译的 pot 文件:

然后会弹出如下对话:

补充其中的“团队”、“团队的电子邮件地址”和“语言”:

然后确定,并修改保存名称为所要翻译的man手册名称(包括后面的分区号,如: dd.1.po):

这样就打开了 poedit 的翻译界面,可以翻译了:

3.4. 修改 po 文件

如果你要校对、补充自己或他人完成的 po 文件,你可以直接使用 poedit 打开 po 文件:

然后从 pot 文件更新,以确保修改的 po 文件是最新的:

选择其对应的 pot 文件:

然后会告诉你新增了多少字符串和废弃了多少个:

这样就可以在这个基础上进行进一步的翻译了。

3.5. 宣告翻译

在翻译一个新的 man 之前,请发一个 issue

写明你认领了哪个 man 页面,以免和其它人冲突。

新建了 po 文件了,先 PR 一个未进行翻译的 po 文件到项目版本库,这样也可以充分提醒别人你已经开始翻译了。

关于如何使用 poedit 和如何生成翻译后的 man 页面,请参见其它 wiki 页面。