의 차이점은 무엇입 문화권 및 부분 신뢰 코드의 속성을 사용합니다.NET?

StackOverflow https://stackoverflow.com/questions/329033

  •  11-07-2019
  •  | 
  •  

문제

습니다.NET 가 CultureInfo 에서 클래스 System.Globalization 네임스페이스가 있습니다.그것은 두 개의 유사한 특성을 모두 돌아의 값 CultureInfo 유형: CurrentCultureCurrentUICulture.

무엇이 그들 사이의 차이점은?

는 한 사용해야 하는 이유는?

도움이 되었습니까?

해결책

CurrentCulture 시스템의 기본 사용자 로케일의 .NET 표현입니다. 기본 번호 및 날짜 서식 등을 제어합니다.

CurrentUICulture Windows 2000에 도입 된 설정 인 기본 사용자 인터페이스 언어를 나타냅니다. 이는 주로 앱의 UI 로컬라이즈/번역 부분과 관련이 있습니다.

시스템이 어떤 지역 옵션이든 구성되는 모든 지역 옵션은 .NET 앱의 "현재"값이 될 것입니다.

종종 그들은 둘 다 동일합니다. 하지만 내 시스템에서 그들은 다를 것입니다 : 나는 독일어 형식의 숫자와 날짜를 선호합니다. CurrentCulture 독일인이지만 영어로 모든 응용 프로그램을 선호하므로 CurrentUICulture 영어 일 것입니다.

주제에 대한 좋은 기사가 있습니다. 모든 것을 정렬 : 우리가 Current -incultion과 CurrentSuiculture를 모두 가지고있는 이유

다른 팁

이것은 내가 어느 것을 사용해야하는지 기억하는 데 사용하는 간단한 트릭입니다.

(date, currency, double).tostring = CurrentCulture

resource.fr-CA.resx file = currentUICulture

차이:

  1. CurrentCulture 가의 포맷에 대한 날짜와 통화를하는 동안 CurrentUICulture 가 언어/번역.그것에 의해 사용됩니다 ResourceManager 하여 자원 문화이다.
  2. 의 네임스페이스 CurrentCulture 클래스에서는 System.GlobalizationCurrentUICulture 에서 오 System.Threading.
  3. CurrentCulture 지속됨에 따른 요청에 있는 동안 세션 CurrentUICulture 설정해야 하는 모든 요청을 합니다.

모:

그들은 그들 모두는 System.Globalization.CultureInfo 인스턴스가 있습니다.

하는 좋은 방법이 차이를 만들 외에도 좋은 설명에 의해 행해 사용자,그리고 중요한 측면에서 웹 응용 프로그램 개발은 다음과 같다:

  • CurrentCulture 을 나타내는 설정의 웹 서버에 있습니다.예를 들어,ASP.NET 웹 응용 프로그램을 호스팅,독일에서의 가치 CutlureInfo.CurrentCulture 대부분의 아마야 de-DE.따라서,기본 .ToString() 서식 IFormattable 형식을 사용하는 것 기본 독일 formattings,또는 설정되어 있는 서버에서는 OS 기본값으로.

  • CurrentUICulture 서 수집될 수 있는 사용자 에이전트,그리고 나타낼 수 있는 사용자 인터페이스의 문화를 연결하는 클라이언트가 웹 사이트입니다.예를 들어,로드하는 경우 웹사이트에 러시아에서,귀하의 지역 설정을 사용하도록 설정되어 러시아어 언어,사용자 에이전트를 전송하는 로캘 설정을 서버(오페라하고 즉 자동으로 수행되지 않는 Chrome 및 FireFox),의 CurrenUICulture 를 나타내는 것입 ru-RU.이 모든 자원과 같은 지역화된 문자열 검색을 통해 ResourceManager 또는 현지화에서 식을 ASP.NET aspx/ascx 파일을에서 러시아어(는 경우 번역이 이용할 수 있습니다.)

그것은 주목할 가치가 있습니다 CurrentUICulture 'en'(중립 문화)과 같은 비국적 특정 지역을 지원하는 반면 CurrentCulture 'gb'와 같은 국가 별 지역 만 지원합니다. 환경 CurrentCulture 중립 문화에 던질 것입니다 ArgumentException.

나는 이것이 날짜와 통화와 같은 형식이 국가 자체와 더 강력하게 연결되어 있기 때문에, 표시되는 언어는 종종 국가간에 상호 교환 할 수 있다고 가정합니다.

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