diff --git a/src/Sic/MainWindow.cs b/src/Sic/MainWindow.cs index 78760fa..4cca797 100644 --- a/src/Sic/MainWindow.cs +++ b/src/Sic/MainWindow.cs @@ -388,6 +388,15 @@ await Task.Run(() => { imageListView.Items[i].SubItems[4].Text = _("Converting..."); }); + if (ImageConverter.ShouldSkipConversion(item, targetFormat, width, height)) { + skipped++; + Log.Information("Skipped {FileName}: already in {Format} format", item.FileName, targetFormat); + Invoke(() => { + imageListView.Items[i].SubItems[4].Text = _("Skipped (same format)"); + }); + continue; + } + var outputPath = ImageConverter.GenerateOutputPath(item, targetFormat, outputFolder); if (File.Exists(outputPath)) { diff --git a/src/Sic/Program.cs b/src/Sic/Program.cs index 6fc5303..b9361ab 100644 --- a/src/Sic/Program.cs +++ b/src/Sic/Program.cs @@ -270,6 +270,12 @@ private static int RunCli(string[] args) { ? ImageConverter.LoadFromUrl(input).GetAwaiter().GetResult() : ImageConverter.LoadFromFile(input); + if (ImageConverter.ShouldSkipConversion(item, targetFormat, width, height)) { + Log.Information("CLI: Skipped {Input}: already in {Format} format", input, targetFormat); + Console.WriteLine(_("Skipped: {0} is already in {1} format.", input, targetFormat)); + return ExitCode.Success; + } + var dir = Path.GetDirectoryName(output!); if (dir != null && !Directory.Exists(dir)) { Directory.CreateDirectory(dir); diff --git a/src/Sic/Services/ImageConverter.cs b/src/Sic/Services/ImageConverter.cs index 1a38274..5158cb6 100644 --- a/src/Sic/Services/ImageConverter.cs +++ b/src/Sic/Services/ImageConverter.cs @@ -27,6 +27,43 @@ public static class ImageConverter { public static IReadOnlyList GetSupportedFormats() => FormatMap.Keys.ToList(); + /// + /// Maps an arbitrary format name (a SIC! format key like "JPG", or a Magick.NET + /// format name like "Jpeg"/"Bmp3") to one of the canonical SIC! format keys. + /// Returns null for unknown formats. + /// + private static string? GetCanonicalFormat(string formatName) { + return formatName.ToUpperInvariant() switch { + "JPG" or "JPEG" or "PJPEG" => "JPG", + "PNG" or "PNG8" or "PNG24" or "PNG32" or "PNG48" or "PNG64" or "PNG00" => "PNG", + "WEBP" => "WEBP", + "ICO" or "ICON" => "ICO", + "BMP" or "BMP2" or "BMP3" => "BMP", + "TIFF" or "TIF" or "TIFF64" => "TIFF", + "GIF" or "GIF87" => "GIF", + "AVIF" => "AVIF", + _ => null, + }; + } + + /// + /// Returns true when the source image is already in the requested target format, + /// regardless of variant naming (e.g. "Jpeg" vs "JPG", "Bmp3" vs "BMP"). + /// + public static bool IsSameFormat(ImageItem item, string targetFormat) { + var source = GetCanonicalFormat(item.OriginalFormat); + var target = GetCanonicalFormat(targetFormat); + return source is not null && source == target; + } + + /// + /// Determines whether converting the item to the target format would be a no-op that only + /// degrades quality: the source is already in the target format and no resize/crop is requested. + /// + public static bool ShouldSkipConversion(ImageItem item, string targetFormat, int? width, int? height) { + return !width.HasValue && !height.HasValue && IsSameFormat(item, targetFormat); + } + public static ImageItem LoadFromFile(string path) { var fileInfo = new FileInfo(path); @@ -155,6 +192,12 @@ public static void Convert(ImageItem item, string targetFormat, string outputPat using var image = LoadMagickImage(item); + // Capture the source's encoding quality before any transform. When the target format + // matches the source, a resize/crop forces one unavoidable re-encode; reapplying the + // original quality keeps it from being re-compressed harder than the source. + var sourceQuality = image.Quality; + var preserveQuality = IsSameFormat(item, targetFormat); + if (width.HasValue || height.HasValue) { if (mode == ResizeMode.Crop && width.HasValue && height.HasValue) { var scaleX = (double)width.Value / image.Width; @@ -177,6 +220,11 @@ public static void Convert(ImageItem item, string targetFormat, string outputPat } image.Format = magickFormat; + + if (preserveQuality) { + image.Quality = sourceQuality; + } + image.Write(outputPath); Log.Information("Converted {FileName} to {Format} at {OutputPath}", item.FileName, targetFormat, outputPath); diff --git a/src/Sic/locale/de/Sic.po b/src/Sic/locale/de/Sic.po index 635f5dc..3729b5a 100644 --- a/src/Sic/locale/de/Sic.po +++ b/src/Sic/locale/de/Sic.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Sic\n" -"POT-Creation-Date: 2026-04-17 00:35:15+0200\n" +"POT-Creation-Date: 2026-06-08 16:47:15+0200\n" "PO-Revision-Date: 2026-03-07 23:00+0100\n" "Last-Translator: \n" "Language-Team: de\n" @@ -12,11 +12,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: GetText.NET Extractor\n" -#: ..\..\MainWindow.cs:466 +#: ..\..\MainWindow.cs:475 msgid ", " msgstr ", " -#: ..\..\MainWindow.cs:1071 +#: ..\..\MainWindow.cs:1080 #, csharp-format msgid "...and {0} more" msgstr "...und {0} weitere" @@ -31,31 +31,31 @@ msgstr "{0} ({1}, {2}, {3})" msgid "{0} B" msgstr "{0} B" -#: ..\..\MainWindow.cs:1059 +#: ..\..\MainWindow.cs:1068 #, csharp-format msgid "{0} cloud-only file skipped" msgid_plural "{0} cloud-only files skipped" msgstr[0] "{0} reine Cloud-Datei übersprungen" msgstr[1] "{0} reine Cloud-Dateien übersprungen" -#: ..\..\MainWindow.cs:460 +#: ..\..\MainWindow.cs:469 #, csharp-format msgid "{0} converted" msgstr "{0} konvertiert" -#: ..\..\MainWindow.cs:464 +#: ..\..\MainWindow.cs:473 #, csharp-format msgid "{0} failed" msgstr "{0} fehlgeschlagen" -#: ..\..\MainWindow.cs:1061 +#: ..\..\MainWindow.cs:1070 #, csharp-format msgid "{0} file failed to load" msgid_plural "{0} files failed to load" msgstr[0] "{0} Datei konnte nicht geladen werden" msgstr[1] "{0} Dateien konnten nicht geladen werden" -#: ..\..\MainWindow.cs:935 +#: ..\..\MainWindow.cs:944 #, csharp-format msgid "" "{0} file is stored in the cloud and needs to be downloaded first.\n" @@ -72,7 +72,7 @@ msgstr[1] "" "heruntergeladen werden.\n" "Herunterladen?" -#: ..\..\MainWindow.cs:1057 +#: ..\..\MainWindow.cs:1066 #, csharp-format msgid "{0} image loaded" msgid_plural "{0} images loaded" @@ -89,7 +89,7 @@ msgstr "{0} KB" msgid "{0} MB" msgstr "{0} MB" -#: ..\..\MainWindow.cs:462 +#: ..\..\MainWindow.cs:471 #, csharp-format msgid "{0} skipped" msgstr "{0} übersprungen" @@ -111,9 +111,9 @@ msgstr "&Hinzufügen..." msgid "&Browse..." msgstr "&Durchsuchen..." -#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\IcoPresetDialog.Designer.cs:164 -#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\SettingsDialog.Designer.cs:136 +#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\AddSizeDialog.Designer.cs:76 +#: ..\..\ProgressDialog.Designer.cs:83 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:136 msgid "&Cancel" msgstr "&Abbrechen" @@ -169,13 +169,13 @@ msgstr "&Sprache:" msgid "&Link:" msgstr "&Link:" -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\SettingsDialog.Designer.cs:127 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\AboutDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:127 msgid "&OK" msgstr "&OK" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "&Entfernen" @@ -196,7 +196,7 @@ msgstr "&Breite:" msgid "© {0} Oire Software" msgstr "© {0} Oire Software" -#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1034 ..\..\MainWindow.cs:1105 +#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1043 ..\..\MainWindow.cs:1114 #, csharp-format msgid "1 image in queue" msgid_plural "{0} images in queue" @@ -215,7 +215,7 @@ msgstr "&Ordner hinzufügen..." msgid "Add Image by &Link..." msgstr "Bild per &Link hinzufügen..." -#: ..\..\MainWindow.cs:1076 +#: ..\..\MainWindow.cs:1085 msgid "Add Images" msgstr "Bilder hinzufügen" @@ -223,12 +223,12 @@ msgstr "Bilder hinzufügen" msgid "Add your images here" msgstr "Fügen Sie Ihre Bilder hier hinzu" -#: ..\..\MainWindow.cs:888 +#: ..\..\MainWindow.cs:897 #, csharp-format msgid "Added {0} from URL" msgstr "{0} von URL hinzugefügt" -#: ..\..\MainWindow.cs:843 +#: ..\..\MainWindow.cs:852 msgid "Added image from clipboard" msgstr "Bild aus Zwischenablage hinzugefügt" @@ -269,7 +269,7 @@ msgstr "BMP-Bilder (*.bmp)" msgid "C&ustom" msgstr "Ben&utzerdefiniert" -#: ..\..\MainWindow.cs:468 +#: ..\..\MainWindow.cs:477 msgid "Cancelled." msgstr "Abgebrochen." @@ -277,11 +277,11 @@ msgstr "Abgebrochen." msgid "Check for &Updates..." msgstr "Nach &Updates suchen..." -#: ..\..\MainWindow.cs:938 +#: ..\..\MainWindow.cs:947 msgid "Cloud Files" msgstr "Cloud-Dateien" -#: ..\..\MainWindow.cs:805 +#: ..\..\MainWindow.cs:814 msgid "Confirm Exit" msgstr "Beenden bestätigen" @@ -289,15 +289,15 @@ msgstr "Beenden bestätigen" msgid "Confirm on exit with non-empty &queue" msgstr "&Beenden bestätigen, wenn die Warteschlange nicht leer ist" -#: ..\..\MainWindow.cs:475 +#: ..\..\MainWindow.cs:484 msgid "Conversion Complete" msgstr "Konvertierung abgeschlossen" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 msgid "Conversion Error" msgstr "Konvertierungsfehler" -#: ..\..\Program.cs:283 +#: ..\..\Program.cs:289 #, csharp-format msgid "Conversion failed: {0}" msgstr "Konvertierung fehlgeschlagen: {0}" @@ -310,7 +310,7 @@ msgstr "&Alle konvertieren" msgid "Convert &Selected" msgstr "Au&sgewählte konvertieren" -#: ..\..\Program.cs:279 +#: ..\..\Program.cs:285 #, csharp-format msgid "Converted: {0}" msgstr "Konvertiert: {0}" @@ -320,8 +320,8 @@ msgstr "Konvertiert: {0}" msgid "Converting {0} ({1}/{2})..." msgstr "Konvertiere {0} ({1}/{2})..." -#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:530 -#: ..\..\MainWindow.cs:534 +#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:539 +#: ..\..\MainWindow.cs:543 msgid "Converting..." msgstr "Konvertierung..." @@ -333,7 +333,7 @@ msgstr "Kopiert!" msgid "Create Multi-size &ICO..." msgstr "Mehrgrößen-&ICO erstellen..." -#: ..\..\MainWindow.cs:529 +#: ..\..\MainWindow.cs:538 msgid "Creating multi-size ICO..." msgstr "Erstelle Mehrgrößen-ICO..." @@ -355,21 +355,21 @@ msgstr "" msgid "Dimensions" msgstr "Abmessungen" -#: ..\..\MainWindow.cs:862 +#: ..\..\MainWindow.cs:871 msgid "Downloading image..." msgstr "Bild wird heruntergeladen..." -#: ..\..\MainWindow.cs:875 +#: ..\..\MainWindow.cs:884 #, csharp-format msgid "Downloading image... ({0} KB)" msgstr "Bild wird heruntergeladen... ({0} KB)" -#: ..\..\MainWindow.cs:872 +#: ..\..\MainWindow.cs:881 #, csharp-format msgid "Downloading image... {0}%" msgstr "Bild wird heruntergeladen... {0}%" -#: ..\..\MainWindow.cs:863 +#: ..\..\MainWindow.cs:872 msgid "Downloading..." msgstr "Herunterladen..." @@ -381,13 +381,13 @@ msgstr "B&eenden" msgid "Either --output or --format must be specified." msgstr "Es muss entweder --output oder --format angegeben werden." -#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:563 -#: ..\..\MainWindow.cs:846 ..\..\MainWindow.cs:893 ..\..\Utils\Config.cs:66 -#: ..\..\MainWindow.cs:1086 +#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:572 +#: ..\..\Utils\Config.cs:66 ..\..\MainWindow.cs:855 ..\..\MainWindow.cs:902 +#: ..\..\MainWindow.cs:1095 msgid "Error" msgstr "Fehler" -#: ..\..\MainWindow.cs:1066 +#: ..\..\MainWindow.cs:1075 msgid "Errors:" msgstr "Fehler:" @@ -395,11 +395,11 @@ msgstr "Fehler:" msgid "Existing size" msgstr "Vorhandene Größe" -#: ..\..\MainWindow.cs:424 ..\..\MainWindow.cs:562 +#: ..\..\MainWindow.cs:433 ..\..\MainWindow.cs:571 msgid "Failed" msgstr "Fehlgeschlagen" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 #, csharp-format msgid "" "Failed to convert {0}:\n" @@ -408,7 +408,7 @@ msgstr "" "Konvertierung von {0} fehlgeschlagen:\n" "{1}" -#: ..\..\MainWindow.cs:563 +#: ..\..\MainWindow.cs:572 #, csharp-format msgid "" "Failed to create multi-size ICO:\n" @@ -417,7 +417,7 @@ msgstr "" "Mehrgrößen-ICO konnte nicht erstellt werden:\n" "{0}" -#: ..\..\MainWindow.cs:846 +#: ..\..\MainWindow.cs:855 #, csharp-format msgid "" "Failed to load clipboard image:\n" @@ -426,7 +426,7 @@ msgstr "" "Bild aus Zwischenablage konnte nicht geladen werden:\n" "{0}" -#: ..\..\MainWindow.cs:893 +#: ..\..\MainWindow.cs:902 #, csharp-format msgid "" "Failed to load image from URL:\n" @@ -435,7 +435,7 @@ msgstr "" "Bild von URL konnte nicht geladen werden:\n" "{0}" -#: ..\..\MainWindow.cs:1086 +#: ..\..\MainWindow.cs:1095 #, csharp-format msgid "" "Failed to load image:\n" @@ -455,7 +455,7 @@ msgstr "Schwerwiegender Fehler: {0}" msgid "Fi<er:" msgstr "Fi<er:" -#: ..\..\MainWindow.cs:1114 +#: ..\..\MainWindow.cs:1123 msgid "File Already Exists" msgstr "Datei existiert bereits" @@ -484,7 +484,7 @@ msgstr "GIF-Bilder (*.gif)" msgid "GitHub Repository" msgstr "GitHub-Repository" -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 msgid "ICO Created" msgstr "ICO erstellt" @@ -549,16 +549,16 @@ msgstr "Ungültiger Breitenwert: {0}" msgid "JPEG images (*.jpg, *.jpeg)" msgstr "JPEG-Bilder (*.jpg, *.jpeg)" -#: ..\..\MainWindow.cs:959 ..\..\MainWindow.cs:983 +#: ..\..\MainWindow.cs:968 ..\..\MainWindow.cs:992 #, csharp-format msgid "Loading images ({0}/{1})..." msgstr "Bilder werden geladen ({0}/{1})..." -#: ..\..\MainWindow.cs:960 +#: ..\..\MainWindow.cs:969 msgid "Loading..." msgstr "Laden..." -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 #, csharp-format msgid "" "Multi-size ICO created successfully:\n" @@ -567,7 +567,7 @@ msgstr "" "Mehrgrößen-ICO erfolgreich erstellt:\n" "{0}" -#: ..\..\MainWindow.cs:552 +#: ..\..\MainWindow.cs:561 #, csharp-format msgid "Multi-size ICO created: {0}" msgstr "Mehrgrößen-ICO erstellt: {0}" @@ -584,7 +584,7 @@ msgstr "Kein Format ausgewählt" msgid "No images found" msgstr "Keine Bilder gefunden" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "No images to convert. Add some images first." msgstr "Keine Bilder zum Konvertieren. Fügen Sie zuerst Bilder hinzu." @@ -600,7 +600,7 @@ msgstr "Keine passenden Bilder im ausgewählten Ordner gefunden." msgid "No Sizes" msgstr "Keine Größen" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "Nothing to convert" msgstr "Nichts zu konvertieren" @@ -620,7 +620,7 @@ msgstr "Ausgabeordner nicht gefunden" msgid "Output path must have a file extension (e.g. .jpg, .png)" msgstr "Der Ausgabepfad muss eine Dateierweiterung haben (z. B. .jpg, .png)" -#: ..\..\MainWindow.cs:1142 +#: ..\..\MainWindow.cs:1151 msgid "Overwrite" msgstr "Überschreiben" @@ -680,7 +680,7 @@ msgstr "&Voreinstellung:" msgid "Preparing to convert..." msgstr "Konvertierung wird vorbereitet..." -#: ..\..\MainWindow.cs:457 +#: ..\..\MainWindow.cs:466 #, csharp-format msgid "Processed {0} image." msgid_plural "Processed {0} images." @@ -692,8 +692,8 @@ msgid "Read User &Manual" msgstr "Benutzer&handbuch lesen" #: ..\..\MainWindow.cs:224 ..\..\MainWindow.cs:243 -#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:559 -#: ..\..\MainWindow.cs:890 ..\..\MainWindow.cs:894 +#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:568 +#: ..\..\MainWindow.cs:899 ..\..\MainWindow.cs:903 msgid "Ready" msgstr "Bereit" @@ -701,7 +701,7 @@ msgstr "Bereit" msgid "Remove &All" msgstr "A&lle entfernen" -#: ..\..\MainWindow.cs:1143 +#: ..\..\MainWindow.cs:1152 msgid "Rename" msgstr "Umbenennen" @@ -750,15 +750,24 @@ msgstr "Größe" msgid "Size {0} is already in the list." msgstr "Größe {0} ist bereits in der Liste." -#: ..\..\MainWindow.cs:1144 +#: ..\..\MainWindow.cs:1153 msgid "Skip" msgstr "Überspringen" -#: ..\..\MainWindow.cs:405 +#: ..\..\MainWindow.cs:414 msgid "Skipped" msgstr "Übersprungen" -#: ..\..\MainWindow.cs:612 ..\..\Services\UpdateService.cs:56 +#: ..\..\MainWindow.cs:395 +msgid "Skipped (same format)" +msgstr "Übersprungen (gleiches Format)" + +#: ..\..\Program.cs:275 +#, csharp-format +msgid "Skipped: {0} is already in {1} format." +msgstr "Übersprungen: {0} liegt bereits im Format {1} vor." + +#: ..\..\MainWindow.cs:621 ..\..\Services\UpdateService.cs:56 #: ..\..\Services\UpdateService.cs:62 ..\..\Services\UpdateService.cs:68 #: ..\..\Services\UpdateService.cs:76 msgid "Software Update" @@ -787,7 +796,7 @@ msgstr "" "Zielformat (z. B. jpg, png, webp). Wird verwendet, wenn --output weggelassen " "wird." -#: ..\..\MainWindow.cs:1132 +#: ..\..\MainWindow.cs:1141 #, csharp-format msgid "" "The file \"{0}\" already exists.\n" @@ -814,11 +823,11 @@ msgstr "" "Der ausgewählte Ordner existiert nicht. Bitte wählen Sie einen vorhandenen " "Ordner." -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "The user manual file could not be found." msgstr "Die Benutzerhandbuch-Datei konnte nicht gefunden werden." -#: ..\..\MainWindow.cs:804 +#: ..\..\MainWindow.cs:813 msgid "There are images in the queue. Are you sure you want to exit?" msgstr "" "Es befinden sich Bilder in der Warteschlange. Möchten Sie wirklich beenden?" @@ -827,7 +836,7 @@ msgstr "" msgid "TIFF images (*.tif, *.tiff)" msgstr "TIFF-Bilder (*.tif, *.tiff)" -#: ..\..\MainWindow.cs:611 ..\..\Services\UpdateService.cs:67 +#: ..\..\MainWindow.cs:620 ..\..\Services\UpdateService.cs:67 #: ..\..\Services\UpdateService.cs:75 msgid "Unable to check for updates. Please try again later." msgstr "" @@ -861,7 +870,7 @@ msgstr "" "Zuschneidemodus (auf Abdeckung skalieren, dann mittig auf exakte Abmessungen " "zuschneiden)" -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "User Manual" msgstr "Benutzerhandbuch" diff --git a/src/Sic/locale/fr/Sic.po b/src/Sic/locale/fr/Sic.po index 51ecffa..22270e5 100644 --- a/src/Sic/locale/fr/Sic.po +++ b/src/Sic/locale/fr/Sic.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Sic\n" -"POT-Creation-Date: 2026-04-17 00:35:15+0200\n" +"POT-Creation-Date: 2026-06-08 16:47:15+0200\n" "PO-Revision-Date: 2026-03-07 23:00+0100\n" "Last-Translator: \n" "Language-Team: fr\n" @@ -12,11 +12,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: GetText.NET Extractor\n" -#: ..\..\MainWindow.cs:466 +#: ..\..\MainWindow.cs:475 msgid ", " msgstr ", " -#: ..\..\MainWindow.cs:1071 +#: ..\..\MainWindow.cs:1080 #, csharp-format msgid "...and {0} more" msgstr "...et {0} de plus" @@ -31,31 +31,31 @@ msgstr "{0} ({1}, {2}, {3})" msgid "{0} B" msgstr "{0} o" -#: ..\..\MainWindow.cs:1059 +#: ..\..\MainWindow.cs:1068 #, csharp-format msgid "{0} cloud-only file skipped" msgid_plural "{0} cloud-only files skipped" msgstr[0] "{0} fichier uniquement en ligne ignoré" msgstr[1] "{0} fichiers uniquement en ligne ignorés" -#: ..\..\MainWindow.cs:460 +#: ..\..\MainWindow.cs:469 #, csharp-format msgid "{0} converted" msgstr "{0} converti" -#: ..\..\MainWindow.cs:464 +#: ..\..\MainWindow.cs:473 #, csharp-format msgid "{0} failed" msgstr "{0} en échec" -#: ..\..\MainWindow.cs:1061 +#: ..\..\MainWindow.cs:1070 #, csharp-format msgid "{0} file failed to load" msgid_plural "{0} files failed to load" msgstr[0] "Échec du chargement de {0} fichier" msgstr[1] "Échec du chargement de {0} fichiers" -#: ..\..\MainWindow.cs:935 +#: ..\..\MainWindow.cs:944 #, csharp-format msgid "" "{0} file is stored in the cloud and needs to be downloaded first.\n" @@ -71,7 +71,7 @@ msgstr[1] "" "téléchargés.\n" "Les télécharger ?" -#: ..\..\MainWindow.cs:1057 +#: ..\..\MainWindow.cs:1066 #, csharp-format msgid "{0} image loaded" msgid_plural "{0} images loaded" @@ -88,7 +88,7 @@ msgstr "{0} Ko" msgid "{0} MB" msgstr "{0} Mo" -#: ..\..\MainWindow.cs:462 +#: ..\..\MainWindow.cs:471 #, csharp-format msgid "{0} skipped" msgstr "{0} ignoré" @@ -110,9 +110,9 @@ msgstr "&Ajouter..." msgid "&Browse..." msgstr "&Parcourir..." -#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\IcoPresetDialog.Designer.cs:164 -#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\SettingsDialog.Designer.cs:136 +#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\AddSizeDialog.Designer.cs:76 +#: ..\..\ProgressDialog.Designer.cs:83 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:136 msgid "&Cancel" msgstr "&Annuler" @@ -168,13 +168,13 @@ msgstr "&Langue :" msgid "&Link:" msgstr "&Lien :" -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\SettingsDialog.Designer.cs:127 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\AboutDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:127 msgid "&OK" msgstr "&OK" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "&Supprimer" @@ -195,7 +195,7 @@ msgstr "&Largeur :" msgid "© {0} Oire Software" msgstr "© {0} Oire Software" -#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1034 ..\..\MainWindow.cs:1105 +#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1043 ..\..\MainWindow.cs:1114 #, csharp-format msgid "1 image in queue" msgid_plural "{0} images in queue" @@ -214,7 +214,7 @@ msgstr "Ajouter un d&ossier..." msgid "Add Image by &Link..." msgstr "Ajouter une image par &lien..." -#: ..\..\MainWindow.cs:1076 +#: ..\..\MainWindow.cs:1085 msgid "Add Images" msgstr "Ajouter des images" @@ -222,12 +222,12 @@ msgstr "Ajouter des images" msgid "Add your images here" msgstr "Ajoutez vos images ici" -#: ..\..\MainWindow.cs:888 +#: ..\..\MainWindow.cs:897 #, csharp-format msgid "Added {0} from URL" msgstr "{0} ajouté depuis l'URL" -#: ..\..\MainWindow.cs:843 +#: ..\..\MainWindow.cs:852 msgid "Added image from clipboard" msgstr "Image ajoutée depuis le presse-papiers" @@ -268,7 +268,7 @@ msgstr "Images BMP (*.bmp)" msgid "C&ustom" msgstr "Personnal&isé" -#: ..\..\MainWindow.cs:468 +#: ..\..\MainWindow.cs:477 msgid "Cancelled." msgstr "Annulé." @@ -276,11 +276,11 @@ msgstr "Annulé." msgid "Check for &Updates..." msgstr "Vérifier les mises à &jour..." -#: ..\..\MainWindow.cs:938 +#: ..\..\MainWindow.cs:947 msgid "Cloud Files" msgstr "Fichiers dans le cloud" -#: ..\..\MainWindow.cs:805 +#: ..\..\MainWindow.cs:814 msgid "Confirm Exit" msgstr "Confirmer la fermeture" @@ -288,15 +288,15 @@ msgstr "Confirmer la fermeture" msgid "Confirm on exit with non-empty &queue" msgstr "&Confirmer la fermeture avec une file non vide" -#: ..\..\MainWindow.cs:475 +#: ..\..\MainWindow.cs:484 msgid "Conversion Complete" msgstr "Conversion terminée" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 msgid "Conversion Error" msgstr "Erreur de conversion" -#: ..\..\Program.cs:283 +#: ..\..\Program.cs:289 #, csharp-format msgid "Conversion failed: {0}" msgstr "Échec de la conversion : {0}" @@ -309,7 +309,7 @@ msgstr "&Tout convertir" msgid "Convert &Selected" msgstr "Convertir la &sélection" -#: ..\..\Program.cs:279 +#: ..\..\Program.cs:285 #, csharp-format msgid "Converted: {0}" msgstr "Converti : {0}" @@ -319,8 +319,8 @@ msgstr "Converti : {0}" msgid "Converting {0} ({1}/{2})..." msgstr "Conversion de {0} ({1}/{2})..." -#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:530 -#: ..\..\MainWindow.cs:534 +#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:539 +#: ..\..\MainWindow.cs:543 msgid "Converting..." msgstr "Conversion..." @@ -332,7 +332,7 @@ msgstr "Copié !" msgid "Create Multi-size &ICO..." msgstr "Créer un &ICO multi-tailles..." -#: ..\..\MainWindow.cs:529 +#: ..\..\MainWindow.cs:538 msgid "Creating multi-size ICO..." msgstr "Création de l'ICO multi-tailles..." @@ -354,21 +354,21 @@ msgstr "" msgid "Dimensions" msgstr "Dimensions" -#: ..\..\MainWindow.cs:862 +#: ..\..\MainWindow.cs:871 msgid "Downloading image..." msgstr "Téléchargement de l'image..." -#: ..\..\MainWindow.cs:875 +#: ..\..\MainWindow.cs:884 #, csharp-format msgid "Downloading image... ({0} KB)" msgstr "Téléchargement de l'image... ({0} Ko)" -#: ..\..\MainWindow.cs:872 +#: ..\..\MainWindow.cs:881 #, csharp-format msgid "Downloading image... {0}%" msgstr "Téléchargement de l'image... {0}%" -#: ..\..\MainWindow.cs:863 +#: ..\..\MainWindow.cs:872 msgid "Downloading..." msgstr "Téléchargement..." @@ -380,13 +380,13 @@ msgstr "&Quitter" msgid "Either --output or --format must be specified." msgstr "Il faut spécifier --output ou --format." -#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:563 -#: ..\..\MainWindow.cs:846 ..\..\MainWindow.cs:893 ..\..\Utils\Config.cs:66 -#: ..\..\MainWindow.cs:1086 +#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:572 +#: ..\..\Utils\Config.cs:66 ..\..\MainWindow.cs:855 ..\..\MainWindow.cs:902 +#: ..\..\MainWindow.cs:1095 msgid "Error" msgstr "Erreur" -#: ..\..\MainWindow.cs:1066 +#: ..\..\MainWindow.cs:1075 msgid "Errors:" msgstr "Erreurs :" @@ -394,11 +394,11 @@ msgstr "Erreurs :" msgid "Existing size" msgstr "Taille existante" -#: ..\..\MainWindow.cs:424 ..\..\MainWindow.cs:562 +#: ..\..\MainWindow.cs:433 ..\..\MainWindow.cs:571 msgid "Failed" msgstr "Échoué" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 #, csharp-format msgid "" "Failed to convert {0}:\n" @@ -407,7 +407,7 @@ msgstr "" "Échec de la conversion de {0} :\n" "{1}" -#: ..\..\MainWindow.cs:563 +#: ..\..\MainWindow.cs:572 #, csharp-format msgid "" "Failed to create multi-size ICO:\n" @@ -416,7 +416,7 @@ msgstr "" "Échec de la création de l'ICO multi-tailles :\n" "{0}" -#: ..\..\MainWindow.cs:846 +#: ..\..\MainWindow.cs:855 #, csharp-format msgid "" "Failed to load clipboard image:\n" @@ -425,7 +425,7 @@ msgstr "" "Échec du chargement de l'image du presse-papiers :\n" "{0}" -#: ..\..\MainWindow.cs:893 +#: ..\..\MainWindow.cs:902 #, csharp-format msgid "" "Failed to load image from URL:\n" @@ -434,7 +434,7 @@ msgstr "" "Échec du chargement de l'image depuis l'URL :\n" "{0}" -#: ..\..\MainWindow.cs:1086 +#: ..\..\MainWindow.cs:1095 #, csharp-format msgid "" "Failed to load image:\n" @@ -454,7 +454,7 @@ msgstr "Erreur fatale : {0}" msgid "Fi<er:" msgstr "Fi<re :" -#: ..\..\MainWindow.cs:1114 +#: ..\..\MainWindow.cs:1123 msgid "File Already Exists" msgstr "Le fichier existe déjà" @@ -483,7 +483,7 @@ msgstr "Images GIF (*.gif)" msgid "GitHub Repository" msgstr "Dépôt GitHub" -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 msgid "ICO Created" msgstr "ICO créé" @@ -549,16 +549,16 @@ msgstr "Valeur de largeur non valide : {0}" msgid "JPEG images (*.jpg, *.jpeg)" msgstr "Images JPEG (*.jpg, *.jpeg)" -#: ..\..\MainWindow.cs:959 ..\..\MainWindow.cs:983 +#: ..\..\MainWindow.cs:968 ..\..\MainWindow.cs:992 #, csharp-format msgid "Loading images ({0}/{1})..." msgstr "Chargement des images ({0}/{1})..." -#: ..\..\MainWindow.cs:960 +#: ..\..\MainWindow.cs:969 msgid "Loading..." msgstr "Chargement..." -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 #, csharp-format msgid "" "Multi-size ICO created successfully:\n" @@ -567,7 +567,7 @@ msgstr "" "ICO multi-tailles créé avec succès :\n" "{0}" -#: ..\..\MainWindow.cs:552 +#: ..\..\MainWindow.cs:561 #, csharp-format msgid "Multi-size ICO created: {0}" msgstr "ICO multi-tailles créé : {0}" @@ -584,7 +584,7 @@ msgstr "Aucun format sélectionné" msgid "No images found" msgstr "Aucune image trouvée" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "No images to convert. Add some images first." msgstr "Aucune image à convertir. Ajoutez d'abord des images." @@ -600,7 +600,7 @@ msgstr "Aucune image correspondante trouvée dans le dossier sélectionné." msgid "No Sizes" msgstr "Aucune taille" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "Nothing to convert" msgstr "Rien à convertir" @@ -621,7 +621,7 @@ msgid "Output path must have a file extension (e.g. .jpg, .png)" msgstr "" "Le chemin de sortie doit avoir une extension de fichier (ex. .jpg, .png)" -#: ..\..\MainWindow.cs:1142 +#: ..\..\MainWindow.cs:1151 msgid "Overwrite" msgstr "Remplacer" @@ -678,7 +678,7 @@ msgstr "Pré&réglage :" msgid "Preparing to convert..." msgstr "Préparation de la conversion..." -#: ..\..\MainWindow.cs:457 +#: ..\..\MainWindow.cs:466 #, csharp-format msgid "Processed {0} image." msgid_plural "Processed {0} images." @@ -690,8 +690,8 @@ msgid "Read User &Manual" msgstr "Lire le &manuel utilisateur" #: ..\..\MainWindow.cs:224 ..\..\MainWindow.cs:243 -#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:559 -#: ..\..\MainWindow.cs:890 ..\..\MainWindow.cs:894 +#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:568 +#: ..\..\MainWindow.cs:899 ..\..\MainWindow.cs:903 msgid "Ready" msgstr "Prêt" @@ -699,7 +699,7 @@ msgstr "Prêt" msgid "Remove &All" msgstr "Supprimer &tout" -#: ..\..\MainWindow.cs:1143 +#: ..\..\MainWindow.cs:1152 msgid "Rename" msgstr "Renommer" @@ -748,15 +748,24 @@ msgstr "Taille" msgid "Size {0} is already in the list." msgstr "La taille {0} est déjà dans la liste." -#: ..\..\MainWindow.cs:1144 +#: ..\..\MainWindow.cs:1153 msgid "Skip" msgstr "Ignorer" -#: ..\..\MainWindow.cs:405 +#: ..\..\MainWindow.cs:414 msgid "Skipped" msgstr "Ignoré" -#: ..\..\MainWindow.cs:612 ..\..\Services\UpdateService.cs:56 +#: ..\..\MainWindow.cs:395 +msgid "Skipped (same format)" +msgstr "Ignoré (même format)" + +#: ..\..\Program.cs:275 +#, csharp-format +msgid "Skipped: {0} is already in {1} format." +msgstr "Ignoré : {0} est déjà au format {1}." + +#: ..\..\MainWindow.cs:621 ..\..\Services\UpdateService.cs:56 #: ..\..\Services\UpdateService.cs:62 ..\..\Services\UpdateService.cs:68 #: ..\..\Services\UpdateService.cs:76 msgid "Software Update" @@ -783,7 +792,7 @@ msgstr "&Format cible :" msgid "Target format (e.g. jpg, png, webp). Used when --output is omitted." msgstr "Format cible (ex. jpg, png, webp). Utilisé lorsque --output est omis." -#: ..\..\MainWindow.cs:1132 +#: ..\..\MainWindow.cs:1141 #, csharp-format msgid "" "The file \"{0}\" already exists.\n" @@ -809,11 +818,11 @@ msgid "The selected folder does not exist. Please choose an existing folder." msgstr "" "Le dossier sélectionné n'existe pas. Veuillez choisir un dossier existant." -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "The user manual file could not be found." msgstr "Le fichier du manuel utilisateur est introuvable." -#: ..\..\MainWindow.cs:804 +#: ..\..\MainWindow.cs:813 msgid "There are images in the queue. Are you sure you want to exit?" msgstr "Il y a des images dans la file. Voulez-vous vraiment quitter ?" @@ -821,7 +830,7 @@ msgstr "Il y a des images dans la file. Voulez-vous vraiment quitter ?" msgid "TIFF images (*.tif, *.tiff)" msgstr "Images TIFF (*.tif, *.tiff)" -#: ..\..\MainWindow.cs:611 ..\..\Services\UpdateService.cs:67 +#: ..\..\MainWindow.cs:620 ..\..\Services\UpdateService.cs:67 #: ..\..\Services\UpdateService.cs:75 msgid "Unable to check for updates. Please try again later." msgstr "Impossible de vérifier les mises à jour. Veuillez réessayer plus tard." @@ -852,7 +861,7 @@ msgstr "" "Mode recadrage (mise à l'échelle pour couvrir, puis recadrage centré aux " "dimensions exactes)" -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "User Manual" msgstr "Manuel utilisateur" diff --git a/src/Sic/locale/messages.pot b/src/Sic/locale/messages.pot index ff3c291..1c7aef5 100644 --- a/src/Sic/locale/messages.pot +++ b/src/Sic/locale/messages.pot @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: Sic\n" -"POT-Creation-Date: 2026-04-17 00:35:15+0200\n" -"PO-Revision-Date: 2026-04-17 00:35:15+0200\n" +"POT-Creation-Date: 2026-06-08 16:47:15+0200\n" +"PO-Revision-Date: 2026-06-08 16:47:15+0200\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -10,11 +10,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: GetText.NET Extractor\n" -#: ..\..\MainWindow.cs:466 +#: ..\..\MainWindow.cs:475 msgid ", " msgstr "" -#: ..\..\MainWindow.cs:1071 +#: ..\..\MainWindow.cs:1080 #, csharp-format msgid "...and {0} more" msgstr "" @@ -29,31 +29,31 @@ msgstr "" msgid "{0} B" msgstr "" -#: ..\..\MainWindow.cs:1059 +#: ..\..\MainWindow.cs:1068 #, csharp-format msgid "{0} cloud-only file skipped" msgid_plural "{0} cloud-only files skipped" msgstr[0] "" msgstr[1] "" -#: ..\..\MainWindow.cs:460 +#: ..\..\MainWindow.cs:469 #, csharp-format msgid "{0} converted" msgstr "" -#: ..\..\MainWindow.cs:464 +#: ..\..\MainWindow.cs:473 #, csharp-format msgid "{0} failed" msgstr "" -#: ..\..\MainWindow.cs:1061 +#: ..\..\MainWindow.cs:1070 #, csharp-format msgid "{0} file failed to load" msgid_plural "{0} files failed to load" msgstr[0] "" msgstr[1] "" -#: ..\..\MainWindow.cs:935 +#: ..\..\MainWindow.cs:944 #, csharp-format msgid "" "{0} file is stored in the cloud and needs to be downloaded first.\n" @@ -64,7 +64,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ..\..\MainWindow.cs:1057 +#: ..\..\MainWindow.cs:1066 #, csharp-format msgid "{0} image loaded" msgid_plural "{0} images loaded" @@ -81,7 +81,7 @@ msgstr "" msgid "{0} MB" msgstr "" -#: ..\..\MainWindow.cs:462 +#: ..\..\MainWindow.cs:471 #, csharp-format msgid "{0} skipped" msgstr "" @@ -104,11 +104,11 @@ msgstr "" msgid "&Browse..." msgstr "" +#: ..\..\AddUrlDialog.Designer.cs:76 #: ..\..\AddSizeDialog.Designer.cs:76 #: ..\..\ProgressDialog.Designer.cs:83 #: ..\..\AddFolderDialog.Designer.cs:126 #: ..\..\IcoPresetDialog.Designer.cs:164 -#: ..\..\AddUrlDialog.Designer.cs:76 #: ..\..\SettingsDialog.Designer.cs:136 msgid "&Cancel" msgstr "" @@ -165,17 +165,17 @@ msgstr "" msgid "&Link:" msgstr "" +#: ..\..\AddUrlDialog.Designer.cs:67 #: ..\..\AddSizeDialog.Designer.cs:67 -#: ..\..\AboutDialog.Designer.cs:117 #: ..\..\AddFolderDialog.Designer.cs:117 +#: ..\..\AboutDialog.Designer.cs:117 #: ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddUrlDialog.Designer.cs:67 #: ..\..\SettingsDialog.Designer.cs:127 msgid "&OK" msgstr "" -#: ..\..\IcoPresetDialog.Designer.cs:145 #: ..\..\MainWindow.Designer.cs:136 +#: ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "" @@ -197,8 +197,8 @@ msgid "© {0} Oire Software" msgstr "" #: ..\..\MainWindow.cs:212 -#: ..\..\MainWindow.cs:1034 -#: ..\..\MainWindow.cs:1105 +#: ..\..\MainWindow.cs:1043 +#: ..\..\MainWindow.cs:1114 #, csharp-format msgid "1 image in queue" msgid_plural "{0} images in queue" @@ -217,7 +217,7 @@ msgstr "" msgid "Add Image by &Link..." msgstr "" -#: ..\..\MainWindow.cs:1076 +#: ..\..\MainWindow.cs:1085 msgid "Add Images" msgstr "" @@ -225,12 +225,12 @@ msgstr "" msgid "Add your images here" msgstr "" -#: ..\..\MainWindow.cs:888 +#: ..\..\MainWindow.cs:897 #, csharp-format msgid "Added {0} from URL" msgstr "" -#: ..\..\MainWindow.cs:843 +#: ..\..\MainWindow.cs:852 msgid "Added image from clipboard" msgstr "" @@ -267,7 +267,7 @@ msgstr "" msgid "C&ustom" msgstr "" -#: ..\..\MainWindow.cs:468 +#: ..\..\MainWindow.cs:477 msgid "Cancelled." msgstr "" @@ -275,11 +275,11 @@ msgstr "" msgid "Check for &Updates..." msgstr "" -#: ..\..\MainWindow.cs:938 +#: ..\..\MainWindow.cs:947 msgid "Cloud Files" msgstr "" -#: ..\..\MainWindow.cs:805 +#: ..\..\MainWindow.cs:814 msgid "Confirm Exit" msgstr "" @@ -287,15 +287,15 @@ msgstr "" msgid "Confirm on exit with non-empty &queue" msgstr "" -#: ..\..\MainWindow.cs:475 +#: ..\..\MainWindow.cs:484 msgid "Conversion Complete" msgstr "" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 msgid "Conversion Error" msgstr "" -#: ..\..\Program.cs:283 +#: ..\..\Program.cs:289 #, csharp-format msgid "Conversion failed: {0}" msgstr "" @@ -310,7 +310,7 @@ msgstr "" msgid "Convert &Selected" msgstr "" -#: ..\..\Program.cs:279 +#: ..\..\Program.cs:285 #, csharp-format msgid "Converted: {0}" msgstr "" @@ -322,8 +322,8 @@ msgstr "" #: ..\..\MainWindow.cs:370 #: ..\..\MainWindow.cs:388 -#: ..\..\MainWindow.cs:530 -#: ..\..\MainWindow.cs:534 +#: ..\..\MainWindow.cs:539 +#: ..\..\MainWindow.cs:543 msgid "Converting..." msgstr "" @@ -335,7 +335,7 @@ msgstr "" msgid "Create Multi-size &ICO..." msgstr "" -#: ..\..\MainWindow.cs:529 +#: ..\..\MainWindow.cs:538 msgid "Creating multi-size ICO..." msgstr "" @@ -355,21 +355,21 @@ msgstr "" msgid "Dimensions" msgstr "" -#: ..\..\MainWindow.cs:862 +#: ..\..\MainWindow.cs:871 msgid "Downloading image..." msgstr "" -#: ..\..\MainWindow.cs:875 +#: ..\..\MainWindow.cs:884 #, csharp-format msgid "Downloading image... ({0} KB)" msgstr "" -#: ..\..\MainWindow.cs:872 +#: ..\..\MainWindow.cs:881 #, csharp-format msgid "Downloading image... {0}%" msgstr "" -#: ..\..\MainWindow.cs:863 +#: ..\..\MainWindow.cs:872 msgid "Downloading..." msgstr "" @@ -383,15 +383,15 @@ msgstr "" #: ..\..\Program.cs:46 #: ..\..\Program.cs:73 -#: ..\..\MainWindow.cs:563 -#: ..\..\MainWindow.cs:846 -#: ..\..\MainWindow.cs:893 +#: ..\..\MainWindow.cs:572 #: ..\..\Utils\Config.cs:66 -#: ..\..\MainWindow.cs:1086 +#: ..\..\MainWindow.cs:855 +#: ..\..\MainWindow.cs:902 +#: ..\..\MainWindow.cs:1095 msgid "Error" msgstr "" -#: ..\..\MainWindow.cs:1066 +#: ..\..\MainWindow.cs:1075 msgid "Errors:" msgstr "" @@ -399,40 +399,40 @@ msgstr "" msgid "Existing size" msgstr "" -#: ..\..\MainWindow.cs:424 -#: ..\..\MainWindow.cs:562 +#: ..\..\MainWindow.cs:433 +#: ..\..\MainWindow.cs:571 msgid "Failed" msgstr "" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 #, csharp-format msgid "" "Failed to convert {0}:\n" "{1}" msgstr "" -#: ..\..\MainWindow.cs:563 +#: ..\..\MainWindow.cs:572 #, csharp-format msgid "" "Failed to create multi-size ICO:\n" "{0}" msgstr "" -#: ..\..\MainWindow.cs:846 +#: ..\..\MainWindow.cs:855 #, csharp-format msgid "" "Failed to load clipboard image:\n" "{0}" msgstr "" -#: ..\..\MainWindow.cs:893 +#: ..\..\MainWindow.cs:902 #, csharp-format msgid "" "Failed to load image from URL:\n" "{0}" msgstr "" -#: ..\..\MainWindow.cs:1086 +#: ..\..\MainWindow.cs:1095 #, csharp-format msgid "" "Failed to load image:\n" @@ -449,7 +449,7 @@ msgstr "" msgid "Fi<er:" msgstr "" -#: ..\..\MainWindow.cs:1114 +#: ..\..\MainWindow.cs:1123 msgid "File Already Exists" msgstr "" @@ -478,7 +478,7 @@ msgstr "" msgid "GitHub Repository" msgstr "" -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 msgid "ICO Created" msgstr "" @@ -540,24 +540,24 @@ msgstr "" msgid "JPEG images (*.jpg, *.jpeg)" msgstr "" -#: ..\..\MainWindow.cs:959 -#: ..\..\MainWindow.cs:983 +#: ..\..\MainWindow.cs:968 +#: ..\..\MainWindow.cs:992 #, csharp-format msgid "Loading images ({0}/{1})..." msgstr "" -#: ..\..\MainWindow.cs:960 +#: ..\..\MainWindow.cs:969 msgid "Loading..." msgstr "" -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 #, csharp-format msgid "" "Multi-size ICO created successfully:\n" "{0}" msgstr "" -#: ..\..\MainWindow.cs:552 +#: ..\..\MainWindow.cs:561 #, csharp-format msgid "Multi-size ICO created: {0}" msgstr "" @@ -574,7 +574,7 @@ msgstr "" msgid "No images found" msgstr "" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "No images to convert. Add some images first." msgstr "" @@ -590,7 +590,7 @@ msgstr "" msgid "No Sizes" msgstr "" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "Nothing to convert" msgstr "" @@ -611,7 +611,7 @@ msgstr "" msgid "Output path must have a file extension (e.g. .jpg, .png)" msgstr "" -#: ..\..\MainWindow.cs:1142 +#: ..\..\MainWindow.cs:1151 msgid "Overwrite" msgstr "" @@ -668,7 +668,7 @@ msgstr "" msgid "Preparing to convert..." msgstr "" -#: ..\..\MainWindow.cs:457 +#: ..\..\MainWindow.cs:466 #, csharp-format msgid "Processed {0} image." msgid_plural "Processed {0} images." @@ -682,9 +682,9 @@ msgstr "" #: ..\..\MainWindow.cs:224 #: ..\..\MainWindow.cs:243 #: ..\..\MainWindow.Designer.cs:480 -#: ..\..\MainWindow.cs:559 -#: ..\..\MainWindow.cs:890 -#: ..\..\MainWindow.cs:894 +#: ..\..\MainWindow.cs:568 +#: ..\..\MainWindow.cs:899 +#: ..\..\MainWindow.cs:903 msgid "Ready" msgstr "" @@ -692,7 +692,7 @@ msgstr "" msgid "Remove &All" msgstr "" -#: ..\..\MainWindow.cs:1143 +#: ..\..\MainWindow.cs:1152 msgid "Rename" msgstr "" @@ -742,15 +742,24 @@ msgstr "" msgid "Size {0} is already in the list." msgstr "" -#: ..\..\MainWindow.cs:1144 +#: ..\..\MainWindow.cs:1153 msgid "Skip" msgstr "" -#: ..\..\MainWindow.cs:405 +#: ..\..\MainWindow.cs:414 msgid "Skipped" msgstr "" -#: ..\..\MainWindow.cs:612 +#: ..\..\MainWindow.cs:395 +msgid "Skipped (same format)" +msgstr "" + +#: ..\..\Program.cs:275 +#, csharp-format +msgid "Skipped: {0} is already in {1} format." +msgstr "" + +#: ..\..\MainWindow.cs:621 #: ..\..\Services\UpdateService.cs:56 #: ..\..\Services\UpdateService.cs:62 #: ..\..\Services\UpdateService.cs:68 @@ -779,7 +788,7 @@ msgstr "" msgid "Target format (e.g. jpg, png, webp). Used when --output is omitted." msgstr "" -#: ..\..\MainWindow.cs:1132 +#: ..\..\MainWindow.cs:1141 #, csharp-format msgid "" "The file \"{0}\" already exists.\n" @@ -801,11 +810,11 @@ msgstr "" msgid "The selected folder does not exist. Please choose an existing folder." msgstr "" -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "The user manual file could not be found." msgstr "" -#: ..\..\MainWindow.cs:804 +#: ..\..\MainWindow.cs:813 msgid "There are images in the queue. Are you sure you want to exit?" msgstr "" @@ -813,7 +822,7 @@ msgstr "" msgid "TIFF images (*.tif, *.tiff)" msgstr "" -#: ..\..\MainWindow.cs:611 +#: ..\..\MainWindow.cs:620 #: ..\..\Services\UpdateService.cs:67 #: ..\..\Services\UpdateService.cs:75 msgid "Unable to check for updates. Please try again later." @@ -843,7 +852,7 @@ msgstr "" msgid "Use crop mode (scale to cover, then center-crop to exact dimensions)" msgstr "" -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "User Manual" msgstr "" diff --git a/src/Sic/locale/ru/Sic.po b/src/Sic/locale/ru/Sic.po index 6061f40..1efabf4 100644 --- a/src/Sic/locale/ru/Sic.po +++ b/src/Sic/locale/ru/Sic.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Sic\n" -"POT-Creation-Date: 2026-04-17 00:35:15+0200\n" +"POT-Creation-Date: 2026-06-08 16:47:15+0200\n" "PO-Revision-Date: 2026-03-07 19:15+0100\n" "Last-Translator: \n" "Language-Team: ru-RU\n" @@ -13,11 +13,11 @@ msgstr "" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 3.8\n" -#: ..\..\MainWindow.cs:466 +#: ..\..\MainWindow.cs:475 msgid ", " msgstr ", " -#: ..\..\MainWindow.cs:1071 +#: ..\..\MainWindow.cs:1080 #, csharp-format msgid "...and {0} more" msgstr "...и ещё {0}" @@ -32,7 +32,7 @@ msgstr "{0} ({1}, {2}, {3})" msgid "{0} B" msgstr "{0} Б" -#: ..\..\MainWindow.cs:1059 +#: ..\..\MainWindow.cs:1068 #, csharp-format msgid "{0} cloud-only file skipped" msgid_plural "{0} cloud-only files skipped" @@ -40,17 +40,17 @@ msgstr[0] "Пропущен {0} файл, доступный только в о msgstr[1] "Пропущено {0} файла, доступных только в облаке" msgstr[2] "пропущено {0} файлов, доступных только в облаке" -#: ..\..\MainWindow.cs:460 +#: ..\..\MainWindow.cs:469 #, csharp-format msgid "{0} converted" msgstr "{0} сконвертировано" -#: ..\..\MainWindow.cs:464 +#: ..\..\MainWindow.cs:473 #, csharp-format msgid "{0} failed" msgstr "{0} с ошибкой" -#: ..\..\MainWindow.cs:1061 +#: ..\..\MainWindow.cs:1070 #, csharp-format msgid "{0} file failed to load" msgid_plural "{0} files failed to load" @@ -58,7 +58,7 @@ msgstr[0] "Не удалось загрузить {0} файл" msgstr[1] "Не удалось загрузить {0} файла" msgstr[2] "Не удалось загрузить {0} файлов" -#: ..\..\MainWindow.cs:935 +#: ..\..\MainWindow.cs:944 #, csharp-format msgid "" "{0} file is stored in the cloud and needs to be downloaded first.\n" @@ -73,7 +73,7 @@ msgstr[1] "" msgstr[2] "" "{0} файлов хранятся в облаке и их необходимо сначала загрузить. Загрузить их?" -#: ..\..\MainWindow.cs:1057 +#: ..\..\MainWindow.cs:1066 #, csharp-format msgid "{0} image loaded" msgid_plural "{0} images loaded" @@ -91,7 +91,7 @@ msgstr "{0} кб" msgid "{0} MB" msgstr "{0} Мб" -#: ..\..\MainWindow.cs:462 +#: ..\..\MainWindow.cs:471 #, csharp-format msgid "{0} skipped" msgstr "{0} пропущено" @@ -113,9 +113,9 @@ msgstr "&Добавить..." msgid "&Browse..." msgstr "О&бзор..." -#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\IcoPresetDialog.Designer.cs:164 -#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\SettingsDialog.Designer.cs:136 +#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\AddSizeDialog.Designer.cs:76 +#: ..\..\ProgressDialog.Designer.cs:83 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:136 msgid "&Cancel" msgstr "О&тмена" @@ -171,13 +171,13 @@ msgstr "&Язык:" msgid "&Link:" msgstr "Сс&ылка:" -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\SettingsDialog.Designer.cs:127 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\AboutDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:127 msgid "&OK" msgstr "&ОК" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "&Удалить" @@ -198,7 +198,7 @@ msgstr "&Ширина:" msgid "© {0} Oire Software" msgstr "© {0} Oire Software" -#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1034 ..\..\MainWindow.cs:1105 +#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1043 ..\..\MainWindow.cs:1114 #, csharp-format msgid "1 image in queue" msgid_plural "{0} images in queue" @@ -218,7 +218,7 @@ msgstr "Добавить &папку..." msgid "Add Image by &Link..." msgstr "Добавить изображение по сс&ылке..." -#: ..\..\MainWindow.cs:1076 +#: ..\..\MainWindow.cs:1085 msgid "Add Images" msgstr "Добавить изображения" @@ -226,12 +226,12 @@ msgstr "Добавить изображения" msgid "Add your images here" msgstr "Добавьте сюда свои изображения" -#: ..\..\MainWindow.cs:888 +#: ..\..\MainWindow.cs:897 #, csharp-format msgid "Added {0} from URL" msgstr "Добавлено {0} по ссылке" -#: ..\..\MainWindow.cs:843 +#: ..\..\MainWindow.cs:852 msgid "Added image from clipboard" msgstr "Добавлено из буфера обмена" @@ -272,7 +272,7 @@ msgstr "Изображения BMP (*.bmp)" msgid "C&ustom" msgstr "Пол&ьзовательский" -#: ..\..\MainWindow.cs:468 +#: ..\..\MainWindow.cs:477 msgid "Cancelled." msgstr "Отменено." @@ -280,11 +280,11 @@ msgstr "Отменено." msgid "Check for &Updates..." msgstr "Проверить наличие о&бновлений..." -#: ..\..\MainWindow.cs:938 +#: ..\..\MainWindow.cs:947 msgid "Cloud Files" msgstr "Файлы в облаке" -#: ..\..\MainWindow.cs:805 +#: ..\..\MainWindow.cs:814 msgid "Confirm Exit" msgstr "Подтверждение выхода" @@ -292,15 +292,15 @@ msgstr "Подтверждение выхода" msgid "Confirm on exit with non-empty &queue" msgstr "&Подтверждать выход при непустой очереди" -#: ..\..\MainWindow.cs:475 +#: ..\..\MainWindow.cs:484 msgid "Conversion Complete" msgstr "Конвертация завершена" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 msgid "Conversion Error" msgstr "Ошибка конвертации" -#: ..\..\Program.cs:283 +#: ..\..\Program.cs:289 #, csharp-format msgid "Conversion failed: {0}" msgstr "Ошибка конвертации: {0}" @@ -313,7 +313,7 @@ msgstr "Конвертировать &всё" msgid "Convert &Selected" msgstr "Конвертировать &выбранное" -#: ..\..\Program.cs:279 +#: ..\..\Program.cs:285 #, csharp-format msgid "Converted: {0}" msgstr "Сконвертировано: {0}" @@ -323,8 +323,8 @@ msgstr "Сконвертировано: {0}" msgid "Converting {0} ({1}/{2})..." msgstr "Конвертация {0} ({1}/{2})..." -#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:530 -#: ..\..\MainWindow.cs:534 +#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:539 +#: ..\..\MainWindow.cs:543 msgid "Converting..." msgstr "Конвертация..." @@ -336,7 +336,7 @@ msgstr "Скопировано!" msgid "Create Multi-size &ICO..." msgstr "Создать файл ICO с несколькими &размерами..." -#: ..\..\MainWindow.cs:529 +#: ..\..\MainWindow.cs:538 msgid "Creating multi-size ICO..." msgstr "Создание ICO с несколькими размерами..." @@ -357,21 +357,21 @@ msgstr "" msgid "Dimensions" msgstr "Размеры изображения" -#: ..\..\MainWindow.cs:862 +#: ..\..\MainWindow.cs:871 msgid "Downloading image..." msgstr "Загрузка изображения..." -#: ..\..\MainWindow.cs:875 +#: ..\..\MainWindow.cs:884 #, csharp-format msgid "Downloading image... ({0} KB)" msgstr "Загрузка изображения... ({0} кб)" -#: ..\..\MainWindow.cs:872 +#: ..\..\MainWindow.cs:881 #, csharp-format msgid "Downloading image... {0}%" msgstr "Загрузка изображения... {0}%" -#: ..\..\MainWindow.cs:863 +#: ..\..\MainWindow.cs:872 msgid "Downloading..." msgstr "Загрузка..." @@ -383,13 +383,13 @@ msgstr "В&ыход" msgid "Either --output or --format must be specified." msgstr "Необходимо указать либо --output, либо --format." -#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:563 -#: ..\..\MainWindow.cs:846 ..\..\MainWindow.cs:893 ..\..\Utils\Config.cs:66 -#: ..\..\MainWindow.cs:1086 +#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:572 +#: ..\..\Utils\Config.cs:66 ..\..\MainWindow.cs:855 ..\..\MainWindow.cs:902 +#: ..\..\MainWindow.cs:1095 msgid "Error" msgstr "Ошибка" -#: ..\..\MainWindow.cs:1066 +#: ..\..\MainWindow.cs:1075 msgid "Errors:" msgstr "Ошибки:" @@ -397,11 +397,11 @@ msgstr "Ошибки:" msgid "Existing size" msgstr "Размер уже существует" -#: ..\..\MainWindow.cs:424 ..\..\MainWindow.cs:562 +#: ..\..\MainWindow.cs:433 ..\..\MainWindow.cs:571 msgid "Failed" msgstr "Ошибка" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 #, csharp-format msgid "" "Failed to convert {0}:\n" @@ -410,7 +410,7 @@ msgstr "" "Не удалось сконвертировать {0}:\n" "{1}" -#: ..\..\MainWindow.cs:563 +#: ..\..\MainWindow.cs:572 #, csharp-format msgid "" "Failed to create multi-size ICO:\n" @@ -419,7 +419,7 @@ msgstr "" "Не удалось создать многоразмерный ICO-файл:\n" "{0}" -#: ..\..\MainWindow.cs:846 +#: ..\..\MainWindow.cs:855 #, csharp-format msgid "" "Failed to load clipboard image:\n" @@ -428,7 +428,7 @@ msgstr "" "Не удалось загрузить изображение из буфера обмена:\n" "{0}" -#: ..\..\MainWindow.cs:893 +#: ..\..\MainWindow.cs:902 #, csharp-format msgid "" "Failed to load image from URL:\n" @@ -437,7 +437,7 @@ msgstr "" "Не удалось загрузить изображение по ссылке:\n" "{0}" -#: ..\..\MainWindow.cs:1086 +#: ..\..\MainWindow.cs:1095 #, csharp-format msgid "" "Failed to load image:\n" @@ -457,7 +457,7 @@ msgstr "Критическая ошибка: {0}" msgid "Fi<er:" msgstr "Фи&льтр:" -#: ..\..\MainWindow.cs:1114 +#: ..\..\MainWindow.cs:1123 msgid "File Already Exists" msgstr "Файл уже существует" @@ -486,7 +486,7 @@ msgstr "Изображения GIF (*.gif)" msgid "GitHub Repository" msgstr "Репозиторий GitHub" -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 msgid "ICO Created" msgstr "ICO-файл создан" @@ -552,16 +552,16 @@ msgstr "Недопустимое значение ширины: {0}" msgid "JPEG images (*.jpg, *.jpeg)" msgstr "Изображения JPEG (*.jpg, *.jpeg)" -#: ..\..\MainWindow.cs:959 ..\..\MainWindow.cs:983 +#: ..\..\MainWindow.cs:968 ..\..\MainWindow.cs:992 #, csharp-format msgid "Loading images ({0}/{1})..." msgstr "Загрузка изображений ({0} из {1})..." -#: ..\..\MainWindow.cs:960 +#: ..\..\MainWindow.cs:969 msgid "Loading..." msgstr "Загрузка..." -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 #, csharp-format msgid "" "Multi-size ICO created successfully:\n" @@ -570,7 +570,7 @@ msgstr "" "Многоразмерный ICO-файл успешно создан:\n" "{0}" -#: ..\..\MainWindow.cs:552 +#: ..\..\MainWindow.cs:561 #, csharp-format msgid "Multi-size ICO created: {0}" msgstr "Создан ICO-файл с несколькими размерами: {0}" @@ -587,7 +587,7 @@ msgstr "Формат не выбран" msgid "No images found" msgstr "Изображения не найдены" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "No images to convert. Add some images first." msgstr "Нет изображений для конвертации. Сначала добавьте изображения." @@ -603,7 +603,7 @@ msgstr "В выбранной папке не найдено подходящи msgid "No Sizes" msgstr "Нет размеров" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "Nothing to convert" msgstr "Нет изображения для конвертации" @@ -624,7 +624,7 @@ msgid "Output path must have a file extension (e.g. .jpg, .png)" msgstr "" "Путь назначения должен содержать расширение файла (например, .jpg, .png)" -#: ..\..\MainWindow.cs:1142 +#: ..\..\MainWindow.cs:1151 msgid "Overwrite" msgstr "Перезаписать" @@ -683,7 +683,7 @@ msgstr "Пред&установка:" msgid "Preparing to convert..." msgstr "Подготовка к конвертации..." -#: ..\..\MainWindow.cs:457 +#: ..\..\MainWindow.cs:466 #, csharp-format msgid "Processed {0} image." msgid_plural "Processed {0} images." @@ -696,8 +696,8 @@ msgid "Read User &Manual" msgstr "&Руководство пользователя" #: ..\..\MainWindow.cs:224 ..\..\MainWindow.cs:243 -#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:559 -#: ..\..\MainWindow.cs:890 ..\..\MainWindow.cs:894 +#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:568 +#: ..\..\MainWindow.cs:899 ..\..\MainWindow.cs:903 msgid "Ready" msgstr "Готово" @@ -705,7 +705,7 @@ msgstr "Готово" msgid "Remove &All" msgstr "Удалить &все" -#: ..\..\MainWindow.cs:1143 +#: ..\..\MainWindow.cs:1152 msgid "Rename" msgstr "Переименовать" @@ -754,15 +754,24 @@ msgstr "Размер" msgid "Size {0} is already in the list." msgstr "Размер {0} уже в списке." -#: ..\..\MainWindow.cs:1144 +#: ..\..\MainWindow.cs:1153 msgid "Skip" msgstr "Пропустить" -#: ..\..\MainWindow.cs:405 +#: ..\..\MainWindow.cs:414 msgid "Skipped" msgstr "Пропущено" -#: ..\..\MainWindow.cs:612 ..\..\Services\UpdateService.cs:56 +#: ..\..\MainWindow.cs:395 +msgid "Skipped (same format)" +msgstr "Пропущено (тот же формат)" + +#: ..\..\Program.cs:275 +#, csharp-format +msgid "Skipped: {0} is already in {1} format." +msgstr "Пропущено: {0} уже в формате {1}." + +#: ..\..\MainWindow.cs:621 ..\..\Services\UpdateService.cs:56 #: ..\..\Services\UpdateService.cs:62 ..\..\Services\UpdateService.cs:68 #: ..\..\Services\UpdateService.cs:76 msgid "Software Update" @@ -791,7 +800,7 @@ msgstr "" "Целевой формат (например, jpg, png, webp). Используется, когда параметр --" "output опущен." -#: ..\..\MainWindow.cs:1132 +#: ..\..\MainWindow.cs:1141 #, csharp-format msgid "" "The file \"{0}\" already exists.\n" @@ -817,11 +826,11 @@ msgid "The selected folder does not exist. Please choose an existing folder." msgstr "" "Выбранная папка не существует. Пожалуйста, выберите существующую папку." -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "The user manual file could not be found." msgstr "Файл руководства пользователя не найден." -#: ..\..\MainWindow.cs:804 +#: ..\..\MainWindow.cs:813 msgid "There are images in the queue. Are you sure you want to exit?" msgstr "В очереди есть изображения. Вы действительно хотите выйти?" @@ -829,7 +838,7 @@ msgstr "В очереди есть изображения. Вы действит msgid "TIFF images (*.tif, *.tiff)" msgstr "Изображения TIFF (*.tif, *.tiff)" -#: ..\..\MainWindow.cs:611 ..\..\Services\UpdateService.cs:67 +#: ..\..\MainWindow.cs:620 ..\..\Services\UpdateService.cs:67 #: ..\..\Services\UpdateService.cs:75 msgid "Unable to check for updates. Please try again later." msgstr "Невозможно проверить наличие обновлений. Повторите попытку позже." @@ -859,7 +868,7 @@ msgstr "" "Режим обрезки (масштабировать с заполнением, затем обрезать по центру до " "точных размеров)" -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "User Manual" msgstr "Руководство пользователя" diff --git a/src/Sic/locale/uk/Sic.po b/src/Sic/locale/uk/Sic.po index f266677..9b766b3 100644 --- a/src/Sic/locale/uk/Sic.po +++ b/src/Sic/locale/uk/Sic.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Sic\n" -"POT-Creation-Date: 2026-04-17 00:35:15+0200\n" +"POT-Creation-Date: 2026-06-08 16:47:15+0200\n" "PO-Revision-Date: 2026-03-07 23:00+0100\n" "Last-Translator: \n" "Language-Team: uk\n" @@ -13,11 +13,11 @@ msgstr "" "10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" "X-Generator: Poedit 3.8\n" -#: ..\..\MainWindow.cs:466 +#: ..\..\MainWindow.cs:475 msgid ", " msgstr ", " -#: ..\..\MainWindow.cs:1071 +#: ..\..\MainWindow.cs:1080 #, csharp-format msgid "...and {0} more" msgstr "...і ще {0}" @@ -32,7 +32,7 @@ msgstr "{0} ({1}, {2}, {3})" msgid "{0} B" msgstr "{0} б" -#: ..\..\MainWindow.cs:1059 +#: ..\..\MainWindow.cs:1068 #, csharp-format msgid "{0} cloud-only file skipped" msgid_plural "{0} cloud-only files skipped" @@ -40,17 +40,17 @@ msgstr[0] "{0} файл, що зберігається тільки в хмар msgstr[1] "{0} файли, що зберігаються тільки в хмарі, пропущено" msgstr[2] "{0} файлів, що зберігаються тільки в хмарі, пропущено" -#: ..\..\MainWindow.cs:460 +#: ..\..\MainWindow.cs:469 #, csharp-format msgid "{0} converted" msgstr "{0} перетворено" -#: ..\..\MainWindow.cs:464 +#: ..\..\MainWindow.cs:473 #, csharp-format msgid "{0} failed" msgstr "{0} не вдалося" -#: ..\..\MainWindow.cs:1061 +#: ..\..\MainWindow.cs:1070 #, csharp-format msgid "{0} file failed to load" msgid_plural "{0} files failed to load" @@ -58,7 +58,7 @@ msgstr[0] "Не вдалося завантажити {0} файл" msgstr[1] "Не вдалося завантажити {0} файли" msgstr[2] "Не вдалося завантажити {0} файлів" -#: ..\..\MainWindow.cs:935 +#: ..\..\MainWindow.cs:944 #, csharp-format msgid "" "{0} file is stored in the cloud and needs to be downloaded first.\n" @@ -76,7 +76,7 @@ msgstr[2] "" "{0} файлів зберігаються у хмарі й їх потрібно спочатку завантажити.\n" "Завантажити їх?" -#: ..\..\MainWindow.cs:1057 +#: ..\..\MainWindow.cs:1066 #, csharp-format msgid "{0} image loaded" msgid_plural "{0} images loaded" @@ -94,7 +94,7 @@ msgstr "{0} кБ" msgid "{0} MB" msgstr "{0} МБ" -#: ..\..\MainWindow.cs:462 +#: ..\..\MainWindow.cs:471 #, csharp-format msgid "{0} skipped" msgstr "{0} пропущено" @@ -116,9 +116,9 @@ msgstr "&Додати..." msgid "&Browse..." msgstr "О&гляд..." -#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\IcoPresetDialog.Designer.cs:164 -#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\SettingsDialog.Designer.cs:136 +#: ..\..\AddUrlDialog.Designer.cs:76 ..\..\AddSizeDialog.Designer.cs:76 +#: ..\..\ProgressDialog.Designer.cs:83 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:136 msgid "&Cancel" msgstr "С&касувати" @@ -174,13 +174,13 @@ msgstr "&Мова:" msgid "&Link:" msgstr "&Посилання:" -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\SettingsDialog.Designer.cs:127 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\AboutDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:127 msgid "&OK" msgstr "&ОК" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "В&идалити" @@ -201,7 +201,7 @@ msgstr "&Ширина:" msgid "© {0} Oire Software" msgstr "© {0} Oire Software" -#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1034 ..\..\MainWindow.cs:1105 +#: ..\..\MainWindow.cs:212 ..\..\MainWindow.cs:1043 ..\..\MainWindow.cs:1114 #, csharp-format msgid "1 image in queue" msgid_plural "{0} images in queue" @@ -221,7 +221,7 @@ msgstr "Додати &папку..." msgid "Add Image by &Link..." msgstr "Додати зображення за &посиланням..." -#: ..\..\MainWindow.cs:1076 +#: ..\..\MainWindow.cs:1085 msgid "Add Images" msgstr "Додати зображення" @@ -229,12 +229,12 @@ msgstr "Додати зображення" msgid "Add your images here" msgstr "Додайте сюди свої зображення" -#: ..\..\MainWindow.cs:888 +#: ..\..\MainWindow.cs:897 #, csharp-format msgid "Added {0} from URL" msgstr "Додано {0} за посиланням" -#: ..\..\MainWindow.cs:843 +#: ..\..\MainWindow.cs:852 msgid "Added image from clipboard" msgstr "Додано зображення з буфера обміну" @@ -275,7 +275,7 @@ msgstr "Зображення BMP (*.bmp)" msgid "C&ustom" msgstr "Корист&увацький" -#: ..\..\MainWindow.cs:468 +#: ..\..\MainWindow.cs:477 msgid "Cancelled." msgstr "Скасовано." @@ -283,11 +283,11 @@ msgstr "Скасовано." msgid "Check for &Updates..." msgstr "Перевірити &оновлення..." -#: ..\..\MainWindow.cs:938 +#: ..\..\MainWindow.cs:947 msgid "Cloud Files" msgstr "Хмарні файли" -#: ..\..\MainWindow.cs:805 +#: ..\..\MainWindow.cs:814 msgid "Confirm Exit" msgstr "Підтвердження виходу" @@ -295,15 +295,15 @@ msgstr "Підтвердження виходу" msgid "Confirm on exit with non-empty &queue" msgstr "Підтверджу&вати вихід при непорожній черзі" -#: ..\..\MainWindow.cs:475 +#: ..\..\MainWindow.cs:484 msgid "Conversion Complete" msgstr "Конвертацію завершено" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 msgid "Conversion Error" msgstr "Помилка конвертації" -#: ..\..\Program.cs:283 +#: ..\..\Program.cs:289 #, csharp-format msgid "Conversion failed: {0}" msgstr "Помилка конвертації: {0}" @@ -316,7 +316,7 @@ msgstr "Конвертувати &все" msgid "Convert &Selected" msgstr "Конвертувати &вибране" -#: ..\..\Program.cs:279 +#: ..\..\Program.cs:285 #, csharp-format msgid "Converted: {0}" msgstr "Конвертовано: {0}" @@ -326,8 +326,8 @@ msgstr "Конвертовано: {0}" msgid "Converting {0} ({1}/{2})..." msgstr "Конвертація {0} ({1}/{2})..." -#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:530 -#: ..\..\MainWindow.cs:534 +#: ..\..\MainWindow.cs:370 ..\..\MainWindow.cs:388 ..\..\MainWindow.cs:539 +#: ..\..\MainWindow.cs:543 msgid "Converting..." msgstr "Конвертація..." @@ -339,7 +339,7 @@ msgstr "Скопійовано!" msgid "Create Multi-size &ICO..." msgstr "Створити багаторозмірний &ICO..." -#: ..\..\MainWindow.cs:529 +#: ..\..\MainWindow.cs:538 msgid "Creating multi-size ICO..." msgstr "Створення багаторозмірного ICO..." @@ -361,21 +361,21 @@ msgstr "" msgid "Dimensions" msgstr "Розміри" -#: ..\..\MainWindow.cs:862 +#: ..\..\MainWindow.cs:871 msgid "Downloading image..." msgstr "Завантаження зображення..." -#: ..\..\MainWindow.cs:875 +#: ..\..\MainWindow.cs:884 #, csharp-format msgid "Downloading image... ({0} KB)" msgstr "Завантаження зображення... ({0} кБ)" -#: ..\..\MainWindow.cs:872 +#: ..\..\MainWindow.cs:881 #, csharp-format msgid "Downloading image... {0}%" msgstr "Завантаження зображення... {0}%" -#: ..\..\MainWindow.cs:863 +#: ..\..\MainWindow.cs:872 msgid "Downloading..." msgstr "Завантаження..." @@ -387,13 +387,13 @@ msgstr "В&ихід" msgid "Either --output or --format must be specified." msgstr "Необхідно вказати --output або --format." -#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:563 -#: ..\..\MainWindow.cs:846 ..\..\MainWindow.cs:893 ..\..\Utils\Config.cs:66 -#: ..\..\MainWindow.cs:1086 +#: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:572 +#: ..\..\Utils\Config.cs:66 ..\..\MainWindow.cs:855 ..\..\MainWindow.cs:902 +#: ..\..\MainWindow.cs:1095 msgid "Error" msgstr "Помилка" -#: ..\..\MainWindow.cs:1066 +#: ..\..\MainWindow.cs:1075 msgid "Errors:" msgstr "Помилки:" @@ -401,11 +401,11 @@ msgstr "Помилки:" msgid "Existing size" msgstr "Розмір вже існує" -#: ..\..\MainWindow.cs:424 ..\..\MainWindow.cs:562 +#: ..\..\MainWindow.cs:433 ..\..\MainWindow.cs:571 msgid "Failed" msgstr "Помилка" -#: ..\..\MainWindow.cs:425 +#: ..\..\MainWindow.cs:434 #, csharp-format msgid "" "Failed to convert {0}:\n" @@ -414,7 +414,7 @@ msgstr "" "Не вдалося конвертувати {0}:\n" "{1}" -#: ..\..\MainWindow.cs:563 +#: ..\..\MainWindow.cs:572 #, csharp-format msgid "" "Failed to create multi-size ICO:\n" @@ -423,7 +423,7 @@ msgstr "" "Не вдалося створити багаторозмірний ICO:\n" "{0}" -#: ..\..\MainWindow.cs:846 +#: ..\..\MainWindow.cs:855 #, csharp-format msgid "" "Failed to load clipboard image:\n" @@ -432,7 +432,7 @@ msgstr "" "Не вдалося завантажити зображення з буфера обміну:\n" "{0}" -#: ..\..\MainWindow.cs:893 +#: ..\..\MainWindow.cs:902 #, csharp-format msgid "" "Failed to load image from URL:\n" @@ -441,7 +441,7 @@ msgstr "" "Не вдалося завантажити зображення за посиланням:\n" "{0}" -#: ..\..\MainWindow.cs:1086 +#: ..\..\MainWindow.cs:1095 #, csharp-format msgid "" "Failed to load image:\n" @@ -461,7 +461,7 @@ msgstr "Критична помилка: {0}" msgid "Fi<er:" msgstr "Фі&льтр:" -#: ..\..\MainWindow.cs:1114 +#: ..\..\MainWindow.cs:1123 msgid "File Already Exists" msgstr "Файл вже існує" @@ -490,7 +490,7 @@ msgstr "Зображення GIF (*.gif)" msgid "GitHub Repository" msgstr "Репозиторій GitHub" -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 msgid "ICO Created" msgstr "ICO створено" @@ -555,16 +555,16 @@ msgstr "Недопустиме значення ширини: {0}" msgid "JPEG images (*.jpg, *.jpeg)" msgstr "Зображення JPEG (*.jpg, *.jpeg)" -#: ..\..\MainWindow.cs:959 ..\..\MainWindow.cs:983 +#: ..\..\MainWindow.cs:968 ..\..\MainWindow.cs:992 #, csharp-format msgid "Loading images ({0}/{1})..." msgstr "Завантаження зображень ({0}/{1})..." -#: ..\..\MainWindow.cs:960 +#: ..\..\MainWindow.cs:969 msgid "Loading..." msgstr "Завантаження..." -#: ..\..\MainWindow.cs:555 +#: ..\..\MainWindow.cs:564 #, csharp-format msgid "" "Multi-size ICO created successfully:\n" @@ -573,7 +573,7 @@ msgstr "" "Багаторозмірний ICO успішно створено:\n" "{0}" -#: ..\..\MainWindow.cs:552 +#: ..\..\MainWindow.cs:561 #, csharp-format msgid "Multi-size ICO created: {0}" msgstr "Створено багаторозмірний ICO: {0}" @@ -590,7 +590,7 @@ msgstr "Формат не вибрано" msgid "No images found" msgstr "Зображення не знайдено" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "No images to convert. Add some images first." msgstr "Немає зображень для конвертації. Спочатку додайте зображення." @@ -606,7 +606,7 @@ msgstr "У вибраній папці не знайдено відповідн msgid "No Sizes" msgstr "Немає розмірів" -#: ..\..\MainWindow.cs:481 +#: ..\..\MainWindow.cs:490 msgid "Nothing to convert" msgstr "Немає що конвертувати" @@ -627,7 +627,7 @@ msgid "Output path must have a file extension (e.g. .jpg, .png)" msgstr "" "Шлях призначення повинен містити розширення файлу (наприклад, .jpg, .png)" -#: ..\..\MainWindow.cs:1142 +#: ..\..\MainWindow.cs:1151 msgid "Overwrite" msgstr "Перезаписати" @@ -685,7 +685,7 @@ msgstr "Пере&дустановка:" msgid "Preparing to convert..." msgstr "Підготовка до конвертації..." -#: ..\..\MainWindow.cs:457 +#: ..\..\MainWindow.cs:466 #, csharp-format msgid "Processed {0} image." msgid_plural "Processed {0} images." @@ -698,8 +698,8 @@ msgid "Read User &Manual" msgstr "&Посібник користувача" #: ..\..\MainWindow.cs:224 ..\..\MainWindow.cs:243 -#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:559 -#: ..\..\MainWindow.cs:890 ..\..\MainWindow.cs:894 +#: ..\..\MainWindow.Designer.cs:480 ..\..\MainWindow.cs:568 +#: ..\..\MainWindow.cs:899 ..\..\MainWindow.cs:903 msgid "Ready" msgstr "Готово" @@ -707,7 +707,7 @@ msgstr "Готово" msgid "Remove &All" msgstr "Видалити &все" -#: ..\..\MainWindow.cs:1143 +#: ..\..\MainWindow.cs:1152 msgid "Rename" msgstr "Перейменувати" @@ -756,15 +756,24 @@ msgstr "Розмір" msgid "Size {0} is already in the list." msgstr "Розмір {0} вже у списку." -#: ..\..\MainWindow.cs:1144 +#: ..\..\MainWindow.cs:1153 msgid "Skip" msgstr "Пропустити" -#: ..\..\MainWindow.cs:405 +#: ..\..\MainWindow.cs:414 msgid "Skipped" msgstr "Пропущено" -#: ..\..\MainWindow.cs:612 ..\..\Services\UpdateService.cs:56 +#: ..\..\MainWindow.cs:395 +msgid "Skipped (same format)" +msgstr "Пропущено (той самий формат)" + +#: ..\..\Program.cs:275 +#, csharp-format +msgid "Skipped: {0} is already in {1} format." +msgstr "Пропущено: {0} вже у форматі {1}." + +#: ..\..\MainWindow.cs:621 ..\..\Services\UpdateService.cs:56 #: ..\..\Services\UpdateService.cs:62 ..\..\Services\UpdateService.cs:68 #: ..\..\Services\UpdateService.cs:76 msgid "Software Update" @@ -793,7 +802,7 @@ msgstr "" "Цільовий формат (наприклад, jpg, png, webp). Використовується, коли параметр " "--output не вказано." -#: ..\..\MainWindow.cs:1132 +#: ..\..\MainWindow.cs:1141 #, csharp-format msgid "" "The file \"{0}\" already exists.\n" @@ -818,11 +827,11 @@ msgstr "" msgid "The selected folder does not exist. Please choose an existing folder." msgstr "Вибрана папка не існує. Будь ласка, виберіть наявну папку." -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "The user manual file could not be found." msgstr "Файл посібника користувача не знайдено." -#: ..\..\MainWindow.cs:804 +#: ..\..\MainWindow.cs:813 msgid "There are images in the queue. Are you sure you want to exit?" msgstr "У черзі є зображення. Ви дійсно хочете вийти?" @@ -830,7 +839,7 @@ msgstr "У черзі є зображення. Ви дійсно хочете в msgid "TIFF images (*.tif, *.tiff)" msgstr "Зображення TIFF (*.tif, *.tiff)" -#: ..\..\MainWindow.cs:611 ..\..\Services\UpdateService.cs:67 +#: ..\..\MainWindow.cs:620 ..\..\Services\UpdateService.cs:67 #: ..\..\Services\UpdateService.cs:75 msgid "Unable to check for updates. Please try again later." msgstr "Неможливо перевірити оновлення. Спробуйте пізніше." @@ -860,7 +869,7 @@ msgstr "" "Режим обрізки (масштабувати з заповненням, потім обрізати по центру до " "точних розмірів)" -#: ..\..\MainWindow.cs:598 +#: ..\..\MainWindow.cs:607 msgid "User Manual" msgstr "Посібник користувача"