Bump version to 0.8.3; add artist extraction from filename and update localization files
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:
@@ -23,7 +23,7 @@ from .TagsRepo import TagsRepo
|
|||||||
from .autocomplete import TagManager
|
from .autocomplete import TagManager
|
||||||
from .common import get_auth_token, login, open_tag_wiki_url, open_webbrowser
|
from .common import get_auth_token, login, open_tag_wiki_url, open_webbrowser
|
||||||
from .settings import Settings
|
from .settings import Settings
|
||||||
from .tag_processing import TAG_FIXES, extract_parameters, parse_parameters, process_tag
|
from .tag_processing import TAG_FIXES, extract_parameters, parse_parameters, process_tag, extract_artist_from_filename
|
||||||
from .tagger_cache import TaggerCache
|
from .tagger_cache import TaggerCache
|
||||||
|
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ class ImageBrowser(tk.Tk):
|
|||||||
super().__init__()
|
super().__init__()
|
||||||
self.title("Kapitanbooru Uploader")
|
self.title("Kapitanbooru Uploader")
|
||||||
self.geometry("900x600")
|
self.geometry("900x600")
|
||||||
self.version = "0.8.2"
|
self.version = "0.8.3"
|
||||||
self.acknowledged_version = parse_version(self.version)
|
self.acknowledged_version = parse_version(self.version)
|
||||||
|
|
||||||
self.settings = Settings()
|
self.settings = Settings()
|
||||||
@@ -250,6 +250,7 @@ class ImageBrowser(tk.Tk):
|
|||||||
try:
|
try:
|
||||||
img = Image.open(file_path)
|
img = Image.open(file_path)
|
||||||
parameters = extract_parameters(img, file_path)
|
parameters = extract_parameters(img, file_path)
|
||||||
|
artist_tag = extract_artist_from_filename(file_path)
|
||||||
png_tags = set(
|
png_tags = set(
|
||||||
[
|
[
|
||||||
x
|
x
|
||||||
@@ -258,6 +259,8 @@ class ImageBrowser(tk.Tk):
|
|||||||
is not None # Ignoruj nieistniejące tagi
|
is not None # Ignoruj nieistniejące tagi
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
if artist_tag:
|
||||||
|
png_tags.add("artist:" + artist_tag.replace(" ", "_").replace("\\", ""))
|
||||||
img.close()
|
img.close()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(_("Błąd przy otwieraniu pliku"), file_path, ":", e)
|
print(_("Błąd przy otwieraniu pliku"), file_path, ":", e)
|
||||||
@@ -924,10 +927,13 @@ class ImageBrowser(tk.Tk):
|
|||||||
try:
|
try:
|
||||||
img = Image.open(file_path)
|
img = Image.open(file_path)
|
||||||
parameters = extract_parameters(img, file_path)
|
parameters = extract_parameters(img, file_path)
|
||||||
|
artist_tag = extract_artist_from_filename(file_path)
|
||||||
self.current_image_original = img.copy()
|
self.current_image_original = img.copy()
|
||||||
self.current_parameters = parameters
|
self.current_parameters = parameters
|
||||||
self.update_display_image()
|
self.update_display_image()
|
||||||
parsed_parameters = parse_parameters(parameters, self.tags_repo)
|
parsed_parameters = parse_parameters(parameters, self.tags_repo)
|
||||||
|
if artist_tag:
|
||||||
|
parsed_parameters += f" artist:{artist_tag.replace(' ', '_').replace('\\', '')}"
|
||||||
# Uaktualnij widget PNG Tags
|
# Uaktualnij widget PNG Tags
|
||||||
self.update_png_tags_widget(parsed_parameters.split())
|
self.update_png_tags_widget(parsed_parameters.split())
|
||||||
# Uruchom Taggera w osobnym wątku
|
# Uruchom Taggera w osobnym wątku
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Kapitanbooru Uploader 0.8.2\n"
|
"Project-Id-Version: Kapitanbooru Uploader 0.8.3\n"
|
||||||
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
|
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
|
||||||
"POT-Creation-Date: 2025-03-27 20:47+0100\n"
|
"POT-Creation-Date: 2025-06-25 23:49+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"
|
||||||
|
|
||||||
@@ -75,241 +75,241 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Update using: {update_command}"
|
"Update using: {update_command}"
|
||||||
|
|
||||||
#: ImageBrowser.py:263
|
#: ImageBrowser.py:266
|
||||||
msgid "Błąd przy otwieraniu pliku"
|
msgid "Błąd przy otwieraniu pliku"
|
||||||
msgstr "Error opening file"
|
msgstr "Error opening file"
|
||||||
|
|
||||||
#: ImageBrowser.py:305
|
#: ImageBrowser.py:308
|
||||||
msgid "Tagger przetworzył:"
|
msgid "Tagger przetworzył:"
|
||||||
msgstr "Tagger processed:"
|
msgstr "Tagger processed:"
|
||||||
|
|
||||||
#: ImageBrowser.py:308
|
#: ImageBrowser.py:311
|
||||||
msgid "Błąd Taggera dla"
|
msgid "Błąd Taggera dla"
|
||||||
msgstr "Tagger error for"
|
msgstr "Tagger error for"
|
||||||
|
|
||||||
#: ImageBrowser.py:334
|
#: ImageBrowser.py:337
|
||||||
msgid "Otwórz folder"
|
msgid "Otwórz folder"
|
||||||
msgstr "Open folder"
|
msgstr "Open folder"
|
||||||
|
|
||||||
#: ImageBrowser.py:337 ImageBrowser.py:626 ImageBrowser.py:853
|
#: ImageBrowser.py:340 ImageBrowser.py:629 ImageBrowser.py:856
|
||||||
#: ImageBrowser.py:861
|
#: ImageBrowser.py:864
|
||||||
msgid "Wyślij"
|
msgid "Wyślij"
|
||||||
msgstr "Send"
|
msgstr "Send"
|
||||||
|
|
||||||
#: ImageBrowser.py:340 ImageBrowser.py:846
|
#: ImageBrowser.py:343 ImageBrowser.py:849
|
||||||
msgid "Wyślij wszystko"
|
msgid "Wyślij wszystko"
|
||||||
msgstr "Send all"
|
msgstr "Send all"
|
||||||
|
|
||||||
#: ImageBrowser.py:344 ImageBrowser.py:847 ImageBrowser.py:853
|
#: ImageBrowser.py:347 ImageBrowser.py:850 ImageBrowser.py:856
|
||||||
msgid "Podmień tagi"
|
msgid "Podmień tagi"
|
||||||
msgstr "Replace tags"
|
msgstr "Replace tags"
|
||||||
|
|
||||||
#: ImageBrowser.py:347 ImageBrowser.py:848
|
#: ImageBrowser.py:350 ImageBrowser.py:851
|
||||||
msgid "Otwórz post"
|
msgid "Otwórz post"
|
||||||
msgstr "Open post"
|
msgstr "Open post"
|
||||||
|
|
||||||
#: ImageBrowser.py:350
|
#: ImageBrowser.py:353
|
||||||
msgid "Zakończ"
|
msgid "Zakończ"
|
||||||
msgstr "Finish"
|
msgstr "Finish"
|
||||||
|
|
||||||
#: ImageBrowser.py:352
|
#: ImageBrowser.py:355
|
||||||
msgid "Plik"
|
msgid "Plik"
|
||||||
msgstr "File"
|
msgstr "File"
|
||||||
|
|
||||||
#: ImageBrowser.py:356 ImageBrowser.py:455
|
#: ImageBrowser.py:359 ImageBrowser.py:458
|
||||||
msgid "Ustawienia"
|
msgid "Ustawienia"
|
||||||
msgstr "Settings"
|
msgstr "Settings"
|
||||||
|
|
||||||
#: ImageBrowser.py:359
|
#: ImageBrowser.py:362
|
||||||
msgid "Wyczyść cache Taggera"
|
msgid "Wyczyść cache Taggera"
|
||||||
msgstr "Clear Tagger cache"
|
msgstr "Clear Tagger cache"
|
||||||
|
|
||||||
#: ImageBrowser.py:362
|
#: ImageBrowser.py:365
|
||||||
msgid "Zregeneruj bazę tagów"
|
msgid "Zregeneruj bazę tagów"
|
||||||
msgstr "Regenerate tag database"
|
msgstr "Regenerate tag database"
|
||||||
|
|
||||||
#: ImageBrowser.py:364
|
#: ImageBrowser.py:367
|
||||||
msgid "Opcje"
|
msgid "Opcje"
|
||||||
msgstr "Options"
|
msgstr "Options"
|
||||||
|
|
||||||
#: ImageBrowser.py:367
|
#: ImageBrowser.py:370
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "About"
|
msgstr "About"
|
||||||
|
|
||||||
#: ImageBrowser.py:368
|
#: ImageBrowser.py:371
|
||||||
msgid "Help"
|
msgid "Help"
|
||||||
msgstr "Help"
|
msgstr "Help"
|
||||||
|
|
||||||
#: ImageBrowser.py:373
|
#: ImageBrowser.py:376
|
||||||
msgid "About Kapitanbooru Uploader"
|
msgid "About Kapitanbooru Uploader"
|
||||||
msgstr "About Kapitanbooru Uploader"
|
msgstr "About Kapitanbooru Uploader"
|
||||||
|
|
||||||
#: ImageBrowser.py:390
|
#: ImageBrowser.py:393
|
||||||
#, 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:397
|
#: ImageBrowser.py:400
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Current version: {version}"
|
msgid "Current version: {version}"
|
||||||
msgstr "Current version: {version}"
|
msgstr "Current version: {version}"
|
||||||
|
|
||||||
#: ImageBrowser.py:399
|
#: ImageBrowser.py:402
|
||||||
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:400
|
#: ImageBrowser.py:403
|
||||||
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:401
|
#: ImageBrowser.py:404
|
||||||
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:403
|
#: ImageBrowser.py:406
|
||||||
msgid "Authors:"
|
msgid "Authors:"
|
||||||
msgstr "Authors:"
|
msgstr "Authors:"
|
||||||
|
|
||||||
#: ImageBrowser.py:406
|
#: ImageBrowser.py:409
|
||||||
msgid "License: MIT License"
|
msgid "License: MIT License"
|
||||||
msgstr "License: MIT License"
|
msgstr "License: MIT License"
|
||||||
|
|
||||||
#: ImageBrowser.py:419
|
#: ImageBrowser.py:422
|
||||||
msgid "Repository:"
|
msgid "Repository:"
|
||||||
msgstr "Repository:"
|
msgstr "Repository:"
|
||||||
|
|
||||||
#: ImageBrowser.py:428
|
#: ImageBrowser.py:431
|
||||||
msgid "Website:"
|
msgid "Website:"
|
||||||
msgstr "Website:"
|
msgstr "Website:"
|
||||||
|
|
||||||
#: ImageBrowser.py:439
|
#: ImageBrowser.py:442
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Close"
|
msgstr "Close"
|
||||||
|
|
||||||
#: ImageBrowser.py:447 ImageBrowser.py:450
|
#: ImageBrowser.py:450 ImageBrowser.py:453
|
||||||
msgid "Cache"
|
msgid "Cache"
|
||||||
msgstr "Cache"
|
msgstr "Cache"
|
||||||
|
|
||||||
#: ImageBrowser.py:447
|
#: ImageBrowser.py:450
|
||||||
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:450
|
#: ImageBrowser.py:453
|
||||||
msgid "Błąd przy czyszczeniu cache:"
|
msgid "Błąd przy czyszczeniu cache:"
|
||||||
msgstr "Error clearing cache:"
|
msgstr "Error clearing cache:"
|
||||||
|
|
||||||
#: ImageBrowser.py:460
|
#: ImageBrowser.py:463
|
||||||
msgid "Login:"
|
msgid "Login:"
|
||||||
msgstr "Login:"
|
msgstr "Login:"
|
||||||
|
|
||||||
#: ImageBrowser.py:466
|
#: ImageBrowser.py:469
|
||||||
msgid "Hasło:"
|
msgid "Hasło:"
|
||||||
msgstr "Password:"
|
msgstr "Password:"
|
||||||
|
|
||||||
#: ImageBrowser.py:472
|
#: ImageBrowser.py:475
|
||||||
msgid "Base URL:"
|
msgid "Base URL:"
|
||||||
msgstr "Base URL:"
|
msgstr "Base URL:"
|
||||||
|
|
||||||
#: ImageBrowser.py:478
|
#: ImageBrowser.py:481
|
||||||
msgid "Default Tags:"
|
msgid "Default Tags:"
|
||||||
msgstr "Default Tags:"
|
msgstr "Default Tags:"
|
||||||
|
|
||||||
#: ImageBrowser.py:484
|
#: ImageBrowser.py:487
|
||||||
msgid "Browser:"
|
msgid "Browser:"
|
||||||
msgstr "Browser:"
|
msgstr "Browser:"
|
||||||
|
|
||||||
#: ImageBrowser.py:498
|
#: ImageBrowser.py:501
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Language:"
|
msgstr "Language:"
|
||||||
|
|
||||||
#: ImageBrowser.py:530
|
#: ImageBrowser.py:533
|
||||||
msgid "Zapisz"
|
msgid "Zapisz"
|
||||||
msgstr "Save"
|
msgstr "Save"
|
||||||
|
|
||||||
#: ImageBrowser.py:572
|
#: ImageBrowser.py:575
|
||||||
msgid "PNG Tags"
|
msgid "PNG Tags"
|
||||||
msgstr "PNG Tags"
|
msgstr "PNG Tags"
|
||||||
|
|
||||||
#: ImageBrowser.py:584
|
#: ImageBrowser.py:587
|
||||||
msgid "Tagger Tags"
|
msgid "Tagger Tags"
|
||||||
msgstr "Tagger Tags"
|
msgstr "Tagger Tags"
|
||||||
|
|
||||||
#: ImageBrowser.py:598
|
#: ImageBrowser.py:601
|
||||||
msgid "Manual Tags"
|
msgid "Manual Tags"
|
||||||
msgstr "Manual Tags"
|
msgstr "Manual Tags"
|
||||||
|
|
||||||
#: ImageBrowser.py:606
|
#: ImageBrowser.py:609
|
||||||
msgid "Final Tags"
|
msgid "Final Tags"
|
||||||
msgstr "Final Tags"
|
msgstr "Final Tags"
|
||||||
|
|
||||||
#: ImageBrowser.py:631
|
#: ImageBrowser.py:634
|
||||||
msgid "Wyświetl"
|
msgid "Wyświetl"
|
||||||
msgstr "Display"
|
msgstr "Display"
|
||||||
|
|
||||||
#: ImageBrowser.py:648
|
#: ImageBrowser.py:651
|
||||||
msgid "Przetworzono tagi:"
|
msgid "Przetworzono tagi:"
|
||||||
msgstr "Processed tags:"
|
msgstr "Processed tags:"
|
||||||
|
|
||||||
#: ImageBrowser.py:648 ImageBrowser.py:649 ImageBrowser.py:650
|
#: ImageBrowser.py:651 ImageBrowser.py:652 ImageBrowser.py:653
|
||||||
msgid "plików"
|
msgid "plików"
|
||||||
msgstr "files"
|
msgstr "files"
|
||||||
|
|
||||||
#: ImageBrowser.py:649
|
#: ImageBrowser.py:652
|
||||||
msgid "Zweryfikowano status uploadu:"
|
msgid "Zweryfikowano status uploadu:"
|
||||||
msgstr "Upload status verified:"
|
msgstr "Upload status verified:"
|
||||||
|
|
||||||
#: ImageBrowser.py:650
|
#: ImageBrowser.py:653
|
||||||
msgid "Zuploadowano:"
|
msgid "Zuploadowano:"
|
||||||
msgstr "Uploaded:"
|
msgstr "Uploaded:"
|
||||||
|
|
||||||
#: ImageBrowser.py:679
|
#: ImageBrowser.py:682
|
||||||
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:721
|
#: ImageBrowser.py:724
|
||||||
msgid "Informacja"
|
msgid "Informacja"
|
||||||
msgstr "Information"
|
msgstr "Information"
|
||||||
|
|
||||||
#: ImageBrowser.py:722
|
#: ImageBrowser.py:725
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
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 files in the selected folder."
|
msgstr "No PNG files in the selected folder."
|
||||||
|
|
||||||
#: ImageBrowser.py:805
|
#: ImageBrowser.py:808
|
||||||
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:"
|
||||||
|
|
||||||
#: ImageBrowser.py:881
|
#: ImageBrowser.py:884
|
||||||
#: ImageBrowser.py:881
|
|
||||||
msgid "Error computing MD5:"
|
msgid "Error computing MD5:"
|
||||||
msgstr "Error computing MD5:"
|
msgstr "Error computing MD5:"
|
||||||
#: ImageBrowser.py:940
|
|
||||||
|
#: ImageBrowser.py:946
|
||||||
msgid "Błąd"
|
msgid "Błąd"
|
||||||
msgstr "Error"
|
msgstr "Error"
|
||||||
|
|
||||||
#: ImageBrowser.py:940
|
#: ImageBrowser.py:946
|
||||||
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:1150 ImageBrowser.py:1160
|
#: ImageBrowser.py:1156 ImageBrowser.py:1166
|
||||||
#, 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:1390
|
#: ImageBrowser.py:1396
|
||||||
msgid "Tagger przetwarza..."
|
msgid "Tagger przetwarza..."
|
||||||
msgstr "Tagger processing..."
|
msgstr "Tagger processing..."
|
||||||
|
|
||||||
#: ImageBrowser.py:1415
|
#: ImageBrowser.py:1421
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Wysyłam plik {base_file_name}..."
|
msgid "Wysyłam plik {base_file_name}..."
|
||||||
msgstr "Sending file {base_file_name}..."
|
msgstr "Sending file {base_file_name}..."
|
||||||
|
|
||||||
#: ImageBrowser.py:1456
|
#: ImageBrowser.py:1462
|
||||||
msgid "Wysyłanie zakończone powodzeniem!"
|
msgid "Wysyłanie zakończone powodzeniem!"
|
||||||
msgstr "Upload completed successfully!"
|
msgstr "Upload completed successfully!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1460 ImageBrowser.py:1469
|
#: ImageBrowser.py:1466 ImageBrowser.py:1475
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Wysyłanie zakończone błędem.\n"
|
"Wysyłanie zakończone błędem.\n"
|
||||||
@@ -320,40 +320,40 @@ msgstr ""
|
|||||||
"Status: {status_code}\n"
|
"Status: {status_code}\n"
|
||||||
"Content: {text}"
|
"Content: {text}"
|
||||||
|
|
||||||
#: ImageBrowser.py:1475 ImageBrowser.py:1478
|
#: ImageBrowser.py:1481 ImageBrowser.py:1484
|
||||||
msgid "Wysyłanie"
|
msgid "Wysyłanie"
|
||||||
msgstr "Uploading"
|
msgstr "Uploading"
|
||||||
|
|
||||||
#: ImageBrowser.py:1491
|
#: ImageBrowser.py:1497
|
||||||
msgid "Błąd wysyłania"
|
msgid "Błąd wysyłania"
|
||||||
msgstr "Upload error"
|
msgstr "Upload error"
|
||||||
|
|
||||||
#: ImageBrowser.py:1511
|
#: ImageBrowser.py:1517
|
||||||
msgid "Błąd edycji"
|
msgid "Błąd edycji"
|
||||||
msgstr "Edit error"
|
msgstr "Edit error"
|
||||||
|
|
||||||
#: ImageBrowser.py:1511
|
#: ImageBrowser.py:1517
|
||||||
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"
|
||||||
|
|
||||||
#: ImageBrowser.py:1521
|
#: ImageBrowser.py:1527
|
||||||
#, 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}..."
|
||||||
|
|
||||||
#: ImageBrowser.py:1531 ImageBrowser.py:1541 ImageBrowser.py:1572
|
#: ImageBrowser.py:1537 ImageBrowser.py:1547 ImageBrowser.py:1578
|
||||||
msgid "Operacja anulowana"
|
msgid "Operacja anulowana"
|
||||||
msgstr "Operation cancelled"
|
msgstr "Operation cancelled"
|
||||||
|
|
||||||
#: ImageBrowser.py:1582
|
#: ImageBrowser.py:1588
|
||||||
msgid "Tagi zostały zaktualizowane!"
|
msgid "Tagi zostały zaktualizowane!"
|
||||||
msgstr "Tags have been updated!"
|
msgstr "Tags have been updated!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1584
|
#: ImageBrowser.py:1590
|
||||||
msgid "Sukces edycji"
|
msgid "Sukces edycji"
|
||||||
msgstr "Edit successful"
|
msgstr "Edit successful"
|
||||||
|
|
||||||
#: ImageBrowser.py:1590
|
#: ImageBrowser.py:1596
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Błąd podczas aktualizacji tagów\n"
|
"Błąd podczas aktualizacji tagów\n"
|
||||||
@@ -362,19 +362,19 @@ msgstr ""
|
|||||||
"Error updating tags\n"
|
"Error updating tags\n"
|
||||||
"Status: {code}"
|
"Status: {code}"
|
||||||
|
|
||||||
#: ImageBrowser.py:1594
|
#: ImageBrowser.py:1600
|
||||||
msgid "Treść:"
|
msgid "Treść:"
|
||||||
msgstr "Content:"
|
msgstr "Content:"
|
||||||
|
|
||||||
#: ImageBrowser.py:1598
|
#: ImageBrowser.py:1604
|
||||||
msgid "Krytyczny błąd edycji"
|
msgid "Krytyczny błąd edycji"
|
||||||
msgstr "Critical edit error"
|
msgstr "Critical edit error"
|
||||||
|
|
||||||
#: ImageBrowser.py:1610
|
#: ImageBrowser.py:1616
|
||||||
msgid "Potwierdzenie"
|
msgid "Potwierdzenie"
|
||||||
msgstr "Confirmation"
|
msgstr "Confirmation"
|
||||||
|
|
||||||
#: ImageBrowser.py:1612
|
#: ImageBrowser.py:1618
|
||||||
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"
|
||||||
@@ -384,18 +384,18 @@ msgstr ""
|
|||||||
"Each will be tagged with 'meta:auto_upload'.\n"
|
"Each will be tagged with 'meta:auto_upload'.\n"
|
||||||
"Make sure the tags are correct!"
|
"Make sure the tags are correct!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1636
|
#: ImageBrowser.py:1642
|
||||||
msgid "Anulowano operację!"
|
msgid "Anulowano operację!"
|
||||||
msgstr "Operation cancelled!"
|
msgstr "Operation cancelled!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1644
|
#: ImageBrowser.py:1650
|
||||||
#, 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}"
|
||||||
|
|
||||||
#: ImageBrowser.py:1660
|
#: ImageBrowser.py:1666
|
||||||
msgid "Przesłano pliki!"
|
msgid "Przesłano pliki!"
|
||||||
msgstr "Files have been uploaded!"
|
msgstr "Files have been uploaded!"
|
||||||
|
|
||||||
@@ -419,27 +419,27 @@ msgstr "Error loading settings:"
|
|||||||
msgid "Błąd podczas zapisywania ustawień:"
|
msgid "Błąd podczas zapisywania ustawień:"
|
||||||
msgstr "Error saving settings:"
|
msgstr "Error saving settings:"
|
||||||
|
|
||||||
#: tag_processing.py:19
|
#: tag_processing.py:20
|
||||||
msgid "Błąd przy pobieraniu tagów postaci:"
|
msgid "Błąd przy pobieraniu tagów postaci:"
|
||||||
msgstr "Error fetching character tags:"
|
msgstr "Error fetching character tags:"
|
||||||
|
|
||||||
#: tag_processing.py:34
|
#: tag_processing.py:35
|
||||||
msgid "Błąd przy pobieraniu tagów copyright:"
|
msgid "Błąd przy pobieraniu tagów copyright:"
|
||||||
msgstr "Error fetching copyright tags:"
|
msgstr "Error fetching copyright tags:"
|
||||||
|
|
||||||
#: tag_processing.py:49
|
#: tag_processing.py:50
|
||||||
msgid "Błąd przy pobieraniu tagów artystów:"
|
msgid "Błąd przy pobieraniu tagów artystów:"
|
||||||
msgstr "Error fetching artist tags:"
|
msgstr "Error fetching artist tags:"
|
||||||
|
|
||||||
#: tag_processing.py:164
|
#: tag_processing.py:208
|
||||||
#: tag_processing.py:164
|
|
||||||
msgid "Nie można sparsować parametrów."
|
msgid "Nie można sparsować parametrów."
|
||||||
msgstr "Unable to parse parameters."
|
msgstr "Unable to parse parameters."
|
||||||
#: tag_processing.py:249
|
|
||||||
|
#: tag_processing.py:295
|
||||||
msgid "Błąd podczas odczytu tag_aliases:"
|
msgid "Błąd podczas odczytu tag_aliases:"
|
||||||
msgstr "Error reading tag aliases:"
|
msgstr "Error reading tag aliases:"
|
||||||
|
|
||||||
#: tag_processing.py:265
|
#: tag_processing.py:311
|
||||||
msgid "Błąd podczas odczytu tags:"
|
msgid "Błąd podczas odczytu tags:"
|
||||||
msgstr "Error reading tags:"
|
msgstr "Error reading tags:"
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Kapitanbooru Uploader 0.8.2\n"
|
"Project-Id-Version: Kapitanbooru Uploader 0.8.3\n"
|
||||||
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
|
"Report-Msgid-Bugs-To: kapitan@mlesniak.pl\n"
|
||||||
"POT-Creation-Date: 2025-03-27 20:47+0100\n"
|
"POT-Creation-Date: 2025-06-25 23:49+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"
|
||||||
@@ -77,242 +77,242 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Aktualizuj za pomocą: {update_command}"
|
"Aktualizuj za pomocą: {update_command}"
|
||||||
|
|
||||||
#: ImageBrowser.py:263
|
#: ImageBrowser.py:266
|
||||||
msgid "Błąd przy otwieraniu pliku"
|
msgid "Błąd przy otwieraniu pliku"
|
||||||
msgstr "Błąd przy otwieraniu pliku"
|
msgstr "Błąd przy otwieraniu pliku"
|
||||||
|
|
||||||
#: ImageBrowser.py:305
|
#: ImageBrowser.py:308
|
||||||
msgid "Tagger przetworzył:"
|
msgid "Tagger przetworzył:"
|
||||||
msgstr "Tagger przetworzył:"
|
msgstr "Tagger przetworzył:"
|
||||||
|
|
||||||
#: ImageBrowser.py:308
|
#: ImageBrowser.py:311
|
||||||
msgid "Błąd Taggera dla"
|
msgid "Błąd Taggera dla"
|
||||||
msgstr "Błąd Taggera dla"
|
msgstr "Błąd Taggera dla"
|
||||||
|
|
||||||
#: ImageBrowser.py:334
|
#: ImageBrowser.py:337
|
||||||
msgid "Otwórz folder"
|
msgid "Otwórz folder"
|
||||||
msgstr "Otwórz folder"
|
msgstr "Otwórz folder"
|
||||||
|
|
||||||
#: ImageBrowser.py:337 ImageBrowser.py:626 ImageBrowser.py:853
|
#: ImageBrowser.py:340 ImageBrowser.py:629 ImageBrowser.py:856
|
||||||
#: ImageBrowser.py:861
|
#: ImageBrowser.py:864
|
||||||
msgid "Wyślij"
|
msgid "Wyślij"
|
||||||
msgstr "Wyślij"
|
msgstr "Wyślij"
|
||||||
|
|
||||||
#: ImageBrowser.py:340 ImageBrowser.py:846
|
#: ImageBrowser.py:343 ImageBrowser.py:849
|
||||||
msgid "Wyślij wszystko"
|
msgid "Wyślij wszystko"
|
||||||
msgstr "Wyślij wszystko"
|
msgstr "Wyślij wszystko"
|
||||||
|
|
||||||
#: ImageBrowser.py:344 ImageBrowser.py:847 ImageBrowser.py:853
|
#: ImageBrowser.py:347 ImageBrowser.py:850 ImageBrowser.py:856
|
||||||
msgid "Podmień tagi"
|
msgid "Podmień tagi"
|
||||||
msgstr "Podmień tagi"
|
msgstr "Podmień tagi"
|
||||||
|
|
||||||
#: ImageBrowser.py:347 ImageBrowser.py:848
|
#: ImageBrowser.py:350 ImageBrowser.py:851
|
||||||
msgid "Otwórz post"
|
msgid "Otwórz post"
|
||||||
msgstr "Otwórz post"
|
msgstr "Otwórz post"
|
||||||
|
|
||||||
#: ImageBrowser.py:350
|
#: ImageBrowser.py:353
|
||||||
msgid "Zakończ"
|
msgid "Zakończ"
|
||||||
msgstr "Zakończ"
|
msgstr "Zakończ"
|
||||||
|
|
||||||
#: ImageBrowser.py:352
|
#: ImageBrowser.py:355
|
||||||
msgid "Plik"
|
msgid "Plik"
|
||||||
msgstr "Plik"
|
msgstr "Plik"
|
||||||
|
|
||||||
#: ImageBrowser.py:356 ImageBrowser.py:455
|
#: ImageBrowser.py:359 ImageBrowser.py:458
|
||||||
msgid "Ustawienia"
|
msgid "Ustawienia"
|
||||||
msgstr "Ustawienia"
|
msgstr "Ustawienia"
|
||||||
|
|
||||||
#: ImageBrowser.py:359
|
#: ImageBrowser.py:362
|
||||||
msgid "Wyczyść cache Taggera"
|
msgid "Wyczyść cache Taggera"
|
||||||
msgstr "Wyczyść cache Taggera"
|
msgstr "Wyczyść cache Taggera"
|
||||||
|
|
||||||
#: ImageBrowser.py:362
|
#: ImageBrowser.py:365
|
||||||
msgid "Zregeneruj bazę tagów"
|
msgid "Zregeneruj bazę tagów"
|
||||||
msgstr "Zregeneruj bazę tagów"
|
msgstr "Zregeneruj bazę tagów"
|
||||||
|
|
||||||
#: ImageBrowser.py:364
|
#: ImageBrowser.py:367
|
||||||
msgid "Opcje"
|
msgid "Opcje"
|
||||||
msgstr "Opcje"
|
msgstr "Opcje"
|
||||||
|
|
||||||
#: ImageBrowser.py:367
|
#: ImageBrowser.py:370
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "O programie"
|
msgstr "O programie"
|
||||||
|
|
||||||
#: ImageBrowser.py:368
|
#: ImageBrowser.py:371
|
||||||
msgid "Help"
|
msgid "Help"
|
||||||
msgstr "Pomoc"
|
msgstr "Pomoc"
|
||||||
|
|
||||||
#: ImageBrowser.py:373
|
#: ImageBrowser.py:376
|
||||||
msgid "About Kapitanbooru Uploader"
|
msgid "About Kapitanbooru Uploader"
|
||||||
msgstr "O programie Kapitanbooru Uploader"
|
msgstr "O programie Kapitanbooru Uploader"
|
||||||
|
|
||||||
#: ImageBrowser.py:390
|
#: ImageBrowser.py:393
|
||||||
#, 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:397
|
#: ImageBrowser.py:400
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Current version: {version}"
|
msgid "Current version: {version}"
|
||||||
msgstr "Obecna wersja: {version}"
|
msgstr "Obecna wersja: {version}"
|
||||||
|
|
||||||
#: ImageBrowser.py:399
|
#: ImageBrowser.py:402
|
||||||
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:400
|
#: ImageBrowser.py:403
|
||||||
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:401
|
#: ImageBrowser.py:404
|
||||||
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:403
|
#: ImageBrowser.py:406
|
||||||
msgid "Authors:"
|
msgid "Authors:"
|
||||||
msgstr "Autorzy:"
|
msgstr "Autorzy:"
|
||||||
|
|
||||||
#: ImageBrowser.py:406
|
#: ImageBrowser.py:409
|
||||||
msgid "License: MIT License"
|
msgid "License: MIT License"
|
||||||
msgstr "Licencja: MIT License"
|
msgstr "Licencja: MIT License"
|
||||||
|
|
||||||
#: ImageBrowser.py:419
|
#: ImageBrowser.py:422
|
||||||
msgid "Repository:"
|
msgid "Repository:"
|
||||||
msgstr "Repozytorium:"
|
msgstr "Repozytorium:"
|
||||||
|
|
||||||
#: ImageBrowser.py:428
|
#: ImageBrowser.py:431
|
||||||
msgid "Website:"
|
msgid "Website:"
|
||||||
msgstr "Strona internetowa:"
|
msgstr "Strona internetowa:"
|
||||||
|
|
||||||
#: ImageBrowser.py:439
|
#: ImageBrowser.py:442
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Zamknij"
|
msgstr "Zamknij"
|
||||||
|
|
||||||
#: ImageBrowser.py:447 ImageBrowser.py:450
|
#: ImageBrowser.py:450 ImageBrowser.py:453
|
||||||
msgid "Cache"
|
msgid "Cache"
|
||||||
msgstr "Cache"
|
msgstr "Cache"
|
||||||
|
|
||||||
#: ImageBrowser.py:447
|
#: ImageBrowser.py:450
|
||||||
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:450
|
#: ImageBrowser.py:453
|
||||||
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:460
|
#: ImageBrowser.py:463
|
||||||
msgid "Login:"
|
msgid "Login:"
|
||||||
msgstr "Login:"
|
msgstr "Login:"
|
||||||
|
|
||||||
#: ImageBrowser.py:466
|
#: ImageBrowser.py:469
|
||||||
msgid "Hasło:"
|
msgid "Hasło:"
|
||||||
msgstr "Hasło:"
|
msgstr "Hasło:"
|
||||||
|
|
||||||
#: ImageBrowser.py:472
|
#: ImageBrowser.py:475
|
||||||
msgid "Base URL:"
|
msgid "Base URL:"
|
||||||
msgstr "Base URL:"
|
msgstr "Base URL:"
|
||||||
|
|
||||||
#: ImageBrowser.py:478
|
#: ImageBrowser.py:481
|
||||||
msgid "Default Tags:"
|
msgid "Default Tags:"
|
||||||
msgstr "Domyślne tagi:"
|
msgstr "Domyślne tagi:"
|
||||||
|
|
||||||
#: ImageBrowser.py:484
|
#: ImageBrowser.py:487
|
||||||
msgid "Browser:"
|
msgid "Browser:"
|
||||||
msgstr "Przeglądarka:"
|
msgstr "Przeglądarka:"
|
||||||
|
|
||||||
#: ImageBrowser.py:498
|
#: ImageBrowser.py:501
|
||||||
msgid "Language:"
|
msgid "Language:"
|
||||||
msgstr "Język:"
|
msgstr "Język:"
|
||||||
|
|
||||||
#: ImageBrowser.py:530
|
#: ImageBrowser.py:533
|
||||||
msgid "Zapisz"
|
msgid "Zapisz"
|
||||||
msgstr "Zapisz"
|
msgstr "Zapisz"
|
||||||
|
|
||||||
#: ImageBrowser.py:572
|
#: ImageBrowser.py:575
|
||||||
msgid "PNG Tags"
|
msgid "PNG Tags"
|
||||||
msgstr "Tagi PNG"
|
msgstr "Tagi PNG"
|
||||||
|
|
||||||
#: ImageBrowser.py:584
|
#: ImageBrowser.py:587
|
||||||
msgid "Tagger Tags"
|
msgid "Tagger Tags"
|
||||||
msgstr "Tagi Taggera"
|
msgstr "Tagi Taggera"
|
||||||
|
|
||||||
#: ImageBrowser.py:598
|
#: ImageBrowser.py:601
|
||||||
msgid "Manual Tags"
|
msgid "Manual Tags"
|
||||||
msgstr "Tagi ręczne"
|
msgstr "Tagi ręczne"
|
||||||
|
|
||||||
#: ImageBrowser.py:606
|
#: ImageBrowser.py:609
|
||||||
msgid "Final Tags"
|
msgid "Final Tags"
|
||||||
msgstr "Ostateczne tagi"
|
msgstr "Ostateczne tagi"
|
||||||
|
|
||||||
#: ImageBrowser.py:631
|
#: ImageBrowser.py:634
|
||||||
msgid "Wyświetl"
|
msgid "Wyświetl"
|
||||||
msgstr "Wyświetl"
|
msgstr "Wyświetl"
|
||||||
|
|
||||||
#: ImageBrowser.py:648
|
#: ImageBrowser.py:651
|
||||||
msgid "Przetworzono tagi:"
|
msgid "Przetworzono tagi:"
|
||||||
msgstr "Przetworzono tagi:"
|
msgstr "Przetworzono tagi:"
|
||||||
|
|
||||||
#: ImageBrowser.py:648 ImageBrowser.py:649 ImageBrowser.py:650
|
#: ImageBrowser.py:651 ImageBrowser.py:652 ImageBrowser.py:653
|
||||||
msgid "plików"
|
msgid "plików"
|
||||||
msgstr "plików"
|
msgstr "plików"
|
||||||
|
|
||||||
#: ImageBrowser.py:649
|
#: ImageBrowser.py:652
|
||||||
msgid "Zweryfikowano status uploadu:"
|
msgid "Zweryfikowano status uploadu:"
|
||||||
msgstr "Zweryfikowano status uploadu:"
|
msgstr "Zweryfikowano status uploadu:"
|
||||||
|
|
||||||
#: ImageBrowser.py:650
|
#: ImageBrowser.py:653
|
||||||
msgid "Zuploadowano:"
|
msgid "Zuploadowano:"
|
||||||
msgstr "Zuploadowano:"
|
msgstr "Zuploadowano:"
|
||||||
|
|
||||||
#: ImageBrowser.py:679
|
#: ImageBrowser.py:682
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
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 obrazami PNG"
|
msgstr "Wybierz folder z obrazami PNG"
|
||||||
|
|
||||||
#: ImageBrowser.py:721
|
#: ImageBrowser.py:724
|
||||||
msgid "Informacja"
|
msgid "Informacja"
|
||||||
msgstr "Informacja"
|
msgstr "Informacja"
|
||||||
|
|
||||||
#: ImageBrowser.py:722
|
#: ImageBrowser.py:725
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
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 w wybranym folderze."
|
msgstr "Brak plików PNG w wybranym folderze."
|
||||||
|
|
||||||
#: ImageBrowser.py:805
|
#: ImageBrowser.py:808
|
||||||
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:"
|
||||||
|
|
||||||
#: ImageBrowser.py:881
|
#: ImageBrowser.py:884
|
||||||
msgid "Error computing MD5:"
|
msgid "Error computing MD5:"
|
||||||
msgstr "Błąd przy obliczaniu MD5:"
|
msgstr "Błąd przy obliczaniu MD5:"
|
||||||
|
|
||||||
#: ImageBrowser.py:940
|
#: ImageBrowser.py:946
|
||||||
msgid "Błąd"
|
msgid "Błąd"
|
||||||
msgstr "Błąd"
|
msgstr "Błąd"
|
||||||
|
|
||||||
#: ImageBrowser.py:940
|
#: ImageBrowser.py:946
|
||||||
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:1150 ImageBrowser.py:1160
|
#: ImageBrowser.py:1156 ImageBrowser.py:1166
|
||||||
#, 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:1390
|
#: ImageBrowser.py:1396
|
||||||
msgid "Tagger przetwarza..."
|
msgid "Tagger przetwarza..."
|
||||||
msgstr "Tagger przetwarza..."
|
msgstr "Tagger przetwarza..."
|
||||||
|
|
||||||
#: ImageBrowser.py:1415
|
#: ImageBrowser.py:1421
|
||||||
#, 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}..."
|
||||||
|
|
||||||
#: ImageBrowser.py:1456
|
#: ImageBrowser.py:1462
|
||||||
msgid "Wysyłanie zakończone powodzeniem!"
|
msgid "Wysyłanie zakończone powodzeniem!"
|
||||||
msgstr "Wysyłanie zakończone powodzeniem!"
|
msgstr "Wysyłanie zakończone powodzeniem!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1460 ImageBrowser.py:1469
|
#: ImageBrowser.py:1466 ImageBrowser.py:1475
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Wysyłanie zakończone błędem.\n"
|
"Wysyłanie zakończone błędem.\n"
|
||||||
@@ -323,40 +323,40 @@ msgstr ""
|
|||||||
"Status: {status_code}\n"
|
"Status: {status_code}\n"
|
||||||
"Treść: {text}"
|
"Treść: {text}"
|
||||||
|
|
||||||
#: ImageBrowser.py:1475 ImageBrowser.py:1478
|
#: ImageBrowser.py:1481 ImageBrowser.py:1484
|
||||||
msgid "Wysyłanie"
|
msgid "Wysyłanie"
|
||||||
msgstr "Wysyłanie"
|
msgstr "Wysyłanie"
|
||||||
|
|
||||||
#: ImageBrowser.py:1491
|
#: ImageBrowser.py:1497
|
||||||
msgid "Błąd wysyłania"
|
msgid "Błąd wysyłania"
|
||||||
msgstr "Błąd wysyłania"
|
msgstr "Błąd wysyłania"
|
||||||
|
|
||||||
#: ImageBrowser.py:1511
|
#: ImageBrowser.py:1517
|
||||||
msgid "Błąd edycji"
|
msgid "Błąd edycji"
|
||||||
msgstr "Błąd edycji"
|
msgstr "Błąd edycji"
|
||||||
|
|
||||||
#: ImageBrowser.py:1511
|
#: ImageBrowser.py:1517
|
||||||
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"
|
||||||
|
|
||||||
#: ImageBrowser.py:1521
|
#: ImageBrowser.py:1527
|
||||||
#, 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}..."
|
||||||
|
|
||||||
#: ImageBrowser.py:1531 ImageBrowser.py:1541 ImageBrowser.py:1572
|
#: ImageBrowser.py:1537 ImageBrowser.py:1547 ImageBrowser.py:1578
|
||||||
msgid "Operacja anulowana"
|
msgid "Operacja anulowana"
|
||||||
msgstr "Operacja anulowana"
|
msgstr "Operacja anulowana"
|
||||||
|
|
||||||
#: ImageBrowser.py:1582
|
#: ImageBrowser.py:1588
|
||||||
msgid "Tagi zostały zaktualizowane!"
|
msgid "Tagi zostały zaktualizowane!"
|
||||||
msgstr "Tagi zostały zaktualizowane!"
|
msgstr "Tagi zostały zaktualizowane!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1584
|
#: ImageBrowser.py:1590
|
||||||
msgid "Sukces edycji"
|
msgid "Sukces edycji"
|
||||||
msgstr "Sukces edycji"
|
msgstr "Sukces edycji"
|
||||||
|
|
||||||
#: ImageBrowser.py:1590
|
#: ImageBrowser.py:1596
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Błąd podczas aktualizacji tagów\n"
|
"Błąd podczas aktualizacji tagów\n"
|
||||||
@@ -365,19 +365,19 @@ msgstr ""
|
|||||||
"Błąd podczas aktualizacji tagów\n"
|
"Błąd podczas aktualizacji tagów\n"
|
||||||
"Status: {code}"
|
"Status: {code}"
|
||||||
|
|
||||||
#: ImageBrowser.py:1594
|
#: ImageBrowser.py:1600
|
||||||
msgid "Treść:"
|
msgid "Treść:"
|
||||||
msgstr "Treść:"
|
msgstr "Treść:"
|
||||||
|
|
||||||
#: ImageBrowser.py:1598
|
#: ImageBrowser.py:1604
|
||||||
msgid "Krytyczny błąd edycji"
|
msgid "Krytyczny błąd edycji"
|
||||||
msgstr "Krytyczny błąd edycji"
|
msgstr "Krytyczny błąd edycji"
|
||||||
|
|
||||||
#: ImageBrowser.py:1610
|
#: ImageBrowser.py:1616
|
||||||
msgid "Potwierdzenie"
|
msgid "Potwierdzenie"
|
||||||
msgstr "Potwierdzenie"
|
msgstr "Potwierdzenie"
|
||||||
|
|
||||||
#: ImageBrowser.py:1612
|
#: ImageBrowser.py:1618
|
||||||
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"
|
||||||
@@ -387,18 +387,18 @@ msgstr ""
|
|||||||
"Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n"
|
"Każdy z nich zostanie oznaczony tagiem 'meta:auto_upload'.\n"
|
||||||
"Upewnij się, że tagi są poprawne!"
|
"Upewnij się, że tagi są poprawne!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1636
|
#: ImageBrowser.py:1642
|
||||||
msgid "Anulowano operację!"
|
msgid "Anulowano operację!"
|
||||||
msgstr "Operacja anulowana!"
|
msgstr "Operacja anulowana!"
|
||||||
|
|
||||||
#: ImageBrowser.py:1644
|
#: ImageBrowser.py:1650
|
||||||
#, 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}"
|
||||||
|
|
||||||
#: ImageBrowser.py:1660
|
#: ImageBrowser.py:1666
|
||||||
msgid "Przesłano pliki!"
|
msgid "Przesłano pliki!"
|
||||||
msgstr "Pliki zostały przesłane!"
|
msgstr "Pliki zostały przesłane!"
|
||||||
|
|
||||||
@@ -422,28 +422,28 @@ msgstr "Błąd podczas ładowania ustawień:"
|
|||||||
msgid "Błąd podczas zapisywania ustawień:"
|
msgid "Błąd podczas zapisywania ustawień:"
|
||||||
msgstr "Błąd podczas zapisywania ustawień:"
|
msgstr "Błąd podczas zapisywania ustawień:"
|
||||||
|
|
||||||
#: tag_processing.py:19
|
#: tag_processing.py:20
|
||||||
msgid "Błąd przy pobieraniu tagów postaci:"
|
msgid "Błąd przy pobieraniu tagów postaci:"
|
||||||
msgstr "Błąd przy pobieraniu tagów postaci:"
|
msgstr "Błąd przy pobieraniu tagów postaci:"
|
||||||
|
|
||||||
#: tag_processing.py:34
|
#: tag_processing.py:35
|
||||||
msgid "Błąd przy pobieraniu tagów copyright:"
|
msgid "Błąd przy pobieraniu tagów copyright:"
|
||||||
msgstr "Błąd przy pobieraniu tagów copyright:"
|
msgstr "Błąd przy pobieraniu tagów copyright:"
|
||||||
|
|
||||||
#: tag_processing.py:49
|
#: tag_processing.py:50
|
||||||
msgid "Błąd przy pobieraniu tagów artystów:"
|
msgid "Błąd przy pobieraniu tagów artystów:"
|
||||||
msgstr "Błąd przy pobieraniu tagów artystów:"
|
msgstr "Błąd przy pobieraniu tagów artystów:"
|
||||||
|
|
||||||
#: tag_processing.py:164
|
#: tag_processing.py:208
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nie można sparsować parametrów."
|
msgid "Nie można sparsować parametrów."
|
||||||
msgstr "Nie można załadować obrazka:"
|
msgstr "Nie można załadować obrazka:"
|
||||||
|
|
||||||
#: tag_processing.py:249
|
#: tag_processing.py:295
|
||||||
msgid "Błąd podczas odczytu tag_aliases:"
|
msgid "Błąd podczas odczytu tag_aliases:"
|
||||||
msgstr "Błąd podczas odczytu tag_aliases:"
|
msgstr "Błąd podczas odczytu tag_aliases:"
|
||||||
|
|
||||||
#: tag_processing.py:265
|
#: tag_processing.py:311
|
||||||
msgid "Błąd podczas odczytu tags:"
|
msgid "Błąd podczas odczytu tags:"
|
||||||
msgstr "Błąd podczas odczytu tags:"
|
msgstr "Błąd podczas odczytu tags:"
|
||||||
|
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
import re
|
import re
|
||||||
|
from os.path import basename
|
||||||
|
|
||||||
from .I18N import _
|
from .I18N import _
|
||||||
from .TagsRepo import TagsRepo
|
from .TagsRepo import TagsRepo
|
||||||
@@ -86,6 +87,8 @@ AUTO_METATAGS = [
|
|||||||
"score_3_up",
|
"score_3_up",
|
||||||
"score_2_up",
|
"score_2_up",
|
||||||
"score_1_up",
|
"score_1_up",
|
||||||
|
"amazing_quality",
|
||||||
|
"best_quality",
|
||||||
]
|
]
|
||||||
TAG_FIXES = {
|
TAG_FIXES = {
|
||||||
"2boy": "2boys",
|
"2boy": "2boys",
|
||||||
@@ -115,6 +118,19 @@ MULTI_TAG_FIXES = {
|
|||||||
from PIL import Image, PngImagePlugin
|
from PIL import Image, PngImagePlugin
|
||||||
|
|
||||||
|
|
||||||
|
def extract_artist_from_filename(file_path: str) -> str:
|
||||||
|
"""Funkcja do ekstrakcji nazwy artysty z nazwy pliku.
|
||||||
|
Zakłada, że nazwa pliku jest w formacie "numer-seed-artysta.ext".
|
||||||
|
"""
|
||||||
|
# Pobierz nazwę pliku z pełnej ścieżki
|
||||||
|
file_name = basename(file_path)
|
||||||
|
# Upewniamy się, że nazwa pliku jest w formacie "numer-seed-artysta.ext"
|
||||||
|
if "-" not in file_name or file_name.count("-") < 2:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
artist_name = file_name.split("-")[-1].split(".")[0]
|
||||||
|
return artist_name.strip() # Usuń ewentualne spacje
|
||||||
|
|
||||||
def extract_parameters(img: Image, file_path: str) -> str:
|
def extract_parameters(img: Image, file_path: str) -> str:
|
||||||
"""Funkcja do ekstrakcji parametrów z pliku graficznego.
|
"""Funkcja do ekstrakcji parametrów z pliku graficznego.
|
||||||
Obsługuje PNG, JPEG, WebP, AVIF i GIF.
|
Obsługuje PNG, JPEG, WebP, AVIF i GIF.
|
||||||
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "kapitanbooru-uploader"
|
name = "kapitanbooru-uploader"
|
||||||
version = "0.8.2"
|
version = "0.8.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 = [
|
||||||
|
Reference in New Issue
Block a user