我使用qTranslate for Wordpress来发布我的英文,瑞典文和德文博文 . 我已激活“检测浏览器语言”,以便将访问者转发到其浏览器指定语言的正确URL .
所以,如果我访问blog.domain.com,我会转移到blog.domain.com/sv/,我的博客文章是瑞典语,这太棒了!但是现在问题是,如果我再次从同一台计算机再次访问blog.domain.com,我就不会被转移,博客文章是默认语言英语 .
我在这里做错了吗?似乎很奇怪我总是需要指定语言,我需要它基于浏览器自动化 .
3 回答
我有同样的问题,我修改了qTranslate以添加此功能 . 我所做的是使用语言信息保存cookie,当用户点击小部件中的语言标志时,会保存此cookie .
我的逻辑如下:
在显示所有语言的小部件中,将以下参数添加到每个URL:?save_lang
当此参数存在时,保存名为'save_lang'且值= $ lang的cookie
立即重定向到同一页面,但没有该参数'save_lang'
当调用任何页面时,现在qTranslate会将default_language设置为设置中的一个 . 如果cookie 'save_lang'存在,那么我将使用cookie中保存的那个覆盖default_language
这么几个步骤:
每当你看到这一行:
替换为:
然后添加该功能:
我希望这有帮助 :)
我找到了一个很好的.htaccess规则,可以在这里设置lang cookie:http://tips.naivist.net/2012/11/09/remembering-the-user-language-choice/
它似乎更容易,工作得很好:
只需将您的主要.htaccess更改为:
在 lang1 和 lang2 中,您可以在网站中插入已翻译的语言 .
很难指出上述描述可能有什么问题
可能的错误可能是您首先登录时从“检测浏览器语言”中获取输入 . 从下次从cookie中检索它 . 这个过程可能会出现问题 . 或者你根本不使用cookies .
如果您有登录数据库,则可以保存用户的语言预设 . 然后在登录后立即根据所需语言更改网址 .