我正在使用RazorEngine填充CSHTML模板来构建动态HTML电子邮件。我需要使用多种语言发送电子邮件,并且我想在模板中使用本地化的字符串资源来切换语言,例如:
@Resources.EmailTemplate.OrderNumberLabel
如何指定RazorEngine使用的区域性?插入字符串时,似乎总是使用默认区域性。我尝试在没有运气的情况下进行解析之前设置线程区域性:
System.Threading.Thread.CurrentThread.CurrentCulture System.Globalization.CultureInfo.CreateSpecificCulture(culture);
注意:我已经看到其他实现为每种语言使用了不同的CSHTML文件的实现,但是我想将本地化的内容和标记分开。
最佳答案
您需要设置Thread.CurrentThread.CurrentUICulture
属性来代替CurrentCulture
属性,或者除了属性之外,还要设置。