欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Poedit Pro汉化软件使用教程

程序员文章站 2022-06-29 11:58:46
Poedit Pro汉化软件使用教程...

poedit pro(旧称poedit)是一个免费(专业版收费)、开源及跨平台的gettext类(.po 格式,应用程式里采用了gettext来作程式的国际化)国际化翻译编辑器,也是同类型软件中最广泛使用的一个。现时它不论在 unix+gtk 或 windows平台 配合 wxwidgets 均有相关版本,并以mit许可证释出。
poedit常用来汉化各种程序,它内置于wxwidgets工具中,可以在所有它支持的平台上运行,如unix下的gtk+以及windows。poedit提供更方便的办法编辑目录,而不用通过启动vi文本编辑器,手动编辑。

从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中创建翻译词库。

  1、在poedit 菜单栏中,选择“文件》首选”,打开“首选”对话框,选择“翻译词库”面板,如下图所示。
  2、点击“添加”按钮,添加语言“zh(chinese)”后,如上图所示,“我的语言”中出现了“zh”。
  3、“到db的路径”可以保持默认,这是poedit创建的翻译词库的保存位置,如果有必要可以备份它。
  4、点击“产生数据库”按钮,打开“更新翻译词库”的对话框,如下图所示。
  5、在此对话框中,点击“添加文件”按钮,选择你搜集的mo文件存放的位置,poedit会自动搜索mo文件并列出,点击“下一个”按钮,将会生成翻译词库。到此,翻译词库就创建好了,以后你还可以通过这种方式更新补充翻译词库。

如何使用翻译词库,很简单。

  打开一个需要翻译的po文件,然后在poedit菜单栏中选择“类目》使用tm自动翻译”,poedit就会自动从翻译词库中提取精确匹配或模糊匹配的翻译。模糊匹配的翻译一般是粗体显示,可以用“ctrl+u”确定,也可以用鼠标右键选择恰当的翻译。

单数和复数的问题

  integer 表示单复数变化形式的数量,其值是一个正整数。中、日、韩文里没有单复数区分,也就是说单复数变化形式只有一种, 所以 nplurals=1,英文单复数有两种表现形式,所以 nplurals=2; expression 表示对第几种单复数变化取相应的第几种译文,其值是一个标准的 c 语言表达式。如果有四种单复数变化,这个 表达式的值将包括 0、1、2、3,分别对应于译文 msgstr[0]、msgstr[1]、msgstr[2]、msgstr[3]。所以,有时这个表达式相当复杂。 在汉语里,只需 plural=0,译文只要保留 msgstr[0] 即可。

使用快捷键

  翻译是个体力活儿,使用快捷键绝对可以提高效率。
  (1)使用“alt+u”,可以确认模糊的翻译。
  (2)使用“alt+c”,可以将需翻译的条目拷贝到翻译栏中。
  (3)使用“ctrl+f”,可以查找匹配的文字。

使用查找功能

  要善于使用查找功能,也能提高效率。可以直接在程序界面中拷贝需要翻译的文字,然后在poedit中查找相关文字。po文件中的词汇条目是按照先按照程序源文件,其次是源文件中的位置排序的。如果某个词汇不知道在哪儿,一般情况下与其前后的词汇是在同一个文件中,也就可能在同一个界面中。
  一般情况下,选择“在原文中查找”和“在译文中查找”就行了。

查看程序文件

  翻译某些词汇时,由于脱离了语义环境,可能不知道如何翻译。除了直接在界面中查看相关词汇外,还可以查看词汇所在的源程序文件。

使用poedit汉化wordpress主题和插件

众所周知,wordpress是国际互联网上非常流行的一个开源博客/cms程序。许多来自不同国家的网站主都在使用wordpress,因此wordpress也提供了强大的国际化功能以支持各种不同的语言和文字。不过很多时候,wordpress官方自身的本地化翻译并不能尽如人意,一些开发者为wordpress开发的主题和插件在国际化方面也并不完善。在中国,我们使用的很多wordpress主题和插件都是国外的开发人员开发的,这些主题和插件大多都没有实现汉化或者不够完善,这个时候就需要我们自己来完成最后的汉化工作。

wordpress采用gnu gettext来实现国际化。作为使用者,我们不必深究其底层实现,只需要知道在wordpress中如何实现国际化即可。

在wordpress中,一般使用函数__()和_e()来标识需要翻译的地方。以汉化英文主题为例,我们如果想要将英文「hello」翻译并显示为中文「你好」,我们只需要在对应显示的地方编写如下代码即可:

函数__($text, $domain)_e($text, $domain)都是wordpress的国际化翻译函数,不过前者__()是返回翻译后的字符串,后者_e()则是直接输出(echo)翻译后的内容。 一般情况下,主题的名称会在主题的简介说明中指出,并且主题的文件夹名称即是主题名称。此外,你还可以查看当前主题文件夹下的functions.php文件,其中大多都会包含如下语句:

load_theme_textdomain( 'codex', get_template_directory() . '/languages' );

其中,codex即是当前主题的名称,后面的get_template_directory().'/languages'指定主题的翻译字典文件存放目录。get_template_directory()表示获取当前主题或插件的根目录,因此上面的代码指的就是主题或插件目录下的languages文件夹。

除此之外,我们还需要编写对应的翻译字典文件,否则wordpress怎么知道要将「hello」翻译成什么样的中文呢。翻译字典文件中记录的其实是一对对翻译前与翻译后的文字映射,wordpress中的翻译字典文件后缀为.po。.po文件是翻译字典的源文件,我们还要使用工具将其编译成供正式运行使用的.mo文件。翻译字典的文件名称一般都根据本地化语言命名(或以其为后缀)。例如:简体中文的翻译字典文件为zh_cn.po、zh_cn.mo;繁体中文(*地区)的翻译字典为zh_tw.po、zh_tw.mo;英文(美国)的翻译字典为en_us.po、en_us.mo……这样wordpress就能够根据当前用户的国家语言将网站内容显示为对应的中文简体、繁体或其他语言文字。

Poedit Pro汉化软件使用教程

想要方便快捷地制作翻译字典文件,我们就需要用到poedit了。poedit是一款开源、免费、跨平台的gettext类(.po文件)国际化翻译编辑器,也是同类型软件中使用最广泛的一个。

首先,我们需要下载并安装poedit,poedit的官网下载地址是。poedit的安装非常简单,也没有什么需要特别注意的,在此就不再赘述。

接着,我们打开安装好的poedit,点击菜单【文件】——【新建编目】。

Poedit Pro汉化软件使用教程

此时将会弹出如下的编目属性窗口,根据自身实际情况填写对应的表单内容(大部分内容可以留空)

Poedit Pro汉化软件使用教程

值得注意的是,表单「复数形式」默认可以不填写,但是如果需要翻译的文字中有复数形式的话,可能导致程序出错。因此建议将复数形式填写为:

nplurals=2; plural=(n != 1);

接着,切换到编目属性的源路径选项卡,如下图所示:

Poedit Pro汉化软件使用教程

在基础路径文本框中,一般填入「.」即可,表示当前目录及其子目录。不过有些时候,由于路径问题,poedit可能无法正确找到指定的目录,这个时候就需要为poedit手动指定需要提取翻译内容的目录。例如,这里我想要将主题epublishing进行汉化,就手动输入epublishing主题的本地路径d:\php\codeplayer\wp-content\themes\epublishing(路径只需要输入编辑时的本地路径即可,即使上传到服务器后路径发生改变也不会产生影响。)

最后,切换到编目属性的「源关键字」选项卡,如下图所示:

Poedit Pro汉化软件使用教程

这里的关键字就填写我们在wordpress中用于国际化翻译的函数___e。 这样,poedit就会自动在我们指定路径下(例如上面的epublishing)的所有文件中查找函数___e包含的文字,并在左侧列出。

Poedit Pro汉化软件使用教程

这个时候,我们要做的就是根据左侧列出的源文本内容,逐行输入翻译后的结果。翻译完毕后点击菜单栏的【保存】按钮,我们就成功制作出了可以汉化wordpress指定主题或插件的zh_cn.po和zh_cn.mo文件。将这两个文件放入对应主题或插件的语言目录,我们的主题或插件的汉化工作就完成了。

以前面的__('hello', 'codex')为例,如果wordpress找不到任何对应的翻译,那么wordpress将直接输出待翻译的内容(即「hello」)。

相关标签: PoEdit Pro