首页 > 代码库 > 编译与反编译GNU Linux语言文件方法

编译与反编译GNU Linux语言文件方法

/*********************************************************************
 * Author  : Samson
 * Date    : 11/21/2014
 * Test platform:
 *              3.13.0-24-generic
 *              GNU bash, 4.3.11(1)-release 
 * *******************************************************************/

在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

编译与反编译GNU Linux语言文件方法