很好的一篇关于使用PoEdit翻译PO文件的教程。
原文链接:
http://minibird.com/blog/149
使用wordpress及其众多的主题或插件时,如果需要汉化,我们就会用到PO文件和MO文件。其中PO文件是一个翻译列表,可以编辑,MO文件由PO文件按生成,供程序读取。
这是Wordpress利用GNU Gettext 工程的成果来实现软件的国际化和本地化的一种方法。 编写程序时如何使用这个机制,我没有认真研究;怎么从程序中自动提取PO文件,我试了试也没成功(写此文时搜到了老所的一篇文章,应该有帮助,有时间研究 研究)。这里只记录我用PoEdit过程中遇到的一些值得记录的问题。
PoEdit 是翻译PO文件的工具软件,跨平台,我用的是win32下的1.4.2简体中文版本。
一、从POT更新PO
文件
如果你翻译完成一个PO文件后,使用此PO文件的程序升级了,此时新的程序中可能包含了原来PO文件中没有的词汇条目,也可能以前的词汇条目在新程序中不再使用了,怎么更新呢?
一种方法是自己从新程序中提取PO文件,另一种方法是使用POT文件自动更新。
一般程序作者提供了POT文件(有的是PO为后缀名,需要手动修改为POT后缀名),它包含了最新的词汇条目供你更新使用。微软Office PowerPoint的模板文件后缀名也是POT,注意别搞错了。
在PoEdit菜单栏中,选择“条目》从POT文件更新……”,选择最新的POT文件就可以了更新了。
二、利用TM(翻译词库)
比如我翻译Wordpress的一个插件的PO文件,由于专业术语一般都相关或相同,因此这个PO文件中有很多词汇可能已经被翻译过了,比如在wordpress 自身或者其他插件或主题的zh_CN.po文件中。
利用PoEdit的TM(Translation Memory)功能,可以利用前辈的翻译成果而不用从头开始。
先搜集一些与你要翻译的程序相关的已经翻译好的MO文件,TM利用的是MO而不是PO。
首先在PoEdit中创建翻译词库。
-
在PoEdit 菜单栏中,选择“文件》首选”,打开“首选”对话框,选择“翻译词库”面板,如下图所示。
翻译词库设置
-
点击“添加”按钮,添加语言“zh(Chinese)”后,如上图所示,“我的语言”中出现了“zh”。
-
“到DB的路径”可以保持默认,这是PoEdit创建的翻译词库的保存位置,如果有必要可以备份它。
-
点击“产生数据库”按钮,打开“更新翻译词库”的对话框,如下图所示。
更新翻译词库
-
在此对话框中,点击“添加文件”按钮,选择你搜集的MO文件存放的位置,PoEdit会自动搜索MO文件并列出,点击“下一个”按钮,将会生成翻译词库。
到此,翻译词库就创建好了,以后你还可以通过这种方式更新补充翻译词库。
如何使用翻译词库,很简单。
打开一个需要翻译的PO文件,然后在PoEdit菜单栏中选择“类目》使用TM自动翻译”,PoEdit就会自动从翻译词库中提取精确匹配或模糊匹配的翻译。
模糊匹配的翻译一般是粗体显示,可以用“CTRL+U”确定,也可以用鼠标右键选择恰当的翻译。
我主要参考了PoEdit的英文帮助文件,如果你还有什么不明白的,可以直接看帮助。
三、单数和复数的问题
此问题主要参考了开源软件的简体中文化计划的工作流程之第七节注意事项之(10)单复数问题。 有的语言有单复数,有的没有,如中文,gettext 技术通过 PO 文件头部如下信息来显示不同单复数的译文:
View Code C
1
|
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;
\n
"
|
INTEGER 表示单复数变化形式的数量,其值是一个正整数。中、日、韩文里没有单复数区分,也就是说单复数变化形式只有一种, 所以 nplurals=1,英文单复数有两种表现形式,所以 nplurals=2; EXPRESSION 表示对第几种单复数变化取相应的第几种译文,其值是一个标准的 C 语言表达式。如果有四种单复数变化,这个 表达式的值将包括 0、1、2、3,分别对应于译文 msgstr[0]、msgstr[1]、msgstr[2]、msgstr[3]。所以,有时这个表达式相当复杂。在汉语里,只需 plural=0,译文只要保留 msgstr[0] 即可。
因此对于中文来说,正确的设置为:
View Code C
1
|
"Plural-Forms: nplurals=1; plural=0;
\n
"
|
在PoEdit中,按照下图设置就行了。
复数形式设置
在PO文件中,复数的词汇条目一般是如下格式。
View Code C
1
2
3
4
5
6
7
8
9
10
|
#: ../admin/admin.php:31
#: ../admin/admin.php:204
#: ../admin/admin.php:272
#: ../admin/functions.php:82
#: ../admin/functions.php:145
#: ../admin/manage-images.php:151
#: ../admin/manage.php:78
msgid
"Gallery"
msgid_plural
"Galleries"
msgstr
[
0
]
"图集"
|
如果不设置,如果PO文件中存在包含单复数的词汇条目,则可能会碰到如下错误。
复数导致的错误
如果设置正确的话,那么在PoEdit中如果遇到有单、复数形式的词汇,其翻译界面就是下图所示的样子。
单、复数翻译界面
你只需要将单、复数的词汇条目翻译成一个就行了。
四、使用快捷键
翻译是个体力活儿,使用快捷键绝对可以提高效率。
-
使用“ALT+U”,可以确认模糊的翻译。
-
使用“ALT+C”,可以将需翻译的条目拷贝到翻译栏中。
-
使用“CTRL+F”,可以查找匹配的文字。
五、使用查找功能
要善于使用查找功能,也能提高效率。
可以直接在程序界面中拷贝需要翻译的文字,然后在PoEdit中查找相关文字。
PO文件中的词汇条目是按照先按照程序源文件,其次是源文件中的位置排序的。如果某个词汇不知道在哪儿,一般情况下与其前后的词汇是在同一个文件中,也就可能在同一个界面中。
一般情况下,选择“在原文中查找”和“在译文中查找”就行了。
查找字符串
六、通过参考查看程序文件
翻译某些词汇时,由于脱离了语义环境,可能不知道如何翻译。
除了直接在界面中查看相关词汇外,还可以查看词汇所在的源程序文件。
好了,就这些,希望有帮助。
您还可以提供可选参数:
$
po
translator -p < InputFile> -l < OutputLanguage>
<InputFile>是
Po
Translator将转换的.
po
/ .
po
t
文件
的路径
<OutputLanguage>是您要将
文件
翻译
成的目标语言的ISO代码(有关可用语言,请参见上面的链接)。
Po
Translator自动检测输入语言,如果不能,该工
使用
软件
po
edit
翻译
.
po
文件
。软件下载http://www.
po
edit
.net/download.php?utm_expid=426182-2&utm_referrer=http%3A%2F%2Fwww.
po
edit
.net%2Fdownload.php
安装完
po
edit
,执行从
文件
菜单“
文件
-->打开”来
翻译
需要
翻译
的.
po
文件
翻译
成中文时,选择语言“chinese”(中文代码为
什么是
PO
文件
?
PO
是
Po
rtable Object (可移植对象)的缩写形式;MO 是 Machine Object (机器对象) 的缩写形式。 是Linux系统中软件本地化常用
文件
格式,也是WordPress的本地化
文件
格式,用途比较广泛。
PO
是文本格式的
文件
,源自GNU的gettext()
https://www.gnu.org/software/gettext/ 通过编译生产MO文...
上次提到,odoo15 新功能的确不少,一试我就喜欢上了,现在在日夜的研究其原代码及功能,真的越看越发现自己太喜欢Odoo了,她真的值得我们研究学习
使用
。
使用
过程中,
翻译
离不了,有好多没
翻译
过来,中文夹着英文的确让人不爽,但一个一个的去
翻译
,也不是咱的强项,今天一急,自己写了一个自动
翻译
器,使着还不错,把一个
po
分成两个,一个是已
翻译
好的 原封不动,没译的,利用网上自动
翻译
API初步
翻译
一下,再自已手动校一下,合并,OK!!
From: http://www.minilinux.net/node/27
这个程序
使用
google translate来辅助
翻译
po
文件
。需要注意的是,现在机器的
翻译
水平并不高,人工智能还有很长很长的路要走。这个程序的主要作用是节省一部分英语不是那么好的网友查字典的时间,而指望它
翻译
出来的句子能直接被读懂是不现实的。 这个程序的
使用
方法很简单,它只有一个参数,就是需要
翻译
的
po
文件
名称...
GNUGettext is ridiculously easy to use and works wonders; however,there is little documentation on how to use it beyond the rather verboseGNU gettext manual. I outline here a
simple tasklist forinte
PO
Auto-Translate1.0.4558老朽痴拙汉化版(
PO
自动
翻译
器)
是一款免费的资源
翻译
工具,读取现有的
PO
/
po
t
文件
,
并可自动把选中的项目
使用
PO
/
po
t设置指定的语言
通过GoogleTranslateAPI.dll得出
翻译
或反向
翻译
结果,
也可手动
翻译
结果...
能与Windows XP以上(32位或64位)兼容.在x64计算机上以一个64位进程运行。
注意:自动
翻译
的语言选择由
po
/
po
t在
文件
中设置确定。
该设置不能通过本(
PO
自动
翻译
器)来更改,
所以
使用
PO
编辑器才能对
文件
进行本地整体语言设置.
PO
Auto- Translator reads an existing
po
/
po
t file and automatically
translates the checked items using the language setting specified in
the
po
/
po
t via MyMemory Translated.net. Results are listed in the
'Translation' column. A 'check translation' is also performed. If the
reverse translation matches the original string the 'Reverse
Translation' column in
PO
Auto-Translator is blanked out as an
indicator that the translation/reverse translation match. If the
reverse translation does not match the original the 'Reverse
Translation' column lists the results.
PO
Auto-Translator is compatible with Windows XP and above (32-bit
or 64-bit). On a x64 computer it runs as a 64-bit process.
将您的
PO
文件
转换为csv
文件
node index.js untranslated_XX.
po
> untranslated_XX.csv
将untranslated_XX.csv上传到Google表格
使用
公式
=GOOGLETRANSLATE(A2;"en";"ar")
使用
以下命令将
翻译
后的列转
po
4a 项目致力于软件文档
翻译
框架,它可以将多种格式(man page, xml, docbook, xhtml, wml, tex, texinfo, latex, asciidoc, dia, guide, kernelhelp,
po
d, ini 等)转换为
PO
文件
进行
翻译
,待
翻译
完成再将
PO
文件
转换为原来的格式。目前,
po
4a 的最新版本是 0.44,其开发还在活跃的进行之中。G
国际化中的
翻译
工具
po
edit
Po
Edit
是一款.
po
文件
编辑器,
PO
即
Po
rtable Object,可跨平台对象的意思,
Po
Edit
常用来汉化各种程序,它内置于wxWidgets工具中,可以在所有它支持的平台上运行
例:
使用
po
edit
翻译
wordpress .
po
文件
汉化英文模板。。。
这是最常见的情况了。由于程序升级,导致相应的
po
文件
发生改变。作者将最新的
po
上传给了TP。默认情况下,如果该软件以前曾经分派给你
翻译
的话,那你将会是新
po
文件
的指定
翻译
者,不必再去申请了。 方法也简单。只要将新版本的
po
t
文件
跟原来
翻译
好的
po
文件
放在同一个目录下。然后运行 msgmerge -U old.
po
new.
po
t就行了。合并过的
文件
将以 old.
po