转载自: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. 淘宝开放平台TOP测试环境

    沙箱测试环境 淘宝沙箱环境是淘宝开放平台(TOP)提供给独立软件开发商(ISV)的测试环境.数据完全独立,大部分API已经部署到该环境中供ISV进行API的功能测试,对与APP的调用量无限制,但获取大 ...

  2. android: SharedPreferences实现记住密码功能

    既然是实现记住密码的功能,那么我们就不需要从头去写了,因为在上一章中的最佳实 践部分已经编写过一个登录界面了,有可以重用的代码为什么不用呢?那就首先打开 BroadcastBestPractice 项 ...

  3. 画之国 Le tableau (2011)

    在佛斯特的肚子里,靠近幽门的地方,两只阿米巴原虫快乐地生活着.他们的日子过得很舒服,从来没饿过肚子,而且根本用不着干活:因为他们就是所谓的寄生虫.这两个好朋友相处得很愉快,但时不时也会争论不休,因为他 ...

  4. JavaScript 中数组实用浅析

    本文适用于HTML.ASP 中的 JavaScript 脚本代码.代码以 HTML 中的 JS 为例,如果在 ASP 中,请将 document.write 改为 Response.Write 即可. ...

  5. Swift入门篇-基本类型(3)

    一:元组 格式 变量或常量关键字 元组变量 = ( 变量,变量, …) 说明: : 元组变量还是一个变量,只不过表现方式和其他变量不一样 :()括号里面可以放入N个变量组成 例子: import Fo ...

  6. js 去掉字符串前面的0

    <script>var a='00123';alert(a.replace(/\b(0+)/gi,""));</script>

  7. “粪便银行”:救人拿钱两不误 A Poop Bank in Massachusetts Will Pay You $40 Every Day

    “粪便银行”:救人拿钱两不误 如果你年龄小于50岁,排便规律,而且愿意每天去美国麻省麦德福德跑一趟,那么没准你可以每天得到40美元的外快,而你需要做的事情只是生产便便. 要想得到这笔收入,请拜访“开放 ...

  8. Visual Studio 2008 使用 WinCE 5.0 Emulator

    1. 簡介 由於 Visua Studio 2008 與 WinCE 5.0 Emulator 並沒有完全整合,因此想要測試我們所開發的 Windows CE 程式,需透過設定,將我們所開發的程式丟到 ...

  9. ECSHOP始终显示全部分类方法

    商品分类树需要始终显示所有类别,默认的Ecshop的显示方式为在当前产品页面只显示当前的产品所在的同级及下级分类,这就导致当点开某个产品或者子分 类的时候全局的分类树就不见了. 其实修改的方法很简单. ...

  10. POJ1226:Substrings(后缀数组)

    Description You are given a number of case-sensitive strings of alphabetic characters, find the larg ...