Domanda

I'm building dynamic HTML emails by using RazorEngine to populate a CSHTML template. I need to send emails in multiple languages, and I'd like to use localized string resources within my template to switch languages, like so:

@Resources.EmailTemplate.OrderNumberLabel

How can I specify the culture used by RazorEngine? It always appears to use the default culture when pulling in strings. I've tried setting the thread culture before parsing with no luck:

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

Note: I've seen other implementations that have used a different CSHTML file for each language, but I'd like to keep the localized content and the markup separated.

È stato utile?

Soluzione

You need to set the Thread.CurrentThread.CurrentUICulture property instead of, or in addition to, the CurrentCulture property.

Altri suggerimenti

Please look at The localized templates service here http://netmvc.blogspot.ca/2012/04/localizable-text-template-engine-using.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top