Language Installed in OS
-
How to find the language installed or Language package exists or language in OS will support or not? I failed to use GetUILanguage and EnumUILangauges API's. Any suggestions?
What problems did you face with using
EnumUILanguages
.«_Superman_» I love work. It gives me something to do between weekends.
-
What problems did you face with using
EnumUILanguages
.«_Superman_» I love work. It gives me something to do between weekends.
-
Actually i didn't understand how to use the API, and also i didn't find any sample for it :). If you can help me on how to use this API it will be very useful for myself.
Here goes -
BOOL CALLBACK EnumUILanguagesProc(
LPTSTR lpUILanguageString,
LONG_PTR lParam
)
{
MessageBox(0, lpUILanguageString, 0, 0);
return TRUE;
}int main()
{
EnumUILanguages(EnumUILanguagesProc, MUI_LANGUAGE_NAME, 0);
}If you want the language id instead of the language name, replace MUI_LANGUAGE_NAME with MUI_LANGUAGE_ID.
«_Superman_» I love work. It gives me something to do between weekends.
-
How to find the language installed or Language package exists or language in OS will support or not? I failed to use GetUILanguage and EnumUILangauges API's. Any suggestions?
To check if the operating system supports the language I believe that you can just call the IsValidLanguageGroup Function[^] Such as:
BOOL bSupported = IsValidLanguageGroup(LGRPID_INDIC,LGRPID_SUPPORTED); BOOL bInstalled = IsValidLanguageGroup(LGRPID_INDIC,LGRPID_INSTALLED);
Best Wishes. -David Delaune -
To check if the operating system supports the language I believe that you can just call the IsValidLanguageGroup Function[^] Such as:
BOOL bSupported = IsValidLanguageGroup(LGRPID_INDIC,LGRPID_SUPPORTED); BOOL bInstalled = IsValidLanguageGroup(LGRPID_INDIC,LGRPID_INSTALLED);
Best Wishes. -David Delaune -
IsValidLanguageGroup(LGRPID_SIMPLIFIED_CHINESE | LGRPID_TRADITIONAL_CHINESE, LGRPID_INSTALLED); is returning false when i tried in Windows XP Chinese, but it is returning true in English OS where East Asian language pack installed
kiranin wrote:
IsValidLanguageGroup(LGRPID_SIMPLIFIED_CHINESE | LGRPID_TRADITIONAL_CHINESE, LGRPID_INSTALLED); is returning false when i tried in Windows XP Chinese, but it is returning true in English OS where East Asian language pack installed
#define LGRPID_TRADITIONAL_CHINESE 0x0009 // Traditional Chinese #define LGRPID_SIMPLIFIED_CHINESE 0x000a // Simplified Chinese #define LGRPID_THAI 0x000b // Thai
0x000a | 0x0009 == 0x0B You just confirmed that the LGRPID_THAI language is not installed on the Windows XP Chinese computer. Change your code to:BOOL bSimpleInstalled = IsValidLanguageGroup(LGRPID_SIMPLIFIED_CHINESE, LGRPID_INSTALLED); BOOL bTradInstalled = IsValidLanguageGroup(LGRPID_TRADITIONAL_CHINESE, LGRPID_INSTALLED);
Best Wishes, -David Delaune -
kiranin wrote:
IsValidLanguageGroup(LGRPID_SIMPLIFIED_CHINESE | LGRPID_TRADITIONAL_CHINESE, LGRPID_INSTALLED); is returning false when i tried in Windows XP Chinese, but it is returning true in English OS where East Asian language pack installed
#define LGRPID_TRADITIONAL_CHINESE 0x0009 // Traditional Chinese #define LGRPID_SIMPLIFIED_CHINESE 0x000a // Simplified Chinese #define LGRPID_THAI 0x000b // Thai
0x000a | 0x0009 == 0x0B You just confirmed that the LGRPID_THAI language is not installed on the Windows XP Chinese computer. Change your code to:BOOL bSimpleInstalled = IsValidLanguageGroup(LGRPID_SIMPLIFIED_CHINESE, LGRPID_INSTALLED); BOOL bTradInstalled = IsValidLanguageGroup(LGRPID_TRADITIONAL_CHINESE, LGRPID_INSTALLED);
Best Wishes, -David Delaune -
Thanks David, And one more question is there a way to find the Language for Non Unicode programs which can be set through Regional and Language options?