2016-11-03 67 views
0

我一直堅持這個小時。我用Google搜索一番,發現這一點:如何以編程方式獲取Windows 10顯示語言?

CultureInfo culture = CultureInfo.CurrentUICulture; 

這:

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

但都引用英語。因爲英文是我係統語言列表中的第一個。但英文不是我係統的顯示語言,而中文是。

那麼有沒有辦法通過編程獲得windows系統的顯示語言?

感謝您的任何幫助。

+0

嗯,沒有「系統語言列表」。有一個語言首選項列表(具有上移和下移命令)。如果英語是該列表中的第一個,那麼這是您的偏好以及您從GlobalizationPreferencess.Languages [0]中獲得的內容。也許你應該改變你的偏好,點擊上移/下移來重新排列列表,也許你想用Windows.Globalization.Language.CurrentInputMethodLanguageTag代替。 –

+0

對不起,我的意思是一個語言偏好的列表。我試圖讓英語成爲默認語言,但它不起作用。 Windows顯示語言仍然是中文,所以我的系統仍然顯示中文。我google了一下,看來我使用的是Windows 10 Single language Chinese Edition,在這種情況下,我只能使用一種語言。 – Hunter

回答

0

使用System.Globalization.CultureInfo

  var ci = CultureInfo.InstalledUICulture; 

      Console.WriteLine("Default Language Info:"); 
      Console.WriteLine("* Name: {0}", ci.Name); 
      Console.WriteLine("* Display Name: {0}", ci.DisplayName); 
      Console.WriteLine("* English Name: {0}", ci.EnglishName); 
      Console.WriteLine("* 2-letter ISO Name: {0}", ci.TwoLetterISOLanguageName); 
      Console.WriteLine("* 3-letter ISO Name: {0}", ci.ThreeLetterISOLanguageName); 
      Console.WriteLine("* 3-letter Win32 API Name: {0}", ci.ThreeLetterWindowsLanguageName); 

的WinRT

對於WinRT的我想你必須使用ApplicationLanguages APIs,但我沒能測試,因爲我運行的另一個版本,我不能爲你的代碼ofwin。

+0

感謝您的快速回復,@Sid。但是我的代碼中沒有屬性InstalledUICulture。我的代碼是在Windows運行時不能引用.Net Framework中的功能?我不確定。但是,我忘了提及它。我試過了。有沒有另一種方式? – Hunter

+0

謝謝你的幫助。但我沒有做到這一點。你知道嗎? Microsoft的Store應用程序不使用顯示語言,而是使用語言首選項列表中的第一個。所以我也使用它。我不需要停留在這種顯示語言上。但是我會在這裏留下問題,以防某人感興趣。再次感謝您的建議,並對遲到的回覆感到抱歉(正在處理其他問題)。 – Hunter

相關問題