.Net 리소스 파일 (App_GlobalResources)의 캐리지 리턴 / 줄 바꿈


94

App_GlobalResources.resx파일에 여러 텍스트를 보관하고 있습니다.

텍스트는 여러 줄이어야하고 줄 바꿈을 포함해야합니다. 그러나 내용을 읽을 때 모든 줄 바꿈이 사라졌습니다 ( 제어 문자가 \r\n아닌 인쇄 됨 CRLF 10 13).

\r\n내용을 읽을 때 CRLF 로 다시 대체 (또는 그 문제에 대한 다른 모든 것) 하여이 문제를 해결할 수 있다는 것을 알고 있지만 이러한 명확한 텍스트 대상 resx 파일이 제어 문자를 무시하는 이유가 궁금했습니다. 그리고 CRLF는 일종의 중요합니다 -그리고 이것이 자연스럽게 작동 할 수있는 설정이나 무언가가 있는지 아는 사람이 있다면.

답변:


161

나는 이것을 테스트하기 위해 VB.NET Express Edition을 사용했습니다.

리소스 편집기 (리소스 이름 및 문자열 콘텐츠를 지정할 수 있음)에서 문자열 콘텐츠를 Shift+로 구분하여 넣습니다 Enter.

입력하고 싶다고 가정 해 보겠습니다.

hello  
world

"hello"다음에 Shift+ Enter와 "world"를 입력합니다.

Resources.Resx 파일 (xml 파일)을 보면 속성이있는 노드를 생성하는 것을 볼 수 있습니다. xml:space="preserve" .

두 번째 옵션

또한 Resources.resx를 수동으로 편집하고 콘텐츠를 CDATA 섹션 아래로 수정할 수 있습니다.

"example"이라는 문자열이 있다고 가정합니다. Resources.resx에서 검색하고 단순한 값을 갖는 것과는 반대로 CDATA 섹션을 포함하도록 내용을 변경합니다.

예 :

<data name="example">
<![CDATA[
hello
world
1
2   3
4
]]>  </data>

3
이 답변은 \t탭 을 삽입하는 방법을 찾고 있습니다. 실제로 xml 파일의 탭에 대한 Visual Studio의 설정으로 이동하여 "탭을 공백으로"옵션 (대신 탭 문자를 여러 공백으로 대체 함)을 꺼야 리터럴 탭 문자를 문자열로 가져올 수 있습니다.
Jon O

환상적 ... 가능하다는 것을 몰랐습니다! :)
Leniel Maccaferri

결코 늦지 않는 것이 낫습니다. \ n이 올바른 방법이라고 생각한 후에. 50 개만 변경할 수 있습니다!
Andez 2014 년

내 하루를 구했습니다. 감사합니다!!
xyzWty

35

Shift+ Enter를 사용 하여 새 줄을 삽입합니다.


4
누가 짐작했을까요. ctrl + enter, alt + enter를 시도했습니다. 일관성 MS!
일루미나티

18

resx 디자이너 인터페이스를 사용하는 경우

  • resx 파일에 실제로 텍스트를 입력하는 경우 다음을 사용합니다.

    Shift+Enter

    다른 답변에서 언급했듯이.

  • resx에 텍스트를 붙여 넣는 경우 Visual Studio는 텍스트를 이미있는 것과 동일한 형식 (줄 바꿈 / 여러 줄 포함)으로 붙여 넣습니다.

resx 파일을 XML 형식으로 열 때

(찾기 및 바꾸기를 사용하여 resx 파일을 찾습니다. '검색 결과'패널에서 파일을 클릭하면 VS가 XML로 resx 파일을 엽니 다)

여기에서 원하는대로 텍스트를 추가 할 수 있으며 (값 태그에서) 서식이 유지됩니다.


17

제 상황에서 효과가 있었던 <br>것은 다음과 같은 태그를 사용하는 것입니다.

A text with a line break <br> and this goes in the second line.

여기에 더 많은 정보가 담긴 게시물이 있습니다. resx 리소스 파일에 줄 바꿈 넣기

ASP.NET MVC와 함께 Razor 뷰 엔진을 사용하는 경우 다음을 사용해야합니다.

@Html.Raw(ResourceFile.ResourceString)

<br>을 HTML로 인쇄합니다 .


10
리소스 문자열이 HTML로 사용되는 경우 작동합니다. 그러나 문자열이 HTML이 아닌 방식으로 사용되는 경우 (예 : 데스크톱 앱의 도구 설명 또는 오류 메시지 대화 상자의 문자열) 문자열에 <br> 만 표시됩니다.
Peter Meyer

0

텍스트 편집기로*.resx 파일 을 편집 할 수 있습니다. 로 을 추가 할 수 있습니다.

Visual Studio 내에서도 수행 할 수 있습니다.

  • 리소스 파일을 마우스 오른쪽 버튼으로 클릭
  • 클릭 Open with ...
  • 고르다 XML (Text) Editor with Encoding
  • 딸깍 하는 소리 OK
  • 딸깍 하는 소리 OK인코딩 선택을 위해 다시 (자동 감지)
  • 텍스트의 이름 (키)을 검색합니다 (예 : "MY_TEXT").
  • <value>태그 내부의 텍스트를 편집합니다 . 줄 바꿈의 경우 Enter. 참고 : 줄 바꿈 후 선행 공백을 제거하십시오. 그렇지 않으면 그것들도 삽입됩니다.

Visual Studio 2017로 테스트되었습니다.

예:

  <data name="MY_TEXT" xml:space="preserve">
    <value>Line 1
Line 2
Line 3</value>
  </data>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.