gettext无法翻译

7

我安装了php-gettext包,phpinfo()显示gettext已启用。

我的app.po文件如下:

msgid "Welcome" 
msgstr "Willkommen auf meiner Homepage!"

msgid "Hier you can find stuff about me."
msgstr "Hier finden Sie Informationen uber mich."`

我的PHP文件看起来像这样:

putenv('LC_ALL=de_DE');
setlocale(LC_ALL, 'de_DE');
bindtextdomain("app", "./lang");
textdomain("app");

echo gettext("Welcome");
echo _('Hier you can find stuff about me.');

app.mo文件位于./lang/de_DE/LC_MESSAGES/

文本未被翻译且没有出现任何错误信息。


2
一个有趣的gettext替代品是Zend_Translate - Pekka
1
@Tokk:没错,那是德式英语;-) - Boldewyn
2
@couchpot:php-gettext包是PHP的gettext库,对吗?还是你指的是这个:http://savannah.nongnu.org/projects/php-gettext/ - Boldewyn
你尝试过使用绝对路径而不是相对路径吗?也许可以尝试 dirname(__FILE__) . '/lang' - Florian
你尝试过将 PO 文件编译成 MO 文件吗? - Florian
显示剩余3条评论
1个回答

7

您是否检查过 de_DE 是否作为区域设置已安装?

使用 locale -a 命令进行检查。

如果没有安装,请使用 locale-gen de_DE 命令生成。


你在哪里做这件事?我需要在命令提示符中输入吗? - A.M.N.Bandara
我遇到了与问题相同的困境。我应该把 locale -a 放在哪里? - Adam Silva
"locale -a" 和 "locale-gen" 是命令,作者意思是在 shell 提示符下执行它们。我不知道它们是否存在于 Windows 构建中。 - int_ua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接