开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

wordpress语言文件.po.pot.mo简介及汉化

简介:
+关注继续查看

一、文件简介
.po文件,.mo文件,.pot文件是由gettext程序生成或者使用的源代码和编译结果。其中,
1、.pot文件
是一种模板文件,其实质与.po文件一样,其中包含了从源代码中提取所有的翻译字符串的列表,主要提供给翻译人员使用。
2、.po文件
(1)用程序msginit来分析pot文件,生成各语言对应的po文件,比如中文就是zh_CN.po,法语就是fr.po文件。
(2)PO是Portable Object(可移植对象)的缩写形式,它是面向翻译人员的、提取于源代码的一种资源文件。
(3).po文件可以用任何编辑器如poEdit,vi,Emacs,editplus打开,交给翻译人员来将其中的文字翻译成本国语言。
3、.mo文件
(1)用msgfmt将.po文件编译成mo文件,这是一个二进制文件,不能直接编辑。
(2)MO是Machine Object(机器对象)的缩写形式,它是面向计算机的、由.po文件通过GNU gettext工具包编译而成的二进制文件,应用程序通过读取.mo文件使自身的界面转换成用户使用的语言,如简体中文。
(3)可以用工具如msgunfmt命令将.mo文件反编译为.po文件。
不止 WordPress ,包括很多桌面应用程序都是是依靠 po 文件或 mo 文件来实现多语言版本。一般情况下,我们在汉化软件的时候会碰上如下几种情况:
二、几种情形
1、如果程序本身提供了.po文件,直接使用poEdit汉化,并自动生成.mo文件。
2、如果程序提供了.pot文件,复制一份并更改后缀名为.po,再使用poEdit汉化,最后生成.mo文件。
3、程序既没有提供.po文件,也没有提供.pot文件,只提供了.mo文件,那么有以下步骤:
(1)使用poEdit安装程序bin文件夹中的msgunfmt程序将.mo文件转换成.po文件,命令类似如下:msgunfmt

d:\demo.mo -o d:\demo.po

注: 在命令提示符界面,使用 msgfmt demo.po 命令将po文件编译为可用的 demo.mo 文件,用 msgunfmt demo.mo 命令转回 demo.po 文件,这些命令在 poEdit 的安裝目录下有,可以拷贝msgunfmt.exe 、msgfmt.exe 及相关链接库文件 gettextlib.dll 、gettextsrc.dll 、iconv.dll 、intl.dll 到 c:/windows/system32 目录下使用。
(2)使用poedit汉化,然后生成.mo文件。
三、参考资料
1、在Windows系统搭建Linux软件汉化平台
2、Wordpress语言文件介绍:po文件,mo文件,pot文件
3、如何汉化 po 文件及编译成 mo 文件
如何汉化 po 文件及编译成 mo 文件
本文介绍如何 汉化、翻译 po 文件 及 编译、转换成 mo 文件
我们在使用 WordPress 及其插件时,经常可以找到汉化的版本,一般是通过一个汉化过(翻译过)的 mo 文件来实现( WordPress 仅可识别 mo 文件),实际上不单 WordPress ,包括很多桌面应用程序都是是依靠 po 文件或 mo 文件来实现多语言版本。如果原作者提供了一个 po 文件或 mo 文件,那么我们就可以通过相关工具来自行汉化,或者翻译成其他语言版本。因为 mo 文件不能直接编辑,所以我们得编辑 po 文件,若仅有 mo 文件,那么就应该先把它转换成 po 文件后再进行编辑翻译。
至于编辑工具,由于 po 文件本身就是一个文本文件,所以任何文本编辑器都可以使用。除了专门编辑 po 文件的 poEdit ,还推荐使用 poEdit 、EditPlus、UltraEdit或者你喜欢的 vi 或 vim。
我们来看一个 po 文件,这是 yskin 制作的 WordPress 2.11 中文版 po 文件 中的一部分
msgid “”
msgstr “”
“Project-Id-Version: WordPress 2.1-1.0\n”
“PO-Revision-Date: 2007-02-22 12:35+0800\n”
“Last-Translator: yskin \n”
“MIME-Version: 1.0\n”
“Content-Type: text/plain; charset=utf-8\n”
“Content-Transfer-Encoding: 8bit\n”
“X-Poedit-Basepath: d:/wordpress\n”
“X-Poedit-Language: Simplified Chinese\n”
“X-Poedit-Country: China\n”
“X-Poedit-SourceCharset: utf-8\n”
“X-Poedit-KeywordsList: _e;__;__ngettext:1,2\n”
“Language-Team: \n”
“POT-Creation-Date: \n”
“Plural-Forms: nplurals=1; plural=0;\n”
“X-Poedit-SearchPath-0: .\n”

# 第一条要翻译的字符串。
#: wp-comments-post.php:15
msgid “Sorry, comments are closed for this item.”
msgstr “对不起,这篇文章禁止评论。”

上面是这个 po 文件的最初部分,各行意思一目了然,注意编码尽可能采用UTF-8。

# 第一条要翻译的字符串。
#: wp-comments-post.php:15
msgid “Sorry, comments are closed for this item.”
msgstr “对不起,这篇文章禁止评论。”

这 段就是po文件的主体结构了,每一个翻译项占一段。#: wp-comments-post.php:15 说明字符串相应的位置; msgid “Sorry, comments are closed for this item.” 翻译前的原文; msgstr “对不起,这篇文章禁止评论。” 翻译后的字符串。以此类推,即可完成所有资源的翻译。非常简单。
那么如何将 po 文件编译成(转换) mo 文件呢?

如果你使用的是 poEdit ,按 Ctrl + s 保存就会自动生成相应的 po 文件和 mo 文件;
或者在命令提示符界面,使用 msgfmt demo.po 命令将po文件编译为可用的 demo.mo 文件,用 msgunfmt demo.mo 命令转回 demo.po 文件,这些命令在 poEdit 的安裝目录下有,可以拷贝msgunfmt.exe 、msgfmt.exe 及相关链接库文件 gettextlib.dll 、gettextsrc.dll 、iconv.dll 、intl.dll 到 c:/windows/system32 目录下,或者安装 .Net 2.0环境。
另外推荐一款 GUI 界面的转化程序 po2mo.exe ,作者的说明:该程序是调用 msgfmt.exe 和 msgunfmt.exe 文件,从而进行po 、mo 文件互转。文件是用C#写的,需要.Net 2.0环境。










本文转自 h2appy  51CTO博客,原文链接:http://blog.51cto.com/h2appy/687707,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
WordPress代码最新网站漏洞修复探讨
2020年,刚刚开始WordPress博客系统被网站安全检测出有插件绕过漏洞,该插件的开发公司,已升级了该插件并发布1.7版本,对以前爆出的漏洞进行了修补,该企业网站漏洞造成的原因是未经许可身份认证的普通用户给以了系统管理员权限。黑客能够以网站管理员的身份进行登陆,并可以将wp企业网站的全部数据表信息恢复为以前的模式,进而上传webshell企业网站木马代码来进行篡改企业网站。现阶段受危害的版本包含最新的WP系统。
76 0
Qt Creator IDE和MSVC 2015编译器组合使用(不想完整安装VS2015)
Qt Creator IDE和MSVC 2015编译器组合使用(不想完整安装VS2015)
188 0
wordpress网站要多大的宽带?
没有一个确定的标准答案的,一般最低1M也可以的,有预算或者是要求高的话或者是企业用户的话,我们推荐最低5-10M带宽比较好一些的。
320 0
OSS WordPress插件(Aliyun OSS For WordPress)
WordPress是一个注重美学、易用性和网络标准的个人信息发布平台,广泛应用于网络信息发布平台的搭建,特别是个性化的博客。本文介绍了OSS的WordPress插件Aliyun OSS For WordPress。
13168 0
将WordPress安装在网站子目录的相关问题
不论我们打算将WordPress博客作为网站的子域名(wordpress.example.com)、子目录(example.com/wordpress),还是作为网站的主域名(yourdomain.com)使用,都建议将WordPress安装在子目录而不是网站的根目录中,这主要是为了方便网站维护。
2480 0
wordpress nivo 幻灯插件 汉化修正版
微盘下载地址: http://vdisk.weibo.com/s/rMWTt 如果您觉得此插件有用,您可以进行捐赠,以支持开发更多更好的插件
614 0
Wordpress在Win-iis中的完美rewrite实现方法
要说Wordpress中的完美工作环境,当然要属于Lamp平台,或是稍微逊色一点的Wamp平台;但是由于某此特殊原因,我们没有选择它们,而是选择了Windows+iis+MySql+Php,我把它统称为:Wimp平台。
1004 0
+关注
20376
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载