【发布时间】:2011-08-08 06:47:36
【问题描述】:
我们如何在 c# 中使用 Win32_OperatingSystem 类和 OSLanguage 变量获取当前操作系统语言? 谢谢..
【问题讨论】:
-
它有是
Win32_OperatingSystem
吗? -
有一秒钟我以为这是要求获取编写操作系统所用的编程语言。
标签: c#
我们如何在 c# 中使用 Win32_OperatingSystem 类和 OSLanguage 变量获取当前操作系统语言? 谢谢..
【问题讨论】:
Win32_OperatingSystem
吗?
标签: c#
像这样:
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 ;
}
【讨论】:
CultureInfo.InstalledUICulture
——它被定义为“代表随操作系统安装的文化的CultureInfo
...... .在本地化操作系统中,如日文版 Windows,此属性返回操作系统的文化。此属性等效于 Windows API 中的GetSystemDefaultUILanguage
。"
也许是为了更清楚一点(或不),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();
}
}
【讨论】: