Подтвердить что ты не робот

Получить язык операционной системы в С#

Как мы можем получить текущий язык операционной системы, используя переменную Win32_OperatingSystem Class и OSLanguage в С#? Спасибо..

4b9b3361

Ответ 1

Вот так:

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 ;
}

Ответ 2

Возможно, чтобы сделать это немного яснее (или нет), три установленные культуры, CurrentUI и CUrrent установлены не так очевидным образом.

Если на панели управления в системе Englisk UK (Windows 10 Technical Preview) я указываю немецкий (швейцарский) формат даты/времени вывод следующей программы:

        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

Значение, на которое установлено, не может повлиять, но CurrentUI и Current могут отличаться. Где CurrentUI вероятно означает локализацию ОС, а Current только говорит о том, как отображаются даты и время чисел.

Часто мне приходится сталкиваться с программами установки, которые принимают Current для предпочтительного языка, где он, вероятно, даст более последовательный опыт, если вместо этого используется CurrentUI.

Ответ 3

using System;

class Program {
    static void Main(string[] args) {
        Console.WriteLine("You are speaking {0}",
            System.Globalization.CultureInfo.CurrentCulture.EnglishName);
        Console.ReadLine();
    }
}

Ответ 4

Используя С#, вы можете использовать класс CultureInfo. CurrentCulture свойство получить культуру системы и CurrentUICulture для пользовательской культуры.