? 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