首先要确认GNU gettext已经被安装。

写一个示例程序

gettext_test.c:

#include

#include

#include

#define _(string) gettext(string)

int

main ()

{

setlocale (LC_ALL, "");

bindtextdomain ("gettext_test", "language");

textdomain ("gettext_test");

printf (_("Hello world!\n"));

return 0;

}

下面先分析一下上面的源文件

locale.h包含下面要调用的setlocale函数的声明。

libintl.h包含gettext所使用的一些函数。

setlocale(LC_ALL, "");进行区域设置。(第二个参数为""说明设置成当前系统的区域)

bindtextdomain ("gettext_test", "language");设置包含给定domain的语言文件的基目录。这里domain设置为gettext_test,基目录是当前目录下的language目录。

textdomain("gettext_test");设置当前程序的domain,要与bindtextdomain中的domain保持一致(这里是"gettext_test")。

将所有要翻译的字符串写成gettext("some string.")的形式,如程序中原来的printf ("Hello world!\n");要写成printf (gettext ("Hello world!\n");根据GNU标准也可以使用_代替gettext,这样可以少写几个字...

编译源文件生成gettext_test程序:

# gcc -o gettext_test gettext_test.c

生成翻译文件gettext_test.po:

# xgettext -k_ gettext_test.c

按照bindtextdomain 中参数,建立目录结构:

在gettext_test当前目录下建立language目录,language目录下建立你的语言目录如:zh_CN、zh_TW等等,所有可以使用的名字参考setlocale的第二个参数。在所有的语言目录下建立LC_MESSAGES目录。下面建立目录结构,假设你已经位于gettext_test的当前目录下:

# mkdir -p language/zh_CN/LC_MESSAGE

c语言gettext的头文件,C语言中用GNU gettext实现本地化相关推荐

  1. c语言的所有头文件,C语言所有头文件.doc

    C语言所有头文件 C语言所有头文件 stdlib.h包含了很多标准函数和标准宏定义,比如NULL, EXIT_SUCCESS等. ctype.h包含了很多类型定义 string.h包含了字符串操作相关 ...

  2. c语言 自动包含头文件,C语言不要重复包含.h头文件和.c文件

    http://blog.csdn.net/unix21/article/details/8450235 2012 1.不要重复包含头文件 --以上出自<C语言程序设计:现代方法(第2版)> ...

  3. c语言字符型头文件,C语言头文件大全Word版

    <C语言头文件大全Word版>由会员分享,可在线阅读,更多相关<C语言头文件大全Word版(7页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 ,希望对您有帮助, ...

  4. C语言 define 防止头文件重复包含 - C语言零基础入门教程

    目录 一.头文件重复包含编译器报错 1.简单的理解头文件重复包 2.老流氓的理解头文件重复包 二.通过宏定义解决头文件重复包含 1.通过 #ifndef / #define 解决头文件重复包含 2.通 ...

  5. C语言基础专题 - 头文件引用

    C语言基础专题 - 头文件引用 本文介绍了C语言中头文件的引用方法 阅读本文前推荐阅读C语言预处理 1.

  6. 单片机C语言常用的头文件与库函数

    单片机C语言常用的头文件与库函数 以下头文件与库函数,只用头文件包含以下相应头文件即可调用. 持续更新中 Intrins.h头文件 函数名 函数原型 功能 返回值 _crol_ unsigned ch ...

  7. C语言编程规范 — 头文件、函数

    0 编码规范说明 0.1 前言 为了提高产品或项目代码质量,软件开发人员编写出简洁.可靠.可维护.可测试.高效.可移植的代码,树立良好的编程规范是非常有必要的,良好的编程规范能提高编程效率,规避很多编 ...

  8. c语言中常用函数头文件,c语言中常用的函数和头文件

    头文件ctype.h 函数列表 函数类别函数目的详细说明 字符测试为字符和数字的isalnum 是否为isalpha字符 是否控制字符iscntrl 是否为数字isdigit 是否能够显示文字(空格除 ...

  9. c++ ofstream 文件不存在_使用C语言中的头文件有什么技巧和注意事项吗?为什么不直接包含C文件呢?...

    从事嵌入式开发多年,对于C语言使用的频率比较多,现在讲讲C语言在平时编程工作中经常出现的一些问题,就以楼主的题目为切入点分析归纳下,分享给正在使用或者学习C语言的小伙伴 C语言头文件有什么用处 在平时 ...

最新文章

  1. Servlet中使用RequestDispatcher调派请求--include
  2. PE学习(三)第三章:PE文件头
  3. 自动以及手动清除手机垃圾文件
  4. python generator
  5. JavaScript 中的 this 与闭包详解
  6. Markdown支持的语言
  7. php mkdir创建多级目录
  8. Web 3D 的初临
  9. Mac 上如何使用burpsuite(以谷歌浏览器为例)
  10. 程序员,金三银四该不该跳槽?
  11. VMware界面大小调整两种方法超详细教程
  12. 编程软件IAR安装使用及程序下载
  13. 鸿蒙之志蝼蚁岂知,争气励志语:生如蝼蚁,当有鸿鹄之志,命如纸薄,应有不屈之心...
  14. js输出26个英文字母
  15. OpenCV中视频操作及人脸识别案例
  16. lambada 表达式
  17. IL2CPP does not support marshaling delegates that point to instance methods to native code
  18. pandorabox开启ssr_华硕及PandoraBox固件如何启用SSH和SFTP连接
  19. 2023年最新前端面试题
  20. 使用AZ3166(MXChip IoT DevKit)开发translator

热门文章

  1. 团队-手机备忘录-需求分析
  2. nodejs的req取参req.body,req.params,req.query
  3. JQuery中serialize()、serializeArray()和param()方法示例介绍
  4. UVA10407 Simple division【同余+一阶差分】
  5. 似然函数(likelihood function)
  6. 傅里叶级数与复的傅里叶级数、傅里叶变换
  7. matlab 辅助函数 —— 文件下载与文件解压
  8. 写作之法 —— 如何切题与点题
  9. 解析文本文件 r 与 rb 模式的区别(Python)
  10. 开源软件的许可(License)