mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-25 08:01:39 +00:00
Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27f4c290c4 | ||
|
|
4f248ee981 | ||
|
|
d7397c0125 | ||
|
|
e4430168f7 | ||
|
|
78c2ae150d | ||
|
|
806e3917e3 | ||
|
|
6c62c2d563 | ||
|
|
7a768bd0e6 | ||
|
|
a6c01f6868 | ||
|
|
721591d3e3 | ||
|
|
1171705921 | ||
|
|
65d2581f74 | ||
|
|
2128d1787a | ||
|
|
cbf2ab82ce | ||
|
|
adef5a9dfa | ||
|
|
0c9e5c90a3 | ||
|
|
787f546c17 | ||
|
|
2d4ecf1122 | ||
|
|
1836003506 | ||
|
|
44d34f56f7 | ||
|
|
24c3d7ed00 | ||
|
|
8f7657573d | ||
|
|
c03c7f2be1 | ||
|
|
f4b8efff50 |
3
.hgtags
3
.hgtags
@@ -71,3 +71,6 @@ fad463ae749b7189dce92f1e42a57ac4ee03987d se3.3.3
|
||||
236cf9b690a144392e7e86e7c9749fc834a8b271 me6.3.0
|
||||
90318f1303858d9d01065d92d78d98b888b38ea0 se3.4.0
|
||||
93ed33410df2d2f21229a77ae49c83ece2c50a55 pe2.5.0
|
||||
c153aef25e5c9911f2197d13899591c50cf38ffc se3.4.1
|
||||
71b7e18613f3790cea18cb0dd8c9c986ce237267 me6.3.1
|
||||
c3d9f91dc9c9d60f370c72bc211f09be3e4fc18d se3.5.0
|
||||
|
||||
18
README
18
README
@@ -80,26 +80,16 @@ If you didn't use mercurial to download this source, you probably have an incomp
|
||||
External projects (hscommon, qtlib, cocoalib) need to be at the root of the dupeGuru project folder.
|
||||
You'll have to download those separately. Or use mercurial, it's much easier.
|
||||
|
||||
As far as I can tell, you don't *have* to compile/install everything manually and you can normally
|
||||
use `easy_install` to install python dependencies. However, be aware that compiling/installing
|
||||
manually from the repositories of each project is what I personally do, so if you hit a snag
|
||||
somewhere, you might want to try the manual way.
|
||||
|
||||
PyObjC's website is badly outdated. Also, as far as I can tell, the package installable with
|
||||
`easy_install` has good chances of not working. Your best bet is to download the latest tagged
|
||||
version from the repository and compile it from source.
|
||||
|
||||
Another one on OS X: I wouldn't use macports/fink/whatever. Whenever I tried using those, I always
|
||||
ended up with problems.
|
||||
|
||||
On OSX Lion, for dupeGuru PE, make sure that you installed the latest version of macholib because there was a
|
||||
10.7 related bug that was fixed recently. Right now, the fix hasn't even been released yet so you
|
||||
have to install directly from the repo ( http://bitbucket.org/ronaldoussoren/macholib ). The fix
|
||||
in question is at http://bitbucket.org/ronaldoussoren/macholib/changeset/4ab0de0f5b60
|
||||
|
||||
Whenever you have a problem, always double-check that you're running the correct python version.
|
||||
You'll probably have to tweak your $PATH.
|
||||
|
||||
To setup a build machine under Ubuntu 12.04 and up, install those packages: python3, python3-pyqt4,
|
||||
pyqt4-dev-tools, mercurial and then python3-setuptools. Once you've done that, install pip with
|
||||
`easy_install`. Once you've done that, you can then perform "The easy way!" installation.
|
||||
|
||||
Building dupeGuru
|
||||
=================
|
||||
|
||||
|
||||
6
build.py
6
build.py
@@ -198,6 +198,7 @@ def build_cocoa_bridging_interfaces(edition):
|
||||
add_to_pythonpath('cocoalib')
|
||||
from cocoa.inter import (PyGUIObject, GUIObjectView, PyColumns, ColumnsView, PyOutline,
|
||||
OutlineView, PySelectableList, SelectableListView, PyTable, TableView, PyFairware)
|
||||
from inter.deletion_options import PyDeletionOptions, DeletionOptionsView
|
||||
from inter.details_panel import PyDetailsPanel, DetailsPanelView
|
||||
from inter.directory_outline import PyDirectoryOutline, DirectoryOutlineView
|
||||
from inter.prioritize_dialog import PyPrioritizeDialog, PrioritizeDialogView
|
||||
@@ -210,12 +211,13 @@ def build_cocoa_bridging_interfaces(edition):
|
||||
appmod = importlib.import_module('inter.app_{}'.format(edition))
|
||||
allclasses = [PyGUIObject, PyColumns, PyOutline, PySelectableList, PyTable, PyFairware,
|
||||
PyDetailsPanel, PyDirectoryOutline, PyPrioritizeDialog, PyPrioritizeList, PyProblemDialog,
|
||||
PyIgnoreListDialog, PyResultTable, PyStatsLabel, PyDupeGuruBase, appmod.PyDupeGuru]
|
||||
PyIgnoreListDialog, PyDeletionOptions, PyResultTable, PyStatsLabel, PyDupeGuruBase,
|
||||
appmod.PyDupeGuru]
|
||||
for class_ in allclasses:
|
||||
objp.o2p.generate_objc_code(class_, 'cocoa/autogen', inherit=True)
|
||||
allclasses = [GUIObjectView, ColumnsView, OutlineView, SelectableListView, TableView,
|
||||
DetailsPanelView, DirectoryOutlineView, PrioritizeDialogView, PrioritizeListView,
|
||||
IgnoreListDialogView, ResultTableView, StatsLabelView, DupeGuruView]
|
||||
IgnoreListDialogView, DeletionOptionsView, ResultTableView, StatsLabelView, DupeGuruView]
|
||||
clsspecs = [objp.o2p.spec_from_python_class(class_) for class_ in allclasses]
|
||||
objp.p2o.generate_python_proxy_code_from_clsspec(clsspecs, 'build/CocoaViews.m')
|
||||
build_cocoa_ext('CocoaViews', 'cocoa/inter', ['build/CocoaViews.m', 'build/ObjP.m'])
|
||||
|
||||
@@ -9,7 +9,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "AppDelegate.h"
|
||||
#import "ProgressController.h"
|
||||
#import "HSFairwareReminder.h"
|
||||
#import "Utils.h"
|
||||
#import "HSPyUtil.h"
|
||||
#import "Consts.h"
|
||||
#import "Dialogs.h"
|
||||
#import "ValueTransformers.h"
|
||||
|
||||
25
cocoa/base/DeletionOptions.h
Normal file
25
cocoa/base/DeletionOptions.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
||||
|
||||
This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
||||
which should be included with this package. The terms are also available at
|
||||
http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "PyDeletionOptions.h"
|
||||
|
||||
@interface DeletionOptions : NSWindowController
|
||||
{
|
||||
IBOutlet NSTextField *messageTextField;
|
||||
IBOutlet NSButton *hardlinkButton;
|
||||
IBOutlet NSButton *directButton;
|
||||
|
||||
PyDeletionOptions *model;
|
||||
}
|
||||
- (id)initWithPyRef:(PyObject *)aPyRef;
|
||||
|
||||
- (IBAction)updateOptions:(id)sender;
|
||||
- (IBAction)proceed:(id)sender;
|
||||
- (IBAction)cancel:(id)sender;
|
||||
@end
|
||||
58
cocoa/base/DeletionOptions.m
Normal file
58
cocoa/base/DeletionOptions.m
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
||||
|
||||
This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
||||
which should be included with this package. The terms are also available at
|
||||
http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "DeletionOptions.h"
|
||||
#import "HSPyUtil.h"
|
||||
|
||||
@implementation DeletionOptions
|
||||
- (id)initWithPyRef:(PyObject *)aPyRef
|
||||
{
|
||||
self = [super initWithWindowNibName:@"DeletionOptions"];
|
||||
[self window];
|
||||
model = [[PyDeletionOptions alloc] initWithModel:aPyRef];
|
||||
[model bindCallback:createCallback(@"DeletionOptionsView", self)];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[model release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction)updateOptions:(id)sender
|
||||
{
|
||||
[model setHardlink:[hardlinkButton state] == NSOnState];
|
||||
[model setDirect:[directButton state] == NSOnState];
|
||||
}
|
||||
|
||||
- (IBAction)proceed:(id)sender
|
||||
{
|
||||
[NSApp stopModalWithCode:NSOKButton];
|
||||
}
|
||||
|
||||
- (IBAction)cancel:(id)sender
|
||||
{
|
||||
[NSApp stopModalWithCode:NSCancelButton];
|
||||
}
|
||||
|
||||
/* model --> view */
|
||||
- (void)updateMsg:(NSString *)msg
|
||||
{
|
||||
[messageTextField setStringValue:msg];
|
||||
}
|
||||
|
||||
- (BOOL)show
|
||||
{
|
||||
[hardlinkButton setState:NSOffState];
|
||||
[directButton setState:NSOffState];
|
||||
NSInteger r = [NSApp runModalForWindow:[self window]];
|
||||
[[self window] close];
|
||||
return r == NSOKButton;
|
||||
}
|
||||
@end
|
||||
@@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "DetailsPanel.h"
|
||||
#import "Utils.h"
|
||||
#import "HSPyUtil.h"
|
||||
|
||||
@implementation DetailsPanel
|
||||
- (id)initWithPyRef:(PyObject *)aPyRef
|
||||
|
||||
@@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "IgnoreListDialog.h"
|
||||
#import "Utils.h"
|
||||
#import "HSPyUtil.h"
|
||||
|
||||
@implementation IgnoreListDialog
|
||||
- (id)initWithPyRef:(PyObject *)aPyRef
|
||||
|
||||
@@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "PrioritizeDialog.h"
|
||||
#import "Utils.h"
|
||||
#import "HSPyUtil.h"
|
||||
|
||||
@implementation PrioritizeDialog
|
||||
- (id)initWithApp:(PyDupeGuru *)aApp
|
||||
|
||||
@@ -11,6 +11,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "StatsLabel.h"
|
||||
#import "ResultTable.h"
|
||||
#import "ProblemDialog.h"
|
||||
#import "DeletionOptions.h"
|
||||
#import "HSTableView.h"
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@@ -31,6 +32,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
ResultTable *table;
|
||||
StatsLabel *statsLabel;
|
||||
ProblemDialog *problemDialog;
|
||||
DeletionOptions *deletionOptions;
|
||||
QLPreviewPanel* previewPanel;
|
||||
}
|
||||
- (id)initWithParentApp:(AppDelegateBase *)app;
|
||||
@@ -41,7 +43,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
/* Helpers */
|
||||
- (void)fillColumnsMenu;
|
||||
- (void)sendMarkedToTrash:(BOOL)hardlinkDeleted;
|
||||
- (void)updateOptionSegments;
|
||||
- (void)showProblemDialog;
|
||||
- (void)adjustUIToLocalization;
|
||||
@@ -49,10 +50,10 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
/* Actions */
|
||||
- (IBAction)changeOptions:(id)sender;
|
||||
- (IBAction)copyMarked:(id)sender;
|
||||
- (IBAction)deleteMarked:(id)sender;
|
||||
- (IBAction)hardlinkMarked:(id)sender;
|
||||
- (IBAction)trashMarked:(id)sender;
|
||||
- (IBAction)exportToXHTML:(id)sender;
|
||||
- (IBAction)filter:(id)sender;
|
||||
- (IBAction)focusOnFilterField:(id)sender;
|
||||
- (IBAction)ignoreSelected:(id)sender;
|
||||
- (IBAction)invokeCustomCommand:(id)sender;
|
||||
- (IBAction)markAll:(id)sender;
|
||||
|
||||
@@ -27,6 +27,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
table = [[ResultTable alloc] initWithPyRef:[model resultTable] view:matches];
|
||||
statsLabel = [[StatsLabel alloc] initWithPyRef:[model statsLabel] view:stats];
|
||||
problemDialog = [[ProblemDialog alloc] initWithPyRef:[model problemDialog]];
|
||||
deletionOptions = [[DeletionOptions alloc] initWithPyRef:[model deletionOptions]];
|
||||
[self initResultColumns];
|
||||
[self fillColumnsMenu];
|
||||
[matches setTarget:self];
|
||||
@@ -74,18 +75,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[mi setTarget:self];
|
||||
}
|
||||
|
||||
- (void)sendMarkedToTrash:(BOOL)hardlinkDeleted
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])];
|
||||
if (hardlinkDeleted) {
|
||||
[model hardlinkMarked];
|
||||
}
|
||||
else {
|
||||
[model deleteMarked];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)updateOptionSegments
|
||||
{
|
||||
[optionsSwitch setSelected:[[app detailsPanel] isVisible] forSegment:0];
|
||||
@@ -145,14 +134,11 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[model copyMarked];
|
||||
}
|
||||
|
||||
- (IBAction)deleteMarked:(id)sender
|
||||
- (IBAction)trashMarked:(id)sender
|
||||
{
|
||||
[self sendMarkedToTrash:NO];
|
||||
}
|
||||
|
||||
- (IBAction)hardlinkMarked:(id)sender
|
||||
{
|
||||
[self sendMarkedToTrash:YES];
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])];
|
||||
[model deleteMarked];
|
||||
}
|
||||
|
||||
- (IBAction)exportToXHTML:(id)sender
|
||||
@@ -168,6 +154,11 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[model applyFilter:[filterField stringValue]];
|
||||
}
|
||||
|
||||
- (IBAction)focusOnFilterField:(id)sender
|
||||
{
|
||||
[[self window] makeFirstResponder:filterField];
|
||||
}
|
||||
|
||||
- (IBAction)ignoreSelected:(id)sender
|
||||
{
|
||||
[model addSelectedToIgnoreList];
|
||||
|
||||
21
cocoa/base/en.lproj/DeletionOptions.strings
Normal file
21
cocoa/base/en.lproj/DeletionOptions.strings
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
/* Class = "NSWindow"; title = "Deletion Options"; ObjectID = "1"; */
|
||||
"1.title" = "Deletion Options";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Hardlink deleted files"; ObjectID = "4"; */
|
||||
"4.title" = "Hardlink deleted files";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "After having deleted a duplicate, place a hardlink targeting the reference file to replace the deleted file."; ObjectID = "8"; */
|
||||
"8.title" = "After having deleted a duplicate, place a hardlink targeting the reference file to replace the deleted file.";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Directly delete files"; ObjectID = "36"; */
|
||||
"36.title" = "Directly delete files";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Instead of sending files to trash, delete them directly. This option is usually used as a workaround when the normal deletion method doesn't work."; ObjectID = "38"; */
|
||||
"38.title" = "Instead of sending files to trash, delete them directly. This option is usually used as a workaround when the normal deletion method doesn't work.";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Proceed"; ObjectID = "40"; */
|
||||
"40.title" = "Proceed";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "42"; */
|
||||
"42.title" = "Cancel";
|
||||
556
cocoa/base/en.lproj/DeletionOptions.xib
Normal file
556
cocoa/base/en.lproj/DeletionOptions.xib
Normal file
@@ -0,0 +1,556 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1060</int>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">2182</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>NSTextField</string>
|
||||
<string>NSView</string>
|
||||
<string>NSWindowTemplate</string>
|
||||
<string>NSTextFieldCell</string>
|
||||
<string>NSButtonCell</string>
|
||||
<string>NSButton</string>
|
||||
<string>NSCustomObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="NSCustomObject" id="1001">
|
||||
<string key="NSClassName">DeletionOptions</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1003">
|
||||
<string key="NSClassName">FirstResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1004">
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="1005">
|
||||
<int key="NSWindowStyleMask">3</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{196, 240}, {449, 215}}</string>
|
||||
<int key="NSWTFlags">1618477056</int>
|
||||
<string key="NSWindowTitle">Deletion Options</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="1006">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSButton" id="22939991">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{18, 154}, {413, 18}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="258896148"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="199073808">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Hardlink deleted files</string>
|
||||
<object class="NSFont" key="NSSupport" id="672375986">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="22939991"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
<int key="NSButtonFlags2">2</int>
|
||||
<object class="NSCustomResource" key="NSNormalImage" id="28662763">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">NSSwitch</string>
|
||||
</object>
|
||||
<object class="NSButtonImageSource" key="NSAlternateImage" id="1065109393">
|
||||
<string key="NSImageName">NSSwitch</string>
|
||||
</object>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="1003638083">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{18, 96}, {413, 18}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="316971589"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="791836143">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Directly delete files</string>
|
||||
<reference key="NSSupport" ref="672375986"/>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="1003638083"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
<int key="NSButtonFlags2">2</int>
|
||||
<reference key="NSNormalImage" ref="28662763"/>
|
||||
<reference key="NSAlternateImage" ref="1065109393"/>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="258896148">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{38, 120}, {394, 28}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1003638083"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<string key="NSAntiCompressionPriority">{250, 750}</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="939395720">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">272629760</int>
|
||||
<string key="NSContents">After having deleted a duplicate, place a hardlink targeting the reference file to replace the deleted file.</string>
|
||||
<object class="NSFont" key="NSSupport" id="1067329392">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">11</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="258896148"/>
|
||||
<object class="NSColor" key="NSBackgroundColor" id="360163505">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="819030839">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlTextColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="316971589">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{38, 48}, {394, 42}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="375232713"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<string key="NSAntiCompressionPriority">{250, 750}</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="404549205">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">272629760</int>
|
||||
<string key="NSContents">Instead of sending files to trash, delete them directly. This option is usually used as a workaround when the normal deletion method doesn't work.</string>
|
||||
<reference key="NSSupport" ref="1067329392"/>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="316971589"/>
|
||||
<reference key="NSBackgroundColor" ref="360163505"/>
|
||||
<reference key="NSTextColor" ref="819030839"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="630940386">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{331, 12}, {104, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="551779024">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Proceed</string>
|
||||
<reference key="NSSupport" ref="672375986"/>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="630940386"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="375232713">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{227, 12}, {104, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="630940386"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="311692270">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Cancel</string>
|
||||
<reference key="NSSupport" ref="672375986"/>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="375232713"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="275527426">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{17, 178}, {415, 17}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="22939991"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1505</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="184485433">
|
||||
<int key="NSCellFlags">68288064</int>
|
||||
<int key="NSCellFlags2">272630784</int>
|
||||
<string key="NSContents"/>
|
||||
<reference key="NSSupport" ref="672375986"/>
|
||||
<string key="NSCellIdentifier">_NS:1505</string>
|
||||
<reference key="NSControlView" ref="275527426"/>
|
||||
<reference key="NSBackgroundColor" ref="360163505"/>
|
||||
<reference key="NSTextColor" ref="819030839"/>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{449, 215}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="275527426"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<bool key="NSWindowIsRestorable">NO</bool>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">messageTextField</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="275527426"/>
|
||||
</object>
|
||||
<int key="connectionID">45</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">hardlinkButton</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="22939991"/>
|
||||
</object>
|
||||
<int key="connectionID">46</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">directButton</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1003638083"/>
|
||||
</object>
|
||||
<int key="connectionID">47</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">updateOptions:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="22939991"/>
|
||||
</object>
|
||||
<int key="connectionID">48</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">updateOptions:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1003638083"/>
|
||||
</object>
|
||||
<int key="connectionID">49</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">cancel:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="375232713"/>
|
||||
</object>
|
||||
<int key="connectionID">50</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">proceed:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="630940386"/>
|
||||
</object>
|
||||
<int key="connectionID">51</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1005"/>
|
||||
</object>
|
||||
<int key="connectionID">52</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="1001"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="1003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="1004"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="1005"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="1006"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="1006"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="275527426"/>
|
||||
<reference ref="22939991"/>
|
||||
<reference ref="1003638083"/>
|
||||
<reference ref="258896148"/>
|
||||
<reference ref="316971589"/>
|
||||
<reference ref="630940386"/>
|
||||
<reference ref="375232713"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="22939991"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="199073808"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="199073808"/>
|
||||
<reference key="parent" ref="22939991"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="258896148"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="939395720"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="939395720"/>
|
||||
<reference key="parent" ref="258896148"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="1003638083"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="791836143"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">36</int>
|
||||
<reference key="object" ref="791836143"/>
|
||||
<reference key="parent" ref="1003638083"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">37</int>
|
||||
<reference key="object" ref="316971589"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="404549205"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">38</int>
|
||||
<reference key="object" ref="404549205"/>
|
||||
<reference key="parent" ref="316971589"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">39</int>
|
||||
<reference key="object" ref="630940386"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="551779024"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">40</int>
|
||||
<reference key="object" ref="551779024"/>
|
||||
<reference key="parent" ref="630940386"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">41</int>
|
||||
<reference key="object" ref="375232713"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="311692270"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">42</int>
|
||||
<reference key="object" ref="311692270"/>
|
||||
<reference key="parent" ref="375232713"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">43</int>
|
||||
<reference key="object" ref="275527426"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="184485433"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">44</int>
|
||||
<reference key="object" ref="184485433"/>
|
||||
<reference key="parent" ref="275527426"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES" key="1.IBNSWindowAutoPositionCentersHorizontal"/>
|
||||
<boolean value="YES" key="1.IBNSWindowAutoPositionCentersVertical"/>
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1.IBWindowTemplateEditedContentRect">{{357, 418}, {480, 270}}</string>
|
||||
<boolean value="NO" key="1.NSWindowTemplate.visibleAtLaunch"/>
|
||||
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="35.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="36.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="37.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="39.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="40.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="41.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="42.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="43.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">52</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">DeletionOptions</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="cancel:">id</string>
|
||||
<string key="proceed:">id</string>
|
||||
<string key="updateOptions:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="cancel:">
|
||||
<string key="name">cancel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="proceed:">
|
||||
<string key="name">proceed:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="updateOptions:">
|
||||
<string key="name">updateOptions:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="directButton">NSButton</string>
|
||||
<string key="hardlinkButton">NSButton</string>
|
||||
<string key="messageTextField">NSTextField</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="directButton">
|
||||
<string key="name">directButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="hardlinkButton">
|
||||
<string key="name">hardlinkButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="messageTextField">
|
||||
<string key="name">messageTextField</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/DeletionOptions.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
|
||||
<real value="1060" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="NS.key.0">NSSwitch</string>
|
||||
<string key="NS.object.0">{15, 15}</string>
|
||||
</object>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -158,9 +158,6 @@
|
||||
/* Class = "NSMenuItem"; title = "Save Results..."; ObjectID = "1206"; */
|
||||
"1206.title" = "Save Results...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "1227"; */
|
||||
"1227.title" = "Delete Marked and Replace with Hardlinks";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Load Recent Results"; ObjectID = "1239"; */
|
||||
"1239.title" = "Load Recent Results";
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1060</int>
|
||||
<string key="IBDocument.SystemVersion">11D50</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2177</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">2177</string>
|
||||
<string key="NS.object.0">2182</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>NSMenu</string>
|
||||
@@ -294,6 +294,26 @@
|
||||
<reference key="NSOnImage" ref="34697260"/>
|
||||
<reference key="NSMixedImage" ref="201180191"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="1047465480">
|
||||
<reference key="NSMenu" ref="649942443"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="34697260"/>
|
||||
<reference key="NSMixedImage" ref="201180191"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="820963618">
|
||||
<reference key="NSMenu" ref="649942443"/>
|
||||
<string key="NSTitle">Filter Results...</string>
|
||||
<string key="NSKeyEquiv">f</string>
|
||||
<int key="NSKeyEquivModMask">1572864</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="34697260"/>
|
||||
<reference key="NSMixedImage" ref="201180191"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
</object>
|
||||
@@ -338,15 +358,6 @@
|
||||
<reference key="NSOnImage" ref="34697260"/>
|
||||
<reference key="NSMixedImage" ref="201180191"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="514384201">
|
||||
<reference key="NSMenu" ref="600111647"/>
|
||||
<string key="NSTitle">Delete Marked and Replace with Hardlinks</string>
|
||||
<string key="NSKeyEquiv">T</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="34697260"/>
|
||||
<reference key="NSMixedImage" ref="201180191"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="207129050">
|
||||
<reference key="NSMenu" ref="600111647"/>
|
||||
<string key="NSTitle">Move Marked to...</string>
|
||||
@@ -780,14 +791,6 @@
|
||||
</object>
|
||||
<int key="connectionID">1244</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">deleteMarked:</string>
|
||||
<reference key="source" ref="83466988"/>
|
||||
<reference key="destination" ref="894871136"/>
|
||||
</object>
|
||||
<int key="connectionID">1245</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">exportToXHTML:</string>
|
||||
@@ -796,14 +799,6 @@
|
||||
</object>
|
||||
<int key="connectionID">1246</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">hardlinkMarked:</string>
|
||||
<reference key="source" ref="83466988"/>
|
||||
<reference key="destination" ref="514384201"/>
|
||||
</object>
|
||||
<int key="connectionID">1247</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">ignoreSelected:</string>
|
||||
@@ -964,6 +959,22 @@
|
||||
</object>
|
||||
<int key="connectionID">1282</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">trashMarked:</string>
|
||||
<reference key="source" ref="83466988"/>
|
||||
<reference key="destination" ref="894871136"/>
|
||||
</object>
|
||||
<int key="connectionID">1286</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">focusOnFilterField:</string>
|
||||
<reference key="source" ref="83466988"/>
|
||||
<reference key="destination" ref="820963618"/>
|
||||
</object>
|
||||
<int key="connectionID">1289</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
@@ -1314,7 +1325,6 @@
|
||||
<reference ref="564101661"/>
|
||||
<reference ref="747820446"/>
|
||||
<reference ref="517397504"/>
|
||||
<reference ref="514384201"/>
|
||||
<reference ref="200019883"/>
|
||||
</array>
|
||||
<reference key="parent" ref="528113253"/>
|
||||
@@ -1445,6 +1455,8 @@
|
||||
<reference ref="666519843"/>
|
||||
<reference ref="996047427"/>
|
||||
<reference ref="956279291"/>
|
||||
<reference ref="1047465480"/>
|
||||
<reference ref="820963618"/>
|
||||
</array>
|
||||
<reference key="parent" ref="551331186"/>
|
||||
</object>
|
||||
@@ -1544,11 +1556,6 @@
|
||||
<reference key="object" ref="630362403"/>
|
||||
<reference key="parent" ref="948321368"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1227</int>
|
||||
<reference key="object" ref="514384201"/>
|
||||
<reference key="parent" ref="600111647"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1239</int>
|
||||
<reference key="object" ref="356425059"/>
|
||||
@@ -1583,6 +1590,16 @@
|
||||
<reference key="object" ref="361987512"/>
|
||||
<reference key="parent" ref="472719764"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1287</int>
|
||||
<reference key="object" ref="1047465480"/>
|
||||
<reference key="parent" ref="649942443"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1288</int>
|
||||
<reference key="object" ref="820963618"/>
|
||||
<reference key="parent" ref="649942443"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
@@ -1603,13 +1620,14 @@
|
||||
<string key="1204.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1205.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1206.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1227.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1240.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1272.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1276.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1280.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1283.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1287.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="1288.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -1668,7 +1686,7 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">1285</int>
|
||||
<int key="maxID">1289</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
@@ -1816,6 +1834,57 @@
|
||||
<string key="minorKey">./Classes/IgnoreListDialog.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">PrioritizeDialog</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="addSelected:">id</string>
|
||||
<string key="cancel:">id</string>
|
||||
<string key="ok:">id</string>
|
||||
<string key="removeSelected:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="addSelected:">
|
||||
<string key="name">addSelected:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="cancel:">
|
||||
<string key="name">cancel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="ok:">
|
||||
<string key="name">ok:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="removeSelected:">
|
||||
<string key="name">removeSelected:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="categoryPopUpView">NSPopUpButton</string>
|
||||
<string key="criteriaTableView">NSTableView</string>
|
||||
<string key="prioritizationTableView">NSTableView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="categoryPopUpView">
|
||||
<string key="name">categoryPopUpView</string>
|
||||
<string key="candidateClassName">NSPopUpButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="criteriaTableView">
|
||||
<string key="name">criteriaTableView</string>
|
||||
<string key="candidateClassName">NSTableView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="prioritizationTableView">
|
||||
<string key="name">prioritizationTableView</string>
|
||||
<string key="candidateClassName">NSTableView</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/PrioritizeDialog.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ProblemDialog</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
@@ -1852,10 +1921,9 @@
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="changeOptions:">id</string>
|
||||
<string key="copyMarked:">id</string>
|
||||
<string key="deleteMarked:">id</string>
|
||||
<string key="exportToXHTML:">id</string>
|
||||
<string key="filter:">id</string>
|
||||
<string key="hardlinkMarked:">id</string>
|
||||
<string key="focusOnFilterField:">id</string>
|
||||
<string key="ignoreSelected:">id</string>
|
||||
<string key="invokeCustomCommand:">id</string>
|
||||
<string key="markAll:">id</string>
|
||||
@@ -1879,6 +1947,7 @@
|
||||
<string key="toggleDetailsPanel:">id</string>
|
||||
<string key="togglePowerMarker:">id</string>
|
||||
<string key="toggleQuicklookPanel:">id</string>
|
||||
<string key="trashMarked:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="changeOptions:">
|
||||
@@ -1889,10 +1958,6 @@
|
||||
<string key="name">copyMarked:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="deleteMarked:">
|
||||
<string key="name">deleteMarked:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="exportToXHTML:">
|
||||
<string key="name">exportToXHTML:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
@@ -1901,8 +1966,8 @@
|
||||
<string key="name">filter:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="hardlinkMarked:">
|
||||
<string key="name">hardlinkMarked:</string>
|
||||
<object class="IBActionInfo" key="focusOnFilterField:">
|
||||
<string key="name">focusOnFilterField:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="ignoreSelected:">
|
||||
@@ -1997,11 +2062,16 @@
|
||||
<string key="name">toggleQuicklookPanel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="trashMarked:">
|
||||
<string key="name">trashMarked:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="filterField">NSSearchField</string>
|
||||
<string key="matches">HSTableView</string>
|
||||
<string key="optionsSwitch">NSSegmentedControl</string>
|
||||
<string key="optionsToolbarItem">NSToolbarItem</string>
|
||||
<string key="stats">NSTextField</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
@@ -2017,6 +2087,10 @@
|
||||
<string key="name">optionsSwitch</string>
|
||||
<string key="candidateClassName">NSSegmentedControl</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="optionsToolbarItem">
|
||||
<string key="name">optionsToolbarItem</string>
|
||||
<string key="candidateClassName">NSToolbarItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="stats">
|
||||
<string key="name">stats</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
@@ -2061,18 +2135,10 @@
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
|
||||
<real value="1060" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
|
||||
<real value="1060" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
|
||||
<real value="4100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
/* Class = "NSToolbarItem"; paletteLabel = "Directories"; ObjectID = "19"; */
|
||||
"19.paletteLabel" = "Directories";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "27"; */
|
||||
"27.title" = "Delete Marked and Replace with Hardlinks";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "29"; */
|
||||
"29.title" = "Send Marked to Trash";
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1060</int>
|
||||
<string key="IBDocument.SystemVersion">11D50</string>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">2182</string>
|
||||
@@ -162,7 +162,6 @@
|
||||
<string key="NSFrame">{{0, 14}, {195, 23}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSegmentedCell" key="NSCell" id="993391476">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
@@ -220,7 +219,6 @@
|
||||
<string key="NSFrame">{{0, 14}, {81, 22}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSearchFieldCell" key="NSCell" id="830851754">
|
||||
<int key="NSCellFlags">343014976</int>
|
||||
@@ -313,7 +311,6 @@
|
||||
<string key="NSFrame">{{12, 14}, {44, 25}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:161</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="560045192">
|
||||
@@ -381,7 +378,6 @@
|
||||
<string key="NSFrame">{{1, 14}, {40, 25}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="302095930">
|
||||
<int key="NSCellFlags">-2076049856</int>
|
||||
@@ -430,16 +426,6 @@
|
||||
<string key="NSAction">_popUpItemAction:</string>
|
||||
<reference key="NSTarget" ref="302095930"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="104143636">
|
||||
<reference key="NSMenu" ref="778415311"/>
|
||||
<string key="NSTitle">Delete Marked and Replace with Hardlinks</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="1054238029"/>
|
||||
<reference key="NSMixedImage" ref="1014570658"/>
|
||||
<string key="NSAction">_popUpItemAction:</string>
|
||||
<reference key="NSTarget" ref="302095930"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="294016844">
|
||||
<reference key="NSMenu" ref="778415311"/>
|
||||
<string key="NSTitle">Move Marked to...</string>
|
||||
@@ -560,6 +546,7 @@
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="NSSelectedIndex">-1</int>
|
||||
<bool key="NSPullDown">YES</bool>
|
||||
<int key="NSPreferredEdge">3</int>
|
||||
<bool key="NSUsesItemFromMenu">YES</bool>
|
||||
@@ -664,7 +651,6 @@
|
||||
<string key="NSFrame">{{17, 6}, {523, 17}}</string>
|
||||
<reference key="NSSuperview" ref="709578684"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="28557631">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
@@ -698,7 +684,7 @@
|
||||
<string key="NSFrameSize">{557, 355}</string>
|
||||
<reference key="NSSuperview" ref="607866053"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="777138208"/>
|
||||
<reference key="NSNextKeyView" ref="684329735"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTableHeaderView" key="NSHeaderView" id="215887725">
|
||||
<reference key="NSNextResponder" ref="684329735"/>
|
||||
@@ -799,7 +785,7 @@
|
||||
<string key="NSFrame">{{0, 28}, {559, 373}}</string>
|
||||
<reference key="NSSuperview" ref="709578684"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="684329735"/>
|
||||
<reference key="NSNextKeyView" ref="607866053"/>
|
||||
<int key="NSsFlags">133682</int>
|
||||
<reference key="NSVScroller" ref="777138208"/>
|
||||
<reference key="NSHScroller" ref="517980657"/>
|
||||
@@ -834,22 +820,6 @@
|
||||
</object>
|
||||
<int key="connectionID">46</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">deleteMarked:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="799999563"/>
|
||||
</object>
|
||||
<int key="connectionID">50</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">hardlinkMarked:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="104143636"/>
|
||||
</object>
|
||||
<int key="connectionID">51</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">moveMarked:</string>
|
||||
@@ -1042,6 +1012,14 @@
|
||||
</object>
|
||||
<int key="connectionID">82</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">trashMarked:</string>
|
||||
<reference key="source" ref="1003"/>
|
||||
<reference key="destination" ref="799999563"/>
|
||||
</object>
|
||||
<int key="connectionID">93</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
@@ -1276,7 +1254,6 @@
|
||||
<int key="objectID">26</int>
|
||||
<reference key="object" ref="778415311"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="104143636"/>
|
||||
<reference ref="764786770"/>
|
||||
<reference ref="799999563"/>
|
||||
<reference ref="294016844"/>
|
||||
@@ -1358,11 +1335,6 @@
|
||||
<reference key="object" ref="764786770"/>
|
||||
<reference key="parent" ref="778415311"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">27</int>
|
||||
<reference key="object" ref="104143636"/>
|
||||
<reference key="parent" ref="778415311"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="695856706"/>
|
||||
@@ -1451,7 +1423,6 @@
|
||||
<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -1496,7 +1467,7 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">92</int>
|
||||
<int key="maxID">93</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
@@ -1587,17 +1558,6 @@
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ResultWindow</string>
|
||||
<string key="superclassName">ResultWindowBase</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<string key="NS.key.0">removeDeadTracks:</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<string key="NS.key.0">removeDeadTracks:</string>
|
||||
<object class="IBActionInfo" key="NS.object.0">
|
||||
<string key="name">removeDeadTracks:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/ResultWindow.h</string>
|
||||
@@ -1609,10 +1569,8 @@
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="changeOptions:">id</string>
|
||||
<string key="copyMarked:">id</string>
|
||||
<string key="deleteMarked:">id</string>
|
||||
<string key="exportToXHTML:">id</string>
|
||||
<string key="filter:">id</string>
|
||||
<string key="hardlinkMarked:">id</string>
|
||||
<string key="ignoreSelected:">id</string>
|
||||
<string key="invokeCustomCommand:">id</string>
|
||||
<string key="markAll:">id</string>
|
||||
@@ -1636,6 +1594,7 @@
|
||||
<string key="toggleDetailsPanel:">id</string>
|
||||
<string key="togglePowerMarker:">id</string>
|
||||
<string key="toggleQuicklookPanel:">id</string>
|
||||
<string key="trashMarked:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="changeOptions:">
|
||||
@@ -1646,10 +1605,6 @@
|
||||
<string key="name">copyMarked:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="deleteMarked:">
|
||||
<string key="name">deleteMarked:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="exportToXHTML:">
|
||||
<string key="name">exportToXHTML:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
@@ -1658,10 +1613,6 @@
|
||||
<string key="name">filter:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="hardlinkMarked:">
|
||||
<string key="name">hardlinkMarked:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="ignoreSelected:">
|
||||
<string key="name">ignoreSelected:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
@@ -1754,6 +1705,10 @@
|
||||
<string key="name">toggleQuicklookPanel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="trashMarked:">
|
||||
<string key="name">trashMarked:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="filterField">NSSearchField</string>
|
||||
|
||||
9
cocoa/inter/all.py
Normal file
9
cocoa/inter/all.py
Normal file
@@ -0,0 +1,9 @@
|
||||
from .deletion_options import PyDeletionOptions
|
||||
from .details_panel import PyDetailsPanel
|
||||
from .directory_outline import PyDirectoryOutline
|
||||
from .prioritize_dialog import PyPrioritizeDialog
|
||||
from .prioritize_list import PyPrioritizeList
|
||||
from .problem_dialog import PyProblemDialog
|
||||
from .ignore_list_dialog import PyIgnoreListDialog
|
||||
from .result_table import PyResultTable
|
||||
from .stats_label import PyStatsLabel
|
||||
@@ -54,6 +54,9 @@ class PyDupeGuruBase(PyFairware):
|
||||
def ignoreListDialog(self) -> pyref:
|
||||
return self.model.ignore_list_dialog
|
||||
|
||||
def deletionOptions(self) -> pyref:
|
||||
return self.model.deletion_options
|
||||
|
||||
#---Directories
|
||||
def addDirectory_(self, directory: str) -> int:
|
||||
return self.model.add_directory(directory)
|
||||
@@ -99,9 +102,6 @@ class PyDupeGuruBase(PyFairware):
|
||||
def deleteMarked(self):
|
||||
self.model.delete_marked()
|
||||
|
||||
def hardlinkMarked(self):
|
||||
self.model.delete_marked(replace_with_hardlinks=True)
|
||||
|
||||
def applyFilter_(self, filter: str):
|
||||
self.model.apply_filter(filter)
|
||||
|
||||
|
||||
27
cocoa/inter/deletion_options.py
Normal file
27
cocoa/inter/deletion_options.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# Created On: 2012-05-30
|
||||
# Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
||||
#
|
||||
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from cocoa.inter import PyGUIObject, GUIObjectView
|
||||
|
||||
class DeletionOptionsView(GUIObjectView):
|
||||
def updateMsg_(self, msg: str): pass
|
||||
def show(self) -> bool: pass
|
||||
|
||||
class PyDeletionOptions(PyGUIObject):
|
||||
def setHardlink_(self, hardlink: bool):
|
||||
self.model.hardlink = hardlink
|
||||
|
||||
def setDirect_(self, direct: bool):
|
||||
self.model.direct = direct
|
||||
|
||||
#--- model --> view
|
||||
def update_msg(self, msg):
|
||||
self.callback.updateMsg_(msg)
|
||||
|
||||
def show(self):
|
||||
return self.callback.show()
|
||||
|
||||
@@ -9,12 +9,5 @@ install_gettext_trans_under_cocoa()
|
||||
|
||||
from cocoa.inter import PySelectableList, PyColumns, PyTable
|
||||
|
||||
from inter.details_panel import PyDetailsPanel
|
||||
from inter.directory_outline import PyDirectoryOutline
|
||||
from inter.prioritize_dialog import PyPrioritizeDialog
|
||||
from inter.prioritize_list import PyPrioritizeList
|
||||
from inter.problem_dialog import PyProblemDialog
|
||||
from inter.ignore_list_dialog import PyIgnoreListDialog
|
||||
from inter.result_table import PyResultTable
|
||||
from inter.stats_label import PyStatsLabel
|
||||
from inter.all import *
|
||||
from inter.app_me import PyDupeGuru
|
||||
|
||||
@@ -90,11 +90,23 @@
|
||||
CE97060114C46F70007A28F6 /* dg_cocoa.py in Resources */ = {isa = PBXBuildFile; fileRef = CE97060014C46F70007A28F6 /* dg_cocoa.py */; };
|
||||
CE97060314C471F2007A28F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97060214C471F2007A28F6 /* main.m */; };
|
||||
CEA14F431461ED63007F01A5 /* locale in Resources */ = {isa = PBXBuildFile; fileRef = CEA14F421461ED63007F01A5 /* locale */; };
|
||||
CEA39FA1157679FB00F294DE /* DeletionOptions.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEA39F97157679FB00F294DE /* DeletionOptions.xib */; };
|
||||
CEA39FA2157679FB00F294DE /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */; };
|
||||
CEA39FA3157679FB00F294DE /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */; };
|
||||
CEA39FA4157679FB00F294DE /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331112E5D3ED0029EF25 /* MainMenu.xib */; };
|
||||
CEA39FA5157679FB00F294DE /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */; };
|
||||
CEA39FA6157679FB00F294DE /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */; };
|
||||
CEA39FA7157679FB00F294DE /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331512E5D3ED0029EF25 /* ResultWindow.xib */; };
|
||||
CEA39FA8157679FB00F294DE /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05332112E5D4100029EF25 /* Preferences.xib */; };
|
||||
CEA39FA9157679FB00F294DE /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */; };
|
||||
CEA39FAD15767A2900F294DE /* PyDeletionOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA39FAC15767A2900F294DE /* PyDeletionOptions.m */; };
|
||||
CEA39FB015767A3A00F294DE /* DeletionOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA39FAF15767A3A00F294DE /* DeletionOptions.m */; };
|
||||
CEB14D29124DFC2800FA7481 /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB14D28124DFC2800FA7481 /* ResultTable.m */; };
|
||||
CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDF07A2112493B200EE5BC0 /* StatsLabel.m */; };
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
|
||||
CEF3185913D8660000B8CDCA /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185513D8660000B8CDCA /* about.xib */; };
|
||||
CEF3185A13D8660000B8CDCA /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185713D8660000B8CDCA /* ErrorReportWindow.xib */; };
|
||||
CEF6BCAA1575769C00DACF6F /* HSPyUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF6BCA91575769C00DACF6F /* HSPyUtil.m */; };
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
@@ -298,6 +310,19 @@
|
||||
CE97060014C46F70007A28F6 /* dg_cocoa.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = dg_cocoa.py; path = ../../build/dg_cocoa.py; sourceTree = "<group>"; };
|
||||
CE97060214C471F2007A28F6 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../base/main.m; sourceTree = "<group>"; };
|
||||
CEA14F421461ED63007F01A5 /* locale */ = {isa = PBXFileReference; lastKnownFileType = folder; name = locale; path = ../../build/locale; sourceTree = "<group>"; };
|
||||
CEA39F98157679FB00F294DE /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../base/cs.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39F99157679FB00F294DE /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39F9A157679FB00F294DE /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39F9B157679FB00F294DE /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39F9C157679FB00F294DE /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39F9D157679FB00F294DE /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = ../base/it.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39F9E157679FB00F294DE /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = ../base/ru.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39F9F157679FB00F294DE /* uk */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = uk; path = ../base/uk.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39FA0157679FB00F294DE /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEA39FAB15767A2900F294DE /* PyDeletionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyDeletionOptions.h; sourceTree = "<group>"; };
|
||||
CEA39FAC15767A2900F294DE /* PyDeletionOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyDeletionOptions.m; sourceTree = "<group>"; };
|
||||
CEA39FAE15767A3A00F294DE /* DeletionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeletionOptions.h; path = ../base/DeletionOptions.h; sourceTree = "<group>"; };
|
||||
CEA39FAF15767A3A00F294DE /* DeletionOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeletionOptions.m; path = ../base/DeletionOptions.m; sourceTree = "<group>"; };
|
||||
CEB14D27124DFC2800FA7481 /* ResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultTable.h; path = ../base/ResultTable.h; sourceTree = SOURCE_ROOT; };
|
||||
CEB14D28124DFC2800FA7481 /* ResultTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultTable.m; path = ../base/ResultTable.m; sourceTree = SOURCE_ROOT; };
|
||||
CEC3D37C14911253006B1A91 /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/DetailsPanel.xib; sourceTree = "<group>"; };
|
||||
@@ -340,6 +365,9 @@
|
||||
CEF5770B13CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CEF5770C13CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
|
||||
CEF5770D13CDFB310083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = de.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
CEF6BCA71575769C00DACF6F /* HSFairwareProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareProtocol.h; path = ../../cocoalib/HSFairwareProtocol.h; sourceTree = "<group>"; };
|
||||
CEF6BCA81575769C00DACF6F /* HSPyUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSPyUtil.h; path = ../../cocoalib/HSPyUtil.h; sourceTree = "<group>"; };
|
||||
CEF6BCA91575769C00DACF6F /* HSPyUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSPyUtil.m; path = ../../cocoalib/HSPyUtil.m; sourceTree = "<group>"; };
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
@@ -488,6 +516,7 @@
|
||||
CE05331512E5D3ED0029EF25 /* ResultWindow.xib */,
|
||||
CE05332112E5D4100029EF25 /* Preferences.xib */,
|
||||
CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */,
|
||||
CEA39F97157679FB00F294DE /* DeletionOptions.xib */,
|
||||
);
|
||||
name = xib;
|
||||
sourceTree = "<group>";
|
||||
@@ -512,6 +541,7 @@
|
||||
CE4B59C41119919700C06C9E /* xib */,
|
||||
CE515DE00FC6C12E00EC695D /* Dialogs.h */,
|
||||
CE515DE10FC6C12E00EC695D /* Dialogs.m */,
|
||||
CEF6BCA71575769C00DACF6F /* HSFairwareProtocol.h */,
|
||||
CE74A12112537F06008A8DF0 /* HSFairwareReminder.h */,
|
||||
CE74A12212537F06008A8DF0 /* HSFairwareReminder.m */,
|
||||
CE4F934712CCA96C0067A3AE /* HSAboutBox.h */,
|
||||
@@ -526,6 +556,8 @@
|
||||
CE515DE70FC6C12E00EC695D /* ProgressController.m */,
|
||||
CE515DEF0FC6C12E00EC695D /* Utils.h */,
|
||||
CE515DF00FC6C12E00EC695D /* Utils.m */,
|
||||
CEF6BCA81575769C00DACF6F /* HSPyUtil.h */,
|
||||
CEF6BCA91575769C00DACF6F /* HSPyUtil.m */,
|
||||
CE515DF10FC6C12E00EC695D /* ValueTransformers.h */,
|
||||
CE515DF20FC6C12E00EC695D /* ValueTransformers.m */,
|
||||
);
|
||||
@@ -558,6 +590,8 @@
|
||||
CE84C9AD1423ADFB0050A6AD /* PrioritizeDialog.m */,
|
||||
CE84C9AE1423ADFB0050A6AD /* PrioritizeList.h */,
|
||||
CE84C9AF1423ADFB0050A6AD /* PrioritizeList.m */,
|
||||
CEA39FAE15767A3A00F294DE /* DeletionOptions.h */,
|
||||
CEA39FAF15767A3A00F294DE /* DeletionOptions.m */,
|
||||
CE97060214C471F2007A28F6 /* main.m */,
|
||||
);
|
||||
name = dgbase;
|
||||
@@ -592,6 +626,8 @@
|
||||
CE9705DD14C46E7D007A28F6 /* PyProblemDialog.m */,
|
||||
CE11958D1510FF700063C8AF /* PyIgnoreListDialog.h */,
|
||||
CE11958E1510FF700063C8AF /* PyIgnoreListDialog.m */,
|
||||
CEA39FAB15767A2900F294DE /* PyDeletionOptions.h */,
|
||||
CEA39FAC15767A2900F294DE /* PyDeletionOptions.m */,
|
||||
CE9705DE14C46E7D007A28F6 /* PyResultTable.h */,
|
||||
CE9705DF14C46E7D007A28F6 /* PyResultTable.m */,
|
||||
CE9705E014C46E7D007A28F6 /* PySelectableList.h */,
|
||||
@@ -697,6 +733,15 @@
|
||||
CE9705FF14C46F60007A28F6 /* py in Resources */,
|
||||
CE97060114C46F70007A28F6 /* dg_cocoa.py in Resources */,
|
||||
CE1195961510FFB20063C8AF /* IgnoreListDialog.xib in Resources */,
|
||||
CEA39FA1157679FB00F294DE /* DeletionOptions.xib in Resources */,
|
||||
CEA39FA2157679FB00F294DE /* DetailsPanel.xib in Resources */,
|
||||
CEA39FA3157679FB00F294DE /* DirectoryPanel.xib in Resources */,
|
||||
CEA39FA4157679FB00F294DE /* MainMenu.xib in Resources */,
|
||||
CEA39FA5157679FB00F294DE /* ProblemDialog.xib in Resources */,
|
||||
CEA39FA6157679FB00F294DE /* IgnoreListDialog.xib in Resources */,
|
||||
CEA39FA7157679FB00F294DE /* ResultWindow.xib in Resources */,
|
||||
CEA39FA8157679FB00F294DE /* Preferences.xib in Resources */,
|
||||
CEA39FA9157679FB00F294DE /* PrioritizeDialog.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -758,6 +803,9 @@
|
||||
CE97060314C471F2007A28F6 /* main.m in Sources */,
|
||||
CE11958F1510FF700063C8AF /* PyIgnoreListDialog.m in Sources */,
|
||||
CE1195931510FF890063C8AF /* IgnoreListDialog.m in Sources */,
|
||||
CEF6BCAA1575769C00DACF6F /* HSPyUtil.m in Sources */,
|
||||
CEA39FAD15767A2900F294DE /* PyDeletionOptions.m in Sources */,
|
||||
CEA39FB015767A3A00F294DE /* DeletionOptions.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -925,6 +973,22 @@
|
||||
name = PrioritizeDialog.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CEA39F97157679FB00F294DE /* DeletionOptions.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CEA39F9A157679FB00F294DE /* en */,
|
||||
CEA39F98157679FB00F294DE /* cs */,
|
||||
CEA39F99157679FB00F294DE /* de */,
|
||||
CEA39F9B157679FB00F294DE /* fr */,
|
||||
CEA39F9C157679FB00F294DE /* hy */,
|
||||
CEA39F9D157679FB00F294DE /* it */,
|
||||
CEA39F9E157679FB00F294DE /* ru */,
|
||||
CEA39F9F157679FB00F294DE /* uk */,
|
||||
CEA39FA0157679FB00F294DE /* zh_CN */,
|
||||
);
|
||||
name = DeletionOptions.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CEF3185513D8660000B8CDCA /* about.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
||||
@@ -9,13 +9,6 @@ install_gettext_trans_under_cocoa()
|
||||
|
||||
from cocoa.inter import PySelectableList, PyColumns, PyTable
|
||||
|
||||
from inter.details_panel import PyDetailsPanel
|
||||
from inter.directory_outline import PyDirectoryOutline
|
||||
from inter.prioritize_dialog import PyPrioritizeDialog
|
||||
from inter.prioritize_list import PyPrioritizeList
|
||||
from inter.problem_dialog import PyProblemDialog
|
||||
from inter.ignore_list_dialog import PyIgnoreListDialog
|
||||
from inter.result_table import PyResultTable
|
||||
from inter.stats_label import PyStatsLabel
|
||||
from inter.all import *
|
||||
from inter.app_pe import PyDupeGuru
|
||||
|
||||
|
||||
@@ -82,7 +82,19 @@
|
||||
CECA899D09DB132E00A3D774 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CECA899B09DB132E00A3D774 /* DetailsPanel.m */; };
|
||||
CECB2AC513D867AD0081E295 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECB2AC113D867AD0081E295 /* about.xib */; };
|
||||
CECB2AC613D867AD0081E295 /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECB2AC313D867AD0081E295 /* ErrorReportWindow.xib */; };
|
||||
CED3BC1515767AFB0028F3C9 /* PyDeletionOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = CED3BC1415767AFB0028F3C9 /* PyDeletionOptions.m */; };
|
||||
CED3BC1915767B0E0028F3C9 /* DeletionOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = CED3BC1815767B0E0028F3C9 /* DeletionOptions.m */; };
|
||||
CED3BC2415767B200028F3C9 /* DeletionOptions.xib in Resources */ = {isa = PBXBuildFile; fileRef = CED3BC1A15767B200028F3C9 /* DeletionOptions.xib */; };
|
||||
CED3BC2515767B200028F3C9 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339312E5DA350029EF25 /* DirectoryPanel.xib */; };
|
||||
CED3BC2615767B200028F3C9 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339512E5DA350029EF25 /* MainMenu.xib */; };
|
||||
CED3BC2715767B200028F3C9 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339712E5DA350029EF25 /* ProblemDialog.xib */; };
|
||||
CED3BC2815767B200028F3C9 /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7857951511019400174D51 /* IgnoreListDialog.xib */; };
|
||||
CED3BC2915767B200028F3C9 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
|
||||
CED3BC2A15767B200028F3C9 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
|
||||
CED3BC2B15767B200028F3C9 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
|
||||
CED3BC2C15767B200028F3C9 /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7D24A71423B123002E2297 /* PrioritizeDialog.xib */; };
|
||||
CEE6D562149113570087CDFC /* HSColumns.m in Sources */ = {isa = PBXBuildFile; fileRef = CEE6D561149113570087CDFC /* HSColumns.m */; };
|
||||
CEE8D3E2157576FD00E1A1B8 /* HSPyUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = CEE8D3E1157576FD00E1A1B8 /* HSPyUtil.m */; };
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
|
||||
CEF12A7E124DFD400087B51D /* HSTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF12A7D124DFD400087B51D /* HSTableView.m */; };
|
||||
CEF12A84124DFD620087B51D /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF12A83124DFD620087B51D /* ResultTable.m */; };
|
||||
@@ -308,6 +320,19 @@
|
||||
CECB2ACB13D867C00081E295 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/about.xib; sourceTree = "<group>"; };
|
||||
CECB2ACC13D867C00081E295 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
|
||||
CECB2ACD13D867C00081E295 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
|
||||
CED3BC1315767AFB0028F3C9 /* PyDeletionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyDeletionOptions.h; sourceTree = "<group>"; };
|
||||
CED3BC1415767AFB0028F3C9 /* PyDeletionOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyDeletionOptions.m; sourceTree = "<group>"; };
|
||||
CED3BC1715767B0E0028F3C9 /* DeletionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeletionOptions.h; path = ../base/DeletionOptions.h; sourceTree = "<group>"; };
|
||||
CED3BC1815767B0E0028F3C9 /* DeletionOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeletionOptions.m; path = ../base/DeletionOptions.m; sourceTree = "<group>"; };
|
||||
CED3BC1B15767B200028F3C9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../base/cs.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC1C15767B200028F3C9 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC1D15767B200028F3C9 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC1E15767B200028F3C9 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC1F15767B200028F3C9 /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC2015767B200028F3C9 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = ../base/it.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC2115767B200028F3C9 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = ../base/ru.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC2215767B200028F3C9 /* uk */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = uk; path = ../base/uk.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CED3BC2315767B200028F3C9 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEE6D5461491130D0087CDFC /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/DirectoryPanel.xib; sourceTree = "<group>"; };
|
||||
CEE6D5481491130D0087CDFC /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
CEE6D5491491130D0087CDFC /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
|
||||
@@ -321,6 +346,9 @@
|
||||
CEE6D55B149113320087CDFC /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../hy.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
|
||||
CEE6D560149113570087CDFC /* HSColumns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSColumns.h; sourceTree = "<group>"; };
|
||||
CEE6D561149113570087CDFC /* HSColumns.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSColumns.m; sourceTree = "<group>"; };
|
||||
CEE8D3DF157576FD00E1A1B8 /* HSFairwareProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareProtocol.h; path = ../../cocoalib/HSFairwareProtocol.h; sourceTree = "<group>"; };
|
||||
CEE8D3E0157576FD00E1A1B8 /* HSPyUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSPyUtil.h; path = ../../cocoalib/HSPyUtil.h; sourceTree = "<group>"; };
|
||||
CEE8D3E1157576FD00E1A1B8 /* HSPyUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSPyUtil.m; path = ../../cocoalib/HSPyUtil.m; sourceTree = "<group>"; };
|
||||
CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = "<group>"; };
|
||||
CEEE156E1460325B00783E91 /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../cs.lproj/about.xib; sourceTree = "<group>"; };
|
||||
CEEE156F1460325B00783E91 /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../cs.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
|
||||
@@ -451,6 +479,7 @@
|
||||
CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */,
|
||||
CE0533A512E5DA4D0029EF25 /* Preferences.xib */,
|
||||
CE7D24A71423B123002E2297 /* PrioritizeDialog.xib */,
|
||||
CED3BC1A15767B200028F3C9 /* DeletionOptions.xib */,
|
||||
);
|
||||
name = xib;
|
||||
sourceTree = "<group>";
|
||||
@@ -484,6 +513,8 @@
|
||||
CE7857A81511021200174D51 /* PyIgnoreListDialog.h */,
|
||||
CE7857A91511021200174D51 /* PyIgnoreListDialog.m */,
|
||||
CE75019514C477B100E2A349 /* PyProblemDialog.m */,
|
||||
CED3BC1315767AFB0028F3C9 /* PyDeletionOptions.h */,
|
||||
CED3BC1415767AFB0028F3C9 /* PyDeletionOptions.m */,
|
||||
CE75019614C477B100E2A349 /* PyResultTable.h */,
|
||||
CE75019714C477B100E2A349 /* PyResultTable.m */,
|
||||
CE75019814C477B100E2A349 /* PySelectableList.h */,
|
||||
@@ -523,6 +554,7 @@
|
||||
CE9EA74A1122C96C008CD2BC /* NSEventAdditions.m */,
|
||||
CE80DB1B0FC192D60086DCA6 /* Dialogs.h */,
|
||||
CE80DB1C0FC192D60086DCA6 /* Dialogs.m */,
|
||||
CEE8D3DF157576FD00E1A1B8 /* HSFairwareProtocol.h */,
|
||||
CE1EB5FB12537F9D0034AABB /* HSFairwareReminder.h */,
|
||||
CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */,
|
||||
CEC9DB4A12CCAA7D003102F0 /* HSAboutBox.h */,
|
||||
@@ -535,6 +567,8 @@
|
||||
CE80DB220FC192D60086DCA6 /* ProgressController.m */,
|
||||
CE80DB2A0FC192D60086DCA6 /* Utils.h */,
|
||||
CE80DB2B0FC192D60086DCA6 /* Utils.m */,
|
||||
CEE8D3E0157576FD00E1A1B8 /* HSPyUtil.h */,
|
||||
CEE8D3E1157576FD00E1A1B8 /* HSPyUtil.m */,
|
||||
CE80DB2C0FC192D60086DCA6 /* ValueTransformers.h */,
|
||||
CE80DB2D0FC192D60086DCA6 /* ValueTransformers.m */,
|
||||
);
|
||||
@@ -567,6 +601,8 @@
|
||||
CE7D24A01423B106002E2297 /* PrioritizeDialog.m */,
|
||||
CE7D24A11423B106002E2297 /* PrioritizeList.h */,
|
||||
CE7D24A21423B106002E2297 /* PrioritizeList.m */,
|
||||
CED3BC1715767B0E0028F3C9 /* DeletionOptions.h */,
|
||||
CED3BC1815767B0E0028F3C9 /* DeletionOptions.m */,
|
||||
CE75017214C4770500E2A349 /* main.m */,
|
||||
);
|
||||
name = dgbase;
|
||||
@@ -699,6 +735,15 @@
|
||||
CE75017514C4771800E2A349 /* py in Resources */,
|
||||
CE75017714C4772100E2A349 /* dg_cocoa.py in Resources */,
|
||||
CE7857971511019400174D51 /* IgnoreListDialog.xib in Resources */,
|
||||
CED3BC2415767B200028F3C9 /* DeletionOptions.xib in Resources */,
|
||||
CED3BC2515767B200028F3C9 /* DirectoryPanel.xib in Resources */,
|
||||
CED3BC2615767B200028F3C9 /* MainMenu.xib in Resources */,
|
||||
CED3BC2715767B200028F3C9 /* ProblemDialog.xib in Resources */,
|
||||
CED3BC2815767B200028F3C9 /* IgnoreListDialog.xib in Resources */,
|
||||
CED3BC2915767B200028F3C9 /* ResultWindow.xib in Resources */,
|
||||
CED3BC2A15767B200028F3C9 /* DetailsPanel.xib in Resources */,
|
||||
CED3BC2B15767B200028F3C9 /* Preferences.xib in Resources */,
|
||||
CED3BC2C15767B200028F3C9 /* PrioritizeDialog.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -763,6 +808,9 @@
|
||||
CE7501AE14C477B100E2A349 /* PyTable.m in Sources */,
|
||||
CE7857AA1511021200174D51 /* PyIgnoreListDialog.m in Sources */,
|
||||
CE7857AD1511022A00174D51 /* IgnoreListDialog.m in Sources */,
|
||||
CEE8D3E2157576FD00E1A1B8 /* HSPyUtil.m in Sources */,
|
||||
CED3BC1515767AFB0028F3C9 /* PyDeletionOptions.m in Sources */,
|
||||
CED3BC1915767B0E0028F3C9 /* DeletionOptions.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -962,6 +1010,22 @@
|
||||
name = ErrorReportWindow.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CED3BC1A15767B200028F3C9 /* DeletionOptions.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CED3BC1D15767B200028F3C9 /* en */,
|
||||
CED3BC1B15767B200028F3C9 /* cs */,
|
||||
CED3BC1C15767B200028F3C9 /* de */,
|
||||
CED3BC1E15767B200028F3C9 /* fr */,
|
||||
CED3BC1F15767B200028F3C9 /* hy */,
|
||||
CED3BC2015767B200028F3C9 /* it */,
|
||||
CED3BC2115767B200028F3C9 /* ru */,
|
||||
CED3BC2215767B200028F3C9 /* uk */,
|
||||
CED3BC2315767B200028F3C9 /* zh_CN */,
|
||||
);
|
||||
name = DeletionOptions.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
||||
@@ -9,12 +9,5 @@ install_gettext_trans_under_cocoa()
|
||||
|
||||
from cocoa.inter import PySelectableList, PyColumns, PyTable
|
||||
|
||||
from inter.details_panel import PyDetailsPanel
|
||||
from inter.directory_outline import PyDirectoryOutline
|
||||
from inter.prioritize_dialog import PyPrioritizeDialog
|
||||
from inter.prioritize_list import PyPrioritizeList
|
||||
from inter.problem_dialog import PyProblemDialog
|
||||
from inter.ignore_list_dialog import PyIgnoreListDialog
|
||||
from inter.result_table import PyResultTable
|
||||
from inter.stats_label import PyStatsLabel
|
||||
from inter.all import *
|
||||
from inter.app_se import PyDupeGuru
|
||||
@@ -63,6 +63,10 @@
|
||||
CEA175CA1461E8E600776591 /* locale in Resources */ = {isa = PBXBuildFile; fileRef = CEA175C91461E8E600776591 /* locale */; };
|
||||
CEA450B814BDDFD7002DAAF2 /* dg_cocoa.py in Resources */ = {isa = PBXBuildFile; fileRef = CEA450B714BDDFD7002DAAF2 /* dg_cocoa.py */; };
|
||||
CEB2AF5614C49AC800F907A9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB2AF5514C49AC800F907A9 /* main.m */; };
|
||||
CEBCE2D81573FE49000402E1 /* HSPyUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBCE2D71573FE49000402E1 /* HSPyUtil.m */; };
|
||||
CEC3F8F815765F9F00B26F0C /* DeletionOptions.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEC3F8F615765F9F00B26F0C /* DeletionOptions.xib */; };
|
||||
CEC3F8FC157668A300B26F0C /* DeletionOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC3F8FB157668A300B26F0C /* DeletionOptions.m */; };
|
||||
CEC3F8FF1576697700B26F0C /* PyDeletionOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC3F8FE1576697700B26F0C /* PyDeletionOptions.m */; };
|
||||
CEE7EA130FE675C80004E467 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEE7EA120FE675C80004E467 /* DetailsPanel.m */; };
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
|
||||
CEEF2A1814C0A5A60082545A /* PyDupeGuru.m in Sources */ = {isa = PBXBuildFile; fileRef = CEEF2A1714C0A5A60082545A /* PyDupeGuru.m */; };
|
||||
@@ -76,6 +80,14 @@
|
||||
CEEF2A4114C0B9050082545A /* HSTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CEEF2A3B14C0B9050082545A /* HSTable.m */; };
|
||||
CEF0ACCE12DF3C2000B32F7E /* HSRecentFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF0ACCD12DF3C2000B32F7E /* HSRecentFiles.m */; };
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
|
||||
CEFC64DE157678A500664D8C /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
|
||||
CEFC64E1157678AF00664D8C /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
|
||||
CEFC64E3157678C000664D8C /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
|
||||
CEFC64E5157678CA00664D8C /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
|
||||
CEFC64EA157678DE00664D8C /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
|
||||
CEFC64EB157678DE00664D8C /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134412E5CE4D00A36C80 /* DirectoryPanel.xib */; };
|
||||
CEFC64EC157678DE00664D8C /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134612E5CE4D00A36C80 /* MainMenu.xib */; };
|
||||
CEFC64ED157678DE00664D8C /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134812E5CE4D00A36C80 /* ProblemDialog.xib */; };
|
||||
CEFC7F9E0FC9517500CD5728 /* Dialogs.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F8B0FC9517500CD5728 /* Dialogs.m */; };
|
||||
CEFC7FA10FC9517500CD5728 /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F910FC9517500CD5728 /* ProgressController.m */; };
|
||||
CEFC7FA50FC9517500CD5728 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F9B0FC9517500CD5728 /* Utils.m */; };
|
||||
@@ -247,6 +259,14 @@
|
||||
CEA450B714BDDFD7002DAAF2 /* dg_cocoa.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = dg_cocoa.py; path = ../../build/dg_cocoa.py; sourceTree = "<group>"; };
|
||||
CEB2AF5514C49AC800F907A9 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../base/main.m; sourceTree = "<group>"; };
|
||||
CEB57990146ADC5100EDF7D7 /* HSConsts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSConsts.h; path = ../../cocoalib/HSConsts.h; sourceTree = "<group>"; };
|
||||
CEBCE2D61573FE49000402E1 /* HSPyUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSPyUtil.h; path = ../../cocoalib/HSPyUtil.h; sourceTree = "<group>"; };
|
||||
CEBCE2D71573FE49000402E1 /* HSPyUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSPyUtil.m; path = ../../cocoalib/HSPyUtil.m; sourceTree = "<group>"; };
|
||||
CEBCE2DA1573FEBF000402E1 /* HSFairwareProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareProtocol.h; path = ../../cocoalib/HSFairwareProtocol.h; sourceTree = "<group>"; };
|
||||
CEC3F8F715765F9F00B26F0C /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEC3F8FA157668A300B26F0C /* DeletionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeletionOptions.h; path = ../base/DeletionOptions.h; sourceTree = "<group>"; };
|
||||
CEC3F8FB157668A300B26F0C /* DeletionOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeletionOptions.m; path = ../base/DeletionOptions.m; sourceTree = "<group>"; };
|
||||
CEC3F8FD1576697700B26F0C /* PyDeletionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyDeletionOptions.h; sourceTree = "<group>"; };
|
||||
CEC3F8FE1576697700B26F0C /* PyDeletionOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyDeletionOptions.m; sourceTree = "<group>"; };
|
||||
CECFFF1C13CDF8D0003A4518 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DetailsPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CECFFF1D13CDF8D0003A4518 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CECFFF1F13CDF8D0003A4518 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
@@ -312,6 +332,14 @@
|
||||
CEF27A9D1423EAD90048ADFA /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
|
||||
CEF27A9E1423EAD90048ADFA /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC64DD157678A500664D8C /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC64E0157678AF00664D8C /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../base/cs.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC64E2157678C000664D8C /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC64E4157678CA00664D8C /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC64E6157678DE00664D8C /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = ../base/it.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC64E7157678DE00664D8C /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = ../base/ru.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC64E8157678DE00664D8C /* uk */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = uk; path = ../base/uk.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC64E9157678DE00664D8C /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
|
||||
CEFC7F8A0FC9517500CD5728 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F8B0FC9517500CD5728 /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = ../../cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F900FC9517500CD5728 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -461,6 +489,8 @@
|
||||
CE4746D214C09C12001A66DE /* PyProblemDialog.m */,
|
||||
CE412C0B1510ECAA00484122 /* PyIgnoreListDialog.h */,
|
||||
CE412C0C1510ECAA00484122 /* PyIgnoreListDialog.m */,
|
||||
CEC3F8FD1576697700B26F0C /* PyDeletionOptions.h */,
|
||||
CEC3F8FE1576697700B26F0C /* PyDeletionOptions.m */,
|
||||
CE9FC23114C0866F005C31FD /* PyResultTable.h */,
|
||||
CE9FC23214C0866F005C31FD /* PyResultTable.m */,
|
||||
CE1D091614BE0C6400CA6B8C /* PyStatsLabel.h */,
|
||||
@@ -525,6 +555,7 @@
|
||||
CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */,
|
||||
CE81135612E5CE6D00A36C80 /* Preferences.xib */,
|
||||
CE9777CF141F8CB400C13FB5 /* PrioritizeDialog.xib */,
|
||||
CEC3F8F615765F9F00B26F0C /* DeletionOptions.xib */,
|
||||
);
|
||||
name = xib;
|
||||
sourceTree = "<group>";
|
||||
@@ -548,6 +579,7 @@
|
||||
CEB57990146ADC5100EDF7D7 /* HSConsts.h */,
|
||||
CEFC7F8A0FC9517500CD5728 /* Dialogs.h */,
|
||||
CEFC7F8B0FC9517500CD5728 /* Dialogs.m */,
|
||||
CEBCE2DA1573FEBF000402E1 /* HSFairwareProtocol.h */,
|
||||
CE79638A12536F4E008D405B /* HSFairwareReminder.h */,
|
||||
CE79638B12536F4E008D405B /* HSFairwareReminder.m */,
|
||||
CE27D3C212CCA43800859E67 /* HSAboutBox.h */,
|
||||
@@ -561,6 +593,8 @@
|
||||
CEFC7F910FC9517500CD5728 /* ProgressController.m */,
|
||||
CEFC7F9A0FC9517500CD5728 /* Utils.h */,
|
||||
CEFC7F9B0FC9517500CD5728 /* Utils.m */,
|
||||
CEBCE2D61573FE49000402E1 /* HSPyUtil.h */,
|
||||
CEBCE2D71573FE49000402E1 /* HSPyUtil.m */,
|
||||
CEFC7F9C0FC9517500CD5728 /* ValueTransformers.h */,
|
||||
CEFC7F9D0FC9517500CD5728 /* ValueTransformers.m */,
|
||||
);
|
||||
@@ -593,6 +627,8 @@
|
||||
CE9777CC141F8C2500C13FB5 /* PrioritizeDialog.m */,
|
||||
CE89240614239CC30024CE4E /* PrioritizeList.h */,
|
||||
CE89240714239CC30024CE4E /* PrioritizeList.m */,
|
||||
CEC3F8FA157668A300B26F0C /* DeletionOptions.h */,
|
||||
CEC3F8FB157668A300B26F0C /* DeletionOptions.m */,
|
||||
CEB2AF5514C49AC800F907A9 /* main.m */,
|
||||
);
|
||||
name = dgbase;
|
||||
@@ -682,6 +718,15 @@
|
||||
CE18005114BDD87B001B6329 /* py in Resources */,
|
||||
CEA450B814BDDFD7002DAAF2 /* dg_cocoa.py in Resources */,
|
||||
CE412C111510ECCA00484122 /* IgnoreListDialog.xib in Resources */,
|
||||
CEC3F8F815765F9F00B26F0C /* DeletionOptions.xib in Resources */,
|
||||
CEFC64DE157678A500664D8C /* DetailsPanel.xib in Resources */,
|
||||
CEFC64E1157678AF00664D8C /* DetailsPanel.xib in Resources */,
|
||||
CEFC64E3157678C000664D8C /* DetailsPanel.xib in Resources */,
|
||||
CEFC64E5157678CA00664D8C /* DetailsPanel.xib in Resources */,
|
||||
CEFC64EA157678DE00664D8C /* DetailsPanel.xib in Resources */,
|
||||
CEFC64EB157678DE00664D8C /* DirectoryPanel.xib in Resources */,
|
||||
CEFC64EC157678DE00664D8C /* MainMenu.xib in Resources */,
|
||||
CEFC64ED157678DE00664D8C /* ProblemDialog.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -742,6 +787,9 @@
|
||||
CEB2AF5614C49AC800F907A9 /* main.m in Sources */,
|
||||
CE412C0D1510ECAA00484122 /* PyIgnoreListDialog.m in Sources */,
|
||||
CE412C141510ED2E00484122 /* IgnoreListDialog.m in Sources */,
|
||||
CEBCE2D81573FE49000402E1 /* HSPyUtil.m in Sources */,
|
||||
CEC3F8FC157668A300B26F0C /* DeletionOptions.m in Sources */,
|
||||
CEC3F8FF1576697700B26F0C /* PyDeletionOptions.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -941,6 +989,22 @@
|
||||
name = PrioritizeDialog.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CEC3F8F615765F9F00B26F0C /* DeletionOptions.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CEC3F8F715765F9F00B26F0C /* en */,
|
||||
CEFC64DD157678A500664D8C /* de */,
|
||||
CEFC64E0157678AF00664D8C /* cs */,
|
||||
CEFC64E2157678C000664D8C /* fr */,
|
||||
CEFC64E4157678CA00664D8C /* hy */,
|
||||
CEFC64E6157678DE00664D8C /* it */,
|
||||
CEFC64E7157678DE00664D8C /* ru */,
|
||||
CEFC64E8157678DE00664D8C /* uk */,
|
||||
CEFC64E9157678DE00664D8C /* zh_CN */,
|
||||
);
|
||||
name = DeletionOptions.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
||||
32
core/app.py
32
core/app.py
@@ -12,6 +12,7 @@ import logging
|
||||
import subprocess
|
||||
import re
|
||||
import time
|
||||
import shutil
|
||||
|
||||
from send2trash import send2trash
|
||||
from hscommon import io
|
||||
@@ -24,6 +25,7 @@ from hscommon.util import (delete_if_empty, first, escape, nonone, format_time_d
|
||||
from hscommon.trans import tr
|
||||
|
||||
from . import directories, results, scanner, export, fs
|
||||
from .gui.deletion_options import DeletionOptions
|
||||
from .gui.details_panel import DetailsPanel
|
||||
from .gui.directory_tree import DirectoryTree
|
||||
from .gui.ignore_list_dialog import IgnoreListDialog
|
||||
@@ -118,6 +120,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
self.ignore_list_dialog = IgnoreListDialog(self)
|
||||
self.stats_label = StatsLabel(self)
|
||||
self.result_table = self._create_result_table()
|
||||
self.deletion_options = DeletionOptions()
|
||||
children = [self.result_table, self.directory_tree, self.stats_label, self.details_panel]
|
||||
for child in children:
|
||||
child.connect()
|
||||
@@ -155,23 +158,30 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
return len([dupe for dupe in group.dupes if self.results.is_marked(dupe)])
|
||||
return cmp_value(group.ref, key)
|
||||
|
||||
def _do_delete(self, j, replace_with_hardlinks):
|
||||
def _do_delete(self, j, replace_with_hardlinks, direct_deletion):
|
||||
def op(dupe):
|
||||
j.add_progress()
|
||||
return self._do_delete_dupe(dupe, replace_with_hardlinks)
|
||||
return self._do_delete_dupe(dupe, replace_with_hardlinks, direct_deletion)
|
||||
|
||||
j.start_job(self.results.mark_count)
|
||||
self.results.perform_on_marked(op, True)
|
||||
|
||||
def _do_delete_dupe(self, dupe, replace_with_hardlinks):
|
||||
def _do_delete_dupe(self, dupe, replace_with_hardlinks, direct_deletion):
|
||||
if not io.exists(dupe.path):
|
||||
return
|
||||
logging.debug("Sending '%s' to trash", dupe.path)
|
||||
send2trash(str(dupe.path)) # Raises OSError when there's a problem
|
||||
str_path = str(dupe.path)
|
||||
if direct_deletion:
|
||||
if op.isdir(str_path):
|
||||
shutil.rmtree(str_path)
|
||||
else:
|
||||
os.remove(str_path)
|
||||
else:
|
||||
send2trash(str_path) # Raises OSError when there's a problem
|
||||
if replace_with_hardlinks:
|
||||
group = self.results.get_group_of_duplicate(dupe)
|
||||
ref = group.ref
|
||||
os.link(str(ref.path), str(dupe.path))
|
||||
os.link(str(ref.path), str_path)
|
||||
self.clean_empty_dirs(dupe.path[:-1])
|
||||
|
||||
def _create_file(self, path):
|
||||
@@ -334,19 +344,17 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
jobid = JobType.Copy if copy else JobType.Move
|
||||
self.view.start_job(jobid, do)
|
||||
|
||||
def delete_marked(self, replace_with_hardlinks=False):
|
||||
def delete_marked(self):
|
||||
if not self._check_demo():
|
||||
return
|
||||
if not self.results.mark_count:
|
||||
self.view.show_message(MSG_NO_MARKED_DUPES)
|
||||
return
|
||||
if replace_with_hardlinks:
|
||||
msg = tr("You are about to send %d files to Trash (and hardlink them afterwards). Continue?")
|
||||
else:
|
||||
msg = tr("You are about to send %d files to Trash. Continue?")
|
||||
if not self.view.ask_yes_no(msg % self.results.mark_count):
|
||||
if not self.deletion_options.show(self.results.mark_count):
|
||||
return
|
||||
self.view.start_job(JobType.Delete, self._do_delete, args=[replace_with_hardlinks])
|
||||
args = [self.deletion_options.hardlink, self.deletion_options.direct]
|
||||
logging.debug("Starting deletion job with args %r", args)
|
||||
self.view.start_job(JobType.Delete, self._do_delete, args=args)
|
||||
|
||||
def export_to_xhtml(self):
|
||||
columns = [col for col in self.result_table.columns.ordered_columns
|
||||
|
||||
44
core/fs.py
44
core/fs.py
@@ -15,7 +15,9 @@ import hashlib
|
||||
import logging
|
||||
|
||||
from hscommon import io
|
||||
from hscommon.util import nonone, flatten, get_file_ext
|
||||
from hscommon.util import nonone, get_file_ext
|
||||
|
||||
NOT_SET = object()
|
||||
|
||||
class FSError(Exception):
|
||||
cls_message = "An error has occured on '{name}' in '{parent}'"
|
||||
@@ -55,29 +57,35 @@ class File:
|
||||
'md5': '',
|
||||
'md5partial': '',
|
||||
}
|
||||
# Slots for File make us save quite a bit of memory. In a memory test I've made with a lot of
|
||||
# files, I saved 35% memory usage with "unread" files (no _read_info() call) and gains become
|
||||
# even greater when we take into account read attributes (70%!). Yeah, it's worth it.
|
||||
__slots__ = ('path', 'is_ref', 'words') + tuple(INITIAL_INFO.keys())
|
||||
|
||||
def __init__(self, path):
|
||||
self.path = path
|
||||
#This offset is where we should start reading the file to get a partial md5
|
||||
#For audio file, it should be where audio data starts
|
||||
self._md5partial_offset = 0x4000 #16Kb
|
||||
self._md5partial_size = 0x4000 #16Kb
|
||||
for attrname in self.INITIAL_INFO:
|
||||
setattr(self, attrname, NOT_SET)
|
||||
|
||||
def __repr__(self):
|
||||
return "<{} {}>".format(self.__class__.__name__, str(self.path))
|
||||
|
||||
def __getattr__(self, attrname):
|
||||
# Only called when attr is not there
|
||||
if attrname in self.INITIAL_INFO:
|
||||
def __getattribute__(self, attrname):
|
||||
result = object.__getattribute__(self, attrname)
|
||||
if result is NOT_SET:
|
||||
try:
|
||||
self._read_info(attrname)
|
||||
except Exception as e:
|
||||
logging.warning("An error '%s' was raised while decoding '%s'", e, repr(self.path))
|
||||
try:
|
||||
return self.__dict__[attrname]
|
||||
except KeyError:
|
||||
return self.INITIAL_INFO[attrname]
|
||||
raise AttributeError()
|
||||
result = object.__getattribute__(self, attrname)
|
||||
if result is NOT_SET:
|
||||
result = self.INITIAL_INFO[attrname]
|
||||
return result
|
||||
|
||||
#This offset is where we should start reading the file to get a partial md5
|
||||
#For audio file, it should be where audio data starts
|
||||
def _get_md5partial_offset_and_size(self):
|
||||
return (0x4000, 0x4000) #16Kb
|
||||
|
||||
def _read_info(self, field):
|
||||
if field in ('size', 'mtime'):
|
||||
@@ -87,8 +95,7 @@ class File:
|
||||
elif field == 'md5partial':
|
||||
try:
|
||||
fp = io.open(self.path, 'rb')
|
||||
offset = self._md5partial_offset
|
||||
size = self._md5partial_size
|
||||
offset, size = self._get_md5partial_offset_and_size()
|
||||
fp.seek(offset)
|
||||
partialdata = fp.read(size)
|
||||
md5 = hashlib.md5(partialdata)
|
||||
@@ -116,10 +123,9 @@ class File:
|
||||
If `attrnames` is not None, caches only attrnames.
|
||||
"""
|
||||
if attrnames is None:
|
||||
attrnames = list(self.INITIAL_INFO.keys())
|
||||
attrnames = self.INITIAL_INFO.keys()
|
||||
for attrname in attrnames:
|
||||
if attrname not in self.__dict__:
|
||||
self._read_info(attrname)
|
||||
getattr(self, attrname)
|
||||
|
||||
#--- Public
|
||||
@classmethod
|
||||
@@ -159,6 +165,8 @@ class Folder(File):
|
||||
|
||||
It has the size/md5 info of a File, but it's value are the sum of its subitems.
|
||||
"""
|
||||
__slots__ = File.__slots__ + ('_subfolders', )
|
||||
|
||||
def __init__(self, path):
|
||||
File.__init__(self, path)
|
||||
self._subfolders = None
|
||||
|
||||
23
core/gui/deletion_options.py
Normal file
23
core/gui/deletion_options.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# Created On: 2012-05-30
|
||||
# Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
||||
#
|
||||
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from hscommon.gui.base import GUIObject
|
||||
from hscommon.trans import tr
|
||||
|
||||
class DeletionOptions(GUIObject):
|
||||
#--- View interface
|
||||
# update_msg(msg: str)
|
||||
# show()
|
||||
#
|
||||
|
||||
def show(self, mark_count):
|
||||
self.hardlink = False
|
||||
self.direct = False
|
||||
msg = tr("You are sending {} file(s) to the Trash.").format(mark_count)
|
||||
self.view.update_msg(msg)
|
||||
return self.view.show()
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
__version__ = '6.3.0'
|
||||
__version__ = '6.4.0'
|
||||
__appname__ = 'dupeGuru Music Edition'
|
||||
@@ -28,6 +28,7 @@ class MusicFile(fs.File):
|
||||
'year' : '',
|
||||
'track' : 0,
|
||||
})
|
||||
__slots__ = fs.File.__slots__ + tuple(INITIAL_INFO.keys())
|
||||
|
||||
@classmethod
|
||||
def can_handle(cls, path):
|
||||
@@ -35,11 +36,11 @@ class MusicFile(fs.File):
|
||||
return False
|
||||
return get_file_ext(path[-1]) in auto.EXT2CLASS
|
||||
|
||||
def _get_md5partial_offset_and_size(self):
|
||||
f = auto.File(str(self.path))
|
||||
return (f.audio_offset, f.audio_size)
|
||||
|
||||
def _read_info(self, field):
|
||||
if field == 'md5partial':
|
||||
f = auto.File(str(self.path))
|
||||
self._md5partial_offset = f.audio_offset
|
||||
self._md5partial_size = f.audio_size
|
||||
fs.File._read_info(self, field)
|
||||
if field in TAG_FIELDS:
|
||||
f = auto.File(str(self.path))
|
||||
|
||||
@@ -11,18 +11,9 @@ from hscommon import io
|
||||
from hscommon.path import Path
|
||||
|
||||
from core.engine import getwords
|
||||
from core.tests.scanner_test import NamedObject, no
|
||||
from ..scanner import *
|
||||
|
||||
class NamedObject:
|
||||
def __init__(self, name="foobar", size=1):
|
||||
self.name = name
|
||||
self.size = size
|
||||
self.path = Path('')
|
||||
self.words = getwords(name)
|
||||
|
||||
|
||||
no = NamedObject
|
||||
|
||||
def pytest_funcarg__fake_fileexists(request):
|
||||
# This is a hack to avoid invalidating all previous tests since the scanner started to test
|
||||
# for file existence before doing the match grouping.
|
||||
@@ -32,7 +23,7 @@ def pytest_funcarg__fake_fileexists(request):
|
||||
def test_priorize_me(fake_fileexists):
|
||||
# in ScannerME, bitrate goes first (right after is_ref) in priorization
|
||||
s = ScannerME()
|
||||
o1, o2 = no('foo'), no('foo')
|
||||
o1, o2 = no('foo', path='p1'), no('foo', path='p2')
|
||||
o1.bitrate = 1
|
||||
o2.bitrate = 2
|
||||
[group] = s.get_dupe_groups([o1, o2])
|
||||
|
||||
@@ -16,6 +16,8 @@ class Photo(fs.File):
|
||||
INITIAL_INFO.update({
|
||||
'dimensions': (0,0),
|
||||
})
|
||||
__slots__ = fs.File.__slots__ + tuple(INITIAL_INFO.keys())
|
||||
|
||||
# These extensions are supported on all platforms
|
||||
HANDLED_EXTS = {'png', 'jpg', 'jpeg', 'gif', 'bmp', 'tiff', 'tif'}
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
__version__ = '3.4.1'
|
||||
__version__ = '3.5.0'
|
||||
__appname__ = 'dupeGuru'
|
||||
|
||||
@@ -7,6 +7,6 @@ Standards-Version: 3.8.1
|
||||
Homepage: http://www.hardcoded.net
|
||||
|
||||
Package: dupeguru-me
|
||||
Architecture: any
|
||||
Depends: python3 (>=3.2), libqtgui4
|
||||
Architecture: all
|
||||
Depends: python3 (>=3.2), python3-pyqt4
|
||||
Description: dupeGuru Music Edition
|
||||
|
||||
@@ -8,5 +8,5 @@ Homepage: http://www.hardcoded.net
|
||||
|
||||
Package: dupeguru-pe
|
||||
Architecture: any
|
||||
Depends: python3 (>=3.2), libqtgui4
|
||||
Depends: python3 (>=3.2), python3-pyqt4
|
||||
Description: dupeGuru Picture Edition
|
||||
|
||||
@@ -7,6 +7,6 @@ Standards-Version: 3.8.1
|
||||
Homepage: http://www.hardcoded.net
|
||||
|
||||
Package: dupeguru-se
|
||||
Architecture: any
|
||||
Depends: python3 (>=3.2), libqtgui4
|
||||
Architecture: all
|
||||
Depends: python3 (>=3.2), python3-pyqt4
|
||||
Description: dupeGuru
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
=== 6.4.0 (2012-06-02)
|
||||
|
||||
* Added a Deletion Options panel.
|
||||
* Greatly improved memory usage for big scans.
|
||||
* Added a keybinding for the filter field. (#182) [Mac]
|
||||
* Upgraded minimum requirements for Ubuntu to 12.04.
|
||||
|
||||
=== 6.3.1 (2012-04-15)
|
||||
|
||||
* Fixed crash on iTunes library parsing. [Mac]
|
||||
* Fixed localization issues. [Windows, Linux]
|
||||
|
||||
=== 6.3.0 (2012-03-27)
|
||||
|
||||
* Improved iTunes support. [Mac]
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
=== 3.5.0 (2012-06-01)
|
||||
|
||||
* Added a Deletion Options panel.
|
||||
* Greatly improved memory usage for big scans.
|
||||
* Added a keybinding for the filter field. (#182) [Mac]
|
||||
* Upgraded minimum requirements for Ubuntu to 12.04.
|
||||
|
||||
=== 3.4.1 (2012-04-14)
|
||||
|
||||
* Fixed the "Folders" scan type. [Mac]
|
||||
|
||||
@@ -20,6 +20,8 @@ Unten befindet sich die Liste aller Menschen, die direkt oder indirekt zu dupeGu
|
||||
|
||||
| **Yuri Petrashko, Ukrainian localization**
|
||||
|
||||
| **Nickolas Pohilets, Ukrainian localization**
|
||||
|
||||
| **Python, Programming language** (`Website <http://www.python.org>`__)
|
||||
| The bestest of the bests
|
||||
|
||||
|
||||
@@ -112,3 +112,4 @@ Häufig gestellte Fragen
|
||||
|
||||
Wenn dies alles fehlschlägt, kontaktieren Sie `HS support <http://www.hardcoded.net/support>`_, wir werden das Problem lösen.
|
||||
|
||||
.. todo:: This FAQ qestion is outdated, see english version.
|
||||
|
||||
@@ -94,3 +94,4 @@ Aktionen Menü
|
||||
* **Ausgewählte umbenennen:** Fragt nach einem neuen Namen und benennt die ausgewählte Datei um.
|
||||
|
||||
.. todo:: Add Move and iPhoto/iTunes warning
|
||||
.. todo:: Add "Deletion Options" section.
|
||||
@@ -22,6 +22,8 @@ Below is the list of people who contributed, directly or indirectly to dupeGuru.
|
||||
|
||||
| **Yuri Petrashko, Ukrainian localization**
|
||||
|
||||
| **Nickolas Pohilets, Ukrainian localization**
|
||||
|
||||
| **Python, Programming language** (`Website <http://www.python.org>`__)
|
||||
| The bestest of the bests
|
||||
|
||||
|
||||
@@ -103,13 +103,21 @@ Frequently Asked Questions
|
||||
|
||||
.. topic:: I tried to send my duplicates to Trash, but dupeGuru is telling me it can't do it. Why? What can I do?
|
||||
|
||||
Most of the time, the reason why dupeGuru can't send files to Trash is because of file permissions. You need *write* permissions on files you want to send to Trash. If you're not familiar with the command line, you can use utilities such as `BatChmod <http://macchampion.com/arbysoft/BatchMod>`_ to fix your permissions.
|
||||
Most of the time, the reason why dupeGuru can't send files to Trash is because of file
|
||||
permissions. You need *write* permissions on files you want to send to Trash. If you're not
|
||||
familiar with the command line, you can use utilities such as `BatChmod`_ to fix your
|
||||
permissions.
|
||||
|
||||
If dupeGuru still gives you troubles after fixing your permissions, there have been some cases where using "Move Marked to..." as a workaround did the trick. So instead of sending your files to Trash, you send them to a temporary folder with the "Move Marked to..." action, and then you delete that temporary folder manually.
|
||||
If dupeGuru still gives you troubles after fixing your permissions, try enabling the "Directly
|
||||
delete files" option that is offered to you when you activate Send to Trash. This will not send
|
||||
files to the Trash, but delete them immediately. In some cases, for example on network storage
|
||||
(NAS), this has been known to work when normal deletion didn't.
|
||||
|
||||
.. only:: edition_pe
|
||||
|
||||
If you're trying to delete *iPhoto* pictures, then the reason for the failure is different. The deletion fails because dupeGuru can't communicate with iPhoto. Be aware that for the deletion to work correctly, you're not supposed to play around iPhoto while dupeGuru is working. Also, sometimes, the Applescript system doesn't seem to know where to find iPhoto to launch it. It might help in these cases to launch iPhoto *before* you send your duplicates to Trash.
|
||||
|
||||
If all of this fail, `contact HS support <http://www.hardcoded.net/support>`_, we'll figure it out.
|
||||
If all of this fail, `contact HS support`_, we'll figure it out.
|
||||
|
||||
.. _BatChmod: http://www.lagentesoft.com/batchmod/index.html
|
||||
.. _contact HS support: http://www.hardcoded.net/support
|
||||
|
||||
@@ -78,21 +78,54 @@ You might notice that not all duplicates in the filtered results will match your
|
||||
Action Menu
|
||||
-----------
|
||||
|
||||
* **Clear Ignore List:** Remove all ignored matches you added. You have to start a new scan for the newly cleared ignore list to be effective.
|
||||
* **Export Results to XHTML:** Take the current results, and create an XHTML file out of it. The columns that are visible when you click on this button will be the columns present in the XHTML file. The file will automatically be opened in your default browser.
|
||||
* **Send Marked to Trash:** Send all marked duplicates to trash, obviously.
|
||||
* **Delete Marked and Replace with Hardlinks:** Sends all marked duplicates to trash, but after having done that, the deleted files are replaced by a `hard link <http://en.wikipedia.org/wiki/Hard_link>`_ to the reference file. (Only for OS X and Linux)
|
||||
* **Move Marked to...:** Prompt you for a destination, and then move all marked files to that destination. Source file's path might be re-created in destination, depending on the "Copy and Move" preference.
|
||||
* **Copy Marked to...:** Prompt you for a destination, and then copy all marked files to that destination. Source file's path might be re-created in destination, depending on the "Copy and Move" preference.
|
||||
* **Remove Marked from Results:** Remove all marked duplicates from results. The actual files will not be touched and will stay where they are.
|
||||
* **Remove Selected from Results:** Remove all selected duplicates from results. Note that all selected reference files will be ignored, only duplicates can be removed with this action.
|
||||
* **Make Selected Reference:** Promote all selected duplicates to reference. If a duplicate is a part of a group having a reference file coming from a reference folder (in blue color), no action will be taken for this duplicate. If more than one duplicate among the same group are selected, only the first of each group will be promoted.
|
||||
* **Add Selected to Ignore List:** This first removes all selected duplicates from results, and then add the match of that duplicate and the current reference in the ignore list. This match will not come up again in further scan. The duplicate itself might come back, but it will be matched with another reference file. You can clear the ignore list with the Clear Ignore List command.
|
||||
* **Open Selected with Default Application:** Open the file with the application associated with selected file's type.
|
||||
* **Clear Ignore List:** Remove all ignored matches you added. You have to start a new scan for the
|
||||
newly cleared ignore list to be effective.
|
||||
* **Export Results to XHTML:** Take the current results, and create an XHTML file out of it. The
|
||||
columns that are visible when you click on this button will be the columns present in the XHTML
|
||||
file. The file will automatically be opened in your default browser.
|
||||
* **Send Marked to Trash:** Send all marked duplicates to trash, obviously. Before proceeding,
|
||||
you'll be presented deletion options (see below).
|
||||
* **Move Marked to...:** Prompt you for a destination, and then move all marked files to that
|
||||
destination. Source file's path might be re-created in destination, depending on the
|
||||
"Copy and Move" preference.
|
||||
* **Copy Marked to...:** Prompt you for a destination, and then copy all marked files to that
|
||||
destination. Source file's path might be re-created in destination, depending on the
|
||||
"Copy and Move" preference.
|
||||
* **Remove Marked from Results:** Remove all marked duplicates from results. The actual files will
|
||||
not be touched and will stay where they are.
|
||||
* **Remove Selected from Results:** Remove all selected duplicates from results. Note that all
|
||||
selected reference files will be ignored, only duplicates can be removed with this action.
|
||||
* **Make Selected Reference:** Promote all selected duplicates to reference. If a duplicate is a
|
||||
part of a group having a reference file coming from a reference folder (in blue color), no action
|
||||
will be taken for this duplicate. If more than one duplicate among the same group are selected,
|
||||
only the first of each group will be promoted.
|
||||
* **Add Selected to Ignore List:** This first removes all selected duplicates from results, and
|
||||
then add the match of that duplicate and the current reference in the ignore list. This match
|
||||
will not come up again in further scan. The duplicate itself might come back, but it will be
|
||||
matched with another reference file. You can clear the ignore list with the Clear Ignore List
|
||||
command.
|
||||
* **Open Selected with Default Application:** Open the file with the application associated with
|
||||
selected file's type.
|
||||
* **Reveal Selected in Finder:** Open the folder containing selected file.
|
||||
* **Invoke Custom Command:** Invokes the external application you've set up in your preferences using the current selection as arguments in the invocation.
|
||||
* **Invoke Custom Command:** Invokes the external application you've set up in your preferences
|
||||
using the current selection as arguments in the invocation.
|
||||
* **Rename Selected:** Prompts you for a new name, and then rename the selected file.
|
||||
|
||||
**Warning about moving files in iPhoto/iTunes:** When using the "Move Marked" action on duplicates
|
||||
that come from iPhoto or iTunes, files are copied, not moved. dupeGuru cannot use the Move action
|
||||
on those files.
|
||||
|
||||
Deletion Options
|
||||
----------------
|
||||
|
||||
These options affect how duplicate deletion takes place. Most of the time, you don't need to enable
|
||||
any of them.
|
||||
|
||||
* **Hardlink deleted files:** The deleted files are replaced by a `hard link`_ to the reference
|
||||
file. (Only for OS X and Linux)
|
||||
* **Directly delete files:** Instead of sending files to trash, directly delete them. This is used
|
||||
for troubleshooting and you normally don't need to enable this unless dupeGuru has problems
|
||||
deleting files normally, something that can happens when you try to delete files on network
|
||||
storage (NAS).
|
||||
|
||||
.. _hard link: http://en.wikipedia.org/wiki/Hard_link
|
||||
@@ -21,6 +21,8 @@ Voici la liste des contributeurs de dupeGuru. Merci!
|
||||
|
||||
| **Yuri Petrashko, localisation ukrainienne**
|
||||
|
||||
| **Nickolas Pohilets, localisation ukrainienne**
|
||||
|
||||
| **Python, Langage de programmation** (`Website <http://www.python.org>`__)
|
||||
| Le meilleur des meilleurs
|
||||
|
||||
|
||||
@@ -113,3 +113,5 @@ Foire aux questions
|
||||
Si vous essayez d'effacer des photos dans iPhoto, alors la raison du problème est différente. L'opération rate parce que dupeGuru ne peut pas communiquer avec iPhoto. Il faut garder à l'esprit qu'il ne faut pas toucher à iPhoto pendant l'opération parce que ça peut déranger la communication entre dupeGuru et iPhoto. Aussi, quelque fois, dupeGuru ne peut pas trouver l'application iPhoto. Il faut mieux alors démarrer iPhoto avant l'opération.
|
||||
|
||||
Dans le pire des cas, `contactez le support HS <http://www.hardcoded.net/support>`_, on trouvera bien.
|
||||
|
||||
.. todo:: This FAQ qestion is outdated, see english version.
|
||||
@@ -94,3 +94,4 @@ Voici la liste des actions qu'il est possible d'appliquer aux résultats.
|
||||
* **Renommer sélectionné:** Renomme le fichier sélectionné après vous avoir demandé d'entrer un nouveau nom.
|
||||
|
||||
.. todo:: Add Move and iPhoto/iTunes warning
|
||||
.. todo:: Add "Deletion Options" section.
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
| **Yuri Petrashko, Ukrainian localization**
|
||||
|
||||
| **Nickolas Pohilets, Ukrainian localization**
|
||||
|
||||
| **Python, Ծրագրավորման լեզուն** (`Վեբ կայքը <http://www.python.org>`__)
|
||||
| Լավագույներից լավագույնը
|
||||
|
||||
|
||||
@@ -111,3 +111,5 @@
|
||||
Եթե Դուք փորձում եք ջնջել *iPhoto* նկարները, ապա ձախողման պատճառը տարբեր է: Ջնջելը ձախողվել է, որովհետև dupeGuru-ը չի կարողանում համագործակցել iPhoto: Լինել տեղեկացված, որ ջնջումը նորմալ է աշխատում, Դուք չեք նախատեսում խաղարկել ձայն iPhoto-ին, քանսզի dupeGuru-ն աշխատում է: Նաև, երբեմն, Applescript համակարգը չի կողմնորոշվում որտեղ փնտրել iPhoto՝ բացելու համար: Հավանական է, այս դեպքերում պետք է բացել iPhoto-ն *մինչև* Դուք ուղարկեք Ձեր կրկնօրինակները Աղբարկղ:
|
||||
|
||||
Եթե այս ամենը ձախողվի, `կապնվեք HS աջակցության թիմի հետ <http://www.hardcoded.net/support>`_, մենք կփորձեք օգնել Ձեզ:
|
||||
|
||||
.. todo:: This FAQ qestion is outdated, see english version.
|
||||
@@ -94,3 +94,4 @@ dupeGuru-ն աջակցում է հետստուգման ֆիլտրում։ Սրա
|
||||
* **Անվանափոխել ընտրվածը.** Ձեզ հարցում կկատարվի նոր անվան համար, ապա ընտրված ֆայլը կանվանափոխվի։
|
||||
|
||||
.. todo:: Add Move and iPhoto/iTunes warning
|
||||
.. todo:: Add "Deletion Options" section.
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
| **Yuri Petrashko, Ukrainian localization**
|
||||
|
||||
| **Nickolas Pohilets, Ukrainian localization**
|
||||
|
||||
| **Python, Язык программирования** (`Веб сайт <http://www.python.org>`__)
|
||||
| Самая лучшая
|
||||
|
||||
|
||||
@@ -113,3 +113,4 @@
|
||||
|
||||
Если все это не так, `контакт с поддержки HS <http://www.hardcoded.net/support>`_, мы поможем Вас.
|
||||
|
||||
.. todo:: This FAQ qestion is outdated, see english version.
|
||||
|
||||
@@ -94,3 +94,4 @@ dupeGuru поддерживает после сканирования, филь
|
||||
* **Переименования выбрано:** Запрашивает новое имя, а затем переименовать выбранный файл.
|
||||
|
||||
.. todo:: Add Move and iPhoto/iTunes warning
|
||||
.. todo:: Add "Deletion Options" section.
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
| **Yuri Petrashko, Ukrainian localization**
|
||||
|
||||
| **Nickolas Pohilets, Ukrainian localization**
|
||||
|
||||
| **Python, Мова програмування** (`Веб-сайт <http://www.python.org>`__)
|
||||
| Кращі рекорди
|
||||
|
||||
|
||||
@@ -113,3 +113,5 @@
|
||||
|
||||
Якщо все це не так, `контакт УГ підтримки <http://www.hardcoded.net/support>`_, ми зрозуміти це.
|
||||
|
||||
.. todo:: This FAQ qestion is outdated, see english version.
|
||||
|
||||
|
||||
@@ -94,3 +94,4 @@ dupeGuru підтримує після сканування, фільтраці
|
||||
* **Перейменування обрано:** Запит нове ім'я, а потім перейменувати вибраний файл.
|
||||
|
||||
.. todo:: Add Move and iPhoto/iTunes warning
|
||||
.. todo:: Add "Deletion Options" section.
|
||||
@@ -3,79 +3,71 @@ msgid ""
|
||||
msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid "You cannot delete, move or copy more than 10 duplicates at once in demo mode."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid "All selected %d matches are going to be ignored in all subsequent scans. Continue?"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:327
|
||||
msgid "You are about to send %d files to Trash (and hardlink them afterwards). Continue?"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr ""
|
||||
|
||||
@@ -95,6 +87,10 @@ msgstr ""
|
||||
msgid "Grouped %d/%d matches"
|
||||
msgstr ""
|
||||
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
|
||||
#: core/gui/ignore_list_dialog.py:24
|
||||
msgid "Do you really want to remove all %d items from the ignore list?"
|
||||
msgstr ""
|
||||
@@ -155,15 +151,15 @@ msgstr ""
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr ""
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr ""
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr ""
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "Shromažďuji prohlížené soubory"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "Vybrané adresáře neobsahují žádné soubory vhodné k prohledávání."
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s (%d vyřazeno)"
|
||||
|
||||
@@ -96,15 +96,15 @@ msgstr "Přiřazuji prioritu skupině"
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "Analyzováno %d/%d snímků"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr "Provedeno %d/%d porovnání bloků"
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "Připravuji porovnávání"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "Ověřeno %d/%d shod"
|
||||
|
||||
@@ -112,31 +112,31 @@ msgstr "Ověřeno %d/%d shod"
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "Nebyli nalezeny žádné duplicity."
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
@@ -148,35 +148,27 @@ msgstr ""
|
||||
msgid "Do you really want to remove all %d items from the ignore list?"
|
||||
msgstr "Opravdu chcete odstranit všech %d položek ze seznamu výjimek?"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr ""
|
||||
"Nedefinoval jste žádný uživatelský příkaz. Nadefinujete ho v předvolbách."
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "Chystáte se z výsledků odstranit %d souborů. Pokračovat?"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
"Chystáte se vyhodit %d souborů do koše (a následně na ně vytvořit "
|
||||
"hardlinky). Pokračovat?"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "Chystáte se vyhodit %d souborů do koše. Pokračovat?"
|
||||
|
||||
@@ -2,55 +2,55 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "Vyhledávám duplicity"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "Nahrávám"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "Přesouvám"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "Kopíruji"
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "Nápověda dupeGuru"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "O aplikaci"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
@@ -87,16 +87,16 @@ msgstr "Okno s výsledky"
|
||||
msgid "Add Folder..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "Soubor"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "Nápověda"
|
||||
@@ -140,7 +140,7 @@ msgstr "Vyberte soubor s výsledky, který chcete nahrát"
|
||||
msgid "All Files (*.*)"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr ""
|
||||
|
||||
@@ -255,19 +255,20 @@ msgstr "Problémy!"
|
||||
msgid "Reveal Selected"
|
||||
msgstr "Ukázat vybrané ve správci souborů"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "Detaily"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "Akce"
|
||||
@@ -286,104 +287,99 @@ msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "Označené nahradit pevnými odkazy"
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Označené přesunout..."
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Označené kopírovat..."
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "Odstranit označené z výsledků"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "Odstranit výběr z výsledků"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Přidat výběr na seznam výjimek"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Výběr jako reference"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "Vybrané otevřít výchozí aplikací"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "Vybrané přejmenovat"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Označit vše"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "Zrušit označení"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "Invertovat označení"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "Označit vybrané"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "Uložit výsledky..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "Spustit vlastní příkaz"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "Sloupce"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "Výchozí nastavení"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "Vyberte soubor pro uložení výsledků"
|
||||
|
||||
@@ -496,16 +492,16 @@ msgstr "EXIF razítko"
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "Porovnávat snímky s různými rozměry"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "Vyčistit cache snímků"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr "Opravdu chcete odstranit veškeré uložené analýzy snímků?"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr "Picture cache cleared."
|
||||
|
||||
@@ -652,6 +648,8 @@ msgstr "Změnit prioritu výsledků"
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
@@ -690,7 +688,7 @@ msgstr "Akce"
|
||||
msgid "Directories"
|
||||
msgstr "Adresáře"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Jen duplicity"
|
||||
|
||||
@@ -789,7 +787,7 @@ msgstr "Odstraňuji mrtvé stopy z Vaší knihovny iTunes"
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "Procházím knihovnu iTunes"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "Vyhazuji kopie do koše"
|
||||
|
||||
@@ -813,13 +811,13 @@ msgstr "'%@' does not exist."
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr "The name '%@' already exists."
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "You have no dead tracks in your iTunes Library"
|
||||
|
||||
@@ -835,36 +833,70 @@ msgstr ""
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "Sammle Dateien zum Scannen"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "Der ausgewählte Ordner enthält keine scannbare Dateien."
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s (%d verworfen)"
|
||||
|
||||
@@ -96,15 +96,15 @@ msgstr "Gruppenpriorisierung"
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "Analysiere %d/%d Bilder"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr "Performed %d/%d chunk matches"
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "Vorbereitung auf den Vergleich"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "%d/%d verifizierte Paare"
|
||||
|
||||
@@ -112,31 +112,31 @@ msgstr "%d/%d verifizierte Paare"
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "Keine Duplikate gefunden."
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
@@ -146,36 +146,28 @@ msgstr "%d Dateien werden in zukünftigen Scans ignoriert werden. Fortfahren?"
|
||||
msgid "Do you really want to remove all %d items from the ignore list?"
|
||||
msgstr "Möchten Sie wirklich alle %d Einträge aus der Ignorier-Liste löschen?"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr ""
|
||||
"Sie haben keinen eigenen Befehl erstellt. Bitte in den Einstellungen "
|
||||
"konfigurieren."
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "%d Dateien werden aus der Ergebnisliste entfernt. Fortfahren?"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr "kopieren"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr "verschieben"
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr "Wählen sie einen Ordner zum {} der ausgewählten Dateien"
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
"%d Dateien werden gelöscht und mit physikalischen Verknüpfungen ersetzt. "
|
||||
"Fortfahren?"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "%d Dateien werden in den Mülleimer zu verschoben. Fortfahren?"
|
||||
|
||||
@@ -2,55 +2,55 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "Suche nach Duplikaten"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "Laden"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "Verschieben"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr "Sende Dateien in den Mülleimer"
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr "Beenden"
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "dupeGuru Hilfe"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "Über dupeGuru"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr "Registriere dupeGuru"
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr "Auf Updates überprüfen"
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr "Debug Log öffnen"
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
@@ -87,16 +87,16 @@ msgstr "Ergebnisfenster"
|
||||
msgid "Add Folder..."
|
||||
msgstr "Ordner hinzufügen..."
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "Ablage"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr "Ansicht"
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "Hilfe"
|
||||
@@ -140,7 +140,7 @@ msgstr "Wählen Sie eine Ergebnisliste zum Laden aus."
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "Alle Dateien (*.*)"
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr "dupeGuru Ergebnisse (*.dupeguru)"
|
||||
|
||||
@@ -264,19 +264,20 @@ msgstr ""
|
||||
msgid "Reveal Selected"
|
||||
msgstr "Zeige Markierte"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "Details"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
@@ -295,104 +296,99 @@ msgstr "Verschiebe Markierte in den Mülleimer"
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "Lösche Markierte und ersetze mit Hardlinks"
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Verschiebe Markierte nach..."
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Kopiere Markierte nach..."
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "Entferne Markierte aus den Ergebnissen"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr "Entferne Ausgewählte aus den Ergebnissen"
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "Entferne Ausgewählte aus den Ergebnissen"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Füge Ausgewählte der Ignorier-Liste hinzu"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Mache Ausgewählte zur Referenz"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "Öffne Ausgewählte mit Standardanwendung"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr "Öffne beeinhaltenden Ordner der Ausgewählten"
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "Ausgewählte umbenennen"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Alles markieren"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "Nichts markieren"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "Markierung invertieren"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "Ausgewählte markieren"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr "Exportiere als HTML"
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "Speichere Ergebnisse..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "Eigenen Befehl ausführen"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr "Auswählen"
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "Spalten"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "Voreinstellungen"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr "{} (Ergebnisse)"
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "Datei zum Speichern der Ergebnisliste auswählen."
|
||||
|
||||
@@ -505,17 +501,17 @@ msgstr "EXIF Timestamp"
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "Vergleiche Bilder mit unterschiedlicher Auflösung"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "Bildzwischenspeicher leeren"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr ""
|
||||
"Möchten Sie wirklich alle zwischengespeicherten Bildanalysen entfernen?"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr "Bildzwischenspeicher geleert."
|
||||
|
||||
@@ -662,6 +658,8 @@ msgstr "Re-Prioritize Results"
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
@@ -690,7 +688,7 @@ msgstr "Action"
|
||||
msgid "Directories"
|
||||
msgstr "Directories"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Dupes Only"
|
||||
|
||||
@@ -789,7 +787,7 @@ msgstr "Entferne tote Stücke aus Ihrer iTunes Bibliothek."
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "Scanne die iTunes Bibiliothek"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "Verschiebe Duplikate in den Mülleimer"
|
||||
|
||||
@@ -813,13 +811,13 @@ msgstr "'%@' does not exist."
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr "The name '%@' already exists."
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "You have no dead tracks in your iTunes Library"
|
||||
|
||||
@@ -835,36 +833,70 @@ msgstr ""
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,27 +2,27 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr "ne peut effacer, déplacer ou copier que 10 doublons à la fois"
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas effacer, déplacer ou copier plus de 10 doublons à la "
|
||||
"fois en mode démo."
|
||||
"Vous ne pouvez pas effacer, déplacer ou copier plus de 10 doublons à la fois"
|
||||
" en mode démo."
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "Collecte des fichiers à scanner"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "Les dossiers sélectionnés ne contiennent pas de fichiers valides."
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s (%d hors-groupe)"
|
||||
|
||||
@@ -98,15 +98,15 @@ msgstr "Prioritization des groupes"
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "Analyzé %d/%d images"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr "%d/%d blocs d'images comparés"
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "Préparation pour la comparaison"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "Vérifié %d/%d paires"
|
||||
|
||||
@@ -114,32 +114,32 @@ msgstr "Vérifié %d/%d paires"
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr "Aucun doublon marqué. Rien à faire."
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr "Aucun doublon sélectionné. Rien à faire."
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "Aucun doublon trouvé."
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr "Tous les fichiers marqués ont été copiés correctement."
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr "Tous les fichiers marqués ont été déplacés correctement."
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr ""
|
||||
"Tous les fichiers marqués ont été correctement envoyés à la corbeille."
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
@@ -151,34 +151,27 @@ msgstr ""
|
||||
"Voulez-vous vider la liste de fichiers ignorés des %d items qu'elle "
|
||||
"contient?"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr ""
|
||||
"Vous n'avez pas de commande personnalisée. Ajoutez-la dans vos préférences."
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "%d fichiers seront retirés des résultats. Continuer?"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr "copier"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr "déplacer"
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr "Sélectionnez un dossier vers lequel {} les fichiers marqués."
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
msgstr ""
|
||||
"%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "%d fichiers seront envoyés à la corbeille. Continuer?"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr "Vous envoyez {} fichier(s) à la corbeille."
|
||||
|
||||
@@ -2,55 +2,55 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "Scan de doublons en cours"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "Chargement en cours"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "Déplacement en cours"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "Copie en cours"
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr "Envoi de fichiers à la corbeille"
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr "Quitter"
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "Aide dupeGuru"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "À propos de dupeGuru"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr "Enregistrer dupeGuru"
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr "Vérifier les mises à jour"
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr "Ouvrir logs de déboguage"
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
@@ -87,16 +87,16 @@ msgstr "Fenêtre de résultats"
|
||||
msgid "Add Folder..."
|
||||
msgstr "Ajouter dossier..."
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "Fichier"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr "Voir"
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
@@ -140,7 +140,7 @@ msgstr "Sélectionnez un fichier résultats à charger"
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "Tout les fichiers (*.*)"
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr "Résultats dupeGuru (*.dupeguru)"
|
||||
|
||||
@@ -266,19 +266,20 @@ msgstr ""
|
||||
msgid "Reveal Selected"
|
||||
msgstr "Révéler Fichier"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "Détails"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
@@ -297,104 +298,99 @@ msgstr "Envoyer marqués à la corbeille"
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "Remplacer marqués par des hardlinks"
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Déplacer marqués vers..."
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Copier marqués vers..."
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "Retirer marqués des résultats"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr "Re-prioriser les résultats"
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "Retirer sélectionnés des résultats"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Ajouter sélectionnés à la liste de fichiers ignorés"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Transformer sélectionnés en références"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "Ouvrir sélectionné avec l'application par défaut"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr "Ouvrir le dossier contenant le fichier sélectionné"
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "Renommer sélectionné"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Tout marquer"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "Tout démarquer"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "Inverser le marquage"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "Marquer sélectionnés"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr "Exporter vers HTML"
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "Sauvegarder résultats..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "Invoquer commande personnalisée"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr "Marquer"
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "Colonnes"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "Réinitialiser"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr "{} (Résultats)"
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "Sélectionnez un fichier résultats dans lequel sauvegarder"
|
||||
|
||||
@@ -507,16 +503,16 @@ msgstr "EXIF Timestamp"
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "Comparer les images de tailles différentes"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "Vider la cache d'images"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr "Voulez-vous vraiment vider la cache de vos analyses précédentes?"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr "La cache des analyses précédentes a été vidée."
|
||||
|
||||
@@ -663,6 +659,8 @@ msgstr "Re-prioriser les résultats"
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
@@ -701,7 +699,7 @@ msgstr "Action"
|
||||
msgid "Directories"
|
||||
msgstr "Dossiers"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Sans réf."
|
||||
|
||||
@@ -800,7 +798,7 @@ msgstr "Retrait des tracks mortes de votre librairie iTunes"
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "Scan de la librairie iTunes en cours"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "Envoi de doublons à la corbeille en cours"
|
||||
|
||||
@@ -824,14 +822,14 @@ msgstr "'%@' n'existe pas."
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr "Le nom '%@' existe déjà."
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"Votre librairie iTunes contient %d tracks mortes qui seront retirées. "
|
||||
"Continuer?"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "Votre librairie iTunes ne contient aucune track morte."
|
||||
|
||||
@@ -847,36 +845,72 @@ msgstr "Non"
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr "Liste de doublons ignorés"
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr "Effacer sélection"
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr "Vider"
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr "Options de suppression"
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr "Remplacer par des \"hardlinks\""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr "Après avoir supprimé un fichier, on remplace celui-ci par un lien "
|
||||
"vers son fichier de référence."
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr "Supprimer les fichiers directement"
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr "Au lieu de passer par la corbeille, supprimer directement. Cette "
|
||||
"option n'est généralement utilisée qu'en cas de problème."
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr "Continuer"
|
||||
|
||||
@@ -13,12 +13,12 @@ msgstr ""
|
||||
"X-Poedit-Language: Armenian\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
"միաժամանակ հնարավոր է ջնջել, տեղափոխել կամ պատճենել միայն 10 օրինակներ"
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
@@ -26,15 +26,15 @@ msgstr ""
|
||||
"Չեք կարող ջնջել, տեղափձոխել կամ պատճենել ավելի քան 10 օրինակներ փորձնական "
|
||||
"եղանակում:"
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "Հավաքվում են ֆայլեր՝ ստուգելու համար"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "Ընտրված թղթապանակները պարունակում են չստուգվող ֆայլ:"
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s (%d անպիտան)"
|
||||
|
||||
@@ -110,15 +110,15 @@ msgstr "Խմբի առաջնայնացում"
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "Ստուգվում է %d/%d նկարները"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr "Կատարվում է %d/%d տվյալի համընկնում"
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "Նախապատրաստեցվում է համընկնումը"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "Ստուգում է %d/%d համընկնումները"
|
||||
|
||||
@@ -126,31 +126,31 @@ msgstr "Ստուգում է %d/%d համընկնումները"
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr "Կարդալ EXIF-ը d/%d նկարներից"
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "Կրկնօրինակներ չկան:"
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr "Բոլոր նշված ֆայլերը հաջողությամբ պատճենվել են:"
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr "Բոլոր նշված ֆայլերը հաջողությամբ տեղափոխվել են:"
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr "Բոլոր նշված ֆայլերը հաջողությամբ Ջնջվել են:"
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
@@ -161,32 +161,26 @@ msgstr ""
|
||||
msgid "Do you really want to remove all %d items from the ignore list?"
|
||||
msgstr "Ցանկանու՞մ եք հեռացնել բոլոր %d ֆայլերը անտեսումների ցանկից:"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr "Դուք չեք կատարել Հրամանի ընտրություն: Կատարեք այն կարգավորումներում:"
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "Դուք պատրաստվում եք ջնջելու %d ֆայլեր: Շարունակե՞լ:"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr "պատճենել"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr "տեղափոխել"
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr "Ընտրել թղթապանակ՝ {} նշված ֆայլերի համար"
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
msgstr "Դուք ուղարկում եք %d ֆայլերը Աղբարկղ: Շարունակե՞լ:"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "%d ֆայլերը տեղափոխվելու են Աղբարկղ: Շարունակե՞լ:"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
|
||||
@@ -13,19 +13,19 @@ msgstr ""
|
||||
"X-Poedit-Language: Armenian\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "Ստուգվում են կրկնօրինակները"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "Բացվում է"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "Տեղափոխվում է"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "Պատճենվում է"
|
||||
|
||||
@@ -41,7 +41,7 @@ msgstr "Հեռացվում են վնասված շավիղները iTunes-ի Շտ
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "Ստուգվում է iTunes-ի Շտեմարանը"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "Խաբկանքները տեղափոխվում են Աղբարկղ"
|
||||
|
||||
@@ -53,39 +53,39 @@ msgstr "Զրույց iPhoto-ի հետ: Մի կպեք! "
|
||||
msgid "The iPhoto application couldn't be found."
|
||||
msgstr "iPhoto ծրագիրը չի գտնվել:"
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr "Ֆայլերը ուղարկվում են Աղբարկղ"
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr "Փակել"
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr "Կարգավորումներ"
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "dupeGuru-ի Օգնությունը"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "dupeGuru-ի մասին"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr "Գրանցել dupeGuru-ն"
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr "Ստուգել թարմացումները"
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr "Բացել Սխալների մատյանը"
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
@@ -122,16 +122,16 @@ msgstr "Արդյունքի պատուհանը"
|
||||
msgid "Add Folder..."
|
||||
msgstr "Ավելացնել թղթապանակ..."
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "Ֆայլ"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr "Տեսքը"
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "Օգնություն"
|
||||
@@ -175,7 +175,7 @@ msgstr "Ընտրեք արդյունքի ֆայլը՝ բացելու համար"
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "Բոլոր ֆայլերը (*.*)"
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr "dupeGuru-ի արդյունքները (*.dupeguru)"
|
||||
|
||||
@@ -299,19 +299,20 @@ msgstr ""
|
||||
msgid "Reveal Selected"
|
||||
msgstr "Ցուցադրել ընտրվածը"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "Փակել"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "Մանրամասն"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "Գործողություններ"
|
||||
@@ -330,104 +331,99 @@ msgstr "Ուղարկել նշվածները Աղբարկղ"
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "Ջնջել նշված և փոխարինված ըստ ձեռադրի"
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Տեղափ. նշվածը՝"
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Պատճ. նշվածը՝"
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "Հեռացնել նշվածները ցանկից"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr "Վերաառաջնայնավորել արդյունքները..."
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "ՀԵռացնել ընտրվածը արդյունքներից"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Ավելացնել ընտրվածը Անտեսումների ցանկ"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Նշել ընտրվածի հղումը"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "Բացել ընտրվածը Հիմնական ծրագրով"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr "Բացել ընտրվածը պարունակող թղթապանակը"
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "Անվանափոխել ընտրվածը"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Նշել բոլորը"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "Ոչինչ չնշել"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "Ետարկել նշումը"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "Նշել ընտրվածը"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr "Արտածել HTML-ով"
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "Պահպանել արդյունքները..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "Անտեսել Հրամանի կատարումը"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr "Նշել"
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "Սյուները"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "Ետարկել ծրագրայինի"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr "{} Արդյունքներ"
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "Ընտրեք ֆայլը՝ պահպանելու արդյունքները՝"
|
||||
|
||||
@@ -540,16 +536,16 @@ msgstr "EXIF Timestamp"
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "Նկարների համընկնում տարբեր չափերով"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "Մաքրել նկարի պահոցը"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr "Ցանկանու՞մ եք հեռացնել բոլոր պահված նկարները ստուգելուց:"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr "Նկարի պահոցը մաքրվել է:"
|
||||
|
||||
@@ -594,14 +590,14 @@ msgstr "'%@'-ը գոյություն չունի:"
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr "'%@' անունը արդեն առկա է:"
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"Ձեր iTunes- Շտեմարանը պարունակում է %d մահացած շավիղներ, որոնք կարող են "
|
||||
"ջնջվել: Շարունակե՞լ:"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "Դուք չունեք շավիղներ Ձեր iTunes Շտեմարանում"
|
||||
|
||||
@@ -731,6 +727,8 @@ msgstr "Վերաառաջնայնավորել արդյունքները"
|
||||
msgid "Ok"
|
||||
msgstr "ԼԱՎ"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Չեղարկել"
|
||||
@@ -759,7 +757,7 @@ msgstr "Գործողությունը"
|
||||
msgid "Directories"
|
||||
msgstr "Թղթապանակներ"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Միայն կրկ."
|
||||
|
||||
@@ -846,36 +844,70 @@ msgstr "Ջնջել դատարկ թղթապանակները ջնջելուց կա
|
||||
msgid "dupeGuru PE Preferences"
|
||||
msgstr "dupeGuru PE կարգավորումները"
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "Raccolta file da scansionare"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "Le cartelle selezionate non contengono file da scansionare."
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s (%d scartati)"
|
||||
|
||||
@@ -97,15 +97,15 @@ msgstr "Applicazione delle priorità di gruppo"
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "Analizzate %d/%d immagini"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr "Effettuate %d/%d comparazioni sui sottogruppi di immagini"
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "Preparazione per la comparazione"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "Verificate %d/%d somiglianze"
|
||||
|
||||
@@ -113,31 +113,31 @@ msgstr "Verificate %d/%d somiglianze"
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "Non sono stati trovati dei duplicati."
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr "Tutti i file marcati sono stati copiati correttamente."
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr "Tutti i file marcati sono stati spostati correttamente."
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr "Tutti i file marcati sono stati inviati nel cestino."
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
@@ -151,35 +151,28 @@ msgstr ""
|
||||
"Vuoi veramente rimuovere tutti i %d elementi dalla lista dei file da "
|
||||
"ignorare?"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr ""
|
||||
"Non hai impostato nessun comando personalizzato. Impostalo nelle tue "
|
||||
"preferenze."
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "Stai per rimuovere %d file dai risultati. Continuare?"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
"Stai per inviare %d file nel cestino (compresi gli hardlink). Continuare?"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "Stai per inviare %d file nel cestino. Continuare?"
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "Scansione per i duplicati"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "Caricamento"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "Spostamento"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "Copia in corso"
|
||||
|
||||
@@ -30,7 +30,7 @@ msgstr "Rimozione delle tracce insistenti dalla libreria di iTunes"
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "Scansione della libreria di iTunes"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "Spostamento dei duplicati nel cestino"
|
||||
|
||||
@@ -42,39 +42,39 @@ msgstr ""
|
||||
msgid "The iPhoto application couldn't be found."
|
||||
msgstr "Non trovo l'applicazione iPhoto."
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "Aiuto di dupeGuru"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "Informazioni su dupeGuru"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
@@ -111,16 +111,16 @@ msgstr "Finestra dei risultati"
|
||||
msgid "Add Folder..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "File"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "Aiuto"
|
||||
@@ -166,7 +166,7 @@ msgstr "Seleziona un risultato (file) da caricare"
|
||||
msgid "All Files (*.*)"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr ""
|
||||
|
||||
@@ -292,19 +292,20 @@ msgstr ""
|
||||
msgid "Reveal Selected"
|
||||
msgstr "Mostra i selezionati"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "Dettagli"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "Azioni"
|
||||
@@ -323,104 +324,99 @@ msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "Cancella gli elementi marcati e sostituiscili con degli Hardlinks"
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Sposta gli elementi marcati nel..."
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Copia gli elementi evidenziati nel..."
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "Rimuovi gli elementi marcati dai risultati"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "Rimuovi gli elementi selezionati dai risultati"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Aggiungi gli elementi selezionati alla lista da ignorare"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Imposta gli elementi selezionati come riferimento"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "Apri gli elementi selezionati con l'applicazione predefinita"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "Rinomina gli elementi selezionati"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Marca tutti"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "Deseleziona tutti"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "Inverti la selezione"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "Marca i selezionati"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "Salva i risultati..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "Invoca comando personalizzato"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "Colonne"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "Ripristina impostazioni predefinite"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "Seleziona un file dove salvare i tuoi risultati"
|
||||
|
||||
@@ -533,18 +529,18 @@ msgstr "Data e ora EXIF"
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "Includi immagini di dimensione differente"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "Cancella la cache delle immagini"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr ""
|
||||
"Vuoi veramente rimuovere tutte le analisi delle immagini memorizzate nella "
|
||||
"cache?"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr ""
|
||||
|
||||
@@ -691,6 +687,8 @@ msgstr "Cambia la priorità dei risultati"
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Cancella"
|
||||
@@ -729,7 +727,7 @@ msgstr "Azione"
|
||||
msgid "Directories"
|
||||
msgstr "Cartelle"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Solo duplicati"
|
||||
|
||||
@@ -829,14 +827,14 @@ msgstr "'%@' non esiste."
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr "Il nome '%@' è già esistente."
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"La tua libreria di iTunes contiene %d tracce inesistenti pronte per essere "
|
||||
"rimosse. Continuare?"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "La tua libreria di iTunes non contiene tracce inesistenti"
|
||||
|
||||
@@ -852,36 +850,70 @@ msgstr "No"
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
@@ -12,12 +12,12 @@ msgstr ""
|
||||
"X-Poedit-Country: RUSSIAN FEDERATION\n"
|
||||
"X-Poedit-Language: Russian\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
"сможете только для удаления, перемещения или копирования 10 копий сразу"
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
@@ -25,15 +25,15 @@ msgstr ""
|
||||
"Вы не можете удалять, перемещать или копировать более 10 дубликатов сразу в "
|
||||
"демонстрационном режиме."
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "Сбор файлов для сканирования"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "Выбранных директорий не содержат сканируемых файлов."
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s. (%d отменено)"
|
||||
|
||||
@@ -109,15 +109,15 @@ msgstr "Делая группы приоритетов"
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "Анализируется %d/%d фотографии"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr "Исполняет %d/%d совпадениях кусоков"
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "Подготовка для сравнения"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "Проверенные %d/%d совпадениях"
|
||||
|
||||
@@ -125,31 +125,31 @@ msgstr "Проверенные %d/%d совпадениях"
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr "Прочитано EXIF %d/%d из фотографии"
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "Дубликаты не найдены."
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr "Все выбранные файлы были скопированы успешно."
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr "Все выбранные файлы были перемещены успешно."
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr "Все выбранные файлы были успешно отправлены в корзину."
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
@@ -161,36 +161,28 @@ msgstr ""
|
||||
msgid "Do you really want to remove all %d items from the ignore list?"
|
||||
msgstr "Вы действительно хотите удалить все элементы %d из черного списка?"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr ""
|
||||
"У вас нет пользовательской команды создали. Установите его в ваших "
|
||||
"предпочтениях."
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "Вы собираетесь удалить файлы %d из результата поиска. Продолжить?"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr "копия"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr "перемещение"
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr "Выберите каталог на {} отмеченные файлы"
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
"Вы собираетесь отправить%d файлы в корзину (и жесткую них позже). "
|
||||
"Продолжить?"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "Вы собираетесь отправить %d файлы в корзину. Продолжить?"
|
||||
|
||||
@@ -12,19 +12,19 @@ msgstr ""
|
||||
"X-Poedit-Country: RUSSIAN FEDERATION\n"
|
||||
"X-Poedit-Language: Russian\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "Проверка на наличие дубликатов"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "Загрузка"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "Перемещение"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "Копирование"
|
||||
|
||||
@@ -40,7 +40,7 @@ msgstr "Удаление мертвых треков из вашей библи
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "Сканирование ITunes библиотеки"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "Отправка обманов в корзину"
|
||||
|
||||
@@ -52,39 +52,39 @@ msgstr "В контакте с iPhoto. Не трогайте!"
|
||||
msgid "The iPhoto application couldn't be found."
|
||||
msgstr "iPhoto приложение не может быть найдено."
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr "Отправка файлов в корзину"
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr "Выход"
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr "Предпочтения"
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "Справка dupeGuru"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "О dupeGuru"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr "Регистрация dupeGuru"
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr "Проверить обновления"
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr "Открыть журнал Debug"
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
@@ -121,16 +121,16 @@ msgstr "Окно результатов"
|
||||
msgid "Add Folder..."
|
||||
msgstr "Добавить папку ..."
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "Файл"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr "Вид"
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "Помощь"
|
||||
@@ -174,7 +174,7 @@ msgstr "Выберите файл результатов для загрузки
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "Все файлы (*.*)"
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr "dupeGuru результаты (*. dupeguru)"
|
||||
|
||||
@@ -302,19 +302,20 @@ msgstr ""
|
||||
msgid "Reveal Selected"
|
||||
msgstr "Показать выбранное"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "Закрывать"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "Детали"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "Действия"
|
||||
@@ -333,104 +334,99 @@ msgstr "Отправить Помечено в Корзину"
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "Удалить Помеченные и заменить с Жестким"
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Перемещение Помечено в ..."
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Скопировть Помечено в ..."
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "Удалить Помеченные от результатов"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr "Изменить приоритеты Результатов ..."
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "Удалить выбранные из результатов"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Добавить выбранные в черный список"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Сделать выбранной ссылки"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "Открыть выбранный с приложений по умолчанию"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr "Открыть содержащую папку выборных "
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "Переименовать выбранное"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Отметить все"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "Не отметить"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "Обратить Маркировку"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "Отметить Выбранные"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr "Экспорт в HTML"
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "Сохранить результаты ..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "Вызвать специальную команду"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr "Отметить"
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "Колонны"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "Восстановить значения по умолчанию"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr "{} Результаты"
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "Выберите файл, чтобы сохранить ваши результаты"
|
||||
|
||||
@@ -543,16 +539,16 @@ msgstr "EXIF Timestamp"
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "Совпадения рисунков разных размеров"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "Очистить кэш фото"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr "Вы действительно хотите удалить все кэшированные анализ картины?"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr "Кэш-память изображений очищается."
|
||||
|
||||
@@ -597,14 +593,14 @@ msgstr "'%@' не существует."
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr " Имя '%@' уже существует."
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"Ваш ITunes библиотека содержит %d мертвых треков готовы быть удалены. "
|
||||
"Продолжить?"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "У вас нет мертвых треков в вашей библиотеке ITunes"
|
||||
|
||||
@@ -734,6 +730,8 @@ msgstr "Изменить приоритеты Результатов"
|
||||
msgid "Ok"
|
||||
msgstr "ОК"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
@@ -762,7 +760,7 @@ msgstr "Действие"
|
||||
msgid "Directories"
|
||||
msgstr "Каталоги"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Только обманки"
|
||||
|
||||
@@ -849,36 +847,70 @@ msgstr "Удалить пустые папки после удаления и п
|
||||
msgid "dupeGuru PE Preferences"
|
||||
msgstr "dupeGuru PE предпочтения"
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
170
locale/ui.pot
170
locale/ui.pot
@@ -2,19 +2,19 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr ""
|
||||
|
||||
@@ -30,30 +30,30 @@ msgstr ""
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
@@ -65,50 +65,90 @@ msgstr ""
|
||||
msgid "The iPhoto application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/details_table.py:16 cocoa/base/en.lproj/DetailsPanel.strings:0
|
||||
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
|
||||
msgid "Attribute"
|
||||
@@ -138,16 +178,16 @@ msgstr ""
|
||||
msgid "Add Folder..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
@@ -191,7 +231,7 @@ msgstr ""
|
||||
msgid "All Files (*.*)"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr ""
|
||||
|
||||
@@ -223,16 +263,22 @@ msgstr ""
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/preferences_dialog.py:37
|
||||
msgid "Scan Type:"
|
||||
msgstr ""
|
||||
@@ -320,19 +366,14 @@ msgstr ""
|
||||
msgid "Reveal Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@@ -351,112 +392,107 @@ msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgid "Move Marked to..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgid "Copy Marked to..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr ""
|
||||
|
||||
@@ -569,16 +605,16 @@ msgstr ""
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr ""
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr ""
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr ""
|
||||
|
||||
@@ -749,10 +785,6 @@ msgstr ""
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "dupeGuru Results"
|
||||
msgstr ""
|
||||
|
||||
@@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: Ukrainian\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Last-Translator: Nickolas Pohilets <pohilets@gmail.com>\n"
|
||||
"Language-Team: Yuri Petrashko <Petrashko@mail.ua>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -24,7 +24,7 @@ msgstr "Повідомлення про помилку"
|
||||
#: core/prioritize.py:63 core_me/result_table.py:24 core_pe/result_table.py:21
|
||||
#: core_se/result_table.py:21
|
||||
msgid "Kind"
|
||||
msgstr "Вид"
|
||||
msgstr "Тип"
|
||||
|
||||
#: core/prioritize.py:72 core_me/result_table.py:19 core_pe/result_table.py:19
|
||||
#: core_se/result_table.py:19
|
||||
@@ -34,7 +34,7 @@ msgstr "Папка"
|
||||
#: core/prioritize.py:88 core_me/result_table.py:18 core_pe/result_table.py:18
|
||||
#: core_se/result_table.py:18
|
||||
msgid "Filename"
|
||||
msgstr "Файл"
|
||||
msgstr "Ім’я файлу"
|
||||
|
||||
#: core/prioritize.py:132
|
||||
msgid "Size"
|
||||
@@ -43,7 +43,7 @@ msgstr "Розмір"
|
||||
#: core/prioritize.py:138 core_me/result_table.py:25
|
||||
#: core_pe/result_table.py:23 core_se/result_table.py:22
|
||||
msgid "Modification"
|
||||
msgstr "Модифікація"
|
||||
msgstr "Дата модифікації"
|
||||
|
||||
#: core_me/prioritize.py:16
|
||||
msgid "Duration"
|
||||
@@ -75,7 +75,7 @@ msgstr "Назва"
|
||||
|
||||
#: core_me/result_table.py:27
|
||||
msgid "Artist"
|
||||
msgstr "Назва художник"
|
||||
msgstr "Виконавець"
|
||||
|
||||
#: core_me/result_table.py:28
|
||||
msgid "Album"
|
||||
@@ -100,20 +100,20 @@ msgstr "Коментар"
|
||||
#: core_me/result_table.py:33 core_pe/result_table.py:24
|
||||
#: core_se/result_table.py:23
|
||||
msgid "Match %"
|
||||
msgstr "Збігатися %"
|
||||
msgstr "Збіг (%)"
|
||||
|
||||
#: core_me/result_table.py:34 core_se/result_table.py:24
|
||||
msgid "Words Used"
|
||||
msgstr "Сслів, що використовуються"
|
||||
msgstr "Використані слова"
|
||||
|
||||
#: core_me/result_table.py:35 core_pe/result_table.py:25
|
||||
#: core_se/result_table.py:25
|
||||
msgid "Dupe Count"
|
||||
msgstr "Dupe графа"
|
||||
msgstr "Кількість дублікатів"
|
||||
|
||||
#: core_pe/prioritize.py:16 core_pe/result_table.py:22
|
||||
msgid "Dimensions"
|
||||
msgstr "Розміри"
|
||||
msgstr "Виміри"
|
||||
|
||||
#: core_pe/result_table.py:20 core_se/result_table.py:20
|
||||
msgid "Size (KB)"
|
||||
|
||||
@@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: Ukrainian\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Last-Translator: Nickolas Pohilets <pohilets@gmail.com>\n"
|
||||
"Language-Team: YuriPetrashko <Petrashko@mail.ua>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -12,12 +12,11 @@ msgstr ""
|
||||
"X-Poedit-Country: UKRAINE\n"
|
||||
"X-Poedit-Language: Ukrainian\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
"зможете тільки для видалення, переміщення або копіювання 10 копій відразу"
|
||||
msgstr "може видаляти, переміщувати або копіювати лише 10 копій відразу"
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
@@ -25,25 +24,25 @@ msgstr ""
|
||||
"Ви не можете видаляти, переміщати або копіювати більше 10 дублікатів відразу"
|
||||
" в демонстраційному режимі."
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "Збір файлів для сканування"
|
||||
msgstr "Збір файлів для пошуку"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "Вибраних директорій не містять сканованих файлів."
|
||||
msgstr "Обрані папки не містять файлів придатних для пошуку."
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s (%d відкидаються)"
|
||||
msgstr "%s (%d відкинуто)"
|
||||
|
||||
#: core/engine.py:178 core/engine.py:215
|
||||
msgid "0 matches found"
|
||||
msgstr "0 зіставлень знайдено"
|
||||
msgstr "0 результатів знайдено"
|
||||
|
||||
#: core/engine.py:196 core/engine.py:223
|
||||
msgid "%d matches found"
|
||||
msgstr "%d знайдено"
|
||||
msgstr "%d результатів знайдено"
|
||||
|
||||
#: core/engine.py:208 core/scanner.py:80
|
||||
msgid "Read size of %d/%d files"
|
||||
@@ -51,7 +50,7 @@ msgstr "Прочитано розмір %d/%d файлів"
|
||||
|
||||
#: core/engine.py:355
|
||||
msgid "Grouped %d/%d matches"
|
||||
msgstr "Угруповання %d/%d матчів"
|
||||
msgstr "Згруповано %d/%d результатів"
|
||||
|
||||
#: core/prioritize.py:68
|
||||
msgid "None"
|
||||
@@ -59,31 +58,35 @@ msgstr "Жоден"
|
||||
|
||||
#: core/prioritize.py:94
|
||||
msgid "Ends with number"
|
||||
msgstr "Закінчується номер"
|
||||
msgstr "Закінчується номером"
|
||||
|
||||
#: core/prioritize.py:96
|
||||
msgid "Doesn't end with number"
|
||||
msgstr "Не закінчується з номером"
|
||||
msgstr "Не закінчується номером"
|
||||
|
||||
#: core/prioritize.py:117
|
||||
#, fuzzy
|
||||
msgid "Highest"
|
||||
msgstr "Найвищий"
|
||||
|
||||
#: core/prioritize.py:117
|
||||
#, fuzzy
|
||||
msgid "Lowest"
|
||||
msgstr "Найнижча"
|
||||
msgstr "Найнижчий"
|
||||
|
||||
#: core/prioritize.py:144
|
||||
#, fuzzy
|
||||
msgid "Newest"
|
||||
msgstr "Новітній"
|
||||
msgstr "Найновіший"
|
||||
|
||||
#: core/prioritize.py:144
|
||||
#, fuzzy
|
||||
msgid "Oldest"
|
||||
msgstr "Найстарші"
|
||||
msgstr "Найстарший"
|
||||
|
||||
#: core/results.py:113
|
||||
msgid "%d / %d (%s / %s) duplicates marked."
|
||||
msgstr "%d / %d (%s / %s) дублікати позначені."
|
||||
msgstr "%d / %d (%s / %s) дублікатів позначено."
|
||||
|
||||
#: core/results.py:120
|
||||
msgid " filter: %s"
|
||||
@@ -91,106 +94,96 @@ msgstr "фільтр: %s"
|
||||
|
||||
#: core/scanner.py:100
|
||||
msgid "Read metadata of %d/%d files"
|
||||
msgstr "Прочитано метаданих %d/%d файли"
|
||||
msgstr "Прочитано метаданих з %d/%d файлів"
|
||||
|
||||
#: core/scanner.py:131
|
||||
msgid "Removing false matches"
|
||||
msgstr "Видалення помилкових матчів"
|
||||
msgstr "Видалення помилкових результатів"
|
||||
|
||||
#: core/scanner.py:149
|
||||
msgid "Processed %d/%d matches against the ignore list"
|
||||
msgstr "Опрацьовано %d/%d матчів проти ігнор-лист"
|
||||
msgstr "Порівняно %d/%d результатів з чорним списком"
|
||||
|
||||
#: core/scanner.py:171
|
||||
msgid "Doing group prioritization"
|
||||
msgstr "Роблячи групи пріоритетів"
|
||||
msgstr "Виконується пріорітизація груп"
|
||||
|
||||
#: core_pe/matchblock.py:60
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "Аналізується %d/%d фотографії"
|
||||
msgstr "Проаналізовано %d/%d фотографій"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr "Виконує %d/%d матчів шматок"
|
||||
msgstr "Виконано %d/%d порівнянь шматків"
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "Підготовка для порівняння"
|
||||
msgstr "Підготовка до порівняння"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "Перевірені %d/%d матчів"
|
||||
msgstr "Перевірено %d/%d результатів"
|
||||
|
||||
#: core_pe/matchexif.py:21
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr "Прочитано EXIF %d/%d фотографії"
|
||||
msgstr "Прочитано EXIF з %d/%d фотографій"
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
msgstr "Немає позначених дублікатів - нічого робити."
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
msgstr "Немає обраних дублікатів - нічого робити."
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "Ні дублікати знайдені."
|
||||
msgstr "Не знайдено жодного дублікату."
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr "Всі вибрані файли були скопійовані успішно."
|
||||
msgstr "Усі позначені файли були скопійовані успішно."
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr "Всі вибрані файли були переміщені успішно."
|
||||
msgstr "Усі позначені файли були переміщені успішно."
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr "Всі вибрані файли були успішно відправлені в корзину."
|
||||
msgstr "Усі позначені файли були успішно відправлені до кошика."
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
msgstr ""
|
||||
"Всі вибрані %d матчів будуть ігноруватися у всіх наступних перевірок. "
|
||||
"Продовжити?"
|
||||
"Усі обрані %d результатів будуть ігноруватися під час усіх наступних "
|
||||
"пошуків. Продовжити?"
|
||||
|
||||
#: core/gui/ignore_list_dialog.py:24
|
||||
msgid "Do you really want to remove all %d items from the ignore list?"
|
||||
msgstr "Ви дійсно хочете видалити всі елементи %d з чорного списку?"
|
||||
msgstr "Ви дійсно хочете видалити всі %d елементів з чорного списку?"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr ""
|
||||
"У вас немає користувальницької команди створили. Встановіть його в ваші "
|
||||
"уподобання."
|
||||
msgstr "Власна команда не встановлена. Встановіть її у налаштуваннях."
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "Ви збираєтеся видалити файли %d результату пошуку. Продовжити?"
|
||||
msgstr "Ви збираєтеся видалити %d файлів з результату пошуку. Продовжити?"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr "копія"
|
||||
msgstr "копіювання"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr "переміщати"
|
||||
msgstr "переміщення"
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr "Виберіть каталог на {} відмічені файли"
|
||||
msgstr "Оберіть цільову папку для {} позначених файлів"
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
"Ви збираєтеся відправити %d файли до кошика (і жорстку них пізніше). "
|
||||
"Продовжити?"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "Ви збираєтеся відправити %d файли в корзину. Продовжити?"
|
||||
|
||||
@@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: Ukrainian\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Last-Translator: Nickolas Pohilets <pohilets@gmail.com>\n"
|
||||
"Language-Team: YuriPetrashko <Petrashko@mail.ua>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -12,85 +12,85 @@ msgstr ""
|
||||
"X-Poedit-Country: UKRAINE\n"
|
||||
"X-Poedit-Language: Ukrainian\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "Перевірка на наявність дублікатів"
|
||||
msgstr "Пошук дублікатів"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "Навантаження"
|
||||
msgstr "Завантаження"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "Переміщення"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "Копіювання"
|
||||
|
||||
#: cocoa/inter/app.py:19
|
||||
msgid "Sending to Trash"
|
||||
msgstr "Отправка в корзину"
|
||||
msgstr "Відправка до кошику"
|
||||
|
||||
#: cocoa/inter/app_me.py:33
|
||||
msgid "Removing dead tracks from your iTunes Library"
|
||||
msgstr "Видалення мертвих треки з вашої бібліотеки iTunes Library "
|
||||
msgstr "Видалення мертвих треків з вашої бібліотеки iTunes "
|
||||
|
||||
#: cocoa/inter/app_me.py:34
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "Сканування ITunes Library"
|
||||
msgstr "Сканування бібліотеки iTunes"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "Відправлення ошуканих в кошик"
|
||||
msgstr "Відправлення дублікатів до кошика"
|
||||
|
||||
#: cocoa/inter/app_pe.py:146
|
||||
msgid "Talking to iPhoto. Don't touch it!"
|
||||
msgstr "У бесіді з iPhoto. Не чіпайте його!"
|
||||
msgstr "Виконується взаємодія з програмою iPhoto. Не чіпайте її!"
|
||||
|
||||
#: cocoa/inter/app_pe.py:201
|
||||
msgid "The iPhoto application couldn't be found."
|
||||
msgstr "iPhoto програма не може бути знайдене."
|
||||
msgstr "Не вдалося знайти програму iPhoto."
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr "Відправлення файлів до кошика"
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr "Вихід"
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr "Уподобання"
|
||||
msgstr "Налаштування"
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "dupeGuru Довідка"
|
||||
msgstr "Довідка dupeGuru"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "Про dupeGuru"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr "Реєстрація dupeGuru"
|
||||
msgstr "Зареєструвати dupeGuru"
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr "Перевірити оновлення"
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr "Відкрити журнал Debug"
|
||||
msgstr "Відкрити журнал налагодження"
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
msgstr ""
|
||||
"Попереднє дію до сих пір висить там. Ви не можете створити нову ще. "
|
||||
"Зачекайте кілька секунд, потім повторіть спробу."
|
||||
"Попередню дію ще не закінчено. Ви покищо не можете розпочаті нову. Зачекайте"
|
||||
" кілька секунд, потім повторіть спробу."
|
||||
|
||||
#: qt/base/details_table.py:16 cocoa/base/en.lproj/DetailsPanel.strings:0
|
||||
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
|
||||
@@ -111,7 +111,7 @@ msgstr "Посилання"
|
||||
|
||||
#: qt/base/directories_dialog.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Load Results..."
|
||||
msgstr "Результати навантаження ..."
|
||||
msgstr "Завантажити результати ..."
|
||||
|
||||
#: qt/base/directories_dialog.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Results Window"
|
||||
@@ -121,38 +121,38 @@ msgstr "Вікно результатів"
|
||||
msgid "Add Folder..."
|
||||
msgstr "Додати папку ..."
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "Файл"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr "Вид"
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "Допомога"
|
||||
|
||||
#: qt/base/directories_dialog.py:73 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Load Recent Results"
|
||||
msgstr "Навантаження Останні результати"
|
||||
msgstr "Завантажити нещодавні результати"
|
||||
|
||||
#: qt/base/directories_dialog.py:108
|
||||
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
|
||||
msgid "Select folders to scan and press \"Scan\"."
|
||||
msgstr "Вибір папок для сканування і натисніть \"Scan\"."
|
||||
msgstr "Оберіть папки для пошуку і натисніть \"Шукати\"."
|
||||
|
||||
#: qt/base/directories_dialog.py:132
|
||||
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
|
||||
msgid "Load Results"
|
||||
msgstr "Навантаження Результати"
|
||||
msgstr "Завантажити результати"
|
||||
|
||||
#: qt/base/directories_dialog.py:135
|
||||
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
|
||||
msgid "Scan"
|
||||
msgstr "Сканування"
|
||||
msgstr "Шукати"
|
||||
|
||||
#: qt/base/directories_dialog.py:179
|
||||
msgid "Unsaved results"
|
||||
@@ -160,11 +160,11 @@ msgstr "Незбережені результати"
|
||||
|
||||
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have unsaved results, do you really want to quit?"
|
||||
msgstr "Ви зробили якісь результати, ви дійсно хочете вийти?"
|
||||
msgstr "Ви маєте незбережені результати, ви дійсно хочете вийти?"
|
||||
|
||||
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a folder to add to the scanning list"
|
||||
msgstr "Виберіть папку для додавання в список сканування"
|
||||
msgstr "Оберіть папку для додання в список пошуку"
|
||||
|
||||
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a results file to load"
|
||||
@@ -174,27 +174,27 @@ msgstr "Виберіть файл результатів для завантаж
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "Всі файли (*.*)"
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr "dupeGuru Результати (*.dupeguru) "
|
||||
msgstr "Результати dupeGuru (*.dupeguru) "
|
||||
|
||||
#: qt/base/directories_dialog.py:217
|
||||
msgid "Start a new scan"
|
||||
msgstr "Почати нову перевірку"
|
||||
msgstr "Почати новий пошук"
|
||||
|
||||
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have unsaved results, do you really want to continue?"
|
||||
msgstr "Ви зробили якісь результати, ви дійсно хочете продовжити?"
|
||||
msgstr "Ви маєте незбережені результати, ви дійсно хочете продовжити?"
|
||||
|
||||
#: qt/base/directories_model.py:20
|
||||
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
|
||||
msgid "Name"
|
||||
msgstr "ім'я"
|
||||
msgstr "Ім'я"
|
||||
|
||||
#: qt/base/directories_model.py:20
|
||||
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
|
||||
msgid "State"
|
||||
msgstr "Положення"
|
||||
msgstr "Стан"
|
||||
|
||||
#: qt/base/directories_model.py:21
|
||||
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
|
||||
@@ -208,15 +208,15 @@ msgstr "Нормальний"
|
||||
|
||||
#: qt/base/preferences_dialog.py:37
|
||||
msgid "Scan Type:"
|
||||
msgstr "Тип сканування:"
|
||||
msgstr "Тип пошуку:"
|
||||
|
||||
#: qt/base/preferences_dialog.py:50
|
||||
msgid "Filter Hardness:"
|
||||
msgstr "Фільтри Твердість:"
|
||||
msgstr "Жорсткість фільтру:"
|
||||
|
||||
#: qt/base/preferences_dialog.py:76
|
||||
msgid "More Results"
|
||||
msgstr "Додаткові результати"
|
||||
msgstr "Більше результатів"
|
||||
|
||||
#: qt/base/preferences_dialog.py:81
|
||||
msgid "Fewer Results"
|
||||
@@ -242,28 +242,28 @@ msgstr "Копіювання і переміщення:"
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Right in destination"
|
||||
msgstr "Прямо в ціль"
|
||||
msgstr "Прямо у цільову папку"
|
||||
|
||||
#: qt/base/preferences_dialog.py:102 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Recreate relative path"
|
||||
msgstr "Повторне відносний шлях"
|
||||
msgstr "Відтворити відносний шлях"
|
||||
|
||||
#: qt/base/preferences_dialog.py:103 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Recreate absolute path"
|
||||
msgstr "Повторне абсолютний шлях"
|
||||
msgstr "Відтворити абсолютний шлях"
|
||||
|
||||
#: qt/base/preferences_dialog.py:106 cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Custom Command (arguments: %d for dupe, %r for ref):"
|
||||
msgstr "Спеціальної команди (аргументи: %d для обдурити,%r для посилань):"
|
||||
msgstr "Власна команда (аргументи: %d для дублікату, %r для посиланя):"
|
||||
|
||||
#: qt/base/preferences_dialog.py:184
|
||||
msgid "dupeGuru has to restart for language changes to take effect."
|
||||
msgstr "dupeGuru необхідно перезапустити для мовного зміни вступили в силу."
|
||||
msgstr "dupeGuru необхідно перезапустити для застосування зміни мови."
|
||||
|
||||
#: qt/base/prioritize_dialog.py:71
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
@@ -277,9 +277,10 @@ msgid ""
|
||||
" the best to these criteria to their respective group's reference position. "
|
||||
"Read the help file for more information."
|
||||
msgstr ""
|
||||
"Додати критерії в праве поле і натисніть кнопку ОК, щоб відправити ошуканих,"
|
||||
" які відповідають кращим для цих критеріїв до вихідної позиції відповідних "
|
||||
"груп. Прочитайте файл довідки для отримання додаткової інформації."
|
||||
"Додайте критерії в праве поле і натисніть кнопку ОК, щоб відправити "
|
||||
"дублікати, які найкраще відповідають цим критеріям, до вихідної позиції "
|
||||
"відповідних груп. Прочитайте файл довідки для отримання додаткової "
|
||||
"інформації."
|
||||
|
||||
#: qt/base/problem_dialog.py:31 cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Problems!"
|
||||
@@ -291,158 +292,155 @@ msgid ""
|
||||
"these problems are described in the table below. Those files were not "
|
||||
"removed from your results."
|
||||
msgstr ""
|
||||
"Були проблеми обробки деякі (або всі) файли. Причиною цих проблем описані в "
|
||||
"таблиці нижче. Ці файли не були видалені з результатів пошуку."
|
||||
"Виникли проблеми під час обробки деяких (або всіх) файлів. Причини цих "
|
||||
"проблем описані в таблиці нижче. Ці файли не були видалені з результатів "
|
||||
"пошуку."
|
||||
|
||||
#: qt/base/problem_dialog.py:52 cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Reveal Selected"
|
||||
msgstr "Показати вибраного"
|
||||
msgstr "Показати вибрані"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "Закриття"
|
||||
msgstr "Закрити"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "Деталі"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "Дії"
|
||||
|
||||
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Show Dupes Only"
|
||||
msgstr "Показати тільки ошукані"
|
||||
msgstr "Показати тільки дуплікати"
|
||||
|
||||
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Show Delta Values"
|
||||
msgstr "Показати Дельта значення"
|
||||
msgstr "Показати різницю"
|
||||
|
||||
#: qt/base/result_window.py:51
|
||||
msgid "Send Marked to Recycle Bin"
|
||||
msgstr "Надіслати Позначено до кошику"
|
||||
msgstr "Надіслати позначене до кошику"
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "Видалити Помічені і заміна з Жорсткі"
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Перемістити позначене до ..."
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "Переміщення Позначено в к ..."
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Скопіювати позначене до ..."
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "Скопіюйте Позначено в к ..."
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "Видалити Помічені від результатів"
|
||||
msgstr "Видалити позначене з результатів"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr "Змінити пріоритети Результати ..."
|
||||
msgstr "Змінити пріоритети результатів ..."
|
||||
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "Видалити обране з результатів"
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "Видалити вибрані з результатів"
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Додати обране в чорний список"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "Додати обрані в чорний список"
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Зробити обране посиланням"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "Зробити вибраної посилання"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "Відкрити вибраний з додатків за умовчанням"
|
||||
msgstr "Відкрити обране програмою за умовчанням"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr "Відкрити містить папку вибіркових"
|
||||
msgstr "Відкрити папку, що містить обране"
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "Перейменувати вибраного"
|
||||
msgstr "Перейменувати обране"
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Позначити всі"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "Відзначити всі"
|
||||
msgid "Mark None"
|
||||
msgstr "Скинути позначення"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "Ні Марк"
|
||||
msgid "Invert Marking"
|
||||
msgstr "Інвертувати позначення"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "Звернути Маркування"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "Марк Обраний"
|
||||
msgstr "Позначити обране"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr "Експорт в HTML"
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "Зберегти результати ..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "Викликати спеціальної команди"
|
||||
msgstr "Викликати власну команду"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr "Марк"
|
||||
msgstr "Позначити"
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "Колони"
|
||||
msgstr "Колонки"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "Відновити налаштування за замовчуванням"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr "{} Результати"
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "Виберіть файл, щоб зберегти ваші результати"
|
||||
msgstr "Оберіть файл у який слід зберегти ваші результати"
|
||||
|
||||
#: qt/me/preferences_dialog.py:39 qt/se/preferences_dialog.py:39
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Filename"
|
||||
msgstr "Файл"
|
||||
msgstr "Ім’я файлу"
|
||||
|
||||
#: qt/me/preferences_dialog.py:40 cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Filename - Fields"
|
||||
msgstr "Файл - Поля"
|
||||
msgstr "Ім’я файлу розбите на поля"
|
||||
|
||||
#: qt/me/preferences_dialog.py:41 cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Filename - Fields (No Order)"
|
||||
msgstr "Файл - Поля (нема наказу)"
|
||||
msgstr "Ім’я файлу розбите на поля (У довільному порядку)"
|
||||
|
||||
#: qt/me/preferences_dialog.py:42 cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Tags"
|
||||
@@ -455,11 +453,11 @@ msgstr "Зміст"
|
||||
|
||||
#: qt/me/preferences_dialog.py:44
|
||||
msgid "Audio Contents"
|
||||
msgstr "Аудіо Зміст"
|
||||
msgstr "Аудіо зміст"
|
||||
|
||||
#: qt/me/preferences_dialog.py:55 cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Tags to scan:"
|
||||
msgstr "Теги для перевірки:"
|
||||
msgstr "Теги для пошуку:"
|
||||
|
||||
#: qt/me/preferences_dialog.py:61 cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Track"
|
||||
@@ -489,68 +487,68 @@ msgstr "Рік"
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Word weighting"
|
||||
msgstr "Слово зважування"
|
||||
msgstr "Порівнювати за словами"
|
||||
|
||||
#: qt/me/preferences_dialog.py:77 qt/se/preferences_dialog.py:51
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Match similar words"
|
||||
msgstr "Матч схожі слова"
|
||||
msgstr "Вважати схожі слова однаковими"
|
||||
|
||||
#: qt/me/preferences_dialog.py:79 qt/pe/preferences_dialog.py:41
|
||||
#: qt/se/preferences_dialog.py:53 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Can mix file kind"
|
||||
msgstr "Можна змішувати файл роду"
|
||||
msgstr "Можна змішувати типи файлів"
|
||||
|
||||
#: qt/me/preferences_dialog.py:81 qt/pe/preferences_dialog.py:43
|
||||
#: qt/se/preferences_dialog.py:55 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Use regular expressions when filtering"
|
||||
msgstr "Використання регулярних виразів при фільтрації"
|
||||
msgstr "Використовувати регулярних виразів при фільтрації"
|
||||
|
||||
#: qt/me/preferences_dialog.py:83 qt/pe/preferences_dialog.py:45
|
||||
#: qt/se/preferences_dialog.py:57 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Remove empty folders on delete or move"
|
||||
msgstr "Видалити порожні папки на видаляти або переміщати"
|
||||
msgstr "Видалити порожні папки під час видалення чи переміщення"
|
||||
|
||||
#: qt/me/preferences_dialog.py:85 qt/pe/preferences_dialog.py:47
|
||||
#: qt/se/preferences_dialog.py:76 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Ignore duplicates hardlinking to the same file"
|
||||
msgstr "Ігнорувати дублікати hardlinking в той же файл"
|
||||
msgstr "Ігнорувати дублікати, що є жорсткими посиланнями на той самий файл"
|
||||
|
||||
#: qt/me/preferences_dialog.py:87 qt/pe/preferences_dialog.py:49
|
||||
#: qt/se/preferences_dialog.py:78 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Debug mode (restart required)"
|
||||
msgstr "Режим налагодження (потрібно перезапуск)"
|
||||
msgstr "Режим налагодження (потрібен перезапуск)"
|
||||
|
||||
#: qt/pe/preferences_dialog.py:34 cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "EXIF Timestamp"
|
||||
msgstr "EXIF Timestamp"
|
||||
msgstr "Часова мітка EXIF"
|
||||
|
||||
#: qt/pe/preferences_dialog.py:39 cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "Матч малюнки різних розмірів"
|
||||
msgstr "Порівнювати малюнки різних розмірів"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "Очистити кеш фото"
|
||||
msgstr "Очистити кеш зображень"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr "Ви дійсно хочете видалити всі кешовані аналіз картини?"
|
||||
msgstr "Ви дійсно хочете видалити всі кешовані результати аналізу зображень?"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr "Кеш-пам'ять зображень очищається."
|
||||
msgstr "Кеш зображень очищено."
|
||||
|
||||
#: qt/se/preferences_dialog.py:41 cocoa/se/en.lproj/Preferences.strings:0
|
||||
msgid "Folders"
|
||||
@@ -558,7 +556,7 @@ msgstr "Папки"
|
||||
|
||||
#: qt/se/preferences_dialog.py:60
|
||||
msgid "Ignore files smaller than"
|
||||
msgstr "Ігнорувати файли менше, ніж"
|
||||
msgstr "Ігнорувати файли менші ніж"
|
||||
|
||||
#: qt/se/preferences_dialog.py:71 cocoa/se/en.lproj/Preferences.strings:0
|
||||
msgid "KB"
|
||||
@@ -567,7 +565,7 @@ msgstr "КБ"
|
||||
#: cocoa/base/en.lproj/DetailsPanel.strings:0
|
||||
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
|
||||
msgid "Details of Selected File"
|
||||
msgstr "Інформація про вибрану"
|
||||
msgstr "Інформація про обраний файл"
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Add New Folder..."
|
||||
@@ -583,7 +581,7 @@ msgstr "Відновити налаштування за замовчуванн
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "'%@' already is in the list."
|
||||
msgstr "'%@' Вже є в списку."
|
||||
msgstr "'%@' вже є в списку."
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "'%@' does not exist."
|
||||
@@ -591,38 +589,38 @@ msgstr "'%@' не існує."
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr "'%@' Іменем вже існує."
|
||||
msgstr "Ім’я '%@' вже існує."
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"Ваш iTunes Library містить %d мертвих треків готові бути видалені. "
|
||||
"Ваша бібліотека iTunes містить %d мертвих треків, які готові до видалення. "
|
||||
"Продовжити?"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "У вас немає мертвих треки у вашій iTunes Library"
|
||||
msgstr "У вашій бібліотеці iTunes немає мертвих треків "
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Add iTunes Directory"
|
||||
msgstr "Додати iTunes каталозі"
|
||||
msgstr "Додати папку iTunes"
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Remove Dead Tracks in iTunes"
|
||||
msgstr "Видалити Мертвого треків в iTunes"
|
||||
msgstr "Видалити мертві треки в iTunes"
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Add iPhoto Library"
|
||||
msgstr "Додати Iphoto бібліотека"
|
||||
msgstr "Додати бібліотеку iPhoto"
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Yes"
|
||||
msgstr "Та"
|
||||
msgstr "Так"
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "No"
|
||||
msgstr "Немає"
|
||||
msgstr "Ні"
|
||||
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "OK"
|
||||
@@ -630,7 +628,7 @@ msgstr "ОК"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Bring All to Front"
|
||||
msgstr "Принесіть все для фронту"
|
||||
msgstr "Всі на передній план"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Window"
|
||||
@@ -646,7 +644,7 @@ msgstr "Приховати dupeGuru"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Quit dupeGuru"
|
||||
msgstr "Вихід dupeGuru"
|
||||
msgstr "Вийти з dupeGuru"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Hide Others"
|
||||
@@ -654,7 +652,7 @@ msgstr "Сховати інші"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Show All"
|
||||
msgstr "Показати всіх"
|
||||
msgstr "Показати всі"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Zoom"
|
||||
@@ -662,11 +660,11 @@ msgstr "Збільшити"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Details Panel"
|
||||
msgstr "Детальніше групи"
|
||||
msgstr "Панель інформації"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Preferences..."
|
||||
msgstr "Установки ..."
|
||||
msgstr "Налаштування ..."
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Folder Selection Window"
|
||||
@@ -675,7 +673,7 @@ msgstr "Вікно вибору папок"
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Send Marked to Trash"
|
||||
msgstr "Надіслати Позначено в кошик"
|
||||
msgstr "Надіслати позначене до кошику"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
@@ -688,7 +686,7 @@ msgstr "Закрити вікно"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Start Duplicate Scan"
|
||||
msgstr "Початок Дублюйте сканування"
|
||||
msgstr "Почати пошук дублікатів"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Export Results to XHTML"
|
||||
@@ -712,15 +710,15 @@ msgstr "Вирізати"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Copy"
|
||||
msgstr "Копія"
|
||||
msgstr "Копіювати"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Paste"
|
||||
msgstr "Паста"
|
||||
msgstr "Вставити"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Website"
|
||||
msgstr "dupeGuru сайту"
|
||||
msgstr "Веб-сайт dupeGuru"
|
||||
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Re-Prioritize Results"
|
||||
@@ -730,13 +728,15 @@ msgstr "Змінити пріоритети Результати"
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "dupeGuru Results"
|
||||
msgstr "dupeGuru Результати"
|
||||
msgstr "Результати dupeGuru"
|
||||
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Marked: 0 files, 0 B. Total: 0 files, 0 B."
|
||||
@@ -756,15 +756,15 @@ msgstr "Дія"
|
||||
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Directories"
|
||||
msgstr "Каталоги"
|
||||
msgstr "Папки"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Тільки ошукані"
|
||||
msgstr "Тільки дублікати"
|
||||
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delta"
|
||||
msgstr "Дельта"
|
||||
msgstr "Різниця"
|
||||
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Menu"
|
||||
@@ -772,13 +772,13 @@ msgstr "Меню"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
msgid "dupeGuru Preferences"
|
||||
msgstr "dupeGuru переваги"
|
||||
msgstr "Налаштування dupeGuru"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "More results"
|
||||
msgstr "Інші результати"
|
||||
msgstr "Більше результатів"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
@@ -790,13 +790,13 @@ msgstr "Менше результатів"
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Filter hardness:"
|
||||
msgstr "Фільтри твердість:"
|
||||
msgstr "Жорсткість фільтру:"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Scan type:"
|
||||
msgstr "Тип сканування:"
|
||||
msgstr "Тип пошуку:"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
@@ -811,31 +811,31 @@ msgstr "Автоматично перевіряти наявність онов
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
msgid "Ignore files smaller than:"
|
||||
msgstr "Ігнорувати файли менше, ніж:"
|
||||
msgstr "Ігнорувати файли менші ніж:"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Basic"
|
||||
msgstr "Основний"
|
||||
msgstr "Основні"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Advanced"
|
||||
msgstr "Передовий"
|
||||
msgstr "Розширені"
|
||||
|
||||
#: cocoa/se/en.lproj/Preferences.strings:0
|
||||
msgid "Custom command (arguments: %d for dupe, %r for ref):"
|
||||
msgstr "Користувальницькі команди (аргументи: %d для обдурити,%r при роботі):"
|
||||
msgstr "Власна комада (аргументи: %d для дублікату, %r для посилання):"
|
||||
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "dupeGuru ME Preferences"
|
||||
msgstr "dupeGuru ME переваги"
|
||||
msgstr "Налаштування dupeGuru ME"
|
||||
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Audio Content"
|
||||
msgstr "Аудіо-контенту"
|
||||
msgstr "Аудіо-контент"
|
||||
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
msgid "Remove empty folders after delete and move"
|
||||
@@ -843,38 +843,72 @@ msgstr "Видалити порожні папки після видалення
|
||||
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "dupeGuru PE Preferences"
|
||||
msgstr "dupeGuru PE переваги"
|
||||
msgstr "Налаштування dupeGuru PE"
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
msgstr "Виконується взаємодія з програмою iTunes. Не чіпайте її!"
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
msgstr "Не можливо знайти програму iTunes"
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
msgstr "Різниця"
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
msgstr "Виникла проблема зв'язку з iTunes. Операція не може бути завершена."
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
msgstr "Чорний список"
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr "Видалити обрані"
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr "Очистити"
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: core/app.py:94
|
||||
#: core/app.py:96
|
||||
msgid "will only be able to delete, move or copy 10 duplicates at once"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:231
|
||||
#: core/app.py:258
|
||||
msgid ""
|
||||
"You cannot delete, move or copy more than 10 duplicates at once in demo "
|
||||
"mode."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:501
|
||||
#: core/app.py:526
|
||||
msgid "Collecting files to scan"
|
||||
msgstr "收集文件以备扫描"
|
||||
|
||||
#: core/app.py:512
|
||||
#: core/app.py:537
|
||||
msgid "The selected directories contain no scannable file."
|
||||
msgstr "所选文件夹中不包含可供扫描的文件。"
|
||||
|
||||
#: core/app.py:551
|
||||
#: core/app.py:576
|
||||
msgid "%s (%d discarded)"
|
||||
msgstr "%s (%d 无效)"
|
||||
|
||||
@@ -96,15 +96,15 @@ msgstr "优化分组"
|
||||
msgid "Analyzed %d/%d pictures"
|
||||
msgstr "分析 %d/%d 图像"
|
||||
|
||||
#: core_pe/matchblock.py:144
|
||||
#: core_pe/matchblock.py:152
|
||||
msgid "Performed %d/%d chunk matches"
|
||||
msgstr ""
|
||||
|
||||
#: core_pe/matchblock.py:149
|
||||
#: core_pe/matchblock.py:157
|
||||
msgid "Preparing for matching"
|
||||
msgstr "准备进行匹配"
|
||||
|
||||
#: core_pe/matchblock.py:184
|
||||
#: core_pe/matchblock.py:192
|
||||
msgid "Verified %d/%d matches"
|
||||
msgstr "验证 %d/%d 匹配项"
|
||||
|
||||
@@ -112,31 +112,31 @@ msgstr "验证 %d/%d 匹配项"
|
||||
msgid "Read EXIF of %d/%d pictures"
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:36
|
||||
#: core/app.py:38
|
||||
msgid "There are no marked duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:37
|
||||
#: core/app.py:39
|
||||
msgid "There are no selected duplicates. Nothing has been done."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:189
|
||||
#: core/app.py:216
|
||||
msgid "No duplicates found."
|
||||
msgstr "没有找到重复文件。"
|
||||
|
||||
#: core/app.py:202
|
||||
#: core/app.py:229
|
||||
msgid "All marked files were copied sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:203
|
||||
#: core/app.py:230
|
||||
msgid "All marked files were moved sucessfully."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:204
|
||||
#: core/app.py:231
|
||||
msgid "All marked files were sucessfully sent to Trash."
|
||||
msgstr ""
|
||||
|
||||
#: core/app.py:252
|
||||
#: core/app.py:279
|
||||
msgid ""
|
||||
"All selected %d matches are going to be ignored in all subsequent scans. "
|
||||
"Continue?"
|
||||
@@ -146,32 +146,26 @@ msgstr "目前已选的 %d 个匹配项将在后续的扫描中被忽略。继
|
||||
msgid "Do you really want to remove all %d items from the ignore list?"
|
||||
msgstr "确定要从忽略列表中移除 %d 项吗?"
|
||||
|
||||
#: core/app.py:367
|
||||
#: core/app.py:392
|
||||
msgid "You have no custom command set up. Set it up in your preferences."
|
||||
msgstr "你没有设定自定义命令。请在首选项中进行设定。"
|
||||
|
||||
#: core/app.py:454 core/app.py:465
|
||||
#: core/app.py:479 core/app.py:490
|
||||
msgid "You are about to remove %d files from results. Continue?"
|
||||
msgstr "你将从结果中移除 %d 个文件。继续吗?"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "copy"
|
||||
msgstr "复制"
|
||||
|
||||
#: core/app.py:312
|
||||
#: core/app.py:339
|
||||
msgid "move"
|
||||
msgstr "移动"
|
||||
|
||||
#: core/app.py:313
|
||||
#: core/app.py:340
|
||||
msgid "Select a directory to {} marked files to"
|
||||
msgstr "选择一个文件夹将标记的 {} 个文件进行..."
|
||||
|
||||
#: core/app.py:327
|
||||
msgid ""
|
||||
"You are about to send %d files to Trash (and hardlink them afterwards). "
|
||||
"Continue?"
|
||||
msgstr "即将有 %d 个文件被移动垃圾桶并删除硬盘上的文件。继续吗?"
|
||||
|
||||
#: core/app.py:329
|
||||
msgid "You are about to send %d files to Trash. Continue?"
|
||||
msgstr "即将有 %d 个文件被移到回收站。继续吗?"
|
||||
#: core/gui/deletion_options.py:20
|
||||
msgid "You are sending {} file(s) to the Trash."
|
||||
msgstr ""
|
||||
|
||||
@@ -2,55 +2,55 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:39
|
||||
#: cocoa/inter/app.py:15 qt/base/app.py:40
|
||||
msgid "Scanning for duplicates"
|
||||
msgstr "重复文件扫描中"
|
||||
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:40
|
||||
#: cocoa/inter/app.py:16 qt/base/app.py:41
|
||||
msgid "Loading"
|
||||
msgstr "载入中"
|
||||
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:41
|
||||
#: cocoa/inter/app.py:17 qt/base/app.py:42
|
||||
msgid "Moving"
|
||||
msgstr "移动中"
|
||||
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:42
|
||||
#: cocoa/inter/app.py:18 qt/base/app.py:43
|
||||
msgid "Copying"
|
||||
msgstr "复制中"
|
||||
|
||||
#: qt/base/app.py:43
|
||||
#: qt/base/app.py:44
|
||||
msgid "Sending files to the recycle bin"
|
||||
msgstr "将文件移到回收站"
|
||||
|
||||
#: qt/base/app.py:110
|
||||
#: qt/base/app.py:112
|
||||
msgid "Quit"
|
||||
msgstr "退出"
|
||||
|
||||
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
|
||||
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
|
||||
msgid "Preferences"
|
||||
msgstr "首选项"
|
||||
|
||||
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "dupeGuru Help"
|
||||
msgstr "dupeGuru帮助"
|
||||
|
||||
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "About dupeGuru"
|
||||
msgstr "关于dupeGuru"
|
||||
|
||||
#: qt/base/app.py:115
|
||||
#: qt/base/app.py:117
|
||||
msgid "Register dupeGuru"
|
||||
msgstr "注册dupeGuru"
|
||||
|
||||
#: qt/base/app.py:116
|
||||
#: qt/base/app.py:118
|
||||
msgid "Check for Update"
|
||||
msgstr "检查更新"
|
||||
|
||||
#: qt/base/app.py:117
|
||||
#: qt/base/app.py:119
|
||||
msgid "Open Debug Log"
|
||||
msgstr "打开调试记录"
|
||||
|
||||
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/app.py:234 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"A previous action is still hanging in there. You can't start a new one yet. "
|
||||
"Wait a few seconds, then try again."
|
||||
@@ -85,16 +85,16 @@ msgstr "结果窗口"
|
||||
msgid "Add Folder..."
|
||||
msgstr "增加文件夹..."
|
||||
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
|
||||
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "File"
|
||||
msgstr "文件"
|
||||
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
|
||||
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
|
||||
msgid "View"
|
||||
msgstr "视图"
|
||||
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
|
||||
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Help"
|
||||
msgstr "帮助"
|
||||
@@ -138,7 +138,7 @@ msgstr "选择一个结果文件并载入"
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "所有文件 (*.*)"
|
||||
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
|
||||
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
|
||||
msgid "dupeGuru Results (*.dupeguru)"
|
||||
msgstr "dupeGuru结果 (*.dupeguru)"
|
||||
|
||||
@@ -260,19 +260,20 @@ msgstr "在处理部分或全部文件时发现问题。产生问题的原因在
|
||||
msgid "Reveal Selected"
|
||||
msgstr "显示选择"
|
||||
|
||||
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/ProblemDialog.strings:0
|
||||
msgid "Close"
|
||||
msgstr "关闭"
|
||||
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:177
|
||||
#: qt/base/result_window.py:47 qt/base/result_window.py:171
|
||||
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
|
||||
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Details"
|
||||
msgstr "详细说明"
|
||||
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:86
|
||||
#: qt/base/result_window.py:151 qt/base/result_window.py:176
|
||||
#: qt/base/result_window.py:48 qt/base/result_window.py:82
|
||||
#: qt/base/result_window.py:146 qt/base/result_window.py:170
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Actions"
|
||||
msgstr "行为"
|
||||
@@ -291,104 +292,99 @@ msgstr "将标记的文件移到回收站"
|
||||
|
||||
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Delete Marked and Replace with Hardlinks"
|
||||
msgstr "删除标记文件并用硬连接进行替换"
|
||||
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Move Marked to..."
|
||||
msgstr "将标记的文件移动到..."
|
||||
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Copy Marked to..."
|
||||
msgstr "将标记的文件复制到..."
|
||||
|
||||
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Marked from Results"
|
||||
msgstr "从结果中移除所标记的文件"
|
||||
|
||||
#: qt/base/result_window.py:56
|
||||
#: qt/base/result_window.py:55
|
||||
msgid "Re-Prioritize Results..."
|
||||
msgstr "从结果中移除所选的文件"
|
||||
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Remove Selected from Results"
|
||||
msgstr "从结果中移除所选的文件"
|
||||
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:57 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Add Selected to Ignore List"
|
||||
msgstr "将所选文件添加到忽略列表中"
|
||||
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Make Selected Reference"
|
||||
msgstr "将所选文件设定为参照文件"
|
||||
|
||||
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Open Selected with Default Application"
|
||||
msgstr "使用默认程序打开所选文件"
|
||||
|
||||
#: qt/base/result_window.py:61
|
||||
#: qt/base/result_window.py:60
|
||||
msgid "Open Containing Folder of Selected"
|
||||
msgstr "打开所选文件所在的文件夹"
|
||||
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Rename Selected"
|
||||
msgstr "重命名所选文件"
|
||||
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark All"
|
||||
msgstr "标记全部"
|
||||
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark None"
|
||||
msgstr "全部取消标记"
|
||||
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invert Marking"
|
||||
msgstr "反选标记文件"
|
||||
|
||||
#: qt/base/result_window.py:66 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Mark Selected"
|
||||
msgstr "标记所选文件"
|
||||
|
||||
#: qt/base/result_window.py:67
|
||||
#: qt/base/result_window.py:66
|
||||
msgid "Export To HTML"
|
||||
msgstr "导出为 HTML"
|
||||
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Save Results..."
|
||||
msgstr "保存结果..."
|
||||
|
||||
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Invoke Custom Command"
|
||||
msgstr "调用自定义命令"
|
||||
|
||||
#: qt/base/result_window.py:84
|
||||
#: qt/base/result_window.py:80
|
||||
msgid "Mark"
|
||||
msgstr "标记"
|
||||
|
||||
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Columns"
|
||||
msgstr "显示列"
|
||||
|
||||
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
|
||||
#: cocoa/me/en.lproj/Preferences.strings:0
|
||||
#: cocoa/pe/en.lproj/Preferences.strings:0
|
||||
msgid "Reset to Defaults"
|
||||
msgstr "重置为默认值"
|
||||
|
||||
#: qt/base/result_window.py:170
|
||||
#: qt/base/result_window.py:164
|
||||
msgid "{} Results"
|
||||
msgstr "{} (结果)"
|
||||
|
||||
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Select a file to save your results to"
|
||||
msgstr "将结果保存为..."
|
||||
|
||||
@@ -501,16 +497,16 @@ msgstr "EXIF Timestamp"
|
||||
msgid "Match pictures of different dimensions"
|
||||
msgstr "匹配不同规格的图像"
|
||||
|
||||
#: qt/pe/result_window.py:20 qt/pe/result_window.py:25
|
||||
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
|
||||
#: cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Clear Picture Cache"
|
||||
msgstr "清空图片缓存"
|
||||
|
||||
#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "Do you really want to remove all your cached picture analysis?"
|
||||
msgstr "确定要移除所有缓存图片?"
|
||||
|
||||
#: qt/pe/result_window.py:29
|
||||
#: qt/pe/result_window.py:28
|
||||
msgid "Picture cache cleared."
|
||||
msgstr "图片缓存已清空。"
|
||||
|
||||
@@ -657,6 +653,8 @@ msgstr "Re-Prioritize Results"
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: qt/base/deletion_options.py:50
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
@@ -695,7 +693,7 @@ msgstr "Action"
|
||||
msgid "Directories"
|
||||
msgstr "Directories"
|
||||
|
||||
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
|
||||
msgid "Dupes Only"
|
||||
msgstr "Dupes Only"
|
||||
|
||||
@@ -794,7 +792,7 @@ msgstr "从你的iTunes库中移除无效的音轨"
|
||||
msgid "Scanning the iTunes Library"
|
||||
msgstr "正在扫描iTunes库"
|
||||
|
||||
#: cocoa/inter/app_me.py:154 cocoa/inter/app_pe.py:144
|
||||
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
|
||||
msgid "Sending dupes to the Trash"
|
||||
msgstr "将重复文件移到垃圾桶"
|
||||
|
||||
@@ -818,13 +816,13 @@ msgstr "'%@' does not exist."
|
||||
msgid "The name '%@' already exists."
|
||||
msgstr "The name '%@' already exists."
|
||||
|
||||
#: cocoa/inter/app_me.py:182 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:191 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
msgstr ""
|
||||
"Your iTunes Library contains %d dead tracks ready to be removed. Continue?"
|
||||
|
||||
#: cocoa/inter/app_me.py:186 cocoa/base/en.lproj/Localizable.strings:0
|
||||
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
|
||||
msgid "You have no dead tracks in your iTunes Library"
|
||||
msgstr "You have no dead tracks in your iTunes Library"
|
||||
|
||||
@@ -840,36 +838,70 @@ msgstr ""
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:156
|
||||
#: cocoa/inter/app_me.py:159
|
||||
msgid "Talking to iTunes. Don't touch it!"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:200
|
||||
#: cocoa/inter/app_me.py:213
|
||||
msgid "The iTunes application couldn't be found."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/result_window.py:179
|
||||
#: qt/base/result_window.py:173
|
||||
msgid "Delta Values"
|
||||
msgstr ""
|
||||
|
||||
#: cocoa/inter/app_me.py:176
|
||||
#: cocoa/inter/app_me.py:185
|
||||
msgid ""
|
||||
"There were communication problems with iTunes. The operation couldn't be "
|
||||
"completed."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
|
||||
#: qt/base/app.py:114 qt/base/ignore_list_dialog.py:32
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
#: cocoa/base/en.lproj/MainMenu.strings:0
|
||||
msgid "Ignore List"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:44
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Remove Selected"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/ignore_list_dialog.py:45
|
||||
#: qt/base/ignore_list_dialog.py:46
|
||||
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:29
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Deletion Options"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:34
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Hardlink deleted files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:36
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"After having deleted a duplicate, place a hardlink targeting the reference "
|
||||
"file to replace the deleted file."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:41
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Directly delete files"
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:43
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid ""
|
||||
"Instead of sending files to trash, delete them directly. This option is "
|
||||
"usually used as a workaround when the normal deletion method doesn't work."
|
||||
msgstr ""
|
||||
|
||||
#: qt/base/deletion_options.py:49
|
||||
#: cocoa/base/en.lproj/DeletionOptions.strings:0
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
@@ -99,15 +99,6 @@ def package_debian(edition):
|
||||
if edition == 'me':
|
||||
packages.append('hsaudiotag')
|
||||
copy_packages(packages, srcpath)
|
||||
import sip, PyQt4
|
||||
shutil.copy(sip.__file__, srcpath)
|
||||
qtsrcpath = op.dirname(PyQt4.__file__)
|
||||
qtdestpath = op.join(srcpath, 'PyQt4')
|
||||
os.makedirs(qtdestpath)
|
||||
shutil.copy(op.join(qtsrcpath, '__init__.py'), qtdestpath)
|
||||
shutil.copy(op.join(qtsrcpath, 'Qt.so'), qtdestpath)
|
||||
shutil.copy(op.join(qtsrcpath, 'QtCore.so'), qtdestpath)
|
||||
shutil.copy(op.join(qtsrcpath, 'QtGui.so'), qtdestpath)
|
||||
shutil.copytree(ed('debian_{0}'), op.join(destpath, 'debian'))
|
||||
changelogpath = op.join('help', ed('changelog_{}'))
|
||||
changelog_dest = op.join(destpath, 'debian', 'changelog')
|
||||
|
||||
@@ -32,6 +32,7 @@ from .result_window import ResultWindow
|
||||
from .directories_dialog import DirectoriesDialog
|
||||
from .problem_dialog import ProblemDialog
|
||||
from .ignore_list_dialog import IgnoreListDialog
|
||||
from .deletion_options import DeletionOptions
|
||||
|
||||
tr = trget('ui')
|
||||
|
||||
@@ -89,6 +90,7 @@ class DupeGuru(QObject):
|
||||
self.details_dialog = self.DETAILS_DIALOG_CLASS(self.resultWindow, self)
|
||||
self.problemDialog = ProblemDialog(parent=self.resultWindow, model=self.model.problem_dialog)
|
||||
self.ignoreListDialog = IgnoreListDialog(parent=self.resultWindow, model=self.model.ignore_list_dialog)
|
||||
self.deletionOptions = DeletionOptions(parent=self.resultWindow, model=self.model.deletion_options)
|
||||
self.preferences_dialog = self.PREFERENCES_DIALOG_CLASS(self.resultWindow, self)
|
||||
self.about_box = AboutBox(self.resultWindow, self)
|
||||
|
||||
|
||||
67
qt/base/deletion_options.py
Normal file
67
qt/base/deletion_options.py
Normal file
@@ -0,0 +1,67 @@
|
||||
# Created By: Virgil Dupras
|
||||
# Created On: 2012-05-30
|
||||
# Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
||||
#
|
||||
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from PyQt4.QtCore import Qt
|
||||
from PyQt4.QtGui import QDialog, QVBoxLayout, QLabel, QCheckBox, QDialogButtonBox
|
||||
|
||||
from hscommon.plat import ISOSX, ISLINUX
|
||||
from hscommon.trans import trget
|
||||
|
||||
tr = trget('ui')
|
||||
|
||||
class DeletionOptions(QDialog):
|
||||
def __init__(self, parent, model):
|
||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||
QDialog.__init__(self, parent, flags)
|
||||
self._setupUi()
|
||||
self.model = model
|
||||
self.model.view = self
|
||||
|
||||
self.buttonBox.accepted.connect(self.accept)
|
||||
self.buttonBox.rejected.connect(self.reject)
|
||||
|
||||
def _setupUi(self):
|
||||
self.setWindowTitle(tr("Deletion Options"))
|
||||
self.resize(400, 250)
|
||||
self.verticalLayout = QVBoxLayout(self)
|
||||
self.msgLabel = QLabel()
|
||||
self.verticalLayout.addWidget(self.msgLabel)
|
||||
self.hardlinkCheckbox = QCheckBox(tr("Hardlink deleted files"))
|
||||
if not (ISOSX or ISLINUX):
|
||||
self.hardlinkCheckbox.setEnabled(False)
|
||||
self.hardlinkCheckbox.setText(self.hardlinkCheckbox.text() + tr(" (Mac OS X or Linux only)"))
|
||||
self.verticalLayout.addWidget(self.hardlinkCheckbox)
|
||||
text = tr("After having deleted a duplicate, place a hardlink targeting the reference file "
|
||||
"to replace the deleted file.")
|
||||
self.hardlinkMessageLabel = QLabel(text)
|
||||
self.hardlinkMessageLabel.setWordWrap(True)
|
||||
self.verticalLayout.addWidget(self.hardlinkMessageLabel)
|
||||
self.directCheckbox = QCheckBox(tr("Directly delete files"))
|
||||
self.verticalLayout.addWidget(self.directCheckbox)
|
||||
text = tr("Instead of sending files to trash, delete them directly. This option is usually "
|
||||
"used as a workaround when the normal deletion method doesn't work.")
|
||||
self.directMessageLabel = QLabel(text)
|
||||
self.directMessageLabel.setWordWrap(True)
|
||||
self.verticalLayout.addWidget(self.directMessageLabel)
|
||||
self.buttonBox = QDialogButtonBox()
|
||||
self.buttonBox.addButton(tr("Proceed"), QDialogButtonBox.AcceptRole)
|
||||
self.buttonBox.addButton(tr("Cancel"), QDialogButtonBox.RejectRole)
|
||||
self.verticalLayout.addWidget(self.buttonBox)
|
||||
|
||||
#--- model --> view
|
||||
def update_msg(self, msg):
|
||||
self.msgLabel.setText(msg)
|
||||
|
||||
def show(self):
|
||||
self.hardlinkCheckbox.setChecked(self.model.hardlink)
|
||||
self.directCheckbox.setChecked(self.model.direct)
|
||||
result = self.exec()
|
||||
self.model.hardlink = self.hardlinkCheckbox.isChecked()
|
||||
self.model.direct = self.directCheckbox.isChecked()
|
||||
return result == QDialog.Accepted
|
||||
|
||||
@@ -7,13 +7,10 @@
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from PyQt4.QtCore import Qt, QUrl, QRect
|
||||
from PyQt4.QtGui import (QMainWindow, QMenu, QLabel, QMessageBox, QInputDialog, QLineEdit,
|
||||
QDesktopServices, QFileDialog, QMenuBar, QWidget, QVBoxLayout, QAbstractItemView, QStatusBar,
|
||||
QDialog, QAction, QPushButton, QCheckBox)
|
||||
from PyQt4.QtGui import (QMainWindow, QMenu, QLabel, QDesktopServices, QFileDialog, QMenuBar,
|
||||
QWidget, QVBoxLayout, QAbstractItemView, QStatusBar, QDialog, QAction, QPushButton, QCheckBox)
|
||||
|
||||
from hscommon.plat import ISOSX, ISLINUX
|
||||
from hscommon.trans import trget
|
||||
from hscommon.util import nonone
|
||||
from qtlib.util import moveToScreenCenter, horizontalWrap, createActions
|
||||
from qtlib.search_edit import SearchEdit
|
||||
|
||||
@@ -49,7 +46,6 @@ class ResultWindow(QMainWindow):
|
||||
('actionPowerMarker', 'Ctrl+1', '', tr("Show Dupes Only"), self.powerMarkerTriggered),
|
||||
('actionDelta', 'Ctrl+2', '', tr("Show Delta Values"), self.deltaTriggered),
|
||||
('actionDeleteMarked', 'Ctrl+D', '', tr("Send Marked to Recycle Bin"), self.deleteTriggered),
|
||||
('actionHardlinkMarked', 'Ctrl+Shift+D', '', tr("Delete Marked and Replace with Hardlinks"), self.hardlinkTriggered),
|
||||
('actionMoveMarked', 'Ctrl+M', '', tr("Move Marked to..."), self.moveTriggered),
|
||||
('actionCopyMarked', 'Ctrl+Shift+M', '', tr("Copy Marked to..."), self.copyTriggered),
|
||||
('actionRemoveMarked', 'Ctrl+R', '', tr("Remove Marked from Results"), self.removeMarkedTriggered),
|
||||
@@ -72,9 +68,6 @@ class ResultWindow(QMainWindow):
|
||||
self.actionDelta.setCheckable(True)
|
||||
self.actionPowerMarker.setCheckable(True)
|
||||
|
||||
if (not ISOSX) and (not ISLINUX):
|
||||
self.actionHardlinkMarked.setVisible(False)
|
||||
|
||||
def _setupMenu(self):
|
||||
self.menubar = QMenuBar(self)
|
||||
self.menubar.setGeometry(QRect(0, 0, 630, 22))
|
||||
@@ -93,7 +86,6 @@ class ResultWindow(QMainWindow):
|
||||
self.setMenuBar(self.menubar)
|
||||
|
||||
self.menuActions.addAction(self.actionDeleteMarked)
|
||||
self.menuActions.addAction(self.actionHardlinkMarked)
|
||||
self.menuActions.addAction(self.actionMoveMarked)
|
||||
self.menuActions.addAction(self.actionCopyMarked)
|
||||
self.menuActions.addAction(self.actionRemoveMarked)
|
||||
@@ -150,7 +142,6 @@ class ResultWindow(QMainWindow):
|
||||
# Action menu
|
||||
actionMenu = QMenu(tr("Actions"), self.menubar)
|
||||
actionMenu.addAction(self.actionDeleteMarked)
|
||||
actionMenu.addAction(self.actionHardlinkMarked)
|
||||
actionMenu.addAction(self.actionMoveMarked)
|
||||
actionMenu.addAction(self.actionCopyMarked)
|
||||
actionMenu.addAction(self.actionRemoveMarked)
|
||||
@@ -245,9 +236,6 @@ class ResultWindow(QMainWindow):
|
||||
url = QUrl.fromLocalFile(exported_path)
|
||||
QDesktopServices.openUrl(url)
|
||||
|
||||
def hardlinkTriggered(self):
|
||||
self.app.model.delete_marked(replace_with_hardlinks=True)
|
||||
|
||||
def makeReferenceTriggered(self):
|
||||
self.app.model.make_selected_reference()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user