c语言gettext的头文件,C语言中用GNU gettext实现本地化
首先要确认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实现本地化相关推荐
- c语言的所有头文件,C语言所有头文件.doc
C语言所有头文件 C语言所有头文件 stdlib.h包含了很多标准函数和标准宏定义,比如NULL, EXIT_SUCCESS等. ctype.h包含了很多类型定义 string.h包含了字符串操作相关 ...
- c语言 自动包含头文件,C语言不要重复包含.h头文件和.c文件
http://blog.csdn.net/unix21/article/details/8450235 2012 1.不要重复包含头文件 --以上出自<C语言程序设计:现代方法(第2版)> ...
- c语言字符型头文件,C语言头文件大全Word版
<C语言头文件大全Word版>由会员分享,可在线阅读,更多相关<C语言头文件大全Word版(7页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 ,希望对您有帮助, ...
- C语言 define 防止头文件重复包含 - C语言零基础入门教程
目录 一.头文件重复包含编译器报错 1.简单的理解头文件重复包 2.老流氓的理解头文件重复包 二.通过宏定义解决头文件重复包含 1.通过 #ifndef / #define 解决头文件重复包含 2.通 ...
- C语言基础专题 - 头文件引用
C语言基础专题 - 头文件引用 本文介绍了C语言中头文件的引用方法 阅读本文前推荐阅读C语言预处理 1.
- 单片机C语言常用的头文件与库函数
单片机C语言常用的头文件与库函数 以下头文件与库函数,只用头文件包含以下相应头文件即可调用. 持续更新中 Intrins.h头文件 函数名 函数原型 功能 返回值 _crol_ unsigned ch ...
- C语言编程规范 — 头文件、函数
0 编码规范说明 0.1 前言 为了提高产品或项目代码质量,软件开发人员编写出简洁.可靠.可维护.可测试.高效.可移植的代码,树立良好的编程规范是非常有必要的,良好的编程规范能提高编程效率,规避很多编 ...
- c语言中常用函数头文件,c语言中常用的函数和头文件
头文件ctype.h 函数列表 函数类别函数目的详细说明 字符测试为字符和数字的isalnum 是否为isalpha字符 是否控制字符iscntrl 是否为数字isdigit 是否能够显示文字(空格除 ...
- c++ ofstream 文件不存在_使用C语言中的头文件有什么技巧和注意事项吗?为什么不直接包含C文件呢?...
从事嵌入式开发多年,对于C语言使用的频率比较多,现在讲讲C语言在平时编程工作中经常出现的一些问题,就以楼主的题目为切入点分析归纳下,分享给正在使用或者学习C语言的小伙伴 C语言头文件有什么用处 在平时 ...
最新文章
- Servlet中使用RequestDispatcher调派请求--include
- PE学习(三)第三章:PE文件头
- 自动以及手动清除手机垃圾文件
- python generator
- JavaScript 中的 this 与闭包详解
- Markdown支持的语言
- php mkdir创建多级目录
- Web 3D 的初临
- Mac 上如何使用burpsuite(以谷歌浏览器为例)
- 程序员,金三银四该不该跳槽?
- VMware界面大小调整两种方法超详细教程
- 编程软件IAR安装使用及程序下载
- 鸿蒙之志蝼蚁岂知,争气励志语:生如蝼蚁,当有鸿鹄之志,命如纸薄,应有不屈之心...
- js输出26个英文字母
- OpenCV中视频操作及人脸识别案例
- lambada 表达式
- IL2CPP does not support marshaling delegates that point to instance methods to native code
- pandorabox开启ssr_华硕及PandoraBox固件如何启用SSH和SFTP连接
- 2023年最新前端面试题
- 使用AZ3166(MXChip IoT DevKit)开发translator
热门文章
- 团队-手机备忘录-需求分析
- nodejs的req取参req.body,req.params,req.query
- JQuery中serialize()、serializeArray()和param()方法示例介绍
- UVA10407 Simple division【同余+一阶差分】
- 似然函数(likelihood function)
- 傅里叶级数与复的傅里叶级数、傅里叶变换
- matlab 辅助函数 —— 文件下载与文件解压
- 写作之法 —— 如何切题与点题
- 解析文本文件 r 与 rb 模式的区别(Python)
- 开源软件的许可(License)