Gettext和locales

时间:2009-05-07 22:49:17

标签: c++ c gettext

我从一个相对信任的来源获悉,gettext不需要系统区域设置才能工作。但我已经尝试了一些教程,除非我有locale-gen'd(在arch中)fi_FI.utf8,否则我无法显示任何翻译。

root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello 
Hello world!
This is package: web-cms
root@junior:~/programming/Projects/Cpp/web/test# sed -i 's/#fi_FI.UTF-8/fi_FI.UTF-8/' /etc/locale.gen && locale-gen
Generating locales...
  en_GB.UTF-8... done
  en_US.UTF-8... done
  fi_FI.UTF-8... done
Generation complete.
root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello 
Terve maailma
Tämä on paketti: web-cms

2 个答案:

答案 0 :(得分:1)

你听到了吗?据我所知,您需要系统区域设置才能使用gettext。但是,您不需要为这些系统区域设置安装所有翻译,只是为了让您的“hello world”工作。

答案 1 :(得分:0)

setenv("LANGUAGE", languagecode);

如果语言代码为“fr”,并且在bindtextdomain指向的目录中有“fr / LC_MESSAGES / .mo”文件,则该文件应该可以正常工作。