如何解决尝试使用gettext来使php网站国际化
|| 好的,我有以下PHP代码:<?php
$locale = \"es\";
//$locale = $_SERVER[\"HTTP_ACCEPT_LANGUAGE\"];
//if (isSet($_GET[\"locale\"])) $locale = $_GET[\"locale\"];
putenv(\"LC_ALL=$locale\");
putenv(\"LANGUAGE=$locale\");
setlocale(LC_ALL,$locale);
bindtextdomain(\"messages\",\"./locale\");
bind_textdomain_codeset(\"messages\",\'UTF-8\');
textdomain(\"messages\");
echo(getenv(\"LC_ALL\"));
echo(\"<br>\");
echo gettext(\"Hello World!\");
?>
我已经创建了西班牙文messages.po和messages.mo文件,并将它们存储在上述代码所在目录的子目录中。所述目录的路径为:
语言环境/ es / LC_MESSAGES
根据phpinfo,gettext在我所在的Web服务器上启用(由A Small Orange托管)。
调用页面显示getenv调用返回\'es \',但是原始的英语字符串出来了,而不是预期的西班牙语。我也尝试过_(\“ Hello World!\”),也无济于事。
我没有警告,没有错误,什么都没有。因此,我完全不知道如何解决可能失败的地方。
任何指导将不胜感激。
解决方法
我可能是错的,但是尝试更改...
putenv(\"LC_ALL=$locale\");
putenv(\"LANGUAGE=$locale\");
至
putenv(\"LC_ALL=\".$locale);
putenv(\"LANGUAGE=\".$locale);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。