获取本地化字符串

时间:2010-12-27 11:44:17

标签: c localization gnome

我已经从 fr_FR.po 创建了本地化的 fr_FR_Locale.mo 文件。

我在终端上使用了 sgettext msginit msgfmt 命令。

我已将本地更改为法语(fr_FR.utf8)

但是当我执行我的代码时,我没有得到我期待的东西。这是我的电话:

setlocale(LC_ALL,"");
bindtextdomain("locale",LC_INTL);
bind_textdomain_codeset("locale", "UTF-8");
textdomain("locale");
printf(gettext("Hello world!"));   

这里的输出应该是非英语的一些东西,     但我得到的相同英语单词

2 个答案:

答案 0 :(得分:0)

请参阅以下帖子。它可能对你有用。

Complete C++ i18n gettext() "hello world" example

答案 1 :(得分:0)

也许你的mo文件找不到。我不知道LC_INTL的含义或您安装mo文件的位置。但是,我们假设您将其安装为/usr/local/share/locale/fr/LC_MESSAGES/MyApp.mo,代码应如下所示:

setlocale(LC_ALL,"");
bindtextdomain("MyApp","/usr/local/share/locale");
bind_textdomain_codeset("MyApp","UTF-8");
textdomain("MyApp");