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

C#/Razor-从RazorEngine模板访问本地化字符串资源,c#,.net,razor,internationalization,razorengine,C#,.net,Razor,Internationalization,Razorengine,我正在通过使用RazorEngine填充CSHTML模板来构建动态HTML电子邮件。我需要用多种语言发送电子邮件,我想使用模板中的本地化字符串资源来切换语言,如下所示: @Resources.EmailTemplate.OrderNumberLabel 如何指定RazorEngine使用的区域性?拉入字符串时,它似乎总是使用默认区域性。我尝试在解析之前设置线程区域性,但没有成功: System.Threading.Thread.CurrentThread.CurrentCulture Syst

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

@Resources.EmailTemplate.OrderNumberLabel
如何指定RazorEngine使用的区域性?拉入字符串时,它似乎总是使用默认区域性。我尝试在解析之前设置线程区域性,但没有成功:

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

注意:我见过其他对每种语言使用不同CSHTML文件的实现,但我希望将本地化内容和标记分开。

请查看此处的本地化模板服务

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

您是否尝试过设置
Thread.CurrentThread.CurrentUICulture
而不是
CurrentCulture
?除了@Mark所说的之外,您还可以检查您的resx文件属性吗?如果它不是这样的“构建操作:嵌入资源;复制到输出目录:请勿复制”,您可以相应地更改它并重试。headdesk@Mark,您是赢家-如果您写出答案,我将批准它。非常感谢。