文件类型:

po:

用msginit分析pot文件,生成各语言对应的po文件,比如中文的zh_CN.po。

mo:

用msgfmt将po文件编译生成mo文件,这是二进制文件,不能直接编辑。

gmo:

与mo一致

pot:

是一种模板文件,与po文件一样,其中包含了从源代码中提取所有的翻译字符串的列表,主要提供给翻译人员使用。

 msgfmt --output-file=zh_CN.gmo zh_CN.po    //生成gmo
msgunfmt zh_CN.gmo -o zh_CN.po //反编译成po

有时添加patch修改po不生效,需要将source中的gmo或mo删除,重新生成

以上只提供了修改po,并生成mo或gmo的方法,如果一开始就没有po文件,怎么去生成呢?

步骤如下:

1、将src目录下的需要翻译的c文件列表生成到po目录下

 find src -name "*.c" > POTFILE.in

2、使用xgettext提取需要翻译内容,生成.po文件

 xgettext -f POTFILEE.in -d zh_CN --keyword=_ --keyword=N_ --from-code=UTF- 

-f 读入输入文件的列表

-d 输出文件

--keyword= 不使用默认关键字

--from-code=名称 输入文件的编码

3、使用msgmerge将老的po文件和新的po文件进行merge

4、可以使用工具poedit gtranslator对生成的po进行翻译

5、将po生成gmo

 msgfmt --output-file=zh_CN.gmo zh_CN.po 

gnome中文翻译之po的更多相关文章

  1. [资料] Apache2 的 httpd.conf 经典中文翻译

    [i=s] 本帖最后由 www.PHP888.com 于 2009-5-22 13:40 编辑 [/i] # 基于 NCSA 服务的配置文件. # #这是Apache服务器主要配置文件. #它包含服务 ...

  2. 《Django By Example》第九章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag 注:哈哈哈,第九章终于来啦 ...

  3. 向odoo贡献中文翻译

    建议通过 osc-git向odoo贡献中文翻译     osc-git 是指'开源中国'的git平台. 网址是 http://git.oschina.net/     注册osc-git 账号省略. ...

  4. 《Entity Framework 6 Recipes》中文翻译系列 目录篇 -持续更新

    为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...

  5. Spark官方文档 - 中文翻译

    Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...

  6. PS网页设计教程——30个优秀的PS网页设计教程的中文翻译教程

    PS网页设计教程--30个优秀的PS网页设计教程的中文翻译教程   作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作 ...

  7. Spark SQL 官方文档-中文翻译

    Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...

  8. Learning Spark: Lightning-Fast Big Data Analysis 中文翻译

    Learning Spark: Lightning-Fast Big Data Analysis 中文翻译行为纯属个人对于Spark的兴趣,仅供学习. 如果我的翻译行为侵犯您的版权,请您告知,我将停止 ...

  9. 苹果App Store审核指南中文翻译(2014.9.1更新)

    转:http://www.cocoachina.com/appstore/20140901/9500.html CocoaChina对<苹果应用商店审核指南>中文翻译最近一次更新时间为20 ...

随机推荐

  1. Ubuntu下Django初体验(三)——django初体验

    Django中的重要概念: 一次web访问的实质: 1. 客户发送http请求到web服务回 2. web服务器返回html页面给客户 Django概述: 1. URL配置             建 ...

  2. C语言snprintf函数

    int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...); 函数说明:最多从源串中拷贝n-1个字符到 ...

  3. hdoj 1047 Integer Inquiry

    Integer Inquiry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  4. C++——cout输出小数点后指定位数

    转载自 http://blog.csdn.net/edricbjtu/article/details/41082597

  5. 关于一次Weblogic活动线程的问题处理

    Weblogic控制台监控发现 环境>>服务器>>你的服务器>>监控>>线程 中活动执行线程竟然是2000多.同一套系统在另一套平台上,并且访问的人不少 ...

  6. LINUX下mysql的大小写是否区分设置 转

    一.Linux中MySQL大小写详情:1.数据库名严格区分大小写2.表名严格区分大小写的3.表的别名严格区分大小写4.变量名严格区分大小写5.列名在所有的情况下均忽略大小写6.列的别名在所有的情况下均 ...

  7. 第一个Xcode项目 - 代码修改布局约束

    第一行的选中效果已经有了,那第二行的选中效果怎么做呢?我这里选择改变布局约束来实现选中效果 [我有个用object-c做APP的同事他说,我觉得这个应该去获取色块的位置,然后赋给选中用的View,然后 ...

  8. Java高级--Java线程运行栈信息的获取 getStackTrace()

    我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统会自动帮我们打印出丰富的信息,格式一般如下:为了免去解析StackTrace字符串的麻烦,JDK1.4引入了一个 ...

  9. MYSQL 系统命令 源码定位

    sql_cmd.h enum enum_sql_command { SQLCOM_SELECT, SQLCOM_CREATE_TABLE, SQLCOM_CREATE_INDEX, SQLCOM_AL ...

  10. 启动hadoop,报错Error JAVA_HOME is not set and could not be found

    报如错误:JAVA_HOME is not set and could not be found,可能是因为JAVA_HOME环境没配置正确,还有一种情况是即使各结点都正确地配置了JAVA_HOME, ...