gettext() - 有3种语言,2种不是

时间:2013-09-10 10:09:05

标签: php gettext

我有一个包含3种语言的网页 - Polsih,英语和德语。英语和德语翻译工作完美,但波兰语根本不起作用。哪里可能是问题?这是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");

1 个答案:

答案 0 :(得分:0)

您的测试代码不是特别有用。我们将以这种方式简化它:

var_dump( setlocale(LC_ALL, 'pl_PL.UTF-8') );

你在评论中模糊地建议你得到FALSE。这是什么意思?根据{{​​3}}(我想你已经检查了它,我只是为了完整性而在这里发布):

  

返回新的当前语言环境,如果是语言环境功能,则返回FALSE   未在您的平台上实现,指定的区域设置不会   存在或类别名称无效。

那么,您如何获得可用语言环境列表?正如你所说:

echo `locale -a`;