Bump version to 0.6.0 and add artist tag processing functionality
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Gitea/kapitanbooru-uploader/pipeline/head This commit looks good
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Gitea/kapitanbooru-uploader/pipeline/head This commit looks good
				
			This commit is contained in:
		| @@ -142,7 +142,7 @@ class ImageBrowser(tk.Tk): | |||||||
|         super().__init__() |         super().__init__() | ||||||
|         self.title("Kapitanbooru Uploader") |         self.title("Kapitanbooru Uploader") | ||||||
|         self.geometry("900x600") |         self.geometry("900x600") | ||||||
|         self.version = "0.5.2" |         self.version = "0.6.0" | ||||||
|         self.acknowledged_version = parse_version(self.version) |         self.acknowledged_version = parse_version(self.version) | ||||||
|  |  | ||||||
|         self.settings = Settings() |         self.settings = Settings() | ||||||
| @@ -217,6 +217,10 @@ class ImageBrowser(tk.Tk): | |||||||
|         # Check every 5 minutes (300,000 ms) |         # Check every 5 minutes (300,000 ms) | ||||||
|         self.after(300000, self._schedule_update_check) |         self.after(300000, self._schedule_update_check) | ||||||
|  |  | ||||||
|  |     def is_installed_via_pipx(self): | ||||||
|  |         """Check if the application is installed via pipx""" | ||||||
|  |         return os.environ.get("__PIPX_ORIGIN") == "pipx" | ||||||
|  |  | ||||||
|     def _check_for_update(self): |     def _check_for_update(self): | ||||||
|         """Check for updates in a background thread""" |         """Check for updates in a background thread""" | ||||||
|  |  | ||||||
| @@ -263,7 +267,11 @@ class ImageBrowser(tk.Tk): | |||||||
|         formatted_message = message_template.format( |         formatted_message = message_template.format( | ||||||
|             new_version=new_version, |             new_version=new_version, | ||||||
|             current_version=self.version, |             current_version=self.version, | ||||||
|             update_command="pip install --upgrade kapitanbooru-uploader", |             update_command=( | ||||||
|  |                 "pipx upgrade kapitanbooru-uploader" | ||||||
|  |                 if self.is_installed_via_pipx() | ||||||
|  |                 else "pip install --upgrade kapitanbooru-uploader" | ||||||
|  |             ), | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|         messagebox.showinfo(title, formatted_message) |         messagebox.showinfo(title, formatted_message) | ||||||
| @@ -513,7 +521,9 @@ class ImageBrowser(tk.Tk): | |||||||
|         ] |         ] | ||||||
|  |  | ||||||
|         for text in content: |         for text in content: | ||||||
|             ttk.Label(frame, text=text).grid(row=next(row_counter), column=0, sticky=tk.W) |             ttk.Label(frame, text=text).grid( | ||||||
|  |                 row=next(row_counter), column=0, sticky=tk.W | ||||||
|  |             ) | ||||||
|  |  | ||||||
|         # Repository link |         # Repository link | ||||||
|         repo_frame = ttk.Frame(frame) |         repo_frame = ttk.Frame(frame) | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: Kapitanbooru Uploader 0.5.2\n" | "Project-Id-Version: Kapitanbooru Uploader 0.6.0\n" | ||||||
| "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | ||||||
| "POT-Creation-Date: 2025-03-15 19:42+0100\n" | "POT-Creation-Date: 2025-03-16 01:22+0100\n" | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" | "Content-Type: text/plain; charset=UTF-8\n" | ||||||
| "Content-Transfer-Encoding: 8bit\n" | "Content-Transfer-Encoding: 8bit\n" | ||||||
|  |  | ||||||
| @@ -51,26 +51,26 @@ msgstr "Processing..." | |||||||
| msgid "Processing, please wait..." | msgid "Processing, please wait..." | ||||||
| msgstr "Processing, please wait..." | msgstr "Processing, please wait..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:244 | #: ImageBrowser.py:248 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Update check failed: {error}" | msgid "Update check failed: {error}" | ||||||
| msgstr "Update check failed: {error}" | msgstr "Update check failed: {error}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:246 | #: ImageBrowser.py:250 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Malformed pyproject.toml: {error}" | msgid "Malformed pyproject.toml: {error}" | ||||||
| msgstr "Malformed pyproject.toml: {error}" | msgstr "Malformed pyproject.toml: {error}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:249 | #: ImageBrowser.py:253 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Unexpected error during update check: {error}" | msgid "Unexpected error during update check: {error}" | ||||||
| msgstr "Unexpected error during update check: {error}" | msgstr "Unexpected error during update check: {error}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:256 | #: ImageBrowser.py:260 | ||||||
| msgid "Update Available" | msgid "Update Available" | ||||||
| msgstr "Update Available" | msgstr "Update Available" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:258 | #: ImageBrowser.py:262 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "A new version {new_version} is available!\n" | "A new version {new_version} is available!\n" | ||||||
| @@ -83,240 +83,240 @@ msgstr "" | |||||||
| "\n" | "\n" | ||||||
| "Update using: {update_command}" | "Update using: {update_command}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:367 | #: ImageBrowser.py:375 | ||||||
| msgid "Błąd przy otwieraniu pliku" | msgid "Błąd przy otwieraniu pliku" | ||||||
| msgstr "Error opening file" | msgstr "Error opening file" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:409 | #: ImageBrowser.py:417 | ||||||
| msgid "Tagger przetworzył:" | msgid "Tagger przetworzył:" | ||||||
| msgstr "Tagger processed:" | msgstr "Tagger processed:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:412 | #: ImageBrowser.py:420 | ||||||
| msgid "Błąd Taggera dla" | msgid "Błąd Taggera dla" | ||||||
| msgstr "Tagger error for" | msgstr "Tagger error for" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:438 | #: ImageBrowser.py:446 | ||||||
| msgid "Otwórz folder" | msgid "Otwórz folder" | ||||||
| msgstr "Open folder" | msgstr "Open folder" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:441 ImageBrowser.py:728 ImageBrowser.py:944 | #: ImageBrowser.py:449 ImageBrowser.py:738 ImageBrowser.py:954 | ||||||
| #: ImageBrowser.py:952 | #: ImageBrowser.py:962 | ||||||
| msgid "Wyślij" | msgid "Wyślij" | ||||||
| msgstr "Send" | msgstr "Send" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:444 ImageBrowser.py:937 | #: ImageBrowser.py:452 ImageBrowser.py:947 | ||||||
| msgid "Wyślij wszystko" | msgid "Wyślij wszystko" | ||||||
| msgstr "Send all" | msgstr "Send all" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:448 ImageBrowser.py:938 ImageBrowser.py:944 | #: ImageBrowser.py:456 ImageBrowser.py:948 ImageBrowser.py:954 | ||||||
| msgid "Podmień tagi" | msgid "Podmień tagi" | ||||||
| msgstr "Replace tags" | msgstr "Replace tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:451 ImageBrowser.py:939 | #: ImageBrowser.py:459 ImageBrowser.py:949 | ||||||
| msgid "Otwórz post" | msgid "Otwórz post" | ||||||
| msgstr "Open post" | msgstr "Open post" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:454 | #: ImageBrowser.py:462 | ||||||
| msgid "Zakończ" | msgid "Zakończ" | ||||||
| msgstr "Finish" | msgstr "Finish" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:456 | #: ImageBrowser.py:464 | ||||||
| msgid "Plik" | msgid "Plik" | ||||||
| msgstr "File" | msgstr "File" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:460 ImageBrowser.py:557 | #: ImageBrowser.py:468 ImageBrowser.py:567 | ||||||
| msgid "Ustawienia" | msgid "Ustawienia" | ||||||
| msgstr "Settings" | msgstr "Settings" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:463 | #: ImageBrowser.py:471 | ||||||
| msgid "Wyczyść cache Taggera" | msgid "Wyczyść cache Taggera" | ||||||
| msgstr "Clear Tagger cache" | msgstr "Clear Tagger cache" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:466 | #: ImageBrowser.py:474 | ||||||
| msgid "Zregeneruj bazę tagów" | msgid "Zregeneruj bazę tagów" | ||||||
| msgstr "Regenerate tag database" | msgstr "Regenerate tag database" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:468 | #: ImageBrowser.py:476 | ||||||
| msgid "Opcje" | msgid "Opcje" | ||||||
| msgstr "Options" | msgstr "Options" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:471 | #: ImageBrowser.py:479 | ||||||
| msgid "About" | msgid "About" | ||||||
| msgstr "About" | msgstr "About" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:472 | #: ImageBrowser.py:480 | ||||||
| msgid "Help" | msgid "Help" | ||||||
| msgstr "Help" | msgstr "Help" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:477 | #: ImageBrowser.py:485 | ||||||
| msgid "About Kapitanbooru Uploader" | msgid "About Kapitanbooru Uploader" | ||||||
| msgstr "About Kapitanbooru Uploader" | msgstr "About Kapitanbooru Uploader" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:494 | #: ImageBrowser.py:502 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "A new version {new_version} is available!" | msgid "A new version {new_version} is available!" | ||||||
| msgstr "A new version {new_version} is available!" | msgstr "A new version {new_version} is available!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:501 | #: ImageBrowser.py:509 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Current version: {version}" | msgid "Current version: {version}" | ||||||
| msgstr "Current version: {version}" | msgstr "Current version: {version}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:503 | #: ImageBrowser.py:511 | ||||||
| msgid "A GUI application for uploading images to KapitanBooru." | msgid "A GUI application for uploading images to KapitanBooru." | ||||||
| msgstr "A GUI application for uploading images to KapitanBooru." | msgstr "A GUI application for uploading images to KapitanBooru." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:504 | #: ImageBrowser.py:512 | ||||||
| msgid "Features include image upload, tag management, automatic" | msgid "Features include image upload, tag management, automatic" | ||||||
| msgstr "Features include image upload, tag management, automatic" | msgstr "Features include image upload, tag management, automatic" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:505 | #: ImageBrowser.py:513 | ||||||
| msgid "tagging with wdtagger, and cache management." | msgid "tagging with wdtagger, and cache management." | ||||||
| msgstr "tagging with wdtagger, and cache management." | msgstr "tagging with wdtagger, and cache management." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:507 | #: ImageBrowser.py:515 | ||||||
| msgid "Authors:" | msgid "Authors:" | ||||||
| msgstr "Authors:" | msgstr "Authors:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:510 | #: ImageBrowser.py:518 | ||||||
| msgid "License: MIT License" | msgid "License: MIT License" | ||||||
| msgstr "License: MIT License" | msgstr "License: MIT License" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:521 | #: ImageBrowser.py:531 | ||||||
| msgid "Repository:" | msgid "Repository:" | ||||||
| msgstr "Repository:" | msgstr "Repository:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:530 | #: ImageBrowser.py:540 | ||||||
| msgid "Website:" | msgid "Website:" | ||||||
| msgstr "Website:" | msgstr "Website:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:541 | #: ImageBrowser.py:551 | ||||||
| msgid "Close" | msgid "Close" | ||||||
| msgstr "Close" | msgstr "Close" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:549 ImageBrowser.py:552 | #: ImageBrowser.py:559 ImageBrowser.py:562 | ||||||
| msgid "Cache" | msgid "Cache" | ||||||
| msgstr "Cache" | msgstr "Cache" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:549 | #: ImageBrowser.py:559 | ||||||
| msgid "Cache Taggera zostało wyczyszczone." | msgid "Cache Taggera zostało wyczyszczone." | ||||||
| msgstr "Tagger cache has been cleared." | msgstr "Tagger cache has been cleared." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:552 | #: ImageBrowser.py:562 | ||||||
| msgid "Błąd przy czyszczeniu cache:" | msgid "Błąd przy czyszczeniu cache:" | ||||||
| msgstr "Error clearing cache:" | msgstr "Error clearing cache:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:562 | #: ImageBrowser.py:572 | ||||||
| msgid "Login:" | msgid "Login:" | ||||||
| msgstr "Login:" | msgstr "Login:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:568 | #: ImageBrowser.py:578 | ||||||
| msgid "Hasło:" | msgid "Hasło:" | ||||||
| msgstr "Password:" | msgstr "Password:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:574 | #: ImageBrowser.py:584 | ||||||
| msgid "Base URL:" | msgid "Base URL:" | ||||||
| msgstr "Base URL:" | msgstr "Base URL:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:580 | #: ImageBrowser.py:590 | ||||||
| msgid "Default Tags:" | msgid "Default Tags:" | ||||||
| msgstr "Default Tags:" | msgstr "Default Tags:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:586 | #: ImageBrowser.py:596 | ||||||
| msgid "Browser:" | msgid "Browser:" | ||||||
| msgstr "Browser:" | msgstr "Browser:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:600 | #: ImageBrowser.py:610 | ||||||
| msgid "Language:" | msgid "Language:" | ||||||
| msgstr "Language:" | msgstr "Language:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:632 | #: ImageBrowser.py:642 | ||||||
| msgid "Zapisz" | msgid "Zapisz" | ||||||
| msgstr "Save" | msgstr "Save" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:674 | #: ImageBrowser.py:684 | ||||||
| msgid "PNG Tags" | msgid "PNG Tags" | ||||||
| msgstr "PNG Tags" | msgstr "PNG Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:686 | #: ImageBrowser.py:696 | ||||||
| msgid "Tagger Tags" | msgid "Tagger Tags" | ||||||
| msgstr "Tagger Tags" | msgstr "Tagger Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:700 | #: ImageBrowser.py:710 | ||||||
| msgid "Manual Tags" | msgid "Manual Tags" | ||||||
| msgstr "Manual Tags" | msgstr "Manual Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:708 | #: ImageBrowser.py:718 | ||||||
| msgid "Final Tags" | msgid "Final Tags" | ||||||
| msgstr "Final Tags" | msgstr "Final Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:733 | #: ImageBrowser.py:743 | ||||||
| msgid "Wyświetl" | msgid "Wyświetl" | ||||||
| msgstr "Display" | msgstr "Display" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:750 | #: ImageBrowser.py:760 | ||||||
| msgid "Przetworzono tagi:" | msgid "Przetworzono tagi:" | ||||||
| msgstr "Processed tags:" | msgstr "Processed tags:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:750 ImageBrowser.py:751 ImageBrowser.py:752 | #: ImageBrowser.py:760 ImageBrowser.py:761 ImageBrowser.py:762 | ||||||
| msgid "plików" | msgid "plików" | ||||||
| msgstr "files" | msgstr "files" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:751 | #: ImageBrowser.py:761 | ||||||
| msgid "Zweryfikowano status uploadu:" | msgid "Zweryfikowano status uploadu:" | ||||||
| msgstr "Upload status verified:" | msgstr "Upload status verified:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:752 | #: ImageBrowser.py:762 | ||||||
| msgid "Zuploadowano:" | msgid "Zuploadowano:" | ||||||
| msgstr "Uploaded:" | msgstr "Uploaded:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:780 | #: ImageBrowser.py:790 | ||||||
| msgid "Wybierz folder z obrazkami PNG" | msgid "Wybierz folder z obrazkami PNG" | ||||||
| msgstr "Select folder with PNG images" | msgstr "Select folder with PNG images" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:813 | #: ImageBrowser.py:823 | ||||||
| msgid "Informacja" | msgid "Informacja" | ||||||
| msgstr "Information" | msgstr "Information" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:813 | #: ImageBrowser.py:823 | ||||||
| msgid "Brak plików PNG w wybranym folderze." | msgid "Brak plików PNG w wybranym folderze." | ||||||
| msgstr "No PNG files in the selected folder." | msgstr "No PNG files in the selected folder." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:896 | #: ImageBrowser.py:906 | ||||||
| msgid "Błąd podczas sprawdzania paczki uploadu:" | msgid "Błąd podczas sprawdzania paczki uploadu:" | ||||||
| msgstr "Error while checking upload package:" | msgstr "Error while checking upload package:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:972 | #: ImageBrowser.py:982 | ||||||
| msgid "Błąd przy obliczaniu MD5:" | msgid "Błąd przy obliczaniu MD5:" | ||||||
| msgstr "Error calculating MD5:" | msgstr "Error calculating MD5:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1028 | #: ImageBrowser.py:1038 | ||||||
| msgid "Błąd" | msgid "Błąd" | ||||||
| msgstr "Error" | msgstr "Error" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1028 | #: ImageBrowser.py:1038 | ||||||
| msgid "Nie można załadować obrazka:" | msgid "Nie można załadować obrazka:" | ||||||
| msgstr "Unable to load image:" | msgstr "Unable to load image:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1238 ImageBrowser.py:1248 | #: ImageBrowser.py:1248 ImageBrowser.py:1258 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Warning: Tag '{tag}' not found in implication graph" | msgid "Warning: Tag '{tag}' not found in implication graph" | ||||||
| msgstr "Warning: Tag '{tag}' not found in implication graph" | msgstr "Warning: Tag '{tag}' not found in implication graph" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1478 | #: ImageBrowser.py:1488 | ||||||
| msgid "Tagger przetwarza..." | msgid "Tagger przetwarza..." | ||||||
| msgstr "Tagger processing..." | msgstr "Tagger processing..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1503 | #: ImageBrowser.py:1513 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Wysyłam plik {base_file_name}..." | msgid "Wysyłam plik {base_file_name}..." | ||||||
| msgstr "Sending file {base_file_name}..." | msgstr "Sending file {base_file_name}..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1544 | #: ImageBrowser.py:1554 | ||||||
| msgid "Wysyłanie zakończone powodzeniem!" | msgid "Wysyłanie zakończone powodzeniem!" | ||||||
| msgstr "Upload completed successfully!" | msgstr "Upload completed successfully!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1548 ImageBrowser.py:1557 | #: ImageBrowser.py:1558 ImageBrowser.py:1567 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Wysyłanie zakończone błędem.\n" | "Wysyłanie zakończone błędem.\n" | ||||||
| @@ -327,40 +327,40 @@ msgstr "" | |||||||
| "Status: {status_code}\n" | "Status: {status_code}\n" | ||||||
| "Content: {text}" | "Content: {text}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1563 ImageBrowser.py:1566 | #: ImageBrowser.py:1573 ImageBrowser.py:1576 | ||||||
| msgid "Wysyłanie" | msgid "Wysyłanie" | ||||||
| msgstr "Uploading" | msgstr "Uploading" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1579 | #: ImageBrowser.py:1589 | ||||||
| msgid "Błąd wysyłania" | msgid "Błąd wysyłania" | ||||||
| msgstr "Upload error" | msgstr "Upload error" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1599 | #: ImageBrowser.py:1609 | ||||||
| msgid "Błąd edycji" | msgid "Błąd edycji" | ||||||
| msgstr "Edit error" | msgstr "Edit error" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1599 | #: ImageBrowser.py:1609 | ||||||
| msgid "Post nie został znaleziony dla tego pliku" | msgid "Post nie został znaleziony dla tego pliku" | ||||||
| msgstr "Post not found for this file" | msgstr "Post not found for this file" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1609 | #: ImageBrowser.py:1619 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Aktualizuję tagi dla {base_file_name}..." | msgid "Aktualizuję tagi dla {base_file_name}..." | ||||||
| msgstr "Updating tags for {base_file_name}..." | msgstr "Updating tags for {base_file_name}..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1619 ImageBrowser.py:1629 ImageBrowser.py:1660 | #: ImageBrowser.py:1629 ImageBrowser.py:1639 ImageBrowser.py:1670 | ||||||
| msgid "Operacja anulowana" | msgid "Operacja anulowana" | ||||||
| msgstr "Operation cancelled" | msgstr "Operation cancelled" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1670 | #: ImageBrowser.py:1680 | ||||||
| msgid "Tagi zostały zaktualizowane!" | msgid "Tagi zostały zaktualizowane!" | ||||||
| msgstr "Tags have been updated!" | msgstr "Tags have been updated!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1672 | #: ImageBrowser.py:1682 | ||||||
| msgid "Sukces edycji" | msgid "Sukces edycji" | ||||||
| msgstr "Edit successful" | msgstr "Edit successful" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1678 | #: ImageBrowser.py:1688 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Błąd podczas aktualizacji tagów\n" | "Błąd podczas aktualizacji tagów\n" | ||||||
| @@ -369,19 +369,19 @@ msgstr "" | |||||||
| "Error updating tags\n" | "Error updating tags\n" | ||||||
| "Status: {code}" | "Status: {code}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1682 | #: ImageBrowser.py:1692 | ||||||
| msgid "Treść:" | msgid "Treść:" | ||||||
| msgstr "Content:" | msgstr "Content:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1686 | #: ImageBrowser.py:1696 | ||||||
| msgid "Krytyczny błąd edycji" | msgid "Krytyczny błąd edycji" | ||||||
| msgstr "Critical edit error" | msgstr "Critical edit error" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1698 | #: ImageBrowser.py:1708 | ||||||
| msgid "Potwierdzenie" | msgid "Potwierdzenie" | ||||||
| msgstr "Confirmation" | msgstr "Confirmation" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1700 | #: ImageBrowser.py:1710 | ||||||
| msgid "" | msgid "" | ||||||
| "Czy na pewno chcesz wrzucić wszystkie niewrzucone pliki?\n" | "Czy na pewno chcesz wrzucić wszystkie niewrzucone pliki?\n" | ||||||
| "Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n" | "Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n" | ||||||
| @@ -391,18 +391,18 @@ msgstr "" | |||||||
| "Each will be tagged with 'meta:auto_upload'.\n" | "Each will be tagged with 'meta:auto_upload'.\n" | ||||||
| "Make sure the tags are correct!" | "Make sure the tags are correct!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1724 | #: ImageBrowser.py:1734 | ||||||
| msgid "Anulowano operację!" | msgid "Anulowano operację!" | ||||||
| msgstr "Operation cancelled!" | msgstr "Operation cancelled!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1732 | #: ImageBrowser.py:1742 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}" | "Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Uploading {file_path} with tags: {final_tags} and rating: {final_rating}" | "Uploading {file_path} with tags: {final_tags} and rating: {final_rating}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1748 | #: ImageBrowser.py:1758 | ||||||
| msgid "Przesłano pliki!" | msgid "Przesłano pliki!" | ||||||
| msgstr "Files have been uploaded!" | msgstr "Files have been uploaded!" | ||||||
|  |  | ||||||
| @@ -426,11 +426,15 @@ msgstr "Error fetching character tags:" | |||||||
| msgid "Błąd przy pobieraniu tagów copyright:" | msgid "Błąd przy pobieraniu tagów copyright:" | ||||||
| msgstr "Error fetching copyright tags:" | msgstr "Error fetching copyright tags:" | ||||||
|  |  | ||||||
| #: tag_processing.py:165 | #: tag_processing.py:48 | ||||||
|  | msgid "Błąd przy pobieraniu tagów artystów:" | ||||||
|  | msgstr "Error fetching artist tags:" | ||||||
|  |  | ||||||
|  | #: tag_processing.py:200 | ||||||
| msgid "Błąd podczas odczytu tag_aliases:" | msgid "Błąd podczas odczytu tag_aliases:" | ||||||
| msgstr "Error reading tag aliases:" | msgstr "Error reading tag aliases:" | ||||||
|  |  | ||||||
| #: tag_processing.py:181 | #: tag_processing.py:216 | ||||||
| msgid "Błąd podczas odczytu tags:" | msgid "Błąd podczas odczytu tags:" | ||||||
| msgstr "Error reading tags:" | msgstr "Error reading tags:" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: Kapitanbooru Uploader 0.5.2\n" | "Project-Id-Version: Kapitanbooru Uploader 0.6.0\n" | ||||||
| "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | ||||||
| "POT-Creation-Date: 2025-03-15 19:42+0100\n" | "POT-Creation-Date: 2025-03-16 01:22+0100\n" | ||||||
| "Language: pl\n" | "Language: pl\n" | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" | "Content-Type: text/plain; charset=UTF-8\n" | ||||||
| "Content-Transfer-Encoding: 8bit\n" | "Content-Transfer-Encoding: 8bit\n" | ||||||
| @@ -53,26 +53,26 @@ msgstr "Przetwarzanie..." | |||||||
| msgid "Processing, please wait..." | msgid "Processing, please wait..." | ||||||
| msgstr "Przetwarzanie, proszę czekać..." | msgstr "Przetwarzanie, proszę czekać..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:244 | #: ImageBrowser.py:248 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Update check failed: {error}" | msgid "Update check failed: {error}" | ||||||
| msgstr "Sprawdzenie aktualizacji nie powiodło się: {error}" | msgstr "Sprawdzenie aktualizacji nie powiodło się: {error}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:246 | #: ImageBrowser.py:250 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Malformed pyproject.toml: {error}" | msgid "Malformed pyproject.toml: {error}" | ||||||
| msgstr "Nieprawidłowy plik pyproject.toml: {error}" | msgstr "Nieprawidłowy plik pyproject.toml: {error}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:249 | #: ImageBrowser.py:253 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Unexpected error during update check: {error}" | msgid "Unexpected error during update check: {error}" | ||||||
| msgstr "Nieoczekiwany błąd podczas sprawdzania aktualizacji: {error}" | msgstr "Nieoczekiwany błąd podczas sprawdzania aktualizacji: {error}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:256 | #: ImageBrowser.py:260 | ||||||
| msgid "Update Available" | msgid "Update Available" | ||||||
| msgstr "Aktualizacja dostępna" | msgstr "Aktualizacja dostępna" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:258 | #: ImageBrowser.py:262 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "A new version {new_version} is available!\n" | "A new version {new_version} is available!\n" | ||||||
| @@ -85,240 +85,240 @@ msgstr "" | |||||||
| "\n" | "\n" | ||||||
| "Aktualizuj za pomocą: {update_command}" | "Aktualizuj za pomocą: {update_command}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:367 | #: ImageBrowser.py:375 | ||||||
| msgid "Błąd przy otwieraniu pliku" | msgid "Błąd przy otwieraniu pliku" | ||||||
| msgstr "Błąd przy otwieraniu pliku" | msgstr "Błąd przy otwieraniu pliku" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:409 | #: ImageBrowser.py:417 | ||||||
| msgid "Tagger przetworzył:" | msgid "Tagger przetworzył:" | ||||||
| msgstr "Tagger przetworzył:" | msgstr "Tagger przetworzył:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:412 | #: ImageBrowser.py:420 | ||||||
| msgid "Błąd Taggera dla" | msgid "Błąd Taggera dla" | ||||||
| msgstr "Błąd Taggera dla" | msgstr "Błąd Taggera dla" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:438 | #: ImageBrowser.py:446 | ||||||
| msgid "Otwórz folder" | msgid "Otwórz folder" | ||||||
| msgstr "Otwórz folder" | msgstr "Otwórz folder" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:441 ImageBrowser.py:728 ImageBrowser.py:944 | #: ImageBrowser.py:449 ImageBrowser.py:738 ImageBrowser.py:954 | ||||||
| #: ImageBrowser.py:952 | #: ImageBrowser.py:962 | ||||||
| msgid "Wyślij" | msgid "Wyślij" | ||||||
| msgstr "Wyślij" | msgstr "Wyślij" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:444 ImageBrowser.py:937 | #: ImageBrowser.py:452 ImageBrowser.py:947 | ||||||
| msgid "Wyślij wszystko" | msgid "Wyślij wszystko" | ||||||
| msgstr "Wyślij wszystko" | msgstr "Wyślij wszystko" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:448 ImageBrowser.py:938 ImageBrowser.py:944 | #: ImageBrowser.py:456 ImageBrowser.py:948 ImageBrowser.py:954 | ||||||
| msgid "Podmień tagi" | msgid "Podmień tagi" | ||||||
| msgstr "Podmień tagi" | msgstr "Podmień tagi" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:451 ImageBrowser.py:939 | #: ImageBrowser.py:459 ImageBrowser.py:949 | ||||||
| msgid "Otwórz post" | msgid "Otwórz post" | ||||||
| msgstr "Otwórz post" | msgstr "Otwórz post" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:454 | #: ImageBrowser.py:462 | ||||||
| msgid "Zakończ" | msgid "Zakończ" | ||||||
| msgstr "Zakończ" | msgstr "Zakończ" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:456 | #: ImageBrowser.py:464 | ||||||
| msgid "Plik" | msgid "Plik" | ||||||
| msgstr "Plik" | msgstr "Plik" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:460 ImageBrowser.py:557 | #: ImageBrowser.py:468 ImageBrowser.py:567 | ||||||
| msgid "Ustawienia" | msgid "Ustawienia" | ||||||
| msgstr "Ustawienia" | msgstr "Ustawienia" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:463 | #: ImageBrowser.py:471 | ||||||
| msgid "Wyczyść cache Taggera" | msgid "Wyczyść cache Taggera" | ||||||
| msgstr "Wyczyść cache Taggera" | msgstr "Wyczyść cache Taggera" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:466 | #: ImageBrowser.py:474 | ||||||
| msgid "Zregeneruj bazę tagów" | msgid "Zregeneruj bazę tagów" | ||||||
| msgstr "Zregeneruj bazę tagów" | msgstr "Zregeneruj bazę tagów" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:468 | #: ImageBrowser.py:476 | ||||||
| msgid "Opcje" | msgid "Opcje" | ||||||
| msgstr "Opcje" | msgstr "Opcje" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:471 | #: ImageBrowser.py:479 | ||||||
| msgid "About" | msgid "About" | ||||||
| msgstr "O programie" | msgstr "O programie" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:472 | #: ImageBrowser.py:480 | ||||||
| msgid "Help" | msgid "Help" | ||||||
| msgstr "Pomoc" | msgstr "Pomoc" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:477 | #: ImageBrowser.py:485 | ||||||
| msgid "About Kapitanbooru Uploader" | msgid "About Kapitanbooru Uploader" | ||||||
| msgstr "O programie Kapitanbooru Uploader" | msgstr "O programie Kapitanbooru Uploader" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:494 | #: ImageBrowser.py:502 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "A new version {new_version} is available!" | msgid "A new version {new_version} is available!" | ||||||
| msgstr "Dostępna jest nowa wersja {new_version}!" | msgstr "Dostępna jest nowa wersja {new_version}!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:501 | #: ImageBrowser.py:509 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Current version: {version}" | msgid "Current version: {version}" | ||||||
| msgstr "Obecna wersja: {version}" | msgstr "Obecna wersja: {version}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:503 | #: ImageBrowser.py:511 | ||||||
| msgid "A GUI application for uploading images to KapitanBooru." | msgid "A GUI application for uploading images to KapitanBooru." | ||||||
| msgstr "Aplikacja GUI do przesyłania obrazów do KapitanBooru." | msgstr "Aplikacja GUI do przesyłania obrazów do KapitanBooru." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:504 | #: ImageBrowser.py:512 | ||||||
| msgid "Features include image upload, tag management, automatic" | msgid "Features include image upload, tag management, automatic" | ||||||
| msgstr "Funkcje obejmują przesyłanie obrazów, zarządzanie tagami, automatyczne" | msgstr "Funkcje obejmują przesyłanie obrazów, zarządzanie tagami, automatyczne" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:505 | #: ImageBrowser.py:513 | ||||||
| msgid "tagging with wdtagger, and cache management." | msgid "tagging with wdtagger, and cache management." | ||||||
| msgstr "tagowanie za pomocą wdtagger oraz zarządzanie cache." | msgstr "tagowanie za pomocą wdtagger oraz zarządzanie cache." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:507 | #: ImageBrowser.py:515 | ||||||
| msgid "Authors:" | msgid "Authors:" | ||||||
| msgstr "Autorzy:" | msgstr "Autorzy:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:510 | #: ImageBrowser.py:518 | ||||||
| msgid "License: MIT License" | msgid "License: MIT License" | ||||||
| msgstr "Licencja: MIT License" | msgstr "Licencja: MIT License" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:521 | #: ImageBrowser.py:531 | ||||||
| msgid "Repository:" | msgid "Repository:" | ||||||
| msgstr "Repozytorium:" | msgstr "Repozytorium:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:530 | #: ImageBrowser.py:540 | ||||||
| msgid "Website:" | msgid "Website:" | ||||||
| msgstr "Strona internetowa:" | msgstr "Strona internetowa:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:541 | #: ImageBrowser.py:551 | ||||||
| msgid "Close" | msgid "Close" | ||||||
| msgstr "Zamknij" | msgstr "Zamknij" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:549 ImageBrowser.py:552 | #: ImageBrowser.py:559 ImageBrowser.py:562 | ||||||
| msgid "Cache" | msgid "Cache" | ||||||
| msgstr "Cache" | msgstr "Cache" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:549 | #: ImageBrowser.py:559 | ||||||
| msgid "Cache Taggera zostało wyczyszczone." | msgid "Cache Taggera zostało wyczyszczone." | ||||||
| msgstr "Cache Taggera zostało wyczyszczone." | msgstr "Cache Taggera zostało wyczyszczone." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:552 | #: ImageBrowser.py:562 | ||||||
| msgid "Błąd przy czyszczeniu cache:" | msgid "Błąd przy czyszczeniu cache:" | ||||||
| msgstr "Błąd przy czyszczeniu cache:" | msgstr "Błąd przy czyszczeniu cache:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:562 | #: ImageBrowser.py:572 | ||||||
| msgid "Login:" | msgid "Login:" | ||||||
| msgstr "Login:" | msgstr "Login:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:568 | #: ImageBrowser.py:578 | ||||||
| msgid "Hasło:" | msgid "Hasło:" | ||||||
| msgstr "Hasło:" | msgstr "Hasło:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:574 | #: ImageBrowser.py:584 | ||||||
| msgid "Base URL:" | msgid "Base URL:" | ||||||
| msgstr "Base URL:" | msgstr "Base URL:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:580 | #: ImageBrowser.py:590 | ||||||
| msgid "Default Tags:" | msgid "Default Tags:" | ||||||
| msgstr "Domyślne tagi:" | msgstr "Domyślne tagi:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:586 | #: ImageBrowser.py:596 | ||||||
| msgid "Browser:" | msgid "Browser:" | ||||||
| msgstr "Przeglądarka:" | msgstr "Przeglądarka:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:600 | #: ImageBrowser.py:610 | ||||||
| msgid "Language:" | msgid "Language:" | ||||||
| msgstr "Język:" | msgstr "Język:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:632 | #: ImageBrowser.py:642 | ||||||
| msgid "Zapisz" | msgid "Zapisz" | ||||||
| msgstr "Zapisz" | msgstr "Zapisz" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:674 | #: ImageBrowser.py:684 | ||||||
| msgid "PNG Tags" | msgid "PNG Tags" | ||||||
| msgstr "Tagi PNG" | msgstr "Tagi PNG" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:686 | #: ImageBrowser.py:696 | ||||||
| msgid "Tagger Tags" | msgid "Tagger Tags" | ||||||
| msgstr "Tagi Taggera" | msgstr "Tagi Taggera" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:700 | #: ImageBrowser.py:710 | ||||||
| msgid "Manual Tags" | msgid "Manual Tags" | ||||||
| msgstr "Tagi ręczne" | msgstr "Tagi ręczne" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:708 | #: ImageBrowser.py:718 | ||||||
| msgid "Final Tags" | msgid "Final Tags" | ||||||
| msgstr "Ostateczne tagi" | msgstr "Ostateczne tagi" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:733 | #: ImageBrowser.py:743 | ||||||
| msgid "Wyświetl" | msgid "Wyświetl" | ||||||
| msgstr "Wyświetl" | msgstr "Wyświetl" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:750 | #: ImageBrowser.py:760 | ||||||
| msgid "Przetworzono tagi:" | msgid "Przetworzono tagi:" | ||||||
| msgstr "Przetworzono tagi:" | msgstr "Przetworzono tagi:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:750 ImageBrowser.py:751 ImageBrowser.py:752 | #: ImageBrowser.py:760 ImageBrowser.py:761 ImageBrowser.py:762 | ||||||
| msgid "plików" | msgid "plików" | ||||||
| msgstr "plików" | msgstr "plików" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:751 | #: ImageBrowser.py:761 | ||||||
| msgid "Zweryfikowano status uploadu:" | msgid "Zweryfikowano status uploadu:" | ||||||
| msgstr "Zweryfikowano status uploadu:" | msgstr "Zweryfikowano status uploadu:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:752 | #: ImageBrowser.py:762 | ||||||
| msgid "Zuploadowano:" | msgid "Zuploadowano:" | ||||||
| msgstr "Zuploadowano:" | msgstr "Zuploadowano:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:780 | #: ImageBrowser.py:790 | ||||||
| msgid "Wybierz folder z obrazkami PNG" | msgid "Wybierz folder z obrazkami PNG" | ||||||
| msgstr "Wybierz folder z obrazami PNG" | msgstr "Wybierz folder z obrazami PNG" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:813 | #: ImageBrowser.py:823 | ||||||
| msgid "Informacja" | msgid "Informacja" | ||||||
| msgstr "Informacja" | msgstr "Informacja" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:813 | #: ImageBrowser.py:823 | ||||||
| msgid "Brak plików PNG w wybranym folderze." | msgid "Brak plików PNG w wybranym folderze." | ||||||
| msgstr "Brak plików PNG w wybranym folderze." | msgstr "Brak plików PNG w wybranym folderze." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:896 | #: ImageBrowser.py:906 | ||||||
| msgid "Błąd podczas sprawdzania paczki uploadu:" | msgid "Błąd podczas sprawdzania paczki uploadu:" | ||||||
| msgstr "Błąd podczas sprawdzania paczki uploadu:" | msgstr "Błąd podczas sprawdzania paczki uploadu:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:972 | #: ImageBrowser.py:982 | ||||||
| msgid "Błąd przy obliczaniu MD5:" | msgid "Błąd przy obliczaniu MD5:" | ||||||
| msgstr "Błąd przy obliczaniu MD5:" | msgstr "Błąd przy obliczaniu MD5:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1028 | #: ImageBrowser.py:1038 | ||||||
| msgid "Błąd" | msgid "Błąd" | ||||||
| msgstr "Błąd" | msgstr "Błąd" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1028 | #: ImageBrowser.py:1038 | ||||||
| msgid "Nie można załadować obrazka:" | msgid "Nie można załadować obrazka:" | ||||||
| msgstr "Nie można załadować obrazka:" | msgstr "Nie można załadować obrazka:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1238 ImageBrowser.py:1248 | #: ImageBrowser.py:1248 ImageBrowser.py:1258 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Warning: Tag '{tag}' not found in implication graph" | msgid "Warning: Tag '{tag}' not found in implication graph" | ||||||
| msgstr "Ostrzeżenie: Tag '{tag}' nie został znaleziony w grafie implikacji" | msgstr "Ostrzeżenie: Tag '{tag}' nie został znaleziony w grafie implikacji" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1478 | #: ImageBrowser.py:1488 | ||||||
| msgid "Tagger przetwarza..." | msgid "Tagger przetwarza..." | ||||||
| msgstr "Tagger przetwarza..." | msgstr "Tagger przetwarza..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1503 | #: ImageBrowser.py:1513 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Wysyłam plik {base_file_name}..." | msgid "Wysyłam plik {base_file_name}..." | ||||||
| msgstr "Wysyłam plik {base_file_name}..." | msgstr "Wysyłam plik {base_file_name}..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1544 | #: ImageBrowser.py:1554 | ||||||
| msgid "Wysyłanie zakończone powodzeniem!" | msgid "Wysyłanie zakończone powodzeniem!" | ||||||
| msgstr "Wysyłanie zakończone powodzeniem!" | msgstr "Wysyłanie zakończone powodzeniem!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1548 ImageBrowser.py:1557 | #: ImageBrowser.py:1558 ImageBrowser.py:1567 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Wysyłanie zakończone błędem.\n" | "Wysyłanie zakończone błędem.\n" | ||||||
| @@ -329,40 +329,40 @@ msgstr "" | |||||||
| "Status: {status_code}\n" | "Status: {status_code}\n" | ||||||
| "Treść: {text}" | "Treść: {text}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1563 ImageBrowser.py:1566 | #: ImageBrowser.py:1573 ImageBrowser.py:1576 | ||||||
| msgid "Wysyłanie" | msgid "Wysyłanie" | ||||||
| msgstr "Wysyłanie" | msgstr "Wysyłanie" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1579 | #: ImageBrowser.py:1589 | ||||||
| msgid "Błąd wysyłania" | msgid "Błąd wysyłania" | ||||||
| msgstr "Błąd wysyłania" | msgstr "Błąd wysyłania" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1599 | #: ImageBrowser.py:1609 | ||||||
| msgid "Błąd edycji" | msgid "Błąd edycji" | ||||||
| msgstr "Błąd edycji" | msgstr "Błąd edycji" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1599 | #: ImageBrowser.py:1609 | ||||||
| msgid "Post nie został znaleziony dla tego pliku" | msgid "Post nie został znaleziony dla tego pliku" | ||||||
| msgstr "Post nie został znaleziony dla tego pliku" | msgstr "Post nie został znaleziony dla tego pliku" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1609 | #: ImageBrowser.py:1619 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Aktualizuję tagi dla {base_file_name}..." | msgid "Aktualizuję tagi dla {base_file_name}..." | ||||||
| msgstr "Aktualizuję tagi dla {base_file_name}..." | msgstr "Aktualizuję tagi dla {base_file_name}..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1619 ImageBrowser.py:1629 ImageBrowser.py:1660 | #: ImageBrowser.py:1629 ImageBrowser.py:1639 ImageBrowser.py:1670 | ||||||
| msgid "Operacja anulowana" | msgid "Operacja anulowana" | ||||||
| msgstr "Operacja anulowana" | msgstr "Operacja anulowana" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1670 | #: ImageBrowser.py:1680 | ||||||
| msgid "Tagi zostały zaktualizowane!" | msgid "Tagi zostały zaktualizowane!" | ||||||
| msgstr "Tagi zostały zaktualizowane!" | msgstr "Tagi zostały zaktualizowane!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1672 | #: ImageBrowser.py:1682 | ||||||
| msgid "Sukces edycji" | msgid "Sukces edycji" | ||||||
| msgstr "Sukces edycji" | msgstr "Sukces edycji" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1678 | #: ImageBrowser.py:1688 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Błąd podczas aktualizacji tagów\n" | "Błąd podczas aktualizacji tagów\n" | ||||||
| @@ -371,19 +371,19 @@ msgstr "" | |||||||
| "Błąd podczas aktualizacji tagów\n" | "Błąd podczas aktualizacji tagów\n" | ||||||
| "Status: {code}" | "Status: {code}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1682 | #: ImageBrowser.py:1692 | ||||||
| msgid "Treść:" | msgid "Treść:" | ||||||
| msgstr "Treść:" | msgstr "Treść:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1686 | #: ImageBrowser.py:1696 | ||||||
| msgid "Krytyczny błąd edycji" | msgid "Krytyczny błąd edycji" | ||||||
| msgstr "Krytyczny błąd edycji" | msgstr "Krytyczny błąd edycji" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1698 | #: ImageBrowser.py:1708 | ||||||
| msgid "Potwierdzenie" | msgid "Potwierdzenie" | ||||||
| msgstr "Potwierdzenie" | msgstr "Potwierdzenie" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1700 | #: ImageBrowser.py:1710 | ||||||
| msgid "" | msgid "" | ||||||
| "Czy na pewno chcesz wrzucić wszystkie niewrzucone pliki?\n" | "Czy na pewno chcesz wrzucić wszystkie niewrzucone pliki?\n" | ||||||
| "Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n" | "Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n" | ||||||
| @@ -393,18 +393,18 @@ msgstr "" | |||||||
| "Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n" | "Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n" | ||||||
| "Upewnij się, że tagi są poprawne!" | "Upewnij się, że tagi są poprawne!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1724 | #: ImageBrowser.py:1734 | ||||||
| msgid "Anulowano operację!" | msgid "Anulowano operację!" | ||||||
| msgstr "Operacja anulowana!" | msgstr "Operacja anulowana!" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1732 | #: ImageBrowser.py:1742 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}" | "Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}" | "Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1748 | #: ImageBrowser.py:1758 | ||||||
| msgid "Przesłano pliki!" | msgid "Przesłano pliki!" | ||||||
| msgstr "Pliki zostały przesłane!" | msgstr "Pliki zostały przesłane!" | ||||||
|  |  | ||||||
| @@ -428,11 +428,15 @@ msgstr "Błąd przy pobieraniu tagów postaci:" | |||||||
| msgid "Błąd przy pobieraniu tagów copyright:" | msgid "Błąd przy pobieraniu tagów copyright:" | ||||||
| msgstr "Błąd przy pobieraniu tagów copyright:" | msgstr "Błąd przy pobieraniu tagów copyright:" | ||||||
|  |  | ||||||
| #: tag_processing.py:165 | #: tag_processing.py:48 | ||||||
|  | msgid "Błąd przy pobieraniu tagów artystów:" | ||||||
|  | msgstr "Błąd przy pobieraniu tagów artystów:" | ||||||
|  |  | ||||||
|  | #: tag_processing.py:200 | ||||||
| msgid "Błąd podczas odczytu tag_aliases:" | msgid "Błąd podczas odczytu tag_aliases:" | ||||||
| msgstr "Błąd podczas odczytu tag_aliases:" | msgstr "Błąd podczas odczytu tag_aliases:" | ||||||
|  |  | ||||||
| #: tag_processing.py:181 | #: tag_processing.py:216 | ||||||
| msgid "Błąd podczas odczytu tags:" | msgid "Błąd podczas odczytu tags:" | ||||||
| msgstr "Błąd podczas odczytu tags:" | msgstr "Błąd podczas odczytu tags:" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,6 +34,20 @@ def get_copyright_tags(tags_repo: TagsRepo): | |||||||
|         print(_("Błąd przy pobieraniu tagów copyright:"), e) |         print(_("Błąd przy pobieraniu tagów copyright:"), e) | ||||||
|         return set() |         return set() | ||||||
|  |  | ||||||
|  | @lru_cache(maxsize=1) | ||||||
|  | def get_artist_tags(tags_repo: TagsRepo): | ||||||
|  |     """Zwraca zbiór nazw tagów z kategorii Artist (kategoria = 1) z bazy tags.sqlite""" | ||||||
|  |     try: | ||||||
|  |         conn = tags_repo.get_conn() | ||||||
|  |         cursor = conn.cursor() | ||||||
|  |         cursor.execute("SELECT name FROM tags WHERE category = 1") | ||||||
|  |         rows = cursor.fetchall() | ||||||
|  |         conn.close() | ||||||
|  |         return {row[0] for row in rows} | ||||||
|  |     except Exception as e: | ||||||
|  |         print(_("Błąd przy pobieraniu tagów artystów:"), e) | ||||||
|  |         return set() | ||||||
|  |  | ||||||
|  |  | ||||||
| # Wzorce i ustawienia związane z tagami | # Wzorce i ustawienia związane z tagami | ||||||
| COEFFICIENT_PATTERN = re.compile(r"^.*?(:\d+|\d+\.\d+)$") | COEFFICIENT_PATTERN = re.compile(r"^.*?(:\d+|\d+\.\d+)$") | ||||||
| @@ -58,12 +72,22 @@ AUTO_METATAGS = [ | |||||||
|     "detailed_background", |     "detailed_background", | ||||||
|     "ultra-detailed", |     "ultra-detailed", | ||||||
|     "wallpaper", |     "wallpaper", | ||||||
|  |     "score_9", | ||||||
|  |     "score_8_up", | ||||||
|  |     "score_7_up", | ||||||
|  |     "score_6_up", | ||||||
|  |     "score_5_up", | ||||||
|  |     "score_4_up", | ||||||
|  |     "score_3_up", | ||||||
|  |     "score_2_up", | ||||||
|  |     "score_1_up", | ||||||
| ] | ] | ||||||
| TAG_FIXES = { | TAG_FIXES = { | ||||||
|     "2boy": "2boys", |     "2boy": "2boys", | ||||||
|     "2girl": "2girls", |     "2girl": "2girls", | ||||||
|     "exercise": "exercising", |     "exercise": "exercising", | ||||||
|     "keyboard_(computer)": "computer_keyboard", |     "keyboard_(computer)": "computer_keyboard", | ||||||
|  |     "official_art": "official_style", | ||||||
| } | } | ||||||
| MULTI_TAG_FIXES = { | MULTI_TAG_FIXES = { | ||||||
|     "black_choker_with_heart_charm": ["black_choker", "heart_choker"], |     "black_choker_with_heart_charm": ["black_choker", "heart_choker"], | ||||||
| @@ -119,6 +143,7 @@ def parse_parameters(param_str, tags_repo: TagsRepo): | |||||||
|     # Pobierz tagi z bazy |     # Pobierz tagi z bazy | ||||||
|     character_tags = get_character_tags(tags_repo) |     character_tags = get_character_tags(tags_repo) | ||||||
|     copyright_tags = get_copyright_tags(tags_repo) |     copyright_tags = get_copyright_tags(tags_repo) | ||||||
|  |     artist_tags = get_artist_tags(tags_repo) | ||||||
|  |  | ||||||
|     # Dla tagów należących do kategorii Character |     # Dla tagów należących do kategorii Character | ||||||
|     for tag in list(tags):  # iterujemy po kopii zbioru |     for tag in list(tags):  # iterujemy po kopii zbioru | ||||||
| @@ -130,6 +155,16 @@ def parse_parameters(param_str, tags_repo: TagsRepo): | |||||||
|         if tag in copyright_tags: |         if tag in copyright_tags: | ||||||
|             tags.discard(tag) |             tags.discard(tag) | ||||||
|             tags.add("copyright:" + tag) |             tags.add("copyright:" + tag) | ||||||
|  |     # Dla tagów należących do kategorii Artist | ||||||
|  |     artist_tags_counter = 0 | ||||||
|  |     for tag in list(tags): | ||||||
|  |         if tag in artist_tags: | ||||||
|  |             tags.discard(tag) | ||||||
|  |             tags.add(tag + "_(style)") | ||||||
|  |             tags.add("style_parody") | ||||||
|  |             artist_tags_counter += 1 | ||||||
|  |     if artist_tags_counter > 1: | ||||||
|  |         tags.add("multiple_style_parody") | ||||||
|  |  | ||||||
|     tags = list(tags) |     tags = list(tags) | ||||||
|     tags.sort() |     tags.sort() | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" | |||||||
|  |  | ||||||
| [project] | [project] | ||||||
| name = "kapitanbooru-uploader" | name = "kapitanbooru-uploader" | ||||||
| version = "0.5.2" | version = "0.6.0" | ||||||
| description = "A GUI application for uploading images to KapitanBooru" | description = "A GUI application for uploading images to KapitanBooru" | ||||||
| authors = [{ name = "Michał Leśniak", email = "kapitan@mlesniak.pl" }] | authors = [{ name = "Michał Leśniak", email = "kapitan@mlesniak.pl" }] | ||||||
| dependencies = [ | dependencies = [ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user