2016-07-05 3 views
3

Windows 용 Windows Mobile 용 UWP 앱이 있습니다. 앱은 현재 영어 (en-US)와 체코 어 (cs-CZ)의 두 가지 언어를 제공합니다. 내가 데 문제는 (기본 응용 프로그램 언어는 en-US입니다) 스페인 예를 들어, 사용자가 응용 프로그램을 사용하는 경우, 날짜 및 시간 형식 스페인, 미국 아니라는 것이다 :실제 시스템 문화재 정보 얻기

DateTime.Now.ToString("d", System.Globalization.CultureInfo.CurrentCulture); 
DateTime.Now.ToString("d", System.Globalization.CultureInfo.CurrentUICulture); 
DateTime.Now.ToString(System.Globalization.DateTimeFormatInfo.CurrentInfo.ShortDatePattern); 

어떻게 든 싶습니다 ACTUAL 시스템 언어를 사용하여 전화 언어에 따라 올바른 형식의 날짜와 시간을 갖도록하십시오. 현재 System.Globalization 네임 스페이스의 모든 API가 앱에서 사용하는 문화 정보를 반환합니다.

답변

3

더 많은 검색 후, 나는 다음과 같은 질문 건너 관리했습니다 :

Windows.System.UserProfile.GlobalizationPreferences.Languages[0] 

이가에서 첫 번째 언어에 대한 언어 문자열을 반환 : 질문의 저자는 다음과 같은 API 호출을 언급 Date Time formatting in Windows 10 Universals (Store) Apps 사용자의 시스템 환경 설정 언어 목록.

다음과 같은 방법을 사용하여 나에게 예상 된 결과를 제공합니다

이 원하는 언어 및 선호 로케일이 동일하지 않은 시스템에 실패
DateTime.Now.ToString("d", new System.Globalization.CultureInfo(Windows.System.UserProfile.GlobalizationPreferences.Languages[0])); 
+1

. 사용자가 선호하는 날짜와 시간 형식이 아닌, 사용자가 선호하는 언어에 기반한'CultureInfo' 객체를 만들고 있습니다. – IInspectable

+0

@IInspectable 귀하의 관찰에 감사드립니다! 나는 약간의 연구를했으며, 불행하게도 거기에 어떤 API도 존재하지 않는 것 같습니다. UWP 'DatePicker'와 'TimePicker'조차도 기본 형식이 아닌 첫 번째 시스템 언어를 기반으로 형식을 사용합니다. 이것은 나머지 시스템 동작과 일치합니다. –

+0

그래도 일부 응용 프로그램은 지역 설정을 올바르게합니다. 전적으로 UWP 개발에 전념하지는 않았지만 전용 (아직 잘 숨겨져있는) API가 있는지, 또는 해당 앱이 원하는 지역 설정을 평가/추측 할 수 있는지 여부를 알 수 있습니다. – IInspectable