2012-05-24 2 views
0

C# .net 및 VS2010으로 개발 된 사이트가 있습니다. 그것은 지역화되었고 전반적으로 잘 작동합니다. 그러나 일부 현지화 문자열이 가장 잘 보이지 않습니다.
세션이 만료 :C에서 현지화 문자열의 새 라인

예를 들어, 나는

이 현재는 다음과 같이 나타납니다 로그인 페이지 상단에 메시지가 있습니다. 계속
에 로그인하십시오.

다음과 같이 표시하고 싶습니다.
세션이 만료되었습니다.
계속 하시려면 로그인 해주세요.

너비가 언어마다 다를 수 있기 때문에 포함 된 div의 크기를 변경할 수 없습니다.

지역화 파일에 레이아웃 기능을 넣을 방법을 찾고 있습니다. 가장 간단한 방법은 문자열에 줄 바꿈 문자를 넣는 것입니다. 그러나 \ n, \ r \ n 및 <br/>은 문자열 주위에 표시되기 때문에 모두 문자열에 나타납니다.

다른 방법이 효과가 있습니까?

+0

다른 건 몰라도, 당신은 두 개의 문자열로 텍스트를 분할 고려 했는가? –

+0

나는 그것을 고려했지만, 선호하지는 않을 것이다. 이것이 문제이며 긴밀하게 연결된 것을 번역하려고하는 많은 경우가 있지만 뚜렷한 문자열은 악몽이 될 수 있습니다. 또한 다른 언어로 전체 개념을 한 줄로 전달할 수있는 좋은 방법이 있습니다. 반대로, 시각적으로 만족스러운 형식으로 동일한 개념을 전달하려면 다른 언어에서 세 줄이 필요할 수 있습니다. – davids

+0

http://stackoverflow.com/questions/931114/carriage-return-line-feed-in-net-resource-file-app-globalresources –

답변

1

이 경우 가장 좋은 방법은 문자열 (영어와 번역 모두)에서 HTML 서식을 사용하고 필요에 따라 번역을 조정하는 것입니다. 문자열에 <br />을 포함시키지 말고 원하는대로 렌더링하십시오. WebForms 또는 ASP.NET MVC를 사용하고 있는지 모르겠지만 MVC의 경우 기본 동작 (문자열의 자동 HTML 인코딩)을 피할 수 있습니다. Html.Raw 도우미를 사용하여 대신 예 :

<div class='whatever'>@Resources.MyString</div> 

이를 수행

<div class='whatever'>@Html.Raw(Resources.MyString)</div> 
+0

완벽하게 작동합니다! 감사. – davids