#include <stdio.h>
#include <locale.h>
#include <libintl.h>
#define _(string) gettext(string)
int main()
{
setlocale(LC_ALL,"zh_CN.UTF-8");
bindtextdomain("gettext_test","/home/xiao/gettext_test/language");
textdomain("gettext_test");
printf(_("Hello world!\n"));
return 0;
}
如果没有效果则看下面处理方法
http://www.cnblogs.com/hnrainll/archive/2011/05/07/2039700.html
需要在/var/lib/locales/supported.d/local中添加相应的文件包
如:zh_CN.UTF-8 UTF-8
在Ubuntu下,修改 /var/lib/locales/supported.d/local 文件,配置新的 locale,然后运行 locale-gen 命令。