2014-03-03 19 views
3

我使用RazorEngine構建動態HTML電子郵件來填充CSHTML模板。我需要發送電子郵件的多國語言,我想用我的模板內的本地化字符串資源切換語言,就像這樣:C#/ Razor - 從RazorEngine模板訪問本地化的字符串資源

@Resources.EmailTemplate.OrderNumberLabel 

我怎麼可以指定RazorEngine使用的文化?拉入字符串時,它始終顯示使用默認文化。我試過,沒有運氣解析之前設置線程的文化:

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

注:我已經看到了已經使用的每種語言不同的CSHTML文件等實現,但我想保持本地化的內容和標記分開。

+0

你有沒有嘗試設置'Thread.CurrentThread.CurrentUICulture'而不是或者'CurrentCulture'? – Mark

+0

除了@Mark所說的,你還可以檢查你的resx文件屬性,如果它不是這樣的「生成操作:嵌入的資源;複製到輸出目錄:不要複製」,你可以相應地改變它,然後再試一次。 –

+0

* headdesk * @Mark,你是贏家 - 如果你寫了一個答案,我會批准它。非常感謝。 –

回答

6

您需要設置Thread.CurrentThread.CurrentUICulture屬性,而不是,或補充,該CurrentCulture財產。

相關問題