2010-02-24 5 views
1

방금 ​​처음으로 다국어 응용 프로그램을 작성하기 시작했습니다. 언어 리소스 파일의 개념을 읽었으며 주요 아이디어를 얻었습니다. 나는 그것을 구현하려고 시도 즉시 문제를 발견 :번역 문제 - 잘못된 언어가 기본적으로 표시됩니다.

resx 파일에 기본 언어 문자열을 입력 한 다음 다른 리소스 파일 (예 : UIStrings.en.resx)을 추가했습니다. 우리 회사는 영국/다른 영어권 국가에 거주하지 않기 때문에, 우리의 신청서는 주로 우리의 언어로 작성되었습니다. 그러므로 기본 언어는 우리 언어 (슬로베니아어)입니다.

.en.resx 파일을 추가하고 올바른 번역을 삽입하고 프로그램을 실행하면 영어 텍스트가 표시됩니다. 나는

CultureInfo.CurrentUICulture = "en-US" 

CultureInfo.Currentculture = "sl-SI" 

동안 내가 (국가 별 옵션의 모든 속성 슬로베니아어 설정을 올바르게 설정되어 있지만) 내가 창문의 영어 버전을 실행하고 있기 때문입니다 내기 때문입니다 생각.

응용 프로그램이 설치된 Windows 언어가 아닌 사용자 언어로 문자열을 표시하도록하려면 어떻게합니까?

답변

1

나는 내 질문에 대한 답변이 블로그 게시물을 발견했습니다.

그래서, 당신은 당신이 "EN에 붙어있는 윈도우 (Englis 버전), 의 가장 일반적인 버전을 사용하는 경우 :

것은 다른 사람이 고민하는 경우 여기에 당신이 할 것입니다 -US " 문화권; 따라서 귀하의 응용 프로그램은 항상 귀하의 영어 리소스를 사용합니다. 이 문제를 완화하려면 주문에서 응용 프로그램 시작시 간단한 트릭을 수행 할 수 있습니다. 응용 프로그램을 CurrentUulture 속성 대신 CurrentCulture 속성을 검색하도록 오도 할 수 있습니다. 응용 프로그램 시작시이 같은 뭔가를 작성할 수 있습니다

Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; 

이 방법, 응용 프로그램 대신 기본 창 현지화 설정의 설정 당신의 세계화를 사용합니다. 신청서는 귀하의 세계화로 현지화되었습니다 언어 및 문화권이 될 것입니다. 제어 패널에서 국가 별 설정을 변경하면 응용 프로그램 언어와 문화권이 자동으로 변경됩니다.

+0

그건 정확히 내가 말한 것과 내가 뭘 얻었는지는 -1이다. –

+0

@ 토마스 : 아니, 내 취향의 언어 (문화 정보)에 하드 코딩하도록했다. 나는 그것을 고치기를 원하지 않으며 수동으로 아무 곳에 나 저장하고 싶지도 않다. 응용 프로그램이 Windows Regional Options에서 설정된 문화권을 사용하기를 원했습니다. –

+0

죄송합니다. 귀하의 질문은 * 응용 프로그램이 설치된 Windows 언어가 아닌 사용자 언어로 문자열을 표시하도록하려면 어떻게해야합니까? *, 그래서 나는 어떤 Windows 옵션도 사용하고 싶지 않다고 생각했습니다.그러나 당신을 위해 일하는 것이 무엇이든 나는 상관하지 않습니다. –

관련 문제