我正在使用RazorEngine填充CSHTML模板来构建动态HTML电子邮件。我需要使用多种语言发送电子邮件,并且我想在模板中使用本地化的字符串资源来切换语言,例如:

@Resources.EmailTemplate.OrderNumberLabel


如何指定RazorEngine使用的区域性?插入字符串时,似乎总是使用默认区域性。我尝试在没有运气的情况下进行解析之前设置线程区域性:

System.Threading.Thread.CurrentThread.CurrentCulture System.Globalization.CultureInfo.CreateSpecificCulture(culture);


注意:我已经看到其他实现为每种语言使用了不同的CSHTML文件的实现,但是我想将本地化的内容和标记分开。

最佳答案

您需要设置Thread.CurrentThread.CurrentUICulture属性来代替CurrentCulture属性,或者除了属性之外,还要设置。

10-06 11:41