转载自:http://www.hackbase.com/tech/2012-02-27/65972.html

编辑生成.mo文件
  我们在弄网站的时候很可能会接触到.mo和.po文件。.po文件是GNU gettext项目的一套应用规范,“po”是: Portable Object(可跨平台对象)的缩写。.mo文件是二进制格式文件,通常我们要更改网站语言,需要对该文件进行反编译,得到.po文件,然后用相应的程序 打开.po文件进行编辑后再行打包成.mo文件。
  WordPress的世界里, 我们经常可以看到很多汉化的主题,其一般是通过一个汉化过的 .mo 文件来实现( WordPress 仅可识别 .mo 文件),实际上不单 WordPress ,包括很多桌面应用程序都是是依靠 .po 文件或 .mo 文件来实现多语言版本。如果原作者提供了一个 .po 文件或 .mo 文件,那么我们就可以通过相关工具来自行汉化,或者翻译成其他语言版本。
  在Windows里面,很多人用PoEdit软件来编辑.po文件,然后再保存为.mo文件(PoEdit下载:)。事实上,有软件可以直接编辑.mo文件。下面主要说说在Linux下,我们修改.mo文件的多种方法:
一、直接修改.mo文件
  事实上,在Linux世界里有软件可以直接打开.mo文件以供编辑,这款软件叫——Virtaal,它是一款图形化的翻译工具。可以直接从源里安装该软件:
1: yum install virtaal -y

  也可以去下载其它平台下的该软件(包括Windows平台),

  打开.mo文件后,直接编辑,编辑好后点击“File”菜单下的“保存”,此时会弹出对话框要求填入你的Email地址及Team名,也可以预先在“Edit”菜单下的“首选项”里填好,如:
二、先反编译成.po文件
  这要使用到GNU Gettext下的两个软件:msgunfmtmsgfmt。首先也是先安装需要用到的软件:
1: yum install gettext –y
  也可以去下载Windows平台的该软件:
  Linux下安装好它后,在.mo文件所在目录执行:
1: msgunfmt ./*.mo -o ./out.po
  即可反编译生成.po文件,然后用Gedit打开该.po文件进行编辑。编辑好后,再执行下面的语句进行重新打包:
1: msgfmt ./out.po -o ./out.mo
  Windows下在“命令提示符”界面操作步骤一样。只是把程序名后面加上".exe"。
 
参考百度知道:
编辑mo文件需要的工具叫gettext,运行该包里面的命令:
msgunfmt.exe mo文件名 -o po文件名
然后用poedit,对english.po进行编辑、翻译,完成后再运行:
msgfmt.exe -o mo文件名 po文件名
可重新编译成mo。

【转载】Linux下编辑生成.mo文件的更多相关文章

  1. Linux下无法生成core文件的解决办法

    1.检查ulimit [root ~]# ulimit -c 0 0:表示禁止生成core文件,此时需要执行ulimit -c unlimited(临时生效),或者在.bashrc中添加“ulimit ...

  2. [转载] linux下打开windows txt文件中文乱码问题

    原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在win ...

  3. 禁止 gVim 在 Linux 下自动生成 undo 文件 *.un~

    在配置文件 .vimrc 中加入配置项, set noundofile 完.

  4. windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

    一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系 ...

  5. 恢复Linux下被误删除的文件(笔记)

    恢复Linux下被误删除的文件 [root@xuegod63 ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [root ...

  6. Linux 下 Vi 配置文件 .vimrc 文件

    Linux 下 Vi 配置文件 .vimrc 文件 配置 vim 的方法是在用户主目录下建立个.vimrc文件,我一般使用root帐户,所以就在/root/下建立一个.vimrc文件:vi /root ...

  7. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

  8. linux下怎样批量更改文件后缀名

    今天又有同学问linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/'  ./* ...

  9. linux下如何执行.sh文件 【转】

    Linux下如何运行.sh文件 是UNIX/LINUX 操作系统的脚本文件,SHELL文件. 本文转载自 http://whitepoplar.javaeye.com/blog/431967 Linu ...

随机推荐

  1. 改善C#公共程序类库质量的10种方法

    最近重构一套代码,运用以下几种方法,供参考. 1  公共方法尽可能的使用缓存 public static List<string> GetRegisteredCompany() { Str ...

  2. C# 热敏打印机 Socket 网络链接 打印 图片

    C# 热敏打印机 Socket 网络链接 打印 图片 (一) http://www.cnblogs.com/rinack/p/4838211.html C# 热敏打印机 Socket 网络链接 打印 ...

  3. Java性能提示(全)

    http://www.onjava.com/pub/a/onjava/2001/05/30/optimization.htmlComparing the performance of LinkedLi ...

  4. 【转】Android布局优化之ViewStub

    ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View.虽然Android开发人员基本上都听说过,但是真正用的可能不多. ViewStub可以理解成一个非常轻量级的Vie ...

  5. raid性能对比

    1,raid0的特性:采用剥离,数据将在几个磁盘上进行分割.数据被分成很多数据块,每一数据块会被写入不同的磁盘.从而, 每一磁盘的工作负荷都得到了降低,这有助于加速数据传输.RAID-0可让磁盘更好地 ...

  6. XMPP系列1:简介

    通俗解释其实XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接收的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯.系 ...

  7. Java 模板引擎 jetbrick-template

    jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...

  8. Navi.Soft30.框架.WinForm.开发手册

    阅读导航 Navi.Soft30.Core类库.开发手册 http://www.cnblogs.com/xiyang1011/p/5709489.html Navi.Soft30.框架.WinForm ...

  9. css blur 的兼容写法

    出自:小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 .blur { filter: url(blur.svg#blur); /* IE10, IE11 */ -webkit-filter: b ...

  10. 移植UE4的Spline与SplineMesh组件到Unity5

    一个月前,想开始看下UE4的源码,刚开始以为有Ogre1.9与Ogre2.1源码的基础 ,应该还容易理解,把源码下起后,发现我还是想的太简单了,UE4的代码量对比Ogre应该多了一个量级,毕竟Ogre ...