我有一个Sitecore布局,可以从Sitecore项目生成一个vCard,包括一个人的姓名,公司地址等,并将其保存为Web服务器上的文件,以便以后(快速)检索。 vCard的一部分是组织(业务)名称。我们是一家国际公司,这意味着在不同的地区,我们的公司名称略有不同。
例如,在英语中,我们的名称是 [公司名称] LLP ,而在瑞典语中,它是 [公司名称] Advokat AB 。
生成vCard时使用的语言上下文是英语,但组织名称已在Sitecore中本地化。 是否可以从英语切换到另一种语言环境以获取本地化的组织名称,然后切换回来?
替代方法
我正在思考的另一种选择是在代码中硬编码组织名称,并根据人员的办公地址输出正确的组织名称。这样做的缺点是我不会利用Sitecore的本地化功能。此外,vCard的其他组件最终可能会被本地化 - 我不想对所有内容进行硬编码。
答案 0 :(得分:16)
这有任何帮助吗?
Language theLanguage = Sitecore.Globalization.Language.Parse("sv-SE");
Item theOriginalItem = Sitecore.Context.Database.GetItem("/sitecore/content/home/theitem");
Item theLanguageSpecificItem = Sitecore.Context.Database.GetItem(theOriginalItem.ID, theLanguage);