From c518cf63e7ef6bb5066639071d4bbf406e97c273 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 9 Jun 2025 20:28:15 +0300 Subject: [PATCH 01/35] Bump version to 2.13.0 --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6f7490de2..db4df08fe 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,7 +9,7 @@ variables: testsFolder: './_tests' yarnCacheFolder: $(Pipeline.Workspace)/.yarn nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages - majorVersion: '2.12.4' + majorVersion: '2.13.0' minorVersion: $[counter('minorVersion', 1076)] lidarrVersion: '$(majorVersion).$(minorVersion)' buildName: '$(Build.SourceBranchName).$(lidarrVersion)' From 68a8f4074673786ce12a708a2190627a08509f6f Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 9 Jun 2025 23:31:56 +0300 Subject: [PATCH 02/35] Fixed translations for the updates page --- frontend/src/System/Updates/Updates.tsx | 2 +- src/NzbDrone.Core/Localization/Core/en.json | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/System/Updates/Updates.tsx b/frontend/src/System/Updates/Updates.tsx index ef3d20288..300ab1f99 100644 --- a/frontend/src/System/Updates/Updates.tsx +++ b/frontend/src/System/Updates/Updates.tsx @@ -270,7 +270,7 @@ function Updates() { {generalSettingsError ? ( - {translate('FailedToUpdateSettings')} + {translate('FailedToFetchSettings')} ) : null} diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index 5f9c76b0c..d5ebae8f9 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -256,6 +256,7 @@ "CreateEmptyArtistFolders": "Create empty artist folders", "CreateEmptyArtistFoldersHelpText": "Create missing artist folders during disk scan", "CreateGroup": "Create group", + "CurrentlyInstalled": "Currently Installed", "Custom": "Custom", "CustomFilter": "Custom Filter", "CustomFilters": "Custom Filters", @@ -486,6 +487,8 @@ "ExtraFileExtensionsHelpTextsExamples": "Examples: '.sub, .nfo' or 'sub,nfo'", "FailedDownloadHandling": "Failed Download Handling", "FailedLoadingSearchResults": "Failed to load search results, please try again.", + "FailedToFetchSettings": "Failed to fetch settings", + "FailedToFetchUpdates": "Failed to fetch updates", "FailedToLoadQueue": "Failed to load Queue", "False": "False", "FileDateHelpText": "Change file date on import/rescan", From 96f956a5d6d0aa653fdc31729a4c8e96688c43b4 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 8 Jun 2025 15:27:13 +0300 Subject: [PATCH 03/35] Fix fullscreen automation screenshots --- src/NzbDrone.Automation.Test/AutomationTest.cs | 7 ++++--- src/NzbDrone.Automation.Test/PageModel/PageBase.cs | 6 ++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/NzbDrone.Automation.Test/AutomationTest.cs b/src/NzbDrone.Automation.Test/AutomationTest.cs index bcf777431..51c79539e 100644 --- a/src/NzbDrone.Automation.Test/AutomationTest.cs +++ b/src/NzbDrone.Automation.Test/AutomationTest.cs @@ -40,15 +40,16 @@ namespace NzbDrone.Automation.Test var service = ChromeDriverService.CreateDefaultService(); // Timeout as windows automation tests seem to take alot longer to get going - driver = new ChromeDriver(service, options, new TimeSpan(0, 3, 0)); + driver = new ChromeDriver(service, options, TimeSpan.FromMinutes(3)); driver.Manage().Window.Size = new System.Drawing.Size(1920, 1080); + driver.Manage().Window.FullScreen(); _runner = new NzbDroneRunner(LogManager.GetCurrentClassLogger(), null); _runner.KillAll(); _runner.Start(true); - driver.Url = "http://localhost:8686"; + driver.Navigate().GoToUrl("http://localhost:8686"); var page = new PageBase(driver); page.WaitForNoSpinner(); @@ -68,7 +69,7 @@ namespace NzbDrone.Automation.Test { try { - var image = ((ITakesScreenshot)driver).GetScreenshot(); + var image = (driver as ITakesScreenshot).GetScreenshot(); image.SaveAsFile($"./{name}_test_screenshot.png", ScreenshotImageFormat.Png); } catch (Exception ex) diff --git a/src/NzbDrone.Automation.Test/PageModel/PageBase.cs b/src/NzbDrone.Automation.Test/PageModel/PageBase.cs index c9a7e8891..664ec7258 100644 --- a/src/NzbDrone.Automation.Test/PageModel/PageBase.cs +++ b/src/NzbDrone.Automation.Test/PageModel/PageBase.cs @@ -1,19 +1,17 @@ using System; using System.Threading; using OpenQA.Selenium; -using OpenQA.Selenium.Remote; using OpenQA.Selenium.Support.UI; namespace NzbDrone.Automation.Test.PageModel { public class PageBase { - private readonly RemoteWebDriver _driver; + private readonly IWebDriver _driver; - public PageBase(RemoteWebDriver driver) + public PageBase(IWebDriver driver) { _driver = driver; - driver.Manage().Window.Maximize(); } public IWebElement FindByClass(string className, int timeout = 5) From ed777de0156ebf8d1393d35502d1f485a5927f89 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Tue, 29 Apr 2025 18:55:34 -0700 Subject: [PATCH 04/35] Fixed: Escape backticks in discord notifications (cherry picked from commit 70c74fc1769f2094a14faaa103c49d744534be9f) --- src/NzbDrone.Core/Notifications/Discord/Discord.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/Notifications/Discord/Discord.cs b/src/NzbDrone.Core/Notifications/Discord/Discord.cs index 94714a4f0..9889a8ace 100644 --- a/src/NzbDrone.Core/Notifications/Discord/Discord.cs +++ b/src/NzbDrone.Core/Notifications/Discord/Discord.cs @@ -514,9 +514,9 @@ namespace NzbDrone.Core.Notifications.Discord { var albumTitles = string.Join(" + ", albums.Select(e => e.Title)); - var title = $"{artist.Name} - {albumTitles}"; + var title = $"{artist.Name} - {albumTitles}".Replace("`", "\\`"); - return title.Length > 256 ? $"{title.AsSpan(0, 253)}..." : title; + return title.Length > 256 ? $"{title.AsSpan(0, 253).TrimEnd('\\')}..." : title; } } } From ae9b4cec75a4e0d54b937dc1482af7df7f934968 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Wed, 21 May 2025 17:23:22 -0700 Subject: [PATCH 05/35] New: Update wording when removing a root folder (cherry picked from commit 51c17fd3122f7b96a4155593d465ba32870d0c91) --- .../src/Settings/MediaManagement/RootFolder/RootFolder.js | 6 +++--- src/NzbDrone.Core/Localization/Core/en.json | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/Settings/MediaManagement/RootFolder/RootFolder.js b/frontend/src/Settings/MediaManagement/RootFolder/RootFolder.js index 47e5dfcf1..dc91e4622 100644 --- a/frontend/src/Settings/MediaManagement/RootFolder/RootFolder.js +++ b/frontend/src/Settings/MediaManagement/RootFolder/RootFolder.js @@ -94,9 +94,9 @@ class RootFolder extends Component { diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index d5ebae8f9..cd5e89f17 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -335,8 +335,6 @@ "DeleteReleaseProfileMessageText": "Are you sure you want to delete this release profile?", "DeleteRemotePathMapping": "Delete Remote Path Mapping", "DeleteRemotePathMappingMessageText": "Are you sure you want to delete this remote path mapping?", - "DeleteRootFolder": "Delete Root Folder", - "DeleteRootFolderMessageText": "Are you sure you want to delete the root folder '{name}'?", "DeleteSelected": "Delete Selected", "DeleteSelectedArtists": "Delete Selected Artists", "DeleteSelectedCustomFormats": "Delete Custom Format(s)", @@ -1027,6 +1025,8 @@ "RemoveQueueItemRemovalMethod": "Removal Method", "RemoveQueueItemRemovalMethodHelpTextWarning": "'Remove from Download Client' will remove the download and the file(s) from the download client.", "RemoveQueueItemsRemovalMethodHelpTextWarning": "'Remove from Download Client' will remove the downloads and the files from the download client.", + "RemoveRootFolder": "Remove Root Folder", + "RemoveRootFolderArtistsMessageText": "Are you sure you want to remove the root folder '{name}'? Files and folders will not be deleted from disk, and artists in this root folder will not be removed from {appName}.", "RemoveSelected": "Remove Selected", "RemoveSelectedItem": "Remove Selected Item", "RemoveSelectedItemBlocklistMessageText": "Are you sure you want to remove the selected items from the blocklist?", From 1bcb82eed08f53ee6ec40e76ebcb69d0bc4c9dc2 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Wed, 21 May 2025 17:17:19 -0700 Subject: [PATCH 06/35] Prevent should refresh artists and albums from failing (cherry picked from commit 3eed84c67938fed308e562e69cf7bcd727063803) --- .../Music/Utilities/ShouldRefreshAlbum.cs | 34 +++++++---- .../Music/Utilities/ShouldRefreshArtist.cs | 60 +++++++++++-------- 2 files changed, 55 insertions(+), 39 deletions(-) diff --git a/src/NzbDrone.Core/Music/Utilities/ShouldRefreshAlbum.cs b/src/NzbDrone.Core/Music/Utilities/ShouldRefreshAlbum.cs index 5dac303ce..f21c6d70c 100644 --- a/src/NzbDrone.Core/Music/Utilities/ShouldRefreshAlbum.cs +++ b/src/NzbDrone.Core/Music/Utilities/ShouldRefreshAlbum.cs @@ -19,26 +19,34 @@ namespace NzbDrone.Core.Music public bool ShouldRefresh(Album album) { - if (album.LastInfoSync < DateTime.UtcNow.AddDays(-60)) + try { - _logger.Trace("Album {0} last updated more than 60 days ago, should refresh.", album.Title); - return true; - } + if (album.LastInfoSync < DateTime.UtcNow.AddDays(-60)) + { + _logger.Trace("Album {0} last updated more than 60 days ago, should refresh.", album.Title); + return true; + } - if (album.LastInfoSync >= DateTime.UtcNow.AddHours(-12)) - { - _logger.Trace("Album {0} last updated less than 12 hours ago, should not be refreshed.", album.Title); + if (album.LastInfoSync >= DateTime.UtcNow.AddHours(-12)) + { + _logger.Trace("Album {0} last updated less than 12 hours ago, should not be refreshed.", album.Title); + return false; + } + + if (album.ReleaseDate > DateTime.UtcNow.AddDays(-30)) + { + _logger.Trace("album {0} released less than 30 days ago, should refresh.", album.Title); + return true; + } + + _logger.Trace("Album {0} released long ago and recently refreshed, should not be refreshed.", album.Title); return false; } - - if (album.ReleaseDate > DateTime.UtcNow.AddDays(-30)) + catch (Exception e) { - _logger.Trace("album {0} released less than 30 days ago, should refresh.", album.Title); + _logger.Error(e, "Unable to determine if album should refresh, will try to refresh."); return true; } - - _logger.Trace("Album {0} released long ago and recently refreshed, should not be refreshed.", album.Title); - return false; } } } diff --git a/src/NzbDrone.Core/Music/Utilities/ShouldRefreshArtist.cs b/src/NzbDrone.Core/Music/Utilities/ShouldRefreshArtist.cs index 495b937af..26548d757 100644 --- a/src/NzbDrone.Core/Music/Utilities/ShouldRefreshArtist.cs +++ b/src/NzbDrone.Core/Music/Utilities/ShouldRefreshArtist.cs @@ -22,40 +22,48 @@ namespace NzbDrone.Core.Music public bool ShouldRefresh(Artist artist) { - if (artist.LastInfoSync == null) + try { - _logger.Trace("Artist {0} was just added, should refresh.", artist.Name); - return true; - } + if (artist.LastInfoSync == null) + { + _logger.Trace("Artist {0} was just added, should refresh.", artist.Name); + return true; + } - if (artist.LastInfoSync < DateTime.UtcNow.AddDays(-30)) - { - _logger.Trace("Artist {0} last updated more than 30 days ago, should refresh.", artist.Name); - return true; - } + if (artist.LastInfoSync < DateTime.UtcNow.AddDays(-30)) + { + _logger.Trace("Artist {0} last updated more than 30 days ago, should refresh.", artist.Name); + return true; + } - if (artist.LastInfoSync >= DateTime.UtcNow.AddHours(-12)) - { - _logger.Trace("Artist {0} last updated less than 12 hours ago, should not be refreshed.", artist.Name); + if (artist.LastInfoSync >= DateTime.UtcNow.AddHours(-12)) + { + _logger.Trace("Artist {0} last updated less than 12 hours ago, should not be refreshed.", artist.Name); + return false; + } + + if (artist.Metadata.Value.Status == ArtistStatusType.Continuing && artist.LastInfoSync < DateTime.UtcNow.AddDays(-2)) + { + _logger.Trace("Artist {0} is continuing and has not been refreshed in 2 days, should refresh.", artist.Name); + return true; + } + + var lastAlbum = _albumService.GetAlbumsByArtist(artist.Id).MaxBy(e => e.ReleaseDate); + + if (lastAlbum != null && lastAlbum.ReleaseDate > DateTime.UtcNow.AddDays(-30)) + { + _logger.Trace("Last album in {0} aired less than 30 days ago, should refresh.", artist.Name); + return true; + } + + _logger.Trace("Artist {0} ended long ago, should not be refreshed.", artist.Name); return false; } - - if (artist.Metadata.Value.Status == ArtistStatusType.Continuing && artist.LastInfoSync < DateTime.UtcNow.AddDays(-2)) + catch (Exception e) { - _logger.Trace("Artist {0} is continuing and has not been refreshed in 2 days, should refresh.", artist.Name); + _logger.Error(e, "Unable to determine if artist should refresh, will try to refresh."); return true; } - - var lastAlbum = _albumService.GetAlbumsByArtist(artist.Id).MaxBy(e => e.ReleaseDate); - - if (lastAlbum != null && lastAlbum.ReleaseDate > DateTime.UtcNow.AddDays(-30)) - { - _logger.Trace("Last album in {0} aired less than 30 days ago, should refresh.", artist.Name); - return true; - } - - _logger.Trace("Artist {0} ended long ago, should not be refreshed.", artist.Name); - return false; } } } From 086a451dff32930a4244e02af17e85300d5b0f59 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 25 May 2025 20:04:55 +0300 Subject: [PATCH 07/35] Follow redirects for usenet grabs on non-prod builds (cherry picked from commit 1cdca8ef3e47e19c9264db6b322161b615b20294) --- src/NzbDrone.Core/Download/UsenetClientBase.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NzbDrone.Core/Download/UsenetClientBase.cs b/src/NzbDrone.Core/Download/UsenetClientBase.cs index e14ac5a87..4985ba4c3 100644 --- a/src/NzbDrone.Core/Download/UsenetClientBase.cs +++ b/src/NzbDrone.Core/Download/UsenetClientBase.cs @@ -46,6 +46,7 @@ namespace NzbDrone.Core.Download { var request = indexer?.GetDownloadRequest(url) ?? new HttpRequest(url); request.RateLimitKey = remoteAlbum?.Release?.IndexerId.ToString(); + request.AllowAutoRedirect = true; var response = await RetryStrategy .ExecuteAsync(static async (state, _) => await state._httpClient.GetAsync(state.request), (_httpClient, request)) From ebe59b18d94474b8106225705aa88b43939cf984 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Tue, 6 Oct 2020 08:26:20 -0700 Subject: [PATCH 08/35] Sync react-slider props for Quality sliders with upstream (cherry picked from commit 9dab2ba6e4316879e4db8db47363476a5c4f13b2) --- .../Quality/Definition/QualityDefinition.css | 6 ++--- .../Definition/QualityDefinition.css.d.ts | 4 +-- .../Quality/Definition/QualityDefinition.js | 27 ++++++++++++++++--- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/frontend/src/Settings/Quality/Definition/QualityDefinition.css b/frontend/src/Settings/Quality/Definition/QualityDefinition.css index e090428a1..860333725 100644 --- a/frontend/src/Settings/Quality/Definition/QualityDefinition.css +++ b/frontend/src/Settings/Quality/Definition/QualityDefinition.css @@ -24,19 +24,19 @@ height: 20px; } -.bar { +.track { top: 9px; margin: 0 5px; height: 3px; background-color: var(--sliderAccentColor); box-shadow: 0 0 0 #000; - &:nth-child(3n+1) { + &:nth-child(3n + 1) { background-color: #ddd; } } -.handle { +.thumb { top: 1px; z-index: 0 !important; width: 18px; diff --git a/frontend/src/Settings/Quality/Definition/QualityDefinition.css.d.ts b/frontend/src/Settings/Quality/Definition/QualityDefinition.css.d.ts index 2b92fb212..9c9e8393a 100644 --- a/frontend/src/Settings/Quality/Definition/QualityDefinition.css.d.ts +++ b/frontend/src/Settings/Quality/Definition/QualityDefinition.css.d.ts @@ -1,8 +1,6 @@ // This file is automatically generated. // Please do not change this file! interface CssExports { - 'bar': string; - 'handle': string; 'kilobitsPerSecond': string; 'quality': string; 'qualityDefinition': string; @@ -10,7 +8,9 @@ interface CssExports { 'sizeLimit': string; 'sizes': string; 'slider': string; + 'thumb': string; 'title': string; + 'track': string; } export const cssExports: CssExports; export default cssExports; diff --git a/frontend/src/Settings/Quality/Definition/QualityDefinition.js b/frontend/src/Settings/Quality/Definition/QualityDefinition.js index 7d8a78737..91f233278 100644 --- a/frontend/src/Settings/Quality/Definition/QualityDefinition.js +++ b/frontend/src/Settings/Quality/Definition/QualityDefinition.js @@ -55,6 +55,27 @@ class QualityDefinition extends Component { }; } + // + // Control + + trackRenderer(props, state) { + return ( +
+ ); + } + + thumbRenderer(props, state) { + return ( +
+ ); + } + // // Listeners @@ -174,6 +195,7 @@ class QualityDefinition extends Component {
From 979042948d9f36b3803e91dc4b74e081568f9a3a Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 1 Jun 2025 18:07:25 +0300 Subject: [PATCH 09/35] Fixed: Quality sliders on some browsers --- frontend/src/Settings/Quality/Definition/QualityDefinition.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/Settings/Quality/Definition/QualityDefinition.js b/frontend/src/Settings/Quality/Definition/QualityDefinition.js index 91f233278..48251abfb 100644 --- a/frontend/src/Settings/Quality/Definition/QualityDefinition.js +++ b/frontend/src/Settings/Quality/Definition/QualityDefinition.js @@ -204,6 +204,7 @@ class QualityDefinition extends Component { withTracks={true} allowCross={false} snapDragDisabled={true} + pearling={true} renderThumb={this.thumbRenderer} renderTrack={this.trackRenderer} onChange={this.onSliderChange} From 5bb1949ea2c7aa90c811e35db1f7ba37b9588d40 Mon Sep 17 00:00:00 2001 From: Stevie Robinson Date: Tue, 10 Jun 2025 02:14:13 +0200 Subject: [PATCH 10/35] Fixed: Include network drive types in Disk Space (cherry picked from commit 9ffcd141a515e99604881a4ef383dadafef31eeb) --- src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs b/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs index 4f685c560..584bb7c7c 100644 --- a/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs +++ b/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs @@ -38,7 +38,10 @@ namespace NzbDrone.Core.DiskSpace var optionalRootFolders = GetFixedDisksRootPaths().Except(importantRootFolders).Distinct().ToList(); - var diskSpace = GetDiskSpace(importantRootFolders).Concat(GetDiskSpace(optionalRootFolders, true)).ToList(); + var diskSpace = GetDiskSpace(importantRootFolders) + .Concat(GetDiskSpace(optionalRootFolders, true)) + .OrderBy(d => d.Path, StringComparer.OrdinalIgnoreCase) + .ToList(); return diskSpace; } @@ -54,7 +57,7 @@ namespace NzbDrone.Core.DiskSpace private IEnumerable GetFixedDisksRootPaths() { return _diskProvider.GetMounts() - .Where(d => d.DriveType == DriveType.Fixed) + .Where(d => d.DriveType is DriveType.Fixed or DriveType.Network) .Where(d => !_regexSpecialDrive.IsMatch(d.RootDirectory)) .Select(d => d.RootDirectory); } From a56e5b3f9a147ada4e02b79003adc1816f6763ed Mon Sep 17 00:00:00 2001 From: Stevie Robinson Date: Thu, 22 May 2025 02:56:15 +0200 Subject: [PATCH 11/35] New: Don't allow remote path to start with space (cherry picked from commit 5ba3ff598770fdf9e5a53d490c8bcbdd6a59c4cc) Fixed validation for Remote Path Mapping (cherry picked from commit bf34b4309402ce529a8c04de70f44b28948761f4) --- .../RemotePathMappingController.cs | 13 +++++++++++-- .../RemotePathMappings/RemotePathMappingService.cs | 5 +++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Lidarr.Api.V1/RemotePathMappings/RemotePathMappingController.cs b/src/Lidarr.Api.V1/RemotePathMappings/RemotePathMappingController.cs index 33edddff3..fae5b2388 100644 --- a/src/Lidarr.Api.V1/RemotePathMappings/RemotePathMappingController.cs +++ b/src/Lidarr.Api.V1/RemotePathMappings/RemotePathMappingController.cs @@ -4,6 +4,7 @@ using Lidarr.Http; using Lidarr.Http.REST; using Lidarr.Http.REST.Attributes; using Microsoft.AspNetCore.Mvc; +using NzbDrone.Common.Extensions; using NzbDrone.Core.RemotePathMappings; using NzbDrone.Core.Validation.Paths; @@ -21,11 +22,19 @@ namespace Lidarr.Api.V1.RemotePathMappings _remotePathMappingService = remotePathMappingService; SharedValidator.RuleFor(c => c.Host) - .NotEmpty(); + .NotEmpty(); // We cannot use IsValidPath here, because it's a remote path, possibly other OS. SharedValidator.RuleFor(c => c.RemotePath) - .NotEmpty(); + .NotEmpty(); + + SharedValidator.RuleFor(c => c.RemotePath) + .Must(remotePath => remotePath.IsNotNullOrWhiteSpace() && !remotePath.StartsWith(" ")) + .WithMessage("Remote Path '{PropertyValue}' must not start with a space"); + + SharedValidator.RuleFor(c => c.RemotePath) + .Must(remotePath => remotePath.IsNotNullOrWhiteSpace() && !remotePath.EndsWith(" ")) + .WithMessage("Remote Path '{PropertyValue}' must not end with a space"); SharedValidator.RuleFor(c => c.LocalPath) .Cascade(CascadeMode.Stop) diff --git a/src/NzbDrone.Core/RemotePathMappings/RemotePathMappingService.cs b/src/NzbDrone.Core/RemotePathMappings/RemotePathMappingService.cs index b757db3f3..9ee8a0ad0 100644 --- a/src/NzbDrone.Core/RemotePathMappings/RemotePathMappingService.cs +++ b/src/NzbDrone.Core/RemotePathMappings/RemotePathMappingService.cs @@ -96,6 +96,11 @@ namespace NzbDrone.Core.RemotePathMappings throw new ArgumentException("Invalid Host"); } + if (mapping.RemotePath.StartsWith(" ")) + { + throw new ArgumentException("Remote Path must not start with a space"); + } + var remotePath = new OsPath(mapping.RemotePath); var localPath = new OsPath(mapping.LocalPath); From 8877cf99f13cab9a370c73336d50cad610eef78f Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 5 May 2025 10:58:26 +0300 Subject: [PATCH 12/35] Use the thrown exception in http timeout handling (cherry picked from commit 14e324ee30694ae017a39fd6f66392dc2d104617) --- src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs b/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs index 8ca01f6ec..9d896d15c 100644 --- a/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs +++ b/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs @@ -141,7 +141,7 @@ namespace NzbDrone.Common.Http.Dispatchers } catch (OperationCanceledException ex) when (cts.IsCancellationRequested) { - throw new WebException("Http request timed out", ex.InnerException, WebExceptionStatus.Timeout, null); + throw new WebException("Http request timed out", ex, WebExceptionStatus.Timeout, null); } } From e087574de7772760d54a314cb6d5f94be7778bcd Mon Sep 17 00:00:00 2001 From: Stevie Robinson Date: Tue, 13 May 2025 18:20:59 +0200 Subject: [PATCH 13/35] New: Ignore volumes containing `.timemachine` from Disk Space (cherry picked from commit a853c537db0a6bd499a2277987dc170d2a1f5645) --- src/NzbDrone.Core.Test/DiskSpace/DiskSpaceServiceFixture.cs | 1 + src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Core.Test/DiskSpace/DiskSpaceServiceFixture.cs b/src/NzbDrone.Core.Test/DiskSpace/DiskSpaceServiceFixture.cs index 948ab3a54..dd501374c 100644 --- a/src/NzbDrone.Core.Test/DiskSpace/DiskSpaceServiceFixture.cs +++ b/src/NzbDrone.Core.Test/DiskSpace/DiskSpaceServiceFixture.cs @@ -103,6 +103,7 @@ namespace NzbDrone.Core.Test.DiskSpace [TestCase("/var/lib/docker")] [TestCase("/some/place/docker/aufs")] [TestCase("/etc/network")] + [TestCase("/Volumes/.timemachine/ABC123456-A1BC-12A3B45678C9/2025-05-13-181401.backup")] public void should_not_check_diskspace_for_irrelevant_mounts(string path) { var mount = new Mock(); diff --git a/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs b/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs index 584bb7c7c..cb8bd50f0 100644 --- a/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs +++ b/src/NzbDrone.Core/DiskSpace/DiskSpaceService.cs @@ -21,7 +21,7 @@ namespace NzbDrone.Core.DiskSpace private readonly IRootFolderService _rootFolderService; private readonly Logger _logger; - private static readonly Regex _regexSpecialDrive = new Regex("^/var/lib/(docker|rancher|kubelet)(/|$)|^/(boot|etc)(/|$)|/docker(/var)?/aufs(/|$)", RegexOptions.Compiled); + private static readonly Regex _regexSpecialDrive = new Regex(@"^/var/lib/(docker|rancher|kubelet)(/|$)|^/(boot|etc)(/|$)|/docker(/var)?/aufs(/|$)|/\.timemachine", RegexOptions.Compiled); public DiskSpaceService(IDiskProvider diskProvider, IRootFolderService rootFolderService, From 4b48edab0a7c2c93e4a7f4d281bf080e05b1fb0d Mon Sep 17 00:00:00 2001 From: carrossos <99329036+carrossos@users.noreply.github.com> Date: Thu, 22 May 2025 07:57:11 +0700 Subject: [PATCH 14/35] Treat HTTP 410 response for failed download similarly to HTTP 404 (cherry picked from commit 818ae02a7a8f0a8ea0a44e0015e2667d96453332) --- src/NzbDrone.Core/Download/TorrentClientBase.cs | 2 +- src/NzbDrone.Core/Download/UsenetClientBase.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/Download/TorrentClientBase.cs b/src/NzbDrone.Core/Download/TorrentClientBase.cs index 4e3ec11ab..5df5f7ce0 100644 --- a/src/NzbDrone.Core/Download/TorrentClientBase.cs +++ b/src/NzbDrone.Core/Download/TorrentClientBase.cs @@ -170,7 +170,7 @@ namespace NzbDrone.Core.Download } catch (HttpException ex) { - if (ex.Response.StatusCode == HttpStatusCode.NotFound) + if (ex.Response.StatusCode is HttpStatusCode.NotFound or HttpStatusCode.Gone) { _logger.Error(ex, "Downloading torrent file for album '{0}' failed since it no longer exists ({1})", remoteAlbum.Release.Title, torrentUrl); throw new ReleaseUnavailableException(remoteAlbum.Release, "Downloading torrent failed", ex); diff --git a/src/NzbDrone.Core/Download/UsenetClientBase.cs b/src/NzbDrone.Core/Download/UsenetClientBase.cs index 4985ba4c3..4698334aa 100644 --- a/src/NzbDrone.Core/Download/UsenetClientBase.cs +++ b/src/NzbDrone.Core/Download/UsenetClientBase.cs @@ -58,7 +58,7 @@ namespace NzbDrone.Core.Download } catch (HttpException ex) { - if (ex.Response.StatusCode == HttpStatusCode.NotFound) + if (ex.Response.StatusCode is HttpStatusCode.NotFound or HttpStatusCode.Gone) { _logger.Error(ex, "Downloading nzb file for album '{0}' failed since it no longer exists ({1})", remoteAlbum.Release.Title, url); throw new ReleaseUnavailableException(remoteAlbum.Release, "Downloading nzb failed", ex); From f9b2e576964495704d8b5a6e00acbf8039706e44 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Tue, 29 Apr 2025 18:50:55 -0700 Subject: [PATCH 15/35] Increase maximum backup restoration size to 5GB (cherry picked from commit e38deb34221ebf131adcce9551774898f46b1f7f) --- src/Lidarr.Api.V1/System/Backup/BackupController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Lidarr.Api.V1/System/Backup/BackupController.cs b/src/Lidarr.Api.V1/System/Backup/BackupController.cs index 22f017d03..350ada72b 100644 --- a/src/Lidarr.Api.V1/System/Backup/BackupController.cs +++ b/src/Lidarr.Api.V1/System/Backup/BackupController.cs @@ -92,7 +92,7 @@ namespace Lidarr.Api.V1.System.Backup } [HttpPost("restore/upload")] - [RequestFormLimits(MultipartBodyLengthLimit = 1000000000)] + [RequestFormLimits(MultipartBodyLengthLimit = 5000000000)] public object UploadAndRestore() { var files = Request.Form.Files; From 9f229bb68465862bd664e86fa74a1500348ac573 Mon Sep 17 00:00:00 2001 From: Stevie Robinson Date: Thu, 22 May 2025 02:52:16 +0200 Subject: [PATCH 16/35] Ensure Custom Format Maximum Size won't overflow (cherry picked from commit a50d2562649bbe77d0feb9fbfc594d56952e0a5e) --- .../CustomFormats/Specifications/SizeSpecification.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NzbDrone.Core/CustomFormats/Specifications/SizeSpecification.cs b/src/NzbDrone.Core/CustomFormats/Specifications/SizeSpecification.cs index fe873f9ec..9e2fe766e 100644 --- a/src/NzbDrone.Core/CustomFormats/Specifications/SizeSpecification.cs +++ b/src/NzbDrone.Core/CustomFormats/Specifications/SizeSpecification.cs @@ -11,6 +11,7 @@ namespace NzbDrone.Core.CustomFormats { RuleFor(c => c.Min).GreaterThanOrEqualTo(0); RuleFor(c => c.Max).GreaterThan(c => c.Min); + RuleFor(c => c.Max).LessThanOrEqualTo(double.MaxValue); } } From 47c32c9963e2c2ac53fef4a99d98a0e68d55fe0f Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 28 Apr 2025 15:58:25 -0700 Subject: [PATCH 17/35] Improve messaging when NZB contains invalid XML (cherry picked from commit 728df146ada115a367bf1ce808482a4625e6098d) --- .../Download/NzbValidationService.cs | 63 ++++++++++++------- 1 file changed, 39 insertions(+), 24 deletions(-) diff --git a/src/NzbDrone.Core/Download/NzbValidationService.cs b/src/NzbDrone.Core/Download/NzbValidationService.cs index e3cbff710..ee5eae100 100644 --- a/src/NzbDrone.Core/Download/NzbValidationService.cs +++ b/src/NzbDrone.Core/Download/NzbValidationService.cs @@ -1,3 +1,4 @@ +using System; using System.IO; using System.Linq; using System.Xml; @@ -15,39 +16,53 @@ namespace NzbDrone.Core.Download { public void Validate(string filename, byte[] fileContent) { - var reader = new StreamReader(new MemoryStream(fileContent)); - - using (var xmlTextReader = XmlReader.Create(reader, new XmlReaderSettings { DtdProcessing = DtdProcessing.Ignore, IgnoreComments = true })) + try { - var xDoc = XDocument.Load(xmlTextReader); - var nzb = xDoc.Root; + var reader = new StreamReader(new MemoryStream(fileContent)); - if (nzb == null) + using (var xmlTextReader = XmlReader.Create(reader, + new XmlReaderSettings { DtdProcessing = DtdProcessing.Ignore, IgnoreComments = true })) { - throw new InvalidNzbException("Invalid NZB: No Root element [{0}]", filename); - } + var xDoc = XDocument.Load(xmlTextReader); + var nzb = xDoc.Root; - // nZEDb has an bug in their error reporting code spitting out invalid http status codes - if (nzb.Name.LocalName.Equals("error") && - nzb.TryGetAttributeValue("code", out var code) && - nzb.TryGetAttributeValue("description", out var description)) - { - throw new InvalidNzbException("Invalid NZB: Contains indexer error: {0} - {1}", code, description); - } + if (nzb == null) + { + throw new InvalidNzbException("Invalid NZB: No Root element [{0}]", filename); + } - if (!nzb.Name.LocalName.Equals("nzb")) - { - throw new InvalidNzbException("Invalid NZB: Unexpected root element. Expected 'nzb' found '{0}' [{1}]", nzb.Name.LocalName, filename); - } + // nZEDb has an bug in their error reporting code spitting out invalid http status codes + if (nzb.Name.LocalName.Equals("error") && + nzb.TryGetAttributeValue("code", out var code) && + nzb.TryGetAttributeValue("description", out var description)) + { + throw new InvalidNzbException("Invalid NZB: Contains indexer error: {0} - {1}", code, description); + } - var ns = nzb.Name.Namespace; - var files = nzb.Elements(ns + "file").ToList(); + if (!nzb.Name.LocalName.Equals("nzb")) + { + throw new InvalidNzbException( + "Invalid NZB: Unexpected root element. Expected 'nzb' found '{0}' [{1}]", nzb.Name.LocalName, filename); + } - if (files.Empty()) - { - throw new InvalidNzbException("Invalid NZB: No files [{0}]", filename); + var ns = nzb.Name.Namespace; + var files = nzb.Elements(ns + "file").ToList(); + + if (files.Empty()) + { + throw new InvalidNzbException("Invalid NZB: No files [{0}]", filename); + } } } + catch (InvalidNzbException) + { + // Throw the original exception + throw; + } + catch (Exception ex) + { + throw new InvalidNzbException("Invalid NZB: Unable to parse [{0}]", ex, filename); + } } } } From efebab9ba215b7d8aab18d6d2d906833d9062e5c Mon Sep 17 00:00:00 2001 From: Bogdan Date: Thu, 12 Jun 2025 11:02:35 +0300 Subject: [PATCH 18/35] Update default log level message (cherry picked from commit 817d13e85c89d1f10abab09a8f63272a46f5d0b6) --- frontend/src/System/Logs/Files/LogFiles.js | 17 +++++++++-------- src/NzbDrone.Core/Localization/Core/en.json | 2 ++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/frontend/src/System/Logs/Files/LogFiles.js b/frontend/src/System/Logs/Files/LogFiles.js index 83736c617..5339a8590 100644 --- a/frontend/src/System/Logs/Files/LogFiles.js +++ b/frontend/src/System/Logs/Files/LogFiles.js @@ -1,8 +1,8 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import Alert from 'Components/Alert'; -import Link from 'Components/Link/Link'; import LoadingIndicator from 'Components/Loading/LoadingIndicator'; +import InlineMarkdown from 'Components/Markdown/InlineMarkdown'; import PageContent from 'Components/Page/PageContent'; import PageContentBody from 'Components/Page/PageContentBody'; import PageToolbar from 'Components/Page/Toolbar/PageToolbar'; @@ -77,15 +77,16 @@ class LogFiles extends Component {
- Log files are located in: {location} + {translate('LogFilesLocation', { + location + })}
- { - currentLogView === 'Log Files' && -
- The log level defaults to 'Info' and can be changed in General Settings -
- } + {currentLogView === 'Log Files' ? ( +
+ +
+ ) : null}
{ diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index cd5e89f17..4385b79dd 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -689,6 +689,7 @@ "LocalPathHelpText": "Path that {appName} should use to access the remote path locally", "Location": "Location", "LogFiles": "Log Files", + "LogFilesLocation": "Log files are located in: {location}", "LogLevel": "Log Level", "LogLevelvalueTraceTraceLoggingShouldOnlyBeEnabledTemporarily": "Trace logging should only be enabled temporarily", "LogSizeLimit": "Log Size Limit", @@ -1221,6 +1222,7 @@ "TestParsing": "Test Parsing", "TheAlbumsFilesWillBeDeleted": "The album's files will be deleted.", "TheArtistFolderStrongpathstrongAndAllOfItsContentWillBeDeleted": "The artist folder '{0}' and all of its content will be deleted.", + "TheLogLevelDefault": "The log level defaults to 'Debug' and can be changed in [General Settings](/settings/general)", "Theme": "Theme", "ThemeHelpText": "Change Application UI Theme, 'Auto' Theme will use your OS Theme to set Light or Dark mode. Inspired by Theme.Park", "ThereWasAnErrorLoadingThisItem": "There was an error loading this item", From c51b5c6fbae4173e37f4362b9ce43aa77f1e847b Mon Sep 17 00:00:00 2001 From: Bogdan Date: Thu, 17 Apr 2025 11:19:56 +0300 Subject: [PATCH 19/35] Log when expected track file is missing from disk on upgrade (cherry picked from commit 1047e71b7d78812f2fa04b150fc6774efc1a6af8) --- src/NzbDrone.Core/MediaFiles/UpgradeMediaFileService.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/NzbDrone.Core/MediaFiles/UpgradeMediaFileService.cs b/src/NzbDrone.Core/MediaFiles/UpgradeMediaFileService.cs index 0dd3c3e62..1dddb8de2 100644 --- a/src/NzbDrone.Core/MediaFiles/UpgradeMediaFileService.cs +++ b/src/NzbDrone.Core/MediaFiles/UpgradeMediaFileService.cs @@ -65,6 +65,10 @@ namespace NzbDrone.Core.MediaFiles _logger.Debug("Removing existing track file: {0}", file); _recycleBinProvider.DeleteFile(trackFilePath, subfolder); } + else + { + _logger.Warn("Existing track file missing from disk: {0}", trackFilePath); + } moveFileResult.OldFiles.Add(file); _mediaFileService.Delete(file, DeleteMediaFileReason.Upgrade); From 72fa05cf41f3cd865f74fff5a39fdd2871964fd3 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Tue, 29 Apr 2025 03:09:14 +0300 Subject: [PATCH 20/35] Fixed: Sending notifications for Custom Script with unparsed artist (cherry picked from commit 76b1130b6811454fa6b1e80e0b2012c24c4ae8fa) --- src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs index 9610ef324..c657f8b16 100644 --- a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs +++ b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs @@ -347,7 +347,7 @@ namespace NzbDrone.Core.Notifications.CustomScript { if (artist == null) { - return null; + return new List(); } return _tagRepository.GetTags(artist.Tags) From 66ea1b1dfb46502b4768df671e2d6c59d8f0f5a9 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 30 Mar 2025 15:26:18 +0300 Subject: [PATCH 21/35] Fixed: Avoid requests without categories for FileList (cherry picked from commit 4728fa29ef578a7ff33cf16a4e6b46689c4be1b4) --- .../Indexers/FileList/FileListRequestGenerator.cs | 6 ++++++ src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs b/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs index 37c421456..653a94f9c 100644 --- a/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.IndexerSearch.Definitions; @@ -44,6 +45,11 @@ namespace NzbDrone.Core.Indexers.FileList private IEnumerable GetRequest(string searchType, IEnumerable categories, string parameters) { + if (categories.Empty()) + { + yield break; + } + var categoriesQuery = string.Join(",", categories.Distinct()); var baseUrl = string.Format("{0}/api.php?action={1}&category={2}{3}", Settings.BaseUrl.TrimEnd('/'), searchType, categoriesQuery, parameters); diff --git a/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs b/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs index 2f587e6ef..398cebd38 100644 --- a/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs +++ b/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs @@ -13,6 +13,8 @@ namespace NzbDrone.Core.Indexers.FileList RuleFor(c => c.Username).NotEmpty(); RuleFor(c => c.Passkey).NotEmpty(); + RuleFor(c => c.Categories).NotEmpty(); + RuleFor(c => c.SeedCriteria).SetValidator(_ => new SeedCriteriaSettingsValidator()); } } From fd00a5627cffcc0c8ee03a922008e11130a672aa Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 31 Mar 2025 17:50:35 +0300 Subject: [PATCH 22/35] Fixed: Improve error message for queue items from Transmission (cherry picked from commit 0ae07898ba6f85299e739d38ab1dd900c39e91d2) --- src/NzbDrone.Core/Download/Clients/Aria2/Aria2.cs | 4 +++- .../Download/Clients/Blackhole/TorrentBlackhole.cs | 4 +++- .../Download/Clients/Blackhole/UsenetBlackhole.cs | 4 +++- src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs | 4 +++- .../Clients/DownloadStation/TorrentDownloadStation.cs | 4 +++- .../Clients/DownloadStation/UsenetDownloadStation.cs | 4 +++- src/NzbDrone.Core/Download/Clients/Flood/Flood.cs | 4 +++- .../Clients/FreeboxDownload/TorrentFreeboxDownload.cs | 4 +++- .../Download/Clients/Hadouken/Hadouken.cs | 4 +++- .../Download/Clients/NzbVortex/NzbVortex.cs | 4 +++- src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs | 4 +++- .../Download/Clients/Pneumatic/Pneumatic.cs | 4 +++- .../Download/Clients/QBittorrent/QBittorrent.cs | 4 +++- src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs | 4 +++- .../Download/Clients/Transmission/Transmission.cs | 4 +++- .../Download/Clients/Transmission/TransmissionBase.cs | 10 ++++++++-- src/NzbDrone.Core/Download/Clients/Vuze/Vuze.cs | 4 +++- .../Download/Clients/rTorrent/RTorrent.cs | 4 +++- .../Download/Clients/uTorrent/UTorrent.cs | 4 +++- src/NzbDrone.Core/Download/DownloadClientBase.cs | 4 ++++ src/NzbDrone.Core/Download/TorrentClientBase.cs | 4 +++- src/NzbDrone.Core/Download/UsenetClientBase.cs | 4 +++- src/NzbDrone.Core/Localization/Core/en.json | 1 + 23 files changed, 73 insertions(+), 22 deletions(-) diff --git a/src/NzbDrone.Core/Download/Clients/Aria2/Aria2.cs b/src/NzbDrone.Core/Download/Clients/Aria2/Aria2.cs index 0e13b49af..2a045f788 100644 --- a/src/NzbDrone.Core/Download/Clients/Aria2/Aria2.cs +++ b/src/NzbDrone.Core/Download/Clients/Aria2/Aria2.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -28,9 +29,10 @@ namespace NzbDrone.Core.Download.Clients.Aria2 IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; } diff --git a/src/NzbDrone.Core/Download/Clients/Blackhole/TorrentBlackhole.cs b/src/NzbDrone.Core/Download/Clients/Blackhole/TorrentBlackhole.cs index 27e2560ec..a9f8c445f 100644 --- a/src/NzbDrone.Core/Download/Clients/Blackhole/TorrentBlackhole.cs +++ b/src/NzbDrone.Core/Download/Clients/Blackhole/TorrentBlackhole.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Organizer; using NzbDrone.Core.Parser.Model; @@ -30,9 +31,10 @@ namespace NzbDrone.Core.Download.Clients.Blackhole IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _scanWatchFolder = scanWatchFolder; diff --git a/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs b/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs index 279ef6fcd..71f7fc828 100644 --- a/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs +++ b/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs @@ -7,6 +7,7 @@ using NzbDrone.Common.Disk; using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.Organizer; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -25,8 +26,9 @@ namespace NzbDrone.Core.Download.Clients.Blackhole IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, IValidateNzbs nzbValidationService, + ILocalizationService localizationService, Logger logger) - : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, logger) + : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, localizationService, logger) { _scanWatchFolder = scanWatchFolder; diff --git a/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs b/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs index 5ad0f2387..e9ad75d37 100644 --- a/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs +++ b/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -27,9 +28,10 @@ namespace NzbDrone.Core.Download.Clients.Deluge IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; } diff --git a/src/NzbDrone.Core/Download/Clients/DownloadStation/TorrentDownloadStation.cs b/src/NzbDrone.Core/Download/Clients/DownloadStation/TorrentDownloadStation.cs index 1c31bbd9a..0774d5d6a 100644 --- a/src/NzbDrone.Core/Download/Clients/DownloadStation/TorrentDownloadStation.cs +++ b/src/NzbDrone.Core/Download/Clients/DownloadStation/TorrentDownloadStation.cs @@ -11,6 +11,7 @@ using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.Download.Clients.DownloadStation.Proxies; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -37,9 +38,10 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _dsInfoProxy = dsInfoProxy; _dsTaskProxySelector = dsTaskProxySelector; diff --git a/src/NzbDrone.Core/Download/Clients/DownloadStation/UsenetDownloadStation.cs b/src/NzbDrone.Core/Download/Clients/DownloadStation/UsenetDownloadStation.cs index 1add52b29..fc14629f8 100644 --- a/src/NzbDrone.Core/Download/Clients/DownloadStation/UsenetDownloadStation.cs +++ b/src/NzbDrone.Core/Download/Clients/DownloadStation/UsenetDownloadStation.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; using NzbDrone.Core.Download.Clients.DownloadStation.Proxies; +using NzbDrone.Core.Localization; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; using NzbDrone.Core.ThingiProvider; @@ -34,8 +35,9 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, IValidateNzbs nzbValidationService, + ILocalizationService localizationService, Logger logger) - : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, logger) + : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, localizationService, logger) { _dsInfoProxy = dsInfoProxy; _dsTaskProxySelector = dsTaskProxySelector; diff --git a/src/NzbDrone.Core/Download/Clients/Flood/Flood.cs b/src/NzbDrone.Core/Download/Clients/Flood/Flood.cs index f8cfeeed0..0c8802859 100644 --- a/src/NzbDrone.Core/Download/Clients/Flood/Flood.cs +++ b/src/NzbDrone.Core/Download/Clients/Flood/Flood.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.Download.Clients.Flood.Models; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -28,9 +29,10 @@ namespace NzbDrone.Core.Download.Clients.Flood IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; _downloadSeedConfigProvider = downloadSeedConfigProvider; diff --git a/src/NzbDrone.Core/Download/Clients/FreeboxDownload/TorrentFreeboxDownload.cs b/src/NzbDrone.Core/Download/Clients/FreeboxDownload/TorrentFreeboxDownload.cs index b83615c18..34afe472f 100644 --- a/src/NzbDrone.Core/Download/Clients/FreeboxDownload/TorrentFreeboxDownload.cs +++ b/src/NzbDrone.Core/Download/Clients/FreeboxDownload/TorrentFreeboxDownload.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.Download.Clients.FreeboxDownload.Responses; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -25,9 +26,10 @@ namespace NzbDrone.Core.Download.Clients.FreeboxDownload IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; } diff --git a/src/NzbDrone.Core/Download/Clients/Hadouken/Hadouken.cs b/src/NzbDrone.Core/Download/Clients/Hadouken/Hadouken.cs index d97645b3c..12336c986 100644 --- a/src/NzbDrone.Core/Download/Clients/Hadouken/Hadouken.cs +++ b/src/NzbDrone.Core/Download/Clients/Hadouken/Hadouken.cs @@ -8,6 +8,7 @@ using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.Download.Clients.Hadouken.Models; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -25,9 +26,10 @@ namespace NzbDrone.Core.Download.Clients.Hadouken IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; } diff --git a/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs b/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs index dba7b3ffb..c71e6977f 100644 --- a/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs +++ b/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs @@ -8,6 +8,7 @@ using NzbDrone.Common.Disk; using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; using NzbDrone.Core.Validation; @@ -24,8 +25,9 @@ namespace NzbDrone.Core.Download.Clients.NzbVortex IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, IValidateNzbs nzbValidationService, + ILocalizationService localizationService, Logger logger) - : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, logger) + : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, localizationService, logger) { _proxy = proxy; } diff --git a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs index df3e86411..29ee3718e 100644 --- a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs +++ b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs @@ -10,6 +10,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; using NzbDrone.Core.Exceptions; +using NzbDrone.Core.Localization; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; using NzbDrone.Core.Validation; @@ -28,8 +29,9 @@ namespace NzbDrone.Core.Download.Clients.Nzbget IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, IValidateNzbs nzbValidationService, + ILocalizationService localizationService, Logger logger) - : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, logger) + : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, localizationService, logger) { _proxy = proxy; } diff --git a/src/NzbDrone.Core/Download/Clients/Pneumatic/Pneumatic.cs b/src/NzbDrone.Core/Download/Clients/Pneumatic/Pneumatic.cs index becc142d2..28866080e 100644 --- a/src/NzbDrone.Core/Download/Clients/Pneumatic/Pneumatic.cs +++ b/src/NzbDrone.Core/Download/Clients/Pneumatic/Pneumatic.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; using NzbDrone.Core.Indexers; +using NzbDrone.Core.Localization; using NzbDrone.Core.Organizer; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -23,8 +24,9 @@ namespace NzbDrone.Core.Download.Clients.Pneumatic IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, Logger logger) - : base(configService, diskProvider, remotePathMappingService, logger) + : base(configService, diskProvider, remotePathMappingService, localizationService, logger) { _httpClient = httpClient; } diff --git a/src/NzbDrone.Core/Download/Clients/QBittorrent/QBittorrent.cs b/src/NzbDrone.Core/Download/Clients/QBittorrent/QBittorrent.cs index 75587513a..9ecf3d471 100644 --- a/src/NzbDrone.Core/Download/Clients/QBittorrent/QBittorrent.cs +++ b/src/NzbDrone.Core/Download/Clients/QBittorrent/QBittorrent.cs @@ -10,6 +10,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -35,9 +36,10 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, ICacheManager cacheManager, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxySelector = proxySelector; diff --git a/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs b/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs index 05d565718..7f36ae891 100644 --- a/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs +++ b/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs @@ -10,6 +10,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; using NzbDrone.Core.Exceptions; +using NzbDrone.Core.Localization; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; using NzbDrone.Core.Validation; @@ -26,8 +27,9 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, IValidateNzbs nzbValidationService, + ILocalizationService localizationService, Logger logger) - : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, logger) + : base(httpClient, configService, diskProvider, remotePathMappingService, nzbValidationService, localizationService, logger) { _proxy = proxy; } diff --git a/src/NzbDrone.Core/Download/Clients/Transmission/Transmission.cs b/src/NzbDrone.Core/Download/Clients/Transmission/Transmission.cs index 88fdb0f41..d3963e571 100644 --- a/src/NzbDrone.Core/Download/Clients/Transmission/Transmission.cs +++ b/src/NzbDrone.Core/Download/Clients/Transmission/Transmission.cs @@ -8,6 +8,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.RemotePathMappings; @@ -24,9 +25,10 @@ namespace NzbDrone.Core.Download.Clients.Transmission IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(proxy, torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(proxy, torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { } diff --git a/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs b/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs index 2dc9dd14e..e797ae48a 100644 --- a/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs +++ b/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs @@ -9,6 +9,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -28,9 +29,10 @@ namespace NzbDrone.Core.Download.Clients.Transmission IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; } @@ -101,7 +103,11 @@ namespace NzbDrone.Core.Download.Clients.Transmission if (!torrent.ErrorString.IsNullOrWhiteSpace()) { item.Status = DownloadItemStatus.Warning; - item.Message = torrent.ErrorString; + item.Message = _localizationService.GetLocalizedString("DownloadClientItemErrorMessage", new Dictionary + { + { "clientName", Name }, + { "message", torrent.ErrorString } + }); } else if (torrent.TotalSize == 0) { diff --git a/src/NzbDrone.Core/Download/Clients/Vuze/Vuze.cs b/src/NzbDrone.Core/Download/Clients/Vuze/Vuze.cs index 9f5897495..c10d5d3ba 100644 --- a/src/NzbDrone.Core/Download/Clients/Vuze/Vuze.cs +++ b/src/NzbDrone.Core/Download/Clients/Vuze/Vuze.cs @@ -5,6 +5,7 @@ using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.Download.Clients.Transmission; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.RemotePathMappings; @@ -23,9 +24,10 @@ namespace NzbDrone.Core.Download.Clients.Vuze IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(proxy, torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(proxy, torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { } diff --git a/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs b/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs index c68e1c15d..ff89db95c 100644 --- a/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs +++ b/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs @@ -12,6 +12,7 @@ using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.Download.Clients.rTorrent; using NzbDrone.Core.Exceptions; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -35,9 +36,10 @@ namespace NzbDrone.Core.Download.Clients.RTorrent IRemotePathMappingService remotePathMappingService, IDownloadSeedConfigProvider downloadSeedConfigProvider, IRTorrentDirectoryValidator rTorrentDirectoryValidator, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; _rTorrentDirectoryValidator = rTorrentDirectoryValidator; diff --git a/src/NzbDrone.Core/Download/Clients/uTorrent/UTorrent.cs b/src/NzbDrone.Core/Download/Clients/uTorrent/UTorrent.cs index 72c7ec827..c44b908bd 100644 --- a/src/NzbDrone.Core/Download/Clients/uTorrent/UTorrent.cs +++ b/src/NzbDrone.Core/Download/Clients/uTorrent/UTorrent.cs @@ -10,6 +10,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -29,9 +30,10 @@ namespace NzbDrone.Core.Download.Clients.UTorrent IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, blocklistService, logger) + : base(torrentFileInfoReader, httpClient, configService, diskProvider, remotePathMappingService, localizationService, blocklistService, logger) { _proxy = proxy; diff --git a/src/NzbDrone.Core/Download/DownloadClientBase.cs b/src/NzbDrone.Core/Download/DownloadClientBase.cs index 63ccf629e..69f0a025e 100644 --- a/src/NzbDrone.Core/Download/DownloadClientBase.cs +++ b/src/NzbDrone.Core/Download/DownloadClientBase.cs @@ -8,6 +8,7 @@ using NzbDrone.Common.Disk; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; using NzbDrone.Core.Indexers; +using NzbDrone.Core.Localization; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; using NzbDrone.Core.ThingiProvider; @@ -23,6 +24,7 @@ namespace NzbDrone.Core.Download protected readonly IConfigService _configService; protected readonly IDiskProvider _diskProvider; protected readonly IRemotePathMappingService _remotePathMappingService; + protected readonly ILocalizationService _localizationService; protected readonly Logger _logger; protected ResiliencePipeline RetryStrategy => new ResiliencePipelineBuilder() @@ -77,11 +79,13 @@ namespace NzbDrone.Core.Download protected DownloadClientBase(IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, Logger logger) { _configService = configService; _diskProvider = diskProvider; _remotePathMappingService = remotePathMappingService; + _localizationService = localizationService; _logger = logger; } diff --git a/src/NzbDrone.Core/Download/TorrentClientBase.cs b/src/NzbDrone.Core/Download/TorrentClientBase.cs index 5df5f7ce0..cdee0e799 100644 --- a/src/NzbDrone.Core/Download/TorrentClientBase.cs +++ b/src/NzbDrone.Core/Download/TorrentClientBase.cs @@ -10,6 +10,7 @@ using NzbDrone.Core.Blocklisting; using NzbDrone.Core.Configuration; using NzbDrone.Core.Exceptions; using NzbDrone.Core.Indexers; +using NzbDrone.Core.Localization; using NzbDrone.Core.MediaFiles.TorrentInfo; using NzbDrone.Core.Organizer; using NzbDrone.Core.Parser.Model; @@ -30,9 +31,10 @@ namespace NzbDrone.Core.Download IConfigService configService, IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, + ILocalizationService localizationService, IBlocklistService blocklistService, Logger logger) - : base(configService, diskProvider, remotePathMappingService, logger) + : base(configService, diskProvider, remotePathMappingService, localizationService, logger) { _httpClient = httpClient; _blocklistService = blocklistService; diff --git a/src/NzbDrone.Core/Download/UsenetClientBase.cs b/src/NzbDrone.Core/Download/UsenetClientBase.cs index 4698334aa..d92363abf 100644 --- a/src/NzbDrone.Core/Download/UsenetClientBase.cs +++ b/src/NzbDrone.Core/Download/UsenetClientBase.cs @@ -6,6 +6,7 @@ using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; using NzbDrone.Core.Exceptions; using NzbDrone.Core.Indexers; +using NzbDrone.Core.Localization; using NzbDrone.Core.Organizer; using NzbDrone.Core.Parser.Model; using NzbDrone.Core.RemotePathMappings; @@ -24,8 +25,9 @@ namespace NzbDrone.Core.Download IDiskProvider diskProvider, IRemotePathMappingService remotePathMappingService, IValidateNzbs nzbValidationService, + ILocalizationService localizationService, Logger logger) - : base(configService, diskProvider, remotePathMappingService, logger) + : base(configService, diskProvider, remotePathMappingService, localizationService, logger) { _httpClient = httpClient; _nzbValidationService = nzbValidationService; diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index 4385b79dd..c9271275e 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -382,6 +382,7 @@ "DownloadClientDelugeSettingsDirectoryCompleted": "Move When Completed Directory", "DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Optional location to move completed downloads to, leave blank to use the default Deluge location", "DownloadClientDelugeSettingsDirectoryHelpText": "Optional location to put downloads in, leave blank to use the default Deluge location", + "DownloadClientItemErrorMessage": "{clientName} is reporting an error: {message}", "DownloadClientPriorityHelpText": "Download Client Priority from 1 (Highest) to 50 (Lowest). Default: 1. Round-Robin is used for clients with the same priority.", "DownloadClientQbittorrentSettingsContentLayout": "Content Layout", "DownloadClientQbittorrentSettingsContentLayoutHelpText": "Whether to use qBittorrent's configured content layout, the original layout from the torrent or always create a subfolder (qBittorrent 4.3.2+)", From dc61618711ee8625b4f3d0441fc32286c059f369 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Tue, 25 Mar 2025 14:33:37 +0200 Subject: [PATCH 23/35] Save Publish Dates as UTC for grabbed albums --- src/NzbDrone.Core/History/EntityHistoryService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NzbDrone.Core/History/EntityHistoryService.cs b/src/NzbDrone.Core/History/EntityHistoryService.cs index d88358ddb..4b342995a 100644 --- a/src/NzbDrone.Core/History/EntityHistoryService.cs +++ b/src/NzbDrone.Core/History/EntityHistoryService.cs @@ -157,7 +157,7 @@ namespace NzbDrone.Core.History history.Data.Add("Age", message.Album.Release.Age.ToString()); history.Data.Add("AgeHours", message.Album.Release.AgeHours.ToString()); history.Data.Add("AgeMinutes", message.Album.Release.AgeMinutes.ToString()); - history.Data.Add("PublishedDate", message.Album.Release.PublishDate.ToString("s") + "Z"); + history.Data.Add("PublishedDate", message.Album.Release.PublishDate.ToUniversalTime().ToString("s") + "Z"); history.Data.Add("DownloadClient", message.DownloadClient); history.Data.Add("Size", message.Album.Release.Size.ToString()); history.Data.Add("DownloadUrl", message.Album.Release.DownloadUrl); From 91f06801ca820cee480a2a8def94c65fddd06235 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 15 Jun 2025 09:22:00 +0300 Subject: [PATCH 24/35] Bump version to 2.13.1 --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index db4df08fe..ba0800fee 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,7 +9,7 @@ variables: testsFolder: './_tests' yarnCacheFolder: $(Pipeline.Workspace)/.yarn nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages - majorVersion: '2.13.0' + majorVersion: '2.13.1' minorVersion: $[counter('minorVersion', 1076)] lidarrVersion: '$(majorVersion).$(minorVersion)' buildName: '$(Build.SourceBranchName).$(lidarrVersion)' From c7b8aa8a04e65890334369a7b7340526735f755a Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Sun, 13 Jul 2025 20:06:05 -0500 Subject: [PATCH 25/35] Skip tests temporally --- .../MetadataSource/SkyHook/SkyHookProxyFixture.cs | 2 +- .../MetadataSource/SkyHook/SkyHookProxySearchFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs | 2 +- .../ApiTests/WantedTests/CutoffUnmetFixture.cs | 2 +- .../ApiTests/WantedTests/MissingFixture.cs | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs index acac75e97..2ee493ecf 100644 --- a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs +++ b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs @@ -14,7 +14,7 @@ using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test.MetadataSource.SkyHook { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class SkyHookProxyFixture : CoreTest { private MetadataProfile _metadataProfile; diff --git a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs index 2e44d67a1..13c9480c9 100644 --- a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs +++ b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs @@ -12,7 +12,7 @@ using NzbDrone.Test.Common; namespace NzbDrone.Core.Test.MetadataSource.SkyHook { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class SkyHookProxySearchFixture : CoreTest { [SetUp] diff --git a/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs index 07f106f5e..56b5bb96b 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs @@ -7,7 +7,7 @@ using NzbDrone.Test.Common; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class ArtistEditorFixture : IntegrationTest { private void GivenExistingArtist() diff --git a/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs index 3cb30f462..9311f74bc 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs @@ -7,7 +7,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class ArtistFixture : IntegrationTest { [Test] diff --git a/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs index 7a6dec7f4..c83456066 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs @@ -4,7 +4,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class ArtistLookupFixture : IntegrationTest { [TestCase("Kiss", "Kiss")] diff --git a/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs index 67a448b04..c068f1d32 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs @@ -6,7 +6,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class BlocklistFixture : IntegrationTest { private ArtistResource _artist; diff --git a/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs index 8b13f9c37..5aa4afa48 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs @@ -9,7 +9,7 @@ using NzbDrone.Integration.Test.Client; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class CalendarFixture : IntegrationTest { public ClientBase Calendar; diff --git a/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs index 19301d36b..73304a7ec 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs @@ -7,7 +7,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class TrackFixture : IntegrationTest { private ArtistResource _artist; diff --git a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs index ef1f1edc2..8289b8a56 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs @@ -8,7 +8,7 @@ using NzbDrone.Core.Qualities; namespace NzbDrone.Integration.Test.ApiTests.WantedTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class CutoffUnmetFixture : IntegrationTest { [SetUp] diff --git a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs index 237953a0e..6bc8b828a 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs @@ -7,7 +7,7 @@ using NzbDrone.Core.Music; namespace NzbDrone.Integration.Test.ApiTests.WantedTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-07-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] public class MissingFixture : IntegrationTest { [SetUp] From 002e8f5b69718a8686f14040a7cba4c3348ed26f Mon Sep 17 00:00:00 2001 From: Weblate Date: Sat, 19 Jul 2025 13:33:33 +0000 Subject: [PATCH 26/35] Multiple Translations updated by Weblate ignore-downstream Co-authored-by: ArLab1 Co-authored-by: Clean Seat Co-authored-by: Donato Battista Co-authored-by: Gallyam Biktashev Co-authored-by: Havok Dan Co-authored-by: Hugoren Martinako Co-authored-by: Matteo Rettore Co-authored-by: Oleksii Ilienko Co-authored-by: Oskari Lavinto Co-authored-by: Siujeon Co-authored-by: Weblate Co-authored-by: Weblate Co-authored-by: fordas Co-authored-by: josef Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ar/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/bg/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ca/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/cs/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/da/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/de/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/el/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/es/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/fi/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/fr/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/he/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/hi/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/hu/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/id/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/is/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/it/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ja/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ko/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/nl/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/pl/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/pt/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/pt_BR/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ro/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ru/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/sk/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/sv/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/th/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/tr/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/uk/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/vi/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/zh_CN/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/zh_Hans/ Translation: Servarr/Lidarr --- src/NzbDrone.Core/Localization/Core/ar.json | 5 +- src/NzbDrone.Core/Localization/Core/bg.json | 5 +- src/NzbDrone.Core/Localization/Core/ca.json | 156 ++++++++++++++- src/NzbDrone.Core/Localization/Core/cs.json | 11 +- src/NzbDrone.Core/Localization/Core/da.json | 5 +- src/NzbDrone.Core/Localization/Core/de.json | 26 ++- src/NzbDrone.Core/Localization/Core/el.json | 6 +- src/NzbDrone.Core/Localization/Core/es.json | 12 +- src/NzbDrone.Core/Localization/Core/fi.json | 184 +++++++++--------- src/NzbDrone.Core/Localization/Core/fr.json | 11 +- src/NzbDrone.Core/Localization/Core/he.json | 5 +- src/NzbDrone.Core/Localization/Core/hi.json | 5 +- src/NzbDrone.Core/Localization/Core/hr.json | 1 - src/NzbDrone.Core/Localization/Core/hu.json | 8 +- src/NzbDrone.Core/Localization/Core/id.json | 3 +- src/NzbDrone.Core/Localization/Core/is.json | 5 +- src/NzbDrone.Core/Localization/Core/it.json | 17 +- src/NzbDrone.Core/Localization/Core/ja.json | 5 +- src/NzbDrone.Core/Localization/Core/ko.json | 8 +- .../Localization/Core/nb_NO.json | 1 - src/NzbDrone.Core/Localization/Core/nl.json | 9 +- src/NzbDrone.Core/Localization/Core/pl.json | 6 +- src/NzbDrone.Core/Localization/Core/pt.json | 18 +- .../Localization/Core/pt_BR.json | 12 +- src/NzbDrone.Core/Localization/Core/ro.json | 5 +- src/NzbDrone.Core/Localization/Core/ru.json | 12 +- src/NzbDrone.Core/Localization/Core/sk.json | 5 +- src/NzbDrone.Core/Localization/Core/sv.json | 6 +- src/NzbDrone.Core/Localization/Core/th.json | 5 +- src/NzbDrone.Core/Localization/Core/tr.json | 11 +- src/NzbDrone.Core/Localization/Core/uk.json | 162 ++++++++++++++- src/NzbDrone.Core/Localization/Core/vi.json | 5 +- .../Localization/Core/zh_CN.json | 12 +- .../Localization/Core/zh_Hans.json | 7 +- 34 files changed, 574 insertions(+), 180 deletions(-) diff --git a/src/NzbDrone.Core/Localization/Core/ar.json b/src/NzbDrone.Core/Localization/Core/ar.json index 8e5b877da..dd42295c8 100644 --- a/src/NzbDrone.Core/Localization/Core/ar.json +++ b/src/NzbDrone.Core/Localization/Core/ar.json @@ -239,7 +239,6 @@ "DeleteQualityProfileMessageText": "هل أنت متأكد من أنك تريد حذف ملف تعريف الجودة {0}", "DeleteReleaseProfile": "حذف ملف تعريف التأخير", "DeleteReleaseProfileMessageText": "هل أنت متأكد أنك تريد حذف ملف تعريف التأخير هذا؟", - "DeleteRootFolderMessageText": "هل أنت متأكد أنك تريد حذف المفهرس \"{0}\"؟", "DeleteSelectedTrackFiles": "حذف ملفات الأفلام المحددة", "DeleteSelectedTrackFilesMessageText": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟", "DeleteTagMessageText": "هل أنت متأكد أنك تريد حذف العلامة \"{0}\"؟", @@ -765,5 +764,7 @@ "Paused": "متوقف مؤقتًا", "Pending": "قيد الانتظار", "WaitingToImport": "في انتظار الاستيراد", - "WaitingToProcess": "في انتظار المعالجة" + "WaitingToProcess": "في انتظار المعالجة", + "CurrentlyInstalled": "مثبتة حاليا", + "RemoveRootFolder": "قم بإزالة المجلد الجذر" } diff --git a/src/NzbDrone.Core/Localization/Core/bg.json b/src/NzbDrone.Core/Localization/Core/bg.json index 4150d7860..e5c92b212 100644 --- a/src/NzbDrone.Core/Localization/Core/bg.json +++ b/src/NzbDrone.Core/Localization/Core/bg.json @@ -184,7 +184,6 @@ "DeleteDelayProfile": "Изтриване на профила за забавяне", "DeleteEmptyFolders": "Изтрийте празни папки", "DeleteImportListExclusion": "Изтриване на изключването на списъка за импортиране", - "DeleteRootFolderMessageText": "Наистина ли искате да изтриете индексатора „{0}“?", "DeleteSelectedTrackFiles": "Изтриване на избрани филмови файлове", "DeleteTag": "Изтриване на маркера", "DownloadPropersAndRepacksHelpTexts1": "Дали автоматично да надстроите до Propers / Repacks", @@ -835,5 +834,7 @@ "WaitingToProcess": "Изчаква се обработка", "Downloaded": "Изтеглено", "Paused": "На пауза", - "Pending": "В очакване" + "Pending": "В очакване", + "CurrentlyInstalled": "Понастоящем инсталиран", + "RemoveRootFolder": "Премахнете основната папка" } diff --git a/src/NzbDrone.Core/Localization/Core/ca.json b/src/NzbDrone.Core/Localization/Core/ca.json index 97ac789ac..d5eccc5a6 100644 --- a/src/NzbDrone.Core/Localization/Core/ca.json +++ b/src/NzbDrone.Core/Localization/Core/ca.json @@ -265,11 +265,10 @@ "DeleteEmptyFolders": "Suprimeix les carpetes buides", "DeleteImportListExclusionMessageText": "Esteu segur que voleu suprimir aquesta exclusió de la llista d'importació?", "DeleteIndexerMessageText": "Esteu segur que voleu suprimir l'indexador '{name}'?", - "DeleteMetadataProfileMessageText": "Esteu segur que voleu suprimir el perfil de qualitat {0}", + "DeleteMetadataProfileMessageText": "Esteu segur que voleu suprimir el perfil de metadades '{name}'?", "DeleteNotification": "Suprimeix la notificació", "DeleteNotificationMessageText": "Esteu segur que voleu suprimir la notificació '{name}'?", "DeleteQualityProfile": "Suprimeix el perfil de qualitat", - "DeleteRootFolderMessageText": "Esteu segur que voleu suprimir l'indexador '{0}'?", "DeleteSelectedTrackFiles": "Suprimeix els fitxers de pel·lícules seleccionats", "DeleteSelectedTrackFilesMessageText": "Esteu segur que voleu suprimir els fitxers de pel·lícules seleccionats?", "DeleteTag": "Suprimeix l'etiqueta", @@ -346,7 +345,7 @@ "PageSizeHelpText": "Nombre d'elements per mostrar a cada pàgina", "Path": "Ruta", "Profiles": "Perfils", - "Proper": "Proper", + "Proper": "Correcte", "PropersAndRepacks": "Propietats i Repacks", "Protocol": "Protocol", "ProtocolHelpText": "Trieu quin(s) protocol(s) utilitzar i quin és el preferit quan escolliu entre versions iguals", @@ -462,7 +461,7 @@ "Progress": "Progrés", "SizeLimit": "Límit de mida", "Backup": "Còpia de seguretat", - "IndexerTagHelpText": "Només utilitza aquest indexador per a pel·lícules que coincideixin amb almenys una etiqueta. Deixar en blanc per a utilitzar-ho amb totes les pel·lícules.", + "IndexerTagHelpText": "Utilitzeu aquest indexador només per a pel·lícules amb almenys una etiqueta coincident. Deixeu-ho en blanc per a utilitzar-ho amb totes les pel·lícules.", "Info": "Informació", "InstanceName": "Nom de la instància", "InteractiveImport": "Importació interactiva", @@ -592,7 +591,7 @@ "CopyToClipboard": "Copia al porta-papers", "CouldntFindAnyResultsForTerm": "No s'ha pogut trobar cap resultat per a '{0}'", "DeleteCustomFormat": "Suprimeix el format personalitzat", - "DeleteCustomFormatMessageText": "Esteu segur que voleu suprimir l'indexador '{0}'?", + "DeleteCustomFormatMessageText": "Esteu segur que voleu suprimir l'indexador '{name}'?", "DeleteFormatMessageText": "Esteu segur que voleu suprimir l'etiqueta de format '{name}'?", "DownloadPropersAndRepacksHelpTextWarning": "Utilitzeu formats personalitzats per a actualitzacions automàtiques a Propers/Repacks", "DownloadedUnableToImportCheckLogsForDetails": "Baixat: no es pot importar: comproveu els registres per obtenir-ne més detalls", @@ -656,7 +655,7 @@ "RootFolderCheckSingleMessage": "Falta la carpeta arrel: {0}", "SystemTimeCheckMessage": "L'hora del sistema està apagada durant més d'1 dia. És possible que les tasques programades no s'executin correctament fins que no es corregeixi l'hora", "CutoffFormatScoreHelpText": "Un cop s'arribi a aquesta puntuació de format personalitzat, {appName} ja no baixarà pel·lícules", - "UpdateAvailableHealthCheckMessage": "Nova actualització disponible", + "UpdateAvailableHealthCheckMessage": "Nova actualització disponible: {version}", "ImportListStatusCheckSingleClientMessage": "Llistes no disponibles a causa d'errors: {0}", "ImportMechanismHealthCheckMessage": "Activa la gestió de baixades completades", "IndexerRssHealthCheckNoIndexers": "No hi ha indexadors disponibles amb la sincronització RSS activada, {appName} no capturarà les noves versions automàticament", @@ -773,7 +772,6 @@ "AddReleaseProfile": "Afegeix un perfil de llançament", "AuthenticationRequiredWarning": "Per a evitar l'accés remot sense autenticació, ara {appName} requereix que l'autenticació estigui activada. Opcionalment, podeu desactivar l'autenticació des d'adreces locals.", "AutoAdd": "Afegeix automàticament", - "DeleteRootFolder": "Suprimeix la carpeta arrel", "Implementation": "Implementació", "ListRefreshInterval": "Interval d'actualització de la llista", "ManageImportLists": "Gestiona les llistes d'importació", @@ -969,7 +967,7 @@ "Min": "Min", "Preferred": "Preferit", "Today": "Avui", - "MappedNetworkDrivesWindowsService": "Les unitats de xarxa assignades no estan disponibles quan s'executen com a servei de Windows. Si us plau, consulteu les PMF per a obtenir més informació", + "MappedNetworkDrivesWindowsService": "Les unitats de xarxa assignades no estan disponibles quan s'executen com a servei de Windows, vegeu el [FAQ]({url}) per a més informació.", "DownloadClientSettingsRecentPriority": "Prioritat del client", "AddNewArtist": "Afegeix Nou Artista", "AddNewItem": "Afegeix un nou element", @@ -1227,5 +1225,145 @@ "RootFolderPathHelpText": "Els elements de la llista de carpetes arrel s'afegiran a", "ScrubAudioTagsHelpText": "Elimina les etiquetes existents dels fitxers, deixant només les afegides per {appName}.", "ScrubExistingTags": "Neteja les etiquetes existents", - "Disambiguation": "Desambiguació" + "Disambiguation": "Desambiguació", + "MonitoringOptions": "Opcions de monitoratge", + "NotificationsSettingsUpdateMapPathsTo": "Mapear els camins a", + "ErrorLoadingContent": "S'ha produït un error en carregar aquest contingut", + "ParseModalHelpText": "Introduïu un títol de llançament a l'entrada de dalt", + "AllowFingerprinting": "Permet la impressió digital", + "NotificationsTelegramSettingsIncludeAppNameHelpText": "Opcionalment prefixa el títol del missatge amb {appName} per diferenciar les notificacions de diferents aplicacions", + "QueueFilterHasNoItems": "El filtre de cua seleccionat no té elements", + "SearchMonitored": "Cerca monitorats", + "UnableToLoadMetadataProviderSettings": "No s'ha pogut carregar la configuració del proveïdor de metadades", + "CustomFormatsSettingsTriggerInfo": "Un format personalitzat s'aplicarà a un llançament o fitxer quan coincideixi almenys amb un de cada un dels diferents tipus de condició escollits.", + "MusicBrainzTrackID": "ID de la pista MusicBrainz", + "NotificationsKodiSettingAlwaysUpdateHelpText": "Actualitza la biblioteca fins i tot quan es reprodueix un vídeo?", + "RegularExpressionsTutorialLink": "Es poden trobar més detalls sobre les expressions regulars [aquí]({url}).", + "SelectIndexerFlags": "Selecciona les banderes de l'indexador", + "DeleteMetadataProfile": "Suprimeix el perfil de metadades", + "SkipRedownload": "Omet que es torni a descarregar", + "MusicBrainzReleaseID": "ID de llançament del MusicBrainz", + "RemoveTagsAutomaticallyHelpText": "Elimina les etiquetes automàticament si no es compleixen les condicions", + "PathHelpTextWarning": "Això ha de ser diferent del directori on el vostre client de baixada posa fitxers", + "NotificationsKodiSettingsCleanLibrary": "Neteja la biblioteca", + "NotificationsPlexSettingsAuthToken": "Testimoni d'autenticació", + "RemoveMultipleFromDownloadClientHint": "Elimina les baixades i els fitxers del client de baixada", + "ShouldSearchHelpText": "Cerca indexadors per als elements nous afegits. Utilitza amb precaució per a llistes grans.", + "WriteMetadataTags": "Escriu les etiquetes de les metadades", + "Monitoring": "Monitorant", + "FutureDaysHelpText": "Dies per a l'alimentació iCal per mirar al futur", + "ParseModalUnableToParse": "No s'ha pogut analitzar el títol proporcionat. Torneu-ho a provar.", + "ExistingTagsScrubbed": "Etiquetes existents rastrejades", + "LabelIsRequired": "L'etiqueta és necessària", + "MassSearchCancelWarning": "Això no es pot cancel·lar un cop iniciat sense reiniciar {appName} o desactivar tots els vostres indexadors.", + "CountImportListsSelected": "{selectedCount} llista(es) d'importació seleccionada", + "SceneInformation": "Informació de l'escena", + "NotificationsKodiSettingAlwaysUpdate": "Actualitza sempre", + "DiscCount": "Comptador de discs", + "RemoveFailedDownloads": "Elimina les baixades fallides", + "RemoveFromDownloadClientHint": "Elimina la baixada i el(s) fitxer(s) del client de baixada", + "RemoveQueueItemsRemovalMethodHelpTextWarning": "'Elimina del client de baixada' eliminarà les baixades i els fitxers del client de baixada.", + "RemoveTagsAutomatically": "Elimina les etiquetes automàticament", + "ShowName": "Mostra el nom", + "PastDaysHelpText": "Dies per a l'alimentació iCal per a mirar el passat", + "DateAdded": "Data d'addició", + "DownloadClientPriorityHelpText": "Prioritat del client de baixada des de 1 (més alta) fins a 50 (més baixa). Per defecte: 1. Round-Robin s'utilitza per a clients amb la mateixa prioritat.", + "IndexerSettingsSeedRatio": "Ràtio de la llavor", + "IndexerSettingsSeedTimeHelpText": "El temps en què s'ha de sembrar un torrent abans d'aturar-lo, el buit utilitza el valor per defecte del client de baixada", + "InstallMajorVersionUpdateMessage": "Aquesta actualització instal·larà una nova versió principal i pot no ser compatible amb el vostre sistema. Esteu segur que voleu instal·lar aquesta actualització?", + "InstallMajorVersionUpdateMessageLink": "Si us plau, comproveu [{domain}]({url}) per a més informació.", + "ManageFormats": "Gestiona formats", + "NotificationsSettingsUseSslHelpText": "Connecta a {serviceName} a través d'HTTPS en lloc d'HTTP", + "ParseModalHelpTextDetails": "{appName} intentarà analitzar el títol i et mostrarà detalls sobre això", + "PreviewRetag": "Reetiqueta de la vista prèvia", + "DownloadClientSettingsPostImportCategoryHelpText": "Categoria per a {appName} que s'ha d'establir després d'haver importat la baixada. {appName} no eliminarà els torrents d'aquesta categoria tot i que hagi finalitzat la sembra. Deixeu en blanc per a mantenir la mateixa categoria.", + "CountIndexersSelected": "{selectedCount} indexador(s) seleccionat", + "Country": "País", + "DeleteFormat": "Suprimeix el format", + "IgnoreDownload": "Ignora la baixada", + "ImportFailures": "Importa fallades", + "IndexerSettingsSeedRatioHelpText": "Ràtio a la qual ha d'arribar un torrent abans d'aturar-se, buit utilitza el valor per defecte del client de baixada. La relació ha de ser com a mínim 1.0 i seguir les regles dels indexadors", + "IndexerSettingsSeedTime": "Temps de la llavor", + "InstallMajorVersionUpdate": "Instal·la l'actualització", + "IsExpandedHideFileInfo": "Amaga la informació del fitxer", + "IsExpandedShowFileInfo": "Mostra la informació del fitxer", + "LastSearched": "Darrera cerca", + "ManageCustomFormats": "Gestiona els formats personalitzats", + "MetadataConsumers": "Consumidors de metadades", + "MetadataProfileIdHelpText": "Els elements de la llista de perfils de metadades s'han d'afegir amb", + "MediaManagementSettingsSummary": "Nomenat, configuració de la gestió de fitxers i carpetes arrel", + "NotificationsEmbySettingsUpdateLibraryHelpText": "Voleu actualitzar la biblioteca en importar, canviar el nom o suprimir?", + "NotificationsKodiSettingsUpdateLibraryHelpText": "Voleu actualitzar la biblioteca en Importa & Canvia el nom?", + "ParseModalErrorParsing": "S'ha produït un error en analitzar. Torneu-ho a provar.", + "PastDays": "Dies passats", + "RemotePathMappingsInfo": "Els mapatges de camins remots són molt rarament necessaris, si {appName} i el vostre client de descàrrega estan en el mateix sistema, és millor que coincideixi amb els vostres camins. Per a més informació, vegeu el [wiki]({wikiLink})", + "RemoveCompletedDownloads": "Elimina les baixades completes", + "SmartReplace": "Reemplaçament intel·ligent", + "UnableToImportAutomatically": "No s'ha pogut importar automàticament", + "UpdatingIsDisabledInsideADockerContainerUpdateTheContainerImageInstead": "L'actualització està desactivada dins d'un contenidor d'acobladors. Actualitza la imatge del contenidor.", + "UseSsl": "Usa SSL", + "ShowBanners": "Mostra els bàners", + "CurrentlyInstalled": "Instal·lat actualment", + "DeleteSelected": "Suprimeix els seleccionats", + "DownloadPropersAndRepacksHelpTexts2": "Usa 'No prefereixis' per ordenar per puntuació de paraules preferida sobre propers/repacks", + "EndedOnly": "Només acabat", + "FutureDays": "Dies de futur", + "IgnoreDownloadHint": "Atura {appName} de processar aquesta baixada més", + "IndexerIdHelpTextWarning": "L'ús d'un indexador específic amb paraules preferides pot conduir a versions duplicades", + "IndexerSettingsRejectBlocklistedTorrentHashes": "Rebutjar hashes de torrents en la llista de bloquejos durant la captura", + "IndexerSettingsApiUrlHelpText": "No canviïs això tret que sàpigues el que estàs fent. Ja que la vostra clau API s'enviarà a aquest servidor.", + "IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Si un torrent està bloquejat per un hash, pot ser que no es rebutgi correctament durant el RSS/Search per a alguns indexadors, habilitant això permetrà que es rebutgi després que s'agafi el torrent, però abans que s'enviï al client.", + "LogSizeLimit": "Límit de la mida del registre", + "LogSizeLimitHelpText": "Mida màxima del fitxer de registre en MB abans d'arxivar. Per defecte és 1MB.", + "ManualDownload": "Baixada manual", + "MusicBrainzRecordingID": "ID d'enregistrament del MusicBrainz", + "NoCustomFormatsFound": "No s'ha trobat cap format personalitzat", + "NotificationsEmbySettingsSendNotifications": "Envia notificacions", + "NotificationsEmbySettingsSendNotificationsHelpText": "Fes que MediaBrowser enviï notificacions als proveïdors configurats", + "NotificationsKodiSettingsCleanLibraryHelpText": "Neteja la biblioteca després d'actualitzar", + "NotificationsKodiSettingsDisplayTimeHelpText": "Quant de temps es mostrarà la notificació (En segons)", + "NotificationsSettingsUpdateMapPathsFrom": "Mapear els camins des de", + "NotificationsPlexSettingsAuthenticateWithPlexTv": "Autentica amb Plex.tv", + "NotificationsSettingsUpdateLibrary": "Actualitza la biblioteca", + "NotificationsTelegramSettingsIncludeAppName": "Inclou {appName} al títol", + "OnImportFailure": "En importar fallada", + "OnReleaseImport": "En publicar la importació", + "PendingDownloadClientUnavailable": "Pendent - El client de baixada no està disponible", + "PostImportCategory": "Categoria post-Importació", + "PreferProtocol": "Prefereix {preferredProtocol}", + "QualityProfileIdHelpText": "Els elements de la llista de perfils de qualitat s'han d'afegir amb", + "RemoveQueueItem": "Elimina - {sourceTitle}", + "RemoveQueueItemRemovalMethod": "Mètode d'eliminació", + "RemoveQueueItemRemovalMethodHelpTextWarning": "'Elimina des del client de baixada' eliminarà la baixada i el(s) fitxer(s) del client de baixada.", + "ResetQualityDefinitionsMessageText": "Esteu segur que voleu restablir les definicions de qualitat?", + "SetIndexerFlags": "Estableix els indicadors de l'indexador", + "ShowBannersHelpText": "Mostra els bàners en lloc dels noms", + "SkipFreeSpaceCheckHelpText": "Useu quan {appName} no pugui detectar espai lliure del directori arrel", + "SupportedAutoTaggingProperties": "{appName} admet les propietats següents per a les regles d'etiquetatge automàtic", + "TrackNumber": "Número de pista", + "TrackTitle": "Títol de la pista", + "UpdateMonitoring": "Actualitza els monitorats", + "WatchLibraryForChangesHelpText": "Torna a explorar automàticament quan els fitxers canviïn en una carpeta arrel", + "WatchRootFoldersForFileChanges": "Vigila les carpetes arrel per als canvis de fitxer", + "WithFiles": "Amb fitxers", + "DownloadClientSettingsOlderPriority": "Prioritat antiga", + "OnDownloadFailure": "A la fallada de baixada", + "RootFolderPath": "Camí al directori arrel", + "DiscNumber": "Número de disc", + "EditSelectedCustomFormats": "Edita els formats personalitzats seleccionats", + "EntityName": "Nom de l'entitat", + "FailedToFetchSettings": "No s'ha pogut recuperar la configuració", + "FailedToFetchUpdates": "No s'han pogut obtenir les actualitzacions", + "IgnoreDownloads": "Ignora les baixades", + "IgnoreDownloadsHint": "Atura {appName} de processar aquestes baixades més", + "ImportListSettings": "Configuració general de la llista d'importació", + "ImportListSpecificSettings": "Importa la configuració específica de la llista", + "IndexersSettingsSummary": "Indexadors i opcions d'indexador", + "InteractiveSearchModalHeaderTitle": "Cerca interactiva - {title}", + "Total": "Total", + "LogFilesLocation": "Els fitxers de registre es troben a: {location}", + "RemoveRootFolder": "Elimina la carpeta arrel", + "DownloadClientItemErrorMessage": "{clientName} está informant d'un error: {message}", + "TheLogLevelDefault": "El nivell de registre per defecte és \"Info\" i es pot canviar a [Configuració general](/configuració/general)", + "RemoveRootFolderArtistsMessageText": "Esteu segur que voleu eliminar la carpeta arrel '{name}'? Els arxius i carpetes no seran esborrats del disc, i els artistes en aquesta carpeta arrel no seran eliminats de {appName}." } diff --git a/src/NzbDrone.Core/Localization/Core/cs.json b/src/NzbDrone.Core/Localization/Core/cs.json index 62778716a..5af980894 100644 --- a/src/NzbDrone.Core/Localization/Core/cs.json +++ b/src/NzbDrone.Core/Localization/Core/cs.json @@ -332,7 +332,6 @@ "DeleteQualityProfileMessageText": "Opravdu chcete smazat profil kvality '{name}'?", "DeleteReleaseProfile": "Smazat profil zpoždění", "DeleteReleaseProfileMessageText": "Opravdu chcete smazat tento profil zpoždění?", - "DeleteRootFolderMessageText": "Opravdu chcete odstranit indexer „{0}“?", "DeleteSelectedTrackFiles": "Odstranit vybrané filmové soubory", "DeleteSelectedTrackFilesMessageText": "Opravdu chcete odstranit vybrané filmové soubory?", "DeleteTag": "Smazat značku", @@ -765,7 +764,6 @@ "ClearBlocklist": "Vyčistit blocklist", "AutoTaggingLoadError": "Nepodařilo se načíst automatické značky", "ClearBlocklistMessageText": "Určitě chcete smazat všechny položky z blocklistu?", - "DeleteRootFolder": "Smazat kořenový adresář", "EditAutoTag": "Upravit automatickou značku", "EnableProfile": "Povolit profil", "EditSelectedIndexers": "Upravit vybrané indexery", @@ -926,5 +924,12 @@ "CheckDownloadClientForDetails": "zkontrolujte klienta pro stahování pro více informací", "Downloaded": "Staženo", "Paused": "Pozastaveno", - "Pending": "čekající" + "Pending": "čekající", + "ImportFailed": "Import se nezdařil: {sourceTitle}", + "CurrentlyInstalled": "Aktuálně nainstalováno", + "DownloadWarning": "Varování při stahování: {warningMessage}", + "FailedToFetchSettings": "Nepodařilo se načíst nastavení", + "FailedToFetchUpdates": "Nepodařilo se načíst aktualizace", + "DownloadClientItemErrorMessage": "{clientName} hlásí chybu: {message}", + "RemoveRootFolder": "Odeberte kořenovou složku" } diff --git a/src/NzbDrone.Core/Localization/Core/da.json b/src/NzbDrone.Core/Localization/Core/da.json index dec645e3e..b436ab7c3 100644 --- a/src/NzbDrone.Core/Localization/Core/da.json +++ b/src/NzbDrone.Core/Localization/Core/da.json @@ -297,7 +297,6 @@ "DeleteQualityProfileMessageText": "Er du sikker på, at du vil slette kvalitetsprofilen »{name}«?", "DeleteReleaseProfile": "Slet udgivelsesprofil", "DeleteReleaseProfileMessageText": "Er du sikker på, at du vil slette denne forsinkelsesprofil?", - "DeleteRootFolderMessageText": "Er du sikker på, at du vil slette indeksøren '{0}'?", "DeleteSelectedTrackFiles": "Slet valgte filmfiler", "DeleteSelectedTrackFilesMessageText": "Er du sikker på, at du vil slette de valgte filmfiler?", "DeleteTag": "Slet tag", @@ -806,5 +805,7 @@ "Downloaded": "Downloadet", "Paused": "Pauset", "WaitingToImport": "Venter på at importere", - "WaitingToProcess": "Venter på at behandle" + "WaitingToProcess": "Venter på at behandle", + "CurrentlyInstalled": "Aktuelt installeret", + "RemoveRootFolder": "Fjern rodmappen" } diff --git a/src/NzbDrone.Core/Localization/Core/de.json b/src/NzbDrone.Core/Localization/Core/de.json index 6970578a9..72919857a 100644 --- a/src/NzbDrone.Core/Localization/Core/de.json +++ b/src/NzbDrone.Core/Localization/Core/de.json @@ -109,7 +109,7 @@ "Indexer": "Indexer", "ReleaseGroup": "Release-Gruppe", "ArtistAlbumClickToChangeTrack": "Klicken um den Film zu bearbeiten", - "ArtistNameHelpText": "Der Name des auszuschließenden Autors/Buches (kann etwas Sinnvolles sein)", + "ArtistNameHelpText": "Der Name des auszuschließenden Künstlers/Albums (kann etwas Sinnvolles sein)", "CalendarWeekColumnHeaderHelpText": "Wird in der Wochenansicht über jeder Spalte angezeigt", "CancelPendingTask": "Möchten Sie diese ausstehende Aufgabe wirklich abbrechen?", "ChownGroupHelpText": "Gruppenname oder gid. Verwenden Sie gid für entfernte Dateisysteme.", @@ -119,7 +119,6 @@ "DeleteQualityProfileMessageText": "Bist du sicher, dass du das Qualitätsprofil '{name}' wirklich löschen willst?", "DeleteReleaseProfile": "Release-Profil löschen", "DeleteReleaseProfileMessageText": "Bist du sicher, dass du dieses Release-Profil löschen willst?", - "DeleteRootFolderMessageText": "Bist du sicher, dass du den Root-Ordner '{name}' wirklich löschen willst?", "DeleteSelectedTrackFiles": "Ausgewählte Filmdateien löschen", "DeleteSelectedTrackFilesMessageText": "Ausgewählte Filme wirklich löschen?", "DeleteTrackFileMessageText": "Möchten Sie {0} wirklich löschen?", @@ -440,7 +439,7 @@ "AlbumIsDownloadingInterp": "Film lädt herunter - {0}% {1}", "AllExpandedCollapseAll": "Alle einklappen", "AllExpandedExpandAll": "Alle ausklappen", - "AllowArtistChangeClickToChangeArtist": "Klicken um Autor zu ändern", + "AllowArtistChangeClickToChangeArtist": "Klicken um Künstler zu ändern", "AllowFingerprinting": "Fingerprinting erlauben", "AlternateTitles": "Alternative Titel", "AlternateTitleslength1Title": "Titel", @@ -451,7 +450,7 @@ "Search": "Suchen", "SslCertPathHelpText": "Pfad zur PFX Datei", "SslCertPathHelpTextWarning": "Erfordert einen Neustart", - "ArtistFolderFormat": "Autor Orderformat", + "ArtistFolderFormat": "Künstler Ordnerformat", "UiLanguageHelpText": "Sprache, die {appName} für die Benutzeroberfläche verwenden wird.", "UiLanguageHelpTextWarning": "Seite muss neugeladen werden", "UnableToLoadNamingSettings": "Umbenennungeinstellungen konnten nicht geladen werden", @@ -541,7 +540,6 @@ "DefaultQualityProfileIdHelpText": "Standard Qualitätsprofil für Künstler, die in diesem Ordner gefunden werden", "DefaultTagsHelpText": "Standard {appName} Tags für Künstler, die in diesem Ordner gefunden werden", "DeleteMetadataProfile": "Metadaten Profil löschen", - "DeleteRootFolder": "Stammordner löschen", "Disambiguation": "Begriffserklärung", "DiscCount": "Anzahl der Platten", "DiscNumber": "Plattennummer", @@ -640,7 +638,7 @@ "MusicbrainzId": "MusicBrainz Id", "AlbumStudio": "Albumstudio", "OnHealthIssue": "Bei Gesundheitsproblem", - "AddedArtistSettings": "Autor Einstellungen hinzugefügt", + "AddedArtistSettings": "Künstler Einstellungen hinzugefügt", "ImportListSpecificSettings": "Listenspezifische Einstellungen importieren", "Activity": "Aktivität", "Add": "Hinzufügen", @@ -657,7 +655,7 @@ "Albums": "Alben", "All": "Alle", "AllFiles": "Alle Dateien", - "AllMonitoringOptionHelpText": "Autoren und alle Bücher für jeden Autor werden auf der Import-Liste miteinbezogen", + "AllMonitoringOptionHelpText": "Künstler und alle Alben für jeden Künstler werden auf der Import-Liste miteinbezogen", "Always": "Immer", "ApplicationURL": "Anwendungs-URL", "ApplicationUrlHelpText": "Die externe URL der Anwendung inklusive http(s)://, Port und URL-Basis", @@ -804,8 +802,8 @@ "ShouldSearch": "Suche nach neuen Einträgen", "Theme": "Design", "ThemeHelpText": "Anwendungsdesign ändern, das 'Auto' Design passt sich an den Light/Dark-Mode deines Systems an. Inspiriert von Theme.Park", - "MonitorAlbumExistingOnlyWarning": "Dies ist eine einmalige Anpassung der Überwachungseinstellung für jedes Buch. Verwenden Sie die Option unter Autor/Bearbeiten, um festzulegen, was bei neu hinzugefügten Büchern geschieht", - "SelectReleaseGroup": "Releasgruppe auswählen", + "MonitorAlbumExistingOnlyWarning": "Dies ist eine einmalige Anpassung der Überwachungseinstellung für jedes Album. Verwenden Sie die Option unter Künstler/Bearbeiten, um festzulegen, was bei neu hinzugefügten Alben geschieht", + "SelectReleaseGroup": "Wähle Release-Gruppe", "ChooseImportMethod": "Wähle eine Importmethode", "ClickToChangeReleaseGroup": "Releasegruppe ändern", "BypassIfHighestQuality": "Ignoriere wenn höchste Qualität", @@ -1359,5 +1357,13 @@ "CheckDownloadClientForDetails": "Weitere Informationen finden Sie im Download-Client", "Paused": "Pausiert", "WaitingToImport": "Warten auf Import", - "WaitingToProcess": "Warten auf Bearbeitung" + "WaitingToProcess": "Warten auf Bearbeitung", + "CurrentlyInstalled": "Derzeit installiert", + "FailedToFetchSettings": "Einstellungen können nicht abgerufen werden", + "FailedToFetchUpdates": "Updates konnten nicht abgerufen werden", + "LogFilesLocation": "Protokolldateien befinden sich unter: {location}", + "RemoveRootFolder": "Root-Ordner entfernen", + "TheLogLevelDefault": "Die Protokollebene ist standardmäßig auf „Info“ eingestellt und kann unter „Allgemeine Einstellungen“ (/settings/general) geändert werden.", + "DownloadClientItemErrorMessage": "{clientName} meldet einen Fehler: {message}", + "RemoveRootFolderArtistsMessageText": "Sind sie sicher dass Sie den Stammordner '{name}' löschen möchten? Dateien und Ordner werden nicht gelöscht. Künstler in diesem Stammordner werden nicht von {appName} entfernt." } diff --git a/src/NzbDrone.Core/Localization/Core/el.json b/src/NzbDrone.Core/Localization/Core/el.json index 4e8a92dee..5a6a8a894 100644 --- a/src/NzbDrone.Core/Localization/Core/el.json +++ b/src/NzbDrone.Core/Localization/Core/el.json @@ -26,7 +26,6 @@ "CompletedDownloadHandling": "Διαχείριση Ολοκληρωμένων Λήψεων", "Component": "Στοιχείο", "DeleteReleaseProfileMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το προφίλ καθυστέρησης;", - "DeleteRootFolderMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το ευρετήριο \"{0}\";", "DeleteSelectedTrackFiles": "Διαγραφή επιλεγμένων αρχείων ταινιών", "DeleteSelectedTrackFilesMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;", "DeleteTag": "Διαγραφή ετικέτας", @@ -821,7 +820,6 @@ "DefaultMetadataProfileIdHelpText": "Προεπιλεγμένο προφίλ μεταδεδομένων για καλλιτέχνες που εντοπίστηκαν σε αυτόν τον φάκελο", "DefaultQualityProfileIdHelpText": "Προεπιλεγμένο προφίλ ποιότητας για καλλιτέχνες που εντοπίστηκαν σε αυτόν τον φάκελο", "DefaultTagsHelpText": "Προεπιλεγμένες ετικέτες {appName} για καλλιτέχνες που εντοπίστηκαν σε αυτόν τον φάκελο", - "DeleteRootFolder": "Διαγραφή ριζικού φακέλου", "EndedAllTracksDownloaded": "Τελειώθηκε (Λήφθηκαν όλα τα κομμάτια)", "Library": "Βιβλιοθήκη", "MonitoringOptionsHelpText": "Ποια άλμπουμ πρέπει να παρακολουθούνται μετά την προσθήκη του καλλιτέχνη (εφάπαξ προσαρμογή)", @@ -1127,5 +1125,7 @@ "WaitingToProcess": "Αναμονή για επεξεργασία", "CheckDownloadClientForDetails": "ελέγξτε το πρόγραμμα-πελάτη λήψης για περισσότερες λεπτομέρειες", "Downloaded": "Κατεβασμένα", - "Paused": "Σε παύση" + "Paused": "Σε παύση", + "CurrentlyInstalled": "Εγκατεστημένο αυτήν τη στιγμή", + "RemoveRootFolder": "Κατάργηση ριζικού φακέλου" } diff --git a/src/NzbDrone.Core/Localization/Core/es.json b/src/NzbDrone.Core/Localization/Core/es.json index a649ba180..1fe1767a7 100644 --- a/src/NzbDrone.Core/Localization/Core/es.json +++ b/src/NzbDrone.Core/Localization/Core/es.json @@ -333,7 +333,6 @@ "DeleteQualityProfileMessageText": "¿Estás seguro que quieres eliminar el perfil de calidad {name}?", "DeleteReleaseProfile": "Eliminar perfil de lanzamiento", "DeleteReleaseProfileMessageText": "¿Estás seguro que quieres eliminar este perfil de lanzamiento?", - "DeleteRootFolderMessageText": "¿Estás seguro que quieres eliminar la carpeta raíz '{name}'?", "DeleteSelectedTrackFiles": "Borrar Archivos Seleccionados", "DeleteSelectedTrackFilesMessageText": "Seguro que quieres eliminar el archivo de la película seleccionada?", "DeleteTag": "Eliminar Etiqueta", @@ -740,7 +739,6 @@ "CountIndexersSelected": "{selectedCount} indexador(es) seleccionado(s)", "ManageDownloadClients": "Administrar Clientes de Descarga", "AddReleaseProfile": "Añadir perfil de lanzamiento", - "DeleteRootFolder": "Eliminar Carpeta Raíz", "ImportListRootFolderMissingRootHealthCheckMessage": "Falta la capeta raíz para las listas: {0}", "ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Múltiples carpetas raíz faltan para las listas de importación: {0}", "ConnectionLostToBackend": "{appName} ha perdido su conexión con el backend y tendrá que ser recargado para restaurar su funcionalidad.", @@ -1359,5 +1357,13 @@ "PendingDownloadClientUnavailable": "Pendiente - El cliente de descarga no está disponible", "UnableToImportAutomatically": "No se pudo importar automáticamente", "WaitingToImport": "Esperar para importar", - "WaitingToProcess": "Esperar al proceso" + "WaitingToProcess": "Esperar al proceso", + "CurrentlyInstalled": "Actualmente instalado", + "FailedToFetchSettings": "Error al recuperar la configuración", + "FailedToFetchUpdates": "Fallo al buscar las actualizaciones", + "LogFilesLocation": "Los archivos de registro se encuentran en: {location}", + "RemoveRootFolder": "Eliminar la carpeta raíz", + "DownloadClientItemErrorMessage": "{clientName} está informando de un error: {message}", + "TheLogLevelDefault": "El nivel de registro por defecto es 'Depuración' y puede ser cambiado en [Opciones generales](/settings/general)", + "RemoveRootFolderArtistsMessageText": "¿Estás seguro que quieres eliminar la carpeta raíz '{name}'? Los archivos y carpetas no serán borrados del disco, y los artistas en esta carpeta raíz no serán eliminados de {appName}." } diff --git a/src/NzbDrone.Core/Localization/Core/fi.json b/src/NzbDrone.Core/Localization/Core/fi.json index b61d52f69..2c68d55d8 100644 --- a/src/NzbDrone.Core/Localization/Core/fi.json +++ b/src/NzbDrone.Core/Localization/Core/fi.json @@ -21,7 +21,7 @@ "ForMoreInformationOnTheIndividualDownloadClientsClickOnTheInfoButtons": "Saat lisätietoja yksittäisistä latauspalveluista painamalla niiden ohessa olevia lisätietopainikkeita.", "RssSyncIntervalHelpText": "Aikaväli minuutteina. Poista toiminto käytöstä asettamalla arvoksi 0, joka pysäyttää automaattisen julkaisukaappauksen täysin.", "DefaultLidarrTags": "Oletusarvoiset {appName}-oletustunnisteet", - "DefaultTagsHelpText": "Kansiosta löydetyille esittäjille oletusarvoisesti määritettävät {appName}-tunnisteet.", + "DefaultTagsHelpText": "Kansiosta löydetyille artisteille oletusarvoisesti määritettävät {appName}-tunnisteet.", "IsTagUsedCannotBeDeletedWhileInUse": "Tunnistetta ei voida poistaa kun se on käytössä.", "LidarrTags": "{appName}-tunnisteet", "RemoveTagRemovingTag": "Tunniste poistetaan", @@ -105,12 +105,12 @@ "DelayProfiles": "Viiveprofiilit", "DeleteBackup": "Poista varmuuskopio", "DeleteMetadataProfileMessageText": "Haluatko varmasti poistaa metatietoprofiilin \"{name}\"?", - "DeleteEmptyFoldersHelpText": "Poista tyhjät esittäjäkansiot kirjastotarkistuksen ja kappaletiedostojen poiston yhteydessä.", + "DeleteEmptyFoldersHelpText": "Poista tyhjät artistikansiot kirjastotarkistuksen ja kappaletiedostojen poiston yhteydessä.", "DeleteDelayProfile": "Poista viiveprofiili", "DeleteDelayProfileMessageText": "Haluatko varmasti poistaa viiveprofiilin?", "DeleteEmptyFolders": "Poista tyhjät kansiot", "DeleteImportListExclusionMessageText": "Haluatko varmasti poistaa tuontilistapoikkeuksen?", - "DeleteFilesHelpText": "Poista kappaletiedostot ja esittäjäkansio", + "DeleteFilesHelpText": "Poista kappaletiedostot ja artistikansio", "DeleteImportList": "Poista tuontilista", "DeleteDownloadClient": "Poista latauspalvelu", "DeleteDownloadClientMessageText": "Haluatko varmasti poistaa latauspalvelun \"{name}\"?", @@ -119,7 +119,6 @@ "DeleteQualityProfile": "Poista laatuprofiili", "DeleteQualityProfileMessageText": "Haluatko varmasti poistaa laatuprofiilin \"{name}\"?", "DeleteReleaseProfile": "Poista julkaisuprofiili", - "DeleteRootFolderMessageText": "Haluatko varmasti poistaa juurikansion \"{name}\"?", "DeleteReleaseProfileMessageText": "Haluatko varmasti poistaa tämän julkaisuprofiilin?", "DestinationPath": "Kohdesijainti", "Edit": "Muokkaa", @@ -150,7 +149,7 @@ "Group": "Ryhmä", "Hostname": "Osoite", "Importing": "Tuodaan", - "IncludeUnknownArtistItemsHelpText": "Näytä jonossa kohteet, joissa ei ole esittäjää. Tämä voi sisältää poistettuja esittäjiä, albumeita tai mitä tahansa muuta {appName}ille luokiteltua.", + "IncludeUnknownArtistItemsHelpText": "Näytä jonossa kohteet, joissa ei ole artistia. Tämä voi sisältää poistettuja artisteja, albumeita tai mitä tahansa muuta {appName}ille luokiteltua.", "Interval": "Ajoitus", "IndexerSettings": "Hakupalveluasetukset", "LidarrSupportsAnyDownloadClientThatUsesTheNewznabStandardAsWellAsOtherDownloadClientsListedBelow": "{appName} tukee monia torrent- ja Usenet-lataajia.", @@ -188,11 +187,11 @@ "ShowRelativeDatesHelpText": "Korvaa absoluuttiset päiväykset suhteellisilla päiväyksillä (tänään/eilen/yms.).", "ShowSearch": "Näytä haku", "ShowSizeOnDisk": "Näytä koko levyllä", - "ShowTitleHelpText": "Näytä esittäjän nimi julisteen alla.", + "ShowTitleHelpText": "Näytä artistin nimi julisteen alla.", "SslCertPasswordHelpTextWarning": "Käyttöönotto vaatii sovelluksen uudelleenkäynnistyksen.", "SslCertPathHelpTextWarning": "Käyttöönotto vaatii sovelluksen uudelleenkäynnistyksen.", "SslPortHelpTextWarning": "Käyttöönotto vaatii sovelluksen uudelleenkäynnistyksen.", - "ShowUnknownArtistItems": "Näytä 'Tuntematon esittäjä' -kohde", + "ShowUnknownArtistItems": "Näytä \"Tuntematon artisti\"-kohteet", "StartupDirectory": "Käynnistyskansio", "StartTypingOrSelectAPathBelow": "Aloita kirjoitus tai valitse sijainti alta", "SupportsSearchvalueWillBeUsedWhenInteractiveSearchIsUsed": "Profiilia käytetään manuaalihakuun.", @@ -286,7 +285,7 @@ "RequiredPlaceHolder": "Lisää rajoitus", "RescanAfterRefreshHelpTextWarning": "{appName} ei tunnista tiedostomuutoksia automaattisesti, jos asetuksena ei ole \"Aina\".", "ReplaceIllegalCharacters": "Korvaa kielletyt merkit", - "RescanAfterRefreshHelpText": "Tarkista esittäjäkansion sisältö uudelleen elokuvan päivityksen jälkeen.", + "RescanAfterRefreshHelpText": "Tarkista artistikansion sisältö uudelleen artistin päivityksen jälkeen.", "Style": "Ulkoasun tyyli", "TorrentDelayHelpText": "Minuuttiviive, joka odotetaan ennen julkaisun Torrent-kaappausta.", "UnableToAddANewQualityProfilePleaseTryAgain": "Laatuprofiilin lisäys epäonnistui. Yritä uudelleen.", @@ -321,11 +320,11 @@ "ShowCutoffUnmetIconHelpText": "Näytä kuvake tiedostoille, joiden määritettyä katkaisutasoa ei ole vielä saavutettu.", "ShowMonitoredHelpText": "Näytä valvontatila julisteen alla.", "ShowMonitored": "Näytä valvontatila", - "ShouldMonitorHelpText": "Valvo tältä tuontilistalta lisättyjä uusia esittäjiä ja albumeita.", + "ShouldMonitorHelpText": "Valvo tältä tuontilistalta lisättyjä uusia artisteja ja albumeita.", "TimeFormat": "Kellonajan esitys", "Quality": "Laatu", "Local": "Paikalliset", - "MonitoredHelpText": "Esittäjän albumeita etsitään ja ne ladataan, jos ne ovat saatavilla.", + "MonitoredHelpText": "Artistin albumeita etsitään ja ne ladataan, jos ne ovat saatavilla.", "PropersAndRepacks": "Proper- ja repack-julkaisut", "UnableToAddANewListPleaseTryAgain": "Tuontilistan lisäys epäonnistui. Yritä uudelleen.", "IncludeUnmonitored": "Sisällytä valvomattomat", @@ -334,14 +333,14 @@ "AddMissing": "Lisää puuttuvat", "AddNewItem": "Lisää uusi kohde", "AllExpandedCollapseAll": "Supista kaikki", - "AllowArtistChangeClickToChangeArtist": "Paina vaihtaaksesi kirjailijaa", + "AllowArtistChangeClickToChangeArtist": "Vaihda artisti klikkaamalla", "Season": "Kausi", - "ArtistAlbumClickToChangeTrack": "Vaihda kirjaa painamalla", - "ArtistFolderFormat": "Esittäjäkansioiden kaava", - "ArtistNameHelpText": "Ohitettavan esittäjän tai albumin nimi (voi olla mitä tahansa merkityksellistä).", - "CreateEmptyArtistFoldersHelpText": "Luo puuttuvat kirjailijakansiot kirjastotarkistusten yhteydessä", - "DefaultMetadataProfileIdHelpText": "Kansiosta löydetyille esittäjille oletustusarvoisesti asetettava metatietoprofiili.", - "DefaultQualityProfileIdHelpText": "Kansiosta löydetyille esittäjille oletustusarvoisesti asetettava laatuprofiili.", + "ArtistAlbumClickToChangeTrack": "Vaihda kappale klikkaamalla", + "ArtistFolderFormat": "Artistikansioiden kaava", + "ArtistNameHelpText": "Ohitettavan artistin tai albumin nimi (voi olla mitä tahansa merkityksellistä).", + "CreateEmptyArtistFoldersHelpText": "Luo puuttuvat artistikansiot kirjastotarkistusten yhteydessä", + "DefaultMetadataProfileIdHelpText": "Kansiosta löydetyille artisteille oletustusarvoisesti asetettava metatietoprofiili.", + "DefaultQualityProfileIdHelpText": "Kansiosta löydetyille artisteille oletustusarvoisesti asetettava laatuprofiili.", "History": "Historia", "HostHelpText": "Sama osoite, joka on määritetty etälatauspalvelulle.", "ICalFeed": "iCal-syöte", @@ -366,12 +365,12 @@ "ShortDateFormat": "Lyhyen päiväyksen esitys", "ShowDateAdded": "Näytä lisäyspäivä", "SorryThatAlbumCannotBeFound": "Valitettavasti elokuvaa ei löydy.", - "SorryThatArtistCannotBeFound": "Valitettavasti kirjailijaa ei löydy.", + "SorryThatArtistCannotBeFound": "Valitettavasti artistia ei löydy.", "SearchSelected": "Etsi valittuja", "SendAnonymousUsageData": "Lähetä nimettömiä käyttötietoja", "SetPermissions": "Aseta käyttöoikeudet", "SetPermissionsLinuxHelpText": "Pitäisikö chmod suorittaa, kun tiedostoja tuodaan / nimetään uudelleen?", - "CreateEmptyArtistFolders": "Luo kirjailijoille tyhjät kansiot", + "CreateEmptyArtistFolders": "Luo artisteille tyhjät kansiot", "DeleteSelectedTrackFiles": "Poista valitut kirjatiedostot", "DeleteSelectedTrackFilesMessageText": "Haluatko varmasti poistaa valitut kirjatiedostot?", "DeleteTrackFileMessageText": "Haluatko varmasti poistaa sovellusprofiilin {0}?", @@ -443,7 +442,7 @@ "RemoveSelected": "Poista valitut", "RenameTracksHelpText": "Jos uudelleennimeäminen ei ole käytössä, {appName} käyttää nykyistä tiedostonimeä.", "Reorder": "Järjestä uudelleen", - "RescanArtistFolderAfterRefresh": "Tarkista kirjailijakansio päivityksen jälkeen uudelleen", + "RescanArtistFolderAfterRefresh": "Tarkista artistikansio päivityksen jälkeen uudelleen", "ResetAPIKeyMessageText": "Haluatko varmasti korvata rajapinnan avaimen uudella?", "Result": "Tulos", "Retention": "Säilytys", @@ -488,9 +487,9 @@ "OnApplicationUpdate": "Kun sovellus päivitetään", "PathHelpTextWarning": "Tämä ei voi olla sama kansio, johon latauspalvelusi tallentaa tiedostot.", "QualityProfileIdHelpText": "Laatuprofiili, joka listalta lisätyille kohteille tulee asettaa.", - "IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnArtistOrImportList": "Esittäjään tai tuontilistaan liitettyä metatietoprofiilia ei voi poistaa.", - "IsInUseCantDeleteAQualityProfileThatIsAttachedToAnArtistOrImportList": "Esittäjään tai tuontilistaan liitettyä laatuprofiilia ei voi poistaa.", - "DefaultMonitorOptionHelpText": "Kansiosta löydetyille esittäjille oletusarvoisesti asetettava albumien valvontataso.", + "IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnArtistOrImportList": "Artistiin tai tuontilistaan liitettyä metatietoprofiilia ei voida poistaa.", + "IsInUseCantDeleteAQualityProfileThatIsAttachedToAnArtistOrImportList": "Artistiin tai tuontilistaan liitettyä laatuprofiilia ei voida poistaa.", + "DefaultMonitorOptionHelpText": "Kansiosta löydetyille artisteille oletusarvoisesti asetettava albumien valvontataso.", "DeleteMetadataProfile": "Poista metatietoprofiili", "Duration": "Kesto", "ExpandAlbumByDefaultHelpText": "Albumit", @@ -513,9 +512,9 @@ "Other": "Muut", "Tracks": "Kappaleet", "WatchLibraryForChangesHelpText": "Suorita automaattinen uudelleentutkinta, kun juurikansiossa havaitaan tiedostomuutoksia.", - "AddedArtistSettings": "Lisätyn esittäjän asetukset", - "MonitorAlbumExistingOnlyWarning": "Tämä on albumikohtaisen valvonnan kertaluontoinen määritys. Määritä Esittäjä/Muokkaa-valinnalla mitä uusille albumilisäyksille tehdään.", - "MonitoringOptionsHelpText": "Mitkä albumit asetetaan valvottaviksi esittäjän lisäyksen yhteydessä (kertaluontoinen määritys).", + "AddedArtistSettings": "Lisätyn artistin asetukset", + "MonitorAlbumExistingOnlyWarning": "Tämä on albumikohtaisen valvonnan kertaluontoinen määritys. Määritä Artisti/Muokkaa-valinnalla mitä uusille albumilisäyksille tehdään.", + "MonitoringOptionsHelpText": "Mitkä albumit asetetaan valvottaviksi artistin lisäyksen yhteydessä (kertaluontoinen määritys).", "MonitorNewItemsHelpText": "Uusien albumien valvontatapa.", "AddDelayProfile": "Lisää viiveprofiili", "Added": "Lisäysaika", @@ -564,7 +563,7 @@ "HideAdvanced": "Piilota lisäasetukset", "Ignored": "Ohitettu", "Import": "Tuo", - "IndexerTagHelpText": "Hakupalvelua käytetään vain vähintään yhdellä täsmäävällä tunnisteella merkityille esittäjille. Käytä kaikille jättämällä tyhjäksi.", + "IndexerTagHelpText": "Hakupalvelua käytetään vain vähintään yhdellä täsmäävällä tunnisteella merkityille artisteille. Käytä kaikille jättämällä tyhjäksi.", "Info": "Informatiivinen", "InstanceName": "Instanssin nimi", "InstanceNameHelpText": "Instanssin nimi välilehdellä ja järjestelmälokissa.", @@ -640,7 +639,6 @@ "PastDaysHelpText": "Päivien määrä, jonka verran menneisyyteen iCal-syötettä seurataan.", "PrimaryTypes": "Ensisijaiset tyypit", "TrackNaming": "Kappaleiden nimeäminen", - "DeleteRootFolder": "Poista juurikansio", "DeleteTrackFile": "Poista kappaletiedosto", "DiscNumber": "Levynumero", "DiscCount": "Levyjen määrä", @@ -648,12 +646,12 @@ "MissingAlbums": "Puuttuvat albumit", "MissingAlbumsData": "Valvo albumeita, joille ei ole tiedostoja tai joita ei ole vielä julkaistu.", "MissingTracks": "Puuttuvat kappaleet", - "MissingTracksArtistMonitored": "Kappaleita puuttuu (esittäjää valvotaan)", - "MissingTracksArtistNotMonitored": "Kappaleita puuttuu (esittäjää ei valvota)", - "MonitorArtist": "Esittäjän valvonta", + "MissingTracksArtistMonitored": "Kappaleita puuttuu (artistia valvotaan)", + "MissingTracksArtistNotMonitored": "Kappaleita puuttuu (artistia ei valvota)", + "MonitorArtist": "Artistin valvonta", "MonitoringOptions": "Valvonta-asetukset", "MusicBrainzAlbumID": "Albumin MusicBrainz ID", - "MusicBrainzArtistID": "Esittäjän MusicBrainz ID", + "MusicBrainzArtistID": "Artistin MusicBrainz ID", "MusicbrainzId": "MusicBrainz-tunniste", "MusicBrainzRecordingID": "MusicBrainz-tallennetunniste", "MusicBrainzReleaseID": "MusicBrainz-julkaisutunniste", @@ -679,9 +677,9 @@ "EditGroups": "Muokkaa ryhmiä", "FirstAlbum": "Ensimmäinen albumi", "FirstAlbumData": "Valvo ensimmäisiä albumeita. Muita albumeita ei huomioida.", - "ForeignIdHelpText": "Ohitettavan esittäjän tai albumin MusicBrainz-tunniste.", + "ForeignIdHelpText": "Ohitettavan artistin tai albumin MusicBrainz-tunniste.", "FutureAlbums": "Tulevat albumit", - "GoToArtistListing": "Avaa esittäjälistaus", + "GoToArtistListing": "Avaa artistilistaus", "IsExpandedHideFileInfo": "Piilota tiedostojen tiedot", "IsExpandedHideTracks": "Piilota kappaleet", "IsExpandedHideAlbums": "Piilota albumit", @@ -699,7 +697,7 @@ "OnReleaseImport": "Tuotaessa julkaisu", "PastDays": "Menneet päivät", "PrimaryAlbumTypes": "Ensisijaiset albumityypit", - "RefreshArtist": "Päivitä esittäjä", + "RefreshArtist": "Päivitä artisti", "ReleaseProfiles": "Julkaisuprofiilit", "ReleasesHelpText": "Vaihda tämän albumin julkaisua", "RenameTracks": "Nimeä kappaleet uudelleen", @@ -711,8 +709,8 @@ "SearchMonitored": "Etsi valvottuja", "SecondaryAlbumTypes": "Toissijaiset albumityypit", "SecondaryTypes": "Toissijaiset tyypit", - "SelectArtist": "Valitse esittäjä", - "SelectedCountArtistsSelectedInterp": "{selectedCount} esittäjä(ä) on valittu", + "SelectArtist": "Valitse artisti", + "SelectedCountArtistsSelectedInterp": "{selectedCount} artisti(a) on valittu", "SelectTracks": "Valitse kappaleet", "ShouldSearch": "Etsi uusia kohteita", "ShouldSearchHelpText": "Etsi hakupalveluista hiljattain lisättyjä kohteita. Käytä suurten listojen kanssa varoen.", @@ -725,11 +723,11 @@ "StatusEndedContinuing": "Jatkuu", "TBA": "Selviää myöhemmin", "TheAlbumsFilesWillBeDeleted": "Albumin tiedostot poistetaan.", - "TheArtistFolderStrongpathstrongAndAllOfItsContentWillBeDeleted": "Esittäjäkansio \"{0}\" ja kaikki sen sisältö poistetaan.", + "TheArtistFolderStrongpathstrongAndAllOfItsContentWillBeDeleted": "Artistikansio \"{0}\" ja kaikki sen sisältö poistetaan.", "Theme": "Teema", "ThemeHelpText": "Vaihda sovelluksen käyttöliittymän ulkoasua. \"Automaattinen\" vaihtaa vaalean ja tumman tilan välillä käyttöjärjestelmän teeman mukaan. Innoittanut Theme.Park.", "TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp": "Yhteensä {0} kappaletta. {1} kappaleelle on tiedostoja.", - "TrackArtist": "Kappaleen esittäjä", + "TrackArtist": "Kappaleen artisti", "TrackCount": "Kappaleiden määrä", "TrackDownloaded": "Kappale on ladattu", "TrackProgress": "Kappaleiden edistyminen", @@ -743,10 +741,10 @@ "ContinuingMoreAlbumsAreExpected": "Albumeita odotetaan tulevan lisää", "ContinuingNoAdditionalAlbumsAreExpected": "Uusia abumeita ei tiettävästi ole tulossa", "OnDownloadFailure": "Latauksen epäonnistuessa", - "Artist": "Esittäjä", - "ArtistClickToChangeAlbum": "Vaihda albumia painamalla", - "ArtistEditor": "Esittäjien monivalinta", - "Artists": "Esittäjät", + "Artist": "Artisti", + "ArtistClickToChangeAlbum": "Vaihda albumi klikkaamalla", + "ArtistEditor": "Artistien monivalinta", + "Artists": "Artistit", "Country": "Maa", "AddReleaseProfile": "Lisää jukaisuprofiili", "AlbumRelease": "Albumin julkaisu", @@ -754,15 +752,15 @@ "AlbumTitle": "Albumin nimi", "AlbumType": "Albumin tyyppi", "AreYouSure": "Oletko varma?", - "ArtistName": "Esittäjän nimi", - "ArtistType": "Esittäjän tyyppi", + "ArtistName": "Artistin nimi", + "ArtistType": "Artistin tyyppi", "EditMetadata": "Muokkaa metatietoja", "AutomaticallySwitchRelease": "Vaihda julkaisu automaattisesti", "CollapseMultipleAlbums": "Supista useat albumit", "CollapseMultipleAlbumsHelpText": "Supista useat samana päivänä julkaistavat albumit.", "CombineWithExistingFiles": "Yhdistä olemassa olevien tiedostojen kanssa", "DateAdded": "Lisäysaika", - "DeleteArtist": "Poista valittu esittäjä", + "DeleteArtist": "Poista valittu artisti", "Discography": "Diskografia", "DownloadImported": "Lataus tuotiin", "EditReleaseProfile": "Muokkaa julkaisuprofiilia", @@ -772,7 +770,7 @@ "ExistingAlbums": "Olemassa olevat albumit", "ExistingAlbumsData": "Valvo albumeita, joille on tiedostoja tai joita ei ole vielä julkaistu.", "ForNewImportsOnly": "Vain uusille tuonneille", - "HasMonitoredAlbumsNoMonitoredAlbumsForThisArtist": "Esittäjältä ei valvota albumeita", + "HasMonitoredAlbumsNoMonitoredAlbumsForThisArtist": "Artistilta ei valvota albumeita", "ImportCompleteFailed": "Tuonti epäonnistui", "ImportFailures": "Tuontivirheet", "ImportLists": "Tuontilistat", @@ -784,7 +782,7 @@ "ManageTracks": "Hallitse kappaleita", "ManualDownload": "Manuaalinen lataus", "NewAlbums": "Uudet albumit", - "NoneMonitoringOptionHelpText": "Älä valvo esittäjiä äläkä albumeita.", + "NoneMonitoringOptionHelpText": "Älä valvo artisteja äläkä albumeita.", "NotDiscography": "Ei ole diskografia", "Playlist": "Soittolista", "Proceed": "Jatka", @@ -797,14 +795,14 @@ "SelectAlbumRelease": "Valitse albumin julkaisu", "FutureAlbumsData": "Valvo albumeita, joita ei ole vielä julkaistu.", "SearchForAllMissingAlbumsConfirmationCount": "Haluatko varmasti etsiä kaikkia {totalRecords} puuttuvaa albumia?", - "EditArtist": "Muokkaa esittäjää", + "EditArtist": "Muokkaa artistia", "DeleteSelected": "Poista valitut", "ClickToChangeReleaseGroup": "Vaihda julkaisuryhmää painamalla tästä", - "EnableAutomaticAddHelpText": "Lisää esittäjät/albumit {appName}iin kun synkronointi suoritetaan käyttöliittymästä tai {appName}in toimesta.", + "EnableAutomaticAddHelpText": "Lisää artistit/albumit {appName}iin kun synkronointi suoritetaan käyttöliittymästä tai {appName}in toimesta.", "IndexerIdHelpText": "Määritä mitä hakupalvelua profiili koskee.", "Inactive": "Ei aktiivinen", "EnableRssHelpText": "Käytetään {appName}in etsiessä julkaisuja ajoitetusti RSS-synkronoinnilla.", - "AllMonitoringOptionHelpText": "Valvo jokaista tuontilistalla olevaa esittäjää ja heidän kaikkia albumeitaan.", + "AllMonitoringOptionHelpText": "Valvo jokaista tuontilistalla olevaa artistia ja heidän kaikkia albumeitaan.", "ContinuingOnly": "Vain jatkuvat", "EntityName": "Entiteetin nimi", "EpisodeDoesNotHaveAnAbsoluteEpisodeNumber": "Jaksolle ei ole absoluuttista numeroa.", @@ -899,7 +897,7 @@ "GroupInformation": "Ryhmän tiedot", "MinimumCustomFormatScore": "Mukautetun muodon vähimmäispisteytys", "Monitor": "Valvonta", - "DownloadClientTagHelpText": "Tätä latauspalvelua käytetään vain vähintään yhdellä täsmäävällä tunnisteella merkityille esittäjille. Käytä kaikille jättämällä tyhjäksi.", + "DownloadClientTagHelpText": "Tätä latauspalvelua käytetään vain vähintään yhdellä täsmäävällä tunnisteella merkityille artisteille. Käytä kaikille jättämällä tyhjäksi.", "MinFormatScoreHelpText": "Mukautetun muodon vähimmäispisteytys, jolla lataus sallitaan.", "ExtraFileExtensionsHelpTextsExamples": "Esimerkiksi \"sub, .nfo\" tai \"sub,nfo\".", "ExtraFileExtensionsHelpText": "Pilkuin eroteltu listaus tuotavista oheistiedostoista (.nfo-tiedostot tuodaan \".nfo-orig\"-nimellä).", @@ -1051,16 +1049,16 @@ "FilterAlbumPlaceholder": "Suodata albumeja", "AddImportListExclusionAlbumHelpText": "Estä {appName}ia lisäämästä albumia listoilta.", "ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Useita tuontilistojen juurikansioita puuttuu: {0}", - "FilterArtistPlaceholder": "Suodata esittäjiä", - "AddImportListExclusionArtistHelpText": "Estä {appName}ia lisäämästä esittäjää listoilta.", + "FilterArtistPlaceholder": "Suodata artisteja", + "AddImportListExclusionArtistHelpText": "Estä {appName}ia lisäämästä artistia listoilta.", "RootFolderCheckMultipleMessage": "Useita juurikansioita puuttuu: {0}", - "DeleteArtistFolders": "Poista esittäjäkansiot", + "DeleteArtistFolders": "Poista artistikansiot", "SomeResultsAreHiddenByTheAppliedFilter": "Aktiivinen suodatin piilottaa joitakin tuloksia.", "RemotePathMappingCheckFileRemoved": "Tiedosto \"{0}\" poistettiin kesken käsittelyn.", - "AddListExclusionHelpText": "Estä {appName}ia lisäämästä esittäjää listoilta.", - "ArtistsEditRootFolderHelpText": "Siirtämällä esittäjät niiden nykyiseen juurikansioon voidaan niiden kansioiden nimet päivittää vastaamaan päivittynyttä nimikettä tai nimeämiskaavaa.", + "AddListExclusionHelpText": "Estä {appName}ia lisäämästä artistia listoilta.", + "ArtistsEditRootFolderHelpText": "Siirtämällä artistit niiden nykyiseen juurikansioon voidaan niiden kansioiden nimet päivittää vastaamaan päivittynyttä nimikettä tai nimeämiskaavaa.", "DownloadClientAriaSettingsDirectoryHelpText": "Vaihtoehtoinen latausten tallennussijainti. Käytä Aria2:n oletusta jättämällä tyhjäksi.", - "DeleteArtistFoldersHelpText": "Poista esittäjäkansiot ja niiden kaikki sisältö.", + "DeleteArtistFoldersHelpText": "Poista artistikansiot ja niiden kaikki sisältö.", "ChangeCategoryHint": "Vaihtaa latauksen kategoriaksi latauspalvelun \"Tuonnin jälkeinen kategoria\" -asetuksen kategorian.", "ChangeCategoryMultipleHint": "Vaihtaa latausten kategoriaksi latauspalvelun \"Tuonnin jälkeinen kategoria\" -asetuksen kategorian.", "AutoRedownloadFailedFromInteractiveSearch": "Uudelleenlataus manuaalihaun tuloksista epäonnistui", @@ -1068,12 +1066,12 @@ "HiddenClickToShow": "Piilotettu, näytä painamalla tästä", "Dash": "Yhdysmerkki", "RegularExpressionsCanBeTested": "Säännöllisiä lausekkeita voidaan testata [täällä]({url}).", - "MonitorArtists": "Esittäjien valvonta", + "MonitorArtists": "Artistien valvonta", "ChooseImportMethod": "Valitse tuontitapa", "NoCutoffUnmetItems": "Katkaisutasoa saavuttamattomia kohteita ei ole.", "FailedToLoadQueue": "Jonon lataus epäonnistui", "NoMissingItems": "Puuttuvia kohteita ei ole.", - "SpecificMonitoringOptionHelpText": "Valvo esittäjiä, mutta vain erikseen listalle lisättyjä albumeita.", + "SpecificMonitoringOptionHelpText": "Valvo artisteja, mutta vain erikseen listalle lisättyjä albumeita.", "UnableToLoadCustomFormats": "Virhe ladattaessa mukautettuja muotoja.", "Customformat": "Mukautettu muoto", "ExportCustomFormat": "Vie mukautettu muoto", @@ -1100,7 +1098,7 @@ "RemoveSelectedItemBlocklistMessageText": "Haluatko varmasti poistaa valitut kohteet estolistalta?", "ResetDefinitions": "Palauta määritykset", "NotificationsSettingsUseSslHelpText": "Muodosta yhteys palveluun {serviceName} SSL-protokollan välityksellä.", - "ClickToChangeIndexerFlags": "Muuta hakupalvelun lippuja painamalla tästä", + "ClickToChangeIndexerFlags": "Muuta hakupalvelun lippuja klikkaamalla", "CustomFormatsSpecificationFlag": "Lippu", "SelectIndexerFlags": "Valitse hakupalvelun liput", "SetIndexerFlags": "Aseta hakupalvelun liput", @@ -1108,7 +1106,7 @@ "LabelIsRequired": "Nimi on pakollinen", "ImportList": "Tuontilista", "CountImportListsSelected": "{selectedCount} tuontilista(a) on valittu", - "DeleteArtistFolder": "Poista esittäjäkansio", + "DeleteArtistFolder": "Poista artistikansio", "FormatAgeMinutes": "minuuttia", "IndexerFlags": "Hakupalvelun liput", "Logout": "Kirjaudu ulos", @@ -1131,17 +1129,17 @@ "TagsSettingsSummary": "Täältä näet kaikki tunnisteet käyttökohteineen ja voit poistaa käyttämättömät tunnisteet.", "Tomorrow": "Huomenna", "DefaultCase": "Oletusarvoinen kirjainkoko", - "DeleteArtistFolderHelpText": "Poista esittäjäkansio ja sen sisältö", + "DeleteArtistFolderHelpText": "Poista artistikansio ja sen sisältö", "MonitorAllAlbums": "Kaikki albumit", "MonitorNewAlbums": "Uudet albumit", "MonitorExistingAlbums": "Olemassa olevat albumit", "NoLimitForAnyDuration": "Ei toistoaikojen rajoituksia", "SuggestTranslationChange": "Ehdota käännösmuutosta", "Loading": "Ladataan", - "ApplyTagsHelpTextHowToApplyArtists": "Tunnisteisiin kohdistettavat toimenpiteet:", + "ApplyTagsHelpTextHowToApplyArtists": "Artisteihin kohdistettavat toimenpiteet:", "CouldntFindAnyResultsForTerm": "Haku \"{0}\" ei tuottanut tuloksia.", "ImportListStatusCheckAllClientMessage": "Mitkään listat eivät ole virheiden vuoksi käytettävissä", - "ItsEasyToAddANewArtistJustStartTypingTheNameOfTheArtistYouWantToAdd": "Uuden esittäjän lisääminen on helppoa. Aloita vain haluamasi esittäjän nimen kirjoittaminen.", + "ItsEasyToAddANewArtistJustStartTypingTheNameOfTheArtistYouWantToAdd": "Uuden artistin lisääminen on helppoa. Aloita vain haluamasi artistin nimen kirjoittaminen.", "IndexerLongTermStatusCheckAllClientMessage": "Mikään hakupalvelu ei ole käytettävissä yli kuusi tuntia kestäneiden virheiden vuoksi.", "NoMinimumForAnyDuration": "Ei toistoaikojen vähimmäiskestoja", "RemoveQueueItemConfirmation": "Haluatko varmasti poistaa kohteen \"{sourceTitle}\" jonosta?", @@ -1152,13 +1150,13 @@ "IndexerSearchCheckNoAvailableIndexersMessage": "Mitkään hakua tukevat hakupalvelut eivät ole tilapäisesti käytettävissä hiljattaisten palveluvirheiden vuoksi.", "NotificationsEmbySettingsUpdateLibraryHelpText": "Määrittää päivitetäänkö palvelimen kirjasto tuonnin, uudelleennimeämisen tai poiston yhteydessä.", "NotificationsKodiSettingAlwaysUpdate": "Päivitä aina", - "OrganizeSelectedArtists": "Järjestele valitut esittäjät", + "OrganizeSelectedArtists": "Järjestele valitut artistit", "MonitoredStatus": "Valvottu/tila", "FileNameTokens": "Tiedostonimimuuttujat", "FormatDateTime": "{formattedDate} {formattedTime}", "FormatRuntimeHours": "{hours} t", "FormatRuntimeMinutes": "{minutes} m", - "GrabReleaseUnknownArtistOrAlbumMessageText": "{appName} ei tunnistanut julkaisun esittäjää ja albumia, eikä sen vuoksi voi tuoda sitä automaattisesti. Haluatko kaapata julkaisun \"{title}\"?", + "GrabReleaseUnknownArtistOrAlbumMessageText": "{appName} ei tunnistanut julkaisun artistia ja albumia, eikä sen vuoksi voi tuoda sitä automaattisesti. Haluatko kaapata julkaisun \"{title}\"?", "NotificationsSettingsUpdateMapPathsToHelpText": "{serviceName}-sijainti, jonka perusteella esittäjien sijainteja muutetaan kun {serviceName} näkemä kirjastosijainti poikkeaa {appName}in sijainnista (vaatii \"Päivitä kirjasto\" -asetuksen).", "NotificationsKodiSettingsCleanLibraryHelpText": "Siivoa kirjasto päivityksen jälkeen.", "NotificationsKodiSettingsDisplayTime": "Näytä aika", @@ -1185,18 +1183,18 @@ "GeneralSettingsSummary": "Portti, SSL-salaus, käyttäjätunnus ja salasana, välityspalvelin, analytiikka ja päivitykset.", "QualitySettingsSummary": "Laatukoot ja nimeäminen", "PreferTorrent": "Suosi torrentia", - "CountArtistsSelected": "{count} esittäjä(ä) on valittu", + "CountArtistsSelected": "{count} artisti(a) on valittu", "AuthenticationRequiredWarning": "Etäkäytön estämiseksi ilman tunnistautumista {appName} vaatii nyt tunnistautumisen käyttöönoton. Paikallisilta osoitteilta se voidaan valinnaisesti poistaa käytöstä.", "Auto": "Automaattinen", "CustomFormatRequiredHelpText": "Tämän \"{0}\" -ehdon on täsmättävä mukautetun muodon käyttämiseksi. Muutoin riittää yksi \"{0}\" -vastaavuus.", - "DeleteArtistFolderCountConfirmation": "Haluatko varmasti poistaa {count} valittua esittäjää?", - "DeleteArtistFolderCountWithFilesConfirmation": "Haluatko varmasti poistaa {count} valittua esittäjää ja niiden kaiken sisällön?", + "DeleteArtistFolderCountConfirmation": "Haluatko varmasti poistaa {count} valittua artistia?", + "DeleteArtistFolderCountWithFilesConfirmation": "Haluatko varmasti poistaa {count} valittua artistia ja niiden kaiken sisällön?", "ReleaseProfile": "Julkaisuprofiili", "IncludeHealthWarnings": "Sisällytä kuntovaroitukset", - "LidarrSupportsMultipleListsForImportingAlbumsAndArtistsIntoTheDatabase": "{appName} tukee useita listoja, joiden avulla esittäjiä ja albumeita voidaan tuoda tietokantaan.", + "LidarrSupportsMultipleListsForImportingAlbumsAndArtistsIntoTheDatabase": "{appName} tukee useita listoja, joiden avulla artisteja ja albumeita voidaan tuoda tietokantaan.", "Priority": "Painotus", "AlbumsLoadError": "Virhe ladattaessa albumeita.", - "ArtistIsUnmonitored": "Esittäjää ei valvota", + "ArtistIsUnmonitored": "Artistia ei valvota", "FormatAgeDay": "päivä", "FormatAgeDays": "päivää", "FormatAgeHour": "tunti", @@ -1211,7 +1209,7 @@ "ImportMechanismHealthCheckMessage": "Käytä valmistuneiden latausten käsittelyä", "KeyboardShortcuts": "Pikanäppäimet", "MediaManagementSettingsSummary": "Tiedostojen nimeämis- ja hallinta-asetukset, sekä kirjaston juurikansiot.", - "MetadataSettingsArtistSummary": "Luo metatietotiedostot kun kappaleita tuodaan tai esittäjien tietoja päivitetään.", + "MetadataSettingsArtistSummary": "Luo metatietotiedostot kun kappaleita tuodaan tai artistien tietoja päivitetään.", "MonitorFirstAlbum": "Ensimmäinen albumi", "MonitorFutureAlbums": "Tulevat albumit", "MonitorLastestAlbum": "Uusin albumi", @@ -1225,7 +1223,7 @@ "Unlimited": "Rajoittamaton", "ArtistIndexFooterDownloading": "Ladataan", "UseSsl": "Käytä SSL-salausta", - "DeleteSelectedArtists": "Poista valitut esittäjät", + "DeleteSelectedArtists": "Poista valitut artistit", "Links": "Linkit", "IndexerJackettAll": "Jackettin ei-tuettua \"all\"-päätettä käyttävät hakupalvelut: {0}.", "AutomaticSearch": "Automaattihaku", @@ -1236,7 +1234,7 @@ "DownloadClientDelugeSettingsDirectoryHelpText": "Vaihtoehtoinen latausten tallennussijainti. Käytä Delugen oletusta jättämällä tyhjäksi.", "IndexerSettingsSeedRatio": "Jakosuhde", "IndexerSettingsSeedTime": "Jakoaika", - "ArtistIsMonitored": "Esittäjää valvotaan", + "ArtistIsMonitored": "Artistia valvotaan", "False": "Epätosi", "Parse": "Jäsennä", "ParseModalErrorParsing": "Virhe jäsennettäessä. Yritä uudelleen.", @@ -1303,12 +1301,12 @@ "EmbedCoverArtHelpText": "Sisällytä Lidarrin albumikuvitukset äänitiedostoihin kun niiden tagit tallennetaan.", "ForeignId": "Vieras ID", "MonitorAlbum": "Albumien valvonta", - "AddNewArtist": "Lisää uusi esittäjä", + "AddNewArtist": "Lisää uusi artisti", "DownloadedWaitingToImport": "Ladattu – Odottaa tuontia", "ArtistProgressBarText": "{trackFileCount}/{trackCount} (kaikkiaan: {totalTrackCount}, latauksessa: {downloadingCount})", "DownloadedImporting": "Ladattu – Tuodaan", - "IfYouDontAddAnImportListExclusionAndTheArtistHasAMetadataProfileOtherThanNoneThenThisAlbumMayBeReaddedDuringTheNextArtistRefresh": "Jos et lisää tuontillistapoikkeusta ja esittäjän metatietoprofiili on muu kuin \"Ei mitään\", saatetaan albumi lisätä uudelleen kun esittäjä seuraavan kerran päivitetään.", - "MatchedToArtist": "Kohdistettu esittäjään", + "IfYouDontAddAnImportListExclusionAndTheArtistHasAMetadataProfileOtherThanNoneThenThisAlbumMayBeReaddedDuringTheNextArtistRefresh": "Jos et lisää tuontillistapoikkeusta ja artistin metatietoprofiili on muu kuin \"Ei mitään\", saatetaan albumi lisätä uudelleen kun artisti seuraavan kerran päivitetään.", + "MatchedToArtist": "Kohdistettu artistiin", "TrackFileRenamedTooltip": "Kappaletiedosto nimettiin uudelleen", "TrackFileTagsUpdatedTooltip": "Kappaletiedoston tagit päivitettiin", "OneAlbum": "1 albumi", @@ -1317,21 +1315,21 @@ "OnTrackRetag": "Kun kappaleen tagit muuttuvat", "DeleteFormat": "Poista muoto", "EmbedCoverArtInAudioFiles": "Sisällytä kuvat äänitiedostoihin", - "OnArtistAdd": "Kun esittäjä lisätään", - "OnArtistDelete": "Kun esittäjä poistetaan", + "OnArtistAdd": "Kun artisti lisätään", + "OnArtistDelete": "Kun artisti poistetaan", "PreviewRetag": "Esikatsele tagimuutoksia", "AddAlbumWithTitle": "Lisää {albumTitle}", "AddArtistWithName": "Lisää {artistName}", - "RetagSelectedArtists": "Päivitä valittujen esittäjien tagit", + "RetagSelectedArtists": "Päivitä valittujen artistien tagit", "TrackFileDeletedTooltip": "Kappaletiedosto poistettiin", "TrackFiles": "Kappaletiedostot", "OnAlbumDelete": "Kun albumi poistetaan", "DownloadPropersAndRepacksHelpTexts2": "\"Älä suosi\" käyttää Proper-/Repack-julkaisujen sijaan haluttua sanapisteytystä.", - "EditSelectedArtists": "Muokkaa valittuja esittäjiä", - "ICalTagsArtistHelpText": "Syöte sisältää vain vähintään yhdellä täsmäävällä tunnisteella merkityt esittäjät.", + "EditSelectedArtists": "Muokkaa valittuja artisteja", + "ICalTagsArtistHelpText": "Syöte sisältää vain vähintään yhdellä täsmäävällä tunnisteella merkityt artistit.", "MatchedToAlbums": "Täsmätty albumeihin", "NoTracksInThisMedium": "Kappaleita ei ole tässä muodossa", - "ReleaseProfileTagArtistHelpText": "Julkaisuprofiileja sovelletaan esittäjiin, jotka on merkitty ainakin yhdellä täsmäävällä tunnisteella. Käytä kaikille esittäjille jättämällä tyhjäksi.", + "ReleaseProfileTagArtistHelpText": "Julkaisuprofiileja sovelletaan artisteihin, jotka on merkitty ainakin yhdellä täsmäävällä tunnisteella. Käytä kaikille artisteille jättämällä tyhjäksi.", "TrackFileMissingTooltip": "Kappaletiedosto puuttuu", "TrackFilesLoadError": "Virhe ladattaessa kappaletiedostoja.", "AddNewAlbum": "Lisää uusi albumi", @@ -1340,13 +1338,13 @@ "AlbumDetails": "Albumin tiedot", "AlbumInfo": "Albumin tiedot", "AnchorTooltip": "Tämä tiedosto on jo kirjastossasi julkaisussa, jota olet juuri tuomassa.", - "ArtistMonitoring": "Esittäjän valvonta", + "ArtistMonitoring": "Artistin valvonta", "Banners": "Bannerit", "CountAlbums": "{albumCount} albumia", - "DefaultDelayProfileArtist": "Tämä on oletusprofiili, joka pätee kaikkii esittäjiin, joille ei ole erikseen määritetty profiilia.", - "DelayProfileArtistTagsHelpText": "Käytetään vähintään yhdellä täsmäävällä tunnisteella merkityille esittäjille.", + "DefaultDelayProfileArtist": "Tämä on oletusprofiili, joka pätee kaikkii artisteihin, joille ei ole erikseen määritetty profiilia.", + "DelayProfileArtistTagsHelpText": "Käytetään vähintään yhdellä täsmäävällä tunnisteella merkityille artisteille.", "Disambiguation": "Yksinkertaistaminen", - "NotificationsTagsArtistHelpText": "Ilmoita vain vähintään yhdellä täsmäävällä tunnisteella merkityistä esittäjistä.", + "NotificationsTagsArtistHelpText": "Ilmoita vain vähintään yhdellä täsmäävällä tunnisteella merkityistä artisteista.", "NotificationsSettingsWebhookHeaders": "Otsakkeet", "TracksLoadError": "Virhe ladattaessa kappaleita.", "NoMediumInformation": "Julkaisumuodon tietoja ei ole saatavilla.", @@ -1359,5 +1357,13 @@ "Paused": "Keskeytetty", "Pending": "Odottaa", "PendingDownloadClientUnavailable": "Odottaa – Latauspalvelu ei ole käytettävissä", - "ImportFailed": "Tuonti epäonnistui: {sourceTitle}" + "ImportFailed": "Tuonti epäonnistui: {sourceTitle}", + "CurrentlyInstalled": "Nykyinen asennettu versio", + "FailedToFetchSettings": "Asetusten nouto epäonnistui", + "FailedToFetchUpdates": "Päivitysten nouto epäonnistui", + "DownloadClientItemErrorMessage": "{clientName} ilmoittaa virheestä: {message}", + "LogFilesLocation": "Lokitiedostojen tallennussijainti: {location}", + "RemoveRootFolder": "Poista juurikansio", + "TheLogLevelDefault": "Lokikirjauksen oletusarvoinen laajuus on \"Vianselvitys\". Laajuutta voidaan muuttaa [Yleisistä asetuksista](/settings/general).", + "RemoveRootFolderArtistsMessageText": "Haluatko varmasti poistaa juurikansion \"{name}\"? Tiedostoja ja kansioita ei poisteta levyltä, eikä tämän juurikansion artisteja poisteta {appName}ista." } diff --git a/src/NzbDrone.Core/Localization/Core/fr.json b/src/NzbDrone.Core/Localization/Core/fr.json index 6dbaaf986..1200426a0 100644 --- a/src/NzbDrone.Core/Localization/Core/fr.json +++ b/src/NzbDrone.Core/Localization/Core/fr.json @@ -94,7 +94,6 @@ "DeleteQualityProfileMessageText": "Êtes-vous sûr de vouloir supprimer le profil de qualité \"{name}\" ?", "DeleteReleaseProfile": "Supprimer le profil de version", "DeleteReleaseProfileMessageText": "Êtes-vous sûr de vouloir supprimer ce profil de version ?", - "DeleteRootFolderMessageText": "Êtes-vous sûr de vouloir supprimer le dossier racine « {name} » ?", "DeleteSelectedTrackFiles": "Supprimer les fichiers film sélectionnés", "DeleteSelectedTrackFilesMessageText": "Voulez-vous vraiment supprimer les fichiers vidéo sélectionnés ?", "DeleteTag": "Supprimer l'étiquette", @@ -832,7 +831,6 @@ "IndexerDownloadClientHealthCheckMessage": "Indexeurs avec des clients de téléchargement invalides : {0}.", "EditDownloadClientImplementation": "Modifier le client de téléchargement - {implementationName}", "ListWillRefreshEveryInterp": "La liste se rafraîchira tous/toutes la/les {0}", - "DeleteRootFolder": "Supprimer le dossier racine", "NoIndexersFound": "Aucun indexeur n'a été trouvé", "SmartReplace": "Remplacement intelligent", "PreferProtocol": "Préférer {preferredProtocol}", @@ -1359,5 +1357,12 @@ "DownloadClientSettingsRecentPriorityAlbumHelpText": "Priorité à utiliser lors de la récupération des albums sortis au cours des 14 derniers jours", "NotificationsTagsArtistHelpText": "Envoyer des notifications uniquement pour les artistes ayant au moins un tag correspondant", "ReleaseProfileTagArtistHelpText": "Les profils de sortie s'appliqueront aux artistes ayant au moins un tag correspondant. Laisser vide pour appliquer à tous les artistes", - "TracksLoadError": "Impossible de charger les pistes" + "TracksLoadError": "Impossible de charger les pistes", + "CurrentlyInstalled": "Actuellement installé", + "FailedToFetchSettings": "Échec de la récupération des paramètres", + "FailedToFetchUpdates": "Échec de la récupération des mises à jour", + "LogFilesLocation": "Les fichiers journaux sont situés dans : {location}", + "DownloadClientItemErrorMessage": "{clientName} signale une erreur : {message}", + "RemoveRootFolder": "Supprimer le dossier racine", + "RemoveRootFolderArtistsMessageText": "Êtes vous sure de vouloir enlever le dossier racine '{name}' ? Les fichiers et les dossiers ne seront pas supprimer du disque et les artistes dans le dossier racine ne seront pas retirés de {appName}." } diff --git a/src/NzbDrone.Core/Localization/Core/he.json b/src/NzbDrone.Core/Localization/Core/he.json index ec324b3bb..f271475e3 100644 --- a/src/NzbDrone.Core/Localization/Core/he.json +++ b/src/NzbDrone.Core/Localization/Core/he.json @@ -43,7 +43,6 @@ "DeleteQualityProfileMessageText": "האם אתה בטוח שברצונך למחוק את פרופיל האיכות {0}", "DeleteReleaseProfile": "מחק פרופיל עיכוב", "DeleteReleaseProfileMessageText": "האם אתה בטוח שברצונך למחוק פרופיל עיכוב זה?", - "DeleteRootFolderMessageText": "האם אתה בטוח שברצונך למחוק את האינדקס '{0}'?", "DeleteSelectedTrackFiles": "מחק קבצי סרטים שנבחרו", "DeleteSelectedTrackFilesMessageText": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?", "DeleteTagMessageText": "האם אתה בטוח שברצונך למחוק את התג '{0}'?", @@ -803,5 +802,7 @@ "Downloaded": "הורד", "Pending": "ממתין ל", "WaitingToImport": "ממתין לייבוא", - "WaitingToProcess": "מחכה לעיבוד" + "WaitingToProcess": "מחכה לעיבוד", + "CurrentlyInstalled": "מותקן כעת", + "RemoveRootFolder": "הסר את תיקיית השורש" } diff --git a/src/NzbDrone.Core/Localization/Core/hi.json b/src/NzbDrone.Core/Localization/Core/hi.json index b286c95f9..3927711b7 100644 --- a/src/NzbDrone.Core/Localization/Core/hi.json +++ b/src/NzbDrone.Core/Localization/Core/hi.json @@ -302,7 +302,6 @@ "DeleteQualityProfileMessageText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं", "DeleteReleaseProfile": "डिलीट प्रोफाइल को डिलीट करें", "DeleteReleaseProfileMessageText": "क्या आप वाकई इस विलंब प्रोफ़ाइल को हटाना चाहते हैं?", - "DeleteRootFolderMessageText": "क्या आप वाकई '{0}' इंडेक्स को हटाना चाहते हैं?", "DeleteSelectedTrackFiles": "चयनित मूवी फ़ाइलें हटाएं", "DeleteSelectedTrackFilesMessageText": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?", "DeleteTag": "टैग हटाएं", @@ -759,5 +758,7 @@ "Paused": "रोके गए", "Pending": "विचाराधीन", "WaitingToImport": "आयात की प्रतीक्षा में", - "WaitingToProcess": "प्रक्रिया की प्रतीक्षा की जा रही है" + "WaitingToProcess": "प्रक्रिया की प्रतीक्षा की जा रही है", + "CurrentlyInstalled": "वर्तमान में स्थापित है", + "RemoveRootFolder": "रूट फ़ोल्डर निकालें" } diff --git a/src/NzbDrone.Core/Localization/Core/hr.json b/src/NzbDrone.Core/Localization/Core/hr.json index 0771d0e8e..113a69ca9 100644 --- a/src/NzbDrone.Core/Localization/Core/hr.json +++ b/src/NzbDrone.Core/Localization/Core/hr.json @@ -201,7 +201,6 @@ "ChmodFolderHelpTextWarning": "Ovo jedino radi ako je korisnik koji je pokrenuo Radarr vlasnik datoteke. Bolje je osigurati da klijent za preuzimanje postavi dozvolu ispravno.", "ChownGroupHelpTextWarning": "Ovo jedino radi ako je korisnik koji je pokrenuo Radarr vlasnik datoteke. Bolje je osigurati da klijent za preuzimanje koristi istu grupu kao Radarr.", "DeleteReleaseProfileMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?", - "DeleteRootFolderMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?", "DeleteTagMessageText": "Jeste li sigurni da želite obrisati oznaku formata {0}?", "EditImportListExclusion": "Dodaj na Listu Isključenja", "EditQualityProfile": "Dodaj Profil Kvalitete", diff --git a/src/NzbDrone.Core/Localization/Core/hu.json b/src/NzbDrone.Core/Localization/Core/hu.json index beb21fdb7..a79c03fc6 100644 --- a/src/NzbDrone.Core/Localization/Core/hu.json +++ b/src/NzbDrone.Core/Localization/Core/hu.json @@ -251,8 +251,6 @@ "DefaultTagsHelpText": "Az ebben a mappában észlelt előadók alapértelmezett {appName} címkéi", "DeleteReleaseProfile": "Release profil törlése", "DeleteReleaseProfileMessageText": "Biztos hogy törölni szeretnéd ezt a késleltetési profilt?", - "DeleteRootFolder": "Gyökérmappa törlés", - "DeleteRootFolderMessageText": "Biztosan törli a(z) \"{name}\" gyökérmappát?", "Time": "Idő", "DeleteDelayProfileMessageText": "Biztosan törli ezt a késleltetési profilt?", "DeleteEmptyFolders": "Üres Mappa Törlése", @@ -1238,5 +1236,9 @@ "PendingDownloadClientUnavailable": "Függőben – A letöltési kliens nem érhető el", "ImportFailed": "Sikertelen importálás: {sourceTitle}", "WaitingToImport": "Várakozás importálásra", - "WaitingToProcess": "Várakozás feldolgozásra" + "WaitingToProcess": "Várakozás feldolgozásra", + "CurrentlyInstalled": "Jelenleg telepítve", + "FailedToFetchUpdates": "Nem sikerült lekérni a frissítéseket", + "RemoveRootFolder": "A gyökérmappa eltávolítása", + "LogFilesLocation": "A naplófájlok itt találhatók: {location}" } diff --git a/src/NzbDrone.Core/Localization/Core/id.json b/src/NzbDrone.Core/Localization/Core/id.json index ff7cf1bad..eb93ac12f 100644 --- a/src/NzbDrone.Core/Localization/Core/id.json +++ b/src/NzbDrone.Core/Localization/Core/id.json @@ -133,5 +133,6 @@ "Clone": "Tutup", "EnableSSL": "Aktifkan RSS", "AddDelayProfile": "Tambah Delay Profile", - "Today": "Hari Ini" + "Today": "Hari Ini", + "CurrentlyInstalled": "Saat Ini Terpasang" } diff --git a/src/NzbDrone.Core/Localization/Core/is.json b/src/NzbDrone.Core/Localization/Core/is.json index 1718406fe..ac8838d36 100644 --- a/src/NzbDrone.Core/Localization/Core/is.json +++ b/src/NzbDrone.Core/Localization/Core/is.json @@ -70,7 +70,6 @@ "DeleteQualityProfileMessageText": "Ertu viss um að þú viljir eyða gæðasniðinu {0}", "DeleteReleaseProfile": "Eyða seinkunarprófíl", "DeleteReleaseProfileMessageText": "Ertu viss um að þú viljir eyða þessum seinkunarprófíl?", - "DeleteRootFolderMessageText": "Ertu viss um að þú viljir eyða vísitölunni '{0}'?", "DeleteSelectedTrackFiles": "Eyða völdum kvikmyndaskrám", "DeleteSelectedTrackFilesMessageText": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?", "DeleteTag": "Eyða tagi", @@ -760,5 +759,7 @@ "Pending": "Í bið", "Paused": "Hlé gert", "WaitingToImport": "Bið eftir að flytja inn", - "WaitingToProcess": "Bið eftir að vinna" + "WaitingToProcess": "Bið eftir að vinna", + "CurrentlyInstalled": "Nú sett upp", + "RemoveRootFolder": "Fjarlægðu rótarmöppuna" } diff --git a/src/NzbDrone.Core/Localization/Core/it.json b/src/NzbDrone.Core/Localization/Core/it.json index 2af304152..c755c4d48 100644 --- a/src/NzbDrone.Core/Localization/Core/it.json +++ b/src/NzbDrone.Core/Localization/Core/it.json @@ -102,7 +102,6 @@ "DeleteQualityProfileMessageText": "Sicuro di voler cancellare il profilo di qualità {0}", "DeleteReleaseProfile": "Cancellare il profilo di ritardo", "DeleteReleaseProfileMessageText": "Sei sicuro di voler cancellare questo profilo di ritardo?", - "DeleteRootFolderMessageText": "Sei sicuro di voler eliminare l'indexer '{0}'?", "DeleteSelectedTrackFiles": "Cancellare i film selezionati", "DeleteSelectedTrackFilesMessageText": "Sei sicuro di voler eliminare i file del film selezionato?", "DeleteTag": "Cancella Tag", @@ -635,7 +634,6 @@ "DateAdded": "Aggiunto in Data", "DeleteFilesHelpText": "Cancella le tracce e le cartelle degli artisti", "DeleteImportList": "Cancella la lista di importazione", - "DeleteRootFolder": "Cancella la cartella principale", "EndedAllTracksDownloaded": "Finito (tutte le tracce scaricate)", "EndedOnly": "Solo Finito", "Episode": "Episodio", @@ -1062,5 +1060,18 @@ "Paused": "In Pausa", "Pending": "In Attesa", "UnableToImportAutomatically": "Impossibile Importare Automaticamente", - "AlbumCount": "Numero album" + "AlbumCount": "Numero album", + "IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Se un torrent è bloccato tramite hash, potrebbe non essere correttamente rifiutato durante l’uso di RSS/Ricerca con alcuni indexer. Abilitando questa opzione, il torrent verrà rifiutato dopo essere stato acquisito, ma prima di essere inviato al client.", + "CurrentlyInstalled": "Attualmente Installato", + "LogFilesLocation": "File di Log localizzati in: {location}", + "RemoveRootFolder": "Rimuovi cartella radice", + "ArtistsEditRootFolderHelpText": "Lo spostamento degli artisti nella stessa cartella radice può essere utilizzato per rinominare le cartelle degli artisti in modo che corrispondano al nome aggiornato o al formato di denominazione", + "AutomaticUpdatesDisabledDocker": "Gli aggiornamenti automatici non sono supportati direttamente quando si utilizza il meccanismo di aggiornamento Docker. Sarà necessario aggiornare l'immagine del contenitore al di fuori di {appName} o utilizzare uno script", + "ArtistMonitoring": "Monitoraggio Artisti", + "BlocklistMultipleOnlyHint": "Aggiungi alla blocklist senza ricerca di sostituti", + "BlocklistAndSearchHint": "Inizia una ricerca per sostituzioni dopo l'aggiunta alla lista dei blocchi", + "BlocklistOnly": "Solo blocklist", + "WriteMetadataTags": "Scrivi tag metadati", + "BannerOptions": "Opzioni Banner", + "Banners": "Banner" } diff --git a/src/NzbDrone.Core/Localization/Core/ja.json b/src/NzbDrone.Core/Localization/Core/ja.json index 93383c278..12db17a33 100644 --- a/src/NzbDrone.Core/Localization/Core/ja.json +++ b/src/NzbDrone.Core/Localization/Core/ja.json @@ -268,7 +268,6 @@ "DeleteQualityProfileMessageText": "品質プロファイル{0}を削除してもよろしいですか", "DeleteReleaseProfile": "遅延プロファイルの削除", "DeleteReleaseProfileMessageText": "この遅延プロファイルを削除してもよろしいですか?", - "DeleteRootFolderMessageText": "インデクサー「{0}」を削除してもよろしいですか?", "DeleteSelectedTrackFiles": "選択したムービーファイルを削除する", "DeleteSelectedTrackFilesMessageText": "選択したムービーファイルを削除してもよろしいですか?", "DeleteTag": "タグを削除", @@ -760,5 +759,7 @@ "Pending": "保留中", "WaitingToProcess": "処理を待っています", "CheckDownloadClientForDetails": "詳細については、ダウンロードクライアントを確認してください", - "WaitingToImport": "インポートを待機中" + "WaitingToImport": "インポートを待機中", + "CurrentlyInstalled": "現在インストール中", + "RemoveRootFolder": "ルートフォルダを削除します" } diff --git a/src/NzbDrone.Core/Localization/Core/ko.json b/src/NzbDrone.Core/Localization/Core/ko.json index c4b133c80..9686416c4 100644 --- a/src/NzbDrone.Core/Localization/Core/ko.json +++ b/src/NzbDrone.Core/Localization/Core/ko.json @@ -77,7 +77,6 @@ "DeleteQualityProfileMessageText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?", "DeleteReleaseProfile": "지연 프로필 삭제", "DeleteReleaseProfileMessageText": "이 지연 프로필을 삭제 하시겠습니까?", - "DeleteRootFolderMessageText": "인덱서 '{0}'을 (를) 삭제 하시겠습니까?", "DeleteSelectedTrackFiles": "선택한 동영상 파일 삭제", "DeleteSelectedTrackFilesMessageText": "선택한 동영상 파일을 삭제 하시겠습니까?", "DeleteTag": "태그 삭제", @@ -822,7 +821,6 @@ "CustomFormatsSpecificationRegularExpressionHelpText": "사용자 정의 형식 정규표현식은 대소문자를 구분하지 않습니다", "DeleteAutoTag": "자동 태그 삭제", "DeleteImportList": "가져오기 목록 삭제", - "DeleteRootFolder": "루트 폴더 삭제", "DeleteSelectedCustomFormatsMessageText": "정말로 {count}개의 선택한 사용자 정의 형식을 삭제하시겠습니까?", "DoNotBlocklist": "차단 목록에 추가하지 않음", "DownloadClientDelugeSettingsDirectory": "다운로드 디렉토리", @@ -967,5 +965,9 @@ "Paused": "일시중지", "RootFolderPathHelpText": "루트 폴더 목록 항목이 다음에 추가됩니다:", "WaitingToImport": "가져오기 대기 중", - "AddNewArtistRootFolderHelpText": "'{folder}' 하위 폴더가 자동으로 생성됩니다" + "AddNewArtistRootFolderHelpText": "'{folder}' 하위 폴더가 자동으로 생성됩니다", + "CurrentlyInstalled": "현재 설치됨", + "FailedToFetchSettings": "설정을 가져오는데 실패함", + "FailedToFetchUpdates": "업데이트를 가져오는데 실패함", + "RemoveRootFolder": "루트 폴더 제거" } diff --git a/src/NzbDrone.Core/Localization/Core/nb_NO.json b/src/NzbDrone.Core/Localization/Core/nb_NO.json index 7b294c88f..11807c4fe 100644 --- a/src/NzbDrone.Core/Localization/Core/nb_NO.json +++ b/src/NzbDrone.Core/Localization/Core/nb_NO.json @@ -47,7 +47,6 @@ "DeleteImportListExclusionMessageText": "Er du sikker på at du vil slette denne ekskluderingen av importlister?", "DeleteNotificationMessageText": "Er du sikker på at du vil slette formattaggen {0}?", "DeleteReleaseProfileMessageText": "Er du sikker på at du vil slette denne forsinkelsesprofilen?", - "DeleteRootFolderMessageText": "Er du sikker på at du vil slette formattaggen {0}?", "DeleteTagMessageText": "Er du sikker på at du vil slette formattaggen {0}?", "ResetAPIKeyMessageText": "Er du sikker på at du vil tilbakestille API -nøkkelen din?", "ShowQualityProfile": "Legg til kvalitetsprofil", diff --git a/src/NzbDrone.Core/Localization/Core/nl.json b/src/NzbDrone.Core/Localization/Core/nl.json index cb686c7ce..d62d6c4b4 100644 --- a/src/NzbDrone.Core/Localization/Core/nl.json +++ b/src/NzbDrone.Core/Localization/Core/nl.json @@ -362,7 +362,6 @@ "DeleteQualityProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {name} wilt verwijderen?", "DeleteReleaseProfile": "Verwijder Vertragingsprofiel", "DeleteReleaseProfileMessageText": "Weet u zeker dat u dit vertragingsprofiel wilt verwijderen?", - "DeleteRootFolderMessageText": "Bent u zeker dat u de indexeerder '{0}' wilt verwijderen?", "DeleteSelectedTrackFiles": "Verwijder Geselecteerde Filmbestanden", "DeleteSelectedTrackFilesMessageText": "Bent u zeker dat u de geselecteerde filmbestanden wilt verwijderen?", "DeleteTag": "Verwijder Tag", @@ -915,5 +914,11 @@ "CheckDownloadClientForDetails": "controleer downloader voor meer details", "ImportFailed": "Importeren mislukt: {sourceTitle}", "Paused": "Gepauzeerd", - "WaitingToImport": "Wachten tot Importeren" + "WaitingToImport": "Wachten tot Importeren", + "StatusEndedContinuing": "Doorgaan", + "Continuing": "Doorgaan", + "CurrentlyInstalled": "Momenteel Geïnstalleerd", + "Country": "Land", + "CountImportListsSelected": "{selectedCount} importeerlijst(en) geselecteerd", + "RemoveRootFolder": "Verwijder hoofdmap" } diff --git a/src/NzbDrone.Core/Localization/Core/pl.json b/src/NzbDrone.Core/Localization/Core/pl.json index 05c8108d0..5e54d9c3c 100644 --- a/src/NzbDrone.Core/Localization/Core/pl.json +++ b/src/NzbDrone.Core/Localization/Core/pl.json @@ -59,7 +59,6 @@ "DeleteQualityProfileMessageText": "Czy na pewno chcesz usunąć profil jakości {0}", "DeleteReleaseProfile": "Usuń profil opóźnienia", "DeleteReleaseProfileMessageText": "Czy na pewno chcesz usunąć ten profil opóźnienia?", - "DeleteRootFolderMessageText": "Czy na pewno chcesz usunąć indeksator „{0}”?", "DeleteSelectedTrackFiles": "Usuń wybrane pliki filmowe", "DeleteSelectedTrackFilesMessageText": "Czy na pewno chcesz usunąć wybrane pliki filmowe?", "DeleteTag": "Usuń tag", @@ -859,5 +858,8 @@ "Paused": "Wstrzymano", "Pending": "W oczekiwaniu", "WaitingToImport": "Czekam na import", - "WaitingToProcess": "Czekam na przetworzenie" + "WaitingToProcess": "Czekam na przetworzenie", + "True": "Prawda", + "CurrentlyInstalled": "Aktualnie zainstalowane", + "RemoveRootFolder": "Usuń folder główny" } diff --git a/src/NzbDrone.Core/Localization/Core/pt.json b/src/NzbDrone.Core/Localization/Core/pt.json index 063c9d179..9484f71d3 100644 --- a/src/NzbDrone.Core/Localization/Core/pt.json +++ b/src/NzbDrone.Core/Localization/Core/pt.json @@ -272,7 +272,6 @@ "DeleteQualityProfileMessageText": "Tem a certeza de que pretende eliminar o perfil de qualidade '{name}'?", "DeleteReleaseProfile": "Eliminar perfil de atraso", "DeleteReleaseProfileMessageText": "Tem a certeza que quer eliminar este perfil de atraso?", - "DeleteRootFolder": "Eliminar a Pasta Raiz", "DestinationPath": "Caminho de destino", "DetailedProgressBar": "Barra de progresso detalhada", "DetailedProgressBarHelpText": "Mostrar texto na barra de progresso", @@ -419,7 +418,6 @@ "DeleteNotification": "Eliminar notificação", "DeleteNotificationMessageText": "Tem a certeza que quer eliminar a notificação \"{name}\"?", "DeleteQualityProfile": "Eliminar perfil de qualidade", - "DeleteRootFolderMessageText": "Tem a certeza que quer eliminar a pasta raiz \"{0}\"?", "DeleteSelectedTrackFiles": "Eliminar ficheiros de livro selecionados", "DeleteSelectedTrackFilesMessageText": "Tem a certeza que quer eliminar os ficheiros de livro selecionados?", "DeleteTag": "Eliminar etiqueta", @@ -1035,5 +1033,19 @@ "TBA": "TBA", "ThereWasAnErrorLoadingThisItem": "Houve um erro ao carregar este item", "ThereWasAnErrorLoadingThisPage": "Houve um erro ao carregar esta página", - "EpisodeDoesNotHaveAnAbsoluteEpisodeNumber": "Episódio não tem um número de episódio absoluto" + "EpisodeDoesNotHaveAnAbsoluteEpisodeNumber": "Episódio não tem um número de episódio absoluto", + "FormatShortTimeSpanMinutes": "{minutes} minuto(s)", + "ErrorLoadingContent": "Houve um erro ao carregar este conteúdo.", + "External": "Externo", + "FailedToFetchSettings": "Falha ao obter as definições", + "FormatAgeDay": "dia", + "FormatAgeDays": "dias", + "FormatDateTime": "{formattedDate} {formattedTime}", + "FormatDateTimeRelative": "{relativeDay}, {formattedDate} {formattedTime}", + "FormatShortTimeSpanHours": "{hours} hora(s)", + "FormatShortTimeSpanSeconds": "{seconds} secondo(s)", + "CurrentlyInstalled": "Atualmente instalado", + "FailedToFetchUpdates": "Falha a obter atualizações", + "False": "Falso", + "RemoveRootFolder": "Remover pasta raiz" } diff --git a/src/NzbDrone.Core/Localization/Core/pt_BR.json b/src/NzbDrone.Core/Localization/Core/pt_BR.json index b3da09969..309527e82 100644 --- a/src/NzbDrone.Core/Localization/Core/pt_BR.json +++ b/src/NzbDrone.Core/Localization/Core/pt_BR.json @@ -198,8 +198,6 @@ "DeleteQualityProfileMessageText": "Tem certeza de que deseja excluir o perfil de qualidade '{name}'?", "DeleteReleaseProfile": "Excluir perfil de lançamento", "DeleteReleaseProfileMessageText": "Tem certeza de que deseja excluir este perfil de lançamento?", - "DeleteRootFolder": "Excluir pasta raiz", - "DeleteRootFolderMessageText": "Tem certeza de que deseja excluir a pasta raiz '{name}'?", "DeleteSelectedTrackFiles": "Excluir arquivos do livro selecionado", "DeleteSelectedTrackFilesMessageText": "Tem certeza de que deseja excluir os arquivos do livro selecionado?", "DeleteTag": "Excluir etiqueta", @@ -1359,5 +1357,13 @@ "DownloadWarning": "Aviso de download: {warningMessage}", "Downloaded": "Baixado", "Paused": "Pausado", - "UnableToImportAutomatically": "Não foi possível importar automaticamente" + "UnableToImportAutomatically": "Não foi possível importar automaticamente", + "CurrentlyInstalled": "Atualmente instalado", + "FailedToFetchSettings": "Falha ao obter configurações", + "FailedToFetchUpdates": "Falha ao buscar atualizações", + "TheLogLevelDefault": "O nível de registro padrão é ' Debug ' e pode ser alterado em [ Configurações gerais](/ configurações/geral)", + "DownloadClientItemErrorMessage": "{clientName} está relatando um erro: {message}", + "LogFilesLocation": "Os arquivos de log estão localizados em: {location}", + "RemoveRootFolder": "Remover Pasta Raiz", + "RemoveRootFolderArtistsMessageText": "Tem certeza de que deseja remover a pasta raiz '{name}'? Arquivos e pastas não serão excluídos do disco, e os artistas nesta pasta raiz não serão removidos de {appName}." } diff --git a/src/NzbDrone.Core/Localization/Core/ro.json b/src/NzbDrone.Core/Localization/Core/ro.json index 892838e1f..05bdbe761 100644 --- a/src/NzbDrone.Core/Localization/Core/ro.json +++ b/src/NzbDrone.Core/Localization/Core/ro.json @@ -233,7 +233,6 @@ "DeleteQualityProfileMessageText": "Sigur doriți să ștergeți profilul de calitate '{name}'?", "DeleteReleaseProfile": "Ștergeți profilul de întârziere", "DeleteReleaseProfileMessageText": "Sigur doriți să ștergeți acest profil de întârziere?", - "DeleteRootFolderMessageText": "Sigur doriți să ștergeți indexatorul „{0}”?", "DeleteSelectedTrackFiles": "Ștergeți fișierele film selectate", "DeleteSelectedTrackFilesMessageText": "Sigur doriți să ștergeți fișierele de film selectate?", "DestinationPath": "Calea de destinație", @@ -811,5 +810,7 @@ "Any": "Oricare", "CheckDownloadClientForDetails": "Verificați clientul de descărcare pentru mai multe detalii", "Downloaded": "Descărcat", - "AddImportList": "Adăugați Lista de Import" + "AddImportList": "Adăugați Lista de Import", + "CurrentlyInstalled": "În prezent instalat", + "RemoveRootFolder": "Elimină folder rădăcină" } diff --git a/src/NzbDrone.Core/Localization/Core/ru.json b/src/NzbDrone.Core/Localization/Core/ru.json index 7b1bed1fc..b14b81cb8 100644 --- a/src/NzbDrone.Core/Localization/Core/ru.json +++ b/src/NzbDrone.Core/Localization/Core/ru.json @@ -281,7 +281,6 @@ "DeleteQualityProfileMessageText": "Вы уверены, что хотите удалить профиль качества '{name}'?", "DeleteReleaseProfile": "Удалить профиль релиза", "DeleteReleaseProfileMessageText": "Вы уверены, что хотите удалить этот профиль задержки?", - "DeleteRootFolderMessageText": "Вы уверены что хотите удалить индексер '{0}'?", "DeleteSelectedTrackFiles": "Удалить выбранные файлы фильма", "DeleteSelectedTrackFilesMessageText": "Вы уверены, что хотите удалить выбранные файлы?", "DeleteTag": "Удалить тег", @@ -730,7 +729,6 @@ "NoIndexersFound": "Индексаторы не найдены", "DeleteImportList": "Удалить список импорта", "RemoveCompletedDownloads": "Удалить завершенные загрузки", - "DeleteRootFolder": "Удалить корневую папку", "IndexerDownloadClientHealthCheckMessage": "Индексаторы с недопустимыми клиентами загрузки: {0}.", "AddDownloadClientImplementation": "Добавить клиент загрузки - {implementationName}", "AddConditionImplementation": "Добавить условие - {implementationName}", @@ -1111,5 +1109,13 @@ "ManageFormats": "Управлять форматами", "AddArtistWithName": "Добавить {artistName}", "AddNewAlbum": "Добавить новый альбом", - "AddMetadataProfile": "Добавить мета-данные профиля" + "AddMetadataProfile": "Добавить мета-данные профиля", + "CurrentlyInstalled": "Установлено", + "FailedToFetchSettings": "Не удалось загрузить настройки", + "FailedToFetchUpdates": "Не удалось загрузить обновления", + "DownloadClientItemErrorMessage": "{clientName} сообщает об ошибке: {message}", + "LogFilesLocation": "Файлы журнала расположены в: {location}", + "RemoveRootFolder": "Удалить корневой каталог", + "TheLogLevelDefault": "Уровень журналирования по умолчанию установлен на 'Отладка' и может быть изменён в [Общих настройках](/settings/general)", + "RemoveRootFolderArtistsMessageText": "Вы уверены, что хотите удалить корневой каталог '{name}'? Файлы и папки не будут удалены с диска, а исполнители в этом корневом каталоге не будут удалены из {appName}." } diff --git a/src/NzbDrone.Core/Localization/Core/sk.json b/src/NzbDrone.Core/Localization/Core/sk.json index 8d875dc66..63f0a9a87 100644 --- a/src/NzbDrone.Core/Localization/Core/sk.json +++ b/src/NzbDrone.Core/Localization/Core/sk.json @@ -28,7 +28,6 @@ "DeleteNotificationMessageText": "Naozaj chcete zmazať značku formátu {0} ?", "DeleteQualityProfileMessageText": "Naozaj chcete zmazať tento profil oneskorenia?", "DeleteReleaseProfileMessageText": "Naozaj chcete zmazať tento profil oneskorenia?", - "DeleteRootFolderMessageText": "Naozaj chcete zmazať značku formátu {0} ?", "DeleteTagMessageText": "Naozaj chcete zmazať značku formátu {0} ?", "APIKey": "Kľúč rozhrania API", "About": "O", @@ -296,5 +295,7 @@ "Reason": "Séria", "AddDelayProfileError": "Nie je možné pridať novú podmienku, skúste to znova.", "DownloadClientSettingsRecentPriority": "Priorita klienta", - "CheckDownloadClientForDetails": "ďalšie podrobnosti nájdete v klientovi na sťahovanie" + "CheckDownloadClientForDetails": "ďalšie podrobnosti nájdete v klientovi na sťahovanie", + "RequiredPlaceHolder": "Pridať nové obmedzenie", + "IgnoredPlaceHolder": "Pridať nové obmedzenie" } diff --git a/src/NzbDrone.Core/Localization/Core/sv.json b/src/NzbDrone.Core/Localization/Core/sv.json index 40a55143c..807853043 100644 --- a/src/NzbDrone.Core/Localization/Core/sv.json +++ b/src/NzbDrone.Core/Localization/Core/sv.json @@ -152,7 +152,6 @@ "DeleteNotification": "Radera Avisering", "DeleteReleaseProfile": "Radera UtgåveProfil", "DeleteReleaseProfileMessageText": "Är du säker på att du vill ta bort den här utgåvoPofilen?", - "DeleteRootFolder": "Radera Rotmapp", "DeleteSelectedTrackFiles": "Radera markerade Spårfiler", "DeleteSelectedTrackFilesMessageText": "Är du säker på att du vill radera de markerade spårfilerna?", "DeleteTag": "Radera Tagg", @@ -283,7 +282,6 @@ "DeleteEmptyFoldersHelpText": "Ta bort tomma filmmappar under skivsökning och när filmfiler raderas", "DeleteImportListMessageText": "Är du säker på att du vill radera listan '{0}'?", "DeleteNotificationMessageText": "Är du säker på att du vill radera aviseringen '{0}'?", - "DeleteRootFolderMessageText": "Är du säker på att du vill ta bort indexeraren '{0}'?", "DeleteTrackFileMessageText": "Är du säker på att du vill radera {0}?", "ResetAPIKeyMessageText": "Är du säker på att du vill nollställa din API-nyckel?", "MaintenanceRelease": "Underhållsutgåva", @@ -933,5 +931,7 @@ "Pending": "I väntan på", "WaitingToImport": "Väntar på att importera", "WaitingToProcess": "Väntar på att bearbeta", - "CheckDownloadClientForDetails": "Kontrollera nedladdningsklienten för mer detaljer" + "CheckDownloadClientForDetails": "Kontrollera nedladdningsklienten för mer detaljer", + "CurrentlyInstalled": "För närvarande installerad", + "RemoveRootFolder": "Ta bort rotmapp" } diff --git a/src/NzbDrone.Core/Localization/Core/th.json b/src/NzbDrone.Core/Localization/Core/th.json index 57304302d..c424d4d17 100644 --- a/src/NzbDrone.Core/Localization/Core/th.json +++ b/src/NzbDrone.Core/Localization/Core/th.json @@ -303,7 +303,6 @@ "DeleteQualityProfileMessageText": "แน่ใจไหมว่าต้องการลบโปรไฟล์คุณภาพ {0}", "DeleteReleaseProfile": "ลบโปรไฟล์ความล่าช้า", "DeleteReleaseProfileMessageText": "แน่ใจไหมว่าต้องการลบโปรไฟล์การหน่วงเวลานี้", - "DeleteRootFolderMessageText": "แน่ใจไหมว่าต้องการลบตัวสร้างดัชนี \"{0}\"", "DeleteSelectedTrackFiles": "ลบไฟล์ภาพยนตร์ที่เลือก", "DeleteSelectedTrackFilesMessageText": "แน่ใจไหมว่าต้องการลบไฟล์ภาพยนตร์ที่เลือก", "DeleteTag": "ลบแท็ก", @@ -757,5 +756,7 @@ "WaitingToImport": "กำลังรอการนำเข้า", "WaitingToProcess": "กำลังรอดำเนินการ", "Downloaded": "ดาวน์โหลดแล้ว", - "Paused": "หยุดชั่วคราว" + "Paused": "หยุดชั่วคราว", + "CurrentlyInstalled": "ติดตั้งแล้ว", + "RemoveRootFolder": "ลบโฟลเดอร์รูท" } diff --git a/src/NzbDrone.Core/Localization/Core/tr.json b/src/NzbDrone.Core/Localization/Core/tr.json index 4c9ee6a6b..d0d8e00fd 100644 --- a/src/NzbDrone.Core/Localization/Core/tr.json +++ b/src/NzbDrone.Core/Localization/Core/tr.json @@ -134,7 +134,6 @@ "DeleteQualityProfileMessageText": "'{name}' kalite profilini silmek istediğinizden emin misiniz?", "DeleteReleaseProfile": "Yayımlama Profilini Sil", "DeleteReleaseProfileMessageText": "Bu gecikme profilini silmek istediğinizden emin misiniz?", - "DeleteRootFolderMessageText": "Dizin oluşturucuyu '{0}' silmek istediğinizden emin misiniz?", "DeleteSelectedTrackFiles": "Seçili Film Dosyalarını Sil", "DeleteSelectedTrackFilesMessageText": "Seçili film dosyalarını silmek istediğinizden emin misiniz?", "DeleteTag": "Etiketi Sil", @@ -813,7 +812,6 @@ "Donate": "Bağış yap", "DownloadClientAriaSettingsDirectoryHelpText": "İndirilenlerin yerleştirileceği isteğe bağlı konum, varsayılan Aria2 konumunu kullanmak için boş bırakın", "Database": "Veri tabanı", - "DeleteRootFolder": "Kök Klasörü Sil", "RegularExpressionsCanBeTested": "Düzenli ifadeler [burada]({url}) test edilebilir.", "AutoTaggingSpecificationTag": "Etiket", "DoNotBlocklistHint": "Engellenenler listesine eklemeden kaldır", @@ -1093,5 +1091,12 @@ "CheckDownloadClientForDetails": "daha fazla ayrıntı için indirme istemcisini kontrol edin", "WaitingToImport": "İçe Aktarma Bekleniyor", "WaitingToProcess": "İşlenmek için Bekleniyor", - "ImportFailed": "İçe aktarma başarısız oldu: {sourceTitle}" + "ImportFailed": "İçe aktarma başarısız oldu: {sourceTitle}", + "CurrentlyInstalled": "Şuan Kurulu", + "FailedToFetchSettings": "Ayarlar alınamadı", + "FailedToFetchUpdates": "Güncellemeler getirilemedi", + "DownloadClientItemErrorMessage": "{clientName} bir hata bildirdi: {message}", + "LogFilesLocation": "Log kayıtlarının bulunduğu konum: {location}", + "RemoveRootFolder": "Kök klasörü kaldır", + "TheLogLevelDefault": "Log seviyesi varsayılan olarak 'Bilgi' şeklindedir ve [Genel Ayarlar](/ayarlar/genel) bölümünden değiştirilebilir" } diff --git a/src/NzbDrone.Core/Localization/Core/uk.json b/src/NzbDrone.Core/Localization/Core/uk.json index f6db56e21..ed03e9fdb 100644 --- a/src/NzbDrone.Core/Localization/Core/uk.json +++ b/src/NzbDrone.Core/Localization/Core/uk.json @@ -60,7 +60,6 @@ "DeleteQualityProfileMessageText": "Ви впевнені, що хочете видалити профіль якості '{name}'?", "DeleteReleaseProfile": "Видалити профіль випуску", "DeleteReleaseProfileMessageText": "Ви впевнені, що хочете видалити цей профіль випуску?", - "DeleteRootFolderMessageText": "Ви впевнені, що хочете видалити кореневу папку '{name}'?", "DeleteTagMessageText": "Ви впевнені, що хочете видалити тег '{label}'?", "IsCutoffCutoff": "Припинення", "CertificateValidationHelpText": "Змініть суворість перевірки сертифікації HTTPS. Не змінюйте, якщо не розумієте ризики.", @@ -550,7 +549,6 @@ "ConnectionLostReconnect": "{appName} спробує підключитися автоматично, або ви можете натиснути «Перезавантажити» нижче.", "ConnectionLost": "Зв'язок втрачений", "ConnectionLostToBackend": "{appName} втратив з’єднання з серверною частиною, і його потрібно перезавантажити, щоб відновити роботу.", - "DeleteRootFolder": "Видалити кореневу папку", "DownloadClientQbittorrentSettingsContentLayoutHelpText": "Чи використовувати налаштований макет вмісту qBittorrent, оригінальний макет із торрента чи завжди створювати вкладену папку (qBittorrent 4.3.2+)", "AutoRedownloadFailedFromInteractiveSearch": "Помилка повторного завантаження з інтерактивного пошуку", "AutoRedownloadFailed": "Помилка повторного завантаження", @@ -1207,5 +1205,163 @@ "TrackStatus": "Статус треку", "TracksLoadError": "Не вдалося завантажити треки", "UpdatingIsDisabledInsideADockerContainerUpdateTheContainerImageInstead": "Оновлення вимкнено всередині контейнера Docker. Оновіть образ контейнера.", - "WatchRootFoldersForFileChanges": "Слідкувати за змінами файлів у кореневих папках" + "WatchRootFoldersForFileChanges": "Слідкувати за змінами файлів у кореневих папках", + "DownloadClientDelugeSettingsDirectory": "Тека завантаження", + "DownloadClientQbittorrentSettingsContentLayout": "Макет контента", + "FormatAgeDay": "день", + "FormatRuntimeMinutes": "{minutes}хв", + "Underscore": "Підкреслення", + "LogSizeLimit": "Обмеження розміру журналу", + "UseSsl": "Використовувати SSL", + "EnableProfile": "Увімкнути профіль", + "Parse": "Розпізнавання", + "Period": "Період", + "QueueFilterHasNoItems": "У вибраному фільтрі черги немає елементів", + "TestParsing": "Тест розпізнавання", + "Total": "Загальний", + "UpdateFiltered": "Фільтр оновлень", + "UpdateMonitoring": "Відстежування оновлень", + "EndedOnly": "Завершені", + "ParseModalUnableToParse": "Неможливо розпізнати назву, спробуйте ще раз.", + "PostImportCategory": "Категорія після імпорту", + "PreferProtocol": "Віддавати перевагу {preferredProtocol}", + "RemoveTagsAutomatically": "Автоматичне видалення тегів", + "ResetQualityDefinitionsMessageText": "Ви впевнені, що хочете скинути визначення якості??", + "SearchMonitored": "Шукати серіал", + "SetIndexerFlags": "Встановити прапорці індексатора", + "SmartReplace": "Розумна заміна", + "Space": "Пробіл", + "AutoAdd": "Автоматичне додавання", + "DownloadClientDelugeSettingsDirectoryCompleted": "Перемістити теку після завершення", + "DownloadClientPriorityHelpText": "Пріоритет клієнта завантаження від 1 (найвищий) до 50 (найнижчий). За замовчуванням: 1. Для клієнтів з однаковим пріоритетом використовується циклічний перебір.", + "DownloadClientSettingsPostImportCategoryHelpText": "Категорія для додатка {appName}, яку необхідно встановити після імпорту завантаження. {appName} не видалить торренти в цій категорії, навіть якщо роздача завершена. Залиште порожнім, щоб зберегти ту ж категорію.", + "DownloadWarning": "Попередження про завантаження: {warningMessage}", + "EditSelectedDownloadClients": "Редагувати вибрані клієнти завантаження", + "EditSelectedImportLists": "Редагувати вибрані списки імпорту", + "EditSelectedIndexers": "Редагувати вибраний індексатор", + "Episode": "Епізод", + "ErrorLoadingContent": "Сталася помилка при завантаженні цього вмісту", + "External": "Зовнішній", + "FormatDateTime": "{formattedDate} {formattedTime}", + "FormatDateTimeRelative": "{relativeDay}, {formattedDate} {formattedTime}", + "FormatRuntimeHours": "{hours}г", + "FormatShortTimeSpanHours": "{hours} год(ин)", + "FormatShortTimeSpanMinutes": "{minutes} хвилин(и)", + "FormatShortTimeSpanSeconds": "{seconds} секунд(и)", + "FormatTimeSpanDays": "{days}д {time}", + "IgnoreDownload": "Ігнорувати завантаження", + "IgnoreDownloadHint": "Не дозволяє додатку {appName} продовжити обробку цього завантаження", + "IgnoreDownloads": "Ігнорувати завантаження", + "IgnoreDownloadsHint": "Не дозволяє додатку {appName} обробляти ці завантаження", + "Implementation": "Реалізація", + "IndexerSettingsSeedTime": "Час сидіння", + "IndexerSettingsSeedTimeHelpText": "Час, протягом якого торрент має залишатися на роздачі перед зупинкою, якщо порожньо — використовується значення клієнта завантаження за замовчуванням", + "IndexersSettingsSummary": "Індексатори та обмеження випуску", + "InfoUrl": "URL-адреса інформації", + "Install": "Встановити", + "InstallMajorVersionUpdateMessageLink": "Будь ласка, перевірте [{domain}]({url}) для отримання додаткової інформації.", + "MassSearchCancelWarning": "Це не можна скасувати після запуску без перезапуску {appName} або відключення всіх індексаторів.", + "MediaManagementSettingsSummary": "Налаштування іменування, управління файлами та кореневі папки", + "Monitoring": "Відстежування", + "No": "Ні", + "NoDownloadClientsFound": "Клієнти завантаження не знайдено", + "NoImportListsFound": "Списки імпорта не знайдено", + "NoIndexersFound": "Индексаторі не знайдено", + "LabelIsRequired": "Необхідна мітка", + "ListRefreshInterval": "Інтервал оновлення списку", + "NotificationsKodiSettingsCleanLibraryHelpText": "Очищати бібліотеку після оновлення", + "NotificationsTelegramSettingsIncludeAppNameHelpText": "При необхідності додати до заголовка повідомлення префікс {appName}, щоб відрізняти сповіщення від різних додатків", + "RegularExpressionsCanBeTested": "Регулярні вирази можна перевірити", + "RemotePathMappingsInfo": "Співставлення віддаленого шляху потрібне дуже рідко. Якщо {appName} і ваш клієнт завантаження знаходяться в різних системах, краще співвіднести ваші шляхи. Для додаткової інформації див. [вікі]({wikiLink})", + "RemoveFailedDownloads": "Видалення невдалих завантажень", + "RemoveFromDownloadClientHint": "Видаляє завантаження і файли з завантажувального клієнта", + "RemoveMultipleFromDownloadClientHint": "Видаляє завантаження та файли з клієнта завантаження", + "RemoveQueueItem": "Видалити - {sourceTitle}", + "RemoveQueueItemRemovalMethodHelpTextWarning": "«Видалення з завантажувального клієнта» видалить завантаження і файли з завантажувального клієнта.", + "RemoveTagsAutomaticallyHelpText": "Автоматично видаляти теги, якщо умови не виконуються", + "SelectIndexerFlags": "Вибрати прапорці індексатора", + "ShowBanners": "Показувати банери", + "SkipFreeSpaceCheckHelpText": "Використовуйте коли {appName} не може визначити вільне місце у кореневій теці", + "SupportedAutoTaggingProperties": "{appName} підтримує наступні властивості для правил автоматичних тегів", + "True": "Так", + "UnableToImportAutomatically": "Неможливо імпортувати автоматично", + "InvalidUILanguage": "У вашому інтерфейсі встановлена недопустима мова. Виправте її та збережіть налаштування", + "Other": "Інше", + "RootFolderPath": "Шлях до корневої теки", + "WithFiles": "З файлами", + "DeleteCondition": "Видалити умову", + "EditAutoTag": "Редагувати автоматичне маркування", + "FormatAgeDays": "дні(в)", + "IndexerSettingsApiUrlHelpText": "Не змінюйте це, якщо не знаєте, що робите. Оскільки ваш API-ключ буде надіслано на цей хост.", + "IndexerSettingsRejectBlocklistedTorrentHashes": "Відхиляти хеші торрентів із чорного списку при захопленні", + "IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Якщо торрент заблоковано хешем, він може не бути належним чином відхилений під час RSS/пошуку для деяких індексаторів. Увімкнення цього параметра дозволить відхилити його після захоплення торента, але до його відправки клієнту.", + "IndexerSettingsSeedRatio": "Коефіцієнт роздачі", + "IndexerSettingsSeedRatioHelpText": "Рейтинг, якого має досягти торрент перед зупинкою. Якщо порожньо — використовується значення за замовчуванням клієнта завантаження. Рейтинг має бути не менше 1,0 і відповідати правилам індексаторів", + "NoCustomFormatsFound": "Не знайдено власних форматів", + "NotificationsSettingsWebhookHeaders": "Заголовки", + "PreviouslyInstalled": "Раніше встановлений", + "CurrentlyInstalled": "В даний час встановлено", + "CustomFormatsSpecificationFlag": "Мітка", + "Dash": "Тире", + "DeleteSelected": "Видалити вибрані", + "DoNotBlocklist": "Не додавати до чорного списку", + "Donate": "Задонатити", + "EditSelectedCustomFormats": "Змінити вибрані власні формати", + "FailedToFetchSettings": "Не вдалося отримати налаштування", + "FailedToFetchUpdates": "Не вдалося завантажити оновлення", + "False": "Ні", + "HealthMessagesInfoBox": "Додаткову інформацію про причину появи цих повідомлень перевірки працездатності можна знайти, перейшовши за посиланням wiki (іконка книги) в кінці рядка або перевірити [журнали]({link}). Якщо у вас виникли труднощі з розумінням цих повідомлень, ви можете звернутися до нашої служби підтримки за посиланнями нижче.", + "InteractiveSearchModalHeaderTitle": "Інтерактивний пошук - {title}", + "LastSearched": "Останній пошук", + "Menu": "Меню", + "MonitoringOptions": "Опції відстеження", + "ParseModalHelpTextDetails": "{appName} спробує визначити назву та показати докладну інформацію про нього", + "PasswordConfirmation": "Підтвердження пароля", + "PendingDownloadClientUnavailable": "Очікування – Клієнт для завантаження недоступний", + "RemoveQueueItemRemovalMethod": "Метод видалення", + "DownloadClientSettingsOlderPriority": "Більш старий пріоритет", + "NotificationsEmbySettingsSendNotifications": "Відправити повідомлення", + "NotificationsKodiSettingAlwaysUpdate": "Завжди оновлювати", + "NotificationsKodiSettingAlwaysUpdateHelpText": "Оновлювати бібліотеку навіть під час відтворення відео?", + "NotificationsKodiSettingsCleanLibrary": "Очисити бібліотеку", + "NotificationsKodiSettingsDisplayTime": "Відображати час", + "NotificationsKodiSettingsDisplayTimeHelpText": "Як довго буде відображатися сповіщення (в секундах)", + "NotificationsKodiSettingsGuiNotification": "Сповіщення(GUI)", + "NotificationsKodiSettingsUpdateLibraryHelpText": "Оновити бібліотеку при імпорті та перейменуванні?", + "NotificationsPlexSettingsAuthToken": "Токен авторизації", + "NotificationsPlexSettingsAuthenticateWithPlexTv": "Аутентифікація через Plex.tv", + "NotificationsSettingsUpdateLibrary": "Оновити бібліотеку", + "NotificationsSettingsUpdateMapPathsFrom": "Карта шляхів від", + "CustomFormatsSpecificationRegularExpression": "Регулярний вираз", + "DeleteRemotePathMappingMessageText": "Ви впевнені, що хочете видалити це зіставлення віддаленого шляху?", + "DoNotBlocklistHint": "Видалити без внесення в чорний список", + "InstallMajorVersionUpdate": "Встановити оновлення", + "InstallMajorVersionUpdateMessage": "Це оновлення встановить нову основну версію і може бути несумісним з вашою системою. Ви впевнені, що хочете встановити це оновлення?", + "ManageCustomFormats": "Керування власними форматами", + "ManageDownloadClients": "Керування клієнтами завантаження", + "ManageFormats": "Керування форматами", + "ManageImportLists": "Керування списками імпорта", + "ManageIndexers": "Керування індексаторами", + "ManageLists": "Керування списками", + "NotificationsSettingsUpdateMapPathsTo": "Карта шляхів до", + "NotificationsSettingsUseSslHelpText": "Підключайтеся до {serviceName} по протоколу HTTPS замість HTTP", + "NotificationsTelegramSettingsIncludeAppName": "Включити {appName} у заголовок", + "OnHealthRestored": "При відновленні стану", + "ParseModalErrorParsing": "Помилка при розпізнаванні, спробуйте ще раз.", + "ParseModalHelpText": "Введіть назву релізу вище", + "RegularExpressionsTutorialLink": "Більш детальну інформацію про регулярні вирази можна знайти [тут]({url}).", + "Rejections": "Відмови", + "RemoveCompletedDownloads": "Видалити завершені завантаження", + "RemoveQueueItemsRemovalMethodHelpTextWarning": "«Видалення з завантажувального клієнта» видалить завантаження та файли з завантажувального клієнта.", + "Repack": "Репак (Repack)", + "SceneInformation": "Інформація про сцену", + "SkipRedownload": "Пропустити повторне завантаження", + "ImportFailed": "Помилка імпорту: {sourceTitle}", + "Label": "Мітка", + "LogSizeLimitHelpText": "Максимальний розмір файлу журналу в МБ перед архівацією. За замовчуванням - 1 МБ.", + "Logout": "Завершити сеанс", + "ManageClients": "Керування клієнтами", + "LogFilesLocation": "Файли журналу знаходяться в: {location}", + "RemoveRootFolder": "Видалити кореневу папку", + "DownloadClientItemErrorMessage": "{clientName} повертає помилку: {message}" } diff --git a/src/NzbDrone.Core/Localization/Core/vi.json b/src/NzbDrone.Core/Localization/Core/vi.json index f57741ed6..79343eeda 100644 --- a/src/NzbDrone.Core/Localization/Core/vi.json +++ b/src/NzbDrone.Core/Localization/Core/vi.json @@ -310,7 +310,6 @@ "DeleteQualityProfileMessageText": "Bạn có chắc chắn muốn xóa cấu hình chất lượng không {0}", "DeleteReleaseProfile": "Xóa hồ sơ độ trễ", "DeleteReleaseProfileMessageText": "Bạn có chắc chắn muốn xóa hồ sơ trì hoãn này không?", - "DeleteRootFolderMessageText": "Bạn có chắc chắn muốn xóa trình lập chỉ mục '{0}' không?", "DeleteSelectedTrackFiles": "Xóa các tệp phim đã chọn", "DeleteSelectedTrackFilesMessageText": "Bạn có chắc chắn muốn xóa các tệp phim đã chọn không?", "DeleteTag": "Xóa thẻ", @@ -794,5 +793,7 @@ "CheckDownloadClientForDetails": "kiểm tra ứng dụng khách tải xuống để biết thêm chi tiết", "Downloaded": "Đã tải xuống", "Paused": "Tạm dừng", - "WaitingToProcess": "Đang chờ xử lý" + "WaitingToProcess": "Đang chờ xử lý", + "CurrentlyInstalled": "Mới cài đặt", + "RemoveRootFolder": "Xóa thư mục gốc" } diff --git a/src/NzbDrone.Core/Localization/Core/zh_CN.json b/src/NzbDrone.Core/Localization/Core/zh_CN.json index 54d7c5a4f..c7f529f1c 100644 --- a/src/NzbDrone.Core/Localization/Core/zh_CN.json +++ b/src/NzbDrone.Core/Localization/Core/zh_CN.json @@ -384,7 +384,6 @@ "DeleteQualityProfileMessageText": "您确定要删除质量配置 “{name}” 吗?", "DeleteReleaseProfile": "删除发布资源配置", "DeleteReleaseProfileMessageText": "你确定你要删除这个发行版配置文件?", - "DeleteRootFolderMessageText": "您确定要删除根文件夹“{name}”吗?", "DeleteSelectedTrackFiles": "删除选择的电影文件", "DeleteSelectedTrackFilesMessageText": "您确定要删除选择的电影文件吗?", "DeleteTrackFileMessageText": "您确认您想删除吗?", @@ -574,7 +573,6 @@ "DeleteFilesHelpText": "删除曲目文件及艺术家文件夹", "DeleteImportList": "删除导入的列表", "DeleteMetadataProfile": "删除元数据配置", - "DeleteRootFolder": "删除根目录", "Details": "详情", "Donations": "赞助", "DoNotUpgradeAutomatically": "不要自动升级", @@ -1351,5 +1349,13 @@ "DelayProfileArtistTagsHelpText": "应用到至少有一个标签匹配的艺术家", "AlbumInfo": "专辑 信息", "DownloadClientSettingsOlderPriorityAlbumHelpText": "优先使用14天前发布的专辑", - "DownloadClientSettingsRecentPriorityAlbumHelpText": "优先使用过去14天内发布的专辑" + "DownloadClientSettingsRecentPriorityAlbumHelpText": "优先使用过去14天内发布的专辑", + "CurrentlyInstalled": "已安装", + "FailedToFetchSettings": "设置同步失败", + "FailedToFetchUpdates": "获取更新失败", + "LogFilesLocation": "日志文件位于: {location}", + "RemoveRootFolder": "移除根目录", + "TracksLoadError": "无法载入进度", + "MatchedToArtist": "与歌手匹配", + "MatchedToAlbums": "与专辑匹配" } diff --git a/src/NzbDrone.Core/Localization/Core/zh_Hans.json b/src/NzbDrone.Core/Localization/Core/zh_Hans.json index 69720c484..f9998b9e5 100644 --- a/src/NzbDrone.Core/Localization/Core/zh_Hans.json +++ b/src/NzbDrone.Core/Localization/Core/zh_Hans.json @@ -8,5 +8,10 @@ "UseProxy": "使用代理", "Uptime": "运行时间", "Warn": "警告", - "Updates": "更新" + "Updates": "更新", + "Yesterday": "昨天", + "BackupNow": "立即备份", + "YesCancel": "确认 ,取消", + "AddAutoTagError": "添加", + "Backup": "备份" } From d50ed845414026637758fe68763b68e7a6330734 Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Thu, 31 Jul 2025 16:17:32 -0500 Subject: [PATCH 27/35] Skip tests temporally --- .../MetadataSource/SkyHook/SkyHookProxyFixture.cs | 2 +- .../MetadataSource/SkyHook/SkyHookProxySearchFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs | 2 +- src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs | 2 +- .../ApiTests/WantedTests/CutoffUnmetFixture.cs | 2 +- .../ApiTests/WantedTests/MissingFixture.cs | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs index 2ee493ecf..5f26407d6 100644 --- a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs +++ b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxyFixture.cs @@ -14,7 +14,7 @@ using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test.MetadataSource.SkyHook { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class SkyHookProxyFixture : CoreTest { private MetadataProfile _metadataProfile; diff --git a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs index 13c9480c9..3fc41f858 100644 --- a/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs +++ b/src/NzbDrone.Core.Test/MetadataSource/SkyHook/SkyHookProxySearchFixture.cs @@ -12,7 +12,7 @@ using NzbDrone.Test.Common; namespace NzbDrone.Core.Test.MetadataSource.SkyHook { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class SkyHookProxySearchFixture : CoreTest { [SetUp] diff --git a/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs index 56b5bb96b..df7fe0919 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs @@ -7,7 +7,7 @@ using NzbDrone.Test.Common; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class ArtistEditorFixture : IntegrationTest { private void GivenExistingArtist() diff --git a/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs index 9311f74bc..7d4836ef0 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs @@ -7,7 +7,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class ArtistFixture : IntegrationTest { [Test] diff --git a/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs index c83456066..afc485358 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs @@ -4,7 +4,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class ArtistLookupFixture : IntegrationTest { [TestCase("Kiss", "Kiss")] diff --git a/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs index c068f1d32..532bd5829 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs @@ -6,7 +6,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class BlocklistFixture : IntegrationTest { private ArtistResource _artist; diff --git a/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs index 5aa4afa48..e48af394d 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs @@ -9,7 +9,7 @@ using NzbDrone.Integration.Test.Client; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class CalendarFixture : IntegrationTest { public ClientBase Calendar; diff --git a/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs index 73304a7ec..2e2f0cc63 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs @@ -7,7 +7,7 @@ using NUnit.Framework; namespace NzbDrone.Integration.Test.ApiTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class TrackFixture : IntegrationTest { private ArtistResource _artist; diff --git a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs index 8289b8a56..95c734097 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs @@ -8,7 +8,7 @@ using NzbDrone.Core.Qualities; namespace NzbDrone.Integration.Test.ApiTests.WantedTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class CutoffUnmetFixture : IntegrationTest { [SetUp] diff --git a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs index 6bc8b828a..76437ecc5 100644 --- a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs +++ b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs @@ -7,7 +7,7 @@ using NzbDrone.Core.Music; namespace NzbDrone.Integration.Test.ApiTests.WantedTests { [TestFixture] - [Ignore("Waiting for metadata to be back again", Until = "2025-08-01 00:00:00Z")] + [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")] public class MissingFixture : IntegrationTest { [SetUp] From 76b7713870ecba750e2f1db085e83af5d7a34213 Mon Sep 17 00:00:00 2001 From: jasonpatrickellykrause Date: Fri, 20 Jun 2025 06:14:24 -0600 Subject: [PATCH 28/35] Fixed: Clarify monitor language for new and future albums. --- .../AddArtist/ArtistMonitorNewItemsOptionsPopoverContent.js | 6 +++--- src/NzbDrone.Core/Localization/Core/en.json | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/src/AddArtist/ArtistMonitorNewItemsOptionsPopoverContent.js b/frontend/src/AddArtist/ArtistMonitorNewItemsOptionsPopoverContent.js index 5a837b1eb..cda224e2f 100644 --- a/frontend/src/AddArtist/ArtistMonitorNewItemsOptionsPopoverContent.js +++ b/frontend/src/AddArtist/ArtistMonitorNewItemsOptionsPopoverContent.js @@ -8,17 +8,17 @@ function ArtistMonitorNewItemsOptionsPopoverContent() { ); diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index c9271275e..ade1d9d2b 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -70,7 +70,7 @@ "AlbumsLoadError": "Unable to load albums", "All": "All", "AllAlbums": "All Albums", - "AllAlbumsData": "Monitor all albums except specials", + "AllAlbumsData": "Monitor all albums", "AllArtistAlbums": "All Artist Albums", "AllExpandedCollapseAll": "Collapse All", "AllExpandedExpandAll": "Expand All", @@ -528,7 +528,7 @@ "Formats": "Formats", "FreeSpace": "Free Space", "FutureAlbums": "Future Albums", - "FutureAlbumsData": "Monitor albums that have not released yet", + "FutureAlbumsData": "Monitor albums currently in the database that have a release date in the future.", "FutureDays": "Future Days", "FutureDaysHelpText": "Days for iCal feed to look into the future", "General": "General", @@ -769,9 +769,11 @@ "MonitorLastestAlbum": "Lastest Album", "MonitorMissingAlbums": "Missing Albums", "MonitorNewAlbums": "New Albums", + "MonitorNewAlbumsData": "Monitor albums added to database in future with a release date after the latest album", "MonitorNewItems": "Monitor New Albums", "MonitorNewItemsHelpText": "Which new albums should be monitored", "MonitorNoAlbums": "None", + "MonitorNoAlbumsData": "Don't monitor any new albums", "MonitorNoNewAlbums": "No New Albums", "Monitored": "Monitored", "MonitoredHelpText": "Download monitored albums from this artist", From fef111d39608768535eb9bb012f04e6316e4150b Mon Sep 17 00:00:00 2001 From: Meyn Date: Thu, 31 Jul 2025 17:13:31 +0200 Subject: [PATCH 29/35] Bump SixLabors.ImageSharp to 3.1.11 Signed-off-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> --- src/NzbDrone.Core/Lidarr.Core.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NzbDrone.Core/Lidarr.Core.csproj b/src/NzbDrone.Core/Lidarr.Core.csproj index 14b90c62a..2b0e4583a 100644 --- a/src/NzbDrone.Core/Lidarr.Core.csproj +++ b/src/NzbDrone.Core/Lidarr.Core.csproj @@ -27,7 +27,7 @@ - + From 074f06442aef341175e7fdb8304713ba107c9631 Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Sun, 3 Aug 2025 01:12:50 -0500 Subject: [PATCH 30/35] Bump to 2.13.2 --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ba0800fee..920729063 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,7 +9,7 @@ variables: testsFolder: './_tests' yarnCacheFolder: $(Pipeline.Workspace)/.yarn nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages - majorVersion: '2.13.1' + majorVersion: '2.13.2' minorVersion: $[counter('minorVersion', 1076)] lidarrVersion: '$(majorVersion).$(minorVersion)' buildName: '$(Build.SourceBranchName).$(lidarrVersion)' From 6f1b370772604dc37990ed1b318f3d4292ee5ba5 Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Tue, 5 Aug 2025 21:27:28 -0500 Subject: [PATCH 31/35] docs: add metadata notice & link GHI [skip ci] --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 4aa47575c..6e643760f 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,9 @@ Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available. +> [!WARNING] +> NOTICE - The Lidarr Metadata Server is currently down impacting adding artists, etc. Please follow [GHI 5498](https://github.com/Lidarr/Lidarr/issues/5498) or see Discord for detaila. + ## Major Features Include: * Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. From eb861f06d3ccdb02e0399131d75ca33f3bfd4a62 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 11 Aug 2025 23:33:37 +0000 Subject: [PATCH 32/35] Multiple Translations updated by Weblate ignore-downstream Co-authored-by: ArLab1 Co-authored-by: Gallyam Biktashev Co-authored-by: Havok Dan Co-authored-by: Hugoren Martinako Co-authored-by: Oskari Lavinto Co-authored-by: Weblate Co-authored-by: Weblate Co-authored-by: fordas Co-authored-by: mrchonks Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ca/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/es/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/fi/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/fr/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/id/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/pt_BR/ Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/ru/ Translation: Servarr/Lidarr --- src/NzbDrone.Core/Localization/Core/ca.json | 8 +++++--- src/NzbDrone.Core/Localization/Core/es.json | 10 ++++++---- src/NzbDrone.Core/Localization/Core/fi.json | 14 ++++++++------ src/NzbDrone.Core/Localization/Core/fr.json | 11 +++++++---- src/NzbDrone.Core/Localization/Core/id.json | 9 ++++++++- src/NzbDrone.Core/Localization/Core/pt_BR.json | 8 +++++--- src/NzbDrone.Core/Localization/Core/ru.json | 14 ++++++++++++-- 7 files changed, 51 insertions(+), 23 deletions(-) diff --git a/src/NzbDrone.Core/Localization/Core/ca.json b/src/NzbDrone.Core/Localization/Core/ca.json index d5eccc5a6..58dddcd56 100644 --- a/src/NzbDrone.Core/Localization/Core/ca.json +++ b/src/NzbDrone.Core/Localization/Core/ca.json @@ -1020,7 +1020,7 @@ "AlbumStudioTracksDownloaded": "{trackFileCount}/{totalTrackCount} pistes baixades", "AlbumStudioTruncated": "Només es mostren els últims 20 àlbums, ves als detalls per veure tots els àlbums", "AlbumType": "Tipus d'àlbum", - "AllAlbumsData": "Controla tots els àlbums excepte els especials", + "AllAlbumsData": "Monitora tots els àlbums", "AllArtistAlbums": "Tots els àlbums d'artista", "AllMonitoringOptionHelpText": "Monitora els artistes i tots els àlbums de cada artista inclosos a la llista d'importació", "AllowFingerprintingHelpTextWarning": "Això requereix que {appName} llegeixi parts del fitxer que alentiran els escanejos i poden causar una activitat de disc o xarxa alta.", @@ -1162,7 +1162,7 @@ "FirstAlbum": "Primer àlbum", "FirstAlbumData": "Controla els primers àlbums. Tots els altres àlbums seran ignorats", "ForeignIdHelpText": "L'ID del Musicbrainz de l'artista/àlbum a excloure", - "FutureAlbumsData": "Monitora els àlbums que encara no s'han publicat", + "FutureAlbumsData": "Monitora els àlbums actualment en la base de dades que tenen una data de llançament en el futur.", "HideTracks": "Oculta les pistes", "ICalTagsArtistHelpText": "Feed només contindrà artistes amb almenys una etiqueta coincident", "IfYouDontAddAnImportListExclusionAndTheArtistHasAMetadataProfileOtherThanNoneThenThisAlbumMayBeReaddedDuringTheNextArtistRefresh": "Si no afegiu una exclusió de la llista d'importació i l'artista té un perfil de metadades diferent de 'None'.", @@ -1365,5 +1365,7 @@ "RemoveRootFolder": "Elimina la carpeta arrel", "DownloadClientItemErrorMessage": "{clientName} está informant d'un error: {message}", "TheLogLevelDefault": "El nivell de registre per defecte és \"Info\" i es pot canviar a [Configuració general](/configuració/general)", - "RemoveRootFolderArtistsMessageText": "Esteu segur que voleu eliminar la carpeta arrel '{name}'? Els arxius i carpetes no seran esborrats del disc, i els artistes en aquesta carpeta arrel no seran eliminats de {appName}." + "RemoveRootFolderArtistsMessageText": "Esteu segur que voleu eliminar la carpeta arrel '{name}'? Els arxius i carpetes no seran esborrats del disc, i els artistes en aquesta carpeta arrel no seran eliminats de {appName}.", + "MonitorNoAlbumsData": "No monitora cap nou àlbum", + "MonitorNewAlbumsData": "Monitora els àlbums afegits a la base de dades en el futur amb una data de llançament posterior a l'últim àlbum" } diff --git a/src/NzbDrone.Core/Localization/Core/es.json b/src/NzbDrone.Core/Localization/Core/es.json index 1fe1767a7..215ee8dc0 100644 --- a/src/NzbDrone.Core/Localization/Core/es.json +++ b/src/NzbDrone.Core/Localization/Core/es.json @@ -91,7 +91,7 @@ "PosterSize": "Tamaño de póster", "PreviewRename": "Previsualizar renombrado", "Profiles": "Perfiles", - "Proper": "Proper", + "Proper": "Correcto", "PropersAndRepacks": "Propers y Repacks", "Protocol": "Protocolo", "ProtocolHelpText": "Elige qué protocolo(s) usar y cuál se prefiere cuando se elige entre lanzamientos equivalentes", @@ -903,7 +903,7 @@ "ArtistEditor": "Artista Editor", "AlbumDetails": "Detalles del álbum", "AlbumStudioTruncated": "Sólo se muestran los últimos 20 álbumes, vaya a detalles para ver todos los álbumes", - "AllAlbumsData": "Controlar todos los álbumes excepto los especiales", + "AllAlbumsData": "Monitorizar todos los álbumes", "Banners": "Pancartas", "BannerOptions": "Opciones de banner", "CombineWithExistingFiles": "Combinar con archivos existentes", @@ -1151,7 +1151,7 @@ "FutureAlbums": "Álbumes futuros", "MissingTracks": "Pistas faltantes", "MassAlbumsCutoffUnmetWarning": "¿Estás seguro que quieres buscar todos los álbumes '{0}' que no alcancen el umbral?", - "FutureAlbumsData": "Monitoriza álbumes que no han sido lanzados aún", + "FutureAlbumsData": "Monitoriza los álbumes actualmente en la base de datos que tienen una fecha de lanzamiento en el futuro.", "MetadataSettingsArtistSummary": "Crea archivos de metadatos cuando las pistas son importados o los artistas refrescados", "DefaultTagsHelpText": "Etiquetas predeterminadas de {appName} para artistas en esta carpeta", "LidarrSupportsMultipleListsForImportingAlbumsAndArtistsIntoTheDatabase": "{appName} soporta múltiples listas para importar álbumes y artistas en la base de datos.", @@ -1365,5 +1365,7 @@ "RemoveRootFolder": "Eliminar la carpeta raíz", "DownloadClientItemErrorMessage": "{clientName} está informando de un error: {message}", "TheLogLevelDefault": "El nivel de registro por defecto es 'Depuración' y puede ser cambiado en [Opciones generales](/settings/general)", - "RemoveRootFolderArtistsMessageText": "¿Estás seguro que quieres eliminar la carpeta raíz '{name}'? Los archivos y carpetas no serán borrados del disco, y los artistas en esta carpeta raíz no serán eliminados de {appName}." + "RemoveRootFolderArtistsMessageText": "¿Estás seguro que quieres eliminar la carpeta raíz '{name}'? Los archivos y carpetas no serán borrados del disco, y los artistas en esta carpeta raíz no serán eliminados de {appName}.", + "MonitorNoAlbumsData": "No monitoriza ningún álbum nuevo", + "MonitorNewAlbumsData": "Monitoriza los álbumes añadidos a la base de datos en el futuro con una fecha de lanzamiento posterior al último álbum" } diff --git a/src/NzbDrone.Core/Localization/Core/fi.json b/src/NzbDrone.Core/Localization/Core/fi.json index 2c68d55d8..fd25689ae 100644 --- a/src/NzbDrone.Core/Localization/Core/fi.json +++ b/src/NzbDrone.Core/Localization/Core/fi.json @@ -332,7 +332,7 @@ "Absolute": "Ehdoton", "AddMissing": "Lisää puuttuvat", "AddNewItem": "Lisää uusi kohde", - "AllExpandedCollapseAll": "Supista kaikki", + "AllExpandedCollapseAll": "Tiivistä kaikki", "AllowArtistChangeClickToChangeArtist": "Vaihda artisti klikkaamalla", "Season": "Kausi", "ArtistAlbumClickToChangeTrack": "Vaihda kappale klikkaamalla", @@ -481,7 +481,7 @@ "AlbumIsNotMonitored": "Albumia ei valvota", "AlbumStudio": "Albumin studio", "AllAlbums": "Kaikki albumit", - "AllAlbumsData": "Valvo ensimmäisiä albumeita erikoisalbumit pois lukien.", + "AllAlbumsData": "Valvo kaikkia albumeita", "AllArtistAlbums": "Kaikki artistin albumit", "MetadataProfile": "Metatietoprofiili", "OnApplicationUpdate": "Kun sovellus päivitetään", @@ -756,8 +756,8 @@ "ArtistType": "Artistin tyyppi", "EditMetadata": "Muokkaa metatietoja", "AutomaticallySwitchRelease": "Vaihda julkaisu automaattisesti", - "CollapseMultipleAlbums": "Supista useat albumit", - "CollapseMultipleAlbumsHelpText": "Supista useat samana päivänä julkaistavat albumit.", + "CollapseMultipleAlbums": "Tiivistä useat albumit", + "CollapseMultipleAlbumsHelpText": "Tiivistä useat samana päivänä julkaistavat albumit.", "CombineWithExistingFiles": "Yhdistä olemassa olevien tiedostojen kanssa", "DateAdded": "Lisäysaika", "DeleteArtist": "Poista valittu artisti", @@ -793,7 +793,7 @@ "SearchAlbum": "Etsi albumia", "SelectAlbum": "Valitse albumi", "SelectAlbumRelease": "Valitse albumin julkaisu", - "FutureAlbumsData": "Valvo albumeita, joita ei ole vielä julkaistu.", + "FutureAlbumsData": "Valvo tietokannassa tällä hetkellä olevia albumeita, joiden julkaisupäivä on tulevaisuudessa.", "SearchForAllMissingAlbumsConfirmationCount": "Haluatko varmasti etsiä kaikkia {totalRecords} puuttuvaa albumia?", "EditArtist": "Muokkaa artistia", "DeleteSelected": "Poista valitut", @@ -1365,5 +1365,7 @@ "LogFilesLocation": "Lokitiedostojen tallennussijainti: {location}", "RemoveRootFolder": "Poista juurikansio", "TheLogLevelDefault": "Lokikirjauksen oletusarvoinen laajuus on \"Vianselvitys\". Laajuutta voidaan muuttaa [Yleisistä asetuksista](/settings/general).", - "RemoveRootFolderArtistsMessageText": "Haluatko varmasti poistaa juurikansion \"{name}\"? Tiedostoja ja kansioita ei poisteta levyltä, eikä tämän juurikansion artisteja poisteta {appName}ista." + "RemoveRootFolderArtistsMessageText": "Haluatko varmasti poistaa juurikansion \"{name}\"? Tiedostoja ja kansioita ei poisteta levyltä, eikä tämän juurikansion artisteja poisteta {appName}ista.", + "MonitorNoAlbumsData": "Älä valvo uusia albumeita lainkaan.", + "MonitorNewAlbumsData": "Valvo tietokantaan tulevaisuudessa lisättäviä albumeita, joiden julkaisupäivä on uusimman albumin jälkeen." } diff --git a/src/NzbDrone.Core/Localization/Core/fr.json b/src/NzbDrone.Core/Localization/Core/fr.json index 1200426a0..d414fb310 100644 --- a/src/NzbDrone.Core/Localization/Core/fr.json +++ b/src/NzbDrone.Core/Localization/Core/fr.json @@ -449,7 +449,7 @@ "Source": "Source", "SourcePath": "Chemin source", "AllAlbums": "Tous les albums", - "AllAlbumsData": "Surveiller tous les albums sauf spéciaux", + "AllAlbumsData": "Surveiller tous les albums", "AllArtistAlbums": "Tous les albums de l'artiste", "AllExpandedCollapseAll": "Réduire tout", "AllExpandedExpandAll": "Développer tout", @@ -496,7 +496,7 @@ "DefaultQualityProfileIdHelpText": "Profil de qualité par défaut pour les auteurs détectés dans ce dossier", "DefaultTagsHelpText": "Etiquettes {appName} par défaut pour les artistes détectés dans ce dossier", "DefaultMonitorOptionHelpText": "Quels livres doivent être surveillés lors de l'ajout initial pour les auteurs détectés dans ce dossier", - "FutureAlbumsData": "Surveiller les livres qui ne sont pas encore sortis", + "FutureAlbumsData": "Surveiller les albums actuellement dans la base de donnée qui n’ont pas encore de date de sortie.", "MetadataProfiles": "profil de métadonnées", "MissingAlbumsData": "Surveiller les livres qui n'ont pas de fichiers ou qui ne sont pas encore sortis", "NoneData": "Aucun livre ne sera surveillé", @@ -711,7 +711,7 @@ "IndexerRssHealthCheckNoIndexers": "Aucun indexeur disponible avec la synchronisation RSS activée, {appName} ne récupérera pas automatiquement les nouvelles versions", "IndexerSearchCheckNoAutomaticMessage": "Aucun indexeur disponible avec la recherche automatique activée, {appName} ne fournira aucun résultat de recherche automatique", "IndexerSearchCheckNoAvailableIndexersMessage": "Tous les indexeurs compatibles avec la recherche sont temporairement indisponibles en raison d'erreurs d'indexation récentes", - "IndexerSearchCheckNoInteractiveMessage": "Aucun indexeur n'est disponible avec la recherche interactive activée, {appName} ne fournira aucun résultats de recherche interactive", + "IndexerSearchCheckNoInteractiveMessage": "Aucun indexeur n'est disponible avec la recherche interactive activée, {appName} ne fournira aucuns résultats de recherche interactive", "IndexerStatusCheckAllClientMessage": "Tous les indexeurs sont indisponibles en raison d'échecs", "IndexerStatusCheckSingleClientMessage": "Indexeurs indisponibles en raison d'échecs : {0}", "Loading": "Chargement", @@ -1364,5 +1364,8 @@ "LogFilesLocation": "Les fichiers journaux sont situés dans : {location}", "DownloadClientItemErrorMessage": "{clientName} signale une erreur : {message}", "RemoveRootFolder": "Supprimer le dossier racine", - "RemoveRootFolderArtistsMessageText": "Êtes vous sure de vouloir enlever le dossier racine '{name}' ? Les fichiers et les dossiers ne seront pas supprimer du disque et les artistes dans le dossier racine ne seront pas retirés de {appName}." + "RemoveRootFolderArtistsMessageText": "Êtes vous sure de vouloir retirer le dossier racine '{name}' ? Les fichiers et les dossiers ne seront pas supprimés du disque et les artistes dans le dossier racine ne seront pas retirés de {appName}.", + "TheLogLevelDefault": "Le niveau de journalisation est par défaut à « Information » et peut être modifié dans les [paramètres généraux](/settings/general)", + "MonitorNewAlbumsData": "Surveiller les albums ajoutés à la base de donnée dans le future avec une date de sortie après le dernier album", + "MonitorNoAlbumsData": "Ne pas surveiller aucun nouvel album" } diff --git a/src/NzbDrone.Core/Localization/Core/id.json b/src/NzbDrone.Core/Localization/Core/id.json index eb93ac12f..0782b4149 100644 --- a/src/NzbDrone.Core/Localization/Core/id.json +++ b/src/NzbDrone.Core/Localization/Core/id.json @@ -134,5 +134,12 @@ "EnableSSL": "Aktifkan RSS", "AddDelayProfile": "Tambah Delay Profile", "Today": "Hari Ini", - "CurrentlyInstalled": "Saat Ini Terpasang" + "CurrentlyInstalled": "Saat Ini Terpasang", + "AddAutoTag": "tambah label otomatis", + "AddAutoTagError": "tidak dapat menambahkan label otomatis, coba lagi..", + "AddCondition": "tambah persyaratan", + "AddConditionImplementation": "tambah persyaratan {implementationName}", + "AddConnectionImplementation": "tambah koneksi - {implementationName}", + "AddConnection": "tambah koneksi", + "AddConditionError": "tidak dapat menambahkan persyaratan baru, coba lagi.." } diff --git a/src/NzbDrone.Core/Localization/Core/pt_BR.json b/src/NzbDrone.Core/Localization/Core/pt_BR.json index 309527e82..6b65016a2 100644 --- a/src/NzbDrone.Core/Localization/Core/pt_BR.json +++ b/src/NzbDrone.Core/Localization/Core/pt_BR.json @@ -34,7 +34,7 @@ "AlbumIsNotMonitored": "O álbum não está sendo monitorado", "AlbumStudio": "Album Studio", "AllAlbums": "Todos os álbuns", - "AllAlbumsData": "Monitorar todos os álbuns, exceto os especiais", + "AllAlbumsData": "Monitorar todos os álbuns", "AllArtistAlbums": "Todos os álbuns do artista", "AllExpandedCollapseAll": "Recolher tudo", "AllExpandedExpandAll": "Expandir tudo", @@ -588,7 +588,7 @@ "FirstAlbum": "Filtrar Álbum", "FirstAlbumData": "Monitorar os primeiros álbuns. Todos os outros álbuns serão ignorados", "FutureAlbums": "Álbuns Futuros", - "FutureAlbumsData": "Monitorar álbuns que ainda não foram lançados", + "FutureAlbumsData": "Monitorar os álbuns atualmente no banco de dados que têm uma data de lançamento no futuro.", "HasMonitoredAlbumsNoMonitoredAlbumsForThisArtist": "Não monitorar álbuns para este artista", "HideAlbums": "Ocultar álbuns", "HideTracks": "Ocultar faixas", @@ -1365,5 +1365,7 @@ "DownloadClientItemErrorMessage": "{clientName} está relatando um erro: {message}", "LogFilesLocation": "Os arquivos de log estão localizados em: {location}", "RemoveRootFolder": "Remover Pasta Raiz", - "RemoveRootFolderArtistsMessageText": "Tem certeza de que deseja remover a pasta raiz '{name}'? Arquivos e pastas não serão excluídos do disco, e os artistas nesta pasta raiz não serão removidos de {appName}." + "RemoveRootFolderArtistsMessageText": "Tem certeza de que deseja remover a pasta raiz '{name}'? Arquivos e pastas não serão excluídos do disco, e os artistas nesta pasta raiz não serão removidos de {appName}.", + "MonitorNewAlbumsData": "Monitorar álbuns adicionados ao banco de dados no futuro com uma data de lançamento após o último álbum", + "MonitorNoAlbumsData": "Não monitorar novos álbuns" } diff --git a/src/NzbDrone.Core/Localization/Core/ru.json b/src/NzbDrone.Core/Localization/Core/ru.json index b14b81cb8..a34059ed4 100644 --- a/src/NzbDrone.Core/Localization/Core/ru.json +++ b/src/NzbDrone.Core/Localization/Core/ru.json @@ -1030,7 +1030,7 @@ "RootFolderPathHelpText": "Элементы списка корневых папок будут добавлены в", "Any": "Любой", "AlbumStudioTruncated": "Показаны только последние 25 сезонов. Чтобы просмотреть все сезоны, перейдите к подробной информации", - "AllAlbumsData": "Следите за всеми эпизодами, кроме специальных", + "AllAlbumsData": "Следить за всеми альбомами", "BuiltIn": "Встроенный", "DashOrSpaceDashDependingOnName": "Тире или пробел в зависимости от имени", "TBA": "Будет объявлено позже", @@ -1117,5 +1117,15 @@ "LogFilesLocation": "Файлы журнала расположены в: {location}", "RemoveRootFolder": "Удалить корневой каталог", "TheLogLevelDefault": "Уровень журналирования по умолчанию установлен на 'Отладка' и может быть изменён в [Общих настройках](/settings/general)", - "RemoveRootFolderArtistsMessageText": "Вы уверены, что хотите удалить корневой каталог '{name}'? Файлы и папки не будут удалены с диска, а исполнители в этом корневом каталоге не будут удалены из {appName}." + "RemoveRootFolderArtistsMessageText": "Вы уверены, что хотите удалить корневой каталог '{name}'? Файлы и папки не будут удалены с диска, а исполнители в этом корневом каталоге не будут удалены из {appName}.", + "AlbumCount": "Количество альбомов", + "AlbumInfo": "Информация об альбоме", + "AddNewAlbumSearchForNewAlbum": "Начать поиск новых альбомов", + "AddNewArtist": "Добавить исполнителя", + "AlbumHasNotAired": "Альбом еще не выпущен", + "AlbumDetails": "Детали альбома", + "AlbumIsDownloading": "Альбом скачивается", + "AlbumIsNotMonitored": "Альбом не отслеживается", + "AlbumRelease": "Релиз альбома", + "AlbumReleaseDate": "Дата релиза альбома" } From 393db165f31ed89a30f36131e9ec26a6c7d28fce Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 10 Aug 2025 21:15:05 -0700 Subject: [PATCH 33/35] New: Move auth success logging to debug Closes #7978 (cherry picked from commit 9ebe043bd94d036fe2ab45f3bb3f882cda48e211) --- src/Lidarr.Http/Authentication/AuthenticationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Lidarr.Http/Authentication/AuthenticationService.cs b/src/Lidarr.Http/Authentication/AuthenticationService.cs index 64dd0f323..d01cd9911 100644 --- a/src/Lidarr.Http/Authentication/AuthenticationService.cs +++ b/src/Lidarr.Http/Authentication/AuthenticationService.cs @@ -77,7 +77,7 @@ namespace Lidarr.Http.Authentication private void LogSuccess(HttpRequest context, string username) { - _authLogger.Info("Auth-Success ip {0} username '{1}'", context.GetRemoteIP(), username); + _authLogger.Debug("Auth-Success ip {0} username '{1}'", context.GetRemoteIP(), username); } private void LogLogout(HttpRequest context, string username) From 4cb306780facda1d88d476bbb780a8a930efc7c6 Mon Sep 17 00:00:00 2001 From: Weblate Date: Sat, 16 Aug 2025 15:33:34 +0000 Subject: [PATCH 34/35] Multiple Translations updated by Weblate ignore-downstream Co-authored-by: mrchonks Translate-URL: https://translate.servarr.com/projects/servarr/lidarr/fr/ Translation: Servarr/Lidarr --- src/NzbDrone.Core/Localization/Core/fr.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NzbDrone.Core/Localization/Core/fr.json b/src/NzbDrone.Core/Localization/Core/fr.json index d414fb310..e532d4b8c 100644 --- a/src/NzbDrone.Core/Localization/Core/fr.json +++ b/src/NzbDrone.Core/Localization/Core/fr.json @@ -488,7 +488,7 @@ "OnHealthIssue": "Lors de problème de santé", "OnRename": "Au renommage", "OnUpgrade": "Lors de la mise à niveau", - "ExpandAlbumByDefaultHelpText": "Album", + "ExpandAlbumByDefaultHelpText": "Albums", "Continuing": "Continuer", "ContinuingAllTracksDownloaded": "Continuation (Tous les livres téléchargés)", "DefaultLidarrTags": "Tags {appName} par défaut", @@ -1177,7 +1177,7 @@ "RemoveQueueItem": "Retirer - {sourceTitle}", "RemoveQueueItemConfirmation": "Êtes-vous sûr de vouloir retirer '{sourceTitle}' de la file d'attente ?", "RemoveQueueItemRemovalMethod": "Méthode de suppression", - "RemoveQueueItemsRemovalMethodHelpTextWarning": "Supprimer du client de téléchargement\" supprimera les téléchargements et les fichiers du client de téléchargement.", + "RemoveQueueItemsRemovalMethodHelpTextWarning": "\"Supprimer du client de téléchargement\" supprimera les téléchargements et les fichiers du client de téléchargement.", "AddAutoTagError": "Impossible d'ajouter un nouveau tag automatique, veuillez réessayer.", "Donate": "Donation", "CustomFilter": "Filtre personnalisé", @@ -1364,7 +1364,7 @@ "LogFilesLocation": "Les fichiers journaux sont situés dans : {location}", "DownloadClientItemErrorMessage": "{clientName} signale une erreur : {message}", "RemoveRootFolder": "Supprimer le dossier racine", - "RemoveRootFolderArtistsMessageText": "Êtes vous sure de vouloir retirer le dossier racine '{name}' ? Les fichiers et les dossiers ne seront pas supprimés du disque et les artistes dans le dossier racine ne seront pas retirés de {appName}.", + "RemoveRootFolderArtistsMessageText": "Êtes vous sûr de vouloir retirer le dossier racine '{name}' ? Les fichiers et les dossiers ne seront pas supprimés du disque et les artistes dans le dossier racine ne seront pas retirés de {appName}.", "TheLogLevelDefault": "Le niveau de journalisation est par défaut à « Information » et peut être modifié dans les [paramètres généraux](/settings/general)", "MonitorNewAlbumsData": "Surveiller les albums ajoutés à la base de donnée dans le future avec une date de sortie après le dernier album", "MonitorNoAlbumsData": "Ne pas surveiller aucun nouvel album" From d2330a32329d4f4d66812d21c0cecdcb65e44e39 Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Sun, 17 Aug 2025 14:42:19 -0400 Subject: [PATCH 35/35] Bump to 2.13.3 --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 920729063..85d13499a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,7 +9,7 @@ variables: testsFolder: './_tests' yarnCacheFolder: $(Pipeline.Workspace)/.yarn nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages - majorVersion: '2.13.2' + majorVersion: '2.13.3' minorVersion: $[counter('minorVersion', 1076)] lidarrVersion: '$(majorVersion).$(minorVersion)' buildName: '$(Build.SourceBranchName).$(lidarrVersion)'