Added a Deletion Options dialog that pops up when Send to Trash is triggered.

It offers hardlink and direct deletion options. This new feature supersedes the old "Send to Trash and Hardlink" menu item, which was removed.
This commit is contained in:
Virgil Dupras 2012-05-30 12:10:56 -04:00
parent 1171705921
commit 721591d3e3
44 changed files with 2249 additions and 1207 deletions

View File

@ -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'])

View 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

View 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

View File

@ -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,8 +50,7 @@ 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)ignoreSelected:(id)sender;

View File

@ -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

View 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";

View 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>

View File

@ -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";

View File

@ -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>
@ -338,15 +338,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 +771,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 +779,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 +939,14 @@
</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="IBOutletConnection" key="connection">
<string key="label">delegate</string>
@ -1314,7 +1297,6 @@
<reference ref="564101661"/>
<reference ref="747820446"/>
<reference ref="517397504"/>
<reference ref="514384201"/>
<reference ref="200019883"/>
</array>
<reference key="parent" ref="528113253"/>
@ -1544,11 +1526,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"/>
@ -1603,7 +1580,6 @@
<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>
@ -1668,7 +1644,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">1285</int>
<int key="maxID">1286</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1816,6 +1792,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 +1879,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>
@ -1879,6 +1904,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 +1915,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,10 +1923,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>
@ -1997,11 +2015,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 +2040,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>

View File

@ -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";

View File

@ -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
View 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

View File

@ -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)

View 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()

View File

@ -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

View File

@ -90,6 +90,17 @@
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 */; };
@ -299,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>"; };
@ -492,6 +516,7 @@
CE05331512E5D3ED0029EF25 /* ResultWindow.xib */,
CE05332112E5D4100029EF25 /* Preferences.xib */,
CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */,
CEA39F97157679FB00F294DE /* DeletionOptions.xib */,
);
name = xib;
sourceTree = "<group>";
@ -565,6 +590,8 @@
CE84C9AD1423ADFB0050A6AD /* PrioritizeDialog.m */,
CE84C9AE1423ADFB0050A6AD /* PrioritizeList.h */,
CE84C9AF1423ADFB0050A6AD /* PrioritizeList.m */,
CEA39FAE15767A3A00F294DE /* DeletionOptions.h */,
CEA39FAF15767A3A00F294DE /* DeletionOptions.m */,
CE97060214C471F2007A28F6 /* main.m */,
);
name = dgbase;
@ -599,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 */,
@ -704,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;
};
@ -766,6 +804,8 @@
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;
};
@ -933,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 = (

View File

@ -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

View File

@ -82,6 +82,17 @@
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 */; };
@ -309,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>"; };
@ -455,6 +479,7 @@
CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */,
CE0533A512E5DA4D0029EF25 /* Preferences.xib */,
CE7D24A71423B123002E2297 /* PrioritizeDialog.xib */,
CED3BC1A15767B200028F3C9 /* DeletionOptions.xib */,
);
name = xib;
sourceTree = "<group>";
@ -488,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 */,
@ -574,6 +601,8 @@
CE7D24A01423B106002E2297 /* PrioritizeDialog.m */,
CE7D24A11423B106002E2297 /* PrioritizeList.h */,
CE7D24A21423B106002E2297 /* PrioritizeList.m */,
CED3BC1715767B0E0028F3C9 /* DeletionOptions.h */,
CED3BC1815767B0E0028F3C9 /* DeletionOptions.m */,
CE75017214C4770500E2A349 /* main.m */,
);
name = dgbase;
@ -706,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;
};
@ -771,6 +809,8 @@
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;
};
@ -970,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 */

View File

@ -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

View File

@ -64,6 +64,9 @@
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 */; };
@ -77,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 */; };
@ -251,6 +262,11 @@
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; };
@ -316,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; };
@ -465,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 */,
@ -529,6 +555,7 @@
CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */,
CE81135612E5CE6D00A36C80 /* Preferences.xib */,
CE9777CF141F8CB400C13FB5 /* PrioritizeDialog.xib */,
CEC3F8F615765F9F00B26F0C /* DeletionOptions.xib */,
);
name = xib;
sourceTree = "<group>";
@ -600,6 +627,8 @@
CE9777CC141F8C2500C13FB5 /* PrioritizeDialog.m */,
CE89240614239CC30024CE4E /* PrioritizeList.h */,
CE89240714239CC30024CE4E /* PrioritizeList.m */,
CEC3F8FA157668A300B26F0C /* DeletionOptions.h */,
CEC3F8FB157668A300B26F0C /* DeletionOptions.m */,
CEB2AF5514C49AC800F907A9 /* main.m */,
);
name = dgbase;
@ -689,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;
};
@ -750,6 +788,8 @@
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;
};
@ -949,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 */

View File

@ -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

View 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()

View File

@ -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 ""

View File

@ -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?"

View File

@ -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 ""

View File

@ -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?"

View File

@ -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 ""

View File

@ -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."

View File

@ -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"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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?"

View File

@ -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 ""

View File

@ -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 файлы в корзину. Продолжить?"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -12,8 +12,7 @@ msgstr ""
"X-Poedit-Country: UKRAINE\n"
"X-Poedit-Language: Ukrainian\n"
#: core/gui/ignore_list_table.py:18
#: core/gui/ignore_list_table.py:19
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Шлях до файлу"
@ -22,23 +21,17 @@ msgstr "Шлях до файлу"
msgid "Error Message"
msgstr "Повідомлення про помилку"
#: core/prioritize.py:63
#: core_me/result_table.py:24
#: core_pe/result_table.py:21
#: 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 "Тип"
#: core/prioritize.py:72
#: core_me/result_table.py:19
#: core_pe/result_table.py:19
#: core/prioritize.py:72 core_me/result_table.py:19 core_pe/result_table.py:19
#: core_se/result_table.py:19
msgid "Folder"
msgstr "Папка"
#: core/prioritize.py:88
#: core_me/result_table.py:18
#: core_pe/result_table.py:18
#: 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 "Ім’я файлу"
@ -47,10 +40,8 @@ msgstr "Ім’я файлу"
msgid "Size"
msgstr "Розмір"
#: core/prioritize.py:138
#: core_me/result_table.py:25
#: core_pe/result_table.py:23
#: core_se/result_table.py:22
#: 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 "Дата модифікації"
@ -58,8 +49,7 @@ msgstr "Дата модифікації"
msgid "Duration"
msgstr "Тривалість"
#: core_me/prioritize.py:22
#: core_me/result_table.py:22
#: core_me/prioritize.py:22 core_me/result_table.py:22
msgid "Bitrate"
msgstr "Якість звуку"
@ -107,30 +97,24 @@ msgstr "Номер доріжки"
msgid "Comment"
msgstr "Коментар"
#: core_me/result_table.py:33
#: core_pe/result_table.py:24
#: core_me/result_table.py:33 core_pe/result_table.py:24
#: core_se/result_table.py:23
msgid "Match %"
msgstr "Збіг (%)"
#: core_me/result_table.py:34
#: core_se/result_table.py:24
#: core_me/result_table.py:34 core_se/result_table.py:24
msgid "Words Used"
msgstr "Використані слова"
#: core_me/result_table.py:35
#: core_pe/result_table.py:25
#: core_me/result_table.py:35 core_pe/result_table.py:25
#: core_se/result_table.py:25
msgid "Dupe Count"
msgstr "Кількість дублікатів"
#: core_pe/prioritize.py:16
#: core_pe/result_table.py:22
#: core_pe/prioritize.py:16 core_pe/result_table.py:22
msgid "Dimensions"
msgstr "Виміри"
#: core_pe/result_table.py:20
#: core_se/result_table.py:20
#: core_pe/result_table.py:20 core_se/result_table.py:20
msgid "Size (KB)"
msgstr "Розмір (KB)"

View File

@ -12,38 +12,39 @@ 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 копій відразу"
#: core/app.py:231
msgid "You cannot delete, move or copy more than 10 duplicates at once in demo mode."
msgstr "Ви не можете видаляти, переміщати або копіювати більше 10 дублікатів відразу в демонстраційному режимі."
#: core/app.py:258
msgid ""
"You cannot delete, move or copy more than 10 duplicates at once in demo "
"mode."
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 відкинуто)"
#: core/engine.py:178
#: core/engine.py:215
#: core/engine.py:178 core/engine.py:215
msgid "0 matches found"
msgstr "0 результатів знайдено"
#: core/engine.py:196
#: core/engine.py:223
#: core/engine.py:196 core/engine.py:223
msgid "%d matches found"
msgstr "%d результатів знайдено"
#: core/engine.py:208
#: core/scanner.py:80
#: core/engine.py:208 core/scanner.py:80
msgid "Read size of %d/%d files"
msgstr "Прочитано розмір %d/%d файлів"
@ -111,15 +112,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 результатів"
@ -127,64 +128,62 @@ 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
msgid "All selected %d matches are going to be ignored in all subsequent scans. Continue?"
msgstr "Усі обрані %d результатів будуть ігноруватися під час усіх наступних пошуків. Продовжити?"
#: core/app.py:279
msgid ""
"All selected %d matches are going to be ignored in all subsequent scans. "
"Continue?"
msgstr ""
"Усі обрані %d результатів будуть ігноруватися під час усіх наступних "
"пошуків. Продовжити?"
#: core/gui/ignore_list_dialog.py:24
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 ""

View File

@ -1,4 +1,4 @@
#
#
msgid ""
msgstr ""
"Project-Id-Version: Ukrainian\n"
@ -12,23 +12,19 @@ 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 "Пошук дублікатів"
#: 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 "Копіювання"
@ -44,8 +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 "Відправлення дублікатів до кошика"
@ -57,73 +52,68 @@ 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
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/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
#: qt/base/details_table.py:16 cocoa/base/en.lproj/DetailsPanel.strings:0
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
msgid "Attribute"
msgstr "Атрибут"
#: qt/base/details_table.py:16
#: cocoa/base/en.lproj/DetailsPanel.strings:0
#: qt/base/details_table.py:16 cocoa/base/en.lproj/DetailsPanel.strings:0
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
msgid "Selected"
msgstr "Обраний"
#: qt/base/details_table.py:16
#: qt/base/directories_model.py:21
#: qt/base/details_table.py:16 qt/base/directories_model.py:21
#: cocoa/base/en.lproj/DetailsPanel.strings:0
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
msgid "Reference"
msgstr "Посилання"
#: qt/base/directories_dialog.py:57
#: cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/directories_dialog.py:57 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Load Results..."
msgstr "Завантажити результати ..."
#: qt/base/directories_dialog.py:58
#: cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/directories_dialog.py:58 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Results Window"
msgstr "Вікно результатів"
@ -131,25 +121,21 @@ 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
#: qt/base/directories_dialog.py:73 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Load Recent Results"
msgstr "Завантажити нещодавні результати"
@ -172,18 +158,15 @@ msgstr "Шукати"
msgid "Unsaved results"
msgstr "Незбережені результати"
#: qt/base/directories_dialog.py:180
#: cocoa/base/en.lproj/Localizable.strings:0
#: 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 "Ви маєте незбережені результати, ви дійсно хочете вийти?"
#: qt/base/directories_dialog.py:188
#: cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Оберіть папку для додання в список пошуку"
#: qt/base/directories_dialog.py:205
#: cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Виберіть файл результатів для завантаження"
@ -191,8 +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) "
@ -200,8 +182,7 @@ msgstr "Результати dupeGuru (*.dupeguru) "
msgid "Start a new scan"
msgstr "Почати новий пошук"
#: qt/base/directories_dialog.py:218
#: cocoa/base/en.lproj/Localizable.strings:0
#: 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 "Ви маєте незбережені результати, ви дійсно хочете продовжити?"
@ -241,8 +222,7 @@ msgstr "Більше результатів"
msgid "Fewer Results"
msgstr "Менше результатів"
#: qt/base/preferences_dialog.py:88
#: cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/preferences_dialog.py:88 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Font size:"
@ -252,36 +232,31 @@ msgstr "Розмір шрифта:"
msgid "Language:"
msgstr "Мова:"
#: qt/base/preferences_dialog.py:98
#: cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/preferences_dialog.py:98 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Copy and Move:"
msgstr "Копіювання і переміщення:"
#: qt/base/preferences_dialog.py:101
#: cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/preferences_dialog.py:101 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Right in destination"
msgstr "Прямо у цільову папку"
#: qt/base/preferences_dialog.py:102
#: cocoa/se/en.lproj/Preferences.strings:0
#: 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 "Відтворити відносний шлях"
#: qt/base/preferences_dialog.py:103
#: cocoa/se/en.lproj/Preferences.strings:0
#: 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 "Відтворити абсолютний шлях"
#: qt/base/preferences_dialog.py:106
#: cocoa/me/en.lproj/Preferences.strings:0
#: 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 для посиланя):"
@ -297,54 +272,57 @@ msgstr "Змінити пріоритети дублікатів"
#: qt/base/prioritize_dialog.py:75
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information."
msgstr "Додайте критерії в праве поле і натисніть кнопку ОК, щоб відправити дублікати, які найкраще відповідають цим критеріям, до вихідної позиції відповідних груп. Прочитайте файл довідки для отримання додаткової інформації."
msgid ""
"Add criteria to the right box and click OK to send the dupes that correspond"
" 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
#: qt/base/problem_dialog.py:31 cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Problems!"
msgstr "Проблеми!"
#: qt/base/problem_dialog.py:35
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "There were problems processing some (or all) of the files. The cause of these problems are described in the table below. Those files were not removed from your results."
msgstr "Виникли проблеми під час обробки деяких (або всіх) файлів. Причини цих проблем описані в таблиці нижче. Ці файли не були видалені з результатів пошуку."
#: qt/base/problem_dialog.py:35 cocoa/base/en.lproj/ProblemDialog.strings:0
msgid ""
"There were problems processing some (or all) of the files. The cause of "
"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
#: qt/base/problem_dialog.py:52 cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Reveal Selected"
msgstr "Показати вибрані"
#: qt/base/problem_dialog.py:57
#: 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/me/details_dialog.py:20
#: qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20
#: cocoa/base/en.lproj/ResultWindow.strings:0
#: 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
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Dupes Only"
msgstr "Показати тільки дуплікати"
#: qt/base/result_window.py:50
#: cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Показати різницю"
@ -352,153 +330,124 @@ msgstr "Показати різницю"
msgid "Send Marked to Recycle Bin"
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 "Видалити позначене та замінити жорсткими посиланнями (hardlinks)"
#: qt/base/result_window.py:53
#: cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:52 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 "Оберіть файл у який слід зберегти ваші результати"
#: qt/me/preferences_dialog.py:39
#: qt/se/preferences_dialog.py:39
#: 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 "Ім’я файлу"
#: qt/me/preferences_dialog.py:40
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:40 cocoa/me/en.lproj/Preferences.strings:0
msgid "Filename - Fields"
msgstr "Ім’я файлу розбите на поля"
#: qt/me/preferences_dialog.py:41
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:41 cocoa/me/en.lproj/Preferences.strings:0
msgid "Filename - Fields (No Order)"
msgstr "Ім’я файлу розбите на поля (У довільному порядку)"
#: qt/me/preferences_dialog.py:42
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:42 cocoa/me/en.lproj/Preferences.strings:0
msgid "Tags"
msgstr "Теги"
#: qt/me/preferences_dialog.py:43
#: qt/pe/preferences_dialog.py:33
#: qt/se/preferences_dialog.py:40
#: cocoa/pe/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:43 qt/pe/preferences_dialog.py:33
#: qt/se/preferences_dialog.py:40 cocoa/pe/en.lproj/Preferences.strings:0
msgid "Contents"
msgstr "Зміст"
@ -506,126 +455,102 @@ msgstr "Зміст"
msgid "Audio Contents"
msgstr "Аудіо зміст"
#: qt/me/preferences_dialog.py:55
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:55 cocoa/me/en.lproj/Preferences.strings:0
msgid "Tags to scan:"
msgstr "Теги для пошуку:"
#: qt/me/preferences_dialog.py:61
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:61 cocoa/me/en.lproj/Preferences.strings:0
msgid "Track"
msgstr "Трек"
#: qt/me/preferences_dialog.py:63
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:63 cocoa/me/en.lproj/Preferences.strings:0
msgid "Artist"
msgstr "Артист"
#: qt/me/preferences_dialog.py:65
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:65 cocoa/me/en.lproj/Preferences.strings:0
msgid "Album"
msgstr "Альбом"
#: qt/me/preferences_dialog.py:67
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:67 cocoa/me/en.lproj/Preferences.strings:0
msgid "Title"
msgstr "Назва"
#: qt/me/preferences_dialog.py:69
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:69 cocoa/me/en.lproj/Preferences.strings:0
msgid "Genre"
msgstr "Жанр"
#: qt/me/preferences_dialog.py:71
#: cocoa/me/en.lproj/Preferences.strings:0
#: qt/me/preferences_dialog.py:71 cocoa/me/en.lproj/Preferences.strings:0
msgid "Year"
msgstr "Рік"
#: qt/me/preferences_dialog.py:75
#: qt/se/preferences_dialog.py:49
#: qt/me/preferences_dialog.py:75 qt/se/preferences_dialog.py:49
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
msgid "Word weighting"
msgstr "Порівнювати за словами"
#: qt/me/preferences_dialog.py:77
#: qt/se/preferences_dialog.py:51
#: 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 "Вважати схожі слова однаковими"
#: 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
#: 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 "Можна змішувати типи файлів"
#: 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
#: 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 "Використовувати регулярних виразів при фільтрації"
#: 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
#: 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 "Видалити порожні папки під час видалення чи переміщення"
#: 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
#: 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 "Ігнорувати дублікати, що є жорсткими посиланнями на той самий файл"
#: 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
#: 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 "Режим налагодження (потрібен перезапуск)"
#: qt/pe/preferences_dialog.py:34
#: cocoa/pe/en.lproj/Preferences.strings:0
#: qt/pe/preferences_dialog.py:34 cocoa/pe/en.lproj/Preferences.strings:0
msgid "EXIF Timestamp"
msgstr "Часова мітка EXIF"
#: qt/pe/preferences_dialog.py:39
#: cocoa/pe/en.lproj/Preferences.strings:0
#: qt/pe/preferences_dialog.py:39 cocoa/pe/en.lproj/Preferences.strings:0
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 "Кеш зображень очищено."
#: qt/se/preferences_dialog.py:41
#: cocoa/se/en.lproj/Preferences.strings:0
#: qt/se/preferences_dialog.py:41 cocoa/se/en.lproj/Preferences.strings:0
msgid "Folders"
msgstr "Папки"
@ -633,8 +558,7 @@ msgstr "Папки"
msgid "Ignore files smaller than"
msgstr "Ігнорувати файли менші ніж"
#: qt/se/preferences_dialog.py:71
#: cocoa/se/en.lproj/Preferences.strings:0
#: qt/se/preferences_dialog.py:71 cocoa/se/en.lproj/Preferences.strings:0
msgid "KB"
msgstr "КБ"
@ -667,13 +591,14 @@ msgstr "'%@' не існує."
msgid "The name '%@' already exists."
msgstr "Ім’я '%@' вже існує."
#: cocoa/inter/app_me.py:182
#: 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: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 немає мертвих треків "
@ -803,6 +728,8 @@ 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 "Скасувати"
@ -831,8 +758,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 "Тільки дублікати"
@ -919,36 +845,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 "Виконується взаємодія з програмою iTunes. Не чіпайте її!"
#: cocoa/inter/app_me.py:200
#: cocoa/inter/app_me.py:213
msgid "The iTunes application couldn't be found."
msgstr "Не можливо знайти програму iTunes"
#: qt/base/result_window.py:179
#: qt/base/result_window.py:173
msgid "Delta Values"
msgstr "Різниця"
#: cocoa/inter/app_me.py:176
msgid "There were communication problems with iTunes. The operation couldn't be completed."
#: cocoa/inter/app_me.py:185
msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
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
#: 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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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)

View File

@ -0,0 +1,64 @@
# 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.trans import trget
from qtlib.util import horizontalWrap
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"))
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

View File

@ -49,7 +49,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 +71,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 +89,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 +145,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 +239,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()