[英]Get operating system language in c#
我們如何使用 C# 中的 Win32_OperatingSystem 類和 OSLanguage 變量獲取當前操作系統語言? 謝謝..
像這樣:
static int Main( string[] argv )
{
CultureInfo 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 ) ;
return 0 ;
}
也許為了讓這更清楚(或更清楚),Installed、CurrentUI 和 Current 這三種文化的設置方式不太明顯。
如果在英語英國系統(Windows 10 技術預覽版)的控制面板中,我指定德語(瑞士)日期/時間格式輸出以下程序:
CultureInfo ci = CultureInfo.InstalledUICulture;
Console.WriteLine("Installed Language Info:{0}", ci.Name);
ci = CultureInfo.CurrentUICulture;
Console.WriteLine("Current UI Language Info: {0}", ci.Name);
ci = CultureInfo.CurrentCulture;
Console.WriteLine("Current Language Info: {0}", ci.Name);
因此:
Installed Language Info:en-GB
Current UI Language Info: en-GB
Current Language Info: de-CH
這意味着 Installed 不會受到影響,而是在安裝時設置,但 CurrentUI 和 Current 可以不同。 CurrentUI 可能意味着操作系統的本地化(語言設置),而 Current 僅說明數字日期和時間的顯示方式(區域設置)。
我經常遇到將 Current 作為首選語言的安裝程序,如果使用 CurrentUI,它可能會提供更一致的最終用戶體驗。
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("You are speaking {0}",
System.Globalization.CultureInfo.CurrentCulture.EnglishName);
Console.ReadLine();
}
}
我們如何在 c# 中使用 Win32_OperatingSystem 類和 OSLanguage 變量獲取當前的操作系統語言? 謝謝..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.