2010-01-18 5 views
1

, 나는 3 rsources 내가 하나 개의 기본 클래스를 생성해야하고 모든 페이지가 그 클래스에서 상속asp.net multiligual 웹 사이트 문화 설정은 영어 영국과 스웨덴에서 asp.net 다국어 웹 사이트에서

1. en-GB.resx 
2. sv-SE.resx 
3. Culture neutral file. 

파일이 있습니다. 이 전 UICULTURE 문화

1. Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture.Name; 
2. Thread.CurrentThread.CurrentCulture = CultureInfo.CurrentCulture.Name; 

질문을 설정하는 선 다음 쓰기 : 가정하자 브라우저 언어 스웨덴의 경우는 지금 CurrentUICulture and CurrentCulture values as sv-SE.

을 찾을 수 있기 때문에 브라우저 언어는 스웨덴어입니다 가정을 (SV-SE는) 다음이 코드가 실행됩니다 (SV)은 단지,이 경우 값에

CurrentUICulture = sv; and CurrentCulture = sv-SE 

로 설정됩니다 이제 문제는 사용자가 내가 영어로 보관 문화 중립 리소스 파일의 모든 텍스트를 볼 수 있습니다입니다 동안 모든 소수 구분 기, 통화 및 기타 ~에 표시됩니다. 스웨덴. usr에 혼란스럽게 보입니다.

올바른 접근 방법은 무엇입니까? 나는 다음과 같은 해결책을 생각하고있다. 제발 정정 해주세요.

1. i can create extra resource file for sv also. 
2. I check value of CurrentUICulture in base class and if it is sv then replace it with sv-SE 

하나가 올바른 접근 방식이 또는 일을 다른 좋은 방법이 있나요하는 제발 올바른?

답변

1

언급 한 것처럼 기본 클래스의 값을 쉽게 바꿀 수 있습니다. 유지 관리하기가 더 어려워 질 것이므로 데이터를 복제하는 추가 리소스 파일을 작성하지 않아도됩니다.

if (Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName.ToLower() != "sv") 
     ...replace with sv-SE 

편집 추가 정보를 원하시면이 다른 질문] 1를 참조하십시오. 그 질문의 대답에 언급 된 좋은 기사가 있습니다

+0

나는 또한 확인할 필요가 없다고 생각합니다. 이미 CultureInfo.CurrentCulture.Name이있는 sv-SE가 있기 때문에; 그리고 나는이 방법으로이 값을 할당 할 수있다. 1. Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentCulture.Name; 2. Thread.CurrentThread.CurrentCulture = CultureInfo.CurrentCulture.Name 뭐라고 말합니까? –

+0

한 문화권에는 숫자가없고 다른 문화권에는 숫자가 필요하지 않을 경우 확실히 할 수 있습니다. – tzup