From 3eee251ec2ef31fd394f41743d0d89c9d0659dd4 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 19 Jun 2019 10:12:35 +0200 Subject: [PATCH 01/22] docs: update dependencies --- docs/dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dependencies.md b/docs/dependencies.md index 9e0f9d1c..77afe994 100644 --- a/docs/dependencies.md +++ b/docs/dependencies.md @@ -11,10 +11,10 @@ BandcampDownloader relies on a number of open-source libraries, all listed below * [`Json.NET`](https://github.com/JamesNK/Newtonsoft.Json): used to parse Json from bandcamp.com pages. * [`Markdig`](https://github.com/lunet-io/markdig): required by `Markdig.WPF`. * [`Markdig.WPF`](https://github.com/Kryptos-FR/markdig.wpf): used to display Markdown. -* [`MessageBoxManager`](https://www.codeproject.com/Articles/18399/Localizing-System-MessageBox): used to localize the buttons of the Windows system message box. * [`NLog`](https://github.com/NLog/NLog): used to log events. * [`PlaylistsNET`](https://github.com/tmk907/PlaylistsNET): used to create playlists. * [`Resource.Embedder`](https://github.com/MarcStan/Resource.Embedder): used to embed localization resources (_*.resources.dll_) in the main _exe_ file (not supported by `Costura`). * [`TagLib#`](https://github.com/mono/taglib-sharp): used to save ID3 tags in MP3 files. * [`WPFLocalizationExtension`](https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension): used to manage the localization. +* [`WpfMessageBox`](https://github.com/Otiel/WpfMessageBox): used to display message boxes. * [`XAMLMarkupExtensions`](https://github.com/XAMLMarkupExtensions/XAMLMarkupExtensions): required by `WpfLocalizeExtension`. From b48629ea4f72bcb4187a2fe88287b2d27ce9c614 Mon Sep 17 00:00:00 2001 From: Otiel Date: Sun, 4 Aug 2019 14:31:02 +0200 Subject: [PATCH 02/22] refactor: dispose FolderBrowserDialog --- .../UI/Dialogs/WindowMain.xaml.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs b/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs index eb0fbd7e..921e0aaf 100644 --- a/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs @@ -64,13 +64,14 @@ public WindowMain() { } private void ButtonBrowse_Click(object sender, RoutedEventArgs e) { - var dialog = new System.Windows.Forms.FolderBrowserDialog { + using (var dialog = new System.Windows.Forms.FolderBrowserDialog { Description = Properties.Resources.folderBrowserDialogDescription - }; - if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { - textBoxDownloadsPath.Text = dialog.SelectedPath + "\\{artist}\\{album}"; - // Force update of the settings file (it's not done unless the user gives then loses focus on the textbox) - textBoxDownloadsPath.GetBindingExpression(TextBox.TextProperty).UpdateSource(); + }) { + if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { + textBoxDownloadsPath.Text = dialog.SelectedPath + "\\{artist}\\{album}"; + // Force update of the settings file (it's not done unless the user gives then loses focus on the textbox) + textBoxDownloadsPath.GetBindingExpression(TextBox.TextProperty).UpdateSource(); + } } } From a4061089841596f10f0acf71bad9c46467c89efc Mon Sep 17 00:00:00 2001 From: Otiel Date: Sun, 4 Aug 2019 14:31:25 +0200 Subject: [PATCH 03/22] refactor: dispose SoundPlayer --- src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs b/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs index 921e0aaf..b3672245 100644 --- a/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs @@ -112,7 +112,9 @@ private async void ButtonStart_Click(object sender, RoutedEventArgs e) { if (App.UserSettings.EnableApplicationSounds) { // Play a sound try { - new SoundPlayer(@"C:\Windows\Media\Windows Ding.wav").Play(); + using (var soundPlayer = new SoundPlayer(@"C:\Windows\Media\Windows Ding.wav")) { + soundPlayer.Play(); + } } catch { } } From 5761b7a1af179443446bb83f2ff664efb20a6aa7 Mon Sep 17 00:00:00 2001 From: Otiel Date: Sun, 4 Aug 2019 14:32:30 +0200 Subject: [PATCH 04/22] refactor: remove unused "using" --- src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs b/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs index b3672245..c5e582b5 100644 --- a/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/WindowMain.xaml.cs @@ -2,7 +2,6 @@ using System.ComponentModel; using System.Linq; using System.Media; -using System.Net; using System.Reflection; using System.Threading.Tasks; using System.Windows; From 6eaf6cd55aebd01f055513a7e6792fad4452dc69 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 14:53:54 +0200 Subject: [PATCH 05/22] docs: format comments --- src/BandcampDownloader/Core/DownloadManager.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/BandcampDownloader/Core/DownloadManager.cs b/src/BandcampDownloader/Core/DownloadManager.cs index c5985d3e..ab1d6b71 100644 --- a/src/BandcampDownloader/Core/DownloadManager.cs +++ b/src/BandcampDownloader/Core/DownloadManager.cs @@ -34,7 +34,8 @@ internal class DownloadManager { private CancellationTokenSource _cancellationTokenSource; /// - /// The files to download, or being downloaded, or already downloaded. Used to compute the current received bytes and the total bytes to download. + /// The files to download, or being downloaded, or already downloaded. Used to compute the current received bytes + /// and the total bytes to download. /// public List DownloadingFiles { get; set; } @@ -47,7 +48,8 @@ internal class DownloadManager { public DownloadManager(string urls) { _urls = urls; - // Increase the maximum of concurrent connections to be able to download more than 2 (which is the default value) files at the same time + // Increase the maximum of concurrent connections to be able to download more than 2 (which is the default + // value) files at the same time ServicePointManager.DefaultConnectionLimit = 50; } @@ -253,8 +255,8 @@ private async Task DownloadAndTagTrackAsync(Album album, Track track, TagL } /// - /// Downloads and returns the cover art of the specified album. - /// Depending on UserSettings, save the cover art in the album folder. + /// Downloads and returns the cover art of the specified album. Depending on UserSettings, save the cover art in + /// the album folder. /// /// The album. private async Task DownloadCoverArtAsync(Album album) { @@ -499,8 +501,9 @@ private async Task GetFileSizeAsync(string url, string titleForLog, FileTy break; case FileType.Track: fileTypeForLog = "MP3 file for the track"; - // Using the HEAD method on tracks urls does not work (Error 405: Method not allowed) - // Surprisingly, using the GET method does not seem to download the whole file, so we will use it to retrieve the mp3 sizes + // Using the HEAD method on tracks urls does not work (Error 405: Method not allowed) Surprisingly, + // using the GET method does not seem to download the whole file, so we will use it to retrieve the + // mp3 sizes protocolMethod = "GET"; break; default: From cd6eea9002777641d81d3770fa1423c029f90c31 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 14:54:40 +0200 Subject: [PATCH 06/22] feat: add logs to help debug #116 --- src/BandcampDownloader/Core/DownloadManager.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/BandcampDownloader/Core/DownloadManager.cs b/src/BandcampDownloader/Core/DownloadManager.cs index ab1d6b71..6461516f 100644 --- a/src/BandcampDownloader/Core/DownloadManager.cs +++ b/src/BandcampDownloader/Core/DownloadManager.cs @@ -202,6 +202,7 @@ private async Task DownloadAndTagTrackAsync(Album album, Track track, TagL try { await webClient.DownloadFileTaskAsync(track.Mp3Url, track.Path); trackDownloaded = true; + LogAdded(this, new LogArgs($"Downloaded track \"{track.Title}\" from url: {track.Mp3Url}", LogType.VerboseInfo)); } catch (WebException ex) when (ex.Status == WebExceptionStatus.RequestCanceled) { // Downloads cancelled by the user return false; @@ -230,6 +231,7 @@ private async Task DownloadAndTagTrackAsync(Album album, Track track, TagL tagFile = TagHelper.UpdateTrackLyrics(tagFile, track.Lyrics, App.UserSettings.TagLyrics); tagFile = TagHelper.UpdateComments(tagFile, App.UserSettings.TagComments); tagFile.Save(); + LogAdded(this, new LogArgs($"Tags saved for track \"{Path.GetFileName(track.Path)}\" from album \"{album.Title}\"", LogType.VerboseInfo)); } if (App.UserSettings.SaveCoverArtInTags && artwork != null) { @@ -237,6 +239,7 @@ private async Task DownloadAndTagTrackAsync(Album album, Track track, TagL var tagFile = TagLib.File.Create(track.Path); tagFile.Tag.Pictures = new TagLib.IPicture[1] { artwork }; tagFile.Save(); + LogAdded(this, new LogArgs($"Cover art saved in tags for track \"{Path.GetFileName(track.Path)}\" from album \"{album.Title}\"", LogType.VerboseInfo)); } // Note the file as downloaded From 25d339ead7a32d2175e000fcb7ed45e708f90157 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 15:09:38 +0200 Subject: [PATCH 07/22] fix: apply language only when necessary --- .../Settings/UserControlSettingsGeneral.xaml.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs index ca12a04d..96adb26f 100644 --- a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs @@ -19,8 +19,11 @@ public UserControlSettingsGeneral() { /// Cancels the changes already applied. /// public void CancelChanges() { - LanguageHelper.ApplyLanguage(App.UserSettings.Language); ThemeHelper.ApplySkin(App.UserSettings.Theme); + // Revert the language only if it has been changed + if ((Language) comboBoxLanguage.SelectedValue != App.UserSettings.Language) { + LanguageHelper.ApplyLanguage(App.UserSettings.Language); + } } /// @@ -81,8 +84,10 @@ private async void ButtonCheckForUpdates_Click(object sender, RoutedEventArgs e) } private void ComboBoxLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e) { - // Apply selected language - LanguageHelper.ApplyLanguage((Language) comboBoxLanguage.SelectedValue); + if ((Language) comboBoxLanguage.SelectedValue != App.UserSettings.Language) { + // Apply selected language + LanguageHelper.ApplyLanguage((Language) comboBoxLanguage.SelectedValue); + } } private void ComboBoxTheme_SelectionChanged(object sender, SelectionChangedEventArgs e) { From f67b1cf2af0944b8c3907fabe18f210a506bbff1 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 15:10:00 +0200 Subject: [PATCH 08/22] fix: apply theme only when necessary Fixes #112 --- .../Settings/UserControlSettingsGeneral.xaml.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs index 96adb26f..215c287a 100644 --- a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs @@ -19,11 +19,14 @@ public UserControlSettingsGeneral() { /// Cancels the changes already applied. /// public void CancelChanges() { - ThemeHelper.ApplySkin(App.UserSettings.Theme); // Revert the language only if it has been changed if ((Language) comboBoxLanguage.SelectedValue != App.UserSettings.Language) { LanguageHelper.ApplyLanguage(App.UserSettings.Language); } + // Revert the skin only if it has been changed + if ((Skin) comboBoxTheme.SelectedItem != App.UserSettings.Theme) { + ThemeHelper.ApplySkin(App.UserSettings.Theme); + } } /// @@ -91,8 +94,10 @@ private void ComboBoxLanguage_SelectionChanged(object sender, SelectionChangedEv } private void ComboBoxTheme_SelectionChanged(object sender, SelectionChangedEventArgs e) { - // Apply selected theme - ThemeHelper.ApplySkin((Skin) comboBoxTheme.SelectedItem); + if ((Skin) comboBoxTheme.SelectedItem != App.UserSettings.Theme) { + // Apply selected theme + ThemeHelper.ApplySkin((Skin) comboBoxTheme.SelectedItem); + } } private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { From 0f0f04dda9824c8bb2b9d520711e57902f33ca0e Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 15:39:55 +0200 Subject: [PATCH 09/22] refactor: sort language cases AZ --- src/BandcampDownloader/Helpers/LanguageHelper.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BandcampDownloader/Helpers/LanguageHelper.cs b/src/BandcampDownloader/Helpers/LanguageHelper.cs index 263a3935..2932e181 100644 --- a/src/BandcampDownloader/Helpers/LanguageHelper.cs +++ b/src/BandcampDownloader/Helpers/LanguageHelper.cs @@ -21,10 +21,10 @@ public static void ApplyLanguage(Language language) { /// The Language. private static CultureInfo GetCultureInfo(Language language) { switch (language) { - case Language.en: - return new CultureInfo("en"); case Language.de: return new CultureInfo("de"); + case Language.en: + return new CultureInfo("en"); case Language.es: return new CultureInfo("es"); case Language.fr: From 332d991a2959b928330597b4961a8d3637933d41 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:23:48 +0200 Subject: [PATCH 10/22] feat: add Indonesian language --- src/BandcampDownloader/BandcampDownloader.csproj | 1 + src/BandcampDownloader/Core/UserSettings.cs | 2 ++ src/BandcampDownloader/Helpers/LanguageHelper.cs | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/BandcampDownloader/BandcampDownloader.csproj b/src/BandcampDownloader/BandcampDownloader.csproj index 370d1e5e..e79016e2 100644 --- a/src/BandcampDownloader/BandcampDownloader.csproj +++ b/src/BandcampDownloader/BandcampDownloader.csproj @@ -295,6 +295,7 @@ + diff --git a/src/BandcampDownloader/Core/UserSettings.cs b/src/BandcampDownloader/Core/UserSettings.cs index 4f944f36..99f94bc3 100644 --- a/src/BandcampDownloader/Core/UserSettings.cs +++ b/src/BandcampDownloader/Core/UserSettings.cs @@ -11,6 +11,8 @@ public enum Language { fr, [Description("German (Deutsch)")] de, + [Description("Indonesian (Bahasa Indonesia)")] + id, [Description("Italian (Italiano)")] it, [Description("Norwegian Bokmål (Norsk Bokmål)")] diff --git a/src/BandcampDownloader/Helpers/LanguageHelper.cs b/src/BandcampDownloader/Helpers/LanguageHelper.cs index 2932e181..2eb21b60 100644 --- a/src/BandcampDownloader/Helpers/LanguageHelper.cs +++ b/src/BandcampDownloader/Helpers/LanguageHelper.cs @@ -29,6 +29,8 @@ private static CultureInfo GetCultureInfo(Language language) { return new CultureInfo("es"); case Language.fr: return new CultureInfo("fr"); + case Language.id: + return new CultureInfo("id"); case Language.it: return new CultureInfo("it"); case Language.nb_NO: From ddfc471599dd660e363dfe205d379d04ff34b70c Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:24:11 +0200 Subject: [PATCH 11/22] feat: add Korean language --- src/BandcampDownloader/BandcampDownloader.csproj | 1 + src/BandcampDownloader/Core/UserSettings.cs | 2 ++ src/BandcampDownloader/Helpers/LanguageHelper.cs | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/BandcampDownloader/BandcampDownloader.csproj b/src/BandcampDownloader/BandcampDownloader.csproj index e79016e2..1189be69 100644 --- a/src/BandcampDownloader/BandcampDownloader.csproj +++ b/src/BandcampDownloader/BandcampDownloader.csproj @@ -297,6 +297,7 @@ + diff --git a/src/BandcampDownloader/Core/UserSettings.cs b/src/BandcampDownloader/Core/UserSettings.cs index 99f94bc3..4ac733ed 100644 --- a/src/BandcampDownloader/Core/UserSettings.cs +++ b/src/BandcampDownloader/Core/UserSettings.cs @@ -15,6 +15,8 @@ public enum Language { id, [Description("Italian (Italiano)")] it, + [Description("Korean (한국어)")] + ko, [Description("Norwegian Bokmål (Norsk Bokmål)")] nb_NO, [Description("Polish (język polski)")] diff --git a/src/BandcampDownloader/Helpers/LanguageHelper.cs b/src/BandcampDownloader/Helpers/LanguageHelper.cs index 2eb21b60..4efa0fe3 100644 --- a/src/BandcampDownloader/Helpers/LanguageHelper.cs +++ b/src/BandcampDownloader/Helpers/LanguageHelper.cs @@ -37,6 +37,8 @@ private static CultureInfo GetCultureInfo(Language language) { return new CultureInfo("nb-NO"); case Language.pl: return new CultureInfo("pl"); + case Language.ko: + return new CultureInfo("ko"); case Language.tr: return new CultureInfo("tr"); case Language.uk: From 4abed8c5e0cdf5f0af47772047f8b4768f915d58 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:24:29 +0200 Subject: [PATCH 12/22] feat: add Russian language --- src/BandcampDownloader/BandcampDownloader.csproj | 1 + src/BandcampDownloader/Core/UserSettings.cs | 2 ++ src/BandcampDownloader/Helpers/LanguageHelper.cs | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/BandcampDownloader/BandcampDownloader.csproj b/src/BandcampDownloader/BandcampDownloader.csproj index 1189be69..056a7d24 100644 --- a/src/BandcampDownloader/BandcampDownloader.csproj +++ b/src/BandcampDownloader/BandcampDownloader.csproj @@ -305,6 +305,7 @@ Resources.Designer.cs Designer + diff --git a/src/BandcampDownloader/Core/UserSettings.cs b/src/BandcampDownloader/Core/UserSettings.cs index 4ac733ed..ff5585c7 100644 --- a/src/BandcampDownloader/Core/UserSettings.cs +++ b/src/BandcampDownloader/Core/UserSettings.cs @@ -21,6 +21,8 @@ public enum Language { nb_NO, [Description("Polish (język polski)")] pl, + [Description("Russian (русский)")] + ru, [Description("Spanish (Español)")] es, [Description("Turkish (Türkçe)")] diff --git a/src/BandcampDownloader/Helpers/LanguageHelper.cs b/src/BandcampDownloader/Helpers/LanguageHelper.cs index 4efa0fe3..9d5b14e2 100644 --- a/src/BandcampDownloader/Helpers/LanguageHelper.cs +++ b/src/BandcampDownloader/Helpers/LanguageHelper.cs @@ -39,6 +39,8 @@ private static CultureInfo GetCultureInfo(Language language) { return new CultureInfo("pl"); case Language.ko: return new CultureInfo("ko"); + case Language.ru: + return new CultureInfo("ru"); case Language.tr: return new CultureInfo("tr"); case Language.uk: From 2d6f1ce85638c3f1f6de0a84826f107f2474c653 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:28:43 +0200 Subject: [PATCH 13/22] feat: add Chinese language --- src/BandcampDownloader/BandcampDownloader.csproj | 1 + src/BandcampDownloader/Core/UserSettings.cs | 2 ++ src/BandcampDownloader/Helpers/LanguageHelper.cs | 2 ++ .../{Resources.zh_CMN-HANT.resx => Resources.zh.resx} | 0 4 files changed, 5 insertions(+) rename src/BandcampDownloader/Properties/{Resources.zh_CMN-HANT.resx => Resources.zh.resx} (100%) diff --git a/src/BandcampDownloader/BandcampDownloader.csproj b/src/BandcampDownloader/BandcampDownloader.csproj index 056a7d24..9c5a0831 100644 --- a/src/BandcampDownloader/BandcampDownloader.csproj +++ b/src/BandcampDownloader/BandcampDownloader.csproj @@ -308,6 +308,7 @@ + Designer diff --git a/src/BandcampDownloader/Core/UserSettings.cs b/src/BandcampDownloader/Core/UserSettings.cs index ff5585c7..be81c0d4 100644 --- a/src/BandcampDownloader/Core/UserSettings.cs +++ b/src/BandcampDownloader/Core/UserSettings.cs @@ -7,6 +7,8 @@ namespace BandcampDownloader { public enum Language { [Description("English")] en, + [Description("Chinese (Simplified) (汉语)")] + zh, [Description("French (Français)")] fr, [Description("German (Deutsch)")] diff --git a/src/BandcampDownloader/Helpers/LanguageHelper.cs b/src/BandcampDownloader/Helpers/LanguageHelper.cs index 9d5b14e2..05fb2736 100644 --- a/src/BandcampDownloader/Helpers/LanguageHelper.cs +++ b/src/BandcampDownloader/Helpers/LanguageHelper.cs @@ -45,6 +45,8 @@ private static CultureInfo GetCultureInfo(Language language) { return new CultureInfo("tr"); case Language.uk: return new CultureInfo("uk"); + case Language.zh: + return new CultureInfo("zh"); default: throw new NotImplementedException(); } diff --git a/src/BandcampDownloader/Properties/Resources.zh_CMN-HANT.resx b/src/BandcampDownloader/Properties/Resources.zh.resx similarity index 100% rename from src/BandcampDownloader/Properties/Resources.zh_CMN-HANT.resx rename to src/BandcampDownloader/Properties/Resources.zh.resx From 72906e2d90208f27e187b9b74da08da47499886e Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:30:13 +0200 Subject: [PATCH 14/22] docs: add link to list of existing cultures --- src/BandcampDownloader/Helpers/LanguageHelper.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/BandcampDownloader/Helpers/LanguageHelper.cs b/src/BandcampDownloader/Helpers/LanguageHelper.cs index 05fb2736..8e17c810 100644 --- a/src/BandcampDownloader/Helpers/LanguageHelper.cs +++ b/src/BandcampDownloader/Helpers/LanguageHelper.cs @@ -20,6 +20,7 @@ public static void ApplyLanguage(Language language) { /// /// The Language. private static CultureInfo GetCultureInfo(Language language) { + // Existing cultures: https://dotnetfiddle.net/e1BX7M switch (language) { case Language.de: return new CultureInfo("de"); From 233cd83ca2a2cb50868955370f3f679b4a7feeb2 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:36:41 +0200 Subject: [PATCH 15/22] feat: remove incomplete languages Translation status for these languages is too low: - Indonesian = 17.7% - Korean = 0% - Russian = 25.8% - Ukrainian = 22.6% These languages will be made available once their translation is more complete (>75%) --- src/BandcampDownloader/Core/UserSettings.cs | 16 ++++++++-------- src/BandcampDownloader/Helpers/LanguageHelper.cs | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/BandcampDownloader/Core/UserSettings.cs b/src/BandcampDownloader/Core/UserSettings.cs index be81c0d4..0d28b112 100644 --- a/src/BandcampDownloader/Core/UserSettings.cs +++ b/src/BandcampDownloader/Core/UserSettings.cs @@ -13,24 +13,24 @@ public enum Language { fr, [Description("German (Deutsch)")] de, - [Description("Indonesian (Bahasa Indonesia)")] - id, + //[Description("Indonesian (Bahasa Indonesia)")] + //id, [Description("Italian (Italiano)")] it, - [Description("Korean (한국어)")] - ko, + //[Description("Korean (한국어)")] + //ko, [Description("Norwegian Bokmål (Norsk Bokmål)")] nb_NO, [Description("Polish (język polski)")] pl, - [Description("Russian (русский)")] - ru, + //[Description("Russian (русский)")] + //ru, [Description("Spanish (Español)")] es, [Description("Turkish (Türkçe)")] tr, - [Description("Ukrainian (Українська)")] - uk, + //[Description("Ukrainian (Українська)")] + //uk, } public enum PlaylistFormat { diff --git a/src/BandcampDownloader/Helpers/LanguageHelper.cs b/src/BandcampDownloader/Helpers/LanguageHelper.cs index 8e17c810..bbe513a5 100644 --- a/src/BandcampDownloader/Helpers/LanguageHelper.cs +++ b/src/BandcampDownloader/Helpers/LanguageHelper.cs @@ -30,22 +30,22 @@ private static CultureInfo GetCultureInfo(Language language) { return new CultureInfo("es"); case Language.fr: return new CultureInfo("fr"); - case Language.id: - return new CultureInfo("id"); + //case Language.id: + // return new CultureInfo("id"); case Language.it: return new CultureInfo("it"); case Language.nb_NO: return new CultureInfo("nb-NO"); case Language.pl: return new CultureInfo("pl"); - case Language.ko: - return new CultureInfo("ko"); - case Language.ru: - return new CultureInfo("ru"); + //case Language.ko: + // return new CultureInfo("ko"); + //case Language.ru: + // return new CultureInfo("ru"); case Language.tr: return new CultureInfo("tr"); - case Language.uk: - return new CultureInfo("uk"); + //case Language.uk: + // return new CultureInfo("uk"); case Language.zh: return new CultureInfo("zh"); default: From da69a781ba4e66646c1673a6f4ae54c6f66bf7bd Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:45:05 +0200 Subject: [PATCH 16/22] refactor: fix resx to follow VS formatting --- .../Properties/Resources.de.resx | 2 +- .../Properties/Resources.es.resx | 63 +++++++++++- .../Properties/Resources.fr.resx | 38 ++++---- .../Properties/Resources.id.resx | 2 +- .../Properties/Resources.it.resx | 2 +- .../Properties/Resources.ko.resx | 61 +++++++++++- .../Properties/Resources.nb-NO.resx | 97 +++++++++++++++---- .../Properties/Resources.pl.resx | 2 +- .../Properties/Resources.resx | 38 ++++---- .../Properties/Resources.ru.resx | 2 +- .../Properties/Resources.tr.resx | 36 +++---- .../Properties/Resources.uk.resx | 97 +++++++++++++++---- .../Properties/Resources.zh.resx | 2 +- 13 files changed, 339 insertions(+), 103 deletions(-) diff --git a/src/BandcampDownloader/Properties/Resources.de.resx b/src/BandcampDownloader/Properties/Resources.de.resx index 5739375c..788a7f6c 100644 --- a/src/BandcampDownloader/Properties/Resources.de.resx +++ b/src/BandcampDownloader/Properties/Resources.de.resx @@ -59,7 +59,7 @@ : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> - + diff --git a/src/BandcampDownloader/Properties/Resources.es.resx b/src/BandcampDownloader/Properties/Resources.es.resx index 3d953284..c038938b 100644 --- a/src/BandcampDownloader/Properties/Resources.es.resx +++ b/src/BandcampDownloader/Properties/Resources.es.resx @@ -1,6 +1,65 @@ - + - + + diff --git a/src/BandcampDownloader/Properties/Resources.fr.resx b/src/BandcampDownloader/Properties/Resources.fr.resx index a11bcafa..d30b877d 100644 --- a/src/BandcampDownloader/Properties/Resources.fr.resx +++ b/src/BandcampDownloader/Properties/Resources.fr.resx @@ -1,4 +1,4 @@ - + - - + + - + - - - - + + + + - - + + - - + + - - - - + + + + - + - + @@ -535,4 +535,4 @@ de leurs albums. Mise à jour - + \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.id.resx b/src/BandcampDownloader/Properties/Resources.id.resx index f413eb59..0b6f37d4 100644 --- a/src/BandcampDownloader/Properties/Resources.id.resx +++ b/src/BandcampDownloader/Properties/Resources.id.resx @@ -1,4 +1,4 @@ - + diff --git a/src/BandcampDownloader/Properties/Resources.it.resx b/src/BandcampDownloader/Properties/Resources.it.resx index c1b9931b..3957e9b2 100644 --- a/src/BandcampDownloader/Properties/Resources.it.resx +++ b/src/BandcampDownloader/Properties/Resources.it.resx @@ -1,4 +1,4 @@ - + @@ -58,4 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.nb-NO.resx b/src/BandcampDownloader/Properties/Resources.nb-NO.resx index 70ef80b1..485aa946 100644 --- a/src/BandcampDownloader/Properties/Resources.nb-NO.resx +++ b/src/BandcampDownloader/Properties/Resources.nb-NO.resx @@ -1,45 +1,104 @@ - + - - + + + - + - - - - + + + + - - + + - - + + - - - - + + + + - + - + @@ -474,4 +533,4 @@ Lim inn artistsider: https://[artist].bandcamp.com og velg "☑ Last ned artistd Oppdater - + \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.pl.resx b/src/BandcampDownloader/Properties/Resources.pl.resx index 5d76f0f0..12de8221 100644 --- a/src/BandcampDownloader/Properties/Resources.pl.resx +++ b/src/BandcampDownloader/Properties/Resources.pl.resx @@ -1,4 +1,4 @@ - + diff --git a/src/BandcampDownloader/Properties/Resources.resx b/src/BandcampDownloader/Properties/Resources.resx index 629d7616..59b834df 100644 --- a/src/BandcampDownloader/Properties/Resources.resx +++ b/src/BandcampDownloader/Properties/Resources.resx @@ -1,4 +1,4 @@ - + - - + + - + - - - - + + + + - - + + - - + + - - - - + + + + - + - + @@ -533,4 +533,4 @@ Paste artist pages: http://[artist].bandcamp.com and check "☑ Download artist Update - + \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.ru.resx b/src/BandcampDownloader/Properties/Resources.ru.resx index f2f87076..0ec3d79e 100644 --- a/src/BandcampDownloader/Properties/Resources.ru.resx +++ b/src/BandcampDownloader/Properties/Resources.ru.resx @@ -1,4 +1,4 @@ - + diff --git a/src/BandcampDownloader/Properties/Resources.tr.resx b/src/BandcampDownloader/Properties/Resources.tr.resx index 1aeb2a2c..ca8fbb75 100644 --- a/src/BandcampDownloader/Properties/Resources.tr.resx +++ b/src/BandcampDownloader/Properties/Resources.tr.resx @@ -1,45 +1,45 @@ - + - + - + - - - - + + + + - - + + - - + + - - - - + + + + - + - + @@ -474,4 +474,4 @@ Lütfen günlük dosyanızın içeriğinde yeni bir sorun açın. Aydınlık - + \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.uk.resx b/src/BandcampDownloader/Properties/Resources.uk.resx index fe81be2e..c26da386 100644 --- a/src/BandcampDownloader/Properties/Resources.uk.resx +++ b/src/BandcampDownloader/Properties/Resources.uk.resx @@ -1,45 +1,104 @@ - + - - + + + - + - - - - + + + + - - + + - - + + - - - - + + + + - + - + @@ -148,4 +207,4 @@ Версія - + \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.zh.resx b/src/BandcampDownloader/Properties/Resources.zh.resx index 4be173fe..20745b55 100644 --- a/src/BandcampDownloader/Properties/Resources.zh.resx +++ b/src/BandcampDownloader/Properties/Resources.zh.resx @@ -1,4 +1,4 @@ - + From 519311ca918c57a55df22d20a62d3f18d5d2ff64 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:45:33 +0200 Subject: [PATCH 17/22] refactor: order resx files AZ --- .../Properties/Resources.es.resx | 98 ++-- .../Properties/Resources.id.resx | 12 +- .../Properties/Resources.it.resx | 168 +++--- .../Properties/Resources.pl.resx | 48 +- .../Properties/Resources.ru.resx | 6 +- .../Properties/Resources.tr.resx | 50 +- .../Properties/Resources.zh.resx | 538 +++++++++--------- 7 files changed, 460 insertions(+), 460 deletions(-) diff --git a/src/BandcampDownloader/Properties/Resources.es.resx b/src/BandcampDownloader/Properties/Resources.es.resx index c038938b..ea1dc11f 100644 --- a/src/BandcampDownloader/Properties/Resources.es.resx +++ b/src/BandcampDownloader/Properties/Resources.es.resx @@ -126,6 +126,9 @@ _Cancelar + + Revisar _ahora + _Descargar versión nueva @@ -222,6 +225,9 @@ Si no, todas las etiquetas permanecen sin cambiar, equivalente a seleccionar «N Descarga solo un álbum a la vez. Si no, todos los álbumes se descargan simultáneamente (se proveerá mayor ancho de banda en caso de ser posible). + + Recuperar el tamaño de los _archivos antes de descargar los temas + Muestra el tamaño del archivo para mostrar precisamente el progreso. Si no, se ahorra algo de ancho de banda y tiempo. @@ -349,6 +355,9 @@ Si no, se ahorra algo de ancho de banda y tiempo. Algunas opciones no pueden cambiarse mientras se estén descargando pistas. + + _Tema + Númer_o de canción @@ -391,15 +400,31 @@ Si no, se ahorra algo de ancho de banda y tiempo. Ocurrió un error al buscar actualizaciones. Vuelva a intentarlo más tarde. + + Cerrar aplicación + Existen descargas activas. ¿Está seguro de cerrar la aplicación y cancelar todas las descargas? + + No se puede abrir el siguiente link: +{0} + Ya tiene la versión más reciente ({0}). + + _Reiniciar ajustes + ¿Restaurar la configuración a sus valores por defecto? + + Ocurrió un error no previsto. La aplicación se cerrará. + +Cree un nuevo informe del problema con el contenido del registro en: +{0} + Configuración _manual del proxy @@ -412,6 +437,12 @@ Si no, se ahorra algo de ancho de banda y tiempo. Guardar como + + Oscuro + + + Claro + No modificar @@ -451,6 +482,24 @@ Valor recomendado= 5 Cuando ese número es alcanzado (para cada canción), la descarga será omitida. Valor recomendado= 7 + + + Se utiliza para controlar el mecanismo de retroceso exponencial. +Cada vez que hay un error al descargar un tema, BandcampDownloader puede esperar un tiempo específico +al intentar descargar de nuevo para evitar molestar el filtro anti-spam de Bandcamp. +Esta formula es usada para calcular el tiempo de espera antes de intentarlo de nuevo: +tiempo = tiempo de espera * (exponente ^ intentos) + +Valor recomendado = 0.2 + + + Se utiliza para controlar el mecanismo de retroceso exponencial. +Cada vez que hay un error al descargar un tema, BandcampDownloader puede esperar un tiempo específico +al intentar descargar de nuevo para evitar molestar el filtro anti-spam de Bandcamp +Esta formula es usada para calcular el tiempo de espera antes de intentarlo de nuevo: +tiempo = tiempo de espera * (exponente ^ intentos) + +Valor recomendado = 4 Puedes usar marcadores para personalizar la carpeta de descarga dependiendo en el álbum: @@ -484,53 +533,4 @@ Pegar páginas de artista: http://[artista].bandcamp.com y chequea "☑ Descarga Actualizar - - Revisar _ahora - - - Recuperar el tamaño de los _archivos antes de descargar los temas - - - Se utiliza para controlar el mecanismo de retroceso exponencial. -Cada vez que hay un error al descargar un tema, BandcampDownloader puede esperar un tiempo específico -al intentar descargar de nuevo para evitar molestar el filtro anti-spam de Bandcamp. -Esta formula es usada para calcular el tiempo de espera antes de intentarlo de nuevo: -tiempo = tiempo de espera * (exponente ^ intentos) - -Valor recomendado = 0.2 - - - Se utiliza para controlar el mecanismo de retroceso exponencial. -Cada vez que hay un error al descargar un tema, BandcampDownloader puede esperar un tiempo específico -al intentar descargar de nuevo para evitar molestar el filtro anti-spam de Bandcamp -Esta formula es usada para calcular el tiempo de espera antes de intentarlo de nuevo: -tiempo = tiempo de espera * (exponente ^ intentos) - -Valor recomendado = 4 - - - _Tema - - - Cerrar aplicación - - - No se puede abrir el siguiente link: -{0} - - - _Reiniciar ajustes - - - Ocurrió un error no previsto. La aplicación se cerrará. - -Cree un nuevo informe del problema con el contenido del registro en: -{0} - - - Oscuro - - - Claro - \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.id.resx b/src/BandcampDownloader/Properties/Resources.id.resx index 0b6f37d4..efeb51b1 100644 --- a/src/BandcampDownloader/Properties/Resources.id.resx +++ b/src/BandcampDownloader/Properties/Resources.id.resx @@ -58,12 +58,18 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Jelajah folder _Batal + + cek nomor_w + _Unduh versi terbaru @@ -118,10 +124,4 @@ Tag di bersihkan - - - - - cek nomor_w - \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.it.resx b/src/BandcampDownloader/Properties/Resources.it.resx index 3957e9b2..61476ba9 100644 --- a/src/BandcampDownloader/Properties/Resources.it.resx +++ b/src/BandcampDownloader/Properties/Resources.it.resx @@ -129,6 +129,9 @@ Controlla _ora + + _Scarica nuova versione + _Impostazioni @@ -147,6 +150,12 @@ _Annulla + + _Visualizza + + + Trasferimento del changelog da {0} fallito + _Cerca aggiornamenti all'avvio @@ -177,6 +186,12 @@ La copertina sarà ridimensionata con larghezza/altezza massime specificate. + + Crea una _playlist per ogni album + + + Crea una traccia con tutto l'album per ogni album. + Scarica _discografia @@ -189,6 +204,12 @@ Notifica sonora ad ogni scaricamento finito. + + Usa _formato esteso (solo M3U) + + + Playlist M3U in formato esteso (direttive precedute dal carattere #). + _Modifica i tag (ID3) delle tracce @@ -250,15 +271,27 @@ Disabilitare questa opzione per risparmiare banda/tempo. _Ripristina impostazioni + + Registro cambiamenti + + + Registro cambiamenti + Comm_enti + + Formato _nome file + Dimensione massima (_px) Dimensione massima (p_x) + + Versione corrente: + _Massimo numero di tentativi @@ -280,9 +313,15 @@ Disabilitare questa opzione per risparmiare banda/tempo. _Porta + + Segnala un problema + _Lingua + + Informazioni + Impostazioni avanzate @@ -298,12 +337,21 @@ Disabilitare questa opzione per risparmiare banda/tempo. Rete + + Playlist + Rinomina e tag Testo can_zoni + + Formato _nome file + + + Formato _playlist + Alcune impostazioni non possono essere modificate durante lo scaricamento. @@ -316,12 +364,18 @@ Disabilitare questa opzione per risparmiare banda/tempo. (il file registro è sempre esteso) + + Versione + Non è possibile trovare aggiornamenti È disponibile una nuova versione + + Sito Web + Anno _di rilascio album @@ -361,6 +415,36 @@ Disabilitare questa opzione per risparmiare banda/tempo. Proxy _di sistema + + Salva come + + + Scuro + + + Chiaro + + + Non modificare + + + Pulisci tag + + + Salva nei tag + + + Non modificare + + + Pulisci tag + + + Storico versioni + + + Collabora alla traduzione + Scaricando una traccia, se esiste già un file con lo stesso nome, si comparerà alla traccia da scaricare. Se la dimensione dei file differisce meno di questo valore (in percentuale), la traccia non sarà scaricata. @@ -414,91 +498,7 @@ Incolla l'URL di una pagina artista http://[artista].bandcamp.com e spunta “ Impostazioni - - _Scarica nuova versione - - - _Visualizza - - - Trasferimento del changelog da {0} fallito - - - Crea una _playlist per ogni album - - - Crea una traccia con tutto l'album per ogni album. - - - Usa _formato esteso (solo M3U) - - - Registro cambiamenti - - - Registro cambiamenti - - - Formato _nome file - - - Versione corrente: - - - Segnala un problema - - - Informazioni - - - Playlist - - - Formato _nome file - - - Formato _playlist - - - Versione - - - Sito Web - - - Non modificare - - - Pulisci tag - - - Salva nei tag - - - Non modificare - - - Pulisci tag - - - Storico versioni - - - Collabora alla traduzione - Aggiorna - - Playlist M3U in formato esteso (direttive precedute dal carattere #). - - - Salva come - - - Scuro - - - Chiaro - \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.pl.resx b/src/BandcampDownloader/Properties/Resources.pl.resx index 12de8221..0469d460 100644 --- a/src/BandcampDownloader/Properties/Resources.pl.resx +++ b/src/BandcampDownloader/Properties/Resources.pl.resx @@ -297,6 +297,9 @@ Wydłuża pobieranie i zużywa więcej transferu (nieznacznie). _Motyw + + Numer utworu + _Tytuł @@ -315,6 +318,9 @@ Wydłuża pobieranie i zużywa więcej transferu (nieznacznie). Strona internetowa + + Data wydania albumu + _Anuluj @@ -391,6 +397,12 @@ Proszę otworzyć nowy problem na GitHubie z plikiem logów. Wyczyść tag + + Historia aktualizacji + + + Pomóż w tłumaczeniu + Podczas pobierania utworu, jeśli dany plik (lub o takiej samej nazwie) już istnieje, zostanie sprawdzony przed pobieraniem. Jeśli rozmiar obu plików różni się o wartość mniejszą niż podano (w %) pobieranie zostanie pominięte. @@ -410,30 +422,6 @@ Po tym jak ta liczba zostanie osiągnięta (dla każdego utworu osobno) pobieran Zalecana wartość = 7 - - Wklej tu linki albumów do pobrania. Możesz podać linki do wielu albumów jednocześnie, każdy w kolejnej linii. - -Link strony z Bandcampa wygląda następująco: http://[wykonawca].bandcamp.com/album/[album] lub http://[wykonawca].bandcamp.com/track/[utwór] -Możesz także pobrać całą dyskografię: http://[wykonawca].bandcamp.com i zaznacz "☑ Pobierz całą dyskografię" aby pobrać wszystkie albumy wykonawcy. - - - Ustawienia - - - Aktualizacja - - - Numer utworu - - - Data wydania albumu - - - Historia aktualizacji - - - Pomóż w tłumaczeniu - Możesz użyć tagów aby dostosować folder pobierania albumu: -{artist} zostanie zastąpiony wykonawcą @@ -454,4 +442,16 @@ Możesz także pobrać całą dyskografię: http://[wykonawca].bandcamp.com i za -{album} zostanie zastąpiony nazwą albumu -{year}, {month} i {day} zostaną zastąpione odpowiednio rokiem, miesiącem i dniem wydania albumu + + Wklej tu linki albumów do pobrania. Możesz podać linki do wielu albumów jednocześnie, każdy w kolejnej linii. + +Link strony z Bandcampa wygląda następująco: http://[wykonawca].bandcamp.com/album/[album] lub http://[wykonawca].bandcamp.com/track/[utwór] +Możesz także pobrać całą dyskografię: http://[wykonawca].bandcamp.com i zaznacz "☑ Pobierz całą dyskografię" aby pobrać wszystkie albumy wykonawcy. + + + Ustawienia + + + Aktualizacja + \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.ru.resx b/src/BandcampDownloader/Properties/Resources.ru.resx index 0ec3d79e..091f094a 100644 --- a/src/BandcampDownloader/Properties/Resources.ru.resx +++ b/src/BandcampDownloader/Properties/Resources.ru.resx @@ -103,6 +103,9 @@ Конвертировать в JPG + + Создать плейлист для каждого альбома + Скачать всю дискографию артиста @@ -151,7 +154,4 @@ Очистить данные - - Создать плейлист для каждого альбома - \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.tr.resx b/src/BandcampDownloader/Properties/Resources.tr.resx index ca8fbb75..3e973e14 100644 --- a/src/BandcampDownloader/Properties/Resources.tr.resx +++ b/src/BandcampDownloader/Properties/Resources.tr.resx @@ -296,6 +296,9 @@ Aksi takdirde, bazı bant genişliği / zaman tasarrufu sağlanır. Parça indirilirken bazı ayarlar değiştirilemez. + + Tema + Şarkı _numarası @@ -338,15 +341,31 @@ Aksi takdirde, bazı bant genişliği / zaman tasarrufu sağlanır. Güncellemeler kontrol edilirken bir hata oluştu. Lütfen daha sonra tekrar deneyin. + + Uygulamayı kapat + Şu anda aktif indirme var. Uygulamayı kapatmak ve tüm indirmeleri durdurmak istediğinizden emin misiniz? + + Şu bağlantı açılamadı: +{0} + Zaten en son sürümdesiniz ({0}). + + Ayarları Sıfırla + Tüm ayarlar varsayılan değerlerine sıfırlansın mı? + + İşlenmeyen bir hata oluştu. Uygulama şimdi kapanacak. + +Lütfen günlük dosyanızın içeriğinde yeni bir sorun açın. +{0} + _Manuel proxy yapılandırması @@ -359,6 +378,12 @@ Aksi takdirde, bazı bant genişliği / zaman tasarrufu sağlanır. Farklı kaydet + + Karanlık + + + Aydınlık + Değiştirmeyin @@ -449,29 +474,4 @@ Sanatçı sayfalarını yapıştırın: http://[sanatçı].bandcamp.com ve tüm Güncelleştirme - - Tema - - - Uygulamayı kapat - - - Şu bağlantı açılamadı: -{0} - - - Ayarları Sıfırla - - - İşlenmeyen bir hata oluştu. Uygulama şimdi kapanacak. - -Lütfen günlük dosyanızın içeriğinde yeni bir sorun açın. -{0} - - - Karanlık - - - Aydınlık - \ No newline at end of file diff --git a/src/BandcampDownloader/Properties/Resources.zh.resx b/src/BandcampDownloader/Properties/Resources.zh.resx index 20745b55..da465242 100644 --- a/src/BandcampDownloader/Properties/Resources.zh.resx +++ b/src/BandcampDownloader/Properties/Resources.zh.resx @@ -58,277 +58,307 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 将封面保存到文件中。 + + - - 将封面转换为JPG格式,压缩率为90%(既能减小文件大小,又能保证质量)。 + + 选择文件夹 - - 转换为JPG格式 + + 取消 - - 报告错误 + + 现在检查 + + + 下载新版本 设置 - - 更新 + + 打开设置 - - 启动时检查更新 + + 恢复初始设置 - - 将封面转换为JPG格式,压缩率为90%(既能减小文件大小,又能保证质量)。 + + 保存 - - 按照指定的方式修改标记。 - -如果不勾选,则文件中的标记都保持原样。 + + 下载 - + 取消 - - 在M3U播放列表中使用扩展格式(以#字符开头的指令)。 - - - 端口 + + 查看 - - 帮助翻译 + + 无法从{0}上加载更新日志 - - 不同时下载多部专辑 + + 启动时检查更新 - - 关于 + + 程序启动时将会在如下网址中检查更新: - - 好的 + + 转换为JPG格式 - - 确认要恢复初始设置吗? + + 将封面转换为JPG格式,压缩率为90%(既能减小文件大小,又能保证质量)。 - - 更新日志 + + 限制最大宽度和高度 - - 下载作家的所有专辑。 + + 将封面调整为指定的最大宽度和高度。 - - 更新历史 + + 转换为JPG格式 - - 将专辑保存到 + + 将封面转换为JPG格式,压缩率为90%(既能减小文件大小,又能保证质量)。 - - 重试等待时间(秒) + + 限制最大高度和宽度 - - 保持原样 + + 将封面调整为指定的最大宽度高度。 - - 不使用代理 + + 为每个专辑创建播放列表 为每个下载的专辑创建单独的播放列表。 - - 网站 + + 下载作家的专辑 - - 取消 + + 下载作家的所有专辑。 - - 将封面调整为指定的最大宽度高度。 + + 播放提示音 - - 为每个专辑创建播放列表 + + 下载完成播放通知声音。 + + + 使用扩展格式(仅限M3U) + + + 在M3U播放列表中使用扩展格式(以#字符开头的指令)。 自动填写专辑信息(ID3格式) - - 取消 + + 按照指定的方式修改标记。 + +如果不勾选,则文件中的标记都保持原样。 - - 使用系统设置的代理 + + 不同时下载多部专辑 - - 要取消下载吗? + + 不同时下载多部专辑。 +如果不勾选,则同时下载所有专辑(需要有较快的网速)。 - - 专辑发布年份 + + 在下载前确定文件大小 - - 将封面调整为指定的最大宽度和高度。 + + 确定文件大小以便能显示精确进度。 +如果不勾选,则能节省一些带宽或时间。 - - 标题 + + 保存到文件夹 - - 无法打开以下链接: -{0} + + 将封面下载到专辑文件夹中。 - - 有新版本可用 + + 保存到文件中 - + + 将封面保存到文件中。 + + + 显示详细日志 + + + 在日志框中显示更多信息。 + + + 选择要保存专辑的文件夹 + + + 请慎重更改这些设置。 + + + 专辑作家 + + + 专辑名称 + + + 允许的文件大小差异(%) + + + 作家 + + 恢复初始设置 - - 您可以使用如下占位符来自定义文件名: - - {artist}:专辑艺术家 - - {album}:专辑 - - {year},{month}和{day}:专辑发布日期 + + 更新日志 - - 用于控制“指数退避机制”。 -在每次下载失败后,BandcampDownloader可以等待特定时间再重试 -下载该文件,从而避免触发Bandcamp反刷屏过滤器。 -用于计算再次尝试下载之前等待的时间的公式如下: -等待时间 = 冷却时间 * (该数字 ^ 已尝试的次数) - -推荐设为0.2 + + 更新日志 + + + 注释 文件名格式 - - 下载时,如果已存在同名的文件,则该文件将会与要下载的文件进行比对。 -如果两个文件的大小差异的百分比小于此值,则不会再下载该文件。 -如果此值设置为0,那么文件始终会被下载,即使磁盘上已存在相同的文件。 - -建议设为5(5%的差异) + + 最大尺寸(像素) - - 转换为JPG格式 + + 最大尺寸(像素) - - 封面 + + 当前版本: - - 在下载前确定文件大小 + + 尝试下载次数 - - 另存为 + + 重试等待时间(秒) - - 程序启动时将会在如下网址中检查更新: + + 重试指数 - - 播放列表 + + 将专辑保存到 - - 保存到文件夹 + + 文件名格式: HTTP(S)代理 - - 注释 + + 端口 - - 歌词 + + 报告错误 - - 播放提示音 + + 语言 - - 请慎重更改这些设置。 + + 关于 - - 版本 + + 高级设置 - - 恢复初始设置 + + 封面 - - + + 下载 - - 曲目编号 + + 通用 - - 高级设置 + + 网络 + + + 播放列表 + + + 文件名和标签 + + + 歌词 - - 限制最大高度和宽度 + + 文件名格式 - - 下载完成播放通知声音。 + + 播放列表格式 - - 现在检查 + + 下载时无法更改某些设置。 主题 - - 保持原样 + + 曲目编号 - - 最大尺寸(像素) + + 标题 - - 确定文件大小以便能显示精确进度。 -如果不勾选,则能节省一些带宽或时间。 + + (日志文件中有详细信息) - - 保存到文件中 + + 版本 - - 文件名格式 + + 无法检查更新 - - 手动设置代理 + + 有新版本可用 - - 作家 + + 网站 - - 使用扩展格式(仅限M3U) + + 专辑发布年份 - - 查看 + + 取消 - - (日志文件中有详细信息) + + - - 选择文件夹 + + 好的 - - 尝试下载次数 + + - - 浅色 + + 要取消下载吗? - - 重试指数 + + 检查更新时出了点小问题。请稍后重试。 - - 允许的文件大小差异(%) + + 关闭程序 - - 选择要保存专辑的文件夹 + + 下载还未完成!确定要取消下载并退出吗? + + + 无法打开以下链接: +{0} 你已经在使用最新版本 ({0})。 - - 保存 - - - 当前版本: - - - 保存到标记中 + + 恢复初始设置 - - 无法从{0}上加载更新日志 + + 确认要恢复初始设置吗? 发生了无法处理的错误。程序将会关闭。 @@ -336,95 +366,72 @@ 请在我们的GitHub网站上新建一个Issue,并附上在该位置的日志: {0} - - 将专辑的链接粘贴在此处。一行只能粘贴一个链接。 - -Bandcamp的链接如下所示:http://[艺术家名称].bandcamp.com/album/[album]或http://[艺术家名称].bandcamp.com/track/[曲目名称] -您也可以粘贴作家主页:http://[艺术家名称].bandcamp.com并勾选“☑下载作家专辑”来下载作家的所有专辑。 + + 手动设置代理 - - 语言 + + 不使用代理 - - 您可以使用如下占位符来自定义文件名: - - {artist}:专辑艺术家 - - {album}:专辑 - - {year},{month}和{day}:专辑发布日期 + + 使用系统设置的代理 - - 专辑作家 + + 另存为 - - 无法检查更新 + + 深色 - - 下载 + + 浅色 - - 下载作家的专辑 + + 保持原样 - - 下载时无法更改某些设置。 + + 清除标记 - - 检查更新时出了点小问题。请稍后重试。 + + 保存到标记中 - - 将封面下载到专辑文件夹中。 + + 保持原样 - - 文件名和标签 + + 清除标记 - - 文件名格式: + + 更新历史 - - 清除标记 + + 帮助翻译 - - 通用 + + 下载时,如果已存在同名的文件,则该文件将会与要下载的文件进行比对。 +如果两个文件的大小差异的百分比小于此值,则不会再下载该文件。 +如果此值设置为0,那么文件始终会被下载,即使磁盘上已存在相同的文件。 + +建议设为5(5%的差异) - + 您可以使用如下占位符来自定义文件名: - {artist}:专辑艺术家 - - {title}:曲目名称 - - {tracknum}:曲目编号 - {album}:专辑 - {year},{month}和{day}:专辑发布日期 - - 下载新版本 - - - 在日志框中显示更多信息。 - - - 打开设置 - - - 限制最大宽度和高度 - - - - - - 专辑名称 - - - 下载还未完成!确定要取消下载并退出吗? - - - - - - 最大尺寸(像素) - - - 下载 + + 下载失败后最多重试的次数。 +达到该次数后,将跳过该文件的下载。 + +推荐设为7 - - 不同时下载多部专辑。 -如果不勾选,则同时下载所有专辑(需要有较快的网速)。 + + 用于控制“指数退避机制”。 +在每次下载失败后,BandcampDownloader可以等待特定时间再重试 +下载该文件,从而避免触发Bandcamp反刷屏过滤器。 +用于计算再次尝试下载之前等待的时间的公式如下: +等待时间 = 冷却时间 * (该数字 ^ 已尝试的次数) + +推荐设为0.2 用于控制“指数退避机制”。 @@ -435,43 +442,36 @@ Bandcamp的链接如下所示:http://[艺术家名称].bandcamp.com/album/[alb 推荐设为4 - - 恢复初始设置 - 您可以使用如下占位符来自定义下载文件夹名: - {artist}:专辑艺术家 - {album}:专辑 - {year},{month}和{day}:专辑发布日期 - - 清除标记 + + 您可以使用如下占位符来自定义文件名: + - {artist}:专辑艺术家 + - {title}:曲目名称 + - {tracknum}:曲目编号 + - {album}:专辑 + - {year},{month}和{day}:专辑发布日期 - - 更新日志 + + 您可以使用如下占位符来自定义文件名: + - {artist}:专辑艺术家 + - {album}:专辑 + - {year},{month}和{day}:专辑发布日期 - - 网络 + + 将专辑的链接粘贴在此处。一行只能粘贴一个链接。 + +Bandcamp的链接如下所示:http://[艺术家名称].bandcamp.com/album/[album]或http://[艺术家名称].bandcamp.com/track/[曲目名称] +您也可以粘贴作家主页:http://[艺术家名称].bandcamp.com并勾选“☑下载作家专辑”来下载作家的所有专辑。 设置 - - 下载失败后最多重试的次数。 -达到该次数后,将跳过该文件的下载。 - -推荐设为7 - - - 深色 - - - 播放列表格式 - - - 显示详细日志 - - - 关闭程序 + + 更新 \ No newline at end of file From 15d836b945a8fce6bf8309be786fefdd161eb2fe Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:56:36 +0200 Subject: [PATCH 18/22] refactor: fix format + comment --- .../UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs index 215c287a..76fb9512 100644 --- a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs @@ -23,7 +23,7 @@ public void CancelChanges() { if ((Language) comboBoxLanguage.SelectedValue != App.UserSettings.Language) { LanguageHelper.ApplyLanguage(App.UserSettings.Language); } - // Revert the skin only if it has been changed + // Revert the theme only if it has been changed if ((Skin) comboBoxTheme.SelectedItem != App.UserSettings.Theme) { ThemeHelper.ApplySkin(App.UserSettings.Theme); } @@ -105,4 +105,4 @@ private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation. e.Handled = true; } } -} +} \ No newline at end of file From 04014935f531e710d026ddb2cbf0384637313edc Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:57:10 +0200 Subject: [PATCH 19/22] fix: language not changed when cycling back Fixes bug introduced in 25d339e --- .../Dialogs/Settings/UserControlSettingsGeneral.xaml.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs index 76fb9512..97107f28 100644 --- a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs @@ -87,10 +87,12 @@ private async void ButtonCheckForUpdates_Click(object sender, RoutedEventArgs e) } private void ComboBoxLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e) { - if ((Language) comboBoxLanguage.SelectedValue != App.UserSettings.Language) { - // Apply selected language - LanguageHelper.ApplyLanguage((Language) comboBoxLanguage.SelectedValue); + if (!comboBoxLanguage.IsLoaded) { + return; } + + // Apply selected language + LanguageHelper.ApplyLanguage((Language) comboBoxLanguage.SelectedValue); } private void ComboBoxTheme_SelectionChanged(object sender, SelectionChangedEventArgs e) { From 04fc8b5b2e0c63d6713105a13101caac54360ed6 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 16:58:22 +0200 Subject: [PATCH 20/22] fix: theme not changed when cycling back Correctly fixes #112, fixes bug introduced in f67b1cf --- .../Dialogs/Settings/UserControlSettingsGeneral.xaml.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs index 97107f28..55b4797f 100644 --- a/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs +++ b/src/BandcampDownloader/UI/Dialogs/Settings/UserControlSettingsGeneral.xaml.cs @@ -96,10 +96,12 @@ private void ComboBoxLanguage_SelectionChanged(object sender, SelectionChangedEv } private void ComboBoxTheme_SelectionChanged(object sender, SelectionChangedEventArgs e) { - if ((Skin) comboBoxTheme.SelectedItem != App.UserSettings.Theme) { - // Apply selected theme - ThemeHelper.ApplySkin((Skin) comboBoxTheme.SelectedItem); + if (!comboBoxTheme.IsLoaded) { + return; } + + // Apply selected theme + ThemeHelper.ApplySkin((Skin) comboBoxTheme.SelectedItem); } private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { From eabd4cf61ec1eda3dd2d466ef3c9ddaeb2292802 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 17:05:32 +0200 Subject: [PATCH 21/22] docs: add 1.3.0 to CHANGELOG --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03bcdb4f..fbbd02d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# 1.3.0 + +## Improvements + +* Added the following languages thanks to [contributors](https://github.com/Otiel/BandcampDownloader/pull/113): Chinese. +* Updated the following languages thanks to [contributors](https://github.com/Otiel/BandcampDownloader/pull/113): German, Italian, Spanish, Turkish. +* Removed the Ukrainian language as not complete. + +## Bug fixes + +* Fixed the log position reset when opening the Settings window. [#112](https://github.com/Otiel/BandcampDownloader/issues/112) + # 1.2.0 ## Improvements From 28e4d168312b03ddc8bd317a045c15da41be59b0 Mon Sep 17 00:00:00 2001 From: Otiel Date: Wed, 7 Aug 2019 17:06:15 +0200 Subject: [PATCH 22/22] chore: bump assembly version to 1.3.0 --- src/BandcampDownloader/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BandcampDownloader/Properties/AssemblyInfo.cs b/src/BandcampDownloader/Properties/AssemblyInfo.cs index 7d94cd53..47410d18 100644 --- a/src/BandcampDownloader/Properties/AssemblyInfo.cs +++ b/src/BandcampDownloader/Properties/AssemblyInfo.cs @@ -47,6 +47,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0")] -[assembly: AssemblyFileVersion("1.2.0")] +[assembly: AssemblyVersion("1.3.0")] +[assembly: AssemblyFileVersion("1.3.0")] [assembly: GuidAttribute("8C171C7F-9BAC-4EC0-A287-59908B48953F")] \ No newline at end of file