簡體   English   中英

在c#中獲取操作系統語言

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM