2012-09-27 4 views
1

다국어 웹 앱을 구축 중입니다. 고객은 HK 사이트가 영어로 표시되도록 요구합니다. 불행히도 "en-HK"는 asp.net에서 유효한 문화가 아니므로 "zh-hk"를 사용하여이 문제를 해결하려고 노력했습니다. 그러나 이로 인해 날짜 문자열 (dd-MMM-yyyy 형식)이 중국어로 표시됩니다.영어로 설정된 언어로 홍콩에 asp.net 앱 현지화

언어를 영어로 표시 할 수 있지만 Hk로 현지화 할 수있는 방법이 있습니까?

답변

2

CurrentUICulture은 현지화 된 리소스를 선택하여 영어 문화권 (예 : "en"또는 "en-GB")으로 설정합니다.

CurrentCulture은 일 및 월 이름을 포함하여 숫자 및 날짜 형식 등을 제어합니다. "en-GB"로 설정하거나 "en-GB"를 기반으로 원하는 문화권으로 설정하십시오 (예 : 게시물에서 날짜 구분 기호로 "-"를 표시 할 것을 제안합니다) : dd-MMM-yyyy).

이들 중 어느 것도 시간대 등에 영향을주지 않으므로 단순히 "en-GB"를 사용하는 것이 왜 문제가되는지 실제로 알지 못합니다.

+0

날짜를 en-GB 형식으로 표시해야하지만 말레이시아 링깃으로 현지화 된 통화는 무엇입니까? – Jack

+0

적절한 CurrencySymbol 등이있는 사용자 지정 NumberFormatInfo를 사용하여 사용자 지정 문화권을 만들 수 있습니다. – Joe

1

내가 알고있는 한 자신의 문화권 문자열을 결합 할 수 없다는 것을 의미합니다 (en-HK는 .NET에 나열되어 있지 않으면 유효하지 않습니다).

System.Threading.Thread.CurrentThread.CurrentCulture 
System.Threading.Thread.CurrentThread.CurrentUICulture 

모두 컨트롤 다른 일을 :

그러나, 그들은 스레드 당 두 개의 서로 다른 문화의 설정이 있습니다. 어쩌면 영어로 영어를 사용할 수 있지만 현지화 된 형식으로 HK를 사용할 수 있습니다.

날짜 형식 등을 재정의 할 수도 있으며, 필요한 날짜 형식을 제공하는 더 나은 cultureinfos를 찾을 수도 있습니다.

2

홍콩에 대해서는 잘 모릅니다 만 최근의 역사를 보면, 거기에 사용 된 영어 규칙은 아마도 미국 영어가 아닌 영국 영어를 기반으로했을 것입니다. 홍콩에서 사용되는 간단한 날짜 형식 (위키피디아 here에 문서화되어 있음)은 확실히이 주장을 뒷받침하는 것으로 보입니다 : 일/월/년 (월/일/년 인 미국 스타일과 달리 영국 스타일).

en-HK에 대한 사용자 지정 culture (Windows 7 이상에서 지원됨)를 항상 만들 수 있습니다. 이 작업은 CultureAndRegionInfoBuilder 클래스를 사용하여 수행되며 위에서 설명한 내용이 맞으면 en-KR 문화권을 기반으로 en-HK CultureInfo를 만들 수 있습니다. 원하는 경우 CultureInfo 요소 중 일부를 사용자 정의 할 수 있습니다 (더 중요한 것은 홍콩에서 무엇이 다른지 알고있는 경우). en-GB에 사용자 정의 문화를 기반으로하면 날짜 형식에 영어로 월 이름이 표시됩니다. 그러나 사용자 정의 문화를 만드는 것은 과도한 행동 일 것입니다.

더 간단히하면 en-GB Culture 이름을 사용할 수 있습니다. 귀하의 앱은 아마도 홍콩에 적용되지 않는 en-GB 문화에서 좀 더 이상한 것들을 사용하지 않을 것입니다.

참고 : 경우는 날짜 형식 Thread.CurrentUICulture가 아무런 효과가 없습니다에 대한 혼란이 -이 CurrentUICulture는 달리, 특정 문화를해야 Thread.CurrentCulture로 설정 (어느 무엇에 전적으로 의존의 어떤 중립적 인 문화 "en"과 같은 것은 괜찮습니다).