Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to detect system language settings?
Message
From
01/04/2011 10:24:47
Metin Emre
Ozcom Bilgisayar Ltd.
Istanbul, Turkey
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01505792
Message ID:
01505802
Views:
41
From link that you referred:

Locale names are preferred to locale IDs.
There are some strange issues with locale ids, such as the fact that all custom locales have the same id. In practice it is usually better to use locale names.


>>Hi All,
>>
>>I have to detect system language settings. Like english, turkish, azerbaycan ... I don't need which Windows language installed. I need to detect keyboard language.
>
>Only you should change the language of the string returned (is in Spanish)
>
>
>? DefaultLanguage("SYSTEM")
>? DefaultLanguage("USER")
>
>*----------------------------------------------------
>* FUNCTION DefaultLanguage(tc)
>*----------------------------------------------------
>* Return OS default language
>* USE: ? DefaultLanguage()
>* PARAMS:
>*      "SYSTEM" = Return OS System default language
>*      "USER" = Return OS User default language
>* RETURN: Character
>*----------------------------------------------------
>FUNCTION DefaultLanguage(tc)
>  LOCAL lnIdLeng, lcLeng
>  IF EMPTY(tc)
>    tc = "SYSTEM"
>  ENDIF
>  DO CASE
>    CASE UPPER(tc) = "SYSTEM"
>      DECLARE SHORT GetSystemDefaultLangID IN kernel32
>      lnIdLeng = GetSystemDefaultLangID()
>    CASE UPPER(tc) = "USER"
>      DECLARE SHORT GetUserDefaultLangID IN kernel32
>      lnIdLeng = GetUserDefaultLangID()
>    OTHERWISE
>      RETURN ""
>  ENDCASE
>  DO CASE
>    CASE lnIdLeng % 256 = 0 && Neutral
>      lcLeng = "Neutral"
>    CASE lnIdLeng % 256 = 1 && Arabe
>      lcLeng = "Arabe"
>    CASE lnIdLeng % 256 = 3 && Catalán
>      lcLeng = "Catalán"
>    CASE lnIdLeng % 256 = 4 && Chino
>      lcLeng = "Chino"
>    CASE lnIdLeng % 256 = 7 && Alemán
>      lcLeng = "Alemán"
>    CASE lnIdLeng % 256 = 8 && Griego
>      lcLeng = "Griego"
>    CASE lnIdLeng % 256 = 9 && Inglés
>      lcLeng = "Inglés"
>    CASE lnIdLeng % 256 = 10 && Español
>      lcLeng = "Español"
>    CASE lnIdLeng % 256 = 12 && Francés
>      lcLeng = "Francés"
>    CASE lnIdLeng % 256 = 16 && Italiano
>      lcLeng = "Italiano"
>    CASE lnIdLeng % 256 = 17 && Japonés
>      lcLeng = "Japonés"
>    CASE lnIdLeng % 256 = 18 && Coreano
>      lcLeng = "Coreano"
>    CASE lnIdLeng % 256 = 22 && Portugues
>      lcLeng = "Portugués"
>    CASE lnIdLeng % 256 = 29 && Sueco
>      lcLeng = "Sueco"
>    CASE lnIdLeng % 256 = 86 && Gallego
>      lcLeng = "Gallego"
>    CASE lnIdLeng % 256 = 107 && Quechua
>      lcLeng = "Quechua"
>    OTHERWISE
>      lcLeng = "Otro lenguaje"
>  ENDCASE
>  RETURN lcLeng
>ENDFUNC
>*----------------------------------------------------
>
>More lenguages: http://msdn.microsoft.com/library/en-us/intl/nls_238z.asp
Previous
Reply
Map
View

Click here to load this message in the networking platform