From d78ab8f6dedc2e17499e5e2a2b0e8528b37d633f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Polykanine?= Date: Tue, 30 Jun 2026 14:35:13 +0200 Subject: [PATCH] Fix #33: Add an option to save converted images in the source folder --- CLAUDE.md | 5 ++- src/Sic/MainWindow.cs | 4 +- src/Sic/Services/ImageConverter.cs | 18 ++++++-- src/Sic/SettingsDialog.Designer.cs | 37 +++++++++++----- src/Sic/SettingsDialog.cs | 2 + src/Sic/Utils/Config.cs | 7 +++ src/Sic/locale/de/Sic.po | 68 +++++++++++++++-------------- src/Sic/locale/fr/Sic.po | 68 +++++++++++++++-------------- src/Sic/locale/messages.pot | 70 ++++++++++++++++-------------- src/Sic/locale/ru/Sic.po | 68 +++++++++++++++-------------- src/Sic/locale/uk/Sic.po | 68 +++++++++++++++-------------- 11 files changed, 236 insertions(+), 179 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index e1d9ab9..3ebb2b5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -66,13 +66,13 @@ After editing `.po` files, always run `compile-translations.ps1` to regenerate t **`src/Sic/SettingsDialog.cs` + `SettingsDialog.Designer.cs`** — Settings form. A `TabControl` (filling the form, OK/Cancel beneath) with two tabs, each its own flat `TableLayoutPanel`: - **General** — language dropdown, confirm-exit checkbox, "check for updates on startup" checkbox, background update-frequency dropdown. -- **Images** — output folder (textbox + browse + reset), a "detect data in clipboard" checkbox (issue #36), and a target-formats checklist that selects which formats appear in the main window's dropdown (issue #47). Built as individual `CheckBox` controls stacked in a `TableLayoutPanel` (`formatsPanel`, filled at runtime in `PopulateFormats()`) inside a `GroupBox` (`formatsGroupBox`) — *not* a `CheckedListBox`, which doesn't reliably announce toggle state changes to screen readers. The group box caption (rather than a separate label) supplies the accessible group name; each checkbox is its own tab stop. OK requires at least one format ticked; when all are ticked it saves `EnabledFormats` as empty so formats added in future versions show automatically. +- **Images** — output folder (textbox + browse + reset), a "save converted images in the same folder as the original" checkbox (issue #33), a "detect data in clipboard" checkbox (issue #36), and a target-formats checklist that selects which formats appear in the main window's dropdown (issue #47). Built as individual `CheckBox` controls stacked in a `TableLayoutPanel` (`formatsPanel`, filled at runtime in `PopulateFormats()`) inside a `GroupBox` (`formatsGroupBox`) — *not* a `CheckedListBox`, which doesn't reliably announce toggle state changes to screen readers. The group box caption (rather than a separate label) supplies the accessible group name; each checkbox is its own tab stop. OK requires at least one format ticked; when all are ticked it saves `EnabledFormats` as empty so formats added in future versions show automatically. Tab page `Text` doesn't honor `&` mnemonics — navigate tabs with Ctrl+Tab / Ctrl+PgUp/Dn. Exposes `UpdatePeriodicCheckChanged` so `MainWindow` can re-arm the background update loop live (without a restart) when the frequency changes. ### Utilities (`src/Sic/Utils/`) -- `Config.cs` — Static config manager using SharpConfig. Reads/writes `%APPDATA%/Oire/Sic/Sic.cfg` with a `[General]` section (Language, OutputFolder, LastInputFolder, ConfirmExitWithQueue, CheckForUpdatesOnStartup, UpdateCheckInterval, DetectClipboardData, EnabledFormats). `EnabledFormats` is a comma-separated list of SIC! format keys shown in the target dropdown (empty = all); parse it via `GetEnabledFormatKeys()` and filter with `ImageConverter.GetEnabledFormats(...)`. Accepts `isGui` parameter to route errors to MessageBox (GUI) or stderr (CLI). +- `Config.cs` — Static config manager using SharpConfig. Reads/writes `%APPDATA%/Oire/Sic/Sic.cfg` with a `[General]` section (Language, OutputFolder, SaveToSourceFolder, LastInputFolder, ConfirmExitWithQueue, CheckForUpdatesOnStartup, UpdateCheckInterval, DetectClipboardData, EnabledFormats). `SaveToSourceFolder` (issue #33), when on, writes converted files next to each original instead of into `OutputFolder`; clipboard/URL items have no source folder and fall back to `OutputFolder`. `EnabledFormats` is a comma-separated list of SIC! format keys shown in the target dropdown (empty = all); parse it via `GetEnabledFormatKeys()` and filter with `ImageConverter.GetEnabledFormats(...)`. Accepts `isGui` parameter to route errors to MessageBox (GUI) or stderr (CLI). - `FileHelper.cs` — Cloud placeholder detection (OneDrive/SharePoint recall attributes) and image file enumeration with glob patterns. - `UrlHelper.cs` — Single source of truth for link validation: `IsValidHttpUrl(text, out url)` trims input and checks for an absolute http(s) URL. Used by the "Add by link" dialog, Ctrl+V paste, and clipboard auto-detection so all three validate links identically. - `Localization.cs` — Wraps GetText.NET with convenience methods: `_()`, `_n()`, `_p()`, `_pn()` for translations. Loads `.mo` files from the `locale/` folder relative to the executable. Falls back through language parents to `en-US`. @@ -135,6 +135,7 @@ SIC! is an accessible image format converter primarily aimed at blind and low-co ### Settings (via SharpConfig, stored in `%APPDATA%/Oire/Sic/Sic.cfg`) - Output folder (default: `Converted` subfolder in the data directory) +- Save converted images in the same folder as the original (`SaveToSourceFolder`, default: off) — when on, each converted file is written next to its source file instead of into the output folder (issue #33). Clipboard captures and downloaded links have no source folder, so they still go to the output folder. - Language - Confirm exit when images are in the queue - Check for updates on startup (default: enabled) — a single silent check shortly after launch diff --git a/src/Sic/MainWindow.cs b/src/Sic/MainWindow.cs index a1b93bc..11aa96c 100644 --- a/src/Sic/MainWindow.cs +++ b/src/Sic/MainWindow.cs @@ -476,7 +476,7 @@ await Task.Run(() => { continue; } - var outputPath = ImageConverter.GenerateOutputPath(item, targetFormat, outputFolder); + var outputPath = ImageConverter.GenerateOutputPath(item, targetFormat, outputFolder, Config.General.SaveToSourceFolder); if (File.Exists(outputPath)) { var resolution = ResolveFileConflict(outputPath); @@ -594,7 +594,7 @@ private async void CreateMultiSizeIcoMenuItem_Click(object? sender, EventArgs e) var index = imageListView.SelectedIndices[0]; var item = _imageItems[index]; var outputFolder = ValidateOutputFolder(); - var outputPath = ImageConverter.GenerateOutputPath(item, "ICO", outputFolder); + var outputPath = ImageConverter.GenerateOutputPath(item, "ICO", outputFolder, Config.General.SaveToSourceFolder); if (File.Exists(outputPath)) { var resolution = ResolveFileConflict(outputPath); diff --git a/src/Sic/Services/ImageConverter.cs b/src/Sic/Services/ImageConverter.cs index 19d60ca..73aa9f1 100644 --- a/src/Sic/Services/ImageConverter.cs +++ b/src/Sic/Services/ImageConverter.cs @@ -316,14 +316,24 @@ public static string GetFileExtension(string format) { }; } - public static string GenerateOutputPath(ImageItem item, string targetFormat, string outputFolder) { + public static string GenerateOutputPath(ImageItem item, string targetFormat, string outputFolder, bool saveToSourceFolder = false) { + var baseName = Path.GetFileNameWithoutExtension(item.FileName); + var extension = GetFileExtension(targetFormat); + + // Write next to the original when requested (issue #33), but only for items that actually + // came from a file on disk. Clipboard captures and downloaded links have no source folder, + // so they fall through to the configured output folder below. + if (saveToSourceFolder && !string.IsNullOrWhiteSpace(item.FilePath)) { + var sourceDir = Path.GetDirectoryName(item.FilePath); + if (!string.IsNullOrWhiteSpace(sourceDir)) { + return Path.Combine(sourceDir, baseName + extension); + } + } + if (string.IsNullOrWhiteSpace(outputFolder)) { outputFolder = App.DefaultOutputFolder; } - var baseName = Path.GetFileNameWithoutExtension(item.FileName); - var extension = GetFileExtension(targetFormat); - if (item.BasePath != null && item.FilePath != null) { var relativePath = Path.GetRelativePath(item.BasePath, item.FilePath); var relativeDir = Path.GetDirectoryName(relativePath) ?? ""; diff --git a/src/Sic/SettingsDialog.Designer.cs b/src/Sic/SettingsDialog.Designer.cs index 8522cfb..f941b65 100644 --- a/src/Sic/SettingsDialog.Designer.cs +++ b/src/Sic/SettingsDialog.Designer.cs @@ -33,6 +33,7 @@ private void InitializeComponent() { outputFolderTextBox = new TextBox(); browseButton = new Button(); clearOutputFolderButton = new Button(); + saveToSourceFolderCheckBox = new CheckBox(); detectClipboardCheckBox = new CheckBox(); formatsGroupBox = new GroupBox(); formatsPanel = new TableLayoutPanel(); @@ -177,18 +178,20 @@ private void InitializeComponent() { imagesTab.Padding = new Padding(8); imagesTab.Controls.Add(imagesLayout); - // imagesLayout — 4 cols × 3 rows. Row 0 is the output-folder line (label, path, - // Browse, Reset); row 1 is the clipboard toggle; row 2 is the target-formats group box, - // which stretches to fill the tab. Rows 1-2 span all columns. + // imagesLayout — 4 cols × 4 rows. Row 0 is the output-folder line (label, path, + // Browse, Reset); row 1 is the save-next-to-original toggle; row 2 is the clipboard + // toggle; row 3 is the target-formats group box, which stretches to fill the tab. + // Rows 1-3 span all columns. imagesLayout.ColumnCount = 4; imagesLayout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); // label imagesLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F)); // path imagesLayout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); // browse imagesLayout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); // reset - imagesLayout.RowCount = 3; + imagesLayout.RowCount = 4; imagesLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); // 0: output folder - imagesLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); // 1: detect clipboard - imagesLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F)); // 2: formats group + imagesLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); // 1: save to source folder + imagesLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); // 2: detect clipboard + imagesLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F)); // 3: formats group imagesLayout.Dock = DockStyle.Fill; imagesLayout.Name = "imagesLayout"; @@ -196,9 +199,11 @@ private void InitializeComponent() { imagesLayout.Controls.Add(outputFolderTextBox, 1, 0); imagesLayout.Controls.Add(browseButton, 2, 0); imagesLayout.Controls.Add(clearOutputFolderButton, 3, 0); - imagesLayout.Controls.Add(detectClipboardCheckBox, 0, 1); + imagesLayout.Controls.Add(saveToSourceFolderCheckBox, 0, 1); + imagesLayout.SetColumnSpan(saveToSourceFolderCheckBox, 4); + imagesLayout.Controls.Add(detectClipboardCheckBox, 0, 2); imagesLayout.SetColumnSpan(detectClipboardCheckBox, 4); - imagesLayout.Controls.Add(formatsGroupBox, 0, 2); + imagesLayout.Controls.Add(formatsGroupBox, 0, 3); imagesLayout.SetColumnSpan(formatsGroupBox, 4); // @@ -238,6 +243,17 @@ private void InitializeComponent() { clearOutputFolderButton.Name = "clearOutputFolderButton"; clearOutputFolderButton.TabIndex = 3; + // + // saveToSourceFolderCheckBox — when ticked, converted files go next to their originals + // (issue #33); the output folder above still applies to clipboard and downloaded images. + // + saveToSourceFolderCheckBox.Text = "&Save converted images in the same folder as the original"; + saveToSourceFolderCheckBox.AutoSize = true; + saveToSourceFolderCheckBox.Anchor = AnchorStyles.Left; + saveToSourceFolderCheckBox.Margin = new Padding(3, 10, 3, 3); + saveToSourceFolderCheckBox.Name = "saveToSourceFolderCheckBox"; + saveToSourceFolderCheckBox.TabIndex = 4; + // // detectClipboardCheckBox // @@ -246,7 +262,7 @@ private void InitializeComponent() { detectClipboardCheckBox.Anchor = AnchorStyles.Left; detectClipboardCheckBox.Margin = new Padding(3, 10, 3, 3); detectClipboardCheckBox.Name = "detectClipboardCheckBox"; - detectClipboardCheckBox.TabIndex = 4; + detectClipboardCheckBox.TabIndex = 5; // // formatsGroupBox — its caption is the accessible group name screen readers announce when @@ -257,7 +273,7 @@ private void InitializeComponent() { formatsGroupBox.Margin = new Padding(3, 9, 3, 3); formatsGroupBox.Padding = new Padding(8, 4, 8, 8); formatsGroupBox.Name = "formatsGroupBox"; - formatsGroupBox.TabIndex = 5; + formatsGroupBox.TabIndex = 6; formatsGroupBox.Controls.Add(formatsPanel); // @@ -346,6 +362,7 @@ private void InitializeComponent() { private TextBox outputFolderTextBox; private Button browseButton; private Button clearOutputFolderButton; + private CheckBox saveToSourceFolderCheckBox; private CheckBox detectClipboardCheckBox; private GroupBox formatsGroupBox; private TableLayoutPanel formatsPanel; diff --git a/src/Sic/SettingsDialog.cs b/src/Sic/SettingsDialog.cs index f4ba9b0..e337bdb 100644 --- a/src/Sic/SettingsDialog.cs +++ b/src/Sic/SettingsDialog.cs @@ -61,6 +61,7 @@ private void TabControl_Selected(object? sender, TabControlEventArgs e) { private void LoadSettings() { outputFolderTextBox.Text = Config.General.OutputFolder; + saveToSourceFolderCheckBox.Checked = Config.General.SaveToSourceFolder; confirmExitCheckBox.Checked = Config.General.ConfirmExitWithQueue; checkUpdatesOnStartupCheckBox.Checked = Config.General.CheckForUpdatesOnStartup; detectClipboardCheckBox.Checked = Config.General.DetectClipboardData; @@ -219,6 +220,7 @@ private void OkButton_Click(object? sender, EventArgs e) { var oldUpdateInterval = Config.General.UpdateCheckInterval; Config.General.OutputFolder = folder; + Config.General.SaveToSourceFolder = saveToSourceFolderCheckBox.Checked; Config.General.ConfirmExitWithQueue = confirmExitCheckBox.Checked; Config.General.CheckForUpdatesOnStartup = checkUpdatesOnStartupCheckBox.Checked; Config.General.DetectClipboardData = detectClipboardCheckBox.Checked; diff --git a/src/Sic/Utils/Config.cs b/src/Sic/Utils/Config.cs index 1eeed33..f52bd95 100644 --- a/src/Sic/Utils/Config.cs +++ b/src/Sic/Utils/Config.cs @@ -16,6 +16,13 @@ public class Config { public class SectionGeneral { public string Language { get; set; } = "System"; public string OutputFolder { get; set; } = App.DefaultOutputFolder; + + /// When true, converted files are written next to their source file + /// instead of into (issue #33). Items that have no source + /// folder — clipboard captures and downloaded links — still fall back to + /// . Opt-in; off by default. + public bool SaveToSourceFolder { get; set; } + public string LastInputFolder { get; set; } = ""; public bool ConfirmExitWithQueue { get; set; } = true; diff --git a/src/Sic/locale/de/Sic.po b/src/Sic/locale/de/Sic.po index 5b142e7..ae365a6 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-06-30 02:17:23+0200\n" +"POT-Creation-Date: 2026-06-30 14:25:10+0200\n" "PO-Revision-Date: 2026-03-07 23:00+0100\n" "Last-Translator: \n" "Language-Team: de\n" @@ -107,13 +107,13 @@ msgstr "Ü&ber SIC!..." msgid "&Add..." msgstr "&Hinzufügen..." -#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:226 +#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:231 msgid "&Browse..." msgstr "&Durchsuchen..." #: ..\..\AddUrlDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\AddSizeDialog.Designer.cs:76 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\SettingsDialog.Designer.cs:288 +#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:304 msgid "&Cancel" msgstr "&Abbrechen" @@ -129,7 +129,7 @@ msgstr "Info &kopieren" msgid "&Crop" msgstr "&Zuschneiden" -#: ..\..\SettingsDialog.Designer.cs:244 +#: ..\..\SettingsDialog.Designer.cs:260 msgid "&Detect images in clipboard" msgstr "Bilder in der Zwischenablage &erkennen" @@ -165,7 +165,7 @@ msgstr "&Hilfe" msgid "&Keep proportions" msgstr "&Proportionen beibehalten" -#: ..\..\SettingsDialog.Designer.cs:117 +#: ..\..\SettingsDialog.Designer.cs:118 msgid "&Language:" msgstr "&Sprache:" @@ -173,25 +173,29 @@ msgstr "&Sprache:" msgid "&Link:" msgstr "&Link:" -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\SettingsDialog.Designer.cs:277 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AboutDialog.Designer.cs:117 ..\..\AddFolderDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:293 msgid "&OK" msgstr "&OK" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "&Entfernen" -#: ..\..\SettingsDialog.Designer.cs:235 +#: ..\..\SettingsDialog.Designer.cs:240 msgid "&Reset" msgstr "&Zurücksetzen" +#: ..\..\SettingsDialog.Designer.cs:250 +msgid "&Save converted images in the same folder as the original" +msgstr "Konvertierte Bilder im &selben Ordner wie das Original speichern" + #: ..\..\MainWindow.Designer.cs:152 msgid "&Settings..." msgstr "Ein&stellungen..." -#: ..\..\SettingsDialog.Designer.cs:255 +#: ..\..\SettingsDialog.Designer.cs:271 msgid "&Target formats to show in the list" msgstr "In der Liste anzuzeigende &Zielformate" @@ -281,7 +285,7 @@ msgstr "Ben&utzerdefiniert" msgid "Cancelled." msgstr "Abgebrochen." -#: ..\..\SettingsDialog.Designer.cs:145 +#: ..\..\SettingsDialog.Designer.cs:146 msgid "Check for &updates on startup" msgstr "Beim Start nach &Updates suchen" @@ -289,7 +293,7 @@ msgstr "Beim Start nach &Updates suchen" msgid "Check for &Updates..." msgstr "Nach &Updates suchen..." -#: ..\..\SettingsDialog.Designer.cs:155 +#: ..\..\SettingsDialog.Designer.cs:156 msgid "Check for updates in the back&ground:" msgstr "Im &Hintergrund nach Updates suchen:" @@ -305,7 +309,7 @@ msgstr "Cloud-Dateien" msgid "Confirm Exit" msgstr "Beenden bestätigen" -#: ..\..\SettingsDialog.Designer.cs:135 +#: ..\..\SettingsDialog.Designer.cs:136 msgid "Confirm on exit with non-empty &queue" msgstr "&Beenden bestätigen, wenn die Warteschlange nicht leer ist" @@ -403,7 +407,7 @@ msgstr "Es muss entweder --output oder --format angegeben werden." #: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:651 #: ..\..\MainWindow.cs:1033 ..\..\MainWindow.cs:1092 ..\..\MainWindow.cs:1097 -#: ..\..\Utils\Config.cs:95 ..\..\MainWindow.cs:1290 +#: ..\..\MainWindow.cs:1290 ..\..\Utils\Config.cs:102 msgid "Error" msgstr "Fehler" @@ -411,7 +415,7 @@ msgstr "Fehler" msgid "Errors:" msgstr "Fehler:" -#: ..\..\SettingsDialog.cs:122 +#: ..\..\SettingsDialog.cs:123 msgid "Every 3 days" msgstr "Alle 3 Tage" @@ -492,7 +496,7 @@ msgstr "Dateiname" msgid "File not found: {0}" msgstr "Datei nicht gefunden: {0}" -#: ..\..\SettingsDialog.cs:200 +#: ..\..\SettingsDialog.cs:201 msgid "Folder Not Found" msgstr "Ordner nicht gefunden" @@ -500,7 +504,7 @@ msgstr "Ordner nicht gefunden" msgid "Format" msgstr "Format" -#: ..\..\SettingsDialog.Designer.cs:85 +#: ..\..\SettingsDialog.Designer.cs:86 msgid "General" msgstr "Allgemein" @@ -524,7 +528,7 @@ msgstr "ICO-Symbole (*.ico)" msgid "Image files" msgstr "Bilddateien" -#: ..\..\SettingsDialog.Designer.cs:174 +#: ..\..\SettingsDialog.Designer.cs:175 msgid "Images" msgstr "Bilder" @@ -604,7 +608,7 @@ msgstr "" msgid "Multi-size ICO created: {0}" msgstr "Mehrgrößen-ICO erstellt: {0}" -#: ..\..\SettingsDialog.cs:125 +#: ..\..\SettingsDialog.cs:126 msgid "Never" msgstr "Nie" @@ -616,7 +620,7 @@ msgstr "Kein Ordner ausgewählt" msgid "No format selected" msgstr "Kein Format ausgewählt" -#: ..\..\SettingsDialog.cs:211 +#: ..\..\SettingsDialog.cs:212 msgid "No Formats Selected" msgstr "Keine Formate ausgewählt" @@ -648,19 +652,19 @@ msgstr "Nichts zu konvertieren" msgid "Oire Software SARL" msgstr "Oire Software SARL" -#: ..\..\SettingsDialog.cs:121 +#: ..\..\SettingsDialog.cs:122 msgid "Once a day" msgstr "Einmal täglich" -#: ..\..\SettingsDialog.cs:124 +#: ..\..\SettingsDialog.cs:125 msgid "Once a month" msgstr "Einmal monatlich" -#: ..\..\SettingsDialog.cs:123 +#: ..\..\SettingsDialog.cs:124 msgid "Once a week" msgstr "Einmal wöchentlich" -#: ..\..\SettingsDialog.Designer.cs:207 +#: ..\..\SettingsDialog.Designer.cs:212 msgid "Output &Folder:" msgstr "Ausgabe&ordner:" @@ -716,7 +720,7 @@ msgstr "Bitte wählen Sie einen Ordner aus." msgid "Please select a target format." msgstr "Bitte wählen Sie ein Zielformat aus." -#: ..\..\SettingsDialog.cs:210 +#: ..\..\SettingsDialog.cs:211 msgid "Please show at least one target format." msgstr "Bitte wählen Sie mindestens ein anzuzeigendes Zielformat aus." @@ -781,7 +785,7 @@ msgstr "Ordner mit Bildern auswählen" msgid "Select images to add" msgstr "Bilder zum Hinzufügen auswählen" -#: ..\..\SettingsDialog.cs:170 +#: ..\..\SettingsDialog.cs:171 msgid "Select output folder for converted images" msgstr "Ausgabeordner für konvertierte Bilder auswählen" @@ -838,7 +842,7 @@ msgstr "Status" msgid "Supported formats: {0}" msgstr "Unterstützte Formate: {0}" -#: ..\..\SettingsDialog.cs:71 +#: ..\..\SettingsDialog.cs:72 msgid "System" msgstr "System" @@ -911,7 +915,7 @@ msgstr "" "Der eingefügte Text ist kein gültiger Link.\n" "Links müssen mit http:// oder https:// beginnen." -#: ..\..\SettingsDialog.cs:199 +#: ..\..\SettingsDialog.cs:200 msgid "The selected folder does not exist. Please choose an existing folder." msgstr "" "Der ausgewählte Ordner existiert nicht. Bitte wählen Sie einen vorhandenen " @@ -937,12 +941,12 @@ msgstr "" "Aktualisierungen konnten nicht geprüft werden. Bitte versuchen Sie es später " "erneut." -#: ..\..\Utils\Config.cs:77 +#: ..\..\Utils\Config.cs:84 #, csharp-format msgid "Unable to load configuration: {0}" msgstr "Konfiguration konnte nicht geladen werden: {0}" -#: ..\..\Utils\Config.cs:73 ..\..\Utils\Config.cs:89 +#: ..\..\Utils\Config.cs:80 ..\..\Utils\Config.cs:96 #, csharp-format msgid "Unable to save configuration: {0}" msgstr "Konfiguration konnte nicht gespeichert werden: {0}" diff --git a/src/Sic/locale/fr/Sic.po b/src/Sic/locale/fr/Sic.po index 3789381..9a26527 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-06-30 02:17:23+0200\n" +"POT-Creation-Date: 2026-06-30 14:25:10+0200\n" "PO-Revision-Date: 2026-03-07 23:00+0100\n" "Last-Translator: \n" "Language-Team: fr\n" @@ -106,13 +106,13 @@ msgstr "À &propos de SIC!..." msgid "&Add..." msgstr "&Ajouter..." -#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:226 +#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:231 msgid "&Browse..." msgstr "&Parcourir..." #: ..\..\AddUrlDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\AddSizeDialog.Designer.cs:76 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\SettingsDialog.Designer.cs:288 +#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:304 msgid "&Cancel" msgstr "&Annuler" @@ -128,7 +128,7 @@ msgstr "&Copier les infos" msgid "&Crop" msgstr "&Recadrer" -#: ..\..\SettingsDialog.Designer.cs:244 +#: ..\..\SettingsDialog.Designer.cs:260 msgid "&Detect images in clipboard" msgstr "&Détecter les images dans le presse-papiers" @@ -164,7 +164,7 @@ msgstr "&Aide" msgid "&Keep proportions" msgstr "&Garder les proportions" -#: ..\..\SettingsDialog.Designer.cs:117 +#: ..\..\SettingsDialog.Designer.cs:118 msgid "&Language:" msgstr "&Langue :" @@ -172,25 +172,29 @@ msgstr "&Langue :" msgid "&Link:" msgstr "&Lien :" -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\SettingsDialog.Designer.cs:277 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AboutDialog.Designer.cs:117 ..\..\AddFolderDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:293 msgid "&OK" msgstr "&OK" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "&Supprimer" -#: ..\..\SettingsDialog.Designer.cs:235 +#: ..\..\SettingsDialog.Designer.cs:240 msgid "&Reset" msgstr "&Réinitialiser" +#: ..\..\SettingsDialog.Designer.cs:250 +msgid "&Save converted images in the same folder as the original" +msgstr "Enregi&strer les images converties dans le même dossier que l'original" + #: ..\..\MainWindow.Designer.cs:152 msgid "&Settings..." msgstr "&Paramètres..." -#: ..\..\SettingsDialog.Designer.cs:255 +#: ..\..\SettingsDialog.Designer.cs:271 msgid "&Target formats to show in the list" msgstr "&Formats cibles à afficher dans la liste" @@ -280,7 +284,7 @@ msgstr "Personnal&isé" msgid "Cancelled." msgstr "Annulé." -#: ..\..\SettingsDialog.Designer.cs:145 +#: ..\..\SettingsDialog.Designer.cs:146 msgid "Check for &updates on startup" msgstr "Rechercher les mises à &jour au démarrage" @@ -288,7 +292,7 @@ msgstr "Rechercher les mises à &jour au démarrage" msgid "Check for &Updates..." msgstr "Vérifier les mises à &jour..." -#: ..\..\SettingsDialog.Designer.cs:155 +#: ..\..\SettingsDialog.Designer.cs:156 msgid "Check for updates in the back&ground:" msgstr "Rechercher les mises à jour en &arrière-plan :" @@ -304,7 +308,7 @@ msgstr "Fichiers dans le cloud" msgid "Confirm Exit" msgstr "Confirmer la fermeture" -#: ..\..\SettingsDialog.Designer.cs:135 +#: ..\..\SettingsDialog.Designer.cs:136 msgid "Confirm on exit with non-empty &queue" msgstr "&Confirmer la fermeture avec une file non vide" @@ -402,7 +406,7 @@ msgstr "Il faut spécifier --output ou --format." #: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:651 #: ..\..\MainWindow.cs:1033 ..\..\MainWindow.cs:1092 ..\..\MainWindow.cs:1097 -#: ..\..\Utils\Config.cs:95 ..\..\MainWindow.cs:1290 +#: ..\..\MainWindow.cs:1290 ..\..\Utils\Config.cs:102 msgid "Error" msgstr "Erreur" @@ -410,7 +414,7 @@ msgstr "Erreur" msgid "Errors:" msgstr "Erreurs :" -#: ..\..\SettingsDialog.cs:122 +#: ..\..\SettingsDialog.cs:123 msgid "Every 3 days" msgstr "Tous les 3 jours" @@ -491,7 +495,7 @@ msgstr "Nom du fichier" msgid "File not found: {0}" msgstr "Fichier introuvable : {0}" -#: ..\..\SettingsDialog.cs:200 +#: ..\..\SettingsDialog.cs:201 msgid "Folder Not Found" msgstr "Dossier introuvable" @@ -499,7 +503,7 @@ msgstr "Dossier introuvable" msgid "Format" msgstr "Format" -#: ..\..\SettingsDialog.Designer.cs:85 +#: ..\..\SettingsDialog.Designer.cs:86 msgid "General" msgstr "Général" @@ -523,7 +527,7 @@ msgstr "Icônes ICO (*.ico)" msgid "Image files" msgstr "Fichiers image" -#: ..\..\SettingsDialog.Designer.cs:174 +#: ..\..\SettingsDialog.Designer.cs:175 msgid "Images" msgstr "Images" @@ -604,7 +608,7 @@ msgstr "" msgid "Multi-size ICO created: {0}" msgstr "ICO multi-tailles créé : {0}" -#: ..\..\SettingsDialog.cs:125 +#: ..\..\SettingsDialog.cs:126 msgid "Never" msgstr "Jamais" @@ -616,7 +620,7 @@ msgstr "Aucun dossier sélectionné" msgid "No format selected" msgstr "Aucun format sélectionné" -#: ..\..\SettingsDialog.cs:211 +#: ..\..\SettingsDialog.cs:212 msgid "No Formats Selected" msgstr "Aucun format sélectionné" @@ -648,19 +652,19 @@ msgstr "Rien à convertir" msgid "Oire Software SARL" msgstr "Oire Software SARL" -#: ..\..\SettingsDialog.cs:121 +#: ..\..\SettingsDialog.cs:122 msgid "Once a day" msgstr "Une fois par jour" -#: ..\..\SettingsDialog.cs:124 +#: ..\..\SettingsDialog.cs:125 msgid "Once a month" msgstr "Une fois par mois" -#: ..\..\SettingsDialog.cs:123 +#: ..\..\SettingsDialog.cs:124 msgid "Once a week" msgstr "Une fois par semaine" -#: ..\..\SettingsDialog.Designer.cs:207 +#: ..\..\SettingsDialog.Designer.cs:212 msgid "Output &Folder:" msgstr "D&ossier de sortie :" @@ -714,7 +718,7 @@ msgstr "Veuillez sélectionner un dossier." msgid "Please select a target format." msgstr "Veuillez sélectionner un format cible." -#: ..\..\SettingsDialog.cs:210 +#: ..\..\SettingsDialog.cs:211 msgid "Please show at least one target format." msgstr "Veuillez afficher au moins un format cible." @@ -779,7 +783,7 @@ msgstr "Sélectionner le dossier contenant les images" msgid "Select images to add" msgstr "Sélectionner les images à ajouter" -#: ..\..\SettingsDialog.cs:170 +#: ..\..\SettingsDialog.cs:171 msgid "Select output folder for converted images" msgstr "Sélectionner le dossier de sortie pour les images converties" @@ -836,7 +840,7 @@ msgstr "Statut" msgid "Supported formats: {0}" msgstr "Formats pris en charge : {0}" -#: ..\..\SettingsDialog.cs:71 +#: ..\..\SettingsDialog.cs:72 msgid "System" msgstr "Système" @@ -908,7 +912,7 @@ msgstr "" "Le texte collé n'est pas un lien valide.\n" "Les liens doivent commencer par http:// ou https://." -#: ..\..\SettingsDialog.cs:199 +#: ..\..\SettingsDialog.cs:200 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." @@ -930,12 +934,12 @@ msgstr "Images TIFF (*.tif, *.tiff)" msgid "Unable to check for updates. Please try again later." msgstr "Impossible de vérifier les mises à jour. Veuillez réessayer plus tard." -#: ..\..\Utils\Config.cs:77 +#: ..\..\Utils\Config.cs:84 #, csharp-format msgid "Unable to load configuration: {0}" msgstr "Impossible de charger la configuration : {0}" -#: ..\..\Utils\Config.cs:73 ..\..\Utils\Config.cs:89 +#: ..\..\Utils\Config.cs:80 ..\..\Utils\Config.cs:96 #, csharp-format msgid "Unable to save configuration: {0}" msgstr "Impossible d'enregistrer la configuration : {0}" diff --git a/src/Sic/locale/messages.pot b/src/Sic/locale/messages.pot index f5339fa..126d789 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-06-30 02:17:23+0200\n" -"PO-Revision-Date: 2026-06-30 02:17:23+0200\n" +"POT-Creation-Date: 2026-06-30 14:25:10+0200\n" +"PO-Revision-Date: 2026-06-30 14:25:10+0200\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -100,16 +100,16 @@ msgid "&Add..." msgstr "" #: ..\..\AddFolderDialog.Designer.cs:83 -#: ..\..\SettingsDialog.Designer.cs:226 +#: ..\..\SettingsDialog.Designer.cs:231 msgid "&Browse..." msgstr "" #: ..\..\AddUrlDialog.Designer.cs:76 #: ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\IcoPresetDialog.Designer.cs:164 #: ..\..\AddSizeDialog.Designer.cs:76 #: ..\..\AddFolderDialog.Designer.cs:126 -#: ..\..\SettingsDialog.Designer.cs:288 +#: ..\..\IcoPresetDialog.Designer.cs:164 +#: ..\..\SettingsDialog.Designer.cs:304 msgid "&Cancel" msgstr "" @@ -125,7 +125,7 @@ msgstr "" msgid "&Crop" msgstr "" -#: ..\..\SettingsDialog.Designer.cs:244 +#: ..\..\SettingsDialog.Designer.cs:260 msgid "&Detect images in clipboard" msgstr "" @@ -161,7 +161,7 @@ msgstr "" msgid "&Keep proportions" msgstr "" -#: ..\..\SettingsDialog.Designer.cs:117 +#: ..\..\SettingsDialog.Designer.cs:118 msgid "&Language:" msgstr "" @@ -170,28 +170,32 @@ msgid "&Link:" msgstr "" #: ..\..\AddUrlDialog.Designer.cs:67 -#: ..\..\IcoPresetDialog.Designer.cs:155 #: ..\..\AddSizeDialog.Designer.cs:67 #: ..\..\AboutDialog.Designer.cs:117 #: ..\..\AddFolderDialog.Designer.cs:117 -#: ..\..\SettingsDialog.Designer.cs:277 +#: ..\..\IcoPresetDialog.Designer.cs:155 +#: ..\..\SettingsDialog.Designer.cs:293 msgid "&OK" msgstr "" -#: ..\..\IcoPresetDialog.Designer.cs:145 #: ..\..\MainWindow.Designer.cs:136 +#: ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "" -#: ..\..\SettingsDialog.Designer.cs:235 +#: ..\..\SettingsDialog.Designer.cs:240 msgid "&Reset" msgstr "" +#: ..\..\SettingsDialog.Designer.cs:250 +msgid "&Save converted images in the same folder as the original" +msgstr "" + #: ..\..\MainWindow.Designer.cs:152 msgid "&Settings..." msgstr "" -#: ..\..\SettingsDialog.Designer.cs:255 +#: ..\..\SettingsDialog.Designer.cs:271 msgid "&Target formats to show in the list" msgstr "" @@ -279,7 +283,7 @@ msgstr "" msgid "Cancelled." msgstr "" -#: ..\..\SettingsDialog.Designer.cs:145 +#: ..\..\SettingsDialog.Designer.cs:146 msgid "Check for &updates on startup" msgstr "" @@ -287,7 +291,7 @@ msgstr "" msgid "Check for &Updates..." msgstr "" -#: ..\..\SettingsDialog.Designer.cs:155 +#: ..\..\SettingsDialog.Designer.cs:156 msgid "Check for updates in the back&ground:" msgstr "" @@ -303,7 +307,7 @@ msgstr "" msgid "Confirm Exit" msgstr "" -#: ..\..\SettingsDialog.Designer.cs:135 +#: ..\..\SettingsDialog.Designer.cs:136 msgid "Confirm on exit with non-empty &queue" msgstr "" @@ -407,8 +411,8 @@ msgstr "" #: ..\..\MainWindow.cs:1033 #: ..\..\MainWindow.cs:1092 #: ..\..\MainWindow.cs:1097 -#: ..\..\Utils\Config.cs:95 #: ..\..\MainWindow.cs:1290 +#: ..\..\Utils\Config.cs:102 msgid "Error" msgstr "" @@ -416,7 +420,7 @@ msgstr "" msgid "Errors:" msgstr "" -#: ..\..\SettingsDialog.cs:122 +#: ..\..\SettingsDialog.cs:123 msgid "Every 3 days" msgstr "" @@ -487,7 +491,7 @@ msgstr "" msgid "File not found: {0}" msgstr "" -#: ..\..\SettingsDialog.cs:200 +#: ..\..\SettingsDialog.cs:201 msgid "Folder Not Found" msgstr "" @@ -495,7 +499,7 @@ msgstr "" msgid "Format" msgstr "" -#: ..\..\SettingsDialog.Designer.cs:85 +#: ..\..\SettingsDialog.Designer.cs:86 msgid "General" msgstr "" @@ -519,7 +523,7 @@ msgstr "" msgid "Image files" msgstr "" -#: ..\..\SettingsDialog.Designer.cs:174 +#: ..\..\SettingsDialog.Designer.cs:175 msgid "Images" msgstr "" @@ -596,7 +600,7 @@ msgstr "" msgid "Multi-size ICO created: {0}" msgstr "" -#: ..\..\SettingsDialog.cs:125 +#: ..\..\SettingsDialog.cs:126 msgid "Never" msgstr "" @@ -608,7 +612,7 @@ msgstr "" msgid "No format selected" msgstr "" -#: ..\..\SettingsDialog.cs:211 +#: ..\..\SettingsDialog.cs:212 msgid "No Formats Selected" msgstr "" @@ -640,19 +644,19 @@ msgstr "" msgid "Oire Software SARL" msgstr "" -#: ..\..\SettingsDialog.cs:121 +#: ..\..\SettingsDialog.cs:122 msgid "Once a day" msgstr "" -#: ..\..\SettingsDialog.cs:124 +#: ..\..\SettingsDialog.cs:125 msgid "Once a month" msgstr "" -#: ..\..\SettingsDialog.cs:123 +#: ..\..\SettingsDialog.cs:124 msgid "Once a week" msgstr "" -#: ..\..\SettingsDialog.Designer.cs:207 +#: ..\..\SettingsDialog.Designer.cs:212 msgid "Output &Folder:" msgstr "" @@ -706,7 +710,7 @@ msgstr "" msgid "Please select a target format." msgstr "" -#: ..\..\SettingsDialog.cs:210 +#: ..\..\SettingsDialog.cs:211 msgid "Please show at least one target format." msgstr "" @@ -775,7 +779,7 @@ msgstr "" msgid "Select images to add" msgstr "" -#: ..\..\SettingsDialog.cs:170 +#: ..\..\SettingsDialog.cs:171 msgid "Select output folder for converted images" msgstr "" @@ -835,7 +839,7 @@ msgstr "" msgid "Supported formats: {0}" msgstr "" -#: ..\..\SettingsDialog.cs:71 +#: ..\..\SettingsDialog.cs:72 msgid "System" msgstr "" @@ -895,7 +899,7 @@ msgid "" "Links must start with http:// or https://." msgstr "" -#: ..\..\SettingsDialog.cs:199 +#: ..\..\SettingsDialog.cs:200 msgid "The selected folder does not exist. Please choose an existing folder." msgstr "" @@ -917,13 +921,13 @@ msgstr "" msgid "Unable to check for updates. Please try again later." msgstr "" -#: ..\..\Utils\Config.cs:77 +#: ..\..\Utils\Config.cs:84 #, csharp-format msgid "Unable to load configuration: {0}" msgstr "" -#: ..\..\Utils\Config.cs:73 -#: ..\..\Utils\Config.cs:89 +#: ..\..\Utils\Config.cs:80 +#: ..\..\Utils\Config.cs:96 #, csharp-format msgid "Unable to save configuration: {0}" msgstr "" diff --git a/src/Sic/locale/ru/Sic.po b/src/Sic/locale/ru/Sic.po index 752951d..642a7c0 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-06-30 02:17:23+0200\n" +"POT-Creation-Date: 2026-06-30 14:25:10+0200\n" "PO-Revision-Date: 2026-03-07 19:15+0100\n" "Last-Translator: \n" "Language-Team: ru-RU\n" @@ -109,13 +109,13 @@ msgstr "&О программе SIC!..." msgid "&Add..." msgstr "&Добавить..." -#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:226 +#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:231 msgid "&Browse..." msgstr "О&бзор..." #: ..\..\AddUrlDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\AddSizeDialog.Designer.cs:76 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\SettingsDialog.Designer.cs:288 +#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:304 msgid "&Cancel" msgstr "О&тмена" @@ -131,7 +131,7 @@ msgstr "&Копировать информацию" msgid "&Crop" msgstr "Об&резка" -#: ..\..\SettingsDialog.Designer.cs:244 +#: ..\..\SettingsDialog.Designer.cs:260 msgid "&Detect images in clipboard" msgstr "О&пределять изображения в буфере обмена" @@ -167,7 +167,7 @@ msgstr "&Справка" msgid "&Keep proportions" msgstr "Сохранять &пропорции" -#: ..\..\SettingsDialog.Designer.cs:117 +#: ..\..\SettingsDialog.Designer.cs:118 msgid "&Language:" msgstr "&Язык:" @@ -175,25 +175,29 @@ msgstr "&Язык:" msgid "&Link:" msgstr "Сс&ылка:" -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\SettingsDialog.Designer.cs:277 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AboutDialog.Designer.cs:117 ..\..\AddFolderDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:293 msgid "&OK" msgstr "&ОК" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "&Удалить" -#: ..\..\SettingsDialog.Designer.cs:235 +#: ..\..\SettingsDialog.Designer.cs:240 msgid "&Reset" msgstr "&Сбросить" +#: ..\..\SettingsDialog.Designer.cs:250 +msgid "&Save converted images in the same folder as the original" +msgstr "Сохранять преобразованные изображения в той &же папке, что и оригинал" + #: ..\..\MainWindow.Designer.cs:152 msgid "&Settings..." msgstr "Настро&йки..." -#: ..\..\SettingsDialog.Designer.cs:255 +#: ..\..\SettingsDialog.Designer.cs:271 msgid "&Target formats to show in the list" msgstr "&Целевые форматы для показа в списке" @@ -284,7 +288,7 @@ msgstr "Пол&ьзовательский" msgid "Cancelled." msgstr "Отменено." -#: ..\..\SettingsDialog.Designer.cs:145 +#: ..\..\SettingsDialog.Designer.cs:146 msgid "Check for &updates on startup" msgstr "Проверять &обновления при запуске" @@ -292,7 +296,7 @@ msgstr "Проверять &обновления при запуске" msgid "Check for &Updates..." msgstr "Проверить наличие о&бновлений..." -#: ..\..\SettingsDialog.Designer.cs:155 +#: ..\..\SettingsDialog.Designer.cs:156 msgid "Check for updates in the back&ground:" msgstr "Проверять обновления в &фоне:" @@ -308,7 +312,7 @@ msgstr "Файлы в облаке" msgid "Confirm Exit" msgstr "Подтверждение выхода" -#: ..\..\SettingsDialog.Designer.cs:135 +#: ..\..\SettingsDialog.Designer.cs:136 msgid "Confirm on exit with non-empty &queue" msgstr "&Подтверждать выход при непустой очереди" @@ -405,7 +409,7 @@ msgstr "Необходимо указать либо --output, либо --format #: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:651 #: ..\..\MainWindow.cs:1033 ..\..\MainWindow.cs:1092 ..\..\MainWindow.cs:1097 -#: ..\..\Utils\Config.cs:95 ..\..\MainWindow.cs:1290 +#: ..\..\MainWindow.cs:1290 ..\..\Utils\Config.cs:102 msgid "Error" msgstr "Ошибка" @@ -413,7 +417,7 @@ msgstr "Ошибка" msgid "Errors:" msgstr "Ошибки:" -#: ..\..\SettingsDialog.cs:122 +#: ..\..\SettingsDialog.cs:123 msgid "Every 3 days" msgstr "Раз в 3 дня" @@ -494,7 +498,7 @@ msgstr "Имя файла" msgid "File not found: {0}" msgstr "Файл не найден: {0}" -#: ..\..\SettingsDialog.cs:200 +#: ..\..\SettingsDialog.cs:201 msgid "Folder Not Found" msgstr "Папка не найдена" @@ -502,7 +506,7 @@ msgstr "Папка не найдена" msgid "Format" msgstr "Формат" -#: ..\..\SettingsDialog.Designer.cs:85 +#: ..\..\SettingsDialog.Designer.cs:86 msgid "General" msgstr "Общие" @@ -526,7 +530,7 @@ msgstr "Значки ICO (*.ico)" msgid "Image files" msgstr "Файлы изображений" -#: ..\..\SettingsDialog.Designer.cs:174 +#: ..\..\SettingsDialog.Designer.cs:175 msgid "Images" msgstr "Изображения" @@ -607,7 +611,7 @@ msgstr "" msgid "Multi-size ICO created: {0}" msgstr "Создан ICO-файл с несколькими размерами: {0}" -#: ..\..\SettingsDialog.cs:125 +#: ..\..\SettingsDialog.cs:126 msgid "Never" msgstr "Никогда" @@ -619,7 +623,7 @@ msgstr "Папка не выбрана" msgid "No format selected" msgstr "Формат не выбран" -#: ..\..\SettingsDialog.cs:211 +#: ..\..\SettingsDialog.cs:212 msgid "No Formats Selected" msgstr "Форматы не выбраны" @@ -651,19 +655,19 @@ msgstr "Нет изображения для конвертации" msgid "Oire Software SARL" msgstr "Oire Software SARL" -#: ..\..\SettingsDialog.cs:121 +#: ..\..\SettingsDialog.cs:122 msgid "Once a day" msgstr "Раз в день" -#: ..\..\SettingsDialog.cs:124 +#: ..\..\SettingsDialog.cs:125 msgid "Once a month" msgstr "Раз в месяц" -#: ..\..\SettingsDialog.cs:123 +#: ..\..\SettingsDialog.cs:124 msgid "Once a week" msgstr "Раз в неделю" -#: ..\..\SettingsDialog.Designer.cs:207 +#: ..\..\SettingsDialog.Designer.cs:212 msgid "Output &Folder:" msgstr "Папка назна&чения:" @@ -719,7 +723,7 @@ msgstr "Пожалуйста, выберите папку." msgid "Please select a target format." msgstr "Пожалуйста, выберите целевой формат." -#: ..\..\SettingsDialog.cs:210 +#: ..\..\SettingsDialog.cs:211 msgid "Please show at least one target format." msgstr "Пожалуйста, выберите хотя бы один целевой формат для показа." @@ -785,7 +789,7 @@ msgstr "Выберите папку с изображениями" msgid "Select images to add" msgstr "Выберите изображения для добавления" -#: ..\..\SettingsDialog.cs:170 +#: ..\..\SettingsDialog.cs:171 msgid "Select output folder for converted images" msgstr "Выберите папку назначения для сконвертированных изображений" @@ -842,7 +846,7 @@ msgstr "Состояние" msgid "Supported formats: {0}" msgstr "Поддерживаемые форматы: {0}" -#: ..\..\SettingsDialog.cs:71 +#: ..\..\SettingsDialog.cs:72 msgid "System" msgstr "Системный" @@ -917,7 +921,7 @@ msgstr "" "Вставленный текст не является допустимой ссылкой.\n" "Ссылки должны начинаться с http:// или https://." -#: ..\..\SettingsDialog.cs:199 +#: ..\..\SettingsDialog.cs:200 msgid "The selected folder does not exist. Please choose an existing folder." msgstr "" "Выбранная папка не существует. Пожалуйста, выберите существующую папку." @@ -939,12 +943,12 @@ msgstr "Изображения TIFF (*.tif, *.tiff)" msgid "Unable to check for updates. Please try again later." msgstr "Невозможно проверить наличие обновлений. Повторите попытку позже." -#: ..\..\Utils\Config.cs:77 +#: ..\..\Utils\Config.cs:84 #, csharp-format msgid "Unable to load configuration: {0}" msgstr "Не удалось загрузить конфигурацию: {0}" -#: ..\..\Utils\Config.cs:73 ..\..\Utils\Config.cs:89 +#: ..\..\Utils\Config.cs:80 ..\..\Utils\Config.cs:96 #, csharp-format msgid "Unable to save configuration: {0}" msgstr "Не удалось сохранить конфигурацию: {0}" diff --git a/src/Sic/locale/uk/Sic.po b/src/Sic/locale/uk/Sic.po index 2c92309..e5fe739 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-06-30 02:17:23+0200\n" +"POT-Creation-Date: 2026-06-30 14:25:10+0200\n" "PO-Revision-Date: 2026-03-07 23:00+0100\n" "Last-Translator: \n" "Language-Team: uk\n" @@ -112,13 +112,13 @@ msgstr "&Про SIC!..." msgid "&Add..." msgstr "&Додати..." -#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:226 +#: ..\..\AddFolderDialog.Designer.cs:83 ..\..\SettingsDialog.Designer.cs:231 msgid "&Browse..." msgstr "О&гляд..." #: ..\..\AddUrlDialog.Designer.cs:76 ..\..\ProgressDialog.Designer.cs:83 -#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\AddSizeDialog.Designer.cs:76 -#: ..\..\AddFolderDialog.Designer.cs:126 ..\..\SettingsDialog.Designer.cs:288 +#: ..\..\AddSizeDialog.Designer.cs:76 ..\..\AddFolderDialog.Designer.cs:126 +#: ..\..\IcoPresetDialog.Designer.cs:164 ..\..\SettingsDialog.Designer.cs:304 msgid "&Cancel" msgstr "С&касувати" @@ -134,7 +134,7 @@ msgstr "&Копіювати інформацію" msgid "&Crop" msgstr "О&брізка" -#: ..\..\SettingsDialog.Designer.cs:244 +#: ..\..\SettingsDialog.Designer.cs:260 msgid "&Detect images in clipboard" msgstr "Ви&значати зображення в буфері обміну" @@ -170,7 +170,7 @@ msgstr "&Довідка" msgid "&Keep proportions" msgstr "&Зберігати пропорції" -#: ..\..\SettingsDialog.Designer.cs:117 +#: ..\..\SettingsDialog.Designer.cs:118 msgid "&Language:" msgstr "&Мова:" @@ -178,25 +178,29 @@ msgstr "&Мова:" msgid "&Link:" msgstr "&Посилання:" -#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\IcoPresetDialog.Designer.cs:155 -#: ..\..\AddSizeDialog.Designer.cs:67 ..\..\AboutDialog.Designer.cs:117 -#: ..\..\AddFolderDialog.Designer.cs:117 ..\..\SettingsDialog.Designer.cs:277 +#: ..\..\AddUrlDialog.Designer.cs:67 ..\..\AddSizeDialog.Designer.cs:67 +#: ..\..\AboutDialog.Designer.cs:117 ..\..\AddFolderDialog.Designer.cs:117 +#: ..\..\IcoPresetDialog.Designer.cs:155 ..\..\SettingsDialog.Designer.cs:293 msgid "&OK" msgstr "&ОК" -#: ..\..\IcoPresetDialog.Designer.cs:145 ..\..\MainWindow.Designer.cs:136 +#: ..\..\MainWindow.Designer.cs:136 ..\..\IcoPresetDialog.Designer.cs:145 msgid "&Remove" msgstr "В&идалити" -#: ..\..\SettingsDialog.Designer.cs:235 +#: ..\..\SettingsDialog.Designer.cs:240 msgid "&Reset" msgstr "&Скинути" +#: ..\..\SettingsDialog.Designer.cs:250 +msgid "&Save converted images in the same folder as the original" +msgstr "Зберігати перетворені зображення в тій &же теці, що й оригінал" + #: ..\..\MainWindow.Designer.cs:152 msgid "&Settings..." msgstr "&Налаштування..." -#: ..\..\SettingsDialog.Designer.cs:255 +#: ..\..\SettingsDialog.Designer.cs:271 msgid "&Target formats to show in the list" msgstr "&Цільові формати для показу в списку" @@ -287,7 +291,7 @@ msgstr "Корист&увацький" msgid "Cancelled." msgstr "Скасовано." -#: ..\..\SettingsDialog.Designer.cs:145 +#: ..\..\SettingsDialog.Designer.cs:146 msgid "Check for &updates on startup" msgstr "Перевіряти &оновлення під час запуску" @@ -295,7 +299,7 @@ msgstr "Перевіряти &оновлення під час запуску" msgid "Check for &Updates..." msgstr "Перевірити &оновлення..." -#: ..\..\SettingsDialog.Designer.cs:155 +#: ..\..\SettingsDialog.Designer.cs:156 msgid "Check for updates in the back&ground:" msgstr "Перевіряти оновлення у &фоні:" @@ -311,7 +315,7 @@ msgstr "Хмарні файли" msgid "Confirm Exit" msgstr "Підтвердження виходу" -#: ..\..\SettingsDialog.Designer.cs:135 +#: ..\..\SettingsDialog.Designer.cs:136 msgid "Confirm on exit with non-empty &queue" msgstr "Підтверджу&вати вихід при непорожній черзі" @@ -409,7 +413,7 @@ msgstr "Необхідно вказати --output або --format." #: ..\..\Program.cs:46 ..\..\Program.cs:73 ..\..\MainWindow.cs:651 #: ..\..\MainWindow.cs:1033 ..\..\MainWindow.cs:1092 ..\..\MainWindow.cs:1097 -#: ..\..\Utils\Config.cs:95 ..\..\MainWindow.cs:1290 +#: ..\..\MainWindow.cs:1290 ..\..\Utils\Config.cs:102 msgid "Error" msgstr "Помилка" @@ -417,7 +421,7 @@ msgstr "Помилка" msgid "Errors:" msgstr "Помилки:" -#: ..\..\SettingsDialog.cs:122 +#: ..\..\SettingsDialog.cs:123 msgid "Every 3 days" msgstr "Раз на 3 дні" @@ -498,7 +502,7 @@ msgstr "Ім'я файлу" msgid "File not found: {0}" msgstr "Файл не знайдено: {0}" -#: ..\..\SettingsDialog.cs:200 +#: ..\..\SettingsDialog.cs:201 msgid "Folder Not Found" msgstr "Папку не знайдено" @@ -506,7 +510,7 @@ msgstr "Папку не знайдено" msgid "Format" msgstr "Формат" -#: ..\..\SettingsDialog.Designer.cs:85 +#: ..\..\SettingsDialog.Designer.cs:86 msgid "General" msgstr "Загальні" @@ -530,7 +534,7 @@ msgstr "Значки ICO (*.ico)" msgid "Image files" msgstr "Файли зображень" -#: ..\..\SettingsDialog.Designer.cs:174 +#: ..\..\SettingsDialog.Designer.cs:175 msgid "Images" msgstr "Зображення" @@ -610,7 +614,7 @@ msgstr "" msgid "Multi-size ICO created: {0}" msgstr "Створено багаторозмірний ICO: {0}" -#: ..\..\SettingsDialog.cs:125 +#: ..\..\SettingsDialog.cs:126 msgid "Never" msgstr "Ніколи" @@ -622,7 +626,7 @@ msgstr "Папку не вибрано" msgid "No format selected" msgstr "Формат не вибрано" -#: ..\..\SettingsDialog.cs:211 +#: ..\..\SettingsDialog.cs:212 msgid "No Formats Selected" msgstr "Формати не вибрано" @@ -654,19 +658,19 @@ msgstr "Немає що конвертувати" msgid "Oire Software SARL" msgstr "Oire Software SARL" -#: ..\..\SettingsDialog.cs:121 +#: ..\..\SettingsDialog.cs:122 msgid "Once a day" msgstr "Раз на день" -#: ..\..\SettingsDialog.cs:124 +#: ..\..\SettingsDialog.cs:125 msgid "Once a month" msgstr "Раз на місяць" -#: ..\..\SettingsDialog.cs:123 +#: ..\..\SettingsDialog.cs:124 msgid "Once a week" msgstr "Раз на тиждень" -#: ..\..\SettingsDialog.Designer.cs:207 +#: ..\..\SettingsDialog.Designer.cs:212 msgid "Output &Folder:" msgstr "Папка &призначення:" @@ -721,7 +725,7 @@ msgstr "Будь ласка, виберіть папку." msgid "Please select a target format." msgstr "Будь ласка, виберіть цільовий формат." -#: ..\..\SettingsDialog.cs:210 +#: ..\..\SettingsDialog.cs:211 msgid "Please show at least one target format." msgstr "Будь ласка, виберіть хоча б один цільовий формат для показу." @@ -787,7 +791,7 @@ msgstr "Виберіть папку із зображеннями" msgid "Select images to add" msgstr "Виберіть зображення для додавання" -#: ..\..\SettingsDialog.cs:170 +#: ..\..\SettingsDialog.cs:171 msgid "Select output folder for converted images" msgstr "Виберіть папку призначення для конвертованих зображень" @@ -844,7 +848,7 @@ msgstr "Стан" msgid "Supported formats: {0}" msgstr "Підтримувані формати: {0}" -#: ..\..\SettingsDialog.cs:71 +#: ..\..\SettingsDialog.cs:72 msgid "System" msgstr "Системна" @@ -917,7 +921,7 @@ msgstr "" "Вставлений текст не є дійсним посиланням.\n" "Посилання мають починатися з http:// або https://." -#: ..\..\SettingsDialog.cs:199 +#: ..\..\SettingsDialog.cs:200 msgid "The selected folder does not exist. Please choose an existing folder." msgstr "Вибрана папка не існує. Будь ласка, виберіть наявну папку." @@ -938,12 +942,12 @@ msgstr "Зображення TIFF (*.tif, *.tiff)" msgid "Unable to check for updates. Please try again later." msgstr "Неможливо перевірити оновлення. Спробуйте пізніше." -#: ..\..\Utils\Config.cs:77 +#: ..\..\Utils\Config.cs:84 #, csharp-format msgid "Unable to load configuration: {0}" msgstr "Не вдалося завантажити конфігурацію: {0}" -#: ..\..\Utils\Config.cs:73 ..\..\Utils\Config.cs:89 +#: ..\..\Utils\Config.cs:80 ..\..\Utils\Config.cs:96 #, csharp-format msgid "Unable to save configuration: {0}" msgstr "Не вдалося зберегти конфігурацію: {0}"