Frage

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.

War es hilfreich?

Lösung

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

Andere Tipps

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top