Bump version to 0.9.3; update localization files and add tag states in ImageBrowser
All checks were successful
Gitea/kapitanbooru-uploader/pipeline/head This commit looks good

This commit is contained in:
2025-06-26 17:51:25 +02:00
parent cb26a0dc47
commit 88288c7e22
5 changed files with 184 additions and 184 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.2" self.version = "0.9.3"
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)
@@ -88,10 +88,6 @@ class Core:
"Unrated": "", "Unrated": "",
} }
# Słowniki przechowujące stany tagów (dla PNG i Taggera)
self.png_tags_states = {}
self.tagger_tags_states = {}
# Nowy słownik przechowujący informację, czy dany plik (ścieżka) został już uploadowany # Nowy słownik przechowujący informację, czy dany plik (ścieżka) został już uploadowany
self.uploaded = {} # key: file path, value: True/False self.uploaded = {} # key: file path, value: True/False

View File

@@ -56,6 +56,10 @@ class ImageBrowser(tk.Tk):
self.current_image_original = None self.current_image_original = None
self.current_parameters = "" self.current_parameters = ""
# Słowniki przechowujące stany tagów (dla PNG i Taggera)
self.png_tags_states = {}
self.tagger_tags_states = {}
self.create_menu() self.create_menu()
self.create_widgets() self.create_widgets()
self.bind_events() self.bind_events()

View File

@@ -1,8 +1,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Kapitanbooru Uploader 0.9.2\n" "Project-Id-Version: Kapitanbooru Uploader 0.9.3\n"
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
"POT-Creation-Date: 2025-06-26 17:44+0200\n" "POT-Creation-Date: 2025-06-26 17:51+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:200 #: Core.py:196
msgid "Błąd przy otwieraniu pliku" msgid "Błąd przy otwieraniu pliku"
msgstr "Error opening file" msgstr "Error opening file"
#: Core.py:242 #: Core.py:238
msgid "Tagger przetworzył:" msgid "Tagger przetworzył:"
msgstr "Tagger processed:" msgstr "Tagger processed:"
#: Core.py:245 #: Core.py:241
msgid "Błąd Taggera dla" msgid "Błąd Taggera dla"
msgstr "Tagger error for" msgstr "Tagger error for"
#: Core.py:300 #: Core.py:296
msgid "Error computing MD5:" msgid "Error computing MD5:"
msgstr "Error computing MD5:" msgstr "Error computing MD5:"
#: Core.py:425 #: Core.py:421
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:434 #: Core.py:430
msgid "Plik nie istnieje:" msgid "Plik nie istnieje:"
msgstr "File does not exist:" msgstr "File does not exist:"
#: Core.py:440 #: Core.py:436
msgid "Tagi dla pliku" msgid "Tagi dla pliku"
msgstr "Tags for file" msgstr "Tags for file"
#: Core.py:449 #: Core.py:445
msgid "Błąd podczas autotagowania pliku" msgid "Błąd podczas autotagowania pliku"
msgstr "Error during file autotagowania" msgstr "Error during file autotagowania"
#: Core.py:456 #: Core.py:452
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:464 #: Core.py:460
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:487 #: Core.py:483
#, 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:522 #: Core.py:518
msgid "Wysyłanie zakończone powodzeniem!" msgid "Wysyłanie zakończone powodzeniem!"
msgstr "Upload completed successfully!" msgstr "Upload completed successfully!"
#: Core.py:526 Core.py:535 #: Core.py:522 Core.py:531
#, 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:544 Core.py:550 ImageBrowser.py:659 ImageBrowser.py:662 #: Core.py:540 Core.py:546 ImageBrowser.py:663 ImageBrowser.py:666
#: ImageBrowser.py:1182 ImageBrowser.py:1185 #: ImageBrowser.py:1186 ImageBrowser.py:1189
msgid "Wysyłanie" msgid "Wysyłanie"
msgstr "Uploading" msgstr "Uploading"
#: Core.py:562 #: Core.py:558
msgid "Błąd wysyłania pliku" msgid "Błąd wysyłania pliku"
msgstr "Upload error" msgstr "Upload error"
#: Core.py:592 #: Core.py:588
msgid "Anulowano operację!" msgid "Anulowano operację!"
msgstr "Operation cancelled!" msgstr "Operation cancelled!"
#: Core.py:602 #: Core.py:598
#, 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:621 #: Core.py:617
msgid "Przesłano pliki!" msgid "Przesłano pliki!"
msgstr "Files have been uploaded!" msgstr "Files have been uploaded!"
#: Core.py:642 Core.py:646 #: Core.py:638 Core.py:642
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:657 #: Core.py:653
#, 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:667 Core.py:677 Core.py:702 #: Core.py:663 Core.py:673 Core.py:698
msgid "Operacja anulowana" msgid "Operacja anulowana"
msgstr "Operation cancelled" msgstr "Operation cancelled"
#: Core.py:712 #: Core.py:708
msgid "Tagi zostały zaktualizowane!" msgid "Tagi zostały zaktualizowane!"
msgstr "Tags have been updated!" msgstr "Tags have been updated!"
#: Core.py:717 ImageBrowser.py:724 #: Core.py:713 ImageBrowser.py:728
msgid "Sukces edycji" msgid "Sukces edycji"
msgstr "Edit successful" msgstr "Edit successful"
#: Core.py:724 #: Core.py:720
#, 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:728 #: Core.py:724
msgid "Treść:" msgid "Treść:"
msgstr "Content:" msgstr "Content:"
#: Core.py:732 ImageBrowser.py:721 #: Core.py:728 ImageBrowser.py:725
msgid "Błąd edycji" msgid "Błąd edycji"
msgstr "Edit error" msgstr "Edit error"
#: Core.py:738 #: Core.py:734
msgid "Krytyczny błąd edycji" msgid "Krytyczny błąd edycji"
msgstr "Critical edit error" msgstr "Critical edit error"
#: ImageBrowser.py:116 #: ImageBrowser.py:120
#, 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:118 #: ImageBrowser.py:122
#, 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:121 #: ImageBrowser.py:125
#, 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:128 #: ImageBrowser.py:132
msgid "Update Available" msgid "Update Available"
msgstr "Update Available" msgstr "Update Available"
#: ImageBrowser.py:130 #: ImageBrowser.py:134
#, 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:187 #: ImageBrowser.py:191
msgid "Otwórz folder" msgid "Otwórz folder"
msgstr "Open folder" msgstr "Open folder"
#: ImageBrowser.py:190 ImageBrowser.py:488 ImageBrowser.py:606 #: ImageBrowser.py:194 ImageBrowser.py:492 ImageBrowser.py:610
#: ImageBrowser.py:614 #: ImageBrowser.py:618
msgid "Wyślij" msgid "Wyślij"
msgstr "Upload" msgstr "Upload"
#: ImageBrowser.py:193 ImageBrowser.py:599 #: ImageBrowser.py:197 ImageBrowser.py:603
msgid "Wyślij wszystko" msgid "Wyślij wszystko"
msgstr "Upload all" msgstr "Upload all"
#: ImageBrowser.py:197 ImageBrowser.py:600 ImageBrowser.py:606 #: ImageBrowser.py:201 ImageBrowser.py:604 ImageBrowser.py:610
msgid "Podmień tagi" msgid "Podmień tagi"
msgstr "Replace tags" msgstr "Replace tags"
#: ImageBrowser.py:200 ImageBrowser.py:601 #: ImageBrowser.py:204 ImageBrowser.py:605
msgid "Otwórz post" msgid "Otwórz post"
msgstr "Open post" msgstr "Open post"
#: ImageBrowser.py:203 #: ImageBrowser.py:207
msgid "Zakończ" msgid "Zakończ"
msgstr "Finish" msgstr "Finish"
#: ImageBrowser.py:205 #: ImageBrowser.py:209
msgid "Plik" msgid "Plik"
msgstr "File" msgstr "File"
#: ImageBrowser.py:209 ImageBrowser.py:310 #: ImageBrowser.py:213 ImageBrowser.py:314
msgid "Ustawienia" msgid "Ustawienia"
msgstr "Settings" msgstr "Settings"
#: ImageBrowser.py:212 #: ImageBrowser.py:216
msgid "Wyczyść cache Taggera" msgid "Wyczyść cache Taggera"
msgstr "Clear Tagger cache" msgstr "Clear Tagger cache"
#: ImageBrowser.py:215 #: ImageBrowser.py:219
msgid "Zregeneruj bazę tagów" msgid "Zregeneruj bazę tagów"
msgstr "Regenerate tag database" msgstr "Regenerate tag database"
#: ImageBrowser.py:217 #: ImageBrowser.py:221
msgid "Opcje" msgid "Opcje"
msgstr "Options" msgstr "Options"
#: ImageBrowser.py:220 #: ImageBrowser.py:224
msgid "About" msgid "About"
msgstr "About" msgstr "About"
#: ImageBrowser.py:221 #: ImageBrowser.py:225
msgid "Help" msgid "Help"
msgstr "Help" msgstr "Help"
#: ImageBrowser.py:226 #: ImageBrowser.py:230
msgid "About Kapitanbooru Uploader" msgid "About Kapitanbooru Uploader"
msgstr "About Kapitanbooru Uploader" msgstr "About Kapitanbooru Uploader"
#: ImageBrowser.py:243 #: ImageBrowser.py:247
#, 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:250 #: ImageBrowser.py:254
#, python-brace-format #, python-brace-format
msgid "Current version: {version}" msgid "Current version: {version}"
msgstr "Current version: {version}" msgstr "Current version: {version}"
#: ImageBrowser.py:252 #: ImageBrowser.py:256
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:253 #: ImageBrowser.py:257
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:254 #: ImageBrowser.py:258
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:256 #: ImageBrowser.py:260
msgid "Authors:" msgid "Authors:"
msgstr "Authors:" msgstr "Authors:"
#: ImageBrowser.py:259 #: ImageBrowser.py:263
msgid "License: MIT License" msgid "License: MIT License"
msgstr "License: MIT License" msgstr "License: MIT License"
#: ImageBrowser.py:272 #: ImageBrowser.py:276
msgid "Repository:" msgid "Repository:"
msgstr "Repository:" msgstr "Repository:"
#: ImageBrowser.py:281 #: ImageBrowser.py:285
msgid "Website:" msgid "Website:"
msgstr "Website:" msgstr "Website:"
#: ImageBrowser.py:292 #: ImageBrowser.py:296
msgid "Close" msgid "Close"
msgstr "Close" msgstr "Close"
#: ImageBrowser.py:302 ImageBrowser.py:305 #: ImageBrowser.py:306 ImageBrowser.py:309
msgid "Cache" msgid "Cache"
msgstr "Cache" msgstr "Cache"
#: ImageBrowser.py:302 #: ImageBrowser.py:306
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:305 #: ImageBrowser.py:309
msgid "Błąd przy czyszczeniu cache:" msgid "Błąd przy czyszczeniu cache:"
msgstr "Error clearing cache:" msgstr "Error clearing cache:"
#: ImageBrowser.py:315 #: ImageBrowser.py:319
msgid "Login:" msgid "Login:"
msgstr "Login:" msgstr "Login:"
#: ImageBrowser.py:321 #: ImageBrowser.py:325
msgid "Hasło:" msgid "Hasło:"
msgstr "Password:" msgstr "Password:"
#: ImageBrowser.py:327 #: ImageBrowser.py:331
msgid "Base URL:" msgid "Base URL:"
msgstr "Base URL:" msgstr "Base URL:"
#: ImageBrowser.py:333 #: ImageBrowser.py:337
msgid "Default Tags:" msgid "Default Tags:"
msgstr "Default Tags:" msgstr "Default Tags:"
#: ImageBrowser.py:339 #: ImageBrowser.py:343
msgid "Browser:" msgid "Browser:"
msgstr "Browser:" msgstr "Browser:"
#: ImageBrowser.py:353 #: ImageBrowser.py:357
msgid "Language:" msgid "Language:"
msgstr "Language:" msgstr "Language:"
#: ImageBrowser.py:389 #: ImageBrowser.py:393
msgid "Zapisz" msgid "Zapisz"
msgstr "Save" msgstr "Save"
#: ImageBrowser.py:431 #: ImageBrowser.py:435
msgid "PNG Tags" msgid "PNG Tags"
msgstr "PNG Tags" msgstr "PNG Tags"
#: ImageBrowser.py:443 #: ImageBrowser.py:447
msgid "Tagger Tags" msgid "Tagger Tags"
msgstr "Tagger Tags" msgstr "Tagger Tags"
#: ImageBrowser.py:457 #: ImageBrowser.py:461
msgid "Manual Tags" msgid "Manual Tags"
msgstr "Manual Tags" msgstr "Manual Tags"
#: ImageBrowser.py:468 #: ImageBrowser.py:472
msgid "Final Tags" msgid "Final Tags"
msgstr "Final Tags" msgstr "Final Tags"
#: ImageBrowser.py:493 #: ImageBrowser.py:497
msgid "Wyświetl" msgid "Wyświetl"
msgstr "Display" msgstr "Display"
#: ImageBrowser.py:510 #: ImageBrowser.py:514
msgid "Przetworzono tagi:" msgid "Przetworzono tagi:"
msgstr "Processed tags:" msgstr "Processed tags:"
#: ImageBrowser.py:510 ImageBrowser.py:511 ImageBrowser.py:512 #: ImageBrowser.py:514 ImageBrowser.py:515 ImageBrowser.py:516
msgid "plików" msgid "plików"
msgstr "files" msgstr "files"
#: ImageBrowser.py:511 #: ImageBrowser.py:515
msgid "Zweryfikowano status uploadu:" msgid "Zweryfikowano status uploadu:"
msgstr "Upload status verified:" msgstr "Upload status verified:"
#: ImageBrowser.py:512 #: ImageBrowser.py:516
msgid "Zuploadowano:" msgid "Zuploadowano:"
msgstr "Uploaded:" msgstr "Uploaded:"
#: ImageBrowser.py:541 #: ImageBrowser.py:545
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:557 #: ImageBrowser.py:561
msgid "Informacja" msgid "Informacja"
msgstr "Information" msgstr "Information"
#: ImageBrowser.py:558 #: ImageBrowser.py:562
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:665 ImageBrowser.py:1188 #: ImageBrowser.py:669 ImageBrowser.py:1192
msgid "Błąd wysyłania" msgid "Błąd wysyłania"
msgstr "Upload error" msgstr "Upload error"
#: ImageBrowser.py:700 #: ImageBrowser.py:704
msgid "Błąd" msgid "Błąd"
msgstr "Error" msgstr "Error"
#: ImageBrowser.py:700 #: ImageBrowser.py:704
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:928 ImageBrowser.py:940 #: ImageBrowser.py:932 ImageBrowser.py:944
#, 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:1149 #: ImageBrowser.py:1153
msgid "Tagger przetwarza..." msgid "Tagger przetwarza..."
msgstr "Tagger processing..." msgstr "Tagger processing..."
#: ImageBrowser.py:1166 #: ImageBrowser.py:1170
msgid "Potwierdzenie" msgid "Potwierdzenie"
msgstr "Confirmation" msgstr "Confirmation"
#: ImageBrowser.py:1168 #: ImageBrowser.py:1172
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.2\n" "Project-Id-Version: Kapitanbooru Uploader 0.9.3\n"
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n" "Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
"POT-Creation-Date: 2025-06-26 17:44+0200\n" "POT-Creation-Date: 2025-06-26 17:51+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:200 #: Core.py:196
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:242 #: Core.py:238
msgid "Tagger przetworzył:" msgid "Tagger przetworzył:"
msgstr "Tagger przetworzył:" msgstr "Tagger przetworzył:"
#: Core.py:245 #: Core.py:241
msgid "Błąd Taggera dla" msgid "Błąd Taggera dla"
msgstr "Błąd Taggera dla" msgstr "Błąd Taggera dla"
#: Core.py:300 #: Core.py:296
msgid "Error computing MD5:" msgid "Error computing MD5:"
msgstr "Błąd przy obliczaniu MD5:" msgstr "Błąd przy obliczaniu MD5:"
#: Core.py:425 #: Core.py:421
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:434 #: Core.py:430
msgid "Plik nie istnieje:" msgid "Plik nie istnieje:"
msgstr "" msgstr ""
#: Core.py:440 #: Core.py:436
msgid "Tagi dla pliku" msgid "Tagi dla pliku"
msgstr "" msgstr ""
#: Core.py:449 #: Core.py:445
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:456 #: Core.py:452
msgid "Podana ścieżka nie jest katalogiem:" msgid "Podana ścieżka nie jest katalogiem:"
msgstr "" msgstr ""
#: Core.py:464 #: Core.py:460
msgid "Brak obrazów do przetworzenia w katalogu:" msgid "Brak obrazów do przetworzenia w katalogu:"
msgstr "" msgstr ""
#: Core.py:487 #: Core.py:483
#, 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:522 #: Core.py:518
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:526 Core.py:535 #: Core.py:522 Core.py:531
#, 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:544 Core.py:550 ImageBrowser.py:659 ImageBrowser.py:662 #: Core.py:540 Core.py:546 ImageBrowser.py:663 ImageBrowser.py:666
#: ImageBrowser.py:1182 ImageBrowser.py:1185 #: ImageBrowser.py:1186 ImageBrowser.py:1189
msgid "Wysyłanie" msgid "Wysyłanie"
msgstr "Wysyłanie" msgstr "Wysyłanie"
#: Core.py:562 #: Core.py:558
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:592 #: Core.py:588
msgid "Anulowano operację!" msgid "Anulowano operację!"
msgstr "Operacja anulowana!" msgstr "Operacja anulowana!"
#: Core.py:602 #: Core.py:598
#, 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:621 #: Core.py:617
msgid "Przesłano pliki!" msgid "Przesłano pliki!"
msgstr "Pliki zostały przesłane!" msgstr "Pliki zostały przesłane!"
#: Core.py:642 Core.py:646 #: Core.py:638 Core.py:642
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:657 #: Core.py:653
#, 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:667 Core.py:677 Core.py:702 #: Core.py:663 Core.py:673 Core.py:698
msgid "Operacja anulowana" msgid "Operacja anulowana"
msgstr "Operacja anulowana" msgstr "Operacja anulowana"
#: Core.py:712 #: Core.py:708
msgid "Tagi zostały zaktualizowane!" msgid "Tagi zostały zaktualizowane!"
msgstr "Tagi zostały zaktualizowane!" msgstr "Tagi zostały zaktualizowane!"
#: Core.py:717 ImageBrowser.py:724 #: Core.py:713 ImageBrowser.py:728
msgid "Sukces edycji" msgid "Sukces edycji"
msgstr "Sukces edycji" msgstr "Sukces edycji"
#: Core.py:724 #: Core.py:720
#, 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:728 #: Core.py:724
msgid "Treść:" msgid "Treść:"
msgstr "Treść:" msgstr "Treść:"
#: Core.py:732 ImageBrowser.py:721 #: Core.py:728 ImageBrowser.py:725
msgid "Błąd edycji" msgid "Błąd edycji"
msgstr "Błąd edycji" msgstr "Błąd edycji"
#: Core.py:738 #: Core.py:734
msgid "Krytyczny błąd edycji" msgid "Krytyczny błąd edycji"
msgstr "Krytyczny błąd edycji" msgstr "Krytyczny błąd edycji"
#: ImageBrowser.py:116 #: ImageBrowser.py:120
#, 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:118 #: ImageBrowser.py:122
#, 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:121 #: ImageBrowser.py:125
#, 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:128 #: ImageBrowser.py:132
msgid "Update Available" msgid "Update Available"
msgstr "Aktualizacja dostępna" msgstr "Aktualizacja dostępna"
#: ImageBrowser.py:130 #: ImageBrowser.py:134
#, 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:187 #: ImageBrowser.py:191
msgid "Otwórz folder" msgid "Otwórz folder"
msgstr "Otwórz folder" msgstr "Otwórz folder"
#: ImageBrowser.py:190 ImageBrowser.py:488 ImageBrowser.py:606 #: ImageBrowser.py:194 ImageBrowser.py:492 ImageBrowser.py:610
#: ImageBrowser.py:614 #: ImageBrowser.py:618
msgid "Wyślij" msgid "Wyślij"
msgstr "Wyślij" msgstr "Wyślij"
#: ImageBrowser.py:193 ImageBrowser.py:599 #: ImageBrowser.py:197 ImageBrowser.py:603
msgid "Wyślij wszystko" msgid "Wyślij wszystko"
msgstr "Wyślij wszystko" msgstr "Wyślij wszystko"
#: ImageBrowser.py:197 ImageBrowser.py:600 ImageBrowser.py:606 #: ImageBrowser.py:201 ImageBrowser.py:604 ImageBrowser.py:610
msgid "Podmień tagi" msgid "Podmień tagi"
msgstr "Podmień tagi" msgstr "Podmień tagi"
#: ImageBrowser.py:200 ImageBrowser.py:601 #: ImageBrowser.py:204 ImageBrowser.py:605
msgid "Otwórz post" msgid "Otwórz post"
msgstr "Otwórz post" msgstr "Otwórz post"
#: ImageBrowser.py:203 #: ImageBrowser.py:207
msgid "Zakończ" msgid "Zakończ"
msgstr "Zakończ" msgstr "Zakończ"
#: ImageBrowser.py:205 #: ImageBrowser.py:209
msgid "Plik" msgid "Plik"
msgstr "Plik" msgstr "Plik"
#: ImageBrowser.py:209 ImageBrowser.py:310 #: ImageBrowser.py:213 ImageBrowser.py:314
msgid "Ustawienia" msgid "Ustawienia"
msgstr "Ustawienia" msgstr "Ustawienia"
#: ImageBrowser.py:212 #: ImageBrowser.py:216
msgid "Wyczyść cache Taggera" msgid "Wyczyść cache Taggera"
msgstr "Wyczyść cache Taggera" msgstr "Wyczyść cache Taggera"
#: ImageBrowser.py:215 #: ImageBrowser.py:219
msgid "Zregeneruj bazę tagów" msgid "Zregeneruj bazę tagów"
msgstr "Zregeneruj bazę tagów" msgstr "Zregeneruj bazę tagów"
#: ImageBrowser.py:217 #: ImageBrowser.py:221
msgid "Opcje" msgid "Opcje"
msgstr "Opcje" msgstr "Opcje"
#: ImageBrowser.py:220 #: ImageBrowser.py:224
msgid "About" msgid "About"
msgstr "O programie" msgstr "O programie"
#: ImageBrowser.py:221 #: ImageBrowser.py:225
msgid "Help" msgid "Help"
msgstr "Pomoc" msgstr "Pomoc"
#: ImageBrowser.py:226 #: ImageBrowser.py:230
msgid "About Kapitanbooru Uploader" msgid "About Kapitanbooru Uploader"
msgstr "O programie Kapitanbooru Uploader" msgstr "O programie Kapitanbooru Uploader"
#: ImageBrowser.py:243 #: ImageBrowser.py:247
#, 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:250 #: ImageBrowser.py:254
#, python-brace-format #, python-brace-format
msgid "Current version: {version}" msgid "Current version: {version}"
msgstr "Obecna wersja: {version}" msgstr "Obecna wersja: {version}"
#: ImageBrowser.py:252 #: ImageBrowser.py:256
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:253 #: ImageBrowser.py:257
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:254 #: ImageBrowser.py:258
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:256 #: ImageBrowser.py:260
msgid "Authors:" msgid "Authors:"
msgstr "Autorzy:" msgstr "Autorzy:"
#: ImageBrowser.py:259 #: ImageBrowser.py:263
msgid "License: MIT License" msgid "License: MIT License"
msgstr "Licencja: MIT License" msgstr "Licencja: MIT License"
#: ImageBrowser.py:272 #: ImageBrowser.py:276
msgid "Repository:" msgid "Repository:"
msgstr "Repozytorium:" msgstr "Repozytorium:"
#: ImageBrowser.py:281 #: ImageBrowser.py:285
msgid "Website:" msgid "Website:"
msgstr "Strona internetowa:" msgstr "Strona internetowa:"
#: ImageBrowser.py:292 #: ImageBrowser.py:296
msgid "Close" msgid "Close"
msgstr "Zamknij" msgstr "Zamknij"
#: ImageBrowser.py:302 ImageBrowser.py:305 #: ImageBrowser.py:306 ImageBrowser.py:309
msgid "Cache" msgid "Cache"
msgstr "Cache" msgstr "Cache"
#: ImageBrowser.py:302 #: ImageBrowser.py:306
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:305 #: ImageBrowser.py:309
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:315 #: ImageBrowser.py:319
msgid "Login:" msgid "Login:"
msgstr "Login:" msgstr "Login:"
#: ImageBrowser.py:321 #: ImageBrowser.py:325
msgid "Hasło:" msgid "Hasło:"
msgstr "Hasło:" msgstr "Hasło:"
#: ImageBrowser.py:327 #: ImageBrowser.py:331
msgid "Base URL:" msgid "Base URL:"
msgstr "Base URL:" msgstr "Base URL:"
#: ImageBrowser.py:333 #: ImageBrowser.py:337
msgid "Default Tags:" msgid "Default Tags:"
msgstr "Domyślne tagi:" msgstr "Domyślne tagi:"
#: ImageBrowser.py:339 #: ImageBrowser.py:343
msgid "Browser:" msgid "Browser:"
msgstr "Przeglądarka:" msgstr "Przeglądarka:"
#: ImageBrowser.py:353 #: ImageBrowser.py:357
msgid "Language:" msgid "Language:"
msgstr "Język:" msgstr "Język:"
#: ImageBrowser.py:389 #: ImageBrowser.py:393
msgid "Zapisz" msgid "Zapisz"
msgstr "Zapisz" msgstr "Zapisz"
#: ImageBrowser.py:431 #: ImageBrowser.py:435
msgid "PNG Tags" msgid "PNG Tags"
msgstr "Tagi PNG" msgstr "Tagi PNG"
#: ImageBrowser.py:443 #: ImageBrowser.py:447
msgid "Tagger Tags" msgid "Tagger Tags"
msgstr "Tagi Taggera" msgstr "Tagi Taggera"
#: ImageBrowser.py:457 #: ImageBrowser.py:461
msgid "Manual Tags" msgid "Manual Tags"
msgstr "Tagi ręczne" msgstr "Tagi ręczne"
#: ImageBrowser.py:468 #: ImageBrowser.py:472
msgid "Final Tags" msgid "Final Tags"
msgstr "Ostateczne tagi" msgstr "Ostateczne tagi"
#: ImageBrowser.py:493 #: ImageBrowser.py:497
msgid "Wyświetl" msgid "Wyświetl"
msgstr "Wyświetl" msgstr "Wyświetl"
#: ImageBrowser.py:510 #: ImageBrowser.py:514
msgid "Przetworzono tagi:" msgid "Przetworzono tagi:"
msgstr "Przetworzono tagi:" msgstr "Przetworzono tagi:"
#: ImageBrowser.py:510 ImageBrowser.py:511 ImageBrowser.py:512 #: ImageBrowser.py:514 ImageBrowser.py:515 ImageBrowser.py:516
msgid "plików" msgid "plików"
msgstr "plików" msgstr "plików"
#: ImageBrowser.py:511 #: ImageBrowser.py:515
msgid "Zweryfikowano status uploadu:" msgid "Zweryfikowano status uploadu:"
msgstr "Zweryfikowano status uploadu:" msgstr "Zweryfikowano status uploadu:"
#: ImageBrowser.py:512 #: ImageBrowser.py:516
msgid "Zuploadowano:" msgid "Zuploadowano:"
msgstr "Zuploadowano:" msgstr "Zuploadowano:"
#: ImageBrowser.py:541 #: ImageBrowser.py:545
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:557 #: ImageBrowser.py:561
msgid "Informacja" msgid "Informacja"
msgstr "Informacja" msgstr "Informacja"
#: ImageBrowser.py:558 #: ImageBrowser.py:562
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:665 ImageBrowser.py:1188 #: ImageBrowser.py:669 ImageBrowser.py:1192
msgid "Błąd wysyłania" msgid "Błąd wysyłania"
msgstr "Błąd wysyłania" msgstr "Błąd wysyłania"
#: ImageBrowser.py:700 #: ImageBrowser.py:704
msgid "Błąd" msgid "Błąd"
msgstr "Błąd" msgstr "Błąd"
#: ImageBrowser.py:700 #: ImageBrowser.py:704
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:928 ImageBrowser.py:940 #: ImageBrowser.py:932 ImageBrowser.py:944
#, 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:1149 #: ImageBrowser.py:1153
msgid "Tagger przetwarza..." msgid "Tagger przetwarza..."
msgstr "Tagger przetwarza..." msgstr "Tagger przetwarza..."
#: ImageBrowser.py:1166 #: ImageBrowser.py:1170
msgid "Potwierdzenie" msgid "Potwierdzenie"
msgstr "Potwierdzenie" msgstr "Potwierdzenie"
#: ImageBrowser.py:1168 #: ImageBrowser.py:1172
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.2" version = "0.9.3"
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 = [