1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-25 08:01:39 +00:00

Compare commits

..

22 Commits

Author SHA1 Message Date
Virgil Dupras
a7bc76bf7c Small tweaks to the Brazilian loc. 2012-07-07 16:08:30 -04:00
Virgil Dupras
89fb531f3d me v6.4.2 2012-07-07 15:57:05 -04:00
Virgil Dupras
f22baa8d5a Fixed iTunes intergration which was broken since iTunes 10.6.3.
More info at http://www.leancrew.com/all-this/2012/06/the-first-nail-in-the-coffin-of-python-appscript/

I'm a bit late to the party. I hadn't realised that these crash reports were caused by iTunes 10.6.3... Oops.
2012-07-07 15:44:13 -04:00
Virgil Dupras
7c2e601a30 Brazilian loc tweaks by Victor Figueiredo. 2012-07-07 11:34:58 -04:00
Virgil Dupras
16e4a5fddd Brazilian localization by Victor Figueiredo. 2012-07-03 12:42:23 -04:00
Virgil Dupras
4200f2a090 Moved cocoa packaging logic that is common to all HS apps into hscommon.build. 2012-06-20 13:09:42 -04:00
Virgil Dupras
45c8291645 Fixed a few inconsistencies in debian packaging that were left from the /usr/local/share --> /usr/share move. 2012-06-16 07:57:52 -07:00
Virgil Dupras
89f8214bce Improved debian packaging by reducing metadata duplication in the project.
--HG--
rename : debian_se/compat => debian/compat
rename : debian_se/control => debian/control
rename : debian_se/copyright => debian/copyright
rename : debian_se/dirs => debian/dirs
rename : debian_se/dupeguru_se.desktop => debian/dupeguru.desktop
rename : debian_se/rules => debian/rules
2012-06-16 07:35:23 -07:00
Virgil Dupras
16e1ee93d0 Fixed ME cocoa project which had duplicate items in resource copying build phase. 2012-06-13 13:12:22 -04:00
Virgil Dupras
222ae73590 Fix bug where invalid xml in iTunes library would make dgme crash. 2012-06-13 13:11:48 -04:00
Virgil Dupras
21c0292154 Added tag pe2.6.0 for changeset c8a9a4d35592 2012-06-06 18:27:08 -04:00
Virgil Dupras
a7eb90894a Updated changelog. 2012-06-06 17:35:08 -04:00
Virgil Dupras
64baf2a10c PE's block module: Use sip.voidptr's ascapsule() instead of __int__() to retrieve its pointer.
It caused crashes under 32 bits when pointers would flip our long's most significant bit. (Well, at least that's what I think was going on).
2012-06-06 17:18:53 -04:00
Virgil Dupras
392a802ef1 Updated Ubuntu package requirements in README. For PE, python3-dev is required. 2012-06-06 15:44:21 -04:00
Virgil Dupras
8efeab7b40 In Cocoa interface units, added missing @dontwrap decorators where appropriate. 2012-06-06 15:09:38 -04:00
Virgil Dupras
8a86ecee38 pe v2.6.0 2012-06-06 15:02:19 -04:00
Virgil Dupras
3e79b57409 Updated loc. 2012-06-06 14:59:23 -04:00
Virgil Dupras
362e020585 Changed "Quicklook" in the main menu to "Quick Look" to follow Finder's label. 2012-06-06 14:45:28 -04:00
Virgil Dupras
df5c8ddf22 Appended "..." to "Send to Trash|Recycle bin" to indicate that a dialog is triggered by this action. 2012-06-06 14:40:23 -04:00
Virgil Dupras
70cc48d51f Updated help file to include iPhoto/Aperture/iTunes explanations. 2012-06-06 11:41:14 -04:00
Virgil Dupras
dccffd9516 [#42 state:fixed] Added Aperture support in dupeGuru PE. 2012-06-05 13:56:28 -04:00
Virgil Dupras
04056c1597 Added tag me6.4.1 for changeset e772f1de8674 2012-06-04 10:42:23 -04:00
74 changed files with 2667 additions and 896 deletions

View File

@@ -18,12 +18,6 @@ cocoa/autogen
cocoa/*/Info.plist
cocoa/*/build
cocoa/*/*.app
cocoa/*/dg_cocoa.plugin
cocoa/*/fr.lproj/*.xib
cocoa/*/de.lproj/*.xib
cocoa/*/zh_CN.lproj/*.xib
cocoa/*/cs.lproj/*.xib
cocoa/*/it.lproj/*.xib
cs.lproj
de.lproj
fr.lproj
@@ -32,6 +26,7 @@ hy.lproj
ru.lproj
uk.lproj
zh_CN.lproj
pt_BR.lproj
qt/base/*_rc.py
help/*/conf.py
help/*/changelog.rst

View File

@@ -75,3 +75,5 @@ c153aef25e5c9911f2197d13899591c50cf38ffc se3.4.1
71b7e18613f3790cea18cb0dd8c9c986ce237267 me6.3.1
c3d9f91dc9c9d60f370c72bc211f09be3e4fc18d se3.5.0
254bce83ad6e56c102d69fd603f6845e2324b470 me6.4.0
e772f1de86744999ffbbe5845554417965b1dfba me6.4.1
c8a9a4d355927e509f514308c82306192bc71f92 pe2.6.0

2
README
View File

@@ -86,7 +86,7 @@ ended up with problems.
Whenever you have a problem, always double-check that you're running the correct python version.
You'll probably have to tweak your $PATH.
To setup a build machine under Ubuntu 12.04 and up, install those packages: python3, python3-pyqt4,
To setup a build machine under Ubuntu 12.04 and up, install those packages: python3-dev, python3-pyqt4,
pyqt4-dev-tools, mercurial and then python3-setuptools. Once you've done that, install pip with
`easy_install`. Once you've done that, you can then perform "The easy way!" installation.

View File

@@ -16,10 +16,11 @@
"Do you really want to remove all your cached picture analysis?" = "Do you really want to remove all your cached picture analysis?";
"Add iTunes Directory" = "Add iTunes Directory";
"Add iTunes Library" = "Add iTunes Library";
"Remove Dead Tracks in iTunes" = "Remove Dead Tracks in iTunes";
"Add iPhoto Library" = "Add iPhoto Library";
"Add Aperture Library" = "Add Aperture Library";
"Clear Picture Cache" = "Clear Picture Cache";
"Yes" = "Yes";

View File

@@ -53,8 +53,8 @@
/* Class = "NSMenu"; title = "Actions"; ObjectID = "598"; */
"598.title" = "Actions";
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "599"; */
"599.title" = "Send Marked to Trash";
/* Class = "NSMenuItem"; title = "Send Marked to Trash..."; ObjectID = "599"; */
"599.title" = "Send Marked to Trash...";
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "600"; */
"600.title" = "Move Marked to...";
@@ -170,5 +170,11 @@
/* Class = "NSMenuItem"; title = "Re-Prioritize Results"; ObjectID = "1276"; */
"1276.title" = "Re-Prioritize Results";
/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "1280"; */
"1280.title" = "Quick Look";
/* Class = "NSMenuItem"; title = "Ignore List"; ObjectID = "1283"; */
"1283.title" = "Ignore List";
/* Class = "NSMenuItem"; title = "Filter Results..."; ObjectID = "1288"; */
"1288.title" = "Filter Results...";

View File

@@ -351,7 +351,7 @@
</object>
<object class="NSMenuItem" id="894871136">
<reference key="NSMenu" ref="600111647"/>
<string key="NSTitle">Send Marked to Trash</string>
<string key="NSTitle">Send Marked to Trash...</string>
<string key="NSKeyEquiv">t</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -574,7 +574,7 @@
</object>
<object class="NSMenuItem" id="343354529">
<reference key="NSMenu" ref="472719764"/>
<string key="NSTitle">Quicklook</string>
<string key="NSTitle">Quick Look</string>
<string key="NSKeyEquiv">l</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>

View File

@@ -29,8 +29,8 @@
/* Class = "NSToolbarItem"; paletteLabel = "Directories"; ObjectID = "19"; */
"19.paletteLabel" = "Directories";
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "29"; */
"29.title" = "Send Marked to Trash";
/* Class = "NSMenuItem"; title = "Send Marked to Trash..."; ObjectID = "29"; */
"29.title" = "Send Marked to Trash...";
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "30"; */
"30.title" = "Move Marked to...";
@@ -91,3 +91,9 @@
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "74"; */
"74.title" = "Open Selected with Default Application";
/* Class = "NSToolbarItem"; label = "Quick Look"; ObjectID = "86"; */
"86.label" = "Quick Look";
/* Class = "NSToolbarItem"; paletteLabel = "Quick Look"; ObjectID = "86"; */
"86.paletteLabel" = "Quick Look";

View File

@@ -161,7 +161,7 @@
<int key="NSvFlags">268</int>
<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>
@@ -218,7 +218,7 @@
<int key="NSvFlags">258</int>
<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>
@@ -310,7 +310,7 @@
<int key="NSvFlags">268</int>
<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">
@@ -377,7 +377,7 @@
<int key="NSvFlags">256</int>
<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>
@@ -418,7 +418,7 @@
<reference ref="764786770"/>
<object class="NSMenuItem" id="799999563">
<reference key="NSMenu" ref="778415311"/>
<string key="NSTitle">Send Marked to Trash</string>
<string key="NSTitle">Send Marked to Trash...</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="1054238029"/>
@@ -546,7 +546,7 @@
</object>
</array>
</object>
<int key="NSSelectedIndex">-1</int>
<int key="NSSelectedIndex">1</int>
<bool key="NSPullDown">YES</bool>
<int key="NSPreferredEdge">3</int>
<bool key="NSUsesItemFromMenu">YES</bool>
@@ -651,6 +651,7 @@
<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>
@@ -684,7 +685,7 @@
<string key="NSFrameSize">{557, 355}</string>
<reference key="NSSuperview" ref="607866053"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="684329735"/>
<reference key="NSNextKeyView" ref="777138208"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="215887725">
<reference key="NSNextResponder" ref="684329735"/>
@@ -785,7 +786,7 @@
<string key="NSFrame">{{0, 28}, {559, 373}}</string>
<reference key="NSSuperview" ref="709578684"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="607866053"/>
<reference key="NSNextKeyView" ref="684329735"/>
<int key="NSsFlags">133682</int>
<reference key="NSVScroller" ref="777138208"/>
<reference key="NSHScroller" ref="517980657"/>
@@ -1558,6 +1559,17 @@
<object class="IBPartialClassDescription">
<string key="className">ResultWindow</string>
<string key="superclassName">ResultWindowBase</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">clearPictureCache:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">clearPictureCache:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">clearPictureCache:</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>
@@ -1571,6 +1583,7 @@
<string key="copyMarked:">id</string>
<string key="exportToXHTML:">id</string>
<string key="filter:">id</string>
<string key="focusOnFilterField:">id</string>
<string key="ignoreSelected:">id</string>
<string key="invokeCustomCommand:">id</string>
<string key="markAll:">id</string>
@@ -1613,6 +1626,10 @@
<string key="name">filter:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="focusOnFilterField:">
<string key="name">focusOnFilterField:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="ignoreSelected:">
<string key="name">ignoreSelected:</string>
<string key="candidateClassName">id</string>
@@ -1748,18 +1765,10 @@
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<real value="4100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">

View File

@@ -7,15 +7,17 @@
# http://www.hardcoded.net/licenses/bsd_license
import logging
from appscript import app, its, k, CommandError, ApplicationNotFoundError
import plistlib
import time
import os.path as op
from appscript import app, its, k, CommandError, ApplicationNotFoundError
from . import tunes
from cocoa import as_fetch, proxy
from hscommon import io
from hscommon.trans import trget
from hscommon.path import Path
from hscommon.util import remove_invalid_xml
from core import directories
from core.app import JobType
@@ -54,7 +56,7 @@ class ITunesSong(fs.MusicFile):
def remove_from_library(self):
try:
a = app(ITUNES)
a = app(ITUNES, terms=tunes)
library = get_itunes_library(a)
if library is None:
return
@@ -78,7 +80,10 @@ def get_itunes_database_path():
def get_itunes_songs(plistpath):
if not io.exists(plistpath):
return []
plist = plistlib.readPlist(str(plistpath))
s = io.open(plistpath, 'rt', encoding='utf-8').read()
# iTunes sometimes produces XML files with invalid characters in it.
s = remove_invalid_xml(s, replace_with='')
plist = plistlib.readPlistFromBytes(s.encode('utf-8'))
result = []
for song_data in plist['Tracks'].values():
if song_data['Track Type'] != 'File':
@@ -158,7 +163,7 @@ class DupeGuruME(DupeGuruBase):
if any(isinstance(dupe, ITunesSong) for dupe in marked):
j.add_progress(0, desc=tr("Talking to iTunes. Don't touch it!"))
try:
a = app(ITUNES)
a = app(ITUNES, terms=tunes)
a.activate(timeout=0)
except (CommandError, RuntimeError, ApplicationNotFoundError):
pass
@@ -208,7 +213,7 @@ class DupeGuruME(DupeGuruBase):
def start_scanning(self):
if self.directories.has_itunes_path():
try:
app(ITUNES)
app(ITUNES, terms=tunes)
except ApplicationNotFoundError:
self.view.show_message(tr("The iTunes application couldn't be found."))
return
@@ -216,7 +221,7 @@ class DupeGuruME(DupeGuruBase):
def remove_dead_tracks(self):
def do(j):
a = app(ITUNES)
a = app(ITUNES, terms=tunes)
a.activate(timeout=0)
for index, track in enumerate(j.iter_with_progress(self.dead_tracks)):
if index % 100 == 0:
@@ -230,7 +235,7 @@ class DupeGuruME(DupeGuruBase):
def scan_dead_tracks(self):
def do(j):
a = app(ITUNES)
a = app(ITUNES, terms=tunes)
a.activate(timeout=0)
library = get_itunes_library(a)
if library is None:

View File

@@ -11,16 +11,17 @@ import plistlib
import logging
import re
from appscript import app, its, CommandError, ApplicationNotFoundError
from appscript import app, its, k, CommandError, ApplicationNotFoundError
from hscommon import io
from hscommon.util import remove_invalid_xml
from hscommon.util import remove_invalid_xml, first
from hscommon.path import Path
from hscommon.trans import trget
from cocoa import proxy
from core.scanner import ScanType
from core import directories
from core.app import JobType
from core_pe import _block_osx
from core_pe.photo import Photo as PhotoBase
from core_pe.app import DupeGuru as DupeGuruBase
@@ -29,6 +30,7 @@ from .app import PyDupeGuruBase
tr = trget('ui')
IPHOTO_PATH = Path('iPhoto Library')
APERTURE_PATH = Path('Aperture Library')
class Photo(PhotoBase):
HANDLED_EXTS = PhotoBase.HANDLED_EXTS.copy()
@@ -48,18 +50,25 @@ class Photo(PhotoBase):
class IPhoto(Photo):
def __init__(self, path, db_id):
# In IPhoto, we don't care about the db_id, we find photos by path.
Photo.__init__(self, path)
@property
def display_folder_path(self):
return IPHOTO_PATH
def get_iphoto_database_path():
plisturls = proxy.prefValue_inDomain_('iPhotoRecentDatabases', 'com.apple.iApps')
if not plisturls:
raise directories.InvalidPathError()
plistpath = proxy.url2path_(plisturls[0])
return Path(plistpath)
def get_iphoto_pictures(plistpath):
class AperturePhoto(Photo):
def __init__(self, path, db_id):
Photo.__init__(self, path)
self.db_id = db_id
@property
def display_folder_path(self):
return APERTURE_PATH
def get_iphoto_or_aperture_pictures(plistpath, photo_class):
# The structure of iPhoto and Aperture libraries for the base photo list are excactly the same.
if not io.exists(plistpath):
return []
s = io.open(plistpath, 'rt', encoding='utf-8').read()
@@ -73,14 +82,33 @@ def get_iphoto_pictures(plistpath):
logging.warning("%d invalid XML entities replacement made", count)
plist = plistlib.readPlistFromBytes(s.encode('utf-8'))
result = []
for photo_data in plist['Master Image List'].values():
for key, photo_data in plist['Master Image List'].items():
if photo_data['MediaType'] != 'Image':
continue
photo_path = Path(photo_data['ImagePath'])
photo = IPhoto(photo_path)
photo = photo_class(photo_path, key)
result.append(photo)
return result
def get_iphoto_pictures(plistpath):
return get_iphoto_or_aperture_pictures(plistpath, IPhoto)
def get_aperture_pictures(plistpath):
return get_iphoto_or_aperture_pictures(plistpath, AperturePhoto)
def get_iapps_database_path(prefname):
plisturls = proxy.prefValue_inDomain_(prefname, 'com.apple.iApps')
if not plisturls:
raise directories.InvalidPathError()
plistpath = proxy.url2path_(plisturls[0])
return Path(plistpath)
def get_iphoto_database_path():
return get_iapps_database_path('iPhotoRecentDatabases')
def get_aperture_database_path():
return get_iapps_database_path('ApertureLibraries')
class Directories(directories.Directories):
def __init__(self):
directories.Directories.__init__(self, fileclasses=[Photo])
@@ -89,6 +117,11 @@ class Directories(directories.Directories):
self.set_state(self.iphoto_libpath[:-1], directories.DirectoryState.Excluded)
except directories.InvalidPathError:
self.iphoto_libpath = None
try:
self.aperture_libpath = get_aperture_database_path()
self.set_state(self.aperture_libpath[:-1], directories.DirectoryState.Excluded)
except directories.InvalidPathError:
self.aperture_libpath = None
def _get_files(self, from_path, j):
if from_path == IPHOTO_PATH:
@@ -99,25 +132,33 @@ class Directories(directories.Directories):
for photo in photos:
photo.is_ref = is_ref
return photos
elif from_path == APERTURE_PATH:
if self.aperture_libpath is None:
return []
is_ref = self.get_state(from_path) == directories.DirectoryState.Reference
photos = get_aperture_pictures(self.aperture_libpath)
for photo in photos:
photo.is_ref = is_ref
return photos
else:
return directories.Directories._get_files(self, from_path, j)
@staticmethod
def get_subfolders(path):
if path == IPHOTO_PATH:
if path in {IPHOTO_PATH, APERTURE_PATH}:
return []
else:
return directories.Directories.get_subfolders(path)
def add_path(self, path):
if path == IPHOTO_PATH:
if path in {IPHOTO_PATH, APERTURE_PATH}:
if path not in self:
self._dirs.append(path)
else:
directories.Directories.add_path(self, path)
def has_iphoto_path(self):
return any(path == IPHOTO_PATH for path in self._dirs)
return any(path in {IPHOTO_PATH, APERTURE_PATH} for path in self._dirs)
def has_any_file(self):
# If we don't do that, it causes a hangup in the GUI when we click Start Scanning because
@@ -140,6 +181,7 @@ class DupeGuruPE(DupeGuruBase):
j.add_progress()
return self._do_delete_dupe(dupe, replace_with_hardlinks, direct_deletion)
self.deleted_aperture_photos = False
marked = [dupe for dupe in self.results.dupes if self.results.is_marked(dupe)]
j.start_job(self.results.mark_count, tr("Sending dupes to the Trash"))
if any(isinstance(dupe, IPhoto) for dupe in marked):
@@ -150,6 +192,14 @@ class DupeGuruPE(DupeGuruBase):
a.select(a.photo_library_album(timeout=0), timeout=0)
except (CommandError, RuntimeError, ApplicationNotFoundError):
pass
if any(isinstance(dupe, AperturePhoto) for dupe in marked):
self.deleted_aperture_photos = True
j.add_progress(0, desc=tr("Talking to Aperture. Don't touch it!"))
try:
a = app('Aperture')
a.activate(timeout=0)
except (CommandError, RuntimeError, ApplicationNotFoundError):
pass
self.results.perform_on_marked(op, True)
def _do_delete_dupe(self, dupe, replace_with_hardlinks, direct_deletion):
@@ -167,16 +217,61 @@ class DupeGuruPE(DupeGuruBase):
raise EnvironmentError(msg)
except (CommandError, RuntimeError) as e:
raise EnvironmentError(str(e))
if isinstance(dupe, AperturePhoto):
try:
a = app('Aperture')
# I'm flying blind here. In my own test library, all photos are in an album with the
# id "LibraryFolder", so I'm going to guess that it's the case at least most of the
# time. As a safeguard, if we don't find any library with that id, we'll use the
# first album.
# Now, about deleting: All attempts I've made at sending photos to trash failed,
# even with normal applescript. So, what we're going to do here is to create a
# "dupeGuru Trash" project and tell the user to manually send those photos to trash.
libraries = a.libraries()
library = first(l for l in libraries if l.id == 'LibraryFolder')
if library is None:
library = libraries[0]
trash_project = a.projects["dupeGuru Trash"]
if trash_project.exists():
trash_project = trash_project()
else:
trash_project = library.make(new=k.project, with_properties={k.name: "dupeGuru Trash"})
[photo] = library.image_versions[its.id == dupe.db_id]()
photo.move(to=trash_project)
except (IndexError, ValueError):
msg = "Could not find photo '{}' in Aperture Library".format(str(dupe.path))
raise EnvironmentError(msg)
except (CommandError, RuntimeError) as e:
raise EnvironmentError(str(e))
else:
DupeGuruBase._do_delete_dupe(self, dupe, replace_with_hardlinks, direct_deletion)
def _create_file(self, path):
if (self.directories.iphoto_libpath is not None) and (path in self.directories.iphoto_libpath[:-1]):
return IPhoto(path)
if not hasattr(self, 'path2iphoto'):
photos = get_iphoto_pictures(self.directories.iphoto_libpath)
self.path2iphoto = {p.path: p for p in photos}
return self.path2iphoto.get(path)
if (self.directories.aperture_libpath is not None) and (path in self.directories.aperture_libpath[:-1]):
if not hasattr(self, 'path2aperture'):
photos = get_aperture_pictures(self.directories.aperture_libpath)
self.path2aperture = {p.path: p for p in photos}
return self.path2aperture.get(path)
return DupeGuruBase._create_file(self, path)
def _job_completed(self, jobid, exc):
DupeGuruBase._job_completed(self, jobid, exc)
if jobid == JobType.Load:
if hasattr(self, 'path2iphoto'):
del self.path2iphoto
if hasattr(self, 'path2aperture'):
del self.path2aperture
if jobid == JobType.Delete and self.deleted_aperture_photos:
msg = tr("Deleted Aperture photos were sent to a project called \"dupeGuru Trash\".")
self.view.show_message(msg)
def copy_or_move(self, dupe, copy, destination, dest_type):
if isinstance(dupe, IPhoto):
if isinstance(dupe, (IPhoto, AperturePhoto)):
copy = True
return DupeGuruBase.copy_or_move(self, dupe, copy, destination, dest_type)

View File

@@ -5,6 +5,7 @@
# which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license
from objp.util import dontwrap
from cocoa.inter import PyGUIObject, GUIObjectView
class DeletionOptionsView(GUIObjectView):
@@ -19,9 +20,11 @@ class PyDeletionOptions(PyGUIObject):
self.model.direct = direct
#--- model --> view
@dontwrap
def update_msg(self, msg):
self.callback.updateMsg_(msg)
@dontwrap
def show(self):
return self.callback.show()

View File

@@ -1,4 +1,4 @@
from objp.util import pyref
from objp.util import pyref, dontwrap
from cocoa.inter import PyGUIObject, GUIObjectView
class IgnoreListDialogView(GUIObjectView):
@@ -15,6 +15,7 @@ class PyIgnoreListDialog(PyGUIObject):
self.model.clear()
#--- model --> view
@dontwrap
def show(self):
self.callback.show()

282
cocoa/inter/tunes.py Normal file
View File

@@ -0,0 +1,282 @@
# Taken from https://github.com/abarnert/itunesterms
version = 1.1
path = '/Applications/iTunes.app'
classes = \
[('print_settings', b'pset'),
('application', b'capp'),
('artwork', b'cArt'),
('audio_CD_playlist', b'cCDP'),
('audio_CD_track', b'cCDT'),
('browser_window', b'cBrW'),
('device_playlist', b'cDvP'),
('device_track', b'cDvT'),
('encoder', b'cEnc'),
('EQ_preset', b'cEQP'),
('EQ_window', b'cEQW'),
('file_track', b'cFlT'),
('folder_playlist', b'cFoP'),
('item', b'cobj'),
('library_playlist', b'cLiP'),
('playlist', b'cPly'),
('playlist_window', b'cPlW'),
('radio_tuner_playlist', b'cRTP'),
('shared_track', b'cShT'),
('source', b'cSrc'),
('track', b'cTrk'),
('URL_track', b'cURT'),
('user_playlist', b'cUsP'),
('visual', b'cVis'),
('window', b'cwin')]
enums = \
[('track_listing', b'kTrk'),
('album_listing', b'kAlb'),
('cd_insert', b'kCDi'),
('standard', b'lwst'),
('detailed', b'lwdt'),
('stopped', b'kPSS'),
('playing', b'kPSP'),
('paused', b'kPSp'),
('fast_forwarding', b'kPSF'),
('rewinding', b'kPSR'),
('off', b'kRpO'),
('one', b'kRp1'),
('all', b'kAll'),
('small', b'kVSS'),
('medium', b'kVSM'),
('large', b'kVSL'),
('library', b'kLib'),
('iPod', b'kPod'),
('audio_CD', b'kACD'),
('MP3_CD', b'kMCD'),
('device', b'kDev'),
('radio_tuner', b'kTun'),
('shared_library', b'kShd'),
('unknown', b'kUnk'),
('albums', b'kSrL'),
('artists', b'kSrR'),
('composers', b'kSrC'),
('displayed', b'kSrV'),
('songs', b'kSrS'),
('none', b'kNon'),
('Books', b'kSpA'),
('folder', b'kSpF'),
('Genius', b'kSpG'),
('iTunes_U', b'kSpU'),
('Library', b'kSpL'),
('Movies', b'kSpI'),
('Music', b'kSpZ'),
('Party_Shuffle', b'kSpS'),
('Podcasts', b'kSpP'),
('Purchased_Music', b'kSpM'),
('TV_Shows', b'kSpT'),
('movie', b'kVdM'),
('music_video', b'kVdV'),
('TV_show', b'kVdT'),
('user', b'kRtU'),
('computed', b'kRtC')]
properties = \
[('copies', b'lwcp'),
('collating', b'lwcl'),
('starting_page', b'lwfp'),
('ending_page', b'lwlp'),
('pages_across', b'lwla'),
('pages_down', b'lwld'),
('error_handling', b'lweh'),
('requested_print_time', b'lwqt'),
('printer_features', b'lwpf'),
('fax_number', b'faxn'),
('target_printer', b'trpr'),
('current_encoder', b'pEnc'),
('current_EQ_preset', b'pEQP'),
('current_playlist', b'pPla'),
('current_stream_title', b'pStT'),
('current_stream_URL', b'pStU'),
('current_track', b'pTrk'),
('current_visual', b'pVis'),
('EQ_enabled', b'pEQ '),
('fixed_indexing', b'pFix'),
('frontmost', b'pisf'),
('full_screen', b'pFSc'),
('name', b'pnam'),
('mute', b'pMut'),
('player_position', b'pPos'),
('player_state', b'pPlS'),
('selection', b'sele'),
('sound_volume', b'pVol'),
('version', b'vers'),
('visuals_enabled', b'pVsE'),
('visual_size', b'pVSz'),
('data', b'pPCT'),
('description', b'pDes'),
('downloaded', b'pDlA'),
('format', b'pFmt'),
('kind', b'pKnd'),
('raw_data', b'pRaw'),
('artist', b'pArt'),
('compilation', b'pAnt'),
('composer', b'pCmp'),
('disc_count', b'pDsC'),
('disc_number', b'pDsN'),
('genre', b'pGen'),
('year', b'pYr '),
('location', b'pLoc'),
('minimized', b'pMin'),
('view', b'pPly'),
('band_1', b'pEQ1'),
('band_2', b'pEQ2'),
('band_3', b'pEQ3'),
('band_4', b'pEQ4'),
('band_5', b'pEQ5'),
('band_6', b'pEQ6'),
('band_7', b'pEQ7'),
('band_8', b'pEQ8'),
('band_9', b'pEQ9'),
('band_10', b'pEQ0'),
('modifiable', b'pMod'),
('preamp', b'pEQA'),
('update_tracks', b'pUTC'),
('container', b'ctnr'),
('id', b'ID '),
('index', b'pidx'),
('persistent_ID', b'pPIS'),
('duration', b'pDur'),
('parent', b'pPlP'),
('shuffle', b'pShf'),
('size', b'pSiz'),
('song_repeat', b'pRpt'),
('special_kind', b'pSpK'),
('time', b'pTim'),
('visible', b'pvis'),
('capacity', b'capa'),
('free_space', b'frsp'),
('album', b'pAlb'),
('album_artist', b'pAlA'),
('album_rating', b'pAlR'),
('album_rating_kind', b'pARk'),
('bit_rate', b'pBRt'),
('bookmark', b'pBkt'),
('bookmarkable', b'pBkm'),
('bpm', b'pBPM'),
('category', b'pCat'),
('comment', b'pCmt'),
('database_ID', b'pDID'),
('date_added', b'pAdd'),
('enabled', b'enbl'),
('episode_ID', b'pEpD'),
('episode_number', b'pEpN'),
('EQ', b'pEQp'),
('finish', b'pStp'),
('gapless', b'pGpl'),
('grouping', b'pGrp'),
('long_description', b'pLds'),
('lyrics', b'pLyr'),
('modification_date', b'asmo'),
('played_count', b'pPlC'),
('played_date', b'pPlD'),
('podcast', b'pTPc'),
('rating', b'pRte'),
('rating_kind', b'pRtk'),
('release_date', b'pRlD'),
('sample_rate', b'pSRt'),
('season_number', b'pSeN'),
('shufflable', b'pSfa'),
('skipped_count', b'pSkC'),
('skipped_date', b'pSkD'),
('show', b'pShw'),
('sort_album', b'pSAl'),
('sort_artist', b'pSAr'),
('sort_album_artist', b'pSAA'),
('sort_name', b'pSNm'),
('sort_composer', b'pSCm'),
('sort_show', b'pSSN'),
('start', b'pStr'),
('track_count', b'pTrC'),
('track_number', b'pTrN'),
('unplayed', b'pUnp'),
('video_kind', b'pVdK'),
('volume_adjustment', b'pAdj'),
('address', b'pURL'),
('shared', b'pShr'),
('smart', b'pSmt'),
('bounds', b'pbnd'),
('closeable', b'hclb'),
('collapseable', b'pWSh'),
('collapsed', b'wshd'),
('position', b'ppos'),
('resizable', b'prsz'),
('zoomable', b'iszm'),
('zoomed', b'pzum')]
elements = \
[('artworks', b'cArt'),
('audio_CD_playlists', b'cCDP'),
('audio_CD_tracks', b'cCDT'),
('browser_windows', b'cBrW'),
('device_playlists', b'cDvP'),
('device_tracks', b'cDvT'),
('encoders', b'cEnc'),
('EQ_presets', b'cEQP'),
('EQ_windows', b'cEQW'),
('file_tracks', b'cFlT'),
('folder_playlists', b'cFoP'),
('items', b'cobj'),
('library_playlists', b'cLiP'),
('playlists', b'cPly'),
('playlist_windows', b'cPlW'),
('radio_tuner_playlists', b'cRTP'),
('shared_tracks', b'cShT'),
('sources', b'cSrc'),
('tracks', b'cTrk'),
('URL_tracks', b'cURT'),
('user_playlists', b'cUsP'),
('visuals', b'cVis'),
('windows', b'cwin'),
('application', b'capp'),
('print_settings', b'pset')]
commands = \
[('set', b'coresetd', [('to', b'data')]),
('exists', b'coredoex', []),
('move', b'coremove', [('to', b'insh')]),
('subscribe', b'hookpSub', []),
('playpause', b'hookPlPs', []),
('download', b'hookDwnl', []),
('close', b'coreclos', []),
('open', b'aevtodoc', []),
('open_location', b'GURLGURL', []),
('quit', b'aevtquit', []),
('pause', b'hookPaus', []),
('make',
'corecrel',
[('new', b'kocl'), ('at', b'insh'), ('with_properties', b'prdt')]),
('duplicate', b'coreclon', [('to', b'insh')]),
('print_',
'aevtpdoc',
[('print_dialog', b'pdlg'),
('with_properties', b'prdt'),
('kind', b'pKnd'),
('theme', b'pThm')]),
('add', b'hookAdd ', [('to', b'insh')]),
('rewind', b'hookRwnd', []),
('play', b'hookPlay', [('once', b'POne')]),
('run', b'aevtoapp', []),
('resume', b'hookResu', []),
('updatePodcast', b'hookUpd1', []),
('next_track', b'hookNext', []),
('stop', b'hookStop', []),
('search', b'hookSrch', [('for_', b'pTrm'), ('only', b'pAre')]),
('updateAllPodcasts', b'hookUpdp', []),
('update', b'hookUpdt', []),
('previous_track', b'hookPrev', []),
('fast_forward', b'hookFast', []),
('count', b'corecnte', [('each', b'kocl')]),
('reveal', b'hookRevl', []),
('convert', b'hookConv', []),
('eject', b'hookEjct', []),
('back_track', b'hookBack', []),
('refresh', b'hookRfrs', []),
('delete', b'coredelo', [])]

View File

@@ -43,6 +43,18 @@
CE1425890AFB718500BD5167 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
CE14259F0AFB719300BD5167 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
CE1EAA0A12DF3E81009BA949 /* HSRecentFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */; };
CE20A79315A2843F00FAC2BA /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185513D8660000B8CDCA /* about.xib */; };
CE20A79415A2843F00FAC2BA /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185713D8660000B8CDCA /* ErrorReportWindow.xib */; };
CE20A79515A2843F00FAC2BA /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */; };
CE20A79815A2845A00FAC2BA /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */; };
CE20A7A115A2847500FAC2BA /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */; };
CE20A7A215A2847500FAC2BA /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */; };
CE20A7A315A2847500FAC2BA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331112E5D3ED0029EF25 /* MainMenu.xib */; };
CE20A7A415A2847500FAC2BA /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */; };
CE20A7A515A2847500FAC2BA /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */; };
CE20A7A615A2847500FAC2BA /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331512E5D3ED0029EF25 /* ResultWindow.xib */; };
CE20A7A715A2847500FAC2BA /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05332112E5D4100029EF25 /* Preferences.xib */; };
CE20A7A815A2847500FAC2BA /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */; };
CE2239A2148FFE6600B3DC99 /* HSColumns.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2239A1148FFE6600B3DC99 /* HSColumns.m */; };
CE2E87F9142BC90A00519A68 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2E87F8142BC90A00519A68 /* Quartz.framework */; };
CE2E87FD142BC92C00519A68 /* HSQuicklook.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2E87FC142BC92C00519A68 /* HSQuicklook.m */; };
@@ -91,14 +103,6 @@
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 */; };
@@ -181,6 +185,18 @@
CE1425880AFB718500BD5167 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = "<absolute>"; };
CE1EAA0812DF3E81009BA949 /* HSRecentFiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSRecentFiles.h; path = ../../cocoalib/HSRecentFiles.h; sourceTree = SOURCE_ROOT; };
CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSRecentFiles.m; path = ../../cocoalib/HSRecentFiles.m; sourceTree = SOURCE_ROOT; };
CE20A79015A2843F00FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/about.xib; sourceTree = "<group>"; };
CE20A79115A2843F00FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CE20A79215A2843F00FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
CE20A79715A2845A00FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = pt_BR.lproj/Preferences.xib; sourceTree = "<group>"; };
CE20A79915A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
CE20A79A15A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DetailsPanel.xib; sourceTree = "<group>"; };
CE20A79B15A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DirectoryPanel.xib; sourceTree = "<group>"; };
CE20A79C15A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE20A79D15A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/MainMenu.xib; sourceTree = "<group>"; };
CE20A79E15A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
CE20A79F15A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/ProblemDialog.xib; sourceTree = "<group>"; };
CE20A7A015A2847500FAC2BA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/ResultWindow.xib; sourceTree = "<group>"; };
CE2239A0148FFE6600B3DC99 /* HSColumns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSColumns.h; sourceTree = "<group>"; };
CE2239A1148FFE6600B3DC99 /* HSColumns.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSColumns.m; sourceTree = "<group>"; };
CE2B2B5A1406ABDA0038D15A /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = ../base/de.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -698,6 +714,7 @@
hy,
ru,
uk,
pt_BR,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* dupeguru */;
projectDirPath = "";
@@ -734,14 +751,18 @@
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 */,
CE20A79315A2843F00FAC2BA /* about.xib in Resources */,
CE20A79415A2843F00FAC2BA /* ErrorReportWindow.xib in Resources */,
CE20A79515A2843F00FAC2BA /* FairwareReminder.xib in Resources */,
CE20A79815A2845A00FAC2BA /* DetailsPanel.xib in Resources */,
CE20A7A115A2847500FAC2BA /* DetailsPanel.xib in Resources */,
CE20A7A215A2847500FAC2BA /* DirectoryPanel.xib in Resources */,
CE20A7A315A2847500FAC2BA /* MainMenu.xib in Resources */,
CE20A7A415A2847500FAC2BA /* ProblemDialog.xib in Resources */,
CE20A7A515A2847500FAC2BA /* IgnoreListDialog.xib in Resources */,
CE20A7A615A2847500FAC2BA /* ResultWindow.xib in Resources */,
CE20A7A715A2847500FAC2BA /* Preferences.xib in Resources */,
CE20A7A815A2847500FAC2BA /* PrioritizeDialog.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -824,6 +845,7 @@
CEC3D37C14911253006B1A91 /* hy */,
CE335AF714B393EE0000AF1A /* ru */,
CE35FCF514C637DD004E4864 /* uk */,
CE20A79A15A2847500FAC2BA /* pt_BR */,
);
name = DetailsPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -840,6 +862,7 @@
CEC3D37D14911253006B1A91 /* hy */,
CE335AF814B393EE0000AF1A /* ru */,
CE35FCF614C637DD004E4864 /* uk */,
CE20A79B15A2847500FAC2BA /* pt_BR */,
);
name = DirectoryPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -856,6 +879,7 @@
CEC3D37F14911253006B1A91 /* hy */,
CE335AFA14B393EE0000AF1A /* ru */,
CE35FCF814C637DD004E4864 /* uk */,
CE20A79D15A2847500FAC2BA /* pt_BR */,
);
name = MainMenu.xib;
sourceTree = SOURCE_ROOT;
@@ -872,6 +896,7 @@
CEC3D38114911253006B1A91 /* hy */,
CE335AFC14B393EE0000AF1A /* ru */,
CE35FCFA14C637DD004E4864 /* uk */,
CE20A79F15A2847500FAC2BA /* pt_BR */,
);
name = ProblemDialog.xib;
sourceTree = SOURCE_ROOT;
@@ -888,6 +913,7 @@
CEC3D38214911253006B1A91 /* hy */,
CE335AFD14B393EE0000AF1A /* ru */,
CE35FCFB14C637DD004E4864 /* uk */,
CE20A7A015A2847500FAC2BA /* pt_BR */,
);
name = ResultWindow.xib;
sourceTree = SOURCE_ROOT;
@@ -904,6 +930,7 @@
CEC3D38B14911263006B1A91 /* hy */,
CE335B0514B393FB0000AF1A /* ru */,
CE35FD0314C637EC004E4864 /* uk */,
CE20A79715A2845A00FAC2BA /* pt_BR */,
);
name = Preferences.xib;
sourceTree = SOURCE_ROOT;
@@ -936,6 +963,7 @@
CE11959C151100020063C8AF /* ru */,
CE11959D151100020063C8AF /* uk */,
CE11959E151100020063C8AF /* zh_CN */,
CE20A79C15A2847500FAC2BA /* pt_BR */,
);
name = IgnoreListDialog.xib;
sourceTree = "<group>";
@@ -952,6 +980,7 @@
CEC3D39114911288006B1A91 /* hy */,
CE335AF014B393C60000AF1A /* ru */,
CE35FCEE14C637B8004E4864 /* uk */,
CE20A79215A2843F00FAC2BA /* pt_BR */,
);
name = FairwareReminder.xib;
path = ../../cocoalib/xib;
@@ -969,6 +998,7 @@
CEC3D38014911253006B1A91 /* hy */,
CE335AFB14B393EE0000AF1A /* ru */,
CE35FCF914C637DD004E4864 /* uk */,
CE20A79E15A2847500FAC2BA /* pt_BR */,
);
name = PrioritizeDialog.xib;
sourceTree = "<group>";
@@ -977,14 +1007,15 @@
isa = PBXVariantGroup;
children = (
CEA39F9A157679FB00F294DE /* en */,
CEA39F98157679FB00F294DE /* cs */,
CEA39F99157679FB00F294DE /* de */,
CEA39F98157679FB00F294DE /* cs */,
CEA39F99157679FB00F294DE /* de */,
CEA39F9B157679FB00F294DE /* fr */,
CEA39F9C157679FB00F294DE /* hy */,
CEA39F9D157679FB00F294DE /* it */,
CEA39F9E157679FB00F294DE /* ru */,
CEA39F9F157679FB00F294DE /* uk */,
CEA39FA0157679FB00F294DE /* zh_CN */,
CE20A79915A2847500FAC2BA /* pt_BR */,
);
name = DeletionOptions.xib;
sourceTree = "<group>";
@@ -1001,6 +1032,7 @@
CEC3D38F14911288006B1A91 /* hy */,
CE335AEE14B393C60000AF1A /* ru */,
CE35FCEC14C637B8004E4864 /* uk */,
CE20A79015A2843F00FAC2BA /* pt_BR */,
);
name = about.xib;
sourceTree = "<group>";
@@ -1017,6 +1049,7 @@
CEC3D39014911288006B1A91 /* hy */,
CE335AEF14B393C60000AF1A /* ru */,
CE35FCED14C637B8004E4864 /* uk */,
CE20A79115A2843F00FAC2BA /* pt_BR */,
);
name = ErrorReportWindow.xib;
sourceTree = "<group>";

View File

@@ -13,4 +13,5 @@ http://www.hardcoded.net/licenses/bsd_license
{
}
- (IBAction)addiPhoto:(id)sender;
- (IBAction)addAperture:(id)sender;
@end

View File

@@ -24,10 +24,18 @@ http://www.hardcoded.net/licenses/bsd_license
NSMenuItem *mi = [m insertItemWithTitle:TR(@"Add iPhoto Library") action:@selector(addiPhoto:)
keyEquivalent:@"" atIndex:1];
[mi setTarget:self];
mi = [m insertItemWithTitle:TR(@"Add Aperture Library") action:@selector(addAperture:)
keyEquivalent:@"" atIndex:2];
[mi setTarget:self];
}
- (IBAction)addiPhoto:(id)sender
{
[self addDirectory:@"iPhoto Library"];
}
- (IBAction)addAperture:(id)sender
{
[self addDirectory:@"Aperture Library"];
}
@end

View File

@@ -16,6 +16,18 @@
CE0533A812E5DA4D0029EF25 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
CE0533AB12E5DA6A0029EF25 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A912E5DA6A0029EF25 /* Localizable.strings */; };
CE073F6309CAE1A3005C1D2F /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
CE09AF4615A284F600BD431C /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECB2AC113D867AD0081E295 /* about.xib */; };
CE09AF4715A284F600BD431C /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECB2AC313D867AD0081E295 /* ErrorReportWindow.xib */; };
CE09AF4815A284F600BD431C /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */; };
CE09AF4C15A2851100BD431C /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339312E5DA350029EF25 /* DirectoryPanel.xib */; };
CE09AF4D15A2851100BD431C /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339512E5DA350029EF25 /* MainMenu.xib */; };
CE09AF5515A2852600BD431C /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339312E5DA350029EF25 /* DirectoryPanel.xib */; };
CE09AF5615A2852600BD431C /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339512E5DA350029EF25 /* MainMenu.xib */; };
CE09AF5715A2852600BD431C /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339712E5DA350029EF25 /* ProblemDialog.xib */; };
CE09AF5815A2852600BD431C /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7857951511019400174D51 /* IgnoreListDialog.xib */; };
CE09AF5915A2852600BD431C /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
CE09AF5A15A2852600BD431C /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
CE09AF5B15A2852600BD431C /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
CE0C2AB61177011000BC749F /* HSTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0C2AB51177011000BC749F /* HSTable.m */; };
CE0C2ABD1177014200BC749F /* ProblemDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0C2ABB1177014200BC749F /* ProblemDialog.m */; };
CE15C8A80ADEB8B50061D4A5 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */; };
@@ -149,6 +161,18 @@
CE0533AE12E5DAAD0029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/Preferences.xib; sourceTree = "<group>"; };
CE0533B712E5DC040029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../../cocoalib/fr.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
CE073F5409CAE1A3005C1D2F /* help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = help; path = ../../build/help; sourceTree = SOURCE_ROOT; };
CE09AF4315A284F600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/about.xib; sourceTree = "<group>"; };
CE09AF4415A284F600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CE09AF4515A284F600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
CE09AF4A15A2851100BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = pt_BR.lproj/DetailsPanel.xib; sourceTree = "<group>"; };
CE09AF4B15A2851100BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = pt_BR.lproj/Preferences.xib; sourceTree = "<group>"; };
CE09AF4E15A2852600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
CE09AF4F15A2852600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DirectoryPanel.xib; sourceTree = "<group>"; };
CE09AF5015A2852600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE09AF5115A2852600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/MainMenu.xib; sourceTree = "<group>"; };
CE09AF5215A2852600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
CE09AF5315A2852600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/ProblemDialog.xib; sourceTree = "<group>"; };
CE09AF5415A2852600BD431C /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/ResultWindow.xib; sourceTree = "<group>"; };
CE0C2AB41177011000BC749F /* HSTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSTable.h; sourceTree = "<group>"; };
CE0C2AB51177011000BC749F /* HSTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSTable.m; sourceTree = "<group>"; };
CE0C2ABA1177014200BC749F /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; };
@@ -700,6 +724,7 @@
hy,
uk,
ru,
pt_BR,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* dupeguru */;
projectDirPath = "";
@@ -744,6 +769,18 @@
CED3BC2A15767B200028F3C9 /* DetailsPanel.xib in Resources */,
CED3BC2B15767B200028F3C9 /* Preferences.xib in Resources */,
CED3BC2C15767B200028F3C9 /* PrioritizeDialog.xib in Resources */,
CE09AF4615A284F600BD431C /* about.xib in Resources */,
CE09AF4715A284F600BD431C /* ErrorReportWindow.xib in Resources */,
CE09AF4815A284F600BD431C /* FairwareReminder.xib in Resources */,
CE09AF4C15A2851100BD431C /* DirectoryPanel.xib in Resources */,
CE09AF4D15A2851100BD431C /* MainMenu.xib in Resources */,
CE09AF5515A2852600BD431C /* DirectoryPanel.xib in Resources */,
CE09AF5615A2852600BD431C /* MainMenu.xib in Resources */,
CE09AF5715A2852600BD431C /* ProblemDialog.xib in Resources */,
CE09AF5815A2852600BD431C /* IgnoreListDialog.xib in Resources */,
CE09AF5915A2852600BD431C /* ResultWindow.xib in Resources */,
CE09AF5A15A2852600BD431C /* DetailsPanel.xib in Resources */,
CE09AF5B15A2852600BD431C /* Preferences.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -829,6 +866,7 @@
CEE6D5461491130D0087CDFC /* hy */,
CE905DEA14C638A500C0ECEF /* uk */,
CE03DD6714FBD31300E998AC /* ru */,
CE09AF4F15A2852600BD431C /* pt_BR */,
);
name = DirectoryPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -845,6 +883,7 @@
CEE6D5481491130D0087CDFC /* hy */,
CE905DEC14C638A500C0ECEF /* uk */,
CE03DD6814FBD31300E998AC /* ru */,
CE09AF5115A2852600BD431C /* pt_BR */,
);
name = MainMenu.xib;
sourceTree = SOURCE_ROOT;
@@ -861,6 +900,7 @@
CEE6D54A1491130D0087CDFC /* hy */,
CE905DEE14C638A500C0ECEF /* uk */,
CE03DD6A14FBD31300E998AC /* ru */,
CE09AF5315A2852600BD431C /* pt_BR */,
);
name = ProblemDialog.xib;
sourceTree = SOURCE_ROOT;
@@ -877,6 +917,7 @@
CEE6D54B1491130D0087CDFC /* hy */,
CE905DEF14C638A500C0ECEF /* uk */,
CE03DD6B14FBD31300E998AC /* ru */,
CE09AF5415A2852600BD431C /* pt_BR */,
);
name = ResultWindow.xib;
sourceTree = SOURCE_ROOT;
@@ -893,6 +934,7 @@
CEE6D553149113190087CDFC /* hy */,
CE905DF614C638B000C0ECEF /* uk */,
CE03DD7214FBD33600E998AC /* ru */,
CE09AF4A15A2851100BD431C /* pt_BR */,
);
name = DetailsPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -909,6 +951,7 @@
CEE6D554149113190087CDFC /* hy */,
CE905DF714C638B000C0ECEF /* uk */,
CE03DD7314FBD33600E998AC /* ru */,
CE09AF4B15A2851100BD431C /* pt_BR */,
);
name = Preferences.xib;
sourceTree = SOURCE_ROOT;
@@ -941,6 +984,7 @@
CEE6D55B149113320087CDFC /* hy */,
CE905DE314C6387B00C0ECEF /* uk */,
CE03DD7A14FBD36600E998AC /* ru */,
CE09AF4515A284F600BD431C /* pt_BR */,
);
name = FairwareReminder.xib;
path = ../../cocoalib/xib;
@@ -958,6 +1002,7 @@
CE7857A0151101C900174D51 /* ru */,
CE7857A4151101DD00174D51 /* uk */,
CE7857A5151101DD00174D51 /* zh_CN */,
CE09AF5015A2852600BD431C /* pt_BR */,
);
name = IgnoreListDialog.xib;
sourceTree = "<group>";
@@ -974,6 +1019,7 @@
CEE6D5491491130D0087CDFC /* hy */,
CE905DED14C638A500C0ECEF /* uk */,
CE03DD6914FBD31300E998AC /* ru */,
CE09AF5215A2852600BD431C /* pt_BR */,
);
name = PrioritizeDialog.xib;
sourceTree = "<group>";
@@ -990,6 +1036,7 @@
CEE6D559149113320087CDFC /* hy */,
CE905DE114C6387B00C0ECEF /* uk */,
CE03DD7814FBD36600E998AC /* ru */,
CE09AF4315A284F600BD431C /* pt_BR */,
);
name = about.xib;
sourceTree = "<group>";
@@ -1006,6 +1053,7 @@
CEE6D55A149113320087CDFC /* hy */,
CE905DE214C6387B00C0ECEF /* uk */,
CE03DD7914FBD36600E998AC /* ru */,
CE09AF4415A284F600BD431C /* pt_BR */,
);
name = ErrorReportWindow.xib;
sourceTree = "<group>";
@@ -1014,14 +1062,15 @@
isa = PBXVariantGroup;
children = (
CED3BC1D15767B200028F3C9 /* en */,
CED3BC1B15767B200028F3C9 /* cs */,
CED3BC1C15767B200028F3C9 /* de */,
CED3BC1B15767B200028F3C9 /* cs */,
CED3BC1C15767B200028F3C9 /* de */,
CED3BC1E15767B200028F3C9 /* fr */,
CED3BC1F15767B200028F3C9 /* hy */,
CED3BC2015767B200028F3C9 /* it */,
CED3BC2115767B200028F3C9 /* ru */,
CED3BC2215767B200028F3C9 /* uk */,
CED3BC2315767B200028F3C9 /* zh_CN */,
CE09AF4E15A2852600BD431C /* pt_BR */,
);
name = DeletionOptions.xib;
sourceTree = "<group>";

View File

@@ -35,6 +35,18 @@
CE548CC714BF903D00D180CB /* PyPrioritizeList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE548CC514BF903D00D180CB /* PyPrioritizeList.m */; };
CE587E9A14C07BCF004CA031 /* PyOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE587E9814C07BCF004CA031 /* PyOutline.m */; };
CE587E9E14C0801F004CA031 /* PySelectableList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE587E9D14C0801F004CA031 /* PySelectableList.m */; };
CE5A5C9C15A2837200C4E461 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819913D85D9B00B6D649 /* about.xib */; };
CE5A5C9D15A2837200C4E461 /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819B13D85D9B00B6D649 /* ErrorReportWindow.xib */; };
CE5A5C9E15A2837200C4E461 /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE79638412536C94008D405B /* FairwareReminder.xib */; };
CE5A5CA815A283C200C4E461 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
CE5A5CA915A283C200C4E461 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134412E5CE4D00A36C80 /* DirectoryPanel.xib */; };
CE5A5CAA15A283C200C4E461 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134612E5CE4D00A36C80 /* MainMenu.xib */; };
CE5A5CAB15A283C200C4E461 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134812E5CE4D00A36C80 /* ProblemDialog.xib */; };
CE5A5CAC15A283C200C4E461 /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE412C0F1510ECCA00484122 /* IgnoreListDialog.xib */; };
CE5A5CAD15A283C200C4E461 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE5A5CAE15A283C200C4E461 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81135612E5CE6D00A36C80 /* Preferences.xib */; };
CE5A5CAF15A283C200C4E461 /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE9777CF141F8CB400C13FB5 /* PrioritizeDialog.xib */; };
CE5A5CB115A283D700C4E461 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
CE647E571173024A006D28BA /* ProblemDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE647E551173024A006D28BA /* ProblemDialog.m */; };
CE6DD4E7124CA3070089A48D /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6DD4E6124CA3070089A48D /* ResultTable.m */; };
CE6DD547124CAF1F0089A48D /* HSTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6DD546124CAF1F0089A48D /* HSTableView.m */; };
@@ -197,6 +209,18 @@
CE587E9814C07BCF004CA031 /* PyOutline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyOutline.m; sourceTree = "<group>"; };
CE587E9C14C0801F004CA031 /* PySelectableList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PySelectableList.h; sourceTree = "<group>"; };
CE587E9D14C0801F004CA031 /* PySelectableList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PySelectableList.m; sourceTree = "<group>"; };
CE5A5C9915A2837200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/about.xib; sourceTree = "<group>"; };
CE5A5C9A15A2837200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CE5A5C9B15A2837200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../pt_BR.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
CE5A5CA015A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
CE5A5CA115A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DetailsPanel.xib; sourceTree = "<group>"; };
CE5A5CA215A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/DirectoryPanel.xib; sourceTree = "<group>"; };
CE5A5CA315A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE5A5CA415A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/MainMenu.xib; sourceTree = "<group>"; };
CE5A5CA515A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
CE5A5CA615A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/ProblemDialog.xib; sourceTree = "<group>"; };
CE5A5CA715A283C200C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = ../base/pt_BR.lproj/ResultWindow.xib; sourceTree = "<group>"; };
CE5A5CB015A283D700C4E461 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt_BR; path = pt_BR.lproj/Preferences.xib; sourceTree = "<group>"; };
CE647E541173024A006D28BA /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; };
CE647E551173024A006D28BA /* ProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProblemDialog.m; path = ../base/ProblemDialog.m; sourceTree = SOURCE_ROOT; };
CE6DD4E5124CA3070089A48D /* ResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultTable.h; path = ../base/ResultTable.h; sourceTree = SOURCE_ROOT; };
@@ -683,6 +707,7 @@
hy,
ru,
uk,
pt_BR,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* dupeguru */;
projectDirPath = "";
@@ -727,6 +752,18 @@
CEFC64EB157678DE00664D8C /* DirectoryPanel.xib in Resources */,
CEFC64EC157678DE00664D8C /* MainMenu.xib in Resources */,
CEFC64ED157678DE00664D8C /* ProblemDialog.xib in Resources */,
CE5A5C9C15A2837200C4E461 /* about.xib in Resources */,
CE5A5C9D15A2837200C4E461 /* ErrorReportWindow.xib in Resources */,
CE5A5C9E15A2837200C4E461 /* FairwareReminder.xib in Resources */,
CE5A5CA815A283C200C4E461 /* DetailsPanel.xib in Resources */,
CE5A5CA915A283C200C4E461 /* DirectoryPanel.xib in Resources */,
CE5A5CAA15A283C200C4E461 /* MainMenu.xib in Resources */,
CE5A5CAB15A283C200C4E461 /* ProblemDialog.xib in Resources */,
CE5A5CAC15A283C200C4E461 /* IgnoreListDialog.xib in Resources */,
CE5A5CAD15A283C200C4E461 /* ResultWindow.xib in Resources */,
CE5A5CAE15A283C200C4E461 /* Preferences.xib in Resources */,
CE5A5CAF15A283C200C4E461 /* PrioritizeDialog.xib in Resources */,
CE5A5CB115A283D700C4E461 /* DetailsPanel.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -808,6 +845,7 @@
CE00BBD014910CA3006A717C /* hy */,
CED638D514B38CC800B88D00 /* ru */,
CEECCD0614C636C900A2F3A0 /* uk */,
CE5A5C9915A2837200C4E461 /* pt_BR */,
);
name = about.xib;
sourceTree = "<group>";
@@ -824,6 +862,7 @@
CE00BBD114910CA3006A717C /* hy */,
CED638D614B38CC800B88D00 /* ru */,
CEECCD0714C636C900A2F3A0 /* uk */,
CE5A5C9A15A2837200C4E461 /* pt_BR */,
);
name = ErrorReportWindow.xib;
sourceTree = "<group>";
@@ -840,6 +879,7 @@
CE148037151100FB00CD5DAD /* ru */,
CE1480391511010500CD5DAD /* uk */,
CE14803B1511011000CD5DAD /* zh_CN */,
CE5A5CA315A283C200C4E461 /* pt_BR */,
);
name = IgnoreListDialog.xib;
sourceTree = "<group>";
@@ -856,6 +896,7 @@
CE00BBD214910CA3006A717C /* hy */,
CED638D714B38CC800B88D00 /* ru */,
CEECCD0814C636C900A2F3A0 /* uk */,
CE5A5C9B15A2837200C4E461 /* pt_BR */,
);
name = FairwareReminder.xib;
path = ../../cocoalib/xib;
@@ -873,6 +914,7 @@
CE00BBBD14910C5E006A717C /* hy */,
CED638DC14B38CEC00B88D00 /* ru */,
CEECCD0F14C6370000A2F3A0 /* uk */,
CE5A5CA115A283C200C4E461 /* pt_BR */,
);
name = DetailsPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -889,6 +931,7 @@
CE00BBBE14910C5E006A717C /* hy */,
CED638DD14B38CEC00B88D00 /* ru */,
CEECCD1014C6370000A2F3A0 /* uk */,
CE5A5CA215A283C200C4E461 /* pt_BR */,
);
name = DirectoryPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -905,6 +948,7 @@
CE00BBC014910C5E006A717C /* hy */,
CED638DF14B38CEC00B88D00 /* ru */,
CEECCD1214C6370000A2F3A0 /* uk */,
CE5A5CA415A283C200C4E461 /* pt_BR */,
);
name = MainMenu.xib;
sourceTree = SOURCE_ROOT;
@@ -921,6 +965,7 @@
CE00BBC214910C5E006A717C /* hy */,
CED638E114B38CEC00B88D00 /* ru */,
CEECCD1414C6370000A2F3A0 /* uk */,
CE5A5CA615A283C200C4E461 /* pt_BR */,
);
name = ProblemDialog.xib;
sourceTree = SOURCE_ROOT;
@@ -937,6 +982,7 @@
CE00BBC314910C5E006A717C /* hy */,
CED638E214B38CEC00B88D00 /* ru */,
CEECCD1514C6370000A2F3A0 /* uk */,
CE5A5CA715A283C200C4E461 /* pt_BR */,
);
name = ResultWindow.xib;
sourceTree = SOURCE_ROOT;
@@ -953,6 +999,7 @@
CE00BBCC14910C72006A717C /* hy */,
CED638EA14B38CF800B88D00 /* ru */,
CEECCD1D14C6370C00A2F3A0 /* uk */,
CE5A5CB015A283D700C4E461 /* pt_BR */,
);
name = Preferences.xib;
sourceTree = SOURCE_ROOT;
@@ -985,6 +1032,7 @@
CE00BBC114910C5E006A717C /* hy */,
CED638E014B38CEC00B88D00 /* ru */,
CEECCD1314C6370000A2F3A0 /* uk */,
CE5A5CA515A283C200C4E461 /* pt_BR */,
);
name = PrioritizeDialog.xib;
sourceTree = "<group>";
@@ -1001,6 +1049,7 @@
CEFC64E7157678DE00664D8C /* ru */,
CEFC64E8157678DE00664D8C /* uk */,
CEFC64E9157678DE00664D8C /* zh_CN */,
CE5A5CA015A283C200C4E461 /* pt_BR */,
);
name = DeletionOptions.xib;
sourceTree = "<group>";

View File

@@ -1,2 +1,2 @@
__version__ = '6.4.1'
__version__ = '6.4.2'
__appname__ = 'dupeGuru Music Edition'

View File

@@ -1,2 +1,2 @@
__version__ = '2.5.0'
__version__ = '2.6.0'
__appname__ = 'dupeGuru Picture Edition'

View File

View File

@@ -1,4 +1,4 @@
Source: dupeguru-se
Source: {pkgname}
Section: devel
Priority: extra
Maintainer: Virgil Dupras <hsoft@hardcoded.net>
@@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.1
Homepage: http://www.hardcoded.net
Package: dupeguru-se
Package: {pkgname}
Architecture: all
Depends: python3 (>=3.2), python3-pyqt4
Description: dupeGuru
Description: {longname}

3
debian/dirs vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/bin
usr/share
usr/share/applications

View File

@@ -1,8 +1,8 @@
[Desktop Entry]
Name=dupeGuru
Name={longname}
Comment=Find duplicate files.
Exec=dupeguru_se
Icon=/usr/share/dupeguru_se/dgse_logo_128.png
Exec={execname}
Icon={iconpath}
Terminal=false
Type=Application
Categories=Utility;

6
debian/me.json vendored Normal file
View File

@@ -0,0 +1,6 @@
{
"pkgname": "dupeguru-me",
"longname": "dupeGuru Music Edition",
"execname": "dupeguru_me",
"iconpath": "/usr/share/dupeguru_me/dgme_logo_128.png"
}

6
debian/pe.json vendored Normal file
View File

@@ -0,0 +1,6 @@
{
"pkgname": "dupeguru-pe",
"longname": "dupeGuru Picture Edition",
"execname": "dupeguru_pe",
"iconpath": "/usr/share/dupeguru_pe/dgpe_logo_128.png"
}

View File

@@ -42,10 +42,9 @@ install: build
dh_installdirs
chmod +x src/run.py
cp -R src/ $(CURDIR)/debian/dupeguru-se/usr/share/dupeguru_se
cp $(CURDIR)/debian/dupeguru_se.desktop $(CURDIR)/debian/dupeguru-se/usr/share/applications
mkdir $(CURDIR)/debian/dupeguru-se/usr/bin
ln -s /usr/share/dupeguru_se/run.py $(CURDIR)/debian/dupeguru-se/usr/bin/dupeguru_se
cp -R src/ $(CURDIR)/debian/{pkgname}/usr/share/{execname}
cp $(CURDIR)/debian/{execname}.desktop $(CURDIR)/debian/{pkgname}/usr/share/applications
ln -s /usr/share/{execname}/run.py $(CURDIR)/debian/{pkgname}/usr/bin/{execname}
# Build architecture-independent files here.

6
debian/se.json vendored Normal file
View File

@@ -0,0 +1,6 @@
{
"pkgname": "dupeguru-se",
"longname": "dupeGuru",
"execname": "dupeguru_se",
"iconpath": "/usr/share/dupeguru_se/dgse_logo_128.png"
}

View File

@@ -1,12 +0,0 @@
Source: dupeguru-me
Section: devel
Priority: extra
Maintainer: Virgil Dupras <hsoft@hardcoded.net>
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.1
Homepage: http://www.hardcoded.net
Package: dupeguru-me
Architecture: all
Depends: python3 (>=3.2), python3-pyqt4
Description: dupeGuru Music Edition

View File

@@ -1,3 +0,0 @@
usr/local/bin
usr/local/share
usr/share/applications

View File

@@ -1,8 +0,0 @@
[Desktop Entry]
Name=dupeGuru Music Edition
Comment=Find duplicate songs in your collection.
Exec=dupeguru_me
Icon=/usr/share/dupeguru_me/dgme_logo_128.png
Terminal=false
Type=Application
Categories=Utility;

View File

@@ -1,87 +0,0 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
# Add here commands to compile the package.
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
chmod +x src/run.py
cp -R src/ $(CURDIR)/debian/dupeguru-me/usr/share/dupeguru_me
cp $(CURDIR)/debian/dupeguru_me.desktop $(CURDIR)/debian/dupeguru-me/usr/share/applications
mkdir $(CURDIR)/debian/dupeguru-me/usr/bin
ln -s /usr/share/dupeguru_me/run.py $(CURDIR)/debian/dupeguru-me/usr/bin/dupeguru_me
# Build architecture-independent files here.
binary-indep: install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_install
dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure

View File

@@ -1 +0,0 @@
7

View File

@@ -1,12 +0,0 @@
Source: dupeguru-pe
Section: devel
Priority: extra
Maintainer: Virgil Dupras <hsoft@hardcoded.net>
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.1
Homepage: http://www.hardcoded.net
Package: dupeguru-pe
Architecture: any
Depends: python3 (>=3.2), python3-pyqt4
Description: dupeGuru Picture Edition

View File

@@ -1,11 +0,0 @@
Copyright 2012 Hardcoded Software Inc. (http://www.hardcoded.net)
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
* If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,3 +0,0 @@
usr/local/bin
usr/local/share
usr/share/applications

View File

@@ -1,8 +0,0 @@
[Desktop Entry]
Name=dupeGuru Picture Edition
Comment=Find duplicate pictures in your library.
Exec=dupeguru_pe
Icon=/usr/share/dupeguru_pe/dgpe_logo_128.png
Terminal=false
Type=Application
Categories=Utility;

View File

@@ -1,87 +0,0 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
# Add here commands to compile the package.
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
chmod +x src/run.py
cp -R src/ $(CURDIR)/debian/dupeguru-pe/usr/share/dupeguru_pe
cp $(CURDIR)/debian/dupeguru_pe.desktop $(CURDIR)/debian/dupeguru-pe/usr/share/applications
mkdir $(CURDIR)/debian/dupeguru-pe/usr/bin
ln -s /usr/share/dupeguru_pe/run.py $(CURDIR)/debian/dupeguru-pe/usr/bin/dupeguru_pe
# Build architecture-independent files here.
binary-indep: install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_install
dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure

View File

@@ -1 +0,0 @@
7

View File

@@ -1,11 +0,0 @@
Copyright 2012 Hardcoded Software Inc. (http://www.hardcoded.net)
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
* If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,3 +0,0 @@
usr/local/bin
usr/local/share
usr/share/applications

View File

@@ -1,3 +1,9 @@
=== 6.4.2 (2012-07-07)
* Fixed iTunes integration which was broken since iTunes 10.6.3. [Mac]
* Fixed a crash caused by invalid XML in iTunes libraries. [Mac]
* Added Brazilian localization by Victor Figueiredo.
=== 6.4.1 (2012-06-04)
* Fixed bug introduced in 6.4.0 preventing deletions from working. [Mac]

View File

@@ -1,3 +1,12 @@
=== 2.6.0 (2012-06-06)
* Added Aperture support. (#42)
* Added a Deletion Options panel.
* Greatly improved memory usage for big scans.
* Added a keybinding for the filter field. (#182) [Mac]
* Fixed occasional hard crashes during scans. [Linux]
* Upgraded minimum requirements for Ubuntu to 12.04.
=== 2.5.0 (2012-03-31)
* Improved results window UI. [Windows, Linux]

View File

@@ -173,51 +173,4 @@ html_show_sourcelink = False
# Output file base name for HTML help builder.
htmlhelp_basename = 'dupeGurudoc'
# -- Options for LaTeX output --------------------------------------------------
# The paper size ('letter' or 'a4').
#latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
#latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'dupeGuru.tex', u'dupeGuru Documentation',
u'Hardcoded Software', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Additional stuff for the LaTeX preamble.
#latex_preamble = ''
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'dupeguru', u'dupeGuru Documentation',
[u'Hardcoded Software'], 1)
]
todo_include_todos = True

View File

@@ -22,6 +22,8 @@ Unten befindet sich die Liste aller Menschen, die direkt oder indirekt zu dupeGu
| **Nickolas Pohilets, Ukrainian localization**
| **Victor Figueiredo, Brazilian localization**
| **Python, Programming language** (`Website <http://www.python.org>`__)
| The bestest of the bests

View File

@@ -19,3 +19,5 @@ Jeder Ordner kann in einem von 3 Zuständen sein:
Der Standardzustand eines Ordners ist natürlich **Normal**. Sie können den **Referenz** Zustand für Ordner nutzen, in denen auf keinen Fall eine Datei gelöscht werden soll.
Wenn sie einen Zustand für ein Verzeichnis setzen, erben alle Unterordner automatisch diesen Zustand, es sei denn Sie ändern den Zustand der Unterordner explizit.
.. todo:: Add iPhoto/Aperture/iTunes libraries notes

View File

@@ -24,12 +24,11 @@ Below is the list of people who contributed, directly or indirectly to dupeGuru.
| **Nickolas Pohilets, Ukrainian localization**
| **Victor Figueiredo, Brazilian localization**
| **Python, Programming language** (`Website <http://www.python.org>`__)
| The bestest of the bests
| **PyObjC, Python-to-Cocoa bridge** (`Website <http://pyobjc.sourceforge.net>`__)
| Used for the Mac OS X version
| **PyQt, Python-to-Qt bridge** (`Website <http://www.riverbankcomputing.co.uk>`__)
| Used for the Windows version

View File

@@ -21,3 +21,33 @@ Every folder can be in one of these 3 states:
The default state of a folder is, of course, **Normal**. You can use **Reference** state for a folder if you want to be sure that you won't delete any file from it.
When you set the state of a directory, all subfolders of this folder automatically inherit this state unless you explicitly set a subfolder's state.
.. only:: edition_pe
iPhoto and Aperture libraries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dupeGuru PE supports iPhoto and Aperture, which means that it knows how to read these libraries
and how to communicate with iPhoto and Aperture to remove photos from them. To use this feature,
use the special "Add iPhoto Library" and "Add Aperture Library" buttons in the menu that pops
up when you click the "+" button. This will then add a special folder for those libraries.
When duplicates are deleted from an iPhoto library, it's sent to iPhoto's trash.
When duplicates are deleted from an Aperture library, it unfortunately can't send it directly
to trash, but it creates a special project called "dupeGuru Trash" in Aperture and send all
photos in there. You can then send this project to the trash manually.
.. only:: edition_me
iTunes library
^^^^^^^^^^^^^^
dupeGuru ME supports iTunes, which means that it knows how to read its libraries and how to
communicate with iTunes to remove songs from it. To use this feature, use the special
"Add iTunes Library" button in the menu that pops up when you click the "+" button. This will
then add a special folder for those libraries.
When duplicates are deleted from an iTunes library, it's sent to the system trash, like a
normal file, but it's also removed from iTunes, thus avoiding ending up with missing entries
(entries with the "!" logo next to them).

View File

@@ -23,6 +23,8 @@ Voici la liste des contributeurs de dupeGuru. Merci!
| **Nickolas Pohilets, localisation ukrainienne**
| **Victor Figueiredo, localisation brésilienne**
| **Python, Langage de programmation** (`Website <http://www.python.org>`__)
| Le meilleur des meilleurs

View File

@@ -21,3 +21,5 @@ Tout dossier ajouté à la liste est d'un type parmis ces trois:
Le type par défaut pour un dossier est, bien entendu, **Normal**. Vous pouvez utiliser le type **Référence** pour les dossiers desquels vous ne voulez pas effacer de fichiers.
Le type d'un dossier s'applique à ses sous-dossiers, excepté si un sous-dossier a un autre type explicitement défini.
.. todo:: Add iPhoto/Aperture/iTunes libraries notes

View File

@@ -24,6 +24,8 @@
| **Nickolas Pohilets, Ukrainian localization**
| **Victor Figueiredo, Brazilian localization**
| **Python, Ծրագրավորման լեզուն** (`Վեբ կայքը <http://www.python.org>`__)
| Լավագույներից լավագույնը

View File

@@ -21,3 +21,5 @@
Թղթապանակի հիմնական վիճակը, իհարկե՛ **Նորմալ է**: Կարող եք օգտագործել **Հղված** վիճակը թղթապանակի համար, եթե ցանկանում եք համոզված լինել, որ ոչ մի ֆայլ չի ջնջվի:
Եթե նշել եք թղթապանակի վիճակը, բոլոր ենթաթղթապանակները միանգամից կժառանգեն այս վիճակը, եթե վիճակը պարզորոշ տրված է թղթապանակի կարգում:
.. todo:: Add iPhoto/Aperture/iTunes libraries notes

View File

@@ -24,6 +24,8 @@
| **Nickolas Pohilets, Ukrainian localization**
| **Victor Figueiredo, Brazilian localization**
| **Python, Язык программирования** (`Веб сайт <http://www.python.org>`__)
| Самая лучшая

View File

@@ -20,4 +20,6 @@
Состояние по умолчанию к папке, конечно, **Нормальный**. Вы можете использовать **Ссылка** состояние для папки, если вы хотите быть уверены, что вы не будете удалять любые файлы из него.
Когда вы устанавливаете состояние каталог, все подпапки этой папки автоматически наследует это состояние, если явно не включенное состояние подпапку в.
Когда вы устанавливаете состояние каталог, все подпапки этой папки автоматически наследует это состояние, если явно не включенное состояние подпапку в.
.. todo:: Add iPhoto/Aperture/iTunes libraries notes

View File

@@ -24,6 +24,8 @@
| **Nickolas Pohilets, Ukrainian localization**
| **Victor Figueiredo, Brazilian localization**
| **Python, Мова програмування** (`Веб-сайт <http://www.python.org>`__)
| Кращі рекорди

View File

@@ -18,4 +18,6 @@
Стан за замовчуванням до папки, звичайно, **Нормальний**. Ви можете використовувати **Посилання** стан для папки, якщо ви хочете бути впевнені, що ви не будете видаляти будь-які файли з нього.
Коли ви встановлюєте стан каталог, все підпапки цієї папки автоматично успадковує цей стан, якщо явно не включений стан підпапку в.
Коли ви встановлюєте стан каталог, все підпапки цієї папки автоматично успадковує цей стан, якщо явно не включений стан підпапку в.
.. todo:: Add iPhoto/Aperture/iTunes libraries notes

View File

@@ -87,16 +87,16 @@ msgstr "Okno s výsledky"
msgid "Add Folder..."
msgstr ""
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Soubor"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr ""
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr ""
@@ -261,125 +261,121 @@ msgstr "Ukázat vybrané ve správci souborů"
msgid "Close"
msgstr "Zavřít"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Akce"
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:46 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Dupes Only"
msgstr "Zobrazit pouze duplicity"
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Zobrazit rozdíly"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr ""
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 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:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 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:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr ""
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr "Odstranit výběr z výsledků"
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr "Přidat výběr na seznam výjimek"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 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:59 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 "Open Selected with Default Application"
msgstr "Vybrané otevřít výchozí aplikací"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr ""
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "Vybrané přejmenovat"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Označit vše"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Zrušit označení"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Invertovat označení"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Označit vybrané"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr ""
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Uložit výsledky..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Spustit vlastní příkaz"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr ""
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Sloupce"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr ""
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Vyberte soubor pro uložení výsledků"
@@ -534,10 +530,6 @@ msgstr "Nahrát ze souboru..."
msgid "Reset to Default"
msgstr "Výchozí nastavení"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Přidat složku iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Odstranit z iTunes mrtvé stopy"
@@ -590,11 +582,6 @@ msgstr "Předvolby..."
msgid "Folder Selection Window"
msgstr "Výběr složky"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Vyhodit označené do koše"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -648,7 +635,7 @@ msgstr "Změnit prioritu výsledků"
msgid "Ok"
msgstr "Ok"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -688,7 +675,7 @@ msgstr "Akce"
msgid "Directories"
msgstr "Adresáře"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Jen duplicity"
@@ -787,15 +774,15 @@ 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:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Vyhazuji kopie do koše"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "Nelze najít aplikaci iPhoto."
@@ -841,7 +828,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
@@ -877,26 +864,64 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr "Přidat složku iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr "Vyhodit označené do koše..."
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""

View File

@@ -87,16 +87,16 @@ msgstr "Ergebnisfenster"
msgid "Add Folder..."
msgstr "Ordner hinzufügen..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Ablage"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr "Ansicht"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru Ergebnisse (*.dupeguru)"
@@ -270,125 +270,121 @@ msgstr "Zeige Markierte"
msgid "Close"
msgstr "Schließen"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Aktionen"
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:46 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Dupes Only"
msgstr "Nur Duplikate anzeigen"
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Zeige Deltawerte"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr "Verschiebe Markierte in den Mülleimer"
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 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:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 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:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr "Entferne Ausgewählte aus den Ergebnissen"
#: qt/base/result_window.py:56 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 "Remove Selected from 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:54 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:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 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:59 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 "Open Selected with Default Application"
msgstr "Öffne Ausgewählte mit Standardanwendung"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr "Öffne beeinhaltenden Ordner der Ausgewählten"
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "Ausgewählte umbenennen"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Alles markieren"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Nichts markieren"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Markierung invertieren"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Ausgewählte markieren"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr "Exportiere als HTML"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Speichere Ergebnisse..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Eigenen Befehl ausführen"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr "Auswählen"
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Spalten"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr "{} (Ergebnisse)"
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Datei zum Speichern der Ergebnisliste auswählen."
@@ -544,10 +540,6 @@ msgstr "Load from file..."
msgid "Reset to Default"
msgstr "Reset to Default"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Add iTunes Directory"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Remove Dead Tracks in iTunes"
@@ -600,11 +592,6 @@ msgstr "Preferences..."
msgid "Folder Selection Window"
msgstr "Folder Selection Window"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Send Marked to Trash"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -658,7 +645,7 @@ msgstr "Re-Prioritize Results"
msgid "Ok"
msgstr "Ok"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -688,7 +675,7 @@ msgstr "Action"
msgid "Directories"
msgstr "Directories"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Dupes Only"
@@ -787,15 +774,15 @@ msgstr "Entferne tote Stücke aus Ihrer iTunes Bibliothek."
msgid "Scanning the iTunes Library"
msgstr "Scanne die iTunes Bibiliothek"
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Verschiebe Duplikate in den Mülleimer"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "The iPhoto application couldn't be found."
@@ -841,7 +828,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
@@ -877,26 +864,64 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr "Verschiebe Markierte in den Mülleimer..."
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""

View File

@@ -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:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Fichier"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr "Voir"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr "Résultats dupeGuru (*.dupeguru)"
@@ -272,125 +272,121 @@ msgstr "Révéler Fichier"
msgid "Close"
msgstr "Fermer"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Actions"
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:46 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Dupes Only"
msgstr "Ne pas montrer les références"
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Montrer les valeurs en tant que delta"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr "Envoyer marqués à la corbeille"
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 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:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 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:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr "Re-prioriser les résultats"
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr "Retirer sélectionnés des résultats"
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr "Ajouter sélectionnés à la liste de fichiers ignorés"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 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:59 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 "Open Selected with Default Application"
msgstr "Ouvrir sélectionné avec l'application par défaut"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr "Ouvrir le dossier contenant le fichier sélectionné"
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "Renommer sélectionné"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Tout marquer"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Tout démarquer"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Inverser le marquage"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Marquer sélectionnés"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr "Exporter vers HTML"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Sauvegarder résultats..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Invoquer commande personnalisée"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr "Marquer"
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Colonnes"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr "{} (Résultats)"
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 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"
@@ -545,10 +541,6 @@ msgstr "Charger un fichier..."
msgid "Reset to Default"
msgstr "Colonnes par défault"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Ajouter librairie iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Retirer les tracks mortes dans iTunes"
@@ -601,11 +593,6 @@ msgstr "Préférences..."
msgid "Folder Selection Window"
msgstr "Fenêtre de sélection de dossiers"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Envoyer marqués à la corbeille"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -659,7 +646,7 @@ msgstr "Re-prioriser les résultats"
msgid "Ok"
msgstr "Ok"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -699,7 +686,7 @@ msgstr "Action"
msgid "Directories"
msgstr "Dossiers"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Sans réf."
@@ -798,15 +785,15 @@ 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:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Envoi de doublons à la corbeille en cours"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "iPhoto n'a pas pu être trouvée dans vos applications."
@@ -853,7 +840,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
@@ -889,28 +876,68 @@ msgstr "Options de suppression"
msgid "Hardlink deleted files"
msgstr "Remplacer par des \"hardlinks\""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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."
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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr "Supprimer les fichiers directement"
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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."
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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr "Continuer"
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr "En communication avec Aperture. N'y touchez pas!"
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr "Les photos supprimés d'Aperture sont dans le projet nommé \"dupeGuru Trash\"."
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr " (Mac OS X ou Linux seulement)"
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr "Envoyer marqués à la corbeille..."
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr "Ajouter librairie iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr "Ajouter librairie Aperture"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr "Envoyer marqués à la corbeille..."
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr "Filtrer les résultats..."

View File

@@ -41,15 +41,15 @@ msgstr "Հեռացվում են վնասված շավիղները iTunes-ի Շտ
msgid "Scanning the iTunes Library"
msgstr "Ստուգվում է iTunes-ի Շտեմարանը"
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Խաբկանքները տեղափոխվում են Աղբարկղ"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr "Զրույց iPhoto-ի հետ: Մի կպեք! "
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "iPhoto ծրագիրը չի գտնվել:"
@@ -122,16 +122,16 @@ msgstr "Արդյունքի պատուհանը"
msgid "Add Folder..."
msgstr "Ավելացնել թղթապանակ..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Ֆայլ"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr "Տեսքը"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru-ի արդյունքները (*.dupeguru)"
@@ -305,125 +305,121 @@ msgstr "Ցուցադրել ընտրվածը"
msgid "Close"
msgstr "Փակել"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: 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:46 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:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Ցուցադրել դելտա նշան-ը"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr "Ուղարկել նշվածները Աղբարկղ"
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Move Marked to..."
msgstr "Տեղափ. նշվածը՝"
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Copy Marked to..."
msgstr "Պատճ. նշվածը՝"
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr "Վերաառաջնայնավորել արդյունքները..."
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr "ՀԵռացնել ընտրվածը արդյունքներից"
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr "Ավելացնել ընտրվածը Անտեսումների ցանկ"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Make Selected Reference"
msgstr "Նշել ընտրվածի հղումը"
#: qt/base/result_window.py:59 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 "Open Selected with Default Application"
msgstr "Բացել ընտրվածը Հիմնական ծրագրով"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr "Բացել ընտրվածը պարունակող թղթապանակը"
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "Անվանափոխել ընտրվածը"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Նշել բոլորը"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Ոչինչ չնշել"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Ետարկել նշումը"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Նշել ընտրվածը"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr "Արտածել HTML-ով"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Պահպանել արդյունքները..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Անտեսել Հրամանի կատարումը"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr "Նշել"
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Սյուները"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr "{} Արդյունքներ"
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Ընտրեք ֆայլը՝ պահպանելու արդյունքները՝"
@@ -601,10 +597,6 @@ msgstr ""
msgid "You have no dead tracks in your iTunes Library"
msgstr "Դուք չունեք շավիղներ Ձեր iTunes Շտեմարանում"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Ավելացնել iTunes թղթապանակ"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Հեռացնել մահացած շավիղները iTunes-ից"
@@ -669,11 +661,6 @@ msgstr "Կարգավորումներ..."
msgid "Folder Selection Window"
msgstr "Թղթապանակը ընտրելու պատուհանը"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Ուղարկել նշվածները Աղբարկղ"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -727,7 +714,7 @@ msgstr "Վերաառաջնայնավորել արդյունքները"
msgid "Ok"
msgstr "ԼԱՎ"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -757,7 +744,7 @@ msgstr "Գործողությունը"
msgid "Directories"
msgstr "Թղթապանակներ"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Միայն կրկ."
@@ -852,7 +839,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
@@ -888,26 +875,64 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr "Ուղարկել նշվածները Աղբարկղ..."
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr "Ավելացնել iTunes թղթապանակ"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr "Ուղարկել նշվածները Աղբարկղ..."
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""

View File

@@ -30,15 +30,15 @@ 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:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Spostamento dei duplicati nel cestino"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "Non trovo l'applicazione iPhoto."
@@ -111,16 +111,16 @@ msgstr "Finestra dei risultati"
msgid "Add Folder..."
msgstr ""
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "File"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr ""
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr ""
@@ -298,125 +298,121 @@ msgstr "Mostra i selezionati"
msgid "Close"
msgstr "Chiudi"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Azioni"
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:46 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Dupes Only"
msgstr "Visualizza solo i duplicati"
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Visualizza le differenze"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr ""
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 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:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 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:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr ""
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr "Rimuovi gli elementi selezionati dai risultati"
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr "Aggiungi gli elementi selezionati alla lista da ignorare"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 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:59 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 "Open Selected with Default Application"
msgstr "Apri gli elementi selezionati con l'applicazione predefinita"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr ""
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "Rinomina gli elementi selezionati"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Marca tutti"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Deseleziona tutti"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Inverti la selezione"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Marca i selezionati"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr ""
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Salva i risultati..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Invoca comando personalizzato"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr ""
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Colonne"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr ""
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 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"
@@ -573,10 +569,6 @@ msgstr "Carica dal file..."
msgid "Reset to Default"
msgstr "Ripristina le impostazioni predefinite"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Aggiungi alla lista di iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Rimuovi le tracce inesistenti da iTunes"
@@ -629,11 +621,6 @@ msgstr "Preferenze..."
msgid "Folder Selection Window"
msgstr "Finestra di selezione della cartella"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Sposta gli elementi marcati nel cestino"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -687,7 +674,7 @@ msgstr "Cambia la priorità dei risultati"
msgid "Ok"
msgstr "Ok"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -727,7 +714,7 @@ msgstr "Azione"
msgid "Directories"
msgstr "Cartelle"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Solo duplicati"
@@ -858,7 +845,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
@@ -894,26 +881,64 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr "Aggiungi alla lista di iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr "Sposta gli elementi marcati nel cestino..."
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""

View File

@@ -0,0 +1,112 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Caminho"
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Mensagem de Erro"
#: 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 "Tipo"
#: 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 "Pasta"
#: 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 "Nome do Arquivo"
#: core/prioritize.py:132
msgid "Size"
msgstr "Tamanho"
#: 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 "Modificado"
#: core_me/prioritize.py:16
msgid "Duration"
msgstr "Duração"
#: core_me/prioritize.py:22 core_me/result_table.py:22
msgid "Bitrate"
msgstr "Taxa de Bits"
#: core_me/prioritize.py:28
msgid "Samplerate"
msgstr "Taxa de Bits"
#: core_me/result_table.py:20
msgid "Size (MB)"
msgstr "Tamanho"
#: core_me/result_table.py:21
msgid "Time"
msgstr "Duração"
#: core_me/result_table.py:23
msgid "Sample Rate"
msgstr "Tamanho da Amostra"
#: core_me/result_table.py:26
msgid "Title"
msgstr "Nome"
#: core_me/result_table.py:27
msgid "Artist"
msgstr "Artista"
#: core_me/result_table.py:28
msgid "Album"
msgstr "Álbum"
#: core_me/result_table.py:29
msgid "Genre"
msgstr "Gênero"
#: core_me/result_table.py:30
msgid "Year"
msgstr "Ano"
#: core_me/result_table.py:31
msgid "Track Number"
msgstr "Número da Faixa"
#: core_me/result_table.py:32
msgid "Comment"
msgstr "Comentário"
#: core_me/result_table.py:33 core_pe/result_table.py:24
#: core_se/result_table.py:23
msgid "Match %"
msgstr "% Precisão"
#: core_me/result_table.py:34 core_se/result_table.py:24
msgid "Words Used"
msgstr "Palavras Usadas"
#: core_me/result_table.py:35 core_pe/result_table.py:25
#: core_se/result_table.py:25
msgid "Dupe Count"
msgstr "Duplicatas"
#: core_pe/prioritize.py:16 core_pe/result_table.py:22
msgid "Dimensions"
msgstr "Dimensões"
#: core_pe/result_table.py:20 core_se/result_table.py:20
msgid "Size (KB)"
msgstr "Tamanho"

View File

@@ -0,0 +1,169 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
#: core/app.py:38
msgid "There are no marked duplicates. Nothing has been done."
msgstr "Não há duplicatas marcadas. Nada foi feito."
#: core/app.py:39
msgid "There are no selected duplicates. Nothing has been done."
msgstr "Não há duplicatas selecionadas. Nada foi feito."
#: core/app.py:96
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr "poderá apagar, mover ou copiar somente 10 duplicatas por vez"
#: core/app.py:216
msgid "No duplicates found."
msgstr "Nenhuma duplicata encontrada"
#: core/app.py:229
msgid "All marked files were copied sucessfully."
msgstr "Todos os arquivos marcados foram copiados com sucesso"
#: core/app.py:230
msgid "All marked files were moved sucessfully."
msgstr "Todos os arquivos marcados foram relocados com sucesso"
#: core/app.py:231
msgid "All marked files were sucessfully sent to Trash."
msgstr "Todos os arquivos marcados foram movidos para o Lixo com sucesso"
#: core/app.py:258
msgid "You cannot delete, move or copy more than 10 duplicates at once in demo mode."
msgstr "Enquanto em modo demo, você não pode apagar, mover ou copiar mais que 10 duplicatas por vez."
#: core/app.py:279
msgid "All selected %d matches are going to be ignored in all subsequent scans. Continue?"
msgstr "%d duplicatas selecionadas serão ignoradas em escaneamentos posteriores. Continuar?"
#: core/app.py:339
msgid "copy"
msgstr "copiar"
#: core/app.py:339
msgid "move"
msgstr "mover"
#: core/app.py:340
msgid "Select a directory to {} marked files to"
msgstr "Selecione uma pasta para {} os arquivos marcados"
#: core/app.py:392
msgid "You have no custom command set up. Set it up in your preferences."
msgstr "Você não possui nenhum comando personalizado. Crie um nas preferências."
#: core/app.py:479 core/app.py:490
msgid "You are about to remove %d files from results. Continue?"
msgstr "Você removerá %d arquivo(s) dos resultados. Continuar?"
#: core/app.py:526
msgid "Collecting files to scan"
msgstr "Juntando arquivos para escanear"
#: core/app.py:537
msgid "The selected directories contain no scannable file."
msgstr "As pastas selecionadas não contém arquivos escaneáveis."
#: core/app.py:576
msgid "%s (%d discarded)"
msgstr "%s (%d rejeitado)"
#: core/engine.py:178 core/engine.py:215
msgid "0 matches found"
msgstr "0 coincidentes encontrados"
#: core/engine.py:196 core/engine.py:223
msgid "%d matches found"
msgstr "%d coincidentes encontrados"
#: core/engine.py:208 core/scanner.py:80
msgid "Read size of %d/%d files"
msgstr "Tamanho de leitura de %d/%d arquivos"
#: core/engine.py:355
msgid "Grouped %d/%d matches"
msgstr "%d/%d coincidentes agrupados"
#: core/gui/deletion_options.py:20
msgid "You are sending {} file(s) to the Trash."
msgstr "Você está movendo {} arquivo(s) para o Lixo"
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr "Deseja remover todos os %d itens da lista Ignorar?"
#: core/prioritize.py:68
msgid "None"
msgstr "Nenhum"
#: core/prioritize.py:94
msgid "Ends with number"
msgstr "Termina com número"
#: core/prioritize.py:96
msgid "Doesn't end with number"
msgstr "Não termina com número"
#: core/prioritize.py:117
msgid "Highest"
msgstr "Maior"
#: core/prioritize.py:117
msgid "Lowest"
msgstr "Menor"
#: core/prioritize.py:144
msgid "Newest"
msgstr "Mais recente"
#: core/prioritize.py:144
msgid "Oldest"
msgstr "Mais antigo"
#: core/results.py:113
msgid "%d / %d (%s / %s) duplicates marked."
msgstr "%d / %d (%s / %s) duplicatas marcadas"
#: core/results.py:120
msgid " filter: %s"
msgstr " filtro: %s"
#: core/scanner.py:100
msgid "Read metadata of %d/%d files"
msgstr "Metadados lidos em %d/%d arquivos"
#: core/scanner.py:131
msgid "Removing false matches"
msgstr "Removendo coincidentes falsos"
#: core/scanner.py:149
msgid "Processed %d/%d matches against the ignore list"
msgstr "%d/%d coincidentes processados em oposição a lista Ignorar"
#: core/scanner.py:171
msgid "Doing group prioritization"
msgstr "Executando priorização de grupo"
#: core_pe/matchblock.py:60
msgid "Analyzed %d/%d pictures"
msgstr "%d/%d fotos analizadas"
#: core_pe/matchblock.py:152
msgid "Performed %d/%d chunk matches"
msgstr "%d/%d coincidentes em bloco executados"
#: core_pe/matchblock.py:157
msgid "Preparing for matching"
msgstr "Preparando para coincidentes"
#: core_pe/matchblock.py:192
msgid "Verified %d/%d matches"
msgstr "%d/%d coincidentes verificados"
#: core_pe/matchexif.py:21
msgid "Read EXIF of %d/%d pictures"
msgstr "EXIF de %d/%d fotos lidos"

View File

@@ -0,0 +1,931 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:40
msgid "Scanning for duplicates"
msgstr "Buscando por duplicatas"
#: cocoa/inter/app.py:16 qt/base/app.py:41
msgid "Loading"
msgstr "Carregando"
#: cocoa/inter/app.py:17 qt/base/app.py:42
msgid "Moving"
msgstr "Movendo"
#: cocoa/inter/app.py:18 qt/base/app.py:43
msgid "Copying"
msgstr "Copiando"
#: cocoa/inter/app.py:19
msgid "Sending to Trash"
msgstr "Movendo para o Lixo"
#: cocoa/inter/app_me.py:33
msgid "Removing dead tracks from your iTunes Library"
msgstr "Removendo faixas sem referência da sua Biblioteca do iTunes"
#: cocoa/inter/app_me.py:34
msgid "Scanning the iTunes Library"
msgstr "Escaneando Biblioteca do iTunes"
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Movendo duplicatas para o Lixo"
#: cocoa/inter/app_me.py:159
msgid "Talking to iTunes. Don't touch it!"
msgstr "Comunicando com o iTunes. Não mexa!"
#: cocoa/inter/app_me.py:185
msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr "Ocorreu um erro de comunicação com o iTunes. A operação não pode ser "
"finalizada."
#: 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 "Sua Biblioteca do iTunes contém %d faixas sem referência prontas a serem removidas. Continuar?"
#: cocoa/inter/app_me.py:195 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have no dead tracks in your iTunes Library"
msgstr "Você não possui nenhuma faixa sem referência na Biblioteca do iTunes"
#: cocoa/inter/app_me.py:213
msgid "The iTunes application couldn't be found."
msgstr "O aplicativo iTunes não foi encontrado."
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr "Comunicando com o iPhoto. Não mexa!"
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr "Comunicando com o Aperture. Não mexa!"
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr "As Fotos apagadas do Aperture foram movidas a um projeto chamado \"dupeGuru Trash\"."
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "O aplicativo iPhoto não foi encontrado."
#: qt/base/app.py:44
msgid "Sending files to the recycle bin"
msgstr "Enviando arquivos para o Lixo"
#: qt/base/app.py:112
msgid "Quit"
msgstr "Encerrar"
#: qt/base/app.py:113 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr "Preferências"
#: 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 "Lista Ignorar"
#: qt/base/app.py:115 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "Ajuda dupeGuru"
#: qt/base/app.py:116 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "Sobre o dupeGuru"
#: qt/base/app.py:117
msgid "Register dupeGuru"
msgstr "Registrar dupeGuru"
#: qt/base/app.py:118
msgid "Check for Update"
msgstr "Buscar Atualizaçõs"
#: qt/base/app.py:119
msgid "Open Debug Log"
msgstr "Abrir Log de Debug"
#: 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 ""
"Ainda há uma ação em execução. Não é possível iniciar outra agora. "
"Espere alguns segundos e tente novamente."
#: qt/base/deletion_options.py:29
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Deletion Options"
msgstr "Opções de Apagamento"
#: qt/base/deletion_options.py:34
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Hardlink deleted files"
msgstr "Criar hardlink de arquivos apagados"
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr " (Mac OS X ou Linux somente)"
#: qt/base/deletion_options.py:39
#: 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 ""
"Após apagar uma duplicata, criar um hardlink direcionado ao arquivo "
"original para substituir o arquivo apagado."
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr "Apagar arquivos imediatamente"
#: qt/base/deletion_options.py:46
#: 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 ""
"Apagar arquivos imediatamente ao invés de movê-los para o Lixo. Essa opção é "
"usada como alternativa para quando o método normal falhar."
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr "Continuar"
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
msgstr "Cancelar"
#: qt/base/details_table.py:16 cocoa/base/en.lproj/DetailsPanel.strings:0
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
msgid "Attribute"
msgstr "Atributo"
#: qt/base/details_table.py:16 cocoa/base/en.lproj/DetailsPanel.strings:0
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
msgid "Selected"
msgstr "Seleção"
#: 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 "Referência"
#: qt/base/directories_dialog.py:57 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Load Results..."
msgstr "Carregar…"
#: qt/base/directories_dialog.py:58 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Results Window"
msgstr "Janela de Resultados"
#: qt/base/directories_dialog.py:59
msgid "Add Folder..."
msgstr "Adicionar Pasta…"
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Arquivo"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr "Visualização"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Ajuda"
#: qt/base/directories_dialog.py:73 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Load Recent Results"
msgstr "Carregar Resultados Recentes"
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Selecione as pastas a serem escaneadas e pressione \"Escanear\"."
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Carregar"
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Escanear"
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr "Resultados não salvos"
#: 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 "Você possui resultados não salvos, deseja encerrar assim mesmo?"
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Selecione a pasta a ser adicionada à lista de escaneamento"
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Selecione um resultado para carregar"
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr "Todos os Arquivos (*.*)"
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr "Resultados do dupeGuru (*.dupeguru)"
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr "Iniciar um novo escaneamento"
#: 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 "Você possui resultados não salvos, deseja continuar assim mesmo?"
#: qt/base/directories_model.py:20
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Name"
msgstr "Nome"
#: qt/base/directories_model.py:20
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "State"
msgstr "Estado"
#: qt/base/directories_model.py:21
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Excluded"
msgstr "Excluído"
#: qt/base/directories_model.py:21
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Normal"
msgstr "Normal"
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr "Remover Seleção"
#: qt/base/ignore_list_dialog.py:46
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr "Limpar"
#: 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 "Fechar"
#: qt/base/preferences_dialog.py:37
msgid "Scan Type:"
msgstr "Tipo de Scan:"
#: qt/base/preferences_dialog.py:50
msgid "Filter Hardness:"
msgstr "Pressão do Filtro"
#: qt/base/preferences_dialog.py:76
msgid "More Results"
msgstr "+ Resultados"
#: qt/base/preferences_dialog.py:81
msgid "Fewer Results"
msgstr "- Resultados"
#: 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:"
msgstr "Tam. fonte:"
#: qt/base/preferences_dialog.py:92
msgid "Language:"
msgstr "Idioma:"
#: 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 "Copiar e Mover:"
#: 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 "Exatamente no destino"
#: 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 "Recriar caminho relativo"
#: 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 "Recriar caminho absoluto"
#: 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 "Comando Personalizado (argumentos: %d para duplicata, %r para referência):"
#: qt/base/preferences_dialog.py:184
msgid "dupeGuru has to restart for language changes to take effect."
msgstr "É necessário reiniciar o dupeGuru para que as mudanças de idioma surtam efeito"
#: qt/base/prioritize_dialog.py:71
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Re-Prioritize duplicates"
msgstr "Re-Priorizar duplicatas"
#: 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 ""
"Adicione critérios à caixa da direita e clique OK para elevar as duplicatas"
" à posição de referência em seus respectivos grupos, baseado nos critérios escolhidos. "
"Leia a Ajuda para maiores informações."
#: qt/base/problem_dialog.py:31 cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Problems!"
msgstr "Problemas!"
#: 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 ""
"Problemas ao processar alguns (ou todos) os arquivos. A causa desses "
"problemas vem detalhada abaixo. Esses arquivos não foram removidos "
"dos seus resultados."
#: qt/base/problem_dialog.py:52 cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Reveal Selected"
msgstr "Mostrar no Finder"
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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 "Detalhes"
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Ações"
#: qt/base/result_window.py:46 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Dupes Only"
msgstr "Mostrar Somente Duplicatas"
#: qt/base/result_window.py:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Mostrar Valores Delta"
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr "Mover Marcados ao Lixo…"
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Move Marked to..."
msgstr "Mover Marcados para…"
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Copy Marked to..."
msgstr "Copiar Marcados para…"
#: qt/base/result_window.py:51 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Remove Marked from Results"
msgstr "Remover Marcados dos Resultados"
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr "Re-Priorizar Resultados…"
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Remove Selected from Results"
msgstr "Remover Seleção dos Resultados"
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Add Selected to Ignore List"
msgstr "Adicionar Seleção à Lista Ignorar"
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Make Selected Reference"
msgstr "Fazer da Seleção Referência"
#: qt/base/result_window.py:56 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Open Selected with Default Application"
msgstr "Abrir Seleção com Aplicativo Padrão"
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr "Abrir Pasta da Seleção"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Rename Selected"
msgstr "Renomear Seleção"
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Marcar Todos"
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Marcar Nenhum"
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Inverter Marcação"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Marcar Seleção"
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr "Exportar como HTML"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Salvar Resultados…"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Executar Comando Personalizado"
#: qt/base/result_window.py:77
msgid "Mark"
msgstr "Marcar"
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Colunas"
#: qt/base/result_window.py:139 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 "Restaurar Padrões"
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr "{} Resultados"
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Duplicatas"
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr "Valores Delta"
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Selecione um arquivo para salvar seus resultados"
#: 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 "Nome do Arquivo"
#: qt/me/preferences_dialog.py:40 cocoa/me/en.lproj/Preferences.strings:0
msgid "Filename - Fields"
msgstr "Nome do Arquivo - Campos"
#: qt/me/preferences_dialog.py:41 cocoa/me/en.lproj/Preferences.strings:0
msgid "Filename - Fields (No Order)"
msgstr "Nome do Arquivo - Campos (Sem Ordem)"
#: qt/me/preferences_dialog.py:42 cocoa/me/en.lproj/Preferences.strings:0
msgid "Tags"
msgstr "Tags"
#: 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 "Conteúdo"
#: qt/me/preferences_dialog.py:44
msgid "Audio Contents"
msgstr "Conteúdo de Áudio"
#: qt/me/preferences_dialog.py:55 cocoa/me/en.lproj/Preferences.strings:0
msgid "Tags to scan:"
msgstr "Escanear Tags:"
#: qt/me/preferences_dialog.py:61 cocoa/me/en.lproj/Preferences.strings:0
msgid "Track"
msgstr "Faixa"
#: qt/me/preferences_dialog.py:63 cocoa/me/en.lproj/Preferences.strings:0
msgid "Artist"
msgstr "Artista"
#: qt/me/preferences_dialog.py:65 cocoa/me/en.lproj/Preferences.strings:0
msgid "Album"
msgstr "Álbum"
#: qt/me/preferences_dialog.py:67 cocoa/me/en.lproj/Preferences.strings:0
msgid "Title"
msgstr "Nome"
#: qt/me/preferences_dialog.py:69 cocoa/me/en.lproj/Preferences.strings:0
msgid "Genre"
msgstr "Gênero"
#: qt/me/preferences_dialog.py:71 cocoa/me/en.lproj/Preferences.strings:0
msgid "Year"
msgstr "Ano"
#: 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 "Importância da palavra"
#: 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 "Coincidir palavras similares"
#: 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 "Pode misturar tipo de arquivo"
#: 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 "Usar expressões regulares ao filtrar"
#: 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 "Remover pastas vazias ao apagar ou mover"
#: 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 "Ignorar duplicatas de hardlink a um mesmo arquivo"
#: 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 "Modo Debug (requer reinício)"
#: qt/pe/preferences_dialog.py:34 cocoa/pe/en.lproj/Preferences.strings:0
msgid "EXIF Timestamp"
msgstr "Timestamp EXIF"
#: qt/pe/preferences_dialog.py:39 cocoa/pe/en.lproj/Preferences.strings:0
msgid "Match pictures of different dimensions"
msgstr "Coincidir fotos de dimensões diferentes"
#: qt/pe/result_window.py:19 qt/pe/result_window.py:24
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Clear Picture Cache"
msgstr "Apagar Cache de fotos"
#: 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 "Deseja remover todo o cache das fotos já analizadas?"
#: qt/pe/result_window.py:28
msgid "Picture cache cleared."
msgstr "Cache de fotos apagado."
#: qt/se/preferences_dialog.py:41 cocoa/se/en.lproj/Preferences.strings:0
msgid "Folders"
msgstr "Pastas"
#: qt/se/preferences_dialog.py:60
msgid "Ignore files smaller than"
msgstr "Ignorar arquivos menores que"
#: qt/se/preferences_dialog.py:71 cocoa/se/en.lproj/Preferences.strings:0
msgid "KB"
msgstr "KB"
#: cocoa/base/en.lproj/DetailsPanel.strings:0
#: cocoa/pe/en.lproj/DetailsPanel.strings:0
msgid "Details of Selected File"
msgstr "Detalhes do Arquivo Selecionado"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add New Folder..."
msgstr "Criar Nova Pasta…"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Load from file..."
msgstr "Carregar do arquivo…"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Reset to Default"
msgstr "Restaurar Padrões"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "'%@' already is in the list."
msgstr "'%@' já está na lista"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "'%@' does not exist."
msgstr "'%@' não existe"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "The name '%@' already exists."
msgstr "O nome '%@' já existe"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr "Adicionar Biblioteca do iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Remover Faixas sem Referência no iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iPhoto Library"
msgstr "Adicionar Biblioteca do iPhoto"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr "Adicionar Biblioteca do Aperture"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Yes"
msgstr "Sim"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "No"
msgstr "Não"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "OK"
msgstr "OK"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Bring All to Front"
msgstr "Trazer Todas Para a Frente"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Window"
msgstr "Janela"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Minimize"
msgstr "Minimizar"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Hide dupeGuru"
msgstr "Ocultar dupeGuru"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Quit dupeGuru"
msgstr "Encerrar dupeGuru"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Hide Others"
msgstr "Ocultar Outros"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show All"
msgstr "Mostrar Tudo"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Zoom"
msgstr "Reduzir/Ampliar"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Details Panel"
msgstr "Painel de Detalhes"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Preferences..."
msgstr "Preferências…"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Folder Selection Window"
msgstr "Janela de Seleção de Pasta"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr "Mover Marcados para o Lixo…"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
msgstr "Mostrar Seleção no Finder"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Close Window"
msgstr "Fechar Janela"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Start Duplicate Scan"
msgstr "Iniciar Escaneamento de Duplicata"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Export Results to XHTML"
msgstr "Exportar Resultados para XHTML"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Check for update..."
msgstr "Buscar Atualizações…"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mode"
msgstr "Modo"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Edit"
msgstr "Editar"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Cut"
msgstr "Cortar"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Copy"
msgstr "Copiar"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Paste"
msgstr "Colar"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Website"
msgstr "Site do dupeGuru"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Re-Prioritize Results"
msgstr "Re-Priorizar Resultados"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr "Visualização Rápida"
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr "Filtrar Resultados…"
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Ok"
msgstr "Ok"
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "dupeGuru Results"
msgstr "Resultados do dupeGuru"
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Marked: 0 files, 0 B. Total: 0 files, 0 B."
msgstr "Marcado: 0 arquivos, 0 B. Total: 0 arquivos, 0 B."
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Options"
msgstr "Opções"
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Filter"
msgstr "Filtrar"
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Action"
msgstr "Ação"
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Directories"
msgstr "Pastas"
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Delta"
msgstr "Delta"
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Menu"
msgstr "Menu"
#: cocoa/se/en.lproj/Preferences.strings:0
msgid "dupeGuru Preferences"
msgstr "Preferências do dupeGuru"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "More results"
msgstr "+ resultados"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Fewer results"
msgstr "- resultados"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Filter hardness:"
msgstr "Pressão do filtro:"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Scan type:"
msgstr "Tipo de scan:"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
msgid "Content"
msgstr "Conteúdo"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Automatically check for updates"
msgstr "Buscar atualizações automaticamente"
#: cocoa/se/en.lproj/Preferences.strings:0
msgid "Ignore files smaller than:"
msgstr "Ignorar arquivos menores que:"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Basic"
msgstr "Básico"
#: cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Advanced"
msgstr "Avançado"
#: cocoa/se/en.lproj/Preferences.strings:0
msgid "Custom command (arguments: %d for dupe, %r for ref):"
msgstr "Comando personalizado (argumentos: %d (dup), %r (ref)):"
#: cocoa/me/en.lproj/Preferences.strings:0
msgid "dupeGuru ME Preferences"
msgstr "Preferências do dupeGuru ME"
#: cocoa/me/en.lproj/Preferences.strings:0
msgid "Audio Content"
msgstr "Conteúdo de Áudio"
#: cocoa/me/en.lproj/Preferences.strings:0
msgid "Remove empty folders after delete and move"
msgstr "Remover pastas vazias após apagar e mover"
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "dupeGuru PE Preferences"
msgstr "Preferências do dupeGuru PE"

View File

@@ -40,15 +40,15 @@ msgstr "Удаление мертвых треков из вашей библи
msgid "Scanning the iTunes Library"
msgstr "Сканирование ITunes библиотеки"
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Отправка обманов в корзину"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr "В контакте с iPhoto. Не трогайте!"
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "iPhoto приложение не может быть найдено."
@@ -121,16 +121,16 @@ msgstr "Окно результатов"
msgid "Add Folder..."
msgstr "Добавить папку ..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Файл"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr "Вид"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru результаты (*. dupeguru)"
@@ -308,125 +308,121 @@ msgstr "Показать выбранное"
msgid "Close"
msgstr "Закрывать"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: 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:46 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:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Показать Дельта значения"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr "Отправить Помечено в Корзину"
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Move Marked to..."
msgstr "Перемещение Помечено в ..."
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Copy Marked to..."
msgstr "Скопировть Помечено в ..."
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr "Изменить приоритеты Результатов ..."
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr "Удалить выбранные из результатов"
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr "Добавить выбранные в черный список"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Make Selected Reference"
msgstr "Сделать выбранной ссылки"
#: qt/base/result_window.py:59 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 "Open Selected with Default Application"
msgstr "Открыть выбранный с приложений по умолчанию"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr "Открыть содержащую папку выборных "
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "Переименовать выбранное"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Отметить все"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Не отметить"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Обратить Маркировку"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Отметить Выбранные"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr "Экспорт в HTML"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Сохранить результаты ..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Вызвать специальную команду"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr "Отметить"
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Колонны"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr "{} Результаты"
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Выберите файл, чтобы сохранить ваши результаты"
@@ -604,10 +600,6 @@ msgstr ""
msgid "You have no dead tracks in your iTunes Library"
msgstr "У вас нет мертвых треков в вашей библиотеке ITunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Добавить ITunes каталог"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Удалить Мертвые треки в ITunes"
@@ -672,11 +664,6 @@ msgstr "Настройки ..."
msgid "Folder Selection Window"
msgstr "Окно выбора папок"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Отправить Отмеченное в корзину"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -730,7 +717,7 @@ msgstr "Изменить приоритеты Результатов"
msgid "Ok"
msgstr "ОК"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -760,7 +747,7 @@ msgstr "Действие"
msgid "Directories"
msgstr "Каталоги"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Только обманки"
@@ -855,7 +842,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
@@ -891,26 +878,64 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr "Отправить Помечено в Корзину..."
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr "Добавить ITunes каталог"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr "Отправить Отмеченное в корзину..."
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""

View File

@@ -30,7 +30,7 @@ msgstr ""
msgid "Scanning the iTunes Library"
msgstr ""
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr ""
@@ -57,11 +57,19 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr ""
@@ -119,31 +127,35 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -178,16 +190,16 @@ msgstr ""
msgid "Add Folder..."
msgstr ""
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr ""
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr ""
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr ""
@@ -231,7 +243,7 @@ msgstr ""
msgid "All Files (*.*)"
msgstr ""
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr ""
@@ -366,133 +378,133 @@ msgstr ""
msgid "Reveal Selected"
msgstr ""
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: 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:46 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:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr ""
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr ""
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Move Marked to..."
msgstr ""
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Copy Marked to..."
msgstr ""
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr ""
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr ""
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr ""
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Make Selected Reference"
msgstr ""
#: qt/base/result_window.py:59 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 "Open Selected with Default Application"
msgstr ""
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr ""
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr ""
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr ""
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr ""
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr ""
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr ""
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr ""
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr ""
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr ""
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr ""
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr ""
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr ""
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr ""
@@ -660,7 +672,7 @@ msgid "The name '%@' already exists."
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgid "Add iTunes Library"
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
@@ -671,6 +683,10 @@ msgstr ""
msgid "Add iPhoto Library"
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Yes"
msgstr ""
@@ -729,7 +745,7 @@ msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgid "Send Marked to Trash..."
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
@@ -781,6 +797,15 @@ msgstr ""
msgid "Re-Prioritize Results"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Ok"
msgstr ""

View File

@@ -40,15 +40,15 @@ msgstr "Видалення мертвих треків з вашої біблі
msgid "Scanning the iTunes Library"
msgstr "Сканування бібліотеки iTunes"
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "Відправлення дублікатів до кошика"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr "Виконується взаємодія з програмою iPhoto. Не чіпайте її!"
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "Не вдалося знайти програму iPhoto."
@@ -121,16 +121,16 @@ msgstr "Вікно результатів"
msgid "Add Folder..."
msgstr "Додати папку ..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Файл"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr "Вид"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr "Результати dupeGuru (*.dupeguru) "
@@ -306,125 +306,121 @@ msgstr "Показати вибрані"
msgid "Close"
msgstr "Закрити"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: 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:46 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:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "Показати різницю"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr "Надіслати позначене до кошику"
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Move Marked to..."
msgstr "Перемістити позначене до ..."
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Copy Marked to..."
msgstr "Скопіювати позначене до ..."
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr "Змінити пріоритети результатів ..."
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr "Видалити обране з результатів"
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr "Додати обране в чорний список"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Make Selected Reference"
msgstr "Зробити обране посиланням"
#: qt/base/result_window.py:59 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 "Open Selected with Default Application"
msgstr "Відкрити обране програмою за умовчанням"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr "Відкрити папку, що містить обране"
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "Перейменувати обране"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "Позначити всі"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "Скинути позначення"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "Інвертувати позначення"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "Позначити обране"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr "Експорт в HTML"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Зберегти результати ..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Викликати власну команду"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr "Позначити"
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Колонки"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr "{} Результати"
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Оберіть файл у який слід зберегти ваші результати"
@@ -602,10 +598,6 @@ msgstr ""
msgid "You have no dead tracks in your iTunes Library"
msgstr "У вашій бібліотеці iTunes немає мертвих треків "
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Додати папку iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Видалити мертві треки в iTunes"
@@ -670,11 +662,6 @@ msgstr "Налаштування ..."
msgid "Folder Selection Window"
msgstr "Вікно вибору папок"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Надіслати позначене до кошику"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -728,7 +715,7 @@ msgstr "Змінити пріоритети Результати"
msgid "Ok"
msgstr "Ok"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -758,7 +745,7 @@ msgstr "Дія"
msgid "Directories"
msgstr "Папки"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Тільки дублікати"
@@ -853,7 +840,7 @@ msgstr "Виконується взаємодія з програмою iTunes.
msgid "The iTunes application couldn't be found."
msgstr "Не можливо знайти програму iTunes"
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr "Різниця"
@@ -889,26 +876,64 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr "Надіслати позначене до кошику..."
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr "Додати папку iTunes"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr "Надіслати позначене до кошику..."
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""

View File

@@ -85,16 +85,16 @@ msgstr "结果窗口"
msgid "Add Folder..."
msgstr "增加文件夹..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:78
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:75
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "文件"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:86
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:83
msgid "View"
msgstr "视图"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:88
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:85
#: 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:296
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:293
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru结果 (*.dupeguru)"
@@ -266,125 +266,121 @@ msgstr "显示选择"
msgid "Close"
msgstr "关闭"
#: qt/base/result_window.py:47 qt/base/result_window.py:171
#: qt/base/result_window.py:44 qt/base/result_window.py:168
#: 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:82
#: qt/base/result_window.py:146 qt/base/result_window.py:170
#: qt/base/result_window.py:45 qt/base/result_window.py:79
#: qt/base/result_window.py:143 qt/base/result_window.py:167
#: 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:46 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:47 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Show Delta Values"
msgstr "显示Delta值"
#: qt/base/result_window.py:51
msgid "Send Marked to Recycle Bin"
msgstr "将标记的文件移到回收站"
#: qt/base/result_window.py:52 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:49 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Move Marked to..."
msgstr "将标记的文件移动到..."
#: qt/base/result_window.py:53 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:50 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Copy Marked to..."
msgstr "将标记的文件复制到..."
#: qt/base/result_window.py:54 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:51 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:55
#: qt/base/result_window.py:52
msgid "Re-Prioritize Results..."
msgstr "从结果中移除所选的文件"
#: qt/base/result_window.py:56 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 "Remove Selected from Results"
msgstr "从结果中移除所选的文件"
#: qt/base/result_window.py:57 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 "Add Selected to Ignore List"
msgstr "将所选文件添加到忽略列表中"
#: qt/base/result_window.py:58 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:55 cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Make Selected Reference"
msgstr "将所选文件设定为参照文件"
#: qt/base/result_window.py:59 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 "Open Selected with Default Application"
msgstr "使用默认程序打开所选文件"
#: qt/base/result_window.py:60
#: qt/base/result_window.py:57
msgid "Open Containing Folder of Selected"
msgstr "打开所选文件所在的文件夹"
#: qt/base/result_window.py:61 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 "Rename Selected"
msgstr "重命名所选文件"
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:59 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark All"
msgstr "标记全部"
#: qt/base/result_window.py:63 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:60 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark None"
msgstr "全部取消标记"
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:61 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invert Marking"
msgstr "反选标记文件"
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:62 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Mark Selected"
msgstr "标记所选文件"
#: qt/base/result_window.py:66
#: qt/base/result_window.py:63
msgid "Export To HTML"
msgstr "导出为 HTML"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:64 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "保存结果..."
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:65 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "调用自定义命令"
#: qt/base/result_window.py:80
#: qt/base/result_window.py:77
msgid "Mark"
msgstr "标记"
#: qt/base/result_window.py:84 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:81 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "显示列"
#: qt/base/result_window.py:142 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:139 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:164
#: qt/base/result_window.py:161
msgid "{} Results"
msgstr "{} (结果)"
#: qt/base/result_window.py:295 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:292 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "将结果保存为..."
@@ -539,10 +535,6 @@ msgstr "Load from file..."
msgid "Reset to Default"
msgstr "Reset to Default"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Directory"
msgstr "Add iTunes Directory"
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Remove Dead Tracks in iTunes"
msgstr "Remove Dead Tracks in iTunes"
@@ -595,11 +587,6 @@ msgstr "Preferences..."
msgid "Folder Selection Window"
msgstr "Folder Selection Window"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash"
msgstr "Send Marked to Trash"
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Reveal Selected in Finder"
@@ -653,7 +640,7 @@ msgstr "Re-Prioritize Results"
msgid "Ok"
msgstr "Ok"
#: qt/base/deletion_options.py:50
#: qt/base/deletion_options.py:53
#: cocoa/base/en.lproj/DeletionOptions.strings:0
#: cocoa/base/en.lproj/PrioritizeDialog.strings:0
msgid "Cancel"
@@ -693,7 +680,7 @@ msgstr "Action"
msgid "Directories"
msgstr "Directories"
#: qt/base/result_window.py:172 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:169 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Dupes Only"
@@ -792,15 +779,15 @@ msgstr "从你的iTunes库中移除无效的音轨"
msgid "Scanning the iTunes Library"
msgstr "正在扫描iTunes库"
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:144
#: cocoa/inter/app_me.py:157 cocoa/inter/app_pe.py:186
msgid "Sending dupes to the Trash"
msgstr "将重复文件移到垃圾桶"
#: cocoa/inter/app_pe.py:146
#: cocoa/inter/app_pe.py:188
msgid "Talking to iPhoto. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:201
#: cocoa/inter/app_pe.py:296
msgid "The iPhoto application couldn't be found."
msgstr "The iPhoto application couldn't be found."
@@ -846,7 +833,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:173
#: qt/base/result_window.py:170
msgid "Delta Values"
msgstr ""
@@ -882,26 +869,64 @@ msgstr ""
msgid "Hardlink deleted files"
msgstr ""
#: qt/base/deletion_options.py:36
#: qt/base/deletion_options.py:39
#: 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
#: qt/base/deletion_options.py:44
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Directly delete files"
msgstr ""
#: qt/base/deletion_options.py:43
#: qt/base/deletion_options.py:46
#: 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
#: qt/base/deletion_options.py:52
#: cocoa/base/en.lproj/DeletionOptions.strings:0
msgid "Proceed"
msgstr ""
#: cocoa/inter/app_pe.py:197
msgid "Talking to Aperture. Don't touch it!"
msgstr ""
#: cocoa/inter/app_pe.py:270
msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"."
msgstr ""
#: qt/base/deletion_options.py:37
msgid " (Mac OS X or Linux only)"
msgstr ""
#: qt/base/result_window.py:48
msgid "Send Marked to Recycle Bin..."
msgstr "将标记的文件移到回收站..."
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add iTunes Library"
msgstr ""
#: cocoa/base/en.lproj/Localizable.strings:0
msgid "Add Aperture Library"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Send Marked to Trash..."
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
#: cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Quick Look"
msgstr ""
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Filter Results..."
msgstr ""

View File

@@ -14,31 +14,22 @@ import json
from argparse import ArgumentParser
from hscommon.plat import ISWINDOWS, ISLINUX
from hscommon.build import (build_dmg, add_to_pythonpath, print_and_do, copy_packages,
build_debian_changelog, copy_qt_plugins, get_module_version)
from hscommon.build import (add_to_pythonpath, print_and_do, copy_packages, build_debian_changelog,
copy_qt_plugins, get_module_version, filereplace, copy, setup_package_argparser,
package_cocoa_app_in_dmg)
def parse_args():
parser = ArgumentParser()
parser.add_argument('--sign', dest='sign_identity',
help="Sign app under specified identity before packaging (OS X only)")
args = parser.parse_args()
return args
setup_package_argparser(parser)
return parser.parse_args()
def package_cocoa(edition, sign_identity):
def package_cocoa(edition, args):
app_path = {
'se': 'cocoa/se/dupeGuru.app',
'me': 'cocoa/me/dupeGuru ME.app',
'pe': 'cocoa/pe/dupeGuru PE.app',
}[edition]
# Rather than signing our app in XCode during the build phase, we sign it during the package
# phase because running the app before packaging can modify it and we want to be sure to have
# a valid signature.
if sign_identity:
sign_identity = "Developer ID Application: {}".format(sign_identity)
print_and_do('codesign --force --sign "{}" "{}"'.format(sign_identity, app_path))
else:
print("WARNING: packaging an unsigned application")
build_dmg(app_path, '.')
package_cocoa_app_in_dmg(app_path, '.', args)
def package_windows(edition, dev):
if not ISWINDOWS:
@@ -99,10 +90,17 @@ def package_debian(edition):
if edition == 'me':
packages.append('hsaudiotag')
copy_packages(packages, srcpath)
shutil.copytree(ed('debian_{0}'), op.join(destpath, 'debian'))
debdest = op.join(destpath, 'debian')
os.makedirs(debdest)
debopts = json.load(open(op.join('debian', ed('{}.json'))))
for fn in ['compat', 'copyright', 'dirs']:
copy(op.join('debian', fn), op.join(debdest, fn))
for fn in ['control', 'rules']:
filereplace(op.join('debian', fn), op.join(debdest, fn), **debopts)
filereplace(op.join('debian', 'dupeguru.desktop'), op.join(debdest, ed('dupeguru_{}.desktop')), **debopts)
changelogpath = op.join('help', ed('changelog_{}'))
changelog_dest = op.join(destpath, 'debian', 'changelog')
project_name = ed('dupeguru-{0}')
changelog_dest = op.join(debdest, 'changelog')
project_name = debopts['pkgname']
from_version = {'se': '2.9.2', 'me': '5.7.2', 'pe': '1.8.5'}[edition]
build_debian_changelog(changelogpath, changelog_dest, project_name, from_version=from_version)
shutil.copytree(op.join('build', 'help'), op.join(srcpath, 'help'))
@@ -120,7 +118,7 @@ def main():
dev = conf['dev']
print("Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui))
if ui == 'cocoa':
package_cocoa(edition, args.sign_identity)
package_cocoa(edition, args)
elif ui == 'qt':
if ISWINDOWS:
package_windows(edition, dev)

View File

@@ -17,7 +17,7 @@ from qtlib.preferences import LANGNAMES
tr = trget('ui')
SUPPORTED_LANGUAGES = ['en', 'fr', 'de', 'zh_CN', 'cs', 'it', 'hy', 'ru', 'uk']
SUPPORTED_LANGUAGES = ['en', 'fr', 'de', 'zh_CN', 'cs', 'it', 'hy', 'ru', 'uk', 'pt_BR']
class PreferencesDialogBase(QDialog):
def __init__(self, parent, app):

View File

@@ -45,7 +45,7 @@ class ResultWindow(QMainWindow):
('actionActions', '', '', tr("Actions"), self.actionsTriggered),
('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),
('actionDeleteMarked', 'Ctrl+D', '', tr("Send Marked to Recycle Bin..."), self.deleteTriggered),
('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),

View File

@@ -35,7 +35,7 @@ getblock(PyObject *image, int width, int height)
red = green = blue = 0;
pixel_count = width * height;
if (pixel_count) {
PyObject *sipptr, *pi;
PyObject *sipptr, *bits_capsule, *pi;
char *s;
int i;
@@ -44,11 +44,10 @@ getblock(PyObject *image, int width, int height)
Py_DECREF(pi);
sipptr = PyObject_CallMethod(image, "bits", NULL);
/* int(sipptr) returns the address of the pointer */
pi = PyObject_CallMethod(sipptr, "__int__", NULL);
bits_capsule = PyObject_CallMethod(sipptr, "ascapsule", NULL);
Py_DECREF(sipptr);
s = (char *)PyLong_AsLong(pi);
Py_DECREF(pi);
s = (char *)PyCapsule_GetPointer(bits_capsule, NULL);
Py_DECREF(bits_capsule);
/* Qt aligns all its lines on 32bit, which means that if the number of bytes per
* line for image is not divisible by 4, there's going to be crap inserted in "s"
* We have to take this into account when calculating offsets

View File

@@ -1,6 +1,6 @@
jobprogress>=1.0.4
Send2Trash3k>=1.2.0
sphinx>=1.1.0
sphinx>=1.1.3
polib>=0.7.0
hsaudiotag3k>=1.1.2
pytest>=2.0.0