2017-03-01 6 views
0

힌디어 - 영어 - 스페인어에 대해 3 개의 로컬 리소스가있는 ASP.NET 다중 언어 응용 프로그램이 있습니다.ASP.NET의 로컬 리소스는 컨트롤 크기를 수정할 수 있습니까?

모든 "xxxxResource1.Text"& "xxxxResource1.ToolTip"에 대한 정의는 브라우저에서 선택한 기본 언어에 따라 잘 작동합니다.

제 질문은 같은 로컬 리소스 파일 안에있는 컨트롤의 크기를 처리 할 수있는 방법이 있다면, 제가 생각하기에, 당신이 상상할 수 있듯이, 단어의 번역은 영어 버전보다 적거나 많을 수 있기 때문입니다 . 그래서 응용 프로그램을 다른 언어로 볼 경우 그리드 열, 텍스트 상자, 레이블 등을 조정하고 싶습니다.

단추의 너비를 정의하지 않고 모든 것을 열어두고 텍스트에 추가 기능을 추가 할 수 있지만 필요한 경우 % 또는 px 값을 지정할 수있는 것을 선호합니다.

로컬 리소스가 컨트롤에 대한 그런 종류의 정보를 처리 할 수없는 경우 언어에 따라 컨트롤의 크기를 지정하는 좋은 방법은 무엇입니까?

PD. 사실 처음 로컬 리소스에서이 값을 설정하려고했을 때 처음 생각한 것은 "xxxxResource1.Width"를 사용했지만 작동하지 않았습니다.

미리 알려 주셔서 감사합니다. 감사합니다.

+0

필자가 찾고자하는 것이 아니지만 일반적으로 가변 폭 컨트롤 대신 줄임표를 사용하고 마우스 오버시 전체 텍스트를 표시 할 수있는 title 속성을 사용합니다. 레이아웃 파일을 번역 파일에 저장하는 것은 좋은 생각이라고 생각하지 않습니다. – r3bel

+0

안녕 반란군, 귀하의 의견을 많이 주셔서 감사합니다 .... 나는 처음에는 이것이 좋은 생각처럼 들리지는 못했지만, 내 문제는 정확히 .... 그 레이아웃을 설정할 수 있기를 바랍니다. 언어가 브라우저에서 선택 되었기 때문에 로컬 리소스를 고려하고있었습니다. mouseover에서만 전체 텍스트를 표시하는 제안에 대해 ...글쎄, 내 상황은 많은 요소가있는 페이지가 있고 텍스트에 따라 올바른 레이아웃을주고 싶다. –

답변

1

use the meta:resourcekey attribute 인 경우 컨트롤의 속성을 리소스에 바인딩 할 수 있습니다. 리소스는 컨트롤이 렌더링 될 때 자동으로 컨트롤에 적용됩니다.

글쎄, 일종의.

문자열 인 속성에만 적용됩니다. 따라서 Text, TooltipCssClass에서 작동합니다. 그러나 Width은 문자열이 아니며 (Unit, 그게 무엇이든간에) Style, 믿거 나 말거나, 문자열이 아닙니다. 사전 개체의 일종입니다.

내 폭력에 대한 몇 가지 CSS 클래스를 정의하고 텍스트와 함께 적용하는 것이 좋습니다.

예 버튼을 마크 업 :

<asp:Button ID="Button1" runat="server" meta:resourcekey="Button1Resource1" Text="This actually gets ignored" /> 

RESX :

<data name="Button1Resource1.Text" xml:space="preserve"> 
    <value>Localized text goes here</value> 
</data> 
<data name="Button1Resource1.CssClass" xml:space="preserve"> 
    <value>Width120</value> 
</data> 

CSS :

.Width120 { width: 120px } 

적합하지만, 아주 간단하지 않습니다. 어쩌면 열 종류의 CSS 클래스를 사용하여 폭 넓은 범위를 커버 할 수 있습니다.

+0

안녕하세요 John, 귀하가 제안하는 모든 정보와 접근 방식에 대해 감사드립니다. 나는 그것을 오늘 시험해 볼 것이지만, 내가 보는 것에서 이것은 내가 바라는 좋은 접근법이 될 수있다. 문안 인사 –