1

我从一个相对可靠的消息来源听说 gettext 不需要系统语言环境就可以工作。但是我已经尝试了一些教程,除非我有 locale-gen'd (in arch) fi_FI.utf8,否则我无法显示任何翻译。

root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello
你好世界!
这是包: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
正在生成语言环境...
  en_GB.UTF-8... 完成
  en_US.UTF-8... 完成
  fi_FI.UTF-8... 完成
生成完成。
root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello
特维邮件
paketti 上的 Tämä:web-cms
4

2 回答 2

1

你没听错吗?据我所知,您确实需要系统语言环境才能使 gettext 工作。但是,您不需要为这些系统语言环境安装所有翻译,只是为了让您的“hello world”正常工作。

于 2009-05-07T22:58:38.377 回答
0
setenv("LANGUAGE", languagecode);

如果语言代码是“fr”,并且您在 bindtextdomain 指向的目录中有一个“fr/LC_MESSAGES/.mo”文件,它应该可以工作。

于 2012-05-14T18:05:10.433 回答