在GNU Linux系统中,很多软件都是支持多种国家的语言的,而这些语言一般都是通过一个*.po的文件而区别开来不同的国家的语言的,有的可能会编译成二进制文件*.mo,而编译成二进制文件的命令为msgfmt。
有的时候存在这样的场景,为了修改语言翻译的问题,想直接修改语言文件,那么就要使用将编译好的二进制的*.mo文件转换成*.po文件,那么使用命令msgunfmt命令即可完成这个需求,以下的例子中test.po表示一个语言文件的ascii码的文件,test.mo表示编译后的二进制语言文件:
例子:
反编译mo二进制文件成ascii po文件
msgunfmt test.mo -o test.po
编码ascii po文件为二进制mo文件
msgfmt -o test.mo test.po
Debian改变系统语言环境(中文切换到英文)实例:http://www.linuxdiyf.com/linux/16324.html
在Linux下开发多语言软件(gettext解决方案):http://www.linuxdiyf.com/linux/16248.html