简体   繁体   English

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

[英]i18n - Gettext working locally, but not on server

I work on a website, written in PHP, and I included translations via PoEdit/Gettext. 我在一个用PHP编写的网站上工作,我通过PoEdit / Gettext包含翻译。 On my local MAMP Server on my Mac everything is working fine. 在Mac上的本地MAMP Server上,一切正常。 When I upload it to the Linux server of my Webhoster it is not working. 当我将其上传到Webhoster的Linux服务器时,它不起作用。 Safe Mode is off and Gettext is enabled - I already checked that. 安全模式已关闭,并启用了Gettext-我已经检查过了。

I do the following: 我做以下事情:

        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 file is stored at and are named s5m.po / s5m.mo .mo / .po文件存储在s5m.po / s5m.mo

/languages/en_EN/LC_MESSAGES/

Does anybody know why it is working on my local, but not on my poster's web server? 有谁知道为什么它可以在我的本地计算机上运行,​​而不在我的海报的Web服务器上运行? My internal links after the language has been switched are file.php?lang=en_EN 切换语言后,我的内部链接是file.php?lang = zh_CN

Any suggestions? 有什么建议么? Thanks! 谢谢!

I have the solutiion. 我有解决办法。 The web server does not support "en_EN" - the server supports "en_US". Web服务器不支持“ en_EN”-服务器支持“ en_US”。 I had to change this in the coding and in the folder structure. 我不得不在编码和文件夹结构中更改它。 Thats it... 而已...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM