Detect if any right-to-left language is installed

前端 未结 1 1391
青春惊慌失措
青春惊慌失措 2021-01-23 21:50

What is the easiest way to detect whether any right-to-left language is installed on the host Windows OS?

(I need this in order to know if LTR marks will be displayed as

相关标签:
1条回答
  • 2021-01-23 22:22

    Probably unmanaged API like IsValidLanguageGroup, IsValidLocaleName (or IsValidLocale) or IsValidCodePage is what you are looking for

    For example the code

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

    can be used to test whether you have at least one from two most known right-to-left (RTL) languages installed on the windows computer. I don't know the corresponding .NET API, but probably CultureInfo.GetCultures could be used in your case.

    UPDATED: I included Thai language group in the list of language groups for testing, but I am not sure, that any of this languages you really need. Typically you application supports only selected languages.

    0 讨论(0)
提交回复
热议问题