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

This commit is contained in:
2025-06-26 18:01:13 +02:00
parent 88288c7e22
commit aa6dd9e583
5 changed files with 199 additions and 199 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.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

View File

@@ -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)

View File

@@ -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"

View File

@@ -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"

View File

@@ -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 = [