0

我有一个包含 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");
4

1 回答 1

0

您的测试代码不是特别有用。我们将这样简化:

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

你在你的评论中含糊地暗示你得到FALSE. 这是什么意思?根据文档(我想你已经检查过了,我只是为了完整性把它贴在这里):

返回新的当前语言环境,或者FALSE如果您的平台上没有实现语言环境功能,则指定的语言环境不存在或类别名称无效。

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

echo `locale -a`;
于 2013-09-10T11:00:43.460 回答