【发布时间】:2010-05-02 15:49:23
【问题描述】:
我有一个程序,其中 i18n 由 gettext 处理。该程序运行良好,但出于某种原因,我需要知道在 win32 下运行时 gettext 使用的语言环境的名称(类似于“fr_FR”)。
我查看了 gettext 源,有一个非常可怕的函数可以在所有平台上计算它(gl_locale_name,在一个名为“localename.h/c”的 C 文件中)。但是,这个文件似乎没有与 gettext 或 libintl 一起安装,所以我似乎无法调用该函数。 gettext 是否提供了另一个函数来获取此值?或者在另一个包中(boost,glib,什么?)
(在相关说明中,C++ 标准库中有一个叫做 std::locale 的东西,根据调用 std::locale("") 的文档,应该使用系统的设置创建一个语言环境,除非我弄错了......但是在windows下名称是'C'。这是获取语言环境名称的可行方法吗?我做错了什么?)
【问题讨论】: