对于我的网站:
Sitecore.Context.Language的输出是da
Sitecore.Context.ContentLanguage的输出是en。
lblTest.Text = Sitecore.Context.Language+" & "+ Sitecore.Context.ContentLanguage;
output: da & en这两个术语之间的基本区别是什么?以及如何修改它们以使用其他语言?
谢谢!
发布于 2016-01-19 19:41:00
内容语言表示客户端(内容编辑器)中的默认编辑语言。它是每个网站的站点定义中的一个属性。
当你浏览网站时,Sitecore.Context.Language代表网站的上下文语言。
例如,如果你有丹麦语编辑,那么内容语言就是丹麦语。你可以有多种上下文语言,因为访问者可以切换他们的语言。
Sitecore.Context.Language是一个智能属性,这意味着它遵循延迟加载模式:如果代码在没有设置该属性的情况下访问该属性,则该属性的getter包含用于确定上下文语言的逻辑。
Sitecore在httpRequestBegin管道中使用Sitecore.Pipelines.HttpRequest.LanguageResolver处理器来确定上下文语言。
如果要更改内容语言,则需要修改网站定义。要更改编程上下文语言,您可以使用:
Sitecore.Context.Language=yourlanguage;在我读完评论后更新以更改您可以使用的上下文语言:
var myItem = Sitecore.Context.Item;
using (new Sitecore.Globalization.LanguageSwitcher("da-DK"))
{
myItem = myItem.Database.GetItem(myItem.ID);
}https://stackoverflow.com/questions/34875696
复制相似问题