使用PHP 5.6.11,我尝试运行最简单的gettext + PHP示例(test.php
):
$language = 'de';
putenv("LANG=$language");
setlocale(LC_ALL, $language);
$domain = 'messages';
bindtextdomain($domain, "/home/foo/www/locale");
bind_textdomain_codeset($domain, 'UTF-8');
textdomain($domain);
echo gettext("Hello_World");
在/home/foo/www/locale/de/LC_MESSAGES
目录中,我创建了一个名为messages.po
的文件:
msgid "Hello_World"
msgstr "Hallo Welt"
我使用messages.mo
将其转换为Poedit
,甚至使用msgfmt
shell命令。
但是,当我运行localhost/test.php
时,我只获得"Hello_World"
,而不是"Hallo Welt"
。
我做错了什么?非常感谢你提前。