我在Sitecore 8.0 Update 2中构建了一项自动化任务,以自动发送一些电子邮件。这些电子邮件需要使用不同的语言。Sitecore:通过语言获取翻译
我一直使用这种方法:
Sitecore.Globalization.Translate.TextByDomain("General Dictionary", "some-key");
然而,当我尝试使用此代码:
Sitecore.Globalization.Translate.TextByLanguage("some-key", Sitecore.Context.Language);
它不工作(即使我简单地使用当前上下文语言)。 我可以找到几乎没有关于这个文件。我需要做些什么来实现这个目标?
这是Sitecore中的计划任务。如果是这样,我认为那里没有合适的'Sitecore.Context'(或'Sitecore.Context.Language')。您应该先编写一些代码以获取该邮件的正确语言,然后使用它代替调用“Sitecore.Context.Language”。尝试调试您的代码并查看使用的语言。 –
我也试过这个,但它有相同的效果。它总是只返回键值(检查翻译字典,我正在寻找的键) – Timon
这个翻译是否存在于'core'或'master'数据库中?在任务执行期间,什么是“Sitecore.Context.ContentDatabase”和“Sitecore.Context.Database”?在traslation中使用的数据库是'database = Sitecore.Context.ContentDatabase? Sitecore.Context.Database? Factory.GetDatabase(“核心”)' –