mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-28 10:02:14 +00:00
Compare commits
133 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
946341b395 | ||
|
|
0a1a59b713 | ||
|
|
e56735c8b6 | ||
|
|
5990bf7cf4 | ||
|
|
4b00a15507 | ||
|
|
0076740438 | ||
|
|
a73a1fc198 | ||
|
|
ed1bafc083 | ||
|
|
1c7d0113ef | ||
|
|
99ae5e5725 | ||
|
|
a76f871895 | ||
|
|
a44a0f33d7 | ||
|
|
15ab016a03 | ||
|
|
27b840438e | ||
|
|
06fb86f6c5 | ||
|
|
7c249235e7 | ||
|
|
806aef74ea | ||
|
|
7e0bede37d | ||
|
|
82ed95dc78 | ||
|
|
6c77f56231 | ||
|
|
88c0970c63 | ||
|
|
92682e662f | ||
|
|
e340380e91 | ||
|
|
d6537aa308 | ||
|
|
d2069e04e8 | ||
|
|
4b44c1d3b2 | ||
|
|
799541d798 | ||
|
|
7d30980004 | ||
|
|
58146aeb7a | ||
|
|
25dd8763f7 | ||
|
|
5015b769f5 | ||
|
|
7d9592a473 | ||
|
|
08061758bf | ||
|
|
573b3b4476 | ||
|
|
cd530f376c | ||
|
|
893a5284cc | ||
|
|
4005d9c175 | ||
|
|
ae3435cb18 | ||
|
|
19dda06685 | ||
|
|
0b2a5c9adb | ||
|
|
c4328dcf56 | ||
|
|
c862dc324d | ||
|
|
df65250e9a | ||
|
|
52352af405 | ||
|
|
aa260df7bf | ||
|
|
ef07355cdc | ||
|
|
4304e2ca9f | ||
|
|
6406ddc06b | ||
|
|
d7d9a112fc | ||
|
|
8444ae5b45 | ||
|
|
d038a65732 | ||
|
|
d926194210 | ||
|
|
7285477a3e | ||
|
|
73a39fe186 | ||
|
|
10e79ae4d2 | ||
|
|
9e9d35536b | ||
|
|
d962387327 | ||
|
|
74ba54f044 | ||
|
|
2eac8cbd4e | ||
|
|
403f05ee97 | ||
|
|
2979f4c02e | ||
|
|
f67ba5b23f | ||
|
|
49df0f028b | ||
|
|
5a756255a0 | ||
|
|
cf125457ab | ||
|
|
bacc7e0209 | ||
|
|
c4704010a9 | ||
|
|
f1cf91cbfe | ||
|
|
b27dc1413f | ||
|
|
f373a483c5 | ||
|
|
248e208b3f | ||
|
|
caeb2c0412 | ||
|
|
f210dfd570 | ||
|
|
2bbad28a10 | ||
|
|
7817376af2 | ||
|
|
5d5eea982f | ||
|
|
dc586fd143 | ||
|
|
b70e58ecf2 | ||
|
|
93b30699b3 | ||
|
|
3e538488ba | ||
|
|
789b0b8d8c | ||
|
|
3d1ba0bc97 | ||
|
|
4beaf343cc | ||
|
|
2c773d51a6 | ||
|
|
8f4ce1c150 | ||
|
|
a2ea7d16f2 | ||
|
|
b3ef410b11 | ||
|
|
590bc53da8 | ||
|
|
6debd08913 | ||
|
|
245d280e84 | ||
|
|
e5068339e2 | ||
|
|
a5d255e5a9 | ||
|
|
60053c3b48 | ||
|
|
495461a90e | ||
|
|
205656bc90 | ||
|
|
bae8539463 | ||
|
|
d9c97911ad | ||
|
|
76111e43d1 | ||
|
|
d34fd09897 | ||
|
|
d8ef884c53 | ||
|
|
f76501d6d8 | ||
|
|
10db0c1025 | ||
|
|
a8e7241734 | ||
|
|
facc368769 | ||
|
|
df59dce716 | ||
|
|
eb40b80116 | ||
|
|
2bd7e55427 | ||
|
|
00d66222cd | ||
|
|
c874c6c6b8 | ||
|
|
1acfcb815a | ||
|
|
7c470d69d8 | ||
|
|
fdbcaeca93 | ||
|
|
b1450f98a6 | ||
|
|
8053b7bbe2 | ||
|
|
7c54166b5b | ||
|
|
5916efbadf | ||
|
|
6352e4b356 | ||
|
|
7049f44be2 | ||
|
|
1f6d0cb324 | ||
|
|
c76ab078a8 | ||
|
|
20bc61bb40 | ||
|
|
b8bab1ffd9 | ||
|
|
9a5d59a705 | ||
|
|
5b46ef24b5 | ||
|
|
8b958beb63 | ||
|
|
be0efbde24 | ||
|
|
bcc703ebec | ||
|
|
e92a362e11 | ||
|
|
705f2e9370 | ||
|
|
5b4fb6c1dd | ||
|
|
5b8e7ac9d5 | ||
|
|
935e5a1974 | ||
|
|
7cd02aff8c |
128 changed files with 4947 additions and 2833 deletions
2
.github/scripts/create_release.sh
vendored
2
.github/scripts/create_release.sh
vendored
|
|
@ -106,7 +106,7 @@ build_doublecmd
|
||||||
export CPU_TARGET=x86_64
|
export CPU_TARGET=x86_64
|
||||||
export TARGET=x86_64-apple-darwin
|
export TARGET=x86_64-apple-darwin
|
||||||
# Set minimal Mac OS X target version
|
# Set minimal Mac OS X target version
|
||||||
export MACOSX_DEPLOYMENT_TARGET=10.11
|
export MACOSX_DEPLOYMENT_TARGET=11.0
|
||||||
|
|
||||||
build_unrar
|
build_unrar
|
||||||
build_doublecmd
|
build_doublecmd
|
||||||
|
|
|
||||||
2
.github/scripts/create_snapshot.sh
vendored
2
.github/scripts/create_snapshot.sh
vendored
|
|
@ -107,6 +107,6 @@ build_doublecmd
|
||||||
# Set processor architecture
|
# Set processor architecture
|
||||||
export CPU_TARGET=x86_64
|
export CPU_TARGET=x86_64
|
||||||
# Set minimal Mac OS X target version
|
# Set minimal Mac OS X target version
|
||||||
export MACOSX_DEPLOYMENT_TARGET=10.11
|
export MACOSX_DEPLOYMENT_TARGET=11.0
|
||||||
|
|
||||||
build_doublecmd
|
build_doublecmd
|
||||||
|
|
|
||||||
10
.github/workflows/release.yml
vendored
10
.github/workflows/release.yml
vendored
|
|
@ -11,7 +11,7 @@ concurrency:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-mac:
|
build-mac:
|
||||||
runs-on: macos-13
|
runs-on: macos-14
|
||||||
steps:
|
steps:
|
||||||
- name: Install Free Pascal
|
- name: Install Free Pascal
|
||||||
uses: doublecmd/lazarus-install@mac
|
uses: doublecmd/lazarus-install@mac
|
||||||
|
|
@ -19,13 +19,15 @@ jobs:
|
||||||
lazarus-version: "stable"
|
lazarus-version: "stable"
|
||||||
|
|
||||||
- name: Get Lazarus source
|
- name: Get Lazarus source
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
repository: 'fpc/Lazarus'
|
repository: 'fpc/Lazarus'
|
||||||
ref: 'fixes_4'
|
ref: 'fixes_4'
|
||||||
|
|
||||||
- name: Build and install Lazarus
|
- name: Build and install Lazarus
|
||||||
run: make all install
|
run: |
|
||||||
|
make all
|
||||||
|
sudo make install
|
||||||
|
|
||||||
- name: Create Lazarus config
|
- name: Create Lazarus config
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -34,7 +36,7 @@ jobs:
|
||||||
sudo sed -i -e "s|_PPCARCH_|fpc|g; s|/Developer/lazarus|/usr/local/share/lazarus|g" /etc/lazarus/environmentoptions.xml
|
sudo sed -i -e "s|_PPCARCH_|fpc|g; s|/Developer/lazarus|/usr/local/share/lazarus|g" /etc/lazarus/environmentoptions.xml
|
||||||
|
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|
|
||||||
6
.github/workflows/snapshots.yml
vendored
6
.github/workflows/snapshots.yml
vendored
|
|
@ -25,7 +25,7 @@ jobs:
|
||||||
lazarus-version: "stable"
|
lazarus-version: "stable"
|
||||||
|
|
||||||
- name: Get Lazarus source
|
- name: Get Lazarus source
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
repository: 'fpc/Lazarus'
|
repository: 'fpc/Lazarus'
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ jobs:
|
||||||
sudo sed -i -e "s|_PPCARCH_|fpc|g; s|/Developer/lazarus|/usr/local/share/lazarus|g" /etc/lazarus/environmentoptions.xml
|
sudo sed -i -e "s|_PPCARCH_|fpc|g; s|/Developer/lazarus|/usr/local/share/lazarus|g" /etc/lazarus/environmentoptions.xml
|
||||||
|
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|
@ -69,7 +69,7 @@ jobs:
|
||||||
lazarus-version: "stable"
|
lazarus-version: "stable"
|
||||||
|
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,8 @@
|
||||||
|
|
||||||
unit DCDateTimeUtils;
|
unit DCDateTimeUtils;
|
||||||
|
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}
|
||||||
|
{$H+}{$R-}{$Q-}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
|
@ -327,8 +328,20 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ELSEIF DEFINED(UNIX)}
|
{$ELSEIF DEFINED(UNIX)}
|
||||||
begin
|
begin
|
||||||
Result.Sec:= Int64((FileTime - UnixWinEpoch) div 10000000);
|
if (FileTime >= UnixWinEpoch) then
|
||||||
Result.NanoSec:= Int64((FileTime - UnixWinEpoch) mod 10000000) * 100;
|
begin
|
||||||
|
Result.Sec:= Int64((FileTime - UnixWinEpoch) div 10000000);
|
||||||
|
Result.NanoSec:= Int64((FileTime - UnixWinEpoch) mod 10000000) * 100;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
Result.Sec:= (Int64(FileTime) - Int64(UnixWinEpoch)) div 10000000;
|
||||||
|
if (Result.Sec = 0) then
|
||||||
|
Result.NanoSec:= 0
|
||||||
|
else begin
|
||||||
|
Result.NanoSec:= (Int64(UnixWinEpoch - FileTime) mod 10000000) * 100;
|
||||||
|
if (Result.NanoSec > 0) then Result.NanoSec:= 1000000000 - Result.NanoSec;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
@ -583,31 +596,10 @@ end;
|
||||||
function DateTimeToUnixFileTime(DateTime : TDateTime): TUnixFileTime;
|
function DateTimeToUnixFileTime(DateTime : TDateTime): TUnixFileTime;
|
||||||
{$IF DEFINED(UNIX)}
|
{$IF DEFINED(UNIX)}
|
||||||
var
|
var
|
||||||
AUnixTime: TTime;
|
AUnixTime: TFileTimeEx;
|
||||||
ATime: TTimeStruct;
|
|
||||||
Year, Month, Day: Word;
|
|
||||||
Hour, Minute, Second, MilliSecond: Word;
|
|
||||||
begin
|
begin
|
||||||
DecodeDate(DateTime, Year, Month, Day);
|
AUnixTime:= DateTimeToUnixFileTimeEx(DateTime);
|
||||||
DecodeTime(DateTime, Hour, Minute, Second, MilliSecond);
|
Result:= TUnixFileTime(AUnixTime.Sec);
|
||||||
|
|
||||||
ATime.tm_isdst:= -1;
|
|
||||||
|
|
||||||
ATime.tm_year:= Year - 1900;
|
|
||||||
ATime.tm_mon:= Month - 1;
|
|
||||||
ATime.tm_mday:= Day;
|
|
||||||
|
|
||||||
ATime.tm_hour:= Hour;
|
|
||||||
ATime.tm_min:= Minute;
|
|
||||||
ATime.tm_sec:= Second;
|
|
||||||
|
|
||||||
AUnixTime:= fpMkTime(@ATime);
|
|
||||||
|
|
||||||
if (AUnixTime = -1) then
|
|
||||||
Result:= 0
|
|
||||||
else begin
|
|
||||||
Result:= TUnixFileTime(AUnixTime);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
var
|
var
|
||||||
|
|
@ -626,9 +618,6 @@ var
|
||||||
Year, Month, Day: Word;
|
Year, Month, Day: Word;
|
||||||
Hour, Minute, Second, MilliSecond: Word;
|
Hour, Minute, Second, MilliSecond: Word;
|
||||||
begin
|
begin
|
||||||
if DateTime < UnixEpoch then
|
|
||||||
raise EDateOutOfRange.Create(DateTime);
|
|
||||||
|
|
||||||
DecodeDate(DateTime, Year, Month, Day);
|
DecodeDate(DateTime, Year, Month, Day);
|
||||||
DecodeTime(DateTime, Hour, Minute, Second, MilliSecond);
|
DecodeTime(DateTime, Hour, Minute, Second, MilliSecond);
|
||||||
|
|
||||||
|
|
@ -647,6 +636,7 @@ begin
|
||||||
if (AUnixTime = -1) then
|
if (AUnixTime = -1) then
|
||||||
Result:= TFileTimeExNull
|
Result:= TFileTimeExNull
|
||||||
else begin
|
else begin
|
||||||
|
if (AUnixTime < 0) then MilliSecond:= 0;
|
||||||
Result:= TFileTimeEx.Create(AUnixTime, MilliSecond * 1000 * 1000);
|
Result:= TFileTimeEx.Create(AUnixTime, MilliSecond * 1000 * 1000);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ const
|
||||||
fmOpenSync = $10000;
|
fmOpenSync = $10000;
|
||||||
fmOpenDirect = $20000;
|
fmOpenDirect = $20000;
|
||||||
fmOpenNoATime = $40000;
|
fmOpenNoATime = $40000;
|
||||||
|
fmOpenSpecial = $80000;
|
||||||
|
|
||||||
{$IF DEFINED(UNIX)}
|
{$IF DEFINED(UNIX)}
|
||||||
ERROR_NOT_SAME_DEVICE = ESysEXDEV;
|
ERROR_NOT_SAME_DEVICE = ESysEXDEV;
|
||||||
|
|
@ -56,6 +57,8 @@ const
|
||||||
ERROR_NOT_SAME_DEVICE = Windows.ERROR_NOT_SAME_DEVICE;
|
ERROR_NOT_SAME_DEVICE = Windows.ERROR_NOT_SAME_DEVICE;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
FileNameNormalized = {$IFDEF DARWIN}True{$ELSE}False{$ENDIF};
|
||||||
|
|
||||||
type
|
type
|
||||||
TFileMapRec = record
|
TFileMapRec = record
|
||||||
FileHandle : System.THandle;
|
FileHandle : System.THandle;
|
||||||
|
|
@ -182,6 +185,8 @@ function MapFile(const sFileName : String; out FileMapRec : TFileMapRec) : Boole
|
||||||
}
|
}
|
||||||
procedure UnMapFile(var FileMapRec : TFileMapRec);
|
procedure UnMapFile(var FileMapRec : TFileMapRec);
|
||||||
|
|
||||||
|
function NormalizeFileName(const Source: String): String;
|
||||||
|
|
||||||
{en
|
{en
|
||||||
Convert from console to UTF8 encoding.
|
Convert from console to UTF8 encoding.
|
||||||
}
|
}
|
||||||
|
|
@ -335,6 +340,9 @@ uses
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IF DEFINED(UNIX)}
|
{$IF DEFINED(UNIX)}
|
||||||
Unix, dl,
|
Unix, dl,
|
||||||
|
{$ENDIF}
|
||||||
|
{$IF DEFINED(DARWIN)}
|
||||||
|
LazFileUtils,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
DCStrUtils, LazUTF8;
|
DCStrUtils, LazUTF8;
|
||||||
|
|
||||||
|
|
@ -845,6 +853,17 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
function NormalizeFileName(const Source: String): String; inline;
|
||||||
|
{$IF DEFINED(DARWIN)}
|
||||||
|
begin
|
||||||
|
Result:= GetDarwinNormalizedFileName(Source);
|
||||||
|
end;
|
||||||
|
{$ELSE}
|
||||||
|
begin
|
||||||
|
Result:= Source;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
function ConsoleToUTF8(const Source: String): RawByteString;
|
function ConsoleToUTF8(const Source: String): RawByteString;
|
||||||
{$IFDEF MSWINDOWS}
|
{$IFDEF MSWINDOWS}
|
||||||
begin
|
begin
|
||||||
|
|
@ -874,6 +893,8 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
|
var
|
||||||
|
Info: BaseUnix.Stat;
|
||||||
begin
|
begin
|
||||||
repeat
|
repeat
|
||||||
Result:= fpOpen(UTF8ToSys(FileName), AccessModes[Mode and 3] or
|
Result:= fpOpen(UTF8ToSys(FileName), AccessModes[Mode and 3] or
|
||||||
|
|
@ -882,6 +903,18 @@ begin
|
||||||
if Result <> feInvalidHandle then
|
if Result <> feInvalidHandle then
|
||||||
begin
|
begin
|
||||||
FileCloseOnExec(Result);
|
FileCloseOnExec(Result);
|
||||||
|
if (Mode and fmOpenSpecial = 0) then
|
||||||
|
begin
|
||||||
|
if fpFStat(Result, Info) = 0 then
|
||||||
|
begin
|
||||||
|
if FPS_ISFIFO(Info.st_mode) then
|
||||||
|
begin
|
||||||
|
FileClose(Result);
|
||||||
|
errno:= ESysEINVAL;
|
||||||
|
Exit(feInvalidHandle);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
{$IF DEFINED(DARWIN)}
|
{$IF DEFINED(DARWIN)}
|
||||||
if (Mode and (fmOpenSync or fmOpenDirect) <> 0) then
|
if (Mode and (fmOpenSync or fmOpenDirect) <> 0) then
|
||||||
begin
|
begin
|
||||||
|
|
@ -1605,8 +1638,16 @@ begin
|
||||||
Result := mbFileGetAttr(Path) <> faInvalidAttributes;
|
Result := mbFileGetAttr(Path) <> faInvalidAttributes;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function mbCompareFileNames(const FileName1, FileName2: String): Boolean; inline;
|
function mbCompareFileNames(const FileName1, FileName2: String): Boolean;
|
||||||
{$IF DEFINED(WINDOWS) OR DEFINED(DARWIN)}
|
{$IF DEFINED(DARWIN)}
|
||||||
|
begin
|
||||||
|
if (Length(FileName1) = 0) or (Length(FileName2) = 0) then
|
||||||
|
Result:= (FileName1 = FileName2)
|
||||||
|
else begin
|
||||||
|
Result:= CompareFilenamesIgnoreCase(FileName1, FileName2) = 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{$ELSEIF DEFINED(MSWINDOWS)}
|
||||||
begin
|
begin
|
||||||
Result:= (UnicodeCompareText(CeUtf8ToUtf16(FileName1), CeUtf8ToUtf16(FileName2)) = 0);
|
Result:= (UnicodeCompareText(CeUtf8ToUtf16(FileName1), CeUtf8ToUtf16(FileName2)) = 0);
|
||||||
end;
|
end;
|
||||||
|
|
|
||||||
|
|
@ -42,12 +42,14 @@ type
|
||||||
private
|
private
|
||||||
FList: PStringHashItemList;
|
FList: PStringHashItemList;
|
||||||
FCount: Integer;
|
FCount: Integer;
|
||||||
|
fNormalize: Boolean;
|
||||||
fCaseSensitive: Boolean;
|
fCaseSensitive: Boolean;
|
||||||
function BinarySearch(HashValue: Cardinal): Integer;
|
function BinarySearch(HashValue: Cardinal): Integer;
|
||||||
function CompareString(const Low, Key: String): Boolean;
|
function CompareString(const Low, Key: String): Boolean;
|
||||||
function CompareValue(const Value1, Value2: Cardinal): Integer;
|
function CompareValue(const Value1, Value2: Cardinal): Integer;
|
||||||
procedure FindHashBoundaries(HashValue: Cardinal; StartFrom: Integer; out First, Last: Integer);
|
procedure FindHashBoundaries(HashValue: Cardinal; StartFrom: Integer; out First, Last: Integer);
|
||||||
function GetData(const S: String): Pointer;
|
function GetData(const S: String): Pointer;
|
||||||
|
procedure SetNormalize(AValue: Boolean);
|
||||||
procedure SetCaseSensitive(const Value: Boolean);
|
procedure SetCaseSensitive(const Value: Boolean);
|
||||||
procedure Delete(Index: Integer);
|
procedure Delete(Index: Integer);
|
||||||
procedure SetData(const S: String; const AValue: Pointer);
|
procedure SetData(const S: String; const AValue: Pointer);
|
||||||
|
|
@ -66,6 +68,7 @@ type
|
||||||
function Remove(const S: String): Integer;
|
function Remove(const S: String): Integer;
|
||||||
function Remove(const S: String; Data: Pointer): Integer;
|
function Remove(const S: String; Data: Pointer): Integer;
|
||||||
procedure FindBoundaries(StartFrom: Integer; out First, Last: Integer);
|
procedure FindBoundaries(StartFrom: Integer; out First, Last: Integer);
|
||||||
|
property Normalize: Boolean read fNormalize write SetNormalize;
|
||||||
property CaseSensitive: Boolean read fCaseSensitive write SetCaseSensitive;
|
property CaseSensitive: Boolean read fCaseSensitive write SetCaseSensitive;
|
||||||
property Count: Integer read FCount;
|
property Count: Integer read FCount;
|
||||||
property Data[const S: String]: Pointer read GetData write SetData; default;
|
property Data[const S: String]: Pointer read GetData write SetData; default;
|
||||||
|
|
@ -75,7 +78,7 @@ type
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
LazUTF8;
|
LazUTF8, DCOSUtils;
|
||||||
|
|
||||||
{ TStringHashListUtf8 }
|
{ TStringHashListUtf8 }
|
||||||
|
|
||||||
|
|
@ -97,6 +100,10 @@ begin
|
||||||
else begin
|
else begin
|
||||||
Text:= UTF8LowerCase(S);
|
Text:= UTF8LowerCase(S);
|
||||||
end;
|
end;
|
||||||
|
if fNormalize then
|
||||||
|
begin
|
||||||
|
Text:= NormalizeFileName(Text);
|
||||||
|
end;
|
||||||
New(Item);
|
New(Item);
|
||||||
Val:= HashOf(Text);
|
Val:= HashOf(Text);
|
||||||
Item^.HashValue := Val;
|
Item^.HashValue := Val;
|
||||||
|
|
@ -180,13 +187,20 @@ var
|
||||||
begin
|
begin
|
||||||
P:= Pointer(Low);
|
P:= Pointer(Low);
|
||||||
Len:= Length(Low);
|
Len:= Length(Low);
|
||||||
if fCaseSensitive then
|
if not fNormalize then
|
||||||
begin
|
begin
|
||||||
Result:= (Len = Length(Key));
|
LKey:= Key;
|
||||||
if Result then Result:= (CompareByte(P^, Pointer(Key)^, Len) = 0);
|
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
LKey:= UTF8LowerCase(Key);
|
LKey:= NormalizeFileName(Key);
|
||||||
|
end;
|
||||||
|
if fCaseSensitive then
|
||||||
|
begin
|
||||||
|
Result:= (Len = Length(LKey));
|
||||||
|
if Result then Result:= (CompareByte(P^, Pointer(LKey)^, Len) = 0);
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
LKey:= UTF8LowerCase(LKey);
|
||||||
Result:= (Len = Length(LKey));
|
Result:= (Len = Length(LKey));
|
||||||
if Result then Result:= (CompareByte(P^, Pointer(LKey)^, Len) = 0);
|
if Result then Result:= (CompareByte(P^, Pointer(LKey)^, Len) = 0);
|
||||||
end;
|
end;
|
||||||
|
|
@ -232,6 +246,18 @@ begin
|
||||||
Add(S,AValue);
|
Add(S,AValue);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TStringHashListUtf8.SetNormalize(AValue: Boolean);
|
||||||
|
begin
|
||||||
|
if fNormalize <> AValue then
|
||||||
|
begin
|
||||||
|
if Count > 0 then
|
||||||
|
begin
|
||||||
|
raise EListError.Create(lrsListMustBeEmpty);
|
||||||
|
end;
|
||||||
|
fNormalize := AValue;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
destructor TStringHashListUtf8.Destroy;
|
destructor TStringHashListUtf8.Destroy;
|
||||||
begin
|
begin
|
||||||
Clear;
|
Clear;
|
||||||
|
|
@ -249,6 +275,10 @@ begin
|
||||||
else begin
|
else begin
|
||||||
Text:= UTF8LowerCase(S);
|
Text:= UTF8LowerCase(S);
|
||||||
end;
|
end;
|
||||||
|
if fNormalize then
|
||||||
|
begin
|
||||||
|
Text:= NormalizeFileName(Text);
|
||||||
|
end;
|
||||||
Value:= HashOf(Text);
|
Value:= HashOf(Text);
|
||||||
Result:= BinarySearch(Value);
|
Result:= BinarySearch(Value);
|
||||||
if (Result <> -1) and not CompareString(Text, FList[Result]^.Key) then
|
if (Result <> -1) and not CompareString(Text, FList[Result]^.Key) then
|
||||||
|
|
@ -275,6 +305,10 @@ begin
|
||||||
else begin
|
else begin
|
||||||
Text:= UTF8LowerCase(S);
|
Text:= UTF8LowerCase(S);
|
||||||
end;
|
end;
|
||||||
|
if fNormalize then
|
||||||
|
begin
|
||||||
|
Text:= NormalizeFileName(Text);
|
||||||
|
end;
|
||||||
Value:= HashOf(Text);
|
Value:= HashOf(Text);
|
||||||
Result:= BinarySearch(Value);
|
Result:= BinarySearch(Value);
|
||||||
if (Result <> -1) and
|
if (Result <> -1) and
|
||||||
|
|
@ -335,7 +369,8 @@ end;
|
||||||
|
|
||||||
constructor TStringHashListUtf8.Create(CaseSensitivity: boolean);
|
constructor TStringHashListUtf8.Create(CaseSensitivity: boolean);
|
||||||
begin
|
begin
|
||||||
fCaseSensitive:=CaseSensitivity;
|
fNormalize:= FileNameNormalized;
|
||||||
|
fCaseSensitive:= CaseSensitivity;
|
||||||
inherited Create;
|
inherited Create;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -752,12 +752,12 @@ begin
|
||||||
|
|
||||||
sBasePath := IncludeTrailingPathDelimiter(sBasePath);
|
sBasePath := IncludeTrailingPathDelimiter(sBasePath);
|
||||||
|
|
||||||
BasePathLength := Length(sBasePath);
|
BasePathLength := UTF8Length(sBasePath);
|
||||||
PathToCheckLength := Length(sPathToCheck);
|
PathToCheckLength := UTF8Length(sPathToCheck);
|
||||||
|
|
||||||
if PathToCheckLength > BasePathLength then
|
if PathToCheckLength > BasePathLength then
|
||||||
begin
|
begin
|
||||||
if mbCompareFileNames(Copy(sPathToCheck, 1, BasePathLength), sBasePath) then
|
if mbCompareFileNames(UTF8Copy(sPathToCheck, 1, BasePathLength), sBasePath) then
|
||||||
begin
|
begin
|
||||||
if AllowSubDirs then
|
if AllowSubDirs then
|
||||||
Result := True
|
Result := True
|
||||||
|
|
@ -766,10 +766,10 @@ begin
|
||||||
// Additionally check if the remaining path is a relative path.
|
// Additionally check if the remaining path is a relative path.
|
||||||
|
|
||||||
// Look for a path delimiter in the middle of the filepath.
|
// Look for a path delimiter in the middle of the filepath.
|
||||||
sPathToCheck := Copy(sPathToCheck, 1 + BasePathLength,
|
sPathToCheck := UTF8Copy(sPathToCheck, 1 + BasePathLength,
|
||||||
PathToCheckLength - BasePathLength);
|
PathToCheckLength - BasePathLength);
|
||||||
|
|
||||||
DelimiterPos := Pos(DirectorySeparator, sPathToCheck);
|
DelimiterPos := UTF8Pos(DirectorySeparator, sPathToCheck);
|
||||||
|
|
||||||
// If no delimiter was found or it was found at then end (directories
|
// If no delimiter was found or it was found at then end (directories
|
||||||
// may end with it), then the 'sPathToCheck' is in 'sBasePath'.
|
// may end with it), then the 'sPathToCheck' is in 'sBasePath'.
|
||||||
|
|
@ -784,7 +784,7 @@ begin
|
||||||
(((PathToCheckLength = BasePathLength) and
|
(((PathToCheckLength = BasePathLength) and
|
||||||
(mbCompareFileNames(sPathToCheck, sBasePath))) or
|
(mbCompareFileNames(sPathToCheck, sBasePath))) or
|
||||||
((PathToCheckLength = BasePathLength - 1) and
|
((PathToCheckLength = BasePathLength - 1) and
|
||||||
(mbCompareFileNames(Copy(sBasePath, 1, PathToCheckLength), sPathToCheck))));
|
(mbCompareFileNames(UTF8Copy(sBasePath, 1, PathToCheckLength), sPathToCheck))));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function ExtractDirLevel(const sPrefix, sPath: String): String;
|
function ExtractDirLevel(const sPrefix, sPath: String): String;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
export REVISION_INC=$2/units/dcrevision.inc
|
export REVISION_INC=$2/units/dcrevision.inc
|
||||||
|
|
||||||
# DC revision number
|
# DC revision number
|
||||||
export REVISION=$(git -C $1 rev-list --count HEAD)
|
export REVISION=$(git -C $1 rev-list --count 934bef9..HEAD)
|
||||||
export COMMIT=$(git -C $1 rev-parse --short HEAD)
|
export COMMIT=$(git -C $1 rev-parse --short HEAD)
|
||||||
|
|
||||||
# Update dcrevision.inc
|
# Update dcrevision.inc
|
||||||
|
|
|
||||||
|
|
@ -3343,7 +3343,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3351,8 +3351,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Галоўны пароль"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3363,7 +3365,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3379,7 +3381,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3387,7 +3389,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10826,11 +10828,13 @@ msgstr "Не выкарыстоўваць \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Па назве загаду; Па гарачых клавішах (групамі); Па гарачых клавішах (па адной)"
|
msgstr "Па назве загаду; Па гарачых клавішах (групамі); Па гарачых клавішах (па адной)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10868,6 +10872,17 @@ msgstr "Спіс акон \"Пошук файлаў\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Скасаваць вылучэнне"
|
msgstr "Скасаваць вылучэнне"
|
||||||
|
|
@ -10988,6 +11003,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11006,13 +11041,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11164,11 +11199,13 @@ msgstr "Выняць"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Распакаваць сюды..."
|
msgstr "Распакаваць сюды..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12077,11 +12114,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Сцерці каталог %s"
|
msgstr "Сцерці каталог %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Галоўны пароль"
|
msgstr "Галоўны пароль"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Калі ласка, ўвядзіце галоўны пароль:"
|
msgstr "Калі ласка, ўвядзіце галоўны пароль:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3439,7 +3439,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3447,8 +3447,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Главна парола"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3459,7 +3461,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3475,7 +3477,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3483,7 +3485,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11298,11 +11300,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11340,6 +11344,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Признак за смяна на избора"
|
msgstr "Признак за смяна на избора"
|
||||||
|
|
@ -11460,6 +11475,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11478,13 +11513,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11636,11 +11671,13 @@ msgstr "Изваждане"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Извличане тук..."
|
msgstr "Извличане тук..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12537,11 +12574,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Унищожаване на папка „%s‟"
|
msgstr "Унищожаване на папка „%s‟"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Главна парола"
|
msgstr "Главна парола"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3666,7 +3666,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3674,8 +3674,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Contrasenya mestra"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3686,7 +3688,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3702,7 +3704,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3710,7 +3712,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11775,11 +11777,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11817,6 +11821,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Màscara a deselecció"
|
msgstr "Màscara a deselecció"
|
||||||
|
|
@ -11936,6 +11951,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11954,13 +11989,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12111,11 +12146,13 @@ msgstr "Expulsa"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -13013,11 +13050,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Contrasenya mestra"
|
msgstr "Contrasenya mestra"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Per favor, introduiu la contrasenya mestra:"
|
msgstr "Per favor, introduiu la contrasenya mestra:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3353,7 +3353,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3361,8 +3361,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Hlavní heslo"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3373,7 +3375,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3389,7 +3391,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3397,7 +3399,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10848,11 +10850,13 @@ msgstr "Bez zkratky s \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "podle názvu příkazu;podle zkratky (seskupeno);podle zkratky (jedna na řádek)"
|
msgstr "podle názvu příkazu;podle zkratky (seskupeno);podle zkratky (jedna na řádek)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10890,6 +10894,17 @@ msgstr "Seznam hledacích oken"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Maska zrušení výběru"
|
msgstr "Maska zrušení výběru"
|
||||||
|
|
@ -11010,6 +11025,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11028,13 +11063,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11186,11 +11221,13 @@ msgstr "Vysunout"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Rozbalit zde..."
|
msgstr "Rozbalit zde..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12101,11 +12138,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Nevratně smaže adresář %s"
|
msgstr "Nevratně smaže adresář %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Hlavní heslo"
|
msgstr "Hlavní heslo"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Prosíme zadejte hlavní heslo:"
|
msgstr "Prosíme zadejte hlavní heslo:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3565,7 +3565,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3573,8 +3573,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Hovedadgangskode"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3585,7 +3587,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3601,7 +3603,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3609,7 +3611,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11887,11 +11889,13 @@ msgstr "Ingen genvej med \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Efter kommando;Efter genvejstast (grupperet);Efter genvejstast (en pr. række)"
|
msgstr "Efter kommando;Efter genvejstast (grupperet);Efter genvejstast (en pr. række)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11935,6 +11939,17 @@ msgstr "Oversigt over \"Find filer\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Indskrænk valg"
|
msgstr "Indskrænk valg"
|
||||||
|
|
@ -12056,6 +12071,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -12074,13 +12109,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12234,11 +12269,13 @@ msgstr "Skub ud"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Udpak her..."
|
msgstr "Udpak her..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -13158,11 +13195,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Sikker sletning af mappe %s"
|
msgstr "Sikker sletning af mappe %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Hovedadgangskode"
|
msgstr "Hovedadgangskode"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Indtast venligst hovedadgangskoden:"
|
msgstr "Indtast venligst hovedadgangskoden:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ msgstr ""
|
||||||
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
||||||
"PO-Revision-Date: 2025-10-04 20:41+0200\n"
|
"PO-Revision-Date: 2025-11-26 11:39+0100\n"
|
||||||
"Last-Translator: ㋡ <braass@mail.de>\n"
|
"Last-Translator: ㋡ <braass@mail.de>\n"
|
||||||
"Language-Team: Deutsch <braass@mail.de>\n"
|
"Language-Team: Deutsch <braass@mail.de>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
|
@ -3334,58 +3334,58 @@ msgstr "Ode&r vordefinierten Auswahltyp wählen:"
|
||||||
|
|
||||||
#: tfrmmasterkey.btntest.caption
|
#: tfrmmasterkey.btntest.caption
|
||||||
msgid "Test"
|
msgid "Test"
|
||||||
msgstr ""
|
msgstr "Test"
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr "Schlüssel erstellen"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
msgid "Key transformation"
|
msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr "Transformation der Schlüssel"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
msgstr ""
|
msgid "Main Password"
|
||||||
|
msgstr "Hauptpasswort"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
msgstr ""
|
msgstr "Je mehr Wiederholungen, desto schwieriger sind Wörterbuch- und Brute-Force-Angriffe, aber das Laden/Speichern des Passwortspeichers dauert auch länger."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfunction.caption
|
#: tfrmmasterkey.lblfunction.caption
|
||||||
msgid "&Key derivation function:"
|
msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr "Schlüsselableitungsfunktion:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr "Der Schlüssel wird mithilfe einer Schlüsselableitungsfunktion transformiert. Dies erhöht den Arbeitsaufwand und erschwert Wörterbuch- und Brute-Force-Angriffe."
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
msgid "&Iterations:"
|
msgid "&Iterations:"
|
||||||
msgstr ""
|
msgstr "Wiederholungen:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblmemory.caption
|
#: tfrmmasterkey.lblmemory.caption
|
||||||
msgid "&Memory:"
|
msgid "&Memory:"
|
||||||
msgstr ""
|
msgstr "Speicher:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblparallelism.caption
|
#: tfrmmasterkey.lblparallelism.caption
|
||||||
msgid "&Parallelism:"
|
msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr "Parallelität (Übereinstimmung):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr "Pass&wort:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
msgid "&Repeat password:"
|
msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr "Passwort wiederholen:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr "Geben Sie einen neuen Schlüssel an, der zum Verschlüsseln des Passwortspeichers verwendet wird."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
#, fuzzy
|
|
||||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||||
msgid "MB"
|
msgid "MB"
|
||||||
msgstr "MB"
|
msgstr "MB"
|
||||||
|
|
@ -10805,11 +10805,13 @@ msgstr "Keine Kombination mit [Eingabetaste]"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Nach Befehlsname;Nach Tastaturkürzel (gruppiert);Nach Tastaturkürzel (einer pro Zeile)"
|
msgstr "Nach Befehlsname;Nach Tastaturkürzel (gruppiert);Nach Tastaturkürzel (einer pro Zeile)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr "Die Dateien sollten zuerst heruntergeladen werden. Andernfalls wird nicht der Inhalt der Dateien kopiert, sondern nur die jeweiligen Platzhalter-Dateien, was dann versteckte Dateien mit der Erweiterung ».iCloud« ergibt."
|
msgstr "Die Dateien sollten zuerst heruntergeladen werden. Andernfalls wird nicht der Inhalt der Dateien kopiert, sondern nur die jeweiligen Platzhalter-Dateien, was dann versteckte Dateien mit der Erweiterung ».iCloud« ergibt."
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr "Der Vorgang könnte Dateien enthalten, die noch nicht heruntergeladen wurden, trotzdem fortfahren?"
|
msgstr "Der Vorgang könnte Dateien enthalten, die noch nicht heruntergeladen wurden, trotzdem fortfahren?"
|
||||||
|
|
||||||
|
|
@ -10847,6 +10849,17 @@ msgstr "Liste der 'Dateisuche'-Fenster"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr "Tags %d Elementen zuordnen"
|
msgstr "Tags %d Elementen zuordnen"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Maske abwählen"
|
msgstr "Maske abwählen"
|
||||||
|
|
@ -10962,6 +10975,26 @@ msgstr "Im Finder aufzeigen"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "Finder"
|
msgstr "Finder"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10980,13 +11013,13 @@ msgstr "Horizontal geteilt ein- und ausschalten"
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "Horizontal geteilt"
|
msgstr "Horizontal geteilt"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud Drive ist der Cloud-Speicher von Apple. Vergleichbar mit z.B. Dropbox, OneDrive oder Google Drive"
|
msgstr "iCloud Drive ist der Cloud-Speicher von Apple. Vergleichbar mit z.B. Dropbox, OneDrive oder Google Drive"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud Drive"
|
msgstr "iCloud Drive"
|
||||||
|
|
||||||
|
|
@ -11136,11 +11169,13 @@ msgstr "Auswerfen"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Archiv hier entpacken …"
|
msgstr "Archiv hier entpacken …"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr "Jetzt downloaden"
|
msgstr "Jetzt downloaden"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr "Download entfernen"
|
msgstr "Download entfernen"
|
||||||
|
|
||||||
|
|
@ -11949,12 +11984,12 @@ msgstr "Ungültige Auswahl."
|
||||||
#: ulng.rsmsgkeytransformerror
|
#: ulng.rsmsgkeytransformerror
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation failed (error code %d)!"
|
msgid "The key transformation failed (error code %d)!"
|
||||||
msgstr ""
|
msgstr "Transformation der Schlüssel fehlgeschlagen (Fehlercode %d)!"
|
||||||
|
|
||||||
#: ulng.rsmsgkeytransformtime
|
#: ulng.rsmsgkeytransformtime
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation took %f seconds."
|
msgid "The key transformation took %f seconds."
|
||||||
msgstr ""
|
msgstr "Transformation der Schlüssel dauerte %f Sekunden."
|
||||||
|
|
||||||
#: ulng.rsmsgloadingfilelist
|
#: ulng.rsmsgloadingfilelist
|
||||||
msgid "Loading file list..."
|
msgid "Loading file list..."
|
||||||
|
|
@ -12057,12 +12092,13 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Verzeichnis %s gründlich löschen"
|
msgstr "Verzeichnis %s gründlich löschen"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
msgstr "Master-Passwort"
|
msgid "Main Password"
|
||||||
|
msgstr "Hauptpasswort"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Bitte Master-Passwort eingeben:"
|
msgstr "Bitte Hauptpasswort eingeben:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
msgid "New file"
|
msgid "New file"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ msgstr ""
|
||||||
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
||||||
"PO-Revision-Date: 2025-09-06 07:04+0300\n"
|
"PO-Revision-Date: 2025-12-24 01:37+0200\n"
|
||||||
"Last-Translator: Anastasios Kazakis <anastasios.kazakis@gmail.com>\n"
|
"Last-Translator: Anastasios Kazakis <anastasios.kazakis@gmail.com>\n"
|
||||||
"Language-Team: Anastasios Kazakis <anastasios.kazakis@tutanota.com>\n"
|
"Language-Team: Anastasios Kazakis <anastasios.kazakis@tutanota.com>\n"
|
||||||
"Language: el_GR\n"
|
"Language: el_GR\n"
|
||||||
|
|
@ -12,7 +12,7 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Native-Language: ελληνικά\n"
|
"X-Native-Language: ελληνικά\n"
|
||||||
"X-Generator: Poedit 3.6\n"
|
"X-Generator: Poedit 3.8\n"
|
||||||
"X-Language: el_GR\n"
|
"X-Language: el_GR\n"
|
||||||
"X-Source-Language: el\n"
|
"X-Source-Language: el\n"
|
||||||
"X-Poedit-SourceCharset: ISO-8859-7\n"
|
"X-Poedit-SourceCharset: ISO-8859-7\n"
|
||||||
|
|
@ -368,7 +368,7 @@ msgstr "Windows"
|
||||||
|
|
||||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||||
msgid "Algorithm"
|
msgid "Algorithm"
|
||||||
msgstr ""
|
msgstr "Αλγόριθμος"
|
||||||
|
|
||||||
#: tfrmchecksumverify.btnclose.caption
|
#: tfrmchecksumverify.btnclose.caption
|
||||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||||
|
|
@ -2804,7 +2804,7 @@ msgstr "Ορισμός όλων των καρτελών σε Κλειδωμέν
|
||||||
|
|
||||||
#: tfrmmain.actsetalltabsoptionpathresets.caption
|
#: tfrmmain.actsetalltabsoptionpathresets.caption
|
||||||
msgid "All tabs Locked with Dir Changes Allowed"
|
msgid "All tabs Locked with Dir Changes Allowed"
|
||||||
msgstr "Όλες οι καρτέλες Κλειδωμένες με ελέυθερες τις Αλλαγές Καταλόγου"
|
msgstr "Όλες οι καρτέλες Κλειδωμένες με ελεύθερες τις Αλλαγές Καταλόγου"
|
||||||
|
|
||||||
#: tfrmmain.actsetfileproperties.caption
|
#: tfrmmain.actsetfileproperties.caption
|
||||||
msgctxt "TFRMMAIN.ACTSETFILEPROPERTIES.CAPTION"
|
msgctxt "TFRMMAIN.ACTSETFILEPROPERTIES.CAPTION"
|
||||||
|
|
@ -2817,7 +2817,7 @@ msgstr "Κλειδωμένο με Καταλόγους Ανοικτούς σε
|
||||||
|
|
||||||
#: tfrmmain.actsettaboptionnormal.caption
|
#: tfrmmain.actsettaboptionnormal.caption
|
||||||
msgid "&Normal"
|
msgid "&Normal"
|
||||||
msgstr "Normal"
|
msgstr "Κανονικό"
|
||||||
|
|
||||||
#: tfrmmain.actsettaboptionpathlocked.caption
|
#: tfrmmain.actsettaboptionpathlocked.caption
|
||||||
msgid "&Locked"
|
msgid "&Locked"
|
||||||
|
|
@ -3396,58 +3396,58 @@ msgstr "Ή επιλέξτε τον προκαθορισμένο τύπο επι
|
||||||
|
|
||||||
#: tfrmmasterkey.btntest.caption
|
#: tfrmmasterkey.btntest.caption
|
||||||
msgid "Test"
|
msgid "Test"
|
||||||
msgstr ""
|
msgstr "Δοκιμή"
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr "Δημιουργία Κλειδιού"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
msgid "Key transformation"
|
msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr "Μετατροπή κλειδιού"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
msgstr ""
|
msgid "Main Password"
|
||||||
|
msgstr "Κύριο Συνθηματικό"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
msgstr ""
|
msgstr "Όσες πιο πολλές επαναλήψεις, τόσο πιο δύσκολες είναι οι επιθέσεις λεξικού και εικασίας, αλλά ταυτόχρονα η φόρτωση/αποθήκευση συνθηματικού απαιτεί περισσότερο χρόνο."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfunction.caption
|
#: tfrmmasterkey.lblfunction.caption
|
||||||
msgid "&Key derivation function:"
|
msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr "Λειτουργία παραγωγής κλειδιού:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr "Το κλειδί μετατρέπεται χρησιμοποιώντας μία συνάρτηση παραγωγής κλειδιού. Αυτό προσθέτει ένα επιπλέον φόρτο εργασίας και κάνει τις επιθέσεις λεξικού και εικασίας πιο δύσκολες."
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
msgid "&Iterations:"
|
msgid "&Iterations:"
|
||||||
msgstr ""
|
msgstr "Επαναλήψεις:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblmemory.caption
|
#: tfrmmasterkey.lblmemory.caption
|
||||||
msgid "&Memory:"
|
msgid "&Memory:"
|
||||||
msgstr ""
|
msgstr "Μνήμη:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblparallelism.caption
|
#: tfrmmasterkey.lblparallelism.caption
|
||||||
msgid "&Parallelism:"
|
msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr "Παραλληλισμός:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr "Συνθηματικό:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
msgid "&Repeat password:"
|
msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr "Επανάληψη συνθηματικού:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr "Καθορίστε ένα νέο κλειδί, το οποίο θα χρησιμοποιηθεί για να κρυπτογραφήσει τον χώρο αποθήκευσης συνθηματικών."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
#, fuzzy
|
|
||||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||||
msgid "MB"
|
msgid "MB"
|
||||||
msgstr "MB"
|
msgstr "MB"
|
||||||
|
|
@ -3634,7 +3634,7 @@ msgstr "Φόρτωση Τελευταίου Ορίσματος"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||||
msgid "Load Names from Clipboard"
|
msgid "Load Names from Clipboard"
|
||||||
msgstr ""
|
msgstr "Φόρτωμα ονομάτων από το Πρόχειρο"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||||
msgid "Load Names from File..."
|
msgid "Load Names from File..."
|
||||||
|
|
@ -3785,11 +3785,11 @@ msgstr "Συνήθεις φράσεις"
|
||||||
|
|
||||||
#: tfrmmultirename.cbrepext.caption
|
#: tfrmmultirename.cbrepext.caption
|
||||||
msgid "E"
|
msgid "E"
|
||||||
msgstr ""
|
msgstr "E"
|
||||||
|
|
||||||
#: tfrmmultirename.cbrepext.hint
|
#: tfrmmultirename.cbrepext.hint
|
||||||
msgid "Replace also in file extensions"
|
msgid "Replace also in file extensions"
|
||||||
msgstr ""
|
msgstr "Αντικατάσταση επίσης στις επεκτάσεις αρχείου"
|
||||||
|
|
||||||
#: tfrmmultirename.cbusesubs.caption
|
#: tfrmmultirename.cbusesubs.caption
|
||||||
msgid "&Use substitution"
|
msgid "&Use substitution"
|
||||||
|
|
@ -11031,11 +11031,13 @@ msgstr "Δεν υπάρχει συντόμευση για \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Βάσει ονόματος εντολής;Βάσει κουμπιού συντόμευσης (ομαδοποιημένα);Βάσει κουμπιού συντόμευσης (ένα σε κάθε σειρά)"
|
msgstr "Βάσει ονόματος εντολής;Βάσει κουμπιού συντόμευσης (ομαδοποιημένα);Βάσει κουμπιού συντόμευσης (ένα σε κάθε σειρά)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr "Προτείνεται να κατεβάσετε τα αρχεία πρώτα. Αλλιώς, ότι αντιγράφεται δεν είναι το περιεχόμενο των αρχείων, αλλά τα αντίστοιχα αρχεία κράτησης χώρου, τα οποία θα έχουν σαν αποτέλεσμα κρυφά αρχεία με την κατάληξη .iCloud."
|
msgstr "Προτείνεται να κατεβάσετε τα αρχεία πρώτα. Αλλιώς, ότι αντιγράφεται δεν είναι το περιεχόμενο των αρχείων, αλλά τα αντίστοιχα αρχεία κράτησης χώρου, τα οποία θα έχουν σαν αποτέλεσμα κρυφά αρχεία με την κατάληξη .iCloud."
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr "Η λειτουργία μπορεί να περιέχει αρχεία που δεν έχουν ληφθεί, συνέχιση έτσι κι αλλιώς;"
|
msgstr "Η λειτουργία μπορεί να περιέχει αρχεία που δεν έχουν ληφθεί, συνέχιση έτσι κι αλλιώς;"
|
||||||
|
|
||||||
|
|
@ -11073,6 +11075,17 @@ msgstr "Λίστα παραθύρων \"Αναζήτηση Αρχείων\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr "Ανάθεση ετικετών σε %d αντικείμενα"
|
msgstr "Ανάθεση ετικετών σε %d αντικείμενα"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Αποεπιλογή Μάσκας"
|
msgstr "Αποεπιλογή Μάσκας"
|
||||||
|
|
@ -11188,6 +11201,26 @@ msgstr "Αποκάλυψη στην Εφαρμογή Εύρεσης"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "Εφαρμογής Εύρεσης"
|
msgstr "Εφαρμογής Εύρεσης"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11206,13 +11239,13 @@ msgstr "Εναλλαγή σε Λειτουργία Οριζοντίου Διαχ
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "HorzSplit"
|
msgstr "HorzSplit"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "Οδηγός iCloud"
|
msgstr "Οδηγός iCloud"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "Οδηγός iCloud"
|
msgstr "Οδηγός iCloud"
|
||||||
|
|
||||||
|
|
@ -11236,7 +11269,7 @@ msgstr "Προνόμιο"
|
||||||
|
|
||||||
#: ulng.rsmfstbiquicklooktips
|
#: ulng.rsmfstbiquicklooktips
|
||||||
msgid "macOS Quick Look Panel"
|
msgid "macOS Quick Look Panel"
|
||||||
msgstr "Καρτέλα σύντομης προβολής macOS"
|
msgstr "Καρτέλα Σύντομης Προβολής macOS"
|
||||||
|
|
||||||
#: ulng.rsmfstbiquicklooktitle
|
#: ulng.rsmfstbiquicklooktitle
|
||||||
msgid "QuickLook"
|
msgid "QuickLook"
|
||||||
|
|
@ -11362,11 +11395,13 @@ msgstr "Εξαγωγή"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Εξαγωγή εδώ..."
|
msgstr "Εξαγωγή εδώ..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr "Λήψη τώρα"
|
msgstr "Λήψη τώρα"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr "Αφαίρεση Ληφθέντος"
|
msgstr "Αφαίρεση Ληφθέντος"
|
||||||
|
|
||||||
|
|
@ -12172,12 +12207,12 @@ msgstr "Μη Έγκυρη επιλογή."
|
||||||
#: ulng.rsmsgkeytransformerror
|
#: ulng.rsmsgkeytransformerror
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation failed (error code %d)!"
|
msgid "The key transformation failed (error code %d)!"
|
||||||
msgstr ""
|
msgstr "Αποτυχία μετατροπής κλειδιού (error code %d)!"
|
||||||
|
|
||||||
#: ulng.rsmsgkeytransformtime
|
#: ulng.rsmsgkeytransformtime
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation took %f seconds."
|
msgid "The key transformation took %f seconds."
|
||||||
msgstr ""
|
msgstr "Η μετατροπή κλειδιού διήρκησε %f δευτερόλεπτα."
|
||||||
|
|
||||||
#: ulng.rsmsgloadingfilelist
|
#: ulng.rsmsgloadingfilelist
|
||||||
msgid "Loading file list..."
|
msgid "Loading file list..."
|
||||||
|
|
@ -12280,11 +12315,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Ασφαλής Διαγραφή καταλόγου %s"
|
msgstr "Ασφαλής Διαγραφή καταλόγου %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Κύριο Συνθηματικό"
|
msgstr "Κύριο Συνθηματικό"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Παρακαλώ εισάγετε το κύριο συνθηματικό:"
|
msgstr "Παρακαλώ εισάγετε το κύριο συνθηματικό:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3363,7 +3363,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3371,8 +3371,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Contraseña maestra"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3383,7 +3385,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3399,7 +3401,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3407,7 +3409,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10934,11 +10936,13 @@ msgstr "No hay acceso directo con «ENTER»"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Por nombre de comando;Por atajo de teclado (agrupado);Por atajo de teclado (uno por fila)"
|
msgstr "Por nombre de comando;Por atajo de teclado (agrupado);Por atajo de teclado (uno por fila)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10976,6 +10980,17 @@ msgstr "Lista de ventanas de «Archivos encontrados»"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Deseleccionar máscara"
|
msgstr "Deseleccionar máscara"
|
||||||
|
|
@ -11096,6 +11111,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11114,13 +11149,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11272,11 +11307,13 @@ msgstr "Expulsar"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Extraer aquí..."
|
msgstr "Extraer aquí..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12201,11 +12238,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Destruir carpeta «%s»"
|
msgstr "Destruir carpeta «%s»"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Contraseña maestra"
|
msgstr "Contraseña maestra"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Por favor, introduce la contraseña maestra:"
|
msgstr "Por favor, introduce la contraseña maestra:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3460,7 +3460,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3468,8 +3468,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Mot de passe principal"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3480,7 +3482,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3496,7 +3498,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3504,7 +3506,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11149,11 +11151,13 @@ msgstr "Aucun raccourci avec la touche \"Entrée\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Par nom de commande;Par raccourci clavier (groupé);Par raccourci clavier (un par ligne)"
|
msgstr "Par nom de commande;Par raccourci clavier (groupé);Par raccourci clavier (un par ligne)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11191,6 +11195,17 @@ msgstr "Liste des fenêtres de recherche de fichiers"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Désélectionner le masque"
|
msgstr "Désélectionner le masque"
|
||||||
|
|
@ -11311,6 +11326,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11329,13 +11364,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11487,11 +11522,13 @@ msgstr "Éjecter"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Extraire ici..."
|
msgstr "Extraire ici..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12404,11 +12441,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Supprimer de manière sécurisée le dossier %s"
|
msgstr "Supprimer de manière sécurisée le dossier %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Mot de passe principal"
|
msgstr "Mot de passe principal"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Veuillez entrer le mot de passe principal :"
|
msgstr "Veuillez entrer le mot de passe principal :"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3597,7 +3597,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3605,8 +3605,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Glavna lozinka"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3617,7 +3619,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3633,7 +3635,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3641,7 +3643,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11502,11 +11504,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11544,6 +11548,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Odznači masku"
|
msgstr "Odznači masku"
|
||||||
|
|
@ -11664,6 +11679,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11682,13 +11717,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11840,11 +11875,13 @@ msgstr "Izbaci"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Raspakirajte ovdje"
|
msgstr "Raspakirajte ovdje"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12759,11 +12796,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Izbriši potpuno Mapa %s"
|
msgstr "Izbriši potpuno Mapa %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Glavna lozinka"
|
msgstr "Glavna lozinka"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Unesite ponovo glavnu lozinku:"
|
msgstr "Unesite ponovo glavnu lozinku:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3336,7 +3336,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3344,8 +3344,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Fő jelszó"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3356,7 +3358,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3372,7 +3374,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3380,7 +3382,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10804,11 +10806,13 @@ msgstr "Nincs \"ENTER\" gyorsbillentyű"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Parancsnév szerint;Gyorsbillentyű szerint (csoportosítva);Gyorsbillentyű szerint (soronként egy)"
|
msgstr "Parancsnév szerint;Gyorsbillentyű szerint (csoportosítva);Gyorsbillentyű szerint (soronként egy)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr "Javasolt először letölteni a fájlokat. Ellenkező esetben nem a fájlok tartalma, hanem a megfelelő helykitöltő fájlok másolódnak, amely .iCloud kiterjesztésű rejtett fájlokat eredményez."
|
msgstr "Javasolt először letölteni a fájlokat. Ellenkező esetben nem a fájlok tartalma, hanem a megfelelő helykitöltő fájlok másolódnak, amely .iCloud kiterjesztésű rejtett fájlokat eredményez."
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr "A művelet tartalmazhat letöltetlen fájlokat, mindenképp folytatja?"
|
msgstr "A művelet tartalmazhat letöltetlen fájlokat, mindenképp folytatja?"
|
||||||
|
|
||||||
|
|
@ -10846,6 +10850,17 @@ msgstr "\"Fájlkeresés\" ablakok listája"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr "Címkék hozzárendelése %d elemhez"
|
msgstr "Címkék hozzárendelése %d elemhez"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Maszk kijelölésének megszüntetése"
|
msgstr "Maszk kijelölésének megszüntetése"
|
||||||
|
|
@ -10961,6 +10976,26 @@ msgstr "Megjelenítés a Finderben"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "Finder"
|
msgstr "Finder"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10979,13 +11014,13 @@ msgstr "Vízszintes felosztás mód váltása"
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "VízszFeloszt"
|
msgstr "VízszFeloszt"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud meghajtó"
|
msgstr "iCloud meghajtó"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud meghajtó"
|
msgstr "iCloud meghajtó"
|
||||||
|
|
||||||
|
|
@ -11135,11 +11170,13 @@ msgstr "Kiadás"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Kibontás ide..."
|
msgstr "Kibontás ide..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr "Letöltés most"
|
msgstr "Letöltés most"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr "Letöltés eltávolítása"
|
msgstr "Letöltés eltávolítása"
|
||||||
|
|
||||||
|
|
@ -12053,11 +12090,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "%s könyvtár törlése"
|
msgstr "%s könyvtár törlése"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Fő jelszó"
|
msgstr "Fő jelszó"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Kérem, adja meg a fő jelszót:"
|
msgstr "Kérem, adja meg a fő jelszót:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3338,7 +3338,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3346,8 +3346,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Password principale"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3358,7 +3360,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3374,7 +3376,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3382,7 +3384,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10810,11 +10812,13 @@ msgstr "Nessuna scorciatoia con \"INVIO\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Per nome comando;Per tasto di scelta rapida (raggruppato);Per tasto di scelta rapida (uno per riga)"
|
msgstr "Per nome comando;Per tasto di scelta rapida (raggruppato);Per tasto di scelta rapida (uno per riga)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10852,6 +10856,17 @@ msgstr "Elenco delle finestre \"Trova file\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Filtro di deselezione"
|
msgstr "Filtro di deselezione"
|
||||||
|
|
@ -10972,6 +10987,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10990,13 +11025,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11148,11 +11183,13 @@ msgstr "Espelli"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Estrai qui..."
|
msgstr "Estrai qui..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12061,11 +12098,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Cancella la cartella %s"
|
msgstr "Cancella la cartella %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Password principale"
|
msgstr "Password principale"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Prego inserire password principale:"
|
msgstr "Prego inserire password principale:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3408,7 +3408,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3416,8 +3416,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "マスターパスワード"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3428,7 +3430,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3444,7 +3446,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3452,7 +3454,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11066,11 +11068,13 @@ msgstr "\"ENTER\"に対するショートカットはありません"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "コマンド名;ショートカットキー(グループ化して);ショートカット(1行に1つ)"
|
msgstr "コマンド名;ショートカットキー(グループ化して);ショートカット(1行に1つ)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11108,6 +11112,17 @@ msgstr "”ファイル検索”ウィンドウのリスト"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "選択解除マスク"
|
msgstr "選択解除マスク"
|
||||||
|
|
@ -11228,6 +11243,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11246,13 +11281,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11404,11 +11439,13 @@ msgstr "取り出し"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "ここに抽出…"
|
msgstr "ここに抽出…"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12319,11 +12356,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "ディレクトリ<%s>を完全消去(抹殺)"
|
msgstr "ディレクトリ<%s>を完全消去(抹殺)"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "マスターパスワード"
|
msgstr "マスターパスワード"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "マスターパスワードを入力して下さい:"
|
msgstr "マスターパスワードを入力して下さい:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ msgstr ""
|
||||||
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
||||||
"PO-Revision-Date: 2025-10-23 02:54+0900\n"
|
"PO-Revision-Date: 2025-12-22 21:45+0900\n"
|
||||||
"Last-Translator: VenusGirl <venusgirl@outlook.com>\n"
|
"Last-Translator: VenusGirl <venusgirl@outlook.com>\n"
|
||||||
"Language-Team: 비너스걸: https://venusgirls.tistory.com/\n"
|
"Language-Team: 비너스걸: https://venusgirls.tistory.com/\n"
|
||||||
"Language: ko\n"
|
"Language: ko\n"
|
||||||
|
|
@ -11,7 +11,7 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Native-Language: 한국어\n"
|
"X-Native-Language: 한국어\n"
|
||||||
"X-Generator: Poedit 3.7\n"
|
"X-Generator: Poedit 3.8\n"
|
||||||
|
|
||||||
#: fsyncdirsdlg.rscomparingpercent
|
#: fsyncdirsdlg.rscomparingpercent
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
|
|
@ -1217,7 +1217,7 @@ msgstr "파일 마스크와 일치하는 파일 추출(&E):"
|
||||||
|
|
||||||
#: tfrmextractdlg.lblpassword.caption
|
#: tfrmextractdlg.lblpassword.caption
|
||||||
msgid "&Password for encrypted files:"
|
msgid "&Password for encrypted files:"
|
||||||
msgstr "암호화된 파일의 암호:(&P):"
|
msgstr "암호화된 파일의 비밀번호(&P):"
|
||||||
|
|
||||||
#: tfrmfileexecuteyourself.btnclose.caption
|
#: tfrmfileexecuteyourself.btnclose.caption
|
||||||
msgctxt "TFRMFILEEXECUTEYOURSELF.BTNCLOSE.CAPTION"
|
msgctxt "TFRMFILEEXECUTEYOURSELF.BTNCLOSE.CAPTION"
|
||||||
|
|
@ -1897,7 +1897,7 @@ msgstr "도메인:"
|
||||||
#: tfrmgioauthdialog.lblpassword.caption
|
#: tfrmgioauthdialog.lblpassword.caption
|
||||||
msgctxt "tfrmgioauthdialog.lblpassword.caption"
|
msgctxt "tfrmgioauthdialog.lblpassword.caption"
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "암호:"
|
msgstr "비밀번호:"
|
||||||
|
|
||||||
#: tfrmgioauthdialog.lblusername.caption
|
#: tfrmgioauthdialog.lblusername.caption
|
||||||
msgctxt "tfrmgioauthdialog.lblusername.caption"
|
msgctxt "tfrmgioauthdialog.lblusername.caption"
|
||||||
|
|
@ -3333,58 +3333,58 @@ msgstr "또는 미리 정의된 선택 유형을 선택(&R):"
|
||||||
|
|
||||||
#: tfrmmasterkey.btntest.caption
|
#: tfrmmasterkey.btntest.caption
|
||||||
msgid "Test"
|
msgid "Test"
|
||||||
msgstr ""
|
msgstr "테스트"
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr "키 만들기"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
msgid "Key transformation"
|
msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr "키 변환"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
msgstr ""
|
msgid "Main Password"
|
||||||
|
msgstr "주 비밀번호"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
msgstr ""
|
msgstr "반복 횟수가 많을수록 사전 및 추측 공격이 더 어려워지지만, 비밀번호 저장소 로딩/저장에도 더 많은 시간이 소요됩니다."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfunction.caption
|
#: tfrmmasterkey.lblfunction.caption
|
||||||
msgid "&Key derivation function:"
|
msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr "키 유도 함수(&K):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr "키는 키 유도 함수를 사용하여 변환됩니다. 이는 작업량을 증가시키고 사전 공격 및 추측 공격을 더욱 어렵게 만듭니다."
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
msgid "&Iterations:"
|
msgid "&Iterations:"
|
||||||
msgstr ""
|
msgstr "반복 횟수(&I):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblmemory.caption
|
#: tfrmmasterkey.lblmemory.caption
|
||||||
msgid "&Memory:"
|
msgid "&Memory:"
|
||||||
msgstr ""
|
msgstr "메모리(&M):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblparallelism.caption
|
#: tfrmmasterkey.lblparallelism.caption
|
||||||
msgid "&Parallelism:"
|
msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr "병행(&P):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr "비밀번호(&W):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
msgid "&Repeat password:"
|
msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr "비밀번호 반복(&R):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr "비밀번호 저장소를 암호화하는 데 사용할 새 키를 지정합니다."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
#, fuzzy
|
|
||||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||||
msgid "MB"
|
msgid "MB"
|
||||||
msgstr "MB"
|
msgstr "MB"
|
||||||
|
|
@ -4098,7 +4098,7 @@ msgstr "목록화 시작 (선택사항)(&G):"
|
||||||
|
|
||||||
#: tfrmoptionsarchivers.lblarchiverpasswordquery.caption
|
#: tfrmoptionsarchivers.lblarchiverpasswordquery.caption
|
||||||
msgid "Password &query string:"
|
msgid "Password &query string:"
|
||||||
msgstr "암호 쿼리 문자열(&Q):"
|
msgstr "비밀번호 쿼리 문자열(&Q):"
|
||||||
|
|
||||||
#: tfrmoptionsarchivers.lblarchiverselfextract.caption
|
#: tfrmoptionsarchivers.lblarchiverselfextract.caption
|
||||||
msgid "Create self extractin&g archive:"
|
msgid "Create self extractin&g archive:"
|
||||||
|
|
@ -8335,7 +8335,7 @@ msgstr "대소문자 구분"
|
||||||
|
|
||||||
#: tfrmquicksearch.sbdiacritics.caption
|
#: tfrmquicksearch.sbdiacritics.caption
|
||||||
msgid "Ďï"
|
msgid "Ďï"
|
||||||
msgstr ""
|
msgstr "Ďï"
|
||||||
|
|
||||||
#: tfrmquicksearch.sbdiacritics.hint
|
#: tfrmquicksearch.sbdiacritics.hint
|
||||||
msgid "Diacritics and ligatures"
|
msgid "Diacritics and ligatures"
|
||||||
|
|
@ -10804,11 +10804,13 @@ msgstr "\"ENTER\"로 바로가기 없음"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "명령 이름별;바로가기 키별 (그룹화);바로가기 키별 (행당 1개)"
|
msgstr "명령 이름별;바로가기 키별 (그룹화);바로가기 키별 (행당 1개)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr "먼저 파일을 다운로드하는 것이 좋습니다. 그렇지 않으면 복사되는 것은 파일의 콘텐츠가 아니라 해당 자리 표시자 파일로, 확장자가 .iCloud인 숨겨진 파일이 됩니다."
|
msgstr "먼저 파일을 다운로드하는 것이 좋습니다. 그렇지 않으면 복사되는 것은 파일의 콘텐츠가 아니라 해당 자리 표시자 파일로, 확장자가 .iCloud인 숨겨진 파일이 됩니다."
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr "다운로드하지 않은 파일이 포함되어 있을 수 있는데 계속 진행하시겠습니까?"
|
msgstr "다운로드하지 않은 파일이 포함되어 있을 수 있는데 계속 진행하시겠습니까?"
|
||||||
|
|
||||||
|
|
@ -10846,6 +10848,17 @@ msgstr "\"파일 찾기\" 창 목록"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr "%d 항목에 태그 할당"
|
msgstr "%d 항목에 태그 할당"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "마스크 선택 취소"
|
msgstr "마스크 선택 취소"
|
||||||
|
|
@ -10961,6 +10974,26 @@ msgstr "파인더에서 공개"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "파인더"
|
msgstr "파인더"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10979,13 +11012,13 @@ msgstr "수평 분할 모드 전환"
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "수평 분할"
|
msgstr "수평 분할"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud 드라이버"
|
msgstr "iCloud 드라이버"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud 드라이버"
|
msgstr "iCloud 드라이버"
|
||||||
|
|
||||||
|
|
@ -11135,11 +11168,13 @@ msgstr "꺼내기"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "여기에 추출..."
|
msgstr "여기에 추출..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr "지금 다운로드"
|
msgstr "지금 다운로드"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr "다운로드 제거"
|
msgstr "다운로드 제거"
|
||||||
|
|
||||||
|
|
@ -11946,12 +11981,12 @@ msgstr "잘못된 선택입니다."
|
||||||
#: ulng.rsmsgkeytransformerror
|
#: ulng.rsmsgkeytransformerror
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation failed (error code %d)!"
|
msgid "The key transformation failed (error code %d)!"
|
||||||
msgstr ""
|
msgstr "키 변환에 실패했습니다 (오류 코드 %d)!"
|
||||||
|
|
||||||
#: ulng.rsmsgkeytransformtime
|
#: ulng.rsmsgkeytransformtime
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation took %f seconds."
|
msgid "The key transformation took %f seconds."
|
||||||
msgstr ""
|
msgstr "키 변환에 %f초가 걸렸습니다."
|
||||||
|
|
||||||
#: ulng.rsmsgloadingfilelist
|
#: ulng.rsmsgloadingfilelist
|
||||||
msgid "Loading file list..."
|
msgid "Loading file list..."
|
||||||
|
|
@ -12054,12 +12089,13 @@ msgid "Wipe directory %s"
|
||||||
msgstr "%s 폴더 영구 삭제"
|
msgstr "%s 폴더 영구 삭제"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
msgstr "마스터 암호"
|
msgid "Main Password"
|
||||||
|
msgstr "주 비밀번호"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "마스터 암호를 입력하세요:"
|
msgstr "주 비밀번호를 입력하세요:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
msgid "New file"
|
msgid "New file"
|
||||||
|
|
@ -12110,23 +12146,23 @@ msgstr "아래는 미리보기입니다. 커서를 이동하고 파일을 선택
|
||||||
#: ulng.rsmsgpassword
|
#: ulng.rsmsgpassword
|
||||||
msgctxt "ulng.rsmsgpassword"
|
msgctxt "ulng.rsmsgpassword"
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "암호:"
|
msgstr "비밀번호:"
|
||||||
|
|
||||||
#: ulng.rsmsgpassworddiff
|
#: ulng.rsmsgpassworddiff
|
||||||
msgid "Passwords are different!"
|
msgid "Passwords are different!"
|
||||||
msgstr "암호가 다릅니다!"
|
msgstr "비밀번호가 다릅니다!"
|
||||||
|
|
||||||
#: ulng.rsmsgpasswordenter
|
#: ulng.rsmsgpasswordenter
|
||||||
msgid "Please enter the password:"
|
msgid "Please enter the password:"
|
||||||
msgstr "암호를 입력하세요:"
|
msgstr "비밀번호를 입력하세요:"
|
||||||
|
|
||||||
#: ulng.rsmsgpasswordfirewall
|
#: ulng.rsmsgpasswordfirewall
|
||||||
msgid "Password (Firewall):"
|
msgid "Password (Firewall):"
|
||||||
msgstr "암호 (방화벽):"
|
msgstr "비밀번호 (방화벽):"
|
||||||
|
|
||||||
#: ulng.rsmsgpasswordverify
|
#: ulng.rsmsgpasswordverify
|
||||||
msgid "Please re-enter the password for verification:"
|
msgid "Please re-enter the password for verification:"
|
||||||
msgstr "검증을 위해 암호를 다시 입력하세요:"
|
msgstr "검증을 위해 비밀번호를 다시 입력하세요:"
|
||||||
|
|
||||||
#: ulng.rsmsgpopuphotdelete
|
#: ulng.rsmsgpopuphotdelete
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
|
|
@ -12468,7 +12504,7 @@ msgid ""
|
||||||
"Wrong password!\n"
|
"Wrong password!\n"
|
||||||
"Please try again!"
|
"Please try again!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"암호가 잘못되었습니다!\n"
|
"비밀번호가 잘못되었습니다!\n"
|
||||||
"다시 시도해 주세요!"
|
"다시 시도해 주세요!"
|
||||||
|
|
||||||
#: ulng.rsmulrenautorename
|
#: ulng.rsmulrenautorename
|
||||||
|
|
|
||||||
|
|
@ -3422,7 +3422,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3430,8 +3430,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Hovedpassord"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3442,7 +3444,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3458,7 +3460,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3466,7 +3468,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11312,11 +11314,13 @@ msgstr "Ingen hurtigtast med \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Etter kommandonavn;Etter hurtigtast(gruppert);Etter hurtigtast(en pr rad"
|
msgstr "Etter kommandonavn;Etter hurtigtast(gruppert);Etter hurtigtast(en pr rad"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11354,6 +11358,17 @@ msgstr "Liste med \"Søk...\" vinduer"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Innskrenk valg"
|
msgstr "Innskrenk valg"
|
||||||
|
|
@ -11474,6 +11489,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11492,13 +11527,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11650,11 +11685,13 @@ msgstr "Skubb ut"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Pakk ut her..."
|
msgstr "Pakk ut her..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12564,11 +12601,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Sikker sletting av mappe %s"
|
msgstr "Sikker sletting av mappe %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Hovedpassord"
|
msgstr "Hovedpassord"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Tast inn hovedpassordet:"
|
msgstr "Tast inn hovedpassordet:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -2495,7 +2495,7 @@ msgstr "Maak map"
|
||||||
|
|
||||||
#: tfrmmain.actmapnetworkdrive.caption
|
#: tfrmmain.actmapnetworkdrive.caption
|
||||||
msgid "Map Network Drive..."
|
msgid "Map Network Drive..."
|
||||||
msgstr "Breng netwerkschijf in kaart..."
|
msgstr "Netwerkschijf koppelen..."
|
||||||
|
|
||||||
#: tfrmmain.actmarkcurrentextension.caption
|
#: tfrmmain.actmarkcurrentextension.caption
|
||||||
msgid "Select All with the Same E&xtension"
|
msgid "Select All with the Same E&xtension"
|
||||||
|
|
@ -3350,7 +3350,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3358,8 +3358,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Hoofdwachtwoord"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3370,7 +3372,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3386,7 +3388,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3394,7 +3396,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10845,11 +10847,13 @@ msgstr "Geen sneltoets met 'ENTER'"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Op opdrachtnaam;Op sneltoets (gegroepeerd);Op sneltoets (één per rij)"
|
msgstr "Op opdrachtnaam;Op sneltoets (gegroepeerd);Op sneltoets (één per rij)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10887,6 +10891,17 @@ msgstr "Lijst van vensters voor zoeken van bestanden"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Deselectie masker"
|
msgstr "Deselectie masker"
|
||||||
|
|
@ -11007,6 +11022,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11025,13 +11060,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11183,11 +11218,13 @@ msgstr "Uitwerpen"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Pak hier uit..."
|
msgstr "Pak hier uit..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12096,11 +12133,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Wis map %s"
|
msgstr "Wis map %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Hoofdwachtwoord"
|
msgstr "Hoofdwachtwoord"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Geef a.u.b. het hoofdwachtwoord in:"
|
msgstr "Geef a.u.b. het hoofdwachtwoord in:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3422,7 +3422,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3430,8 +3430,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Hovudpassord"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3442,7 +3444,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3458,7 +3460,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3466,7 +3468,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11312,11 +11314,13 @@ msgstr "Ingen hurtigtast med \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Etter kommandonamn;Etter hurtigtast(gruppert);Etter hurtigtast(ein pr rad)"
|
msgstr "Etter kommandonamn;Etter hurtigtast(gruppert);Etter hurtigtast(ein pr rad)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11354,6 +11358,17 @@ msgstr "Liste med \"Søk...\"-vindauge"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Innskrenk val"
|
msgstr "Innskrenk val"
|
||||||
|
|
@ -11474,6 +11489,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11492,13 +11527,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11650,11 +11685,13 @@ msgstr "Skubb ut"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Pakk ut her..."
|
msgstr "Pakk ut her..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12564,11 +12601,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Sikker sletting av mappe %s"
|
msgstr "Sikker sletting av mappe %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Hovudpassord"
|
msgstr "Hovudpassord"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Tast inn hovudpassordet:"
|
msgstr "Tast inn hovudpassordet:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3328,7 +3328,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3336,8 +3336,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Hasło główne"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3348,7 +3350,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3364,7 +3366,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3372,7 +3374,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10774,11 +10776,13 @@ msgstr "Brak skrótu z \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Wg nazwy polecenia;Wg klawisza skrótu (pogrupowane);Wg klawisza skrótu (po jednym w wierszu)"
|
msgstr "Wg nazwy polecenia;Wg klawisza skrótu (pogrupowane);Wg klawisza skrótu (po jednym w wierszu)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10816,6 +10820,17 @@ msgstr "Lista okien \"Znajdź pliki\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Maska odznaczania"
|
msgstr "Maska odznaczania"
|
||||||
|
|
@ -10936,6 +10951,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10954,13 +10989,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11112,11 +11147,13 @@ msgstr "Wysuń"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Wypakuj tutaj..."
|
msgstr "Wypakuj tutaj..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12025,11 +12062,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Wyczyść katalog %s"
|
msgstr "Wyczyść katalog %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Hasło główne"
|
msgstr "Hasło główne"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Wprowadź hasło główne:"
|
msgstr "Wprowadź hasło główne:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3334,7 +3334,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3342,7 +3342,8 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
|
|
@ -3354,7 +3355,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3370,7 +3371,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3378,7 +3379,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10787,11 +10788,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10829,6 +10832,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -10944,6 +10958,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10962,13 +10996,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11118,11 +11152,13 @@ msgstr ""
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12013,11 +12049,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3401,7 +3401,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3409,8 +3409,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Senha mestra"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3421,7 +3423,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3437,7 +3439,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3445,7 +3447,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11044,11 +11046,13 @@ msgstr "Sem atalho com \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Por nome de comando;Por tecla de atalho (agrupado);Por tecla de atalho (um por linha)"
|
msgstr "Por nome de comando;Por tecla de atalho (agrupado);Por tecla de atalho (um por linha)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11086,6 +11090,17 @@ msgstr "Lista de janelas \"Localizar ficheiros\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Desseleccionar máscara"
|
msgstr "Desseleccionar máscara"
|
||||||
|
|
@ -11201,6 +11216,26 @@ msgstr "Revelar no localizador"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "Localizador"
|
msgstr "Localizador"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11219,13 +11254,13 @@ msgstr "Alternar modo de divisão horizontal"
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "HorzSplit"
|
msgstr "HorzSplit"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11375,11 +11410,13 @@ msgstr "Ejectar"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Extrair aqui..."
|
msgstr "Extrair aqui..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12288,11 +12325,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Limpar pasta %s"
|
msgstr "Limpar pasta %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Senha mestra"
|
msgstr "Senha mestra"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Por favor insira a senha mestra:"
|
msgstr "Por favor insira a senha mestra:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3455,7 +3455,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3463,8 +3463,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Senha Mestra"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3475,7 +3477,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3491,7 +3493,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3499,7 +3501,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11254,11 +11256,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11296,6 +11300,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Remover seleção da máscara"
|
msgstr "Remover seleção da máscara"
|
||||||
|
|
@ -11416,6 +11431,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11434,13 +11469,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11592,11 +11627,13 @@ msgstr "Ejetar"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Extrair aqui..."
|
msgstr "Extrair aqui..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12505,11 +12542,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Limpar pasta %s"
|
msgstr "Limpar pasta %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Senha Mestra"
|
msgstr "Senha Mestra"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Por favor introduza senha mestra:"
|
msgstr "Por favor introduza senha mestra:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3419,7 +3419,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3427,8 +3427,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Parolă"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3439,7 +3441,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3455,7 +3457,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3463,7 +3465,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11126,11 +11128,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11168,6 +11172,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Deselectează masca"
|
msgstr "Deselectează masca"
|
||||||
|
|
@ -11287,6 +11302,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11305,13 +11340,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11463,11 +11498,13 @@ msgstr "Scoate"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12359,11 +12396,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Șterge definitiv dosarul %s"
|
msgstr "Șterge definitiv dosarul %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Parolă"
|
msgstr "Parolă"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Introduceți parola:"
|
msgstr "Introduceți parola:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3391,16 +3391,17 @@ msgid "Test"
|
||||||
msgstr "Тест"
|
msgstr "Тест"
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr "Создание мастер ключа"
|
msgstr "Создание ключа"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
msgid "Key transformation"
|
msgid "Key transformation"
|
||||||
msgstr "Трансформация ключа"
|
msgstr "Трансформация ключа"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
msgstr "Мастер ключ"
|
msgid "Main Password"
|
||||||
|
msgstr "Главный пароль"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3411,8 +3412,8 @@ msgid "&Key derivation function:"
|
||||||
msgstr "&Функция формирования ключа:"
|
msgstr "&Функция формирования ключа:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr "Мастер ключ преобразуется с помощью функции формирования ключа, что добавляет вычисления и усложняет атаки по словарю и угадывание."
|
msgstr "Ключ преобразуется с помощью функции формирования ключа, что добавляет вычисления и усложняет атаки по словарю и угадывание."
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
msgid "&Iterations:"
|
msgid "&Iterations:"
|
||||||
|
|
@ -3427,16 +3428,16 @@ msgid "&Parallelism:"
|
||||||
msgstr "П&араллелизм:"
|
msgstr "П&араллелизм:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr "&Мастер пароль:"
|
msgstr "Па&роль:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
msgid "&Repeat password:"
|
msgid "&Repeat password:"
|
||||||
msgstr "П&овторите пароль:"
|
msgstr "П&овторите пароль:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr "Укажите новый мастер-ключ, который будет использоваться для шифрования хранилища паролей."
|
msgstr "Укажите новый ключ, который будет использоваться для шифрования хранилища паролей."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||||
|
|
@ -11063,11 +11064,13 @@ msgstr "Не использовать \"Enter\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "По имени команды;По горячим клавишам (группир.);По горячим клавишам (по одной)"
|
msgstr "По имени команды;По горячим клавишам (группир.);По горячим клавишам (по одной)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr "Рекомендуется сначала загрузить файлы. В противном случае будет скопировано не содержимое файлов, а соответствующие файлы-заполнители, что приведет к появлению скрытых файлов с расширением .iCloud."
|
msgstr "Рекомендуется сначала загрузить файлы. В противном случае будет скопировано не содержимое файлов, а соответствующие файлы-заполнители, что приведет к появлению скрытых файлов с расширением .iCloud."
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr "Операция может содержать файлы, которые не были загружены. Продолжить в любом случае?"
|
msgstr "Операция может содержать файлы, которые не были загружены. Продолжить в любом случае?"
|
||||||
|
|
||||||
|
|
@ -11105,6 +11108,17 @@ msgstr "Список окон \"Поиск файлов\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr "Добавить теги выделенному (%d)"
|
msgstr "Добавить теги выделенному (%d)"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Снять выделение по маске"
|
msgstr "Снять выделение по маске"
|
||||||
|
|
@ -11220,6 +11234,26 @@ msgstr "Открыть в Finder"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "Finder"
|
msgstr "Finder"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11238,13 +11272,13 @@ msgstr "Переключить режим расположения панеле
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "Горизонтальное разделение"
|
msgstr "Горизонтальное разделение"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "Диск iCloud"
|
msgstr "Диск iCloud"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "Диск iCloud"
|
msgstr "Диск iCloud"
|
||||||
|
|
||||||
|
|
@ -11394,11 +11428,13 @@ msgstr "Извлечь"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Распаковать здесь..."
|
msgstr "Распаковать здесь..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr "Загрузить сейчас"
|
msgstr "Загрузить сейчас"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr "Удалить загрузку"
|
msgstr "Удалить загрузку"
|
||||||
|
|
||||||
|
|
@ -12318,11 +12354,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Стирание каталога %s"
|
msgstr "Стирание каталога %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Главный пароль:"
|
msgstr "Главный пароль:"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Введите главный пароль:"
|
msgstr "Введите главный пароль:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Double Commander 1.1.22g\n"
|
"Project-Id-Version: Double Commander 1.1.30g\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
"POT-Creation-Date: 2022-11-15 11:15+0300\n"
|
||||||
"PO-Revision-Date: 2025-01-18 15:45+0100\n"
|
"PO-Revision-Date: 2025-11-30 00:27+0100\n"
|
||||||
"Last-Translator: Jozef Gaal <preklady@mayday.sk>\n"
|
"Last-Translator: Jozef Gaal <preklady@mayday.sk>\n"
|
||||||
"Language-Team: Jozef Gaál <preklady@mayday.sk>\n"
|
"Language-Team: Jozef Gaál <preklady@mayday.sk>\n"
|
||||||
"Language: sk\n"
|
"Language: sk\n"
|
||||||
|
|
@ -11,7 +11,7 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Native-Language: Slovenčina\n"
|
"X-Native-Language: Slovenčina\n"
|
||||||
"X-Generator: Poedit 3.4.2\n"
|
"X-Generator: Poedit 3.6\n"
|
||||||
|
|
||||||
#: fsyncdirsdlg.rscomparingpercent
|
#: fsyncdirsdlg.rscomparingpercent
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
|
|
@ -355,7 +355,7 @@ msgstr "Windows (CRLF)"
|
||||||
|
|
||||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||||
msgid "Algorithm"
|
msgid "Algorithm"
|
||||||
msgstr ""
|
msgstr "Algoritmus"
|
||||||
|
|
||||||
#: tfrmchecksumverify.btnclose.caption
|
#: tfrmchecksumverify.btnclose.caption
|
||||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||||
|
|
@ -1006,7 +1006,7 @@ msgstr "Vybrať všetko"
|
||||||
|
|
||||||
#: tfrmeditor.actedittimedate.caption
|
#: tfrmeditor.actedittimedate.caption
|
||||||
msgid "Time/Date"
|
msgid "Time/Date"
|
||||||
msgstr ""
|
msgstr "Čas/Dátum"
|
||||||
|
|
||||||
#: tfrmeditor.acteditundo.caption
|
#: tfrmeditor.acteditundo.caption
|
||||||
msgctxt "TFRMEDITOR.ACTEDITUNDO.CAPTION"
|
msgctxt "TFRMEDITOR.ACTEDITUNDO.CAPTION"
|
||||||
|
|
@ -3333,58 +3333,58 @@ msgstr "Alebo zvoľte preddefinovaný typ výbe&ru:"
|
||||||
|
|
||||||
#: tfrmmasterkey.btntest.caption
|
#: tfrmmasterkey.btntest.caption
|
||||||
msgid "Test"
|
msgid "Test"
|
||||||
msgstr ""
|
msgstr "Vyskúšať"
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr "Vytvoriť kľúč"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
msgid "Key transformation"
|
msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr "Transformácia kľúča"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
msgstr ""
|
msgid "Main Password"
|
||||||
|
msgstr "Hlavné heslo"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
msgstr ""
|
msgstr "Čím viac iterácií, tým ťažšie sú slovníkové a odhadovacie útoky, ale aj načítanie/ukladanie hesiel trvá dlhšie."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfunction.caption
|
#: tfrmmasterkey.lblfunction.caption
|
||||||
msgid "&Key derivation function:"
|
msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr "Funkcia odvodenia &kľúča:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr "Kľúč sa transformuje pomocou funkcie odvodenia kľúča. To pridáva pracovný faktor a sťažuje útoky pomocou slovníkov a hádania."
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
msgid "&Iterations:"
|
msgid "&Iterations:"
|
||||||
msgstr ""
|
msgstr "&Iterácie:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblmemory.caption
|
#: tfrmmasterkey.lblmemory.caption
|
||||||
msgid "&Memory:"
|
msgid "&Memory:"
|
||||||
msgstr ""
|
msgstr "Pa&mäť:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblparallelism.caption
|
#: tfrmmasterkey.lblparallelism.caption
|
||||||
msgid "&Parallelism:"
|
msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr "&Paralelizmus:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr "&Heslo:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
msgid "&Repeat password:"
|
msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr "&Opakovať heslo:"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr "Určite nový kľúč, ktorý sa bude používať na šifrovanie úložiska hesiel."
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
#, fuzzy
|
|
||||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||||
msgid "MB"
|
msgid "MB"
|
||||||
msgstr "MB"
|
msgstr "MB"
|
||||||
|
|
@ -3569,7 +3569,7 @@ msgstr "Načítať poslednú predvoľbu"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||||
msgid "Load Names from Clipboard"
|
msgid "Load Names from Clipboard"
|
||||||
msgstr ""
|
msgstr "Načítať názvy zo schránky"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||||
msgid "Load Names from File..."
|
msgid "Load Names from File..."
|
||||||
|
|
@ -3718,11 +3718,11 @@ msgstr "&Regulárne výrazy"
|
||||||
|
|
||||||
#: tfrmmultirename.cbrepext.caption
|
#: tfrmmultirename.cbrepext.caption
|
||||||
msgid "E"
|
msgid "E"
|
||||||
msgstr ""
|
msgstr "E"
|
||||||
|
|
||||||
#: tfrmmultirename.cbrepext.hint
|
#: tfrmmultirename.cbrepext.hint
|
||||||
msgid "Replace also in file extensions"
|
msgid "Replace also in file extensions"
|
||||||
msgstr ""
|
msgstr "Nahradiť aj v príponách súborov"
|
||||||
|
|
||||||
#: tfrmmultirename.cbusesubs.caption
|
#: tfrmmultirename.cbusesubs.caption
|
||||||
msgid "&Use substitution"
|
msgid "&Use substitution"
|
||||||
|
|
@ -4235,11 +4235,11 @@ msgstr "Binárny mód"
|
||||||
|
|
||||||
#: tfrmoptionscolors.dbbookmode.caption
|
#: tfrmoptionscolors.dbbookmode.caption
|
||||||
msgid "Book Mode"
|
msgid "Book Mode"
|
||||||
msgstr "Režim prezerania knihy"
|
msgstr "Režim knihy"
|
||||||
|
|
||||||
#: tfrmoptionscolors.dbimagemode.caption
|
#: tfrmoptionscolors.dbimagemode.caption
|
||||||
msgid "Image Mode"
|
msgid "Image Mode"
|
||||||
msgstr "Typ obrázku"
|
msgstr "Režim obrázku"
|
||||||
|
|
||||||
#: tfrmoptionscolors.dbtextmode.caption
|
#: tfrmoptionscolors.dbtextmode.caption
|
||||||
msgid "Text Mode"
|
msgid "Text Mode"
|
||||||
|
|
@ -4265,7 +4265,7 @@ msgstr "Kategória:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lbldeleted.caption
|
#: tfrmoptionscolors.lbldeleted.caption
|
||||||
msgid "Deleted:"
|
msgid "Deleted:"
|
||||||
msgstr "Vymazať:"
|
msgstr "Vymazané:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblerror.caption
|
#: tfrmoptionscolors.lblerror.caption
|
||||||
msgid "Error:"
|
msgid "Error:"
|
||||||
|
|
@ -4273,7 +4273,7 @@ msgstr "Chyba:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblimagebackground1.caption
|
#: tfrmoptionscolors.lblimagebackground1.caption
|
||||||
msgid "Background 1:"
|
msgid "Background 1:"
|
||||||
msgstr "Pozadie 2:"
|
msgstr "Pozadie 1:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblimagebackground2.caption
|
#: tfrmoptionscolors.lblimagebackground2.caption
|
||||||
msgctxt "tfrmoptionscolors.lblimagebackground2.caption"
|
msgctxt "tfrmoptionscolors.lblimagebackground2.caption"
|
||||||
|
|
@ -4286,19 +4286,19 @@ msgstr "&Indikátor Zadnej Farby:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblindcolor.caption
|
#: tfrmoptionscolors.lblindcolor.caption
|
||||||
msgid "&Indicator Fore Color:"
|
msgid "&Indicator Fore Color:"
|
||||||
msgstr "&Indikátor Prednej Farby:"
|
msgstr "&Indikátor farby popredia:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblindthresholdcolor.caption
|
#: tfrmoptionscolors.lblindthresholdcolor.caption
|
||||||
msgid "Indicator &Threshold Color:"
|
msgid "Indicator &Threshold Color:"
|
||||||
msgstr "&Indikátor Prednej Farby:"
|
msgstr "Indikátor &hraničnej farby:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblinformation.caption
|
#: tfrmoptionscolors.lblinformation.caption
|
||||||
msgid "Information:"
|
msgid "Information:"
|
||||||
msgstr "Nastavenie:"
|
msgstr "Informácie:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblleft.caption
|
#: tfrmoptionscolors.lblleft.caption
|
||||||
msgid "Left:"
|
msgid "Left:"
|
||||||
msgstr "&Ľavý:"
|
msgstr "Ľavý:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblmodified.caption
|
#: tfrmoptionscolors.lblmodified.caption
|
||||||
msgctxt "tfrmoptionscolors.lblmodified.caption"
|
msgctxt "tfrmoptionscolors.lblmodified.caption"
|
||||||
|
|
@ -4312,7 +4312,7 @@ msgstr "Upravený:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblright.caption
|
#: tfrmoptionscolors.lblright.caption
|
||||||
msgid "Right:"
|
msgid "Right:"
|
||||||
msgstr "&Pravý:"
|
msgstr "Pravý:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.lblsuccess.caption
|
#: tfrmoptionscolors.lblsuccess.caption
|
||||||
msgctxt "tfrmoptionscolors.lblsuccess.caption"
|
msgctxt "tfrmoptionscolors.lblsuccess.caption"
|
||||||
|
|
@ -4325,7 +4325,7 @@ msgstr "Neznáme:"
|
||||||
|
|
||||||
#: tfrmoptionscolors.rgdarkmode.caption
|
#: tfrmoptionscolors.rgdarkmode.caption
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Otočiť"
|
msgstr "Stav"
|
||||||
|
|
||||||
#: tfrmoptionscolumnsview.cbcolumnstitlelikevalues.caption
|
#: tfrmoptionscolumnsview.cbcolumnstitlelikevalues.caption
|
||||||
msgid "Column titles alignment &like values"
|
msgid "Column titles alignment &like values"
|
||||||
|
|
@ -5307,7 +5307,7 @@ msgstr "Umožňuje odsadiť striešku, keď sa nový riadok vytvorí pomocou <En
|
||||||
|
|
||||||
#: tfrmoptionseditor.chkgroupundo.caption
|
#: tfrmoptionseditor.chkgroupundo.caption
|
||||||
msgid "Group Undo"
|
msgid "Group Undo"
|
||||||
msgstr "Skupina"
|
msgstr "Zoskupiť zrušenie"
|
||||||
|
|
||||||
#: tfrmoptionseditor.chkgroupundo.hint
|
#: tfrmoptionseditor.chkgroupundo.hint
|
||||||
msgid "All continuous changes of the same type will be processed in one call instead of undoing/redoing each one"
|
msgid "All continuous changes of the same type will be processed in one call instead of undoing/redoing each one"
|
||||||
|
|
@ -6545,12 +6545,12 @@ msgstr "Ovládanie"
|
||||||
#: tfrmoptionsicloud.appslistview.columns[0].caption
|
#: tfrmoptionsicloud.appslistview.columns[0].caption
|
||||||
msgctxt "tfrmoptionsicloud.appslistview.columns[0].caption"
|
msgctxt "tfrmoptionsicloud.appslistview.columns[0].caption"
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr ""
|
msgstr "Aplikácie"
|
||||||
|
|
||||||
#: tfrmoptionsicloud.appslistview.columns[1].caption
|
#: tfrmoptionsicloud.appslistview.columns[1].caption
|
||||||
msgctxt "tfrmoptionsicloud.appslistview.columns[1].caption"
|
msgctxt "tfrmoptionsicloud.appslistview.columns[1].caption"
|
||||||
msgid "Count of Contents"
|
msgid "Count of Contents"
|
||||||
msgstr ""
|
msgstr "Obsah"
|
||||||
|
|
||||||
#: tfrmoptionsicons.cbiconsexclude.caption
|
#: tfrmoptionsicons.cbiconsexclude.caption
|
||||||
msgctxt "TFRMOPTIONSICONS.CBICONSEXCLUDE.CAPTION"
|
msgctxt "TFRMOPTIONSICONS.CBICONSEXCLUDE.CAPTION"
|
||||||
|
|
@ -6939,7 +6939,7 @@ msgstr "Kliknutím na ikonu"
|
||||||
#: tfrmoptionsmouse.chkzoomwithctrlwheel.caption
|
#: tfrmoptionsmouse.chkzoomwithctrlwheel.caption
|
||||||
msgctxt "tfrmoptionsmouse.chkzoomwithctrlwheel.caption"
|
msgctxt "tfrmoptionsmouse.chkzoomwithctrlwheel.caption"
|
||||||
msgid "Zoom with Ctrl + Scroll Wheel"
|
msgid "Zoom with Ctrl + Scroll Wheel"
|
||||||
msgstr ""
|
msgstr "Zväčšenie pomocou klávesy Ctrl + kolieska myši"
|
||||||
|
|
||||||
#: tfrmoptionsmouse.gbopenwith.caption
|
#: tfrmoptionsmouse.gbopenwith.caption
|
||||||
msgctxt "tfrmoptionsmouse.gbopenwith.caption"
|
msgctxt "tfrmoptionsmouse.gbopenwith.caption"
|
||||||
|
|
@ -6955,7 +6955,6 @@ msgid "Selection"
|
||||||
msgstr "Výber"
|
msgstr "Výber"
|
||||||
|
|
||||||
#: tfrmoptionsmouse.gbzoom.caption
|
#: tfrmoptionsmouse.gbzoom.caption
|
||||||
#, fuzzy
|
|
||||||
msgctxt "tfrmoptionsmouse.gbzoom.caption"
|
msgctxt "tfrmoptionsmouse.gbzoom.caption"
|
||||||
msgid "Zoom"
|
msgid "Zoom"
|
||||||
msgstr "Priblíženie"
|
msgstr "Priblíženie"
|
||||||
|
|
@ -7185,11 +7184,9 @@ msgid "File name"
|
||||||
msgstr "Názov súboru"
|
msgstr "Názov súboru"
|
||||||
|
|
||||||
#: tfrmoptionspluginswfx.lblplugindescription.caption
|
#: tfrmoptionspluginswfx.lblplugindescription.caption
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Fi&le system plugins allow access to disks inaccessible by operating system or to external devices like Palm/PocketPC."
|
|
||||||
msgctxt "tfrmoptionspluginswfx.lblplugindescription.caption"
|
msgctxt "tfrmoptionspluginswfx.lblplugindescription.caption"
|
||||||
msgid "Fi&le system plugins allow access to disks inaccessible by operating system or to external devices like smartphones."
|
msgid "Fi&le system plugins allow access to disks inaccessible by operating system or to external devices like smartphones."
|
||||||
msgstr "Zásuvné moduly súborových systémov umožnia prístup k bežne nedostupným médiám ako sú napr. externé zariadenia (Palm/PocketPC)."
|
msgstr "Zásuvné moduly súborového systému umožňujú prístup k diskom, ktoré sú pre operačný systém nedostupné, alebo k externým zariadeniam, ako sú smartfóny."
|
||||||
|
|
||||||
#: tfrmoptionspluginswfx.stgplugins.columns[0].title.caption
|
#: tfrmoptionspluginswfx.stgplugins.columns[0].title.caption
|
||||||
msgctxt "tfrmoptionspluginswfx.stgplugins.columns[0].title.caption"
|
msgctxt "tfrmoptionspluginswfx.stgplugins.columns[0].title.caption"
|
||||||
|
|
@ -8186,7 +8183,7 @@ msgstr "Zmeňte farbu na ľavej strane a uvidíte tu náhľad toho, ako budú vy
|
||||||
|
|
||||||
#: tfrmoptionsviewer.gbinternalviewer.caption
|
#: tfrmoptionsviewer.gbinternalviewer.caption
|
||||||
msgid "Internal viewer options"
|
msgid "Internal viewer options"
|
||||||
msgstr "Možnosti interného editora"
|
msgstr "Možnosti interného prehliadača"
|
||||||
|
|
||||||
#: tfrmoptionsviewer.lblnumbercolumnsviewer.caption
|
#: tfrmoptionsviewer.lblnumbercolumnsviewer.caption
|
||||||
msgid "&Number of columns in book viewer"
|
msgid "&Number of columns in book viewer"
|
||||||
|
|
@ -8338,11 +8335,11 @@ msgstr "Rozlišovať veľkosť písmen"
|
||||||
|
|
||||||
#: tfrmquicksearch.sbdiacritics.caption
|
#: tfrmquicksearch.sbdiacritics.caption
|
||||||
msgid "Ďï"
|
msgid "Ďï"
|
||||||
msgstr ""
|
msgstr "Ďï"
|
||||||
|
|
||||||
#: tfrmquicksearch.sbdiacritics.hint
|
#: tfrmquicksearch.sbdiacritics.hint
|
||||||
msgid "Diacritics and ligatures"
|
msgid "Diacritics and ligatures"
|
||||||
msgstr ""
|
msgstr "Diakritika a ligatúry"
|
||||||
|
|
||||||
#: tfrmquicksearch.sbdirectories.caption
|
#: tfrmquicksearch.sbdirectories.caption
|
||||||
msgid "D"
|
msgid "D"
|
||||||
|
|
@ -8803,7 +8800,7 @@ msgstr "Double Commander"
|
||||||
#: tfrmstartingsplash.lblbuild.caption
|
#: tfrmstartingsplash.lblbuild.caption
|
||||||
msgctxt "TFRMSTARTINGSPLASH.LBLBUILD.CAPTION"
|
msgctxt "TFRMSTARTINGSPLASH.LBLBUILD.CAPTION"
|
||||||
msgid "Build"
|
msgid "Build"
|
||||||
msgstr "Build"
|
msgstr "Zostavenie"
|
||||||
|
|
||||||
#: tfrmstartingsplash.lblcommit.caption
|
#: tfrmstartingsplash.lblcommit.caption
|
||||||
msgctxt "tfrmstartingsplash.lblcommit.caption"
|
msgctxt "tfrmstartingsplash.lblcommit.caption"
|
||||||
|
|
@ -9314,7 +9311,7 @@ msgstr "Prejsť na riadok"
|
||||||
|
|
||||||
#: tfrmviewer.actimagecenter.caption
|
#: tfrmviewer.actimagecenter.caption
|
||||||
msgid "Center"
|
msgid "Center"
|
||||||
msgstr "Centrovať"
|
msgstr "Na stred"
|
||||||
|
|
||||||
#: tfrmviewer.actloadnextfile.caption
|
#: tfrmviewer.actloadnextfile.caption
|
||||||
msgid "&Next"
|
msgid "&Next"
|
||||||
|
|
@ -9322,7 +9319,7 @@ msgstr "&Další"
|
||||||
|
|
||||||
#: tfrmviewer.actloadnextfile.hint
|
#: tfrmviewer.actloadnextfile.hint
|
||||||
msgid "Load Next File"
|
msgid "Load Next File"
|
||||||
msgstr "Načítať Nasledujúci Súbor"
|
msgstr "Načítať nasledujúci súbor"
|
||||||
|
|
||||||
#: tfrmviewer.actloadprevfile.caption
|
#: tfrmviewer.actloadprevfile.caption
|
||||||
msgid "&Previous"
|
msgid "&Previous"
|
||||||
|
|
@ -9330,7 +9327,7 @@ msgstr "&Predchádzajúci"
|
||||||
|
|
||||||
#: tfrmviewer.actloadprevfile.hint
|
#: tfrmviewer.actloadprevfile.hint
|
||||||
msgid "Load Previous File"
|
msgid "Load Previous File"
|
||||||
msgstr "Načítať Predchádzajúci Súbor"
|
msgstr "Načítať predchádzajúci súbor"
|
||||||
|
|
||||||
#: tfrmviewer.actmirrorhorz.caption
|
#: tfrmviewer.actmirrorhorz.caption
|
||||||
msgid "Mirror Horizontally"
|
msgid "Mirror Horizontally"
|
||||||
|
|
@ -10116,7 +10113,6 @@ msgid " Modifies: "
|
||||||
msgstr " Upraví: "
|
msgstr " Upraví: "
|
||||||
|
|
||||||
#: ulng.rsdiffshow
|
#: ulng.rsdiffshow
|
||||||
#, fuzzy
|
|
||||||
msgctxt "ulng.rsdiffshow"
|
msgctxt "ulng.rsdiffshow"
|
||||||
msgid "&Show"
|
msgid "&Show"
|
||||||
msgstr "&Zobraziť"
|
msgstr "&Zobraziť"
|
||||||
|
|
@ -10330,19 +10326,19 @@ msgstr "Prejsť na riadok"
|
||||||
|
|
||||||
#: ulng.rsedithintcursorpos
|
#: ulng.rsedithintcursorpos
|
||||||
msgid "Cursor Position"
|
msgid "Cursor Position"
|
||||||
msgstr ""
|
msgstr "Poloha kurzora"
|
||||||
|
|
||||||
#: ulng.rsedithintinsertmode
|
#: ulng.rsedithintinsertmode
|
||||||
msgid "Insert Mode"
|
msgid "Insert Mode"
|
||||||
msgstr ""
|
msgstr "Režim vkladania"
|
||||||
|
|
||||||
#: ulng.rsedithintmodified
|
#: ulng.rsedithintmodified
|
||||||
msgid "Modified"
|
msgid "Modified"
|
||||||
msgstr ""
|
msgstr "Upravené"
|
||||||
|
|
||||||
#: ulng.rsedithintselectionmode
|
#: ulng.rsedithintselectionmode
|
||||||
msgid "Selection Mode"
|
msgid "Selection Mode"
|
||||||
msgstr ""
|
msgstr "Režim výberu"
|
||||||
|
|
||||||
#: ulng.rseditnewfile
|
#: ulng.rseditnewfile
|
||||||
msgid "new.txt"
|
msgid "new.txt"
|
||||||
|
|
@ -10376,23 +10372,23 @@ msgstr "Nahradiť"
|
||||||
|
|
||||||
#: ulng.rseditstatinsertmodeins
|
#: ulng.rseditstatinsertmodeins
|
||||||
msgid "INS"
|
msgid "INS"
|
||||||
msgstr ""
|
msgstr "INS"
|
||||||
|
|
||||||
#: ulng.rseditstatinsertmodeovr
|
#: ulng.rseditstatinsertmodeovr
|
||||||
msgid "OVR"
|
msgid "OVR"
|
||||||
msgstr ""
|
msgstr "OVR"
|
||||||
|
|
||||||
#: ulng.rseditstatselmodecol
|
#: ulng.rseditstatselmodecol
|
||||||
msgid "COL"
|
msgid "COL"
|
||||||
msgstr ""
|
msgstr "COL"
|
||||||
|
|
||||||
#: ulng.rseditstatselmodeline
|
#: ulng.rseditstatselmodeline
|
||||||
msgid "LINE"
|
msgid "LINE"
|
||||||
msgstr ""
|
msgstr "LINE"
|
||||||
|
|
||||||
#: ulng.rseditstatselmodenorm
|
#: ulng.rseditstatselmodenorm
|
||||||
msgid "NORM"
|
msgid "NORM"
|
||||||
msgstr ""
|
msgstr "NORM"
|
||||||
|
|
||||||
#: ulng.rseditwithexternaleditor
|
#: ulng.rseditwithexternaleditor
|
||||||
msgid "with external editor"
|
msgid "with external editor"
|
||||||
|
|
@ -10808,13 +10804,15 @@ msgstr "Žiadna skratka pomocou \"ENTER\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "Podľa názvu príkazu;Podľa kláv. skratky (zoskupené);Podľa kláv. skratky (po riadkoch)"
|
msgstr "Podľa názvu príkazu;Podľa kláv. skratky (zoskupené);Podľa kláv. skratky (po riadkoch)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr "Odporúča sa najskôr stiahnuť súbory. V opačnom prípade sa nekopíruje obsah súborov, ale príslušné zástupné súbory, čo bude mať za následok skryté súbory s príponou .iCloud."
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr "Operácia môže obsahovať súbory, ktoré neboli stiahnuté, pokračovať aj tak?"
|
||||||
|
|
||||||
#: ulng.rsimporttoolbarproblem
|
#: ulng.rsimporttoolbarproblem
|
||||||
msgid "Cannot find reference to default bar file"
|
msgid "Cannot find reference to default bar file"
|
||||||
|
|
@ -10848,6 +10846,17 @@ msgstr "Zoznam okien \"Nájsť súbory\""
|
||||||
#: ulng.rsmacosassignfindertagstomultiitems
|
#: ulng.rsmacosassignfindertagstomultiitems
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
|
msgstr "Priradiť štítky k %d položkám"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
|
|
@ -10886,7 +10895,7 @@ msgstr "Pridať \"%s\""
|
||||||
#: ulng.rsmenumacoseditfindertags
|
#: ulng.rsmenumacoseditfindertags
|
||||||
msgctxt "ulng.rsmenumacoseditfindertags"
|
msgctxt "ulng.rsmenumacoseditfindertags"
|
||||||
msgid "Edit Finder Tags..."
|
msgid "Edit Finder Tags..."
|
||||||
msgstr "Upraviť Finder štítky..."
|
msgstr "Upraviť štítky Finder..."
|
||||||
|
|
||||||
#: ulng.rsmenumacosgrantpermissiontosupportfindertags
|
#: ulng.rsmenumacosgrantpermissiontosupportfindertags
|
||||||
msgid "Grant \"Full Disk Access\" permission to support Finder Tags..."
|
msgid "Grant \"Full Disk Access\" permission to support Finder Tags..."
|
||||||
|
|
@ -10899,7 +10908,7 @@ msgstr "Odstrániť \"%s\""
|
||||||
|
|
||||||
#: ulng.rsmenumacosshare
|
#: ulng.rsmenumacosshare
|
||||||
msgid "Share..."
|
msgid "Share..."
|
||||||
msgstr "Zbaliť sem..."
|
msgstr "Zdieľať..."
|
||||||
|
|
||||||
#: ulng.rsmfstbiairdroptips
|
#: ulng.rsmfstbiairdroptips
|
||||||
msgctxt "ulng.rsmfstbiairdroptips"
|
msgctxt "ulng.rsmfstbiairdroptips"
|
||||||
|
|
@ -10942,7 +10951,7 @@ msgstr "Porovnať"
|
||||||
#: ulng.rsmfstbieditfindertagtips
|
#: ulng.rsmfstbieditfindertagtips
|
||||||
msgctxt "ulng.rsmfstbieditfindertagtips"
|
msgctxt "ulng.rsmfstbieditfindertagtips"
|
||||||
msgid "Edit Finder Tags..."
|
msgid "Edit Finder Tags..."
|
||||||
msgstr "Upraviť Finder štítky..."
|
msgstr "Upraviť štítky Finder..."
|
||||||
|
|
||||||
#: ulng.rsmfstbieditfindertagtitle
|
#: ulng.rsmfstbieditfindertagtitle
|
||||||
msgid "EditTag"
|
msgid "EditTag"
|
||||||
|
|
@ -10959,12 +10968,32 @@ msgstr "Upraviť"
|
||||||
|
|
||||||
#: ulng.rsmfstbifinderrevealtips
|
#: ulng.rsmfstbifinderrevealtips
|
||||||
msgid "Reveal in Finder"
|
msgid "Reveal in Finder"
|
||||||
msgstr "Zobraziť vo vyhľadávači"
|
msgstr "Zobraziť v aplikácii Finder"
|
||||||
|
|
||||||
#: ulng.rsmfstbifinderrevealtitle
|
#: ulng.rsmfstbifinderrevealtitle
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "Vyhľadávač"
|
msgstr "Vyhľadávač"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10983,25 +11012,25 @@ msgstr "Prepnúť režim s horizontálnymi panelmi"
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "Horizontálne rozdelenie"
|
msgstr "Horizontálne rozdelenie"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr "iCloud Disk"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr "iCloud Disk"
|
||||||
|
|
||||||
#: ulng.rsmfstbinetworktips
|
#: ulng.rsmfstbinetworktips
|
||||||
msgctxt "ulng.rsmfstbinetworktips"
|
msgctxt "ulng.rsmfstbinetworktips"
|
||||||
msgid "network"
|
msgid "network"
|
||||||
msgstr ""
|
msgstr "sieť"
|
||||||
|
|
||||||
#: ulng.rsmfstbinetworktitle
|
#: ulng.rsmfstbinetworktitle
|
||||||
msgctxt "ulng.rsmfstbinetworktitle"
|
msgctxt "ulng.rsmfstbinetworktitle"
|
||||||
msgid "network"
|
msgid "network"
|
||||||
msgstr ""
|
msgstr "sieť"
|
||||||
|
|
||||||
#: ulng.rsmfstbiprivilegetips
|
#: ulng.rsmfstbiprivilegetips
|
||||||
msgid "As a file manager, Double Command requires full disk access permissions. Clicking this button will pop up the macOS system settings page. Please add \"Double Commander.app\" to the \"Full Disk Access\" list to complete the authorization."
|
msgid "As a file manager, Double Command requires full disk access permissions. Clicking this button will pop up the macOS system settings page. Please add \"Double Commander.app\" to the \"Full Disk Access\" list to complete the authorization."
|
||||||
|
|
@ -11139,13 +11168,15 @@ msgstr "Vysunúť"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Rozbaliť sem..."
|
msgstr "Rozbaliť sem..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr "Stiahnuť teraz"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr "Odstrániť stiahnutie"
|
||||||
|
|
||||||
#: ulng.rsmnumount
|
#: ulng.rsmnumount
|
||||||
msgid "Mount"
|
msgid "Mount"
|
||||||
|
|
@ -11209,10 +11240,15 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"It is recommended that you follow your usual practice and try to select only one directory when you receive this prompt."
|
"It is recommended that you follow your usual practice and try to select only one directory when you receive this prompt."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Niektoré virtuálne súborové systémy obsahujú špecifické štruktúry priečinkov. Pri kopírovaní z nich do komprimovaného archívu je možné vybrať vždy len jeden priečinok, pokiaľ sa skutočné umiestnenia vybraných priečinkov nenachádzajú všetky v rovnakom nadradenom priečinku.\n"
|
||||||
|
"\n"
|
||||||
|
"Napríklad v prípade iCloud Disku by sa pri kopírovaní priečinka z koreňového priečinka do komprimovaného archívu, by sa mal vybrať len jeden priečinok.\n"
|
||||||
|
"\n"
|
||||||
|
"Odporúčame postupovať podľa bežnej praxe a pri zobrazení tejto výzvy sa pokúsiť vybrať len jeden priečinok."
|
||||||
|
|
||||||
#: ulng.rsmountedfilesourcecopymultifilestowcxdlgtitle
|
#: ulng.rsmountedfilesourcecopymultifilestowcxdlgtitle
|
||||||
msgid "The operation is not supported"
|
msgid "The operation is not supported"
|
||||||
msgstr ""
|
msgstr "Operácia nie je podporovaná"
|
||||||
|
|
||||||
#: ulng.rsmsgaccount
|
#: ulng.rsmsgaccount
|
||||||
msgid "Account:"
|
msgid "Account:"
|
||||||
|
|
@ -11254,7 +11290,7 @@ msgstr "Ste si istí, že chcete túto operáciu zrušiť?"
|
||||||
|
|
||||||
#: ulng.rsmsgcannotchangetarget
|
#: ulng.rsmsgcannotchangetarget
|
||||||
msgid "You cannot change a target location!"
|
msgid "You cannot change a target location!"
|
||||||
msgstr ""
|
msgstr "Nemôžete zmeniť cieľovú polohu!"
|
||||||
|
|
||||||
#: ulng.rsmsgcannotcopymoveitself
|
#: ulng.rsmsgcannotcopymoveitself
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
|
|
@ -11297,7 +11333,7 @@ msgstr "Potvrdenie parametra"
|
||||||
#: ulng.rsmsgcommandnotfound
|
#: ulng.rsmsgcommandnotfound
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "Command not found! (%s)"
|
msgid "Command not found! (%s)"
|
||||||
msgstr "%s nebol nájdený!"
|
msgstr "Príkaz nebol nájdený! (%s)"
|
||||||
|
|
||||||
#: ulng.rsmsgconfirmquit
|
#: ulng.rsmsgconfirmquit
|
||||||
msgid "Are you sure you want to quit?"
|
msgid "Are you sure you want to quit?"
|
||||||
|
|
@ -11944,12 +11980,12 @@ msgstr "Neplatný výber."
|
||||||
#: ulng.rsmsgkeytransformerror
|
#: ulng.rsmsgkeytransformerror
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation failed (error code %d)!"
|
msgid "The key transformation failed (error code %d)!"
|
||||||
msgstr ""
|
msgstr "Transformácia kľúča zlyhala (kód chyby %d)!"
|
||||||
|
|
||||||
#: ulng.rsmsgkeytransformtime
|
#: ulng.rsmsgkeytransformtime
|
||||||
#, object-pascal-format
|
#, object-pascal-format
|
||||||
msgid "The key transformation took %f seconds."
|
msgid "The key transformation took %f seconds."
|
||||||
msgstr ""
|
msgstr "Transformácia kľúča trvala %f sekúnd."
|
||||||
|
|
||||||
#: ulng.rsmsgloadingfilelist
|
#: ulng.rsmsgloadingfilelist
|
||||||
msgid "Loading file list..."
|
msgid "Loading file list..."
|
||||||
|
|
@ -12052,11 +12088,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Bezpečne vymazať priečinok %s"
|
msgstr "Bezpečne vymazať priečinok %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Hlavné heslo"
|
msgstr "Hlavné heslo"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Prosím, zadajte hlavné heslo:"
|
msgstr "Prosím, zadajte hlavné heslo:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
@ -13460,23 +13497,23 @@ msgstr "Zásuvné moduly"
|
||||||
|
|
||||||
#: ulng.rsoptionseditorpluginsdsx
|
#: ulng.rsoptionseditorpluginsdsx
|
||||||
msgid "Search plugins"
|
msgid "Search plugins"
|
||||||
msgstr ""
|
msgstr "Zásuvné moduly vyhľadávania"
|
||||||
|
|
||||||
#: ulng.rsoptionseditorpluginswcx
|
#: ulng.rsoptionseditorpluginswcx
|
||||||
msgid "Packer plugins"
|
msgid "Packer plugins"
|
||||||
msgstr ""
|
msgstr "Zásuvné moduly komprimácie"
|
||||||
|
|
||||||
#: ulng.rsoptionseditorpluginswdx
|
#: ulng.rsoptionseditorpluginswdx
|
||||||
msgid "Content plugins"
|
msgid "Content plugins"
|
||||||
msgstr ""
|
msgstr "Zásuvné moduly pre obsah"
|
||||||
|
|
||||||
#: ulng.rsoptionseditorpluginswfx
|
#: ulng.rsoptionseditorpluginswfx
|
||||||
msgid "File system plugins"
|
msgid "File system plugins"
|
||||||
msgstr ""
|
msgstr "Zásuvné moduly súborového systému"
|
||||||
|
|
||||||
#: ulng.rsoptionseditorpluginswlx
|
#: ulng.rsoptionseditorpluginswlx
|
||||||
msgid "Viewer plugins"
|
msgid "Viewer plugins"
|
||||||
msgstr ""
|
msgstr "Zásuvné moduly pre zobrazenie"
|
||||||
|
|
||||||
#: ulng.rsoptionseditorquicksearch
|
#: ulng.rsoptionseditorquicksearch
|
||||||
msgid "Quick search/filter"
|
msgid "Quick search/filter"
|
||||||
|
|
@ -13600,10 +13637,8 @@ msgid "&Files;Di&rectories;Files a&nd Directories"
|
||||||
msgstr "Súbory;Priečinky;Súbory a Priečinky"
|
msgstr "Súbory;Priečinky;Súbory a Priečinky"
|
||||||
|
|
||||||
#: ulng.rsoptsearchopt
|
#: ulng.rsoptsearchopt
|
||||||
#, fuzzy
|
|
||||||
#| msgid "&Hide filter panel when not focused;Keep saving setting modifications for next session"
|
|
||||||
msgid "Ignore &diacritics and ligatures;&Hide filter panel when not focused;Keep saving setting modifications for next session"
|
msgid "Ignore &diacritics and ligatures;&Hide filter panel when not focused;Keep saving setting modifications for next session"
|
||||||
msgstr "Skryť filter panelu, keď nie je aktívny;Ponechať zmeny uloženia nastavení pre ďalšiu reláciu"
|
msgstr "Ignorovať &diakritiku a ligatúry;&Skryť panel filtrov, ak nie je aktívny;Ukladať zmeny nastavení pre ďalšiu reláciu"
|
||||||
|
|
||||||
#: ulng.rsoptsortcasesens
|
#: ulng.rsoptsortcasesens
|
||||||
msgid "not case sensitive;according to locale settings (aAbBcC);first upper then lower case (ABCabc)"
|
msgid "not case sensitive;according to locale settings (aAbBcC);first upper then lower case (ABCabc)"
|
||||||
|
|
|
||||||
|
|
@ -3344,7 +3344,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3352,8 +3352,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Glavno geslo"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3364,7 +3366,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3380,7 +3382,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3388,7 +3390,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -10815,11 +10817,13 @@ msgstr "Ni tipkovne bližnjice s tipko »ENTER«"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "po imenu ukaza;po tipkovni bližnjici (skupinjeno);po tipkovni bližnjici (ena na vrstico)"
|
msgstr "po imenu ukaza;po tipkovni bližnjici (skupinjeno);po tipkovni bližnjici (ena na vrstico)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -10857,6 +10861,17 @@ msgstr "Seznam oken dejavnih iskanj"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Maska odstranitve izbire"
|
msgstr "Maska odstranitve izbire"
|
||||||
|
|
@ -10977,6 +10992,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10995,13 +11030,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11153,11 +11188,13 @@ msgstr "Izvrzi"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Odpakiraj v to mapo ..."
|
msgstr "Odpakiraj v to mapo ..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12066,11 +12103,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Neobnovljivo izbriši mapo %s"
|
msgstr "Neobnovljivo izbriši mapo %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Glavno geslo"
|
msgstr "Glavno geslo"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Vnesite glavno geslo:"
|
msgstr "Vnesite glavno geslo:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3398,7 +3398,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3406,8 +3406,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Главна лозинка"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3418,7 +3420,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3434,7 +3436,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3442,7 +3444,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11046,11 +11048,13 @@ msgstr "Нема пречице са „ЕНТЕР“"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "По имену наредбе;По пречици дугмади (груписано);По пречици дугмади (један по реду)"
|
msgstr "По имену наредбе;По пречици дугмади (груписано);По пречици дугмади (један по реду)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11088,6 +11092,17 @@ msgstr "Списак прозора „пронађи датотеке“"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Одзначи маску"
|
msgstr "Одзначи маску"
|
||||||
|
|
@ -11208,6 +11223,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11226,13 +11261,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11384,11 +11419,13 @@ msgstr "Избаци"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Извуци овде..."
|
msgstr "Извуци овде..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12297,11 +12334,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Избриши потпуно фасциклу %s"
|
msgstr "Избриши потпуно фасциклу %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Главна лозинка"
|
msgstr "Главна лозинка"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Унесите поново главну лозинку:"
|
msgstr "Унесите поново главну лозинку:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3455,7 +3455,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3463,8 +3463,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Glavna lozinka"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3475,7 +3477,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3491,7 +3493,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3499,7 +3501,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11322,11 +11324,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11364,6 +11368,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Odznači masku"
|
msgstr "Odznači masku"
|
||||||
|
|
@ -11483,6 +11498,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11501,13 +11536,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11659,11 +11694,13 @@ msgstr "Izbaci"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12593,11 +12630,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Izbriši potpuno fasciklu %s"
|
msgstr "Izbriši potpuno fasciklu %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Glavna lozinka"
|
msgstr "Glavna lozinka"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Unesite ponovo glavnu lozinku:"
|
msgstr "Unesite ponovo glavnu lozinku:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3586,7 +3586,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3594,8 +3594,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Ana şifre"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3606,7 +3608,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3622,7 +3624,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3630,7 +3632,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11468,11 +11470,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11510,6 +11514,17 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Maske seçimini kaldır"
|
msgstr "Maske seçimini kaldır"
|
||||||
|
|
@ -11628,6 +11643,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11646,13 +11681,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11804,11 +11839,13 @@ msgstr "Çıkar"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12708,11 +12745,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Ana şifre"
|
msgstr "Ana şifre"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Lütfen ana şifreyi girin:"
|
msgstr "Lütfen ana şifreyi girin:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -3414,7 +3414,7 @@ msgid "Test"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
|
|
@ -3422,8 +3422,10 @@ msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
#, fuzzy
|
||||||
msgstr ""
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
|
msgid "Main Password"
|
||||||
|
msgstr "Суперпароль"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
|
|
@ -3434,7 +3436,7 @@ msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
|
|
@ -3450,7 +3452,7 @@ msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
|
|
@ -3458,7 +3460,7 @@ msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
|
|
@ -11167,11 +11169,13 @@ msgstr "Не застосовувати \"Enter\""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "На ім'я команди;По гарячих клавішах (групов.);По гарячих клавішах (по одній)"
|
msgstr "На ім'я команди;По гарячих клавішах (групов.);По гарячих клавішах (по одній)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11209,6 +11213,17 @@ msgstr "Список вікон \"Пошук файлів\""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "Маска зняття вибору"
|
msgstr "Маска зняття вибору"
|
||||||
|
|
@ -11329,6 +11344,26 @@ msgstr ""
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11347,13 +11382,13 @@ msgstr ""
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -11505,11 +11540,13 @@ msgstr "Витягнути"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "Розпакувати тут..."
|
msgstr "Розпакувати тут..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -12421,11 +12458,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "Знищення каталогу %s"
|
msgstr "Знищення каталогу %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "Суперпароль"
|
msgstr "Суперпароль"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "Будь ласка, введіть суперпароль:"
|
msgstr "Будь ласка, введіть суперпароль:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -354,7 +354,7 @@ msgstr ""
|
||||||
|
|
||||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||||
msgid "Algorithm"
|
msgid "Algorithm"
|
||||||
msgstr ""
|
msgstr "算法"
|
||||||
|
|
||||||
#: tfrmchecksumverify.btnclose.caption
|
#: tfrmchecksumverify.btnclose.caption
|
||||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||||
|
|
@ -3332,55 +3332,56 @@ msgstr "或选择预定义的选择类型(&R):"
|
||||||
|
|
||||||
#: tfrmmasterkey.btntest.caption
|
#: tfrmmasterkey.btntest.caption
|
||||||
msgid "Test"
|
msgid "Test"
|
||||||
msgstr ""
|
msgstr "测试"
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr "创建密钥"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
msgid "Key transformation"
|
msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr "密钥变换"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
msgstr ""
|
msgid "Main Password"
|
||||||
|
msgstr "主密码"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
msgstr ""
|
msgstr "迭代次数越多,字典攻击和猜测攻击就越难,但密码存储的加载/保存也需要更多时间。"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfunction.caption
|
#: tfrmmasterkey.lblfunction.caption
|
||||||
msgid "&Key derivation function:"
|
msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr "密钥变换函数(&K):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr "密钥通过密钥变换函数进行转换。这增加了工作量,使字典攻击和猜测攻击更加困难。"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
msgid "&Iterations:"
|
msgid "&Iterations:"
|
||||||
msgstr ""
|
msgstr "迭代次数(&I):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblmemory.caption
|
#: tfrmmasterkey.lblmemory.caption
|
||||||
msgid "&Memory:"
|
msgid "&Memory:"
|
||||||
msgstr ""
|
msgstr "内存(&M):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblparallelism.caption
|
#: tfrmmasterkey.lblparallelism.caption
|
||||||
msgid "&Parallelism:"
|
msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr "并行(&P):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr "密码(&W):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
msgid "&Repeat password:"
|
msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr "重复密码(&R):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr "指定一个新密钥,该密钥将用于加密密码存储。"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||||
|
|
@ -3567,7 +3568,7 @@ msgstr "加载上次预设"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||||
msgid "Load Names from Clipboard"
|
msgid "Load Names from Clipboard"
|
||||||
msgstr ""
|
msgstr "从剪贴板加载名称"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||||
msgid "Load Names from File..."
|
msgid "Load Names from File..."
|
||||||
|
|
@ -3720,7 +3721,7 @@ msgstr ""
|
||||||
|
|
||||||
#: tfrmmultirename.cbrepext.hint
|
#: tfrmmultirename.cbrepext.hint
|
||||||
msgid "Replace also in file extensions"
|
msgid "Replace also in file extensions"
|
||||||
msgstr ""
|
msgstr "也在文件扩展名中替换"
|
||||||
|
|
||||||
#: tfrmmultirename.cbusesubs.caption
|
#: tfrmmultirename.cbusesubs.caption
|
||||||
msgid "&Use substitution"
|
msgid "&Use substitution"
|
||||||
|
|
@ -10801,11 +10802,13 @@ msgstr "没有带回车键的快捷键"
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr "按命令名称;按快捷键(分组);按快捷键(每行一个)"
|
msgstr "按命令名称;按快捷键(分组);按快捷键(每行一个)"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr "建议先完成文件下载后再操作。否则,复制的不是文件本身的内容,而是对应的占位符文件,这只会复制以.iCloud为扩展名的隐藏文件。"
|
msgstr "建议先完成文件下载后再操作。否则,复制的不是文件本身的内容,而是对应的占位符文件,这只会复制以.iCloud为扩展名的隐藏文件。"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr "操作可能包含未下载的文件,仍然继续吗?"
|
msgstr "操作可能包含未下载的文件,仍然继续吗?"
|
||||||
|
|
||||||
|
|
@ -10843,6 +10846,20 @@ msgstr "<查找文件> 窗口列表"
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr "将标签分配给%d个项目"
|
msgstr "将标签分配给%d个项目"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"URL:\n"
|
||||||
|
"(样例:smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "不选择掩码"
|
msgstr "不选择掩码"
|
||||||
|
|
@ -10961,6 +10978,26 @@ msgctxt "ulng.rsmfstbifinderrevealtitle"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "访达"
|
msgstr "访达"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr "返回"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr "返回"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr "前进"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr "前进"
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -10981,13 +11018,13 @@ msgctxt "ulng.rsmfstbihorzsplittitle"
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "水平分隔"
|
msgstr "水平分隔"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud云盘"
|
msgstr "iCloud云盘"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud云盘"
|
msgstr "iCloud云盘"
|
||||||
|
|
||||||
|
|
@ -11155,11 +11192,13 @@ msgstr "弹出"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "解压缩到此处..."
|
msgstr "解压缩到此处..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr "现在下载"
|
msgstr "现在下载"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr "移除下载项"
|
msgstr "移除下载项"
|
||||||
|
|
||||||
|
|
@ -12073,11 +12112,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr "擦除文件夹 %s"
|
msgstr "擦除文件夹 %s"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "主密码"
|
msgstr "主密码"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "请输入主密码:"
|
msgstr "请输入主密码:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
|
||||||
|
|
@ -361,7 +361,7 @@ msgstr ""
|
||||||
|
|
||||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||||
msgid "Algorithm"
|
msgid "Algorithm"
|
||||||
msgstr ""
|
msgstr "算法"
|
||||||
|
|
||||||
#: tfrmchecksumverify.btnclose.caption
|
#: tfrmchecksumverify.btnclose.caption
|
||||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||||
|
|
@ -3369,7 +3369,7 @@ msgstr ""
|
||||||
|
|
||||||
#: tfrmmaskinputdlg.lblattributes.caption
|
#: tfrmmaskinputdlg.lblattributes.caption
|
||||||
msgid "Attri&butes:"
|
msgid "Attri&butes:"
|
||||||
msgstr ""
|
msgstr "屬性 (&B):"
|
||||||
|
|
||||||
#: tfrmmaskinputdlg.lblprompt.caption
|
#: tfrmmaskinputdlg.lblprompt.caption
|
||||||
msgid "Input Mask:"
|
msgid "Input Mask:"
|
||||||
|
|
@ -3381,55 +3381,56 @@ msgstr "選擇預先定義好的類型 (&R) :"
|
||||||
|
|
||||||
#: tfrmmasterkey.btntest.caption
|
#: tfrmmasterkey.btntest.caption
|
||||||
msgid "Test"
|
msgid "Test"
|
||||||
msgstr ""
|
msgstr "測試"
|
||||||
|
|
||||||
#: tfrmmasterkey.caption
|
#: tfrmmasterkey.caption
|
||||||
msgid "Create Master Key"
|
msgid "Create Key"
|
||||||
msgstr ""
|
msgstr "建立密鑰"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbkeytransform.caption
|
#: tfrmmasterkey.gbkeytransform.caption
|
||||||
msgid "Key transformation"
|
msgid "Key transformation"
|
||||||
msgstr ""
|
msgstr "密鑰轉換"
|
||||||
|
|
||||||
#: tfrmmasterkey.gbmasterkey.caption
|
#: tfrmmasterkey.gbmasterkey.caption
|
||||||
msgid "Master key"
|
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||||
msgstr ""
|
msgid "Main Password"
|
||||||
|
msgstr "主密碼"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfooter.caption
|
#: tfrmmasterkey.lblfooter.caption
|
||||||
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
msgid "The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."
|
||||||
msgstr ""
|
msgstr "迭代次數越多,字典攻擊和猜測攻擊就越難,但密碼儲存的載入/保存也需要更多時間。"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblfunction.caption
|
#: tfrmmasterkey.lblfunction.caption
|
||||||
msgid "&Key derivation function:"
|
msgid "&Key derivation function:"
|
||||||
msgstr ""
|
msgstr "密鑰轉換函數 (&K):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblheader.caption
|
#: tfrmmasterkey.lblheader.caption
|
||||||
msgid "The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||||
msgstr ""
|
msgstr "密鑰透過密鑰轉換函數進行轉換。這增加了工作量,使字典攻擊和猜測攻擊更加困難。"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbliterations.caption
|
#: tfrmmasterkey.lbliterations.caption
|
||||||
msgid "&Iterations:"
|
msgid "&Iterations:"
|
||||||
msgstr ""
|
msgstr "迭代次數 (&I):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblmemory.caption
|
#: tfrmmasterkey.lblmemory.caption
|
||||||
msgid "&Memory:"
|
msgid "&Memory:"
|
||||||
msgstr ""
|
msgstr "記憶體 (&M):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblparallelism.caption
|
#: tfrmmasterkey.lblparallelism.caption
|
||||||
msgid "&Parallelism:"
|
msgid "&Parallelism:"
|
||||||
msgstr ""
|
msgstr "平行 (&P):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblpassword.caption
|
#: tfrmmasterkey.lblpassword.caption
|
||||||
msgid "Master pass&word:"
|
msgid "Pass&word:"
|
||||||
msgstr ""
|
msgstr "密碼 (&W):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblrepeat.caption
|
#: tfrmmasterkey.lblrepeat.caption
|
||||||
msgid "&Repeat password:"
|
msgid "&Repeat password:"
|
||||||
msgstr ""
|
msgstr "重複密碼 (&R):"
|
||||||
|
|
||||||
#: tfrmmasterkey.lbltext.caption
|
#: tfrmmasterkey.lbltext.caption
|
||||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||||
msgstr ""
|
msgstr "指定一個新密鑰,該密鑰將用於加密密碼儲存。"
|
||||||
|
|
||||||
#: tfrmmasterkey.lblunit.caption
|
#: tfrmmasterkey.lblunit.caption
|
||||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||||
|
|
@ -3535,7 +3536,7 @@ msgstr "副檔名"
|
||||||
#: tfrmmultirename.actanynamemask.caption
|
#: tfrmmultirename.actanynamemask.caption
|
||||||
msgctxt "tfrmmultirename.actanynamemask.caption"
|
msgctxt "tfrmmultirename.actanynamemask.caption"
|
||||||
msgid "Filename"
|
msgid "Filename"
|
||||||
msgstr ""
|
msgstr "檔案名稱"
|
||||||
|
|
||||||
#: tfrmmultirename.actclearextmask.caption
|
#: tfrmmultirename.actclearextmask.caption
|
||||||
msgctxt "tfrmmultirename.actclearextmask.caption"
|
msgctxt "tfrmmultirename.actclearextmask.caption"
|
||||||
|
|
@ -3583,15 +3584,15 @@ msgstr "刪除"
|
||||||
|
|
||||||
#: tfrmmultirename.actdropdownpresetlist.caption
|
#: tfrmmultirename.actdropdownpresetlist.caption
|
||||||
msgid "Drop Down Presets List"
|
msgid "Drop Down Presets List"
|
||||||
msgstr ""
|
msgstr "下拉預設列表"
|
||||||
|
|
||||||
#: tfrmmultirename.acteditnames.caption
|
#: tfrmmultirename.acteditnames.caption
|
||||||
msgid "Edit Names..."
|
msgid "Edit Names..."
|
||||||
msgstr ""
|
msgstr "編輯名稱..."
|
||||||
|
|
||||||
#: tfrmmultirename.acteditnewnames.caption
|
#: tfrmmultirename.acteditnewnames.caption
|
||||||
msgid "Edit Current New Names..."
|
msgid "Edit Current New Names..."
|
||||||
msgstr ""
|
msgstr "編輯目前新名稱..."
|
||||||
|
|
||||||
#: tfrmmultirename.actextextmask.caption
|
#: tfrmmultirename.actextextmask.caption
|
||||||
msgctxt "tfrmmultirename.actextextmask.caption"
|
msgctxt "tfrmmultirename.actextextmask.caption"
|
||||||
|
|
@ -3610,69 +3611,69 @@ msgstr "編輯 (&E)"
|
||||||
|
|
||||||
#: tfrmmultirename.actinvokerelativepath.caption
|
#: tfrmmultirename.actinvokerelativepath.caption
|
||||||
msgid "Invoke Relative Path Menu"
|
msgid "Invoke Relative Path Menu"
|
||||||
msgstr ""
|
msgstr "呼叫相對路徑選單"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadlastpreset.caption
|
#: tfrmmultirename.actloadlastpreset.caption
|
||||||
msgid "Load Last Preset"
|
msgid "Load Last Preset"
|
||||||
msgstr ""
|
msgstr "載入上次預設"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||||
msgid "Load Names from Clipboard"
|
msgid "Load Names from Clipboard"
|
||||||
msgstr ""
|
msgstr "從剪貼簿載入名稱"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||||
msgid "Load Names from File..."
|
msgid "Load Names from File..."
|
||||||
msgstr ""
|
msgstr "從檔案載入名稱..."
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset.caption
|
#: tfrmmultirename.actloadpreset.caption
|
||||||
msgid "Load Preset by Name or Index"
|
msgid "Load Preset by Name or Index"
|
||||||
msgstr ""
|
msgstr "按名稱或索引載入預設"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset1.caption
|
#: tfrmmultirename.actloadpreset1.caption
|
||||||
msgid "Load Preset 1"
|
msgid "Load Preset 1"
|
||||||
msgstr ""
|
msgstr "載入預設 1"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset2.caption
|
#: tfrmmultirename.actloadpreset2.caption
|
||||||
msgid "Load Preset 2"
|
msgid "Load Preset 2"
|
||||||
msgstr ""
|
msgstr "載入預設 2"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset3.caption
|
#: tfrmmultirename.actloadpreset3.caption
|
||||||
msgid "Load Preset 3"
|
msgid "Load Preset 3"
|
||||||
msgstr ""
|
msgstr "載入預設 3"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset4.caption
|
#: tfrmmultirename.actloadpreset4.caption
|
||||||
msgid "Load Preset 4"
|
msgid "Load Preset 4"
|
||||||
msgstr ""
|
msgstr "載入預設 4"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset5.caption
|
#: tfrmmultirename.actloadpreset5.caption
|
||||||
msgid "Load Preset 5"
|
msgid "Load Preset 5"
|
||||||
msgstr ""
|
msgstr "載入預設 5"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset6.caption
|
#: tfrmmultirename.actloadpreset6.caption
|
||||||
msgid "Load Preset 6"
|
msgid "Load Preset 6"
|
||||||
msgstr ""
|
msgstr "載入預設 6"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset7.caption
|
#: tfrmmultirename.actloadpreset7.caption
|
||||||
msgid "Load Preset 7"
|
msgid "Load Preset 7"
|
||||||
msgstr ""
|
msgstr "載入預設 7"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset8.caption
|
#: tfrmmultirename.actloadpreset8.caption
|
||||||
msgid "Load Preset 8"
|
msgid "Load Preset 8"
|
||||||
msgstr ""
|
msgstr "載入預設 8"
|
||||||
|
|
||||||
#: tfrmmultirename.actloadpreset9.caption
|
#: tfrmmultirename.actloadpreset9.caption
|
||||||
msgid "Load Preset 9"
|
msgid "Load Preset 9"
|
||||||
msgstr ""
|
msgstr "載入預設 9"
|
||||||
|
|
||||||
#: tfrmmultirename.actnameextmask.caption
|
#: tfrmmultirename.actnameextmask.caption
|
||||||
msgctxt "tfrmmultirename.actnameextmask.caption"
|
msgctxt "tfrmmultirename.actnameextmask.caption"
|
||||||
msgid "Filename"
|
msgid "Filename"
|
||||||
msgstr ""
|
msgstr "檔案名稱"
|
||||||
|
|
||||||
#: tfrmmultirename.actnamenamemask.caption
|
#: tfrmmultirename.actnamenamemask.caption
|
||||||
msgctxt "tfrmmultirename.actnamenamemask.caption"
|
msgctxt "tfrmmultirename.actnamenamemask.caption"
|
||||||
msgid "Filename"
|
msgid "Filename"
|
||||||
msgstr ""
|
msgstr "檔案名稱"
|
||||||
|
|
||||||
#: tfrmmultirename.actplgnextmask.caption
|
#: tfrmmultirename.actplgnextmask.caption
|
||||||
msgctxt "tfrmmultirename.actplgnextmask.caption"
|
msgctxt "tfrmmultirename.actplgnextmask.caption"
|
||||||
|
|
@ -3711,11 +3712,11 @@ msgstr "另存新檔 (A)..."
|
||||||
|
|
||||||
#: tfrmmultirename.actshowpresetsmenu.caption
|
#: tfrmmultirename.actshowpresetsmenu.caption
|
||||||
msgid "Show Preset Menu"
|
msgid "Show Preset Menu"
|
||||||
msgstr ""
|
msgstr "顯示預設選單"
|
||||||
|
|
||||||
#: tfrmmultirename.actsortpresets.caption
|
#: tfrmmultirename.actsortpresets.caption
|
||||||
msgid "Sort"
|
msgid "Sort"
|
||||||
msgstr ""
|
msgstr "排序"
|
||||||
|
|
||||||
#: tfrmmultirename.acttimeextmask.caption
|
#: tfrmmultirename.acttimeextmask.caption
|
||||||
msgctxt "tfrmmultirename.acttimeextmask.caption"
|
msgctxt "tfrmmultirename.acttimeextmask.caption"
|
||||||
|
|
@ -3729,7 +3730,7 @@ msgstr "時間"
|
||||||
|
|
||||||
#: tfrmmultirename.actviewrenamelogfile.caption
|
#: tfrmmultirename.actviewrenamelogfile.caption
|
||||||
msgid "View Rename Log File"
|
msgid "View Rename Log File"
|
||||||
msgstr ""
|
msgstr "查看重新命名日誌文件"
|
||||||
|
|
||||||
#: tfrmmultirename.caption
|
#: tfrmmultirename.caption
|
||||||
msgctxt "tfrmmultirename.caption"
|
msgctxt "tfrmmultirename.caption"
|
||||||
|
|
@ -3752,7 +3753,7 @@ msgstr "記錄結果(&L)"
|
||||||
|
|
||||||
#: tfrmmultirename.cblogappend.caption
|
#: tfrmmultirename.cblogappend.caption
|
||||||
msgid "Append"
|
msgid "Append"
|
||||||
msgstr ""
|
msgstr "追加"
|
||||||
|
|
||||||
#: tfrmmultirename.cbonlyfirst.caption
|
#: tfrmmultirename.cbonlyfirst.caption
|
||||||
msgid "1x"
|
msgid "1x"
|
||||||
|
|
@ -3760,7 +3761,7 @@ msgstr ""
|
||||||
|
|
||||||
#: tfrmmultirename.cbonlyfirst.hint
|
#: tfrmmultirename.cbonlyfirst.hint
|
||||||
msgid "Replace only once per file"
|
msgid "Replace only once per file"
|
||||||
msgstr ""
|
msgstr "每個檔案僅替換一次"
|
||||||
|
|
||||||
#: tfrmmultirename.cbregexp.caption
|
#: tfrmmultirename.cbregexp.caption
|
||||||
msgctxt "TFRMMULTIRENAME.CBREGEXP.CAPTION"
|
msgctxt "TFRMMULTIRENAME.CBREGEXP.CAPTION"
|
||||||
|
|
@ -3773,7 +3774,7 @@ msgstr ""
|
||||||
|
|
||||||
#: tfrmmultirename.cbrepext.hint
|
#: tfrmmultirename.cbrepext.hint
|
||||||
msgid "Replace also in file extensions"
|
msgid "Replace also in file extensions"
|
||||||
msgstr ""
|
msgstr "同時在檔案副檔名中替換"
|
||||||
|
|
||||||
#: tfrmmultirename.cbusesubs.caption
|
#: tfrmmultirename.cbusesubs.caption
|
||||||
msgid "&Use substitution"
|
msgid "&Use substitution"
|
||||||
|
|
@ -3867,11 +3868,11 @@ msgstr "檔案路徑"
|
||||||
#: tfrmmultirenamewait.caption
|
#: tfrmmultirenamewait.caption
|
||||||
msgctxt "tfrmmultirenamewait.caption"
|
msgctxt "tfrmmultirenamewait.caption"
|
||||||
msgid "Double Commander"
|
msgid "Double Commander"
|
||||||
msgstr "Double Commander"
|
msgstr ""
|
||||||
|
|
||||||
#: tfrmmultirenamewait.lblmessage.caption
|
#: tfrmmultirenamewait.lblmessage.caption
|
||||||
msgid "Click OK when you have closed the editor to load the changed names!"
|
msgid "Click OK when you have closed the editor to load the changed names!"
|
||||||
msgstr ""
|
msgstr "關閉編輯器後,按一下“確定”以載入更改後的名稱!"
|
||||||
|
|
||||||
#: tfrmopenwith.caption
|
#: tfrmopenwith.caption
|
||||||
msgid "Choose an application"
|
msgid "Choose an application"
|
||||||
|
|
@ -7274,7 +7275,7 @@ msgstr "檔案名稱"
|
||||||
#: tfrmoptionspluginsdsx.lblplugindescription.caption
|
#: tfrmoptionspluginsdsx.lblplugindescription.caption
|
||||||
msgctxt "tfrmoptionspluginsdsx.lblplugindescription.caption"
|
msgctxt "tfrmoptionspluginsdsx.lblplugindescription.caption"
|
||||||
msgid "Searc&h plugins allow one to use alternative search algorithms or external tools (like \"locate\", etc.)"
|
msgid "Searc&h plugins allow one to use alternative search algorithms or external tools (like \"locate\", etc.)"
|
||||||
msgstr "搜尋插件可允許使用其他替代搜尋演算法或外部工具搜尋 (像 \"locate\" 等)"
|
msgstr "搜尋插件可允許使用其他替代搜尋算法或外部工具搜尋 (像 \"locate\" 等)"
|
||||||
|
|
||||||
#: tfrmoptionspluginsdsx.stgplugins.columns[0].title.caption
|
#: tfrmoptionspluginsdsx.stgplugins.columns[0].title.caption
|
||||||
msgctxt "tfrmoptionspluginsdsx.stgplugins.columns[0].title.caption"
|
msgctxt "tfrmoptionspluginsdsx.stgplugins.columns[0].title.caption"
|
||||||
|
|
@ -9811,7 +9812,6 @@ msgid "Paint"
|
||||||
msgstr "繪圖"
|
msgstr "繪圖"
|
||||||
|
|
||||||
#: tfrmviewer.btnpenwidth.caption
|
#: tfrmviewer.btnpenwidth.caption
|
||||||
#, fuzzy
|
|
||||||
msgctxt "tfrmviewer.btnpenwidth.caption"
|
msgctxt "tfrmviewer.btnpenwidth.caption"
|
||||||
msgid "1"
|
msgid "1"
|
||||||
msgstr "1"
|
msgstr "1"
|
||||||
|
|
@ -11048,11 +11048,13 @@ msgstr ""
|
||||||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgmessage
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgmessage
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgmessage"
|
||||||
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
msgid "It is recommended to download the files first. Otherwise, what is copied is not the content of the files, but the corresponding placeholder files, which will result in hidden files with the .iCloud extension."
|
||||||
msgstr "建議先完成档案下載後再操作。否則,複製的不是档案本身的內容,而是對應的佔位符档案,這只會複製以.iCloud為擴展名的隱藏档案。"
|
msgstr "建議先完成档案下載後再操作。否則,複製的不是档案本身的內容,而是對應的佔位符档案,這只會複製以.iCloud為擴展名的隱藏档案。"
|
||||||
|
|
||||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||||
|
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||||
msgstr "操作可能包含未下載的档案,仍然繼續嗎?"
|
msgstr "操作可能包含未下載的档案,仍然繼續嗎?"
|
||||||
|
|
||||||
|
|
@ -11090,6 +11092,20 @@ msgstr ""
|
||||||
msgid "Assign tags to %d items"
|
msgid "Assign tags to %d items"
|
||||||
msgstr "將標籤分配給%d個項目"
|
msgstr "將標籤分配給%d個項目"
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectserverprompt
|
||||||
|
msgid ""
|
||||||
|
"URL:\n"
|
||||||
|
"(eg. smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"URL:\n"
|
||||||
|
"(範例:smb://server/share; https://dav.server.com; nfs://server/path)\n"
|
||||||
|
" "
|
||||||
|
|
||||||
|
#: ulng.rsmacosconnectservertitle
|
||||||
|
msgid "SMB / Samba / WebDAV / NFS ..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmarkminus
|
#: ulng.rsmarkminus
|
||||||
msgid "Unselect mask"
|
msgid "Unselect mask"
|
||||||
msgstr "取消選擇遮罩"
|
msgstr "取消選擇遮罩"
|
||||||
|
|
@ -11205,6 +11221,26 @@ msgstr "在「訪達」中訪問文件"
|
||||||
msgid "Finder"
|
msgid "Finder"
|
||||||
msgstr "訪達"
|
msgstr "訪達"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtips"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr "向後"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigobackwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigobackwardtitle"
|
||||||
|
msgid "Backward"
|
||||||
|
msgstr "向後"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtips
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtips"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr "前進"
|
||||||
|
|
||||||
|
#: ulng.rsmfstbigoforwardtitle
|
||||||
|
msgctxt "ulng.rsmfstbigoforwardtitle"
|
||||||
|
msgid "Forward"
|
||||||
|
msgstr "前進"
|
||||||
|
|
||||||
#: ulng.rsmfstbigotips
|
#: ulng.rsmfstbigotips
|
||||||
msgctxt "ulng.rsmfstbigotips"
|
msgctxt "ulng.rsmfstbigotips"
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
|
|
@ -11223,13 +11259,13 @@ msgstr "切換水平/垂直分隔顯示模式"
|
||||||
msgid "HorzSplit"
|
msgid "HorzSplit"
|
||||||
msgstr "水平分隔"
|
msgstr "水平分隔"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertips
|
#: ulng.rsmfstbiiclouddrivetips
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud雲碟"
|
msgstr "iCloud雲碟"
|
||||||
|
|
||||||
#: ulng.rsmfstbiiclouddrivertitle
|
#: ulng.rsmfstbiiclouddrivetitle
|
||||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||||
msgid "iCloud Drive"
|
msgid "iCloud Drive"
|
||||||
msgstr "iCloud雲碟"
|
msgstr "iCloud雲碟"
|
||||||
|
|
||||||
|
|
@ -11379,11 +11415,13 @@ msgstr "退出"
|
||||||
msgid "Extract here..."
|
msgid "Extract here..."
|
||||||
msgstr "解壓縮到此處..."
|
msgstr "解壓縮到此處..."
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverdownloadnow
|
#: ulng.rsmnuiclouddrivedownloadnow
|
||||||
|
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||||
msgid "Download Now"
|
msgid "Download Now"
|
||||||
msgstr "現在下載"
|
msgstr "現在下載"
|
||||||
|
|
||||||
#: ulng.rsmnuiclouddriverremovedownload
|
#: ulng.rsmnuiclouddriveremovedownload
|
||||||
|
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||||
msgid "Remove Download"
|
msgid "Remove Download"
|
||||||
msgstr "移除下載項"
|
msgstr "移除下載項"
|
||||||
|
|
||||||
|
|
@ -12279,11 +12317,12 @@ msgid "Wipe directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpassword
|
#: ulng.rsmsgmasterpassword
|
||||||
msgid "Master Password"
|
msgctxt "ulng.rsmsgmasterpassword"
|
||||||
|
msgid "Main Password"
|
||||||
msgstr "主要密碼"
|
msgstr "主要密碼"
|
||||||
|
|
||||||
#: ulng.rsmsgmasterpasswordenter
|
#: ulng.rsmsgmasterpasswordenter
|
||||||
msgid "Please enter the master password:"
|
msgid "Please enter the main password:"
|
||||||
msgstr "請輸入主要密碼:"
|
msgstr "請輸入主要密碼:"
|
||||||
|
|
||||||
#: ulng.rsmsgnewfile
|
#: ulng.rsmsgnewfile
|
||||||
|
|
@ -14115,7 +14154,7 @@ msgstr ""
|
||||||
#: ulng.rssimplewordfilename
|
#: ulng.rssimplewordfilename
|
||||||
msgctxt "ulng.rssimplewordfilename"
|
msgctxt "ulng.rssimplewordfilename"
|
||||||
msgid "Filename"
|
msgid "Filename"
|
||||||
msgstr ""
|
msgstr "檔案名稱"
|
||||||
|
|
||||||
#: ulng.rssimplewordfiles
|
#: ulng.rssimplewordfiles
|
||||||
msgid "files"
|
msgid "files"
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ msgid "Send keepalive during a transfer"
|
||||||
msgstr "Падтрымліваць злучэнне падчас перадачы"
|
msgstr "Падтрымліваць злучэнне падчас перадачы"
|
||||||
|
|
||||||
#: tdialogbox.chkmasterpassword.caption
|
#: tdialogbox.chkmasterpassword.caption
|
||||||
msgid "Use master password to protect the password"
|
msgid "Use main password to protect the password"
|
||||||
msgstr "Выкарыcтоўваць &галоўны пароль для абароны пароля"
|
msgstr "Выкарыcтоўваць &галоўны пароль для абароны пароля"
|
||||||
|
|
||||||
#: tdialogbox.chkpassivemode.caption
|
#: tdialogbox.chkpassivemode.caption
|
||||||
|
|
@ -163,3 +163,11 @@ msgstr "Проксі"
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsaddconnection
|
||||||
|
msgid "Add connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsquickconnection
|
||||||
|
msgid "Quick connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ msgid "Send keepalive during a transfer"
|
||||||
msgstr "'Keepalive'-Pakete senden aktivieren"
|
msgstr "'Keepalive'-Pakete senden aktivieren"
|
||||||
|
|
||||||
#: tdialogbox.chkmasterpassword.caption
|
#: tdialogbox.chkmasterpassword.caption
|
||||||
msgid "Use master password to protect the password"
|
msgid "Use main password to protect the password"
|
||||||
msgstr "Master-Passwort zum Schutz des Passworts verwenden"
|
msgstr "Master-Passwort zum Schutz des Passworts verwenden"
|
||||||
|
|
||||||
#: tdialogbox.chkpassivemode.caption
|
#: tdialogbox.chkpassivemode.caption
|
||||||
|
|
@ -163,3 +163,11 @@ msgstr "Proxy"
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr "Eigenschaften"
|
msgstr "Eigenschaften"
|
||||||
|
|
||||||
|
#: ftplng.rsaddconnection
|
||||||
|
msgid "Add connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsquickconnection
|
||||||
|
msgid "Quick connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ msgid "Send keepalive during a transfer"
|
||||||
msgstr "Életjel küldése az átvitel alatt"
|
msgstr "Életjel küldése az átvitel alatt"
|
||||||
|
|
||||||
#: tdialogbox.chkmasterpassword.caption
|
#: tdialogbox.chkmasterpassword.caption
|
||||||
msgid "Use master password to protect the password"
|
msgid "Use main password to protect the password"
|
||||||
msgstr "Mesterjelszóval védett jelszó használata"
|
msgstr "Mesterjelszóval védett jelszó használata"
|
||||||
|
|
||||||
#: tdialogbox.chkpassivemode.caption
|
#: tdialogbox.chkpassivemode.caption
|
||||||
|
|
@ -162,3 +162,11 @@ msgstr "Proxy"
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsaddconnection
|
||||||
|
msgid "Add connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsquickconnection
|
||||||
|
msgid "Quick connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ msgid "Send keepalive during a transfer"
|
||||||
msgstr "전송 중 킵얼라이브 전송"
|
msgstr "전송 중 킵얼라이브 전송"
|
||||||
|
|
||||||
#: tdialogbox.chkmasterpassword.caption
|
#: tdialogbox.chkmasterpassword.caption
|
||||||
msgid "Use master password to protect the password"
|
msgid "Use main password to protect the password"
|
||||||
msgstr "마스터 암호를 사용하여 암호 보호"
|
msgstr "마스터 암호를 사용하여 암호 보호"
|
||||||
|
|
||||||
#: tdialogbox.chkpassivemode.caption
|
#: tdialogbox.chkpassivemode.caption
|
||||||
|
|
@ -163,3 +163,11 @@ msgstr "프록시"
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr "속성"
|
msgstr "속성"
|
||||||
|
|
||||||
|
#: ftplng.rsaddconnection
|
||||||
|
msgid "Add connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsquickconnection
|
||||||
|
msgid "Quick connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ msgid "Send keepalive during a transfer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tdialogbox.chkmasterpassword.caption
|
#: tdialogbox.chkmasterpassword.caption
|
||||||
msgid "Use master password to protect the password"
|
msgid "Use main password to protect the password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tdialogbox.chkpassivemode.caption
|
#: tdialogbox.chkpassivemode.caption
|
||||||
|
|
@ -151,3 +151,12 @@ msgstr ""
|
||||||
#: tfrmfileproperties.caption
|
#: tfrmfileproperties.caption
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsaddconnection
|
||||||
|
msgid "Add connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsquickconnection
|
||||||
|
msgid "Quick connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ msgid "Send keepalive during a transfer"
|
||||||
msgstr "Поддерживать соединение во время передачи"
|
msgstr "Поддерживать соединение во время передачи"
|
||||||
|
|
||||||
#: tdialogbox.chkmasterpassword.caption
|
#: tdialogbox.chkmasterpassword.caption
|
||||||
msgid "Use master password to protect the password"
|
msgid "Use main password to protect the password"
|
||||||
msgstr "Использовать &главный пароль для защиты пароля"
|
msgstr "Использовать &главный пароль для защиты пароля"
|
||||||
|
|
||||||
#: tdialogbox.chkpassivemode.caption
|
#: tdialogbox.chkpassivemode.caption
|
||||||
|
|
@ -152,3 +152,11 @@ msgstr "Прокси"
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr "Свойства"
|
msgstr "Свойства"
|
||||||
|
|
||||||
|
#: ftplng.rsaddconnection
|
||||||
|
msgid "Add connection"
|
||||||
|
msgstr "Добавить соединение"
|
||||||
|
|
||||||
|
#: ftplng.rsquickconnection
|
||||||
|
msgid "Quick connection"
|
||||||
|
msgstr "Быстрое подключение"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ msgid "Send keepalive during a transfer"
|
||||||
msgstr "在传输期间发送 keepalive"
|
msgstr "在传输期间发送 keepalive"
|
||||||
|
|
||||||
#: tdialogbox.chkmasterpassword.caption
|
#: tdialogbox.chkmasterpassword.caption
|
||||||
msgid "Use master password to protect the password"
|
msgid "Use main password to protect the password"
|
||||||
msgstr "使用主密码保护密码"
|
msgstr "使用主密码保护密码"
|
||||||
|
|
||||||
#: tdialogbox.chkpassivemode.caption
|
#: tdialogbox.chkpassivemode.caption
|
||||||
|
|
@ -152,3 +152,11 @@ msgstr "代理"
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsaddconnection
|
||||||
|
msgid "Add connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ftplng.rsquickconnection
|
||||||
|
msgid "Quick connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -254,7 +254,7 @@ object DialogBox: TDialogBox
|
||||||
Width = 306
|
Width = 306
|
||||||
BorderSpacing.Left = 12
|
BorderSpacing.Left = 12
|
||||||
BorderSpacing.Top = 12
|
BorderSpacing.Top = 12
|
||||||
Caption = 'Use master password to protect the password'
|
Caption = 'Use main password to protect the password'
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
OnChange = CheckBoxChange
|
OnChange = CheckBoxChange
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
LazUTF8, DynLibs, FtpUtils, blcksock, synaip, ssl_openssl_lib, libssh,
|
LazUTF8, DynLibs, FtpUtils, blcksock, synaip, ssl_openssl_lib, libssh,
|
||||||
FtpProxy, TypInfo;
|
FtpProxy, FtpLng, TypInfo;
|
||||||
|
|
||||||
var
|
var
|
||||||
Protocol: PtrInt;
|
Protocol: PtrInt;
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ exports
|
||||||
FsSetDefaultParams,
|
FsSetDefaultParams,
|
||||||
FsStatusInfoW,
|
FsStatusInfoW,
|
||||||
FsGetBackgroundFlags,
|
FsGetBackgroundFlags,
|
||||||
|
FsExtractCustomIconW,
|
||||||
{
|
{
|
||||||
FsNetworkGetSupportedProtocols,
|
FsNetworkGetSupportedProtocols,
|
||||||
FsNetworkGetConnection,
|
FsNetworkGetConnection,
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<UseVersionInfo Value="True"/>
|
<UseVersionInfo Value="True"/>
|
||||||
<MinorVersionNr Value="3"/>
|
<MinorVersionNr Value="3"/>
|
||||||
<RevisionNr Value="5"/>
|
<RevisionNr Value="6"/>
|
||||||
<StringTable FileDescription="FTP WFX plugin for Double Commander" LegalCopyright="Copyright (C) 2006-2024 Alexander Koblov"/>
|
<StringTable FileDescription="FTP WFX plugin for Double Commander" LegalCopyright="Copyright (C) 2006-2026 Alexander Koblov"/>
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<BuildModes Count="2">
|
<BuildModes Count="2">
|
||||||
<Item1 Name="Release" Default="True"/>
|
<Item1 Name="Release" Default="True"/>
|
||||||
|
|
@ -98,7 +98,7 @@ end;"/>
|
||||||
<PackageName Value="LazUtils"/>
|
<PackageName Value="LazUtils"/>
|
||||||
</Item2>
|
</Item2>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units Count="6">
|
<Units Count="7">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="ftp.dpr"/>
|
<Filename Value="ftp.dpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
|
@ -130,6 +130,11 @@ end;"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="SftpSend"/>
|
<UnitName Value="SftpSend"/>
|
||||||
</Unit5>
|
</Unit5>
|
||||||
|
<Unit6>
|
||||||
|
<Filename Value="ftplng.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="FtpLng"/>
|
||||||
|
</Unit6>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
Wfx plugin for working with File Transfer Protocol
|
Wfx plugin for working with File Transfer Protocol
|
||||||
|
|
||||||
Copyright (C) 2009-2023 Alexander Koblov (alexx2000@mail.ru)
|
Copyright (C) 2009-2026 Alexander Koblov (alexx2000@mail.ru)
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Lesser General Public
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
|
@ -31,10 +31,6 @@ uses
|
||||||
SysUtils, Classes,
|
SysUtils, Classes,
|
||||||
WfxPlugin, Extension;
|
WfxPlugin, Extension;
|
||||||
|
|
||||||
const
|
|
||||||
cAddConnection = '<Add connection>';
|
|
||||||
cQuickConnection = '<Quick connection>';
|
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TConnection }
|
{ TConnection }
|
||||||
|
|
@ -96,6 +92,7 @@ procedure FsGetDefRootName(DefRootName: PAnsiChar; MaxLen: Integer); dcpcall; ex
|
||||||
procedure FsSetDefaultParams(dps: pFsDefaultParamStruct); dcpcall; export;
|
procedure FsSetDefaultParams(dps: pFsDefaultParamStruct); dcpcall; export;
|
||||||
procedure FsStatusInfoW(RemoteDir: PWideChar; InfoStartEnd, InfoOperation: Integer); dcpcall; export;
|
procedure FsStatusInfoW(RemoteDir: PWideChar; InfoStartEnd, InfoOperation: Integer); dcpcall; export;
|
||||||
function FsGetBackgroundFlags: Integer; dcpcall; export;
|
function FsGetBackgroundFlags: Integer; dcpcall; export;
|
||||||
|
function FsExtractCustomIconW(RemoteName: PWideChar; ExtractFlags: Integer; TheIcon: PWfxIcon): Integer; dcpcall; export;
|
||||||
{ Network API }
|
{ Network API }
|
||||||
{
|
{
|
||||||
procedure FsNetworkGetSupportedProtocols(Protocols: PAnsiChar; MaxLen: LongInt); dcpcall; export;
|
procedure FsNetworkGetSupportedProtocols(Protocols: PAnsiChar; MaxLen: LongInt); dcpcall; export;
|
||||||
|
|
@ -125,7 +122,7 @@ implementation
|
||||||
uses
|
uses
|
||||||
IniFiles, StrUtils, FtpAdv, FtpUtils, FtpConfDlg, syncobjs, LazFileUtils,
|
IniFiles, StrUtils, FtpAdv, FtpUtils, FtpConfDlg, syncobjs, LazFileUtils,
|
||||||
LazUTF8, DCClassesUtf8, DCConvertEncoding, SftpSend, ScpSend, FtpProxy,
|
LazUTF8, DCClassesUtf8, DCConvertEncoding, SftpSend, ScpSend, FtpProxy,
|
||||||
FtpPropDlg, DCFileAttributes;
|
FtpPropDlg, FtpLng, DCFileAttributes;
|
||||||
|
|
||||||
var
|
var
|
||||||
DefaultIniName: String;
|
DefaultIniName: String;
|
||||||
|
|
@ -139,7 +136,6 @@ threadvar
|
||||||
|
|
||||||
const
|
const
|
||||||
FS_COPYFLAGS_FORCE = FS_COPYFLAGS_OVERWRITE or FS_COPYFLAGS_RESUME;
|
FS_COPYFLAGS_FORCE = FS_COPYFLAGS_OVERWRITE or FS_COPYFLAGS_RESUME;
|
||||||
RootList: array [0 .. 1] of AnsiString = (cAddConnection, cQuickConnection);
|
|
||||||
|
|
||||||
type
|
type
|
||||||
TListRec = record
|
TListRec = record
|
||||||
|
|
@ -609,12 +605,15 @@ end;
|
||||||
|
|
||||||
function LocalFindNext(Hdl: THandle; var FindData: TWin32FindDataW): Boolean;
|
function LocalFindNext(Hdl: THandle; var FindData: TWin32FindDataW): Boolean;
|
||||||
var
|
var
|
||||||
ListRec: PListRec absolute Hdl;
|
|
||||||
I, RootCount: Integer;
|
I, RootCount: Integer;
|
||||||
Connection: TConnection;
|
Connection: TConnection;
|
||||||
|
ListRec: PListRec absolute Hdl;
|
||||||
|
RootList: array [0..1] of String;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
I := ListRec^.Index;
|
I := ListRec^.Index;
|
||||||
|
RootList[0]:= cAddConnection;
|
||||||
|
RootList[1]:= cQuickConnection;
|
||||||
RootCount := High(RootList) + 1;
|
RootCount := High(RootList) + 1;
|
||||||
FillChar(FindData, SizeOf(FindData), 0);
|
FillChar(FindData, SizeOf(FindData), 0);
|
||||||
if I < RootCount then
|
if I < RootCount then
|
||||||
|
|
@ -1087,6 +1086,26 @@ begin
|
||||||
Result:= BG_DOWNLOAD or BG_UPLOAD or BG_ASK_USER;
|
Result:= BG_DOWNLOAD or BG_UPLOAD or BG_ASK_USER;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function FsExtractCustomIconW(RemoteName: PWideChar; ExtractFlags: Integer; TheIcon: PWfxIcon): Integer; dcpcall; export;
|
||||||
|
var
|
||||||
|
asRemoteName: String;
|
||||||
|
begin
|
||||||
|
Result:= FS_ICON_USEDEFAULT;
|
||||||
|
if (ExtractFileDir(RemoteName) = PathDelim) then
|
||||||
|
begin
|
||||||
|
if RemoteName[1] = '<' then
|
||||||
|
begin
|
||||||
|
Result:= FS_ICON_EXTRACTED;
|
||||||
|
TheIcon^.Format:= FS_ICON_FORMAT_FILE;
|
||||||
|
asRemoteName:= CeUtf16ToUtf8(RemoteName + 1);
|
||||||
|
if asRemoteName = cAddConnection then
|
||||||
|
StrPCopy(RemoteName, 'list-add')
|
||||||
|
else if asRemoteName = cQuickConnection then
|
||||||
|
StrPCopy(RemoteName, 'view-file');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
{
|
{
|
||||||
procedure FsNetworkGetSupportedProtocols(Protocols: PAnsiChar; MaxLen: LongInt); dcpcall; export;
|
procedure FsNetworkGetSupportedProtocols(Protocols: PAnsiChar; MaxLen: LongInt); dcpcall; export;
|
||||||
begin
|
begin
|
||||||
|
|
@ -1177,6 +1196,7 @@ procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo);
|
||||||
begin
|
begin
|
||||||
gStartupInfo:= StartupInfo^;
|
gStartupInfo:= StartupInfo^;
|
||||||
DefaultIniName:= gStartupInfo.PluginConfDir + DefaultIniName;
|
DefaultIniName:= gStartupInfo.PluginConfDir + DefaultIniName;
|
||||||
|
TranslateResourceStrings;
|
||||||
|
|
||||||
try
|
try
|
||||||
IniFile := TIniFileEx.Create(DefaultIniName, fmOpenReadWrite);
|
IniFile := TIniFileEx.Create(DefaultIniName, fmOpenReadWrite);
|
||||||
|
|
|
||||||
48
plugins/wfx/ftp/src/ftplng.pas
Normal file
48
plugins/wfx/ftp/src/ftplng.pas
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
unit FtpLng;
|
||||||
|
|
||||||
|
{$mode Delphi}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils;
|
||||||
|
|
||||||
|
var
|
||||||
|
cAddConnection: String;
|
||||||
|
cQuickConnection: String;
|
||||||
|
|
||||||
|
resourcestring
|
||||||
|
rsAddConnection = 'Add connection';
|
||||||
|
rsQuickConnection = 'Quick connection';
|
||||||
|
|
||||||
|
procedure TranslateResourceStrings;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
FtpFunc;
|
||||||
|
|
||||||
|
function Translate(Name, Value: AnsiString; Hash: LongInt; Arg: Pointer): AnsiString;
|
||||||
|
var
|
||||||
|
ALen: Integer;
|
||||||
|
begin
|
||||||
|
with gStartupInfo do
|
||||||
|
begin
|
||||||
|
SetLength(Result, MaxSmallint);
|
||||||
|
ALen:= TranslateString(Translation, PAnsiChar(Name), PAnsiChar(Value), PAnsiChar(Result), MaxSmallint);
|
||||||
|
SetLength(Result, ALen);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TranslateResourceStrings;
|
||||||
|
begin
|
||||||
|
if Assigned(gStartupInfo.Translation) then
|
||||||
|
begin
|
||||||
|
SetResourceStrings(@Translate, nil);
|
||||||
|
end;
|
||||||
|
cAddConnection:= '<' + rsAddConnection + '>';
|
||||||
|
cQuickConnection:= '<' + rsQuickConnection + '>';
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
|
|
@ -141,7 +141,8 @@ typedef struct {
|
||||||
tSetProperty SetProperty;
|
tSetProperty SetProperty;
|
||||||
tGetProperty GetProperty;
|
tGetProperty GetProperty;
|
||||||
tCreateComponent CreateComponent;
|
tCreateComponent CreateComponent;
|
||||||
unsigned char Reserved[4088 * sizeof(void *)];
|
char LanguageID[16];
|
||||||
|
unsigned char Reserved[4086 * sizeof(void *)];
|
||||||
} tExtensionStartupInfo;
|
} tExtensionStartupInfo;
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,20 @@
|
||||||
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
||||||
#define FILE_ATTRIBUTE_UNIX_MODE 0x80000000
|
#define FILE_ATTRIBUTE_UNIX_MODE 0x80000000
|
||||||
|
|
||||||
|
// custom icons
|
||||||
|
#define FS_ICON_FORMAT_HICON 0 // Load icon from HICON (Windows only)
|
||||||
|
#define FS_ICON_FORMAT_FILE 1 // Load icon from file name returned by plugin in the RemoteName
|
||||||
|
#define FS_ICON_FORMAT_BINARY 2 // Load icon from Data byte array (PNG or ICO), destroy data using Free if FS_ICON_EXTRACTED_DESTROY returned
|
||||||
|
|
||||||
|
typedef void (DCPCALL *tFreeProc)(void* Pointer);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
void* Pointer;
|
||||||
|
uintptr_t Size;
|
||||||
|
uintptr_t Format;
|
||||||
|
tFreeProc Free;
|
||||||
|
} TWfxIcon,*PWfxIcon;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
DWORD SizeLow,SizeHigh;
|
DWORD SizeLow,SizeHigh;
|
||||||
FILETIME LastWriteTime;
|
FILETIME LastWriteTime;
|
||||||
|
|
@ -176,8 +190,8 @@ BOOL DCPCALL FsSetTimeW(WCHAR* RemoteName,FILETIME *CreationTime,
|
||||||
void DCPCALL FsStatusInfo(char* RemoteDir,int InfoStartEnd,int InfoOperation);
|
void DCPCALL FsStatusInfo(char* RemoteDir,int InfoStartEnd,int InfoOperation);
|
||||||
void DCPCALL FsStatusInfoW(WCHAR* RemoteDir,int InfoStartEnd,int InfoOperation);
|
void DCPCALL FsStatusInfoW(WCHAR* RemoteDir,int InfoStartEnd,int InfoOperation);
|
||||||
void DCPCALL FsGetDefRootName(char* DefRootName,int maxlen);
|
void DCPCALL FsGetDefRootName(char* DefRootName,int maxlen);
|
||||||
int DCPCALL FsExtractCustomIcon(char* RemoteName,int ExtractFlags,HICON* TheIcon);
|
int DCPCALL FsExtractCustomIcon(char* RemoteName,int ExtractFlags,PWfxIcon TheIcon);
|
||||||
int DCPCALL FsExtractCustomIconW(WCHAR* RemoteName,int ExtractFlags,HICON* TheIcon);
|
int DCPCALL FsExtractCustomIconW(WCHAR* RemoteName,int ExtractFlags,PWfxIcon TheIcon);
|
||||||
void DCPCALL FsSetDefaultParams(FsDefaultParamStruct* dps);
|
void DCPCALL FsSetDefaultParams(FsDefaultParamStruct* dps);
|
||||||
|
|
||||||
int DCPCALL FsGetPreviewBitmap(char* RemoteName,int width,int height,HBITMAP* ReturnedBitmap);
|
int DCPCALL FsGetPreviewBitmap(char* RemoteName,int width,int height,HBITMAP* ReturnedBitmap);
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,8 @@
|
||||||
<UseVersionInfo Value="True"/>
|
<UseVersionInfo Value="True"/>
|
||||||
<MajorVersionNr Value="1"/>
|
<MajorVersionNr Value="1"/>
|
||||||
<MinorVersionNr Value="2"/>
|
<MinorVersionNr Value="2"/>
|
||||||
<Attributes pvaPreRelease="True" pvaPrivateBuild="True"/>
|
<Attributes pvaPreRelease="True" pvaPrivateBuild="False"/>
|
||||||
<StringTable FileDescription="Double Commander" InternalName="DOUBLECMD" LegalCopyright="Copyright (C) 2006-2025 Alexander Koblov" ProductName="Double Commander"/>
|
<StringTable FileDescription="Double Commander" InternalName="DOUBLECMD" LegalCopyright="Copyright (C) 2006-2026 Alexander Koblov" ProductName="Double Commander"/>
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<BuildModes Count="5">
|
<BuildModes Count="5">
|
||||||
<Item1 Name="Debug" Default="True"/>
|
<Item1 Name="Debug" Default="True"/>
|
||||||
|
|
@ -332,7 +332,7 @@ end;"/>
|
||||||
<PackageName Value="Image32"/>
|
<PackageName Value="Image32"/>
|
||||||
</Item13>
|
</Item13>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units Count="291">
|
<Units Count="300">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="doublecmd.lpr"/>
|
<Filename Value="doublecmd.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
|
@ -2053,9 +2053,9 @@ end;"/>
|
||||||
<UnitName Value="uMountedListOperation"/>
|
<UnitName Value="uMountedListOperation"/>
|
||||||
</Unit278>
|
</Unit278>
|
||||||
<Unit279>
|
<Unit279>
|
||||||
<Filename Value="platform\unix\darwin\uiclouddriver.pas"/>
|
<Filename Value="platform\unix\darwin\uiclouddrive.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="uiCloudDriver"/>
|
<UnitName Value="uiCloudDrive"/>
|
||||||
</Unit279>
|
</Unit279>
|
||||||
<Unit280>
|
<Unit280>
|
||||||
<Filename Value="filesources\ufilesourcemanager.pas"/>
|
<Filename Value="filesources\ufilesourcemanager.pas"/>
|
||||||
|
|
@ -2078,9 +2078,9 @@ end;"/>
|
||||||
<UnitName Value="uDarwinUtil"/>
|
<UnitName Value="uDarwinUtil"/>
|
||||||
</Unit283>
|
</Unit283>
|
||||||
<Unit284>
|
<Unit284>
|
||||||
<Filename Value="platform\unix\darwin\uiclouddriverconfig.pas"/>
|
<Filename Value="platform\unix\darwin\uiclouddriveconfig.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="uiCloudDriverConfig"/>
|
<UnitName Value="uiCloudDriveConfig"/>
|
||||||
</Unit284>
|
</Unit284>
|
||||||
<Unit285>
|
<Unit285>
|
||||||
<Filename Value="platform\unix\darwin\udarwinfileview.pas"/>
|
<Filename Value="platform\unix\darwin\udarwinfileview.pas"/>
|
||||||
|
|
@ -2096,10 +2096,10 @@ end;"/>
|
||||||
<UnitName Value="fOptionsiCloud"/>
|
<UnitName Value="fOptionsiCloud"/>
|
||||||
</Unit286>
|
</Unit286>
|
||||||
<Unit287>
|
<Unit287>
|
||||||
<Filename Value="platform\unix\darwin\uiclouddriverutil.pas"/>
|
<Filename Value="platform\unix\darwin\uiclouddriveutil.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<UnitName Value="uiCloudDriverUtil"/>
|
<UnitName Value="uiCloudDriveUtil"/>
|
||||||
</Unit287>
|
</Unit287>
|
||||||
<Unit288>
|
<Unit288>
|
||||||
<Filename Value="fileviews\usmoothscrollinggrid.pas"/>
|
<Filename Value="fileviews\usmoothscrollinggrid.pas"/>
|
||||||
|
|
@ -2119,6 +2119,51 @@ end;"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="fMasterKey"/>
|
<UnitName Value="fMasterKey"/>
|
||||||
</Unit290>
|
</Unit290>
|
||||||
|
<Unit291>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwinapplication.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinApplication"/>
|
||||||
|
</Unit291>
|
||||||
|
<Unit292>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwinfile.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinFile"/>
|
||||||
|
</Unit292>
|
||||||
|
<Unit293>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwinimage.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinImage"/>
|
||||||
|
</Unit293>
|
||||||
|
<Unit294>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwinsimplefswatch.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinSimpleFSWatch"/>
|
||||||
|
</Unit294>
|
||||||
|
<Unit295>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwinpanel.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinPanel"/>
|
||||||
|
</Unit295>
|
||||||
|
<Unit296>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwindc.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinDC"/>
|
||||||
|
</Unit296>
|
||||||
|
<Unit297>
|
||||||
|
<Filename Value="fileviews\ufileviewbasegrid.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uFileViewBaseGrid"/>
|
||||||
|
</Unit297>
|
||||||
|
<Unit298>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwinclipboard.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinClipboard"/>
|
||||||
|
</Unit298>
|
||||||
|
<Unit299>
|
||||||
|
<Filename Value="platform\unix\darwin\udarwinfileproperty.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="uDarwinFileProperty"/>
|
||||||
|
</Unit299>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
|
|
|
||||||
|
|
@ -51,9 +51,8 @@ uses
|
||||||
uGtk2FixCursorPos,
|
uGtk2FixCursorPos,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF darwin}
|
{$IFDEF darwin}
|
||||||
uAppleMagnifiedModeFix,
|
uDarwinApplication,
|
||||||
uMyDarwin,
|
uiCloudDriveConfig,
|
||||||
uiCloudDriverConfig,
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF LCLWIN32}
|
{$IFDEF LCLWIN32}
|
||||||
uDClass,
|
uDClass,
|
||||||
|
|
@ -162,8 +161,8 @@ begin
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IF DEFINED(darwin)}
|
{$IF DEFINED(darwin)}
|
||||||
FixMacFormatSettings;
|
TDarwinApplicationUtil.fixFormatSettings;
|
||||||
setMacOSAppearance( gAppMode );
|
TDarwinApplicationUtil.setTheme( gAppMode );
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// Use only current directory separator
|
// Use only current directory separator
|
||||||
|
|
@ -218,7 +217,7 @@ begin
|
||||||
LoadPixMapManager;
|
LoadPixMapManager;
|
||||||
{$IF DEFINED(DARWIN)}
|
{$IF DEFINED(DARWIN)}
|
||||||
initCocoaModernFormConfig;
|
initCocoaModernFormConfig;
|
||||||
iCloudDriverConfigUtil.load;
|
iCloudDriveConfigUtil.load;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Application.CreateForm(TfrmMain, frmMain); // main form
|
Application.CreateForm(TfrmMain, frmMain); // main form
|
||||||
Application.CreateForm(TdmComData, dmComData); // common data
|
Application.CreateForm(TdmComData, dmComData); // common data
|
||||||
|
|
|
||||||
|
|
@ -400,12 +400,14 @@ implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
LCLProc, LCLType, LConvEncoding, StrUtils, HelpIntfs, fViewer, fMain,
|
LCLProc, LCLType, LConvEncoding, StrUtils, HelpIntfs, fViewer, fMain,
|
||||||
uLng, uGlobs, uShowForm, uDCUtils, uFileSourceUtil, uOfficeXML,
|
uLng, uGlobs, uShowForm, uDCUtils, uOfficeXML,
|
||||||
uSearchResultFileSource, uFile, uFileProperty, uColumnsFileView,
|
uFile, uFileProperty, uColumnsFileView,
|
||||||
uFileViewNotebook, uKeyboard, uOSUtils, uArchiveFileSourceUtil,
|
uFileViewNotebook, uKeyboard, uOSUtils,
|
||||||
DCOSUtils, uRegExprA, uRegExprW, uDebug, uShowMsg, uConvEncoding,
|
DCOSUtils, uRegExprA, uRegExprW, uDebug, uShowMsg, uConvEncoding,
|
||||||
uColumns, uFileFunctions, uFileSorting, uWcxArchiveFileSource,
|
uColumns, uFileFunctions, uFileSorting,
|
||||||
DCConvertEncoding, WcxPlugin, fChooseEncoding, dmCommonData
|
DCConvertEncoding, WcxPlugin, fChooseEncoding, dmCommonData,
|
||||||
|
uLocalFileSource, uWcxArchiveFileSource, uSearchResultFileSource,
|
||||||
|
uFileSourceUtil, uArchiveFileSourceUtil
|
||||||
{$IFDEF DARKWIN}
|
{$IFDEF DARKWIN}
|
||||||
, uDarkStyle
|
, uDarkStyle
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
@ -525,7 +527,7 @@ begin
|
||||||
LoadPlugins;
|
LoadPlugins;
|
||||||
ClearFilter;
|
ClearFilter;
|
||||||
// SetWindowCaption(wcs_NewSearch);
|
// SetWindowCaption(wcs_NewSearch);
|
||||||
cmbFindPathStart.Text := FileView.CurrentPath;
|
cmbFindPathStart.Text := FileView.CurrentRealPath;
|
||||||
|
|
||||||
// Get paths of selected files, if any.
|
// Get paths of selected files, if any.
|
||||||
FSelectedFiles.Clear;
|
FSelectedFiles.Clear;
|
||||||
|
|
@ -541,6 +543,9 @@ begin
|
||||||
FreeAndNil(ASelectedFiles);
|
FreeAndNil(ASelectedFiles);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
(FileView.FileSource as ILocalFileSource).AddSearchPath(
|
||||||
|
FileView.CurrentRealPath, FSelectedFiles );
|
||||||
|
|
||||||
FindInArchive(FileView);
|
FindInArchive(FileView);
|
||||||
|
|
||||||
if Length(TemplateName) > 0 then
|
if Length(TemplateName) > 0 then
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ object frmCheckSumVerify: TfrmCheckSumVerify
|
||||||
Constraints.MinWidth = 300
|
Constraints.MinWidth = 300
|
||||||
KeyPreview = True
|
KeyPreview = True
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
|
OnCreate = FormCreate
|
||||||
OnKeyDown = FormKeyDown
|
OnKeyDown = FormKeyDown
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
ShowInTaskBar = stAlways
|
ShowInTaskBar = stAlways
|
||||||
|
|
@ -37,6 +38,7 @@ object frmCheckSumVerify: TfrmCheckSumVerify
|
||||||
Gutter.Visible = False
|
Gutter.Visible = False
|
||||||
Gutter.Width = 0
|
Gutter.Width = 0
|
||||||
Gutter.MouseActions = <>
|
Gutter.MouseActions = <>
|
||||||
|
RightGutter.Visible = False
|
||||||
RightGutter.Width = 0
|
RightGutter.Width = 0
|
||||||
RightGutter.MouseActions = <>
|
RightGutter.MouseActions = <>
|
||||||
Keystrokes = <
|
Keystrokes = <
|
||||||
|
|
@ -343,6 +345,7 @@ object frmCheckSumVerify: TfrmCheckSumVerify
|
||||||
MouseActions = <>
|
MouseActions = <>
|
||||||
MouseTextActions = <>
|
MouseTextActions = <>
|
||||||
MouseSelActions = <>
|
MouseSelActions = <>
|
||||||
|
Options = [eoBracketHighlight, eoHideRightMargin, eoTabsToSpaces, eoTrimTrailingSpaces]
|
||||||
VisibleSpecialChars = [vscSpace, vscTabAtLast]
|
VisibleSpecialChars = [vscSpace, vscTabAtLast]
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
ScrollBars = ssAutoBoth
|
ScrollBars = ssAutoBoth
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
Verify checksum dialog
|
Verify checksum dialog
|
||||||
|
|
||||||
Copyright (C) 2009-2022 Alexander Koblov (alexx2000@mail.ru)
|
Copyright (C) 2009-2026 Alexander Koblov (alexx2000@mail.ru)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -26,7 +26,7 @@ unit fCheckSumVerify;
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Forms, Buttons, SynEdit, LMessages, uOSForms,
|
LCLType, Classes, SysUtils, Forms, Buttons, SynEdit, LMessages, uOSForms,
|
||||||
Graphics, uFileSourceCalcChecksumOperation, DCBasicTypes, Controls;
|
Graphics, uFileSourceCalcChecksumOperation, DCBasicTypes, Controls;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
@ -105,11 +105,16 @@ end;
|
||||||
procedure TfrmCheckSumVerify.FormCreate(Sender: TObject);
|
procedure TfrmCheckSumVerify.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
seCheckSumVerify.FixDefaultKeystrokes;
|
seCheckSumVerify.FixDefaultKeystrokes;
|
||||||
|
FontOptionsToFont(gFonts[dcfLog], seCheckSumVerify.Font);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmCheckSumVerify.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure TfrmCheckSumVerify.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
begin
|
begin
|
||||||
if Key = 27 then Close;
|
if Key in [VK_RETURN, VK_ESCAPE] then
|
||||||
|
begin
|
||||||
|
Key:= 0;
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmCheckSumVerify.seCheckSumVerifySpecialLineColors(Sender: TObject; Line: integer;
|
procedure TfrmCheckSumVerify.seCheckSumVerifySpecialLineColors(Sender: TObject; Line: integer;
|
||||||
|
|
|
||||||
|
|
@ -332,7 +332,6 @@ object frmDiffer: TfrmDiffer
|
||||||
SimplePanel = False
|
SimplePanel = False
|
||||||
end
|
end
|
||||||
object MainMenu: TMainMenu
|
object MainMenu: TMainMenu
|
||||||
Images = dmComData.ilEditorImages
|
|
||||||
Left = 88
|
Left = 88
|
||||||
Top = 136
|
Top = 136
|
||||||
object mnuFile: TMenuItem
|
object mnuFile: TMenuItem
|
||||||
|
|
|
||||||
|
|
@ -740,6 +740,9 @@ end;
|
||||||
|
|
||||||
procedure TfrmDiffer.FormCreate(Sender: TObject);
|
procedure TfrmDiffer.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
if gIconsInMenus then
|
||||||
|
Menu.Images:= dmComData.ilEditorImages;
|
||||||
|
|
||||||
ScrollLock:= 0;
|
ScrollLock:= 0;
|
||||||
Diff:= TDiff.Create(Self);
|
Diff:= TDiff.Create(Self);
|
||||||
SynDiffEditLeft:= TSynDiffEdit.Create(Self);
|
SynDiffEditLeft:= TSynDiffEdit.Create(Self);
|
||||||
|
|
|
||||||
|
|
@ -761,7 +761,6 @@ object frmEditor: TfrmEditor
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object MainMenu1: TMainMenu
|
object MainMenu1: TMainMenu
|
||||||
Images = dmComData.ilEditorImages
|
|
||||||
Left = 48
|
Left = 48
|
||||||
Top = 32
|
Top = 32
|
||||||
object miFile: TMenuItem
|
object miFile: TMenuItem
|
||||||
|
|
|
||||||
|
|
@ -286,7 +286,8 @@ var
|
||||||
begin
|
begin
|
||||||
InitPropStorage(Self);
|
InitPropStorage(Self);
|
||||||
|
|
||||||
Menu.Images:= dmComData.ilEditorImages;
|
if gIconsInMenus then
|
||||||
|
Menu.Images:= dmComData.ilEditorImages;
|
||||||
StatusBar.OnShowHint:= @StatusBarShowHint;
|
StatusBar.OnShowHint:= @StatusBarShowHint;
|
||||||
|
|
||||||
LoadGlobalOptions;
|
LoadGlobalOptions;
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ uses
|
||||||
{$IFDEF UNIX}
|
{$IFDEF UNIX}
|
||||||
BaseUnix, uUsersGroups, LazUTF8, DCUnix, uMyUnix,
|
BaseUnix, uUsersGroups, LazUTF8, DCUnix, uMyUnix,
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
uMyDarwin,
|
uDarwinFile, uDarwinFileProperty,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF LINUX}
|
{$IFDEF LINUX}
|
||||||
statx,
|
statx,
|
||||||
|
|
@ -257,6 +257,16 @@ end;
|
||||||
|
|
||||||
{$ELSEIF DEFINED(UNIX)}
|
{$ELSEIF DEFINED(UNIX)}
|
||||||
|
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
function PropertyLazyLoader(const path: String; const propertyType: TFilePropertyType): TFileProperty;
|
||||||
|
begin
|
||||||
|
if propertyType = fpMacOSSpecific then
|
||||||
|
Result := TDarwinFilePropertyUtil.getSpecificProperty(path)
|
||||||
|
else
|
||||||
|
Result := nil;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
procedure FillFromStat(
|
procedure FillFromStat(
|
||||||
AFile: TFile;
|
AFile: TFile;
|
||||||
AFilePath: String;
|
AFilePath: String;
|
||||||
|
|
@ -391,6 +401,9 @@ var
|
||||||
LinkAttrs: TFileAttrs;
|
LinkAttrs: TFileAttrs;
|
||||||
begin
|
begin
|
||||||
Result := TFile.Create(APath);
|
Result := TFile.Create(APath);
|
||||||
|
{$IF DEFINED(DARWIN)}
|
||||||
|
Result.SetPropertyLazyLoader(@PropertyLazyLoader);
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
with Result do
|
with Result do
|
||||||
begin
|
begin
|
||||||
|
|
@ -429,10 +442,6 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
{$IFDEF DARWIN}
|
|
||||||
if pSearchRecord^.Name<>'..' then
|
|
||||||
MacOSSpecificProperty := uMyDarwin.getMacOSSpecificFileProperty(AFilePath);
|
|
||||||
{$ENDIF}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Set name after assigning Attributes property, because it is used to get extension.
|
// Set name after assigning Attributes property, because it is used to get extension.
|
||||||
|
|
@ -470,6 +479,9 @@ begin
|
||||||
raise EFileNotFound.Create(aFilePath);
|
raise EFileNotFound.Create(aFilePath);
|
||||||
|
|
||||||
Result := TFile.Create(ExtractFilePath(aFilePath));
|
Result := TFile.Create(ExtractFilePath(aFilePath));
|
||||||
|
{$IF DEFINED(DARWIN)}
|
||||||
|
Result.SetPropertyLazyLoader(@PropertyLazyLoader);
|
||||||
|
{$ENDIF}
|
||||||
FillFromStat(Result, aFilePath, @StatInfo);
|
FillFromStat(Result, aFilePath, @StatInfo);
|
||||||
|
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
|
|
@ -488,10 +500,6 @@ begin
|
||||||
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF DARWIN}
|
|
||||||
Result.MacOSSpecificProperty := uMyDarwin.getMacOSSpecificFileProperty(AFilePath);
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
// Set name after assigning Attributes property, because it is used to get extension.
|
// Set name after assigning Attributes property, because it is used to get extension.
|
||||||
Result.FullPath := aFilePath;
|
Result.FullPath := aFilePath;
|
||||||
end;
|
end;
|
||||||
|
|
@ -710,7 +718,7 @@ begin
|
||||||
begin
|
begin
|
||||||
TypeProperty := TFileTypeProperty.Create;
|
TypeProperty := TFileTypeProperty.Create;
|
||||||
{$IF DEFINED(DARWIN)}
|
{$IF DEFINED(DARWIN)}
|
||||||
TypeProperty.Value:= GetFileDescription(sFullPath);
|
TypeProperty.Value:= TDarwinFileUtil.getDescription(sFullPath);
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
TypeProperty.Value:= GetFileMimeType(sFullPath);
|
TypeProperty.Value:= GetFileMimeType(sFullPath);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
@ -762,11 +770,6 @@ begin
|
||||||
CommentProperty.Value := FDescr.ReadDescription(sFullPath);
|
CommentProperty.Value := FDescr.ReadDescription(sFullPath);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF DARWIN}
|
|
||||||
if (AFile.Name<>'..') and (fpMacOSSpecific in PropertiesToSet) then
|
|
||||||
MacOSSpecificProperty := uMyDarwin.getMacOSSpecificFileProperty(sFullPath);
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
PropertiesToSet:= PropertiesToSet * fpVariantAll;
|
PropertiesToSet:= PropertiesToSet * fpVariantAll;
|
||||||
for AProp in PropertiesToSet do
|
for AProp in PropertiesToSet do
|
||||||
begin
|
begin
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ uses
|
||||||
type
|
type
|
||||||
{ IMountedFileSource }
|
{ IMountedFileSource }
|
||||||
|
|
||||||
IMountedFileSource = interface(IFileSource)
|
IMountedFileSource = interface(IFileSystemFileSource)
|
||||||
['{47A3B4E6-5C40-A86A-E325-E4ABDC069B42}']
|
['{47A3B4E6-5C40-A86A-E325-E4ABDC069B42}']
|
||||||
|
|
||||||
procedure mount( const path: String; const mountPoint: String );
|
procedure mount( const path: String; const mountPoint: String );
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ uses
|
||||||
Classes, SysUtils,
|
Classes, SysUtils,
|
||||||
uFileSourceListOperation,
|
uFileSourceListOperation,
|
||||||
uFileSource, uMountedFileSource, uFileSystemListOperation,
|
uFileSource, uMountedFileSource, uFileSystemListOperation,
|
||||||
uDCUtils, DCOSUtils, DCStrUtils;
|
DCOSUtils, DCStrUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,7 @@ type
|
||||||
col: Integer;
|
col: Integer;
|
||||||
row: Integer;
|
row: Integer;
|
||||||
drawingRect: TRect;
|
drawingRect: TRect;
|
||||||
|
decorationRect: TRect;
|
||||||
|
|
||||||
case Byte of
|
case Byte of
|
||||||
0: (
|
0: (
|
||||||
|
|
@ -71,7 +72,7 @@ type
|
||||||
|
|
||||||
TFileSourceUIHandler = class
|
TFileSourceUIHandler = class
|
||||||
procedure draw( var params: TFileSourceUIParams ); virtual; abstract;
|
procedure draw( var params: TFileSourceUIParams ); virtual; abstract;
|
||||||
function click( var params: TFileSourceUIParams ): Boolean; virtual; abstract;
|
function click( var params: TFileSourceUIParams ): Boolean; virtual; abstract;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TFileSourceField = record
|
TFileSourceField = record
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ type
|
||||||
fspListFlatView,
|
fspListFlatView,
|
||||||
{en
|
{en
|
||||||
Set, if the file source supports mounted/mixed file struct.
|
Set, if the file source supports mounted/mixed file struct.
|
||||||
eg. TMountedFileSource / TiCloudDriverFileSource
|
eg. TMountedFileSource / TiCloudDriveFileSource
|
||||||
}
|
}
|
||||||
fspMounted,
|
fspMounted,
|
||||||
{en
|
{en
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,8 @@ function ChooseFileSource(aFileView: TFileView; const aPath: String; bLocal: Boo
|
||||||
|
|
||||||
function ChooseArchive(aFileView: TFileView; aFileSource: IFileSource; aFile: TFile; bForce: Boolean = False): Boolean;
|
function ChooseArchive(aFileView: TFileView; aFileSource: IFileSource; aFile: TFile; bForce: Boolean = False): Boolean;
|
||||||
|
|
||||||
|
function ChooseSpecialFile(aFile: TFile): Boolean;
|
||||||
|
|
||||||
procedure ChooseSymbolicLink(aFileView: TFileView; aFile: TFile);
|
procedure ChooseSymbolicLink(aFileView: TFileView; aFile: TFile);
|
||||||
|
|
||||||
procedure SetFileSystemPath(aFileView: TFileView; aPath: String);
|
procedure SetFileSystemPath(aFileView: TFileView; aPath: String);
|
||||||
|
|
@ -58,7 +60,11 @@ uses
|
||||||
uArchiveFileSourceUtil,
|
uArchiveFileSourceUtil,
|
||||||
uFileSourceOperationMessageBoxesUI,
|
uFileSourceOperationMessageBoxesUI,
|
||||||
uFileProperty, URIParser,
|
uFileProperty, URIParser,
|
||||||
WcxPlugin, uWcxModule, uHash, uSuperUser;
|
WcxPlugin, uWcxModule, uHash, uSuperUser
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
, uDarwinFinderModel, uDarwinFileView
|
||||||
|
{$ENDIF}
|
||||||
|
;
|
||||||
|
|
||||||
procedure ChooseFile(aFileView: TFileView; aFileSource: IFileSource;
|
procedure ChooseFile(aFileView: TFileView; aFileSource: IFileSource;
|
||||||
aFile: TFile);
|
aFile: TFile);
|
||||||
|
|
@ -174,6 +180,9 @@ begin
|
||||||
if ChooseArchive(aFileView, aFileSource, aFile) then
|
if ChooseArchive(aFileView, aFileSource, aFile) then
|
||||||
Exit(True);
|
Exit(True);
|
||||||
|
|
||||||
|
if ChooseSpecialFile(aFile) then
|
||||||
|
Exit(True);
|
||||||
|
|
||||||
// Work only for TVfsFileSource.
|
// Work only for TVfsFileSource.
|
||||||
if aFileView.FileSource.IsClass(TVfsFileSource) then
|
if aFileView.FileSource.IsClass(TVfsFileSource) then
|
||||||
begin
|
begin
|
||||||
|
|
@ -308,6 +317,20 @@ begin
|
||||||
Result := False;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// todo:
|
||||||
|
// currently, there's only one special use case, which is simply hardcoded.
|
||||||
|
// if the number increases, it will be refactored into a registration-based model.
|
||||||
|
function ChooseSpecialFile(aFile: TFile): Boolean;
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
if aFile.Extension = 'savedSearch' then begin
|
||||||
|
TDarwinFinderModelUtil.searchFilesBySavedSearch( aFile.FullPath, @darwinSearchResultHandler.onSearchFinderTagComplete );
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
procedure ChooseSymbolicLink(aFileView: TFileView; aFile: TFile);
|
procedure ChooseSymbolicLink(aFileView: TFileView; aFile: TFile);
|
||||||
var
|
var
|
||||||
sPath: String;
|
sPath: String;
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ uses
|
||||||
type
|
type
|
||||||
|
|
||||||
ILocalFileSource = interface(IRealFileSource)
|
ILocalFileSource = interface(IRealFileSource)
|
||||||
|
['{22F03840-42C2-0E62-2CCE-677794F64598}']
|
||||||
|
procedure AddSearchPath( const startPath: String; paths: TStringList );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{en
|
{en
|
||||||
|
|
@ -18,10 +20,20 @@ type
|
||||||
Empty placeholder for now, allows to check
|
Empty placeholder for now, allows to check
|
||||||
whether a certain file source is local.
|
whether a certain file source is local.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{ TLocalFileSource }
|
||||||
|
|
||||||
TLocalFileSource = class(TRealFileSource, ILocalFileSource)
|
TLocalFileSource = class(TRealFileSource, ILocalFileSource)
|
||||||
|
procedure AddSearchPath( const startPath: String; paths: TStringList ); virtual;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
{ TLocalFileSource }
|
||||||
|
|
||||||
|
procedure TLocalFileSource.AddSearchPath( const startPath: String; paths: TStringList );
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,9 @@ uses
|
||||||
Classes, SysUtils, Controls, LMessages, Grids, Graphics,
|
Classes, SysUtils, Controls, LMessages, Grids, Graphics,
|
||||||
uDisplayFile, DCXmlConfig, uTypes,
|
uDisplayFile, DCXmlConfig, uTypes,
|
||||||
uFileView, uFileViewWithMainCtrl, uFileViewWithGrid,
|
uFileView, uFileViewWithMainCtrl, uFileViewWithGrid,
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
uDarwinFileView,
|
||||||
|
{$ENDIF}
|
||||||
uFile, uFileSource, uFileProperty;
|
uFile, uFileSource, uFileProperty;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
@ -19,7 +22,6 @@ type
|
||||||
TBriefDrawGrid = class(TFileViewGrid)
|
TBriefDrawGrid = class(TFileViewGrid)
|
||||||
protected
|
protected
|
||||||
FBriefView: TBriefFileView;
|
FBriefView: TBriefFileView;
|
||||||
FOnDrawCell: TFileViewOnDrawCell;
|
|
||||||
protected
|
protected
|
||||||
procedure UpdateView; override;
|
procedure UpdateView; override;
|
||||||
procedure CalculateColRowCount; override;
|
procedure CalculateColRowCount; override;
|
||||||
|
|
@ -37,16 +39,11 @@ type
|
||||||
function CellToIndex(ACol, ARow: Integer): Integer; override;
|
function CellToIndex(ACol, ARow: Integer): Integer; override;
|
||||||
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); override;
|
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); override;
|
||||||
procedure DrawCell(aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState); override;
|
procedure DrawCell(aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState); override;
|
||||||
|
|
||||||
property OnDrawCell: TFileViewOnDrawCell read FOnDrawCell write FOnDrawCell;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TBriefFileView }
|
{ TBriefFileView }
|
||||||
|
|
||||||
TBriefFileView = class (TFileViewWithGrid)
|
TBriefFileView = class (TFileViewWithGrid)
|
||||||
protected
|
|
||||||
function GetOnDrawCell: TFileViewOnDrawCell;
|
|
||||||
procedure SetOnDrawCell( OnDrawCell: TFileViewOnDrawCell );
|
|
||||||
protected
|
protected
|
||||||
procedure CreateDefault(AOwner: TWinControl); override;
|
procedure CreateDefault(AOwner: TWinControl); override;
|
||||||
function GetFileViewGridClass: TFileViewGridClass; override;
|
function GetFileViewGridClass: TFileViewGridClass; override;
|
||||||
|
|
@ -59,9 +56,7 @@ type
|
||||||
procedure DoFileUpdated(AFile: TDisplayFile; UpdatedProperties: TFilePropertiesTypes = []); override;
|
procedure DoFileUpdated(AFile: TDisplayFile; UpdatedProperties: TFilePropertiesTypes = []); override;
|
||||||
public
|
public
|
||||||
function Clone(NewParent: TWinControl): TBriefFileView; override;
|
function Clone(NewParent: TWinControl): TBriefFileView; override;
|
||||||
procedure CloneTo(FileView: TFileView); override;
|
|
||||||
procedure SaveConfiguration(AConfig: TXmlConfig; ANode: TXmlNode; ASaveHistory:boolean); override;
|
procedure SaveConfiguration(AConfig: TXmlConfig; ANode: TXmlNode; ASaveHistory:boolean); override;
|
||||||
property OnDrawCell: TFileViewOnDrawCell read GetOnDrawCell write SetOnDrawCell;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
@ -356,44 +351,8 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBriefDrawGrid.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
procedure TBriefDrawGrid.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
|
||||||
function handleMBLeft: Boolean;
|
|
||||||
var
|
|
||||||
handler: TFileSourceUIHandler;
|
|
||||||
params: TFileSourceUIParams;
|
|
||||||
index: Integer;
|
|
||||||
begin
|
|
||||||
Result:= False;
|
|
||||||
|
|
||||||
params:= Default( TFileSourceUIParams );
|
|
||||||
params.sender:= FBriefView;
|
|
||||||
params.fs:= FBriefView.FileSource;
|
|
||||||
params.multiColumns:= False;
|
|
||||||
|
|
||||||
handler:= params.fs.GetUIHandler;
|
|
||||||
if handler = nil then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
params.shift:= Shift;
|
|
||||||
params.x:= X;
|
|
||||||
params.y:= Y;
|
|
||||||
MouseToCell( X, Y, params.col, params.row );
|
|
||||||
if NOT self.IsRowIndexValid(params.row) then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
index:= CellToIndex( params.col, params.row );
|
|
||||||
if index < 0 then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
ColRowToOffset(True, True, params.col, params.drawingRect.Left, params.drawingRect.Right );
|
|
||||||
ColRowToOffset(False, True, params.row, params.drawingRect.Top, params.drawingRect.Bottom );
|
|
||||||
|
|
||||||
params.displayFile:= FBriefView.FFiles[index];
|
|
||||||
Result:= handler.click( params );
|
|
||||||
end;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (Button = mbLeft) and handleMBLeft then
|
if (Button = mbLeft) and self.doCellClick( Shift, X, Y ) then
|
||||||
begin
|
begin
|
||||||
FBriefView.tmRenameFile.Enabled := False;
|
FBriefView.tmRenameFile.Enabled := False;
|
||||||
FBriefView.FRenameFileIndex := -1;
|
FBriefView.FRenameFileIndex := -1;
|
||||||
|
|
@ -536,23 +495,6 @@ var
|
||||||
Canvas.TextOut(aRect.Left + 2, iTextTop, s);
|
Canvas.TextOut(aRect.Left + 2, iTextTop, s);
|
||||||
end; //of DrawIconCell
|
end; //of DrawIconCell
|
||||||
|
|
||||||
procedure callFileSourceDrawCell;
|
|
||||||
var
|
|
||||||
handler: TFileSourceUIHandler;
|
|
||||||
begin
|
|
||||||
handler:= FBriefView.FileSource.GetUIHandler;
|
|
||||||
if handler = nil then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
handler.draw( params );
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure callOnDrawCell;
|
|
||||||
begin
|
|
||||||
if Assigned(OnDrawCell) and not(CsDesigning in ComponentState) then
|
|
||||||
OnDrawCell(FBriefView,aCol,aRow,params.drawingRect,params.focused,AFile);
|
|
||||||
end;
|
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
//end of subprocedures
|
//end of subprocedures
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|
@ -565,26 +507,21 @@ begin
|
||||||
FileSourceDirectAccess:= fspDirectAccess in FBriefView.FileSource.Properties;
|
FileSourceDirectAccess:= fspDirectAccess in FBriefView.FileSource.Properties;
|
||||||
|
|
||||||
params:= Default( TFileSourceUIParams );
|
params:= Default( TFileSourceUIParams );
|
||||||
params.sender:= FBriefView;
|
|
||||||
params.fs:= FBriefView.FileSource;
|
|
||||||
params.multiColumns:= False;
|
|
||||||
params.col:= aCol;
|
params.col:= aCol;
|
||||||
params.row:= aRow;
|
params.row:= aRow;
|
||||||
params.displayFile:= aFile;
|
params.displayFile:= aFile;
|
||||||
|
params.drawingRect:= aRect;
|
||||||
|
params.focused:= (gdSelected in aState) and FBriefView.Active;
|
||||||
|
|
||||||
if AFile.DisplayStrings.Count = 0 then
|
if AFile.DisplayStrings.Count = 0 then
|
||||||
FBriefView.MakeColumnsStrings(AFile);
|
FBriefView.MakeColumnsStrings(AFile);
|
||||||
|
|
||||||
PrepareColors(aFile, aCol, aRow, aRect, aState);
|
PrepareColors(aFile, aCol, aRow, aRect, aState);
|
||||||
|
|
||||||
iTextTop := aRect.Top + (RowHeights[aRow] - Canvas.TextHeight('Wg')) div 2;
|
iTextTop := aRect.Top + (RowHeights[aRow] - self.calcTextHeight) div 2;
|
||||||
|
|
||||||
DrawIconCell;
|
DrawIconCell;
|
||||||
|
self.doCellEnhancedDraw( params );
|
||||||
params.drawingRect:= aRect;
|
|
||||||
params.focused:= (gdSelected in aState) and FBriefView.Active;
|
|
||||||
callFileSourceDrawCell;
|
|
||||||
callOnDrawCell;
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
|
@ -599,16 +536,6 @@ end;
|
||||||
|
|
||||||
{ TBriefFileView }
|
{ TBriefFileView }
|
||||||
|
|
||||||
function TBriefFileView.GetOnDrawCell: TFileViewOnDrawCell;
|
|
||||||
begin
|
|
||||||
Result:= TBriefDrawGrid(dgPanel).OnDrawCell;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TBriefFileView.SetOnDrawCell(OnDrawCell: TFileViewOnDrawCell);
|
|
||||||
begin
|
|
||||||
TBriefDrawGrid(dgPanel).OnDrawCell:= OnDrawCell;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TBriefFileView.CreateDefault(AOwner: TWinControl);
|
procedure TBriefFileView.CreateDefault(AOwner: TWinControl);
|
||||||
begin
|
begin
|
||||||
inherited CreateDefault(AOwner);
|
inherited CreateDefault(AOwner);
|
||||||
|
|
@ -616,6 +543,10 @@ begin
|
||||||
|
|
||||||
// Changing height of a FileView with horizontal scrolling when hiding quick search causes file jumps under mouse
|
// Changing height of a FileView with horizontal scrolling when hiding quick search causes file jumps under mouse
|
||||||
quickSearch.LimitedAutoHide := True;
|
quickSearch.LimitedAutoHide := True;
|
||||||
|
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
TBriefDrawGrid(dgPanel).OnDrawCell:= @darwinFileViewDrawHandler.onDrawCell;
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TBriefFileView.GetFileViewGridClass: TFileViewGridClass;
|
function TBriefFileView.GetFileViewGridClass: TFileViewGridClass;
|
||||||
|
|
@ -718,13 +649,6 @@ begin
|
||||||
Result := TBriefFileView.Create(NewParent, Self);
|
Result := TBriefFileView.Create(NewParent, Self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBriefFileView.CloneTo(FileView: TFileView);
|
|
||||||
begin
|
|
||||||
inherited CloneTo(FileView);
|
|
||||||
if FileView is TBriefFileView then
|
|
||||||
TBriefFileView(FileView).OnDrawCell:= self.OnDrawCell;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TBriefFileView.SaveConfiguration(AConfig: TXmlConfig; ANode: TXmlNode; ASaveHistory:boolean);
|
procedure TBriefFileView.SaveConfiguration(AConfig: TXmlConfig; ANode: TXmlNode; ASaveHistory:boolean);
|
||||||
begin
|
begin
|
||||||
inherited SaveConfiguration(AConfig, ANode, ASaveHistory);
|
inherited SaveConfiguration(AConfig, ANode, ASaveHistory);
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,10 @@ uses
|
||||||
DCXmlConfig,
|
DCXmlConfig,
|
||||||
DCBasicTypes,
|
DCBasicTypes,
|
||||||
uTypes,
|
uTypes,
|
||||||
uSmoothScrollingGrid,
|
{$IFDEF DARWIN}
|
||||||
|
uDarwinFileView,
|
||||||
|
{$ENDIF}
|
||||||
|
uFileViewBaseGrid,
|
||||||
uFileViewWithGrid;
|
uFileViewWithGrid;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
@ -29,21 +32,21 @@ type
|
||||||
|
|
||||||
{ TDrawGridEx }
|
{ TDrawGridEx }
|
||||||
|
|
||||||
TDrawGridEx = class(TSmoothScrollingGrid)
|
TDrawGridEx = class(TFileViewBaseGrid)
|
||||||
private
|
private
|
||||||
FMouseDownY: Integer;
|
FMouseDownY: Integer;
|
||||||
FLastMouseMoveTime: QWord;
|
FLastMouseMoveTime: QWord;
|
||||||
FLastMouseScrollTime: QWord;
|
FLastMouseScrollTime: QWord;
|
||||||
ColumnsView: TColumnsFileView;
|
ColumnsView: TColumnsFileView;
|
||||||
|
|
||||||
FOnDrawCell: TFileViewOnDrawCell;
|
|
||||||
|
|
||||||
function GetGridHorzLine: Boolean;
|
function GetGridHorzLine: Boolean;
|
||||||
function GetGridVertLine: Boolean;
|
function GetGridVertLine: Boolean;
|
||||||
procedure SetGridHorzLine(const AValue: Boolean);
|
procedure SetGridHorzLine(const AValue: Boolean);
|
||||||
procedure SetGridVertLine(const AValue: Boolean);
|
procedure SetGridVertLine(const AValue: Boolean);
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
function getFileView: TFileView; override;
|
||||||
|
|
||||||
procedure DragCanceled; override;
|
procedure DragCanceled; override;
|
||||||
procedure DoMouseMoveScroll(X, Y: Integer);
|
procedure DoMouseMoveScroll(X, Y: Integer);
|
||||||
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
|
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
|
||||||
|
|
@ -71,8 +74,6 @@ type
|
||||||
|
|
||||||
procedure UpdateView;
|
procedure UpdateView;
|
||||||
|
|
||||||
function MouseOnGrid(X, Y: LongInt): Boolean;
|
|
||||||
|
|
||||||
// Returns height of all the header rows.
|
// Returns height of all the header rows.
|
||||||
function GetHeaderHeight: Integer;
|
function GetHeaderHeight: Integer;
|
||||||
|
|
||||||
|
|
@ -89,7 +90,8 @@ type
|
||||||
property GridVertLine: Boolean read GetGridVertLine write SetGridVertLine;
|
property GridVertLine: Boolean read GetGridVertLine write SetGridVertLine;
|
||||||
property GridHorzLine: Boolean read GetGridHorzLine write SetGridHorzLine;
|
property GridHorzLine: Boolean read GetGridHorzLine write SetGridHorzLine;
|
||||||
|
|
||||||
property OnDrawCell: TFileViewOnDrawCell read FOnDrawCell write FOnDrawCell;
|
function CellToIndex(ACol, ARow: Integer): Integer; override;
|
||||||
|
function isMultiColumns: Boolean; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TColumnResized = procedure (Sender: TObject; ColumnIndex: Integer; ColumnNewsize: integer) of object;
|
TColumnResized = procedure (Sender: TObject; ColumnIndex: Integer; ColumnNewsize: integer) of object;
|
||||||
|
|
@ -108,9 +110,6 @@ type
|
||||||
dgPanel: TDrawGridEx;
|
dgPanel: TDrawGridEx;
|
||||||
FOnColumnResized: TColumnResized;
|
FOnColumnResized: TColumnResized;
|
||||||
|
|
||||||
function GetOnDrawCell: TFileViewOnDrawCell;
|
|
||||||
procedure SetOnDrawCell( OnDrawCell: TFileViewOnDrawCell );
|
|
||||||
|
|
||||||
function GetColumnsClass: TPanelColumnsClass;
|
function GetColumnsClass: TPanelColumnsClass;
|
||||||
|
|
||||||
procedure SetRowCount(Count: Integer);
|
procedure SetRowCount(Count: Integer);
|
||||||
|
|
@ -214,7 +213,6 @@ type
|
||||||
procedure SetGridFunctionDim(ExternalDimFunction:TFunctionDime);
|
procedure SetGridFunctionDim(ExternalDimFunction:TFunctionDime);
|
||||||
|
|
||||||
property OnColumnResized: TColumnResized read FOnColumnResized write FOnColumnResized;
|
property OnColumnResized: TColumnResized read FOnColumnResized write FOnColumnResized;
|
||||||
property OnDrawCell: TFileViewOnDrawCell read GetOnDrawCell write SetOnDrawCell;
|
|
||||||
published
|
published
|
||||||
procedure cm_SaveFileDetailsToFile(const Params: array of string);
|
procedure cm_SaveFileDetailsToFile(const Params: array of string);
|
||||||
procedure cm_CopyFileDetailsToClip(const Params: array of string);
|
procedure cm_CopyFileDetailsToClip(const Params: array of string);
|
||||||
|
|
@ -932,6 +930,9 @@ begin
|
||||||
dgPanel.OnTopLeftChanged:= @dgPanelTopLeftChanged;
|
dgPanel.OnTopLeftChanged:= @dgPanelTopLeftChanged;
|
||||||
dgpanel.OnResize:= @dgPanelResize;
|
dgpanel.OnResize:= @dgPanelResize;
|
||||||
dgPanel.OnHeaderSized:= @dgPanelHeaderSized;
|
dgPanel.OnHeaderSized:= @dgPanelHeaderSized;
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
dgPanel.OnDrawCell:= @darwinFileViewDrawHandler.onDrawCell;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
pmColumnsMenu := TPopupMenu.Create(Self);
|
pmColumnsMenu := TPopupMenu.Create(Self);
|
||||||
pmColumnsMenu.Parent := Self;
|
pmColumnsMenu.Parent := Self;
|
||||||
|
|
@ -962,7 +963,6 @@ begin
|
||||||
with TColumnsFileView(FileView) do
|
with TColumnsFileView(FileView) do
|
||||||
begin
|
begin
|
||||||
FColumnsSortDirections := Self.FColumnsSortDirections;
|
FColumnsSortDirections := Self.FColumnsSortDirections;
|
||||||
OnDrawCell := Self.OnDrawCell;
|
|
||||||
|
|
||||||
ActiveColm := Self.ActiveColm;
|
ActiveColm := Self.ActiveColm;
|
||||||
ActiveColmSlave := nil;
|
ActiveColmSlave := nil;
|
||||||
|
|
@ -1121,16 +1121,6 @@ begin
|
||||||
Dec(Result.Last, dgPanel.FixedRows);
|
Dec(Result.Last, dgPanel.FixedRows);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TColumnsFileView.GetOnDrawCell: TFileViewOnDrawCell;
|
|
||||||
begin
|
|
||||||
Result:= dgPanel.OnDrawCell;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TColumnsFileView.SetOnDrawCell(OnDrawCell: TFileViewOnDrawCell);
|
|
||||||
begin
|
|
||||||
dgPanel.OnDrawCell:= OnDrawCell;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TColumnsFileView.GetColumnsClass: TPanelColumnsClass;
|
function TColumnsFileView.GetColumnsClass: TPanelColumnsClass;
|
||||||
begin
|
begin
|
||||||
if isSlave then
|
if isSlave then
|
||||||
|
|
@ -1141,17 +1131,13 @@ end;
|
||||||
|
|
||||||
function TColumnsFileView.GetFileIndexFromCursor(X, Y: Integer; out AtFileList: Boolean): PtrInt;
|
function TColumnsFileView.GetFileIndexFromCursor(X, Y: Integer; out AtFileList: Boolean): PtrInt;
|
||||||
var
|
var
|
||||||
bTemp: Boolean;
|
|
||||||
iRow, iCol: LongInt;
|
iRow, iCol: LongInt;
|
||||||
begin
|
begin
|
||||||
with dgPanel do
|
with dgPanel do
|
||||||
begin
|
begin
|
||||||
bTemp:= AllowOutboundEvents;
|
MouseToCellWithoutOutbound(X, Y, iCol, iRow);
|
||||||
AllowOutboundEvents:= False;
|
Result:= CellToIndex(iCol, iRow);
|
||||||
MouseToCell(X, Y, iCol, iRow);
|
AtFileList:= (Result >= 0);
|
||||||
AllowOutboundEvents:= bTemp;
|
|
||||||
Result:= IfThen(iRow < 0, InvalidFileIndex, iRow - FixedRows);
|
|
||||||
AtFileList := Y >= GetHeaderHeight;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -1424,7 +1410,7 @@ procedure TDrawGridEx.UpdateView;
|
||||||
OldFont := Canvas.Font;
|
OldFont := Canvas.Font;
|
||||||
Canvas.Font := Font;
|
Canvas.Font := Font;
|
||||||
SetCanvasFont(GetColumnFont(0, True));
|
SetCanvasFont(GetColumnFont(0, True));
|
||||||
Result := Canvas.TextHeight('Wg');
|
Result := self.calcTextHeight;
|
||||||
Canvas.Font := OldFont;
|
Canvas.Font := OldFont;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -1952,23 +1938,6 @@ var
|
||||||
aRect := CCell.Rect;
|
aRect := CCell.Rect;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure callFileSourceDrawCell;
|
|
||||||
var
|
|
||||||
handler: TFileSourceUIHandler;
|
|
||||||
begin
|
|
||||||
handler:= ColumnsView.FileSource.GetUIHandler;
|
|
||||||
if handler = nil then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
handler.draw( params );
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure callOnDrawCell;
|
|
||||||
begin
|
|
||||||
if Assigned(OnDrawCell) and not(CsDesigning in ComponentState) then
|
|
||||||
OnDrawCell(Self.ColumnsView,aCol,aRow,params.drawingRect,params.focused,AFile);
|
|
||||||
end;
|
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
//end of subprocedures
|
//end of subprocedures
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|
@ -1991,19 +1960,18 @@ begin
|
||||||
FileSourceDirectAccess := fspDirectAccess in ColumnsView.FileSource.Properties;
|
FileSourceDirectAccess := fspDirectAccess in ColumnsView.FileSource.Properties;
|
||||||
|
|
||||||
params:= Default( TFileSourceUIParams );
|
params:= Default( TFileSourceUIParams );
|
||||||
params.sender:= Self.ColumnsView;
|
|
||||||
params.fs:= Self.ColumnsView.FileSource;
|
|
||||||
params.multiColumns:= True;
|
|
||||||
params.col:= aCol;
|
params.col:= aCol;
|
||||||
params.row:= aRow;
|
params.row:= aRow;
|
||||||
params.displayFile:= aFile;
|
params.displayFile:= aFile;
|
||||||
|
params.drawingRect:= aRect;
|
||||||
|
params.focused:= (gdSelected in aState) and ColumnsView.Active;
|
||||||
|
|
||||||
if AFile.DisplayStrings.Count = 0 then
|
if AFile.DisplayStrings.Count = 0 then
|
||||||
ColumnsView.MakeColumnsStrings(AFile, ColumnsSet);
|
ColumnsView.MakeColumnsStrings(AFile, ColumnsSet);
|
||||||
|
|
||||||
PrepareColors;
|
PrepareColors;
|
||||||
|
|
||||||
iTextTop := aRect.Top + (aRect.Height - Canvas.TextHeight('Wg')) div 2;
|
iTextTop := aRect.Top + (aRect.Height - self.calcTextHeight) div 2;
|
||||||
|
|
||||||
if gExtendCellWidth then
|
if gExtendCellWidth then
|
||||||
DrawExtendedCells
|
DrawExtendedCells
|
||||||
|
|
@ -2015,10 +1983,7 @@ begin
|
||||||
DrawOtherCell;
|
DrawOtherCell;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
params.drawingRect:= aRect;
|
self.doCellEnhancedDraw( params );
|
||||||
params.focused:= (gdSelected in aState) and ColumnsView.Active;
|
|
||||||
callFileSourceDrawCell;
|
|
||||||
callOnDrawCell;
|
|
||||||
|
|
||||||
DrawCellGrid(aCol,aRow,aRect,aState);
|
DrawCellGrid(aCol,aRow,aRect,aState);
|
||||||
DrawLines;
|
DrawLines;
|
||||||
|
|
@ -2054,37 +2019,6 @@ var
|
||||||
FileSystem: String;
|
FileSystem: String;
|
||||||
Background: Boolean;
|
Background: Boolean;
|
||||||
|
|
||||||
procedure handleMBLeft;
|
|
||||||
var
|
|
||||||
handler: TFileSourceUIHandler;
|
|
||||||
params: TFileSourceUIParams;
|
|
||||||
begin
|
|
||||||
params:= Default( TFileSourceUIParams );
|
|
||||||
params.sender:= self.ColumnsView;
|
|
||||||
params.fs:= self.ColumnsView.FileSource;
|
|
||||||
params.multiColumns:= True;
|
|
||||||
|
|
||||||
handler:= params.fs.GetUIHandler;
|
|
||||||
if handler = nil then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
params.shift:= Shift;
|
|
||||||
params.x:= X;
|
|
||||||
params.y:= Y;
|
|
||||||
MouseToCell( X, Y, params.col, params.row );
|
|
||||||
if NOT self.IsRowIndexValid(params.row) then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
ColRowToOffset(True, True, params.col, params.drawingRect.Left, params.drawingRect.Right );
|
|
||||||
ColRowToOffset(False, True, params.row, params.drawingRect.Top, params.drawingRect.Bottom );
|
|
||||||
|
|
||||||
if params.row <= FixedRows then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
params.displayFile:= ColumnsView.FFiles[params.row - FixedRows];
|
|
||||||
handler.click( params );
|
|
||||||
end;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if ColumnsView.IsLoadingFileList then Exit;
|
if ColumnsView.IsLoadingFileList then Exit;
|
||||||
{$IFDEF LCLGTK2}
|
{$IFDEF LCLGTK2}
|
||||||
|
|
@ -2106,7 +2040,7 @@ begin
|
||||||
|
|
||||||
if Button = mbLeft then
|
if Button = mbLeft then
|
||||||
begin
|
begin
|
||||||
handleMBLeft;
|
self.doCellClick( Shift, X, Y );
|
||||||
end else if Button = mbRight then
|
end else if Button = mbRight then
|
||||||
begin
|
begin
|
||||||
{ If right click on header }
|
{ If right click on header }
|
||||||
|
|
@ -2238,18 +2172,6 @@ begin
|
||||||
if ColumnsView.IsMouseSelecting then DoMouseMoveScroll(X, Y);
|
if ColumnsView.IsMouseSelecting then DoMouseMoveScroll(X, Y);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDrawGridEx.MouseOnGrid(X, Y: LongInt): Boolean;
|
|
||||||
var
|
|
||||||
bTemp: Boolean;
|
|
||||||
iRow, iCol: LongInt;
|
|
||||||
begin
|
|
||||||
bTemp:= AllowOutboundEvents;
|
|
||||||
AllowOutboundEvents:= False;
|
|
||||||
MouseToCell(X, Y, iCol, iRow);
|
|
||||||
AllowOutboundEvents:= bTemp;
|
|
||||||
Result:= not ((iCol < 0) and (iRow < 0));
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TDrawGridEx.GetHeaderHeight: Integer;
|
function TDrawGridEx.GetHeaderHeight: Integer;
|
||||||
var
|
var
|
||||||
i : Integer;
|
i : Integer;
|
||||||
|
|
@ -2287,6 +2209,11 @@ begin
|
||||||
Options := Options - [goVertLine];
|
Options := Options - [goVertLine];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TDrawGridEx.getFileView: TFileView;
|
||||||
|
begin
|
||||||
|
Result:= self.ColumnsView;
|
||||||
|
end;
|
||||||
|
|
||||||
function TDrawGridEx.GetVisibleRows: TRange;
|
function TDrawGridEx.GetVisibleRows: TRange;
|
||||||
var
|
var
|
||||||
w: Integer;
|
w: Integer;
|
||||||
|
|
@ -2437,5 +2364,18 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TDrawGridEx.CellToIndex(ACol, ARow: Integer): Integer;
|
||||||
|
begin
|
||||||
|
Result:= -1;
|
||||||
|
if (ARow < 0) or (ARow >= RowCount) then
|
||||||
|
Exit;
|
||||||
|
Result:= ARow - FixedRows;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDrawGridEx.isMultiColumns: Boolean;
|
||||||
|
begin
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -518,7 +518,9 @@ type
|
||||||
var DropParams: TDropParams); virtual abstract;
|
var DropParams: TDropParams); virtual abstract;
|
||||||
|
|
||||||
procedure GoToHistoryIndex(aFileSourceIndex, aPathIndex: Integer);
|
procedure GoToHistoryIndex(aFileSourceIndex, aPathIndex: Integer);
|
||||||
|
function hasPrevHistory: Boolean;
|
||||||
procedure GoToPrevHistory;
|
procedure GoToPrevHistory;
|
||||||
|
function hasNextHistory: Boolean;
|
||||||
procedure GoToNextHistory;
|
procedure GoToNextHistory;
|
||||||
|
|
||||||
procedure SetDragCursor(Shift: TShiftState); virtual; abstract;
|
procedure SetDragCursor(Shift: TShiftState); virtual; abstract;
|
||||||
|
|
@ -1061,15 +1063,9 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TFileView.calcFileHashKey(const FileName, APath: String): String;
|
function TFileView.calcFileHashKey(const FileName, APath: String): String;
|
||||||
var
|
|
||||||
subPath: String;
|
|
||||||
begin
|
begin
|
||||||
if fspMounted in FileSource.GetProperties then begin
|
if FFlatView then begin
|
||||||
Result := ExcludeTrailingPathDelimiter( APath + FileName );
|
Result := ExcludeTrailingPathDelimiter( IncludeTrailingPathDelimiter(APath) + FileName );
|
||||||
end else if FFlatView then begin
|
|
||||||
subPath := APath.Substring( currentPath.Length );
|
|
||||||
if subPath<>EmptyStr then subPath := IncludeTrailingPathDelimiter(subPath);
|
|
||||||
Result := subPath + FileName;
|
|
||||||
end else begin
|
end else begin
|
||||||
Result := FileName;
|
Result := FileName;
|
||||||
end;
|
end;
|
||||||
|
|
@ -3595,6 +3591,15 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFileView.hasPrevHistory: Boolean;
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
if FHistory.CurrentPathIndex > 0 then
|
||||||
|
Result:= True
|
||||||
|
else if FHistory.CurrentFileSourceIndex > 0 then
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TFileView.GoToPrevHistory;
|
procedure TFileView.GoToPrevHistory;
|
||||||
var
|
var
|
||||||
aFileSourceIndex, aPathIndex: Integer;
|
aFileSourceIndex, aPathIndex: Integer;
|
||||||
|
|
@ -3615,6 +3620,17 @@ begin
|
||||||
GoToHistoryIndex(aFileSourceIndex, aPathIndex);
|
GoToHistoryIndex(aFileSourceIndex, aPathIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFileView.hasNextHistory: Boolean;
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
if FHistory.CurrentFileSourceIndex >= 0 then begin
|
||||||
|
if FHistory.CurrentPathIndex < FHistory.PathsCount[FHistory.CurrentFileSourceIndex] - 1 then
|
||||||
|
Result:= True
|
||||||
|
else if FHistory.CurrentFileSourceIndex < FHistory.Count - 1 then
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TFileView.GoToNextHistory;
|
procedure TFileView.GoToNextHistory;
|
||||||
var
|
var
|
||||||
aFileSourceIndex, aPathIndex: Integer;
|
aFileSourceIndex, aPathIndex: Integer;
|
||||||
|
|
|
||||||
143
src/fileviews/ufileviewbasegrid.pas
Normal file
143
src/fileviews/ufileviewbasegrid.pas
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
unit uFileViewBaseGrid;
|
||||||
|
|
||||||
|
{$mode ObjFPC}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils,
|
||||||
|
uFileSource, uFileView, uFileViewWithMainCtrl,
|
||||||
|
uSmoothScrollingGrid;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TFileViewBaseGrid }
|
||||||
|
|
||||||
|
TFileViewBaseGrid = class( TSmoothScrollingGrid )
|
||||||
|
protected
|
||||||
|
_onDrawCell: TFileViewOnDrawCell;
|
||||||
|
property OnDrawCell: TFileViewOnDrawCell read _onDrawCell write _onDrawCell;
|
||||||
|
protected
|
||||||
|
procedure doCellEnhancedDraw( var params: TFileSourceUIParams );
|
||||||
|
function doCellClick( const Shift: TShiftState; const X, Y: Integer ): Boolean;
|
||||||
|
protected
|
||||||
|
function getFileView: TFileView; virtual; abstract;
|
||||||
|
function isMultiColumns: Boolean; virtual;
|
||||||
|
function MouseOnGrid(X, Y: LongInt): Boolean;
|
||||||
|
procedure MouseToCellWithoutOutbound(X, Y: Integer; out ACol, ARow: Longint);
|
||||||
|
function ConvertToDecorationRect(const drawingRect: TRect): TRect; virtual;
|
||||||
|
function CellToIndex(ACol, ARow: Integer): Integer; virtual; abstract;
|
||||||
|
public
|
||||||
|
function calcTextHeight: Integer; inline;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TFileViewBaseGrid }
|
||||||
|
|
||||||
|
function TFileViewBaseGrid.doCellClick( const Shift: TShiftState; const X, Y: Integer ): Boolean;
|
||||||
|
var
|
||||||
|
fileView: TFileView;
|
||||||
|
handler: TFileSourceUIHandler;
|
||||||
|
params: TFileSourceUIParams;
|
||||||
|
index: Integer;
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
fileView:= self.getFileView;
|
||||||
|
|
||||||
|
params:= Default( TFileSourceUIParams );
|
||||||
|
params.sender:= fileView;
|
||||||
|
params.fs:= fileView.FileSource;
|
||||||
|
params.multiColumns:= self.isMultiColumns;
|
||||||
|
|
||||||
|
handler:= params.fs.GetUIHandler;
|
||||||
|
if handler = nil then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
params.shift:= Shift;
|
||||||
|
params.x:= X;
|
||||||
|
params.y:= Y;
|
||||||
|
self.MouseToCellWithoutOutbound( X, Y, params.col, params.row );
|
||||||
|
index:= self.CellToIndex( params.col, params.row );
|
||||||
|
if index < 0 then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
self.ColRowToOffset(True, True, params.col, params.drawingRect.Left, params.drawingRect.Right );
|
||||||
|
self.ColRowToOffset(False, True, params.row, params.drawingRect.Top, params.drawingRect.Bottom );
|
||||||
|
params.decorationRect:= self.ConvertToDecorationRect( params.drawingRect );
|
||||||
|
|
||||||
|
params.displayFile:= fileView.DisplayFiles[index];
|
||||||
|
Result:= handler.click( params );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFileViewBaseGrid.doCellEnhancedDraw( var params: TFileSourceUIParams );
|
||||||
|
|
||||||
|
procedure doFileSourceDrawCell( var params: TFileSourceUIParams );
|
||||||
|
var
|
||||||
|
handler: TFileSourceUIHandler;
|
||||||
|
begin
|
||||||
|
handler:= params.fs.GetUIHandler;
|
||||||
|
if handler = nil then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
handler.draw( params );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure doOnDrawCell( var params: TFileSourceUIParams );
|
||||||
|
begin
|
||||||
|
if Assigned(_onDrawCell) and not(CsDesigning in self.ComponentState) then
|
||||||
|
_onDrawCell( params );
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fileView: TFileView;
|
||||||
|
begin
|
||||||
|
fileView:= self.getFileView;
|
||||||
|
params.sender:= fileView;
|
||||||
|
params.fs:= fileView.FileSource;
|
||||||
|
params.multiColumns:= self.isMultiColumns;
|
||||||
|
params.decorationRect:= self.ConvertToDecorationRect( params.drawingRect );
|
||||||
|
doFileSourceDrawCell( params );
|
||||||
|
doOnDrawCell( params );
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFileViewBaseGrid.MouseOnGrid(X, Y: LongInt): Boolean;
|
||||||
|
var
|
||||||
|
bTemp: Boolean;
|
||||||
|
iRow, iCol: LongInt;
|
||||||
|
begin
|
||||||
|
bTemp:= AllowOutboundEvents;
|
||||||
|
AllowOutboundEvents:= False;
|
||||||
|
MouseToCell(X, Y, iCol, iRow);
|
||||||
|
AllowOutboundEvents:= bTemp;
|
||||||
|
Result:= not (CellToIndex(iCol, iRow) < 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFileViewBaseGrid.MouseToCellWithoutOutbound(X, Y: Integer; out ACol,
|
||||||
|
ARow: Longint);
|
||||||
|
var
|
||||||
|
bTemp: Boolean;
|
||||||
|
begin
|
||||||
|
bTemp:= AllowOutboundEvents;
|
||||||
|
AllowOutboundEvents:= False;
|
||||||
|
MouseToCell(X, Y, ACol, ARow);
|
||||||
|
AllowOutboundEvents:= bTemp;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFileViewBaseGrid.ConvertToDecorationRect(const drawingRect: TRect ): TRect;
|
||||||
|
begin
|
||||||
|
Result:= drawingRect;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFileViewBaseGrid.calcTextHeight: Integer;
|
||||||
|
begin
|
||||||
|
Result:= self.Canvas.TextHeight('Wg');
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFileViewBaseGrid.isMultiColumns: Boolean;
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
|
|
@ -8,7 +8,7 @@ uses
|
||||||
Classes, SysUtils, Controls, Grids, Graphics, StdCtrls, LCLVersion,
|
Classes, SysUtils, Controls, Grids, Graphics, StdCtrls, LCLVersion,
|
||||||
uDisplayFile, DCXmlConfig, uFileSorting, uFileProperty,
|
uDisplayFile, DCXmlConfig, uFileSorting, uFileProperty,
|
||||||
uFileViewWithMainCtrl, uFile, uFileViewHeader, uFileView, uFileSource,
|
uFileViewWithMainCtrl, uFile, uFileViewHeader, uFileView, uFileSource,
|
||||||
uSmoothScrollingGrid;
|
uFileViewBaseGrid;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
|
@ -16,12 +16,13 @@ type
|
||||||
|
|
||||||
{ TFileViewGrid }
|
{ TFileViewGrid }
|
||||||
|
|
||||||
TFileViewGrid = class(TSmoothScrollingGrid)
|
TFileViewGrid = class(TFileViewBaseGrid)
|
||||||
protected
|
protected
|
||||||
FLastMouseMoveTime: QWord;
|
FLastMouseMoveTime: QWord;
|
||||||
FLastMouseScrollTime: QWord;
|
FLastMouseScrollTime: QWord;
|
||||||
FFileView: TFileViewWithGrid;
|
FFileView: TFileViewWithGrid;
|
||||||
protected
|
protected
|
||||||
|
function getFileView: TFileView; override;
|
||||||
procedure Scroll(Message: Cardinal; ScrollCode: SmallInt);
|
procedure Scroll(Message: Cardinal; ScrollCode: SmallInt);
|
||||||
{$IF lcl_fullversion < 1080003}
|
{$IF lcl_fullversion < 1080003}
|
||||||
function SelectCell(aCol, aRow: Integer): Boolean; override;
|
function SelectCell(aCol, aRow: Integer): Boolean; override;
|
||||||
|
|
@ -30,7 +31,6 @@ type
|
||||||
procedure ColWidthsChanged; override;
|
procedure ColWidthsChanged; override;
|
||||||
procedure FinalizeWnd; override;
|
procedure FinalizeWnd; override;
|
||||||
procedure InitializeWnd; override;
|
procedure InitializeWnd; override;
|
||||||
function MouseOnGrid(X, Y: LongInt): Boolean;
|
|
||||||
procedure DoOnResize; override;
|
procedure DoOnResize; override;
|
||||||
procedure DragCanceled; override;
|
procedure DragCanceled; override;
|
||||||
procedure KeyDown(var Key : Word; Shift : TShiftState); override;
|
procedure KeyDown(var Key : Word; Shift : TShiftState); override;
|
||||||
|
|
@ -51,7 +51,6 @@ type
|
||||||
{$endif}
|
{$endif}
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; virtual;
|
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; virtual;
|
||||||
function CellToIndex(ACol, ARow: Integer): Integer; virtual; abstract;
|
|
||||||
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); virtual; abstract;
|
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); virtual; abstract;
|
||||||
property BorderWidth: Integer read GetBorderWidth;
|
property BorderWidth: Integer read GetBorderWidth;
|
||||||
end;
|
end;
|
||||||
|
|
@ -209,6 +208,11 @@ begin
|
||||||
inherited KeyDown(Key, Shift);
|
inherited KeyDown(Key, Shift);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFileViewGrid.getFileView: TFileView;
|
||||||
|
begin
|
||||||
|
Result:= self.FFileView;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TFileViewGrid.Scroll(Message: Cardinal; ScrollCode: SmallInt);
|
procedure TFileViewGrid.Scroll(Message: Cardinal; ScrollCode: SmallInt);
|
||||||
var
|
var
|
||||||
Msg: TLMScroll;
|
Msg: TLMScroll;
|
||||||
|
|
@ -246,18 +250,6 @@ begin
|
||||||
CalculateColRowCount;
|
CalculateColRowCount;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TFileViewGrid.MouseOnGrid(X, Y: LongInt): Boolean;
|
|
||||||
var
|
|
||||||
bTemp: Boolean;
|
|
||||||
iRow, iCol: LongInt;
|
|
||||||
begin
|
|
||||||
bTemp:= AllowOutboundEvents;
|
|
||||||
AllowOutboundEvents:= False;
|
|
||||||
MouseToCell(X, Y, iCol, iRow);
|
|
||||||
AllowOutboundEvents:= bTemp;
|
|
||||||
Result:= not (CellToIndex(iCol, iRow) < 0);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TFileViewGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
|
procedure TFileViewGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
|
||||||
Y: Integer);
|
Y: Integer);
|
||||||
begin
|
begin
|
||||||
|
|
@ -671,17 +663,13 @@ end;
|
||||||
|
|
||||||
function TFileViewWithGrid.GetFileIndexFromCursor(X, Y: Integer; out AtFileList: Boolean): PtrInt;
|
function TFileViewWithGrid.GetFileIndexFromCursor(X, Y: Integer; out AtFileList: Boolean): PtrInt;
|
||||||
var
|
var
|
||||||
bTemp: Boolean;
|
|
||||||
iRow, iCol: LongInt;
|
iRow, iCol: LongInt;
|
||||||
begin
|
begin
|
||||||
with dgPanel do
|
with dgPanel do
|
||||||
begin
|
begin
|
||||||
bTemp:= AllowOutboundEvents;
|
MouseToCellWithoutOutbound(X, Y, iCol, iRow);
|
||||||
AllowOutboundEvents:= False;
|
|
||||||
MouseToCell(X, Y, iCol, iRow);
|
|
||||||
AllowOutboundEvents:= bTemp;
|
|
||||||
Result:= CellToIndex(iCol, iRow);
|
Result:= CellToIndex(iCol, iRow);
|
||||||
AtFileList := True; // Always at file list because header in dgPanel not used
|
AtFileList:= (Result >= 0);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ uses
|
||||||
uFile, uDisplayFile,
|
uFile, uDisplayFile,
|
||||||
uFileViewWorker,
|
uFileViewWorker,
|
||||||
uOrderedFileView,
|
uOrderedFileView,
|
||||||
|
uFileSource,
|
||||||
uFileView,
|
uFileView,
|
||||||
uDragDropEx,
|
uDragDropEx,
|
||||||
uFileViewNotebook,
|
uFileViewNotebook,
|
||||||
|
|
@ -40,8 +41,7 @@ uses
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
TFileViewOnDrawCell = procedure(Sender: TFileView; aCol, aRow: Integer;
|
TFileViewOnDrawCell = procedure( var params: TFileSourceUIParams ) of object;
|
||||||
aRect: TRect; focused: Boolean; aFile: TDisplayFile) of object;
|
|
||||||
|
|
||||||
TRenameFileActionType=(rfatName,rfatExt,rfatFull,rfatToSeparators,rfatNextSeparated);
|
TRenameFileActionType=(rfatName,rfatExt,rfatFull,rfatToSeparators,rfatNextSeparated);
|
||||||
|
|
||||||
|
|
@ -239,7 +239,7 @@ uses
|
||||||
GTK2Globals, // for DblClickTime
|
GTK2Globals, // for DblClickTime
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
LCLIntf, LCLProc, LazUTF8, Forms, Dialogs, Buttons, DCOSUtils, DCStrUtils,
|
LCLIntf, LCLProc, LazUTF8, Forms, Dialogs, Buttons, DCOSUtils, DCStrUtils,
|
||||||
fMain, uShowMsg, uLng, uFileProperty, uFileSource, uFileSourceOperationTypes,
|
fMain, uShowMsg, uLng, uFileProperty, uFileSourceOperationTypes,
|
||||||
uGlobs, uInfoToolTip, uFileSystemFileSource, uFileSourceUtil,
|
uGlobs, uInfoToolTip, uFileSystemFileSource, uFileSourceUtil,
|
||||||
uArchiveFileSourceUtil, uFormCommands, uKeyboard, uFileSourceSetFilePropertyOperation,
|
uArchiveFileSourceUtil, uFormCommands, uKeyboard, uFileSourceSetFilePropertyOperation,
|
||||||
uFileSystemWatcher;
|
uFileSystemWatcher;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,11 @@ interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Controls, Grids, Types, DCXmlConfig, uFileSource, uOrderedFileView,
|
Classes, SysUtils, Controls, Grids, Types, DCXmlConfig, uFileSource, uOrderedFileView,
|
||||||
uDisplayFile, uFileViewWorker, uThumbnails, uFileView, uTypes, uFileViewWithGrid,
|
uDisplayFile, uFileViewWorker, uThumbnails, uFileView, uTypes,
|
||||||
|
uFileViewWithMainCtrl, uFileViewWithGrid,
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
uDarwinFileView,
|
||||||
|
{$ENDIF}
|
||||||
uFileProperty, uFile;
|
uFileProperty, uFile;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
@ -58,6 +62,7 @@ type
|
||||||
FUpdateColCount: Integer;
|
FUpdateColCount: Integer;
|
||||||
protected
|
protected
|
||||||
procedure KeyDown(var Key : Word; Shift : TShiftState); override;
|
procedure KeyDown(var Key : Word; Shift : TShiftState); override;
|
||||||
|
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||||
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
|
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
|
||||||
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||||
procedure DragOver(Source: TObject; X,Y: Integer; State: TDragState; var Accept: Boolean); override;
|
procedure DragOver(Source: TObject; X,Y: Integer; State: TDragState; var Accept: Boolean); override;
|
||||||
|
|
@ -71,6 +76,8 @@ type
|
||||||
function CellToIndex(ACol, ARow: Integer): Integer; override;
|
function CellToIndex(ACol, ARow: Integer): Integer; override;
|
||||||
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); override;
|
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); override;
|
||||||
procedure DrawCell(aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState); override;
|
procedure DrawCell(aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState); override;
|
||||||
|
|
||||||
|
function ConvertToDecorationRect(const drawingRect: TRect): TRect; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -254,6 +261,14 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TThumbDrawGrid.MouseUp(Button: TMouseButton; Shift: TShiftState; X,
|
||||||
|
Y: Integer);
|
||||||
|
begin
|
||||||
|
if Button = mbLeft then
|
||||||
|
self.doCellClick( Shift, X, Y );
|
||||||
|
inherited MouseUp(Button, Shift, X, Y);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TThumbDrawGrid.MouseMove(Shift: TShiftState; X, Y: Integer);
|
procedure TThumbDrawGrid.MouseMove(Shift: TShiftState; X, Y: Integer);
|
||||||
begin
|
begin
|
||||||
inherited MouseMove(Shift, X, Y);
|
inherited MouseMove(Shift, X, Y);
|
||||||
|
|
@ -462,12 +477,13 @@ var
|
||||||
//shared variables
|
//shared variables
|
||||||
AFile: TDisplayFile;
|
AFile: TDisplayFile;
|
||||||
FileSourceDirectAccess: Boolean;
|
FileSourceDirectAccess: Boolean;
|
||||||
|
params: TFileSourceUIParams;
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
//begin subprocedures
|
//begin subprocedures
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|
||||||
procedure DrawIconCell(aRect: TRect);
|
procedure DrawIconCell;
|
||||||
var
|
var
|
||||||
factor: Double;
|
factor: Double;
|
||||||
IconRect: TRect;
|
IconRect: TRect;
|
||||||
|
|
@ -478,9 +494,11 @@ var
|
||||||
s: string;
|
s: string;
|
||||||
IconID: PtrInt;
|
IconID: PtrInt;
|
||||||
Bitmap: TBitmap;
|
Bitmap: TBitmap;
|
||||||
|
aRect: TRect;
|
||||||
begin
|
begin
|
||||||
factor:= self.GetCanvasScaleFactor;
|
factor:= self.GetCanvasScaleFactor;
|
||||||
iTextTop := aRect.Bottom - Canvas.TextHeight('Wg');
|
aRect:= params.drawingRect;
|
||||||
|
iTextTop:= aRect.Bottom - self.calcTextHeight;
|
||||||
|
|
||||||
IconID := AFile.Tag;
|
IconID := AFile.Tag;
|
||||||
|
|
||||||
|
|
@ -536,16 +554,28 @@ begin
|
||||||
begin
|
begin
|
||||||
AFile:= FThumbView.FFiles[Idx];
|
AFile:= FThumbView.FFiles[Idx];
|
||||||
FileSourceDirectAccess:= fspDirectAccess in FFileView.FileSource.Properties;
|
FileSourceDirectAccess:= fspDirectAccess in FFileView.FileSource.Properties;
|
||||||
|
|
||||||
|
params:= Default( TFileSourceUIParams );
|
||||||
|
params.col:= aCol;
|
||||||
|
params.row:= aRow;
|
||||||
|
params.displayFile:= aFile;
|
||||||
|
params.focused:= (gdSelected in aState) and FThumbView.Active;
|
||||||
|
|
||||||
if AFile.DisplayStrings.Count = 0 then
|
if AFile.DisplayStrings.Count = 0 then
|
||||||
FThumbView.MakeColumnsStrings(AFile);
|
FThumbView.MakeColumnsStrings(AFile);
|
||||||
|
|
||||||
PrepareColors(AFile, aCol, aRow, aRect, aState);
|
PrepareColors(AFile, aCol, aRow, aRect, aState);
|
||||||
|
|
||||||
if gUseFrameCursor then
|
if gUseFrameCursor then begin
|
||||||
DrawIconCell(Rect(aRect.Left + gBorderFrameWidth - 1, aRect.Top + gBorderFrameWidth - 1,
|
params.drawingRect:=
|
||||||
aRect.Right - gBorderFrameWidth + 1, aRect.Bottom - gBorderFrameWidth + 1))
|
Rect(aRect.Left + gBorderFrameWidth - 1, aRect.Top + gBorderFrameWidth - 1,
|
||||||
else
|
aRect.Right - gBorderFrameWidth + 1, aRect.Bottom - gBorderFrameWidth + 1);
|
||||||
DrawIconCell(aRect);
|
end else begin
|
||||||
|
params.drawingRect:= aRect;
|
||||||
|
end;
|
||||||
|
|
||||||
|
DrawIconCell;
|
||||||
|
self.doCellEnhancedDraw( params );
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
|
@ -558,6 +588,16 @@ begin
|
||||||
DrawLines(Idx, aCol, aRow, aRect, aState);
|
DrawLines(Idx, aCol, aRow, aRect, aState);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TThumbDrawGrid.ConvertToDecorationRect(const drawingRect: TRect): TRect;
|
||||||
|
var
|
||||||
|
iTextTop: Integer;
|
||||||
|
begin
|
||||||
|
iTextTop:= drawingRect.Bottom - self.calcTextHeight;
|
||||||
|
Result:= drawingRect;
|
||||||
|
Result.Bottom:= iTextTop - 1;
|
||||||
|
Result.Top:= iTextTop - 24;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TThumbFileView }
|
{ TThumbFileView }
|
||||||
|
|
||||||
procedure TThumbFileView.ThumbnailsRetrieverOnAbort(AStart: Integer;
|
procedure TThumbFileView.ThumbnailsRetrieverOnAbort(AStart: Integer;
|
||||||
|
|
@ -610,6 +650,10 @@ begin
|
||||||
tmMouseScroll.Interval := 200;
|
tmMouseScroll.Interval := 200;
|
||||||
FBitmapList:= TBitmapList.Create(True);
|
FBitmapList:= TBitmapList.Create(True);
|
||||||
FThumbnailManager:= TThumbnailManager.Create(self, gColors.FilePanel^.BackColor);
|
FThumbnailManager:= TThumbnailManager.Create(self, gColors.FilePanel^.BackColor);
|
||||||
|
|
||||||
|
{$IFDEF DARWIN}
|
||||||
|
TThumbDrawGrid(dgPanel).OnDrawCell:= @darwinFileViewDrawHandler.onDrawCell;
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TThumbFileView.AfterChangePath;
|
procedure TThumbFileView.AfterChangePath;
|
||||||
|
|
@ -735,7 +779,7 @@ begin
|
||||||
inherited UpdateRenameFileEditPosition;
|
inherited UpdateRenameFileEditPosition;
|
||||||
|
|
||||||
ARect := dgPanel.CellRect(dgPanel.Col, dgPanel.Row);
|
ARect := dgPanel.CellRect(dgPanel.Col, dgPanel.Row);
|
||||||
ARect.Top := ARect.Bottom - dgPanel.Canvas.TextHeight('Wg') - 4;
|
ARect.Top := ARect.Bottom - dgPanel.calcTextHeight - 4;
|
||||||
|
|
||||||
if gInplaceRenameButton and (ARect.Right + edtRename.ButtonWidth < dgPanel.ClientWidth) then
|
if gInplaceRenameButton and (ARect.Right + edtRename.ButtonWidth < dgPanel.ClientWidth) then
|
||||||
Inc(ARect.Right, edtRename.ButtonWidth);
|
Inc(ARect.Right, edtRename.ButtonWidth);
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,8 @@ uses
|
||||||
, Glib2, Gtk2
|
, Glib2, Gtk2
|
||||||
{$ELSEIF DEFINED(DARWIN)}
|
{$ELSEIF DEFINED(DARWIN)}
|
||||||
, CocoaConfig
|
, CocoaConfig
|
||||||
, uMyDarwin
|
, uDarwinApplication
|
||||||
|
, uDarwinFileView
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
, Types, LMessages;
|
, Types, LMessages;
|
||||||
|
|
||||||
|
|
@ -896,7 +897,6 @@ type
|
||||||
procedure OnNSServiceOpenWithNewTab( filenames:TStringList );
|
procedure OnNSServiceOpenWithNewTab( filenames:TStringList );
|
||||||
function NSServiceMenuIsReady(): boolean;
|
function NSServiceMenuIsReady(): boolean;
|
||||||
function NSServiceMenuGetFilenames(): TStringArray;
|
function NSServiceMenuGetFilenames(): TStringArray;
|
||||||
procedure NSThemeChangedHandler();
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
procedure LoadWindowState;
|
procedure LoadWindowState;
|
||||||
procedure SaveWindowState;
|
procedure SaveWindowState;
|
||||||
|
|
@ -1257,8 +1257,8 @@ begin
|
||||||
ThemeServices.OnThemeChange:= @AppThemeChange;
|
ThemeServices.OnThemeChange:= @AppThemeChange;
|
||||||
|
|
||||||
{$IF DEFINED(DARWIN)}
|
{$IF DEFINED(DARWIN)}
|
||||||
InitNSServiceProvider( @OnNSServiceOpenWithNewTab, @NSServiceMenuIsReady, @NSServiceMenuGetFilenames );
|
TDarwinApplicationUtil.initServiceProvider( @OnNSServiceOpenWithNewTab, @NSServiceMenuIsReady, @NSServiceMenuGetFilenames );
|
||||||
InitNSThemeChangedObserver( @NSThemeChangedHandler );
|
TDarwinFileViewUtil.init( @ActiveNotebook, @ActiveFrame );
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -2962,7 +2962,7 @@ constructor TfrmMain.Create(TheOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
CocoaConfigMenu.appMenu.aboutItem:= mnuHelpAbout;
|
CocoaConfigMenu.appMenu.aboutItem:= mnuHelpAbout;
|
||||||
CocoaConfigMenu.appMenu.preferencesItem:= mnuConfigOptions;
|
CocoaConfigMenu.appMenu.preferencesItem:= mnuConfigOptions;
|
||||||
CocoaConfigMenu.appMenu.onCreate:= @onMainMenuCreate;
|
CocoaConfigMenu.appMenu.onCreate:= @darwinOnMainMenuCreate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure setMacOSDockMenu();
|
procedure setMacOSDockMenu();
|
||||||
|
|
@ -4822,6 +4822,9 @@ begin
|
||||||
ANoteBook.Hint := FileView.CurrentPath;
|
ANoteBook.Hint := FileView.CurrentPath;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
if Assigned(onFileViewUpdated) then
|
||||||
|
onFileViewUpdated(FileView);
|
||||||
|
|
||||||
{if (fspDirectAccess in FileView.FileSource.GetProperties) then
|
{if (fspDirectAccess in FileView.FileSource.GetProperties) then
|
||||||
begin
|
begin
|
||||||
if gTermWindow and Assigned(Cons) then
|
if gTermWindow and Assigned(Cons) then
|
||||||
|
|
@ -4966,16 +4969,16 @@ end;
|
||||||
|
|
||||||
function CompareDrives(Item1, Item2: Pointer): Integer;
|
function CompareDrives(Item1, Item2: Pointer): Integer;
|
||||||
var
|
var
|
||||||
driver1: PDrive absolute Item1;
|
drive1: PDrive absolute Item1;
|
||||||
driver2: PDrive absolute Item2;
|
drive2: PDrive absolute Item2;
|
||||||
begin
|
begin
|
||||||
if driver1 = driver2 then
|
if drive1 = drive2 then
|
||||||
Exit(0);
|
Exit(0);
|
||||||
if driver1^.Path = PathDelim then
|
if drive1^.Path = PathDelim then
|
||||||
Exit(-1);
|
Exit(-1);
|
||||||
if driver2^.Path = PathDelim then
|
if drive2^.Path = PathDelim then
|
||||||
Exit(1);
|
Exit(1);
|
||||||
Result := CompareText(driver1^.DisplayName, driver2^.DisplayName);
|
Result := CompareText(drive1^.DisplayName, drive2^.DisplayName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmMain.UpdateDiskCount;
|
procedure TfrmMain.UpdateDiskCount;
|
||||||
|
|
@ -5149,14 +5152,8 @@ begin
|
||||||
FileViewFlags := [fvfDelayLoadingFiles];
|
FileViewFlags := [fvfDelayLoadingFiles];
|
||||||
if sType = 'columns' then begin
|
if sType = 'columns' then begin
|
||||||
Result := TColumnsFileView.Create(Page, AConfig, ANode, FileViewFlags);
|
Result := TColumnsFileView.Create(Page, AConfig, ANode, FileViewFlags);
|
||||||
{$IFDEF DARWIN}
|
|
||||||
TColumnsFileView(Result).OnDrawCell:= @DarwinFileViewDrawHelper.OnDrawCell;
|
|
||||||
{$ENDIF}
|
|
||||||
end else if sType = 'brief' then begin
|
end else if sType = 'brief' then begin
|
||||||
Result := TBriefFileView.Create(Page, AConfig, ANode, FileViewFlags);
|
Result := TBriefFileView.Create(Page, AConfig, ANode, FileViewFlags);
|
||||||
{$IFDEF DARWIN}
|
|
||||||
TBriefFileView(Result).OnDrawCell:= @DarwinFileViewDrawHelper.OnDrawCell;
|
|
||||||
{$ENDIF}
|
|
||||||
end else if sType = 'thumbnails' then
|
end else if sType = 'thumbnails' then
|
||||||
Result := TThumbFileView.Create(Page, AConfig, ANode, FileViewFlags)
|
Result := TThumbFileView.Create(Page, AConfig, ANode, FileViewFlags)
|
||||||
else begin
|
else begin
|
||||||
|
|
@ -6404,11 +6401,6 @@ begin
|
||||||
FreeAndNil( files );
|
FreeAndNil( files );
|
||||||
Result:= filenames;
|
Result:= filenames;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmMain.NSThemeChangedHandler;
|
|
||||||
begin
|
|
||||||
ThemeServices.IntfDoOnThemeChange;
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
procedure TfrmMain.LoadWindowState;
|
procedure TfrmMain.LoadWindowState;
|
||||||
|
|
@ -6565,7 +6557,8 @@ begin
|
||||||
if Pos(Address, DrivesList[I]^.Path) = 1 then
|
if Pos(Address, DrivesList[I]^.Path) = 1 then
|
||||||
Exit(I);
|
Exit(I);
|
||||||
end
|
end
|
||||||
else begin
|
else if (DrivesList[I]^.DriveType <> dtSpecial) and Address.IsEmpty then
|
||||||
|
begin
|
||||||
DrivePath := UTF8UpperCase(DrivesList[I]^.Path);
|
DrivePath := UTF8UpperCase(DrivesList[I]^.Path);
|
||||||
DrivePathLen := UTF8Length(DrivePath);
|
DrivePathLen := UTF8Length(DrivePath);
|
||||||
if (DrivePathLen > LongestPathLen) and IsInPath(DrivePath, Path, True, True) then
|
if (DrivePathLen > LongestPathLen) and IsInPath(DrivePath, Path, True, True) then
|
||||||
|
|
@ -7370,7 +7363,7 @@ end;
|
||||||
|
|
||||||
procedure TfrmMain.OpenNewWindow(Sender: TObject);
|
procedure TfrmMain.OpenNewWindow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
uMyDarwin.openNewInstance;
|
TDarwinApplicationUtil.openNewInstance;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Width = 480
|
Width = 480
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BorderStyle = bsDialog
|
BorderStyle = bsDialog
|
||||||
Caption = 'Create Master Key'
|
Caption = 'Create Key'
|
||||||
ChildSizing.LeftRightSpacing = 12
|
ChildSizing.LeftRightSpacing = 12
|
||||||
ChildSizing.TopBottomSpacing = 12
|
ChildSizing.TopBottomSpacing = 12
|
||||||
ClientHeight = 494
|
ClientHeight = 494
|
||||||
|
|
@ -26,7 +26,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BorderSpacing.Top = 12
|
BorderSpacing.Top = 12
|
||||||
Caption = 'Master key'
|
Caption = 'Main Password'
|
||||||
ChildSizing.LeftRightSpacing = 12
|
ChildSizing.LeftRightSpacing = 12
|
||||||
ChildSizing.TopBottomSpacing = 10
|
ChildSizing.TopBottomSpacing = 10
|
||||||
ChildSizing.VerticalSpacing = 6
|
ChildSizing.VerticalSpacing = 6
|
||||||
|
|
@ -42,7 +42,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 10
|
Top = 10
|
||||||
Width = 243
|
Width = 243
|
||||||
Caption = 'Master pass&word:'
|
Caption = 'Pass&word:'
|
||||||
end
|
end
|
||||||
object edtPassword: TEdit
|
object edtPassword: TEdit
|
||||||
Left = 255
|
Left = 255
|
||||||
|
|
@ -84,6 +84,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Width = 456
|
Width = 456
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
|
BorderSpacing.Top = 6
|
||||||
Caption = 'Key transformation'
|
Caption = 'Key transformation'
|
||||||
ChildSizing.LeftRightSpacing = 12
|
ChildSizing.LeftRightSpacing = 12
|
||||||
ChildSizing.TopBottomSpacing = 12
|
ChildSizing.TopBottomSpacing = 12
|
||||||
|
|
@ -100,7 +101,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Top = 12
|
Top = 12
|
||||||
Width = 428
|
Width = 428
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
Caption = 'The master key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder.'
|
Caption = 'The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder.'
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
object pnlKeyTransform: TPanel
|
object pnlKeyTransform: TPanel
|
||||||
|
|
@ -144,7 +145,6 @@ object frmMasterKey: TfrmMasterKey
|
||||||
)
|
)
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
Text = 'Argon2d'
|
|
||||||
end
|
end
|
||||||
object lblIterations: TLabel
|
object lblIterations: TLabel
|
||||||
Left = 0
|
Left = 0
|
||||||
|
|
@ -159,7 +159,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Top = 49
|
Top = 49
|
||||||
Width = 161
|
Width = 161
|
||||||
MaxValue = 64
|
MaxValue = 64
|
||||||
MinValue = 2
|
MinValue = 1
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
Value = 4
|
Value = 4
|
||||||
end
|
end
|
||||||
|
|
@ -185,7 +185,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 65
|
Width = 65
|
||||||
MaxValue = 1024
|
MaxValue = 2048
|
||||||
MinValue = 64
|
MinValue = 64
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
Value = 64
|
Value = 64
|
||||||
|
|
@ -260,7 +260,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
Height = 17
|
Height = 17
|
||||||
Top = 12
|
Top = 12
|
||||||
Width = 441
|
Width = 441
|
||||||
Caption = 'Specify a new master key, which will be used to encrypt the password store.'
|
Caption = 'Specify a new key, which will be used to encrypt the password store.'
|
||||||
end
|
end
|
||||||
object pnlButtons: TButtonPanel
|
object pnlButtons: TButtonPanel
|
||||||
AnchorSideTop.Control = gbKeyTransform
|
AnchorSideTop.Control = gbKeyTransform
|
||||||
|
|
@ -275,6 +275,7 @@ object frmMasterKey: TfrmMasterKey
|
||||||
OKButton.Name = 'OKButton'
|
OKButton.Name = 'OKButton'
|
||||||
OKButton.DefaultCaption = True
|
OKButton.DefaultCaption = True
|
||||||
OKButton.Enabled = False
|
OKButton.Enabled = False
|
||||||
|
OKButton.OnClick = OKButtonClick
|
||||||
HelpButton.Name = 'HelpButton'
|
HelpButton.Name = 'HelpButton'
|
||||||
HelpButton.DefaultCaption = True
|
HelpButton.DefaultCaption = True
|
||||||
CloseButton.Name = 'CloseButton'
|
CloseButton.Name = 'CloseButton'
|
||||||
|
|
|
||||||
16
src/fmasterkey.lrj
Normal file
16
src/fmasterkey.lrj
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{"version":1,"strings":[
|
||||||
|
{"hash":144963961,"name":"tfrmmasterkey.caption","sourcebytes":[67,114,101,97,116,101,32,75,101,121],"value":"Create Key"},
|
||||||
|
{"hash":187360180,"name":"tfrmmasterkey.gbmasterkey.caption","sourcebytes":[77,97,105,110,32,80,97,115,115,119,111,114,100],"value":"Main Password"},
|
||||||
|
{"hash":98107610,"name":"tfrmmasterkey.lblpassword.caption","sourcebytes":[80,97,115,115,38,119,111,114,100,58],"value":"Pass&word:"},
|
||||||
|
{"hash":16880282,"name":"tfrmmasterkey.lblrepeat.caption","sourcebytes":[38,82,101,112,101,97,116,32,112,97,115,115,119,111,114,100,58],"value":"&Repeat password:"},
|
||||||
|
{"hash":104957070,"name":"tfrmmasterkey.gbkeytransform.caption","sourcebytes":[75,101,121,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110],"value":"Key transformation"},
|
||||||
|
{"hash":14598126,"name":"tfrmmasterkey.lblheader.caption","sourcebytes":[84,104,101,32,107,101,121,32,105,115,32,116,114,97,110,115,102,111,114,109,101,100,32,117,115,105,110,103,32,97,32,107,101,121,32,100,101,114,105,118,97,116,105,111,110,32,102,117,110,99,116,105,111,110,46,32,84,104,105,115,32,97,100,100,115,32,97,32,119,111,114,107,32,102,97,99,116,111,114,32,97,110,100,32,109,97,107,101,115,32,100,105,99,116,105,111,110,97,114,121,32,97,110,100,32,103,117,101,115,115,105,110,103,32,97,116,116,97,99,107,115,32,104,97,114,100,101,114,46],"value":"The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."},
|
||||||
|
{"hash":245823418,"name":"tfrmmasterkey.lblfunction.caption","sourcebytes":[38,75,101,121,32,100,101,114,105,118,97,116,105,111,110,32,102,117,110,99,116,105,111,110,58],"value":"&Key derivation function:"},
|
||||||
|
{"hash":169937386,"name":"tfrmmasterkey.lbliterations.caption","sourcebytes":[38,73,116,101,114,97,116,105,111,110,115,58],"value":"&Iterations:"},
|
||||||
|
{"hash":63204218,"name":"tfrmmasterkey.lblmemory.caption","sourcebytes":[38,77,101,109,111,114,121,58],"value":"&Memory:"},
|
||||||
|
{"hash":1298,"name":"tfrmmasterkey.lblunit.caption","sourcebytes":[77,66],"value":"MB"},
|
||||||
|
{"hash":166429210,"name":"tfrmmasterkey.lblparallelism.caption","sourcebytes":[38,80,97,114,97,108,108,101,108,105,115,109,58],"value":"&Parallelism:"},
|
||||||
|
{"hash":81675854,"name":"tfrmmasterkey.lblfooter.caption","sourcebytes":[84,104,101,32,109,111,114,101,32,105,116,101,114,97,116,105,111,110,115,44,32,116,104,101,32,104,97,114,100,101,114,32,97,114,101,32,100,105,99,116,105,111,110,97,114,121,32,97,110,100,32,103,117,101,115,115,105,110,103,32,97,116,116,97,99,107,115,44,32,98,117,116,32,97,108,115,111,32,112,97,115,115,119,111,114,100,32,115,116,111,114,101,32,108,111,97,100,105,110,103,47,115,97,118,105,110,103,32,116,97,107,101,115,32,109,111,114,101,32,116,105,109,101,46],"value":"The more iterations, the harder are dictionary and guessing attacks, but also password store loading/saving takes more time."},
|
||||||
|
{"hash":371876,"name":"tfrmmasterkey.btntest.caption","sourcebytes":[84,101,115,116],"value":"Test"},
|
||||||
|
{"hash":181307342,"name":"tfrmmasterkey.lbltext.caption","sourcebytes":[83,112,101,99,105,102,121,32,97,32,110,101,119,32,107,101,121,44,32,119,104,105,99,104,32,119,105,108,108,32,98,101,32,117,115,101,100,32,116,111,32,101,110,99,114,121,112,116,32,116,104,101,32,112,97,115,115,119,111,114,100,32,115,116,111,114,101,46],"value":"Specify a new key, which will be used to encrypt the password store."}
|
||||||
|
]}
|
||||||
|
|
@ -37,9 +37,13 @@ type
|
||||||
pnlMemory: TPanel;
|
pnlMemory: TPanel;
|
||||||
procedure btnTestClick(Sender: TObject);
|
procedure btnTestClick(Sender: TObject);
|
||||||
procedure edtPasswordChange(Sender: TObject);
|
procedure edtPasswordChange(Sender: TObject);
|
||||||
|
procedure OKButtonClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
FTest: Boolean;
|
||||||
|
function Test(Finish: Boolean): Boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function CreateMasterKey(Short: Boolean; out Password: String; out ArgonType: Targon2_type; var M: UInt32; var T, P: UInt16): Boolean;
|
function CreateMasterKey(Short: Boolean; out Password: String; out ArgonType: Targon2_type; out M: UInt32; out T, P: UInt16): Boolean;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
|
@ -48,17 +52,17 @@ implementation
|
||||||
uses
|
uses
|
||||||
uLng;
|
uLng;
|
||||||
|
|
||||||
function CreateMasterKey(Short: Boolean; out Password: String; out ArgonType: Targon2_type; var M: UInt32; var T, P: UInt16): Boolean;
|
function CreateMasterKey(Short: Boolean; out Password: String; out ArgonType: Targon2_type; out M: UInt32; out T, P: UInt16): Boolean;
|
||||||
begin
|
begin
|
||||||
with TfrmMasterKey.Create(Application) do
|
with TfrmMasterKey.Create(Application) do
|
||||||
try
|
try
|
||||||
seIterations.Value:= T;
|
seMemory.Value:= 256;
|
||||||
seParallelism.Value:= P;
|
seIterations.Value:= 2;
|
||||||
|
seParallelism.Value:= 4;
|
||||||
cmbFunction.ItemIndex:= 0;
|
cmbFunction.ItemIndex:= 0;
|
||||||
seMemory.Value:= M div 1024;
|
|
||||||
lblText.Visible:= not Short;
|
|
||||||
gbMasterKey.Visible:= not Short;
|
gbMasterKey.Visible:= not Short;
|
||||||
pnlButtons.OKButton.Enabled:= Short;
|
pnlButtons.OKButton.Enabled:= Short;
|
||||||
|
pnlButtons.OKButton.ModalResult:= mrNone;
|
||||||
|
|
||||||
Result:= (ShowModal = mrOK);
|
Result:= (ShowModal = mrOK);
|
||||||
|
|
||||||
|
|
@ -81,13 +85,16 @@ end;
|
||||||
|
|
||||||
{ TfrmMasterKey }
|
{ TfrmMasterKey }
|
||||||
|
|
||||||
procedure TfrmMasterKey.btnTestClick(Sender: TObject);
|
function TfrmMasterKey.Test(Finish: Boolean): Boolean;
|
||||||
const
|
const
|
||||||
HASH_LEN = 88;
|
HASH_LEN = 88;
|
||||||
SALT = 'a5abbcdd86a5d7f9c8a76ea7d0197ed1';
|
SALT = 'a5abbcdd86a5d7f9c8a76ea7d0197ed1';
|
||||||
|
Buttons: array[Boolean] of TMsgDlgButtons = ([mbOK], [mbOK, mbCancel]);
|
||||||
var
|
var
|
||||||
Res: Integer;
|
Ret: Integer;
|
||||||
|
Delay: Double;
|
||||||
StartTime: QWord;
|
StartTime: QWord;
|
||||||
|
Res: TModalResult;
|
||||||
ArgonType: Targon2_type;
|
ArgonType: Targon2_type;
|
||||||
t_cost, m_cost, parallelism: UInt32;
|
t_cost, m_cost, parallelism: UInt32;
|
||||||
Hash: array[0..Pred(HASH_LEN)] of Byte;
|
Hash: array[0..Pred(HASH_LEN)] of Byte;
|
||||||
|
|
@ -103,14 +110,25 @@ begin
|
||||||
end;
|
end;
|
||||||
StartTime:= GetTickCount64;
|
StartTime:= GetTickCount64;
|
||||||
|
|
||||||
Res:= argon2_kdf(t_cost, m_cost, parallelism, 'password', 8,
|
Ret:= argon2_kdf(t_cost, m_cost, parallelism, 'password', 8,
|
||||||
SALT, Length(SALT), @Hash[0], HASH_LEN, ArgonType);
|
SALT, Length(SALT), @Hash[0], HASH_LEN, ArgonType);
|
||||||
|
|
||||||
if (Res <> ARGON2_OK) then
|
FTest:= (Ret = ARGON2_OK);
|
||||||
ShowMessage(Format(rsMsgKeyTransformError, [Res]))
|
|
||||||
|
if (not FTest) then
|
||||||
|
MessageDlg(Format(rsMsgKeyTransformError, [Ret]), mtError, [mbOK], 0)
|
||||||
else begin
|
else begin
|
||||||
ShowMessage(Format(rsMsgKeyTransformTime, [Double(GetTickCount64 - StartTime) / 1000]));
|
Delay:= Double(GetTickCount64 - StartTime) / 1000;
|
||||||
|
Res:= MessageDlg(Format(rsMsgKeyTransformTime, [Delay]), mtInformation, Buttons[Finish], 0);
|
||||||
|
if Finish and (Res <> mrOK) then FTest:= False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Result:= FTest;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmMasterKey.btnTestClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Test(False);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmMasterKey.edtPasswordChange(Sender: TObject);
|
procedure TfrmMasterKey.edtPasswordChange(Sender: TObject);
|
||||||
|
|
@ -118,5 +136,13 @@ begin
|
||||||
pnlButtons.OKButton.Enabled:= (Length(edtPassword.Text) > 0) and (edtPassword.Text = edtRepeat.Text);
|
pnlButtons.OKButton.Enabled:= (Length(edtPassword.Text) > 0) and (edtPassword.Text = edtRepeat.Text);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrmMasterKey.OKButtonClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FTest or Test(True) then
|
||||||
|
begin
|
||||||
|
ModalResult:= mrOK;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2171,8 +2171,8 @@ begin
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
edFind.Color := clWindow;
|
edFind.Color := clDefault;
|
||||||
edFind.Font.Color := clWindowText;
|
edFind.Font.Color := clDefault;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ uses
|
||||||
{$IF not DEFINED(darwin)}
|
{$IF not DEFINED(darwin)}
|
||||||
, uDarkStyle
|
, uDarkStyle
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
, uMyDarwin
|
, uDarwinApplication
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
;
|
;
|
||||||
|
|
@ -269,7 +269,7 @@ begin
|
||||||
if g_darkModeSupported then
|
if g_darkModeSupported then
|
||||||
Result:= [oesfNeedsRestart];
|
Result:= [oesfNeedsRestart];
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
setMacOSAppearance( gAppMode );
|
TDarwinApplicationUtil.setTheme( gAppMode );
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
SaveEarlyConfig;
|
SaveEarlyConfig;
|
||||||
except
|
except
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,7 @@ begin
|
||||||
begin
|
begin
|
||||||
LocalVisualFontElements[iFontIndex].FontEdit.Text := gFonts[TDCFont(iFontIndex)].Name;
|
LocalVisualFontElements[iFontIndex].FontEdit.Text := gFonts[TDCFont(iFontIndex)].Name;
|
||||||
FontOptionsToFont(gFonts[TDCFont(iFontIndex)], LocalVisualFontElements[iFontIndex].FontEdit.Font);
|
FontOptionsToFont(gFonts[TDCFont(iFontIndex)], LocalVisualFontElements[iFontIndex].FontEdit.Font);
|
||||||
|
LocalVisualFontElements[iFontIndex].FontSpindEdit.HandleNeeded;
|
||||||
LocalVisualFontElements[iFontIndex].FontSpindEdit.Value := gFonts[TDCFont(iFontIndex)].Size;
|
LocalVisualFontElements[iFontIndex].FontSpindEdit.Value := gFonts[TDCFont(iFontIndex)].Size;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ uses
|
||||||
Classes, SysUtils, Forms, Controls, ComCtrls, Graphics,
|
Classes, SysUtils, Forms, Controls, ComCtrls, Graphics,
|
||||||
fOptionsFrame, uPixMapManager,
|
fOptionsFrame, uPixMapManager,
|
||||||
fMain, uFileSystemFileSource, uFileViewNotebook,
|
fMain, uFileSystemFileSource, uFileViewNotebook,
|
||||||
uiCloudDriver, uiCloudDriverConfig, uiCloudDriverUtil;
|
uiCloudDrive, uiCloudDriveConfig, uiCloudDriveUtil;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
|
@ -48,7 +48,7 @@ begin
|
||||||
newPage:= notebook.NewPage(Notebook.ActiveView);
|
newPage:= notebook.NewPage(Notebook.ActiveView);
|
||||||
|
|
||||||
fs:= TFileSystemFileSource.GetFileSource;
|
fs:= TFileSystemFileSource.GetFileSource;
|
||||||
path:= iCloudDriverUtil.getAppFullPath( String(appsListView.Selected.Data) );
|
path:= iCloudDriveUtil.getAppFullPath( String(appsListView.Selected.Data) );
|
||||||
newPage.FileView.AddFileSource( fs, path );
|
newPage.FileView.AddFileSource( fs, path );
|
||||||
notebook.PageIndex:= NewPage.PageIndex;
|
notebook.PageIndex:= NewPage.PageIndex;
|
||||||
end;
|
end;
|
||||||
|
|
@ -67,8 +67,8 @@ function TfrmOptionsiCloud.isEnabledApp(const appName: String): Boolean;
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
for i:= 0 to Length(iCloudDriverConfig.apps)-1 do begin
|
for i:= 0 to Length(iCloudDriveConfig.apps)-1 do begin
|
||||||
if iCloudDriverConfig.apps[i].app = appName then
|
if iCloudDriveConfig.apps[i].app = appName then
|
||||||
Exit( True );
|
Exit( True );
|
||||||
end;
|
end;
|
||||||
Result:= False;
|
Result:= False;
|
||||||
|
|
@ -81,7 +81,7 @@ var
|
||||||
icon: TBitmap;
|
icon: TBitmap;
|
||||||
begin
|
begin
|
||||||
inherited Load;
|
inherited Load;
|
||||||
self.apps:= iCloudDriverUtil.createAllApps;
|
self.apps:= iCloudDriveUtil.createAllApps;
|
||||||
for app in self.apps do begin
|
for app in self.apps do begin
|
||||||
item:= self.appsListView.Items.Add;
|
item:= self.appsListView.Items.Add;
|
||||||
item.Caption:= app.displayName;
|
item.Caption:= app.displayName;
|
||||||
|
|
@ -108,9 +108,9 @@ function TfrmOptionsiCloud.Save: TOptionsEditorSaveFlags;
|
||||||
var
|
var
|
||||||
iAllApps: Integer;
|
iAllApps: Integer;
|
||||||
iEnabledApps: Integer;
|
iEnabledApps: Integer;
|
||||||
item: TiCloudDriverConfigAppItem;
|
item: TiCloudDriveConfigAppItem;
|
||||||
begin
|
begin
|
||||||
SetLength( iCloudDriverConfig.apps, appsListView.Items.Count );
|
SetLength( iCloudDriveConfig.apps, appsListView.Items.Count );
|
||||||
iEnabledApps:= 0;
|
iEnabledApps:= 0;
|
||||||
for iAllApps:=0 to appsListView.Items.Count-1 do begin
|
for iAllApps:=0 to appsListView.Items.Count-1 do begin
|
||||||
if NOT appsListView.Items[iAllApps].Checked then
|
if NOT appsListView.Items[iAllApps].Checked then
|
||||||
|
|
@ -118,11 +118,11 @@ begin
|
||||||
|
|
||||||
item.name:= appsListView.Items[iAllApps].Caption;
|
item.name:= appsListView.Items[iAllApps].Caption;
|
||||||
item.app:= String( appsListView.Items[iAllApps].Data );
|
item.app:= String( appsListView.Items[iAllApps].Data );
|
||||||
iCloudDriverConfig.apps[iEnabledApps]:= item;
|
iCloudDriveConfig.apps[iEnabledApps]:= item;
|
||||||
inc( iEnabledApps );
|
inc( iEnabledApps );
|
||||||
end;
|
end;
|
||||||
SetLength( iCloudDriverConfig.apps, iEnabledApps );
|
SetLength( iCloudDriveConfig.apps, iEnabledApps );
|
||||||
iCloudDriverConfigUtil.save;
|
iCloudDriveConfigUtil.save;
|
||||||
|
|
||||||
Result:= [oesfNeedsRestart];
|
Result:= [oesfNeedsRestart];
|
||||||
FreeAndNil( self.apps );
|
FreeAndNil( self.apps );
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ export REVISION_INC=$1/dcrevision.inc
|
||||||
rm -f $REVISION_INC
|
rm -f $REVISION_INC
|
||||||
cp ../units/dcrevision.inc $REVISION_INC
|
cp ../units/dcrevision.inc $REVISION_INC
|
||||||
|
|
||||||
export REVISION=$(git -C $1 rev-list --count HEAD)
|
export REVISION=$(git -C $1 rev-list --count 934bef9..HEAD)
|
||||||
export COMMIT=$(git -C $1 rev-parse --short HEAD)
|
export COMMIT=$(git -C $1 rev-parse --short HEAD)
|
||||||
|
|
||||||
if [ $REVISION ] && [ $COMMIT ]; then
|
if [ $REVISION ] && [ $COMMIT ]; then
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ del /Q %REVISION_TXT% 2> nul
|
||||||
del /Q %REVISION_INC% 2> nul
|
del /Q %REVISION_INC% 2> nul
|
||||||
copy ..\units\dcrevision.inc %REVISION_INC% > nul
|
copy ..\units\dcrevision.inc %REVISION_INC% > nul
|
||||||
|
|
||||||
git -C %1 rev-list --count HEAD > %REVISION_TXT%
|
git -C %1 rev-list --count 934bef9..HEAD > %REVISION_TXT%
|
||||||
|
|
||||||
IF ERRORLEVEL 1 goto EXIT
|
IF ERRORLEVEL 1 goto EXIT
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
unit uClipboard;
|
unit uClipboard;
|
||||||
|
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
{$IFDEF DARWIN}
|
|
||||||
{$modeswitch objectivec1}
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
{$IF DEFINED(UNIX) and not DEFINED(DARWIN)}
|
{$IF DEFINED(UNIX) and not DEFINED(DARWIN)}
|
||||||
{$Define UNIX_not_DARWIN}
|
{$Define UNIX_not_DARWIN}
|
||||||
|
|
@ -67,14 +64,6 @@ const
|
||||||
// Kde
|
// Kde
|
||||||
kdeClipboardMime = 'application/x-kde-cutselection';
|
kdeClipboardMime = 'application/x-kde-cutselection';
|
||||||
|
|
||||||
{$ELSEIF DEFINED(DARWIN)}
|
|
||||||
|
|
||||||
TClipboardOperationName : array[TClipboardOperation] of string = (
|
|
||||||
'copy', 'cut'
|
|
||||||
);
|
|
||||||
|
|
||||||
darwinPasteboardOpMime = 'application/x-darwin-doublecmd-PbOp';
|
|
||||||
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -112,7 +101,7 @@ uses
|
||||||
{$ELSEIF DEFINED(UNIX_not_DARWIN)}
|
{$ELSEIF DEFINED(UNIX_not_DARWIN)}
|
||||||
Clipbrd, LCLIntf
|
Clipbrd, LCLIntf
|
||||||
{$ELSEIF DEFINED(DARWIN)}
|
{$ELSEIF DEFINED(DARWIN)}
|
||||||
DCStrUtils, CocoaAll, CocoaUtils, uDarwinUtil
|
uDarwinClipboard
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
@ -551,51 +540,37 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// MacOs 10.5 compatibility
|
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
function FilenamesToString(const filenames:TStringList): String;
|
|
||||||
begin
|
|
||||||
Result := TrimRightLineEnding( filenames.Text, filenames.TextLineBreakStyle);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure NSPasteboardAddFiles(const filenames:TStringList; pb:NSPasteboard);
|
|
||||||
begin
|
|
||||||
pb.addTypes_owner(NSArray.arrayWithObject(NSFileNamesPboardType), nil);
|
|
||||||
pb.setPropertyList_forType(ListToNSArray(filenames), NSFileNamesPboardType);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure NSPasteboardAddFiles(const filenames:TStringList);
|
|
||||||
begin
|
|
||||||
NSPasteboardAddFiles( filenames, NSPasteboard.generalPasteboard );
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure NSPasteboardAddString(const value:String; const pbType:NSString );
|
|
||||||
var
|
|
||||||
pb: NSPasteboard;
|
|
||||||
begin
|
|
||||||
pb:= NSPasteboard.generalPasteboard;
|
|
||||||
pb.addTypes_owner(NSArray.arrayWithObject(pbType), nil);
|
|
||||||
pb.setString_forType(StringToNSString(value), pbType);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure NSPasteboardAddString(const value:String);
|
|
||||||
begin
|
|
||||||
NSPasteboardAddString( value , NSStringPboardType );
|
|
||||||
end;
|
|
||||||
|
|
||||||
function SendToClipboard(const filenames:TStringList; ClipboardOp: TClipboardOperation):Boolean;
|
function SendToClipboard(const filenames:TStringList; ClipboardOp: TClipboardOperation):Boolean;
|
||||||
|
const
|
||||||
|
OperationToDarwin: Array[TClipboardOperation] of TDarwinClipboardOperation =
|
||||||
|
( TDarwinClipboardOperation.copy, TDarwinClipboardOperation.cut );
|
||||||
var
|
var
|
||||||
s : string;
|
darwinOp: TDarwinClipboardOperation;
|
||||||
begin
|
begin
|
||||||
Result := false;
|
darwinOp:= OperationToDarwin[ClipboardOp];
|
||||||
if filenames.Count = 0 then Exit;
|
Result:= TDarwinClipboardUtil.setFiles( darwinOp, filenames );
|
||||||
|
end;
|
||||||
|
|
||||||
ClearClipboard;
|
function PasteFromClipboard(out ClipboardOp: TClipboardOperation; out filenames:TStringList):Boolean;
|
||||||
NSPasteboardAddFiles( filenames );
|
const
|
||||||
NSPasteboardAddString( FilenamesToString(filenames) );
|
OperationFromDarwin: Array[TDarwinClipboardOperation] of TClipboardOperation =
|
||||||
NSPasteboardAddString( TClipboardOperationName[ClipboardOp] , StringToNSString(darwinPasteboardOpMime) );
|
( ClipboardCopy, ClipboardCut );
|
||||||
|
var
|
||||||
|
darwinOp: TDarwinClipboardOperation;
|
||||||
|
begin
|
||||||
|
Result:= TDarwinClipboardUtil.getFiles( darwinOp, filenames );
|
||||||
|
ClipboardOp:= OperationFromDarwin[darwinOp];
|
||||||
|
end;
|
||||||
|
|
||||||
Result := true;
|
procedure ClipboardSetText(AText: String);
|
||||||
|
begin
|
||||||
|
TDarwinClipboardUtil.setText( AText );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ClearClipboard;
|
||||||
|
begin
|
||||||
|
TDarwinClipboardUtil.clear;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
@ -616,17 +591,20 @@ var
|
||||||
hGlobalBuffer: HGLOBAL;
|
hGlobalBuffer: HGLOBAL;
|
||||||
pBuffer: LPVOID;
|
pBuffer: LPVOID;
|
||||||
PreferredEffect: DWORD;
|
PreferredEffect: DWORD;
|
||||||
|
{
|
||||||
dataObj: IDataObject;
|
dataObj: IDataObject;
|
||||||
Medium: TSTGMedium;
|
Medium: TSTGMedium;
|
||||||
ChosenFormat: TFormatETC;
|
ChosenFormat: TFormatETC;
|
||||||
hr: HRESULT;
|
hr: HRESULT;
|
||||||
HasVirtualFiles: Boolean;
|
HasVirtualFiles: Boolean;
|
||||||
|
}
|
||||||
begin
|
begin
|
||||||
filenames := nil;
|
filenames := nil;
|
||||||
Result := False;
|
Result := False;
|
||||||
HasVirtualFiles := False;
|
// HasVirtualFiles := False;
|
||||||
ClipboardOp := ClipboardCopy;
|
ClipboardOp := ClipboardCopy;
|
||||||
|
|
||||||
|
{
|
||||||
// Try to get IDataObject from clipboard for virtual file support
|
// Try to get IDataObject from clipboard for virtual file support
|
||||||
hr := OleGetClipboard(dataObj);
|
hr := OleGetClipboard(dataObj);
|
||||||
if Succeeded(hr) and Assigned(dataObj) then
|
if Succeeded(hr) and Assigned(dataObj) then
|
||||||
|
|
@ -734,8 +712,9 @@ begin
|
||||||
dataObj := nil;
|
dataObj := nil;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
// Fallback to standard CF_HDROP
|
// Use standard CF_HDROP
|
||||||
if OpenClipboard(0) = False then Exit;
|
if OpenClipboard(0) = False then Exit;
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
@ -770,9 +749,9 @@ begin
|
||||||
filenames := uOleDragDrop.TFileDropTarget.GetDropFilenames(hGlobalBuffer);
|
filenames := uOleDragDrop.TFileDropTarget.GetDropFilenames(hGlobalBuffer);
|
||||||
if Assigned(filenames) and (filenames.Count > 0) then
|
if Assigned(filenames) and (filenames.Count > 0) then
|
||||||
begin
|
begin
|
||||||
// Check if first file exists - if not, likely lazy materialization
|
// Check if first entry exists - if not, likely lazy materialization
|
||||||
// Use shell paste which handles this properly
|
// Use shell paste which handles this properly
|
||||||
if not mbFileExists(filenames[0]) then
|
if not mbFileSystemEntryExists(filenames[0]) then
|
||||||
begin
|
begin
|
||||||
with frmMain do
|
with frmMain do
|
||||||
begin
|
begin
|
||||||
|
|
@ -913,52 +892,6 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// MacOs 10.5 compatibility
|
|
||||||
{$IFDEF DARWIN}
|
|
||||||
function getStringFromPasteboard( pbType : NSString ) : String;
|
|
||||||
var
|
|
||||||
pb : NSPasteboard;
|
|
||||||
begin
|
|
||||||
pb := NSPasteboard.generalPasteboard;
|
|
||||||
Result := NSStringToString( pb.stringForType( pbType ) );
|
|
||||||
end;
|
|
||||||
|
|
||||||
function getOpFromPasteboard() : TClipboardOperation;
|
|
||||||
var
|
|
||||||
opString : String;
|
|
||||||
begin
|
|
||||||
Result := ClipboardCopy;
|
|
||||||
opString := getStringFromPasteboard( StringToNSString(darwinPasteboardOpMime) );
|
|
||||||
if TClipboardOperationName[ClipboardCut].CompareTo(opString) = 0 then Result := ClipboardCut;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function getFilenamesFromPasteboard() : TStringList;
|
|
||||||
var
|
|
||||||
pb : NSPasteboard;
|
|
||||||
filenameArray{, lClasses}: NSArray;
|
|
||||||
begin
|
|
||||||
Result := nil;
|
|
||||||
pb := NSPasteboard.generalPasteboard;
|
|
||||||
filenameArray := pb.propertyListForType(NSFilenamesPboardType);
|
|
||||||
if filenameArray <> nil then Result := NSArrayToList( filenameArray );
|
|
||||||
end;
|
|
||||||
|
|
||||||
function PasteFromClipboard(out ClipboardOp: TClipboardOperation; out filenames:TStringList):Boolean;
|
|
||||||
begin
|
|
||||||
Result := false;
|
|
||||||
ClipboardOp := ClipboardCopy;
|
|
||||||
filenames := getFilenamesFromPasteboard();
|
|
||||||
if filenames <> nil then
|
|
||||||
begin
|
|
||||||
ClipboardOp := getOpFromPasteboard();
|
|
||||||
Result := true;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{$IFDEF MSWINDOWS}
|
{$IFDEF MSWINDOWS}
|
||||||
procedure ClearClipboard;
|
procedure ClearClipboard;
|
||||||
begin
|
begin
|
||||||
|
|
@ -979,19 +912,6 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// MacOs 10.5 compatibility
|
|
||||||
{$IFDEF DARWIN}
|
|
||||||
procedure ClearClipboard( pb:NSPasteboard );
|
|
||||||
begin
|
|
||||||
pb.clearContents;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure ClearClipboard;
|
|
||||||
begin
|
|
||||||
ClearClipboard( NSPasteboard.generalPasteboard );
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
{$IF DEFINED(MSWINDOWS)}
|
{$IF DEFINED(MSWINDOWS)}
|
||||||
procedure ClipboardSetText(AText: String);
|
procedure ClipboardSetText(AText: String);
|
||||||
begin
|
begin
|
||||||
|
|
@ -1016,15 +936,6 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// MacOs 10.5 compatibility
|
|
||||||
{$IFDEF DARWIN}
|
|
||||||
procedure ClipboardSetText(AText: String);
|
|
||||||
begin
|
|
||||||
ClearClipboard;
|
|
||||||
NSPasteboardAddString(AText);
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
|
||||||
RegisterUserFormats;
|
RegisterUserFormats;
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ uses
|
||||||
{$IF DEFINED(UNIX)}
|
{$IF DEFINED(UNIX)}
|
||||||
, DCFileAttributes
|
, DCFileAttributes
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
, MacOSAll
|
, MacOSAll, uDarwinFile
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
;
|
;
|
||||||
|
|
@ -196,9 +196,7 @@ uses
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IF DEFINED(UNIX)}
|
{$IF DEFINED(UNIX)}
|
||||||
, BaseUnix, Unix, uMyUnix, dl
|
, BaseUnix, Unix, uMyUnix, dl
|
||||||
{$IF DEFINED(DARWIN)}
|
{$IF NOT DEFINED(DARWIN) and NOT DEFINED(HAIKU)}
|
||||||
, CocoaAll, uMyDarwin
|
|
||||||
{$ELSEIF NOT DEFINED(HAIKU)}
|
|
||||||
, uGio, uClipboard, uXdg, uKde
|
, uGio, uClipboard, uXdg, uKde
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IF DEFINED(LINUX)}
|
{$IF DEFINED(LINUX)}
|
||||||
|
|
@ -217,7 +215,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ELSEIF DEFINED(DARWIN)}
|
{$ELSEIF DEFINED(DARWIN)}
|
||||||
begin
|
begin
|
||||||
LinkTarget:= ResolveAliasFile(FileName);
|
LinkTarget:= TDarwinFileUtil.resolveAlias(FileName);
|
||||||
if mbCompareFileNames(FileName, LinkTarget) then
|
if mbCompareFileNames(FileName, LinkTarget) then
|
||||||
Result:= False
|
Result:= False
|
||||||
else begin
|
else begin
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ uses
|
||||||
, uUDisks, uUDev, uMountWatcher, DCStrUtils, uOSUtils, FileUtil, uGVolume, DCOSUtils
|
, uUDisks, uUDev, uMountWatcher, DCStrUtils, uOSUtils, FileUtil, uGVolume, DCOSUtils
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
, StrUtils, uMyDarwin, uDarwinFSWatch, uDarwinIO, ExtCtrls
|
, StrUtils, uDarwinFSWatch, uDarwinIO, ExtCtrls
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF HAIKU}
|
{$IFDEF HAIKU}
|
||||||
, BaseUnix, DCHaiku
|
, BaseUnix, DCHaiku
|
||||||
|
|
@ -103,9 +103,9 @@ const
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TDarwinDriverWatcher }
|
{ TDarwinDriveWatcher }
|
||||||
|
|
||||||
TDarwinDriverWatcher = class( IDarwinVolumnHandler )
|
TDarwinDriveWatcher = class( IDarwinVolumnHandler )
|
||||||
private
|
private
|
||||||
_drivePath: String;
|
_drivePath: String;
|
||||||
_timer: TTimer;
|
_timer: TTimer;
|
||||||
|
|
@ -176,7 +176,7 @@ var
|
||||||
OldWProc: WNDPROC;
|
OldWProc: WNDPROC;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
DarwinDriverWatcher: TDarwinDriverWatcher;
|
DarwinDriveWatcher: TDarwinDriveWatcher;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF BSD_not_DARWIN}
|
{$IFDEF BSD_not_DARWIN}
|
||||||
KQueueDriveWatcher: TKQueueDriveEventWatcher;
|
KQueueDriveWatcher: TKQueueDriveEventWatcher;
|
||||||
|
|
@ -217,9 +217,9 @@ end;
|
||||||
|
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
|
|
||||||
{ TDarwinDriverWatcher }
|
{ TDarwinDriveWatcher }
|
||||||
|
|
||||||
procedure TDarwinDriverWatcher.handleAdded(const fullpath: String);
|
procedure TDarwinDriveWatcher.handleAdded(const fullpath: String);
|
||||||
var
|
var
|
||||||
drive: TDrive;
|
drive: TDrive;
|
||||||
begin
|
begin
|
||||||
|
|
@ -229,7 +229,7 @@ begin
|
||||||
_timer.Enabled:= True;
|
_timer.Enabled:= True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDarwinDriverWatcher.handleRemoved(const fullpath: String);
|
procedure TDarwinDriveWatcher.handleRemoved(const fullpath: String);
|
||||||
var
|
var
|
||||||
drive: TDrive;
|
drive: TDrive;
|
||||||
begin
|
begin
|
||||||
|
|
@ -237,7 +237,7 @@ begin
|
||||||
DoDriveRemoved( @drive );
|
DoDriveRemoved( @drive );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDarwinDriverWatcher.handleRenamed(const fullpath: String);
|
procedure TDarwinDriveWatcher.handleRenamed(const fullpath: String);
|
||||||
var
|
var
|
||||||
drive: TDrive;
|
drive: TDrive;
|
||||||
begin
|
begin
|
||||||
|
|
@ -245,14 +245,14 @@ begin
|
||||||
DoDriveChanged( @drive );
|
DoDriveChanged( @drive );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDarwinDriverWatcher.createTimer;
|
procedure TDarwinDriveWatcher.createTimer;
|
||||||
begin
|
begin
|
||||||
_timer:= TTimer.Create( nil );
|
_timer:= TTimer.Create( nil );
|
||||||
_timer.Enabled:= False;
|
_timer.Enabled:= False;
|
||||||
_timer.OnTimer:= @tryAddDrive;
|
_timer.OnTimer:= @tryAddDrive;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDarwinDriverWatcher.tryAddDrive( Sender: TObject );
|
procedure TDarwinDriveWatcher.tryAddDrive( Sender: TObject );
|
||||||
function driveReady: Boolean;
|
function driveReady: Boolean;
|
||||||
var
|
var
|
||||||
fsPtr: ^TFixedStatfs;
|
fsPtr: ^TFixedStatfs;
|
||||||
|
|
@ -290,14 +290,14 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TDarwinDriverWatcher.Create;
|
constructor TDarwinDriveWatcher.Create;
|
||||||
begin
|
begin
|
||||||
Inherited;
|
Inherited;
|
||||||
TDarwinVolumnUtil.setHandler( self );
|
TDarwinVolumnUtil.setHandler( self );
|
||||||
self.createTimer;
|
self.createTimer;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TDarwinDriverWatcher.Destroy;
|
destructor TDarwinDriveWatcher.Destroy;
|
||||||
begin
|
begin
|
||||||
TDarwinVolumnUtil.removeHandler;
|
TDarwinVolumnUtil.removeHandler;
|
||||||
FreeAndNil( _timer );
|
FreeAndNil( _timer );
|
||||||
|
|
@ -461,7 +461,7 @@ begin
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
DarwinDriverWatcher := TDarwinDriverWatcher.Create;
|
DarwinDriveWatcher := TDarwinDriveWatcher.Create;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF BSD_not_DARWIN}
|
{$IFDEF BSD_not_DARWIN}
|
||||||
|
|
@ -492,7 +492,7 @@ begin
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF DARWIN}
|
{$IFDEF DARWIN}
|
||||||
FreeAndNil( DarwinDriverWatcher );
|
FreeAndNil( DarwinDriveWatcher );
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF BSD_not_DARWIN}
|
{$IFDEF BSD_not_DARWIN}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ uses
|
||||||
{$ELSEIF DEFINED(LINUX)}
|
{$ELSEIF DEFINED(LINUX)}
|
||||||
, inotify, BaseUnix, FileUtil, DCConvertEncoding, DCUnix
|
, inotify, BaseUnix, FileUtil, DCConvertEncoding, DCUnix
|
||||||
{$ELSEIF DEFINED(DARWIN)}
|
{$ELSEIF DEFINED(DARWIN)}
|
||||||
, uFileView, uGlobs
|
, uFileView, uGlobs, uDarwinDC
|
||||||
{$ELSEIF DEFINED(BSD)}
|
{$ELSEIF DEFINED(BSD)}
|
||||||
, BSD, Unix, BaseUnix, UnixType, FileUtil, DCOSUtils
|
, BSD, Unix, BaseUnix, UnixType, FileUtil, DCOSUtils
|
||||||
{$ELSEIF DEFINED(HAIKU)}
|
{$ELSEIF DEFINED(HAIKU)}
|
||||||
|
|
@ -904,48 +904,15 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFileSystemWatcherImpl.handleFSEvent(event:TDarwinFSWatchEvent);
|
procedure TFileSystemWatcherImpl.handleFSEvent(event:TDarwinFSWatchEvent);
|
||||||
|
var
|
||||||
|
ok: Boolean;
|
||||||
begin
|
begin
|
||||||
if [watch_file_name_change, watch_attributes_change] * gWatchDirs = [] then exit;
|
if (ecChildChanged in event.categories) and (not isWatchSubdir(event.watchPath) ) then
|
||||||
if event.isDropabled then exit;
|
Exit;
|
||||||
if (ecChildChanged in event.categories) and (not isWatchSubdir(event.watchPath) ) then exit;
|
|
||||||
|
|
||||||
FCurrentEventData.Path := event.watchPath;
|
ok:= TDarwinFSWatcherUtil.convertToFileSourceEvent( event, FCurrentEventData );
|
||||||
FCurrentEventData.FileName := EmptyStr;
|
if NOT ok then
|
||||||
FCurrentEventData.NewFileName := EmptyStr;
|
Exit;
|
||||||
FCurrentEventData.OriginalEvent := event;
|
|
||||||
FCurrentEventData.EventType := fswUnknownChange;
|
|
||||||
|
|
||||||
if TDarwinFSWatchEventCategory.ecRootChanged in event.categories then begin
|
|
||||||
FCurrentEventData.EventType := fswSelfDeleted;
|
|
||||||
end else if event.fullPath.Length >= event.watchPath.Length+2 then begin
|
|
||||||
// 1. file-level update only valid if there is a FileName,
|
|
||||||
// otherwise keep directory-level update
|
|
||||||
// 2. the order of the following judgment conditions must be preserved
|
|
||||||
if (not (watch_file_name_change in gWatchDirs)) and
|
|
||||||
([ecStructChanged, ecAttribChanged] * event.categories = [ecStructChanged])
|
|
||||||
then exit;
|
|
||||||
if (not (watch_attributes_change in gWatchDirs)) and
|
|
||||||
([ecStructChanged, ecAttribChanged] * event.categories = [ecAttribChanged])
|
|
||||||
then exit;
|
|
||||||
|
|
||||||
FCurrentEventData.FileName := ExtractFileName( event.fullPath );
|
|
||||||
|
|
||||||
if TDarwinFSWatchEventCategory.ecRemoved in event.categories then
|
|
||||||
FCurrentEventData.EventType := fswFileDeleted
|
|
||||||
else if TDarwinFSWatchEventCategory.ecRenamed in event.categories then begin
|
|
||||||
if ExtractFilePath(event.fullPath)=ExtractFilePath(event.renamedPath) then begin
|
|
||||||
// fswFileRenamed only when FileName and NewFileName in the same dir
|
|
||||||
// otherwise keep fswUnknownChange
|
|
||||||
FCurrentEventData.EventType := fswFileRenamed;
|
|
||||||
FCurrentEventData.NewFileName := ExtractFileName( event.renamedPath );
|
|
||||||
end;
|
|
||||||
end else if TDarwinFSWatchEventCategory.ecCreated in event.categories then
|
|
||||||
FCurrentEventData.EventType := fswFileCreated
|
|
||||||
else if TDarwinFSWatchEventCategory.ecAttribChanged in event.categories then
|
|
||||||
FCurrentEventData.EventType := fswFileChanged
|
|
||||||
else
|
|
||||||
exit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{$IFDEF DEBUG_WATCHER}
|
{$IFDEF DEBUG_WATCHER}
|
||||||
DCDebug('FSWatcher: Send event, Path %s', [FCurrentEventData.Path]);
|
DCDebug('FSWatcher: Send event, Path %s', [FCurrentEventData.Path]);
|
||||||
|
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
unit uAppleMagnifiedModeFix;
|
|
||||||
|
|
||||||
{$mode objfpc}{$H+}
|
|
||||||
{$modeswitch objectivec1}
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
BaseUnix, CocoaAll;
|
|
||||||
|
|
||||||
const
|
|
||||||
SecondStart = 'SecondStart';
|
|
||||||
AppleMagnifiedMode = 'AppleMagnifiedMode';
|
|
||||||
|
|
||||||
var
|
|
||||||
UserDefaults: NSUserDefaults;
|
|
||||||
|
|
||||||
function setenv(const name, value: pchar; overwrite: longint): longint; cdecl; external 'c' name 'setenv';
|
|
||||||
|
|
||||||
procedure ExportLanguage;
|
|
||||||
var
|
|
||||||
CurrentLocale: NSLocale;
|
|
||||||
Language, Country: String;
|
|
||||||
begin
|
|
||||||
if fpGetEnv(PAnsiChar('LANG')) = '' then
|
|
||||||
begin
|
|
||||||
CurrentLocale:= NSLocale.currentLocale();
|
|
||||||
Country:= NSString(CurrentLocale.objectForKey(NSLocaleCountryCode)).UTF8String;
|
|
||||||
Language:= NSString(CurrentLocale.objectForKey(NSLocaleLanguageCode)).UTF8String;
|
|
||||||
if (Length(Language) > 0) and (Length(Country) > 0) then
|
|
||||||
begin
|
|
||||||
Language:= Language + '_' + Country + '.UTF-8';
|
|
||||||
setenv('LANG', PAnsiChar(Language), 1);
|
|
||||||
WriteLn('Export LANG=' + Language);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
|
||||||
{$IFDEF LCLQT} ExportLanguage; {$ENDIF}
|
|
||||||
UserDefaults:= NSUserDefaults.standardUserDefaults;
|
|
||||||
if not UserDefaults.boolForKey(NSSTR(SecondStart)) then
|
|
||||||
begin
|
|
||||||
UserDefaults.setBool_forKey(True, NSSTR(SecondStart));
|
|
||||||
UserDefaults.setBool_forKey(False, NSSTR(AppleMagnifiedMode));
|
|
||||||
UserDefaults.synchronize;
|
|
||||||
end;
|
|
||||||
end.
|
|
||||||
|
|
||||||
|
|
@ -8,9 +8,11 @@ interface
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils,
|
Classes, SysUtils,
|
||||||
LCLType, Forms, Menus,
|
LCLType, Forms, Menus,
|
||||||
fMain, uDCUtils, uLng,
|
fMain, uHotkeyManager, uGlobs, uLng, uDCUtils,
|
||||||
uFileView, uBriefFileView, uColumnsFileView, uThumbFileView,
|
uFileView, uBriefFileView, uColumnsFileView, uThumbFileView,
|
||||||
uMyDarwin, uDarwinUtil, uDarwinFinder, uDarwinFinderModel, uDarwinFileView,
|
uFileSystemFileSource,
|
||||||
|
uDarwinUtil, uDarwinApplication, uDarwinFile,
|
||||||
|
uDarwinFinder, uDarwinFinderModel, uDarwinFileView, uDarwinPanel,
|
||||||
CocoaAll, CocoaConfig, CocoaToolBar, Cocoa_Extra;
|
CocoaAll, CocoaConfig, CocoaToolBar, Cocoa_Extra;
|
||||||
|
|
||||||
procedure initCocoaModernFormConfig;
|
procedure initCocoaModernFormConfig;
|
||||||
|
|
@ -32,6 +34,16 @@ begin
|
||||||
frmMain.Commands.cm_Exchange([]);
|
frmMain.Commands.cm_Exchange([]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure goBackwardAction( const Sender: id );
|
||||||
|
begin
|
||||||
|
frmMain.Commands.cm_ViewHistoryPrev([]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure goForwardAction( const Sender: id );
|
||||||
|
begin
|
||||||
|
frmMain.Commands.cm_ViewHistoryNext([]);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure showModeAction( const Sender: id );
|
procedure showModeAction( const Sender: id );
|
||||||
var
|
var
|
||||||
showModeItem: NSToolBarItemGroup absolute Sender;
|
showModeItem: NSToolBarItemGroup absolute Sender;
|
||||||
|
|
@ -44,21 +56,72 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure onFileViewUpdated( const fileView: TFileView );
|
procedure onFileViewUpdated( const fileView: TFileView );
|
||||||
var
|
|
||||||
itemGroup: NSToolbarItemGroup;
|
|
||||||
itemGroupWrapper: TCocoaToolBarItemGroupWrapper;
|
|
||||||
begin
|
|
||||||
itemGroup:= NSToolbarItemGroup( TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.ShowMode' ) );
|
|
||||||
if NOT Assigned(itemGroup) then
|
|
||||||
Exit;
|
|
||||||
itemGroupWrapper:= TCocoaToolBarItemGroupWrapper( itemGroup.target );
|
|
||||||
|
|
||||||
if fileView is TColumnsFileView then
|
procedure updateShowMode;
|
||||||
itemGroupWrapper.lclSetSelectedIndex( 1 )
|
var
|
||||||
else if fileView is TBriefFileView then
|
itemGroup: NSToolbarItemGroup;
|
||||||
itemGroupWrapper.lclSetSelectedIndex( 0 )
|
itemGroupWrapper: TCocoaToolBarItemGroupWrapper;
|
||||||
else if fileView is TThumbFileView then
|
begin
|
||||||
itemGroupWrapper.lclSetSelectedIndex( 2 );
|
itemGroup:= NSToolbarItemGroup( TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.ShowMode' ) );
|
||||||
|
if NOT Assigned(itemGroup) then
|
||||||
|
Exit;
|
||||||
|
itemGroupWrapper:= TCocoaToolBarItemGroupWrapper( itemGroup.target );
|
||||||
|
|
||||||
|
if fileView is TColumnsFileView then
|
||||||
|
itemGroupWrapper.lclSetSelectedIndex( 1 )
|
||||||
|
else if fileView is TBriefFileView then
|
||||||
|
itemGroupWrapper.lclSetSelectedIndex( 0 )
|
||||||
|
else if fileView is TThumbFileView then
|
||||||
|
itemGroupWrapper.lclSetSelectedIndex( 2 );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure updateBackward;
|
||||||
|
var
|
||||||
|
item: NSToolbarItem;
|
||||||
|
begin
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.GoBackward' );
|
||||||
|
if NOT Assigned(item) then
|
||||||
|
Exit;
|
||||||
|
item.setEnabled( fileView.hasPrevHistory );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure updateForward;
|
||||||
|
var
|
||||||
|
item: NSToolbarItem;
|
||||||
|
begin
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.GoForward' );
|
||||||
|
if NOT Assigned(item) then
|
||||||
|
Exit;
|
||||||
|
item.setEnabled( fileView.hasNextHistory );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure updateRelyOnFileSystem;
|
||||||
|
var
|
||||||
|
enabled: Boolean;
|
||||||
|
item: NSToolbarItem;
|
||||||
|
begin
|
||||||
|
enabled:= fileView.FileSource.IsClass( TFileSystemFileSource );
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.Share' );
|
||||||
|
item.setEnabled( enabled );
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.AirDrop' );
|
||||||
|
item.setEnabled( enabled );
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.QuickLook' );
|
||||||
|
item.setEnabled( enabled );
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.Tag' );
|
||||||
|
item.setEnabled( enabled );
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.FinderReveal' );
|
||||||
|
item.setEnabled( enabled );
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.FinderInfo' );
|
||||||
|
item.setEnabled( enabled );
|
||||||
|
item:= TCocoaToolBarUtils.findItemByIdentifier( frmMain, 'MainForm.Terminal' );
|
||||||
|
item.setEnabled( enabled );
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
updateShowMode;
|
||||||
|
updateBackward;
|
||||||
|
updateForward;
|
||||||
|
updateRelyOnFileSystem;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function onGetSharingItems( item: NSToolBarItem ): TStringArray;
|
function onGetSharingItems( item: NSToolBarItem ): TStringArray;
|
||||||
|
|
@ -68,27 +131,27 @@ end;
|
||||||
|
|
||||||
procedure airdropAction( const Sender: id );
|
procedure airdropAction( const Sender: id );
|
||||||
begin
|
begin
|
||||||
showMacOSAirDropDialog;
|
TDarwinPanelUtil.showAirDrop;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure quickLookAction( const Sender: id );
|
procedure quickLookAction( const Sender: id );
|
||||||
begin
|
begin
|
||||||
showQuickLookPanel;
|
TDarwinPanelUtil.showQuickLook;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure editTagAction( const Sender: id );
|
procedure editTagAction( const Sender: id );
|
||||||
begin
|
begin
|
||||||
showEditFinderTagsPanel( Sender, frmMain );
|
TDarwinPanelUtil.showEditFinderTags( Sender, frmMain );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure finderRevealAction( const Sender: id );
|
procedure finderRevealAction( const Sender: id );
|
||||||
begin
|
begin
|
||||||
performMacOSService( 'Finder/Reveal' );
|
TDarwinApplicationUtil.performService( 'Finder/Reveal' );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure finderInfoAction( const Sender: id );
|
procedure finderInfoAction( const Sender: id );
|
||||||
begin
|
begin
|
||||||
performMacOSService( 'Finder/Show Info' );
|
TDarwinApplicationUtil.performService( 'Finder/Show Info' );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure compareAction( const Sender: id );
|
procedure compareAction( const Sender: id );
|
||||||
|
|
@ -120,6 +183,8 @@ const
|
||||||
'~/Library',
|
'~/Library',
|
||||||
'/Applications',
|
'/Applications',
|
||||||
|
|
||||||
|
'~/Library/Saved Searches',
|
||||||
|
|
||||||
'~/.Trash'
|
'~/.Trash'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -138,7 +203,6 @@ type
|
||||||
procedure showFinderTagSelectorPanel( Sender: TObject );
|
procedure showFinderTagSelectorPanel( Sender: TObject );
|
||||||
procedure onFinderTagSelectorPanelClose( const cancel: Boolean; const tagNames: NSArray );
|
procedure onFinderTagSelectorPanelClose( const cancel: Boolean; const tagNames: NSArray );
|
||||||
procedure searchOneFinderTagAction( Sender: TObject );
|
procedure searchOneFinderTagAction( Sender: TObject );
|
||||||
procedure onSearchFinderTagComplete( const searchName: String; const files: TStringArray );
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
|
|
@ -175,7 +239,7 @@ end;
|
||||||
|
|
||||||
procedure TToolBarMenuHandler.showFinderTagSelectorPanel(Sender: TObject);
|
procedure TToolBarMenuHandler.showFinderTagSelectorPanel(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
uDarwinFinderUtil.popoverTagsSelector(
|
TDarwinFinderUtil.popoverTagsSelector(
|
||||||
rsMFSTBISearchCombinedTags,
|
rsMFSTBISearchCombinedTags,
|
||||||
@self.onFinderTagSelectorPanelClose,
|
@self.onFinderTagSelectorPanelClose,
|
||||||
NSView(frmMain.Handle) , NSMaxYEdge );
|
NSView(frmMain.Handle) , NSMaxYEdge );
|
||||||
|
|
@ -188,7 +252,7 @@ begin
|
||||||
Exit;
|
Exit;
|
||||||
if tagNames.count = 0 then
|
if tagNames.count = 0 then
|
||||||
Exit;
|
Exit;
|
||||||
uDarwinFinderModelUtil.searchFilesForTagNames( tagNames, @self.onSearchFinderTagComplete );
|
TDarwinFinderModelUtil.searchFilesForTagNames( tagNames, @darwinSearchResultHandler.onSearchFinderTagComplete );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TToolBarMenuHandler.searchOneFinderTagAction( Sender: TObject );
|
procedure TToolBarMenuHandler.searchOneFinderTagAction( Sender: TObject );
|
||||||
|
|
@ -197,13 +261,7 @@ var
|
||||||
tagName: NSString;
|
tagName: NSString;
|
||||||
begin
|
begin
|
||||||
tagName:= StringToNSString( menuItem.Caption );
|
tagName:= StringToNSString( menuItem.Caption );
|
||||||
uDarwinFinderModelUtil.searchFilesForTagName( tagName, @self.onSearchFinderTagComplete );
|
TDarwinFinderModelUtil.searchFilesForTagName( tagName, @darwinSearchResultHandler.onSearchFinderTagComplete );
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TToolBarMenuHandler.onSearchFinderTagComplete(
|
|
||||||
const searchName: String; const files: TStringArray);
|
|
||||||
begin
|
|
||||||
uDarwinFileViewUtil.addSearchTagResultPage( searchName, files );
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure onGetFolderMenu( const menu: TMenu );
|
procedure onGetFolderMenu( const menu: TMenu );
|
||||||
|
|
@ -218,7 +276,7 @@ var
|
||||||
cocoaItem: NSMenuItem;
|
cocoaItem: NSMenuItem;
|
||||||
cocoaImage: NSImage;
|
cocoaImage: NSImage;
|
||||||
begin
|
begin
|
||||||
folderName:= getMacOSDisplayNameFromPath( COMMON_FOLDERS[tag] );
|
folderName:= TDarwinFileUtil.getDisplayName( COMMON_FOLDERS[tag] );
|
||||||
lclItem:= TMenuItem.Create( menu );
|
lclItem:= TMenuItem.Create( menu );
|
||||||
lclItem.Caption:= folderName;
|
lclItem.Caption:= folderName;
|
||||||
lclItem.onClick:= @toolBarMenuHandler.goToFolder;
|
lclItem.onClick:= @toolBarMenuHandler.goToFolder;
|
||||||
|
|
@ -246,6 +304,8 @@ begin
|
||||||
newItem('l.circle');
|
newItem('l.circle');
|
||||||
newItem('a.circle');
|
newItem('a.circle');
|
||||||
items.AddSeparator;
|
items.AddSeparator;
|
||||||
|
newItem('folder.fill.badge.gearshape');
|
||||||
|
items.AddSeparator;
|
||||||
newItem('trash');
|
newItem('trash');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -338,14 +398,14 @@ var
|
||||||
tagName: NSString;
|
tagName: NSString;
|
||||||
menuItem: TMenuItem;
|
menuItem: TMenuItem;
|
||||||
begin
|
begin
|
||||||
tagNames:= uDarwinFinderModelUtil.getSidebarTagNames;
|
tagNames:= TDarwinFinderModelUtil.getSidebarTagNames;
|
||||||
for tagName in tagNames do begin
|
for tagName in tagNames do begin
|
||||||
menuItem:= TMenuItem.Create( menu );
|
menuItem:= TMenuItem.Create( menu );
|
||||||
menuItem.Caption:= tagName.UTF8String;
|
menuItem.Caption:= tagName.UTF8String;
|
||||||
menuItem.OnClick:= @toolBarMenuHandler.searchOneFinderTagAction;
|
menuItem.OnClick:= @toolBarMenuHandler.searchOneFinderTagAction;
|
||||||
items.Add( menuItem );
|
items.Add( menuItem );
|
||||||
end;
|
end;
|
||||||
uDarwinFinderUtil.attachSearchForTagsMenu( menu );
|
TDarwinFinderUtil.attachSearchForTagsMenu( menu );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure createCombinedTagMenuItem;
|
procedure createCombinedTagMenuItem;
|
||||||
|
|
@ -377,7 +437,7 @@ end;
|
||||||
|
|
||||||
procedure iCloudAction( const Sender: id );
|
procedure iCloudAction( const Sender: id );
|
||||||
begin
|
begin
|
||||||
uDarwinFileViewUtil.addiCloudDriverPage;
|
TDarwinFileViewUtil.addiCloudDrivePage;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure networkAction( const Sender: id );
|
procedure networkAction( const Sender: id );
|
||||||
|
|
@ -402,7 +462,7 @@ end;
|
||||||
|
|
||||||
procedure privilegeAction( const Sender: id );
|
procedure privilegeAction( const Sender: id );
|
||||||
begin
|
begin
|
||||||
openSystemSecurityPreferences_PrivacyAllFiles;
|
TDarwinApplicationUtil.openSystemSecurityPreferences_PrivacyAllFiles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
const
|
const
|
||||||
|
|
@ -440,13 +500,37 @@ const
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
goBackwardItemConfig: TCocoaConfigToolBarItem = (
|
||||||
|
identifier: 'MainForm.GoBackward';
|
||||||
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
|
iconName: 'chevron.backward';
|
||||||
|
title: rsMFSTBIGoBackwardTitle;
|
||||||
|
tips: rsMFSTBIGoBackwardTips;
|
||||||
|
bordered: True;
|
||||||
|
onAction: @goBackwardAction;
|
||||||
|
);
|
||||||
|
|
||||||
|
goForwardItemConfig: TCocoaConfigToolBarItem = (
|
||||||
|
identifier: 'MainForm.GoForward';
|
||||||
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
|
iconName: 'chevron.forward';
|
||||||
|
title: rsMFSTBIGoForwardTitle;
|
||||||
|
tips: rsMFSTBIGoForwardTips;
|
||||||
|
bordered: True;
|
||||||
|
onAction: @goForwardAction;
|
||||||
|
);
|
||||||
|
|
||||||
iCloudItemConfig: TCocoaConfigToolBarItem = (
|
iCloudItemConfig: TCocoaConfigToolBarItem = (
|
||||||
identifier: 'MainForm.iCloud';
|
identifier: 'MainForm.iCloud';
|
||||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
navigational: False;
|
navigational: False;
|
||||||
iconName: 'cloud';
|
iconName: 'cloud';
|
||||||
title: rsMFSTBIiCloudDriverTitle;
|
title: rsMFSTBIiCloudDriveTitle;
|
||||||
tips: rsMFSTBIiCloudDriverTips;
|
tips: rsMFSTBIiCloudDriveTips;
|
||||||
bordered: True;
|
bordered: True;
|
||||||
onAction: @iCloudAction;
|
onAction: @iCloudAction;
|
||||||
);
|
);
|
||||||
|
|
@ -510,6 +594,7 @@ const
|
||||||
shareItemConfig: TCocoaConfigToolBarItemSharing = (
|
shareItemConfig: TCocoaConfigToolBarItemSharing = (
|
||||||
identifier: 'MainForm.Share';
|
identifier: 'MainForm.Share';
|
||||||
priority: NSToolbarItemVisibilityPriorityUser;
|
priority: NSToolbarItemVisibilityPriorityUser;
|
||||||
|
appValidates: True;
|
||||||
iconName: '';
|
iconName: '';
|
||||||
title: rsMFSTBIShareTitle;
|
title: rsMFSTBIShareTitle;
|
||||||
tips: '';
|
tips: '';
|
||||||
|
|
@ -522,6 +607,7 @@ const
|
||||||
identifier: 'MainForm.AirDrop';
|
identifier: 'MainForm.AirDrop';
|
||||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
navigational: False;
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
iconName: 'airplayaudio';
|
iconName: 'airplayaudio';
|
||||||
title: rsMFSTBIAirDropTitle;
|
title: rsMFSTBIAirDropTitle;
|
||||||
tips: rsMFSTBIAirDropTips;
|
tips: rsMFSTBIAirDropTips;
|
||||||
|
|
@ -534,6 +620,7 @@ const
|
||||||
identifier: 'MainForm.QuickLook';
|
identifier: 'MainForm.QuickLook';
|
||||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
navigational: False;
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
iconName: 'eye';
|
iconName: 'eye';
|
||||||
title: rsMFSTBIQuickLookTitle;
|
title: rsMFSTBIQuickLookTitle;
|
||||||
tips: rsMFSTBIQuickLookTips;
|
tips: rsMFSTBIQuickLookTips;
|
||||||
|
|
@ -545,6 +632,7 @@ const
|
||||||
identifier: 'MainForm.Tag';
|
identifier: 'MainForm.Tag';
|
||||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
navigational: False;
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
iconName: 'tag';
|
iconName: 'tag';
|
||||||
title: rsMFSTBIEditFinderTagTitle;
|
title: rsMFSTBIEditFinderTagTitle;
|
||||||
tips: rsMFSTBIEditFinderTagTips;
|
tips: rsMFSTBIEditFinderTagTips;
|
||||||
|
|
@ -569,6 +657,7 @@ const
|
||||||
identifier: 'MainForm.FinderReveal';
|
identifier: 'MainForm.FinderReveal';
|
||||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
navigational: False;
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
iconName: 'faceid';
|
iconName: 'faceid';
|
||||||
title: rsMFSTBIFinderRevealTitle;
|
title: rsMFSTBIFinderRevealTitle;
|
||||||
tips: rsMFSTBIFinderRevealTips;
|
tips: rsMFSTBIFinderRevealTips;
|
||||||
|
|
@ -580,6 +669,7 @@ const
|
||||||
identifier: 'MainForm.FinderInfo';
|
identifier: 'MainForm.FinderInfo';
|
||||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
navigational: False;
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
iconName: 'info.circle';
|
iconName: 'info.circle';
|
||||||
title: rsMFSTBIShowInfoTitle;
|
title: rsMFSTBIShowInfoTitle;
|
||||||
tips: rsMFSTBIShowInfoTips;
|
tips: rsMFSTBIShowInfoTips;
|
||||||
|
|
@ -606,6 +696,7 @@ const
|
||||||
identifier: 'MainForm.Terminal';
|
identifier: 'MainForm.Terminal';
|
||||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||||
navigational: False;
|
navigational: False;
|
||||||
|
appValidates: True;
|
||||||
iconName: 'terminal';
|
iconName: 'terminal';
|
||||||
title: rsMFSTBITerminalTitle;
|
title: rsMFSTBITerminalTitle;
|
||||||
tips: rsMFSTBITerminalTips;
|
tips: rsMFSTBITerminalTips;
|
||||||
|
|
@ -708,6 +799,10 @@ const
|
||||||
'MainForm.HorzSplit',
|
'MainForm.HorzSplit',
|
||||||
'MainForm.SwapPanels',
|
'MainForm.SwapPanels',
|
||||||
|
|
||||||
|
'MainForm.GoBackward',
|
||||||
|
'MainForm.GoForward',
|
||||||
|
'NSToolbarFlexibleSpaceItem',
|
||||||
|
|
||||||
'MainForm.iCloud',
|
'MainForm.iCloud',
|
||||||
'MainForm.network',
|
'MainForm.network',
|
||||||
'NSToolbarFlexibleSpaceItem',
|
'NSToolbarFlexibleSpaceItem',
|
||||||
|
|
@ -735,6 +830,8 @@ const
|
||||||
'MainForm.TreeView',
|
'MainForm.TreeView',
|
||||||
'MainForm.HorzSplit',
|
'MainForm.HorzSplit',
|
||||||
'MainForm.SwapPanels',
|
'MainForm.SwapPanels',
|
||||||
|
'MainForm.GoBackward',
|
||||||
|
'MainForm.GoForward',
|
||||||
|
|
||||||
'MainForm.iCloud',
|
'MainForm.iCloud',
|
||||||
'MainForm.network',
|
'MainForm.network',
|
||||||
|
|
@ -761,8 +858,27 @@ const
|
||||||
);
|
);
|
||||||
);
|
);
|
||||||
|
|
||||||
|
procedure addShortCutString( var item: TCocoaConfigToolBarItemWithAction; const command: String );
|
||||||
|
var
|
||||||
|
form: THMForm;
|
||||||
|
hotkey: THotKey;
|
||||||
|
begin
|
||||||
|
form:= HotMan.Forms.Find('Main');
|
||||||
|
if form = nil then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
hotkey:= form.Hotkeys.FindByCommand( command );
|
||||||
|
if hotkey = nil then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
item.tips:= item.tips + ' ( ' + hotkey.Shortcuts[0] + ' )';
|
||||||
|
end;
|
||||||
|
|
||||||
procedure doInitConfig;
|
procedure doInitConfig;
|
||||||
begin
|
begin
|
||||||
|
addShortCutString( goBackwardItemConfig, 'cm_ViewHistoryPrev' );
|
||||||
|
addShortCutString( goForwardItemConfig, 'cm_ViewHistoryNext' );
|
||||||
|
|
||||||
showModeItemConfig.subitems:= [
|
showModeItemConfig.subitems:= [
|
||||||
TCocoaToolBarUtils.toClass(showBriefItemConfig),
|
TCocoaToolBarUtils.toClass(showBriefItemConfig),
|
||||||
TCocoaToolBarUtils.toClass(showFullItemConfig),
|
TCocoaToolBarUtils.toClass(showFullItemConfig),
|
||||||
|
|
@ -773,6 +889,8 @@ begin
|
||||||
TCocoaToolBarUtils.toClass(treeViewItemConfig),
|
TCocoaToolBarUtils.toClass(treeViewItemConfig),
|
||||||
TCocoaToolBarUtils.toClass(horzSplitItemConfig),
|
TCocoaToolBarUtils.toClass(horzSplitItemConfig),
|
||||||
TCocoaToolBarUtils.toClass(swapPanelsItemConfig),
|
TCocoaToolBarUtils.toClass(swapPanelsItemConfig),
|
||||||
|
TCocoaToolBarUtils.toClass(goBackwardItemConfig),
|
||||||
|
TCocoaToolBarUtils.toClass(goForwardItemConfig),
|
||||||
|
|
||||||
TCocoaToolBarUtils.toClass(showModeItemConfig),
|
TCocoaToolBarUtils.toClass(showModeItemConfig),
|
||||||
TCocoaToolBarUtils.toClass(shareItemConfig),
|
TCocoaToolBarUtils.toClass(shareItemConfig),
|
||||||
|
|
|
||||||
307
src/platform/unix/darwin/udarwinapplication.pas
Normal file
307
src/platform/unix/darwin/udarwinapplication.pas
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
unit uDarwinApplication;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
{$modeswitch objectivec2}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils, Menus, uLng,
|
||||||
|
MacOSAll, CocoaAll,
|
||||||
|
CocoaInt, CocoaPrivate, CocoaThemes, Cocoa_Extra, CocoaMenus, CocoaUtils, CocoaConst,
|
||||||
|
uDarwinUtil, uDarwinFinder;
|
||||||
|
|
||||||
|
const
|
||||||
|
FINDER_FAVORITE_TAGS_MENU_ITEM_CAPTION = #$EF#$BF#$BC'FinderFavoriteTags';
|
||||||
|
|
||||||
|
type
|
||||||
|
// MacOS Service Integration
|
||||||
|
TDarwinServiceProviderCallBack = Procedure( filenames:TStringList ) of object;
|
||||||
|
TDarwinServiceMenuIsReadyFunc = Function(): Boolean of object;
|
||||||
|
TDarwinServiceMenuGetFilenamesFunc = Function(): TStringArray of object;
|
||||||
|
|
||||||
|
{ TDarwinServiceProvider }
|
||||||
|
|
||||||
|
TDarwinServiceProvider = objcclass(NSObject)
|
||||||
|
public
|
||||||
|
onOpenWithNewTab: TDarwinServiceProviderCallBack;
|
||||||
|
public
|
||||||
|
procedure openWithNewTab( pboard:NSPasteboard; userData:NSString; error:NSStringPtr ); message 'openWithNewTab:userData:error:';
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TDCCocoaApplication }
|
||||||
|
|
||||||
|
TDCCocoaApplication = objcclass(TCocoaApplication)
|
||||||
|
function validRequestorForSendType_returnType (sendType: NSString; returnType: NSString): id; override;
|
||||||
|
function writeSelectionToPasteboard_types (pboard: NSPasteboard; types: NSArray): ObjCBOOL; message 'writeSelectionToPasteboard:types:';
|
||||||
|
private
|
||||||
|
_serviceProvider: TDarwinServiceProvider;
|
||||||
|
public
|
||||||
|
serviceMenuIsReady: TDarwinServiceMenuIsReadyFunc;
|
||||||
|
serviceMenuGetFilenames: TDarwinServiceMenuGetFilenamesFunc;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TDarwinApplicationUtil }
|
||||||
|
|
||||||
|
TDarwinApplicationUtil = class
|
||||||
|
public
|
||||||
|
class procedure initServiceProvider(
|
||||||
|
const serveCallback: TDarwinServiceProviderCallBack;
|
||||||
|
const isReadyFunc: TDarwinServiceMenuIsReadyFunc;
|
||||||
|
const getFilenamesFunc: TDarwinServiceMenuGetFilenamesFunc );
|
||||||
|
class procedure popUpMenuWithServiceSubmenu( const menu: TPopupMenu; const caption: String; const paths: TStringArray );
|
||||||
|
class procedure performService( const serviceName: String );
|
||||||
|
class procedure openSystemSecurityPreferences_PrivacyAllFiles;
|
||||||
|
public
|
||||||
|
class procedure setTheme( const mode: Integer );
|
||||||
|
public
|
||||||
|
class procedure fixFormatSettings;
|
||||||
|
class procedure openNewInstance;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure darwinOnMainMenuCreate( menu: NSMenu );
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TDCCocoaApplication }
|
||||||
|
|
||||||
|
function TDCCocoaApplication.validRequestorForSendType_returnType (sendType: NSString; returnType: NSString): id;
|
||||||
|
begin
|
||||||
|
Result:= nil;
|
||||||
|
if not NSFilenamesPboardType.isEqualToString(sendType) then exit;
|
||||||
|
if returnType<>nil then exit;
|
||||||
|
if self.serviceMenuIsReady() then Result:=self;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDCCocoaApplication.writeSelectionToPasteboard_types( pboard: NSPasteboard; types: NSArray): ObjCBOOL;
|
||||||
|
var
|
||||||
|
lclArray: TStringArray;
|
||||||
|
cocoaArray: NSArray;
|
||||||
|
begin
|
||||||
|
Result:= false;
|
||||||
|
lclArray:= self.serviceMenuGetFilenames();
|
||||||
|
if lclArray=nil then exit;
|
||||||
|
|
||||||
|
cocoaArray:= StringArrayFromLCLToNS( lclArray );
|
||||||
|
pboard.declareTypes_owner( NSArray.arrayWithObject(NSFileNamesPboardType), nil );
|
||||||
|
pboard.setPropertyList_forType( cocoaArray, NSFileNamesPboardType );
|
||||||
|
Result:= true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TDarwinServiceProvider }
|
||||||
|
|
||||||
|
procedure TDarwinServiceProvider.openWithNewTab( pboard:NSPasteboard; userData:NSString; error:NSStringPtr );
|
||||||
|
var
|
||||||
|
filenameArray: NSArray;
|
||||||
|
filenameList: TStringList;
|
||||||
|
begin
|
||||||
|
filenameArray := pboard.propertyListForType(NSFilenamesPboardType);
|
||||||
|
if filenameArray <> nil then
|
||||||
|
begin
|
||||||
|
if Assigned(onOpenWithNewTab) then
|
||||||
|
begin
|
||||||
|
filenameList:= NSArrayToList( filenameArray );
|
||||||
|
onOpenWithNewTab( filenameList );
|
||||||
|
FreeAndNil( filenameList );
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TDarwinApplicationUtil }
|
||||||
|
|
||||||
|
class procedure TDarwinApplicationUtil.setTheme(const mode: Integer);
|
||||||
|
var
|
||||||
|
appearance: NSAppearance;
|
||||||
|
begin
|
||||||
|
if not NSApp.respondsToSelector( ObjCSelector('appearance') ) then
|
||||||
|
exit;
|
||||||
|
|
||||||
|
case mode of
|
||||||
|
0, 1:
|
||||||
|
appearance:= nil;
|
||||||
|
2:
|
||||||
|
appearance:= NSAppearance.appearanceNamed( NSSTR_DARK_NAME );
|
||||||
|
3:
|
||||||
|
appearance:= NSAppearance.appearanceNamed( NSAppearanceNameAqua );
|
||||||
|
end;
|
||||||
|
NSApp.setAppearance( appearance );
|
||||||
|
|
||||||
|
if appearance = nil then
|
||||||
|
appearance:= NSApp.effectiveAppearance;
|
||||||
|
NSAppearance.setCurrentAppearance( appearance );
|
||||||
|
TCocoaThemeServices.darwinThemeChangedNotify;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinApplicationUtil.fixFormatSettings;
|
||||||
|
var
|
||||||
|
S: String;
|
||||||
|
ALocale: CFLocaleRef;
|
||||||
|
begin
|
||||||
|
ALocale:= CFLocaleCopyCurrent;
|
||||||
|
if Assigned(ALocale) then
|
||||||
|
begin
|
||||||
|
S:= CFStringToStr(CFLocaleGetValue(ALocale, kCFLocaleGroupingSeparator));
|
||||||
|
if Length(S) = 0 then
|
||||||
|
begin
|
||||||
|
DefaultFormatSettings.ThousandSeparator:= #0;
|
||||||
|
end;
|
||||||
|
CFRelease(ALocale);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinApplicationUtil.openNewInstance;
|
||||||
|
begin
|
||||||
|
NSWorkspace.sharedWorkspace.launchApplicationAtURL_options_configuration_error(
|
||||||
|
NSBundle.mainBundle.bundleURL,
|
||||||
|
NSWorkspaceLaunchNewInstance,
|
||||||
|
nil,
|
||||||
|
nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinApplicationUtil.initServiceProvider(
|
||||||
|
const serveCallback: TDarwinServiceProviderCallBack;
|
||||||
|
const isReadyFunc: TDarwinServiceMenuIsReadyFunc;
|
||||||
|
const getFilenamesFunc: TDarwinServiceMenuGetFilenamesFunc);
|
||||||
|
var
|
||||||
|
DCApp: TDCCocoaApplication Absolute NSApp;
|
||||||
|
sendTypes: NSArray;
|
||||||
|
returnTypes: NSArray;
|
||||||
|
begin
|
||||||
|
// MacOS Service menu incoming setup
|
||||||
|
if not Assigned(DCApp._serviceProvider) then
|
||||||
|
begin
|
||||||
|
DCApp._serviceProvider:= TDarwinServiceProvider.alloc.init;
|
||||||
|
DCApp.setServicesProvider( DCApp._serviceProvider );
|
||||||
|
NSUpdateDynamicServices;
|
||||||
|
end;
|
||||||
|
DCApp._serviceProvider.onOpenWithNewTab:= serveCallback;
|
||||||
|
|
||||||
|
// MacOS Service menu outgoing setup
|
||||||
|
sendTypes:= NSArray.arrayWithObject(NSFilenamesPboardType);
|
||||||
|
returnTypes:= nil;
|
||||||
|
DCApp.serviceMenuIsReady:= isReadyFunc;
|
||||||
|
DCApp.serviceMenuGetFilenames:= getFilenamesFunc;
|
||||||
|
DCApp.registerServicesMenuSendTypes_returnTypes( sendTypes, returnTypes );
|
||||||
|
end;
|
||||||
|
|
||||||
|
type
|
||||||
|
TDarwinServiceMenuManager = class
|
||||||
|
private
|
||||||
|
oldMenuPopupHandler: TNotifyEvent;
|
||||||
|
serviceSubMenuCaption: String;
|
||||||
|
tagFilePaths: TStringArray;
|
||||||
|
procedure attachSystemMenu( Sender: TObject );
|
||||||
|
procedure attachServicesMenu( Sender: TObject );
|
||||||
|
procedure attachFinderTagsMenu( Sender: TObject );
|
||||||
|
procedure privilegeAction( Sender: TObject );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinApplicationUtil.popUpMenuWithServiceSubmenu(const menu: TPopupMenu;
|
||||||
|
const caption: String; const paths: TStringArray);
|
||||||
|
var
|
||||||
|
menuManager: TDarwinServiceMenuManager;
|
||||||
|
begin
|
||||||
|
menuManager:= TDarwinServiceMenuManager.Create;
|
||||||
|
|
||||||
|
// because the menu item handle will be destroyed in TPopupMenu.PopUp()
|
||||||
|
// we can only call NSApplication.setServicesMenu() in OnMenuPopupHandler()
|
||||||
|
menuManager.oldMenuPopupHandler:= OnMenuPopupHandler;
|
||||||
|
OnMenuPopupHandler:= @menuManager.attachSystemMenu;
|
||||||
|
menuManager.serviceSubMenuCaption:= caption;
|
||||||
|
menuManager.tagFilePaths:= paths;
|
||||||
|
menu.PopUp();
|
||||||
|
|
||||||
|
menuManager.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinApplicationUtil.performService(const serviceName: String
|
||||||
|
);
|
||||||
|
var
|
||||||
|
pboard: NSPasteboard;
|
||||||
|
ok: Boolean;
|
||||||
|
begin
|
||||||
|
pboard:= NSPasteboard.pasteboardWithUniqueName;
|
||||||
|
ok:= TDCCocoaApplication(NSApp).writeSelectionToPasteboard_types(
|
||||||
|
pboard , nil );
|
||||||
|
if ok then
|
||||||
|
NSPerformService( NSSTR(serviceName), pboard );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinApplicationUtil.openSystemSecurityPreferences_PrivacyAllFiles;
|
||||||
|
const
|
||||||
|
Privacy_AllFiles = 'x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles';
|
||||||
|
var
|
||||||
|
url: NSURL;
|
||||||
|
begin
|
||||||
|
url:= NSURL.URLWithString( NSSTR(Privacy_AllFiles) );
|
||||||
|
NSWorkspace.sharedWorkspace.openURL( url );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDarwinServiceMenuManager.attachSystemMenu(Sender: TObject);
|
||||||
|
begin
|
||||||
|
self.attachServicesMenu( Sender );
|
||||||
|
self.attachFinderTagsMenu( Sender );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDarwinServiceMenuManager.attachServicesMenu( Sender: TObject );
|
||||||
|
var
|
||||||
|
menu: TPopupMenu Absolute Sender;
|
||||||
|
servicesItem: TMenuItem;
|
||||||
|
subMenu: TCocoaMenu;
|
||||||
|
begin
|
||||||
|
// call the previous OnMenuPopupHandler and restore it
|
||||||
|
if Assigned(oldMenuPopupHandler) then oldMenuPopupHandler( Sender );
|
||||||
|
OnMenuPopupHandler:= oldMenuPopupHandler;
|
||||||
|
oldMenuPopupHandler:= nil;
|
||||||
|
|
||||||
|
// attach the Services Sub Menu by calling NSApplication.setServicesMenu()
|
||||||
|
servicesItem:= menu.Items.Find(serviceSubMenuCaption);
|
||||||
|
if servicesItem<>nil then
|
||||||
|
begin
|
||||||
|
subMenu:= TCocoaMenu.alloc.initWithTitle(NSString.string_);
|
||||||
|
TCocoaMenuItem(servicesItem.Handle).setSubmenu( subMenu );
|
||||||
|
subMenu.release;
|
||||||
|
NSApp.setServicesMenu( NSMenu(servicesItem.Handle) );
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDarwinServiceMenuManager.attachFinderTagsMenu( Sender: TObject );
|
||||||
|
var
|
||||||
|
menu: TPopupMenu Absolute Sender;
|
||||||
|
menuItem: TMenuItem;
|
||||||
|
menuIndex: Integer;
|
||||||
|
success: Boolean;
|
||||||
|
begin
|
||||||
|
menuIndex:= menu.Items.IndexOfCaption( FINDER_FAVORITE_TAGS_MENU_ITEM_CAPTION );
|
||||||
|
if menuIndex < 0 then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
success:= TDarwinFinderUtil.attachFinderTagsMenu( self.tagFilePaths, menu, menuIndex );
|
||||||
|
if success then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
menuItem:= menu.Items[menuIndex];
|
||||||
|
menuItem.Caption:= rsMenuMacOSGrantPermissionToSupportFinderTags;
|
||||||
|
menuItem.OnClick:= @self.privilegeAction;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDarwinServiceMenuManager.privilegeAction(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TDarwinApplicationUtil.openSystemSecurityPreferences_PrivacyAllFiles;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure darwinOnMainMenuCreate( menu: NSMenu );
|
||||||
|
var
|
||||||
|
lclForm: TObject;
|
||||||
|
keyWindow: NSWindow;
|
||||||
|
begin
|
||||||
|
lclForm:= nil;
|
||||||
|
keyWindow:= NSApplication(NSApp).keyWindow;
|
||||||
|
if keyWindow <> nil then
|
||||||
|
lclForm:= keyWindow.lclGetTarget;
|
||||||
|
if (lclForm=nil) or (lclForm.ClassName='TfrmMain') then
|
||||||
|
AttachEditMenu( menu, menu.numberOfItems, CocoaConst.NSSTR_EDIT_MENU );
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
155
src/platform/unix/darwin/udarwinclipboard.pas
Normal file
155
src/platform/unix/darwin/udarwinclipboard.pas
Normal file
|
|
@ -0,0 +1,155 @@
|
||||||
|
unit uDarwinClipboard;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
{$modeswitch objectivec2}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils,
|
||||||
|
CocoaAll,
|
||||||
|
DCStrUtils,
|
||||||
|
uDarwinUtil;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{$scopedEnums on}
|
||||||
|
TDarwinClipboardOperation = ( copy, cut );
|
||||||
|
|
||||||
|
{ TDarwinClipboardUtil }
|
||||||
|
|
||||||
|
TDarwinClipboardUtil = class
|
||||||
|
private
|
||||||
|
class procedure addText( const value: String; const pbType: NSString );
|
||||||
|
class procedure addText( const value: String );
|
||||||
|
class procedure addFiles( const filenames: TStringList; const pb: NSPasteboard );
|
||||||
|
class procedure addFiles( const filenames:TStringList );
|
||||||
|
private
|
||||||
|
class function filenamesToString( const filenames:TStringList ): String;
|
||||||
|
public
|
||||||
|
class procedure setText( const value: String );
|
||||||
|
class function getText( const pbType: String ): String;
|
||||||
|
class function setFiles(
|
||||||
|
const clipboardOp: TDarwinClipboardOperation;
|
||||||
|
const filenames: TStringList ): Boolean;
|
||||||
|
class function getFiles(
|
||||||
|
out clipboardOp: TDarwinClipboardOperation;
|
||||||
|
out filenames:TStringList ): Boolean;
|
||||||
|
class procedure clear;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
const
|
||||||
|
|
||||||
|
OPERATION_NAME: array[TDarwinClipboardOperation] of String =
|
||||||
|
( 'copy', 'cut' );
|
||||||
|
|
||||||
|
PASTEBOARD_OP_MIME = 'application/x-darwin-doublecmd-PbOp';
|
||||||
|
|
||||||
|
// macOS 10.5 compatibility
|
||||||
|
|
||||||
|
{ TDarwinClipboardUtil }
|
||||||
|
|
||||||
|
class procedure TDarwinClipboardUtil.addText( const value: String; const pbType: NSString );
|
||||||
|
var
|
||||||
|
pb: NSPasteboard;
|
||||||
|
begin
|
||||||
|
pb:= NSPasteboard.generalPasteboard;
|
||||||
|
pb.addTypes_owner(NSArray.arrayWithObject(pbType), nil);
|
||||||
|
pb.setString_forType(StringToNSString(value), pbType);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinClipboardUtil.addText( const value:String );
|
||||||
|
begin
|
||||||
|
TDarwinClipboardUtil.addText( value , NSStringPboardType );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinClipboardUtil.setText( const value: String );
|
||||||
|
begin
|
||||||
|
TDarwinClipboardUtil.clear;
|
||||||
|
TDarwinClipboardUtil.addText( value );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinClipboardUtil.getText( const pbType: String ): String;
|
||||||
|
var
|
||||||
|
pb: NSPasteboard;
|
||||||
|
begin
|
||||||
|
pb:= NSPasteboard.generalPasteboard;
|
||||||
|
Result:= pb.stringForType(NSSTR(pbType)).UTF8String;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinClipboardUtil.addFiles( const filenames: TStringList; const pb: NSPasteboard );
|
||||||
|
begin
|
||||||
|
pb.addTypes_owner(NSArray.arrayWithObject(NSFileNamesPboardType), nil);
|
||||||
|
pb.setPropertyList_forType(ListToNSArray(filenames), NSFileNamesPboardType);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinClipboardUtil.addFiles( const filenames:TStringList );
|
||||||
|
begin
|
||||||
|
TDarwinClipboardUtil.addFiles( filenames, NSPasteboard.generalPasteboard );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinClipboardUtil.filenamesToString( const filenames:TStringList ): String;
|
||||||
|
begin
|
||||||
|
Result:= TrimRightLineEnding( filenames.Text, filenames.TextLineBreakStyle );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinClipboardUtil.setFiles(
|
||||||
|
const clipboardOp: TDarwinClipboardOperation;
|
||||||
|
const filenames: TStringList ): Boolean;
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
if filenames.Count = 0 then Exit;
|
||||||
|
|
||||||
|
TDarwinClipboardUtil.clear;
|
||||||
|
TDarwinClipboardUtil.addFiles( filenames );
|
||||||
|
TDarwinClipboardUtil.addText( filenamesToString(filenames) );
|
||||||
|
TDarwinClipboardUtil.addText( OPERATION_NAME[ClipboardOp] , NSSTR(PASTEBOARD_OP_MIME) );
|
||||||
|
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinClipboardUtil.getFiles(
|
||||||
|
out clipboardOp: TDarwinClipboardOperation;
|
||||||
|
out filenames: TStringList ): Boolean;
|
||||||
|
|
||||||
|
function getFilenamesFromPasteboard(): TStringList;
|
||||||
|
var
|
||||||
|
pb: NSPasteboard;
|
||||||
|
filenameArray: NSArray;
|
||||||
|
begin
|
||||||
|
Result:= nil;
|
||||||
|
pb:= NSPasteboard.generalPasteboard;
|
||||||
|
filenameArray:= pb.propertyListForType(NSFilenamesPboardType);
|
||||||
|
if filenameArray <> nil then
|
||||||
|
Result:= NSArrayToList( filenameArray );
|
||||||
|
end;
|
||||||
|
|
||||||
|
function getOpFromPasteboard(): TDarwinClipboardOperation;
|
||||||
|
var
|
||||||
|
opString: String;
|
||||||
|
begin
|
||||||
|
Result:= TDarwinClipboardOperation.copy;
|
||||||
|
opString:= TDarwinClipboardUtil.getText( PASTEBOARD_OP_MIME );
|
||||||
|
if OPERATION_NAME[TDarwinClipboardOperation.cut].CompareTo(opString) = 0 then
|
||||||
|
Result:= TDarwinClipboardOperation.cut;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
clipboardOp:= TDarwinClipboardOperation.copy;
|
||||||
|
filenames:= getFilenamesFromPasteboard();
|
||||||
|
if filenames <> nil then begin
|
||||||
|
clipboardOp:= getOpFromPasteboard();
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinClipboardUtil.clear;
|
||||||
|
begin
|
||||||
|
NSPasteboard.generalPasteboard.clearContents;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
77
src/platform/unix/darwin/udarwindc.pas
Normal file
77
src/platform/unix/darwin/udarwindc.pas
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
unit uDarwinDC;
|
||||||
|
|
||||||
|
{$mode ObjFPC}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils,
|
||||||
|
uGlobs,
|
||||||
|
uFileSourceWatcher,
|
||||||
|
uDarwinFSWatch;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TDarwinFSWatcherUtil }
|
||||||
|
|
||||||
|
TDarwinFSWatcherUtil = class
|
||||||
|
class function convertToFileSourceEvent(
|
||||||
|
const event: TDarwinFSWatchEvent;
|
||||||
|
var fileSourceEvent: TFSWatcherEventData ): Boolean;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TDarwinFSWatcherUtil }
|
||||||
|
|
||||||
|
class function TDarwinFSWatcherUtil.convertToFileSourceEvent(
|
||||||
|
const event: TDarwinFSWatchEvent;
|
||||||
|
var fileSourceEvent: TFSWatcherEventData ): Boolean;
|
||||||
|
begin
|
||||||
|
Result:= False;
|
||||||
|
if [watch_file_name_change, watch_attributes_change] * gWatchDirs = [] then exit;
|
||||||
|
if event.isDropabled then exit;
|
||||||
|
|
||||||
|
fileSourceEvent.Path := event.watchPath;
|
||||||
|
fileSourceEvent.FileName := EmptyStr;
|
||||||
|
fileSourceEvent.NewFileName := EmptyStr;
|
||||||
|
fileSourceEvent.OriginalEvent := event;
|
||||||
|
fileSourceEvent.EventType := fswUnknownChange;
|
||||||
|
|
||||||
|
if TDarwinFSWatchEventCategory.ecRootChanged in event.categories then begin
|
||||||
|
fileSourceEvent.EventType := fswSelfDeleted;
|
||||||
|
end else if event.fullPath.Length >= event.watchPath.Length+2 then begin
|
||||||
|
// 1. file-level update only valid if there is a FileName,
|
||||||
|
// otherwise keep directory-level update
|
||||||
|
// 2. the order of the following judgment conditions must be preserved
|
||||||
|
if (not (watch_file_name_change in gWatchDirs)) and
|
||||||
|
([ecStructChanged, ecAttribChanged] * event.categories = [ecStructChanged])
|
||||||
|
then exit;
|
||||||
|
if (not (watch_attributes_change in gWatchDirs)) and
|
||||||
|
([ecStructChanged, ecAttribChanged] * event.categories = [ecAttribChanged])
|
||||||
|
then exit;
|
||||||
|
|
||||||
|
fileSourceEvent.FileName := ExtractFileName( event.fullPath );
|
||||||
|
|
||||||
|
if TDarwinFSWatchEventCategory.ecRemoved in event.categories then
|
||||||
|
fileSourceEvent.EventType := fswFileDeleted
|
||||||
|
else if TDarwinFSWatchEventCategory.ecRenamed in event.categories then begin
|
||||||
|
if ExtractFilePath(event.fullPath)=ExtractFilePath(event.renamedPath) then begin
|
||||||
|
// fswFileRenamed only when FileName and NewFileName in the same dir
|
||||||
|
// otherwise keep fswUnknownChange
|
||||||
|
fileSourceEvent.EventType := fswFileRenamed;
|
||||||
|
fileSourceEvent.NewFileName := ExtractFileName( event.renamedPath );
|
||||||
|
end;
|
||||||
|
end else if TDarwinFSWatchEventCategory.ecCreated in event.categories then
|
||||||
|
fileSourceEvent.EventType := fswFileCreated
|
||||||
|
else if TDarwinFSWatchEventCategory.ecAttribChanged in event.categories then
|
||||||
|
fileSourceEvent.EventType := fswFileChanged
|
||||||
|
else
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
265
src/platform/unix/darwin/udarwinfile.pas
Normal file
265
src/platform/unix/darwin/udarwinfile.pas
Normal file
|
|
@ -0,0 +1,265 @@
|
||||||
|
unit uDarwinFile;
|
||||||
|
|
||||||
|
{$mode delphi}
|
||||||
|
{$modeswitch objectivec2}
|
||||||
|
{$modeswitch cblocks}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils,
|
||||||
|
MacOSAll, CocoaAll, Cocoa_Extra, CocoaUtils,
|
||||||
|
uDarwinUtil;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TDarwinFileUtil }
|
||||||
|
|
||||||
|
TDarwinFileUtil = class
|
||||||
|
private class var
|
||||||
|
NetFS: TLibHandle;
|
||||||
|
CoreServices: TLibHandle;
|
||||||
|
FSMountServerVolumeSync: function(url: CFURLRef; mountDir: CFURLRef; user: CFStringRef; password: CFStringRef;
|
||||||
|
mountedVolumeRefNum: FSVolumeRefNumPtr; flags: OptionBits): OSStatus; stdcall;
|
||||||
|
NetFSMountURLSync: function(_url: CFURLRef; _mountpath: CFURLRef; _user: CFStringRef; _passwd: CFStringRef;
|
||||||
|
_open_options: CFMutableDictionaryRef; _mount_options: CFMutableDictionaryRef; _mountpoints: CFArrayRefPtr): Int32; cdecl;
|
||||||
|
public class var
|
||||||
|
isMountSupported: Boolean;
|
||||||
|
public
|
||||||
|
class function mount( const serverAddress: String ): Boolean;
|
||||||
|
class function unmountAndEject( const path: String ): Boolean;
|
||||||
|
class function resolveAlias( const path: String ): String;
|
||||||
|
public
|
||||||
|
class function getDisplayName( const path: String ): String;
|
||||||
|
class function getUniqueIcon( const path: String ): NSImage;
|
||||||
|
class function getDescription( const path: String ): String;
|
||||||
|
public
|
||||||
|
class function getTempPath: String;
|
||||||
|
class function getTerminalPath: String;
|
||||||
|
class function getSpecifiedFolderPath( folder: NSSearchPathDirectory ): String;
|
||||||
|
public
|
||||||
|
class function dataWithContentsOfFile( const path: NSString; const tag: String ): NSData; overload;
|
||||||
|
class function dataWithContentsOfFile( const path: String; const tag: String ): NSData; overload;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
const
|
||||||
|
ICON_SPECIAL_FOLDER_EXT_STRING = '.app;.musiclibrary;.imovielibrary;.tvlibrary;.photoslibrary;.theater;.saver;.xcode;.xcodeproj;.xcworkspace;.playground;.scptd;.action;.workflow;.prefpane;.appex;.kext;.xpc;.bundle;.qlgenerator;.mdimporter;.systemextension;.fcpbundle;.fcpxmld;';
|
||||||
|
ICON_SPECIAL_PARENT_FOLDER_STRING = '/;/System;/Applications;/Volumes;/Users;~;~/Music;~/Pictures;~/Movies;';
|
||||||
|
|
||||||
|
var
|
||||||
|
ICON_SPECIAL_FOLDER_EXT: NSString;
|
||||||
|
ICON_SPECIAL_PARENT_FOLDER: NSString;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.mount(const serverAddress: String): Boolean;
|
||||||
|
var
|
||||||
|
sharePath: NSURL;
|
||||||
|
mountPoints: CFArrayRef = nil;
|
||||||
|
begin
|
||||||
|
sharePath:= NSURL.URLWithString(StringToNSString(serverAddress));
|
||||||
|
if Assigned(NetFSMountURLSync) then
|
||||||
|
Result:= NetFSMountURLSync(CFURLRef(sharePath), nil, nil, nil, nil, nil, @mountPoints) = 0
|
||||||
|
else begin
|
||||||
|
Result:= FSMountServerVolumeSync(CFURLRef(sharePath), nil, nil, nil, nil, 0) = noErr;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
type
|
||||||
|
TUnmountManager = class
|
||||||
|
public
|
||||||
|
class function unmount( const path: String; const allPartitions: Boolean ): Boolean;
|
||||||
|
private
|
||||||
|
function doUnmount( const path: String; const allPartitions: Boolean ): Boolean;
|
||||||
|
procedure onComplete( error: NSError ); cdecl;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TUnmountManager.unmount( const path: String; const allPartitions: Boolean ): Boolean;
|
||||||
|
var
|
||||||
|
manager: TUnmountManager;
|
||||||
|
begin
|
||||||
|
manager:= TUnmountManager.Create;
|
||||||
|
Result:= manager.doUnmount( path, allPartitions );
|
||||||
|
// free in TUnmountManager.onComplete();
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TUnmountManager.doUnmount(const path: String; const allPartitions: Boolean): Boolean;
|
||||||
|
var
|
||||||
|
url: NSURL;
|
||||||
|
options: NSFileManagerUnmountOptions = 0;
|
||||||
|
begin
|
||||||
|
url:= NSURL.fileURLWithPath( StringToNSString(path) );
|
||||||
|
if allPartitions then
|
||||||
|
options:= NSFileManagerUnmountAllPartitionsAndEjectDisk;
|
||||||
|
NSFileManager.defaultManager.unmountVolumeAtURL_options_completionHandler( url, options, self.onComplete );
|
||||||
|
sleep( 1000 );
|
||||||
|
Result:= True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TUnmountManager.onComplete( error: NSError ); cdecl;
|
||||||
|
begin
|
||||||
|
if Assigned(error) then
|
||||||
|
logDarwinError( 'TUnmountManager error when unmount', error );
|
||||||
|
self.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.unmountAndEject(const path: String): Boolean;
|
||||||
|
begin
|
||||||
|
Result:= TUnmountManager.unmount( path, True );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.getDisplayName(const path: String): String;
|
||||||
|
var
|
||||||
|
cocoaPath: NSString;
|
||||||
|
displayName: NSString;
|
||||||
|
begin
|
||||||
|
cocoaPath:= StringToNSString(path).stringByStandardizingPath;
|
||||||
|
displayName:= NSFileManager.defaultManager.displayNameAtPath( cocoaPath );
|
||||||
|
Result:= displayName.UTF8String;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.getUniqueIcon(const path: String): NSImage;
|
||||||
|
function hasUniqueIcon( const path: String ): Boolean;
|
||||||
|
var
|
||||||
|
pathRef: FSRef;
|
||||||
|
catalogInfo: FSCatalogInfo;
|
||||||
|
pFinderInfo: FileInfoPtr;
|
||||||
|
begin
|
||||||
|
FSPathMakeRef( pchar(path), pathRef, nil );
|
||||||
|
FSGetCatalogInfo( pathRef, kFSCatInfoFinderInfo, @catalogInfo, nil, nil, nil );
|
||||||
|
pFinderInfo:= FileInfoPtr( @catalogInfo.finderInfo );
|
||||||
|
Result:= (pFinderInfo^.finderFlags and kHasCustomIcon) <> 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function hasSpecialFolderExt( const path: String ): Boolean;
|
||||||
|
var
|
||||||
|
ext: NSString;
|
||||||
|
begin
|
||||||
|
ext:= StringToNSString(path).pathExtension.lowercaseString;
|
||||||
|
ext:= NSSTR('.').stringByAppendingString(ext).stringByAppendingString(NSSTR(';'));
|
||||||
|
Result:= ICON_SPECIAL_FOLDER_EXT.containsString( ext );
|
||||||
|
end;
|
||||||
|
|
||||||
|
function inSpecialParentFolder( const path: String ): Boolean;
|
||||||
|
var
|
||||||
|
parentPath: NSString;
|
||||||
|
begin
|
||||||
|
parentPath:= StringToNSString(path).stringByDeletingLastPathComponent;
|
||||||
|
parentPath:= parentPath.stringByAppendingString(NSSTR(';'));
|
||||||
|
Result:= ICON_SPECIAL_PARENT_FOLDER.containsString( parentPath );
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:= nil;
|
||||||
|
if hasUniqueIcon(path) or hasSpecialFolderExt(path) or inSpecialParentFolder(path) then
|
||||||
|
Result:= NSWorkspace.sharedWorkspace.iconForFile( StringToNSString(path) );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.getTempPath: String;
|
||||||
|
begin
|
||||||
|
Result:= IncludeTrailingBackslash(NSTemporaryDirectory.UTF8String);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.getTerminalPath(): String;
|
||||||
|
begin
|
||||||
|
Result:= NSStringToString( NSWorkspace.sharedWorkspace.fullPathForApplication( NSStr('terminal') ) );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.getSpecifiedFolderPath(folder: NSSearchPathDirectory
|
||||||
|
): String;
|
||||||
|
var
|
||||||
|
Path: NSArray;
|
||||||
|
begin
|
||||||
|
Path:= NSFileManager.defaultManager.URLsForDirectory_inDomains(folder, NSUserDomainMask);
|
||||||
|
if Path.count > 0 then
|
||||||
|
begin
|
||||||
|
Result:= IncludeTrailingBackslash(NSURL(Path.objectAtIndex(0)).path.UTF8String) + ApplicationName;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.dataWithContentsOfFile
|
||||||
|
( const path: NSString; const tag: String ): NSData;
|
||||||
|
var
|
||||||
|
error: NSError = nil;
|
||||||
|
begin
|
||||||
|
Result:= NSData.dataWithContentsOfFile_options_error( path, 0, @error );
|
||||||
|
if error <> nil then
|
||||||
|
logDarwinError( tag, error );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.dataWithContentsOfFile(
|
||||||
|
const path: String; const tag: String ): NSData;
|
||||||
|
begin
|
||||||
|
Result:= TDarwinFileUtil.dataWithContentsOfFile( StringToNSString(path), tag );
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.getDescription(const path: String): String;
|
||||||
|
var
|
||||||
|
error: NSError = nil;
|
||||||
|
WS: NSWorkspace;
|
||||||
|
FileType: NSString;
|
||||||
|
FileNameRef: CFStringRef;
|
||||||
|
begin
|
||||||
|
WS:= NSWorkspace.sharedWorkspace;
|
||||||
|
FileNameRef:= StringToCFStringRef(path);
|
||||||
|
if (FileNameRef = nil) then Exit(EmptyStr);
|
||||||
|
FileType:= WS.typeOfFile_error(NSString(FileNameRef), @error);
|
||||||
|
if (FileType = nil) then
|
||||||
|
Result:= error.localizedDescription.UTF8String
|
||||||
|
else begin
|
||||||
|
Result:= WS.localizedDescriptionForType(FileType).UTF8String;
|
||||||
|
end;
|
||||||
|
CFRelease(FileNameRef);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TDarwinFileUtil.resolveAlias(const path: String): String;
|
||||||
|
var
|
||||||
|
ASource: NSURL;
|
||||||
|
ATarget: NSURL;
|
||||||
|
error: NSError = nil;
|
||||||
|
begin
|
||||||
|
Result:= EmptyStr;
|
||||||
|
ASource:= NSURL.fileURLWithPath(StringToNSString(path));
|
||||||
|
ATarget:= NSURL.URLByResolvingAliasFileAtURL_options_error(
|
||||||
|
ASource, NSURLBookmarkResolutionWithoutUI, @error );
|
||||||
|
if Assigned(ATarget) then
|
||||||
|
Result:= ATarget.fileSystemRepresentation
|
||||||
|
else
|
||||||
|
logDarwinError( 'TDarwinFileUtil.resolveAlias', error );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Initialize;
|
||||||
|
begin
|
||||||
|
TDarwinFileUtil.NetFS:= LoadLibrary('/System/Library/Frameworks/NetFS.framework/NetFS');
|
||||||
|
if (TDarwinFileUtil.NetFS <> NilHandle) then
|
||||||
|
begin
|
||||||
|
@TDarwinFileUtil.NetFSMountURLSync:= GetProcAddress(TDarwinFileUtil.NetFS, 'NetFSMountURLSync');
|
||||||
|
end;
|
||||||
|
TDarwinFileUtil.CoreServices:= LoadLibrary('/System/Library/Frameworks/CoreServices.framework/CoreServices');
|
||||||
|
if (TDarwinFileUtil.CoreServices <> NilHandle) then
|
||||||
|
begin
|
||||||
|
@TDarwinFileUtil.FSMountServerVolumeSync:= GetProcAddress(TDarwinFileUtil.CoreServices, 'FSMountServerVolumeSync');
|
||||||
|
end;
|
||||||
|
TDarwinFileUtil.isMountSupported:= Assigned(TDarwinFileUtil.NetFSMountURLSync) or Assigned(TDarwinFileUtil.FSMountServerVolumeSync);
|
||||||
|
|
||||||
|
ICON_SPECIAL_FOLDER_EXT:= StringToNSString( ICON_SPECIAL_FOLDER_EXT_STRING );
|
||||||
|
ICON_SPECIAL_FOLDER_EXT.retain;
|
||||||
|
ICON_SPECIAL_PARENT_FOLDER:= StringToNSString( ICON_SPECIAL_PARENT_FOLDER_STRING );
|
||||||
|
ICON_SPECIAL_PARENT_FOLDER:= ICON_SPECIAL_PARENT_FOLDER.stringByReplacingOccurrencesOfString_withString( NSSTR('~'), NSHomeDirectory );
|
||||||
|
ICON_SPECIAL_PARENT_FOLDER.retain;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Finalize;
|
||||||
|
begin
|
||||||
|
if (TDarwinFileUtil.NetFS <> NilHandle) then FreeLibrary(TDarwinFileUtil.NetFS);
|
||||||
|
if (TDarwinFileUtil.CoreServices <> NilHandle) then FreeLibrary(TDarwinFileUtil.CoreServices);
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
Initialize;
|
||||||
|
|
||||||
|
finalization
|
||||||
|
Finalize;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
104
src/platform/unix/darwin/udarwinfileproperty.pas
Normal file
104
src/platform/unix/darwin/udarwinfileproperty.pas
Normal file
|
|
@ -0,0 +1,104 @@
|
||||||
|
unit uDarwinFileProperty;
|
||||||
|
|
||||||
|
{$mode delphi}
|
||||||
|
{$modeswitch objectivec2}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils,
|
||||||
|
CocoaAll,
|
||||||
|
uFileProperty, uDarwinFinderModel, uDarwinUtil;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TDarwinFilePropertyUtil }
|
||||||
|
|
||||||
|
TDarwinFilePropertyUtil = class
|
||||||
|
class function getSpecificProperty( const path: String ): TFileMacOSSpecificProperty;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
class function TDarwinFilePropertyUtil.getSpecificProperty(const path: String
|
||||||
|
): TFileMacOSSpecificProperty;
|
||||||
|
var
|
||||||
|
url: NSURL;
|
||||||
|
|
||||||
|
function toPrimaryColors(const tagNames: NSArray): TFileFinderTagPrimaryColors;
|
||||||
|
var
|
||||||
|
visualTagNames: NSMutableArray;
|
||||||
|
tagName: NSString;
|
||||||
|
tag: TFinderTag;
|
||||||
|
iSource: NSUInteger;
|
||||||
|
iDest: Integer;
|
||||||
|
colorIndex: Integer;
|
||||||
|
begin
|
||||||
|
visualTagNames:= NSMutableArray.new;
|
||||||
|
for iSource:= 0 to tagNames.count-1 do begin
|
||||||
|
tagName:= NSString( tagNames.objectAtIndex(iSource) );
|
||||||
|
tag:= TFinderTags.getTagOfName( tagName );
|
||||||
|
if tag.colorIndex <= 0 then
|
||||||
|
continue;
|
||||||
|
visualTagNames.addObject( tagName );
|
||||||
|
end;
|
||||||
|
|
||||||
|
iSource:= 0;
|
||||||
|
if visualTagNames.count > 3 then
|
||||||
|
iSource:= visualTagNames.count - 3;
|
||||||
|
for iDest:=0 to 2 do begin
|
||||||
|
colorIndex:= -1;
|
||||||
|
if iSource < visualTagNames.count then begin
|
||||||
|
tagName:= NSString( visualTagNames.objectAtIndex(iSource) );
|
||||||
|
tag:= TFinderTags.getTagOfName( tagName );
|
||||||
|
colorIndex:= tag.colorIndex;
|
||||||
|
end;
|
||||||
|
Result.indexes[iDest]:= colorIndex;
|
||||||
|
inc( iSource );
|
||||||
|
end;
|
||||||
|
|
||||||
|
visualTagNames.release;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function getTagPrimaryColors: TFileFinderTagPrimaryColors;
|
||||||
|
var
|
||||||
|
tagNames: NSArray;
|
||||||
|
begin
|
||||||
|
Result.intValue:= -1;
|
||||||
|
tagNames:= TDarwinFinderModelUtil.getTagNamesOfFile( url );
|
||||||
|
if tagNames = nil then
|
||||||
|
Exit;
|
||||||
|
Result:= toPrimaryColors( tagNames );
|
||||||
|
end;
|
||||||
|
|
||||||
|
function isSeedFile: Boolean;
|
||||||
|
var
|
||||||
|
name: NSString;
|
||||||
|
status: NSString;
|
||||||
|
error: NSError = nil;
|
||||||
|
ok: Boolean;
|
||||||
|
begin
|
||||||
|
name:= url.lastPathComponent;
|
||||||
|
if name.isEqualToString(NSSTR('..')) then
|
||||||
|
Exit( False );
|
||||||
|
if name.hasPrefix(NSSTR('.')) and name.hasSuffix(NSSTR('.icloud')) then
|
||||||
|
Exit( True );
|
||||||
|
|
||||||
|
ok:= url.getResourceValue_forKey_error( @status, NSURLUbiquitousItemDownloadingStatusKey, @error );
|
||||||
|
if NOT ok then
|
||||||
|
logDarwinError( 'TDarwinFileUtil.getSpecificProperty.isSeedFile()', error );
|
||||||
|
if status = nil then
|
||||||
|
Exit( False );
|
||||||
|
|
||||||
|
Result:= NOT status.isEqualToString( NSURLUbiquitousItemDownloadingStatusCurrent );
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:= TFileMacOSSpecificProperty.Create;
|
||||||
|
url:= NSURL.fileURLWithPath( StringToNSString(path) );
|
||||||
|
Result.FinderTagPrimaryColors:= getTagPrimaryColors;
|
||||||
|
Result.IsiCloudSeedFile:= isSeedFile;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
|
|
@ -1,50 +1,143 @@
|
||||||
unit uDarwinFileView;
|
unit uDarwinFileView;
|
||||||
|
|
||||||
{$mode ObjFPC}{$H+}
|
{$mode ObjFPC}{$H+}
|
||||||
|
{$modeswitch objectivec2}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
SysUtils, Classes,
|
SysUtils, Classes,
|
||||||
uiCloudDriver, uSearchResultFileSource, uFile, uFileSystemFileSource, uFileSource,
|
uiCloudDrive, uSearchResultFileSource, uFileSystemFileSource, uFileSource,
|
||||||
fMain, uFileViewNotebook, ulng;
|
uFile, uDisplayFile, uFileProperty,
|
||||||
|
uFileView, uFileViewNotebook,
|
||||||
|
uDarwinFinderModel,
|
||||||
|
ulng,
|
||||||
|
MacOSAll, CocoaAll;
|
||||||
|
|
||||||
type
|
type
|
||||||
uDarwinFileViewUtil = class
|
|
||||||
class procedure addSearchTagResultPage( const searchName: String; const files: TStringArray );
|
TActvieNoteBookFunc = function (): TFileViewNotebook of object;
|
||||||
class procedure addiCloudDriverPage;
|
TActiveFrameFunc = function (): TFileView of object;
|
||||||
|
|
||||||
|
{ TDarwinFileViewUtil }
|
||||||
|
|
||||||
|
TDarwinFileViewUtil = class
|
||||||
|
private
|
||||||
|
class var _activeNoteBookFunc: TActvieNoteBookFunc;
|
||||||
|
class var _activeFrameFunc: TActiveFrameFunc;
|
||||||
|
public
|
||||||
|
class procedure init(
|
||||||
|
const activeNoteBookFunc: TActvieNoteBookFunc;
|
||||||
|
const activeFrameFunc: TActiveFrameFunc );
|
||||||
|
class procedure addFinderSearchResultPage( const searchName: String; const files: TStringArray );
|
||||||
|
class procedure addiCloudDrivePage;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TDarwinSearchResultHandler = class
|
||||||
|
procedure onSearchFinderTagComplete( const searchName: String; const files: TStringArray );
|
||||||
|
end;
|
||||||
|
|
||||||
|
TDarwinFileViewDrawHandler = class
|
||||||
|
procedure onDrawCell( var params: TFileSourceUIParams );
|
||||||
|
procedure drawTagsAsDecoration(
|
||||||
|
const colors: TFileFinderTagPrimaryColors; const drawRect: TRect; const focused: Boolean );
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
darwinSearchResultHandler: TDarwinSearchResultHandler;
|
||||||
|
darwinFileViewDrawHandler: TDarwinFileViewDrawHandler;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TFinderTagSearchResultFileSource }
|
{ TFinderSearchResultFileSource }
|
||||||
|
|
||||||
TFinderTagSearchResultFileSource = class( TSearchResultFileSource )
|
TFinderSearchResultFileSource = class( TSearchResultFileSource )
|
||||||
private
|
private
|
||||||
_tagName: String;
|
_searchName: String;
|
||||||
public
|
public
|
||||||
constructor Create( tagName: String );
|
constructor Create( searchName: String );
|
||||||
function GetRootDir(sPath: String): String; override;
|
function GetRootDir(sPath: String): String; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TFinderTagSearchResultFileSource }
|
{ TFinderTagSearchResultFileSource }
|
||||||
|
|
||||||
constructor TFinderTagSearchResultFileSource.Create(tagName: String);
|
constructor TFinderSearchResultFileSource.Create(searchName: String);
|
||||||
begin
|
begin
|
||||||
Inherited Create;
|
Inherited Create;
|
||||||
_tagName:= tagName;
|
_searchName:= searchName;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TFinderTagSearchResultFileSource.GetRootDir(sPath: String): String;
|
function TFinderSearchResultFileSource.GetRootDir(sPath: String): String;
|
||||||
begin
|
begin
|
||||||
Result:= PathDelim + PathDelim + PathDelim + rsSearchResult + ': ' + _tagName + PathDelim;
|
Result:= PathDelim + PathDelim + PathDelim + rsSearchResult + ': ' + _searchName + PathDelim;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ uDarwinFileViewUtil }
|
{ TDarwinSearchResultHandler }
|
||||||
|
|
||||||
class procedure uDarwinFileViewUtil.addSearchTagResultPage( const searchName: String; const files: TStringArray);
|
procedure TDarwinSearchResultHandler.onSearchFinderTagComplete(const searchName: String;
|
||||||
|
const files: TStringArray);
|
||||||
|
begin
|
||||||
|
TDarwinFileViewUtil.addFinderSearchResultPage( searchName, files );
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TDarwinFileViewDrawHandler }
|
||||||
|
|
||||||
|
procedure TDarwinFileViewDrawHandler.onDrawCell( var params: TFileSourceUIParams );
|
||||||
|
var
|
||||||
|
macOSProperty: TFileMacOSSpecificProperty;
|
||||||
|
begin
|
||||||
|
if params.multiColumns AND (params.col<>0) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
macOSProperty:= params.displayFile.FSFile.MacOSSpecificProperty;
|
||||||
|
if macOSProperty = nil then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
drawTagsAsDecoration( macOSProperty.FinderTagPrimaryColors, params.decorationRect, params.focused );
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDarwinFileViewDrawHandler.drawTagsAsDecoration(
|
||||||
|
const colors: TFileFinderTagPrimaryColors; const drawRect: TRect;
|
||||||
|
const focused: Boolean);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
colorIndex: Integer;
|
||||||
|
color: NSColor;
|
||||||
|
tagRect: NSRect;
|
||||||
|
path: NSBezierPath;
|
||||||
|
begin
|
||||||
|
tagRect.size.width:= 11;
|
||||||
|
tagRect.size.height:= 11;
|
||||||
|
tagRect.origin.x:= drawRect.Right - 17;
|
||||||
|
tagRect.origin.y:= drawRect.Top + (drawRect.Height-tagRect.size.height)/2;
|
||||||
|
|
||||||
|
for i:=0 to 2 do begin
|
||||||
|
colorIndex:= colors.indexes[i];
|
||||||
|
if colorIndex < 0 then
|
||||||
|
break;
|
||||||
|
color:= TDarwinFinderModelUtil.decorationFinderTagNSColors[colorIndex];
|
||||||
|
color.set_;
|
||||||
|
path:= NSBezierPath.bezierPathWithOvalInRect( tagRect );
|
||||||
|
path.fill;
|
||||||
|
NSColor.alternateSelectedControlTextColor.set_;
|
||||||
|
path.stroke;
|
||||||
|
tagRect.origin.x:= tagRect.origin.x - 5;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TDarwinFileViewUtil }
|
||||||
|
|
||||||
|
class procedure TDarwinFileViewUtil.init(
|
||||||
|
const activeNoteBookFunc: TActvieNoteBookFunc;
|
||||||
|
const activeFrameFunc: TActiveFrameFunc);
|
||||||
|
begin
|
||||||
|
_activeNoteBookFunc:= activeNoteBookFunc;
|
||||||
|
_activeFrameFunc:= activeFrameFunc;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TDarwinFileViewUtil.addFinderSearchResultPage( const searchName: String; const files: TStringArray);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
count: Integer;
|
count: Integer;
|
||||||
|
|
@ -64,12 +157,12 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Add new tab for search results.
|
// Add new tab for search results.
|
||||||
Notebook := frmMain.ActiveNotebook;
|
Notebook := _activeNoteBookFunc();
|
||||||
NewPage := Notebook.NewPage(Notebook.ActiveView);
|
NewPage := Notebook.NewPage(Notebook.ActiveView);
|
||||||
|
|
||||||
// Create search result file source.
|
// Create search result file source.
|
||||||
// Currently only searching FileSystem is supported.
|
// Currently only searching FileSystem is supported.
|
||||||
SearchResultFS := TFinderTagSearchResultFileSource.Create( searchName );
|
SearchResultFS := TFinderSearchResultFileSource.Create( searchName );
|
||||||
SearchResultFS.AddList(FileList, Notebook.ActiveView.FileSource);
|
SearchResultFS.AddList(FileList, Notebook.ActiveView.FileSource);
|
||||||
|
|
||||||
NewPage.FileView.AddFileSource(SearchResultFS, SearchResultFS.GetRootDir);
|
NewPage.FileView.AddFileSource(SearchResultFS, SearchResultFS.GetRootDir);
|
||||||
|
|
@ -77,14 +170,21 @@ begin
|
||||||
NewPage.MakeActive;
|
NewPage.MakeActive;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class procedure uDarwinFileViewUtil.addiCloudDriverPage;
|
class procedure TDarwinFileViewUtil.addiCloudDrivePage;
|
||||||
var
|
var
|
||||||
iCloudFS: TiCloudDriverFileSource;
|
iCloudFS: TiCloudDriveFileSource;
|
||||||
begin
|
begin
|
||||||
iCloudFS := TiCloudDriverFileSource.GetFileSource;
|
iCloudFS := TiCloudDriveFileSource.GetFileSource;
|
||||||
frmMain.ActiveFrame.AddFileSource(iCloudFS, iCloudFS.GetRootDir);
|
_activeFrameFunc().AddFileSource(iCloudFS, iCloudFS.GetRootDir);
|
||||||
frmMain.ActiveFrame.SetFocus;
|
_activeFrameFunc().SetFocus;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
darwinSearchResultHandler:= TDarwinSearchResultHandler.Create;
|
||||||
|
darwinFileViewDrawHandler:= TDarwinFileViewDrawHandler.Create;
|
||||||
|
|
||||||
|
finalization
|
||||||
|
FreeAndNil( darwinSearchResultHandler );
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue