diff options
| -rw-r--r-- | ULocale.pas | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ULocale.pas b/ULocale.pas index 78ee58e..8f81ecc 100644 --- a/ULocale.pas +++ b/ULocale.pas @@ -302,8 +302,16 @@ begin if Length(Trim(Lang)) = 0 then Lang := GetEnvironmentVariable('LANG'); if Length(Trim(Lang)) = 0 then Lang := 'en_US'; // Default language end else Lang := ForceLocale; - if Length(Trim(Lang)) >= 2 then Lang := AnsiUpperCase(Copy(Lang, 1, 2)); + Lang := Trim(AnsiUpperCase(Lang)); LangIdx := LookupLanguages; + if (LangIdx = -1) and (Length(Lang) > 5) then begin + Lang := Copy(Lang, 1, 5); + LangIdx := LookupLanguages; + end; + if (LangIdx = -1) and (Length(Lang) > 2) then begin + Lang := Copy(Lang, 1, 2); + LangIdx := LookupLanguages; + end; if LangIdx = -1 then begin Lang := 'EN'; LangIdx := LookupLanguages; |
