2010-04-12 3 views
2

현지화 프로젝트를 진행 중입니다. 언어를 변경하면 일부 번역이 크기 때문에 UI가 불안정 해집니다. 예를 들어 "모두 선택"이라는 텍스트가있는 버튼이 있다고 가정 해보십시오. 그러나 이것이 프랑스어로 현지화되면 "Sélectionner tout"라고 읽습니다. Select All보다 크기 때문에 GUI가 영향을받습니다. gui도 지역화 할 수있는 방법이 있습니까?UI의 현지화

+0

WinForms, WPF, web 등 어떤 종류의 프로젝트 일 필요가 있습니다. –

+0

웹 사이트이며 기본적으로 변경 사항은 aspx 페이지에 있습니다. –

답변

1

"Select All"의 최종 텍스트는 임의의 길이의 텍스트로 변환 될 수 있기 때문에 "Select All"이 "Sélectionner tout"로 변경되고 UI가 방해 받기를 원하지 않습니다. %로 작성하여 최종 텍스트에 충분한 공간이 있기를 바랍니다.

길이에 따라 런타임에서 너비를 처리 할 방법이 있는지 잘 모르겠습니다. 길이를 셀 수 있고 너비를 픽셀로 지정하면 좋은 아이디어가 될 수 있습니다. 그래서 텍스트가 적고 퍼센테이지 폭을 줄 수 있습니다.

1

나는 그것을 처리하기 위해 의사 문화를 만드는 것이 좋습니다.

의사 문화에는 모든 문자열 중에서 지정된 문자열에 대해 가장 큰 번역이 포함됩니다.

예를 들어 이름이 strings.resx 인 Resx 파일이 있고 다른 culture 기반 파일이 french strings.fr.resx에 있고 dutch의 다른 파일이 strings.nl.resx 인 경우가 있습니다.

다음 string.pseudocult.resx라는 또 다른 파일을 작성, pseudocult는 당신이 예를 들어 지원되지 않을 것이다 어떤 문화로 대체되어야한다

strings.resx

< data name="Select_All" xml:space="preserve"> 
    < value>Select All</value> 
< /data> 

문자열을 string.az.resx .fr.resx

< data name="Select_All" xml:space="preserve"> 
    < value>Sélectionner tout</value> 
< /data> 

< data name="Select_All" xml:space="preserve"> 
    < value>Alles selecteren</value> 
< /data> 
을 strings.nl.resx
< data name="Select_All" xml:space="preserve"> 
    < value>Sélectionner tout</value> 
< /data> 

strings.az.resx

AZ의 값은 GUI를 기반으로 가장 긴 번역 프랑스어에 있던이 경우, 지원 문화에서 번역을 사용하여 GUI를 기반으로 가장 긴 문자열을 찾을 수에 의해 측정되어야한다 문화. 이것은 응용 프로그램의 각 컨트롤에 대한 최소 크기와 번역을 변경해야하는지에 대한 통찰력을 제공합니다.

그렇지 않으면 생략해야하는 경우 길이가 원래 요구 크기의 5 ~ 300 % 미만이고 원래 크기의 5 ~ 170 %보다 큰 단어가 포함 된 컨트롤의 크기를 유지해야합니다.

0

Visual Studio 디자이너에서 UI를 열고 Form 또는 UserControl의 속성을 Localizable에서 true으로 설정하십시오. 이 단계를 통해 새로운 .resx 파일이 속성의 모든 값을 포함하는 UI 요소에 자동으로 추가됩니다. 이 값은 첫 번째 단계에서 적용되며 현재 문화권에 일치하는 값이 발견되면 실행됩니다.

다음은 단순히 자신의 텍스트 및 레이아웃 집합을 지원하려는 언어로 Language 속성을 전환하십시오. UI를 변경하면 다른 .resx이 구성 요소에 추가되고 변경하면이 파일에 기록됩니다.

Localizable 속성을 true으로 설정하고 Language 속성을 새 지원 언어로 전환하고 필요에 따라 GUI를 조정하십시오.

현지화에 대한 자세한 내용은 at MSDN을 참조하십시오.