在c#中获取操作系统语言
如何在c#中使用Win32_OperatingSystem Class和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 ; }
也许为了使这三种文化安装得更清楚(或不是),CurrentUI和CUrrent的设置方式并不那么明显。
如果在Englisk UK系统的控制面板(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作为首选语言,如果使用CurrentUI,它可能会提供更一致的体验。
using System; class Program { static void Main(string[] args) { Console.WriteLine("You are speaking {0}", System.Globalization.CultureInfo.CurrentCulture.EnglishName); Console.ReadLine(); } }
使用C#,您可以使用CultureInfo类。 CurrentCulture属性将系统的文化和CurrentUICulture用于用户的文化。