의 차이점은 무엇입 문화권 및 부분 신뢰 코드의 속성을 사용합니다.NET?
-
11-07-2019 - |
문제
습니다.NET 가 CultureInfo
에서 클래스 System.Globalization
네임스페이스가 있습니다.그것은 두 개의 유사한 특성을 모두 돌아의 값 CultureInfo
유형: CurrentCulture
고 CurrentUICulture
.
무엇이 그들 사이의 차이점은?
는 한 사용해야 하는 이유는?
해결책
CurrentCulture
시스템의 기본 사용자 로케일의 .NET 표현입니다. 기본 번호 및 날짜 서식 등을 제어합니다.
CurrentUICulture
Windows 2000에 도입 된 설정 인 기본 사용자 인터페이스 언어를 나타냅니다. 이는 주로 앱의 UI 로컬라이즈/번역 부분과 관련이 있습니다.
시스템이 어떤 지역 옵션이든 구성되는 모든 지역 옵션은 .NET 앱의 "현재"값이 될 것입니다.
종종 그들은 둘 다 동일합니다. 하지만 내 시스템에서 그들은 다를 것입니다 : 나는 독일어 형식의 숫자와 날짜를 선호합니다. CurrentCulture
독일인이지만 영어로 모든 응용 프로그램을 선호하므로 CurrentUICulture
영어 일 것입니다.
주제에 대한 좋은 기사가 있습니다. 모든 것을 정렬 : 우리가 Current -incultion과 CurrentSuiculture를 모두 가지고있는 이유
다른 팁
이것은 내가 어느 것을 사용해야하는지 기억하는 데 사용하는 간단한 트릭입니다.
(date, currency, double).tostring = CurrentCulture
resource.fr-CA.resx file = currentUICulture
차이:
CurrentCulture
가의 포맷에 대한 날짜와 통화를하는 동안CurrentUICulture
가 언어/번역.그것에 의해 사용됩니다ResourceManager
하여 자원 문화이다.- 의 네임스페이스
CurrentCulture
클래스에서는System.Globalization
동CurrentUICulture
에서 오System.Threading
. 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
.
나는 이것이 날짜와 통화와 같은 형식이 국가 자체와 더 강력하게 연결되어 있기 때문에, 표시되는 언어는 종종 국가간에 상호 교환 할 수 있다고 가정합니다.