首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区域设置正在切换/未正确加载(有时)

区域设置正在切换/未正确加载(有时)
EN

Stack Overflow用户
提问于 2012-01-16 16:03:22
回答 1查看 842关注 0票数 1

我有一个非常恼人的问题与语言/地区为我们的网站。我已经在这附近找过了,但没有发现类似的东西。

因此,我们支持几种不同的语言,并在.po和.mo文件中设置了一切,这些文件在大多数情况下都能正常工作。有时,当您加载某些内容或刷新页面时,它会切换语言。也没有真正的模式,有时6 'en‘在一排,然后'sv’,有时每秒钟'sv‘和'en’。

Ex.如果您想编辑一个用户,您就会得到一个弹出窗口,它首先包括authorize.php,我们在其中检查语言并使用以下函数相应地设置它:

代码语言:javascript
复制
function _set_locale ($lang){
    switch($lang) {
        case 'sv':  $locale = "sv_SE"; break;
        case 'en':  $locale = "en_SG"; break;
        case 'nl':  $locale = "nl_NL"; break;
        case 'dk':  $locale = "da_DK"; break;
        case 'vi':  $locale = "vi_VN"; break;
        case 'zh':  $locale = "zh_CN"; break;
        default:    $locale = "en_SG"; break;
        }
    putenv("LANGUAGE=$locale");
    setlocale(LC_ALL, "$locale.UTF-8");
    bindtextdomain("messages", "./locale/");
    textdomain("messages");

我运行一个瑞典帐户,'sv‘集,刷新编辑用户弹出10次,并调试此功能,$lang是'sv’和我登录setlocale(LC_ALL,0),它返回'sv_SE.UTF-8‘,但该页面显示英文5-6次。

它似乎只是从现在的语言转向英语,这是原始语言,所以我认为它没有被翻译。它看起来不是我们设置的错误/默认语言,它只是忽略/没有时间?来设定语言。

语言没有保存在cookie中,有些帐户只有1种语言(这不是英语),并且仍然得到这种语言。

在上面的例子中。当我们从authorize.php返回时,我们不会在实际的“编辑用户”页面中使用任何语言变量。所以它不应该在那里改变它。(我也在从奥斯丁回来的时候调试并检查了语言。每次都是瑞典语)。

我不期望任何人能够通过我给出的信息来解决这个问题,我只是感兴趣的是,如果有人经历过这个问题,或者知道为什么有时会出现“开关”,请告诉我是否可以附加更多代码来解决这个问题。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-08-28 10:49:46

我也有一个类似的间歇性问题,PHP gettext and vagrant running ubuntu,它在第三个请求中显示了正确的文本。

尝试以下之一,我认为这将取决于您如何在Apache中运行PHP

代码语言:javascript
复制
sudo service php5-fpm restart

sudo service apache2 restart

我认为这是因为我在玩弄传递给setLocale()的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8882680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档