2011-10-19 50 views
1

比方說,我有一個翻譯成兩種語言的網站 - 英語和西班牙語。我想給用戶一個頁面頂部的切換開關,讓他們在兩種語言之間來回切換。我會怎麼做?我不想建立不同的網站。我只想要一個網站。我只希望用戶能夠點擊按鈕或鏈接或其他內容,並從英語轉到西班牙語。現在他們在網站上移動時,他們正在用西班牙語瀏覽整個網站。然後,如果他們點擊按鈕或再次鏈接,他們會回到英語。在代碼背後有什麼要告訴Sitecore「使用」不同的語言嗎?如何更改用戶針對Sitecore站點看到的當前語言?

回答

4

您可以使用「sc_lang」查詢字符串參數切換上下文語言。例如:

http://youwebsite.com?sc_lang=en 
2

通常在Sitecore中,您需要使用內置的URL前綴來表示語言,例如, 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

0

您可以編寫自己的LanguageResolver管道做到這一點。

或者您可以通過使用sc_lang查詢字符串來擴展您的URL參數例如:sc_lang = en-EN或sc_lang = de-DE。如果你已經配置你的linkmanager罰款這應該工作。

相關問題