mirror of
				https://github.com/arsenetar/dupeguru.git
				synced 2025-09-11 17:58:17 +00:00 
			
		
		
		
	Pushed some action confirmation logic down from GUI layers to the core.
This commit is contained in:
		
							parent
							
								
									cd9f54163b
								
							
						
					
					
						commit
						bf17eb715a
					
				| @ -237,4 +237,21 @@ http://www.hardcoded.net/licenses/bsd_license | ||||
| { | ||||
|     [HSFairwareReminder showDemoNagWithApp:[self model] prompt:prompt]; | ||||
| } | ||||
| 
 | ||||
| - (NSString *)selectDestFolderWithPrompt:(NSString *)prompt | ||||
| { | ||||
|     NSOpenPanel *op = [NSOpenPanel openPanel]; | ||||
|     [op setCanChooseFiles:NO]; | ||||
|     [op setCanChooseDirectories:YES]; | ||||
|     [op setCanCreateDirectories:YES]; | ||||
|     [op setAllowsMultipleSelection:NO]; | ||||
|     [op setTitle:prompt]; | ||||
|     if ([op runModal] == NSOKButton) { | ||||
|         return [[op filenames] objectAtIndex:0]; | ||||
|     } | ||||
|     else { | ||||
|         return nil; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @end | ||||
|  | ||||
| @ -75,17 +75,6 @@ http://www.hardcoded.net/licenses/bsd_license | ||||
| 
 | ||||
| - (void)sendMarkedToTrash:(BOOL)hardlinkDeleted | ||||
| { | ||||
|     NSInteger mark_count = [model getMarkCount]; | ||||
|     if (!mark_count) { | ||||
|         return; | ||||
|     } | ||||
|     NSString *msg = TR(@"You are about to send %d files to Trash. Continue?"); | ||||
|     if (hardlinkDeleted) { | ||||
|         msg = TR(@"You are about to send %d files to Trash (and hardlink them afterwards). Continue?"); | ||||
|     } | ||||
|     if ([Dialogs askYesNo:[NSString stringWithFormat:msg,mark_count]] == NSAlertSecondButtonReturn) { // NO | ||||
|         return; | ||||
|     } | ||||
|     NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; | ||||
|     [model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])]; | ||||
|     if (hardlinkDeleted) { | ||||
| @ -130,20 +119,10 @@ http://www.hardcoded.net/licenses/bsd_license | ||||
| 
 | ||||
| - (IBAction)copyMarked:(id)sender | ||||
| { | ||||
|     NSInteger mark_count = [model getMarkCount]; | ||||
|     if (!mark_count) | ||||
|         return; | ||||
|     NSOpenPanel *op = [NSOpenPanel openPanel]; | ||||
|     [op setCanChooseFiles:NO]; | ||||
|     [op setCanChooseDirectories:YES]; | ||||
|     [op setCanCreateDirectories:YES]; | ||||
|     [op setAllowsMultipleSelection:NO]; | ||||
|     [op setTitle:TR(@"Select a directory to copy marked files to")]; | ||||
|     if ([op runModal] == NSOKButton) { | ||||
|         NSString *directory = [[op filenames] objectAtIndex:0]; | ||||
|         NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; | ||||
|         [model copyOrMove:YES markedTo:directory recreatePath:n2b([ud objectForKey:@"recreatePathType"])]; | ||||
|     } | ||||
|     NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; | ||||
|     [model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])]; | ||||
|     [model setCopyMoveDestType:n2i([ud objectForKey:@"recreatePathType"])]; | ||||
|     [model copyMarked]; | ||||
| } | ||||
| 
 | ||||
| - (IBAction)deleteMarked:(id)sender | ||||
| @ -201,21 +180,10 @@ http://www.hardcoded.net/licenses/bsd_license | ||||
| 
 | ||||
| - (IBAction)moveMarked:(id)sender | ||||
| { | ||||
|     NSInteger mark_count = [model getMarkCount]; | ||||
|     if (!mark_count) | ||||
|         return; | ||||
|     NSOpenPanel *op = [NSOpenPanel openPanel]; | ||||
|     [op setCanChooseFiles:NO]; | ||||
|     [op setCanChooseDirectories:YES]; | ||||
|     [op setCanCreateDirectories:YES]; | ||||
|     [op setAllowsMultipleSelection:NO]; | ||||
|     [op setTitle:TR(@"Select a directory to move marked files to")]; | ||||
|     if ([op runModal] == NSOKButton) { | ||||
|         NSString *directory = [[op filenames] objectAtIndex:0]; | ||||
|         NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; | ||||
|         [model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])]; | ||||
|         [model copyOrMove:NO markedTo:directory recreatePath:n2b([ud objectForKey:@"recreatePathType"])]; | ||||
|     } | ||||
|     NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; | ||||
|     [model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])]; | ||||
|     [model setCopyMoveDestType:n2i([ud objectForKey:@"recreatePathType"])]; | ||||
|     [model moveMarked]; | ||||
| } | ||||
| 
 | ||||
| - (IBAction)openClicked:(id)sender | ||||
|  | ||||
| @ -4,16 +4,12 @@ | ||||
| 
 | ||||
| "Select a results file to load" = "Select a results file to load"; | ||||
| "You have unsaved results, do you really want to quit?" = "You have unsaved results, do you really want to quit?"; | ||||
| "Select a directory to copy marked files to" = "Select a directory to copy marked files to"; | ||||
| "Select a directory to move marked files to" = "Select a directory to move marked files to"; | ||||
| "Select a file to save your results to" = "Select a file to save your results to"; | ||||
| "Select a folder to add to the scanning list" = "Select a folder to add to the scanning list"; | ||||
| "You have unsaved results, do you really want to continue?" = "You have unsaved results, do you really want to continue?"; | ||||
| "'%@' already is in the list." = "'%@' already is in the list."; | ||||
| "'%@' does not exist." = "'%@' does not exist."; | ||||
| "The name '%@' already exists." = "The name '%@' already exists."; | ||||
| "You are about to send %d files to Trash. Continue?" = "You are about to send %d files to Trash. Continue?"; | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). Continue?" = "You are about to send %d files to Trash (and hardlink them afterwards). Continue?"; | ||||
| "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."; | ||||
| "Your iTunes Library contains %d dead tracks ready to be removed. Continue?" = "Your iTunes Library contains %d dead tracks ready to be removed. Continue?"; | ||||
| "You have no dead tracks in your iTunes Library" = "You have no dead tracks in your iTunes Library"; | ||||
|  | ||||
| @ -22,6 +22,7 @@ JOBID2TITLE = { | ||||
| class DupeGuruView(FairwareView): | ||||
|     def askYesNoWithPrompt_(self, prompt: str) -> bool: pass | ||||
|     def showProblemDialog(self): pass | ||||
|     def selectDestFolderWithPrompt_(self, prompt: str) -> str: pass | ||||
| 
 | ||||
| class PyDupeGuruBase(PyFairware): | ||||
|     FOLLOW_PROTOCOLS = ['Worker'] | ||||
| @ -107,8 +108,11 @@ class PyDupeGuruBase(PyFairware): | ||||
|     def makeSelectedReference(self): | ||||
|         self.model.make_selected_reference() | ||||
|      | ||||
|     def copyOrMove_markedTo_recreatePath_(self, copy: bool, destination: str, recreate_path: bool): | ||||
|         self.model.copy_or_move_marked(copy, destination, recreate_path) | ||||
|     def copyMarked(self): | ||||
|         self.model.copy_or_move_marked(copy=True) | ||||
|      | ||||
|     def moveMarked(self): | ||||
|         self.model.copy_or_move_marked(copy=False) | ||||
|      | ||||
|     def openSelected(self): | ||||
|         self.model.open_selected() | ||||
| @ -126,9 +130,6 @@ class PyDupeGuruBase(PyFairware): | ||||
|         self.model.invoke_custom_command() | ||||
|      | ||||
|     #---Information | ||||
|     def getMarkCount(self) -> int: | ||||
|         return self.model.results.mark_count | ||||
|      | ||||
|     def resultsAreModified(self) -> bool: | ||||
|         return self.model.results.is_modified | ||||
|      | ||||
| @ -145,6 +146,9 @@ class PyDupeGuruBase(PyFairware): | ||||
|     def setIgnoreHardlinkMatches_(self, ignore_hardlink_matches: bool): | ||||
|         self.model.options['ignore_hardlink_matches'] = ignore_hardlink_matches | ||||
|      | ||||
|     def setCopyMoveDestType_(self, copymove_dest_type: int): | ||||
|         self.model.options['copymove_dest_type'] = copymove_dest_type | ||||
|      | ||||
|     #---Worker | ||||
|     def getJobProgress(self) -> object: # NSNumber | ||||
|         try: | ||||
| @ -206,3 +210,7 @@ class PyDupeGuruBase(PyFairware): | ||||
|     def show_problem_dialog(self): | ||||
|         self.callback.showProblemDialog() | ||||
|      | ||||
|     @dontwrap | ||||
|     def select_dest_folder(self, prompt): | ||||
|         return self.callback.selectDestFolderWithPrompt_(prompt) | ||||
|      | ||||
|  | ||||
							
								
								
									
										27
									
								
								core/app.py
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								core/app.py
									
									
									
									
									
								
							| @ -86,6 +86,7 @@ class DupeGuru(RegistrableApplication, Broadcaster): | ||||
|     # ask_yes_no(prompt) --> bool | ||||
|     # show_results_window() | ||||
|     # show_problem_dialog() | ||||
|     # select_dest_folder(prompt: str) --> str | ||||
|      | ||||
|     # in fairware prompts, we don't mention the edition, it's too long. | ||||
|     PROMPT_NAME = "dupeGuru" | ||||
| @ -107,6 +108,7 @@ class DupeGuru(RegistrableApplication, Broadcaster): | ||||
|             'escape_filter_regexp': True, | ||||
|             'clean_empty_dirs': False, | ||||
|             'ignore_hardlink_matches': False, | ||||
|             'copymove_dest_type': DestType.Relative, | ||||
|         } | ||||
|         self.selected_dupes = [] | ||||
|         self.details_panel = DetailsPanel(self) | ||||
| @ -302,23 +304,40 @@ class DupeGuru(RegistrableApplication, Broadcaster): | ||||
|             smart_move(source_path, dest_path) | ||||
|             self.clean_empty_dirs(source_path[:-1]) | ||||
|      | ||||
|     def copy_or_move_marked(self, copy, destination, recreate_path): | ||||
|     def copy_or_move_marked(self, copy): | ||||
|         def do(j): | ||||
|             def op(dupe): | ||||
|                 j.add_progress() | ||||
|                 self.copy_or_move(dupe, copy, destination, recreate_path) | ||||
|                 self.copy_or_move(dupe, copy, destination, desttype) | ||||
|              | ||||
|             j.start_job(self.results.mark_count) | ||||
|             self.results.perform_on_marked(op, not copy) | ||||
|          | ||||
|         if not self._check_demo(): | ||||
|             return | ||||
|         jobid = JobType.Copy if copy else JobType.Move | ||||
|         self.view.start_job(jobid, do) | ||||
|         if not self.results.mark_count: | ||||
|             self.view.show_message(MSG_NO_MARKED_DUPES) | ||||
|             return | ||||
|         opname = tr("copy") if copy else tr("move") | ||||
|         prompt = tr("Select a directory to {} marked files to").format(opname) | ||||
|         destination = self.view.select_dest_folder(prompt) | ||||
|         if destination: | ||||
|             desttype = self.options['copymove_dest_type'] | ||||
|             jobid = JobType.Copy if copy else JobType.Move | ||||
|             self.view.start_job(jobid, do) | ||||
|      | ||||
|     def delete_marked(self, replace_with_hardlinks=False): | ||||
|         if not self._check_demo(): | ||||
|             return | ||||
|         if not self.results.mark_count: | ||||
|             self.view.show_message(MSG_NO_MARKED_DUPES) | ||||
|             return | ||||
|         if replace_with_hardlinks: | ||||
|             msg = tr("You are about to send %d files to Trash (and hardlink them afterwards). Continue?") | ||||
|         else: | ||||
|             msg = tr("You are about to send %d files to Trash. Continue?") | ||||
|         if not self.view.ask_yes_no(msg % self.results.mark_count): | ||||
|             return | ||||
|         self.view.start_job(JobType.Delete, self._do_delete, args=[replace_with_hardlinks]) | ||||
|      | ||||
|     def export_to_xhtml(self): | ||||
|  | ||||
| @ -11,63 +11,83 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "You cannot delete, move or copy more than 10 duplicates at once in demo mode." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| msgid "All selected %d matches are going to be ignored in all subsequent scans. Continue?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "You are about to send %d files to Trash (and hardlink them afterwards). Continue?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:376 | ||||
| msgid "You have no custom command set up. Set it up in your preferences." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "" | ||||
| 
 | ||||
|  | ||||
| @ -2,25 +2,25 @@ | ||||
| msgid "" | ||||
| msgstr "Content-Type: text/plain; charset=utf-8\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "Shromažďuji prohlížené soubory" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "Vybrané adresáře neobsahují žádné soubory vhodné k prohledávání." | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s (%d vyřazeno)" | ||||
| 
 | ||||
| @ -120,23 +120,23 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "Nebyli nalezeny žádné duplicity." | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| msgid "" | ||||
| "All selected %d matches are going to be ignored in all subsequent scans. " | ||||
| "Continue?" | ||||
| @ -144,23 +144,47 @@ msgstr "" | ||||
| "Všech %d vybraných shod bude v následujících hledáních ignorováno. " | ||||
| "Pokračovat?" | ||||
| 
 | ||||
| #: core/app.py:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "Opravdu chcete odstranit všech %d položek ze seznamu výjimek?" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| 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:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| 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:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Chystáte se vyhodit %d souborů do koše (a následně na ně vytvořit " | ||||
| "hardlinky). Pokračovat?" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Chystáte se vyhodit %d souborů do koše. Pokračovat?" | ||||
|  | ||||
| @ -50,19 +50,7 @@ msgstr "" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Select a directory to {} marked files to" | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -152,7 +140,7 @@ msgstr "Vyberte soubor s výsledky, který chcete nahrát" | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "" | ||||
| 
 | ||||
| @ -398,27 +386,7 @@ msgstr "Výchozí nastavení" | ||||
| msgid "{} Results" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Chystáte se vyhodit %d souborů do koše. Pokračovat?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Chystáte se vyhodit %d souborů do koše (a následně na ně vytvořit " | ||||
| "hardlinky). Pokračovat?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a file to save your results to" | ||||
| msgstr "Vyberte soubor pro uložení výsledků" | ||||
| 
 | ||||
| @ -836,14 +804,6 @@ msgstr "" | ||||
| msgid "The iPhoto application couldn't be found." | ||||
| msgstr "Nelze najít aplikaci iPhoto." | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Select a directory to copy marked files to" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@' already is in the list." | ||||
|  | ||||
| @ -2,25 +2,25 @@ | ||||
| msgid "" | ||||
| msgstr "Content-Type: text/plain; charset=utf-8\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "Sammle Dateien zum Scannen" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "Der ausgewählte Ordner enthält keine scannbare Dateien." | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s (%d verworfen)" | ||||
| 
 | ||||
| @ -120,46 +120,70 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "Keine Duplikate gefunden." | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| 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:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "Möchten Sie wirklich alle %d Einträge aus der Ignorier-Liste löschen?" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "Ignorier-Liste geleert." | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| 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:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "%d Dateien werden aus der Ergebnisliste entfernt. Fortfahren?" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "kopieren" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "verschieben" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Wählen sie einen Ordner zum {} der ausgewählten Dateien" | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "%d Dateien werden gelöscht und mit physikalischen Verknüpfungen ersetzt. " | ||||
| "Fortfahren?" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "%d Dateien werden in den Mülleimer zu verschoben. Fortfahren?" | ||||
|  | ||||
| @ -50,19 +50,7 @@ msgstr "Auf Updates überprüfen" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "Debug Log öffnen" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "kopieren" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "verschieben" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Wählen sie einen Ordner zum {} der ausgewählten Dateien" | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -152,7 +140,7 @@ msgstr "Wählen Sie eine Ergebnisliste zum Laden aus." | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "Alle Dateien (*.*)" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "dupeGuru Ergebnisse (*.dupeguru)" | ||||
| 
 | ||||
| @ -407,27 +395,7 @@ msgstr "Voreinstellungen" | ||||
| msgid "{} Results" | ||||
| msgstr "{} (Ergebnisse)" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "Lösche Duplikate" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "%d Dateien werden in den Mülleimer zu verschoben. Fortfahren?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "Ersetze Duplikate mit physikalischer Verknüpfung" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "%d Dateien werden gelöscht und mit physikalischen Verknüpfungen ersetzt. " | ||||
| "Fortfahren?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a file to save your results to" | ||||
| msgstr "Datei zum Speichern der Ergebnisliste auswählen." | ||||
| 
 | ||||
| @ -836,14 +804,6 @@ msgstr "" | ||||
| msgid "The iPhoto application couldn't be found." | ||||
| msgstr "The iPhoto application couldn't be found." | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Select a directory to copy marked files to" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@' already is in the list." | ||||
|  | ||||
| @ -2,25 +2,25 @@ | ||||
| msgid "" | ||||
| msgstr "Content-Type: text/plain; charset=utf-8\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "Collecte des fichiers à scanner" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "Les dossiers sélectionnés ne contiennent pas de fichiers valides." | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s (%d hors-groupe)" | ||||
| 
 | ||||
| @ -120,47 +120,70 @@ msgstr "Aucun doublon marqué. Rien à faire." | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "Aucun doublon sélectionné. Rien à faire." | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "Aucun doublon trouvé." | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "Tous les fichiers marqués ont été copiés correctement." | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "Tous les fichiers marqués ont été déplacés correctement." | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "Tous les fichiers marqués ont été correctement envoyés à la corbeille." | ||||
| msgstr "" | ||||
| "Tous les fichiers marqués ont été correctement envoyés à la corbeille." | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| 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:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "" | ||||
| "Voulez-vous vider la liste de fichiers ignorés des %d items qu'elle " | ||||
| "contient?" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "La liste de doublons ignorés a été vidée." | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| 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:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "%d fichiers seront retirés des résultats. Continuer?" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "La liste est vide. Il n'y a rien à vider" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "copier" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "déplacer" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Sélectionnez un dossier vers lequel {} les fichiers marqués." | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "%d fichiers seront envoyés à la corbeille. Continuer?" | ||||
|  | ||||
| @ -50,19 +50,7 @@ msgstr "Vérifier les mises à jour" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "Ouvrir logs de déboguage" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "copier" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "déplacer" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Sélectionnez un dossier vers lequel {} les fichiers marqués." | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -152,7 +140,7 @@ msgstr "Sélectionnez un fichier résultats à charger" | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "Tout les fichiers (*.*)" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "Résultats dupeGuru (*.dupeguru)" | ||||
| 
 | ||||
| @ -409,26 +397,7 @@ msgstr "Réinitialiser" | ||||
| msgid "{} Results" | ||||
| msgstr "{} (Résultats)" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "Effacement de doublons" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "%d fichiers seront envoyés à la corbeille. Continuer?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "Hardlinking de doublons" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 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" | ||||
| 
 | ||||
| @ -846,14 +815,6 @@ msgstr "" | ||||
| msgid "The iPhoto application couldn't be found." | ||||
| msgstr "iPhoto n'a pas pu être trouvée dans vos applications." | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Sélectionnez un dossier vers lequel copier les fichiers" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "Sélectionnez un dossier vers lequel déplacer les fichiers" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@' est déjà dans la liste." | ||||
|  | ||||
| @ -13,12 +13,12 @@ msgstr "" | ||||
| "X-Poedit-Language: Armenian\n" | ||||
| "X-Poedit-SourceCharset: utf-8\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| "միաժամանակ հնարավոր է ջնջել, տեղափոխել կամ պատճենել միայն 10 օրինակներ" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| @ -26,15 +26,15 @@ msgstr "" | ||||
| "Չեք կարող ջնջել, տեղափձոխել կամ պատճենել ավելի քան 10 օրինակներ փորձնական " | ||||
| "եղանակում:" | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "Հավաքվում են ֆայլեր՝ ստուգելու համար" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "Ընտրված թղթապանակները պարունակում են չստուգվող ֆայլ:" | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s (%d անպիտան)" | ||||
| 
 | ||||
| @ -134,45 +134,67 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "Կրկնօրինակներ չկան:" | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "Բոլոր նշված ֆայլերը հաջողությամբ պատճենվել են:" | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "Բոլոր նշված ֆայլերը հաջողությամբ տեղափոխվել են:" | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "Բոլոր նշված ֆայլերը հաջողությամբ Ջնջվել են:" | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| msgid "" | ||||
| "All selected %d matches are going to be ignored in all subsequent scans. " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Ընտրված %d համընկնումները կանտեսվեն հետագա բոլոր ստուգումներից: Շարունակե՞լ:" | ||||
| 
 | ||||
| #: core/app.py:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "Ցանկանու՞մ եք հեռացնել բոլոր %d ֆայլերը անտեսումների ցանկից:" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "Անտեսումների ցանկը մաքրվեց:" | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| msgid "You have no custom command set up. Set it up in your preferences." | ||||
| msgstr "Դուք չեք կատարել Հրամանի ընտրություն: Կատարեք այն կարգավորումներում:" | ||||
| 
 | ||||
| #: core/app.py:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "Դուք պատրաստվում եք ջնջելու %d ֆայլեր: Շարունակե՞լ:" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "պատճենել" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "տեղափոխել" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Ընտրել թղթապանակ՝ {} նշված ֆայլերի համար" | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "Դուք ուղարկում եք %d ֆայլերը Աղբարկղ: Շարունակե՞լ:" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "%d ֆայլերը տեղափոխվելու են Աղբարկղ: Շարունակե՞լ:" | ||||
|  | ||||
| @ -85,19 +85,7 @@ msgstr "Ստուգել թարմացումները" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "Բացել Սխալների մատյանը" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "պատճենել" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "տեղափոխել" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Ընտրել թղթապանակ՝ {} նշված ֆայլերի համար" | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -187,7 +175,7 @@ msgstr "Ընտրեք արդյունքի ֆայլը՝ բացելու համար" | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "Բոլոր ֆայլերը  (*.*)" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "dupeGuru-ի արդյունքները (*.dupeguru)" | ||||
| 
 | ||||
| @ -442,25 +430,7 @@ msgstr "Ետարկել ծրագրայինի" | ||||
| msgid "{} Results" | ||||
| msgstr "{} Արդյունքներ" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "Ջնջել կրկնօրինակները" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "%d ֆայլերը տեղափոխվելու են Աղբարկղ: Շարունակե՞լ:" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "Ջնջել և ձեռքի կրկնօրինակները" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "Դուք ուղարկում եք %d ֆայլերը Աղբարկղ: Շարունակե՞լ:" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a file to save your results to" | ||||
| msgstr "Ընտրեք ֆայլը՝ պահպանելու արդյունքները՝" | ||||
| 
 | ||||
| @ -615,14 +585,6 @@ msgstr "Բացել ֆայլից..." | ||||
| msgid "Reset to Default" | ||||
| msgstr "Ետարկել ծրագրայինի" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Ընտրել թղթապանակ՝ պատճենելու համար ֆայլերը՝" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "Ընտրել թղթապանակ՝ տեղափոխելու համար ֆայլերը՝" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@'-ը արդեն առկա է ցանկում:" | ||||
|  | ||||
| @ -2,25 +2,25 @@ | ||||
| msgid "" | ||||
| msgstr "Content-Type: text/plain; charset=utf-8\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "Raccolta file da scansionare" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "Le cartelle selezionate non contengono file da scansionare." | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s (%d scartati)" | ||||
| 
 | ||||
| @ -121,23 +121,23 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "Non sono stati trovati dei duplicati." | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "Tutti i file marcati sono stati copiati correttamente." | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "Tutti i file marcati sono stati spostati correttamente." | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "Tutti i file marcati sono stati inviati nel cestino." | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| msgid "" | ||||
| "All selected %d matches are going to be ignored in all subsequent scans. " | ||||
| "Continue?" | ||||
| @ -145,26 +145,49 @@ msgstr "" | ||||
| "Tutti i %d elementi che coincidono verranno ignorati in tutte le scansioni " | ||||
| "successive. Continuare?" | ||||
| 
 | ||||
| #: core/app.py:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "" | ||||
| "Vuoi veramente rimuovere tutti i %d elementi dalla lista dei file da " | ||||
| "ignorare?" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| 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:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "Stai per rimuovere %d file dai risultati. Continuare?" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Stai per inviare %d file nel cestino (compresi gli hardlink). Continuare?" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Stai per inviare %d file nel cestino. Continuare?" | ||||
|  | ||||
| @ -74,19 +74,7 @@ msgstr "" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -178,7 +166,7 @@ msgstr "Seleziona un risultato (file) da caricare" | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "" | ||||
| 
 | ||||
| @ -435,26 +423,7 @@ msgstr "Ripristina impostazioni predefinite" | ||||
| msgid "{} Results" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Stai per inviare %d file nel cestino. Continuare?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Stai per inviare %d file nel cestino (compresi gli hardlink). Continuare?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 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" | ||||
| 
 | ||||
| @ -851,14 +820,6 @@ msgstr "Rimuovi le cartelle vuote dopo aver cancellato e spostato" | ||||
| msgid "dupeGuru PE Preferences" | ||||
| msgstr "Preferenze di dupeGuru PE" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Seleziona una cartella in cui copiare i file marcati" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "Seleziona una cartella in cui spostare i file marcati" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@' è già nella lista." | ||||
|  | ||||
| @ -12,12 +12,12 @@ msgstr "" | ||||
| "X-Poedit-Country: RUSSIAN FEDERATION\n" | ||||
| "X-Poedit-Language: Russian\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| "сможете только для удаления, перемещения или копирования 10 копий сразу" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| @ -25,15 +25,15 @@ msgstr "" | ||||
| "Вы не можете удалять, перемещать или копировать более 10 дубликатов сразу в " | ||||
| "демонстрационном режиме." | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "Сбор файлов для сканирования" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "Выбранных директорий не содержат сканируемых файлов." | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s. (%d отменено)" | ||||
| 
 | ||||
| @ -133,23 +133,23 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "Дубликаты не найдены." | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "Все выбранные файлы были скопированы успешно." | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "Все выбранные файлы были перемещены успешно." | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "Все выбранные файлы были успешно отправлены в корзину." | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| msgid "" | ||||
| "All selected %d matches are going to be ignored in all subsequent scans. " | ||||
| "Continue?" | ||||
| @ -157,24 +157,48 @@ msgstr "" | ||||
| "Все выбранные %d матчей будут игнорироваться во всех последующих проверок. " | ||||
| "Продолжить?" | ||||
| 
 | ||||
| #: core/app.py:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "Вы действительно хотите удалить все элементы %d из черного списка?" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "Черный список очищается." | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| msgid "You have no custom command set up. Set it up in your preferences." | ||||
| msgstr "" | ||||
| "У вас нет пользовательской команды создали. Установите его в ваших " | ||||
| "предпочтениях." | ||||
| 
 | ||||
| #: core/app.py:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "Вы собираетесь удалить файлы %d из результата поиска. Продолжить?" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "копия" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "перемещение" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Выберите каталог на {} отмеченные файлы" | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Вы собираетесь отправить%d файлы в корзину (и жесткую них позже). " | ||||
| "Продолжить?" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Вы собираетесь отправить %d файлы в корзину. Продолжить?" | ||||
|  | ||||
| @ -84,19 +84,7 @@ msgstr "Проверить обновления" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "Открыть журнал Debug" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "копия" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "перемещение" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Выберите каталог на {} отмеченные файлы" | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -186,7 +174,7 @@ msgstr "Выберите файл результатов для загрузки | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "Все файлы (*.*)" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "dupeGuru результаты (*. dupeguru)" | ||||
| 
 | ||||
| @ -445,27 +433,7 @@ msgstr "Восстановить значения по умолчанию" | ||||
| msgid "{} Results" | ||||
| msgstr "{} Результаты" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "Удаление дубликатов" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Вы собираетесь отправить %d файлы в корзину. Продолжить?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "Удалить и жесткая ссылку дубликатов" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Вы собираетесь отправить%d файлы в корзину (и жесткую них позже). " | ||||
| "Продолжить?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a file to save your results to" | ||||
| msgstr "Выберите файл, чтобы сохранить ваши результаты" | ||||
| 
 | ||||
| @ -620,14 +588,6 @@ msgstr "Загрузить из файла ..." | ||||
| msgid "Reset to Default" | ||||
| msgstr "Восстановить значения по умолчанию" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Выберите каталог для копирования отмеченные файлов" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "Выберите каталог, чтобы переместить отмеченные файлы" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@' Уже есть в списке. " | ||||
|  | ||||
| @ -97,19 +97,7 @@ msgstr "" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -197,7 +185,7 @@ msgstr "" | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "" | ||||
| 
 | ||||
| @ -455,25 +443,7 @@ msgstr "" | ||||
| msgid "Delta Values" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a file to save your results to" | ||||
| msgstr "" | ||||
| 
 | ||||
| @ -628,14 +598,6 @@ msgstr "" | ||||
| msgid "Reset to Default" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "" | ||||
|  | ||||
| @ -12,12 +12,12 @@ msgstr "" | ||||
| "X-Poedit-Country: UKRAINE\n" | ||||
| "X-Poedit-Language: Ukrainian\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| "зможете тільки для видалення, переміщення або копіювання 10 копій відразу" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| @ -25,15 +25,15 @@ msgstr "" | ||||
| "Ви не можете видаляти, переміщати або копіювати більше 10 дублікатів відразу" | ||||
| " в демонстраційному режимі." | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "Збір файлів для сканування" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "Вибраних директорій не містять сканованих файлів." | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s (%d відкидаються)" | ||||
| 
 | ||||
| @ -133,23 +133,23 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "Ні дублікати знайдені." | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "Всі вибрані файли були скопійовані успішно." | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "Всі вибрані файли були переміщені успішно." | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "Всі вибрані файли були успішно відправлені в корзину." | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| msgid "" | ||||
| "All selected %d matches are going to be ignored in all subsequent scans. " | ||||
| "Continue?" | ||||
| @ -157,24 +157,48 @@ msgstr "" | ||||
| "Всі вибрані %d матчів будуть ігноруватися у всіх наступних перевірок. " | ||||
| "Продовжити?" | ||||
| 
 | ||||
| #: core/app.py:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "Ви дійсно хочете видалити всі елементи %d з чорного списку?" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "Чорний список очищається." | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| msgid "You have no custom command set up. Set it up in your preferences." | ||||
| msgstr "" | ||||
| "У вас немає користувальницької команди створили. Встановіть його в ваші " | ||||
| "уподобання." | ||||
| 
 | ||||
| #: core/app.py:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "Ви збираєтеся видалити файли %d результату пошуку. Продовжити?" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "копія" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "переміщати" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Виберіть каталог на {} відмічені файли" | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Ви збираєтеся відправити %d файли до кошика (і жорстку них пізніше). " | ||||
| "Продовжити?" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Ви збираєтеся відправити %d файли в корзину. Продовжити?" | ||||
|  | ||||
| @ -84,19 +84,7 @@ msgstr "Перевірити оновлення" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "Відкрити журнал Debug" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "копія" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "переміщати" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "Виберіть каталог на {} відмічені файли" | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -186,7 +174,7 @@ msgstr "Виберіть файл результатів для завантаж | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "Всі файли (*.*)" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "dupeGuru Результати (*.dupeguru) " | ||||
| 
 | ||||
| @ -441,27 +429,7 @@ msgstr "Відновити налаштування за замовчуванн | ||||
| msgid "{} Results" | ||||
| msgstr "{} Результати" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "Видалення дублікатів" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "Ви збираєтеся відправити %d файли в корзину. Продовжити?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "Видалити і жорстку дублікатів" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "" | ||||
| "Ви збираєтеся відправити %d файли до кошика (і жорстку них пізніше). " | ||||
| "Продовжити?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a file to save your results to" | ||||
| msgstr "Виберіть файл, щоб зберегти ваші результати" | ||||
| 
 | ||||
| @ -616,14 +584,6 @@ msgstr "Завантажити з файлу ..." | ||||
| msgid "Reset to Default" | ||||
| msgstr "Відновити налаштування за замовчуванням" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Виберіть каталог для копіювання відмічені файли" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "Виберіть каталог, щоб перемістити відмічені файли" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@' Вже є в списку." | ||||
|  | ||||
| @ -2,25 +2,25 @@ | ||||
| msgid "" | ||||
| msgstr "Content-Type: text/plain; charset=utf-8\n" | ||||
| 
 | ||||
| #: core/app.py:92 | ||||
| #: core/app.py:93 | ||||
| msgid "will only be able to delete, move or copy 10 duplicates at once" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:229 | ||||
| #: core/app.py:231 | ||||
| msgid "" | ||||
| "You cannot delete, move or copy more than 10 duplicates at once in demo " | ||||
| "mode." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:489 | ||||
| #: core/app.py:508 | ||||
| msgid "Collecting files to scan" | ||||
| msgstr "收集文件以备扫描" | ||||
| 
 | ||||
| #: core/app.py:500 | ||||
| #: core/app.py:519 | ||||
| msgid "The selected directories contain no scannable file." | ||||
| msgstr "所选文件夹中不包含可供扫描的文件。" | ||||
| 
 | ||||
| #: core/app.py:539 | ||||
| #: core/app.py:558 | ||||
| msgid "%s (%d discarded)" | ||||
| msgstr "%s (%d 无效)" | ||||
| 
 | ||||
| @ -120,44 +120,66 @@ msgstr "" | ||||
| msgid "There are no selected duplicates. Nothing has been done." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:187 | ||||
| #: core/app.py:189 | ||||
| msgid "No duplicates found." | ||||
| msgstr "没有找到重复文件。" | ||||
| 
 | ||||
| #: core/app.py:200 | ||||
| #: core/app.py:202 | ||||
| msgid "All marked files were copied sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:201 | ||||
| #: core/app.py:203 | ||||
| msgid "All marked files were moved sucessfully." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:202 | ||||
| #: core/app.py:204 | ||||
| msgid "All marked files were sucessfully sent to Trash." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:250 | ||||
| #: core/app.py:252 | ||||
| msgid "" | ||||
| "All selected %d matches are going to be ignored in all subsequent scans. " | ||||
| "Continue?" | ||||
| msgstr "目前已选的 %d 个匹配项将在后续的扫描中被忽略。继续吗?" | ||||
| 
 | ||||
| #: core/app.py:278 | ||||
| #: core/app.py:280 | ||||
| msgid "Do you really want to remove all %d items from the ignore list?" | ||||
| msgstr "确定要从忽略列表中移除 %d 项吗?" | ||||
| 
 | ||||
| #: core/app.py:281 | ||||
| #: core/app.py:283 | ||||
| msgid "Ignore list cleared." | ||||
| msgstr "忽略列表已清空。" | ||||
| 
 | ||||
| #: core/app.py:357 | ||||
| #: core/app.py:376 | ||||
| msgid "You have no custom command set up. Set it up in your preferences." | ||||
| msgstr "你没有设定自定义命令。请在首选项中进行设定。" | ||||
| 
 | ||||
| #: core/app.py:442 core/app.py:453 | ||||
| #: core/app.py:461 core/app.py:472 | ||||
| msgid "You are about to remove %d files from results. Continue?" | ||||
| msgstr "你将从结果中移除 %d 个文件。继续吗?" | ||||
| 
 | ||||
| #: core/app.py:275 | ||||
| #: core/app.py:277 | ||||
| msgid "The ignore list is already empty. Nothing to clear." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "copy" | ||||
| msgstr "复制" | ||||
| 
 | ||||
| #: core/app.py:321 | ||||
| msgid "move" | ||||
| msgstr "移动" | ||||
| 
 | ||||
| #: core/app.py:322 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "选择一个文件夹将标记的 {} 个文件进行..." | ||||
| 
 | ||||
| #: core/app.py:336 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "即将有 %d 个文件被移动垃圾桶并删除硬盘上的文件。继续吗?" | ||||
| 
 | ||||
| #: core/app.py:338 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "即将有 %d 个文件被移到回收站。继续吗?" | ||||
|  | ||||
| @ -50,19 +50,7 @@ msgstr "检查更新" | ||||
| msgid "Open Debug Log" | ||||
| msgstr "打开调试记录" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "copy" | ||||
| msgstr "复制" | ||||
| 
 | ||||
| #: qt/base/app.py:132 | ||||
| msgid "move" | ||||
| msgstr "移动" | ||||
| 
 | ||||
| #: qt/base/app.py:133 | ||||
| msgid "Select a directory to {} marked files to" | ||||
| msgstr "选择一个文件夹将标记的 {} 个文件进行..." | ||||
| 
 | ||||
| #: qt/base/app.py:235 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "A previous action is still hanging in there. You can't start a new one yet. " | ||||
| "Wait a few seconds, then try again." | ||||
| @ -150,7 +138,7 @@ msgstr "选择一个结果文件并载入" | ||||
| msgid "All Files (*.*)" | ||||
| msgstr "所有文件 (*.*)" | ||||
| 
 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:317 | ||||
| #: qt/base/directories_dialog.py:205 qt/base/result_window.py:305 | ||||
| msgid "dupeGuru Results (*.dupeguru)" | ||||
| msgstr "dupeGuru结果 (*.dupeguru)" | ||||
| 
 | ||||
| @ -403,25 +391,7 @@ msgstr "重置为默认值" | ||||
| msgid "{} Results" | ||||
| msgstr "{} (结果)" | ||||
| 
 | ||||
| #: qt/base/result_window.py:239 | ||||
| msgid "Delete duplicates" | ||||
| msgstr "删除重复文件" | ||||
| 
 | ||||
| #: qt/base/result_window.py:240 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "You are about to send %d files to Trash. Continue?" | ||||
| msgstr "即将有 %d 个文件被移到回收站。继续吗?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:262 | ||||
| msgid "Delete and hardlink duplicates" | ||||
| msgstr "删除及硬连接重复文件" | ||||
| 
 | ||||
| #: qt/base/result_window.py:263 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "" | ||||
| "You are about to send %d files to Trash (and hardlink them afterwards). " | ||||
| "Continue?" | ||||
| msgstr "即将有 %d 个文件被移动垃圾桶并删除硬盘上的文件。继续吗?" | ||||
| 
 | ||||
| #: qt/base/result_window.py:316 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| #: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a file to save your results to" | ||||
| msgstr "将结果保存为..." | ||||
| 
 | ||||
| @ -839,14 +809,6 @@ msgstr "" | ||||
| msgid "The iPhoto application couldn't be found." | ||||
| msgstr "The iPhoto application couldn't be found." | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to copy marked files to" | ||||
| msgstr "Select a directory to copy marked files to" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "Select a directory to move marked files to" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: cocoa/base/en.lproj/Localizable.strings:0 | ||||
| msgid "'%@' already is in the list." | ||||
| msgstr "'%@' already is in the list." | ||||
|  | ||||
| @ -123,21 +123,12 @@ class DupeGuru(QObject): | ||||
|         self.model.options['escape_filter_regexp'] = self.prefs.use_regexp | ||||
|         self.model.options['clean_empty_dirs'] = self.prefs.remove_empty_folders | ||||
|         self.model.options['ignore_hardlink_matches'] = self.prefs.ignore_hardlink_matches | ||||
|         self.model.options['copymove_dest_type'] = self.prefs.destination_type | ||||
|      | ||||
|     #--- Public | ||||
|     def add_selected_to_ignore_list(self): | ||||
|         self.model.add_selected_to_ignore_list() | ||||
|      | ||||
|     def copy_or_move_marked(self, copy): | ||||
|         opname = tr("copy") if copy else tr("move") | ||||
|         title = tr("Select a directory to {} marked files to").format(opname) | ||||
|         flags = QFileDialog.ShowDirsOnly | ||||
|         destination = str(QFileDialog.getExistingDirectory(self.resultWindow, title, '', flags)) | ||||
|         if not destination: | ||||
|             return | ||||
|         recreate_path = self.prefs.destination_type | ||||
|         self.model.copy_or_move_marked(copy, destination, recreate_path) | ||||
|      | ||||
|     def remove_selected(self): | ||||
|         self.model.remove_selected(self) | ||||
|      | ||||
| @ -271,3 +262,7 @@ class DupeGuru(QObject): | ||||
|     def show_problem_dialog(self): | ||||
|         self.problemDialog.show() | ||||
|      | ||||
|     def select_dest_folder(self, prompt): | ||||
|         flags = QFileDialog.ShowDirsOnly | ||||
|         return QFileDialog.getExistingDirectory(self.resultWindow, prompt, '', flags) | ||||
|      | ||||
|  | ||||
| @ -230,16 +230,10 @@ class ResultWindow(QMainWindow): | ||||
|         self.app.model.clear_ignore_list() | ||||
|      | ||||
|     def copyTriggered(self): | ||||
|         self.app.copy_or_move_marked(True) | ||||
|         self.app.model.copy_or_move_marked(True) | ||||
|      | ||||
|     def deleteTriggered(self): | ||||
|         count = self.app.model.results.mark_count | ||||
|         if not count: | ||||
|             return | ||||
|         title = tr("Delete duplicates") | ||||
|         msg = tr("You are about to send %d files to Trash. Continue?") % count | ||||
|         if self.app.confirm(title, msg): | ||||
|             self.app.model.delete_marked() | ||||
|         self.app.model.delete_marked() | ||||
|      | ||||
|     def deltaTriggered(self, state=None): | ||||
|         # The sender can be either the action or the checkbox, but both have a isChecked() method. | ||||
| @ -256,13 +250,7 @@ class ResultWindow(QMainWindow): | ||||
|         QDesktopServices.openUrl(url) | ||||
|      | ||||
|     def hardlinkTriggered(self): | ||||
|         count = self.app.model.results.mark_count | ||||
|         if not count: | ||||
|             return | ||||
|         title = tr("Delete and hardlink duplicates") | ||||
|         msg = tr("You are about to send %d files to Trash (and hardlink them afterwards). Continue?") % count | ||||
|         if self.app.confirm(title, msg): | ||||
|             self.app.model.delete_marked(replace_with_hardlinks=True) | ||||
|         self.app.model.delete_marked(replace_with_hardlinks=True) | ||||
|      | ||||
|     def makeReferenceTriggered(self): | ||||
|         self.app.model.make_selected_reference() | ||||
| @ -280,7 +268,7 @@ class ResultWindow(QMainWindow): | ||||
|         self.app.model.toggle_selected_mark_state() | ||||
|      | ||||
|     def moveTriggered(self): | ||||
|         self.app.copy_or_move_marked(False) | ||||
|         self.app.model.copy_or_move_marked(False) | ||||
|      | ||||
|     def openTriggered(self): | ||||
|         self.app.model.open_selected() | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user