mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: System language detection (issue #1724)
This commit is contained in:
parent
ecb6bd85e9
commit
e410909169
2 changed files with 13 additions and 7 deletions
|
|
@ -61,9 +61,12 @@ function CeTryDecode(const aValue: AnsiString; aCodePage: Cardinal;
|
|||
{$ELSEIF DEFINED(UNIX)}
|
||||
var
|
||||
SystemEncodingUtf8: Boolean = False;
|
||||
SystemLanguage, SystemEncoding, SystemLocale: String;
|
||||
SystemEncoding, SystemLocale: String;
|
||||
{$ENDIF}
|
||||
|
||||
var
|
||||
SystemLanguage: String;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
|
|
@ -324,6 +327,8 @@ begin
|
|||
end;
|
||||
|
||||
procedure Initialize;
|
||||
var
|
||||
Buffer: array[1..4] of AnsiChar;
|
||||
begin
|
||||
CeOemToSys:= @OEM2Ansi;
|
||||
CeSysToOem:= @Ansi2OEM;
|
||||
|
|
@ -335,6 +340,9 @@ begin
|
|||
CeUtf8ToAnsi:= @UTF82Sys;
|
||||
CeSysToUtf8:= @Sys2UTF8;
|
||||
CeUtf8ToSys:= @UTF82Sys;
|
||||
|
||||
if GetLocaleInfo(GetUserDefaultLCID, LOCALE_SABBREVLANGNAME, @Buffer[1], 4) > 0 then
|
||||
SystemLanguage := LowerCase(Copy(Buffer, 1, 2));
|
||||
end;
|
||||
|
||||
{$ELSEIF DEFINED(UNIX)}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@ uses
|
|||
DCUnicodeUtils, nsCore, nsUniversalDetector, uLng, uGlobs;
|
||||
|
||||
var
|
||||
Lang, FallbackLang: AnsiString;
|
||||
SupportedEncodings: TStringList = nil;
|
||||
|
||||
type
|
||||
|
|
@ -334,10 +333,10 @@ begin
|
|||
// When unknown encoding then use system encoding
|
||||
if SupportedEncodings.IndexOf(Result) < 0 then
|
||||
begin
|
||||
if (FallbackLang = 'be') or (FallbackLang = 'bg') or
|
||||
(FallbackLang = 'ky') or (FallbackLang = 'mk') or
|
||||
(FallbackLang = 'mn') or (FallbackLang = 'ru') or
|
||||
(FallbackLang = 'tt') then
|
||||
if (SystemLanguage = 'be') or (SystemLanguage = 'bg') or
|
||||
(SystemLanguage = 'ky') or (SystemLanguage = 'mk') or
|
||||
(SystemLanguage = 'mn') or (SystemLanguage = 'ru') or
|
||||
(SystemLanguage = 'tt') then
|
||||
Result:= DetectCharsetCyrillic(S)
|
||||
else
|
||||
begin
|
||||
|
|
@ -618,7 +617,6 @@ end;
|
|||
|
||||
initialization
|
||||
InitStatistic;
|
||||
GetLanguageIDs(Lang, FallbackLang);
|
||||
SupportedEncodings:= TStringList.Create;
|
||||
GetSupportedEncodings(SupportedEncodings);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue