如何检查所需语言的键盘布局?

时间:2018-09-10 12:02:17

标签: c#

我要做的第一件事是收集有关系统中语言的信息:

public static InputLanguage GetLanguage(string language)
{
  language = language.ToLower();
  foreach (InputLanguage lang in InputLanguage.InstalledInputLanguages)
  {
    if (lang.LayoutName.ToLower() == language)
    {
        return lang;
    }
  }
  return null;
}

然后我尝试通过功能if

检查语言
if(InputLanguage.CurrentInputLanguage == GetLanguage("US"))
{
  Console.Write("English is defined!");
}
else if (InputLanguage.CurrentInputLanguage == GetLanguage("RUS"))
{
  Console.Write("Russian is defined!");
}

但是语言并不确定。 告诉我如何检查语言?

我需要通过if(check language)函数检查语言,使其为EnglishRussian

1 个答案:

答案 0 :(得分:1)

使用InputLanguage的{​​{3}}属性来找出键盘布局所基于的文化。

然后,例如,您可以基于表示两个字母CultureCultureInfo的{​​{3}}属性来做出决定。

string iso6391TwoLetterCode = InputLanguage.CurrentInputLanguage.Culture.TwoLetterISOLanguageName;

switch(iso6391TwoLetterCode)
{
    case "ru":
        Console.WriteLine("Russian is defined!");
        break;
    case "en":
        Console.WriteLine("English is defined!");
        break;
    case "de":
        Console.WriteLine("German is defined!");
        break;
    default:
        Console.WriteLine("Some other language is defined!");
        break;
}