Определить, установлен ли какой-либо язык справа налево - PullRequest
1 голос
/ 08 августа 2010

Какой самый простой способ определить, установлен ли какой-либо язык справа налево в основной операционной системе Windows?

(мне это нужно для того, чтобы знать, будут ли метки LTR отображаться в виде квадратов или правильно работать в операционной системе хоста)

1 Ответ

1 голос
/ 08 августа 2010

Возможно, неуправляемый API, такой как IsValidLanguageGroup , IsValidLocaleName (или IsValidLocale ) или IsValidCodePage - это то, что вы ищете

Например, код

if (IsValidLanguageGroup (LGRPID_ARABIC, LGRPID_INSTALLED) ||
    IsValidLanguageGroup (LGRPID_TURKIC, LGRPID_INSTALLED) || 
    IsValidLanguageGroup (LGRPID_HEBREW, LGRPID_INSTALLED)) {
    // RTL is supported 
}

можно использовать для проверки, установлен ли на компьютере с Windows хотя бы один из двух наиболее известных языков справа налево (RTL).Я не знаю соответствующего API .NET, но, вероятно, CultureInfo.GetCultures может использоваться в вашем случае.

ОБНОВЛЕНО : я включил группу тайского языка вСписок языковых групп для тестирования, но я не уверен, что любой из этих языков вам действительно нужен.Обычно ваше приложение поддерживает только выбранные языки.

...