【发布时间】:2013-09-10 10:09:04
【问题描述】:
我的网页包含 3 种语言 - 波兰语、英语和德语。英语和德语翻译工作完美,但波兰语根本不起作用。问题可能出在哪里?下面是gettext的配置:
$locale = "pl_PL";
if (isSet($_GET["lg"])) $locale = $_GET['lg']."_". strtoupper($_GET['lg']);
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale.'.UTF-8');
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", 'UTF-8');
textdomain("messages");
【问题讨论】:
-
检查
locale -a | grep -i pl,看看你是否有pl_PL.UTF-8。你可能还想看这个话题:stackoverflow.com/questions/2527192/linux-locale-unset -
这可能是个问题,我无法访问命令行...
-
基本调试:var_dump() 变量并检查相关函数的返回值。不要只相信。
-
setlocale(LC_ALL, $locale.'.UTF-8') 返回 false
-
@Maciej - 对,你来了。我们仍然不确定
$locale包含什么,但我们确定它不包含有效的语言环境。