站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress翻译
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; text-align:center; float:right; padding:6px;"><strong>导航:</strong> [[翻译WordPress|上一页]] | {{Template:WordPress导航}}</span> <div style="clear:both;"></div> 翻译WordPress前,请先查看[http://codex.wordpress.org/WordPress_in_Your_Language WordPress in Your Language](及文中所列网站中)中是否已经有了你要翻译的WordPress语言版本。当然也有可能某个人(或者某个团队)已经在将WordPress翻译成你准备翻译的语言版本,但是还没有完成。我们可以订阅 [http://codex.wordpress.org/Mailing_Lists#Polyglots wp-polyglots mailing list][[邮件列表]],介绍自己然后询问是否有人在你和做同样的工作。[http://codex.wordpress.org/L10n:Localization_Teams 这里]还列出了一些为WordPress本地化服务的团队,可以从中查看是否有人和我们进行同样的本地化工作。 ==本地化要求== 如果没有发现自己需要翻译的WordPress语言版本,或者其他人对该版本的翻译还没有完成,这时如果希望将WordPress翻译成自己所用的语言,需要符合以下要求: *精通两门语言——书面英语以及此次翻译的目标语言。如果不够精通,不仅翻译过程会很艰难,翻译后的内容也不容易被使用目标语言的人接受。 *熟悉[[PHP]],因为有时需要通读WordPress代码,找出最恰当的语言来翻译其内容。 *熟悉人类语言的构成:名词、动词、冠词等,以及不同此类的各种形式,能够识别英语中不同词类的变体。 <strong>语种</strong> 一个语种,是相应语言与其区域性方言的综合。通常语种与国家相对应,如葡萄牙语(葡萄牙)和葡萄牙语(巴西)。 我们可以将WordPress翻译成任何语种,甚至包括加拿大英语、澳大利亚英语等其它地区的英语,可以修改WordPress中的内容使之符合加拿大、澳大利亚的拼写习惯和俗语。 WordPress的默认语言是美国英语。 ==本地化技术== WordPress开发人员将[http://www.gnu.org/software/gettext/gettext.html GNU gettext]作为WordPress的本地化架构。Gettext是一个被广泛用于软件模块化翻译的成熟架构,<EM>实际上</EM>也是开源项目/免费软件王国中的本地化标准。 Gettext使用<EM>信息级</EM>翻译技术——即显示给用户的每条“信息”都会被独立翻译,无论是一个段落还是单词。在WordPress中,WordPress PHP文件通过两个PHP函数(__()与_e())生成、翻译并运用这类显示给用户的“信息”。当信息作为参数被传递给其它函数时,会用到函数__();而将信息直接写向页面时,会用到_e()函数。具体请看: __($message) 查找对$message的翻译的本地化模块,并将翻译结果传递给PHP的return语句。如果没有找到对$message的翻译,该函数返回$message。 _e($message) 查找对$message的翻译的本地化模块,并将翻译结果传递给PHP的echo语句。如果没有找到对$message的翻译,该函数回显$message。 注意:本地化一个主题或插件时,应使用“Text Domain”工具。具体信息请分别查看[http://www.wordpress.la/codex-WordPress%E4%B8%BB%E9%A2%98%E5%BC%80%E5%8F%91.html 主题开发]和[http://www.wordpress.la/codex-%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91.html 插件开发]。 Gettext架构在WordPress大部分范围内畅通无阻。但在WordPress中有些地方无法使用gettext——阅读 [http://codex.wordpress.org/Files_For_Direct_Translation Files For Direct Translation]了解如何翻译这些地方的内容。 '''gettext文件''' gettext翻译架构中的文件可分为三种类型。这些文件都是翻译工具在翻译过程中会用到/生成的文件: '''POT(可移植对象模板)文件''' 本地化进程的第一步,就是用一个程序搜索WordPress源代码,找出被传递给__()或_e()的所有信息。被找出的信息列表被存放在已编排格式的模板文件(POT文件)中,该文件构成所有翻译内容的雏形。独立的POT文件也可用于主题/插件,前提条件是主题/插件开发人员将所有内容圈在__()函数或_e()函数中。 '''PO(可移植对象)文件''' 本地化进程的第二步,翻译者将POT文件中所有信息翻译成目标语言,并将英语原文和翻译后的信息保存在同一个PO文件中。 '''MO(机器对象)文件''' 本地化进程最后一个步骤,为PO文件执行一个程序,使其成为一个经过优化的、供机器识别的二元文件(MO文件)。将翻译结果编译成机器可读代码后,用本地化的程序检索翻译内容就更方便迅速了。 ==翻译工具== 翻译时可以根据自己的喜好借助各种翻译工具。 *[https://translations.launchpad.net/ Launchpad] :[Ubuntu]] [[Linux]]系统中有一个网站,用户可以在网站中直接翻译信息而不必查看任何PO文件或POT文件,然后将翻译结果直接导出到MO文件。 <EM>注意:很多翻译者发现Rosetta是一个不错的起点,而一到校对翻译结果阶段,很多人还是会选择手动编辑PO文件,或者使用poEdit、KBabel等程序。这是因为Rosetta UI不具备校正和编辑时必要的查找等功能。</EM> *[http://pootle.locamotion.org/projects/wordpress/ Pootle]:一个基于[[网络]]的开源翻译系统。Pootle的[[服务器]]寄存在Locamotion.org上,服务器上有激活的WordPress翻译版本。 *[http://www.poedit.net/ poEdit] :用于[[Windows]]、Mac OS X与]]UNIX]]/Linux系统的开源程序,提供一个便于使用的GUI以编辑PO并生成MO文件。 *[http://i18n.kde.org/tools/kbabel/ KBabel] :适用于[[Linux]]系统中KED窗口管理器的开源PO编辑程序。 *[http://www.gnu.org/software/gettext/ GNU Gettext] :官方Gettext工具包中包括各种用于创建POT文件、处理PO文件以及生成MO文件的命令行工具。还包括一个命令shell。 ===用Launchpad翻译WordPress=== 独立页面[http://codex.wordpress.org/Translating_WordPress_with_Launchpad instructions for translating WordPress with Launchpad]中有详细说明。 ===用Pootle翻译WordPress=== #在Pootle[[服务器]]上[http://pootle.locamotion.org/register.html 注册一个账号],发送一份邮件给[http://codex.wordpress.org/Special:Emailuser/Leuce 管理员],要求增加我们的目标语言版本的WordPress #开始翻译前,请[http://pootle.locamotion.org/login.html 登录]Pootle。未登录用户有时能够浏览内容、提交意见,但翻译是登录用户的独有权利,不登录无法翻译。 #访问目标语言的WordPress页面。例如Afrikaan语的页面是[http://pootle.locamotion.org/af/wordpress/ pootle.locamotion.org/af/wordpress/](不要忘了结尾斜线)。 #点击“Show Editing Functions(显示编辑功能)” #点击“Quick Translate(快速翻译)”以编辑未翻译的与语义含糊的内容,或点击“Translate All(翻译全部)”以编辑所有内容。 为了能在locamotion.org上翻译WordPress,wordpress.pot文件被分散成多个小逻辑单元,其中包括readme.html文件,还包括一个包含所有内容的文件,用户可将该文件按正常步骤手动添加到PHP文件中。 [http://translate.sourceforge.net/wiki/decathlon/wordpress 这里]和[http://translate.sourceforge.net/wiki/decathlon/wordpress_files 这里]有对WordPress翻译的相关介绍。 将翻译结果整合到wordpress.pot 正常情况下,翻译人员可用Pootle[[服务器]]随时下载自己翻译的软件的PO文件,并将下载的文件提交到自己的翻译项目中。但由于在pootle.locamotion.org上,原始源代码被分散成多个小单元,翻译人员不得不手动整合翻译结果和wordpress.pot文件,之后再将结果提交到WordPress。 #下载官方[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot WordPress POT file] #下载[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress-continents-cities.pot WordPress Continent POT file] (可选操作) #在本地机器上下载并安装 [http://translate.sourceforge.net/wiki/toolkit/installation Translate Toolkit] #从Pootle[[服务器]]上下载经过翻译的或部分翻译的PO文件。可以逐个下载,也可以以ZIP文件形式一次性下载(参见网站上的选项)。一般情况下下载经过翻译的PO文件无需登录Pootle。 #首先将PO文件整合到0翻译记忆中(整合后,之后的操作中只需要处理一个文件),在命令行中执行以下命令:<STRONG>po2tmx -l xx -i pofiles -o xx.tmx</STRONG>,其中xx即你的目标语言代码。以上操作生成一个名为xx.tmx的TMX翻译记忆文件。 #接下来根据翻译记忆文件预翻译WordPress POT文件。可执行以下命令进行预翻译:<STRONG>pot2po --tm=xx.tmx -i wordpress.pot -o wordpress_xx.po</STRONG>。该命令为目标语言生成一个PO文件,文件名为wordpress_xx.po。 #最后,在命令行中使用<STRONG>pocount wordpress_xx.po</STRONG>来计算PO文件的字数/字符数,查看有多少内容已经被翻译,多少内容还没有翻译或意义不明。 如果所有PO文件都被100%翻译了,最终的wordpress_xx.po文件也会被100%翻译。如果PO文件中有字符串没有被翻译,pot2po命令可能会造成wordpress_xx.po文件中的翻译语句含意模糊(这未必是坏事)。 ===用poEdit翻译WordPress=== #下载并安装[http://www.poedit.net/ poEdit] #下载官方[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot WordPress POT file] #在poEdit中打开官方WordPress POT文件 #标注有①的文本框是POT文件中的原始信息(英文)。在标注有②的文本框中添加对①的翻译,在标注有③和④的文本框中添加对该信息的注释。与翻译团队合作时,可以通过这种方式分享自己对PO文件内容的看法。 #在<STRONG>文件</STRONG>——<STRONG>另存为....</STRONG>中将翻译结果保存为PO文件。 #翻译完毕后,再次在<STRONG>文件</STRONG>——<STRONG>另存为....</STRONG>中将翻译结果保存为PO文件。 #也可以点击<STRONG>文件——优先级</STRONG>,然后在<STRONG>编辑框</STRONG>中点击<EM>保存时自动编译.mo文件</EM>。 ===用KBabel翻译WordPress=== <EM>本部分内容不完整。</EM> #下载官方[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot WordPress POT file] #在KBabel中打开文件 ===用Gettext工具翻译WordPress=== #下载官方[http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot WordPress POT file] #在常用的文本编辑器中打开文件 #升级页头信息 #翻译信息 #以.po为扩展名保存文件 #msgfmt -o <EM>filename</EM>.mo <EM>filename</EM>.po <STRONG>PO文件页头信息</STRONG> PO文件的开始部分即页头信息。页头给出了待翻译的软件信息和软件版本号、翻译者名称以及文件创建日期。页头信息中有一部分内容是所有WordPress翻译通用的,无需更改: # LANGUAGE (LOCALE) translation for WordPress. # Copyright (C) YEAR WordPress contributors. # This file is distributed under the same license as the WordPress package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: WordPress VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-02-27 17:11-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" 用相应内容代替其中的大写字母代码。 '''信息格式''' 文件剩余部分的格式为: #: wp-comments-post.php:13 msgid "Sorry, comments are closed for this item." msgstr "" #: wp-comments-post.php:29 msgid "Sorry, you must be logged in to post a comment." msgstr "" #: wp-comments-post.php:35 msgid "Error: please fill the required fields (name, email)." msgstr "" 每段信息的第一行都描述了该信息在WordPress代码中的起始行数。在上面这个例子中,这三段信息的起始行分别是wp-comment-post.php文件的第13、29、35行。有时我们要自己在WordPress代码中查找一些信息,找到所需信息后,记下它们在核心代码中的位置和相应行数。有时在不同位置上会出现相同内容的信息;这种情况下,我们需要分别列出这些信息的所在位置和行数。 信息的第二行,msgid,即源语言信息。这就是WordPress传递给__()函数和_e()函数的字符串,同时也是需要翻译的信息。 信息的最后一行,msgstr,是空白字符,我们将要在这里填入自己的翻译。 下面是以上信息被翻译后的样式,以汉语为例: #: wp-comments-post.php:13 msgid "Sorry, comments are closed for this item." msgstr "对不起,该文章的评论功能已被关闭。" #: wp-comments-post.php:29 msgid "Sorry, you must be logged in to post a comment." msgstr "对不起,请登录后再发表评论。" #: wp-comments-post.php:35 msgid "Error: please fill the required fields (name, email)." msgstr "错误:请填写必要字段(名称、[[电子邮箱]]地址)。" 注意:关于如何在翻译中使用[[HTML]]字符实体,请参考下文的字符编码和HTML字符实体。 ==[[WordPress待翻译信息类型]]== ==相关条目== *[[Drupal]] *[[OBLOG]] *[[X-Space]] *[[SaBlog-X]] *[[Bo-Blog]] [[category:WordPress中文文档|F]] [[category:WordPress开发文档|F]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:WordPress导航
(
查看源代码
)(受保护)