Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In the last post we spoke about how to find what locale is currently selected as active. Now it's time to find how many and what input locales are installed on a PC.
Here are two overloaded functions: one returns locale IDs as integer values (e.g. 1049) and the second – as two characters ISO strings (e.g. "en"):
/// <summary>
/// Returns list of installed locales
/// </summary>
/// <param name="LangList">Contains integer values of installed locales</param>
public void GetInstalledLanguages(out IList<int> LangList)
{
LangList = new List<int>(InputLanguage.InstalledInputLanguages.Count);
foreach (InputLanguage lng in InputLanguage.InstalledInputLanguages)
{
LangList.Add(lng.Culture.KeyboardLayoutId);
}
}
/// <summary>
/// Returns list of installed locales
/// </summary>
/// <param name="LangList">Contains string values of installed locales</param>
public void GetInstalledLanguages(out IList<string> LangList)
{
LangList = new List<string>(InputLanguage.InstalledInputLanguages.Count);
foreach (InputLanguage lng in InputLanguage.InstalledInputLanguages)
{
LangList.Add(lng.Culture.TwoLetterISOLanguageName);
}
}