mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +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 TARGET=x86_64-apple-darwin
|
||||
# Set minimal Mac OS X target version
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.11
|
||||
export MACOSX_DEPLOYMENT_TARGET=11.0
|
||||
|
||||
build_unrar
|
||||
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
|
||||
export CPU_TARGET=x86_64
|
||||
# Set minimal Mac OS X target version
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.11
|
||||
export MACOSX_DEPLOYMENT_TARGET=11.0
|
||||
|
||||
build_doublecmd
|
||||
|
|
|
|||
10
.github/workflows/release.yml
vendored
10
.github/workflows/release.yml
vendored
|
|
@ -11,7 +11,7 @@ concurrency:
|
|||
|
||||
jobs:
|
||||
build-mac:
|
||||
runs-on: macos-13
|
||||
runs-on: macos-14
|
||||
steps:
|
||||
- name: Install Free Pascal
|
||||
uses: doublecmd/lazarus-install@mac
|
||||
|
|
@ -19,13 +19,15 @@ jobs:
|
|||
lazarus-version: "stable"
|
||||
|
||||
- name: Get Lazarus source
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
repository: 'fpc/Lazarus'
|
||||
ref: 'fixes_4'
|
||||
|
||||
- name: Build and install Lazarus
|
||||
run: make all install
|
||||
run: |
|
||||
make all
|
||||
sudo make install
|
||||
|
||||
- name: Create Lazarus config
|
||||
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
|
||||
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
|
|
|||
6
.github/workflows/snapshots.yml
vendored
6
.github/workflows/snapshots.yml
vendored
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
lazarus-version: "stable"
|
||||
|
||||
- name: Get Lazarus source
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
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
|
||||
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ jobs:
|
|||
lazarus-version: "stable"
|
||||
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,8 @@
|
|||
|
||||
unit DCDateTimeUtils;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$mode objfpc}
|
||||
{$H+}{$R-}{$Q-}
|
||||
|
||||
interface
|
||||
|
||||
|
|
@ -327,8 +328,20 @@ begin
|
|||
end;
|
||||
{$ELSEIF DEFINED(UNIX)}
|
||||
begin
|
||||
Result.Sec:= Int64((FileTime - UnixWinEpoch) div 10000000);
|
||||
Result.NanoSec:= Int64((FileTime - UnixWinEpoch) mod 10000000) * 100;
|
||||
if (FileTime >= UnixWinEpoch) then
|
||||
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;
|
||||
{$ENDIF}
|
||||
|
||||
|
|
@ -583,31 +596,10 @@ end;
|
|||
function DateTimeToUnixFileTime(DateTime : TDateTime): TUnixFileTime;
|
||||
{$IF DEFINED(UNIX)}
|
||||
var
|
||||
AUnixTime: TTime;
|
||||
ATime: TTimeStruct;
|
||||
Year, Month, Day: Word;
|
||||
Hour, Minute, Second, MilliSecond: Word;
|
||||
AUnixTime: TFileTimeEx;
|
||||
begin
|
||||
DecodeDate(DateTime, Year, Month, Day);
|
||||
DecodeTime(DateTime, Hour, Minute, Second, MilliSecond);
|
||||
|
||||
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;
|
||||
AUnixTime:= DateTimeToUnixFileTimeEx(DateTime);
|
||||
Result:= TUnixFileTime(AUnixTime.Sec);
|
||||
end;
|
||||
{$ELSE}
|
||||
var
|
||||
|
|
@ -626,9 +618,6 @@ var
|
|||
Year, Month, Day: Word;
|
||||
Hour, Minute, Second, MilliSecond: Word;
|
||||
begin
|
||||
if DateTime < UnixEpoch then
|
||||
raise EDateOutOfRange.Create(DateTime);
|
||||
|
||||
DecodeDate(DateTime, Year, Month, Day);
|
||||
DecodeTime(DateTime, Hour, Minute, Second, MilliSecond);
|
||||
|
||||
|
|
@ -647,6 +636,7 @@ begin
|
|||
if (AUnixTime = -1) then
|
||||
Result:= TFileTimeExNull
|
||||
else begin
|
||||
if (AUnixTime < 0) then MilliSecond:= 0;
|
||||
Result:= TFileTimeEx.Create(AUnixTime, MilliSecond * 1000 * 1000);
|
||||
end;
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ const
|
|||
fmOpenSync = $10000;
|
||||
fmOpenDirect = $20000;
|
||||
fmOpenNoATime = $40000;
|
||||
fmOpenSpecial = $80000;
|
||||
|
||||
{$IF DEFINED(UNIX)}
|
||||
ERROR_NOT_SAME_DEVICE = ESysEXDEV;
|
||||
|
|
@ -56,6 +57,8 @@ const
|
|||
ERROR_NOT_SAME_DEVICE = Windows.ERROR_NOT_SAME_DEVICE;
|
||||
{$ENDIF}
|
||||
|
||||
FileNameNormalized = {$IFDEF DARWIN}True{$ELSE}False{$ENDIF};
|
||||
|
||||
type
|
||||
TFileMapRec = record
|
||||
FileHandle : System.THandle;
|
||||
|
|
@ -182,6 +185,8 @@ function MapFile(const sFileName : String; out FileMapRec : TFileMapRec) : Boole
|
|||
}
|
||||
procedure UnMapFile(var FileMapRec : TFileMapRec);
|
||||
|
||||
function NormalizeFileName(const Source: String): String;
|
||||
|
||||
{en
|
||||
Convert from console to UTF8 encoding.
|
||||
}
|
||||
|
|
@ -335,6 +340,9 @@ uses
|
|||
{$ENDIF}
|
||||
{$IF DEFINED(UNIX)}
|
||||
Unix, dl,
|
||||
{$ENDIF}
|
||||
{$IF DEFINED(DARWIN)}
|
||||
LazFileUtils,
|
||||
{$ENDIF}
|
||||
DCStrUtils, LazUTF8;
|
||||
|
||||
|
|
@ -845,6 +853,17 @@ begin
|
|||
end;
|
||||
{$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;
|
||||
{$IFDEF MSWINDOWS}
|
||||
begin
|
||||
|
|
@ -874,6 +893,8 @@ begin
|
|||
end;
|
||||
end;
|
||||
{$ELSE}
|
||||
var
|
||||
Info: BaseUnix.Stat;
|
||||
begin
|
||||
repeat
|
||||
Result:= fpOpen(UTF8ToSys(FileName), AccessModes[Mode and 3] or
|
||||
|
|
@ -882,6 +903,18 @@ begin
|
|||
if Result <> feInvalidHandle then
|
||||
begin
|
||||
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 (Mode and (fmOpenSync or fmOpenDirect) <> 0) then
|
||||
begin
|
||||
|
|
@ -1605,8 +1638,16 @@ begin
|
|||
Result := mbFileGetAttr(Path) <> faInvalidAttributes;
|
||||
end;
|
||||
|
||||
function mbCompareFileNames(const FileName1, FileName2: String): Boolean; inline;
|
||||
{$IF DEFINED(WINDOWS) OR DEFINED(DARWIN)}
|
||||
function mbCompareFileNames(const FileName1, FileName2: String): Boolean;
|
||||
{$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
|
||||
Result:= (UnicodeCompareText(CeUtf8ToUtf16(FileName1), CeUtf8ToUtf16(FileName2)) = 0);
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -42,12 +42,14 @@ type
|
|||
private
|
||||
FList: PStringHashItemList;
|
||||
FCount: Integer;
|
||||
fNormalize: Boolean;
|
||||
fCaseSensitive: Boolean;
|
||||
function BinarySearch(HashValue: Cardinal): Integer;
|
||||
function CompareString(const Low, Key: String): Boolean;
|
||||
function CompareValue(const Value1, Value2: Cardinal): Integer;
|
||||
procedure FindHashBoundaries(HashValue: Cardinal; StartFrom: Integer; out First, Last: Integer);
|
||||
function GetData(const S: String): Pointer;
|
||||
procedure SetNormalize(AValue: Boolean);
|
||||
procedure SetCaseSensitive(const Value: Boolean);
|
||||
procedure Delete(Index: Integer);
|
||||
procedure SetData(const S: String; const AValue: Pointer);
|
||||
|
|
@ -66,6 +68,7 @@ type
|
|||
function Remove(const S: String): Integer;
|
||||
function Remove(const S: String; Data: Pointer): Integer;
|
||||
procedure FindBoundaries(StartFrom: Integer; out First, Last: Integer);
|
||||
property Normalize: Boolean read fNormalize write SetNormalize;
|
||||
property CaseSensitive: Boolean read fCaseSensitive write SetCaseSensitive;
|
||||
property Count: Integer read FCount;
|
||||
property Data[const S: String]: Pointer read GetData write SetData; default;
|
||||
|
|
@ -75,7 +78,7 @@ type
|
|||
implementation
|
||||
|
||||
uses
|
||||
LazUTF8;
|
||||
LazUTF8, DCOSUtils;
|
||||
|
||||
{ TStringHashListUtf8 }
|
||||
|
||||
|
|
@ -97,6 +100,10 @@ begin
|
|||
else begin
|
||||
Text:= UTF8LowerCase(S);
|
||||
end;
|
||||
if fNormalize then
|
||||
begin
|
||||
Text:= NormalizeFileName(Text);
|
||||
end;
|
||||
New(Item);
|
||||
Val:= HashOf(Text);
|
||||
Item^.HashValue := Val;
|
||||
|
|
@ -180,13 +187,20 @@ var
|
|||
begin
|
||||
P:= Pointer(Low);
|
||||
Len:= Length(Low);
|
||||
if fCaseSensitive then
|
||||
if not fNormalize then
|
||||
begin
|
||||
Result:= (Len = Length(Key));
|
||||
if Result then Result:= (CompareByte(P^, Pointer(Key)^, Len) = 0);
|
||||
LKey:= Key;
|
||||
end
|
||||
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));
|
||||
if Result then Result:= (CompareByte(P^, Pointer(LKey)^, Len) = 0);
|
||||
end;
|
||||
|
|
@ -232,6 +246,18 @@ begin
|
|||
Add(S,AValue);
|
||||
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;
|
||||
begin
|
||||
Clear;
|
||||
|
|
@ -249,6 +275,10 @@ begin
|
|||
else begin
|
||||
Text:= UTF8LowerCase(S);
|
||||
end;
|
||||
if fNormalize then
|
||||
begin
|
||||
Text:= NormalizeFileName(Text);
|
||||
end;
|
||||
Value:= HashOf(Text);
|
||||
Result:= BinarySearch(Value);
|
||||
if (Result <> -1) and not CompareString(Text, FList[Result]^.Key) then
|
||||
|
|
@ -275,6 +305,10 @@ begin
|
|||
else begin
|
||||
Text:= UTF8LowerCase(S);
|
||||
end;
|
||||
if fNormalize then
|
||||
begin
|
||||
Text:= NormalizeFileName(Text);
|
||||
end;
|
||||
Value:= HashOf(Text);
|
||||
Result:= BinarySearch(Value);
|
||||
if (Result <> -1) and
|
||||
|
|
@ -335,7 +369,8 @@ end;
|
|||
|
||||
constructor TStringHashListUtf8.Create(CaseSensitivity: boolean);
|
||||
begin
|
||||
fCaseSensitive:=CaseSensitivity;
|
||||
fNormalize:= FileNameNormalized;
|
||||
fCaseSensitive:= CaseSensitivity;
|
||||
inherited Create;
|
||||
end;
|
||||
|
||||
|
|
|
|||
|
|
@ -752,12 +752,12 @@ begin
|
|||
|
||||
sBasePath := IncludeTrailingPathDelimiter(sBasePath);
|
||||
|
||||
BasePathLength := Length(sBasePath);
|
||||
PathToCheckLength := Length(sPathToCheck);
|
||||
BasePathLength := UTF8Length(sBasePath);
|
||||
PathToCheckLength := UTF8Length(sPathToCheck);
|
||||
|
||||
if PathToCheckLength > BasePathLength then
|
||||
begin
|
||||
if mbCompareFileNames(Copy(sPathToCheck, 1, BasePathLength), sBasePath) then
|
||||
if mbCompareFileNames(UTF8Copy(sPathToCheck, 1, BasePathLength), sBasePath) then
|
||||
begin
|
||||
if AllowSubDirs then
|
||||
Result := True
|
||||
|
|
@ -766,10 +766,10 @@ begin
|
|||
// Additionally check if the remaining path is a relative path.
|
||||
|
||||
// Look for a path delimiter in the middle of the filepath.
|
||||
sPathToCheck := Copy(sPathToCheck, 1 + BasePathLength,
|
||||
sPathToCheck := UTF8Copy(sPathToCheck, 1 + BasePathLength,
|
||||
PathToCheckLength - BasePathLength);
|
||||
|
||||
DelimiterPos := Pos(DirectorySeparator, sPathToCheck);
|
||||
DelimiterPos := UTF8Pos(DirectorySeparator, sPathToCheck);
|
||||
|
||||
// If no delimiter was found or it was found at then end (directories
|
||||
// may end with it), then the 'sPathToCheck' is in 'sBasePath'.
|
||||
|
|
@ -784,7 +784,7 @@ begin
|
|||
(((PathToCheckLength = BasePathLength) and
|
||||
(mbCompareFileNames(sPathToCheck, sBasePath))) or
|
||||
((PathToCheckLength = BasePathLength - 1) and
|
||||
(mbCompareFileNames(Copy(sBasePath, 1, PathToCheckLength), sPathToCheck))));
|
||||
(mbCompareFileNames(UTF8Copy(sBasePath, 1, PathToCheckLength), sPathToCheck))));
|
||||
end;
|
||||
|
||||
function ExtractDirLevel(const sPrefix, sPath: String): String;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
export REVISION_INC=$2/units/dcrevision.inc
|
||||
|
||||
# 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)
|
||||
|
||||
# Update dcrevision.inc
|
||||
|
|
|
|||
|
|
@ -3343,7 +3343,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3351,8 +3351,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Галоўны пароль"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3379,7 +3381,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3387,7 +3389,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -10826,11 +10828,13 @@ msgstr "Не выкарыстоўваць \"ENTER\""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10868,6 +10872,17 @@ msgstr "Спіс акон \"Пошук файлаў\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Скасаваць вылучэнне"
|
||||
|
|
@ -10988,6 +11003,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11006,13 +11041,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11164,11 +11199,13 @@ msgstr "Выняць"
|
|||
msgid "Extract here..."
|
||||
msgstr "Распакаваць сюды..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12077,11 +12114,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Сцерці каталог %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Галоўны пароль"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Калі ласка, ўвядзіце галоўны пароль:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3439,7 +3439,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3447,8 +3447,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Главна парола"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3475,7 +3477,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3483,7 +3485,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11298,11 +11300,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11340,6 +11344,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Признак за смяна на избора"
|
||||
|
|
@ -11460,6 +11475,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11478,13 +11513,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11636,11 +11671,13 @@ msgstr "Изваждане"
|
|||
msgid "Extract here..."
|
||||
msgstr "Извличане тук..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12537,11 +12574,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Унищожаване на папка „%s‟"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Главна парола"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3666,7 +3666,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3674,8 +3674,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Contrasenya mestra"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3702,7 +3704,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3710,7 +3712,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11775,11 +11777,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11817,6 +11821,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Màscara a deselecció"
|
||||
|
|
@ -11936,6 +11951,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11954,13 +11989,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12111,11 +12146,13 @@ msgstr "Expulsa"
|
|||
msgid "Extract here..."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -13013,11 +13050,12 @@ msgid "Wipe directory %s"
|
|||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Contrasenya mestra"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Per favor, introduiu la contrasenya mestra:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3353,7 +3353,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3361,8 +3361,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hlavní heslo"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3389,7 +3391,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3397,7 +3399,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10890,6 +10894,17 @@ msgstr "Seznam hledacích oken"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Maska zrušení výběru"
|
||||
|
|
@ -11010,6 +11025,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11028,13 +11063,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11186,11 +11221,13 @@ msgstr "Vysunout"
|
|||
msgid "Extract here..."
|
||||
msgstr "Rozbalit zde..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12101,11 +12138,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Nevratně smaže adresář %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hlavní heslo"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Prosíme zadejte hlavní heslo:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3565,7 +3565,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3573,8 +3573,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hovedadgangskode"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3601,7 +3603,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3609,7 +3611,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11935,6 +11939,17 @@ msgstr "Oversigt over \"Find filer\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Indskrænk valg"
|
||||
|
|
@ -12056,6 +12071,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -12074,13 +12109,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12234,11 +12269,13 @@ msgstr "Skub ud"
|
|||
msgid "Extract here..."
|
||||
msgstr "Udpak her..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -13158,11 +13195,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Sikker sletning af mappe %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hovedadgangskode"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Indtast venligst hovedadgangskoden:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
||||
"Report-Msgid-Bugs-To: \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"
|
||||
"Language-Team: Deutsch <braass@mail.de>\n"
|
||||
"Language: de\n"
|
||||
|
|
@ -3334,58 +3334,58 @@ msgstr "Ode&r vordefinierten Auswahltyp wählen:"
|
|||
|
||||
#: tfrmmasterkey.btntest.caption
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
msgstr "Test"
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgstr ""
|
||||
msgid "Create Key"
|
||||
msgstr "Schlüssel erstellen"
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
msgid "Key transformation"
|
||||
msgstr ""
|
||||
msgstr "Transformation der Schlüssel"
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hauptpasswort"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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
|
||||
msgid "&Key derivation function:"
|
||||
msgstr ""
|
||||
msgstr "Schlüsselableitungsfunktion:"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||
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
|
||||
msgid "&Iterations:"
|
||||
msgstr ""
|
||||
msgstr "Wiederholungen:"
|
||||
|
||||
#: tfrmmasterkey.lblmemory.caption
|
||||
msgid "&Memory:"
|
||||
msgstr ""
|
||||
msgstr "Speicher:"
|
||||
|
||||
#: tfrmmasterkey.lblparallelism.caption
|
||||
msgid "&Parallelism:"
|
||||
msgstr ""
|
||||
msgstr "Parallelität (Übereinstimmung):"
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgstr ""
|
||||
msgid "Pass&word:"
|
||||
msgstr "Pass&wort:"
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
msgid "&Repeat password:"
|
||||
msgstr ""
|
||||
msgstr "Passwort wiederholen:"
|
||||
|
||||
#: tfrmmasterkey.lbltext.caption
|
||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
||||
msgstr ""
|
||||
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||
msgstr "Geben Sie einen neuen Schlüssel an, der zum Verschlüsseln des Passwortspeichers verwendet wird."
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||
msgid "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)"
|
||||
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."
|
||||
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?"
|
||||
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"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Maske abwählen"
|
||||
|
|
@ -10962,6 +10975,26 @@ msgstr "Im Finder aufzeigen"
|
|||
msgid "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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10980,13 +11013,13 @@ msgstr "Horizontal geteilt ein- und ausschalten"
|
|||
msgid "HorzSplit"
|
||||
msgstr "Horizontal geteilt"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud Drive ist der Cloud-Speicher von Apple. Vergleichbar mit z.B. Dropbox, OneDrive oder Google Drive"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud Drive"
|
||||
|
||||
|
|
@ -11136,11 +11169,13 @@ msgstr "Auswerfen"
|
|||
msgid "Extract here..."
|
||||
msgstr "Archiv hier entpacken …"
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr "Jetzt downloaden"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr "Download entfernen"
|
||||
|
||||
|
|
@ -11949,12 +11984,12 @@ msgstr "Ungültige Auswahl."
|
|||
#: ulng.rsmsgkeytransformerror
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation failed (error code %d)!"
|
||||
msgstr ""
|
||||
msgstr "Transformation der Schlüssel fehlgeschlagen (Fehlercode %d)!"
|
||||
|
||||
#: ulng.rsmsgkeytransformtime
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation took %f seconds."
|
||||
msgstr ""
|
||||
msgstr "Transformation der Schlüssel dauerte %f Sekunden."
|
||||
|
||||
#: ulng.rsmsgloadingfilelist
|
||||
msgid "Loading file list..."
|
||||
|
|
@ -12057,12 +12092,13 @@ msgid "Wipe directory %s"
|
|||
msgstr "Verzeichnis %s gründlich löschen"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgstr "Master-Passwort"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hauptpasswort"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgstr "Bitte Master-Passwort eingeben:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Bitte Hauptpasswort eingeben:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
msgid "New file"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
||||
"Report-Msgid-Bugs-To: \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"
|
||||
"Language-Team: Anastasios Kazakis <anastasios.kazakis@tutanota.com>\n"
|
||||
"Language: el_GR\n"
|
||||
|
|
@ -12,7 +12,7 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Native-Language: ελληνικά\n"
|
||||
"X-Generator: Poedit 3.6\n"
|
||||
"X-Generator: Poedit 3.8\n"
|
||||
"X-Language: el_GR\n"
|
||||
"X-Source-Language: el\n"
|
||||
"X-Poedit-SourceCharset: ISO-8859-7\n"
|
||||
|
|
@ -368,7 +368,7 @@ msgstr "Windows"
|
|||
|
||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||
msgid "Algorithm"
|
||||
msgstr ""
|
||||
msgstr "Αλγόριθμος"
|
||||
|
||||
#: tfrmchecksumverify.btnclose.caption
|
||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||
|
|
@ -2804,7 +2804,7 @@ msgstr "Ορισμός όλων των καρτελών σε Κλειδωμέν
|
|||
|
||||
#: tfrmmain.actsetalltabsoptionpathresets.caption
|
||||
msgid "All tabs Locked with Dir Changes Allowed"
|
||||
msgstr "Όλες οι καρτέλες Κλειδωμένες με ελέυθερες τις Αλλαγές Καταλόγου"
|
||||
msgstr "Όλες οι καρτέλες Κλειδωμένες με ελεύθερες τις Αλλαγές Καταλόγου"
|
||||
|
||||
#: tfrmmain.actsetfileproperties.caption
|
||||
msgctxt "TFRMMAIN.ACTSETFILEPROPERTIES.CAPTION"
|
||||
|
|
@ -2817,7 +2817,7 @@ msgstr "Κλειδωμένο με Καταλόγους Ανοικτούς σε
|
|||
|
||||
#: tfrmmain.actsettaboptionnormal.caption
|
||||
msgid "&Normal"
|
||||
msgstr "Normal"
|
||||
msgstr "Κανονικό"
|
||||
|
||||
#: tfrmmain.actsettaboptionpathlocked.caption
|
||||
msgid "&Locked"
|
||||
|
|
@ -3396,58 +3396,58 @@ msgstr "Ή επιλέξτε τον προκαθορισμένο τύπο επι
|
|||
|
||||
#: tfrmmasterkey.btntest.caption
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
msgstr "Δοκιμή"
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgstr ""
|
||||
msgid "Create Key"
|
||||
msgstr "Δημιουργία Κλειδιού"
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
msgid "Key transformation"
|
||||
msgstr ""
|
||||
msgstr "Μετατροπή κλειδιού"
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Κύριο Συνθηματικό"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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
|
||||
msgid "&Key derivation function:"
|
||||
msgstr ""
|
||||
msgstr "Λειτουργία παραγωγής κλειδιού:"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||
msgstr "Το κλειδί μετατρέπεται χρησιμοποιώντας μία συνάρτηση παραγωγής κλειδιού. Αυτό προσθέτει ένα επιπλέον φόρτο εργασίας και κάνει τις επιθέσεις λεξικού και εικασίας πιο δύσκολες."
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
msgid "&Iterations:"
|
||||
msgstr ""
|
||||
msgstr "Επαναλήψεις:"
|
||||
|
||||
#: tfrmmasterkey.lblmemory.caption
|
||||
msgid "&Memory:"
|
||||
msgstr ""
|
||||
msgstr "Μνήμη:"
|
||||
|
||||
#: tfrmmasterkey.lblparallelism.caption
|
||||
msgid "&Parallelism:"
|
||||
msgstr ""
|
||||
msgstr "Παραλληλισμός:"
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgstr ""
|
||||
msgid "Pass&word:"
|
||||
msgstr "Συνθηματικό:"
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
msgid "&Repeat password:"
|
||||
msgstr ""
|
||||
msgstr "Επανάληψη συνθηματικού:"
|
||||
|
||||
#: tfrmmasterkey.lbltext.caption
|
||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
||||
msgstr ""
|
||||
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||
msgstr "Καθορίστε ένα νέο κλειδί, το οποίο θα χρησιμοποιηθεί για να κρυπτογραφήσει τον χώρο αποθήκευσης συνθηματικών."
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||
msgid "MB"
|
||||
msgstr "MB"
|
||||
|
|
@ -3634,7 +3634,7 @@ msgstr "Φόρτωση Τελευταίου Ορίσματος"
|
|||
|
||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||
msgid "Load Names from Clipboard"
|
||||
msgstr ""
|
||||
msgstr "Φόρτωμα ονομάτων από το Πρόχειρο"
|
||||
|
||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||
msgid "Load Names from File..."
|
||||
|
|
@ -3785,11 +3785,11 @@ msgstr "Συνήθεις φράσεις"
|
|||
|
||||
#: tfrmmultirename.cbrepext.caption
|
||||
msgid "E"
|
||||
msgstr ""
|
||||
msgstr "E"
|
||||
|
||||
#: tfrmmultirename.cbrepext.hint
|
||||
msgid "Replace also in file extensions"
|
||||
msgstr ""
|
||||
msgstr "Αντικατάσταση επίσης στις επεκτάσεις αρχείου"
|
||||
|
||||
#: tfrmmultirename.cbusesubs.caption
|
||||
msgid "&Use substitution"
|
||||
|
|
@ -11031,11 +11031,13 @@ msgstr "Δεν υπάρχει συντόμευση για \"ENTER\""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr "Προτείνεται να κατεβάσετε τα αρχεία πρώτα. Αλλιώς, ότι αντιγράφεται δεν είναι το περιεχόμενο των αρχείων, αλλά τα αντίστοιχα αρχεία κράτησης χώρου, τα οποία θα έχουν σαν αποτέλεσμα κρυφά αρχεία με την κατάληξη .iCloud."
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr "Η λειτουργία μπορεί να περιέχει αρχεία που δεν έχουν ληφθεί, συνέχιση έτσι κι αλλιώς;"
|
||||
|
||||
|
|
@ -11073,6 +11075,17 @@ msgstr "Λίστα παραθύρων \"Αναζήτηση Αρχείων\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Αποεπιλογή Μάσκας"
|
||||
|
|
@ -11188,6 +11201,26 @@ msgstr "Αποκάλυψη στην Εφαρμογή Εύρεσης"
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11206,13 +11239,13 @@ msgstr "Εναλλαγή σε Λειτουργία Οριζοντίου Διαχ
|
|||
msgid "HorzSplit"
|
||||
msgstr "HorzSplit"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "Οδηγός iCloud"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "Οδηγός iCloud"
|
||||
|
||||
|
|
@ -11236,7 +11269,7 @@ msgstr "Προνόμιο"
|
|||
|
||||
#: ulng.rsmfstbiquicklooktips
|
||||
msgid "macOS Quick Look Panel"
|
||||
msgstr "Καρτέλα σύντομης προβολής macOS"
|
||||
msgstr "Καρτέλα Σύντομης Προβολής macOS"
|
||||
|
||||
#: ulng.rsmfstbiquicklooktitle
|
||||
msgid "QuickLook"
|
||||
|
|
@ -11362,11 +11395,13 @@ msgstr "Εξαγωγή"
|
|||
msgid "Extract here..."
|
||||
msgstr "Εξαγωγή εδώ..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr "Λήψη τώρα"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr "Αφαίρεση Ληφθέντος"
|
||||
|
||||
|
|
@ -12172,12 +12207,12 @@ msgstr "Μη Έγκυρη επιλογή."
|
|||
#: ulng.rsmsgkeytransformerror
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation failed (error code %d)!"
|
||||
msgstr ""
|
||||
msgstr "Αποτυχία μετατροπής κλειδιού (error code %d)!"
|
||||
|
||||
#: ulng.rsmsgkeytransformtime
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation took %f seconds."
|
||||
msgstr ""
|
||||
msgstr "Η μετατροπή κλειδιού διήρκησε %f δευτερόλεπτα."
|
||||
|
||||
#: ulng.rsmsgloadingfilelist
|
||||
msgid "Loading file list..."
|
||||
|
|
@ -12280,11 +12315,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Ασφαλής Διαγραφή καταλόγου %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Κύριο Συνθηματικό"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Παρακαλώ εισάγετε το κύριο συνθηματικό:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3363,7 +3363,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3371,8 +3371,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Contraseña maestra"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3399,7 +3401,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3407,7 +3409,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10976,6 +10980,17 @@ msgstr "Lista de ventanas de «Archivos encontrados»"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Deseleccionar máscara"
|
||||
|
|
@ -11096,6 +11111,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11114,13 +11149,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11272,11 +11307,13 @@ msgstr "Expulsar"
|
|||
msgid "Extract here..."
|
||||
msgstr "Extraer aquí..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12201,11 +12238,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Destruir carpeta «%s»"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Contraseña maestra"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Por favor, introduce la contraseña maestra:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3460,7 +3460,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3468,8 +3468,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Mot de passe principal"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3496,7 +3498,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3504,7 +3506,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11191,6 +11195,17 @@ msgstr "Liste des fenêtres de recherche de fichiers"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Désélectionner le masque"
|
||||
|
|
@ -11311,6 +11326,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11329,13 +11364,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11487,11 +11522,13 @@ msgstr "Éjecter"
|
|||
msgid "Extract here..."
|
||||
msgstr "Extraire ici..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12404,11 +12441,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Supprimer de manière sécurisée le dossier %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Mot de passe principal"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Veuillez entrer le mot de passe principal :"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3597,7 +3597,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3605,8 +3605,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Glavna lozinka"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3633,7 +3635,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3641,7 +3643,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11502,11 +11504,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11544,6 +11548,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Odznači masku"
|
||||
|
|
@ -11664,6 +11679,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11682,13 +11717,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11840,11 +11875,13 @@ msgstr "Izbaci"
|
|||
msgid "Extract here..."
|
||||
msgstr "Raspakirajte ovdje"
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12759,11 +12796,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Izbriši potpuno Mapa %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Glavna lozinka"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Unesite ponovo glavnu lozinku:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3336,7 +3336,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3344,8 +3344,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Fő jelszó"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3372,7 +3374,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3380,7 +3382,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
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?"
|
||||
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"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Maszk kijelölésének megszüntetése"
|
||||
|
|
@ -10961,6 +10976,26 @@ msgstr "Megjelenítés a Finderben"
|
|||
msgid "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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10979,13 +11014,13 @@ msgstr "Vízszintes felosztás mód váltása"
|
|||
msgid "HorzSplit"
|
||||
msgstr "VízszFeloszt"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud meghajtó"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud meghajtó"
|
||||
|
||||
|
|
@ -11135,11 +11170,13 @@ msgstr "Kiadás"
|
|||
msgid "Extract here..."
|
||||
msgstr "Kibontás ide..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr "Letöltés most"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr "Letöltés eltávolítása"
|
||||
|
||||
|
|
@ -12053,11 +12090,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "%s könyvtár törlése"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Fő jelszó"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Kérem, adja meg a fő jelszót:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3338,7 +3338,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3346,8 +3346,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Password principale"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3374,7 +3376,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3382,7 +3384,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10852,6 +10856,17 @@ msgstr "Elenco delle finestre \"Trova file\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Filtro di deselezione"
|
||||
|
|
@ -10972,6 +10987,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10990,13 +11025,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11148,11 +11183,13 @@ msgstr "Espelli"
|
|||
msgid "Extract here..."
|
||||
msgstr "Estrai qui..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12061,11 +12098,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Cancella la cartella %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Password principale"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Prego inserire password principale:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3408,7 +3408,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3416,8 +3416,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "マスターパスワード"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3444,7 +3446,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3452,7 +3454,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11066,11 +11068,13 @@ msgstr "\"ENTER\"に対するショートカットはありません"
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11108,6 +11112,17 @@ msgstr "”ファイル検索”ウィンドウのリスト"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "選択解除マスク"
|
||||
|
|
@ -11228,6 +11243,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11246,13 +11281,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11404,11 +11439,13 @@ msgstr "取り出し"
|
|||
msgid "Extract here..."
|
||||
msgstr "ここに抽出…"
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12319,11 +12356,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "ディレクトリ<%s>を完全消去(抹殺)"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "マスターパスワード"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "マスターパスワードを入力して下さい:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Double Commander 1.1.0 alpha\n"
|
||||
"Report-Msgid-Bugs-To: \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"
|
||||
"Language-Team: 비너스걸: https://venusgirls.tistory.com/\n"
|
||||
"Language: ko\n"
|
||||
|
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Native-Language: 한국어\n"
|
||||
"X-Generator: Poedit 3.7\n"
|
||||
"X-Generator: Poedit 3.8\n"
|
||||
|
||||
#: fsyncdirsdlg.rscomparingpercent
|
||||
#, object-pascal-format
|
||||
|
|
@ -1217,7 +1217,7 @@ msgstr "파일 마스크와 일치하는 파일 추출(&E):"
|
|||
|
||||
#: tfrmextractdlg.lblpassword.caption
|
||||
msgid "&Password for encrypted files:"
|
||||
msgstr "암호화된 파일의 암호:(&P):"
|
||||
msgstr "암호화된 파일의 비밀번호(&P):"
|
||||
|
||||
#: tfrmfileexecuteyourself.btnclose.caption
|
||||
msgctxt "TFRMFILEEXECUTEYOURSELF.BTNCLOSE.CAPTION"
|
||||
|
|
@ -1897,7 +1897,7 @@ msgstr "도메인:"
|
|||
#: tfrmgioauthdialog.lblpassword.caption
|
||||
msgctxt "tfrmgioauthdialog.lblpassword.caption"
|
||||
msgid "Password:"
|
||||
msgstr "암호:"
|
||||
msgstr "비밀번호:"
|
||||
|
||||
#: tfrmgioauthdialog.lblusername.caption
|
||||
msgctxt "tfrmgioauthdialog.lblusername.caption"
|
||||
|
|
@ -3333,58 +3333,58 @@ msgstr "또는 미리 정의된 선택 유형을 선택(&R):"
|
|||
|
||||
#: tfrmmasterkey.btntest.caption
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
msgstr "테스트"
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgstr ""
|
||||
msgid "Create Key"
|
||||
msgstr "키 만들기"
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
msgid "Key transformation"
|
||||
msgstr ""
|
||||
msgstr "키 변환"
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "주 비밀번호"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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
|
||||
msgid "&Key derivation function:"
|
||||
msgstr ""
|
||||
msgstr "키 유도 함수(&K):"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||
msgstr "키는 키 유도 함수를 사용하여 변환됩니다. 이는 작업량을 증가시키고 사전 공격 및 추측 공격을 더욱 어렵게 만듭니다."
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
msgid "&Iterations:"
|
||||
msgstr ""
|
||||
msgstr "반복 횟수(&I):"
|
||||
|
||||
#: tfrmmasterkey.lblmemory.caption
|
||||
msgid "&Memory:"
|
||||
msgstr ""
|
||||
msgstr "메모리(&M):"
|
||||
|
||||
#: tfrmmasterkey.lblparallelism.caption
|
||||
msgid "&Parallelism:"
|
||||
msgstr ""
|
||||
msgstr "병행(&P):"
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgstr ""
|
||||
msgid "Pass&word:"
|
||||
msgstr "비밀번호(&W):"
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
msgid "&Repeat password:"
|
||||
msgstr ""
|
||||
msgstr "비밀번호 반복(&R):"
|
||||
|
||||
#: tfrmmasterkey.lbltext.caption
|
||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
||||
msgstr ""
|
||||
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||
msgstr "비밀번호 저장소를 암호화하는 데 사용할 새 키를 지정합니다."
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||
msgid "MB"
|
||||
msgstr "MB"
|
||||
|
|
@ -4098,7 +4098,7 @@ msgstr "목록화 시작 (선택사항)(&G):"
|
|||
|
||||
#: tfrmoptionsarchivers.lblarchiverpasswordquery.caption
|
||||
msgid "Password &query string:"
|
||||
msgstr "암호 쿼리 문자열(&Q):"
|
||||
msgstr "비밀번호 쿼리 문자열(&Q):"
|
||||
|
||||
#: tfrmoptionsarchivers.lblarchiverselfextract.caption
|
||||
msgid "Create self extractin&g archive:"
|
||||
|
|
@ -8335,7 +8335,7 @@ msgstr "대소문자 구분"
|
|||
|
||||
#: tfrmquicksearch.sbdiacritics.caption
|
||||
msgid "Ďï"
|
||||
msgstr ""
|
||||
msgstr "Ďï"
|
||||
|
||||
#: tfrmquicksearch.sbdiacritics.hint
|
||||
msgid "Diacritics and ligatures"
|
||||
|
|
@ -10804,11 +10804,13 @@ msgstr "\"ENTER\"로 바로가기 없음"
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr "먼저 파일을 다운로드하는 것이 좋습니다. 그렇지 않으면 복사되는 것은 파일의 콘텐츠가 아니라 해당 자리 표시자 파일로, 확장자가 .iCloud인 숨겨진 파일이 됩니다."
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr "다운로드하지 않은 파일이 포함되어 있을 수 있는데 계속 진행하시겠습니까?"
|
||||
|
||||
|
|
@ -10846,6 +10848,17 @@ msgstr "\"파일 찾기\" 창 목록"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "마스크 선택 취소"
|
||||
|
|
@ -10961,6 +10974,26 @@ msgstr "파인더에서 공개"
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10979,13 +11012,13 @@ msgstr "수평 분할 모드 전환"
|
|||
msgid "HorzSplit"
|
||||
msgstr "수평 분할"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud 드라이버"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud 드라이버"
|
||||
|
||||
|
|
@ -11135,11 +11168,13 @@ msgstr "꺼내기"
|
|||
msgid "Extract here..."
|
||||
msgstr "여기에 추출..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr "지금 다운로드"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr "다운로드 제거"
|
||||
|
||||
|
|
@ -11946,12 +11981,12 @@ msgstr "잘못된 선택입니다."
|
|||
#: ulng.rsmsgkeytransformerror
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation failed (error code %d)!"
|
||||
msgstr ""
|
||||
msgstr "키 변환에 실패했습니다 (오류 코드 %d)!"
|
||||
|
||||
#: ulng.rsmsgkeytransformtime
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation took %f seconds."
|
||||
msgstr ""
|
||||
msgstr "키 변환에 %f초가 걸렸습니다."
|
||||
|
||||
#: ulng.rsmsgloadingfilelist
|
||||
msgid "Loading file list..."
|
||||
|
|
@ -12054,12 +12089,13 @@ msgid "Wipe directory %s"
|
|||
msgstr "%s 폴더 영구 삭제"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgstr "마스터 암호"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "주 비밀번호"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgstr "마스터 암호를 입력하세요:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "주 비밀번호를 입력하세요:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
msgid "New file"
|
||||
|
|
@ -12110,23 +12146,23 @@ msgstr "아래는 미리보기입니다. 커서를 이동하고 파일을 선택
|
|||
#: ulng.rsmsgpassword
|
||||
msgctxt "ulng.rsmsgpassword"
|
||||
msgid "Password:"
|
||||
msgstr "암호:"
|
||||
msgstr "비밀번호:"
|
||||
|
||||
#: ulng.rsmsgpassworddiff
|
||||
msgid "Passwords are different!"
|
||||
msgstr "암호가 다릅니다!"
|
||||
msgstr "비밀번호가 다릅니다!"
|
||||
|
||||
#: ulng.rsmsgpasswordenter
|
||||
msgid "Please enter the password:"
|
||||
msgstr "암호를 입력하세요:"
|
||||
msgstr "비밀번호를 입력하세요:"
|
||||
|
||||
#: ulng.rsmsgpasswordfirewall
|
||||
msgid "Password (Firewall):"
|
||||
msgstr "암호 (방화벽):"
|
||||
msgstr "비밀번호 (방화벽):"
|
||||
|
||||
#: ulng.rsmsgpasswordverify
|
||||
msgid "Please re-enter the password for verification:"
|
||||
msgstr "검증을 위해 암호를 다시 입력하세요:"
|
||||
msgstr "검증을 위해 비밀번호를 다시 입력하세요:"
|
||||
|
||||
#: ulng.rsmsgpopuphotdelete
|
||||
#, object-pascal-format
|
||||
|
|
@ -12468,7 +12504,7 @@ msgid ""
|
|||
"Wrong password!\n"
|
||||
"Please try again!"
|
||||
msgstr ""
|
||||
"암호가 잘못되었습니다!\n"
|
||||
"비밀번호가 잘못되었습니다!\n"
|
||||
"다시 시도해 주세요!"
|
||||
|
||||
#: ulng.rsmulrenautorename
|
||||
|
|
|
|||
|
|
@ -3422,7 +3422,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3430,8 +3430,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hovedpassord"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3458,7 +3460,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3466,7 +3468,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11354,6 +11358,17 @@ msgstr "Liste med \"Søk...\" vinduer"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Innskrenk valg"
|
||||
|
|
@ -11474,6 +11489,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11492,13 +11527,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11650,11 +11685,13 @@ msgstr "Skubb ut"
|
|||
msgid "Extract here..."
|
||||
msgstr "Pakk ut her..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12564,11 +12601,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Sikker sletting av mappe %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hovedpassord"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Tast inn hovedpassordet:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -2495,7 +2495,7 @@ msgstr "Maak map"
|
|||
|
||||
#: tfrmmain.actmapnetworkdrive.caption
|
||||
msgid "Map Network Drive..."
|
||||
msgstr "Breng netwerkschijf in kaart..."
|
||||
msgstr "Netwerkschijf koppelen..."
|
||||
|
||||
#: tfrmmain.actmarkcurrentextension.caption
|
||||
msgid "Select All with the Same E&xtension"
|
||||
|
|
@ -3350,7 +3350,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3358,8 +3358,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hoofdwachtwoord"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3386,7 +3388,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3394,7 +3396,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10887,6 +10891,17 @@ msgstr "Lijst van vensters voor zoeken van bestanden"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Deselectie masker"
|
||||
|
|
@ -11007,6 +11022,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11025,13 +11060,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11183,11 +11218,13 @@ msgstr "Uitwerpen"
|
|||
msgid "Extract here..."
|
||||
msgstr "Pak hier uit..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12096,11 +12133,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Wis map %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hoofdwachtwoord"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Geef a.u.b. het hoofdwachtwoord in:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3422,7 +3422,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3430,8 +3430,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hovudpassord"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3458,7 +3460,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3466,7 +3468,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11354,6 +11358,17 @@ msgstr "Liste med \"Søk...\"-vindauge"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Innskrenk val"
|
||||
|
|
@ -11474,6 +11489,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11492,13 +11527,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11650,11 +11685,13 @@ msgstr "Skubb ut"
|
|||
msgid "Extract here..."
|
||||
msgstr "Pakk ut her..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12564,11 +12601,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Sikker sletting av mappe %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hovudpassord"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Tast inn hovudpassordet:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3328,7 +3328,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3336,8 +3336,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hasło główne"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3364,7 +3366,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3372,7 +3374,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10816,6 +10820,17 @@ msgstr "Lista okien \"Znajdź pliki\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Maska odznaczania"
|
||||
|
|
@ -10936,6 +10951,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10954,13 +10989,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11112,11 +11147,13 @@ msgstr "Wysuń"
|
|||
msgid "Extract here..."
|
||||
msgstr "Wypakuj tutaj..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12025,11 +12062,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Wyczyść katalog %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hasło główne"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Wprowadź hasło główne:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3334,7 +3334,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3342,7 +3342,8 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
|
|
@ -3354,7 +3355,7 @@ msgid "&Key derivation function:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3370,7 +3371,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3378,7 +3379,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -10787,11 +10788,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10829,6 +10832,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr ""
|
||||
|
|
@ -10944,6 +10958,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10962,13 +10996,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11118,11 +11152,13 @@ msgstr ""
|
|||
msgid "Extract here..."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12013,11 +12049,12 @@ msgid "Wipe directory %s"
|
|||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3401,7 +3401,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3409,8 +3409,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Senha mestra"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3437,7 +3439,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3445,7 +3447,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11086,6 +11090,17 @@ msgstr "Lista de janelas \"Localizar ficheiros\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Desseleccionar máscara"
|
||||
|
|
@ -11201,6 +11216,26 @@ msgstr "Revelar no localizador"
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11219,13 +11254,13 @@ msgstr "Alternar modo de divisão horizontal"
|
|||
msgid "HorzSplit"
|
||||
msgstr "HorzSplit"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11375,11 +11410,13 @@ msgstr "Ejectar"
|
|||
msgid "Extract here..."
|
||||
msgstr "Extrair aqui..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12288,11 +12325,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Limpar pasta %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Senha mestra"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Por favor insira a senha mestra:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3455,7 +3455,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3463,8 +3463,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Senha Mestra"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3491,7 +3493,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3499,7 +3501,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11254,11 +11256,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11296,6 +11300,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Remover seleção da máscara"
|
||||
|
|
@ -11416,6 +11431,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11434,13 +11469,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11592,11 +11627,13 @@ msgstr "Ejetar"
|
|||
msgid "Extract here..."
|
||||
msgstr "Extrair aqui..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12505,11 +12542,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Limpar pasta %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Senha Mestra"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Por favor introduza senha mestra:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3419,7 +3419,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3427,8 +3427,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Parolă"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3455,7 +3457,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3463,7 +3465,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11126,11 +11128,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11168,6 +11172,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Deselectează masca"
|
||||
|
|
@ -11287,6 +11302,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11305,13 +11340,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11463,11 +11498,13 @@ msgstr "Scoate"
|
|||
msgid "Extract here..."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12359,11 +12396,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Șterge definitiv dosarul %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Parolă"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Introduceți parola:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3391,16 +3391,17 @@ msgid "Test"
|
|||
msgstr "Тест"
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgstr "Создание мастер ключа"
|
||||
msgid "Create Key"
|
||||
msgstr "Создание ключа"
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
msgid "Key transformation"
|
||||
msgstr "Трансформация ключа"
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr "Мастер ключ"
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Главный пароль"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 "&Функция формирования ключа:"
|
||||
|
||||
#: 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."
|
||||
msgstr "Мастер ключ преобразуется с помощью функции формирования ключа, что добавляет вычисления и усложняет атаки по словарю и угадывание."
|
||||
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||
msgstr "Ключ преобразуется с помощью функции формирования ключа, что добавляет вычисления и усложняет атаки по словарю и угадывание."
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
msgid "&Iterations:"
|
||||
|
|
@ -3427,16 +3428,16 @@ msgid "&Parallelism:"
|
|||
msgstr "П&араллелизм:"
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgstr "&Мастер пароль:"
|
||||
msgid "Pass&word:"
|
||||
msgstr "Па&роль:"
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
msgid "&Repeat password:"
|
||||
msgstr "П&овторите пароль:"
|
||||
|
||||
#: tfrmmasterkey.lbltext.caption
|
||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
||||
msgstr "Укажите новый мастер-ключ, который будет использоваться для шифрования хранилища паролей."
|
||||
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||
msgstr "Укажите новый ключ, который будет использоваться для шифрования хранилища паролей."
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr "Рекомендуется сначала загрузить файлы. В противном случае будет скопировано не содержимое файлов, а соответствующие файлы-заполнители, что приведет к появлению скрытых файлов с расширением .iCloud."
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr "Операция может содержать файлы, которые не были загружены. Продолжить в любом случае?"
|
||||
|
||||
|
|
@ -11105,6 +11108,17 @@ msgstr "Список окон \"Поиск файлов\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Снять выделение по маске"
|
||||
|
|
@ -11220,6 +11234,26 @@ msgstr "Открыть в Finder"
|
|||
msgid "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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11238,13 +11272,13 @@ msgstr "Переключить режим расположения панеле
|
|||
msgid "HorzSplit"
|
||||
msgstr "Горизонтальное разделение"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "Диск iCloud"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "Диск iCloud"
|
||||
|
||||
|
|
@ -11394,11 +11428,13 @@ msgstr "Извлечь"
|
|||
msgid "Extract here..."
|
||||
msgstr "Распаковать здесь..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr "Загрузить сейчас"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr "Удалить загрузку"
|
||||
|
||||
|
|
@ -12318,11 +12354,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Стирание каталога %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Главный пароль:"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Введите главный пароль:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Double Commander 1.1.22g\n"
|
||||
"Project-Id-Version: Double Commander 1.1.30g\n"
|
||||
"Report-Msgid-Bugs-To: \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"
|
||||
"Language-Team: Jozef Gaál <preklady@mayday.sk>\n"
|
||||
"Language: sk\n"
|
||||
|
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Native-Language: Slovenčina\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
"X-Generator: Poedit 3.6\n"
|
||||
|
||||
#: fsyncdirsdlg.rscomparingpercent
|
||||
#, object-pascal-format
|
||||
|
|
@ -355,7 +355,7 @@ msgstr "Windows (CRLF)"
|
|||
|
||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||
msgid "Algorithm"
|
||||
msgstr ""
|
||||
msgstr "Algoritmus"
|
||||
|
||||
#: tfrmchecksumverify.btnclose.caption
|
||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||
|
|
@ -1006,7 +1006,7 @@ msgstr "Vybrať všetko"
|
|||
|
||||
#: tfrmeditor.actedittimedate.caption
|
||||
msgid "Time/Date"
|
||||
msgstr ""
|
||||
msgstr "Čas/Dátum"
|
||||
|
||||
#: tfrmeditor.acteditundo.caption
|
||||
msgctxt "TFRMEDITOR.ACTEDITUNDO.CAPTION"
|
||||
|
|
@ -3333,58 +3333,58 @@ msgstr "Alebo zvoľte preddefinovaný typ výbe&ru:"
|
|||
|
||||
#: tfrmmasterkey.btntest.caption
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
msgstr "Vyskúšať"
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgstr ""
|
||||
msgid "Create Key"
|
||||
msgstr "Vytvoriť kľúč"
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
msgid "Key transformation"
|
||||
msgstr ""
|
||||
msgstr "Transformácia kľúča"
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Hlavné heslo"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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
|
||||
msgid "&Key derivation function:"
|
||||
msgstr ""
|
||||
msgstr "Funkcia odvodenia &kľúča:"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||
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
|
||||
msgid "&Iterations:"
|
||||
msgstr ""
|
||||
msgstr "&Iterácie:"
|
||||
|
||||
#: tfrmmasterkey.lblmemory.caption
|
||||
msgid "&Memory:"
|
||||
msgstr ""
|
||||
msgstr "Pa&mäť:"
|
||||
|
||||
#: tfrmmasterkey.lblparallelism.caption
|
||||
msgid "&Parallelism:"
|
||||
msgstr ""
|
||||
msgstr "&Paralelizmus:"
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgstr ""
|
||||
msgid "Pass&word:"
|
||||
msgstr "&Heslo:"
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
msgid "&Repeat password:"
|
||||
msgstr ""
|
||||
msgstr "&Opakovať heslo:"
|
||||
|
||||
#: tfrmmasterkey.lbltext.caption
|
||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
||||
msgstr ""
|
||||
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||
msgstr "Určite nový kľúč, ktorý sa bude používať na šifrovanie úložiska hesiel."
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||
msgid "MB"
|
||||
msgstr "MB"
|
||||
|
|
@ -3569,7 +3569,7 @@ msgstr "Načítať poslednú predvoľbu"
|
|||
|
||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||
msgid "Load Names from Clipboard"
|
||||
msgstr ""
|
||||
msgstr "Načítať názvy zo schránky"
|
||||
|
||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||
msgid "Load Names from File..."
|
||||
|
|
@ -3718,11 +3718,11 @@ msgstr "&Regulárne výrazy"
|
|||
|
||||
#: tfrmmultirename.cbrepext.caption
|
||||
msgid "E"
|
||||
msgstr ""
|
||||
msgstr "E"
|
||||
|
||||
#: tfrmmultirename.cbrepext.hint
|
||||
msgid "Replace also in file extensions"
|
||||
msgstr ""
|
||||
msgstr "Nahradiť aj v príponách súborov"
|
||||
|
||||
#: tfrmmultirename.cbusesubs.caption
|
||||
msgid "&Use substitution"
|
||||
|
|
@ -4235,11 +4235,11 @@ msgstr "Binárny mód"
|
|||
|
||||
#: tfrmoptionscolors.dbbookmode.caption
|
||||
msgid "Book Mode"
|
||||
msgstr "Režim prezerania knihy"
|
||||
msgstr "Režim knihy"
|
||||
|
||||
#: tfrmoptionscolors.dbimagemode.caption
|
||||
msgid "Image Mode"
|
||||
msgstr "Typ obrázku"
|
||||
msgstr "Režim obrázku"
|
||||
|
||||
#: tfrmoptionscolors.dbtextmode.caption
|
||||
msgid "Text Mode"
|
||||
|
|
@ -4265,7 +4265,7 @@ msgstr "Kategória:"
|
|||
|
||||
#: tfrmoptionscolors.lbldeleted.caption
|
||||
msgid "Deleted:"
|
||||
msgstr "Vymazať:"
|
||||
msgstr "Vymazané:"
|
||||
|
||||
#: tfrmoptionscolors.lblerror.caption
|
||||
msgid "Error:"
|
||||
|
|
@ -4273,7 +4273,7 @@ msgstr "Chyba:"
|
|||
|
||||
#: tfrmoptionscolors.lblimagebackground1.caption
|
||||
msgid "Background 1:"
|
||||
msgstr "Pozadie 2:"
|
||||
msgstr "Pozadie 1:"
|
||||
|
||||
#: tfrmoptionscolors.lblimagebackground2.caption
|
||||
msgctxt "tfrmoptionscolors.lblimagebackground2.caption"
|
||||
|
|
@ -4286,19 +4286,19 @@ msgstr "&Indikátor Zadnej Farby:"
|
|||
|
||||
#: tfrmoptionscolors.lblindcolor.caption
|
||||
msgid "&Indicator Fore Color:"
|
||||
msgstr "&Indikátor Prednej Farby:"
|
||||
msgstr "&Indikátor farby popredia:"
|
||||
|
||||
#: tfrmoptionscolors.lblindthresholdcolor.caption
|
||||
msgid "Indicator &Threshold Color:"
|
||||
msgstr "&Indikátor Prednej Farby:"
|
||||
msgstr "Indikátor &hraničnej farby:"
|
||||
|
||||
#: tfrmoptionscolors.lblinformation.caption
|
||||
msgid "Information:"
|
||||
msgstr "Nastavenie:"
|
||||
msgstr "Informácie:"
|
||||
|
||||
#: tfrmoptionscolors.lblleft.caption
|
||||
msgid "Left:"
|
||||
msgstr "&Ľavý:"
|
||||
msgstr "Ľavý:"
|
||||
|
||||
#: tfrmoptionscolors.lblmodified.caption
|
||||
msgctxt "tfrmoptionscolors.lblmodified.caption"
|
||||
|
|
@ -4312,7 +4312,7 @@ msgstr "Upravený:"
|
|||
|
||||
#: tfrmoptionscolors.lblright.caption
|
||||
msgid "Right:"
|
||||
msgstr "&Pravý:"
|
||||
msgstr "Pravý:"
|
||||
|
||||
#: tfrmoptionscolors.lblsuccess.caption
|
||||
msgctxt "tfrmoptionscolors.lblsuccess.caption"
|
||||
|
|
@ -4325,7 +4325,7 @@ msgstr "Neznáme:"
|
|||
|
||||
#: tfrmoptionscolors.rgdarkmode.caption
|
||||
msgid "State"
|
||||
msgstr "Otočiť"
|
||||
msgstr "Stav"
|
||||
|
||||
#: tfrmoptionscolumnsview.cbcolumnstitlelikevalues.caption
|
||||
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
|
||||
msgid "Group Undo"
|
||||
msgstr "Skupina"
|
||||
msgstr "Zoskupiť zrušenie"
|
||||
|
||||
#: tfrmoptionseditor.chkgroupundo.hint
|
||||
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
|
||||
msgctxt "tfrmoptionsicloud.appslistview.columns[0].caption"
|
||||
msgid "Applications"
|
||||
msgstr ""
|
||||
msgstr "Aplikácie"
|
||||
|
||||
#: tfrmoptionsicloud.appslistview.columns[1].caption
|
||||
msgctxt "tfrmoptionsicloud.appslistview.columns[1].caption"
|
||||
msgid "Count of Contents"
|
||||
msgstr ""
|
||||
msgstr "Obsah"
|
||||
|
||||
#: tfrmoptionsicons.cbiconsexclude.caption
|
||||
msgctxt "TFRMOPTIONSICONS.CBICONSEXCLUDE.CAPTION"
|
||||
|
|
@ -6939,7 +6939,7 @@ msgstr "Kliknutím na ikonu"
|
|||
#: tfrmoptionsmouse.chkzoomwithctrlwheel.caption
|
||||
msgctxt "tfrmoptionsmouse.chkzoomwithctrlwheel.caption"
|
||||
msgid "Zoom with Ctrl + Scroll Wheel"
|
||||
msgstr ""
|
||||
msgstr "Zväčšenie pomocou klávesy Ctrl + kolieska myši"
|
||||
|
||||
#: tfrmoptionsmouse.gbopenwith.caption
|
||||
msgctxt "tfrmoptionsmouse.gbopenwith.caption"
|
||||
|
|
@ -6955,7 +6955,6 @@ msgid "Selection"
|
|||
msgstr "Výber"
|
||||
|
||||
#: tfrmoptionsmouse.gbzoom.caption
|
||||
#, fuzzy
|
||||
msgctxt "tfrmoptionsmouse.gbzoom.caption"
|
||||
msgid "Zoom"
|
||||
msgstr "Priblíženie"
|
||||
|
|
@ -7185,11 +7184,9 @@ msgid "File name"
|
|||
msgstr "Názov súboru"
|
||||
|
||||
#: 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"
|
||||
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
|
||||
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
|
||||
msgid "Internal viewer options"
|
||||
msgstr "Možnosti interného editora"
|
||||
msgstr "Možnosti interného prehliadača"
|
||||
|
||||
#: tfrmoptionsviewer.lblnumbercolumnsviewer.caption
|
||||
msgid "&Number of columns in book viewer"
|
||||
|
|
@ -8338,11 +8335,11 @@ msgstr "Rozlišovať veľkosť písmen"
|
|||
|
||||
#: tfrmquicksearch.sbdiacritics.caption
|
||||
msgid "Ďï"
|
||||
msgstr ""
|
||||
msgstr "Ďï"
|
||||
|
||||
#: tfrmquicksearch.sbdiacritics.hint
|
||||
msgid "Diacritics and ligatures"
|
||||
msgstr ""
|
||||
msgstr "Diakritika a ligatúry"
|
||||
|
||||
#: tfrmquicksearch.sbdirectories.caption
|
||||
msgid "D"
|
||||
|
|
@ -8803,7 +8800,7 @@ msgstr "Double Commander"
|
|||
#: tfrmstartingsplash.lblbuild.caption
|
||||
msgctxt "TFRMSTARTINGSPLASH.LBLBUILD.CAPTION"
|
||||
msgid "Build"
|
||||
msgstr "Build"
|
||||
msgstr "Zostavenie"
|
||||
|
||||
#: tfrmstartingsplash.lblcommit.caption
|
||||
msgctxt "tfrmstartingsplash.lblcommit.caption"
|
||||
|
|
@ -9314,7 +9311,7 @@ msgstr "Prejsť na riadok"
|
|||
|
||||
#: tfrmviewer.actimagecenter.caption
|
||||
msgid "Center"
|
||||
msgstr "Centrovať"
|
||||
msgstr "Na stred"
|
||||
|
||||
#: tfrmviewer.actloadnextfile.caption
|
||||
msgid "&Next"
|
||||
|
|
@ -9322,7 +9319,7 @@ msgstr "&Další"
|
|||
|
||||
#: tfrmviewer.actloadnextfile.hint
|
||||
msgid "Load Next File"
|
||||
msgstr "Načítať Nasledujúci Súbor"
|
||||
msgstr "Načítať nasledujúci súbor"
|
||||
|
||||
#: tfrmviewer.actloadprevfile.caption
|
||||
msgid "&Previous"
|
||||
|
|
@ -9330,7 +9327,7 @@ msgstr "&Predchádzajúci"
|
|||
|
||||
#: tfrmviewer.actloadprevfile.hint
|
||||
msgid "Load Previous File"
|
||||
msgstr "Načítať Predchádzajúci Súbor"
|
||||
msgstr "Načítať predchádzajúci súbor"
|
||||
|
||||
#: tfrmviewer.actmirrorhorz.caption
|
||||
msgid "Mirror Horizontally"
|
||||
|
|
@ -10116,7 +10113,6 @@ msgid " Modifies: "
|
|||
msgstr " Upraví: "
|
||||
|
||||
#: ulng.rsdiffshow
|
||||
#, fuzzy
|
||||
msgctxt "ulng.rsdiffshow"
|
||||
msgid "&Show"
|
||||
msgstr "&Zobraziť"
|
||||
|
|
@ -10330,19 +10326,19 @@ msgstr "Prejsť na riadok"
|
|||
|
||||
#: ulng.rsedithintcursorpos
|
||||
msgid "Cursor Position"
|
||||
msgstr ""
|
||||
msgstr "Poloha kurzora"
|
||||
|
||||
#: ulng.rsedithintinsertmode
|
||||
msgid "Insert Mode"
|
||||
msgstr ""
|
||||
msgstr "Režim vkladania"
|
||||
|
||||
#: ulng.rsedithintmodified
|
||||
msgid "Modified"
|
||||
msgstr ""
|
||||
msgstr "Upravené"
|
||||
|
||||
#: ulng.rsedithintselectionmode
|
||||
msgid "Selection Mode"
|
||||
msgstr ""
|
||||
msgstr "Režim výberu"
|
||||
|
||||
#: ulng.rseditnewfile
|
||||
msgid "new.txt"
|
||||
|
|
@ -10376,23 +10372,23 @@ msgstr "Nahradiť"
|
|||
|
||||
#: ulng.rseditstatinsertmodeins
|
||||
msgid "INS"
|
||||
msgstr ""
|
||||
msgstr "INS"
|
||||
|
||||
#: ulng.rseditstatinsertmodeovr
|
||||
msgid "OVR"
|
||||
msgstr ""
|
||||
msgstr "OVR"
|
||||
|
||||
#: ulng.rseditstatselmodecol
|
||||
msgid "COL"
|
||||
msgstr ""
|
||||
msgstr "COL"
|
||||
|
||||
#: ulng.rseditstatselmodeline
|
||||
msgid "LINE"
|
||||
msgstr ""
|
||||
msgstr "LINE"
|
||||
|
||||
#: ulng.rseditstatselmodenorm
|
||||
msgid "NORM"
|
||||
msgstr ""
|
||||
msgstr "NORM"
|
||||
|
||||
#: ulng.rseditwithexternaleditor
|
||||
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)"
|
||||
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."
|
||||
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?"
|
||||
msgstr ""
|
||||
msgstr "Operácia môže obsahovať súbory, ktoré neboli stiahnuté, pokračovať aj tak?"
|
||||
|
||||
#: ulng.rsimporttoolbarproblem
|
||||
msgid "Cannot find reference to default bar file"
|
||||
|
|
@ -10848,6 +10846,17 @@ msgstr "Zoznam okien \"Nájsť súbory\""
|
|||
#: ulng.rsmacosassignfindertagstomultiitems
|
||||
#, object-pascal-format
|
||||
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 ""
|
||||
|
||||
#: ulng.rsmarkminus
|
||||
|
|
@ -10886,7 +10895,7 @@ msgstr "Pridať \"%s\""
|
|||
#: ulng.rsmenumacoseditfindertags
|
||||
msgctxt "ulng.rsmenumacoseditfindertags"
|
||||
msgid "Edit Finder Tags..."
|
||||
msgstr "Upraviť Finder štítky..."
|
||||
msgstr "Upraviť štítky Finder..."
|
||||
|
||||
#: ulng.rsmenumacosgrantpermissiontosupportfindertags
|
||||
msgid "Grant \"Full Disk Access\" permission to support Finder Tags..."
|
||||
|
|
@ -10899,7 +10908,7 @@ msgstr "Odstrániť \"%s\""
|
|||
|
||||
#: ulng.rsmenumacosshare
|
||||
msgid "Share..."
|
||||
msgstr "Zbaliť sem..."
|
||||
msgstr "Zdieľať..."
|
||||
|
||||
#: ulng.rsmfstbiairdroptips
|
||||
msgctxt "ulng.rsmfstbiairdroptips"
|
||||
|
|
@ -10942,7 +10951,7 @@ msgstr "Porovnať"
|
|||
#: ulng.rsmfstbieditfindertagtips
|
||||
msgctxt "ulng.rsmfstbieditfindertagtips"
|
||||
msgid "Edit Finder Tags..."
|
||||
msgstr "Upraviť Finder štítky..."
|
||||
msgstr "Upraviť štítky Finder..."
|
||||
|
||||
#: ulng.rsmfstbieditfindertagtitle
|
||||
msgid "EditTag"
|
||||
|
|
@ -10959,12 +10968,32 @@ msgstr "Upraviť"
|
|||
|
||||
#: ulng.rsmfstbifinderrevealtips
|
||||
msgid "Reveal in Finder"
|
||||
msgstr "Zobraziť vo vyhľadávači"
|
||||
msgstr "Zobraziť v aplikácii Finder"
|
||||
|
||||
#: ulng.rsmfstbifinderrevealtitle
|
||||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10983,25 +11012,25 @@ msgstr "Prepnúť režim s horizontálnymi panelmi"
|
|||
msgid "HorzSplit"
|
||||
msgstr "Horizontálne rozdelenie"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
msgstr "iCloud Disk"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
msgstr "iCloud Disk"
|
||||
|
||||
#: ulng.rsmfstbinetworktips
|
||||
msgctxt "ulng.rsmfstbinetworktips"
|
||||
msgid "network"
|
||||
msgstr ""
|
||||
msgstr "sieť"
|
||||
|
||||
#: ulng.rsmfstbinetworktitle
|
||||
msgctxt "ulng.rsmfstbinetworktitle"
|
||||
msgid "network"
|
||||
msgstr ""
|
||||
msgstr "sieť"
|
||||
|
||||
#: 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."
|
||||
|
|
@ -11139,13 +11168,15 @@ msgstr "Vysunúť"
|
|||
msgid "Extract here..."
|
||||
msgstr "Rozbaliť sem..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
msgstr "Stiahnuť teraz"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
msgstr "Odstrániť stiahnutie"
|
||||
|
||||
#: ulng.rsmnumount
|
||||
msgid "Mount"
|
||||
|
|
@ -11209,10 +11240,15 @@ msgid ""
|
|||
"\n"
|
||||
"It is recommended that you follow your usual practice and try to select only one directory when you receive this prompt."
|
||||
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
|
||||
msgid "The operation is not supported"
|
||||
msgstr ""
|
||||
msgstr "Operácia nie je podporovaná"
|
||||
|
||||
#: ulng.rsmsgaccount
|
||||
msgid "Account:"
|
||||
|
|
@ -11254,7 +11290,7 @@ msgstr "Ste si istí, že chcete túto operáciu zrušiť?"
|
|||
|
||||
#: ulng.rsmsgcannotchangetarget
|
||||
msgid "You cannot change a target location!"
|
||||
msgstr ""
|
||||
msgstr "Nemôžete zmeniť cieľovú polohu!"
|
||||
|
||||
#: ulng.rsmsgcannotcopymoveitself
|
||||
#, object-pascal-format
|
||||
|
|
@ -11297,7 +11333,7 @@ msgstr "Potvrdenie parametra"
|
|||
#: ulng.rsmsgcommandnotfound
|
||||
#, object-pascal-format
|
||||
msgid "Command not found! (%s)"
|
||||
msgstr "%s nebol nájdený!"
|
||||
msgstr "Príkaz nebol nájdený! (%s)"
|
||||
|
||||
#: ulng.rsmsgconfirmquit
|
||||
msgid "Are you sure you want to quit?"
|
||||
|
|
@ -11944,12 +11980,12 @@ msgstr "Neplatný výber."
|
|||
#: ulng.rsmsgkeytransformerror
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation failed (error code %d)!"
|
||||
msgstr ""
|
||||
msgstr "Transformácia kľúča zlyhala (kód chyby %d)!"
|
||||
|
||||
#: ulng.rsmsgkeytransformtime
|
||||
#, object-pascal-format
|
||||
msgid "The key transformation took %f seconds."
|
||||
msgstr ""
|
||||
msgstr "Transformácia kľúča trvala %f sekúnd."
|
||||
|
||||
#: ulng.rsmsgloadingfilelist
|
||||
msgid "Loading file list..."
|
||||
|
|
@ -12052,11 +12088,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Bezpečne vymazať priečinok %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Hlavné heslo"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Prosím, zadajte hlavné heslo:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
@ -13460,23 +13497,23 @@ msgstr "Zásuvné moduly"
|
|||
|
||||
#: ulng.rsoptionseditorpluginsdsx
|
||||
msgid "Search plugins"
|
||||
msgstr ""
|
||||
msgstr "Zásuvné moduly vyhľadávania"
|
||||
|
||||
#: ulng.rsoptionseditorpluginswcx
|
||||
msgid "Packer plugins"
|
||||
msgstr ""
|
||||
msgstr "Zásuvné moduly komprimácie"
|
||||
|
||||
#: ulng.rsoptionseditorpluginswdx
|
||||
msgid "Content plugins"
|
||||
msgstr ""
|
||||
msgstr "Zásuvné moduly pre obsah"
|
||||
|
||||
#: ulng.rsoptionseditorpluginswfx
|
||||
msgid "File system plugins"
|
||||
msgstr ""
|
||||
msgstr "Zásuvné moduly súborového systému"
|
||||
|
||||
#: ulng.rsoptionseditorpluginswlx
|
||||
msgid "Viewer plugins"
|
||||
msgstr ""
|
||||
msgstr "Zásuvné moduly pre zobrazenie"
|
||||
|
||||
#: ulng.rsoptionseditorquicksearch
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
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
|
||||
msgid "not case sensitive;according to locale settings (aAbBcC);first upper then lower case (ABCabc)"
|
||||
|
|
|
|||
|
|
@ -3344,7 +3344,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3352,8 +3352,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Glavno geslo"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3380,7 +3382,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3388,7 +3390,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -10857,6 +10861,17 @@ msgstr "Seznam oken dejavnih iskanj"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Maska odstranitve izbire"
|
||||
|
|
@ -10977,6 +10992,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10995,13 +11030,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11153,11 +11188,13 @@ msgstr "Izvrzi"
|
|||
msgid "Extract here..."
|
||||
msgstr "Odpakiraj v to mapo ..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12066,11 +12103,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Neobnovljivo izbriši mapo %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Glavno geslo"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Vnesite glavno geslo:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3398,7 +3398,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3406,8 +3406,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Главна лозинка"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3434,7 +3436,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3442,7 +3444,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11046,11 +11048,13 @@ msgstr "Нема пречице са „ЕНТЕР“"
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11088,6 +11092,17 @@ msgstr "Списак прозора „пронађи датотеке“"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Одзначи маску"
|
||||
|
|
@ -11208,6 +11223,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11226,13 +11261,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11384,11 +11419,13 @@ msgstr "Избаци"
|
|||
msgid "Extract here..."
|
||||
msgstr "Извуци овде..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12297,11 +12334,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Избриши потпуно фасциклу %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Главна лозинка"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Унесите поново главну лозинку:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3455,7 +3455,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3463,8 +3463,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Glavna lozinka"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3491,7 +3493,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3499,7 +3501,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11322,11 +11324,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11364,6 +11368,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Odznači masku"
|
||||
|
|
@ -11483,6 +11498,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11501,13 +11536,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11659,11 +11694,13 @@ msgstr "Izbaci"
|
|||
msgid "Extract here..."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12593,11 +12630,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Izbriši potpuno fasciklu %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Glavna lozinka"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Unesite ponovo glavnu lozinku:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3586,7 +3586,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3594,8 +3594,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Ana şifre"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3622,7 +3624,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3630,7 +3632,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11468,11 +11470,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11510,6 +11514,17 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Maske seçimini kaldır"
|
||||
|
|
@ -11628,6 +11643,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11646,13 +11681,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11804,11 +11839,13 @@ msgstr "Çıkar"
|
|||
msgid "Extract here..."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12708,11 +12745,12 @@ msgid "Wipe directory %s"
|
|||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Ana şifre"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Lütfen ana şifreyi girin:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -3414,7 +3414,7 @@ msgid "Test"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgid "Create Key"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
|
|
@ -3422,8 +3422,10 @@ msgid "Key transformation"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "Суперпароль"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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 ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
|
|
@ -3450,7 +3452,7 @@ msgid "&Parallelism:"
|
|||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgid "Pass&word:"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
|
|
@ -3458,7 +3460,7 @@ msgid "&Repeat password:"
|
|||
msgstr ""
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
|
|
@ -11167,11 +11169,13 @@ msgstr "Не застосовувати \"Enter\""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11209,6 +11213,17 @@ msgstr "Список вікон \"Пошук файлів\""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "Маска зняття вибору"
|
||||
|
|
@ -11329,6 +11344,26 @@ msgstr ""
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11347,13 +11382,13 @@ msgstr ""
|
|||
msgid "HorzSplit"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -11505,11 +11540,13 @@ msgstr "Витягнути"
|
|||
msgid "Extract here..."
|
||||
msgstr "Розпакувати тут..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -12421,11 +12458,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "Знищення каталогу %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "Суперпароль"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "Будь ласка, введіть суперпароль:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -354,7 +354,7 @@ msgstr ""
|
|||
|
||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||
msgid "Algorithm"
|
||||
msgstr ""
|
||||
msgstr "算法"
|
||||
|
||||
#: tfrmchecksumverify.btnclose.caption
|
||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||
|
|
@ -3332,55 +3332,56 @@ msgstr "或选择预定义的选择类型(&R):"
|
|||
|
||||
#: tfrmmasterkey.btntest.caption
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
msgstr "测试"
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgstr ""
|
||||
msgid "Create Key"
|
||||
msgstr "创建密钥"
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
msgid "Key transformation"
|
||||
msgstr ""
|
||||
msgstr "密钥变换"
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "主密码"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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
|
||||
msgid "&Key derivation function:"
|
||||
msgstr ""
|
||||
msgstr "密钥变换函数(&K):"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||
msgstr "密钥通过密钥变换函数进行转换。这增加了工作量,使字典攻击和猜测攻击更加困难。"
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
msgid "&Iterations:"
|
||||
msgstr ""
|
||||
msgstr "迭代次数(&I):"
|
||||
|
||||
#: tfrmmasterkey.lblmemory.caption
|
||||
msgid "&Memory:"
|
||||
msgstr ""
|
||||
msgstr "内存(&M):"
|
||||
|
||||
#: tfrmmasterkey.lblparallelism.caption
|
||||
msgid "&Parallelism:"
|
||||
msgstr ""
|
||||
msgstr "并行(&P):"
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgstr ""
|
||||
msgid "Pass&word:"
|
||||
msgstr "密码(&W):"
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
msgid "&Repeat password:"
|
||||
msgstr ""
|
||||
msgstr "重复密码(&R):"
|
||||
|
||||
#: tfrmmasterkey.lbltext.caption
|
||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
||||
msgstr ""
|
||||
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||
msgstr "指定一个新密钥,该密钥将用于加密密码存储。"
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||
|
|
@ -3567,7 +3568,7 @@ msgstr "加载上次预设"
|
|||
|
||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||
msgid "Load Names from Clipboard"
|
||||
msgstr ""
|
||||
msgstr "从剪贴板加载名称"
|
||||
|
||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||
msgid "Load Names from File..."
|
||||
|
|
@ -3720,7 +3721,7 @@ msgstr ""
|
|||
|
||||
#: tfrmmultirename.cbrepext.hint
|
||||
msgid "Replace also in file extensions"
|
||||
msgstr ""
|
||||
msgstr "也在文件扩展名中替换"
|
||||
|
||||
#: tfrmmultirename.cbusesubs.caption
|
||||
msgid "&Use substitution"
|
||||
|
|
@ -10801,11 +10802,13 @@ msgstr "没有带回车键的快捷键"
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr "建议先完成文件下载后再操作。否则,复制的不是文件本身的内容,而是对应的占位符文件,这只会复制以.iCloud为扩展名的隐藏文件。"
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr "操作可能包含未下载的文件,仍然继续吗?"
|
||||
|
||||
|
|
@ -10843,6 +10846,20 @@ msgstr "<查找文件> 窗口列表"
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "不选择掩码"
|
||||
|
|
@ -10961,6 +10978,26 @@ msgctxt "ulng.rsmfstbifinderrevealtitle"
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -10981,13 +11018,13 @@ msgctxt "ulng.rsmfstbihorzsplittitle"
|
|||
msgid "HorzSplit"
|
||||
msgstr "水平分隔"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud云盘"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud云盘"
|
||||
|
||||
|
|
@ -11155,11 +11192,13 @@ msgstr "弹出"
|
|||
msgid "Extract here..."
|
||||
msgstr "解压缩到此处..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr "现在下载"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr "移除下载项"
|
||||
|
||||
|
|
@ -12073,11 +12112,12 @@ msgid "Wipe directory %s"
|
|||
msgstr "擦除文件夹 %s"
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "主密码"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "请输入主密码:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ msgstr ""
|
|||
|
||||
#: tfrmchecksumcalc.rghashalgorithm.caption
|
||||
msgid "Algorithm"
|
||||
msgstr ""
|
||||
msgstr "算法"
|
||||
|
||||
#: tfrmchecksumverify.btnclose.caption
|
||||
msgctxt "TFRMCHECKSUMVERIFY.BTNCLOSE.CAPTION"
|
||||
|
|
@ -3369,7 +3369,7 @@ msgstr ""
|
|||
|
||||
#: tfrmmaskinputdlg.lblattributes.caption
|
||||
msgid "Attri&butes:"
|
||||
msgstr ""
|
||||
msgstr "屬性 (&B):"
|
||||
|
||||
#: tfrmmaskinputdlg.lblprompt.caption
|
||||
msgid "Input Mask:"
|
||||
|
|
@ -3381,55 +3381,56 @@ msgstr "選擇預先定義好的類型 (&R) :"
|
|||
|
||||
#: tfrmmasterkey.btntest.caption
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
msgstr "測試"
|
||||
|
||||
#: tfrmmasterkey.caption
|
||||
msgid "Create Master Key"
|
||||
msgstr ""
|
||||
msgid "Create Key"
|
||||
msgstr "建立密鑰"
|
||||
|
||||
#: tfrmmasterkey.gbkeytransform.caption
|
||||
msgid "Key transformation"
|
||||
msgstr ""
|
||||
msgstr "密鑰轉換"
|
||||
|
||||
#: tfrmmasterkey.gbmasterkey.caption
|
||||
msgid "Master key"
|
||||
msgstr ""
|
||||
msgctxt "tfrmmasterkey.gbmasterkey.caption"
|
||||
msgid "Main Password"
|
||||
msgstr "主密碼"
|
||||
|
||||
#: tfrmmasterkey.lblfooter.caption
|
||||
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
|
||||
msgid "&Key derivation function:"
|
||||
msgstr ""
|
||||
msgstr "密鑰轉換函數 (&K):"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
msgid "The key is transformed using a key derivation function. This adds a work factor and makes dictionary and guessing attacks harder."
|
||||
msgstr "密鑰透過密鑰轉換函數進行轉換。這增加了工作量,使字典攻擊和猜測攻擊更加困難。"
|
||||
|
||||
#: tfrmmasterkey.lbliterations.caption
|
||||
msgid "&Iterations:"
|
||||
msgstr ""
|
||||
msgstr "迭代次數 (&I):"
|
||||
|
||||
#: tfrmmasterkey.lblmemory.caption
|
||||
msgid "&Memory:"
|
||||
msgstr ""
|
||||
msgstr "記憶體 (&M):"
|
||||
|
||||
#: tfrmmasterkey.lblparallelism.caption
|
||||
msgid "&Parallelism:"
|
||||
msgstr ""
|
||||
msgstr "平行 (&P):"
|
||||
|
||||
#: tfrmmasterkey.lblpassword.caption
|
||||
msgid "Master pass&word:"
|
||||
msgstr ""
|
||||
msgid "Pass&word:"
|
||||
msgstr "密碼 (&W):"
|
||||
|
||||
#: tfrmmasterkey.lblrepeat.caption
|
||||
msgid "&Repeat password:"
|
||||
msgstr ""
|
||||
msgstr "重複密碼 (&R):"
|
||||
|
||||
#: tfrmmasterkey.lbltext.caption
|
||||
msgid "Specify a new master key, which will be used to encrypt the password store."
|
||||
msgstr ""
|
||||
msgid "Specify a new key, which will be used to encrypt the password store."
|
||||
msgstr "指定一個新密鑰,該密鑰將用於加密密碼儲存。"
|
||||
|
||||
#: tfrmmasterkey.lblunit.caption
|
||||
msgctxt "tfrmmasterkey.lblunit.caption"
|
||||
|
|
@ -3535,7 +3536,7 @@ msgstr "副檔名"
|
|||
#: tfrmmultirename.actanynamemask.caption
|
||||
msgctxt "tfrmmultirename.actanynamemask.caption"
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
msgstr "檔案名稱"
|
||||
|
||||
#: tfrmmultirename.actclearextmask.caption
|
||||
msgctxt "tfrmmultirename.actclearextmask.caption"
|
||||
|
|
@ -3583,15 +3584,15 @@ msgstr "刪除"
|
|||
|
||||
#: tfrmmultirename.actdropdownpresetlist.caption
|
||||
msgid "Drop Down Presets List"
|
||||
msgstr ""
|
||||
msgstr "下拉預設列表"
|
||||
|
||||
#: tfrmmultirename.acteditnames.caption
|
||||
msgid "Edit Names..."
|
||||
msgstr ""
|
||||
msgstr "編輯名稱..."
|
||||
|
||||
#: tfrmmultirename.acteditnewnames.caption
|
||||
msgid "Edit Current New Names..."
|
||||
msgstr ""
|
||||
msgstr "編輯目前新名稱..."
|
||||
|
||||
#: tfrmmultirename.actextextmask.caption
|
||||
msgctxt "tfrmmultirename.actextextmask.caption"
|
||||
|
|
@ -3610,69 +3611,69 @@ msgstr "編輯 (&E)"
|
|||
|
||||
#: tfrmmultirename.actinvokerelativepath.caption
|
||||
msgid "Invoke Relative Path Menu"
|
||||
msgstr ""
|
||||
msgstr "呼叫相對路徑選單"
|
||||
|
||||
#: tfrmmultirename.actloadlastpreset.caption
|
||||
msgid "Load Last Preset"
|
||||
msgstr ""
|
||||
msgstr "載入上次預設"
|
||||
|
||||
#: tfrmmultirename.actloadnamesfromclipboard.caption
|
||||
msgid "Load Names from Clipboard"
|
||||
msgstr ""
|
||||
msgstr "從剪貼簿載入名稱"
|
||||
|
||||
#: tfrmmultirename.actloadnamesfromfile.caption
|
||||
msgid "Load Names from File..."
|
||||
msgstr ""
|
||||
msgstr "從檔案載入名稱..."
|
||||
|
||||
#: tfrmmultirename.actloadpreset.caption
|
||||
msgid "Load Preset by Name or Index"
|
||||
msgstr ""
|
||||
msgstr "按名稱或索引載入預設"
|
||||
|
||||
#: tfrmmultirename.actloadpreset1.caption
|
||||
msgid "Load Preset 1"
|
||||
msgstr ""
|
||||
msgstr "載入預設 1"
|
||||
|
||||
#: tfrmmultirename.actloadpreset2.caption
|
||||
msgid "Load Preset 2"
|
||||
msgstr ""
|
||||
msgstr "載入預設 2"
|
||||
|
||||
#: tfrmmultirename.actloadpreset3.caption
|
||||
msgid "Load Preset 3"
|
||||
msgstr ""
|
||||
msgstr "載入預設 3"
|
||||
|
||||
#: tfrmmultirename.actloadpreset4.caption
|
||||
msgid "Load Preset 4"
|
||||
msgstr ""
|
||||
msgstr "載入預設 4"
|
||||
|
||||
#: tfrmmultirename.actloadpreset5.caption
|
||||
msgid "Load Preset 5"
|
||||
msgstr ""
|
||||
msgstr "載入預設 5"
|
||||
|
||||
#: tfrmmultirename.actloadpreset6.caption
|
||||
msgid "Load Preset 6"
|
||||
msgstr ""
|
||||
msgstr "載入預設 6"
|
||||
|
||||
#: tfrmmultirename.actloadpreset7.caption
|
||||
msgid "Load Preset 7"
|
||||
msgstr ""
|
||||
msgstr "載入預設 7"
|
||||
|
||||
#: tfrmmultirename.actloadpreset8.caption
|
||||
msgid "Load Preset 8"
|
||||
msgstr ""
|
||||
msgstr "載入預設 8"
|
||||
|
||||
#: tfrmmultirename.actloadpreset9.caption
|
||||
msgid "Load Preset 9"
|
||||
msgstr ""
|
||||
msgstr "載入預設 9"
|
||||
|
||||
#: tfrmmultirename.actnameextmask.caption
|
||||
msgctxt "tfrmmultirename.actnameextmask.caption"
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
msgstr "檔案名稱"
|
||||
|
||||
#: tfrmmultirename.actnamenamemask.caption
|
||||
msgctxt "tfrmmultirename.actnamenamemask.caption"
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
msgstr "檔案名稱"
|
||||
|
||||
#: tfrmmultirename.actplgnextmask.caption
|
||||
msgctxt "tfrmmultirename.actplgnextmask.caption"
|
||||
|
|
@ -3711,11 +3712,11 @@ msgstr "另存新檔 (A)..."
|
|||
|
||||
#: tfrmmultirename.actshowpresetsmenu.caption
|
||||
msgid "Show Preset Menu"
|
||||
msgstr ""
|
||||
msgstr "顯示預設選單"
|
||||
|
||||
#: tfrmmultirename.actsortpresets.caption
|
||||
msgid "Sort"
|
||||
msgstr ""
|
||||
msgstr "排序"
|
||||
|
||||
#: tfrmmultirename.acttimeextmask.caption
|
||||
msgctxt "tfrmmultirename.acttimeextmask.caption"
|
||||
|
|
@ -3729,7 +3730,7 @@ msgstr "時間"
|
|||
|
||||
#: tfrmmultirename.actviewrenamelogfile.caption
|
||||
msgid "View Rename Log File"
|
||||
msgstr ""
|
||||
msgstr "查看重新命名日誌文件"
|
||||
|
||||
#: tfrmmultirename.caption
|
||||
msgctxt "tfrmmultirename.caption"
|
||||
|
|
@ -3752,7 +3753,7 @@ msgstr "記錄結果(&L)"
|
|||
|
||||
#: tfrmmultirename.cblogappend.caption
|
||||
msgid "Append"
|
||||
msgstr ""
|
||||
msgstr "追加"
|
||||
|
||||
#: tfrmmultirename.cbonlyfirst.caption
|
||||
msgid "1x"
|
||||
|
|
@ -3760,7 +3761,7 @@ msgstr ""
|
|||
|
||||
#: tfrmmultirename.cbonlyfirst.hint
|
||||
msgid "Replace only once per file"
|
||||
msgstr ""
|
||||
msgstr "每個檔案僅替換一次"
|
||||
|
||||
#: tfrmmultirename.cbregexp.caption
|
||||
msgctxt "TFRMMULTIRENAME.CBREGEXP.CAPTION"
|
||||
|
|
@ -3773,7 +3774,7 @@ msgstr ""
|
|||
|
||||
#: tfrmmultirename.cbrepext.hint
|
||||
msgid "Replace also in file extensions"
|
||||
msgstr ""
|
||||
msgstr "同時在檔案副檔名中替換"
|
||||
|
||||
#: tfrmmultirename.cbusesubs.caption
|
||||
msgid "&Use substitution"
|
||||
|
|
@ -3867,11 +3868,11 @@ msgstr "檔案路徑"
|
|||
#: tfrmmultirenamewait.caption
|
||||
msgctxt "tfrmmultirenamewait.caption"
|
||||
msgid "Double Commander"
|
||||
msgstr "Double Commander"
|
||||
msgstr ""
|
||||
|
||||
#: tfrmmultirenamewait.lblmessage.caption
|
||||
msgid "Click OK when you have closed the editor to load the changed names!"
|
||||
msgstr ""
|
||||
msgstr "關閉編輯器後,按一下“確定”以載入更改後的名稱!"
|
||||
|
||||
#: tfrmopenwith.caption
|
||||
msgid "Choose an application"
|
||||
|
|
@ -7274,7 +7275,7 @@ msgstr "檔案名稱"
|
|||
#: tfrmoptionspluginsdsx.lblplugindescription.caption
|
||||
msgctxt "tfrmoptionspluginsdsx.lblplugindescription.caption"
|
||||
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
|
||||
msgctxt "tfrmoptionspluginsdsx.stgplugins.columns[0].title.caption"
|
||||
|
|
@ -9811,7 +9812,6 @@ msgid "Paint"
|
|||
msgstr "繪圖"
|
||||
|
||||
#: tfrmviewer.btnpenwidth.caption
|
||||
#, fuzzy
|
||||
msgctxt "tfrmviewer.btnpenwidth.caption"
|
||||
msgid "1"
|
||||
msgstr "1"
|
||||
|
|
@ -11048,11 +11048,13 @@ msgstr ""
|
|||
msgid "By command name;By shortcut key (grouped);By shortcut key (one per row)"
|
||||
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."
|
||||
msgstr "建議先完成档案下載後再操作。否則,複製的不是档案本身的內容,而是對應的佔位符档案,這只會複製以.iCloud為擴展名的隱藏档案。"
|
||||
|
||||
#: ulng.rsiclouddrivercopyseedfileconfirmdlgtitle
|
||||
#: ulng.rsiclouddrivecopyseedfileconfirmdlgtitle
|
||||
msgctxt "ulng.rsiclouddrivecopyseedfileconfirmdlgtitle"
|
||||
msgid "The operation may contain files that were not downloaded, continue anyway?"
|
||||
msgstr "操作可能包含未下載的档案,仍然繼續嗎?"
|
||||
|
||||
|
|
@ -11090,6 +11092,20 @@ msgstr ""
|
|||
msgid "Assign tags to %d items"
|
||||
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
|
||||
msgid "Unselect mask"
|
||||
msgstr "取消選擇遮罩"
|
||||
|
|
@ -11205,6 +11221,26 @@ msgstr "在「訪達」中訪問文件"
|
|||
msgid "Finder"
|
||||
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
|
||||
msgctxt "ulng.rsmfstbigotips"
|
||||
msgid "Go"
|
||||
|
|
@ -11223,13 +11259,13 @@ msgstr "切換水平/垂直分隔顯示模式"
|
|||
msgid "HorzSplit"
|
||||
msgstr "水平分隔"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertips"
|
||||
#: ulng.rsmfstbiiclouddrivetips
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetips"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud雲碟"
|
||||
|
||||
#: ulng.rsmfstbiiclouddrivertitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivertitle"
|
||||
#: ulng.rsmfstbiiclouddrivetitle
|
||||
msgctxt "ulng.rsmfstbiiclouddrivetitle"
|
||||
msgid "iCloud Drive"
|
||||
msgstr "iCloud雲碟"
|
||||
|
||||
|
|
@ -11379,11 +11415,13 @@ msgstr "退出"
|
|||
msgid "Extract here..."
|
||||
msgstr "解壓縮到此處..."
|
||||
|
||||
#: ulng.rsmnuiclouddriverdownloadnow
|
||||
#: ulng.rsmnuiclouddrivedownloadnow
|
||||
msgctxt "ulng.rsmnuiclouddrivedownloadnow"
|
||||
msgid "Download Now"
|
||||
msgstr "現在下載"
|
||||
|
||||
#: ulng.rsmnuiclouddriverremovedownload
|
||||
#: ulng.rsmnuiclouddriveremovedownload
|
||||
msgctxt "ulng.rsmnuiclouddriveremovedownload"
|
||||
msgid "Remove Download"
|
||||
msgstr "移除下載項"
|
||||
|
||||
|
|
@ -12279,11 +12317,12 @@ msgid "Wipe directory %s"
|
|||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgmasterpassword
|
||||
msgid "Master Password"
|
||||
msgctxt "ulng.rsmsgmasterpassword"
|
||||
msgid "Main Password"
|
||||
msgstr "主要密碼"
|
||||
|
||||
#: ulng.rsmsgmasterpasswordenter
|
||||
msgid "Please enter the master password:"
|
||||
msgid "Please enter the main password:"
|
||||
msgstr "請輸入主要密碼:"
|
||||
|
||||
#: ulng.rsmsgnewfile
|
||||
|
|
@ -14115,7 +14154,7 @@ msgstr ""
|
|||
#: ulng.rssimplewordfilename
|
||||
msgctxt "ulng.rssimplewordfilename"
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
msgstr "檔案名稱"
|
||||
|
||||
#: ulng.rssimplewordfiles
|
||||
msgid "files"
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ msgid "Send keepalive during a transfer"
|
|||
msgstr "Падтрымліваць злучэнне падчас перадачы"
|
||||
|
||||
#: tdialogbox.chkmasterpassword.caption
|
||||
msgid "Use master password to protect the password"
|
||||
msgid "Use main password to protect the password"
|
||||
msgstr "Выкарыcтоўваць &галоўны пароль для абароны пароля"
|
||||
|
||||
#: tdialogbox.chkpassivemode.caption
|
||||
|
|
@ -163,3 +163,11 @@ msgstr "Проксі"
|
|||
msgid "Properties"
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
|
||||
#: tdialogbox.chkpassivemode.caption
|
||||
|
|
@ -163,3 +163,11 @@ msgstr "Proxy"
|
|||
msgid "Properties"
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
|
||||
#: tdialogbox.chkpassivemode.caption
|
||||
|
|
@ -162,3 +162,11 @@ msgstr "Proxy"
|
|||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#: ftplng.rsaddconnection
|
||||
msgid "Add connection"
|
||||
msgstr ""
|
||||
|
||||
#: ftplng.rsquickconnection
|
||||
msgid "Quick connection"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ msgid "Send keepalive during a transfer"
|
|||
msgstr "전송 중 킵얼라이브 전송"
|
||||
|
||||
#: tdialogbox.chkmasterpassword.caption
|
||||
msgid "Use master password to protect the password"
|
||||
msgid "Use main password to protect the password"
|
||||
msgstr "마스터 암호를 사용하여 암호 보호"
|
||||
|
||||
#: tdialogbox.chkpassivemode.caption
|
||||
|
|
@ -163,3 +163,11 @@ msgstr "프록시"
|
|||
msgid "Properties"
|
||||
msgstr "속성"
|
||||
|
||||
#: ftplng.rsaddconnection
|
||||
msgid "Add connection"
|
||||
msgstr ""
|
||||
|
||||
#: ftplng.rsquickconnection
|
||||
msgid "Quick connection"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ msgid "Send keepalive during a transfer"
|
|||
msgstr ""
|
||||
|
||||
#: tdialogbox.chkmasterpassword.caption
|
||||
msgid "Use master password to protect the password"
|
||||
msgid "Use main password to protect the password"
|
||||
msgstr ""
|
||||
|
||||
#: tdialogbox.chkpassivemode.caption
|
||||
|
|
@ -151,3 +151,12 @@ msgstr ""
|
|||
#: tfrmfileproperties.caption
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#: ftplng.rsaddconnection
|
||||
msgid "Add connection"
|
||||
msgstr ""
|
||||
|
||||
#: ftplng.rsquickconnection
|
||||
msgid "Quick connection"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ msgid "Send keepalive during a transfer"
|
|||
msgstr "Поддерживать соединение во время передачи"
|
||||
|
||||
#: tdialogbox.chkmasterpassword.caption
|
||||
msgid "Use master password to protect the password"
|
||||
msgid "Use main password to protect the password"
|
||||
msgstr "Использовать &главный пароль для защиты пароля"
|
||||
|
||||
#: tdialogbox.chkpassivemode.caption
|
||||
|
|
@ -152,3 +152,11 @@ msgstr "Прокси"
|
|||
msgid "Properties"
|
||||
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"
|
||||
|
||||
#: tdialogbox.chkmasterpassword.caption
|
||||
msgid "Use master password to protect the password"
|
||||
msgid "Use main password to protect the password"
|
||||
msgstr "使用主密码保护密码"
|
||||
|
||||
#: tdialogbox.chkpassivemode.caption
|
||||
|
|
@ -152,3 +152,11 @@ msgstr "代理"
|
|||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#: ftplng.rsaddconnection
|
||||
msgid "Add connection"
|
||||
msgstr ""
|
||||
|
||||
#: ftplng.rsquickconnection
|
||||
msgid "Quick connection"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ object DialogBox: TDialogBox
|
|||
Width = 306
|
||||
BorderSpacing.Left = 12
|
||||
BorderSpacing.Top = 12
|
||||
Caption = 'Use master password to protect the password'
|
||||
Caption = 'Use main password to protect the password'
|
||||
TabOrder = 7
|
||||
OnChange = CheckBoxChange
|
||||
end
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ implementation
|
|||
|
||||
uses
|
||||
LazUTF8, DynLibs, FtpUtils, blcksock, synaip, ssl_openssl_lib, libssh,
|
||||
FtpProxy, TypInfo;
|
||||
FtpProxy, FtpLng, TypInfo;
|
||||
|
||||
var
|
||||
Protocol: PtrInt;
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ exports
|
|||
FsSetDefaultParams,
|
||||
FsStatusInfoW,
|
||||
FsGetBackgroundFlags,
|
||||
FsExtractCustomIconW,
|
||||
{
|
||||
FsNetworkGetSupportedProtocols,
|
||||
FsNetworkGetConnection,
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@
|
|||
<VersionInfo>
|
||||
<UseVersionInfo Value="True"/>
|
||||
<MinorVersionNr Value="3"/>
|
||||
<RevisionNr Value="5"/>
|
||||
<StringTable FileDescription="FTP WFX plugin for Double Commander" LegalCopyright="Copyright (C) 2006-2024 Alexander Koblov"/>
|
||||
<RevisionNr Value="6"/>
|
||||
<StringTable FileDescription="FTP WFX plugin for Double Commander" LegalCopyright="Copyright (C) 2006-2026 Alexander Koblov"/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="2">
|
||||
<Item1 Name="Release" Default="True"/>
|
||||
|
|
@ -98,7 +98,7 @@ end;"/>
|
|||
<PackageName Value="LazUtils"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="6">
|
||||
<Units Count="7">
|
||||
<Unit0>
|
||||
<Filename Value="ftp.dpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
|
|
@ -130,6 +130,11 @@ end;"/>
|
|||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="SftpSend"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="ftplng.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="FtpLng"/>
|
||||
</Unit6>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-------------------------------------------------------------------------
|
||||
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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
|
|
@ -31,10 +31,6 @@ uses
|
|||
SysUtils, Classes,
|
||||
WfxPlugin, Extension;
|
||||
|
||||
const
|
||||
cAddConnection = '<Add connection>';
|
||||
cQuickConnection = '<Quick connection>';
|
||||
|
||||
type
|
||||
|
||||
{ TConnection }
|
||||
|
|
@ -96,6 +92,7 @@ procedure FsGetDefRootName(DefRootName: PAnsiChar; MaxLen: Integer); dcpcall; ex
|
|||
procedure FsSetDefaultParams(dps: pFsDefaultParamStruct); dcpcall; export;
|
||||
procedure FsStatusInfoW(RemoteDir: PWideChar; InfoStartEnd, InfoOperation: Integer); dcpcall; export;
|
||||
function FsGetBackgroundFlags: Integer; dcpcall; export;
|
||||
function FsExtractCustomIconW(RemoteName: PWideChar; ExtractFlags: Integer; TheIcon: PWfxIcon): Integer; dcpcall; export;
|
||||
{ Network API }
|
||||
{
|
||||
procedure FsNetworkGetSupportedProtocols(Protocols: PAnsiChar; MaxLen: LongInt); dcpcall; export;
|
||||
|
|
@ -125,7 +122,7 @@ implementation
|
|||
uses
|
||||
IniFiles, StrUtils, FtpAdv, FtpUtils, FtpConfDlg, syncobjs, LazFileUtils,
|
||||
LazUTF8, DCClassesUtf8, DCConvertEncoding, SftpSend, ScpSend, FtpProxy,
|
||||
FtpPropDlg, DCFileAttributes;
|
||||
FtpPropDlg, FtpLng, DCFileAttributes;
|
||||
|
||||
var
|
||||
DefaultIniName: String;
|
||||
|
|
@ -139,7 +136,6 @@ threadvar
|
|||
|
||||
const
|
||||
FS_COPYFLAGS_FORCE = FS_COPYFLAGS_OVERWRITE or FS_COPYFLAGS_RESUME;
|
||||
RootList: array [0 .. 1] of AnsiString = (cAddConnection, cQuickConnection);
|
||||
|
||||
type
|
||||
TListRec = record
|
||||
|
|
@ -609,12 +605,15 @@ end;
|
|||
|
||||
function LocalFindNext(Hdl: THandle; var FindData: TWin32FindDataW): Boolean;
|
||||
var
|
||||
ListRec: PListRec absolute Hdl;
|
||||
I, RootCount: Integer;
|
||||
Connection: TConnection;
|
||||
ListRec: PListRec absolute Hdl;
|
||||
RootList: array [0..1] of String;
|
||||
begin
|
||||
Result := False;
|
||||
I := ListRec^.Index;
|
||||
RootList[0]:= cAddConnection;
|
||||
RootList[1]:= cQuickConnection;
|
||||
RootCount := High(RootList) + 1;
|
||||
FillChar(FindData, SizeOf(FindData), 0);
|
||||
if I < RootCount then
|
||||
|
|
@ -1087,6 +1086,26 @@ begin
|
|||
Result:= BG_DOWNLOAD or BG_UPLOAD or BG_ASK_USER;
|
||||
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;
|
||||
begin
|
||||
|
|
@ -1177,6 +1196,7 @@ procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo);
|
|||
begin
|
||||
gStartupInfo:= StartupInfo^;
|
||||
DefaultIniName:= gStartupInfo.PluginConfDir + DefaultIniName;
|
||||
TranslateResourceStrings;
|
||||
|
||||
try
|
||||
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;
|
||||
tGetProperty GetProperty;
|
||||
tCreateComponent CreateComponent;
|
||||
unsigned char Reserved[4088 * sizeof(void *)];
|
||||
char LanguageID[16];
|
||||
unsigned char Reserved[4086 * sizeof(void *)];
|
||||
} tExtensionStartupInfo;
|
||||
#pragma pack(pop)
|
||||
|
||||
|
|
|
|||
|
|
@ -102,6 +102,20 @@
|
|||
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
||||
#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 {
|
||||
DWORD SizeLow,SizeHigh;
|
||||
FILETIME LastWriteTime;
|
||||
|
|
@ -176,8 +190,8 @@ BOOL DCPCALL FsSetTimeW(WCHAR* RemoteName,FILETIME *CreationTime,
|
|||
void DCPCALL FsStatusInfo(char* RemoteDir,int InfoStartEnd,int InfoOperation);
|
||||
void DCPCALL FsStatusInfoW(WCHAR* RemoteDir,int InfoStartEnd,int InfoOperation);
|
||||
void DCPCALL FsGetDefRootName(char* DefRootName,int maxlen);
|
||||
int DCPCALL FsExtractCustomIcon(char* RemoteName,int ExtractFlags,HICON* TheIcon);
|
||||
int DCPCALL FsExtractCustomIconW(WCHAR* RemoteName,int ExtractFlags,HICON* TheIcon);
|
||||
int DCPCALL FsExtractCustomIcon(char* RemoteName,int ExtractFlags,PWfxIcon TheIcon);
|
||||
int DCPCALL FsExtractCustomIconW(WCHAR* RemoteName,int ExtractFlags,PWfxIcon TheIcon);
|
||||
void DCPCALL FsSetDefaultParams(FsDefaultParamStruct* dps);
|
||||
|
||||
int DCPCALL FsGetPreviewBitmap(char* RemoteName,int width,int height,HBITMAP* ReturnedBitmap);
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@
|
|||
<UseVersionInfo Value="True"/>
|
||||
<MajorVersionNr Value="1"/>
|
||||
<MinorVersionNr Value="2"/>
|
||||
<Attributes pvaPreRelease="True" pvaPrivateBuild="True"/>
|
||||
<StringTable FileDescription="Double Commander" InternalName="DOUBLECMD" LegalCopyright="Copyright (C) 2006-2025 Alexander Koblov" ProductName="Double Commander"/>
|
||||
<Attributes pvaPreRelease="True" pvaPrivateBuild="False"/>
|
||||
<StringTable FileDescription="Double Commander" InternalName="DOUBLECMD" LegalCopyright="Copyright (C) 2006-2026 Alexander Koblov" ProductName="Double Commander"/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="5">
|
||||
<Item1 Name="Debug" Default="True"/>
|
||||
|
|
@ -332,7 +332,7 @@ end;"/>
|
|||
<PackageName Value="Image32"/>
|
||||
</Item13>
|
||||
</RequiredPackages>
|
||||
<Units Count="291">
|
||||
<Units Count="300">
|
||||
<Unit0>
|
||||
<Filename Value="doublecmd.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
|
|
@ -2053,9 +2053,9 @@ end;"/>
|
|||
<UnitName Value="uMountedListOperation"/>
|
||||
</Unit278>
|
||||
<Unit279>
|
||||
<Filename Value="platform\unix\darwin\uiclouddriver.pas"/>
|
||||
<Filename Value="platform\unix\darwin\uiclouddrive.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="uiCloudDriver"/>
|
||||
<UnitName Value="uiCloudDrive"/>
|
||||
</Unit279>
|
||||
<Unit280>
|
||||
<Filename Value="filesources\ufilesourcemanager.pas"/>
|
||||
|
|
@ -2078,9 +2078,9 @@ end;"/>
|
|||
<UnitName Value="uDarwinUtil"/>
|
||||
</Unit283>
|
||||
<Unit284>
|
||||
<Filename Value="platform\unix\darwin\uiclouddriverconfig.pas"/>
|
||||
<Filename Value="platform\unix\darwin\uiclouddriveconfig.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="uiCloudDriverConfig"/>
|
||||
<UnitName Value="uiCloudDriveConfig"/>
|
||||
</Unit284>
|
||||
<Unit285>
|
||||
<Filename Value="platform\unix\darwin\udarwinfileview.pas"/>
|
||||
|
|
@ -2096,10 +2096,10 @@ end;"/>
|
|||
<UnitName Value="fOptionsiCloud"/>
|
||||
</Unit286>
|
||||
<Unit287>
|
||||
<Filename Value="platform\unix\darwin\uiclouddriverutil.pas"/>
|
||||
<Filename Value="platform\unix\darwin\uiclouddriveutil.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<HasResources Value="True"/>
|
||||
<UnitName Value="uiCloudDriverUtil"/>
|
||||
<UnitName Value="uiCloudDriveUtil"/>
|
||||
</Unit287>
|
||||
<Unit288>
|
||||
<Filename Value="fileviews\usmoothscrollinggrid.pas"/>
|
||||
|
|
@ -2119,6 +2119,51 @@ end;"/>
|
|||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="fMasterKey"/>
|
||||
</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>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
|
|
|||
|
|
@ -51,9 +51,8 @@ uses
|
|||
uGtk2FixCursorPos,
|
||||
{$ENDIF}
|
||||
{$IFDEF darwin}
|
||||
uAppleMagnifiedModeFix,
|
||||
uMyDarwin,
|
||||
uiCloudDriverConfig,
|
||||
uDarwinApplication,
|
||||
uiCloudDriveConfig,
|
||||
{$ENDIF}
|
||||
{$IFDEF LCLWIN32}
|
||||
uDClass,
|
||||
|
|
@ -162,8 +161,8 @@ begin
|
|||
{$ENDIF}
|
||||
|
||||
{$IF DEFINED(darwin)}
|
||||
FixMacFormatSettings;
|
||||
setMacOSAppearance( gAppMode );
|
||||
TDarwinApplicationUtil.fixFormatSettings;
|
||||
TDarwinApplicationUtil.setTheme( gAppMode );
|
||||
{$ENDIF}
|
||||
|
||||
// Use only current directory separator
|
||||
|
|
@ -218,7 +217,7 @@ begin
|
|||
LoadPixMapManager;
|
||||
{$IF DEFINED(DARWIN)}
|
||||
initCocoaModernFormConfig;
|
||||
iCloudDriverConfigUtil.load;
|
||||
iCloudDriveConfigUtil.load;
|
||||
{$ENDIF}
|
||||
Application.CreateForm(TfrmMain, frmMain); // main form
|
||||
Application.CreateForm(TdmComData, dmComData); // common data
|
||||
|
|
|
|||
|
|
@ -400,12 +400,14 @@ implementation
|
|||
|
||||
uses
|
||||
LCLProc, LCLType, LConvEncoding, StrUtils, HelpIntfs, fViewer, fMain,
|
||||
uLng, uGlobs, uShowForm, uDCUtils, uFileSourceUtil, uOfficeXML,
|
||||
uSearchResultFileSource, uFile, uFileProperty, uColumnsFileView,
|
||||
uFileViewNotebook, uKeyboard, uOSUtils, uArchiveFileSourceUtil,
|
||||
uLng, uGlobs, uShowForm, uDCUtils, uOfficeXML,
|
||||
uFile, uFileProperty, uColumnsFileView,
|
||||
uFileViewNotebook, uKeyboard, uOSUtils,
|
||||
DCOSUtils, uRegExprA, uRegExprW, uDebug, uShowMsg, uConvEncoding,
|
||||
uColumns, uFileFunctions, uFileSorting, uWcxArchiveFileSource,
|
||||
DCConvertEncoding, WcxPlugin, fChooseEncoding, dmCommonData
|
||||
uColumns, uFileFunctions, uFileSorting,
|
||||
DCConvertEncoding, WcxPlugin, fChooseEncoding, dmCommonData,
|
||||
uLocalFileSource, uWcxArchiveFileSource, uSearchResultFileSource,
|
||||
uFileSourceUtil, uArchiveFileSourceUtil
|
||||
{$IFDEF DARKWIN}
|
||||
, uDarkStyle
|
||||
{$ENDIF}
|
||||
|
|
@ -525,7 +527,7 @@ begin
|
|||
LoadPlugins;
|
||||
ClearFilter;
|
||||
// SetWindowCaption(wcs_NewSearch);
|
||||
cmbFindPathStart.Text := FileView.CurrentPath;
|
||||
cmbFindPathStart.Text := FileView.CurrentRealPath;
|
||||
|
||||
// Get paths of selected files, if any.
|
||||
FSelectedFiles.Clear;
|
||||
|
|
@ -541,6 +543,9 @@ begin
|
|||
FreeAndNil(ASelectedFiles);
|
||||
end;
|
||||
|
||||
(FileView.FileSource as ILocalFileSource).AddSearchPath(
|
||||
FileView.CurrentRealPath, FSelectedFiles );
|
||||
|
||||
FindInArchive(FileView);
|
||||
|
||||
if Length(TemplateName) > 0 then
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ object frmCheckSumVerify: TfrmCheckSumVerify
|
|||
Constraints.MinWidth = 300
|
||||
KeyPreview = True
|
||||
OnClose = FormClose
|
||||
OnCreate = FormCreate
|
||||
OnKeyDown = FormKeyDown
|
||||
Position = poScreenCenter
|
||||
ShowInTaskBar = stAlways
|
||||
|
|
@ -37,6 +38,7 @@ object frmCheckSumVerify: TfrmCheckSumVerify
|
|||
Gutter.Visible = False
|
||||
Gutter.Width = 0
|
||||
Gutter.MouseActions = <>
|
||||
RightGutter.Visible = False
|
||||
RightGutter.Width = 0
|
||||
RightGutter.MouseActions = <>
|
||||
Keystrokes = <
|
||||
|
|
@ -343,6 +345,7 @@ object frmCheckSumVerify: TfrmCheckSumVerify
|
|||
MouseActions = <>
|
||||
MouseTextActions = <>
|
||||
MouseSelActions = <>
|
||||
Options = [eoBracketHighlight, eoHideRightMargin, eoTabsToSpaces, eoTrimTrailingSpaces]
|
||||
VisibleSpecialChars = [vscSpace, vscTabAtLast]
|
||||
ReadOnly = True
|
||||
ScrollBars = ssAutoBoth
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-------------------------------------------------------------------------
|
||||
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
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -26,7 +26,7 @@ unit fCheckSumVerify;
|
|||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, Buttons, SynEdit, LMessages, uOSForms,
|
||||
LCLType, Classes, SysUtils, Forms, Buttons, SynEdit, LMessages, uOSForms,
|
||||
Graphics, uFileSourceCalcChecksumOperation, DCBasicTypes, Controls;
|
||||
|
||||
type
|
||||
|
|
@ -105,11 +105,16 @@ end;
|
|||
procedure TfrmCheckSumVerify.FormCreate(Sender: TObject);
|
||||
begin
|
||||
seCheckSumVerify.FixDefaultKeystrokes;
|
||||
FontOptionsToFont(gFonts[dcfLog], seCheckSumVerify.Font);
|
||||
end;
|
||||
|
||||
procedure TfrmCheckSumVerify.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if Key = 27 then Close;
|
||||
if Key in [VK_RETURN, VK_ESCAPE] then
|
||||
begin
|
||||
Key:= 0;
|
||||
Close;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmCheckSumVerify.seCheckSumVerifySpecialLineColors(Sender: TObject; Line: integer;
|
||||
|
|
|
|||
|
|
@ -332,7 +332,6 @@ object frmDiffer: TfrmDiffer
|
|||
SimplePanel = False
|
||||
end
|
||||
object MainMenu: TMainMenu
|
||||
Images = dmComData.ilEditorImages
|
||||
Left = 88
|
||||
Top = 136
|
||||
object mnuFile: TMenuItem
|
||||
|
|
|
|||
|
|
@ -740,6 +740,9 @@ end;
|
|||
|
||||
procedure TfrmDiffer.FormCreate(Sender: TObject);
|
||||
begin
|
||||
if gIconsInMenus then
|
||||
Menu.Images:= dmComData.ilEditorImages;
|
||||
|
||||
ScrollLock:= 0;
|
||||
Diff:= TDiff.Create(Self);
|
||||
SynDiffEditLeft:= TSynDiffEdit.Create(Self);
|
||||
|
|
|
|||
|
|
@ -761,7 +761,6 @@ object frmEditor: TfrmEditor
|
|||
end
|
||||
end
|
||||
object MainMenu1: TMainMenu
|
||||
Images = dmComData.ilEditorImages
|
||||
Left = 48
|
||||
Top = 32
|
||||
object miFile: TMenuItem
|
||||
|
|
|
|||
|
|
@ -286,7 +286,8 @@ var
|
|||
begin
|
||||
InitPropStorage(Self);
|
||||
|
||||
Menu.Images:= dmComData.ilEditorImages;
|
||||
if gIconsInMenus then
|
||||
Menu.Images:= dmComData.ilEditorImages;
|
||||
StatusBar.OnShowHint:= @StatusBarShowHint;
|
||||
|
||||
LoadGlobalOptions;
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ uses
|
|||
{$IFDEF UNIX}
|
||||
BaseUnix, uUsersGroups, LazUTF8, DCUnix, uMyUnix,
|
||||
{$IFDEF DARWIN}
|
||||
uMyDarwin,
|
||||
uDarwinFile, uDarwinFileProperty,
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
statx,
|
||||
|
|
@ -257,6 +257,16 @@ end;
|
|||
|
||||
{$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(
|
||||
AFile: TFile;
|
||||
AFilePath: String;
|
||||
|
|
@ -391,6 +401,9 @@ var
|
|||
LinkAttrs: TFileAttrs;
|
||||
begin
|
||||
Result := TFile.Create(APath);
|
||||
{$IF DEFINED(DARWIN)}
|
||||
Result.SetPropertyLazyLoader(@PropertyLazyLoader);
|
||||
{$ENDIF}
|
||||
|
||||
with Result do
|
||||
begin
|
||||
|
|
@ -429,10 +442,6 @@ begin
|
|||
end;
|
||||
{$ENDIF}
|
||||
end;
|
||||
{$IFDEF DARWIN}
|
||||
if pSearchRecord^.Name<>'..' then
|
||||
MacOSSpecificProperty := uMyDarwin.getMacOSSpecificFileProperty(AFilePath);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
// Set name after assigning Attributes property, because it is used to get extension.
|
||||
|
|
@ -470,6 +479,9 @@ begin
|
|||
raise EFileNotFound.Create(aFilePath);
|
||||
|
||||
Result := TFile.Create(ExtractFilePath(aFilePath));
|
||||
{$IF DEFINED(DARWIN)}
|
||||
Result.SetPropertyLazyLoader(@PropertyLazyLoader);
|
||||
{$ENDIF}
|
||||
FillFromStat(Result, aFilePath, @StatInfo);
|
||||
|
||||
{$ELSE}
|
||||
|
|
@ -488,10 +500,6 @@ begin
|
|||
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
Result.MacOSSpecificProperty := uMyDarwin.getMacOSSpecificFileProperty(AFilePath);
|
||||
{$ENDIF}
|
||||
|
||||
// Set name after assigning Attributes property, because it is used to get extension.
|
||||
Result.FullPath := aFilePath;
|
||||
end;
|
||||
|
|
@ -710,7 +718,7 @@ begin
|
|||
begin
|
||||
TypeProperty := TFileTypeProperty.Create;
|
||||
{$IF DEFINED(DARWIN)}
|
||||
TypeProperty.Value:= GetFileDescription(sFullPath);
|
||||
TypeProperty.Value:= TDarwinFileUtil.getDescription(sFullPath);
|
||||
{$ELSE}
|
||||
TypeProperty.Value:= GetFileMimeType(sFullPath);
|
||||
{$ENDIF}
|
||||
|
|
@ -762,11 +770,6 @@ begin
|
|||
CommentProperty.Value := FDescr.ReadDescription(sFullPath);
|
||||
end;
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
if (AFile.Name<>'..') and (fpMacOSSpecific in PropertiesToSet) then
|
||||
MacOSSpecificProperty := uMyDarwin.getMacOSSpecificFileProperty(sFullPath);
|
||||
{$ENDIF}
|
||||
|
||||
PropertiesToSet:= PropertiesToSet * fpVariantAll;
|
||||
for AProp in PropertiesToSet do
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ uses
|
|||
type
|
||||
{ IMountedFileSource }
|
||||
|
||||
IMountedFileSource = interface(IFileSource)
|
||||
IMountedFileSource = interface(IFileSystemFileSource)
|
||||
['{47A3B4E6-5C40-A86A-E325-E4ABDC069B42}']
|
||||
|
||||
procedure mount( const path: String; const mountPoint: String );
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ uses
|
|||
Classes, SysUtils,
|
||||
uFileSourceListOperation,
|
||||
uFileSource, uMountedFileSource, uFileSystemListOperation,
|
||||
uDCUtils, DCOSUtils, DCStrUtils;
|
||||
DCOSUtils, DCStrUtils;
|
||||
|
||||
type
|
||||
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ type
|
|||
col: Integer;
|
||||
row: Integer;
|
||||
drawingRect: TRect;
|
||||
decorationRect: TRect;
|
||||
|
||||
case Byte of
|
||||
0: (
|
||||
|
|
@ -71,7 +72,7 @@ type
|
|||
|
||||
TFileSourceUIHandler = class
|
||||
procedure draw( var params: TFileSourceUIParams ); virtual; abstract;
|
||||
function click( var params: TFileSourceUIParams ): Boolean; virtual; abstract;
|
||||
function click( var params: TFileSourceUIParams ): Boolean; virtual; abstract;
|
||||
end;
|
||||
|
||||
TFileSourceField = record
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ type
|
|||
fspListFlatView,
|
||||
{en
|
||||
Set, if the file source supports mounted/mixed file struct.
|
||||
eg. TMountedFileSource / TiCloudDriverFileSource
|
||||
eg. TMountedFileSource / TiCloudDriveFileSource
|
||||
}
|
||||
fspMounted,
|
||||
{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 ChooseSpecialFile(aFile: TFile): Boolean;
|
||||
|
||||
procedure ChooseSymbolicLink(aFileView: TFileView; aFile: TFile);
|
||||
|
||||
procedure SetFileSystemPath(aFileView: TFileView; aPath: String);
|
||||
|
|
@ -58,7 +60,11 @@ uses
|
|||
uArchiveFileSourceUtil,
|
||||
uFileSourceOperationMessageBoxesUI,
|
||||
uFileProperty, URIParser,
|
||||
WcxPlugin, uWcxModule, uHash, uSuperUser;
|
||||
WcxPlugin, uWcxModule, uHash, uSuperUser
|
||||
{$IFDEF DARWIN}
|
||||
, uDarwinFinderModel, uDarwinFileView
|
||||
{$ENDIF}
|
||||
;
|
||||
|
||||
procedure ChooseFile(aFileView: TFileView; aFileSource: IFileSource;
|
||||
aFile: TFile);
|
||||
|
|
@ -174,6 +180,9 @@ begin
|
|||
if ChooseArchive(aFileView, aFileSource, aFile) then
|
||||
Exit(True);
|
||||
|
||||
if ChooseSpecialFile(aFile) then
|
||||
Exit(True);
|
||||
|
||||
// Work only for TVfsFileSource.
|
||||
if aFileView.FileSource.IsClass(TVfsFileSource) then
|
||||
begin
|
||||
|
|
@ -308,6 +317,20 @@ begin
|
|||
Result := False;
|
||||
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);
|
||||
var
|
||||
sPath: String;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ uses
|
|||
type
|
||||
|
||||
ILocalFileSource = interface(IRealFileSource)
|
||||
['{22F03840-42C2-0E62-2CCE-677794F64598}']
|
||||
procedure AddSearchPath( const startPath: String; paths: TStringList );
|
||||
end;
|
||||
|
||||
{en
|
||||
|
|
@ -18,10 +20,20 @@ type
|
|||
Empty placeholder for now, allows to check
|
||||
whether a certain file source is local.
|
||||
}
|
||||
|
||||
{ TLocalFileSource }
|
||||
|
||||
TLocalFileSource = class(TRealFileSource, ILocalFileSource)
|
||||
procedure AddSearchPath( const startPath: String; paths: TStringList ); virtual;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TLocalFileSource }
|
||||
|
||||
procedure TLocalFileSource.AddSearchPath( const startPath: String; paths: TStringList );
|
||||
begin
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@ uses
|
|||
Classes, SysUtils, Controls, LMessages, Grids, Graphics,
|
||||
uDisplayFile, DCXmlConfig, uTypes,
|
||||
uFileView, uFileViewWithMainCtrl, uFileViewWithGrid,
|
||||
{$IFDEF DARWIN}
|
||||
uDarwinFileView,
|
||||
{$ENDIF}
|
||||
uFile, uFileSource, uFileProperty;
|
||||
|
||||
type
|
||||
|
|
@ -19,7 +22,6 @@ type
|
|||
TBriefDrawGrid = class(TFileViewGrid)
|
||||
protected
|
||||
FBriefView: TBriefFileView;
|
||||
FOnDrawCell: TFileViewOnDrawCell;
|
||||
protected
|
||||
procedure UpdateView; override;
|
||||
procedure CalculateColRowCount; override;
|
||||
|
|
@ -37,16 +39,11 @@ type
|
|||
function CellToIndex(ACol, ARow: Integer): Integer; override;
|
||||
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); override;
|
||||
procedure DrawCell(aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState); override;
|
||||
|
||||
property OnDrawCell: TFileViewOnDrawCell read FOnDrawCell write FOnDrawCell;
|
||||
end;
|
||||
|
||||
{ TBriefFileView }
|
||||
|
||||
TBriefFileView = class (TFileViewWithGrid)
|
||||
protected
|
||||
function GetOnDrawCell: TFileViewOnDrawCell;
|
||||
procedure SetOnDrawCell( OnDrawCell: TFileViewOnDrawCell );
|
||||
protected
|
||||
procedure CreateDefault(AOwner: TWinControl); override;
|
||||
function GetFileViewGridClass: TFileViewGridClass; override;
|
||||
|
|
@ -59,9 +56,7 @@ type
|
|||
procedure DoFileUpdated(AFile: TDisplayFile; UpdatedProperties: TFilePropertiesTypes = []); override;
|
||||
public
|
||||
function Clone(NewParent: TWinControl): TBriefFileView; override;
|
||||
procedure CloneTo(FileView: TFileView); override;
|
||||
procedure SaveConfiguration(AConfig: TXmlConfig; ANode: TXmlNode; ASaveHistory:boolean); override;
|
||||
property OnDrawCell: TFileViewOnDrawCell read GetOnDrawCell write SetOnDrawCell;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
|
@ -356,44 +351,8 @@ begin
|
|||
end;
|
||||
|
||||
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
|
||||
if (Button = mbLeft) and handleMBLeft then
|
||||
if (Button = mbLeft) and self.doCellClick( Shift, X, Y ) then
|
||||
begin
|
||||
FBriefView.tmRenameFile.Enabled := False;
|
||||
FBriefView.FRenameFileIndex := -1;
|
||||
|
|
@ -536,23 +495,6 @@ var
|
|||
Canvas.TextOut(aRect.Left + 2, iTextTop, s);
|
||||
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
|
||||
//------------------------------------------------------
|
||||
|
|
@ -565,26 +507,21 @@ begin
|
|||
FileSourceDirectAccess:= fspDirectAccess in FBriefView.FileSource.Properties;
|
||||
|
||||
params:= Default( TFileSourceUIParams );
|
||||
params.sender:= FBriefView;
|
||||
params.fs:= FBriefView.FileSource;
|
||||
params.multiColumns:= False;
|
||||
params.col:= aCol;
|
||||
params.row:= aRow;
|
||||
params.displayFile:= aFile;
|
||||
params.drawingRect:= aRect;
|
||||
params.focused:= (gdSelected in aState) and FBriefView.Active;
|
||||
|
||||
if AFile.DisplayStrings.Count = 0 then
|
||||
FBriefView.MakeColumnsStrings(AFile);
|
||||
|
||||
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;
|
||||
|
||||
params.drawingRect:= aRect;
|
||||
params.focused:= (gdSelected in aState) and FBriefView.Active;
|
||||
callFileSourceDrawCell;
|
||||
callOnDrawCell;
|
||||
self.doCellEnhancedDraw( params );
|
||||
end
|
||||
else
|
||||
begin
|
||||
|
|
@ -599,16 +536,6 @@ end;
|
|||
|
||||
{ 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);
|
||||
begin
|
||||
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
|
||||
quickSearch.LimitedAutoHide := True;
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
TBriefDrawGrid(dgPanel).OnDrawCell:= @darwinFileViewDrawHandler.onDrawCell;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
function TBriefFileView.GetFileViewGridClass: TFileViewGridClass;
|
||||
|
|
@ -718,13 +649,6 @@ begin
|
|||
Result := TBriefFileView.Create(NewParent, Self);
|
||||
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);
|
||||
begin
|
||||
inherited SaveConfiguration(AConfig, ANode, ASaveHistory);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,10 @@ uses
|
|||
DCXmlConfig,
|
||||
DCBasicTypes,
|
||||
uTypes,
|
||||
uSmoothScrollingGrid,
|
||||
{$IFDEF DARWIN}
|
||||
uDarwinFileView,
|
||||
{$ENDIF}
|
||||
uFileViewBaseGrid,
|
||||
uFileViewWithGrid;
|
||||
|
||||
type
|
||||
|
|
@ -29,21 +32,21 @@ type
|
|||
|
||||
{ TDrawGridEx }
|
||||
|
||||
TDrawGridEx = class(TSmoothScrollingGrid)
|
||||
TDrawGridEx = class(TFileViewBaseGrid)
|
||||
private
|
||||
FMouseDownY: Integer;
|
||||
FLastMouseMoveTime: QWord;
|
||||
FLastMouseScrollTime: QWord;
|
||||
ColumnsView: TColumnsFileView;
|
||||
|
||||
FOnDrawCell: TFileViewOnDrawCell;
|
||||
|
||||
function GetGridHorzLine: Boolean;
|
||||
function GetGridVertLine: Boolean;
|
||||
procedure SetGridHorzLine(const AValue: Boolean);
|
||||
procedure SetGridVertLine(const AValue: Boolean);
|
||||
|
||||
protected
|
||||
function getFileView: TFileView; override;
|
||||
|
||||
procedure DragCanceled; override;
|
||||
procedure DoMouseMoveScroll(X, Y: Integer);
|
||||
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
|
||||
|
|
@ -71,8 +74,6 @@ type
|
|||
|
||||
procedure UpdateView;
|
||||
|
||||
function MouseOnGrid(X, Y: LongInt): Boolean;
|
||||
|
||||
// Returns height of all the header rows.
|
||||
function GetHeaderHeight: Integer;
|
||||
|
||||
|
|
@ -89,7 +90,8 @@ type
|
|||
property GridVertLine: Boolean read GetGridVertLine write SetGridVertLine;
|
||||
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;
|
||||
|
||||
TColumnResized = procedure (Sender: TObject; ColumnIndex: Integer; ColumnNewsize: integer) of object;
|
||||
|
|
@ -108,9 +110,6 @@ type
|
|||
dgPanel: TDrawGridEx;
|
||||
FOnColumnResized: TColumnResized;
|
||||
|
||||
function GetOnDrawCell: TFileViewOnDrawCell;
|
||||
procedure SetOnDrawCell( OnDrawCell: TFileViewOnDrawCell );
|
||||
|
||||
function GetColumnsClass: TPanelColumnsClass;
|
||||
|
||||
procedure SetRowCount(Count: Integer);
|
||||
|
|
@ -214,7 +213,6 @@ type
|
|||
procedure SetGridFunctionDim(ExternalDimFunction:TFunctionDime);
|
||||
|
||||
property OnColumnResized: TColumnResized read FOnColumnResized write FOnColumnResized;
|
||||
property OnDrawCell: TFileViewOnDrawCell read GetOnDrawCell write SetOnDrawCell;
|
||||
published
|
||||
procedure cm_SaveFileDetailsToFile(const Params: array of string);
|
||||
procedure cm_CopyFileDetailsToClip(const Params: array of string);
|
||||
|
|
@ -932,6 +930,9 @@ begin
|
|||
dgPanel.OnTopLeftChanged:= @dgPanelTopLeftChanged;
|
||||
dgpanel.OnResize:= @dgPanelResize;
|
||||
dgPanel.OnHeaderSized:= @dgPanelHeaderSized;
|
||||
{$IFDEF DARWIN}
|
||||
dgPanel.OnDrawCell:= @darwinFileViewDrawHandler.onDrawCell;
|
||||
{$ENDIF}
|
||||
|
||||
pmColumnsMenu := TPopupMenu.Create(Self);
|
||||
pmColumnsMenu.Parent := Self;
|
||||
|
|
@ -962,7 +963,6 @@ begin
|
|||
with TColumnsFileView(FileView) do
|
||||
begin
|
||||
FColumnsSortDirections := Self.FColumnsSortDirections;
|
||||
OnDrawCell := Self.OnDrawCell;
|
||||
|
||||
ActiveColm := Self.ActiveColm;
|
||||
ActiveColmSlave := nil;
|
||||
|
|
@ -1121,16 +1121,6 @@ begin
|
|||
Dec(Result.Last, dgPanel.FixedRows);
|
||||
end;
|
||||
|
||||
function TColumnsFileView.GetOnDrawCell: TFileViewOnDrawCell;
|
||||
begin
|
||||
Result:= dgPanel.OnDrawCell;
|
||||
end;
|
||||
|
||||
procedure TColumnsFileView.SetOnDrawCell(OnDrawCell: TFileViewOnDrawCell);
|
||||
begin
|
||||
dgPanel.OnDrawCell:= OnDrawCell;
|
||||
end;
|
||||
|
||||
function TColumnsFileView.GetColumnsClass: TPanelColumnsClass;
|
||||
begin
|
||||
if isSlave then
|
||||
|
|
@ -1141,17 +1131,13 @@ end;
|
|||
|
||||
function TColumnsFileView.GetFileIndexFromCursor(X, Y: Integer; out AtFileList: Boolean): PtrInt;
|
||||
var
|
||||
bTemp: Boolean;
|
||||
iRow, iCol: LongInt;
|
||||
begin
|
||||
with dgPanel do
|
||||
begin
|
||||
bTemp:= AllowOutboundEvents;
|
||||
AllowOutboundEvents:= False;
|
||||
MouseToCell(X, Y, iCol, iRow);
|
||||
AllowOutboundEvents:= bTemp;
|
||||
Result:= IfThen(iRow < 0, InvalidFileIndex, iRow - FixedRows);
|
||||
AtFileList := Y >= GetHeaderHeight;
|
||||
MouseToCellWithoutOutbound(X, Y, iCol, iRow);
|
||||
Result:= CellToIndex(iCol, iRow);
|
||||
AtFileList:= (Result >= 0);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
@ -1424,7 +1410,7 @@ procedure TDrawGridEx.UpdateView;
|
|||
OldFont := Canvas.Font;
|
||||
Canvas.Font := Font;
|
||||
SetCanvasFont(GetColumnFont(0, True));
|
||||
Result := Canvas.TextHeight('Wg');
|
||||
Result := self.calcTextHeight;
|
||||
Canvas.Font := OldFont;
|
||||
end;
|
||||
|
||||
|
|
@ -1952,23 +1938,6 @@ var
|
|||
aRect := CCell.Rect;
|
||||
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
|
||||
//------------------------------------------------------
|
||||
|
|
@ -1991,19 +1960,18 @@ begin
|
|||
FileSourceDirectAccess := fspDirectAccess in ColumnsView.FileSource.Properties;
|
||||
|
||||
params:= Default( TFileSourceUIParams );
|
||||
params.sender:= Self.ColumnsView;
|
||||
params.fs:= Self.ColumnsView.FileSource;
|
||||
params.multiColumns:= True;
|
||||
params.col:= aCol;
|
||||
params.row:= aRow;
|
||||
params.displayFile:= aFile;
|
||||
params.drawingRect:= aRect;
|
||||
params.focused:= (gdSelected in aState) and ColumnsView.Active;
|
||||
|
||||
if AFile.DisplayStrings.Count = 0 then
|
||||
ColumnsView.MakeColumnsStrings(AFile, ColumnsSet);
|
||||
|
||||
PrepareColors;
|
||||
|
||||
iTextTop := aRect.Top + (aRect.Height - Canvas.TextHeight('Wg')) div 2;
|
||||
iTextTop := aRect.Top + (aRect.Height - self.calcTextHeight) div 2;
|
||||
|
||||
if gExtendCellWidth then
|
||||
DrawExtendedCells
|
||||
|
|
@ -2015,10 +1983,7 @@ begin
|
|||
DrawOtherCell;
|
||||
end;
|
||||
|
||||
params.drawingRect:= aRect;
|
||||
params.focused:= (gdSelected in aState) and ColumnsView.Active;
|
||||
callFileSourceDrawCell;
|
||||
callOnDrawCell;
|
||||
self.doCellEnhancedDraw( params );
|
||||
|
||||
DrawCellGrid(aCol,aRow,aRect,aState);
|
||||
DrawLines;
|
||||
|
|
@ -2054,37 +2019,6 @@ var
|
|||
FileSystem: String;
|
||||
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
|
||||
if ColumnsView.IsLoadingFileList then Exit;
|
||||
{$IFDEF LCLGTK2}
|
||||
|
|
@ -2106,7 +2040,7 @@ begin
|
|||
|
||||
if Button = mbLeft then
|
||||
begin
|
||||
handleMBLeft;
|
||||
self.doCellClick( Shift, X, Y );
|
||||
end else if Button = mbRight then
|
||||
begin
|
||||
{ If right click on header }
|
||||
|
|
@ -2238,18 +2172,6 @@ begin
|
|||
if ColumnsView.IsMouseSelecting then DoMouseMoveScroll(X, Y);
|
||||
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;
|
||||
var
|
||||
i : Integer;
|
||||
|
|
@ -2287,6 +2209,11 @@ begin
|
|||
Options := Options - [goVertLine];
|
||||
end;
|
||||
|
||||
function TDrawGridEx.getFileView: TFileView;
|
||||
begin
|
||||
Result:= self.ColumnsView;
|
||||
end;
|
||||
|
||||
function TDrawGridEx.GetVisibleRows: TRange;
|
||||
var
|
||||
w: Integer;
|
||||
|
|
@ -2437,5 +2364,18 @@ begin
|
|||
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.
|
||||
|
||||
|
|
|
|||
|
|
@ -518,7 +518,9 @@ type
|
|||
var DropParams: TDropParams); virtual abstract;
|
||||
|
||||
procedure GoToHistoryIndex(aFileSourceIndex, aPathIndex: Integer);
|
||||
function hasPrevHistory: Boolean;
|
||||
procedure GoToPrevHistory;
|
||||
function hasNextHistory: Boolean;
|
||||
procedure GoToNextHistory;
|
||||
|
||||
procedure SetDragCursor(Shift: TShiftState); virtual; abstract;
|
||||
|
|
@ -1061,15 +1063,9 @@ begin
|
|||
end;
|
||||
|
||||
function TFileView.calcFileHashKey(const FileName, APath: String): String;
|
||||
var
|
||||
subPath: String;
|
||||
begin
|
||||
if fspMounted in FileSource.GetProperties then begin
|
||||
Result := ExcludeTrailingPathDelimiter( APath + FileName );
|
||||
end else if FFlatView then begin
|
||||
subPath := APath.Substring( currentPath.Length );
|
||||
if subPath<>EmptyStr then subPath := IncludeTrailingPathDelimiter(subPath);
|
||||
Result := subPath + FileName;
|
||||
if FFlatView then begin
|
||||
Result := ExcludeTrailingPathDelimiter( IncludeTrailingPathDelimiter(APath) + FileName );
|
||||
end else begin
|
||||
Result := FileName;
|
||||
end;
|
||||
|
|
@ -3595,6 +3591,15 @@ begin
|
|||
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;
|
||||
var
|
||||
aFileSourceIndex, aPathIndex: Integer;
|
||||
|
|
@ -3615,6 +3620,17 @@ begin
|
|||
GoToHistoryIndex(aFileSourceIndex, aPathIndex);
|
||||
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;
|
||||
var
|
||||
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,
|
||||
uDisplayFile, DCXmlConfig, uFileSorting, uFileProperty,
|
||||
uFileViewWithMainCtrl, uFile, uFileViewHeader, uFileView, uFileSource,
|
||||
uSmoothScrollingGrid;
|
||||
uFileViewBaseGrid;
|
||||
|
||||
type
|
||||
|
||||
|
|
@ -16,12 +16,13 @@ type
|
|||
|
||||
{ TFileViewGrid }
|
||||
|
||||
TFileViewGrid = class(TSmoothScrollingGrid)
|
||||
TFileViewGrid = class(TFileViewBaseGrid)
|
||||
protected
|
||||
FLastMouseMoveTime: QWord;
|
||||
FLastMouseScrollTime: QWord;
|
||||
FFileView: TFileViewWithGrid;
|
||||
protected
|
||||
function getFileView: TFileView; override;
|
||||
procedure Scroll(Message: Cardinal; ScrollCode: SmallInt);
|
||||
{$IF lcl_fullversion < 1080003}
|
||||
function SelectCell(aCol, aRow: Integer): Boolean; override;
|
||||
|
|
@ -30,7 +31,6 @@ type
|
|||
procedure ColWidthsChanged; override;
|
||||
procedure FinalizeWnd; override;
|
||||
procedure InitializeWnd; override;
|
||||
function MouseOnGrid(X, Y: LongInt): Boolean;
|
||||
procedure DoOnResize; override;
|
||||
procedure DragCanceled; override;
|
||||
procedure KeyDown(var Key : Word; Shift : TShiftState); override;
|
||||
|
|
@ -51,7 +51,6 @@ type
|
|||
{$endif}
|
||||
public
|
||||
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;
|
||||
property BorderWidth: Integer read GetBorderWidth;
|
||||
end;
|
||||
|
|
@ -209,6 +208,11 @@ begin
|
|||
inherited KeyDown(Key, Shift);
|
||||
end;
|
||||
|
||||
function TFileViewGrid.getFileView: TFileView;
|
||||
begin
|
||||
Result:= self.FFileView;
|
||||
end;
|
||||
|
||||
procedure TFileViewGrid.Scroll(Message: Cardinal; ScrollCode: SmallInt);
|
||||
var
|
||||
Msg: TLMScroll;
|
||||
|
|
@ -246,18 +250,6 @@ begin
|
|||
CalculateColRowCount;
|
||||
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,
|
||||
Y: Integer);
|
||||
begin
|
||||
|
|
@ -671,17 +663,13 @@ end;
|
|||
|
||||
function TFileViewWithGrid.GetFileIndexFromCursor(X, Y: Integer; out AtFileList: Boolean): PtrInt;
|
||||
var
|
||||
bTemp: Boolean;
|
||||
iRow, iCol: LongInt;
|
||||
begin
|
||||
with dgPanel do
|
||||
begin
|
||||
bTemp:= AllowOutboundEvents;
|
||||
AllowOutboundEvents:= False;
|
||||
MouseToCell(X, Y, iCol, iRow);
|
||||
AllowOutboundEvents:= bTemp;
|
||||
MouseToCellWithoutOutbound(X, Y, iCol, iRow);
|
||||
Result:= CellToIndex(iCol, iRow);
|
||||
AtFileList := True; // Always at file list because header in dgPanel not used
|
||||
AtFileList:= (Result >= 0);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ uses
|
|||
uFile, uDisplayFile,
|
||||
uFileViewWorker,
|
||||
uOrderedFileView,
|
||||
uFileSource,
|
||||
uFileView,
|
||||
uDragDropEx,
|
||||
uFileViewNotebook,
|
||||
|
|
@ -40,8 +41,7 @@ uses
|
|||
|
||||
type
|
||||
|
||||
TFileViewOnDrawCell = procedure(Sender: TFileView; aCol, aRow: Integer;
|
||||
aRect: TRect; focused: Boolean; aFile: TDisplayFile) of object;
|
||||
TFileViewOnDrawCell = procedure( var params: TFileSourceUIParams ) of object;
|
||||
|
||||
TRenameFileActionType=(rfatName,rfatExt,rfatFull,rfatToSeparators,rfatNextSeparated);
|
||||
|
||||
|
|
@ -239,7 +239,7 @@ uses
|
|||
GTK2Globals, // for DblClickTime
|
||||
{$ENDIF}
|
||||
LCLIntf, LCLProc, LazUTF8, Forms, Dialogs, Buttons, DCOSUtils, DCStrUtils,
|
||||
fMain, uShowMsg, uLng, uFileProperty, uFileSource, uFileSourceOperationTypes,
|
||||
fMain, uShowMsg, uLng, uFileProperty, uFileSourceOperationTypes,
|
||||
uGlobs, uInfoToolTip, uFileSystemFileSource, uFileSourceUtil,
|
||||
uArchiveFileSourceUtil, uFormCommands, uKeyboard, uFileSourceSetFilePropertyOperation,
|
||||
uFileSystemWatcher;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,11 @@ interface
|
|||
|
||||
uses
|
||||
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;
|
||||
|
||||
type
|
||||
|
|
@ -58,6 +62,7 @@ type
|
|||
FUpdateColCount: Integer;
|
||||
protected
|
||||
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 MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 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;
|
||||
procedure IndexToCell(Index: Integer; out ACol, ARow: Integer); override;
|
||||
procedure DrawCell(aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState); override;
|
||||
|
||||
function ConvertToDecorationRect(const drawingRect: TRect): TRect; override;
|
||||
end;
|
||||
|
||||
|
||||
|
|
@ -254,6 +261,14 @@ begin
|
|||
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);
|
||||
begin
|
||||
inherited MouseMove(Shift, X, Y);
|
||||
|
|
@ -462,12 +477,13 @@ var
|
|||
//shared variables
|
||||
AFile: TDisplayFile;
|
||||
FileSourceDirectAccess: Boolean;
|
||||
params: TFileSourceUIParams;
|
||||
|
||||
//------------------------------------------------------
|
||||
//begin subprocedures
|
||||
//------------------------------------------------------
|
||||
|
||||
procedure DrawIconCell(aRect: TRect);
|
||||
procedure DrawIconCell;
|
||||
var
|
||||
factor: Double;
|
||||
IconRect: TRect;
|
||||
|
|
@ -478,9 +494,11 @@ var
|
|||
s: string;
|
||||
IconID: PtrInt;
|
||||
Bitmap: TBitmap;
|
||||
aRect: TRect;
|
||||
begin
|
||||
factor:= self.GetCanvasScaleFactor;
|
||||
iTextTop := aRect.Bottom - Canvas.TextHeight('Wg');
|
||||
aRect:= params.drawingRect;
|
||||
iTextTop:= aRect.Bottom - self.calcTextHeight;
|
||||
|
||||
IconID := AFile.Tag;
|
||||
|
||||
|
|
@ -536,16 +554,28 @@ begin
|
|||
begin
|
||||
AFile:= FThumbView.FFiles[Idx];
|
||||
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
|
||||
FThumbView.MakeColumnsStrings(AFile);
|
||||
|
||||
PrepareColors(AFile, aCol, aRow, aRect, aState);
|
||||
|
||||
if gUseFrameCursor then
|
||||
DrawIconCell(Rect(aRect.Left + gBorderFrameWidth - 1, aRect.Top + gBorderFrameWidth - 1,
|
||||
aRect.Right - gBorderFrameWidth + 1, aRect.Bottom - gBorderFrameWidth + 1))
|
||||
else
|
||||
DrawIconCell(aRect);
|
||||
if gUseFrameCursor then begin
|
||||
params.drawingRect:=
|
||||
Rect(aRect.Left + gBorderFrameWidth - 1, aRect.Top + gBorderFrameWidth - 1,
|
||||
aRect.Right - gBorderFrameWidth + 1, aRect.Bottom - gBorderFrameWidth + 1);
|
||||
end else begin
|
||||
params.drawingRect:= aRect;
|
||||
end;
|
||||
|
||||
DrawIconCell;
|
||||
self.doCellEnhancedDraw( params );
|
||||
end
|
||||
else
|
||||
begin
|
||||
|
|
@ -558,6 +588,16 @@ begin
|
|||
DrawLines(Idx, aCol, aRow, aRect, aState);
|
||||
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 }
|
||||
|
||||
procedure TThumbFileView.ThumbnailsRetrieverOnAbort(AStart: Integer;
|
||||
|
|
@ -610,6 +650,10 @@ begin
|
|||
tmMouseScroll.Interval := 200;
|
||||
FBitmapList:= TBitmapList.Create(True);
|
||||
FThumbnailManager:= TThumbnailManager.Create(self, gColors.FilePanel^.BackColor);
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
TThumbDrawGrid(dgPanel).OnDrawCell:= @darwinFileViewDrawHandler.onDrawCell;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TThumbFileView.AfterChangePath;
|
||||
|
|
@ -735,7 +779,7 @@ begin
|
|||
inherited UpdateRenameFileEditPosition;
|
||||
|
||||
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
|
||||
Inc(ARect.Right, edtRename.ButtonWidth);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,8 @@ uses
|
|||
, Glib2, Gtk2
|
||||
{$ELSEIF DEFINED(DARWIN)}
|
||||
, CocoaConfig
|
||||
, uMyDarwin
|
||||
, uDarwinApplication
|
||||
, uDarwinFileView
|
||||
{$ENDIF}
|
||||
, Types, LMessages;
|
||||
|
||||
|
|
@ -896,7 +897,6 @@ type
|
|||
procedure OnNSServiceOpenWithNewTab( filenames:TStringList );
|
||||
function NSServiceMenuIsReady(): boolean;
|
||||
function NSServiceMenuGetFilenames(): TStringArray;
|
||||
procedure NSThemeChangedHandler();
|
||||
{$ENDIF}
|
||||
procedure LoadWindowState;
|
||||
procedure SaveWindowState;
|
||||
|
|
@ -1257,8 +1257,8 @@ begin
|
|||
ThemeServices.OnThemeChange:= @AppThemeChange;
|
||||
|
||||
{$IF DEFINED(DARWIN)}
|
||||
InitNSServiceProvider( @OnNSServiceOpenWithNewTab, @NSServiceMenuIsReady, @NSServiceMenuGetFilenames );
|
||||
InitNSThemeChangedObserver( @NSThemeChangedHandler );
|
||||
TDarwinApplicationUtil.initServiceProvider( @OnNSServiceOpenWithNewTab, @NSServiceMenuIsReady, @NSServiceMenuGetFilenames );
|
||||
TDarwinFileViewUtil.init( @ActiveNotebook, @ActiveFrame );
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
|
|
@ -2962,7 +2962,7 @@ constructor TfrmMain.Create(TheOwner: TComponent);
|
|||
begin
|
||||
CocoaConfigMenu.appMenu.aboutItem:= mnuHelpAbout;
|
||||
CocoaConfigMenu.appMenu.preferencesItem:= mnuConfigOptions;
|
||||
CocoaConfigMenu.appMenu.onCreate:= @onMainMenuCreate;
|
||||
CocoaConfigMenu.appMenu.onCreate:= @darwinOnMainMenuCreate;
|
||||
end;
|
||||
|
||||
procedure setMacOSDockMenu();
|
||||
|
|
@ -4822,6 +4822,9 @@ begin
|
|||
ANoteBook.Hint := FileView.CurrentPath;
|
||||
end;
|
||||
|
||||
if Assigned(onFileViewUpdated) then
|
||||
onFileViewUpdated(FileView);
|
||||
|
||||
{if (fspDirectAccess in FileView.FileSource.GetProperties) then
|
||||
begin
|
||||
if gTermWindow and Assigned(Cons) then
|
||||
|
|
@ -4966,16 +4969,16 @@ end;
|
|||
|
||||
function CompareDrives(Item1, Item2: Pointer): Integer;
|
||||
var
|
||||
driver1: PDrive absolute Item1;
|
||||
driver2: PDrive absolute Item2;
|
||||
drive1: PDrive absolute Item1;
|
||||
drive2: PDrive absolute Item2;
|
||||
begin
|
||||
if driver1 = driver2 then
|
||||
if drive1 = drive2 then
|
||||
Exit(0);
|
||||
if driver1^.Path = PathDelim then
|
||||
if drive1^.Path = PathDelim then
|
||||
Exit(-1);
|
||||
if driver2^.Path = PathDelim then
|
||||
if drive2^.Path = PathDelim then
|
||||
Exit(1);
|
||||
Result := CompareText(driver1^.DisplayName, driver2^.DisplayName);
|
||||
Result := CompareText(drive1^.DisplayName, drive2^.DisplayName);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.UpdateDiskCount;
|
||||
|
|
@ -5149,14 +5152,8 @@ begin
|
|||
FileViewFlags := [fvfDelayLoadingFiles];
|
||||
if sType = 'columns' then begin
|
||||
Result := TColumnsFileView.Create(Page, AConfig, ANode, FileViewFlags);
|
||||
{$IFDEF DARWIN}
|
||||
TColumnsFileView(Result).OnDrawCell:= @DarwinFileViewDrawHelper.OnDrawCell;
|
||||
{$ENDIF}
|
||||
end else if sType = 'brief' then begin
|
||||
Result := TBriefFileView.Create(Page, AConfig, ANode, FileViewFlags);
|
||||
{$IFDEF DARWIN}
|
||||
TBriefFileView(Result).OnDrawCell:= @DarwinFileViewDrawHelper.OnDrawCell;
|
||||
{$ENDIF}
|
||||
end else if sType = 'thumbnails' then
|
||||
Result := TThumbFileView.Create(Page, AConfig, ANode, FileViewFlags)
|
||||
else begin
|
||||
|
|
@ -6404,11 +6401,6 @@ begin
|
|||
FreeAndNil( files );
|
||||
Result:= filenames;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.NSThemeChangedHandler;
|
||||
begin
|
||||
ThemeServices.IntfDoOnThemeChange;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
procedure TfrmMain.LoadWindowState;
|
||||
|
|
@ -6565,7 +6557,8 @@ begin
|
|||
if Pos(Address, DrivesList[I]^.Path) = 1 then
|
||||
Exit(I);
|
||||
end
|
||||
else begin
|
||||
else if (DrivesList[I]^.DriveType <> dtSpecial) and Address.IsEmpty then
|
||||
begin
|
||||
DrivePath := UTF8UpperCase(DrivesList[I]^.Path);
|
||||
DrivePathLen := UTF8Length(DrivePath);
|
||||
if (DrivePathLen > LongestPathLen) and IsInPath(DrivePath, Path, True, True) then
|
||||
|
|
@ -7370,7 +7363,7 @@ end;
|
|||
|
||||
procedure TfrmMain.OpenNewWindow(Sender: TObject);
|
||||
begin
|
||||
uMyDarwin.openNewInstance;
|
||||
TDarwinApplicationUtil.openNewInstance;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Width = 480
|
||||
AutoSize = True
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Create Master Key'
|
||||
Caption = 'Create Key'
|
||||
ChildSizing.LeftRightSpacing = 12
|
||||
ChildSizing.TopBottomSpacing = 12
|
||||
ClientHeight = 494
|
||||
|
|
@ -26,7 +26,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 12
|
||||
Caption = 'Master key'
|
||||
Caption = 'Main Password'
|
||||
ChildSizing.LeftRightSpacing = 12
|
||||
ChildSizing.TopBottomSpacing = 10
|
||||
ChildSizing.VerticalSpacing = 6
|
||||
|
|
@ -42,7 +42,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Height = 25
|
||||
Top = 10
|
||||
Width = 243
|
||||
Caption = 'Master pass&word:'
|
||||
Caption = 'Pass&word:'
|
||||
end
|
||||
object edtPassword: TEdit
|
||||
Left = 255
|
||||
|
|
@ -84,6 +84,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Width = 456
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'Key transformation'
|
||||
ChildSizing.LeftRightSpacing = 12
|
||||
ChildSizing.TopBottomSpacing = 12
|
||||
|
|
@ -100,7 +101,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Top = 12
|
||||
Width = 428
|
||||
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
|
||||
end
|
||||
object pnlKeyTransform: TPanel
|
||||
|
|
@ -144,7 +145,6 @@ object frmMasterKey: TfrmMasterKey
|
|||
)
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
Text = 'Argon2d'
|
||||
end
|
||||
object lblIterations: TLabel
|
||||
Left = 0
|
||||
|
|
@ -159,7 +159,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Top = 49
|
||||
Width = 161
|
||||
MaxValue = 64
|
||||
MinValue = 2
|
||||
MinValue = 1
|
||||
TabOrder = 1
|
||||
Value = 4
|
||||
end
|
||||
|
|
@ -185,7 +185,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Height = 25
|
||||
Top = 0
|
||||
Width = 65
|
||||
MaxValue = 1024
|
||||
MaxValue = 2048
|
||||
MinValue = 64
|
||||
TabOrder = 0
|
||||
Value = 64
|
||||
|
|
@ -260,7 +260,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
Height = 17
|
||||
Top = 12
|
||||
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
|
||||
object pnlButtons: TButtonPanel
|
||||
AnchorSideTop.Control = gbKeyTransform
|
||||
|
|
@ -275,6 +275,7 @@ object frmMasterKey: TfrmMasterKey
|
|||
OKButton.Name = 'OKButton'
|
||||
OKButton.DefaultCaption = True
|
||||
OKButton.Enabled = False
|
||||
OKButton.OnClick = OKButtonClick
|
||||
HelpButton.Name = 'HelpButton'
|
||||
HelpButton.DefaultCaption = True
|
||||
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;
|
||||
procedure btnTestClick(Sender: TObject);
|
||||
procedure edtPasswordChange(Sender: TObject);
|
||||
procedure OKButtonClick(Sender: TObject);
|
||||
private
|
||||
FTest: Boolean;
|
||||
function Test(Finish: Boolean): Boolean;
|
||||
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
|
||||
|
||||
|
|
@ -48,17 +52,17 @@ implementation
|
|||
uses
|
||||
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
|
||||
with TfrmMasterKey.Create(Application) do
|
||||
try
|
||||
seIterations.Value:= T;
|
||||
seParallelism.Value:= P;
|
||||
seMemory.Value:= 256;
|
||||
seIterations.Value:= 2;
|
||||
seParallelism.Value:= 4;
|
||||
cmbFunction.ItemIndex:= 0;
|
||||
seMemory.Value:= M div 1024;
|
||||
lblText.Visible:= not Short;
|
||||
gbMasterKey.Visible:= not Short;
|
||||
pnlButtons.OKButton.Enabled:= Short;
|
||||
pnlButtons.OKButton.ModalResult:= mrNone;
|
||||
|
||||
Result:= (ShowModal = mrOK);
|
||||
|
||||
|
|
@ -81,13 +85,16 @@ end;
|
|||
|
||||
{ TfrmMasterKey }
|
||||
|
||||
procedure TfrmMasterKey.btnTestClick(Sender: TObject);
|
||||
function TfrmMasterKey.Test(Finish: Boolean): Boolean;
|
||||
const
|
||||
HASH_LEN = 88;
|
||||
SALT = 'a5abbcdd86a5d7f9c8a76ea7d0197ed1';
|
||||
Buttons: array[Boolean] of TMsgDlgButtons = ([mbOK], [mbOK, mbCancel]);
|
||||
var
|
||||
Res: Integer;
|
||||
Ret: Integer;
|
||||
Delay: Double;
|
||||
StartTime: QWord;
|
||||
Res: TModalResult;
|
||||
ArgonType: Targon2_type;
|
||||
t_cost, m_cost, parallelism: UInt32;
|
||||
Hash: array[0..Pred(HASH_LEN)] of Byte;
|
||||
|
|
@ -103,14 +110,25 @@ begin
|
|||
end;
|
||||
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);
|
||||
|
||||
if (Res <> ARGON2_OK) then
|
||||
ShowMessage(Format(rsMsgKeyTransformError, [Res]))
|
||||
FTest:= (Ret = ARGON2_OK);
|
||||
|
||||
if (not FTest) then
|
||||
MessageDlg(Format(rsMsgKeyTransformError, [Ret]), mtError, [mbOK], 0)
|
||||
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;
|
||||
|
||||
Result:= FTest;
|
||||
end;
|
||||
|
||||
procedure TfrmMasterKey.btnTestClick(Sender: TObject);
|
||||
begin
|
||||
Test(False);
|
||||
end;
|
||||
|
||||
procedure TfrmMasterKey.edtPasswordChange(Sender: TObject);
|
||||
|
|
@ -118,5 +136,13 @@ begin
|
|||
pnlButtons.OKButton.Enabled:= (Length(edtPassword.Text) > 0) and (edtPassword.Text = edtRepeat.Text);
|
||||
end;
|
||||
|
||||
procedure TfrmMasterKey.OKButtonClick(Sender: TObject);
|
||||
begin
|
||||
if FTest or Test(True) then
|
||||
begin
|
||||
ModalResult:= mrOK;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
|||
|
|
@ -2171,8 +2171,8 @@ begin
|
|||
end
|
||||
else
|
||||
begin
|
||||
edFind.Color := clWindow;
|
||||
edFind.Font.Color := clWindowText;
|
||||
edFind.Color := clDefault;
|
||||
edFind.Font.Color := clDefault;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ uses
|
|||
{$IF not DEFINED(darwin)}
|
||||
, uDarkStyle
|
||||
{$ELSE}
|
||||
, uMyDarwin
|
||||
, uDarwinApplication
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
;
|
||||
|
|
@ -269,7 +269,7 @@ begin
|
|||
if g_darkModeSupported then
|
||||
Result:= [oesfNeedsRestart];
|
||||
{$ELSE}
|
||||
setMacOSAppearance( gAppMode );
|
||||
TDarwinApplicationUtil.setTheme( gAppMode );
|
||||
{$ENDIF}
|
||||
SaveEarlyConfig;
|
||||
except
|
||||
|
|
|
|||
|
|
@ -188,6 +188,7 @@ begin
|
|||
begin
|
||||
LocalVisualFontElements[iFontIndex].FontEdit.Text := gFonts[TDCFont(iFontIndex)].Name;
|
||||
FontOptionsToFont(gFonts[TDCFont(iFontIndex)], LocalVisualFontElements[iFontIndex].FontEdit.Font);
|
||||
LocalVisualFontElements[iFontIndex].FontSpindEdit.HandleNeeded;
|
||||
LocalVisualFontElements[iFontIndex].FontSpindEdit.Value := gFonts[TDCFont(iFontIndex)].Size;
|
||||
end;
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ uses
|
|||
Classes, SysUtils, Forms, Controls, ComCtrls, Graphics,
|
||||
fOptionsFrame, uPixMapManager,
|
||||
fMain, uFileSystemFileSource, uFileViewNotebook,
|
||||
uiCloudDriver, uiCloudDriverConfig, uiCloudDriverUtil;
|
||||
uiCloudDrive, uiCloudDriveConfig, uiCloudDriveUtil;
|
||||
|
||||
type
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ begin
|
|||
newPage:= notebook.NewPage(Notebook.ActiveView);
|
||||
|
||||
fs:= TFileSystemFileSource.GetFileSource;
|
||||
path:= iCloudDriverUtil.getAppFullPath( String(appsListView.Selected.Data) );
|
||||
path:= iCloudDriveUtil.getAppFullPath( String(appsListView.Selected.Data) );
|
||||
newPage.FileView.AddFileSource( fs, path );
|
||||
notebook.PageIndex:= NewPage.PageIndex;
|
||||
end;
|
||||
|
|
@ -67,8 +67,8 @@ function TfrmOptionsiCloud.isEnabledApp(const appName: String): Boolean;
|
|||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i:= 0 to Length(iCloudDriverConfig.apps)-1 do begin
|
||||
if iCloudDriverConfig.apps[i].app = appName then
|
||||
for i:= 0 to Length(iCloudDriveConfig.apps)-1 do begin
|
||||
if iCloudDriveConfig.apps[i].app = appName then
|
||||
Exit( True );
|
||||
end;
|
||||
Result:= False;
|
||||
|
|
@ -81,7 +81,7 @@ var
|
|||
icon: TBitmap;
|
||||
begin
|
||||
inherited Load;
|
||||
self.apps:= iCloudDriverUtil.createAllApps;
|
||||
self.apps:= iCloudDriveUtil.createAllApps;
|
||||
for app in self.apps do begin
|
||||
item:= self.appsListView.Items.Add;
|
||||
item.Caption:= app.displayName;
|
||||
|
|
@ -108,9 +108,9 @@ function TfrmOptionsiCloud.Save: TOptionsEditorSaveFlags;
|
|||
var
|
||||
iAllApps: Integer;
|
||||
iEnabledApps: Integer;
|
||||
item: TiCloudDriverConfigAppItem;
|
||||
item: TiCloudDriveConfigAppItem;
|
||||
begin
|
||||
SetLength( iCloudDriverConfig.apps, appsListView.Items.Count );
|
||||
SetLength( iCloudDriveConfig.apps, appsListView.Items.Count );
|
||||
iEnabledApps:= 0;
|
||||
for iAllApps:=0 to appsListView.Items.Count-1 do begin
|
||||
if NOT appsListView.Items[iAllApps].Checked then
|
||||
|
|
@ -118,11 +118,11 @@ begin
|
|||
|
||||
item.name:= appsListView.Items[iAllApps].Caption;
|
||||
item.app:= String( appsListView.Items[iAllApps].Data );
|
||||
iCloudDriverConfig.apps[iEnabledApps]:= item;
|
||||
iCloudDriveConfig.apps[iEnabledApps]:= item;
|
||||
inc( iEnabledApps );
|
||||
end;
|
||||
SetLength( iCloudDriverConfig.apps, iEnabledApps );
|
||||
iCloudDriverConfigUtil.save;
|
||||
SetLength( iCloudDriveConfig.apps, iEnabledApps );
|
||||
iCloudDriveConfigUtil.save;
|
||||
|
||||
Result:= [oesfNeedsRestart];
|
||||
FreeAndNil( self.apps );
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ export REVISION_INC=$1/dcrevision.inc
|
|||
rm -f $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)
|
||||
|
||||
if [ $REVISION ] && [ $COMMIT ]; then
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ del /Q %REVISION_TXT% 2> nul
|
|||
del /Q %REVISION_INC% 2> 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
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
unit uClipboard;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$IFDEF DARWIN}
|
||||
{$modeswitch objectivec1}
|
||||
{$ENDIF}
|
||||
|
||||
{$IF DEFINED(UNIX) and not DEFINED(DARWIN)}
|
||||
{$Define UNIX_not_DARWIN}
|
||||
|
|
@ -67,14 +64,6 @@ const
|
|||
// Kde
|
||||
kdeClipboardMime = 'application/x-kde-cutselection';
|
||||
|
||||
{$ELSEIF DEFINED(DARWIN)}
|
||||
|
||||
TClipboardOperationName : array[TClipboardOperation] of string = (
|
||||
'copy', 'cut'
|
||||
);
|
||||
|
||||
darwinPasteboardOpMime = 'application/x-darwin-doublecmd-PbOp';
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
|
|
@ -112,7 +101,7 @@ uses
|
|||
{$ELSEIF DEFINED(UNIX_not_DARWIN)}
|
||||
Clipbrd, LCLIntf
|
||||
{$ELSEIF DEFINED(DARWIN)}
|
||||
DCStrUtils, CocoaAll, CocoaUtils, uDarwinUtil
|
||||
uDarwinClipboard
|
||||
{$ENDIF}
|
||||
;
|
||||
|
||||
|
|
@ -551,51 +540,37 @@ begin
|
|||
end;
|
||||
{$ENDIF}
|
||||
|
||||
// MacOs 10.5 compatibility
|
||||
{$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;
|
||||
const
|
||||
OperationToDarwin: Array[TClipboardOperation] of TDarwinClipboardOperation =
|
||||
( TDarwinClipboardOperation.copy, TDarwinClipboardOperation.cut );
|
||||
var
|
||||
s : string;
|
||||
darwinOp: TDarwinClipboardOperation;
|
||||
begin
|
||||
Result := false;
|
||||
if filenames.Count = 0 then Exit;
|
||||
darwinOp:= OperationToDarwin[ClipboardOp];
|
||||
Result:= TDarwinClipboardUtil.setFiles( darwinOp, filenames );
|
||||
end;
|
||||
|
||||
ClearClipboard;
|
||||
NSPasteboardAddFiles( filenames );
|
||||
NSPasteboardAddString( FilenamesToString(filenames) );
|
||||
NSPasteboardAddString( TClipboardOperationName[ClipboardOp] , StringToNSString(darwinPasteboardOpMime) );
|
||||
function PasteFromClipboard(out ClipboardOp: TClipboardOperation; out filenames:TStringList):Boolean;
|
||||
const
|
||||
OperationFromDarwin: Array[TDarwinClipboardOperation] of TClipboardOperation =
|
||||
( 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;
|
||||
{$ENDIF}
|
||||
|
||||
|
|
@ -616,17 +591,20 @@ var
|
|||
hGlobalBuffer: HGLOBAL;
|
||||
pBuffer: LPVOID;
|
||||
PreferredEffect: DWORD;
|
||||
{
|
||||
dataObj: IDataObject;
|
||||
Medium: TSTGMedium;
|
||||
ChosenFormat: TFormatETC;
|
||||
hr: HRESULT;
|
||||
HasVirtualFiles: Boolean;
|
||||
}
|
||||
begin
|
||||
filenames := nil;
|
||||
Result := False;
|
||||
HasVirtualFiles := False;
|
||||
// HasVirtualFiles := False;
|
||||
ClipboardOp := ClipboardCopy;
|
||||
|
||||
{
|
||||
// Try to get IDataObject from clipboard for virtual file support
|
||||
hr := OleGetClipboard(dataObj);
|
||||
if Succeeded(hr) and Assigned(dataObj) then
|
||||
|
|
@ -734,8 +712,9 @@ begin
|
|||
dataObj := nil;
|
||||
end;
|
||||
end;
|
||||
}
|
||||
|
||||
// Fallback to standard CF_HDROP
|
||||
// Use standard CF_HDROP
|
||||
if OpenClipboard(0) = False then Exit;
|
||||
|
||||
try
|
||||
|
|
@ -770,9 +749,9 @@ begin
|
|||
filenames := uOleDragDrop.TFileDropTarget.GetDropFilenames(hGlobalBuffer);
|
||||
if Assigned(filenames) and (filenames.Count > 0) then
|
||||
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
|
||||
if not mbFileExists(filenames[0]) then
|
||||
if not mbFileSystemEntryExists(filenames[0]) then
|
||||
begin
|
||||
with frmMain do
|
||||
begin
|
||||
|
|
@ -913,52 +892,6 @@ begin
|
|||
end;
|
||||
{$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}
|
||||
procedure ClearClipboard;
|
||||
begin
|
||||
|
|
@ -979,19 +912,6 @@ begin
|
|||
end;
|
||||
{$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)}
|
||||
procedure ClipboardSetText(AText: String);
|
||||
begin
|
||||
|
|
@ -1016,15 +936,6 @@ begin
|
|||
end;
|
||||
{$ENDIF}
|
||||
|
||||
// MacOs 10.5 compatibility
|
||||
{$IFDEF DARWIN}
|
||||
procedure ClipboardSetText(AText: String);
|
||||
begin
|
||||
ClearClipboard;
|
||||
NSPasteboardAddString(AText);
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
initialization
|
||||
|
||||
RegisterUserFormats;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ uses
|
|||
{$IF DEFINED(UNIX)}
|
||||
, DCFileAttributes
|
||||
{$IFDEF DARWIN}
|
||||
, MacOSAll
|
||||
, MacOSAll, uDarwinFile
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
;
|
||||
|
|
@ -196,9 +196,7 @@ uses
|
|||
{$ENDIF}
|
||||
{$IF DEFINED(UNIX)}
|
||||
, BaseUnix, Unix, uMyUnix, dl
|
||||
{$IF DEFINED(DARWIN)}
|
||||
, CocoaAll, uMyDarwin
|
||||
{$ELSEIF NOT DEFINED(HAIKU)}
|
||||
{$IF NOT DEFINED(DARWIN) and NOT DEFINED(HAIKU)}
|
||||
, uGio, uClipboard, uXdg, uKde
|
||||
{$ENDIF}
|
||||
{$IF DEFINED(LINUX)}
|
||||
|
|
@ -217,7 +215,7 @@ begin
|
|||
end;
|
||||
{$ELSEIF DEFINED(DARWIN)}
|
||||
begin
|
||||
LinkTarget:= ResolveAliasFile(FileName);
|
||||
LinkTarget:= TDarwinFileUtil.resolveAlias(FileName);
|
||||
if mbCompareFileNames(FileName, LinkTarget) then
|
||||
Result:= False
|
||||
else begin
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ uses
|
|||
, uUDisks, uUDev, uMountWatcher, DCStrUtils, uOSUtils, FileUtil, uGVolume, DCOSUtils
|
||||
{$ENDIF}
|
||||
{$IFDEF DARWIN}
|
||||
, StrUtils, uMyDarwin, uDarwinFSWatch, uDarwinIO, ExtCtrls
|
||||
, StrUtils, uDarwinFSWatch, uDarwinIO, ExtCtrls
|
||||
{$ENDIF}
|
||||
{$IFDEF HAIKU}
|
||||
, BaseUnix, DCHaiku
|
||||
|
|
@ -103,9 +103,9 @@ const
|
|||
|
||||
type
|
||||
|
||||
{ TDarwinDriverWatcher }
|
||||
{ TDarwinDriveWatcher }
|
||||
|
||||
TDarwinDriverWatcher = class( IDarwinVolumnHandler )
|
||||
TDarwinDriveWatcher = class( IDarwinVolumnHandler )
|
||||
private
|
||||
_drivePath: String;
|
||||
_timer: TTimer;
|
||||
|
|
@ -176,7 +176,7 @@ var
|
|||
OldWProc: WNDPROC;
|
||||
{$ENDIF}
|
||||
{$IFDEF DARWIN}
|
||||
DarwinDriverWatcher: TDarwinDriverWatcher;
|
||||
DarwinDriveWatcher: TDarwinDriveWatcher;
|
||||
{$ENDIF}
|
||||
{$IFDEF BSD_not_DARWIN}
|
||||
KQueueDriveWatcher: TKQueueDriveEventWatcher;
|
||||
|
|
@ -217,9 +217,9 @@ end;
|
|||
|
||||
{$IFDEF DARWIN}
|
||||
|
||||
{ TDarwinDriverWatcher }
|
||||
{ TDarwinDriveWatcher }
|
||||
|
||||
procedure TDarwinDriverWatcher.handleAdded(const fullpath: String);
|
||||
procedure TDarwinDriveWatcher.handleAdded(const fullpath: String);
|
||||
var
|
||||
drive: TDrive;
|
||||
begin
|
||||
|
|
@ -229,7 +229,7 @@ begin
|
|||
_timer.Enabled:= True;
|
||||
end;
|
||||
|
||||
procedure TDarwinDriverWatcher.handleRemoved(const fullpath: String);
|
||||
procedure TDarwinDriveWatcher.handleRemoved(const fullpath: String);
|
||||
var
|
||||
drive: TDrive;
|
||||
begin
|
||||
|
|
@ -237,7 +237,7 @@ begin
|
|||
DoDriveRemoved( @drive );
|
||||
end;
|
||||
|
||||
procedure TDarwinDriverWatcher.handleRenamed(const fullpath: String);
|
||||
procedure TDarwinDriveWatcher.handleRenamed(const fullpath: String);
|
||||
var
|
||||
drive: TDrive;
|
||||
begin
|
||||
|
|
@ -245,14 +245,14 @@ begin
|
|||
DoDriveChanged( @drive );
|
||||
end;
|
||||
|
||||
procedure TDarwinDriverWatcher.createTimer;
|
||||
procedure TDarwinDriveWatcher.createTimer;
|
||||
begin
|
||||
_timer:= TTimer.Create( nil );
|
||||
_timer.Enabled:= False;
|
||||
_timer.OnTimer:= @tryAddDrive;
|
||||
end;
|
||||
|
||||
procedure TDarwinDriverWatcher.tryAddDrive( Sender: TObject );
|
||||
procedure TDarwinDriveWatcher.tryAddDrive( Sender: TObject );
|
||||
function driveReady: Boolean;
|
||||
var
|
||||
fsPtr: ^TFixedStatfs;
|
||||
|
|
@ -290,14 +290,14 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
constructor TDarwinDriverWatcher.Create;
|
||||
constructor TDarwinDriveWatcher.Create;
|
||||
begin
|
||||
Inherited;
|
||||
TDarwinVolumnUtil.setHandler( self );
|
||||
self.createTimer;
|
||||
end;
|
||||
|
||||
destructor TDarwinDriverWatcher.Destroy;
|
||||
destructor TDarwinDriveWatcher.Destroy;
|
||||
begin
|
||||
TDarwinVolumnUtil.removeHandler;
|
||||
FreeAndNil( _timer );
|
||||
|
|
@ -461,7 +461,7 @@ begin
|
|||
{$ENDIF}
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
DarwinDriverWatcher := TDarwinDriverWatcher.Create;
|
||||
DarwinDriveWatcher := TDarwinDriveWatcher.Create;
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF BSD_not_DARWIN}
|
||||
|
|
@ -492,7 +492,7 @@ begin
|
|||
{$ENDIF}
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
FreeAndNil( DarwinDriverWatcher );
|
||||
FreeAndNil( DarwinDriveWatcher );
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF BSD_not_DARWIN}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ uses
|
|||
{$ELSEIF DEFINED(LINUX)}
|
||||
, inotify, BaseUnix, FileUtil, DCConvertEncoding, DCUnix
|
||||
{$ELSEIF DEFINED(DARWIN)}
|
||||
, uFileView, uGlobs
|
||||
, uFileView, uGlobs, uDarwinDC
|
||||
{$ELSEIF DEFINED(BSD)}
|
||||
, BSD, Unix, BaseUnix, UnixType, FileUtil, DCOSUtils
|
||||
{$ELSEIF DEFINED(HAIKU)}
|
||||
|
|
@ -904,48 +904,15 @@ begin
|
|||
end;
|
||||
|
||||
procedure TFileSystemWatcherImpl.handleFSEvent(event:TDarwinFSWatchEvent);
|
||||
var
|
||||
ok: Boolean;
|
||||
begin
|
||||
if [watch_file_name_change, watch_attributes_change] * gWatchDirs = [] then exit;
|
||||
if event.isDropabled then exit;
|
||||
if (ecChildChanged in event.categories) and (not isWatchSubdir(event.watchPath) ) then exit;
|
||||
if (ecChildChanged in event.categories) and (not isWatchSubdir(event.watchPath) ) then
|
||||
Exit;
|
||||
|
||||
FCurrentEventData.Path := event.watchPath;
|
||||
FCurrentEventData.FileName := EmptyStr;
|
||||
FCurrentEventData.NewFileName := EmptyStr;
|
||||
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;
|
||||
ok:= TDarwinFSWatcherUtil.convertToFileSourceEvent( event, FCurrentEventData );
|
||||
if NOT ok then
|
||||
Exit;
|
||||
|
||||
{$IFDEF DEBUG_WATCHER}
|
||||
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
|
||||
Classes, SysUtils,
|
||||
LCLType, Forms, Menus,
|
||||
fMain, uDCUtils, uLng,
|
||||
fMain, uHotkeyManager, uGlobs, uLng, uDCUtils,
|
||||
uFileView, uBriefFileView, uColumnsFileView, uThumbFileView,
|
||||
uMyDarwin, uDarwinUtil, uDarwinFinder, uDarwinFinderModel, uDarwinFileView,
|
||||
uFileSystemFileSource,
|
||||
uDarwinUtil, uDarwinApplication, uDarwinFile,
|
||||
uDarwinFinder, uDarwinFinderModel, uDarwinFileView, uDarwinPanel,
|
||||
CocoaAll, CocoaConfig, CocoaToolBar, Cocoa_Extra;
|
||||
|
||||
procedure initCocoaModernFormConfig;
|
||||
|
|
@ -32,6 +34,16 @@ begin
|
|||
frmMain.Commands.cm_Exchange([]);
|
||||
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 );
|
||||
var
|
||||
showModeItem: NSToolBarItemGroup absolute Sender;
|
||||
|
|
@ -44,21 +56,72 @@ begin
|
|||
end;
|
||||
|
||||
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
|
||||
itemGroupWrapper.lclSetSelectedIndex( 1 )
|
||||
else if fileView is TBriefFileView then
|
||||
itemGroupWrapper.lclSetSelectedIndex( 0 )
|
||||
else if fileView is TThumbFileView then
|
||||
itemGroupWrapper.lclSetSelectedIndex( 2 );
|
||||
procedure updateShowMode;
|
||||
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
|
||||
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;
|
||||
|
||||
function onGetSharingItems( item: NSToolBarItem ): TStringArray;
|
||||
|
|
@ -68,27 +131,27 @@ end;
|
|||
|
||||
procedure airdropAction( const Sender: id );
|
||||
begin
|
||||
showMacOSAirDropDialog;
|
||||
TDarwinPanelUtil.showAirDrop;
|
||||
end;
|
||||
|
||||
procedure quickLookAction( const Sender: id );
|
||||
begin
|
||||
showQuickLookPanel;
|
||||
TDarwinPanelUtil.showQuickLook;
|
||||
end;
|
||||
|
||||
procedure editTagAction( const Sender: id );
|
||||
begin
|
||||
showEditFinderTagsPanel( Sender, frmMain );
|
||||
TDarwinPanelUtil.showEditFinderTags( Sender, frmMain );
|
||||
end;
|
||||
|
||||
procedure finderRevealAction( const Sender: id );
|
||||
begin
|
||||
performMacOSService( 'Finder/Reveal' );
|
||||
TDarwinApplicationUtil.performService( 'Finder/Reveal' );
|
||||
end;
|
||||
|
||||
procedure finderInfoAction( const Sender: id );
|
||||
begin
|
||||
performMacOSService( 'Finder/Show Info' );
|
||||
TDarwinApplicationUtil.performService( 'Finder/Show Info' );
|
||||
end;
|
||||
|
||||
procedure compareAction( const Sender: id );
|
||||
|
|
@ -120,6 +183,8 @@ const
|
|||
'~/Library',
|
||||
'/Applications',
|
||||
|
||||
'~/Library/Saved Searches',
|
||||
|
||||
'~/.Trash'
|
||||
);
|
||||
|
||||
|
|
@ -138,7 +203,6 @@ type
|
|||
procedure showFinderTagSelectorPanel( Sender: TObject );
|
||||
procedure onFinderTagSelectorPanelClose( const cancel: Boolean; const tagNames: NSArray );
|
||||
procedure searchOneFinderTagAction( Sender: TObject );
|
||||
procedure onSearchFinderTagComplete( const searchName: String; const files: TStringArray );
|
||||
end;
|
||||
|
||||
var
|
||||
|
|
@ -175,7 +239,7 @@ end;
|
|||
|
||||
procedure TToolBarMenuHandler.showFinderTagSelectorPanel(Sender: TObject);
|
||||
begin
|
||||
uDarwinFinderUtil.popoverTagsSelector(
|
||||
TDarwinFinderUtil.popoverTagsSelector(
|
||||
rsMFSTBISearchCombinedTags,
|
||||
@self.onFinderTagSelectorPanelClose,
|
||||
NSView(frmMain.Handle) , NSMaxYEdge );
|
||||
|
|
@ -188,7 +252,7 @@ begin
|
|||
Exit;
|
||||
if tagNames.count = 0 then
|
||||
Exit;
|
||||
uDarwinFinderModelUtil.searchFilesForTagNames( tagNames, @self.onSearchFinderTagComplete );
|
||||
TDarwinFinderModelUtil.searchFilesForTagNames( tagNames, @darwinSearchResultHandler.onSearchFinderTagComplete );
|
||||
end;
|
||||
|
||||
procedure TToolBarMenuHandler.searchOneFinderTagAction( Sender: TObject );
|
||||
|
|
@ -197,13 +261,7 @@ var
|
|||
tagName: NSString;
|
||||
begin
|
||||
tagName:= StringToNSString( menuItem.Caption );
|
||||
uDarwinFinderModelUtil.searchFilesForTagName( tagName, @self.onSearchFinderTagComplete );
|
||||
end;
|
||||
|
||||
procedure TToolBarMenuHandler.onSearchFinderTagComplete(
|
||||
const searchName: String; const files: TStringArray);
|
||||
begin
|
||||
uDarwinFileViewUtil.addSearchTagResultPage( searchName, files );
|
||||
TDarwinFinderModelUtil.searchFilesForTagName( tagName, @darwinSearchResultHandler.onSearchFinderTagComplete );
|
||||
end;
|
||||
|
||||
procedure onGetFolderMenu( const menu: TMenu );
|
||||
|
|
@ -218,7 +276,7 @@ var
|
|||
cocoaItem: NSMenuItem;
|
||||
cocoaImage: NSImage;
|
||||
begin
|
||||
folderName:= getMacOSDisplayNameFromPath( COMMON_FOLDERS[tag] );
|
||||
folderName:= TDarwinFileUtil.getDisplayName( COMMON_FOLDERS[tag] );
|
||||
lclItem:= TMenuItem.Create( menu );
|
||||
lclItem.Caption:= folderName;
|
||||
lclItem.onClick:= @toolBarMenuHandler.goToFolder;
|
||||
|
|
@ -246,6 +304,8 @@ begin
|
|||
newItem('l.circle');
|
||||
newItem('a.circle');
|
||||
items.AddSeparator;
|
||||
newItem('folder.fill.badge.gearshape');
|
||||
items.AddSeparator;
|
||||
newItem('trash');
|
||||
end;
|
||||
|
||||
|
|
@ -338,14 +398,14 @@ var
|
|||
tagName: NSString;
|
||||
menuItem: TMenuItem;
|
||||
begin
|
||||
tagNames:= uDarwinFinderModelUtil.getSidebarTagNames;
|
||||
tagNames:= TDarwinFinderModelUtil.getSidebarTagNames;
|
||||
for tagName in tagNames do begin
|
||||
menuItem:= TMenuItem.Create( menu );
|
||||
menuItem.Caption:= tagName.UTF8String;
|
||||
menuItem.OnClick:= @toolBarMenuHandler.searchOneFinderTagAction;
|
||||
items.Add( menuItem );
|
||||
end;
|
||||
uDarwinFinderUtil.attachSearchForTagsMenu( menu );
|
||||
TDarwinFinderUtil.attachSearchForTagsMenu( menu );
|
||||
end;
|
||||
|
||||
procedure createCombinedTagMenuItem;
|
||||
|
|
@ -377,7 +437,7 @@ end;
|
|||
|
||||
procedure iCloudAction( const Sender: id );
|
||||
begin
|
||||
uDarwinFileViewUtil.addiCloudDriverPage;
|
||||
TDarwinFileViewUtil.addiCloudDrivePage;
|
||||
end;
|
||||
|
||||
procedure networkAction( const Sender: id );
|
||||
|
|
@ -402,7 +462,7 @@ end;
|
|||
|
||||
procedure privilegeAction( const Sender: id );
|
||||
begin
|
||||
openSystemSecurityPreferences_PrivacyAllFiles;
|
||||
TDarwinApplicationUtil.openSystemSecurityPreferences_PrivacyAllFiles;
|
||||
end;
|
||||
|
||||
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 = (
|
||||
identifier: 'MainForm.iCloud';
|
||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||
navigational: False;
|
||||
iconName: 'cloud';
|
||||
title: rsMFSTBIiCloudDriverTitle;
|
||||
tips: rsMFSTBIiCloudDriverTips;
|
||||
title: rsMFSTBIiCloudDriveTitle;
|
||||
tips: rsMFSTBIiCloudDriveTips;
|
||||
bordered: True;
|
||||
onAction: @iCloudAction;
|
||||
);
|
||||
|
|
@ -510,6 +594,7 @@ const
|
|||
shareItemConfig: TCocoaConfigToolBarItemSharing = (
|
||||
identifier: 'MainForm.Share';
|
||||
priority: NSToolbarItemVisibilityPriorityUser;
|
||||
appValidates: True;
|
||||
iconName: '';
|
||||
title: rsMFSTBIShareTitle;
|
||||
tips: '';
|
||||
|
|
@ -522,6 +607,7 @@ const
|
|||
identifier: 'MainForm.AirDrop';
|
||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||
navigational: False;
|
||||
appValidates: True;
|
||||
iconName: 'airplayaudio';
|
||||
title: rsMFSTBIAirDropTitle;
|
||||
tips: rsMFSTBIAirDropTips;
|
||||
|
|
@ -534,6 +620,7 @@ const
|
|||
identifier: 'MainForm.QuickLook';
|
||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||
navigational: False;
|
||||
appValidates: True;
|
||||
iconName: 'eye';
|
||||
title: rsMFSTBIQuickLookTitle;
|
||||
tips: rsMFSTBIQuickLookTips;
|
||||
|
|
@ -545,6 +632,7 @@ const
|
|||
identifier: 'MainForm.Tag';
|
||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||
navigational: False;
|
||||
appValidates: True;
|
||||
iconName: 'tag';
|
||||
title: rsMFSTBIEditFinderTagTitle;
|
||||
tips: rsMFSTBIEditFinderTagTips;
|
||||
|
|
@ -569,6 +657,7 @@ const
|
|||
identifier: 'MainForm.FinderReveal';
|
||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||
navigational: False;
|
||||
appValidates: True;
|
||||
iconName: 'faceid';
|
||||
title: rsMFSTBIFinderRevealTitle;
|
||||
tips: rsMFSTBIFinderRevealTips;
|
||||
|
|
@ -580,6 +669,7 @@ const
|
|||
identifier: 'MainForm.FinderInfo';
|
||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||
navigational: False;
|
||||
appValidates: True;
|
||||
iconName: 'info.circle';
|
||||
title: rsMFSTBIShowInfoTitle;
|
||||
tips: rsMFSTBIShowInfoTips;
|
||||
|
|
@ -606,6 +696,7 @@ const
|
|||
identifier: 'MainForm.Terminal';
|
||||
priority: NSToolbarItemVisibilityPriorityStandard;
|
||||
navigational: False;
|
||||
appValidates: True;
|
||||
iconName: 'terminal';
|
||||
title: rsMFSTBITerminalTitle;
|
||||
tips: rsMFSTBITerminalTips;
|
||||
|
|
@ -708,6 +799,10 @@ const
|
|||
'MainForm.HorzSplit',
|
||||
'MainForm.SwapPanels',
|
||||
|
||||
'MainForm.GoBackward',
|
||||
'MainForm.GoForward',
|
||||
'NSToolbarFlexibleSpaceItem',
|
||||
|
||||
'MainForm.iCloud',
|
||||
'MainForm.network',
|
||||
'NSToolbarFlexibleSpaceItem',
|
||||
|
|
@ -735,6 +830,8 @@ const
|
|||
'MainForm.TreeView',
|
||||
'MainForm.HorzSplit',
|
||||
'MainForm.SwapPanels',
|
||||
'MainForm.GoBackward',
|
||||
'MainForm.GoForward',
|
||||
|
||||
'MainForm.iCloud',
|
||||
'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;
|
||||
begin
|
||||
addShortCutString( goBackwardItemConfig, 'cm_ViewHistoryPrev' );
|
||||
addShortCutString( goForwardItemConfig, 'cm_ViewHistoryNext' );
|
||||
|
||||
showModeItemConfig.subitems:= [
|
||||
TCocoaToolBarUtils.toClass(showBriefItemConfig),
|
||||
TCocoaToolBarUtils.toClass(showFullItemConfig),
|
||||
|
|
@ -773,6 +889,8 @@ begin
|
|||
TCocoaToolBarUtils.toClass(treeViewItemConfig),
|
||||
TCocoaToolBarUtils.toClass(horzSplitItemConfig),
|
||||
TCocoaToolBarUtils.toClass(swapPanelsItemConfig),
|
||||
TCocoaToolBarUtils.toClass(goBackwardItemConfig),
|
||||
TCocoaToolBarUtils.toClass(goForwardItemConfig),
|
||||
|
||||
TCocoaToolBarUtils.toClass(showModeItemConfig),
|
||||
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;
|
||||
|
||||
{$mode ObjFPC}{$H+}
|
||||
{$modeswitch objectivec2}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes,
|
||||
uiCloudDriver, uSearchResultFileSource, uFile, uFileSystemFileSource, uFileSource,
|
||||
fMain, uFileViewNotebook, ulng;
|
||||
uiCloudDrive, uSearchResultFileSource, uFileSystemFileSource, uFileSource,
|
||||
uFile, uDisplayFile, uFileProperty,
|
||||
uFileView, uFileViewNotebook,
|
||||
uDarwinFinderModel,
|
||||
ulng,
|
||||
MacOSAll, CocoaAll;
|
||||
|
||||
type
|
||||
uDarwinFileViewUtil = class
|
||||
class procedure addSearchTagResultPage( const searchName: String; const files: TStringArray );
|
||||
class procedure addiCloudDriverPage;
|
||||
|
||||
TActvieNoteBookFunc = function (): TFileViewNotebook of object;
|
||||
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;
|
||||
|
||||
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
|
||||
|
||||
type
|
||||
|
||||
{ TFinderTagSearchResultFileSource }
|
||||
{ TFinderSearchResultFileSource }
|
||||
|
||||
TFinderTagSearchResultFileSource = class( TSearchResultFileSource )
|
||||
TFinderSearchResultFileSource = class( TSearchResultFileSource )
|
||||
private
|
||||
_tagName: String;
|
||||
_searchName: String;
|
||||
public
|
||||
constructor Create( tagName: String );
|
||||
constructor Create( searchName: String );
|
||||
function GetRootDir(sPath: String): String; override;
|
||||
end;
|
||||
|
||||
{ TFinderTagSearchResultFileSource }
|
||||
|
||||
constructor TFinderTagSearchResultFileSource.Create(tagName: String);
|
||||
constructor TFinderSearchResultFileSource.Create(searchName: String);
|
||||
begin
|
||||
Inherited Create;
|
||||
_tagName:= tagName;
|
||||
_searchName:= searchName;
|
||||
end;
|
||||
|
||||
function TFinderTagSearchResultFileSource.GetRootDir(sPath: String): String;
|
||||
function TFinderSearchResultFileSource.GetRootDir(sPath: String): String;
|
||||
begin
|
||||
Result:= PathDelim + PathDelim + PathDelim + rsSearchResult + ': ' + _tagName + PathDelim;
|
||||
Result:= PathDelim + PathDelim + PathDelim + rsSearchResult + ': ' + _searchName + PathDelim;
|
||||
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
|
||||
i: integer;
|
||||
count: Integer;
|
||||
|
|
@ -64,12 +157,12 @@ begin
|
|||
end;
|
||||
|
||||
// Add new tab for search results.
|
||||
Notebook := frmMain.ActiveNotebook;
|
||||
Notebook := _activeNoteBookFunc();
|
||||
NewPage := Notebook.NewPage(Notebook.ActiveView);
|
||||
|
||||
// Create search result file source.
|
||||
// Currently only searching FileSystem is supported.
|
||||
SearchResultFS := TFinderTagSearchResultFileSource.Create( searchName );
|
||||
SearchResultFS := TFinderSearchResultFileSource.Create( searchName );
|
||||
SearchResultFS.AddList(FileList, Notebook.ActiveView.FileSource);
|
||||
|
||||
NewPage.FileView.AddFileSource(SearchResultFS, SearchResultFS.GetRootDir);
|
||||
|
|
@ -77,14 +170,21 @@ begin
|
|||
NewPage.MakeActive;
|
||||
end;
|
||||
|
||||
class procedure uDarwinFileViewUtil.addiCloudDriverPage;
|
||||
class procedure TDarwinFileViewUtil.addiCloudDrivePage;
|
||||
var
|
||||
iCloudFS: TiCloudDriverFileSource;
|
||||
iCloudFS: TiCloudDriveFileSource;
|
||||
begin
|
||||
iCloudFS := TiCloudDriverFileSource.GetFileSource;
|
||||
frmMain.ActiveFrame.AddFileSource(iCloudFS, iCloudFS.GetRootDir);
|
||||
frmMain.ActiveFrame.SetFocus;
|
||||
iCloudFS := TiCloudDriveFileSource.GetFileSource;
|
||||
_activeFrameFunc().AddFileSource(iCloudFS, iCloudFS.GetRootDir);
|
||||
_activeFrameFunc().SetFocus;
|
||||
end;
|
||||
|
||||
initialization
|
||||
darwinSearchResultHandler:= TDarwinSearchResultHandler.Create;
|
||||
darwinFileViewDrawHandler:= TDarwinFileViewDrawHandler.Create;
|
||||
|
||||
finalization
|
||||
FreeAndNil( darwinSearchResultHandler );
|
||||
|
||||
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