From 01403a3f926652c4aa7e4afc907f8cbc17513bd4 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sat, 30 Nov 2013 17:54:40 -0500 Subject: [PATCH 1/2] Removed fairware --- build.py | 4 +- cocoa/base/AppDelegateBase.h | 6 +- cocoa/base/AppDelegateBase.m | 14 +- cocoa/inter/app.py | 6 +- cocoa/wscript | 2 +- cocoalib/HSAboutBox.h | 2 - cocoalib/HSFairware.h | 19 -- cocoalib/HSFairware.m | 150 --------------- cocoalib/HSFairwareAboutBox.h | 33 ---- cocoalib/HSFairwareAboutBox.m | 60 ------ cocoalib/HSFairwareProtocol.h | 20 -- cocoalib/HSFairwareReminder.h | 46 ----- cocoalib/HSFairwareReminder.m | 115 ----------- cocoalib/cocoa/inter.py | 34 ---- cocoalib/ui/demo_reminder.py | 32 ---- cocoalib/ui/enter_code.py | 52 ----- cocoalib/ui/fairware_about.py | 46 ----- core/app.py | 21 +- hscommon/build.py | 13 +- hscommon/locale/cs/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/de/LC_MESSAGES/hscommon.po | 31 --- hscommon/locale/es/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/fr/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/hscommon.pot | 15 -- hscommon/locale/hy/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/it/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/nl/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/pt_BR/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/ru/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/uk/LC_MESSAGES/hscommon.po | 24 --- hscommon/locale/vi/LC_MESSAGES/hscommon.po | 20 -- hscommon/locale/zh_CN/LC_MESSAGES/hscommon.po | 32 ---- hscommon/reg.py | 179 ------------------ hscommon/tests/reg_test.py | 68 ------- qt/base/app.py | 20 -- qt/base/directories_dialog.py | 1 - qt/base/result_window.py | 1 - qt/run_template.py | 2 - qtlib/about_box.py | 16 +- qtlib/reg.py | 25 --- qtlib/reg_demo_dialog.py | 80 -------- qtlib/reg_submit_dialog.py | 102 ---------- 42 files changed, 18 insertions(+), 1465 deletions(-) delete mode 100644 cocoalib/HSFairware.h delete mode 100644 cocoalib/HSFairware.m delete mode 100644 cocoalib/HSFairwareAboutBox.h delete mode 100644 cocoalib/HSFairwareAboutBox.m delete mode 100644 cocoalib/HSFairwareProtocol.h delete mode 100644 cocoalib/HSFairwareReminder.h delete mode 100644 cocoalib/HSFairwareReminder.m delete mode 100644 cocoalib/ui/demo_reminder.py delete mode 100644 cocoalib/ui/enter_code.py delete mode 100644 cocoalib/ui/fairware_about.py delete mode 100644 hscommon/locale/cs/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/de/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/es/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/fr/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/hscommon.pot delete mode 100644 hscommon/locale/hy/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/it/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/nl/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/pt_BR/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/ru/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/uk/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/vi/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/locale/zh_CN/LC_MESSAGES/hscommon.po delete mode 100644 hscommon/reg.py delete mode 100644 hscommon/tests/reg_test.py delete mode 100644 qtlib/reg.py delete mode 100644 qtlib/reg_demo_dialog.py delete mode 100644 qtlib/reg_submit_dialog.py diff --git a/build.py b/build.py index 5ae90608..75a30879 100644 --- a/build.py +++ b/build.py @@ -264,7 +264,7 @@ def build_cocoa_bridging_interfaces(edition): add_to_pythonpath('cocoalib') from cocoa.inter import (PyGUIObject, GUIObjectView, PyColumns, ColumnsView, PyOutline, OutlineView, PySelectableList, SelectableListView, PyTable, TableView, PyBaseApp, - PyFairware, PyTextField, ProgressWindowView, PyProgressWindow) + PyTextField, ProgressWindowView, PyProgressWindow) from inter.deletion_options import PyDeletionOptions, DeletionOptionsView from inter.details_panel import PyDetailsPanel, DetailsPanelView from inter.directory_outline import PyDirectoryOutline, DirectoryOutlineView @@ -276,7 +276,7 @@ def build_cocoa_bridging_interfaces(edition): from inter.stats_label import PyStatsLabel, StatsLabelView from inter.app import PyDupeGuruBase, DupeGuruView appmod = importlib.import_module('inter.app_{}'.format(edition)) - allclasses = [PyGUIObject, PyColumns, PyOutline, PySelectableList, PyTable, PyBaseApp, PyFairware, + allclasses = [PyGUIObject, PyColumns, PyOutline, PySelectableList, PyTable, PyBaseApp, PyDetailsPanel, PyDirectoryOutline, PyPrioritizeDialog, PyPrioritizeList, PyProblemDialog, PyIgnoreListDialog, PyDeletionOptions, PyResultTable, PyStatsLabel, PyDupeGuruBase, PyTextField, PyProgressWindow, appmod.PyDupeGuru] diff --git a/cocoa/base/AppDelegateBase.h b/cocoa/base/AppDelegateBase.h index f3c7f219..d7f2e957 100644 --- a/cocoa/base/AppDelegateBase.h +++ b/cocoa/base/AppDelegateBase.h @@ -13,7 +13,7 @@ http://www.hardcoded.net/licenses/bsd_license #import "DetailsPanel.h" #import "DirectoryPanel.h" #import "IgnoreListDialog.h" -#import "HSFairwareAboutBox.h" +#import "HSAboutBox.h" #import "HSRecentFiles.h" #import "HSProgressWindow.h" @@ -30,7 +30,7 @@ http://www.hardcoded.net/licenses/bsd_license IgnoreListDialog *_ignoreListDialog; HSProgressWindow *_progressWindow; NSWindowController *_preferencesPanel; - HSFairwareAboutBox *_aboutBox; + HSAboutBox *_aboutBox; HSRecentFiles *_recentResults; } @@ -73,6 +73,4 @@ http://www.hardcoded.net/licenses/bsd_license /* model --> view */ - (void)showMessage:(NSString *)msg; -- (void)setupAsRegistered; -- (void)showDemoNagWithPrompt:(NSString *)prompt; @end diff --git a/cocoa/base/AppDelegateBase.m b/cocoa/base/AppDelegateBase.m index 7c906390..a15fd7d6 100644 --- a/cocoa/base/AppDelegateBase.m +++ b/cocoa/base/AppDelegateBase.m @@ -8,7 +8,6 @@ http://www.hardcoded.net/licenses/bsd_license #import "AppDelegateBase.h" #import "ProgressController.h" -#import "HSFairwareReminder.h" #import "HSPyUtil.h" #import "Consts.h" #import "Dialogs.h" @@ -162,7 +161,7 @@ http://www.hardcoded.net/licenses/bsd_license - (void)showAboutBox { if (_aboutBox == nil) { - _aboutBox = [[HSFairwareAboutBox alloc] initWithApp:model]; + _aboutBox = [[HSAboutBox alloc] initWithApp:model]; } [[_aboutBox window] makeKeyAndOrderFront:nil]; } @@ -199,7 +198,6 @@ http://www.hardcoded.net/licenses/bsd_license /* Delegate */ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - [model initialRegistrationSetup]; [model loadSession]; } @@ -261,16 +259,6 @@ http://www.hardcoded.net/licenses/bsd_license [[self resultWindow] showProblemDialog]; } -- (void)setupAsRegistered -{ - // Nothing to do. -} - -- (void)showDemoNagWithPrompt:(NSString *)prompt -{ - [HSFairwareReminder showDemoNagWithApp:[self model] prompt:prompt]; -} - - (NSString *)selectDestFolderWithPrompt:(NSString *)prompt { NSOpenPanel *op = [NSOpenPanel openPanel]; diff --git a/cocoa/inter/app.py b/cocoa/inter/app.py index 51768c74..bb9223b6 100644 --- a/cocoa/inter/app.py +++ b/cocoa/inter/app.py @@ -2,15 +2,15 @@ import logging from objp.util import pyref, dontwrap from cocoa import install_exception_hook, install_cocoa_logger, patch_threaded_job_performer, proxy -from cocoa.inter import PyFairware, FairwareView +from cocoa.inter import PyBaseApp, BaseAppView -class DupeGuruView(FairwareView): +class DupeGuruView(BaseAppView): def askYesNoWithPrompt_(self, prompt: str) -> bool: pass def showProblemDialog(self): pass def selectDestFolderWithPrompt_(self, prompt: str) -> str: pass def selectDestFileWithPrompt_extension_(self, prompt: str, extension: str) -> str: pass -class PyDupeGuruBase(PyFairware): +class PyDupeGuruBase(PyBaseApp): @dontwrap def _init(self, modelclass): logging.basicConfig(level=logging.WARNING, format='%(levelname)s %(message)s') diff --git a/cocoa/wscript b/cocoa/wscript index b97df48d..058ea27a 100644 --- a/cocoa/wscript +++ b/cocoa/wscript @@ -44,7 +44,7 @@ def build(ctx): cocoalib_node = ctx.srcnode.find_dir('..').find_dir('cocoalib') cocoalib_folders = ['controllers', 'views'] cocoalib_includes = [cocoalib_node] + [cocoalib_node.find_dir(folder) for folder in cocoalib_folders] - cocoalib_uses = ['NSEventAdditions', 'Dialogs', 'HSFairwareAboutBox', 'HSFairwareReminder', 'Utils', + cocoalib_uses = ['NSEventAdditions', 'Dialogs', 'HSAboutBox', 'Utils', 'HSPyUtil', 'ProgressController', 'HSRecentFiles', 'HSQuicklook', 'ValueTransformers', 'NSImageAdditions', 'NSNotificationAdditions', 'views/HSTableView', 'views/HSOutlineView', 'views/NSIndexPathAdditions', diff --git a/cocoalib/HSAboutBox.h b/cocoalib/HSAboutBox.h index bdb02acf..89d53aae 100644 --- a/cocoalib/HSAboutBox.h +++ b/cocoalib/HSAboutBox.h @@ -14,8 +14,6 @@ http://www.hardcoded.net/licenses/bsd_license NSTextField *titleTextField; NSTextField *versionTextField; NSTextField *copyrightTextField; - NSTextField *registeredTextField; - NSButton *registerButton; PyBaseApp *app; } diff --git a/cocoalib/HSFairware.h b/cocoalib/HSFairware.h deleted file mode 100644 index bb09475f..00000000 --- a/cocoalib/HSFairware.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -This software is licensed under the "BSD" License as described in the "LICENSE" file, -which should be included with this package. The terms are also available at -http://www.hardcoded.net/licenses/bsd_license -*/ - -#import -#import "HSFairwareProtocol.h" - -@interface HSFairware : NSObject -{ - NSInteger appId; - NSString *name; - BOOL registered; -} -- (id)initWithAppId:(NSInteger)aAppId name:(NSString *)aName; -@end \ No newline at end of file diff --git a/cocoalib/HSFairware.m b/cocoalib/HSFairware.m deleted file mode 100644 index 60bcde2b..00000000 --- a/cocoalib/HSFairware.m +++ /dev/null @@ -1,150 +0,0 @@ -/* -Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -This software is licensed under the "BSD" License as described in the "LICENSE" file, -which should be included with this package. The terms are also available at -http://www.hardcoded.net/licenses/bsd_license -*/ - -#import "HSFairware.h" -#import -#import "HSFairwareReminder.h" -#import "Dialogs.h" -#import "Utils.h" - -NSString* md5str(NSString *source) -{ - const char *cSource = [source UTF8String]; - unsigned char result[16]; - CC_MD5(cSource, strlen(cSource), result); - return fmt(@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", - result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], - result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] - ); -} - -BOOL validateCode(NSString *code, NSString *email, NSInteger appId) -{ - if ([code length] != 32) { - return NO; - } - NSInteger i; - for (i=0; i<=100; i++) { - NSString *blob = fmt(@"%i%@%iaybabtu", appId, email, i); - if ([md5str(blob) isEqualTo:code]) { - return YES; - } - } - return NO; -} - -NSString* normalizeString(NSString *str) -{ - return [[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] lowercaseString]; -} - -@implementation HSFairware -- (id)initWithAppId:(NSInteger)aAppId name:(NSString *)aName; -{ - self = [super init]; - appId = aAppId; - name = [aName retain]; - registered = NO; - return self; -} - -- (void)dealloc -{ - [name release]; - [super dealloc]; -} - -/* Private */ -- (void)setRegistrationCode:(NSString *)aCode email:(NSString *)aEmail -{ - registered = validateCode(aCode, aEmail, appId); -} - -/* Public */ -- (void)initialRegistrationSetup -{ - NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; - NSString *code = [ud stringForKey:@"RegistrationCode"]; - NSString *email = [ud stringForKey:@"RegistrationEmail"]; - if (code && email) { - [self setRegistrationCode:code email:email]; - } - if (!registered) { - BOOL fairwareMode = [ud boolForKey:@"FairwareMode"]; - if (!fairwareMode) { - NSString *prompt = @"%@ is fairware, which means \"open source software developed " - "with expectation of fair contributions from users\". It's a very interesting " - "concept, but one year of fairware has shown that most people just want to know " - "how much it costs and not be bothered with theories about intellectual property." - "\n\n" - "So I won't bother you and will be very straightforward: You can try %@ for " - "free but you have to buy it in order to use it without limitations. In demo mode, " - "%@ will show this dialog on startup." - "\n\n" - "So it's as simple as this. If you're curious about fairware, however, I encourage " - "you to read more about it by clicking on the \"Fairware?\" button."; - [HSFairwareReminder showDemoNagWithApp:self prompt:fmt(prompt, name, name, name)]; - } - } -} - -- (NSString *)appName -{ - return name; -} - -- (NSString *)appLongName -{ - return name; -} - -- (BOOL)isRegistered -{ - return registered; -} - -- (BOOL)setRegisteredCode:(NSString *)code andEmail:(NSString *)email -{ - code = normalizeString(code); - email = normalizeString(email); - NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; - if (([code isEqualTo:@"fairware"]) || ([email isEqualTo:@"fairware"])) { - [ud setBool:YES forKey:@"FairwareMode"]; - [Dialogs showMessage:@"Fairware mode enabled."]; - return YES; - } - [self setRegistrationCode:code email:email]; - if (registered) { - [ud setObject:code forKey:@"RegistrationCode"]; - [ud setObject:email forKey:@"RegistrationEmail"]; - [Dialogs showMessage:@"Your code is valid, thanks!"]; - return YES; - } - else { - [Dialogs showMessage:@"Your code is invalid. Make sure that you wrote the good code. Also " - "make sure that the e-mail you gave is the same as the e-mail you used for your purchase."]; - return NO; - } -} - -- (void)contribute -{ - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://open.hardcoded.net/contribute/"]]; -} - -- (void)buy -{ - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.hardcoded.net/purchase.htm"]]; -} - -- (void)aboutFairware -{ - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://open.hardcoded.net/about/"]]; -} - -@end \ No newline at end of file diff --git a/cocoalib/HSFairwareAboutBox.h b/cocoalib/HSFairwareAboutBox.h deleted file mode 100644 index ed22cb09..00000000 --- a/cocoalib/HSFairwareAboutBox.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -This software is licensed under the "BSD" License as described in the "LICENSE" file, -which should be included with this package. The terms are also available at -http://www.hardcoded.net/licenses/bsd_license -*/ - -#import -#import "PyFairware.h" - -@interface HSFairwareAboutBox : NSWindowController -{ - NSTextField *titleTextField; - NSTextField *versionTextField; - NSTextField *copyrightTextField; - NSTextField *registeredTextField; - NSButton *registerButton; - - PyFairware *app; -} - -@property (readwrite, retain) NSTextField *titleTextField; -@property (readwrite, retain) NSTextField *versionTextField; -@property (readwrite, retain) NSTextField *copyrightTextField; -@property (readwrite, retain) NSTextField *registeredTextField; -@property (readwrite, retain) NSButton *registerButton; - -- (id)initWithApp:(PyFairware *)app; -- (void)updateFields; - -- (void)showRegisterDialog; -@end \ No newline at end of file diff --git a/cocoalib/HSFairwareAboutBox.m b/cocoalib/HSFairwareAboutBox.m deleted file mode 100644 index 20302721..00000000 --- a/cocoalib/HSFairwareAboutBox.m +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -This software is licensed under the "BSD" License as described in the "LICENSE" file, -which should be included with this package. The terms are also available at -http://www.hardcoded.net/licenses/bsd_license -*/ - -#import "HSFairwareAboutBox.h" -#import "HSFairwareAboutBox_UI.h" -#import "HSFairwareReminder.h" - -@implementation HSFairwareAboutBox - -@synthesize titleTextField; -@synthesize versionTextField; -@synthesize copyrightTextField; -@synthesize registeredTextField; -@synthesize registerButton; - -- (id)initWithApp:(PyFairware *)aApp -{ - self = [super initWithWindow:nil]; - [self setWindow:createHSFairwareAboutBox_UI(self)]; - app = [aApp retain]; - [self updateFields]; - return self; -} - -- (void)dealloc -{ - [app release]; - [super dealloc]; -} - -- (void)updateFields -{ - [titleTextField setStringValue:[app appLongName]]; - NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]; - [versionTextField setStringValue:[NSString stringWithFormat:@"Version: %@",version]]; - NSString *copyright = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSHumanReadableCopyright"]; - [copyrightTextField setStringValue:copyright]; - if ([app isRegistered]) { - [registeredTextField setHidden:NO]; - [registerButton setHidden:YES]; - } - else { - [registeredTextField setHidden:YES]; - [registerButton setHidden:NO]; - } -} - -- (void)showRegisterDialog -{ - HSFairwareReminder *fr = [[HSFairwareReminder alloc] initWithApp:app]; - [fr enterCode]; - [fr release]; - [self updateFields]; -} -@end diff --git a/cocoalib/HSFairwareProtocol.h b/cocoalib/HSFairwareProtocol.h deleted file mode 100644 index e78767ea..00000000 --- a/cocoalib/HSFairwareProtocol.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -This software is licensed under the "BSD" License as described in the "LICENSE" file, -which should be included with this package. The terms are also available at -http://www.hardcoded.net/licenses/bsd_license -*/ - -#import - -@protocol HSFairwareProtocol -- (void)initialRegistrationSetup; -- (NSString *)appName; -- (NSString *)appLongName; -- (BOOL)isRegistered; -- (BOOL)setRegisteredCode:(NSString *)code andEmail:(NSString *)email; -- (void)contribute; -- (void)buy; -- (void)aboutFairware; -@end \ No newline at end of file diff --git a/cocoalib/HSFairwareReminder.h b/cocoalib/HSFairwareReminder.h deleted file mode 100644 index 947945c3..00000000 --- a/cocoalib/HSFairwareReminder.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -This software is licensed under the "BSD" License as described in the "LICENSE" file, -which should be included with this package. The terms are also available at -http://www.hardcoded.net/licenses/bsd_license -*/ - -#import -#import "HSFairwareProtocol.h" - -@interface HSFairwareReminder : NSObject -{ - NSWindow *codePanel; - NSTextField *codePromptTextField; - NSTextField *codeTextField; - NSTextField *emailTextField; - NSWindow *demoNagPanel; - NSTextField *demoPromptTextField; - - id app; -} - -@property (readwrite, retain) NSWindow *codePanel; -@property (readwrite, retain) NSTextField *codePromptTextField; -@property (readwrite, retain) NSTextField *codeTextField; -@property (readwrite, retain) NSTextField *emailTextField; -@property (readwrite, retain) NSWindow *demoNagPanel; -@property (readwrite, retain) NSTextField *demoPromptTextField; - -//Show nag only if needed -+ (BOOL)showDemoNagWithApp:(id )app prompt:(NSString *)prompt; -- (id)initWithApp:(id )app; - -- (void)contribute; -- (void)buy; -- (void)moreInfo; -- (void)cancelCode; -- (void)showEnterCode; -- (void)submitCode; -- (void)closeDialog; - -- (BOOL)showNagPanel:(NSWindow *)panel; //YES: The code has been sucessfully submitted NO: The use wan't to try the demo. -- (BOOL)showDemoNagPanelWithPrompt:(NSString *)prompt; -- (NSInteger)enterCode; //returns the modal code. -@end diff --git a/cocoalib/HSFairwareReminder.m b/cocoalib/HSFairwareReminder.m deleted file mode 100644 index 3d61541a..00000000 --- a/cocoalib/HSFairwareReminder.m +++ /dev/null @@ -1,115 +0,0 @@ -/* -Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -This software is licensed under the "BSD" License as described in the "LICENSE" file, -which should be included with this package. The terms are also available at -http://www.hardcoded.net/licenses/bsd_license -*/ - -#import "HSFairwareReminder.h" -#import "HSDemoReminder_UI.h" -#import "HSEnterCode_UI.h" -#import "Dialogs.h" -#import "Utils.h" - -@implementation HSFairwareReminder - -@synthesize codePanel; -@synthesize codePromptTextField; -@synthesize codeTextField; -@synthesize emailTextField; -@synthesize demoNagPanel; -@synthesize demoPromptTextField; - -+ (BOOL)showDemoNagWithApp:(id )app prompt:(NSString *)prompt -{ - HSFairwareReminder *fr = [[HSFairwareReminder alloc] initWithApp:app]; - BOOL r = [fr showDemoNagPanelWithPrompt:prompt]; - [fr release]; - return r; -} - -- (id)initWithApp:(id )aApp -{ - self = [super init]; - app = aApp; - [self setDemoNagPanel:createHSDemoReminder_UI(self)]; - [self setCodePanel:createHSEnterCode_UI(self)]; - [codePanel update]; - [codePromptTextField setStringValue:fmt([codePromptTextField stringValue],[app appName])]; - return self; -} - -- (void)contribute -{ - [app contribute]; -} - -- (void)buy -{ - [app buy]; -} - -- (void)moreInfo -{ - [app aboutFairware]; -} - -- (void)cancelCode -{ - [codePanel close]; - [NSApp stopModalWithCode:NSCancelButton]; -} - -- (void)showEnterCode -{ - [demoNagPanel close]; - [NSApp stopModalWithCode:NSOKButton]; -} - -- (void)submitCode -{ - NSString *code = [codeTextField stringValue]; - NSString *email = [emailTextField stringValue]; - if ([app setRegisteredCode:code andEmail:email]) { - [codePanel close]; - [NSApp stopModalWithCode:NSOKButton]; - } -} - -- (void)closeDialog -{ - [demoNagPanel close]; - [NSApp stopModalWithCode:NSCancelButton]; -} - -- (BOOL)showNagPanel:(NSWindow *)panel; -{ - NSInteger r; - while (YES) { - r = [NSApp runModalForWindow:panel]; - if (r == NSOKButton) { - r = [self enterCode]; - if (r == NSOKButton) { - return YES; - } - } - else { - return NO; - } - } -} - -- (BOOL)showDemoNagPanelWithPrompt:(NSString *)prompt -{ - [demoNagPanel setTitle:fmt([demoNagPanel title],[app appName])]; - [demoPromptTextField setStringValue:prompt]; - return [self showNagPanel:demoNagPanel]; -} - -- (NSInteger)enterCode -{ - return [NSApp runModalForWindow:codePanel]; -} - -@end diff --git a/cocoalib/cocoa/inter.py b/cocoalib/cocoa/inter.py index 625f2c5f..699cc0e0 100644 --- a/cocoalib/cocoa/inter.py +++ b/cocoalib/cocoa/inter.py @@ -302,37 +302,3 @@ class PyBaseApp(PyGUIObject): def show_message(self, msg): self.callback.showMessage_(msg) -class FairwareView(BaseAppView): - def setupAsRegistered(self): pass - def showDemoNagWithPrompt_(self, prompt: str): pass - -class PyFairware(PyBaseApp): - FOLLOW_PROTOCOLS = ['HSFairwareProtocol'] - - def initialRegistrationSetup(self): - self.model.initial_registration_setup() - - def isRegistered(self) -> bool: - return self.model.registered - - def setRegisteredCode_andEmail_(self, code: str, email: str) -> bool: - return self.model.set_registration(code, email, False) - - def contribute(self): - self.model.contribute() - - def buy(self): - self.model.buy() - - def aboutFairware(self): - self.model.about_fairware() - - #--- Python --> Cocoa - @dontwrap - def setup_as_registered(self): - self.callback.setupAsRegistered() - - @dontwrap - def show_demo_nag(self, prompt): - self.callback.showDemoNagWithPrompt_(prompt) - diff --git a/cocoalib/ui/demo_reminder.py b/cocoalib/ui/demo_reminder.py deleted file mode 100644 index d4f36502..00000000 --- a/cocoalib/ui/demo_reminder.py +++ /dev/null @@ -1,32 +0,0 @@ -ownerclass = 'HSFairwareReminder' -ownerimport = 'HSFairwareReminder.h' - -result = Window(528, 253, "%@ is Fairware") -result.canClose = False -result.canResize = False -result.canMinimize = False -demoPromptLabel = Label(result, NLSTR("")) -tryButton = Button(result, "Try") -enterKeyButton = Button(result, "Enter Key") -buyButton = Button(result, "Buy") -fairwareButton = Button(result, "Fairware?") - -owner.demoPromptTextField = demoPromptLabel -result.initialFirstResponder = tryButton -demoPromptLabel.font = Font(FontFamily.Label, FontSize.SmallControl) -tryButton.action = Action(owner, 'closeDialog') -tryButton.keyEquivalent = "\\r" -enterKeyButton.action = Action(owner, 'showEnterCode') -buyButton.action = Action(owner, 'buy') -fairwareButton.action = Action(owner, 'moreInfo') - -for button in (tryButton, enterKeyButton, buyButton, fairwareButton): - button.width = 113 -demoPromptLabel.height = 185 - -demoPromptLabel.packToCorner(Pack.UpperLeft) -demoPromptLabel.fill(Pack.Right) -tryButton.packRelativeTo(demoPromptLabel, Pack.Below, Pack.Left) -enterKeyButton.packRelativeTo(tryButton, Pack.Right, Pack.Middle) -buyButton.packRelativeTo(enterKeyButton, Pack.Right, Pack.Middle) -fairwareButton.packRelativeTo(buyButton, Pack.Right, Pack.Middle) diff --git a/cocoalib/ui/enter_code.py b/cocoalib/ui/enter_code.py deleted file mode 100644 index 70988713..00000000 --- a/cocoalib/ui/enter_code.py +++ /dev/null @@ -1,52 +0,0 @@ -ownerclass = 'HSFairwareReminder' -ownerimport = 'HSFairwareReminder.h' - -result = Window(450, 185, "Enter Key") -result.canClose = False -result.canResize = False -result.canMinimize = False -titleLabel = Label(result, "Enter your key") -promptLabel = Label(result, "Type the key you received when you contributed to %@, as well as the e-mail used as a reference for the purchase.") -regkeyLabel = Label(result, "Registration key:") -regkeyField = TextField(result, "") -regemailLabel = Label(result, "Registration e-mail:") -regemailField = TextField(result, "") -contributeButton = Button(result, "Contribute") -cancelButton = Button(result, "Cancel") -submitButton = Button(result, "Submit") - -owner.codePromptTextField = promptLabel -owner.codeTextField = regkeyField -owner.emailTextField = regemailField -result.initialFirstResponder = regkeyField - -titleLabel.font = Font(FontFamily.Label, FontSize.RegularControl, traits=[FontTrait.Bold]) -smallerFont = Font(FontFamily.Label, FontSize.SmallControl) -for control in (promptLabel, regkeyLabel, regemailLabel): - control.font = smallerFont -regkeyField.usesSingleLineMode = regemailField.usesSingleLineMode = True -contributeButton.action = Action(owner, 'contribute') -cancelButton.action = Action(owner, 'cancelCode') -cancelButton.keyEquivalent = "\\E" -submitButton.action = Action(owner, 'submitCode') -submitButton.keyEquivalent = "\\r" - -for button in (contributeButton, cancelButton, submitButton): - button.width = 100 -regkeyLabel.width = 128 -regemailLabel.width = 128 -promptLabel.height = 32 - -titleLabel.packToCorner(Pack.UpperLeft) -titleLabel.fill(Pack.Right) -promptLabel.packRelativeTo(titleLabel, Pack.Below, Pack.Left) -promptLabel.fill(Pack.Right) -regkeyField.packRelativeTo(promptLabel, Pack.Below, Pack.Right) -regkeyLabel.packRelativeTo(regkeyField, Pack.Left, Pack.Middle) -regkeyField.fill(Pack.Left) -regemailField.packRelativeTo(regkeyField, Pack.Below, Pack.Right) -regemailLabel.packRelativeTo(regemailField, Pack.Left, Pack.Middle) -regemailField.fill(Pack.Left) -contributeButton.packRelativeTo(regemailLabel, Pack.Below, Pack.Left) -submitButton.packRelativeTo(regemailField, Pack.Below, Pack.Right) -cancelButton.packRelativeTo(submitButton, Pack.Left, Pack.Middle) diff --git a/cocoalib/ui/fairware_about.py b/cocoalib/ui/fairware_about.py deleted file mode 100644 index 9168bb72..00000000 --- a/cocoalib/ui/fairware_about.py +++ /dev/null @@ -1,46 +0,0 @@ -ownerclass = 'HSFairwareAboutBox' -ownerimport = 'HSFairwareAboutBox.h' - -result = Window(259, 217, "") -result.canResize = False -result.canMinimize = False -image = ImageView(result, "NSApplicationIcon") -titleLabel = Label(result, NLSTR("AppTitle")) -versionLabel = Label(result, NLSTR("AppVersion")) -copyrightLabel = Label(result, NLSTR("AppCopyright")) -registeredLabel = Label(result, "This app is registered, thanks!") -registerButton = Button(result, "Register") - -owner.window = result -owner.titleTextField = titleLabel -owner.versionTextField = versionLabel -owner.copyrightTextField = copyrightLabel -owner.registeredTextField = registeredLabel -owner.registerButton = registerButton -for label in (titleLabel, versionLabel, copyrightLabel, registeredLabel): - label.alignment = const.NSCenterTextAlignment -titleLabel.font = Font(FontFamily.Label, FontSize.RegularControl, traits=[FontTrait.Bold]) -for label in (versionLabel, copyrightLabel, registeredLabel): - label.font = Font(FontFamily.Label, FontSize.SmallControl) - label.height = 14 -registerButton.bezelStyle = const.NSRoundRectBezelStyle -registerButton.action = Action(owner, 'showRegisterDialog') - -image.height = 96 -image.packToCorner(Pack.UpperLeft) -image.y = result.height - 10 - image.height -image.fill(Pack.Right) -image.setAnchor(Pack.UpperLeft, growX=True) -titleLabel.packRelativeTo(image, Pack.Below, Pack.Left) -titleLabel.fill(Pack.Right) -titleLabel.setAnchor(Pack.UpperLeft, growX=True) -versionLabel.packRelativeTo(titleLabel, Pack.Below, Pack.Left) -versionLabel.fill(Pack.Right) -versionLabel.setAnchor(Pack.UpperLeft, growX=True) -copyrightLabel.packRelativeTo(versionLabel, Pack.Below, Pack.Left) -copyrightLabel.fill(Pack.Right) -copyrightLabel.setAnchor(Pack.UpperLeft, growX=True) -registeredLabel.packRelativeTo(copyrightLabel, Pack.Below, Pack.Left) -registeredLabel.fill(Pack.Right) -registeredLabel.setAnchor(Pack.UpperLeft, growX=True) -registerButton.packRelativeTo(copyrightLabel, Pack.Below, Pack.Middle) diff --git a/core/app.py b/core/app.py index 8ad03f96..d0936c98 100644 --- a/core/app.py +++ b/core/app.py @@ -16,7 +16,6 @@ import shutil from send2trash import send2trash from jobprogress import job -from hscommon.reg import RegistrableApplication from hscommon.notify import Broadcaster from hscommon.path import Path from hscommon.conflict import smart_move, smart_copy @@ -112,7 +111,7 @@ def fix_surrogate_encoding(s, encoding='utf-8'): else: return s -class DupeGuru(RegistrableApplication, Broadcaster): +class DupeGuru(Broadcaster): """Holds everything together. Instantiated once per running application, it holds a reference to every high-level object @@ -144,6 +143,10 @@ class DupeGuru(RegistrableApplication, Broadcaster): Instance of :mod:`meta-gui ` table listing the results from :attr:`results` """ #--- View interface + # get_default(key_name) + # set_default(key_name, value) + # show_message(msg) + # open_url(url) # open_path(path) # reveal_path(path) # ask_yes_no(prompt) --> bool @@ -154,14 +157,13 @@ class DupeGuru(RegistrableApplication, Broadcaster): # in fairware prompts, we don't mention the edition, it's too long. PROMPT_NAME = "dupeGuru" - DEMO_LIMITATION = tr("will only be able to delete, move or copy 10 duplicates at once") def __init__(self, view, appdata): if view.get_default(DEBUG_MODE_PREFERENCE): logging.getLogger().setLevel(logging.DEBUG) logging.debug("Debug mode enabled") - RegistrableApplication.__init__(self, view, appid=1) Broadcaster.__init__(self) + self.view = view self.appdata = appdata if not op.exists(self.appdata): os.makedirs(self.appdata) @@ -337,13 +339,6 @@ class DupeGuru(RegistrableApplication, Broadcaster): self.selected_dupes = dupes self.notify('dupes_selected') - def _check_demo(self): - if self.should_apply_demo_limitation and self.results.mark_count > 10: - msg = tr("You cannot delete, move or copy more than 10 duplicates at once in demo mode.") - self.view.show_message(msg) - return False - return True - #--- Public def add_directory(self, d): """Adds folder ``d`` to :attr:`directories`. @@ -430,8 +425,6 @@ class DupeGuru(RegistrableApplication, Broadcaster): j.start_job(self.results.mark_count) self.results.perform_on_marked(op, not copy) - if not self._check_demo(): - return if not self.results.mark_count: self.view.show_message(MSG_NO_MARKED_DUPES) return @@ -446,8 +439,6 @@ class DupeGuru(RegistrableApplication, Broadcaster): def delete_marked(self): """Start an async job to send marked duplicates to the trash. """ - if not self._check_demo(): - return if not self.results.mark_count: self.view.show_message(MSG_NO_MARKED_DUPES) return diff --git a/hscommon/build.py b/hscommon/build.py index dcd7ece0..ce9a3a03 100644 --- a/hscommon/build.py +++ b/hscommon/build.py @@ -364,23 +364,14 @@ class OSXFrameworkStructure: action(op.abspath(path), header_dest) -def build_cocoalib_xibless(dest='cocoa/autogen', withfairware=True): +def build_cocoalib_xibless(dest='cocoa/autogen'): import xibless ensure_folder(dest) FNPAIRS = [ ('progress.py', 'ProgressController_UI'), ('error_report.py', 'HSErrorReportWindow_UI'), + ('about.py', 'HSAboutBox_UI'), ] - if withfairware: - FNPAIRS += [ - ('fairware_about.py', 'HSFairwareAboutBox_UI'), - ('demo_reminder.py', 'HSDemoReminder_UI'), - ('enter_code.py', 'HSEnterCode_UI'), - ] - else: - FNPAIRS += [ - ('about.py', 'HSAboutBox_UI'), - ] for srcname, dstname in FNPAIRS: srcpath = op.join('cocoalib', 'ui', srcname) dstpath = op.join(dest, dstname) diff --git a/hscommon/locale/cs/LC_MESSAGES/hscommon.po b/hscommon/locale/cs/LC_MESSAGES/hscommon.po deleted file mode 100644 index b7ec835b..00000000 --- a/hscommon/locale/cs/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: cs\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} je fairware, což znamená \"open source software vyvíjený v očekávání poctivých příspěvků od uživatelů\". Jde o velmi zajímavý nápad, a po roce se ukazuje, že většina lidí se zajímá o cenu vývoje, ale jsou jim ukradené povídačky o duševním vlastnictví.\n" -"\n" -"Takže vás nebudu otravovat a řeknu to bez okolků: {name} si můžete zdarma vyzkoušet, ale pokud ho chcete používat bez omezení, musíte si ho koupit. V demo režimu, {name} {limitation}.\n" -"\n" -"A to je celé. Pokud se o fairware chcete dozvědět více, klepněte na tlačítko \"Fairware?\"." diff --git a/hscommon/locale/de/LC_MESSAGES/hscommon.po b/hscommon/locale/de/LC_MESSAGES/hscommon.po deleted file mode 100644 index 73b37a0b..00000000 --- a/hscommon/locale/de/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,31 +0,0 @@ -# -msgid "" -msgstr "" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: utf-8\n" - -#: hscommon/reg.py:39 -msgid "" -"{name} is Fairware, which means \"open source software developed with expectation of fair contributions from users\". Hours have been invested in this software with the expectation that users will be fair enough to compensate them. The \"Unpaid hours\" figure you see below is the hours that have yet to be compensated for this project.\n" -"\n" -"If you like this application, please make a contribution that you consider fair. Thanks!\n" -"\n" -"If you cannot afford to contribute, you can either ignore this reminder or send an e-mail at support@hardcoded.net so I can send you a registration key.\n" -"\n" -"This dialog doesn't show when there are no unpaid hours or when you have a valid contribution key." -msgstr "" -"{name} ist Fairware, das bedeutet \"Open Source Software, entwickelt in der Hoffnung auf einen fairen Beitrag von den Benutzern\". Viel Zeit wurde in die Software investiert, mit der Erwartung der Nutzer möge fair genug sein die Entwickler für ihren Einsatz zu kompensieren. Die \"Unbezahlte Stunden\" Abbildung zeigt die Anzahl der Stunden die noch nicht bezahlt wurden.\n" -"Wenn Sie diese Anwendung mögen, so spenden Sie bitte einen Ihrer Ansicht nach angemessenen Betrag. Danke!\n" -"\n" -"Wenn Sie es sich nicht leisten können zu spenden, können Sie diese Erinnerung entweder ignorieren oder mir eine Anfrage an hsoft@hardcoded.net schicken, mit der Bitte für einen Registrierungsschlüssel.\n" -"\n" -"Dieser Dialog erscheint nicht, wenn es keine unbezahlten Stunden gibt oder Sie einen gültigen Registrierungsschlüssel besitzen." - -#: hscommon/reg.py:51 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" diff --git a/hscommon/locale/es/LC_MESSAGES/hscommon.po b/hscommon/locale/es/LC_MESSAGES/hscommon.po deleted file mode 100644 index add7ba35..00000000 --- a/hscommon/locale/es/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} es Fairware, es decir \"software de código abierto desarrollado con la expectativa de recibir una retribución justa por parte de los usuarios\". Es una idea muy interesante, aunque tras más de un año de uso es evidente que la mayoría de los usuarios sólo están interesados en el precio del producto y no en teorías sobre la propiedad intelectual.\n" -"\n" -"Así pues seré claro: puede probar {name} gratuitamente pero debe comprarlo para un uso completo sin limitaciones. En el modo de prueba, {name} {limitation}.\n" -"\n" -"En resumen, si tiene curiosidad por conocer fairware le animo a que lea sobre ello pulsando el botón de \"¿Fairware?\"." diff --git a/hscommon/locale/fr/LC_MESSAGES/hscommon.po b/hscommon/locale/fr/LC_MESSAGES/hscommon.po deleted file mode 100644 index 6e67a113..00000000 --- a/hscommon/locale/fr/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} est Fairware, ce qui signifie \"open source développé avec des attentes de contributions justes de la part des utilisateurs\". C'est un concept excessivement intéressant, mais un an de fairware a révélé que la plupart des gens ne sont que peu intéressés à des discours sur la propriété intellectuelle et veulent simplement savoir combien ça coûte.\n" -"\n" -"Donc, je serai bref et direct: Vous pouvez essayer {name} gratuitement, mais un achat est requis pour un usage sans limitation. En mode démo, {name} {limitation}.\n" -"\n" -"C'est aussi simple que ça. Par contre, si vous êtes curieux, je vous encourage à cliquer sur le bouton \"Fairware?\" pour en savoir plus." diff --git a/hscommon/locale/hscommon.pot b/hscommon/locale/hscommon.pot deleted file mode 100644 index 88252696..00000000 --- a/hscommon/locale/hscommon.pot +++ /dev/null @@ -1,15 +0,0 @@ - -msgid "" -msgstr "" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: utf-8\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" - diff --git a/hscommon/locale/hy/LC_MESSAGES/hscommon.po b/hscommon/locale/hy/LC_MESSAGES/hscommon.po deleted file mode 100644 index dd55ccb9..00000000 --- a/hscommon/locale/hy/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name}-ը fairware է, ինչը նշանակում է \"ազատ կոդով ծրագիր, որը զարգացվում է՝ ակնկալելով օգտվողների աջակցությունը\": Սա շատ հետաքրքիր սկզբունք է, սակայն մեկ տարվա fairware-ի արդյունքը ցույց է տալիս, որ շատ մարդիկ պարզապես ցանկանում են իմանալ, թե այն ինչ արժե, բայց չեն մտահոգվում ինտելեկտուալ սեփականության մասին:\n" -"\n" -"Ուստի ես չեմ ցանկանում խանգարել Ձեզ և կլինեմ շատ պարզ. Կարող եք փորձել {name}-ը ազատորեն, բայց պետք է գնեք ծրագիրը՝ հանելու համար բոլոր սահմանափակումները: Փորձնական եղանակում {name} {limitation}:\n" -"\n" -"Ամեն ինչ պարզ է, եթե Ձեզ հետաքրքիր է fairware-ը, ապա կարող եք մանրամասն կարդաք՝ սեղմելով այս հղմանը՝ \"Fairware է՞\":" diff --git a/hscommon/locale/it/LC_MESSAGES/hscommon.po b/hscommon/locale/it/LC_MESSAGES/hscommon.po deleted file mode 100644 index 765d470b..00000000 --- a/hscommon/locale/it/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} è denominato \"Fairware\", che significa \"software 'open source' sviluppato aspettandosi un contributo equo e corretto da parte degli utilizzatori\". E' un concetto molto interessante, ma un anno di 'fairware' ha dimostrato che la maggior parte della gente vuole solo sapere 'quanto costa' e non essere scocciata con delle teorie sulla proprietà intellettuale.\n" -"\n" -"Così non vi disturberò oltre e sarò diretto: potete provare {name} gratuitamente ma dovrete acquistarlo per usarlo senza limitazioni. In modalità 'demo', {name} {limitation}.\n" -"\n" -"In questo modo è semplice. Se siete curiosi e volete approfondire il concetto di 'fairware', vi invito a leggere di più sull'argomento cliccando sul pulsante \"Fairware?\"." diff --git a/hscommon/locale/nl/LC_MESSAGES/hscommon.po b/hscommon/locale/nl/LC_MESSAGES/hscommon.po deleted file mode 100644 index bb2f1f08..00000000 --- a/hscommon/locale/nl/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} is Fairware, dit betekent \"open source software ontwikkeld in de hoop op een redelijke bijdrage van gebruikers\". Het is een interessant concept, maar na een jaar fairware is gebleken dat de meeste mensen gewoon willen weten wat het kost en niet lastig gevallen willen worden met theorieën over intellectueel eigendom.\n" -"\n" -"Ik zal u dus niet lastig vallen en duidelijk zijn: U kunt {name} gratis proberen, maar moet het kopen om het zonder beperkingen te kunnen gebruiken. In demo mode {name} {limitation}.\n" -"\n" -"Het is dus eigenlijk heel simpel. Als u toch geïnteresseerd bent in fairware, raad ik u aan hier meer over te lezen door op de knop \"Fairware?\" te klikken." diff --git a/hscommon/locale/pt_BR/LC_MESSAGES/hscommon.po b/hscommon/locale/pt_BR/LC_MESSAGES/hscommon.po deleted file mode 100644 index 6a30fd2b..00000000 --- a/hscommon/locale/pt_BR/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} é fairware, o que quer dizer \"software de código aberto desenvolvido sob a expectativa de contribuição justa de seus usuários\". É um conceito muito interessante, mas um ano de fairware mostrou que a maioria das pessoas só deseja saber quanto o software custa, sem ser incomodada com teorias sobre propriedade intelectual.\n" -"\n" -"Portanto não o incomodarei e serei bem direto: você pode testar {name} de graça, mas deverá comprá-lo para usá-lo sem limitações. Em modo demo, {name} {limitation}.\n" -"\n" -"É simples assim. Caso você tenha curiosidade sobre fairware, recomendo que leia mais sobre o assunto clicando o botão \"Fairware?\"." diff --git a/hscommon/locale/ru/LC_MESSAGES/hscommon.po b/hscommon/locale/ru/LC_MESSAGES/hscommon.po deleted file mode 100644 index 8af3bb77..00000000 --- a/hscommon/locale/ru/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: ru\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} является fairware, что означает \"программное обеспечение с открытым исходным кодом, с ожиданием справедливого вклада от пользователей\". Это очень интересная концепция, но один год fairware показал, что большинство людей просто хотят знать, сколько это стоит, а не возиться с теориями об интеллектуальной собственности.\n" -"\n" -"Так что, я не буду утомлять вас и буду очень краток: вы можете попробовать {name} бесплатно, но вам придётся купить её, чтобы использовать без ограничений. В демо-режиме {name} {limitation}.\n" -"\n" -"То есть, это просто. Если вам интересно, о fairware вы можете больше узнать нажав на кнопку \"Fairware?\"." diff --git a/hscommon/locale/uk/LC_MESSAGES/hscommon.po b/hscommon/locale/uk/LC_MESSAGES/hscommon.po deleted file mode 100644 index 11edb0da..00000000 --- a/hscommon/locale/uk/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-04-28 18:29+0000\n" -"Last-Translator: hsoft \n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: uk\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" -"{name} є fairware, що означає \"програмне забезпечення з відкритим вихідним кодом, з очікуванням справедливого вкладу від користувачів\". Це дуже цікава концепція, але один рік fairware показав, що більшість людей просто хочуть знати, скільки це коштує, а не возитися з теоріями про інтелектуальну власність.\n" -"\n" -"Тож я не буду втомлювати Вас і поясню просто: Ви можете спробувати {name} безкоштовно, але Вам доведеться купити його, щоб використовувати її без обмежень. У демо-режимі, {name} {limitation}.\n" -"\n" -"Ось так це просто. Якщо Вас цікавить ідея fairware, то я запрошую Вас дізнатися більше про це, натиснувши на кнопку \"Fairware?\"." diff --git a/hscommon/locale/vi/LC_MESSAGES/hscommon.po b/hscommon/locale/vi/LC_MESSAGES/hscommon.po deleted file mode 100644 index 3bbb5e10..00000000 --- a/hscommon/locale/vi/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,20 +0,0 @@ -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: hscommon\n" -"PO-Revision-Date: 2013-07-05 11:23+0000\n" -"Last-Translator: hsoft \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/hscommon/language/vi/)\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: utf-8\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: hscommon/reg.py:32 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" diff --git a/hscommon/locale/zh_CN/LC_MESSAGES/hscommon.po b/hscommon/locale/zh_CN/LC_MESSAGES/hscommon.po deleted file mode 100644 index 50ece4ef..00000000 --- a/hscommon/locale/zh_CN/LC_MESSAGES/hscommon.po +++ /dev/null @@ -1,32 +0,0 @@ -# -msgid "" -msgstr "" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: utf-8\n" - -#: hscommon/reg.py:39 -msgid "" -"{name} is Fairware, which means \"open source software developed with expectation of fair contributions from users\". Hours have been invested in this software with the expectation that users will be fair enough to compensate them. The \"Unpaid hours\" figure you see below is the hours that have yet to be compensated for this project.\n" -"\n" -"If you like this application, please make a contribution that you consider fair. Thanks!\n" -"\n" -"If you cannot afford to contribute, you can either ignore this reminder or send an e-mail at support@hardcoded.net so I can send you a registration key.\n" -"\n" -"This dialog doesn't show when there are no unpaid hours or when you have a valid contribution key." -msgstr "" -"{name} 是一款捐助软件,也就是说 \"用户对研发开源软件所花费的时间进行符合用户意愿的捐助\"。用户可以根据研发人员花费在开发软件上的时间进行合理的补偿。用户在下面看到的 \"未支付的时间\" (Unpaid hours)表示需要对该软件进行补偿的时间。\n" -" \n" -"如果您喜欢这款软件,我诚挚的希望您可以进行必要的捐助。谢谢!\n" -"\n" -"如果您无法承担捐助,您也可以忽略此提醒,或者发送电子邮件至 support@hardcoded.net ,我会发送给您一个注册密钥。\n" -"\n" -"当软件没有未支付的时间或您已使用一个有效的注册密钥,此对话框将不会再显示。" - -#: hscommon/reg.py:51 -msgid "" -"{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n" -"\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n" -"\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button." -msgstr "" diff --git a/hscommon/reg.py b/hscommon/reg.py deleted file mode 100644 index 3b5a57e0..00000000 --- a/hscommon/reg.py +++ /dev/null @@ -1,179 +0,0 @@ -# Created By: Virgil Dupras -# Created On: 2009-05-16 -# Copyright 2013 Hardcoded Software (http://www.hardcoded.net) - -# This software is licensed under the "BSD" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/bsd_license - -import re -from hashlib import md5 - -from .trans import trget - -tr = trget('hscommon') - -ALL_APPS = [ - (1, 'dupeGuru'), - (2, 'moneyGuru'), - (3, 'musicGuru'), - (6, 'PdfMasher'), -] - -OLDAPPIDS = { - 1: {1, 4, 5}, - 2: {6, }, - 3: {2, }, -} - -class InvalidCodeError(Exception): - """The supplied code is invalid.""" - -DEMO_PROMPT = tr("{name} is fairware, which means \"open source software developed with expectation " -"of fair contributions from users\". It's a very interesting concept, but one year of fairware has " -"shown that most people just want to know how much it costs and not be bothered with theories " -"about intellectual property." -"\n\n" -"So I won't bother you and will be very straightforward: You can try {name} for free but you have " -"to buy it in order to use it without limitations. In demo mode, {name} {limitation}." -"\n\n" -"So it's as simple as this. If you're curious about fairware, however, I encourage you to read " -"more about it by clicking on the \"Fairware?\" button.") - -class RegistrableApplication: - #--- View interface - # get_default(key_name) - # set_default(key_name, value) - # setup_as_registered() - # show_message(msg) - # show_demo_nag(prompt) - # open_url(url) - - PROMPT_NAME = "" - DEMO_LIMITATION = "" - - def __init__(self, view, appid): - self.view = view - self.appid = appid - self.registered = False - self.fairware_mode = False - self.registration_code = '' - self.registration_email = '' - self._unpaid_hours = None - - @staticmethod - def _is_code_valid(appid, code, email): - if len(code) != 32: - return False - appid = str(appid) - for i in range(100): - blob = appid + email + str(i) + 'aybabtu' - digest = md5(blob.encode('utf-8')).hexdigest() - if digest == code: - return True - return False - - def _set_registration(self, code, email): - self.validate_code(code, email) - self.registration_code = code - self.registration_email = email - self.registered = True - self.view.setup_as_registered() - - def initial_registration_setup(self): - # Should be called only after the app is finished launching - if self.registered: - # We've already set registration in a hardcoded way (for example, for the Ubuntu Store) - # Just ignore registration, but not before having set as registered. - self.view.setup_as_registered() - return - code = self.view.get_default('RegistrationCode') - email = self.view.get_default('RegistrationEmail') - if code and email: - try: - self._set_registration(code, email) - except InvalidCodeError: - pass - if not self.registered: - if self.view.get_default('FairwareMode'): - self.fairware_mode = True - if not self.fairware_mode: - prompt = DEMO_PROMPT.format(name=self.PROMPT_NAME, limitation=self.DEMO_LIMITATION) - self.view.show_demo_nag(prompt) - - def validate_code(self, code, email): - code = code.strip().lower() - email = email.strip().lower() - if self._is_code_valid(self.appid, code, email): - return - # Check if it's not an old reg code - for oldappid in OLDAPPIDS.get(self.appid, []): - if self._is_code_valid(oldappid, code, email): - return - # let's see if the user didn't mix the fields up - if self._is_code_valid(self.appid, email, code): - msg = "Invalid Code. It seems like you inverted the 'Registration Code' and"\ - "'Registration E-mail' field." - raise InvalidCodeError(msg) - # Is the code a paypal transaction id? - if re.match(r'^[a-z\d]{17}$', code) is not None: - msg = "The code you submitted looks like a Paypal transaction ID. Registration codes are "\ - "32 digits codes which you should have received in a separate e-mail. If you haven't "\ - "received it yet, please visit http://www.hardcoded.net/support/" - raise InvalidCodeError(msg) - # Invalid, let's see if it's a code for another app. - for appid, appname in ALL_APPS: - if self._is_code_valid(appid, code, email): - msg = "This code is a {0} code. You're running the wrong application. You can "\ - "download the correct application at http://www.hardcoded.net".format(appname) - raise InvalidCodeError(msg) - DEFAULT_MSG = "Your code is invalid. Make sure that you wrote the good code. Also make sure "\ - "that the e-mail you gave is the same as the e-mail you used for your purchase." - raise InvalidCodeError(DEFAULT_MSG) - - def set_registration(self, code, email, register_os): - if not self.fairware_mode and 'fairware' in {code.strip().lower(), email.strip().lower()}: - self.fairware_mode = True - self.view.set_default('FairwareMode', True) - self.view.show_message("Fairware mode enabled.") - return True - try: - self._set_registration(code, email) - self.view.show_message("Your code is valid. Thanks!") - if register_os: - self.register_os() - self.view.set_default('RegistrationCode', self.registration_code) - self.view.set_default('RegistrationEmail', self.registration_email) - return True - except InvalidCodeError as e: - self.view.show_message(str(e)) - return False - - def register_os(self): - # We don't do that anymore. - pass - - def contribute(self): - self.view.open_url("http://open.hardcoded.net/contribute/") - - def buy(self): - self.view.open_url("http://www.hardcoded.net/purchase.htm") - - def about_fairware(self): - self.view.open_url("http://open.hardcoded.net/about/") - - @property - def should_show_fairware_reminder(self): - return (not self.registered) and (self.fairware_mode) and (self.unpaid_hours >= 1) - - @property - def should_apply_demo_limitation(self): - return (not self.registered) and (not self.fairware_mode) - - @property - def unpaid_hours(self): - # We don't bother verifying unpaid hours anymore, the only app that still has fairware - # dialogs is dupeGuru and it has a huge surplus. Now, "fairware mode" really means - # "free mode". - return 0 - diff --git a/hscommon/tests/reg_test.py b/hscommon/tests/reg_test.py deleted file mode 100644 index 49d89872..00000000 --- a/hscommon/tests/reg_test.py +++ /dev/null @@ -1,68 +0,0 @@ -# Created By: Virgil Dupras -# Created On: 2010-01-31 -# Copyright 2013 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "BSD" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/bsd_license - -from hashlib import md5 - -from ..testutil import CallLogger -from ..reg import RegistrableApplication, InvalidCodeError - -def md5s(s): - return md5(s.encode('utf-8')).hexdigest() - -def assert_valid(appid, code, email): - app = RegistrableApplication(CallLogger(), appid) - try: - app.validate_code(code, email) - except InvalidCodeError as e: - raise AssertionError("Registration failed: {0}".format(str(e))) - -def assert_invalid(appid, code, email, msg_contains=None): - app = RegistrableApplication(CallLogger(), appid) - try: - app.validate_code(code, email) - except InvalidCodeError as e: - if msg_contains: - assert msg_contains in str(e) - else: - raise AssertionError("InvalidCodeError not raised") - -def test_valid_code(): - email = 'foo@bar.com' - appid = 42 - code = md5s('42' + email + '43' + 'aybabtu') - assert_valid(appid, code, email) - -def test_invalid_code(): - email = 'foo@bar.com' - appid = 42 - code = md5s('43' + email + '43' + 'aybabtu') - assert_invalid(appid, code, email) - -def test_suggest_other_apps(): - # If a code is valid for another app, say so in the error message. - email = 'foo@bar.com' - appid = 42 - # 2 is moneyGuru's appid - code = md5s('2' + email + '43' + 'aybabtu') - assert_invalid(appid, code, email, msg_contains="moneyGuru") - -def test_invert_code_and_email(): - # Try inverting code and email during validation in case the user mixed the fields up. - # We still show an error here. It kind of sucks, but if we don't, the email and code fields - # end up mixed up in the preferences. It's not as if this kind of error happened all the time... - email = 'foo@bar.com' - appid = 42 - code = md5s('42' + email + '43' + 'aybabtu') - assert_invalid(appid, email, code, msg_contains="inverted") - -def test_paypal_transaction(): - # If the code looks like a paypal transaction, mention it in the error message. - email = 'foo@bar.com' - appid = 42 - code = '2A693827WX9676888' - assert_invalid(appid, code, email, 'Paypal transaction') diff --git a/qt/base/app.py b/qt/base/app.py index 01de41aa..d9d9de76 100644 --- a/qt/base/app.py +++ b/qt/base/app.py @@ -18,7 +18,6 @@ from hscommon.plat import ISLINUX from qtlib.about_box import AboutBox from qtlib.recent import Recent -from qtlib.reg import Registration from qtlib.util import createActions, getAppData from qtlib.progress_window import ProgressWindow @@ -85,7 +84,6 @@ class DupeGuru(QObject): ('actionIgnoreList', '', '', tr("Ignore List"), self.ignoreListTriggered), ('actionShowHelp', 'F1', '', tr("dupeGuru Help"), self.showHelpTriggered), ('actionAbout', '', '', tr("About dupeGuru"), self.showAboutBoxTriggered), - ('actionRegister', '', '', tr("Register dupeGuru"), self.registerTriggered), ('actionCheckForUpdate', '', '', tr("Check for Update"), self.checkForUpdateTriggered), ('actionOpenDebugLog', '', '', tr("Open Debug Log"), self.openDebugLogTriggered), ] @@ -108,10 +106,6 @@ class DupeGuru(QObject): def remove_selected(self): self.model.remove_selected(self) - def askForRegCode(self): - reg = Registration(self.model) - reg.ask_for_code() - def confirm(self, title, msg, default_button=QMessageBox.Yes): active = QApplication.activeWindow() buttons = QMessageBox.Yes | QMessageBox.No @@ -133,7 +127,6 @@ class DupeGuru(QObject): #--- Events def finishedLaunching(self): - self.model.initial_registration_setup() if sys.getfilesystemencoding() == 'ascii': # No need to localize this, it's a debugging message. msg = "Something is wrong with the way your system locale is set. If the files you're "\ @@ -168,10 +161,6 @@ class DupeGuru(QObject): def quitTriggered(self): self.directories_dialog.close() - def registerTriggered(self): - reg = Registration(self.model) - reg.ask_for_code() - def showAboutBoxTriggered(self): self.about_box.show() @@ -196,15 +185,6 @@ class DupeGuru(QObject): def set_default(self, key, value): self.prefs.set_value(key, value) - def setup_as_registered(self): - self.actionRegister.setVisible(False) - self.about_box.registerButton.hide() - self.about_box.registeredEmailLabel.setText(self.model.registration_email) - - def show_demo_nag(self, prompt): - reg = Registration(self.model) - reg.show_demo_nag(prompt) - def show_message(self, msg): window = QApplication.activeWindow() QMessageBox.information(window, '', msg) diff --git a/qt/base/directories_dialog.py b/qt/base/directories_dialog.py index 3e4ea3ba..56918779 100644 --- a/qt/base/directories_dialog.py +++ b/qt/base/directories_dialog.py @@ -81,7 +81,6 @@ class DirectoriesDialog(QMainWindow): self.menuView.addAction(self.actionShowResultsWindow) self.menuView.addAction(self.app.actionIgnoreList) self.menuHelp.addAction(self.app.actionShowHelp) - self.menuHelp.addAction(self.app.actionRegister) self.menuHelp.addAction(self.app.actionCheckForUpdate) self.menuHelp.addAction(self.app.actionOpenDebugLog) self.menuHelp.addAction(self.app.actionAbout) diff --git a/qt/base/result_window.py b/qt/base/result_window.py index 1ee10b25..a7e65f55 100644 --- a/qt/base/result_window.py +++ b/qt/base/result_window.py @@ -111,7 +111,6 @@ class ResultWindow(QMainWindow): self.menuView.addAction(self.app.actionIgnoreList) self.menuView.addAction(self.app.actionPreferences) self.menuHelp.addAction(self.app.actionShowHelp) - self.menuHelp.addAction(self.app.actionRegister) self.menuHelp.addAction(self.app.actionCheckForUpdate) self.menuHelp.addAction(self.app.actionOpenDebugLog) self.menuHelp.addAction(self.app.actionAbout) diff --git a/qt/run_template.py b/qt/run_template.py index 73da88c3..0ec20a27 100644 --- a/qt/run_template.py +++ b/qt/run_template.py @@ -37,7 +37,5 @@ if __name__ == "__main__": from qt.{edition}.app import DupeGuru app.setWindowIcon(QIcon(QPixmap(":/{0}".format(DupeGuru.LOGO_NAME)))) dgapp = DupeGuru() - if not ISWINDOWS: - dgapp.model.registered = True install_excepthook() sys.exit(app.exec_()) diff --git a/qtlib/about_box.py b/qtlib/about_box.py index 00632aad..323faf65 100644 --- a/qtlib/about_box.py +++ b/qtlib/about_box.py @@ -15,17 +15,14 @@ from hscommon.trans import trget tr = trget('qtlib') class AboutBox(QDialog): - def __init__(self, parent, app, withreg=True): + def __init__(self, parent, app): flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.MSWindowsFixedSizeDialogHint QDialog.__init__(self, parent, flags) self.app = app - self.withreg = withreg self._setupUi() self.buttonBox.accepted.connect(self.accept) self.buttonBox.rejected.connect(self.reject) - if self.withreg: - self.buttonBox.clicked.connect(self.buttonClicked) def _setupUi(self): self.setWindowTitle(tr("About {}").format(QCoreApplication.instance().applicationName())) @@ -59,23 +56,12 @@ class AboutBox(QDialog): font.setBold(True) self.label.setFont(font) self.verticalLayout.addWidget(self.label) - self.registeredEmailLabel = QLabel(self) - if self.withreg: - self.registeredEmailLabel.setText(tr("UNREGISTERED")) - self.verticalLayout.addWidget(self.registeredEmailLabel) self.buttonBox = QDialogButtonBox(self) self.buttonBox.setOrientation(Qt.Horizontal) self.buttonBox.setStandardButtons(QDialogButtonBox.Ok) - if self.withreg: - self.registerButton = self.buttonBox.addButton(tr("Register"), QDialogButtonBox.ActionRole) self.verticalLayout.addWidget(self.buttonBox) self.horizontalLayout.addLayout(self.verticalLayout) - #--- Events - def buttonClicked(self, button): - if button is self.registerButton: - self.app.askForRegCode() - if __name__ == '__main__': import sys diff --git a/qtlib/reg.py b/qtlib/reg.py deleted file mode 100644 index c66c578d..00000000 --- a/qtlib/reg.py +++ /dev/null @@ -1,25 +0,0 @@ -# Created By: Virgil Dupras -# Created On: 2009-05-09 -# Copyright 2013 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "BSD" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/bsd_license - -from PyQt4.QtGui import QDialog - -from .reg_submit_dialog import RegSubmitDialog -from .reg_demo_dialog import RegDemoDialog - -class Registration: - def __init__(self, app): - self.app = app - - def ask_for_code(self): - dialog = RegSubmitDialog(None, self) - return dialog.exec_() == QDialog.Accepted - - def show_demo_nag(self, prompt): - dialog = RegDemoDialog(None, self, prompt) - dialog.exec_() - diff --git a/qtlib/reg_demo_dialog.py b/qtlib/reg_demo_dialog.py deleted file mode 100644 index e6675d6a..00000000 --- a/qtlib/reg_demo_dialog.py +++ /dev/null @@ -1,80 +0,0 @@ -# Created By: Virgil Dupras -# Created On: 2009-05-10 -# Copyright 2013 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "BSD" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/bsd_license - -import sys - -from PyQt4.QtCore import Qt, QCoreApplication -from PyQt4.QtGui import (QDialog, QApplication, QVBoxLayout, QHBoxLayout, QLabel, - QFont, QSpacerItem, QSizePolicy, QPushButton) - -from hscommon.plat import ISLINUX -from hscommon.trans import trget - -tr = trget('qtlib') - -class RegDemoDialog(QDialog): - def __init__(self, parent, reg, prompt): - flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint - QDialog.__init__(self, parent, flags) - self.reg = reg - self._setupUi() - self.descLabel.setText(prompt) - - self.enterCodeButton.clicked.connect(self.enterCodeClicked) - self.buyButton.clicked.connect(self.buyClicked) - self.tryButton.clicked.connect(self.accept) - self.moreInfoButton.clicked.connect(self.moreInfoClicked) - - def _setupUi(self): - appname = QCoreApplication.instance().applicationName() - title = tr("$appname is Fairware") - title = title.replace('$appname', appname) - self.setWindowTitle(title) - # Workaround for bug at http://bugreports.qt.nokia.com/browse/QTBUG-8212 - dlg_height = 370 if ISLINUX else 240 - self.resize(400, dlg_height) - self.verticalLayout = QVBoxLayout(self) - self.descLabel = QLabel(self) - self.descLabel.setWordWrap(True) - self.verticalLayout.addWidget(self.descLabel) - spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) - self.verticalLayout.addItem(spacerItem) - self.horizontalLayout = QHBoxLayout() - self.tryButton = QPushButton(self) - self.tryButton.setText(tr("Try")) - self.horizontalLayout.addWidget(self.tryButton) - self.enterCodeButton = QPushButton(self) - self.enterCodeButton.setText(tr("Enter Key")) - self.horizontalLayout.addWidget(self.enterCodeButton) - self.buyButton = QPushButton(self) - self.buyButton.setText(tr("Buy")) - self.horizontalLayout.addWidget(self.buyButton) - self.moreInfoButton = QPushButton(tr("Fairware?")) - self.horizontalLayout.addWidget(self.moreInfoButton) - self.verticalLayout.addLayout(self.horizontalLayout) - - #--- Events - def enterCodeClicked(self): - if self.reg.ask_for_code(): - self.accept() - - def buyClicked(self): - self.reg.app.buy() - - def moreInfoClicked(self): - self.reg.app.about_fairware() - - -if __name__ == '__main__': - app = QApplication([]) - app.unpaid_hours = 42.4 - class FakeReg: - app = app - dialog = RegDemoDialog(None, FakeReg(), "foo bar baz") - dialog.show() - sys.exit(app.exec_()) diff --git a/qtlib/reg_submit_dialog.py b/qtlib/reg_submit_dialog.py deleted file mode 100644 index 9a55a108..00000000 --- a/qtlib/reg_submit_dialog.py +++ /dev/null @@ -1,102 +0,0 @@ -# Created By: Virgil Dupras -# Created On: 2009-05-09 -# Copyright 2013 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "BSD" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/bsd_license - -import sys - -from PyQt4.QtCore import Qt, QCoreApplication -from PyQt4.QtGui import (QDialog, QApplication, QVBoxLayout, QHBoxLayout, QLabel, QFormLayout, - QLayout, QLineEdit, QPushButton, QSpacerItem, QSizePolicy) - -from hscommon.trans import trget - -tr = trget('qtlib') - -class RegSubmitDialog(QDialog): - def __init__(self, parent, reg): - flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint - QDialog.__init__(self, parent, flags) - self._setupUi() - self.reg = reg - - self.submitButton.clicked.connect(self.submitClicked) - self.contributeButton.clicked.connect(self.contributeClicked) - self.cancelButton.clicked.connect(self.reject) - - def _setupUi(self): - self.setWindowTitle(tr("Enter your registration key")) - self.resize(365, 126) - self.verticalLayout = QVBoxLayout(self) - self.promptLabel = QLabel(self) - appname = str(QCoreApplication.instance().applicationName()) - prompt = tr("Type the key you received when you contributed to $appname, as well as the " - "e-mail used as a reference for the purchase.").replace('$appname', appname) - self.promptLabel.setText(prompt) - self.promptLabel.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop) - self.promptLabel.setWordWrap(True) - self.verticalLayout.addWidget(self.promptLabel) - self.formLayout = QFormLayout() - self.formLayout.setSizeConstraint(QLayout.SetNoConstraint) - self.formLayout.setFieldGrowthPolicy(QFormLayout.ExpandingFieldsGrow) - self.formLayout.setLabelAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) - self.formLayout.setFormAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop) - self.label2 = QLabel(self) - self.label2.setText(tr("Registration key:")) - self.formLayout.setWidget(0, QFormLayout.LabelRole, self.label2) - self.label3 = QLabel(self) - self.label3.setText(tr("Registered e-mail:")) - self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label3) - self.codeEdit = QLineEdit(self) - self.formLayout.setWidget(0, QFormLayout.FieldRole, self.codeEdit) - self.emailEdit = QLineEdit(self) - self.formLayout.setWidget(1, QFormLayout.FieldRole, self.emailEdit) - self.verticalLayout.addLayout(self.formLayout) - self.horizontalLayout = QHBoxLayout() - self.contributeButton = QPushButton(self) - self.contributeButton.setText(tr("Contribute")) - self.contributeButton.setAutoDefault(False) - self.horizontalLayout.addWidget(self.contributeButton) - spacerItem = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) - self.horizontalLayout.addItem(spacerItem) - self.cancelButton = QPushButton(self) - sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.cancelButton.sizePolicy().hasHeightForWidth()) - self.cancelButton.setSizePolicy(sizePolicy) - self.cancelButton.setText(tr("Cancel")) - self.cancelButton.setAutoDefault(False) - self.horizontalLayout.addWidget(self.cancelButton) - self.submitButton = QPushButton(self) - sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.submitButton.sizePolicy().hasHeightForWidth()) - self.submitButton.setSizePolicy(sizePolicy) - self.submitButton.setText(tr("Submit")) - self.submitButton.setAutoDefault(False) - self.submitButton.setDefault(True) - self.horizontalLayout.addWidget(self.submitButton) - self.verticalLayout.addLayout(self.horizontalLayout) - - #--- Events - def contributeClicked(self): - self.reg.app.contribute() - - def submitClicked(self): - code = self.codeEdit.text() - email = self.emailEdit.text() - if self.reg.app.set_registration(code, email, False): - self.accept() - - -if __name__ == '__main__': - app = QApplication([]) - validate = lambda *args: True - dialog = RegSubmitDialog(None, validate) - dialog.show() - sys.exit(app.exec_()) From a0cc1f2e03e0577c19f69ed2646f416c671a0157 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sat, 30 Nov 2013 18:23:42 -0500 Subject: [PATCH 2/2] Fixed regless cocoa and updated locs --- build.py | 11 +- cocoa/base/en.lproj/Localizable.strings | 1 - cocoalib/en.lproj/cocoalib.strings | 13 --- cocoalib/locale/cocoalib.pot | 56 ---------- cocoalib/locale/cs/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/de/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/es/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/fr/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/hy/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/it/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/nl/LC_MESSAGES/cocoalib.po | 54 ---------- cocoalib/locale/pt_BR/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/ru/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/uk/LC_MESSAGES/cocoalib.po | 56 ---------- cocoalib/locale/vi/LC_MESSAGES/cocoalib.po | 54 ---------- cocoalib/locale/zh_CN/LC_MESSAGES/cocoalib.po | 54 ---------- locale/core.pot | 74 ++++++------- locale/cs/LC_MESSAGES/core.po | 76 ++++++------- locale/cs/LC_MESSAGES/ui.po | 92 +++++++--------- locale/de/LC_MESSAGES/core.po | 76 ++++++------- locale/de/LC_MESSAGES/ui.po | 92 +++++++--------- locale/fr/LC_MESSAGES/core.po | 78 ++++++-------- locale/fr/LC_MESSAGES/ui.po | 94 +++++++--------- locale/hy/LC_MESSAGES/core.po | 79 ++++++-------- locale/hy/LC_MESSAGES/ui.po | 92 +++++++--------- locale/it/LC_MESSAGES/core.po | 76 ++++++------- locale/it/LC_MESSAGES/ui.po | 92 +++++++--------- locale/pt_BR/LC_MESSAGES/core.po | 78 ++++++-------- locale/pt_BR/LC_MESSAGES/ui.po | 94 +++++++--------- locale/ru/LC_MESSAGES/core.po | 80 ++++++-------- locale/ru/LC_MESSAGES/ui.po | 92 +++++++--------- locale/ui.pot | 100 ++++++++---------- locale/uk/LC_MESSAGES/core.po | 78 ++++++-------- locale/uk/LC_MESSAGES/ui.po | 92 +++++++--------- locale/vi/LC_MESSAGES/core.po | 80 ++++++-------- locale/vi/LC_MESSAGES/ui.po | 94 +++++++--------- locale/zh_CN/LC_MESSAGES/core.po | 76 ++++++------- locale/zh_CN/LC_MESSAGES/ui.po | 92 +++++++--------- qtlib/locale/cs/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/de/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/es/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/fr/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/hy/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/it/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/nl/LC_MESSAGES/qtlib.po | 68 ++---------- qtlib/locale/pt_BR/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/qtlib.pot | 66 ++---------- qtlib/locale/ru/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/uk/LC_MESSAGES/qtlib.po | 70 ++---------- qtlib/locale/vi/LC_MESSAGES/qtlib.po | 68 ++---------- qtlib/locale/zh_CN/LC_MESSAGES/qtlib.po | 68 ++---------- 51 files changed, 910 insertions(+), 2614 deletions(-) diff --git a/build.py b/build.py index 75a30879..7c1a73f4 100644 --- a/build.py +++ b/build.py @@ -168,17 +168,12 @@ def build_help(edition): conftmpl = op.join(current_path, 'help', 'conf.tmpl') sphinxgen.gen(help_basepath, help_destpath, changelog_path, tixurl, confrepl, conftmpl, changelogtmpl) -def build_base_localizations(): - loc.compile_all_po('locale') - loc.compile_all_po(op.join('hscommon', 'locale')) - loc.merge_locale_dir(op.join('hscommon', 'locale'), 'locale') - def build_qt_localizations(): loc.compile_all_po(op.join('qtlib', 'locale')) loc.merge_locale_dir(op.join('qtlib', 'locale'), 'locale') def build_localizations(ui, edition): - build_base_localizations() + loc.compile_all_po('locale') if ui == 'cocoa': app = cocoa_app(edition) loc.build_cocoa_localizations(app, en_stringsfile=op.join('cocoa', 'base', 'en.lproj', 'Localizable.strings')) @@ -220,8 +215,6 @@ def build_updatepot(): # We want to merge the generated pot with the old pot in the most preserving way possible. ui_packages = ['qt', op.join('cocoa', 'inter')] loc.generate_pot(ui_packages, op.join('locale', 'ui.pot'), ['tr'], merge=(not ISOSX)) - print("Building hscommon.pot") - loc.generate_pot(['hscommon'], op.join('hscommon', 'locale', 'hscommon.pot'), ['tr']) print("Building qtlib.pot") loc.generate_pot(['qtlib'], op.join('qtlib', 'locale', 'qtlib.pot'), ['tr']) if ISOSX: @@ -236,13 +229,11 @@ def build_updatepot(): def build_mergepot(): print("Updating .po files using .pot files") loc.merge_pots_into_pos('locale') - loc.merge_pots_into_pos(op.join('hscommon', 'locale')) loc.merge_pots_into_pos(op.join('qtlib', 'locale')) loc.merge_pots_into_pos(op.join('cocoalib', 'locale')) def build_normpo(): loc.normalize_all_pos('locale') - loc.normalize_all_pos(op.join('hscommon', 'locale')) loc.normalize_all_pos(op.join('qtlib', 'locale')) loc.normalize_all_pos(op.join('cocoalib', 'locale')) diff --git a/cocoa/base/en.lproj/Localizable.strings b/cocoa/base/en.lproj/Localizable.strings index 477383ed..96a1550b 100644 --- a/cocoa/base/en.lproj/Localizable.strings +++ b/cocoa/base/en.lproj/Localizable.strings @@ -1,6 +1,5 @@ "%@ Results" = "%@ Results"; -"A previous action is still hanging in there. You can't start a new one yet. Wait a few seconds, then try again." = "A previous action is still hanging in there. You can't start a new one yet. Wait a few seconds, then try again."; "About dupeGuru" = "About dupeGuru"; "Action" = "Action"; "Actions" = "Actions"; diff --git a/cocoalib/en.lproj/cocoalib.strings b/cocoalib/en.lproj/cocoalib.strings index 7ce758c1..aac62297 100644 --- a/cocoalib/en.lproj/cocoalib.strings +++ b/cocoalib/en.lproj/cocoalib.strings @@ -1,28 +1,15 @@ -"%@ is Fairware" = "%@ is Fairware"; "Although the application should continue to run after this error, it may be in an instable state, so it is recommended that you restart the application." = "Although the application should continue to run after this error, it may be in an instable state, so it is recommended that you restart the application."; -"Buy" = "Buy"; "Cancel" = "Cancel"; "Clear List" = "Clear List"; -"Contribute" = "Contribute"; "Don't Send" = "Don't Send"; -"Enter Key" = "Enter Key"; -"Enter your key" = "Enter your key"; "Error Report" = "Error Report"; -"Fairware?" = "Fairware?"; "No" = "No"; "OK" = "OK"; "Please wait..." = "Please wait..."; -"Register" = "Register"; -"Registration e-mail:" = "Registration e-mail:"; -"Registration key:" = "Registration key:"; "Send" = "Send"; "Something went wrong. Would you like to send the error report to Hardcoded Software?" = "Something went wrong. Would you like to send the error report to Hardcoded Software?"; "Status: Working..." = "Status: Working..."; -"Submit" = "Submit"; -"This app is registered, thanks!" = "This app is registered, thanks!"; -"Try" = "Try"; -"Type the key you received when you contributed to %@, as well as the e-mail used as a reference for the purchase." = "Type the key you received when you contributed to %@, as well as the e-mail used as a reference for the purchase."; "Work in progress, please wait." = "Work in progress, please wait."; "Work in progress..." = "Work in progress..."; "Yes" = "Yes"; diff --git a/cocoalib/locale/cocoalib.pot b/cocoalib/locale/cocoalib.pot index 6490ccdd..25f48fbd 100644 --- a/cocoalib/locale/cocoalib.pot +++ b/cocoalib/locale/cocoalib.pot @@ -1,12 +1,6 @@ # msgid "" msgstr "" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: utf-8\n" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "" #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" @@ -14,10 +8,6 @@ msgid "" "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "" @@ -26,30 +16,14 @@ msgstr "" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -62,18 +36,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "" @@ -88,24 +50,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/cs/LC_MESSAGES/cocoalib.po b/cocoalib/locale/cs/LC_MESSAGES/cocoalib.po index 76b7f731..f3c35f79 100644 --- a/cocoalib/locale/cs/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/cs/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ is Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Buy" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Cancel" @@ -31,30 +23,14 @@ msgstr "Cancel" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Contribute" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Don't Send" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Enter Key" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Enter your key" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Register" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Registration key:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Send" @@ -95,26 +59,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Submit" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "This app is registered, thanks!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Try" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/de/LC_MESSAGES/cocoalib.po b/cocoalib/locale/de/LC_MESSAGES/cocoalib.po index 3b83c007..32500a51 100644 --- a/cocoalib/locale/de/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/de/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ is Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Buy" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Abbrechen" @@ -31,30 +23,14 @@ msgstr "Abbrechen" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Spenden" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Don't Send" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Registrieren" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Schlüssel eingeben" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Register" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Registrierungsschlüssel:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Send" @@ -95,26 +59,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Abschicken" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "This app is registered, thanks!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Try" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Geben Sie den empfangenen Schlüssel und die E-Mail-Adresse als Referenz für " -"den Kauf an, wenn Sie für %@ gespendet haben." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/es/LC_MESSAGES/cocoalib.po b/cocoalib/locale/es/LC_MESSAGES/cocoalib.po index 5676f2c8..87084b29 100755 --- a/cocoalib/locale/es/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/es/LC_MESSAGES/cocoalib.po @@ -9,10 +9,6 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ es Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " @@ -21,10 +17,6 @@ msgstr "" "Aunque la aplicación debería continuar funcionado tras el fallo, sin embargo" " podría volverse inestable. Se recomienda reiniciar la aplicación." -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Comprar" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Cancelar" @@ -33,30 +25,14 @@ msgstr "Cancelar" msgid "Clear List" msgstr "Limpiar lista" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Donar" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "No envíar" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Introducir clave" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Introduzca su clave" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "Informe de error" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "¿Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "No" @@ -69,18 +45,6 @@ msgstr "Aceptar" msgid "Please wait..." msgstr "Por favor, espere..." -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Registrar" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "Correo electrónico de registro:" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Clave de registro" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Enviar" @@ -97,26 +61,6 @@ msgstr "" msgid "Status: Working..." msgstr "Estado: procesando..." -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Enviar" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "La aplicación está registrada. ¡Gracias!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Probar" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Escriba la clave que recibió al donar a %@, así como el correo electrónico " -"que usó en el proceso." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "En proceso, por favor, espere." diff --git a/cocoalib/locale/fr/LC_MESSAGES/cocoalib.po b/cocoalib/locale/fr/LC_MESSAGES/cocoalib.po index 9365a540..2c63b49f 100644 --- a/cocoalib/locale/fr/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/fr/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ est Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Acheter" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Annuler" @@ -31,30 +23,14 @@ msgstr "Annuler" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Contribuer" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Ignorer" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Enregistrer" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Entrez votre clé" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Enregistrer" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Clé d'enregistrement:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Envoyer" @@ -94,26 +58,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Soumettre" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "L'application est enregistrée, merci!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Essayer" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Entrez la clé que vous avez reçue en contribuant à %@, ainsi que le courriel" -" utilisé pour la contribution." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/hy/LC_MESSAGES/cocoalib.po b/cocoalib/locale/hy/LC_MESSAGES/cocoalib.po index bb4d9cbc..35d338b8 100755 --- a/cocoalib/locale/hy/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/hy/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: hy\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "$appname-ը Fairware է" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Գնել" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Չեղարկել" @@ -31,30 +23,14 @@ msgstr "Չեղարկել" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Մասնակցել" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Չուղարկել" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Գրել բանալին" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Շարունակել" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware է՞" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Գրանցել" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Գրանցման բանալին." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Ուղարկել" @@ -94,26 +58,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Հաստատել" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "Այս ծրագիրը գրանցված է, շնորհակալություն!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Փորձել" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Մուտքագրեք այն բանալին, որը ստացել եք %@-ին աջակցելիս, քանզի Ձեր էլ. հասցեն " -"օգտագործվել է գնման ժամանակ:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/it/LC_MESSAGES/cocoalib.po b/cocoalib/locale/it/LC_MESSAGES/cocoalib.po index 22789cf4..06ce3db1 100644 --- a/cocoalib/locale/it/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/it/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ è Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Acquista" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Annulla" @@ -31,30 +23,14 @@ msgstr "Annulla" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Contribuisci" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Non inviare" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Inserisci Codice" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Inserisci il tuo codice" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Registra" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Codice di registrazione:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Invia" @@ -95,26 +59,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Invia" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "Questa applicazione è registrata, grazie!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Prova" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Inserisci il codice che hai ricevuto quando hai contribuito a %@, così come " -"l'email di riferimento utilizzata per l'acquisto." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/nl/LC_MESSAGES/cocoalib.po b/cocoalib/locale/nl/LC_MESSAGES/cocoalib.po index 2d0d06a6..cd841a1a 100644 --- a/cocoalib/locale/nl/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/nl/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "" @@ -31,30 +23,14 @@ msgstr "" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "" @@ -93,24 +57,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "This app is registered, thanks!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/pt_BR/LC_MESSAGES/cocoalib.po b/cocoalib/locale/pt_BR/LC_MESSAGES/cocoalib.po index 108c45da..209539d4 100644 --- a/cocoalib/locale/pt_BR/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/pt_BR/LC_MESSAGES/cocoalib.po @@ -9,10 +9,6 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ é Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " @@ -21,10 +17,6 @@ msgstr "" "Embora o aplicativo continue a funcionar após este erro, ele pode estar " "instável. É recomendável reiniciá-lo." -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Comprar" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Cancelar" @@ -33,30 +25,14 @@ msgstr "Cancelar" msgid "Clear List" msgstr "Limpar Lista" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Contribuir" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Não Enviar" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Entrar Chave" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Entre sua chave" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "Não" @@ -69,18 +45,6 @@ msgstr "" msgid "Please wait..." msgstr "Aguarde..." -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Registrar" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Chave de registro:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Enviar" @@ -96,26 +60,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Enviar" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "O app está registrado, obrigado!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Testar" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Digite a chave que você recebeu ao contribuir com o %@, assim como o e-mail " -"usado para a compra." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/ru/LC_MESSAGES/cocoalib.po b/cocoalib/locale/ru/LC_MESSAGES/cocoalib.po index ccf0a64d..8fd15ba2 100755 --- a/cocoalib/locale/ru/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/ru/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ является Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Купить" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Отменить" @@ -31,30 +23,14 @@ msgstr "Отменить" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Способствовайте" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Не отправлять" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Видите ключ" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Видите Ваш ключ" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Регистрация" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Регистрационный ключ:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Отправить" @@ -94,26 +58,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Передать" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "Это приложение зарегистрировано, спасибо!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Пробовать" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Тип ключа, который вы получили при способствовала %@, а также электронной " -"почты используется в качестве ссылки для покупки." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/uk/LC_MESSAGES/cocoalib.po b/cocoalib/locale/uk/LC_MESSAGES/cocoalib.po index a6ad8d6b..07d85580 100755 --- a/cocoalib/locale/uk/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/uk/LC_MESSAGES/cocoalib.po @@ -9,10 +9,6 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ це Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " @@ -21,10 +17,6 @@ msgstr "" "Хоча програма має продовжувати роботу після цієї помилки, вона може " "перебувати у нестабільному стані, тож рекомендується перезапустити програму." -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Купити" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "Відмінити" @@ -33,30 +25,14 @@ msgstr "Відмінити" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "Зробити внесок" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Не надсилати" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "Введіть ключ" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Введіть Ваш ключ" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -69,18 +45,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Зареєструвати" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "Реєстраційний ключ:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Надіслати" @@ -96,26 +60,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "Надіслати" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "Програму зареєстровано, дякуємо!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Спробувати" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" -"Введіть ключ, який Ви отримали зробивши внесок за %@, а також адресу " -"електронної пошти, яка була вказана під час покупки." - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/vi/LC_MESSAGES/cocoalib.po b/cocoalib/locale/vi/LC_MESSAGES/cocoalib.po index f8e8834e..8da64fae 100644 --- a/cocoalib/locale/vi/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/vi/LC_MESSAGES/cocoalib.po @@ -10,20 +10,12 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "" @@ -32,30 +24,14 @@ msgstr "" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -68,18 +44,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "" @@ -94,24 +58,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/cocoalib/locale/zh_CN/LC_MESSAGES/cocoalib.po b/cocoalib/locale/zh_CN/LC_MESSAGES/cocoalib.po index 2285f065..c08a7aee 100644 --- a/cocoalib/locale/zh_CN/LC_MESSAGES/cocoalib.po +++ b/cocoalib/locale/zh_CN/LC_MESSAGES/cocoalib.po @@ -9,20 +9,12 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "%@ is Fairware" -msgstr "%@ is Fairware" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "" "Although the application should continue to run after this error, it may be " "in an instable state, so it is recommended that you restart the application." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Buy" -msgstr "Buy" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Cancel" msgstr "取消" @@ -31,30 +23,14 @@ msgstr "取消" msgid "Clear List" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Contribute" -msgstr "捐助" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Don't Send" msgstr "Don't Send" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter Key" -msgstr "输入密钥" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Enter your key" -msgstr "Enter your key" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Error Report" msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Fairware?" -msgstr "Fairware?" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "No" msgstr "" @@ -67,18 +43,6 @@ msgstr "" msgid "Please wait..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Register" -msgstr "Register" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration e-mail:" -msgstr "" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Registration key:" -msgstr "密钥:" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Send" msgstr "Send" @@ -95,24 +59,6 @@ msgstr "" msgid "Status: Working..." msgstr "" -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Submit" -msgstr "提交" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "This app is registered, thanks!" -msgstr "This app is registered, thanks!" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "Try" -msgstr "Try" - -#: cocoalib/en.lproj/cocoalib.strings:0 -msgid "" -"Type the key you received when you contributed to %@, as well as the e-mail " -"used as a reference for the purchase." -msgstr "当您捐助 %@ 后,请输入收到的注册密钥以及电子邮件,这将作为购买凭证。" - #: cocoalib/en.lproj/cocoalib.strings:0 msgid "Work in progress, please wait." msgstr "" diff --git a/locale/core.pot b/locale/core.pot index 15405da4..47f8979a 100644 --- a/locale/core.pot +++ b/locale/core.pot @@ -4,135 +4,127 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: utf-8\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "" -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "" -#: core/app.py:42 +#: core/app.py:41 msgid "You're about to open many files at once. Depending on what those files are opened with, doing so can create quite a mess. Continue?" msgstr "" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" - -#: core/app.py:246 +#: core/app.py:295 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 "" -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "" -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "" -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "" -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "" -#: core/app.py:296 -msgid "You cannot delete, move or copy more than 10 duplicates at once in demo mode." -msgstr "" - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "" -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "" -#: core/app.py:316 +#: core/app.py:365 msgid "All selected %d matches are going to be ignored in all subsequent scans. Continue?" msgstr "" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "" -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "" -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "" -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "" @@ -180,11 +172,11 @@ msgstr "" msgid "Oldest" msgstr "" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "" -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr "" diff --git a/locale/cs/LC_MESSAGES/core.po b/locale/cs/LC_MESSAGES/core.po index 2f2a0368..8f4b2f32 100644 --- a/locale/cs/LC_MESSAGES/core.po +++ b/locale/cs/LC_MESSAGES/core.po @@ -10,49 +10,45 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "" -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "" -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" msgstr "" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Vyhledávám duplicity" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Nahrávám" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Přesouvám" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Kopíruji" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Vyhazuji do koše" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -60,37 +56,31 @@ msgstr "" "Předchozí akce stále nebyla ukončena. Novou zatím nemůžete spustit. Počkejte" " pár sekund a zkuste to znovu." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Nebyli nalezeny žádné duplicity." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "" -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "" -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "" -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "" -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "" -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" @@ -98,60 +88,60 @@ msgstr "" "Všech %d vybraných shod bude v následujících hledáních ignorováno. " "Pokračovat?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "" "Nedefinoval jste žádný uživatelský příkaz. Nadefinujete ho v předvolbách." -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "Chystáte se z výsledků odstranit %d souborů. Pokračovat?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "" -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Shromažďuji prohlížené soubory" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Vybrané adresáře neobsahují žádné soubory vhodné k prohledávání." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d vyřazeno)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "Nalezeno 0 shod" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "Nalezeno %d shod" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Read size of %d/%d files" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "Grouped %d/%d matches" @@ -199,11 +189,11 @@ msgstr "Nejnovější" msgid "Oldest" msgstr "Nejstarší" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) duplicit označeno." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr " filtr: %s" diff --git a/locale/cs/LC_MESSAGES/ui.po b/locale/cs/LC_MESSAGES/ui.po index 2517fbff..beae8089 100644 --- a/locale/cs/LC_MESSAGES/ui.po +++ b/locale/cs/LC_MESSAGES/ui.po @@ -26,23 +26,17 @@ msgstr "Vyhazuji kopie do koše" msgid "Talking to iTunes. Don't touch it!" msgstr "" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "You have no dead tracks in your iTunes Library" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "" @@ -62,80 +56,76 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "Nelze najít aplikaci iPhoto." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "Nápověda dupeGuru" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "O aplikaci" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Zrušit" @@ -182,47 +172,47 @@ msgstr "Nápověda" msgid "Load Recent Results" msgstr "Nahrát nedávné výsledky" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Vyberte složky, které chcete prohledat a stiskněte \"Prohledat\"." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Nahrát výsledky" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Prohledat" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Máte neuložené výsledky, opravdu si přejete skončit?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Vyberte složku, kterou chcete přidat do prohledávacího seznamu" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Vyberte soubor s výsledky, který chcete nahrát" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "Máte neuložené výsledky, opravdu si přejete pokračovat?" @@ -335,14 +325,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Ukázat vybrané ve správci souborů" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Detaily" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Akce" @@ -439,23 +429,23 @@ msgstr "" msgid "Columns" msgstr "Sloupce" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Výchozí nastavení" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Jen duplicity" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "Vyberte soubor pro uložení výsledků" @@ -556,16 +546,16 @@ msgstr "EXIF razítko" msgid "Match pictures of different dimensions" msgstr "Porovnávat snímky s různými rozměry" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Vyčistit cache snímků" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "Opravdu chcete odstranit veškeré uložené analýzy snímků?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "Picture cache cleared." diff --git a/locale/de/LC_MESSAGES/core.po b/locale/de/LC_MESSAGES/core.po index 0b6303f2..818122e2 100644 --- a/locale/de/LC_MESSAGES/core.po +++ b/locale/de/LC_MESSAGES/core.po @@ -10,49 +10,45 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "" -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "" -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" msgstr "" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Suche nach Duplikaten" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Laden" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Verschieben" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Kopieren" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Verschiebe in den Mülleimer" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Sende Dateien in den Mülleimer" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -60,97 +56,91 @@ msgstr "" "Eine vorherige Aktion ist noch in der Bearbeitung. Sie können noch keine " "Neue starten. Warten Sie einige Sekunden und versuchen es erneut." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Keine Duplikate gefunden." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "" -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "" -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "" -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "" -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "" -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" msgstr "%d Dateien werden in zukünftigen Scans ignoriert werden. Fortfahren?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "kopieren" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "verschieben" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "Wählen sie einen Ordner zum {} der ausgewählten Dateien" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "" "Sie haben keinen eigenen Befehl erstellt. Bitte in den Einstellungen " "konfigurieren." -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "%d Dateien werden aus der Ergebnisliste entfernt. Fortfahren?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "" -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Sammle Dateien zum Scannen" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Der ausgewählte Ordner enthält keine scannbare Dateien." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d verworfen)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "0 Paare gefunden" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "%d Paare gefunden" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Lese Größe von %d/%d Dateien" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "%d/%d Paare gruppiert" @@ -198,11 +188,11 @@ msgstr "Newest" msgid "Oldest" msgstr "Oldest" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) Duplikate markiert." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr " Filter: %s" diff --git a/locale/de/LC_MESSAGES/ui.po b/locale/de/LC_MESSAGES/ui.po index 97e76678..df430202 100644 --- a/locale/de/LC_MESSAGES/ui.po +++ b/locale/de/LC_MESSAGES/ui.po @@ -26,23 +26,17 @@ msgstr "Verschiebe Duplikate in den Mülleimer" msgid "Talking to iTunes. Don't touch it!" msgstr "" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "You have no dead tracks in your iTunes Library" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "" @@ -62,80 +56,76 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "The iPhoto application couldn't be found." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "Beenden" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "Einstellungen" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "dupeGuru Hilfe" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "Über dupeGuru" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "Registriere dupeGuru" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "Auf Updates überprüfen" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "Debug Log öffnen" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Cancel" @@ -182,47 +172,47 @@ msgstr "Hilfe" msgid "Load Recent Results" msgstr "Lade letzte Ergebnisse" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Zu scannende Ordner auswählen und \"Scan\" drücken." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Lade Ergebnisse" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Scan" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "Ungespeicherte Ergebnisse" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Sie haben ungespeicherte Ergebnisse. Wollen Sie wirklich beenden?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Wählen Sie einen Ordner aus, um ihn der Scanliste hinzuzufügen." -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Wählen Sie eine Ergebnisliste zum Laden aus." -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "Alle Dateien (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "dupeGuru Ergebnisse (*.dupeguru)" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "Starte einen neuen Scan" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "Sie haben ungespeicherte Ergebnisse. Möchten Sie wirklich fortfahren?" @@ -334,14 +324,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Zeige Markierte" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Details" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Aktionen" @@ -438,23 +428,23 @@ msgstr "Auswählen" msgid "Columns" msgstr "Spalten" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Voreinstellungen" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "{} (Ergebnisse)" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Dupes Only" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "Datei zum Speichern der Ergebnisliste auswählen." @@ -555,17 +545,17 @@ msgstr "EXIF Timestamp" msgid "Match pictures of different dimensions" msgstr "Vergleiche Bilder mit unterschiedlicher Auflösung" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Bildzwischenspeicher leeren" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "" "Möchten Sie wirklich alle zwischengespeicherten Bildanalysen entfernen?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "Bildzwischenspeicher geleert." diff --git a/locale/fr/LC_MESSAGES/core.po b/locale/fr/LC_MESSAGES/core.po index 0207b1fe..eabc344d 100644 --- a/locale/fr/LC_MESSAGES/core.po +++ b/locale/fr/LC_MESSAGES/core.po @@ -12,15 +12,15 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "Aucun doublon marqué. Rien à faire." -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "Aucun doublon sélectionné. Rien à faire." -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" @@ -28,35 +28,31 @@ msgstr "" "Beaucoup de fichiers seront ouverts en même temps. Cela peut gravement " "encombrer votre système. Continuer?" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Scan de doublons en cours" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Chargement en cours" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Déplacement en cours" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Copie en cours" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Envoi de fichiers à la corbeille" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Envoi de fichiers à la corbeille" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "ne peut effacer, déplacer ou copier que 10 doublons à la fois" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -64,99 +60,91 @@ msgstr "" "Une action précédente est encore en cours. Attendez quelques secondes avant " "d'en repartir une nouvelle." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Aucun doublon trouvé." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "Tous les fichiers marqués ont été copiés correctement." -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "Tous les fichiers marqués ont été déplacés correctement." -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "" "Tous les fichiers marqués ont été correctement envoyés à la corbeille." -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" -"Vous ne pouvez pas effacer, déplacer ou copier plus de 10 doublons à la fois" -" en mode démo." - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "'{}' est déjà dans la liste." -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "'{}' n'existe pas." -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" msgstr "%d fichiers seront ignorés des prochains scans. Continuer?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "copier" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "déplacer" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "Sélectionnez un dossier vers lequel {} les fichiers marqués." -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "Choisissez une destination pour votre exportation CSV" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "" "Vous n'avez pas de commande personnalisée. Ajoutez-la dans vos préférences." -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "%d fichiers seront retirés des résultats. Continuer?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "{} groupes de doublons ont été modifiés par la re-prioritisation." -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Collecte des fichiers à scanner" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Les dossiers sélectionnés ne contiennent pas de fichiers valides." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d hors-groupe)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "0 paires trouvées" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "%d paires trouvées" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Lu la taille de %d/%d fichiers" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "%d/%d paires groupées" @@ -206,11 +194,11 @@ msgstr "Plus récent" msgid "Oldest" msgstr "Moins récent" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) doublons marqués." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr " filtre: %s" diff --git a/locale/fr/LC_MESSAGES/ui.po b/locale/fr/LC_MESSAGES/ui.po index 4046f755..6d862bbd 100644 --- a/locale/fr/LC_MESSAGES/ui.po +++ b/locale/fr/LC_MESSAGES/ui.po @@ -29,26 +29,18 @@ msgstr "Envoi de doublons à la corbeille en cours" msgid "Talking to iTunes. Don't touch it!" msgstr "En communication avec iTunes. N'y touchez pas!" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" -"Il y a eu des problèmes de communication avec iTunes. L'opération n'a pas pu" -" être complétée." - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Votre librairie iTunes contient %d tracks mortes qui seront retirées. " "Continuer?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "Votre librairie iTunes ne contient aucune track morte." -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "L'application iTunes n'a pas pu être trouvée" @@ -70,52 +62,48 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "iPhoto n'a pas pu être trouvée dans vos applications." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "Quitter" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "Préférences" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "Liste de doublons ignorés" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "Aide dupeGuru" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "À propos de dupeGuru" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "Enregistrer dupeGuru" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "Vérifier les mises à jour" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "Ouvrir logs de déboguage" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "Fichier {} (*.{})" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "Options de suppression" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "Remplacer les fichiers effacés par des liens" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." @@ -123,19 +111,19 @@ msgstr "" "Après avoir effacé un fichier, remplacer celui-ci par un lien vers le " "fichier référence." -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "Hardlink" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "Symlink" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "Supprimer les fichiers directement" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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." @@ -143,11 +131,11 @@ 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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "Continuer" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Annuler" @@ -194,47 +182,47 @@ msgstr "Aide" msgid "Load Recent Results" msgstr "Charger résultats récents" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Sélectionnez les dossiers à scanner puis faites \"Scan\"." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Charger" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Scan" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "Résultats non sauvegardés" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment quitter?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Sélectionnez un dossier à ajouter à la liste" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Sélectionnez un fichier résultats à charger" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "Tout les fichiers (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "Résultats dupeGuru (*.dupeguru)" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "Commencer un nouveau scan" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "" "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment continuer?" @@ -348,14 +336,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Révéler Fichier" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Détails" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Actions" @@ -452,23 +440,23 @@ msgstr "Marquer" msgid "Columns" msgstr "Colonnes" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Réinitialiser" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "{} (Résultats)" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Sans réf." -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "Delta" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 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" @@ -569,16 +557,16 @@ msgstr "EXIF Timestamp" msgid "Match pictures of different dimensions" msgstr "Comparer les images de tailles différentes" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Vider la cache d'images" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "Voulez-vous vraiment vider la cache de vos analyses précédentes?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "La cache des analyses précédentes a été vidée." diff --git a/locale/hy/LC_MESSAGES/core.po b/locale/hy/LC_MESSAGES/core.po index 1d5fffb8..468d2aed 100755 --- a/locale/hy/LC_MESSAGES/core.po +++ b/locale/hy/LC_MESSAGES/core.po @@ -10,50 +10,45 @@ msgstr "" "Language: hy\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "" -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "" -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" msgstr "" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Ստուգվում են կրկնօրինակները" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Բացվում է" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Տեղափոխվում է" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Պատճենվում է" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Ուղարկվում է Աղբարկղ" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Ֆայլերը ուղարկվում են Աղբարկղ" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" -"միաժամանակ հնարավոր է ջնջել, տեղափոխել կամ պատճենել միայն 10 օրինակներ" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -61,98 +56,90 @@ msgstr "" "Նախորդ գործողությունը դեռևս ձեռադրում է այստեղ: Չեք կարող սկսել մեկ ուրիշը: " "Սպասեք մի քանի վայրկյան և կրկին փորձեք:" -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Կրկնօրինակներ չկան:" -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "Բոլոր նշված ֆայլերը հաջողությամբ պատճենվել են:" -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "Բոլոր նշված ֆայլերը հաջողությամբ տեղափոխվել են:" -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "Բոլոր նշված ֆայլերը հաջողությամբ Ջնջվել են:" -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" -"Չեք կարող ջնջել, տեղափձոխել կամ պատճենել ավելի քան 10 օրինակներ փորձնական " -"եղանակում:" - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "'{}'-ը արդեն առկա է ցանկում:" -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "'{}'-ը գոյություն չունի:" -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" msgstr "" "Ընտրված %d համընկնումները կանտեսվեն հետագա բոլոր ստուգումներից: Շարունակե՞լ:" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "պատճենել" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "տեղափոխել" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "Ընտրել թղթապանակ՝ {} նշված ֆայլերի համար" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "Դուք չեք կատարել Հրամանի ընտրություն: Կատարեք այն կարգավորումներում:" -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "Դուք պատրաստվում եք ջնջելու %d ֆայլեր: Շարունակե՞լ:" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "" -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Հավաքվում են ֆայլեր՝ ստուգելու համար" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Ընտրված թղթապանակները պարունակում են չստուգվող ֆայլ:" -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d անպիտան)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "0 համընկնում է գտնվել" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "%d համընկնում է գտնվել" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Կարդալ %d/%d ֆայլերի չափը" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "Խմբավորվել է %d/%d համընկնում" @@ -200,11 +187,11 @@ msgstr "Նորագույնը" msgid "Oldest" msgstr "Ամենահինը" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) նշված կրկնօրինակներ:" -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr "ֆիլտր. %s" diff --git a/locale/hy/LC_MESSAGES/ui.po b/locale/hy/LC_MESSAGES/ui.po index 932ac43e..70e21a92 100755 --- a/locale/hy/LC_MESSAGES/ui.po +++ b/locale/hy/LC_MESSAGES/ui.po @@ -26,24 +26,18 @@ msgstr "Խաբկանքները տեղափոխվում են Աղբարկղ" msgid "Talking to iTunes. Don't touch it!" msgstr "" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Ձեր iTunes- Շտեմարանը պարունակում է %d մահացած շավիղներ, որոնք կարող են " "ջնջվել: Շարունակե՞լ:" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "Դուք չունեք շավիղներ Ձեր iTunes Շտեմարանում" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "" @@ -63,80 +57,76 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "iPhoto ծրագիրը չի գտնվել:" -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "Փակել" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "Կարգավորումներ" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "dupeGuru-ի Օգնությունը" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "dupeGuru-ի մասին" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "Գրանցել dupeGuru-ն" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "Ստուգել թարմացումները" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "Բացել Սխալների մատյանը" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Չեղարկել" @@ -183,47 +173,47 @@ msgstr "Օգնություն" msgid "Load Recent Results" msgstr "Բացել Վերջին արդյունքները" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Ընտրեք ստուգելու թղթապանակները և սեղմեք \"Ստուգել\":" -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Բացել արդյունքները" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Ստուգել" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "Չպահպանված արդյունքները" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Դուք ունեք չպահպանված արդյունքներ, իրո՞ք փակել:" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Ընտրեք ստուգման ցանկը ավելացնելու թղթապանակը" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Ընտրեք արդյունքի ֆայլը՝ բացելու համար" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "Բոլոր ֆայլերը (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "dupeGuru-ի արդյունքները (*.dupeguru)" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "Սկսել նոր ստուգումը" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "Ունեք չպահպանված արդյունքներ, իրո՞ք շարունակել:" @@ -335,14 +325,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Ցուցադրել ընտրվածը" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Մանրամասն" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Գործողություններ" @@ -439,23 +429,23 @@ msgstr "Նշել" msgid "Columns" msgstr "Սյուները" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Ետարկել ծրագրայինի" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "{} Արդյունքներ" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Միայն կրկ." -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "Ընտրեք ֆայլը՝ պահպանելու արդյունքները՝" @@ -556,16 +546,16 @@ msgstr "EXIF Timestamp" msgid "Match pictures of different dimensions" msgstr "Նկարների համընկնում տարբեր չափերով" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Մաքրել նկարի պահոցը" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "Ցանկանու՞մ եք հեռացնել բոլոր պահված նկարները ստուգելուց:" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "Նկարի պահոցը մաքրվել է:" diff --git a/locale/it/LC_MESSAGES/core.po b/locale/it/LC_MESSAGES/core.po index 65d31804..21e438b5 100644 --- a/locale/it/LC_MESSAGES/core.po +++ b/locale/it/LC_MESSAGES/core.po @@ -10,49 +10,45 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "" -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "" -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" msgstr "" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Scansione per i duplicati" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Caricamento" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Spostamento" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Copia in corso" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Spostamento nel cestino" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Spostamento nel cestino" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -60,37 +56,31 @@ msgstr "" "Un'azione precedente è ancora in corso. Non puoi cominciarne una nuova. " "Aspetta qualche secondo e quindi riprova." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Non sono stati trovati dei duplicati." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "Tutti i file marcati sono stati copiati correttamente." -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "Tutti i file marcati sono stati spostati correttamente." -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "Tutti i file marcati sono stati inviati nel cestino." -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "'{}' è già nella lista." -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "'{}' non esiste." -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" @@ -98,61 +88,61 @@ msgstr "" "Tutti i %d elementi che coincidono verranno ignorati in tutte le scansioni " "successive. Continuare?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "" "Non hai impostato nessun comando personalizzato. Impostalo nelle tue " "preferenze." -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "Stai per rimuovere %d file dai risultati. Continuare?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "" -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Raccolta file da scansionare" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Le cartelle selezionate non contengono file da scansionare." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d scartati)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "Nessun duplicato trovato" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "Trovato/i %d duplicato/i" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Lettura dimensione di %d/%d file" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "Raggruppati %d/%d duplicati" @@ -202,11 +192,11 @@ msgstr "Il più nuovo" msgid "Oldest" msgstr "Il più vecchio" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) duplicati marcati." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr " filtro: %s" diff --git a/locale/it/LC_MESSAGES/ui.po b/locale/it/LC_MESSAGES/ui.po index 7f43e5e8..fd1be058 100644 --- a/locale/it/LC_MESSAGES/ui.po +++ b/locale/it/LC_MESSAGES/ui.po @@ -26,24 +26,18 @@ msgstr "Spostamento dei duplicati nel cestino" msgid "Talking to iTunes. Don't touch it!" msgstr "" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "La tua libreria di iTunes contiene %d tracce inesistenti pronte per essere " "rimosse. Continuare?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "La tua libreria di iTunes non contiene tracce inesistenti" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "" @@ -63,80 +57,76 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "Non trovo l'applicazione iPhoto." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "Aiuto di dupeGuru" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "Informazioni su dupeGuru" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Cancella" @@ -183,49 +173,49 @@ msgstr "Aiuto" msgid "Load Recent Results" msgstr "Carica i risultati recenti" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Seleziona le cartelle da scansionare e premi \"Scansiona\"." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Carica i risultati" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Scansiona" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Hai dei risultati non salvati. Vuoi veramente chiudere?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "" "Seleziona una cartella da aggiungere alla lista delle cartelle da " "scansionare" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Seleziona un risultato (file) da caricare" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "Hai dei risultati non salvati. Vuoi veramente continuare?" @@ -339,14 +329,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Mostra i selezionati" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Dettagli" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Azioni" @@ -443,23 +433,23 @@ msgstr "" msgid "Columns" msgstr "Colonne" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Ripristina impostazioni predefinite" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Solo duplicati" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 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" @@ -560,18 +550,18 @@ msgstr "Data e ora EXIF" msgid "Match pictures of different dimensions" msgstr "Includi immagini di dimensione differente" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Cancella la cache delle immagini" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "" "Vuoi veramente rimuovere tutte le analisi delle immagini memorizzate nella " "cache?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "" diff --git a/locale/pt_BR/LC_MESSAGES/core.po b/locale/pt_BR/LC_MESSAGES/core.po index 242d30a3..9ecca5db 100644 --- a/locale/pt_BR/LC_MESSAGES/core.po +++ b/locale/pt_BR/LC_MESSAGES/core.po @@ -14,15 +14,15 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "Não há duplicatas marcadas. Nada foi feito." -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "Não há duplicatas selecionadas. Nada foi feito." -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" @@ -30,35 +30,31 @@ msgstr "" "Você pretende abrir muitos arquivos de uma vez. Problemas podem surgir " "dependendo de qual app seja usado para abri-los. Continuar?" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Buscando por duplicatas" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Carregando" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Movendo" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Copiando" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Movendo para o Lixo" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Movendo arquivos para o Lixo" -#: core/app.py:110 -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:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -66,98 +62,90 @@ msgstr "" "Ainda há uma ação em execução. Não é possível iniciar outra agora. Espere " "alguns segundos e tente novamente." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Nenhuma duplicata encontrada." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "Todos os arquivos marcados foram copiados com sucesso." -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "Todos os arquivos marcados foram relocados com sucesso." -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "Todos os arquivos marcados foram movidos para o Lixo com sucesso." -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" -"Em modo demo, você não pode apagar, mover ou copiar mais do que 10 " -"duplicatas por vez." - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "'{}' já está na lista." -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "'{}' não existe." -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" msgstr "Excluir %d duplicata(s) selecionada(s) de escaneamentos posteriores?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "copiar" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "mover" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "Selecione uma pasta para {} os arquivos marcados" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "Selecione uma pasta para o CSV exportado" -#: core/app.py:428 +#: core/app.py:494 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:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "Remover %d arquivo(s) dos resultados?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "{} grupos de duplicatas alterados ao re-priorizar." -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Juntando arquivos para escanear" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "As pastas selecionadas não contém arquivos escaneáveis." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d rejeitado(s))" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "0 coincidentes encontrados" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "%d coincidentes encontrados" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Tamanho de leitura de %d/%d arquivos" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "%d/%d coincidentes agrupados" @@ -205,11 +193,11 @@ msgstr "Mais recente" msgid "Oldest" msgstr "Mais antigo" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) duplicatas marcadas." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr " filtro: %s" diff --git a/locale/pt_BR/LC_MESSAGES/ui.po b/locale/pt_BR/LC_MESSAGES/ui.po index 100251be..03b9acbf 100644 --- a/locale/pt_BR/LC_MESSAGES/ui.po +++ b/locale/pt_BR/LC_MESSAGES/ui.po @@ -30,24 +30,16 @@ msgstr "Movendo duplicatas para o Lixo" msgid "Talking to iTunes. Don't touch it!" msgstr "Comunicando com o iTunes. Não mexa!" -#: cocoa/inter/app_me.py:189 -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 pôde ser " -"finalizada." - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "Remover %d faixas sem referência da Biblioteca do iTunes?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 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:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "O aplicativo iTunes não foi encontrado." @@ -69,52 +61,48 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "O aplicativo iPhoto não foi encontrado." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "Encerrar" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "Preferências" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "Lista Ignorar" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "Ajuda dupeGuru" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "Sobre o dupeGuru" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "Registrar dupeGuru" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "Buscar Atualizaçõs" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "Abrir Registro de Depuração" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "Arquivo {} (*.{})" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "Opções de Apagamento" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "Criar link dos arquivos apagados" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." @@ -122,19 +110,19 @@ msgstr "" "Após apagar uma duplicata, cria um link direcionado ao arquivo original para" " substituir o arquivo apagado." -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "Hardlink" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "Symlink" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "Apagar arquivos imediatamente" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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." @@ -142,11 +130,11 @@ msgstr "" "Apaga os arquivos imediatamente ao invés de movê-los para o Lixo. Essa opção" " é usada como alternativa para quando o método normal falha." -#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "Continuar" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Cancelar" @@ -193,47 +181,47 @@ msgstr "Ajuda" msgid "Load Recent Results" msgstr "Carregar Resultados Recentes" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Selecione as pastas desejadas e clique em \"Escanear\"." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Carregar" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Escanear" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "Resultados não salvos" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 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 mesmo assim?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Selecione uma pasta para adicionar ao escaneamento" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 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 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "Todos os Arquivos (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "Resultados do dupeGuru (*.dupeguru)" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "Iniciar um novo escaneamento" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 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 mesmo assim?" @@ -348,14 +336,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Mostrar no Finder" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Detalhes" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Ações" @@ -452,23 +440,23 @@ msgstr "Marcar" msgid "Columns" msgstr "Colunas" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Restaurar Padrões" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "Resultados do {}" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Duplicatas" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "Valores Delta" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "Selecione onde salvar seus resultados" @@ -569,16 +557,16 @@ msgstr "Timestamp EXIF" 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 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: 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 +#: qt/pe/result_window.py:26 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 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "Cache de fotos apagado." diff --git a/locale/ru/LC_MESSAGES/core.po b/locale/ru/LC_MESSAGES/core.po index 4758dab0..162a77b5 100644 --- a/locale/ru/LC_MESSAGES/core.po +++ b/locale/ru/LC_MESSAGES/core.po @@ -11,15 +11,15 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "Дубликаты не отмечены. Нечего выполнять." -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "Дубликаты не выбраны. Нечего выполнять." -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" @@ -28,37 +28,31 @@ msgstr "" "файлы будут открыты, это действие может создать настоящий беспорядок. " "Продолжать?" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Проверка на наличие дубликатов" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Загрузка" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Перемещение" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Копирование" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Перемещение в Корзину" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Перемещение файлов в Корзину" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" -"вы сможете удалить, переместить или скопировать только 10 дубликатов за один" -" раз" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -66,39 +60,31 @@ msgstr "" "Предыдущее действие до сих пор выполняется. Вы не можете начать новое. " "Подождите несколько секунд, затем повторите попытку." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Дубликаты не найдены." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "Все отмеченные файлы были скопированы успешно." -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "Все отмеченные файлы были перемещены успешно." -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "Все отмеченные файлы были успешно отправлены в Корзину." -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" -"Вы не можете удалять, перемещать или копировать более 10 дубликатов за один " -"раз в демонстрационном режиме." - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "'{}' уже присутствует в списке." -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "'{}' не существует." -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" @@ -106,59 +92,59 @@ msgstr "" "Все выбранные %d совпадений будут игнорироваться при всех последующих " "проверках. Продолжить?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "копирование" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "перемещение" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "Выберите каталог {} для отмеченных файлов" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "Выберите назначение для экспортируемого " -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "Вы не создали пользовательскую команду. Задайте её в настройках." -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "Вы собираетесь удалить %d файлов из результата поиска. Продолжить?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "{} групп дубликатов было изменено при реприоритезации." -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Сбор файлов для сканирования" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Выбранные каталоги не содержат файлов для сканирования." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s. (%d отменено)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "0 совпадений найдено" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "%d совпадений найдено" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Подсчитан размер %d/%d файлов" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "Группировка %d/%d совпадений" @@ -207,11 +193,11 @@ msgstr "Новейший" msgid "Oldest" msgstr "Старейшие" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) дубликатов отмечено." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr "фильтр: %s" diff --git a/locale/ru/LC_MESSAGES/ui.po b/locale/ru/LC_MESSAGES/ui.po index 4d9a00bb..127c6d9c 100644 --- a/locale/ru/LC_MESSAGES/ui.po +++ b/locale/ru/LC_MESSAGES/ui.po @@ -27,24 +27,18 @@ msgstr "Перемещение дубликатов в Корзину" msgid "Talking to iTunes. Don't touch it!" msgstr "Соединение с iTunes. Не трогайте!" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "Проблема соединения с iTunes. Операция не может быть завершена." - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Ваш библиотека iTunes содержит %d отсутствующих треков готовых для удаления." " Продолжить?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "У вас нет отсутствующих треков в библиотеке iTunes" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "Приложение iTunes не найдено." @@ -65,52 +59,48 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "Приложение iPhoto не найдено." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "Выйти" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "Настройки" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "Список игнорирования" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "Справка dupeGuru" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "О dupeGuru" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "Регистрация dupeGuru" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "Проверить обновления" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "Открыть журнал отладки" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "{} файл (*.{})" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "Параметры удаления" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "Создать ссылку вместо удалённого файла" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." @@ -118,19 +108,19 @@ msgstr "" "После удаления дубликата создать ссылку на эталонный файл на месте " "удалённого." -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "Жёсткая ссылка" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "Символьная ссылка" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "Удалить файл с диска" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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." @@ -138,11 +128,11 @@ msgstr "" "Вместо отправки файлов в Корзину удалить их с диска. Этот параметр обычно " "используется как обходной путь, когда нормальный метод удаления не работает." -#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "Выполняется" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Отменить" @@ -189,47 +179,47 @@ msgstr "Справка" msgid "Load Recent Results" msgstr "Загрузка последних результатов" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Выберите каталоги для поиска и нажмите \"Сканирование\"." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Загрузить результаты" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Сканирование" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "Несохранённые результаты" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Имеются несохранённые результаты, вы действительно хотите выйти?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Выберите каталог для добавления в список сканирования" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Выберите файл результатов для загрузки" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "Все файлы (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "Результаты dupeGuru (*. dupeguru)" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "Начать новую проверку" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "Имеются несохранённые результаты, вы действительно хотите продолжить?" @@ -344,14 +334,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Показать выбранное" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Детали" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Действия" @@ -448,23 +438,23 @@ msgstr "Отметить" msgid "Columns" msgstr "Колонки" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Восстановить значения по умолчанию" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "{} Результаты" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Только дубликаты" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "Значения разницы" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "Выберите файл, чтобы сохранить ваши результаты" @@ -565,16 +555,16 @@ msgstr "Временная отметка EXIF" msgid "Match pictures of different dimensions" msgstr "Совпадение рисунков разных размеров" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Очистить кэш изображений" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "Вы действительно хотите удалить все кэшированные данные изображений?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "Кэш изображений очищен." diff --git a/locale/ui.pot b/locale/ui.pot index a9e527e6..bf579e4a 100644 --- a/locale/ui.pot +++ b/locale/ui.pot @@ -20,22 +20,16 @@ msgstr "" msgid "Talking to iTunes. Don't touch it!" msgstr "" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "" @@ -55,80 +49,80 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "" -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:46 +msgid " (unsupported)" +msgstr "" + +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "" @@ -175,47 +169,47 @@ msgstr "" msgid "Load Recent Results" msgstr "" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "" -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "" @@ -322,14 +316,14 @@ msgstr "" msgid "Reveal Selected" msgstr "" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "" @@ -426,23 +420,23 @@ msgstr "" msgid "Columns" msgstr "" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "" @@ -543,16 +537,16 @@ msgstr "" msgid "Match pictures of different dimensions" msgstr "" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "" @@ -811,7 +805,3 @@ msgstr "" #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Zoom" msgstr "" - -#: qt/base/deletion_options.py:46 -msgid " (unsupported)" -msgstr "" diff --git a/locale/uk/LC_MESSAGES/core.po b/locale/uk/LC_MESSAGES/core.po index c0a59bdb..daee0662 100755 --- a/locale/uk/LC_MESSAGES/core.po +++ b/locale/uk/LC_MESSAGES/core.po @@ -10,49 +10,45 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "Немає позначених дублікатів - нічого робити." -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "Немає обраних дублікатів - нічого робити." -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" msgstr "" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Пошук дублікатів" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Завантаження" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Переміщення" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Копіювання" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Відправка до кошику" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Відправлення файлів до кошика" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "може видаляти, переміщувати або копіювати лише 10 копій відразу" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -60,39 +56,31 @@ msgstr "" "Попередню дію ще не закінчено. Ви покищо не можете розпочаті нову. Зачекайте" " кілька секунд, потім повторіть спробу." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Не знайдено жодного дублікату." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "Усі позначені файли були скопійовані успішно." -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "Усі позначені файли були переміщені успішно." -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "Усі позначені файли були успішно відправлені до кошика." -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" -"Ви не можете видаляти, переміщати або копіювати більше 10 дублікатів відразу" -" в демонстраційному режимі." - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "'{}' вже є в списку." -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "'{}' не існує." -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" @@ -100,59 +88,59 @@ msgstr "" "Усі обрані %d результатів будуть ігноруватися під час усіх наступних " "пошуків. Продовжити?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "копіювання" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "переміщення" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "Оберіть цільову папку для {} позначених файлів" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "Власна команда не встановлена. Встановіть її у налаштуваннях." -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "Ви збираєтеся видалити %d файлів з результату пошуку. Продовжити?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "" -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Збір файлів для пошуку" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Обрані папки не містять файлів придатних для пошуку." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d відкинуто)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "0 результатів знайдено" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "%d результатів знайдено" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Прочитано розмір %d/%d файлів" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "Згруповано %d/%d результатів" @@ -200,11 +188,11 @@ msgstr "" msgid "Oldest" msgstr "" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) дублікатів позначено." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr "фільтр: %s" diff --git a/locale/uk/LC_MESSAGES/ui.po b/locale/uk/LC_MESSAGES/ui.po index c3e1ddae..84714d42 100755 --- a/locale/uk/LC_MESSAGES/ui.po +++ b/locale/uk/LC_MESSAGES/ui.po @@ -26,24 +26,18 @@ msgstr "Відправлення дублікатів до кошика" msgid "Talking to iTunes. Don't touch it!" msgstr "Виконується взаємодія з програмою iTunes. Не чіпайте її!" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "Виникла проблема зв'язку з iTunes. Операція не може бути завершена." - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Ваша бібліотека iTunes містить %d мертвих треків, які готові до видалення. " "Продовжити?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "У вашій бібліотеці iTunes немає мертвих треків " -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "Не можливо знайти програму iTunes" @@ -63,80 +57,76 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "Не вдалося знайти програму iPhoto." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "Вихід" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "Налаштування" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "Чорний список" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "Довідка dupeGuru" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "Про dupeGuru" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "Зареєструвати dupeGuru" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "Перевірити оновлення" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "Відкрити журнал налагодження" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Скасувати" @@ -183,47 +173,47 @@ msgstr "Допомога" msgid "Load Recent Results" msgstr "Завантажити нещодавні результати" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Оберіть папки для пошуку і натисніть \"Шукати\"." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Завантажити результати" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Шукати" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "Незбережені результати" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Ви маєте незбережені результати, ви дійсно хочете вийти?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Оберіть папку для додання в список пошуку" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Виберіть файл результатів для завантаження" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "Всі файли (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "Результати dupeGuru (*.dupeguru) " -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "Почати новий пошук" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "Ви маєте незбережені результати, ви дійсно хочете продовжити?" @@ -337,14 +327,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Показати вибрані" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Деталі" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Дії" @@ -441,23 +431,23 @@ msgstr "Позначити" msgid "Columns" msgstr "Колонки" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Відновити налаштування за замовчуванням" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "{} Результати" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Тільки дублікати" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "Різниця" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "Оберіть файл у який слід зберегти ваші результати" @@ -558,16 +548,16 @@ msgstr "Часова мітка EXIF" msgid "Match pictures of different dimensions" msgstr "Порівнювати малюнки різних розмірів" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Очистити кеш зображень" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "Ви дійсно хочете видалити всі кешовані результати аналізу зображень?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "Кеш зображень очищено." diff --git a/locale/vi/LC_MESSAGES/core.po b/locale/vi/LC_MESSAGES/core.po index fa8bfb67..12eab517 100644 --- a/locale/vi/LC_MESSAGES/core.po +++ b/locale/vi/LC_MESSAGES/core.po @@ -11,17 +11,17 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "" "Không có phần đánh dấu nào trùng nhau. Vẫn chưa thực hiện thao tác nào." -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "" "Không có phần đánh dấu nào trùng nhau. Vẫn chưa thực hiện thao tác nào." -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" @@ -29,37 +29,31 @@ msgstr "" "Bạn chuẩn bị mở nhiều tập tin cùng lúc. Dựa trên chương trình các tập tin " "được mở, thao tác này có thể gây ra trạng thái lộn xộn. Vẫn muốn tiếp tục?" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "Quét các phần trùng nhau" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "Đang tải" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "Đang di chuyển" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "Đang sao chép" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "Đang gửi vào thùng rác" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "Đang chuyển các tập tin vào thùng rác trong Windows" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" -"chỉ được xóa, di chuyển hoặc sao chép 10 thành phần trùng nhau trong cùng " -"một lần" - -#: core/app.py:246 +#: core/app.py:295 msgid "" "A previous action is still hanging in there. You can't start a new one yet. " "Wait a few seconds, then try again." @@ -67,40 +61,32 @@ msgstr "" "Hiện đã có một tiến trình đang được tiến hành. Bạn không thể bắt đầu một " "phần khác. Hãy đợi trong vài giây, và sau đó thử lại lần nữa." -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "Không tìm thấy thành phần trùng nhau." -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "Tất cả tập tin được đánh dấu đã được sao chép thành công." -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "Tất cả các tập tin được đánh dấu đã được di chuyển thành công." -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "" "Tất cả các tập tin được đánh dấu đã được gửi đến Thùng Rác thành công." -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" -"Bạn không thể xóa, di chuyển hoặc sao chép nhiều hơn 10 đối tượng trùng nhau" -" trong cùng một lần ở chế độ xài thử." - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "'{}' đã tồn tại trong danh sách." -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "'{}' không tồn tại." -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" @@ -108,61 +94,61 @@ msgstr "" "Các phần được chọn %d khớp với nhau sẽ được bỏ qua trong các lần quét sau. " "Tiếp tục?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "sao chép" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "di chuyển" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "Chọn một thư mục để {} các tập tin được đánh dấu đến" -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "Chọn một điểm xuất dữ liệu dạng CSV" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "" "Bạn vẫn chưa chỉnh sửa phần thiết lập dòng lệnh. Hãy sử dụng tính năng này " "trong phần tùy biến của bạn." -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "Bạn chuẩn bị loại bỏ %d tập tin từ phần kết quả. Tiếp tục?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "{} các nhóm trùng nhau đã được thay đổi bởi thứ tự-tái ưu tiên." -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "Đang thu thập các tập tin để quét" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "Các thứ mục được chọn chứa các tập tin không thể quét được." -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d bị bỏ qua)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "đã tìm thấy 0 phần khớp nhau" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "đã tìm thấy %d phần khớp nhau" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "Đọc kích thước của các tập tin %d/%d" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "Đã nhóm %d/%d phần khớp nhau" @@ -210,11 +196,11 @@ msgstr "Mới nhất" msgid "Oldest" msgstr "Cũ nhất" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "%d / %d (%s / %s) phần trùng nhau đã được đánh dấu." -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr " bộ lọc: %s" diff --git a/locale/vi/LC_MESSAGES/ui.po b/locale/vi/LC_MESSAGES/ui.po index cc2e9e76..9eb91af4 100644 --- a/locale/vi/LC_MESSAGES/ui.po +++ b/locale/vi/LC_MESSAGES/ui.po @@ -27,26 +27,18 @@ msgstr "Đang gửi các đối tượng bị lỗi đến Thùng Rác" msgid "Talking to iTunes. Don't touch it!" msgstr "Đang giao tiếp với iTunes. Đừng chạm vào!" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" -"Xảy ra vấn đề khi giao tiếp với iTunes. Tiến trình này không thể được thực " -"hiện." - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Thư viện iTunes của bạn chứa %d các track bị lỗi và đang chuẩn bị được loại " "bỏ. Tiếp tục?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "Bạn không có track bị lỗi trong thư viện iTunes" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "Không tìm thấy ứng dụng iTunes." @@ -68,52 +60,48 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "Không tìm thấy ứng dụng iPhoto." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "Thoát" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "Tùy biến" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "Danh sách bỏ qua" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "Trợ giúp" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "Dịch bởi Phan Anh" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "Đăng ký chương trình" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "Kiểm tra cập nhật" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "Mở nhật trình gỡ rối" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "{} tập tin (*.{})" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "Xóa tùy chọn" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "Liên kết đến các tập tin đã bị xóa" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." @@ -121,19 +109,19 @@ msgstr "" "Sau khi đã xóa một đối tượng bị trùng, đặt một liên kết chỉ thẳng nhằm tham " "chiếu đến tập tin để thay thế tập tin đã được xóa." -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "Liên kết cứng" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "Liên kết biểu tượng" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "Trực tiếp xóa các tập tin" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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." @@ -142,11 +130,11 @@ msgstr "" " này thường được dùng trong các môi trường làm việc nơi mà các tác dụng xóa " "những tập tin theo cách thông thường không được áp dụng." -#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "Tiếp tục" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Hủy bỏ" @@ -193,47 +181,47 @@ msgstr "Trợ giúp" msgid "Load Recent Results" msgstr "Tải các kết quả gần đây" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "Chọn thư mục để quét và nhấn \"Quét\"." -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "Tải kết quả" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "Quét" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "Các kết quả chưa lưu" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "Bạn vẫn chưa lưu các kết quả, bạn có thực sự muốn thoát?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "Chọn một thư mục để thêm vào danh sách quét" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "Chọn một tập tin kết quả để tải" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "Tất cả tập tin (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "tập tin kết quả của dupeGuru (*.dupeguru)" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "Bắt đầu quá trình quét mới" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "" "Bạn vẫn chưa lưu các kết quả vừa quét, bạn có muốn tiếp tục hay không?" @@ -349,14 +337,14 @@ msgstr "" msgid "Reveal Selected" msgstr "Biểu hiện các phần được chọn" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "Chi tiết" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "Thao tác" @@ -453,23 +441,23 @@ msgstr "Đánh dấu" msgid "Columns" msgstr "Cột" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "Thiết đặt lại về mặc định" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "{} Kết quả" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Chỉ trùng nhau" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "Giá trị Delta" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "Chọn một tập tin để lưu kết quả vào" @@ -570,18 +558,18 @@ msgstr "EXIF Timestamp" msgid "Match pictures of different dimensions" msgstr "Chỉ các hình ảnh khớp nhau với các chiều khác nhau" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "Dọn dẹp bộ nhớ đệm của hình ảnh" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "" "Bạn có muốn loại bỏ toàn bộ các phân tích trong bộ nhớ đệm về hình ảnh hay " "không?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "Đã dọn dẹp bộ nhớ đệm xử lý hình ảnh." diff --git a/locale/zh_CN/LC_MESSAGES/core.po b/locale/zh_CN/LC_MESSAGES/core.po index 4a6c9190..1f29a3ea 100644 --- a/locale/zh_CN/LC_MESSAGES/core.po +++ b/locale/zh_CN/LC_MESSAGES/core.po @@ -10,143 +10,133 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: core/app.py:40 +#: core/app.py:39 msgid "There are no marked duplicates. Nothing has been done." msgstr "" -#: core/app.py:41 +#: core/app.py:40 msgid "There are no selected duplicates. Nothing has been done." msgstr "" -#: core/app.py:42 +#: core/app.py:41 msgid "" "You're about to open many files at once. Depending on what those files are " "opened with, doing so can create quite a mess. Continue?" msgstr "" -#: core/app.py:58 +#: core/app.py:57 msgid "Scanning for duplicates" msgstr "重复文件扫描中" -#: core/app.py:59 +#: core/app.py:58 msgid "Loading" msgstr "载入中" -#: core/app.py:60 +#: core/app.py:59 msgid "Moving" msgstr "移动中" -#: core/app.py:61 +#: core/app.py:60 msgid "Copying" msgstr "复制中" -#: core/app.py:62 +#: core/app.py:61 msgid "Sending to Trash" msgstr "移到垃圾桶" -#: core/app.py:65 +#: core/app.py:64 msgid "Sending files to the recycle bin" msgstr "将文件移到回收站" -#: core/app.py:110 -msgid "will only be able to delete, move or copy 10 duplicates at once" -msgstr "" - -#: core/app.py:246 +#: core/app.py:295 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 "目前还有任务在执行,新任务无法开启。请等待几秒钟后再重新试一次。" -#: core/app.py:254 +#: core/app.py:302 msgid "No duplicates found." msgstr "没有找到重复文件。" -#: core/app.py:267 +#: core/app.py:315 msgid "All marked files were copied successfully." msgstr "" -#: core/app.py:268 +#: core/app.py:316 msgid "All marked files were moved successfully." msgstr "" -#: core/app.py:269 +#: core/app.py:317 msgid "All marked files were successfully sent to Trash." msgstr "" -#: core/app.py:296 -msgid "" -"You cannot delete, move or copy more than 10 duplicates at once in demo " -"mode." -msgstr "" - -#: core/app.py:307 +#: core/app.py:354 msgid "'{}' already is in the list." msgstr "" -#: core/app.py:309 +#: core/app.py:356 msgid "'{}' does not exist." msgstr "" -#: core/app.py:316 +#: core/app.py:365 msgid "" "All selected %d matches are going to be ignored in all subsequent scans. " "Continue?" msgstr "目前已选的 %d 个匹配项将在后续的扫描中被忽略。继续吗?" -#: core/app.py:376 +#: core/app.py:431 msgid "copy" msgstr "复制" -#: core/app.py:376 +#: core/app.py:431 msgid "move" msgstr "移动" -#: core/app.py:377 +#: core/app.py:432 msgid "Select a directory to {} marked files to" msgstr "选择一个文件夹将标记的 {} 个文件进行..." -#: core/app.py:403 +#: core/app.py:469 msgid "Select a destination for your exported CSV" msgstr "" -#: core/app.py:428 +#: core/app.py:494 msgid "You have no custom command set up. Set it up in your preferences." msgstr "你没有设定自定义命令。请在首选项中进行设定。" -#: core/app.py:535 core/app.py:546 +#: core/app.py:646 core/app.py:659 msgid "You are about to remove %d files from results. Continue?" msgstr "你将从结果中移除 %d 个文件。继续吗?" -#: core/app.py:566 +#: core/app.py:693 msgid "{} duplicate groups were changed by the re-prioritization." msgstr "" -#: core/app.py:586 +#: core/app.py:721 msgid "Collecting files to scan" msgstr "收集文件以备扫描" -#: core/app.py:597 +#: core/app.py:732 msgid "The selected directories contain no scannable file." msgstr "所选文件夹中不包含可供扫描的文件。" -#: core/app.py:636 +#: core/app.py:773 msgid "%s (%d discarded)" msgstr "%s (%d 无效)" -#: core/engine.py:178 core/engine.py:215 +#: core/engine.py:220 core/engine.py:265 msgid "0 matches found" msgstr "未找到匹配项" -#: core/engine.py:196 core/engine.py:223 +#: core/engine.py:238 core/engine.py:273 msgid "%d matches found" msgstr "找到 %d 个匹配项" -#: core/engine.py:208 core/scanner.py:79 +#: core/engine.py:258 core/scanner.py:79 msgid "Read size of %d/%d files" msgstr "读取 %d/%d 文件大小" -#: core/engine.py:361 +#: core/engine.py:464 msgid "Grouped %d/%d matches" msgstr "%d/%d 匹配项组合在一起" @@ -194,11 +184,11 @@ msgstr "" msgid "Oldest" msgstr "" -#: core/results.py:113 +#: core/results.py:126 msgid "%d / %d (%s / %s) duplicates marked." msgstr "已标记 %d / %d (%s / %s) 个重复项。" -#: core/results.py:120 +#: core/results.py:133 msgid " filter: %s" msgstr " 筛选: %s" diff --git a/locale/zh_CN/LC_MESSAGES/ui.po b/locale/zh_CN/LC_MESSAGES/ui.po index c371d1d1..ee01973d 100644 --- a/locale/zh_CN/LC_MESSAGES/ui.po +++ b/locale/zh_CN/LC_MESSAGES/ui.po @@ -26,23 +26,17 @@ msgstr "将重复文件移到垃圾桶" msgid "Talking to iTunes. Don't touch it!" msgstr "" -#: cocoa/inter/app_me.py:189 -msgid "" -"There were communication problems with iTunes. The operation couldn't be " -"completed." -msgstr "" - -#: cocoa/inter/app_me.py:195 +#: cocoa/inter/app_me.py:198 msgid "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" msgstr "" "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" -#: cocoa/inter/app_me.py:199 +#: cocoa/inter/app_me.py:202 msgid "You have no dead tracks in your iTunes Library" msgstr "You have no dead tracks in your iTunes Library" -#: cocoa/inter/app_me.py:217 +#: cocoa/inter/app_me.py:220 msgid "The iTunes application couldn't be found." msgstr "" @@ -62,80 +56,76 @@ msgstr "" msgid "The iPhoto application couldn't be found." msgstr "The iPhoto application couldn't be found." -#: qt/base/app.py:95 +#: qt/base/app.py:82 msgid "Quit" msgstr "退出" -#: qt/base/app.py:96 qt/base/preferences_dialog.py:123 +#: qt/base/app.py:83 qt/base/preferences_dialog.py:123 msgid "Preferences" msgstr "首选项" -#: qt/base/app.py:97 qt/base/ignore_list_dialog.py:32 +#: qt/base/app.py:84 qt/base/ignore_list_dialog.py:32 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Ignore List" msgstr "" -#: qt/base/app.py:98 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:85 cocoa/base/en.lproj/Localizable.strings:0 msgid "dupeGuru Help" msgstr "dupeGuru帮助" -#: qt/base/app.py:99 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 msgid "About dupeGuru" msgstr "关于dupeGuru" -#: qt/base/app.py:100 -msgid "Register dupeGuru" -msgstr "注册dupeGuru" - -#: qt/base/app.py:101 +#: qt/base/app.py:87 msgid "Check for Update" msgstr "检查更新" -#: qt/base/app.py:102 +#: qt/base/app.py:88 msgid "Open Debug Log" msgstr "打开调试记录" -#: qt/base/app.py:257 +#: qt/base/app.py:210 msgid "{} file (*.{})" msgstr "" -#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:29 cocoa/base/en.lproj/Localizable.strings:0 msgid "Deletion Options" msgstr "" -#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:34 cocoa/base/en.lproj/Localizable.strings:0 msgid "Link deleted files" msgstr "" -#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:36 cocoa/base/en.lproj/Localizable.strings:0 msgid "" "After having deleted a duplicate, place a link targeting the reference file " "to replace the deleted file." msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Hardlink" msgstr "" -#: qt/base/deletion_options.py:42 +#: qt/base/deletion_options.py:41 msgid "Symlink" msgstr "" -#: qt/base/deletion_options.py:48 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 msgid "Directly delete files" msgstr "" -#: qt/base/deletion_options.py:50 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.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:56 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 msgid "Proceed" msgstr "" -#: qt/base/deletion_options.py:57 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 msgid "Cancel" msgstr "Cancel" @@ -182,47 +172,47 @@ msgstr "帮助" msgid "Load Recent Results" msgstr "载入最近的结果" -#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:107 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select folders to scan and press \"Scan\"." msgstr "请选择要扫描的文件夹,然后点击 \"扫描\"。" -#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:131 cocoa/base/en.lproj/Localizable.strings:0 msgid "Load Results" msgstr "载入结果" -#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:134 cocoa/base/en.lproj/Localizable.strings:0 msgid "Scan" msgstr "扫描" -#: qt/base/directories_dialog.py:179 +#: qt/base/directories_dialog.py:178 msgid "Unsaved results" msgstr "未保存的结果" -#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to quit?" msgstr "您还没有保存扫描结果,确定要退出吗?" -#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a folder to add to the scanning list" msgstr "请选择一个文件夹并加入到扫描列表中" -#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a results file to load" msgstr "选择一个结果文件并载入" -#: qt/base/directories_dialog.py:206 +#: qt/base/directories_dialog.py:205 msgid "All Files (*.*)" msgstr "所有文件 (*.*)" -#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +#: qt/base/directories_dialog.py:205 qt/base/result_window.py:286 msgid "dupeGuru Results (*.dupeguru)" msgstr "dupeGuru结果 (*.dupeguru)" -#: qt/base/directories_dialog.py:217 +#: qt/base/directories_dialog.py:216 msgid "Start a new scan" msgstr "开始新的扫描" -#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0 msgid "You have unsaved results, do you really want to continue?" msgstr "目前还有结果尚未保存,确定要继续吗?" @@ -332,14 +322,14 @@ msgstr "在处理部分或全部文件时发现问题。产生问题的原因在 msgid "Reveal Selected" msgstr "显示选择" -#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/base/result_window.py:44 qt/base/result_window.py:169 #: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25 #: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 msgid "Details" msgstr "详细说明" #: qt/base/result_window.py:45 qt/base/result_window.py:80 -#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: qt/base/result_window.py:144 qt/base/result_window.py:168 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Actions" msgstr "行为" @@ -436,23 +426,23 @@ msgstr "标记" msgid "Columns" msgstr "显示列" -#: qt/base/result_window.py:141 +#: qt/base/result_window.py:140 msgid "Reset to Defaults" msgstr "重置为默认值" -#: qt/base/result_window.py:163 +#: qt/base/result_window.py:162 msgid "{} Results" msgstr "{} (结果)" -#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:170 cocoa/base/en.lproj/Localizable.strings:0 msgid "Dupes Only" msgstr "Dupes Only" -#: qt/base/result_window.py:172 +#: qt/base/result_window.py:171 msgid "Delta Values" msgstr "" -#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/base/result_window.py:285 cocoa/base/en.lproj/Localizable.strings:0 msgid "Select a file to save your results to" msgstr "将结果保存为..." @@ -553,16 +543,16 @@ msgstr "EXIF Timestamp" msgid "Match pictures of different dimensions" msgstr "匹配不同规格的图像" -#: qt/pe/result_window.py:19 qt/pe/result_window.py:24 +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 #: cocoa/base/en.lproj/Localizable.strings:0 msgid "Clear Picture Cache" msgstr "清空图片缓存" -#: qt/pe/result_window.py:25 cocoa/base/en.lproj/Localizable.strings:0 +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 msgid "Do you really want to remove all your cached picture analysis?" msgstr "确定要移除所有缓存图片?" -#: qt/pe/result_window.py:28 +#: qt/pe/result_window.py:29 msgid "Picture cache cleared." msgstr "图片缓存已清空。" diff --git a/qtlib/locale/cs/LC_MESSAGES/qtlib.po b/qtlib/locale/cs/LC_MESSAGES/qtlib.po index ee24907b..cfda09ac 100644 --- a/qtlib/locale/cs/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/cs/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -105,58 +97,10 @@ msgstr "" msgid "Clear List" msgstr "" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Přispět" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Zrušit" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/de/LC_MESSAGES/qtlib.po b/qtlib/locale/de/LC_MESSAGES/qtlib.po index b0688648..585a65d0 100644 --- a/qtlib/locale/de/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/de/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -105,58 +97,10 @@ msgstr "" msgid "Clear List" msgstr "" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname ist Fairware" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Spenden" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Registrieren" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Geben Sie ihren Schlüssel ein" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Geben Sie den empfangenen Schlüssel und die E-Mail-Adresse als Referenz für " -"den Kauf an, wenn Sie für $appname gespendet haben." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Registrierungsschlüssel:" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "Registrierte E-Mail:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Spenden" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Abbrechen" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Abschicken" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/es/LC_MESSAGES/qtlib.po b/qtlib/locale/es/LC_MESSAGES/qtlib.po index 9b7d728b..44dcadb8 100644 --- a/qtlib/locale/es/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/es/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "Acerca de {}" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "Versión {}" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "Copyright Hardcoded Software 2013" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "SIN REGISTRAR" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "Registrar" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "Informe de error" @@ -109,58 +101,10 @@ msgstr "Español" msgid "Clear List" msgstr "Limpiar lista" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname es Fairware" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Probar" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Introducir clave" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "Comprar" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "¿Fairware?" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Introduzca su clave de registro" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Escriba la clave que recibió al donar a $appname, así como el correo " -"electrónico que usó durante la compra." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Clave de registro" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "Correo electrónico de registro:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Donar" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Cancelar" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Enviar" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "Búsqueda..." + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/fr/LC_MESSAGES/qtlib.po b/qtlib/locale/fr/LC_MESSAGES/qtlib.po index 63bff653..c908be3f 100644 --- a/qtlib/locale/fr/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/fr/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -105,58 +97,10 @@ msgstr "" msgid "Clear List" msgstr "Vider la liste" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname est Fairware" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Essayer" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Enregistrer" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "Acheter" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Entrez votre clé" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Entrez la clé que vous avez reçue en contribuant à $appname, ainsi que le " -"courriel utilisé pour la contribution." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Clé d'enregistrement:" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "Courriel référence:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Contribuer" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Annuler" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Soumettre" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "Recherche..." + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/hy/LC_MESSAGES/qtlib.po b/qtlib/locale/hy/LC_MESSAGES/qtlib.po index 62039158..12186e3d 100755 --- a/qtlib/locale/hy/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/hy/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: hy\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "Հեղ. իրավունքը Hardcoded Software 2013" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "ՉԳՐԱՆՑՎԱԾ" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "Սխալի զեկույցը" @@ -106,58 +98,10 @@ msgstr "" msgid "Clear List" msgstr "Մաքրել ցանկը" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname-ը Fairware է" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Փորձել" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Գրել բանալին" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "Գնել" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "Fairware է՞" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Գրեք գրանցման բանալին" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Մուտքագրեք այն բանալին, որը ստացել եք $appname-ին աջակցելիս, քանզի Ձեր էլ. " -"հասցեն օգտագործվել է գնման ժամանակ:" - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Գրանցման բանալին." - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "Գրանցված էլ. հասցեն." - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Մասնակցել" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Չեղարկել" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Հաստատել" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/it/LC_MESSAGES/qtlib.po b/qtlib/locale/it/LC_MESSAGES/qtlib.po index 3b4eb2cc..ac346b86 100644 --- a/qtlib/locale/it/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/it/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -105,58 +97,10 @@ msgstr "" msgid "Clear List" msgstr "" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/nl/LC_MESSAGES/qtlib.po b/qtlib/locale/nl/LC_MESSAGES/qtlib.po index 519e8311..93032983 100644 --- a/qtlib/locale/nl/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/nl/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -105,56 +97,10 @@ msgstr "" msgid "Clear List" msgstr "" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname is Fairware" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Probeer" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Registreren" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "Koop" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Voer uw registratiesleutel in" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Registratiesleutel:" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "Geregistreerde E-Mail:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Bijdragen" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Annuleren" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Doorgeven" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/pt_BR/LC_MESSAGES/qtlib.po b/qtlib/locale/pt_BR/LC_MESSAGES/qtlib.po index c861b216..6cfb8b7c 100644 --- a/qtlib/locale/pt_BR/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/pt_BR/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "Direitos Autorais Hardcoded Software 2013" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "NÃO REGISTRADO" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "Relatório de Erro" @@ -108,58 +100,10 @@ msgstr "" msgid "Clear List" msgstr "Limpar Lista" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname é Fairware" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Testar" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Entrar Chave" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "Comprar" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "Fairware?" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Entre sua chave de registro" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Digite a chave que você recebeu ao contribuir com o $appname, assim como o " -"e-mail usado para a compra." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Chave de registro:" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "e-mail registrado:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Contribuir" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Cancelar" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Enviar" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "Buscar…" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/qtlib.pot b/qtlib/locale/qtlib.pot index 4b455fbf..ec2a8178 100644 --- a/qtlib/locale/qtlib.pot +++ b/qtlib/locale/qtlib.pot @@ -4,26 +4,18 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: utf-8\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -92,58 +84,14 @@ msgstr "" msgid "Spanish" msgstr "" +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" + #: qtlib/recent.py:53 msgid "Clear List" msgstr "" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "" - -#: qtlib/reg_submit_dialog.py:36 -msgid "Type the key you received when you contributed to $appname, as well as the e-mail used as a reference for the purchase." -msgstr "" - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" diff --git a/qtlib/locale/ru/LC_MESSAGES/qtlib.po b/qtlib/locale/ru/LC_MESSAGES/qtlib.po index 1d0081d7..45dfd0e8 100644 --- a/qtlib/locale/ru/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/ru/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "Copyright Hardcoded Software 2013" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "НЕЗАРЕГИСТРИРОВАННАЯ" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "Сообщение об ошибке" @@ -106,58 +98,10 @@ msgstr "" msgid "Clear List" msgstr "Очистить список" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname является Fairware" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Попробовать" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Ввод ключа" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "Купить" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "Fairware?" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Введите ваш регистрационный ключ" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Введите ключ, который вы получили при вкладе в $appname, а также адрес " -"электронной почты использованный для покупки." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Регистрационный ключ:" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "Зарегистрированный e-mail:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Поддержите" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Отменить" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Подтвердить" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/uk/LC_MESSAGES/qtlib.po b/qtlib/locale/uk/LC_MESSAGES/qtlib.po index 7e636bfd..2e9fc386 100755 --- a/qtlib/locale/uk/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/uk/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "Авторське право Hardcoded Software 2013" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "НЕЗАРЕЄСТРОВАНИЙ" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "Повідомлення про помилки" @@ -108,58 +100,10 @@ msgstr "" msgid "Clear List" msgstr "Очистити список" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname є Fairware" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "Спробувати" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "Введіть Ваш ключ" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "Купити" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "Fairware?" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "Введіть Ваш реєстраційний ключ" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" -"Введіть ключ, який Ви отримали зробивши внесок за $appname, а також адресу " -"електронної пошти, яка була вказана під час покупки." - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "Реєстраційний ключ:" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "Адреса електронної пошти:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "Зробити внесок" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "Скасувати" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "Надіслати" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "Шукати..." + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/vi/LC_MESSAGES/qtlib.po b/qtlib/locale/vi/LC_MESSAGES/qtlib.po index 011cd8c5..15f21087 100644 --- a/qtlib/locale/vi/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/vi/LC_MESSAGES/qtlib.po @@ -10,26 +10,18 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -106,56 +98,10 @@ msgstr "" msgid "Clear List" msgstr "" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "" - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr "" diff --git a/qtlib/locale/zh_CN/LC_MESSAGES/qtlib.po b/qtlib/locale/zh_CN/LC_MESSAGES/qtlib.po index 693ed227..81b505f1 100644 --- a/qtlib/locale/zh_CN/LC_MESSAGES/qtlib.po +++ b/qtlib/locale/zh_CN/LC_MESSAGES/qtlib.po @@ -9,26 +9,18 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: qtlib/about_box.py:31 +#: qtlib/about_box.py:28 msgid "About {}" msgstr "" -#: qtlib/about_box.py:51 +#: qtlib/about_box.py:48 msgid "Version {}" msgstr "" -#: qtlib/about_box.py:55 +#: qtlib/about_box.py:52 msgid "Copyright Hardcoded Software 2013" msgstr "" -#: qtlib/about_box.py:64 -msgid "UNREGISTERED" -msgstr "" - -#: qtlib/about_box.py:70 -msgid "Register" -msgstr "" - #: qtlib/error_report_dialog.py:38 msgid "Error Report" msgstr "" @@ -105,56 +97,10 @@ msgstr "" msgid "Clear List" msgstr "清空列表" -#: qtlib/reg_demo_dialog.py:35 -msgid "$appname is Fairware" -msgstr "$appname 是一款捐助型软件" - -#: qtlib/reg_demo_dialog.py:49 -msgid "Try" -msgstr "捐助" - -#: qtlib/reg_demo_dialog.py:52 -msgid "Enter Key" -msgstr "输入密钥" - -#: qtlib/reg_demo_dialog.py:55 -msgid "Buy" -msgstr "" - -#: qtlib/reg_demo_dialog.py:57 -msgid "Fairware?" -msgstr "" - -#: qtlib/reg_submit_dialog.py:31 -msgid "Enter your registration key" -msgstr "输入密钥" - -#: qtlib/reg_submit_dialog.py:36 -msgid "" -"Type the key you received when you contributed to $appname, as well as the " -"e-mail used as a reference for the purchase." -msgstr "当您捐助 $appname 后,请输入收到的注册密钥以及电子邮件,这将作为购买凭证。" - -#: qtlib/reg_submit_dialog.py:48 -msgid "Registration key:" -msgstr "密钥:" - -#: qtlib/reg_submit_dialog.py:51 -msgid "Registered e-mail:" -msgstr "电子邮箱:" - -#: qtlib/reg_submit_dialog.py:60 -msgid "Contribute" -msgstr "捐助" - -#: qtlib/reg_submit_dialog.py:71 -msgid "Cancel" -msgstr "取消" - -#: qtlib/reg_submit_dialog.py:80 -msgid "Submit" -msgstr "提交" - #: qtlib/search_edit.py:41 msgid "Search..." msgstr "" + +#: qtlib/preferences.py:29 +msgid "Vietnamese" +msgstr ""