i18n-Gettext在本地工作,但不在服务器上


i18n - Gettext working locally, but not on server

我在一个网站上工作,用PHP编写,并通过PoEdit/Gettext提供翻译。在我的Mac上的本地MAMP服务器上,一切都很好。当我把它上传到我的网站管理员的Linux服务器时,它不起作用。安全模式关闭,Gettext启用-我已经检查过了。

我做以下事情:

        if (isset($_GET['lang'])) {
            $language = $_GET['lang'];
        } else {
            $language = "en_EN";
        }
    putenv("LANG=" . $language);
    setlocale(LC_ALL, $language);   
    // Set the text domain as "s5m"
    $domain = "s5m";
    bindtextdomain($domain, "languages"); 
    bind_textdomain_codeset($domain, 'UTF-8');  
    textdomain($domain);

.mo/.po文件存储在并命名为s5m.po/s5m.mo

/languages/en_EN/LC_MESSAGES/

有人知道为什么它在我的本地工作,但在我海报的网络服务器上不工作吗?语言切换后,我的内部链接是file.php?lang=en_en

有什么建议吗?谢谢

我有解决方案。web服务器不支持"en_en"-服务器支持"en_US"。我不得不在编码和文件夹结构中对此进行更改。就是这样…