2014-02-07 5 views
0

나는 앱 언어 정보를 반환하는 Windows Store 앱으로 C# 코드를 가지고 있습니다. 내 앱이 "fr"을 지원하도록 구성되어 있고 기기가 해당 언어로 설정된 경우 앱은 앱 언어 정보가 "fr"이라고 판단합니다.Windows Store 응용 프로그램에서 장치 문화권 설정을 검색하려면 어떻게합니까?

그러나 앱이 "es"를 지원하도록 구성되어 있고 해당 기기가 특정 언어 인 "es"로 설정되어있는 경우 기기 설정을 감지 할 수있는 방법을 찾을 수 없습니다. 나는 단지 기본 app 언어를 얻는다.

기기 정보를 얻는 것이 불가능하며, 기기가 어떤 언어를 사용할지를 앱에 전달하는 정보 만 가져올 수 있다고 생각합니다. 하지만 내 프로젝트가 기기 및 앱 언어 설정에 많이 의존하기 때문에이 질문을해야합니다.

영어로만 지원하는 앱을 쓰고 싶지만 자신의 기기가 프랑스어 또는 스페인어 등으로 구성되어 있음을 사용자에게 알릴 수 있어야합니다.이 작업을 수행 할 수있는 트릭이 있나요? ?

다음은 앱에서 볼 수있는 언어 코드를 알려주는 코드입니다. 장치 언어가 응용 프로그램을 지원하지 않는 경우이 나에게 장치 설정을 말하지 않습니다 :

using System.Globalization; 
... 
CultureInfo ci = CultureInfo.CurrentUICulture; 
Data.Add("language", ci.TwoLetterISOLanguageName); //My own code that adds the two letter code special data object 
+0

어떻게 감지하려고합니까? – crea7or

+0

코드를 표시하도록 내 질문이 업데이트되었습니다. 이 코드는 앱이 기기 문화권 설정을 지원하도록 제작되지 않은 경우 기기 문화권 설정을 표시하지 않습니다. –

답변

2

나는이 스레드에 대한 답을 발견

How to get actual language in a WinRT app?

를 Windows.System 사용. UserProfile.GlobalizationPreferences.Languages ​​[0]은 사용자가 시간 및 언어 아래의 Metro 스타일 PC 설정에서 지정하는 언어 설정을 제공합니다. 이 선택은 실제로 원하는 Windows 운영 체제 표시 언어를 변경하는 것으로 보이지 않습니다. 그러나 이것은 OS 디스플레이 언어가 변경되면 자동으로 변경되는 것으로 보이므로이 용도로 사용하는 것이 아마도 적절한 기능 일 것입니다.

다른 스레드는 Windows Phone에 관한 것이지만 C#의 Windows 8 Store 응용 프로그램에서 작동합니다.