Bump version to 0.9.2; update method signatures and localization files
All checks were successful
Gitea/kapitanbooru-uploader/pipeline/head This commit looks good

This commit is contained in:
2025-06-26 17:45:52 +02:00
parent c90740cbed
commit cb26a0dc47
5 changed files with 183 additions and 182 deletions

View File

@@ -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.1" self.version = "0.9.2"
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)
@@ -226,7 +226,7 @@ class Core:
final_tags.add("meta:auto_upload") final_tags.add("meta:auto_upload")
return " ".join(sorted(final_tags)), rating return " ".join(sorted(final_tags)), rating
def get_tagger_results(self, file_path, callback) -> wdt.Result: def get_tagger_results(self, file_path, callback: Callable|None = None) -> wdt.Result:
md5 = self.image_files_md5[file_path] md5 = self.image_files_md5[file_path]
cached = self.tagger_cache[md5] cached = self.tagger_cache[md5]
if cached: if cached:
@@ -237,6 +237,7 @@ class Core:
result = self.tagger.tag(img) result = self.tagger.tag(img)
self.tagger_cache[md5] = result self.tagger_cache[md5] = result
self.tagger_processed.add(md5) self.tagger_processed.add(md5)
if callback:
callback() callback()
print(_("Tagger przetworzył:"), f"{file_path}") print(_("Tagger przetworzył:"), f"{file_path}")
return result return result
@@ -357,7 +358,7 @@ class Core:
def process_tagger_for_image(self, file_path): def process_tagger_for_image(self, file_path):
"""Przetwarza obrazek przy użyciu Taggera i zapisuje wynik do cache.""" """Przetwarza obrazek przy użyciu Taggera i zapisuje wynik do cache."""
result = self.get_tagger_results(file_path) result = self.get_tagger_results(file_path, self.update_status_bar_callback)
if self.process_tagger_for_image_callback: if self.process_tagger_for_image_callback:
self.process_tagger_for_image_callback(file_path, result.rating) self.process_tagger_for_image_callback(file_path, result.rating)

View File

@@ -1149,7 +1149,7 @@ class ImageBrowser(tk.Tk):
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.current_index]
result = self.core.get_tagger_results(file_path) 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)
self.after(0, lambda: self.update_tagger_tags_widget(result)) self.after(0, lambda: self.update_tagger_tags_widget(result))

View File

@@ -1,8 +1,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Kapitanbooru Uploader 0.9.1\n" "Project-Id-Version: Kapitanbooru Uploader 0.9.2\n"
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
"POT-Creation-Date: 2025-06-26 17:31+0200\n" "POT-Creation-Date: 2025-06-26 17:44+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"
@@ -47,52 +47,52 @@ msgstr "auth_token not found in the HTML page."
msgid "Błąd przy otwieraniu pliku" msgid "Błąd przy otwieraniu pliku"
msgstr "Error opening file" msgstr "Error opening file"
#: Core.py:241 #: Core.py:242
msgid "Tagger przetworzył:" msgid "Tagger przetworzył:"
msgstr "Tagger processed:" msgstr "Tagger processed:"
#: Core.py:244 #: Core.py:245
msgid "Błąd Taggera dla" msgid "Błąd Taggera dla"
msgstr "Tagger error for" msgstr "Tagger error for"
#: Core.py:299 #: Core.py:300
msgid "Error computing MD5:" msgid "Error computing MD5:"
msgstr "Error computing MD5:" msgstr "Error computing MD5:"
#: Core.py:424 #: Core.py:425
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:433 #: Core.py:434
msgid "Plik nie istnieje:" msgid "Plik nie istnieje:"
msgstr "File does not exist:" msgstr "File does not exist:"
#: Core.py:439 #: Core.py:440
msgid "Tagi dla pliku" msgid "Tagi dla pliku"
msgstr "Tags for file" msgstr "Tags for file"
#: Core.py:448 #: Core.py:449
msgid "Błąd podczas autotagowania pliku" msgid "Błąd podczas autotagowania pliku"
msgstr "Error during file autotagowania" msgstr "Error during file autotagowania"
#: Core.py:455 #: Core.py:456
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:463 #: Core.py:464
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:486 #: Core.py:487
#, 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:521 #: Core.py:522
msgid "Wysyłanie zakończone powodzeniem!" msgid "Wysyłanie zakończone powodzeniem!"
msgstr "Upload completed successfully!" msgstr "Upload completed successfully!"
#: Core.py:525 Core.py:534 #: Core.py:526 Core.py:535
#, 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:543 Core.py:549 ImageBrowser.py:655 ImageBrowser.py:658 #: Core.py:544 Core.py:550 ImageBrowser.py:659 ImageBrowser.py:662
#: ImageBrowser.py:1178 ImageBrowser.py:1181 #: ImageBrowser.py:1182 ImageBrowser.py:1185
msgid "Wysyłanie" msgid "Wysyłanie"
msgstr "Uploading" msgstr "Uploading"
#: Core.py:561 #: Core.py:562
msgid "Błąd wysyłania pliku" msgid "Błąd wysyłania pliku"
msgstr "Upload error" msgstr "Upload error"
#: Core.py:591 #: Core.py:592
msgid "Anulowano operację!" msgid "Anulowano operację!"
msgstr "Operation cancelled!" msgstr "Operation cancelled!"
#: Core.py:601 #: Core.py:602
#, 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:620 #: Core.py:621
msgid "Przesłano pliki!" msgid "Przesłano pliki!"
msgstr "Files have been uploaded!" msgstr "Files have been uploaded!"
#: Core.py:641 Core.py:645 #: Core.py:642 Core.py:646
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:656 #: Core.py:657
#, 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:666 Core.py:676 Core.py:701 #: Core.py:667 Core.py:677 Core.py:702
msgid "Operacja anulowana" msgid "Operacja anulowana"
msgstr "Operation cancelled" msgstr "Operation cancelled"
#: Core.py:711 #: Core.py:712
msgid "Tagi zostały zaktualizowane!" msgid "Tagi zostały zaktualizowane!"
msgstr "Tags have been updated!" msgstr "Tags have been updated!"
#: Core.py:716 ImageBrowser.py:720 #: Core.py:717 ImageBrowser.py:724
msgid "Sukces edycji" msgid "Sukces edycji"
msgstr "Edit successful" msgstr "Edit successful"
#: Core.py:723 #: Core.py:724
#, 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:727 #: Core.py:728
msgid "Treść:" msgid "Treść:"
msgstr "Content:" msgstr "Content:"
#: Core.py:731 ImageBrowser.py:717 #: Core.py:732 ImageBrowser.py:721
msgid "Błąd edycji" msgid "Błąd edycji"
msgstr "Edit error" msgstr "Edit error"
#: Core.py:737 #: Core.py:738
msgid "Krytyczny błąd edycji" msgid "Krytyczny błąd edycji"
msgstr "Critical edit error" msgstr "Critical edit error"
#: ImageBrowser.py:112 #: ImageBrowser.py:116
#, 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:114 #: ImageBrowser.py:118
#, 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:117 #: ImageBrowser.py:121
#, 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:124 #: ImageBrowser.py:128
msgid "Update Available" msgid "Update Available"
msgstr "Update Available" msgstr "Update Available"
#: ImageBrowser.py:126 #: ImageBrowser.py:130
#, 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:183 #: ImageBrowser.py:187
msgid "Otwórz folder" msgid "Otwórz folder"
msgstr "Open folder" msgstr "Open folder"
#: ImageBrowser.py:186 ImageBrowser.py:484 ImageBrowser.py:602 #: ImageBrowser.py:190 ImageBrowser.py:488 ImageBrowser.py:606
#: ImageBrowser.py:610 #: ImageBrowser.py:614
msgid "Wyślij" msgid "Wyślij"
msgstr "Upload" msgstr "Upload"
#: ImageBrowser.py:189 ImageBrowser.py:595 #: ImageBrowser.py:193 ImageBrowser.py:599
msgid "Wyślij wszystko" msgid "Wyślij wszystko"
msgstr "Upload all" msgstr "Upload all"
#: ImageBrowser.py:193 ImageBrowser.py:596 ImageBrowser.py:602 #: ImageBrowser.py:197 ImageBrowser.py:600 ImageBrowser.py:606
msgid "Podmień tagi" msgid "Podmień tagi"
msgstr "Replace tags" msgstr "Replace tags"
#: ImageBrowser.py:196 ImageBrowser.py:597 #: ImageBrowser.py:200 ImageBrowser.py:601
msgid "Otwórz post" msgid "Otwórz post"
msgstr "Open post" msgstr "Open post"
#: ImageBrowser.py:199 #: ImageBrowser.py:203
msgid "Zakończ" msgid "Zakończ"
msgstr "Finish" msgstr "Finish"
#: ImageBrowser.py:201 #: ImageBrowser.py:205
msgid "Plik" msgid "Plik"
msgstr "File" msgstr "File"
#: ImageBrowser.py:205 ImageBrowser.py:306 #: ImageBrowser.py:209 ImageBrowser.py:310
msgid "Ustawienia" msgid "Ustawienia"
msgstr "Settings" msgstr "Settings"
#: ImageBrowser.py:208 #: ImageBrowser.py:212
msgid "Wyczyść cache Taggera" msgid "Wyczyść cache Taggera"
msgstr "Clear Tagger cache" msgstr "Clear Tagger cache"
#: ImageBrowser.py:211 #: ImageBrowser.py:215
msgid "Zregeneruj bazę tagów" msgid "Zregeneruj bazę tagów"
msgstr "Regenerate tag database" msgstr "Regenerate tag database"
#: ImageBrowser.py:213 #: ImageBrowser.py:217
msgid "Opcje" msgid "Opcje"
msgstr "Options" msgstr "Options"
#: ImageBrowser.py:216 #: ImageBrowser.py:220
msgid "About" msgid "About"
msgstr "About" msgstr "About"
#: ImageBrowser.py:217 #: ImageBrowser.py:221
msgid "Help" msgid "Help"
msgstr "Help" msgstr "Help"
#: ImageBrowser.py:222 #: ImageBrowser.py:226
msgid "About Kapitanbooru Uploader" msgid "About Kapitanbooru Uploader"
msgstr "About Kapitanbooru Uploader" msgstr "About Kapitanbooru Uploader"
#: ImageBrowser.py:239 #: ImageBrowser.py:243
#, 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:246 #: ImageBrowser.py:250
#, python-brace-format #, python-brace-format
msgid "Current version: {version}" msgid "Current version: {version}"
msgstr "Current version: {version}" msgstr "Current version: {version}"
#: ImageBrowser.py:248 #: ImageBrowser.py:252
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:249 #: ImageBrowser.py:253
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:250 #: ImageBrowser.py:254
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:252 #: ImageBrowser.py:256
msgid "Authors:" msgid "Authors:"
msgstr "Authors:" msgstr "Authors:"
#: ImageBrowser.py:255 #: ImageBrowser.py:259
msgid "License: MIT License" msgid "License: MIT License"
msgstr "License: MIT License" msgstr "License: MIT License"
#: ImageBrowser.py:268 #: ImageBrowser.py:272
msgid "Repository:" msgid "Repository:"
msgstr "Repository:" msgstr "Repository:"
#: ImageBrowser.py:277 #: ImageBrowser.py:281
msgid "Website:" msgid "Website:"
msgstr "Website:" msgstr "Website:"
#: ImageBrowser.py:288 #: ImageBrowser.py:292
msgid "Close" msgid "Close"
msgstr "Close" msgstr "Close"
#: ImageBrowser.py:298 ImageBrowser.py:301 #: ImageBrowser.py:302 ImageBrowser.py:305
msgid "Cache" msgid "Cache"
msgstr "Cache" msgstr "Cache"
#: ImageBrowser.py:298 #: ImageBrowser.py:302
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:301 #: ImageBrowser.py:305
msgid "Błąd przy czyszczeniu cache:" msgid "Błąd przy czyszczeniu cache:"
msgstr "Error clearing cache:" msgstr "Error clearing cache:"
#: ImageBrowser.py:311 #: ImageBrowser.py:315
msgid "Login:" msgid "Login:"
msgstr "Login:" msgstr "Login:"
#: ImageBrowser.py:317 #: ImageBrowser.py:321
msgid "Hasło:" msgid "Hasło:"
msgstr "Password:" msgstr "Password:"
#: ImageBrowser.py:323 #: ImageBrowser.py:327
msgid "Base URL:" msgid "Base URL:"
msgstr "Base URL:" msgstr "Base URL:"
#: ImageBrowser.py:329 #: ImageBrowser.py:333
msgid "Default Tags:" msgid "Default Tags:"
msgstr "Default Tags:" msgstr "Default Tags:"
#: ImageBrowser.py:335 #: ImageBrowser.py:339
msgid "Browser:" msgid "Browser:"
msgstr "Browser:" msgstr "Browser:"
#: ImageBrowser.py:349 #: ImageBrowser.py:353
msgid "Language:" msgid "Language:"
msgstr "Language:" msgstr "Language:"
#: ImageBrowser.py:385 #: ImageBrowser.py:389
msgid "Zapisz" msgid "Zapisz"
msgstr "Save" msgstr "Save"
#: ImageBrowser.py:427 #: ImageBrowser.py:431
msgid "PNG Tags" msgid "PNG Tags"
msgstr "PNG Tags" msgstr "PNG Tags"
#: ImageBrowser.py:439 #: ImageBrowser.py:443
msgid "Tagger Tags" msgid "Tagger Tags"
msgstr "Tagger Tags" msgstr "Tagger Tags"
#: ImageBrowser.py:453 #: ImageBrowser.py:457
msgid "Manual Tags" msgid "Manual Tags"
msgstr "Manual Tags" msgstr "Manual Tags"
#: ImageBrowser.py:464 #: ImageBrowser.py:468
msgid "Final Tags" msgid "Final Tags"
msgstr "Final Tags" msgstr "Final Tags"
#: ImageBrowser.py:489 #: ImageBrowser.py:493
msgid "Wyświetl" msgid "Wyświetl"
msgstr "Display" msgstr "Display"
#: ImageBrowser.py:506 #: ImageBrowser.py:510
msgid "Przetworzono tagi:" msgid "Przetworzono tagi:"
msgstr "Processed tags:" msgstr "Processed tags:"
#: ImageBrowser.py:506 ImageBrowser.py:507 ImageBrowser.py:508 #: ImageBrowser.py:510 ImageBrowser.py:511 ImageBrowser.py:512
msgid "plików" msgid "plików"
msgstr "files" msgstr "files"
#: ImageBrowser.py:507 #: ImageBrowser.py:511
msgid "Zweryfikowano status uploadu:" msgid "Zweryfikowano status uploadu:"
msgstr "Upload status verified:" msgstr "Upload status verified:"
#: ImageBrowser.py:508 #: ImageBrowser.py:512
msgid "Zuploadowano:" msgid "Zuploadowano:"
msgstr "Uploaded:" msgstr "Uploaded:"
#: ImageBrowser.py:537 #: ImageBrowser.py:541
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:553 #: ImageBrowser.py:557
msgid "Informacja" msgid "Informacja"
msgstr "Information" msgstr "Information"
#: ImageBrowser.py:554 #: ImageBrowser.py:558
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:661 ImageBrowser.py:1184 #: ImageBrowser.py:665 ImageBrowser.py:1188
msgid "Błąd wysyłania" msgid "Błąd wysyłania"
msgstr "Upload error" msgstr "Upload error"
#: ImageBrowser.py:696 #: ImageBrowser.py:700
msgid "Błąd" msgid "Błąd"
msgstr "Error" msgstr "Error"
#: ImageBrowser.py:696 #: ImageBrowser.py:700
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:924 ImageBrowser.py:936 #: ImageBrowser.py:928 ImageBrowser.py:940
#, 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:1145 #: ImageBrowser.py:1149
msgid "Tagger przetwarza..." msgid "Tagger przetwarza..."
msgstr "Tagger processing..." msgstr "Tagger processing..."
#: ImageBrowser.py:1162 #: ImageBrowser.py:1166
msgid "Potwierdzenie" msgid "Potwierdzenie"
msgstr "Confirmation" msgstr "Confirmation"
#: ImageBrowser.py:1164 #: ImageBrowser.py:1168
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"

View File

@@ -1,8 +1,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Kapitanbooru Uploader 0.9.1\n" "Project-Id-Version: Kapitanbooru Uploader 0.9.2\n"
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
"POT-Creation-Date: 2025-06-26 17:31+0200\n" "POT-Creation-Date: 2025-06-26 17:44+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"
@@ -49,52 +49,52 @@ msgstr "Nie znaleziono auth_token w stronie HTML."
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:241 #: Core.py:242
msgid "Tagger przetworzył:" msgid "Tagger przetworzył:"
msgstr "Tagger przetworzył:" msgstr "Tagger przetworzył:"
#: Core.py:244 #: Core.py:245
msgid "Błąd Taggera dla" msgid "Błąd Taggera dla"
msgstr "Błąd Taggera dla" msgstr "Błąd Taggera dla"
#: Core.py:299 #: Core.py:300
msgid "Error computing MD5:" msgid "Error computing MD5:"
msgstr "Błąd przy obliczaniu MD5:" msgstr "Błąd przy obliczaniu MD5:"
#: Core.py:424 #: Core.py:425
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:433 #: Core.py:434
msgid "Plik nie istnieje:" msgid "Plik nie istnieje:"
msgstr "" msgstr ""
#: Core.py:439 #: Core.py:440
msgid "Tagi dla pliku" msgid "Tagi dla pliku"
msgstr "" msgstr ""
#: Core.py:448 #: Core.py:449
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:455 #: Core.py:456
msgid "Podana ścieżka nie jest katalogiem:" msgid "Podana ścieżka nie jest katalogiem:"
msgstr "" msgstr ""
#: Core.py:463 #: Core.py:464
msgid "Brak obrazów do przetworzenia w katalogu:" msgid "Brak obrazów do przetworzenia w katalogu:"
msgstr "" msgstr ""
#: Core.py:486 #: Core.py:487
#, 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:521 #: Core.py:522
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:525 Core.py:534 #: Core.py:526 Core.py:535
#, 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:543 Core.py:549 ImageBrowser.py:655 ImageBrowser.py:658 #: Core.py:544 Core.py:550 ImageBrowser.py:659 ImageBrowser.py:662
#: ImageBrowser.py:1178 ImageBrowser.py:1181 #: ImageBrowser.py:1182 ImageBrowser.py:1185
msgid "Wysyłanie" msgid "Wysyłanie"
msgstr "Wysyłanie" msgstr "Wysyłanie"
#: Core.py:561 #: Core.py:562
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:591 #: Core.py:592
msgid "Anulowano operację!" msgid "Anulowano operację!"
msgstr "Operacja anulowana!" msgstr "Operacja anulowana!"
#: Core.py:601 #: Core.py:602
#, 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:620 #: Core.py:621
msgid "Przesłano pliki!" msgid "Przesłano pliki!"
msgstr "Pliki zostały przesłane!" msgstr "Pliki zostały przesłane!"
#: Core.py:641 Core.py:645 #: Core.py:642 Core.py:646
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:656 #: Core.py:657
#, 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:666 Core.py:676 Core.py:701 #: Core.py:667 Core.py:677 Core.py:702
msgid "Operacja anulowana" msgid "Operacja anulowana"
msgstr "Operacja anulowana" msgstr "Operacja anulowana"
#: Core.py:711 #: Core.py:712
msgid "Tagi zostały zaktualizowane!" msgid "Tagi zostały zaktualizowane!"
msgstr "Tagi zostały zaktualizowane!" msgstr "Tagi zostały zaktualizowane!"
#: Core.py:716 ImageBrowser.py:720 #: Core.py:717 ImageBrowser.py:724
msgid "Sukces edycji" msgid "Sukces edycji"
msgstr "Sukces edycji" msgstr "Sukces edycji"
#: Core.py:723 #: Core.py:724
#, 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:727 #: Core.py:728
msgid "Treść:" msgid "Treść:"
msgstr "Treść:" msgstr "Treść:"
#: Core.py:731 ImageBrowser.py:717 #: Core.py:732 ImageBrowser.py:721
msgid "Błąd edycji" msgid "Błąd edycji"
msgstr "Błąd edycji" msgstr "Błąd edycji"
#: Core.py:737 #: Core.py:738
msgid "Krytyczny błąd edycji" msgid "Krytyczny błąd edycji"
msgstr "Krytyczny błąd edycji" msgstr "Krytyczny błąd edycji"
#: ImageBrowser.py:112 #: ImageBrowser.py:116
#, 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:114 #: ImageBrowser.py:118
#, 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:117 #: ImageBrowser.py:121
#, 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:124 #: ImageBrowser.py:128
msgid "Update Available" msgid "Update Available"
msgstr "Aktualizacja dostępna" msgstr "Aktualizacja dostępna"
#: ImageBrowser.py:126 #: ImageBrowser.py:130
#, 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:183 #: ImageBrowser.py:187
msgid "Otwórz folder" msgid "Otwórz folder"
msgstr "Otwórz folder" msgstr "Otwórz folder"
#: ImageBrowser.py:186 ImageBrowser.py:484 ImageBrowser.py:602 #: ImageBrowser.py:190 ImageBrowser.py:488 ImageBrowser.py:606
#: ImageBrowser.py:610 #: ImageBrowser.py:614
msgid "Wyślij" msgid "Wyślij"
msgstr "Wyślij" msgstr "Wyślij"
#: ImageBrowser.py:189 ImageBrowser.py:595 #: ImageBrowser.py:193 ImageBrowser.py:599
msgid "Wyślij wszystko" msgid "Wyślij wszystko"
msgstr "Wyślij wszystko" msgstr "Wyślij wszystko"
#: ImageBrowser.py:193 ImageBrowser.py:596 ImageBrowser.py:602 #: ImageBrowser.py:197 ImageBrowser.py:600 ImageBrowser.py:606
msgid "Podmień tagi" msgid "Podmień tagi"
msgstr "Podmień tagi" msgstr "Podmień tagi"
#: ImageBrowser.py:196 ImageBrowser.py:597 #: ImageBrowser.py:200 ImageBrowser.py:601
msgid "Otwórz post" msgid "Otwórz post"
msgstr "Otwórz post" msgstr "Otwórz post"
#: ImageBrowser.py:199 #: ImageBrowser.py:203
msgid "Zakończ" msgid "Zakończ"
msgstr "Zakończ" msgstr "Zakończ"
#: ImageBrowser.py:201 #: ImageBrowser.py:205
msgid "Plik" msgid "Plik"
msgstr "Plik" msgstr "Plik"
#: ImageBrowser.py:205 ImageBrowser.py:306 #: ImageBrowser.py:209 ImageBrowser.py:310
msgid "Ustawienia" msgid "Ustawienia"
msgstr "Ustawienia" msgstr "Ustawienia"
#: ImageBrowser.py:208 #: ImageBrowser.py:212
msgid "Wyczyść cache Taggera" msgid "Wyczyść cache Taggera"
msgstr "Wyczyść cache Taggera" msgstr "Wyczyść cache Taggera"
#: ImageBrowser.py:211 #: ImageBrowser.py:215
msgid "Zregeneruj bazę tagów" msgid "Zregeneruj bazę tagów"
msgstr "Zregeneruj bazę tagów" msgstr "Zregeneruj bazę tagów"
#: ImageBrowser.py:213 #: ImageBrowser.py:217
msgid "Opcje" msgid "Opcje"
msgstr "Opcje" msgstr "Opcje"
#: ImageBrowser.py:216 #: ImageBrowser.py:220
msgid "About" msgid "About"
msgstr "O programie" msgstr "O programie"
#: ImageBrowser.py:217 #: ImageBrowser.py:221
msgid "Help" msgid "Help"
msgstr "Pomoc" msgstr "Pomoc"
#: ImageBrowser.py:222 #: ImageBrowser.py:226
msgid "About Kapitanbooru Uploader" msgid "About Kapitanbooru Uploader"
msgstr "O programie Kapitanbooru Uploader" msgstr "O programie Kapitanbooru Uploader"
#: ImageBrowser.py:239 #: ImageBrowser.py:243
#, 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:246 #: ImageBrowser.py:250
#, python-brace-format #, python-brace-format
msgid "Current version: {version}" msgid "Current version: {version}"
msgstr "Obecna wersja: {version}" msgstr "Obecna wersja: {version}"
#: ImageBrowser.py:248 #: ImageBrowser.py:252
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:249 #: ImageBrowser.py:253
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:250 #: ImageBrowser.py:254
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:252 #: ImageBrowser.py:256
msgid "Authors:" msgid "Authors:"
msgstr "Autorzy:" msgstr "Autorzy:"
#: ImageBrowser.py:255 #: ImageBrowser.py:259
msgid "License: MIT License" msgid "License: MIT License"
msgstr "Licencja: MIT License" msgstr "Licencja: MIT License"
#: ImageBrowser.py:268 #: ImageBrowser.py:272
msgid "Repository:" msgid "Repository:"
msgstr "Repozytorium:" msgstr "Repozytorium:"
#: ImageBrowser.py:277 #: ImageBrowser.py:281
msgid "Website:" msgid "Website:"
msgstr "Strona internetowa:" msgstr "Strona internetowa:"
#: ImageBrowser.py:288 #: ImageBrowser.py:292
msgid "Close" msgid "Close"
msgstr "Zamknij" msgstr "Zamknij"
#: ImageBrowser.py:298 ImageBrowser.py:301 #: ImageBrowser.py:302 ImageBrowser.py:305
msgid "Cache" msgid "Cache"
msgstr "Cache" msgstr "Cache"
#: ImageBrowser.py:298 #: ImageBrowser.py:302
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:301 #: ImageBrowser.py:305
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:311 #: ImageBrowser.py:315
msgid "Login:" msgid "Login:"
msgstr "Login:" msgstr "Login:"
#: ImageBrowser.py:317 #: ImageBrowser.py:321
msgid "Hasło:" msgid "Hasło:"
msgstr "Hasło:" msgstr "Hasło:"
#: ImageBrowser.py:323 #: ImageBrowser.py:327
msgid "Base URL:" msgid "Base URL:"
msgstr "Base URL:" msgstr "Base URL:"
#: ImageBrowser.py:329 #: ImageBrowser.py:333
msgid "Default Tags:" msgid "Default Tags:"
msgstr "Domyślne tagi:" msgstr "Domyślne tagi:"
#: ImageBrowser.py:335 #: ImageBrowser.py:339
msgid "Browser:" msgid "Browser:"
msgstr "Przeglądarka:" msgstr "Przeglądarka:"
#: ImageBrowser.py:349 #: ImageBrowser.py:353
msgid "Language:" msgid "Language:"
msgstr "Język:" msgstr "Język:"
#: ImageBrowser.py:385 #: ImageBrowser.py:389
msgid "Zapisz" msgid "Zapisz"
msgstr "Zapisz" msgstr "Zapisz"
#: ImageBrowser.py:427 #: ImageBrowser.py:431
msgid "PNG Tags" msgid "PNG Tags"
msgstr "Tagi PNG" msgstr "Tagi PNG"
#: ImageBrowser.py:439 #: ImageBrowser.py:443
msgid "Tagger Tags" msgid "Tagger Tags"
msgstr "Tagi Taggera" msgstr "Tagi Taggera"
#: ImageBrowser.py:453 #: ImageBrowser.py:457
msgid "Manual Tags" msgid "Manual Tags"
msgstr "Tagi ręczne" msgstr "Tagi ręczne"
#: ImageBrowser.py:464 #: ImageBrowser.py:468
msgid "Final Tags" msgid "Final Tags"
msgstr "Ostateczne tagi" msgstr "Ostateczne tagi"
#: ImageBrowser.py:489 #: ImageBrowser.py:493
msgid "Wyświetl" msgid "Wyświetl"
msgstr "Wyświetl" msgstr "Wyświetl"
#: ImageBrowser.py:506 #: ImageBrowser.py:510
msgid "Przetworzono tagi:" msgid "Przetworzono tagi:"
msgstr "Przetworzono tagi:" msgstr "Przetworzono tagi:"
#: ImageBrowser.py:506 ImageBrowser.py:507 ImageBrowser.py:508 #: ImageBrowser.py:510 ImageBrowser.py:511 ImageBrowser.py:512
msgid "plików" msgid "plików"
msgstr "plików" msgstr "plików"
#: ImageBrowser.py:507 #: ImageBrowser.py:511
msgid "Zweryfikowano status uploadu:" msgid "Zweryfikowano status uploadu:"
msgstr "Zweryfikowano status uploadu:" msgstr "Zweryfikowano status uploadu:"
#: ImageBrowser.py:508 #: ImageBrowser.py:512
msgid "Zuploadowano:" msgid "Zuploadowano:"
msgstr "Zuploadowano:" msgstr "Zuploadowano:"
#: ImageBrowser.py:537 #: ImageBrowser.py:541
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:553 #: ImageBrowser.py:557
msgid "Informacja" msgid "Informacja"
msgstr "Informacja" msgstr "Informacja"
#: ImageBrowser.py:554 #: ImageBrowser.py:558
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:661 ImageBrowser.py:1184 #: ImageBrowser.py:665 ImageBrowser.py:1188
msgid "Błąd wysyłania" msgid "Błąd wysyłania"
msgstr "Błąd wysyłania" msgstr "Błąd wysyłania"
#: ImageBrowser.py:696 #: ImageBrowser.py:700
msgid "Błąd" msgid "Błąd"
msgstr "Błąd" msgstr "Błąd"
#: ImageBrowser.py:696 #: ImageBrowser.py:700
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:924 ImageBrowser.py:936 #: ImageBrowser.py:928 ImageBrowser.py:940
#, 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:1145 #: ImageBrowser.py:1149
msgid "Tagger przetwarza..." msgid "Tagger przetwarza..."
msgstr "Tagger przetwarza..." msgstr "Tagger przetwarza..."
#: ImageBrowser.py:1162 #: ImageBrowser.py:1166
msgid "Potwierdzenie" msgid "Potwierdzenie"
msgstr "Potwierdzenie" msgstr "Potwierdzenie"
#: ImageBrowser.py:1164 #: ImageBrowser.py:1168
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"

View File

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "kapitanbooru-uploader" name = "kapitanbooru-uploader"
version = "0.9.1" version = "0.9.2"
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 = [