我似乎无法让 gettext 工作,在这里。
我正在使用 MAMP Pro 并phpinfo();说 gettext 已启用。
我遵循了本教程:http: //zez.org/article/articleview/42/1/
- 我在我的代码中声明了我的字符串,如下所示:
_('test string'); - 然后我跑了
xgettest -L PHP test.php,它生成了我的messages.po文件。 - 我在poedit中打开了这个文件并翻译了我的字符串,然后保存了这个文件,这就是一个
messages.mo文件。 - 我拿了两个文件
.po并将.mo它们移动到[webroot]/locale/es/LC_MESSAGES/(在这种情况下,我的翻译是西班牙语) 在我的代码中,我设置了以下内容:
$lang = $_SESSION['lang']; // available to all views that include this fileputenv('LC_ALL='.$lang);bindtextdomain('messages','./locale');textdomain('messages');...我可以轻松地在和
$_SESSION['lang']之间切换。enes我重新加载我的页面,然后单击切换到的链接
es,但我的字符串仍然显示为英文版本而不是西班牙文版本。切换回en显示没有变化;它总是英文版本。
我在任何地方都没有收到错误消息,所以我对为什么会遇到这个问题有点迷茫。谁能给我一些指导/帮助?我错过了什么?