Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to detect system language settings?
Message
 
To
01/04/2011 08:37:41
Metin Emre
Ozcom Bilgisayar Ltd.
Istanbul, Turkey
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01505792
Message ID:
01505801
Views:
48
>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
Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Nada corre como un zorro
________________________________
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform