一些译者想要知道如何把他们在Transifex上翻译好的条目立即应用到当前系统,而不是等到每个星期更新系统才可以看到这些翻译成果。我们现在提供一个简便的方法,以帮助译者能够即时看到与验证刚刚翻译好的条目。

我们会使用一个叫msgfmt的工具,用来将.po文件生成为.mo文件。我们以桌面时钟挂件的罗马尼亚语翻译为例。因为这里只有一个字符串需要翻译,即Change Appearance (更改外观),我们可以很容易地看到将翻译的条目应用到系统前后的区别。

在继续之前,我们要确认一下系统的语言环境为罗马尼亚语。(如果系统语言环境为其他语言,你需要编辑/etc/default/locale文件修改全局语言变量。注意:如果修改此文件不生效,这说明你此前一定使用过Launcher菜单中的语言支持工具。您可以再次使用该工具修改你的系统语言环境。)

$ locale
LANG=ro_RO.UTF-8
LANGUAGE=ro:zh_CN:en
LC_CTYPE="ro_RO.UTF-8"
LC_NUMERIC=ro_RO.UTF-8
LC_TIME=ro_RO.UTF-8
LC_COLLATE="ro_RO.UTF-8"
LC_MONETARY=ro_RO.UTF-8
LC_MESSAGES="ro_RO.UTF-8"
LC_PAPER=ro_RO.UTF-8
LC_NAME=ro_RO.UTF-8
LC_ADDRESS=ro_RO.UTF-8
LC_TELEPHONE=ro_RO.UTF-8
LC_MEASUREMENT=ro_RO.UTF-8
LC_IDENTIFICATION=ro_RO.UTF-8
LC_ALL=

我们可以看到桌面上包括时钟挂件在内的好多东西都是其他语言。(这里回滚为汉语,因为好多地方尚未翻译成罗马尼亚语)。

before-applying-translation

1. 从Transifex下载我们正在翻译或已翻译好的.po文件。
(如果你知道如何做,请直接阅读下一步。)
进入桌面时钟挂件的项目信息页面。

enter-the-project-details-page-on-transifex

在项目信息页面,点击罗马尼亚语,从新打开的页面下载.po文件。

download-the-po-file-for-the-romanian-language

这样,我们就得到了名为for_use_clock-desktop-plugin_clockpot_ro.po的文件。

2. 生成.mo文件。
我们可以用msgfmt命令来生成.mo文件。只需一条简单的命令:
$ msgfmt for_use_clock-desktop-plugin_clockpot_ro.po -o clock.mo

3. 替换.mo文件。
到了有趣的部分了,这时我们就要使用生成的.mo文件来替换我们正在系统中使用的.mo文件。首先,我们需要知道桌面挂件的.mo文件的位置:
$ dpkg -L deepin-desktop-environment-plugins-clock | grep ro.*mo

/user/share/dde/resources/desktop/plugins/clock/locale/mo/ro/LC_MESSAGES/clock.mo
备份原.mo文件并将之替换:
$ pushd /user/share/dde/resources/desktop/plugins/clock/locale/mo/ro/LC_MESSAGES
$ sudo cp clock.mo clock.mo.backup
$ sudo cp ~/clock.mo .
$ popd

注销后再登录当前账户,我们可以看到桌面挂件的罗马尼亚语翻译已经成功应用。

after-applying-translation

2 Comments

发表评论