Каков самый простой способ определить, установлен ли какой-либо язык с письмом справа налево в основной ОС Windows?
(Мне это нужно, чтобы знать, будут ли метки LTR отображаться в виде квадратов или правильно работать на хост-ОС)
Каков самый простой способ определить, установлен ли какой-либо язык с письмом справа налево в основной ОС Windows?
(Мне это нужно, чтобы знать, будут ли метки LTR отображаться в виде квадратов или правильно работать на хост-ОС)
Вероятно, неуправляемый 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). Я не знаю соответствующий .NET API, но, вероятно, CultureInfo.GetCultures.
ОБНОВЛЕНО: я включил тайскую языковую группу в список языковых групп для тестирования, но я не уверен, что какой-либо из этих языков вам действительно нужен. Обычно ваше приложение поддерживает только выбранные языки.