C#/ Razor - 从RazorEngine模板访问本地化的字符串资源

Nat*_*ook 3 .net c# internationalization razor razorengine

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

@Resources.EmailTemplate.OrderNumberLabel
Run Code Online (Sandbox Code Playgroud)

如何指定RazorEngine使用的培养物?在拉入字符串时,它似乎总是使用默认文化.我尝试在解析之前设置线程文化而没有运气:

System.Threading.Thread.CurrentThread.CurrentCulture System.Globalization.CultureInfo.CreateSpecificCulture(culture);
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ark 6

您需要设置Thread.CurrentThread.CurrentUICulture属性,而不是属性,或者除了CurrentCulture属性之外.