2014-03-03 5 views
3

RazorEngine을 사용하여 동적 HTML 전자 메일을 작성하여 CSHTML 템플릿을 채 웁니다. 나는 여러 언어로 이메일을 보낼 필요가 있고, 그래서 같은 언어를 전환 내 템플릿 내에서 지역화 된 문자열 리소스를 사용하고 싶습니다 :C#/Razor - RazorEngine 템플릿에서 지역화 된 문자열 리소스에 액세스

@Resources.EmailTemplate.OrderNumberLabel 

어떻게 RazorEngine에서 사용하는 문화를 지정할 수 있습니다? 문자열을 가져올 때 항상 기본 문화권을 사용하는 것처럼 보입니다. 나는 행운 구문 분석하기 전에 스레드 문화를 설정하려고했습니다 :

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

참고 : 나는 각 언어에 대해 다른 CSHTML 파일을 사용하고 다른 구현을 본 적이 있지만 내가 계속하고 싶습니다 지역화 된 콘텐츠와 마크 업이 분리되었습니다.

+0

'CurrentCulture' 대신 또는'CurrentCulture'에'Thread.CurrentThread.CurrentUICulture'를 설정해 보았습니까? – Mark

+0

@Mark이 말한 것에 덧붙여, resx 파일의 속성을 검사 할 수 있습니까? 아직이 "Build Action : Embedded Resource, Copy to Output Directory : Do not Copy"가 적절하게 변경하고 다시 시도 할 수 있는지 확인하십시오. –

+0

* headdesk * @ 마크, 당신이 승자입니다 - 당신이 대답을 쓰면 나는 그것을 승인 할 것입니다. 정말 고마워. –

답변

6

를보고하십시오.