转载自: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. VC中打开对话框选择文件和文件夹

    1.选择文件               CFileDialogdlg(true, NULL, NULL, NULL, "所有文件 | *.*", this);           ...

  2. Selenium3笔记-WebDriver源码初探

    Selenium3 有哪些变化? 其实相对于与Selenium2,Selenium3没有做太多的改动.下面给出官方的文档说明,供参考. 参考文档:https://seleniumhq.wordpres ...

  3. 纯CSS实现图片抖动

    实现方法: 1.将上文提到的以下JS内容删除: $(".imagelogo").mouseover(function() { obj = $(this); i = 5; timer ...

  4. 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明

    ====================================================================== [百度Web富文本编辑器ueditor在ASP.NET M ...

  5. ubuntu 13.10 Ralink RT3290 无线与蓝牙4.0的驱动安装

    我的本是hp envy15, 蓝牙与无线的型号是Ralink RT3290, 装了Ubuntu 13.10 64bit后,蓝牙无法使用,无线几秒钟就会断开,查知,是因为驱动问题. ## 准备工作 首先 ...

  6. CSS3学习笔记——伪类hover

    最近看到一篇文章:“Transition.Transform和Animation使用简介及应用展示”    ,想看看里面 “不同缓动类效果demo”例子的效果,发现了一个问题如下: .Trans_Bo ...

  7. Linux环境的PHP执行

    /usr/local/php5/bin/php -c /var/spool/php.ini -q /var/spool/auto.php

  8. neo4j安装与示例

    Neo4j有两种访问模式:服务器模式和嵌入模式参考,下面主要讲windows下这两种模式的配置与访问示例 1 Windows下Neo4j服务器模式安装与示例 安装: 1.下载Neo4j,我下载的版本是 ...

  9. makeimg

    >./simg2img [system.img] [system2.img]>mount -o loop [system2.img] [s/]>./make_ext4fs -s -l ...

  10. Android 中ViewPagerIndicator的使用

    1.https://github.com/JakeWharton/Android-ViewPagerIndicator 2.http://blog.csdn.net/xiaanming/article ...