我从一个相对信任的来源获悉,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
有帮助吗?

解决方案

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

其他提示

setenv("LANGUAGE", languagecode);

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top