Bump version to 0.9.4; update localization files and adjust index references in Core and ImageBrowser
	
		
			
	
		
	
	
		
	
		
			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:
		| @@ -35,7 +35,7 @@ class Core: | |||||||
|     """ |     """ | ||||||
|  |  | ||||||
|     def __init__(self, settings: Settings, gui_mode: bool = True): |     def __init__(self, settings: Settings, gui_mode: bool = True): | ||||||
|         self.version = "0.9.3" |         self.version = "0.9.4" | ||||||
|         self.acknowledged_version = parse_version(self.version) |         self.acknowledged_version = parse_version(self.version) | ||||||
|         self.settings = settings |         self.settings = settings | ||||||
|         self.tags_repo = TagsRepo(settings) |         self.tags_repo = TagsRepo(settings) | ||||||
| @@ -70,7 +70,6 @@ class Core: | |||||||
|         self.image_files_md5 = [] |         self.image_files_md5 = [] | ||||||
|         self.current_index = None |         self.current_index = None | ||||||
|         self.image_cache = None |         self.image_cache = None | ||||||
|         self.tagger_thread_idx = 0 |  | ||||||
|         self.tagger = wdt.Tagger() |         self.tagger = wdt.Tagger() | ||||||
|  |  | ||||||
|         # Liczniki statusu |         # Liczniki statusu | ||||||
|   | |||||||
| @@ -59,6 +59,7 @@ class ImageBrowser(tk.Tk): | |||||||
|         # Słowniki przechowujące stany tagów (dla PNG i Taggera) |         # Słowniki przechowujące stany tagów (dla PNG i Taggera) | ||||||
|         self.png_tags_states = {} |         self.png_tags_states = {} | ||||||
|         self.tagger_tags_states = {} |         self.tagger_tags_states = {} | ||||||
|  |         self.tagger_thread_idx = 0 | ||||||
|  |  | ||||||
|         self.create_menu() |         self.create_menu() | ||||||
|         self.create_widgets() |         self.create_widgets() | ||||||
| @@ -80,7 +81,7 @@ class ImageBrowser(tk.Tk): | |||||||
|             lambda idx=idx: self.listbox.itemconfig(idx, {"bg": "lightgray"}), |             lambda idx=idx: self.listbox.itemconfig(idx, {"bg": "lightgray"}), | ||||||
|         ) |         ) | ||||||
|         # Jeśli aktualnie wybrany plik, zmień przycisk |         # Jeśli aktualnie wybrany plik, zmień przycisk | ||||||
|         if self.current_index == idx: |         if self.core.current_index == idx: | ||||||
|             self.after(0, self.update_button_states) |             self.after(0, self.update_button_states) | ||||||
|  |  | ||||||
|     def _schedule_update_check(self): |     def _schedule_update_check(self): | ||||||
| @@ -552,7 +553,7 @@ class ImageBrowser(tk.Tk): | |||||||
|             for file in self.core.image_files: |             for file in self.core.image_files: | ||||||
|                 self.listbox.insert(tk.END, os.path.basename(file)) |                 self.listbox.insert(tk.END, os.path.basename(file)) | ||||||
|             if self.core.image_files: |             if self.core.image_files: | ||||||
|                 self.current_index = 0 |                 self.core.current_index = 0 | ||||||
|                 self.listbox.select_set(0) |                 self.listbox.select_set(0) | ||||||
|                 self.show_image(0) |                 self.show_image(0) | ||||||
|                 self.update_button_states() |                 self.update_button_states() | ||||||
| @@ -585,12 +586,12 @@ class ImageBrowser(tk.Tk): | |||||||
|             - Buttons: upload_button, view_post_button |             - Buttons: upload_button, view_post_button | ||||||
|  |  | ||||||
|         Dependencies: |         Dependencies: | ||||||
|             - Relies on self.current_index to determine selection state |             - Relies on self.core.current_index to determine selection state | ||||||
|             - Checks self.uploaded against self.image_files for post existence |             - Checks self.uploaded against self.image_files for post existence | ||||||
|         """ |         """ | ||||||
|         has_current = self.current_index is not None |         has_current = self.core.current_index is not None | ||||||
|         post_id = ( |         post_id = ( | ||||||
|             self.core.uploaded.get(self.core.image_files[self.current_index]) |             self.core.uploaded.get(self.core.image_files[self.core.current_index]) | ||||||
|             if has_current |             if has_current | ||||||
|             else None |             else None | ||||||
|         ) |         ) | ||||||
| @@ -620,9 +621,9 @@ class ImageBrowser(tk.Tk): | |||||||
|  |  | ||||||
|     def view_current_post(self): |     def view_current_post(self): | ||||||
|         """Otwiera w przeglądarce URL posta.""" |         """Otwiera w przeglądarce URL posta.""" | ||||||
|         if self.current_index is None: |         if self.core.current_index is None: | ||||||
|             return |             return | ||||||
|         post_id = self.core.uploaded.get(self.core.image_files[self.current_index]) |         post_id = self.core.uploaded.get(self.core.image_files[self.core.current_index]) | ||||||
|         if post_id: |         if post_id: | ||||||
|             url = self.core.settings.base_url.rstrip("/") + "/post/view/" + str(post_id) |             url = self.core.settings.base_url.rstrip("/") + "/post/view/" + str(post_id) | ||||||
|             open_webbrowser(url, self.core.settings) |             open_webbrowser(url, self.core.settings) | ||||||
| @@ -635,7 +636,7 @@ class ImageBrowser(tk.Tk): | |||||||
|         if not self.listbox.curselection(): |         if not self.listbox.curselection(): | ||||||
|             return |             return | ||||||
|         index = self.listbox.curselection()[0] |         index = self.listbox.curselection()[0] | ||||||
|         self.current_index = index |         self.core.current_index = index | ||||||
|         self.show_image(index) |         self.show_image(index) | ||||||
|         self.update_button_states() |         self.update_button_states() | ||||||
|  |  | ||||||
| @@ -645,7 +646,7 @@ class ImageBrowser(tk.Tk): | |||||||
|         Wysyła POST z obrazkiem, tagami i ratingiem. |         Wysyła POST z obrazkiem, tagami i ratingiem. | ||||||
|         Po zakończeniu uploadu, ustawia przycisk na "Wyświetl". |         Po zakończeniu uploadu, ustawia przycisk na "Wyświetl". | ||||||
|         """ |         """ | ||||||
|         file_path = self.core.image_files[self.current_index] |         file_path = self.core.image_files[self.core.current_index] | ||||||
|         if self.core.uploaded.get(file_path, False): |         if self.core.uploaded.get(file_path, False): | ||||||
|             # Jeśli plik już uploadowany, ustaw przycisk na "Wyświetl" |             # Jeśli plik już uploadowany, ustaw przycisk na "Wyświetl" | ||||||
|             self.update_button_states() |             self.update_button_states() | ||||||
| @@ -708,7 +709,7 @@ class ImageBrowser(tk.Tk): | |||||||
|         Modyfikuje obrazek na serwerze. |         Modyfikuje obrazek na serwerze. | ||||||
|         Wysyła POST z md5 obrazka, tagami i ratingiem. |         Wysyła POST z md5 obrazka, tagami i ratingiem. | ||||||
|         """ |         """ | ||||||
|         file_path = self.core.image_files[self.current_index] |         file_path = self.core.image_files[self.core.current_index] | ||||||
|         if not self.core.uploaded.get(file_path, False): |         if not self.core.uploaded.get(file_path, False): | ||||||
|             self.update_button_states() |             self.update_button_states() | ||||||
|             return |             return | ||||||
| @@ -799,12 +800,12 @@ class ImageBrowser(tk.Tk): | |||||||
|         """ |         """ | ||||||
|         Przełącza na poprzedni obraz |         Przełącza na poprzedni obraz | ||||||
|         """ |         """ | ||||||
|         if self.current_index is None: |         if self.core.current_index is None: | ||||||
|             return |             return | ||||||
|         new_index = self.current_index - 1 |         new_index = self.core.current_index - 1 | ||||||
|         if new_index < 0: |         if new_index < 0: | ||||||
|             new_index = len(self.core.image_files) - 1 |             new_index = len(self.core.image_files) - 1 | ||||||
|         self.current_index = new_index |         self.core.current_index = new_index | ||||||
|         self.listbox.select_clear(0, tk.END) |         self.listbox.select_clear(0, tk.END) | ||||||
|         self.listbox.select_set(new_index) |         self.listbox.select_set(new_index) | ||||||
|         self.listbox.activate(new_index) |         self.listbox.activate(new_index) | ||||||
| @@ -815,12 +816,12 @@ class ImageBrowser(tk.Tk): | |||||||
|         """ |         """ | ||||||
|         Przełącza na następny obraz |         Przełącza na następny obraz | ||||||
|         """ |         """ | ||||||
|         if self.current_index is None: |         if self.core.current_index is None: | ||||||
|             return |             return | ||||||
|         new_index = self.current_index + 1 |         new_index = self.core.current_index + 1 | ||||||
|         if new_index >= len(self.core.image_files): |         if new_index >= len(self.core.image_files): | ||||||
|             new_index = 0 |             new_index = 0 | ||||||
|         self.current_index = new_index |         self.core.current_index = new_index | ||||||
|         self.listbox.select_clear(0, tk.END) |         self.listbox.select_clear(0, tk.END) | ||||||
|         self.listbox.select_set(new_index) |         self.listbox.select_set(new_index) | ||||||
|         self.listbox.activate(new_index) |         self.listbox.activate(new_index) | ||||||
| @@ -1145,14 +1146,14 @@ class ImageBrowser(tk.Tk): | |||||||
|         Jeśli wynik jest już w cache, wykorzystuje go; w przeciwnym razie uruchamia Taggera |         Jeśli wynik jest już w cache, wykorzystuje go; w przeciwnym razie uruchamia Taggera | ||||||
|         i zapisuje wynik do cache. |         i zapisuje wynik do cache. | ||||||
|         """ |         """ | ||||||
|         if self.current_index is None: |         if self.core.current_index is None: | ||||||
|             return |             return | ||||||
|         # Ustaw komunikat, że Tagger pracuje |         # Ustaw komunikat, że Tagger pracuje | ||||||
|         self.tagger_tags_text.config(state=tk.NORMAL) |         self.tagger_tags_text.config(state=tk.NORMAL) | ||||||
|         self.tagger_tags_text.delete("1.0", tk.END) |         self.tagger_tags_text.delete("1.0", tk.END) | ||||||
|         self.tagger_tags_text.insert("1.0", _("Tagger przetwarza...")) |         self.tagger_tags_text.insert("1.0", _("Tagger przetwarza...")) | ||||||
|         self.tagger_tags_text.config(state=tk.DISABLED) |         self.tagger_tags_text.config(state=tk.DISABLED) | ||||||
|         file_path = self.core.image_files[self.current_index] |         file_path = self.core.image_files[self.core.current_index] | ||||||
|         result = self.core.get_tagger_results(file_path, lambda: self.after(0, self.update_status_bar)) |         result = self.core.get_tagger_results(file_path, lambda: self.after(0, self.update_status_bar)) | ||||||
|         new_rating = self.core.map_tagger_rating(result) |         new_rating = self.core.map_tagger_rating(result) | ||||||
|         self.rating_var.set(new_rating) |         self.rating_var.set(new_rating) | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: Kapitanbooru Uploader 0.9.3\n" | "Project-Id-Version: Kapitanbooru Uploader 0.9.4\n" | ||||||
| "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | ||||||
| "POT-Creation-Date: 2025-06-26 17:51+0200\n" | "POT-Creation-Date: 2025-06-26 18:00+0200\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" | ||||||
|  |  | ||||||
| @@ -43,56 +43,56 @@ msgstr "Found auth_token:" | |||||||
| msgid "auth_token not found in the HTML page." | msgid "auth_token not found in the HTML page." | ||||||
| msgstr "auth_token not found in the HTML page." | msgstr "auth_token not found in the HTML page." | ||||||
|  |  | ||||||
| #: Core.py:196 | #: Core.py:195 | ||||||
| msgid "Błąd przy otwieraniu pliku" | msgid "Błąd przy otwieraniu pliku" | ||||||
| msgstr "Error opening file" | msgstr "Error opening file" | ||||||
|  |  | ||||||
| #: Core.py:238 | #: Core.py:237 | ||||||
| msgid "Tagger przetworzył:" | msgid "Tagger przetworzył:" | ||||||
| msgstr "Tagger processed:" | msgstr "Tagger processed:" | ||||||
|  |  | ||||||
| #: Core.py:241 | #: Core.py:240 | ||||||
| msgid "Błąd Taggera dla" | msgid "Błąd Taggera dla" | ||||||
| msgstr "Tagger error for" | msgstr "Tagger error for" | ||||||
|  |  | ||||||
| #: Core.py:296 | #: Core.py:295 | ||||||
| msgid "Error computing MD5:" | msgid "Error computing MD5:" | ||||||
| msgstr "Error computing MD5:" | msgstr "Error computing MD5:" | ||||||
|  |  | ||||||
| #: Core.py:421 | #: Core.py:420 | ||||||
| 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:" | ||||||
|  |  | ||||||
| #: Core.py:430 | #: Core.py:429 | ||||||
| msgid "Plik nie istnieje:" | msgid "Plik nie istnieje:" | ||||||
| msgstr "File does not exist:" | msgstr "File does not exist:" | ||||||
|  |  | ||||||
| #: Core.py:436 | #: Core.py:435 | ||||||
| msgid "Tagi dla pliku" | msgid "Tagi dla pliku" | ||||||
| msgstr "Tags for file" | msgstr "Tags for file" | ||||||
|  |  | ||||||
| #: Core.py:445 | #: Core.py:444 | ||||||
| msgid "Błąd podczas autotagowania pliku" | msgid "Błąd podczas autotagowania pliku" | ||||||
| msgstr "Error during file autotagowania" | msgstr "Error during file autotagowania" | ||||||
|  |  | ||||||
| #: Core.py:452 | #: Core.py:451 | ||||||
| msgid "Podana ścieżka nie jest katalogiem:" | msgid "Podana ścieżka nie jest katalogiem:" | ||||||
| msgstr "Given path is not a directory:" | msgstr "Given path is not a directory:" | ||||||
|  |  | ||||||
| #: Core.py:460 | #: Core.py:459 | ||||||
| msgid "Brak obrazów do przetworzenia w katalogu:" | msgid "Brak obrazów do przetworzenia w katalogu:" | ||||||
| msgstr "No images to process in directory:" | msgstr "No images to process in directory:" | ||||||
|  |  | ||||||
| #: Core.py:483 | #: Core.py:482 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Wysyłam plik {base_file_name}..." | msgid "Wysyłam plik {base_file_name}..." | ||||||
| msgstr "Uploading file {base_file_name}..." | msgstr "Uploading file {base_file_name}..." | ||||||
|  |  | ||||||
| #: Core.py:518 | #: Core.py:517 | ||||||
| msgid "Wysyłanie zakończone powodzeniem!" | msgid "Wysyłanie zakończone powodzeniem!" | ||||||
| msgstr "Upload completed successfully!" | msgstr "Upload completed successfully!" | ||||||
|  |  | ||||||
| #: Core.py:522 Core.py:531 | #: Core.py:521 Core.py:530 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Wysyłanie zakończone błędem.\n" | "Wysyłanie zakończone błędem.\n" | ||||||
| @@ -103,52 +103,52 @@ msgstr "" | |||||||
| "Status: {status_code}\n" | "Status: {status_code}\n" | ||||||
| "Content: {text}" | "Content: {text}" | ||||||
|  |  | ||||||
| #: Core.py:540 Core.py:546 ImageBrowser.py:663 ImageBrowser.py:666 | #: Core.py:539 Core.py:545 ImageBrowser.py:664 ImageBrowser.py:667 | ||||||
| #: ImageBrowser.py:1186 ImageBrowser.py:1189 | #: ImageBrowser.py:1187 ImageBrowser.py:1190 | ||||||
| msgid "Wysyłanie" | msgid "Wysyłanie" | ||||||
| msgstr "Uploading" | msgstr "Uploading" | ||||||
|  |  | ||||||
| #: Core.py:558 | #: Core.py:557 | ||||||
| msgid "Błąd wysyłania pliku" | msgid "Błąd wysyłania pliku" | ||||||
| msgstr "Upload error" | msgstr "Upload error" | ||||||
|  |  | ||||||
| #: Core.py:588 | #: Core.py:587 | ||||||
| msgid "Anulowano operację!" | msgid "Anulowano operację!" | ||||||
| msgstr "Operation cancelled!" | msgstr "Operation cancelled!" | ||||||
|  |  | ||||||
| #: Core.py:598 | #: Core.py:597 | ||||||
| #, 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}" | ||||||
|  |  | ||||||
| #: Core.py:617 | #: Core.py:616 | ||||||
| msgid "Przesłano pliki!" | msgid "Przesłano pliki!" | ||||||
| msgstr "Files have been uploaded!" | msgstr "Files have been uploaded!" | ||||||
|  |  | ||||||
| #: Core.py:638 Core.py:642 | #: Core.py:637 Core.py:641 | ||||||
| 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" | ||||||
|  |  | ||||||
| #: Core.py:653 | #: Core.py:652 | ||||||
| #, 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}..." | ||||||
|  |  | ||||||
| #: Core.py:663 Core.py:673 Core.py:698 | #: Core.py:662 Core.py:672 Core.py:697 | ||||||
| msgid "Operacja anulowana" | msgid "Operacja anulowana" | ||||||
| msgstr "Operation cancelled" | msgstr "Operation cancelled" | ||||||
|  |  | ||||||
| #: Core.py:708 | #: Core.py:707 | ||||||
| msgid "Tagi zostały zaktualizowane!" | msgid "Tagi zostały zaktualizowane!" | ||||||
| msgstr "Tags have been updated!" | msgstr "Tags have been updated!" | ||||||
|  |  | ||||||
| #: Core.py:713 ImageBrowser.py:728 | #: Core.py:712 ImageBrowser.py:729 | ||||||
| msgid "Sukces edycji" | msgid "Sukces edycji" | ||||||
| msgstr "Edit successful" | msgstr "Edit successful" | ||||||
|  |  | ||||||
| #: Core.py:720 | #: Core.py:719 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Błąd podczas aktualizacji tagów\n" | "Błąd podczas aktualizacji tagów\n" | ||||||
| @@ -157,38 +157,38 @@ msgstr "" | |||||||
| "Error updating tags\n" | "Error updating tags\n" | ||||||
| "Status: {code}" | "Status: {code}" | ||||||
|  |  | ||||||
| #: Core.py:724 | #: Core.py:723 | ||||||
| msgid "Treść:" | msgid "Treść:" | ||||||
| msgstr "Content:" | msgstr "Content:" | ||||||
|  |  | ||||||
| #: Core.py:728 ImageBrowser.py:725 | #: Core.py:727 ImageBrowser.py:726 | ||||||
| msgid "Błąd edycji" | msgid "Błąd edycji" | ||||||
| msgstr "Edit error" | msgstr "Edit error" | ||||||
|  |  | ||||||
| #: Core.py:734 | #: Core.py:733 | ||||||
| msgid "Krytyczny błąd edycji" | msgid "Krytyczny błąd edycji" | ||||||
| msgstr "Critical edit error" | msgstr "Critical edit error" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:120 | #: ImageBrowser.py:121 | ||||||
| #, 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:122 | #: ImageBrowser.py:123 | ||||||
| #, 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:125 | #: ImageBrowser.py:126 | ||||||
| #, 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:132 | #: ImageBrowser.py:133 | ||||||
| msgid "Update Available" | msgid "Update Available" | ||||||
| msgstr "Update Available" | msgstr "Update Available" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:134 | #: ImageBrowser.py:135 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "A new version {new_version} is available!\n" | "A new version {new_version} is available!\n" | ||||||
| @@ -201,219 +201,219 @@ msgstr "" | |||||||
| "\n" | "\n" | ||||||
| "Update using: {update_command}" | "Update using: {update_command}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:191 | #: ImageBrowser.py:192 | ||||||
| msgid "Otwórz folder" | msgid "Otwórz folder" | ||||||
| msgstr "Open folder" | msgstr "Open folder" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:194 ImageBrowser.py:492 ImageBrowser.py:610 | #: ImageBrowser.py:195 ImageBrowser.py:493 ImageBrowser.py:611 | ||||||
| #: ImageBrowser.py:618 | #: ImageBrowser.py:619 | ||||||
| msgid "Wyślij" | msgid "Wyślij" | ||||||
| msgstr "Upload" | msgstr "Upload" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:197 ImageBrowser.py:603 | #: ImageBrowser.py:198 ImageBrowser.py:604 | ||||||
| msgid "Wyślij wszystko" | msgid "Wyślij wszystko" | ||||||
| msgstr "Upload all" | msgstr "Upload all" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:201 ImageBrowser.py:604 ImageBrowser.py:610 | #: ImageBrowser.py:202 ImageBrowser.py:605 ImageBrowser.py:611 | ||||||
| msgid "Podmień tagi" | msgid "Podmień tagi" | ||||||
| msgstr "Replace tags" | msgstr "Replace tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:204 ImageBrowser.py:605 | #: ImageBrowser.py:205 ImageBrowser.py:606 | ||||||
| msgid "Otwórz post" | msgid "Otwórz post" | ||||||
| msgstr "Open post" | msgstr "Open post" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:207 | #: ImageBrowser.py:208 | ||||||
| msgid "Zakończ" | msgid "Zakończ" | ||||||
| msgstr "Finish" | msgstr "Finish" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:209 | #: ImageBrowser.py:210 | ||||||
| msgid "Plik" | msgid "Plik" | ||||||
| msgstr "File" | msgstr "File" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:213 ImageBrowser.py:314 | #: ImageBrowser.py:214 ImageBrowser.py:315 | ||||||
| msgid "Ustawienia" | msgid "Ustawienia" | ||||||
| msgstr "Settings" | msgstr "Settings" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:216 | #: ImageBrowser.py:217 | ||||||
| msgid "Wyczyść cache Taggera" | msgid "Wyczyść cache Taggera" | ||||||
| msgstr "Clear Tagger cache" | msgstr "Clear Tagger cache" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:219 | #: ImageBrowser.py:220 | ||||||
| msgid "Zregeneruj bazę tagów" | msgid "Zregeneruj bazę tagów" | ||||||
| msgstr "Regenerate tag database" | msgstr "Regenerate tag database" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:221 | #: ImageBrowser.py:222 | ||||||
| msgid "Opcje" | msgid "Opcje" | ||||||
| msgstr "Options" | msgstr "Options" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:224 | #: ImageBrowser.py:225 | ||||||
| msgid "About" | msgid "About" | ||||||
| msgstr "About" | msgstr "About" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:225 | #: ImageBrowser.py:226 | ||||||
| msgid "Help" | msgid "Help" | ||||||
| msgstr "Help" | msgstr "Help" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:230 | #: ImageBrowser.py:231 | ||||||
| msgid "About Kapitanbooru Uploader" | msgid "About Kapitanbooru Uploader" | ||||||
| msgstr "About Kapitanbooru Uploader" | msgstr "About Kapitanbooru Uploader" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:247 | #: ImageBrowser.py:248 | ||||||
| #, 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:254 | #: ImageBrowser.py:255 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Current version: {version}" | msgid "Current version: {version}" | ||||||
| msgstr "Current version: {version}" | msgstr "Current version: {version}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:256 | #: ImageBrowser.py:257 | ||||||
| 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:257 | #: ImageBrowser.py:258 | ||||||
| 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:258 | #: ImageBrowser.py:259 | ||||||
| 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:260 | #: ImageBrowser.py:261 | ||||||
| msgid "Authors:" | msgid "Authors:" | ||||||
| msgstr "Authors:" | msgstr "Authors:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:263 | #: ImageBrowser.py:264 | ||||||
| msgid "License: MIT License" | msgid "License: MIT License" | ||||||
| msgstr "License: MIT License" | msgstr "License: MIT License" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:276 | #: ImageBrowser.py:277 | ||||||
| msgid "Repository:" | msgid "Repository:" | ||||||
| msgstr "Repository:" | msgstr "Repository:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:285 | #: ImageBrowser.py:286 | ||||||
| msgid "Website:" | msgid "Website:" | ||||||
| msgstr "Website:" | msgstr "Website:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:296 | #: ImageBrowser.py:297 | ||||||
| msgid "Close" | msgid "Close" | ||||||
| msgstr "Close" | msgstr "Close" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:306 ImageBrowser.py:309 | #: ImageBrowser.py:307 ImageBrowser.py:310 | ||||||
| msgid "Cache" | msgid "Cache" | ||||||
| msgstr "Cache" | msgstr "Cache" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:306 | #: ImageBrowser.py:307 | ||||||
| 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:309 | #: ImageBrowser.py:310 | ||||||
| msgid "Błąd przy czyszczeniu cache:" | msgid "Błąd przy czyszczeniu cache:" | ||||||
| msgstr "Error clearing cache:" | msgstr "Error clearing cache:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:319 | #: ImageBrowser.py:320 | ||||||
| msgid "Login:" | msgid "Login:" | ||||||
| msgstr "Login:" | msgstr "Login:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:325 | #: ImageBrowser.py:326 | ||||||
| msgid "Hasło:" | msgid "Hasło:" | ||||||
| msgstr "Password:" | msgstr "Password:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:331 | #: ImageBrowser.py:332 | ||||||
| msgid "Base URL:" | msgid "Base URL:" | ||||||
| msgstr "Base URL:" | msgstr "Base URL:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:337 | #: ImageBrowser.py:338 | ||||||
| msgid "Default Tags:" | msgid "Default Tags:" | ||||||
| msgstr "Default Tags:" | msgstr "Default Tags:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:343 | #: ImageBrowser.py:344 | ||||||
| msgid "Browser:" | msgid "Browser:" | ||||||
| msgstr "Browser:" | msgstr "Browser:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:357 | #: ImageBrowser.py:358 | ||||||
| msgid "Language:" | msgid "Language:" | ||||||
| msgstr "Language:" | msgstr "Language:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:393 | #: ImageBrowser.py:394 | ||||||
| msgid "Zapisz" | msgid "Zapisz" | ||||||
| msgstr "Save" | msgstr "Save" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:435 | #: ImageBrowser.py:436 | ||||||
| msgid "PNG Tags" | msgid "PNG Tags" | ||||||
| msgstr "PNG Tags" | msgstr "PNG Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:447 | #: ImageBrowser.py:448 | ||||||
| msgid "Tagger Tags" | msgid "Tagger Tags" | ||||||
| msgstr "Tagger Tags" | msgstr "Tagger Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:461 | #: ImageBrowser.py:462 | ||||||
| msgid "Manual Tags" | msgid "Manual Tags" | ||||||
| msgstr "Manual Tags" | msgstr "Manual Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:472 | #: ImageBrowser.py:473 | ||||||
| msgid "Final Tags" | msgid "Final Tags" | ||||||
| msgstr "Final Tags" | msgstr "Final Tags" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:497 | #: ImageBrowser.py:498 | ||||||
| msgid "Wyświetl" | msgid "Wyświetl" | ||||||
| msgstr "Display" | msgstr "Display" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:514 | #: ImageBrowser.py:515 | ||||||
| msgid "Przetworzono tagi:" | msgid "Przetworzono tagi:" | ||||||
| msgstr "Processed tags:" | msgstr "Processed tags:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:514 ImageBrowser.py:515 ImageBrowser.py:516 | #: ImageBrowser.py:515 ImageBrowser.py:516 ImageBrowser.py:517 | ||||||
| msgid "plików" | msgid "plików" | ||||||
| msgstr "files" | msgstr "files" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:515 | #: ImageBrowser.py:516 | ||||||
| msgid "Zweryfikowano status uploadu:" | msgid "Zweryfikowano status uploadu:" | ||||||
| msgstr "Upload status verified:" | msgstr "Upload status verified:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:516 | #: ImageBrowser.py:517 | ||||||
| msgid "Zuploadowano:" | msgid "Zuploadowano:" | ||||||
| msgstr "Uploaded:" | msgstr "Uploaded:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:545 | #: ImageBrowser.py:546 | ||||||
| msgid "Wybierz folder z obrazkami PNG, JPEG, WebP, AVIF i GIF" | msgid "Wybierz folder z obrazkami PNG, JPEG, WebP, AVIF i GIF" | ||||||
| msgstr "Select folder with PNG, JPEG, WebP, AVIF, and GIF images" | msgstr "Select folder with PNG, JPEG, WebP, AVIF, and GIF images" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:561 | #: ImageBrowser.py:562 | ||||||
| msgid "Informacja" | msgid "Informacja" | ||||||
| msgstr "Information" | msgstr "Information" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:562 | #: ImageBrowser.py:563 | ||||||
| msgid "Brak plików PNG, JPEG, WebP, AVIF lub GIF w wybranym folderze." | msgid "Brak plików PNG, JPEG, WebP, AVIF lub GIF w wybranym folderze." | ||||||
| msgstr "No PNG, JPEG, WebP, AVIF or GIF files in the selected folder." | msgstr "No PNG, JPEG, WebP, AVIF or GIF files in the selected folder." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:669 ImageBrowser.py:1192 | #: ImageBrowser.py:670 ImageBrowser.py:1193 | ||||||
| msgid "Błąd wysyłania" | msgid "Błąd wysyłania" | ||||||
| msgstr "Upload error" | msgstr "Upload error" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:704 | #: ImageBrowser.py:705 | ||||||
| msgid "Błąd" | msgid "Błąd" | ||||||
| msgstr "Error" | msgstr "Error" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:704 | #: ImageBrowser.py:705 | ||||||
| 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:932 ImageBrowser.py:944 | #: ImageBrowser.py:933 ImageBrowser.py:945 | ||||||
| #, 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:1153 | #: ImageBrowser.py:1154 | ||||||
| msgid "Tagger przetwarza..." | msgid "Tagger przetwarza..." | ||||||
| msgstr "Tagger processing..." | msgstr "Tagger processing..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1170 | #: ImageBrowser.py:1171 | ||||||
| msgid "Potwierdzenie" | msgid "Potwierdzenie" | ||||||
| msgstr "Confirmation" | msgstr "Confirmation" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1172 | #: ImageBrowser.py:1173 | ||||||
| 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" | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: Kapitanbooru Uploader 0.9.3\n" | "Project-Id-Version: Kapitanbooru Uploader 0.9.4\n" | ||||||
| "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" | ||||||
| "POT-Creation-Date: 2025-06-26 17:51+0200\n" | "POT-Creation-Date: 2025-06-26 18:00+0200\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" | ||||||
| @@ -45,56 +45,56 @@ msgstr "Znaleziono auth_token:" | |||||||
| msgid "auth_token not found in the HTML page." | msgid "auth_token not found in the HTML page." | ||||||
| msgstr "Nie znaleziono auth_token w stronie HTML." | msgstr "Nie znaleziono auth_token w stronie HTML." | ||||||
|  |  | ||||||
| #: Core.py:196 | #: Core.py:195 | ||||||
| msgid "Błąd przy otwieraniu pliku" | msgid "Błąd przy otwieraniu pliku" | ||||||
| msgstr "Błąd przy otwieraniu pliku" | msgstr "Błąd przy otwieraniu pliku" | ||||||
|  |  | ||||||
| #: Core.py:238 | #: Core.py:237 | ||||||
| msgid "Tagger przetworzył:" | msgid "Tagger przetworzył:" | ||||||
| msgstr "Tagger przetworzył:" | msgstr "Tagger przetworzył:" | ||||||
|  |  | ||||||
| #: Core.py:241 | #: Core.py:240 | ||||||
| msgid "Błąd Taggera dla" | msgid "Błąd Taggera dla" | ||||||
| msgstr "Błąd Taggera dla" | msgstr "Błąd Taggera dla" | ||||||
|  |  | ||||||
| #: Core.py:296 | #: Core.py:295 | ||||||
| msgid "Error computing MD5:" | msgid "Error computing MD5:" | ||||||
| msgstr "Błąd przy obliczaniu MD5:" | msgstr "Błąd przy obliczaniu MD5:" | ||||||
|  |  | ||||||
| #: Core.py:421 | #: Core.py:420 | ||||||
| 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:" | ||||||
|  |  | ||||||
| #: Core.py:430 | #: Core.py:429 | ||||||
| msgid "Plik nie istnieje:" | msgid "Plik nie istnieje:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #: Core.py:436 | #: Core.py:435 | ||||||
| msgid "Tagi dla pliku" | msgid "Tagi dla pliku" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #: Core.py:445 | #: Core.py:444 | ||||||
| msgid "Błąd podczas autotagowania pliku" | msgid "Błąd podczas autotagowania pliku" | ||||||
| msgstr "Błąd podczas autotagowania pliku" | msgstr "Błąd podczas autotagowania pliku" | ||||||
|  |  | ||||||
| #: Core.py:452 | #: Core.py:451 | ||||||
| msgid "Podana ścieżka nie jest katalogiem:" | msgid "Podana ścieżka nie jest katalogiem:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #: Core.py:460 | #: Core.py:459 | ||||||
| msgid "Brak obrazów do przetworzenia w katalogu:" | msgid "Brak obrazów do przetworzenia w katalogu:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #: Core.py:483 | #: Core.py:482 | ||||||
| #, 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}..." | ||||||
|  |  | ||||||
| #: Core.py:518 | #: Core.py:517 | ||||||
| msgid "Wysyłanie zakończone powodzeniem!" | msgid "Wysyłanie zakończone powodzeniem!" | ||||||
| msgstr "Wysyłanie zakończone powodzeniem!" | msgstr "Wysyłanie zakończone powodzeniem!" | ||||||
|  |  | ||||||
| #: Core.py:522 Core.py:531 | #: Core.py:521 Core.py:530 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Wysyłanie zakończone błędem.\n" | "Wysyłanie zakończone błędem.\n" | ||||||
| @@ -105,52 +105,52 @@ msgstr "" | |||||||
| "Status: {status_code}\n" | "Status: {status_code}\n" | ||||||
| "Treść: {text}" | "Treść: {text}" | ||||||
|  |  | ||||||
| #: Core.py:540 Core.py:546 ImageBrowser.py:663 ImageBrowser.py:666 | #: Core.py:539 Core.py:545 ImageBrowser.py:664 ImageBrowser.py:667 | ||||||
| #: ImageBrowser.py:1186 ImageBrowser.py:1189 | #: ImageBrowser.py:1187 ImageBrowser.py:1190 | ||||||
| msgid "Wysyłanie" | msgid "Wysyłanie" | ||||||
| msgstr "Wysyłanie" | msgstr "Wysyłanie" | ||||||
|  |  | ||||||
| #: Core.py:558 | #: Core.py:557 | ||||||
| msgid "Błąd wysyłania pliku" | msgid "Błąd wysyłania pliku" | ||||||
| msgstr "Błąd wysyłania pliku" | msgstr "Błąd wysyłania pliku" | ||||||
|  |  | ||||||
| #: Core.py:588 | #: Core.py:587 | ||||||
| msgid "Anulowano operację!" | msgid "Anulowano operację!" | ||||||
| msgstr "Operacja anulowana!" | msgstr "Operacja anulowana!" | ||||||
|  |  | ||||||
| #: Core.py:598 | #: Core.py:597 | ||||||
| #, 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}" | ||||||
|  |  | ||||||
| #: Core.py:617 | #: Core.py:616 | ||||||
| msgid "Przesłano pliki!" | msgid "Przesłano pliki!" | ||||||
| msgstr "Pliki zostały przesłane!" | msgstr "Pliki zostały przesłane!" | ||||||
|  |  | ||||||
| #: Core.py:638 Core.py:642 | #: Core.py:637 Core.py:641 | ||||||
| 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" | ||||||
|  |  | ||||||
| #: Core.py:653 | #: Core.py:652 | ||||||
| #, 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}..." | ||||||
|  |  | ||||||
| #: Core.py:663 Core.py:673 Core.py:698 | #: Core.py:662 Core.py:672 Core.py:697 | ||||||
| msgid "Operacja anulowana" | msgid "Operacja anulowana" | ||||||
| msgstr "Operacja anulowana" | msgstr "Operacja anulowana" | ||||||
|  |  | ||||||
| #: Core.py:708 | #: Core.py:707 | ||||||
| msgid "Tagi zostały zaktualizowane!" | msgid "Tagi zostały zaktualizowane!" | ||||||
| msgstr "Tagi zostały zaktualizowane!" | msgstr "Tagi zostały zaktualizowane!" | ||||||
|  |  | ||||||
| #: Core.py:713 ImageBrowser.py:728 | #: Core.py:712 ImageBrowser.py:729 | ||||||
| msgid "Sukces edycji" | msgid "Sukces edycji" | ||||||
| msgstr "Sukces edycji" | msgstr "Sukces edycji" | ||||||
|  |  | ||||||
| #: Core.py:720 | #: Core.py:719 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "Błąd podczas aktualizacji tagów\n" | "Błąd podczas aktualizacji tagów\n" | ||||||
| @@ -159,38 +159,38 @@ msgstr "" | |||||||
| "Błąd podczas aktualizacji tagów\n" | "Błąd podczas aktualizacji tagów\n" | ||||||
| "Status: {code}" | "Status: {code}" | ||||||
|  |  | ||||||
| #: Core.py:724 | #: Core.py:723 | ||||||
| msgid "Treść:" | msgid "Treść:" | ||||||
| msgstr "Treść:" | msgstr "Treść:" | ||||||
|  |  | ||||||
| #: Core.py:728 ImageBrowser.py:725 | #: Core.py:727 ImageBrowser.py:726 | ||||||
| msgid "Błąd edycji" | msgid "Błąd edycji" | ||||||
| msgstr "Błąd edycji" | msgstr "Błąd edycji" | ||||||
|  |  | ||||||
| #: Core.py:734 | #: Core.py:733 | ||||||
| msgid "Krytyczny błąd edycji" | msgid "Krytyczny błąd edycji" | ||||||
| msgstr "Krytyczny błąd edycji" | msgstr "Krytyczny błąd edycji" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:120 | #: ImageBrowser.py:121 | ||||||
| #, 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:122 | #: ImageBrowser.py:123 | ||||||
| #, 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:125 | #: ImageBrowser.py:126 | ||||||
| #, 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:132 | #: ImageBrowser.py:133 | ||||||
| msgid "Update Available" | msgid "Update Available" | ||||||
| msgstr "Aktualizacja dostępna" | msgstr "Aktualizacja dostępna" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:134 | #: ImageBrowser.py:135 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "" | msgid "" | ||||||
| "A new version {new_version} is available!\n" | "A new version {new_version} is available!\n" | ||||||
| @@ -203,219 +203,219 @@ msgstr "" | |||||||
| "\n" | "\n" | ||||||
| "Aktualizuj za pomocą: {update_command}" | "Aktualizuj za pomocą: {update_command}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:191 | #: ImageBrowser.py:192 | ||||||
| msgid "Otwórz folder" | msgid "Otwórz folder" | ||||||
| msgstr "Otwórz folder" | msgstr "Otwórz folder" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:194 ImageBrowser.py:492 ImageBrowser.py:610 | #: ImageBrowser.py:195 ImageBrowser.py:493 ImageBrowser.py:611 | ||||||
| #: ImageBrowser.py:618 | #: ImageBrowser.py:619 | ||||||
| msgid "Wyślij" | msgid "Wyślij" | ||||||
| msgstr "Wyślij" | msgstr "Wyślij" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:197 ImageBrowser.py:603 | #: ImageBrowser.py:198 ImageBrowser.py:604 | ||||||
| msgid "Wyślij wszystko" | msgid "Wyślij wszystko" | ||||||
| msgstr "Wyślij wszystko" | msgstr "Wyślij wszystko" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:201 ImageBrowser.py:604 ImageBrowser.py:610 | #: ImageBrowser.py:202 ImageBrowser.py:605 ImageBrowser.py:611 | ||||||
| msgid "Podmień tagi" | msgid "Podmień tagi" | ||||||
| msgstr "Podmień tagi" | msgstr "Podmień tagi" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:204 ImageBrowser.py:605 | #: ImageBrowser.py:205 ImageBrowser.py:606 | ||||||
| msgid "Otwórz post" | msgid "Otwórz post" | ||||||
| msgstr "Otwórz post" | msgstr "Otwórz post" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:207 | #: ImageBrowser.py:208 | ||||||
| msgid "Zakończ" | msgid "Zakończ" | ||||||
| msgstr "Zakończ" | msgstr "Zakończ" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:209 | #: ImageBrowser.py:210 | ||||||
| msgid "Plik" | msgid "Plik" | ||||||
| msgstr "Plik" | msgstr "Plik" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:213 ImageBrowser.py:314 | #: ImageBrowser.py:214 ImageBrowser.py:315 | ||||||
| msgid "Ustawienia" | msgid "Ustawienia" | ||||||
| msgstr "Ustawienia" | msgstr "Ustawienia" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:216 | #: ImageBrowser.py:217 | ||||||
| msgid "Wyczyść cache Taggera" | msgid "Wyczyść cache Taggera" | ||||||
| msgstr "Wyczyść cache Taggera" | msgstr "Wyczyść cache Taggera" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:219 | #: ImageBrowser.py:220 | ||||||
| msgid "Zregeneruj bazę tagów" | msgid "Zregeneruj bazę tagów" | ||||||
| msgstr "Zregeneruj bazę tagów" | msgstr "Zregeneruj bazę tagów" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:221 | #: ImageBrowser.py:222 | ||||||
| msgid "Opcje" | msgid "Opcje" | ||||||
| msgstr "Opcje" | msgstr "Opcje" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:224 | #: ImageBrowser.py:225 | ||||||
| msgid "About" | msgid "About" | ||||||
| msgstr "O programie" | msgstr "O programie" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:225 | #: ImageBrowser.py:226 | ||||||
| msgid "Help" | msgid "Help" | ||||||
| msgstr "Pomoc" | msgstr "Pomoc" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:230 | #: ImageBrowser.py:231 | ||||||
| msgid "About Kapitanbooru Uploader" | msgid "About Kapitanbooru Uploader" | ||||||
| msgstr "O programie Kapitanbooru Uploader" | msgstr "O programie Kapitanbooru Uploader" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:247 | #: ImageBrowser.py:248 | ||||||
| #, 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:254 | #: ImageBrowser.py:255 | ||||||
| #, python-brace-format | #, python-brace-format | ||||||
| msgid "Current version: {version}" | msgid "Current version: {version}" | ||||||
| msgstr "Obecna wersja: {version}" | msgstr "Obecna wersja: {version}" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:256 | #: ImageBrowser.py:257 | ||||||
| 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:257 | #: ImageBrowser.py:258 | ||||||
| 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:258 | #: ImageBrowser.py:259 | ||||||
| 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:260 | #: ImageBrowser.py:261 | ||||||
| msgid "Authors:" | msgid "Authors:" | ||||||
| msgstr "Autorzy:" | msgstr "Autorzy:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:263 | #: ImageBrowser.py:264 | ||||||
| msgid "License: MIT License" | msgid "License: MIT License" | ||||||
| msgstr "Licencja: MIT License" | msgstr "Licencja: MIT License" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:276 | #: ImageBrowser.py:277 | ||||||
| msgid "Repository:" | msgid "Repository:" | ||||||
| msgstr "Repozytorium:" | msgstr "Repozytorium:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:285 | #: ImageBrowser.py:286 | ||||||
| msgid "Website:" | msgid "Website:" | ||||||
| msgstr "Strona internetowa:" | msgstr "Strona internetowa:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:296 | #: ImageBrowser.py:297 | ||||||
| msgid "Close" | msgid "Close" | ||||||
| msgstr "Zamknij" | msgstr "Zamknij" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:306 ImageBrowser.py:309 | #: ImageBrowser.py:307 ImageBrowser.py:310 | ||||||
| msgid "Cache" | msgid "Cache" | ||||||
| msgstr "Cache" | msgstr "Cache" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:306 | #: ImageBrowser.py:307 | ||||||
| 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:309 | #: ImageBrowser.py:310 | ||||||
| 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:319 | #: ImageBrowser.py:320 | ||||||
| msgid "Login:" | msgid "Login:" | ||||||
| msgstr "Login:" | msgstr "Login:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:325 | #: ImageBrowser.py:326 | ||||||
| msgid "Hasło:" | msgid "Hasło:" | ||||||
| msgstr "Hasło:" | msgstr "Hasło:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:331 | #: ImageBrowser.py:332 | ||||||
| msgid "Base URL:" | msgid "Base URL:" | ||||||
| msgstr "Base URL:" | msgstr "Base URL:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:337 | #: ImageBrowser.py:338 | ||||||
| msgid "Default Tags:" | msgid "Default Tags:" | ||||||
| msgstr "Domyślne tagi:" | msgstr "Domyślne tagi:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:343 | #: ImageBrowser.py:344 | ||||||
| msgid "Browser:" | msgid "Browser:" | ||||||
| msgstr "Przeglądarka:" | msgstr "Przeglądarka:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:357 | #: ImageBrowser.py:358 | ||||||
| msgid "Language:" | msgid "Language:" | ||||||
| msgstr "Język:" | msgstr "Język:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:393 | #: ImageBrowser.py:394 | ||||||
| msgid "Zapisz" | msgid "Zapisz" | ||||||
| msgstr "Zapisz" | msgstr "Zapisz" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:435 | #: ImageBrowser.py:436 | ||||||
| msgid "PNG Tags" | msgid "PNG Tags" | ||||||
| msgstr "Tagi PNG" | msgstr "Tagi PNG" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:447 | #: ImageBrowser.py:448 | ||||||
| msgid "Tagger Tags" | msgid "Tagger Tags" | ||||||
| msgstr "Tagi Taggera" | msgstr "Tagi Taggera" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:461 | #: ImageBrowser.py:462 | ||||||
| msgid "Manual Tags" | msgid "Manual Tags" | ||||||
| msgstr "Tagi ręczne" | msgstr "Tagi ręczne" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:472 | #: ImageBrowser.py:473 | ||||||
| msgid "Final Tags" | msgid "Final Tags" | ||||||
| msgstr "Ostateczne tagi" | msgstr "Ostateczne tagi" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:497 | #: ImageBrowser.py:498 | ||||||
| msgid "Wyświetl" | msgid "Wyświetl" | ||||||
| msgstr "Wyświetl" | msgstr "Wyświetl" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:514 | #: ImageBrowser.py:515 | ||||||
| msgid "Przetworzono tagi:" | msgid "Przetworzono tagi:" | ||||||
| msgstr "Przetworzono tagi:" | msgstr "Przetworzono tagi:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:514 ImageBrowser.py:515 ImageBrowser.py:516 | #: ImageBrowser.py:515 ImageBrowser.py:516 ImageBrowser.py:517 | ||||||
| msgid "plików" | msgid "plików" | ||||||
| msgstr "plików" | msgstr "plików" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:515 | #: ImageBrowser.py:516 | ||||||
| msgid "Zweryfikowano status uploadu:" | msgid "Zweryfikowano status uploadu:" | ||||||
| msgstr "Zweryfikowano status uploadu:" | msgstr "Zweryfikowano status uploadu:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:516 | #: ImageBrowser.py:517 | ||||||
| msgid "Zuploadowano:" | msgid "Zuploadowano:" | ||||||
| msgstr "Zuploadowano:" | msgstr "Zuploadowano:" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:545 | #: ImageBrowser.py:546 | ||||||
| msgid "Wybierz folder z obrazkami PNG, JPEG, WebP, AVIF i GIF" | msgid "Wybierz folder z obrazkami PNG, JPEG, WebP, AVIF i GIF" | ||||||
| msgstr "Wybierz folder z obrazkami PNG, JPEG, WebP, AVIF i GIF" | msgstr "Wybierz folder z obrazkami PNG, JPEG, WebP, AVIF i GIF" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:561 | #: ImageBrowser.py:562 | ||||||
| msgid "Informacja" | msgid "Informacja" | ||||||
| msgstr "Informacja" | msgstr "Informacja" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:562 | #: ImageBrowser.py:563 | ||||||
| msgid "Brak plików PNG, JPEG, WebP, AVIF lub GIF w wybranym folderze." | msgid "Brak plików PNG, JPEG, WebP, AVIF lub GIF w wybranym folderze." | ||||||
| msgstr "Brak plików PNG, JPEG, WebP, AVIF lub GIF w wybranym folderze." | msgstr "Brak plików PNG, JPEG, WebP, AVIF lub GIF w wybranym folderze." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:669 ImageBrowser.py:1192 | #: ImageBrowser.py:670 ImageBrowser.py:1193 | ||||||
| msgid "Błąd wysyłania" | msgid "Błąd wysyłania" | ||||||
| msgstr "Błąd wysyłania" | msgstr "Błąd wysyłania" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:704 | #: ImageBrowser.py:705 | ||||||
| msgid "Błąd" | msgid "Błąd" | ||||||
| msgstr "Błąd" | msgstr "Błąd" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:704 | #: ImageBrowser.py:705 | ||||||
| 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:932 ImageBrowser.py:944 | #: ImageBrowser.py:933 ImageBrowser.py:945 | ||||||
| #, 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:1153 | #: ImageBrowser.py:1154 | ||||||
| msgid "Tagger przetwarza..." | msgid "Tagger przetwarza..." | ||||||
| msgstr "Tagger przetwarza..." | msgstr "Tagger przetwarza..." | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1170 | #: ImageBrowser.py:1171 | ||||||
| msgid "Potwierdzenie" | msgid "Potwierdzenie" | ||||||
| msgstr "Potwierdzenie" | msgstr "Potwierdzenie" | ||||||
|  |  | ||||||
| #: ImageBrowser.py:1172 | #: ImageBrowser.py:1173 | ||||||
| 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" | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" | |||||||
|  |  | ||||||
| [project] | [project] | ||||||
| name = "kapitanbooru-uploader" | name = "kapitanbooru-uploader" | ||||||
| version = "0.9.3" | version = "0.9.4" | ||||||
| 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