一、文件简介
.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环境。

转载于:https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/09/2131908.html

wordpress语言文件.po.pot.mo简介及汉化相关推荐

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

    一.文件简介  .po文件,.mo文件,.pot文件是由gettext程序生成或者使用的源代码和编译结果. 1..pot文件  是一种模板文件,其实质与.po文件一样,其中包含了从源代码中提取所有的翻 ...

  2. 语言文件.po .pot和.mo简介及gettext工具简介

    一.简介 支持多语言的程序,在编写时,通常源代码中的交互语句首先还是用英文编写,然后才为交互语句添加多语言支持机制.程序在运行过程时,再根据用户环境变量设置,选择合适的语言版本,显示给用户. GNU ...

  3. Recover My Files(文件恢复工具) V5.2.1.1964 汉化绿色特别版

    Recover My Files 乃数据文件恢复软件,可以恢复包括文本文档.图像文件.音乐和视频文件.以及删除的zip文件,可以以扇区的方式扫描硬盘.支持的格式包括:mpeg,pdf,pmd,png, ...

  4. python插件汉化_Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)

    下面通过三种方法给大家介绍Pycharm2020.1安装中文语言插件的方法,大家可以参考下: 方法一(在搜索不到插件): 1.安装好Pycharm并打开Pycharm 2.打开File,找到Setti ...

  5. TreeSize Free 查看文件夹大小 v2.3.3 汉化版

    软件名称: 查看文件夹大小 TreeSize Free 汉化版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win8 / Win7 / Vista / WinXP 软件大小: 1.1MB ...

  6. Android Magazine App Maker Pro(简介及汉化版下载)

    Android Magazine App Maker Pro(汉化版简介) Android Magazine App Maker Pro( Android杂志应用程序生成器)是一个很棒的软件,菜鸟都可 ...

  7. 【世界观】硅谷最重要文件:Netflix126页PPT完全汉化版

    这份PPT在网上被查阅超过了600万次,甚至被Facebook公司的COO桑德伯格称为"硅谷最重要的文件". Netflix是一家美国在线影片租赁商,拥有一千万订户,他们可以通过邮 ...

  8. c语言字符串路径打开本地文件,C语言文件路径中的”/“和“\“

    在不同系统的情况系   windows下是\,linux和unix下是/  但在win中没有本质区别. 但是由于   \   也是转义字符的起始字符,  所以, 路径中的   \   通常需要使用   ...

  9. DevExpress官方汉化文件对界面进行汉化的过程

    使用DevExpress官方汉化文件对界面进行汉化的过程 在较早期的Dev开发中,基本上都是在使用一个DLL包的汉化文件,如基于13.1的汉化包文件Dxper.LocalizationCHS.Win. ...

最新文章

  1. 硬件平台上深度学习自动内核优化
  2. 大量数据转移_大量数据
  3. 360 linux 扩展文件夹,360签具名工Linux下载0907 官方版
  4. csdn 用户 蚂蚁翘大象_用户界面设计师房间里的大象
  5. EasyCriteria已演变为uaiCriteria。 新名称和更多功能
  6. Up or out!!!
  7. 微软高性能计算服务器pdf,微软高性能计算HPCserver2008技术概览.pdf
  8. 中国互联网的第二次“千团大战”已经开始了
  9. 『OpenCV3』Harris角点特征_API调用及python手动实现
  10. 【洛谷】 3264 [JLOI2015] 管道连接
  11. DP1363F国产替代CLRC663_支持NFC双向通信连接APP多协议远距离读写芯片
  12. imindmap思维导图免费下载
  13. 深圳科目三辅城坳【手动挡】笔记
  14. Java二维码生成工具类
  15. 阿里云被攻击的处理方法
  16. 眼见为实:关于微服务熔断这几个知识点,你可能理解错了
  17. 纯css画梯形,纯CSS3实现的梯形立方体
  18. pyinstaller使用多帧ICO图标
  19. Believable Dead Reckoning for Networked Games (为联网游戏而设计的可信的导航预测)
  20. php换肤,react实现换肤功能

热门文章

  1. 服务端 I/O 性能大比拼:Node、PHP、Java、Go哪家强?
  2. Java 8系列之Lambda表达式
  3. 多线程:为什么wait()需要放在循环中?
  4. 数据库的事务隔离技术 之 MVCC
  5. 【Python】青少年蓝桥杯_每日一题_8.11_画二叉树
  6. 【Linux - mysql】linux下mysql报Failed to restart mysqld.service: Unit not found
  7. dos的echo on与echo off命令用法实例讲解
  8. ddnspod php 脚本_使用DNSPOD的域名解析实现DDNS域名动态的脚本
  9. 数据中心余热回收再思考
  10. 你了解机房保温棉的使用和作用吗?