문제

다국어가 필요한 프로그램이 있습니다. 내가 필요로하는 것과 웹에서 찾은 것의 유일한 차이점은 내 프로그램이 실행될 모든 컴퓨터가 EN의 현지화로 설정되어 있다는 것입니다.

우리는 영어를 사용하는 직원과 마찬가지로 프로그램을 사용할 수있는 스페인어를 사용하는 직원이 있습니다. 따라서 컴퓨터의 현지화를 기반으로 무언가를 설정할 수는 없으므로 코드로 수행해야합니다.

나는 내가 가진 모든 양식에 대해 XML 파일 (실제로 데이터 세트)을 만들려고하고 각 데이터 테이블을 선택 가능한 언어로 만들려고 생각했습니다. 각 테이블에는 필요한 라벨/확인란 등을 설정하는 정보 (제어 이름, 속성 및 텍스트)가 있어야합니다. 가능한 경우 이러한 모든 컨트롤을 통과하고 이름을 바꿀 수있는 일반적인 기능을 갖도록 새로운 양식 컨트롤을 만들어야합니다.

<DataSet>
   <English>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hello</Text>
   </English>
   <English>
     <ControlName>labelBye</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Bye</Text>
   </English>
   <Spanish>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hola</Text>
   </Spanish>
</DataSet>

또한 각 양식의 리소스 파일의 문자열에 대해 많이 알지 못했습니다. 거기에서 그것을하고 .NET 기능을 사용하여이를 달성 할 수 있습니까?

그래서 나는 방금 쓴 프로그램으로 돌아가서 이것을 넣고 싶지 않기 때문에 많은 제안을 할 것입니다.이 빨판으로 이미 많은 시간을 보냈을 때 돌아가고 더 많은 기능을 추가하는 것을 싫어합니다. ...

감사

도움이 되었습니까?

해결책

원하는 문화를 코드로 설정할 수 있습니다.

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES");

보다 이 MSDN 기사 더 많은 정보를 위해서.

다른 팁

고통이지만 어렵지는 않습니다. VS2008의 Winform Designer 내에서 양식을 선택하고, 속성을보고, Localizable = true를 설정하십시오 (파일 뒤에 부분 클래스/코드를 보는 경우 같은 모습이 표시되는 새로운 줄이 표시됩니다.

  resources.ApplyResources(this, "$this")

그런 다음 지원하려는 각 로케일에 대해 언어를 선택하고 기본 로컬에 필요한 변경 사항을 현지화하십시오.

Windows를 사용하면 사용자가 지정된 응용 프로그램에 대해 다른 로케일을 지정할 수 있다고 생각합니다. 마지막으로 Windows 2000으로 이것을 시도했습니다.

Windows를 사용하면 기계 문화를 가질 수 있지만 브라우저의 경우 PC의 개별 사용자가 선호하는 배양을 선택할 수 있습니다 (예 : 어쨌든 Firefox). PC의 다른 모든 것은 IE의 영어, 도구, 옵션으로 이동하고 일반 탭의 언어 버튼을 클릭하십시오. 선호하는 언어 계층을 지정할 수 있습니다.

그렇지 않으면 Joes 대답과 함께 가십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top