如何更改用户在Sitecore网站上看到的当前语言?

时间:2011-10-19 19:09:31

标签: sitecore multilingual

假设我有一个翻译成两种语言的网站 - 英语和西班牙语。我想在页面顶部为用户提供一个切换开关,允许他们在两种语言之间来回切换。我该怎么办?我不想设置不同的网站。我只想要一个网站。我只是希望用户能够点击按钮或链接或其他东西,从英语到西班牙语。现在,当他们在网站上移动时,他们正在用西班牙语查看整个网站。然后,如果他们再次单击按钮或链接,他们将返回英语。在后面的代码中我是否需要做些什么来告诉Sitecore“使用”另一种语言?

3 个答案:

答案 0 :(得分:4)

您可以使用“sc_lang”查询字符串参数切换上下文语言。例如:

http://youwebsite.com?sc_lang=en

答案 1 :(得分:2)

通常在Sitecore中,您需要使用内置的网址前缀来表示语言,例如http://www.example.com/enhttp://www.example.com/es。我们经常使用我们在httpRequestBegin管道中读取的cookie来增强Sitecore LanguageResolver。您的语言“切换”可以适当地设置该Cookie。

请参阅John West撰写的这篇文章,了解更多详细信息和示例代码。

https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/repost-overriding-sitecore-39-s-logic-to-determine-the-context-language

答案 2 :(得分:0)

您可以编写自己的LanguageResolver管道来执行此操作。

或者您可以使用sc_lang查询字符串参数扩展您的URL参数,例如:sc_lang = en-EN或sc_lang = de-DE。如果你已经配置了你的链接管理器,这应该可行。