Bump version to 0.9.4; update localization files and adjust index references in Core and ImageBrowser
All checks were successful
Gitea/kapitanbooru-uploader/pipeline/head This commit looks good
All checks were successful
Gitea/kapitanbooru-uploader/pipeline/head This commit looks good
This commit is contained in:
@@ -35,7 +35,7 @@ class Core:
|
||||
"""
|
||||
|
||||
def __init__(self, settings: Settings, gui_mode: bool = True):
|
||||
self.version = "0.9.3"
|
||||
self.version = "0.9.4"
|
||||
self.acknowledged_version = parse_version(self.version)
|
||||
self.settings = settings
|
||||
self.tags_repo = TagsRepo(settings)
|
||||
@@ -70,7 +70,6 @@ class Core:
|
||||
self.image_files_md5 = []
|
||||
self.current_index = None
|
||||
self.image_cache = None
|
||||
self.tagger_thread_idx = 0
|
||||
self.tagger = wdt.Tagger()
|
||||
|
||||
# Liczniki statusu
|
||||
|
@@ -59,6 +59,7 @@ class ImageBrowser(tk.Tk):
|
||||
# Słowniki przechowujące stany tagów (dla PNG i Taggera)
|
||||
self.png_tags_states = {}
|
||||
self.tagger_tags_states = {}
|
||||
self.tagger_thread_idx = 0
|
||||
|
||||
self.create_menu()
|
||||
self.create_widgets()
|
||||
@@ -80,7 +81,7 @@ class ImageBrowser(tk.Tk):
|
||||
lambda idx=idx: self.listbox.itemconfig(idx, {"bg": "lightgray"}),
|
||||
)
|
||||
# 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)
|
||||
|
||||
def _schedule_update_check(self):
|
||||
@@ -552,7 +553,7 @@ class ImageBrowser(tk.Tk):
|
||||
for file in self.core.image_files:
|
||||
self.listbox.insert(tk.END, os.path.basename(file))
|
||||
if self.core.image_files:
|
||||
self.current_index = 0
|
||||
self.core.current_index = 0
|
||||
self.listbox.select_set(0)
|
||||
self.show_image(0)
|
||||
self.update_button_states()
|
||||
@@ -585,12 +586,12 @@ class ImageBrowser(tk.Tk):
|
||||
- Buttons: upload_button, view_post_button
|
||||
|
||||
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
|
||||
"""
|
||||
has_current = self.current_index is not None
|
||||
has_current = self.core.current_index is not None
|
||||
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
|
||||
else None
|
||||
)
|
||||
@@ -620,9 +621,9 @@ class ImageBrowser(tk.Tk):
|
||||
|
||||
def view_current_post(self):
|
||||
"""Otwiera w przeglądarce URL posta."""
|
||||
if self.current_index is None:
|
||||
if self.core.current_index is None:
|
||||
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:
|
||||
url = self.core.settings.base_url.rstrip("/") + "/post/view/" + str(post_id)
|
||||
open_webbrowser(url, self.core.settings)
|
||||
@@ -635,7 +636,7 @@ class ImageBrowser(tk.Tk):
|
||||
if not self.listbox.curselection():
|
||||
return
|
||||
index = self.listbox.curselection()[0]
|
||||
self.current_index = index
|
||||
self.core.current_index = index
|
||||
self.show_image(index)
|
||||
self.update_button_states()
|
||||
|
||||
@@ -645,7 +646,7 @@ class ImageBrowser(tk.Tk):
|
||||
Wysyła POST z obrazkiem, tagami i ratingiem.
|
||||
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):
|
||||
# Jeśli plik już uploadowany, ustaw przycisk na "Wyświetl"
|
||||
self.update_button_states()
|
||||
@@ -708,7 +709,7 @@ class ImageBrowser(tk.Tk):
|
||||
Modyfikuje obrazek na serwerze.
|
||||
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):
|
||||
self.update_button_states()
|
||||
return
|
||||
@@ -799,12 +800,12 @@ class ImageBrowser(tk.Tk):
|
||||
"""
|
||||
Przełącza na poprzedni obraz
|
||||
"""
|
||||
if self.current_index is None:
|
||||
if self.core.current_index is None:
|
||||
return
|
||||
new_index = self.current_index - 1
|
||||
new_index = self.core.current_index - 1
|
||||
if new_index < 0:
|
||||
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_set(new_index)
|
||||
self.listbox.activate(new_index)
|
||||
@@ -815,12 +816,12 @@ class ImageBrowser(tk.Tk):
|
||||
"""
|
||||
Przełącza na następny obraz
|
||||
"""
|
||||
if self.current_index is None:
|
||||
if self.core.current_index is None:
|
||||
return
|
||||
new_index = self.current_index + 1
|
||||
new_index = self.core.current_index + 1
|
||||
if new_index >= len(self.core.image_files):
|
||||
new_index = 0
|
||||
self.current_index = new_index
|
||||
self.core.current_index = new_index
|
||||
self.listbox.select_clear(0, tk.END)
|
||||
self.listbox.select_set(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
|
||||
i zapisuje wynik do cache.
|
||||
"""
|
||||
if self.current_index is None:
|
||||
if self.core.current_index is None:
|
||||
return
|
||||
# Ustaw komunikat, że Tagger pracuje
|
||||
self.tagger_tags_text.config(state=tk.NORMAL)
|
||||
self.tagger_tags_text.delete("1.0", tk.END)
|
||||
self.tagger_tags_text.insert("1.0", _("Tagger przetwarza..."))
|
||||
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))
|
||||
new_rating = self.core.map_tagger_rating(result)
|
||||
self.rating_var.set(new_rating)
|
||||
|
@@ -1,8 +1,8 @@
|
||||
msgid ""
|
||||
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"
|
||||
"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-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -43,56 +43,56 @@ msgstr "Found auth_token:"
|
||||
msgid "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"
|
||||
msgstr "Error opening file"
|
||||
|
||||
#: Core.py:238
|
||||
#: Core.py:237
|
||||
msgid "Tagger przetworzył:"
|
||||
msgstr "Tagger processed:"
|
||||
|
||||
#: Core.py:241
|
||||
#: Core.py:240
|
||||
msgid "Błąd Taggera dla"
|
||||
msgstr "Tagger error for"
|
||||
|
||||
#: Core.py:296
|
||||
#: Core.py:295
|
||||
msgid "Error computing MD5:"
|
||||
msgstr "Error computing MD5:"
|
||||
|
||||
#: Core.py:421
|
||||
#: Core.py:420
|
||||
msgid "Błąd podczas sprawdzania paczki uploadu:"
|
||||
msgstr "Error while checking upload package:"
|
||||
|
||||
#: Core.py:430
|
||||
#: Core.py:429
|
||||
msgid "Plik nie istnieje:"
|
||||
msgstr "File does not exist:"
|
||||
|
||||
#: Core.py:436
|
||||
#: Core.py:435
|
||||
msgid "Tagi dla pliku"
|
||||
msgstr "Tags for file"
|
||||
|
||||
#: Core.py:445
|
||||
#: Core.py:444
|
||||
msgid "Błąd podczas autotagowania pliku"
|
||||
msgstr "Error during file autotagowania"
|
||||
|
||||
#: Core.py:452
|
||||
#: Core.py:451
|
||||
msgid "Podana ścieżka nie jest katalogiem:"
|
||||
msgstr "Given path is not a directory:"
|
||||
|
||||
#: Core.py:460
|
||||
#: Core.py:459
|
||||
msgid "Brak obrazów do przetworzenia w katalogu:"
|
||||
msgstr "No images to process in directory:"
|
||||
|
||||
#: Core.py:483
|
||||
#: Core.py:482
|
||||
#, python-brace-format
|
||||
msgid "Wysyłam plik {base_file_name}..."
|
||||
msgstr "Uploading file {base_file_name}..."
|
||||
|
||||
#: Core.py:518
|
||||
#: Core.py:517
|
||||
msgid "Wysyłanie zakończone powodzeniem!"
|
||||
msgstr "Upload completed successfully!"
|
||||
|
||||
#: Core.py:522 Core.py:531
|
||||
#: Core.py:521 Core.py:530
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Wysyłanie zakończone błędem.\n"
|
||||
@@ -103,52 +103,52 @@ msgstr ""
|
||||
"Status: {status_code}\n"
|
||||
"Content: {text}"
|
||||
|
||||
#: Core.py:540 Core.py:546 ImageBrowser.py:663 ImageBrowser.py:666
|
||||
#: ImageBrowser.py:1186 ImageBrowser.py:1189
|
||||
#: Core.py:539 Core.py:545 ImageBrowser.py:664 ImageBrowser.py:667
|
||||
#: ImageBrowser.py:1187 ImageBrowser.py:1190
|
||||
msgid "Wysyłanie"
|
||||
msgstr "Uploading"
|
||||
|
||||
#: Core.py:558
|
||||
#: Core.py:557
|
||||
msgid "Błąd wysyłania pliku"
|
||||
msgstr "Upload error"
|
||||
|
||||
#: Core.py:588
|
||||
#: Core.py:587
|
||||
msgid "Anulowano operację!"
|
||||
msgstr "Operation cancelled!"
|
||||
|
||||
#: Core.py:598
|
||||
#: Core.py:597
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}"
|
||||
msgstr ""
|
||||
"Uploading {file_path} with tags: {final_tags} and rating: {final_rating}"
|
||||
|
||||
#: Core.py:617
|
||||
#: Core.py:616
|
||||
msgid "Przesłano pliki!"
|
||||
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"
|
||||
msgstr "Post not found for this file"
|
||||
|
||||
#: Core.py:653
|
||||
#: Core.py:652
|
||||
#, python-brace-format
|
||||
msgid "Aktualizuję tagi dla {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"
|
||||
msgstr "Operation cancelled"
|
||||
|
||||
#: Core.py:708
|
||||
#: Core.py:707
|
||||
msgid "Tagi zostały zaktualizowane!"
|
||||
msgstr "Tags have been updated!"
|
||||
|
||||
#: Core.py:713 ImageBrowser.py:728
|
||||
#: Core.py:712 ImageBrowser.py:729
|
||||
msgid "Sukces edycji"
|
||||
msgstr "Edit successful"
|
||||
|
||||
#: Core.py:720
|
||||
#: Core.py:719
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Błąd podczas aktualizacji tagów\n"
|
||||
@@ -157,38 +157,38 @@ msgstr ""
|
||||
"Error updating tags\n"
|
||||
"Status: {code}"
|
||||
|
||||
#: Core.py:724
|
||||
#: Core.py:723
|
||||
msgid "Treść:"
|
||||
msgstr "Content:"
|
||||
|
||||
#: Core.py:728 ImageBrowser.py:725
|
||||
#: Core.py:727 ImageBrowser.py:726
|
||||
msgid "Błąd edycji"
|
||||
msgstr "Edit error"
|
||||
|
||||
#: Core.py:734
|
||||
#: Core.py:733
|
||||
msgid "Krytyczny błąd edycji"
|
||||
msgstr "Critical edit error"
|
||||
|
||||
#: ImageBrowser.py:120
|
||||
#: ImageBrowser.py:121
|
||||
#, python-brace-format
|
||||
msgid "Update check failed: {error}"
|
||||
msgstr "Update check failed: {error}"
|
||||
|
||||
#: ImageBrowser.py:122
|
||||
#: ImageBrowser.py:123
|
||||
#, python-brace-format
|
||||
msgid "Malformed pyproject.toml: {error}"
|
||||
msgstr "Malformed pyproject.toml: {error}"
|
||||
|
||||
#: ImageBrowser.py:125
|
||||
#: ImageBrowser.py:126
|
||||
#, python-brace-format
|
||||
msgid "Unexpected error during update check: {error}"
|
||||
msgstr "Unexpected error during update check: {error}"
|
||||
|
||||
#: ImageBrowser.py:132
|
||||
#: ImageBrowser.py:133
|
||||
msgid "Update Available"
|
||||
msgstr "Update Available"
|
||||
|
||||
#: ImageBrowser.py:134
|
||||
#: ImageBrowser.py:135
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A new version {new_version} is available!\n"
|
||||
@@ -201,219 +201,219 @@ msgstr ""
|
||||
"\n"
|
||||
"Update using: {update_command}"
|
||||
|
||||
#: ImageBrowser.py:191
|
||||
#: ImageBrowser.py:192
|
||||
msgid "Otwórz folder"
|
||||
msgstr "Open folder"
|
||||
|
||||
#: ImageBrowser.py:194 ImageBrowser.py:492 ImageBrowser.py:610
|
||||
#: ImageBrowser.py:618
|
||||
#: ImageBrowser.py:195 ImageBrowser.py:493 ImageBrowser.py:611
|
||||
#: ImageBrowser.py:619
|
||||
msgid "Wyślij"
|
||||
msgstr "Upload"
|
||||
|
||||
#: ImageBrowser.py:197 ImageBrowser.py:603
|
||||
#: ImageBrowser.py:198 ImageBrowser.py:604
|
||||
msgid "Wyślij wszystko"
|
||||
msgstr "Upload all"
|
||||
|
||||
#: ImageBrowser.py:201 ImageBrowser.py:604 ImageBrowser.py:610
|
||||
#: ImageBrowser.py:202 ImageBrowser.py:605 ImageBrowser.py:611
|
||||
msgid "Podmień tagi"
|
||||
msgstr "Replace tags"
|
||||
|
||||
#: ImageBrowser.py:204 ImageBrowser.py:605
|
||||
#: ImageBrowser.py:205 ImageBrowser.py:606
|
||||
msgid "Otwórz post"
|
||||
msgstr "Open post"
|
||||
|
||||
#: ImageBrowser.py:207
|
||||
#: ImageBrowser.py:208
|
||||
msgid "Zakończ"
|
||||
msgstr "Finish"
|
||||
|
||||
#: ImageBrowser.py:209
|
||||
#: ImageBrowser.py:210
|
||||
msgid "Plik"
|
||||
msgstr "File"
|
||||
|
||||
#: ImageBrowser.py:213 ImageBrowser.py:314
|
||||
#: ImageBrowser.py:214 ImageBrowser.py:315
|
||||
msgid "Ustawienia"
|
||||
msgstr "Settings"
|
||||
|
||||
#: ImageBrowser.py:216
|
||||
#: ImageBrowser.py:217
|
||||
msgid "Wyczyść cache Taggera"
|
||||
msgstr "Clear Tagger cache"
|
||||
|
||||
#: ImageBrowser.py:219
|
||||
#: ImageBrowser.py:220
|
||||
msgid "Zregeneruj bazę tagów"
|
||||
msgstr "Regenerate tag database"
|
||||
|
||||
#: ImageBrowser.py:221
|
||||
#: ImageBrowser.py:222
|
||||
msgid "Opcje"
|
||||
msgstr "Options"
|
||||
|
||||
#: ImageBrowser.py:224
|
||||
#: ImageBrowser.py:225
|
||||
msgid "About"
|
||||
msgstr "About"
|
||||
|
||||
#: ImageBrowser.py:225
|
||||
#: ImageBrowser.py:226
|
||||
msgid "Help"
|
||||
msgstr "Help"
|
||||
|
||||
#: ImageBrowser.py:230
|
||||
#: ImageBrowser.py:231
|
||||
msgid "About Kapitanbooru Uploader"
|
||||
msgstr "About Kapitanbooru Uploader"
|
||||
|
||||
#: ImageBrowser.py:247
|
||||
#: ImageBrowser.py:248
|
||||
#, python-brace-format
|
||||
msgid "A new version {new_version} is available!"
|
||||
msgstr "A new version {new_version} is available!"
|
||||
|
||||
#: ImageBrowser.py:254
|
||||
#: ImageBrowser.py:255
|
||||
#, python-brace-format
|
||||
msgid "Current version: {version}"
|
||||
msgstr "Current version: {version}"
|
||||
|
||||
#: ImageBrowser.py:256
|
||||
#: ImageBrowser.py:257
|
||||
msgid "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"
|
||||
msgstr "Features include image upload, tag management, automatic"
|
||||
|
||||
#: ImageBrowser.py:258
|
||||
#: ImageBrowser.py:259
|
||||
msgid "tagging with wdtagger, and cache management."
|
||||
msgstr "tagging with wdtagger, and cache management."
|
||||
|
||||
#: ImageBrowser.py:260
|
||||
#: ImageBrowser.py:261
|
||||
msgid "Authors:"
|
||||
msgstr "Authors:"
|
||||
|
||||
#: ImageBrowser.py:263
|
||||
#: ImageBrowser.py:264
|
||||
msgid "License: MIT License"
|
||||
msgstr "License: MIT License"
|
||||
|
||||
#: ImageBrowser.py:276
|
||||
#: ImageBrowser.py:277
|
||||
msgid "Repository:"
|
||||
msgstr "Repository:"
|
||||
|
||||
#: ImageBrowser.py:285
|
||||
#: ImageBrowser.py:286
|
||||
msgid "Website:"
|
||||
msgstr "Website:"
|
||||
|
||||
#: ImageBrowser.py:296
|
||||
#: ImageBrowser.py:297
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: ImageBrowser.py:306 ImageBrowser.py:309
|
||||
#: ImageBrowser.py:307 ImageBrowser.py:310
|
||||
msgid "Cache"
|
||||
msgstr "Cache"
|
||||
|
||||
#: ImageBrowser.py:306
|
||||
#: ImageBrowser.py:307
|
||||
msgid "Cache Taggera zostało wyczyszczone."
|
||||
msgstr "Tagger cache has been cleared."
|
||||
|
||||
#: ImageBrowser.py:309
|
||||
#: ImageBrowser.py:310
|
||||
msgid "Błąd przy czyszczeniu cache:"
|
||||
msgstr "Error clearing cache:"
|
||||
|
||||
#: ImageBrowser.py:319
|
||||
#: ImageBrowser.py:320
|
||||
msgid "Login:"
|
||||
msgstr "Login:"
|
||||
|
||||
#: ImageBrowser.py:325
|
||||
#: ImageBrowser.py:326
|
||||
msgid "Hasło:"
|
||||
msgstr "Password:"
|
||||
|
||||
#: ImageBrowser.py:331
|
||||
#: ImageBrowser.py:332
|
||||
msgid "Base URL:"
|
||||
msgstr "Base URL:"
|
||||
|
||||
#: ImageBrowser.py:337
|
||||
#: ImageBrowser.py:338
|
||||
msgid "Default Tags:"
|
||||
msgstr "Default Tags:"
|
||||
|
||||
#: ImageBrowser.py:343
|
||||
#: ImageBrowser.py:344
|
||||
msgid "Browser:"
|
||||
msgstr "Browser:"
|
||||
|
||||
#: ImageBrowser.py:357
|
||||
#: ImageBrowser.py:358
|
||||
msgid "Language:"
|
||||
msgstr "Language:"
|
||||
|
||||
#: ImageBrowser.py:393
|
||||
#: ImageBrowser.py:394
|
||||
msgid "Zapisz"
|
||||
msgstr "Save"
|
||||
|
||||
#: ImageBrowser.py:435
|
||||
#: ImageBrowser.py:436
|
||||
msgid "PNG Tags"
|
||||
msgstr "PNG Tags"
|
||||
|
||||
#: ImageBrowser.py:447
|
||||
#: ImageBrowser.py:448
|
||||
msgid "Tagger Tags"
|
||||
msgstr "Tagger Tags"
|
||||
|
||||
#: ImageBrowser.py:461
|
||||
#: ImageBrowser.py:462
|
||||
msgid "Manual Tags"
|
||||
msgstr "Manual Tags"
|
||||
|
||||
#: ImageBrowser.py:472
|
||||
#: ImageBrowser.py:473
|
||||
msgid "Final Tags"
|
||||
msgstr "Final Tags"
|
||||
|
||||
#: ImageBrowser.py:497
|
||||
#: ImageBrowser.py:498
|
||||
msgid "Wyświetl"
|
||||
msgstr "Display"
|
||||
|
||||
#: ImageBrowser.py:514
|
||||
#: ImageBrowser.py:515
|
||||
msgid "Przetworzono tagi:"
|
||||
msgstr "Processed tags:"
|
||||
|
||||
#: ImageBrowser.py:514 ImageBrowser.py:515 ImageBrowser.py:516
|
||||
#: ImageBrowser.py:515 ImageBrowser.py:516 ImageBrowser.py:517
|
||||
msgid "plików"
|
||||
msgstr "files"
|
||||
|
||||
#: ImageBrowser.py:515
|
||||
#: ImageBrowser.py:516
|
||||
msgid "Zweryfikowano status uploadu:"
|
||||
msgstr "Upload status verified:"
|
||||
|
||||
#: ImageBrowser.py:516
|
||||
#: ImageBrowser.py:517
|
||||
msgid "Zuploadowano:"
|
||||
msgstr "Uploaded:"
|
||||
|
||||
#: ImageBrowser.py:545
|
||||
#: ImageBrowser.py:546
|
||||
msgid "Wybierz folder z obrazkami PNG, JPEG, WebP, AVIF i GIF"
|
||||
msgstr "Select folder with PNG, JPEG, WebP, AVIF, and GIF images"
|
||||
|
||||
#: ImageBrowser.py:561
|
||||
#: ImageBrowser.py:562
|
||||
msgid "Informacja"
|
||||
msgstr "Information"
|
||||
|
||||
#: ImageBrowser.py:562
|
||||
#: ImageBrowser.py:563
|
||||
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."
|
||||
|
||||
#: ImageBrowser.py:669 ImageBrowser.py:1192
|
||||
#: ImageBrowser.py:670 ImageBrowser.py:1193
|
||||
msgid "Błąd wysyłania"
|
||||
msgstr "Upload error"
|
||||
|
||||
#: ImageBrowser.py:704
|
||||
#: ImageBrowser.py:705
|
||||
msgid "Błąd"
|
||||
msgstr "Error"
|
||||
|
||||
#: ImageBrowser.py:704
|
||||
#: ImageBrowser.py:705
|
||||
msgid "Nie można załadować obrazka:"
|
||||
msgstr "Unable to load image:"
|
||||
|
||||
#: ImageBrowser.py:932 ImageBrowser.py:944
|
||||
#: ImageBrowser.py:933 ImageBrowser.py:945
|
||||
#, python-brace-format
|
||||
msgid "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..."
|
||||
msgstr "Tagger processing..."
|
||||
|
||||
#: ImageBrowser.py:1170
|
||||
#: ImageBrowser.py:1171
|
||||
msgid "Potwierdzenie"
|
||||
msgstr "Confirmation"
|
||||
|
||||
#: ImageBrowser.py:1172
|
||||
#: ImageBrowser.py:1173
|
||||
msgid ""
|
||||
"Czy na pewno chcesz wrzucić wszystkie niewrzucone pliki?\n"
|
||||
"Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n"
|
||||
|
@@ -1,8 +1,8 @@
|
||||
msgid ""
|
||||
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"
|
||||
"POT-Creation-Date: 2025-06-26 17:51+0200\n"
|
||||
"POT-Creation-Date: 2025-06-26 18:00+0200\n"
|
||||
"Language: pl\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -45,56 +45,56 @@ msgstr "Znaleziono auth_token:"
|
||||
msgid "auth_token not found in the HTML page."
|
||||
msgstr "Nie znaleziono auth_token w stronie HTML."
|
||||
|
||||
#: Core.py:196
|
||||
#: Core.py:195
|
||||
msgid "Błąd przy otwieraniu pliku"
|
||||
msgstr "Błąd przy otwieraniu pliku"
|
||||
|
||||
#: Core.py:238
|
||||
#: Core.py:237
|
||||
msgid "Tagger przetworzył:"
|
||||
msgstr "Tagger przetworzył:"
|
||||
|
||||
#: Core.py:241
|
||||
#: Core.py:240
|
||||
msgid "Błąd Taggera dla"
|
||||
msgstr "Błąd Taggera dla"
|
||||
|
||||
#: Core.py:296
|
||||
#: Core.py:295
|
||||
msgid "Error computing MD5:"
|
||||
msgstr "Błąd przy obliczaniu MD5:"
|
||||
|
||||
#: Core.py:421
|
||||
#: Core.py:420
|
||||
msgid "Błąd podczas sprawdzania paczki uploadu:"
|
||||
msgstr "Błąd podczas sprawdzania paczki uploadu:"
|
||||
|
||||
#: Core.py:430
|
||||
#: Core.py:429
|
||||
msgid "Plik nie istnieje:"
|
||||
msgstr ""
|
||||
|
||||
#: Core.py:436
|
||||
#: Core.py:435
|
||||
msgid "Tagi dla pliku"
|
||||
msgstr ""
|
||||
|
||||
#: Core.py:445
|
||||
#: Core.py:444
|
||||
msgid "Błąd podczas autotagowania pliku"
|
||||
msgstr "Błąd podczas autotagowania pliku"
|
||||
|
||||
#: Core.py:452
|
||||
#: Core.py:451
|
||||
msgid "Podana ścieżka nie jest katalogiem:"
|
||||
msgstr ""
|
||||
|
||||
#: Core.py:460
|
||||
#: Core.py:459
|
||||
msgid "Brak obrazów do przetworzenia w katalogu:"
|
||||
msgstr ""
|
||||
|
||||
#: Core.py:483
|
||||
#: Core.py:482
|
||||
#, python-brace-format
|
||||
msgid "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!"
|
||||
msgstr "Wysyłanie zakończone powodzeniem!"
|
||||
|
||||
#: Core.py:522 Core.py:531
|
||||
#: Core.py:521 Core.py:530
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Wysyłanie zakończone błędem.\n"
|
||||
@@ -105,52 +105,52 @@ msgstr ""
|
||||
"Status: {status_code}\n"
|
||||
"Treść: {text}"
|
||||
|
||||
#: Core.py:540 Core.py:546 ImageBrowser.py:663 ImageBrowser.py:666
|
||||
#: ImageBrowser.py:1186 ImageBrowser.py:1189
|
||||
#: Core.py:539 Core.py:545 ImageBrowser.py:664 ImageBrowser.py:667
|
||||
#: ImageBrowser.py:1187 ImageBrowser.py:1190
|
||||
msgid "Wysyłanie"
|
||||
msgstr "Wysyłanie"
|
||||
|
||||
#: Core.py:558
|
||||
#: Core.py:557
|
||||
msgid "Błąd wysyłania pliku"
|
||||
msgstr "Błąd wysyłania pliku"
|
||||
|
||||
#: Core.py:588
|
||||
#: Core.py:587
|
||||
msgid "Anulowano operację!"
|
||||
msgstr "Operacja anulowana!"
|
||||
|
||||
#: Core.py:598
|
||||
#: Core.py:597
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}"
|
||||
msgstr ""
|
||||
"Wysyłanie {file_path} z tagami: {final_tags} i ratingiem: {final_rating}"
|
||||
|
||||
#: Core.py:617
|
||||
#: Core.py:616
|
||||
msgid "Przesłano pliki!"
|
||||
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"
|
||||
msgstr "Post nie został znaleziony dla tego pliku"
|
||||
|
||||
#: Core.py:653
|
||||
#: Core.py:652
|
||||
#, python-brace-format
|
||||
msgid "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"
|
||||
msgstr "Operacja anulowana"
|
||||
|
||||
#: Core.py:708
|
||||
#: Core.py:707
|
||||
msgid "Tagi zostały zaktualizowane!"
|
||||
msgstr "Tagi zostały zaktualizowane!"
|
||||
|
||||
#: Core.py:713 ImageBrowser.py:728
|
||||
#: Core.py:712 ImageBrowser.py:729
|
||||
msgid "Sukces edycji"
|
||||
msgstr "Sukces edycji"
|
||||
|
||||
#: Core.py:720
|
||||
#: Core.py:719
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Błąd podczas aktualizacji tagów\n"
|
||||
@@ -159,38 +159,38 @@ msgstr ""
|
||||
"Błąd podczas aktualizacji tagów\n"
|
||||
"Status: {code}"
|
||||
|
||||
#: Core.py:724
|
||||
#: Core.py:723
|
||||
msgid "Treść:"
|
||||
msgstr "Treść:"
|
||||
|
||||
#: Core.py:728 ImageBrowser.py:725
|
||||
#: Core.py:727 ImageBrowser.py:726
|
||||
msgid "Błąd edycji"
|
||||
msgstr "Błąd edycji"
|
||||
|
||||
#: Core.py:734
|
||||
#: Core.py:733
|
||||
msgid "Krytyczny błąd edycji"
|
||||
msgstr "Krytyczny błąd edycji"
|
||||
|
||||
#: ImageBrowser.py:120
|
||||
#: ImageBrowser.py:121
|
||||
#, python-brace-format
|
||||
msgid "Update check failed: {error}"
|
||||
msgstr "Sprawdzenie aktualizacji nie powiodło się: {error}"
|
||||
|
||||
#: ImageBrowser.py:122
|
||||
#: ImageBrowser.py:123
|
||||
#, python-brace-format
|
||||
msgid "Malformed pyproject.toml: {error}"
|
||||
msgstr "Nieprawidłowy plik pyproject.toml: {error}"
|
||||
|
||||
#: ImageBrowser.py:125
|
||||
#: ImageBrowser.py:126
|
||||
#, python-brace-format
|
||||
msgid "Unexpected error during update check: {error}"
|
||||
msgstr "Nieoczekiwany błąd podczas sprawdzania aktualizacji: {error}"
|
||||
|
||||
#: ImageBrowser.py:132
|
||||
#: ImageBrowser.py:133
|
||||
msgid "Update Available"
|
||||
msgstr "Aktualizacja dostępna"
|
||||
|
||||
#: ImageBrowser.py:134
|
||||
#: ImageBrowser.py:135
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A new version {new_version} is available!\n"
|
||||
@@ -203,219 +203,219 @@ msgstr ""
|
||||
"\n"
|
||||
"Aktualizuj za pomocą: {update_command}"
|
||||
|
||||
#: ImageBrowser.py:191
|
||||
#: ImageBrowser.py:192
|
||||
msgid "Otwórz folder"
|
||||
msgstr "Otwórz folder"
|
||||
|
||||
#: ImageBrowser.py:194 ImageBrowser.py:492 ImageBrowser.py:610
|
||||
#: ImageBrowser.py:618
|
||||
#: ImageBrowser.py:195 ImageBrowser.py:493 ImageBrowser.py:611
|
||||
#: ImageBrowser.py:619
|
||||
msgid "Wyślij"
|
||||
msgstr "Wyślij"
|
||||
|
||||
#: ImageBrowser.py:197 ImageBrowser.py:603
|
||||
#: ImageBrowser.py:198 ImageBrowser.py:604
|
||||
msgid "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"
|
||||
msgstr "Podmień tagi"
|
||||
|
||||
#: ImageBrowser.py:204 ImageBrowser.py:605
|
||||
#: ImageBrowser.py:205 ImageBrowser.py:606
|
||||
msgid "Otwórz post"
|
||||
msgstr "Otwórz post"
|
||||
|
||||
#: ImageBrowser.py:207
|
||||
#: ImageBrowser.py:208
|
||||
msgid "Zakończ"
|
||||
msgstr "Zakończ"
|
||||
|
||||
#: ImageBrowser.py:209
|
||||
#: ImageBrowser.py:210
|
||||
msgid "Plik"
|
||||
msgstr "Plik"
|
||||
|
||||
#: ImageBrowser.py:213 ImageBrowser.py:314
|
||||
#: ImageBrowser.py:214 ImageBrowser.py:315
|
||||
msgid "Ustawienia"
|
||||
msgstr "Ustawienia"
|
||||
|
||||
#: ImageBrowser.py:216
|
||||
#: ImageBrowser.py:217
|
||||
msgid "Wyczyść cache Taggera"
|
||||
msgstr "Wyczyść cache Taggera"
|
||||
|
||||
#: ImageBrowser.py:219
|
||||
#: ImageBrowser.py:220
|
||||
msgid "Zregeneruj bazę tagów"
|
||||
msgstr "Zregeneruj bazę tagów"
|
||||
|
||||
#: ImageBrowser.py:221
|
||||
#: ImageBrowser.py:222
|
||||
msgid "Opcje"
|
||||
msgstr "Opcje"
|
||||
|
||||
#: ImageBrowser.py:224
|
||||
#: ImageBrowser.py:225
|
||||
msgid "About"
|
||||
msgstr "O programie"
|
||||
|
||||
#: ImageBrowser.py:225
|
||||
#: ImageBrowser.py:226
|
||||
msgid "Help"
|
||||
msgstr "Pomoc"
|
||||
|
||||
#: ImageBrowser.py:230
|
||||
#: ImageBrowser.py:231
|
||||
msgid "About Kapitanbooru Uploader"
|
||||
msgstr "O programie Kapitanbooru Uploader"
|
||||
|
||||
#: ImageBrowser.py:247
|
||||
#: ImageBrowser.py:248
|
||||
#, python-brace-format
|
||||
msgid "A new version {new_version} is available!"
|
||||
msgstr "Dostępna jest nowa wersja {new_version}!"
|
||||
|
||||
#: ImageBrowser.py:254
|
||||
#: ImageBrowser.py:255
|
||||
#, python-brace-format
|
||||
msgid "Current version: {version}"
|
||||
msgstr "Obecna wersja: {version}"
|
||||
|
||||
#: ImageBrowser.py:256
|
||||
#: ImageBrowser.py:257
|
||||
msgid "A GUI application for uploading images to 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"
|
||||
msgstr "Funkcje obejmują przesyłanie obrazów, zarządzanie tagami, automatyczne"
|
||||
|
||||
#: ImageBrowser.py:258
|
||||
#: ImageBrowser.py:259
|
||||
msgid "tagging with wdtagger, and cache management."
|
||||
msgstr "tagowanie za pomocą wdtagger oraz zarządzanie cache."
|
||||
|
||||
#: ImageBrowser.py:260
|
||||
#: ImageBrowser.py:261
|
||||
msgid "Authors:"
|
||||
msgstr "Autorzy:"
|
||||
|
||||
#: ImageBrowser.py:263
|
||||
#: ImageBrowser.py:264
|
||||
msgid "License: MIT License"
|
||||
msgstr "Licencja: MIT License"
|
||||
|
||||
#: ImageBrowser.py:276
|
||||
#: ImageBrowser.py:277
|
||||
msgid "Repository:"
|
||||
msgstr "Repozytorium:"
|
||||
|
||||
#: ImageBrowser.py:285
|
||||
#: ImageBrowser.py:286
|
||||
msgid "Website:"
|
||||
msgstr "Strona internetowa:"
|
||||
|
||||
#: ImageBrowser.py:296
|
||||
#: ImageBrowser.py:297
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: ImageBrowser.py:306 ImageBrowser.py:309
|
||||
#: ImageBrowser.py:307 ImageBrowser.py:310
|
||||
msgid "Cache"
|
||||
msgstr "Cache"
|
||||
|
||||
#: ImageBrowser.py:306
|
||||
#: ImageBrowser.py:307
|
||||
msgid "Cache Taggera zostało wyczyszczone."
|
||||
msgstr "Cache Taggera zostało wyczyszczone."
|
||||
|
||||
#: ImageBrowser.py:309
|
||||
#: ImageBrowser.py:310
|
||||
msgid "Błąd przy czyszczeniu cache:"
|
||||
msgstr "Błąd przy czyszczeniu cache:"
|
||||
|
||||
#: ImageBrowser.py:319
|
||||
#: ImageBrowser.py:320
|
||||
msgid "Login:"
|
||||
msgstr "Login:"
|
||||
|
||||
#: ImageBrowser.py:325
|
||||
#: ImageBrowser.py:326
|
||||
msgid "Hasło:"
|
||||
msgstr "Hasło:"
|
||||
|
||||
#: ImageBrowser.py:331
|
||||
#: ImageBrowser.py:332
|
||||
msgid "Base URL:"
|
||||
msgstr "Base URL:"
|
||||
|
||||
#: ImageBrowser.py:337
|
||||
#: ImageBrowser.py:338
|
||||
msgid "Default Tags:"
|
||||
msgstr "Domyślne tagi:"
|
||||
|
||||
#: ImageBrowser.py:343
|
||||
#: ImageBrowser.py:344
|
||||
msgid "Browser:"
|
||||
msgstr "Przeglądarka:"
|
||||
|
||||
#: ImageBrowser.py:357
|
||||
#: ImageBrowser.py:358
|
||||
msgid "Language:"
|
||||
msgstr "Język:"
|
||||
|
||||
#: ImageBrowser.py:393
|
||||
#: ImageBrowser.py:394
|
||||
msgid "Zapisz"
|
||||
msgstr "Zapisz"
|
||||
|
||||
#: ImageBrowser.py:435
|
||||
#: ImageBrowser.py:436
|
||||
msgid "PNG Tags"
|
||||
msgstr "Tagi PNG"
|
||||
|
||||
#: ImageBrowser.py:447
|
||||
#: ImageBrowser.py:448
|
||||
msgid "Tagger Tags"
|
||||
msgstr "Tagi Taggera"
|
||||
|
||||
#: ImageBrowser.py:461
|
||||
#: ImageBrowser.py:462
|
||||
msgid "Manual Tags"
|
||||
msgstr "Tagi ręczne"
|
||||
|
||||
#: ImageBrowser.py:472
|
||||
#: ImageBrowser.py:473
|
||||
msgid "Final Tags"
|
||||
msgstr "Ostateczne tagi"
|
||||
|
||||
#: ImageBrowser.py:497
|
||||
#: ImageBrowser.py:498
|
||||
msgid "Wyświetl"
|
||||
msgstr "Wyświetl"
|
||||
|
||||
#: ImageBrowser.py:514
|
||||
#: ImageBrowser.py:515
|
||||
msgid "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"
|
||||
msgstr "plików"
|
||||
|
||||
#: ImageBrowser.py:515
|
||||
#: ImageBrowser.py:516
|
||||
msgid "Zweryfikowano status uploadu:"
|
||||
msgstr "Zweryfikowano status uploadu:"
|
||||
|
||||
#: ImageBrowser.py:516
|
||||
#: ImageBrowser.py:517
|
||||
msgid "Zuploadowano:"
|
||||
msgstr "Zuploadowano:"
|
||||
|
||||
#: ImageBrowser.py:545
|
||||
#: ImageBrowser.py:546
|
||||
msgid "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"
|
||||
msgstr "Informacja"
|
||||
|
||||
#: ImageBrowser.py:562
|
||||
#: ImageBrowser.py:563
|
||||
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."
|
||||
|
||||
#: ImageBrowser.py:669 ImageBrowser.py:1192
|
||||
#: ImageBrowser.py:670 ImageBrowser.py:1193
|
||||
msgid "Błąd wysyłania"
|
||||
msgstr "Błąd wysyłania"
|
||||
|
||||
#: ImageBrowser.py:704
|
||||
#: ImageBrowser.py:705
|
||||
msgid "Błąd"
|
||||
msgstr "Błąd"
|
||||
|
||||
#: ImageBrowser.py:704
|
||||
#: ImageBrowser.py:705
|
||||
msgid "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
|
||||
msgid "Warning: Tag '{tag}' not found in implication graph"
|
||||
msgstr "Ostrzeżenie: Tag '{tag}' nie został znaleziony w grafie implikacji"
|
||||
|
||||
#: ImageBrowser.py:1153
|
||||
#: ImageBrowser.py:1154
|
||||
msgid "Tagger przetwarza..."
|
||||
msgstr "Tagger przetwarza..."
|
||||
|
||||
#: ImageBrowser.py:1170
|
||||
#: ImageBrowser.py:1171
|
||||
msgid "Potwierdzenie"
|
||||
msgstr "Potwierdzenie"
|
||||
|
||||
#: ImageBrowser.py:1172
|
||||
#: ImageBrowser.py:1173
|
||||
msgid ""
|
||||
"Czy na pewno chcesz wrzucić wszystkie niewrzucone pliki?\n"
|
||||
"Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n"
|
||||
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "kapitanbooru-uploader"
|
||||
version = "0.9.3"
|
||||
version = "0.9.4"
|
||||
description = "A GUI application for uploading images to KapitanBooru"
|
||||
authors = [{ name = "Michał Leśniak", email = "kapitan@mlesniak.pl" }]
|
||||
dependencies = [
|
||||
|
Reference in New Issue
Block a user