diff --git a/frontend/src/Store/Actions/artistIndexActions.js b/frontend/src/Store/Actions/artistIndexActions.js
index 055e92662..736502460 100644
--- a/frontend/src/Store/Actions/artistIndexActions.js
+++ b/frontend/src/Store/Actions/artistIndexActions.js
@@ -151,7 +151,7 @@ export const defaultState = {
{
name: 'genres',
label: () => translate('Genres'),
- isSortable: false,
+ isSortable: true,
isVisible: false
},
{
diff --git a/frontend/src/Store/Actions/historyActions.js b/frontend/src/Store/Actions/historyActions.js
index 225698229..9d16d29c4 100644
--- a/frontend/src/Store/Actions/historyActions.js
+++ b/frontend/src/Store/Actions/historyActions.js
@@ -150,7 +150,7 @@ export const defaultState = {
},
{
key: 'importFailed',
- label: () => translate('ImportFailed'),
+ label: () => translate('ImportCompleteFailed'),
filters: [
{
key: 'eventType',
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/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/package.json b/package.json
index d73552544..642d79a12 100644
--- a/package.json
+++ b/package.json
@@ -109,7 +109,7 @@
"babel-loader": "9.2.1",
"babel-plugin-inline-classnames": "2.0.1",
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
- "core-js": "3.39.0",
+ "core-js": "3.41.0",
"css-loader": "6.7.3",
"css-modules-typescript-loader": "4.0.1",
"eslint": "8.57.1",
diff --git a/src/Lidarr.Api.V1/DownloadClient/DownloadClientController.cs b/src/Lidarr.Api.V1/DownloadClient/DownloadClientController.cs
index bd4c993bf..b1cbb3ab5 100644
--- a/src/Lidarr.Api.V1/DownloadClient/DownloadClientController.cs
+++ b/src/Lidarr.Api.V1/DownloadClient/DownloadClientController.cs
@@ -1,5 +1,7 @@
+using FluentValidation;
using Lidarr.Http;
using NzbDrone.Core.Download;
+using NzbDrone.SignalR;
namespace Lidarr.Api.V1.DownloadClient
{
@@ -9,9 +11,10 @@ namespace Lidarr.Api.V1.DownloadClient
public static readonly DownloadClientResourceMapper ResourceMapper = new ();
public static readonly DownloadClientBulkResourceMapper BulkResourceMapper = new ();
- public DownloadClientController(IDownloadClientFactory downloadClientFactory)
- : base(downloadClientFactory, "downloadclient", ResourceMapper, BulkResourceMapper)
+ public DownloadClientController(IBroadcastSignalRMessage signalRBroadcaster, IDownloadClientFactory downloadClientFactory)
+ : base(signalRBroadcaster, downloadClientFactory, "downloadclient", ResourceMapper, BulkResourceMapper)
{
+ SharedValidator.RuleFor(c => c.Priority).InclusiveBetween(1, 50);
}
}
}
diff --git a/src/Lidarr.Api.V1/Health/HealthResource.cs b/src/Lidarr.Api.V1/Health/HealthResource.cs
index 9de525009..b059198db 100644
--- a/src/Lidarr.Api.V1/Health/HealthResource.cs
+++ b/src/Lidarr.Api.V1/Health/HealthResource.cs
@@ -1,7 +1,6 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using System.Linq;
using Lidarr.Http.REST;
-using NzbDrone.Common.Http;
using NzbDrone.Core.HealthCheck;
namespace Lidarr.Api.V1.Health
@@ -11,7 +10,7 @@ namespace Lidarr.Api.V1.Health
public string Source { get; set; }
public HealthCheckResult Type { get; set; }
public string Message { get; set; }
- public HttpUri WikiUrl { get; set; }
+ public string WikiUrl { get; set; }
}
public static class HealthResourceMapper
@@ -29,7 +28,7 @@ namespace Lidarr.Api.V1.Health
Source = model.Source.Name,
Type = model.Type,
Message = model.Message,
- WikiUrl = model.WikiUrl
+ WikiUrl = model.WikiUrl.FullUri
};
}
diff --git a/src/Lidarr.Api.V1/ImportLists/ImportListController.cs b/src/Lidarr.Api.V1/ImportLists/ImportListController.cs
index ff2ed98db..24a823e58 100644
--- a/src/Lidarr.Api.V1/ImportLists/ImportListController.cs
+++ b/src/Lidarr.Api.V1/ImportLists/ImportListController.cs
@@ -3,6 +3,7 @@ using Lidarr.Http;
using NzbDrone.Core.ImportLists;
using NzbDrone.Core.Validation;
using NzbDrone.Core.Validation.Paths;
+using NzbDrone.SignalR;
namespace Lidarr.Api.V1.ImportLists
{
@@ -12,11 +13,12 @@ namespace Lidarr.Api.V1.ImportLists
public static readonly ImportListResourceMapper ResourceMapper = new ();
public static readonly ImportListBulkResourceMapper BulkResourceMapper = new ();
- public ImportListController(IImportListFactory importListFactory,
- RootFolderExistsValidator rootFolderExistsValidator,
- QualityProfileExistsValidator qualityProfileExistsValidator,
- MetadataProfileExistsValidator metadataProfileExistsValidator)
- : base(importListFactory, "importlist", ResourceMapper, BulkResourceMapper)
+ public ImportListController(IBroadcastSignalRMessage signalRBroadcaster,
+ IImportListFactory importListFactory,
+ RootFolderExistsValidator rootFolderExistsValidator,
+ QualityProfileExistsValidator qualityProfileExistsValidator,
+ MetadataProfileExistsValidator metadataProfileExistsValidator)
+ : base(signalRBroadcaster, importListFactory, "importlist", ResourceMapper, BulkResourceMapper)
{
SharedValidator.RuleFor(c => c.RootFolderPath).Cascade(CascadeMode.Stop)
.IsValidPath()
diff --git a/src/Lidarr.Api.V1/Indexers/IndexerController.cs b/src/Lidarr.Api.V1/Indexers/IndexerController.cs
index 2ebcd3f29..462c68898 100644
--- a/src/Lidarr.Api.V1/Indexers/IndexerController.cs
+++ b/src/Lidarr.Api.V1/Indexers/IndexerController.cs
@@ -1,6 +1,8 @@
+using FluentValidation;
using Lidarr.Http;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Validation;
+using NzbDrone.SignalR;
namespace Lidarr.Api.V1.Indexers
{
@@ -10,9 +12,12 @@ namespace Lidarr.Api.V1.Indexers
public static readonly IndexerResourceMapper ResourceMapper = new ();
public static readonly IndexerBulkResourceMapper BulkResourceMapper = new ();
- public IndexerController(IndexerFactory indexerFactory, DownloadClientExistsValidator downloadClientExistsValidator)
- : base(indexerFactory, "indexer", ResourceMapper, BulkResourceMapper)
+ public IndexerController(IBroadcastSignalRMessage signalRBroadcaster,
+ IndexerFactory indexerFactory,
+ DownloadClientExistsValidator downloadClientExistsValidator)
+ : base(signalRBroadcaster, indexerFactory, "indexer", ResourceMapper, BulkResourceMapper)
{
+ SharedValidator.RuleFor(c => c.Priority).InclusiveBetween(1, 50);
SharedValidator.RuleFor(c => c.DownloadClientId).SetValidator(downloadClientExistsValidator);
}
}
diff --git a/src/Lidarr.Api.V1/Lidarr.Api.V1.csproj b/src/Lidarr.Api.V1/Lidarr.Api.V1.csproj
index b501c694b..187fa86ff 100644
--- a/src/Lidarr.Api.V1/Lidarr.Api.V1.csproj
+++ b/src/Lidarr.Api.V1/Lidarr.Api.V1.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/src/Lidarr.Api.V1/Metadata/MetadataController.cs b/src/Lidarr.Api.V1/Metadata/MetadataController.cs
index 01e82ad37..4349058b0 100644
--- a/src/Lidarr.Api.V1/Metadata/MetadataController.cs
+++ b/src/Lidarr.Api.V1/Metadata/MetadataController.cs
@@ -2,6 +2,7 @@ using System;
using Lidarr.Http;
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Core.Extras.Metadata;
+using NzbDrone.SignalR;
namespace Lidarr.Api.V1.Metadata
{
@@ -11,8 +12,8 @@ namespace Lidarr.Api.V1.Metadata
public static readonly MetadataResourceMapper ResourceMapper = new ();
public static readonly MetadataBulkResourceMapper BulkResourceMapper = new ();
- public MetadataController(IMetadataFactory metadataFactory)
- : base(metadataFactory, "metadata", ResourceMapper, BulkResourceMapper)
+ public MetadataController(IBroadcastSignalRMessage signalRBroadcaster, IMetadataFactory metadataFactory)
+ : base(signalRBroadcaster, metadataFactory, "metadata", ResourceMapper, BulkResourceMapper)
{
}
diff --git a/src/Lidarr.Api.V1/Notifications/NotificationController.cs b/src/Lidarr.Api.V1/Notifications/NotificationController.cs
index dc792fc1f..7e5f45064 100644
--- a/src/Lidarr.Api.V1/Notifications/NotificationController.cs
+++ b/src/Lidarr.Api.V1/Notifications/NotificationController.cs
@@ -2,6 +2,7 @@ using System;
using Lidarr.Http;
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Core.Notifications;
+using NzbDrone.SignalR;
namespace Lidarr.Api.V1.Notifications
{
@@ -11,8 +12,8 @@ namespace Lidarr.Api.V1.Notifications
public static readonly NotificationResourceMapper ResourceMapper = new ();
public static readonly NotificationBulkResourceMapper BulkResourceMapper = new ();
- public NotificationController(NotificationFactory notificationFactory)
- : base(notificationFactory, "notification", ResourceMapper, BulkResourceMapper)
+ public NotificationController(IBroadcastSignalRMessage signalRBroadcaster, NotificationFactory notificationFactory)
+ : base(signalRBroadcaster, notificationFactory, "notification", ResourceMapper, BulkResourceMapper)
{
}
diff --git a/src/Lidarr.Api.V1/ProviderControllerBase.cs b/src/Lidarr.Api.V1/ProviderControllerBase.cs
index 8d0b88c4a..c630dddd9 100644
--- a/src/Lidarr.Api.V1/ProviderControllerBase.cs
+++ b/src/Lidarr.Api.V1/ProviderControllerBase.cs
@@ -7,12 +7,19 @@ using Lidarr.Http.REST.Attributes;
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Serializer;
+using NzbDrone.Core.Datastore.Events;
+using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.ThingiProvider;
+using NzbDrone.Core.ThingiProvider.Events;
using NzbDrone.Core.Validation;
+using NzbDrone.SignalR;
namespace Lidarr.Api.V1
{
- public abstract class ProviderControllerBase : RestController
+ public abstract class ProviderControllerBase : RestControllerWithSignalR,
+ IHandle>,
+ IHandle>,
+ IHandle>
where TProviderDefinition : ProviderDefinition, new()
where TProvider : IProvider
where TProviderResource : ProviderResource, new()
@@ -22,11 +29,13 @@ namespace Lidarr.Api.V1
private readonly ProviderResourceMapper _resourceMapper;
private readonly ProviderBulkResourceMapper _bulkResourceMapper;
- protected ProviderControllerBase(IProviderFactory providerFactory,
string resource,
ProviderResourceMapper resourceMapper,
ProviderBulkResourceMapper bulkResourceMapper)
+ : base(signalRBroadcaster)
{
_providerFactory = providerFactory;
_resourceMapper = resourceMapper;
@@ -261,6 +270,24 @@ namespace Lidarr.Api.V1
return Content(data.ToJson(), "application/json");
}
+ [NonAction]
+ public virtual void Handle(ProviderAddedEvent message)
+ {
+ BroadcastResourceChange(ModelAction.Created, message.Definition.Id);
+ }
+
+ [NonAction]
+ public virtual void Handle(ProviderUpdatedEvent message)
+ {
+ BroadcastResourceChange(ModelAction.Updated, message.Definition.Id);
+ }
+
+ [NonAction]
+ public virtual void Handle(ProviderDeletedEvent message)
+ {
+ BroadcastResourceChange(ModelAction.Deleted, message.ProviderId);
+ }
+
protected virtual void Validate(TProviderDefinition definition, bool includeWarnings)
{
var validationResult = definition.Settings.Validate();
diff --git a/src/Lidarr.Api.V1/Queue/QueueController.cs b/src/Lidarr.Api.V1/Queue/QueueController.cs
index 730b50436..8123f30fe 100644
--- a/src/Lidarr.Api.V1/Queue/QueueController.cs
+++ b/src/Lidarr.Api.V1/Queue/QueueController.cs
@@ -302,7 +302,7 @@ namespace Lidarr.Api.V1.Queue
if (blocklist)
{
- _failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId, skipRedownload);
+ _failedDownloadService.MarkAsFailed(trackedDownload, skipRedownload);
}
if (!removeFromClient && !blocklist && !changeCategory)
diff --git a/src/Lidarr.Api.V1/RemotePathMappings/RemotePathMappingController.cs b/src/Lidarr.Api.V1/RemotePathMappings/RemotePathMappingController.cs
index f0679e27b..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,17 +22,28 @@ 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)
- .IsValidPath()
- .SetValidator(mappedNetworkDriveValidator)
- .SetValidator(pathExistsValidator);
+ .Cascade(CascadeMode.Stop)
+ .IsValidPath()
+ .SetValidator(mappedNetworkDriveValidator)
+ .SetValidator(pathExistsValidator)
+ .SetValidator(new SystemFolderValidator())
+ .NotEqual("/")
+ .WithMessage("Cannot be set to '/'");
}
public override RemotePathMappingResource GetResourceById(int id)
@@ -41,7 +53,7 @@ namespace Lidarr.Api.V1.RemotePathMappings
[RestPostById]
[Consumes("application/json")]
- public ActionResult CreateMapping(RemotePathMappingResource resource)
+ public ActionResult CreateMapping([FromBody] RemotePathMappingResource resource)
{
var model = resource.ToModel();
@@ -62,7 +74,7 @@ namespace Lidarr.Api.V1.RemotePathMappings
}
[RestPutById]
- public ActionResult UpdateMapping(RemotePathMappingResource resource)
+ public ActionResult UpdateMapping([FromBody] RemotePathMappingResource resource)
{
var mapping = resource.ToModel();
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;
diff --git a/src/Lidarr.Api.V1/Tags/TagController.cs b/src/Lidarr.Api.V1/Tags/TagController.cs
index a0e76335e..14f1aef64 100644
--- a/src/Lidarr.Api.V1/Tags/TagController.cs
+++ b/src/Lidarr.Api.V1/Tags/TagController.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using FluentValidation;
using Lidarr.Http;
using Lidarr.Http.REST;
using Lidarr.Http.REST.Attributes;
@@ -23,6 +24,8 @@ namespace Lidarr.Api.V1.Tags
: base(signalRBroadcaster)
{
_tagService = tagService;
+
+ SharedValidator.RuleFor(c => c.Label).NotEmpty();
}
public override TagResource GetResourceById(int id)
diff --git a/src/Lidarr.Api.V1/openapi.json b/src/Lidarr.Api.V1/openapi.json
index a940258aa..4c0462717 100644
--- a/src/Lidarr.Api.V1/openapi.json
+++ b/src/Lidarr.Api.V1/openapi.json
@@ -9808,7 +9808,8 @@
"nullable": true
},
"wikiUrl": {
- "$ref": "#/components/schemas/HttpUri"
+ "type": "string",
+ "nullable": true
}
},
"additionalProperties": false
@@ -10062,48 +10063,6 @@
},
"additionalProperties": false
},
- "HttpUri": {
- "type": "object",
- "properties": {
- "fullUri": {
- "type": "string",
- "nullable": true,
- "readOnly": true
- },
- "scheme": {
- "type": "string",
- "nullable": true,
- "readOnly": true
- },
- "host": {
- "type": "string",
- "nullable": true,
- "readOnly": true
- },
- "port": {
- "type": "integer",
- "format": "int32",
- "nullable": true,
- "readOnly": true
- },
- "path": {
- "type": "string",
- "nullable": true,
- "readOnly": true
- },
- "query": {
- "type": "string",
- "nullable": true,
- "readOnly": true
- },
- "fragment": {
- "type": "string",
- "nullable": true,
- "readOnly": true
- }
- },
- "additionalProperties": false
- },
"ImportListBulkResource": {
"type": "object",
"properties": {
@@ -12922,6 +12881,7 @@
"downloading",
"downloadFailed",
"downloadFailedPending",
+ "importBlocked",
"importPending",
"importing",
"importFailed",
diff --git a/src/Lidarr.Http/Authentication/AuthenticationController.cs b/src/Lidarr.Http/Authentication/AuthenticationController.cs
index 2fc588dd2..f7281cf5c 100644
--- a/src/Lidarr.Http/Authentication/AuthenticationController.cs
+++ b/src/Lidarr.Http/Authentication/AuthenticationController.cs
@@ -1,9 +1,14 @@
using System.Collections.Generic;
+using System.IO;
using System.Security.Claims;
+using System.Security.Cryptography;
using System.Threading.Tasks;
+using System.Xml;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using NLog;
+using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Authentication;
using NzbDrone.Core.Configuration;
@@ -16,11 +21,15 @@ namespace Lidarr.Http.Authentication
{
private readonly IAuthenticationService _authService;
private readonly IConfigFileProvider _configFileProvider;
+ private readonly IAppFolderInfo _appFolderInfo;
+ private readonly Logger _logger;
- public AuthenticationController(IAuthenticationService authService, IConfigFileProvider configFileProvider)
+ public AuthenticationController(IAuthenticationService authService, IConfigFileProvider configFileProvider, IAppFolderInfo appFolderInfo, Logger logger)
{
_authService = authService;
_configFileProvider = configFileProvider;
+ _appFolderInfo = appFolderInfo;
+ _logger = logger;
}
[HttpPost("login")]
@@ -45,7 +54,23 @@ namespace Lidarr.Http.Authentication
IsPersistent = resource.RememberMe == "on"
};
- await HttpContext.SignInAsync(AuthenticationType.Forms.ToString(), new ClaimsPrincipal(new ClaimsIdentity(claims, "Cookies", "user", "identifier")), authProperties);
+ try
+ {
+ await HttpContext.SignInAsync(AuthenticationType.Forms.ToString(), new ClaimsPrincipal(new ClaimsIdentity(claims, "Cookies", "user", "identifier")), authProperties);
+ }
+ catch (CryptographicException e)
+ {
+ if (e.InnerException is XmlException)
+ {
+ _logger.Error(e, "Failed to authenticate user due to corrupt XML. Please remove all XML files from {0} and restart Lidarr", Path.Combine(_appFolderInfo.AppDataFolder, "asp"));
+ }
+ else
+ {
+ _logger.Error(e, "Failed to authenticate user. {0}", e.Message);
+ }
+
+ return Unauthorized();
+ }
if (returnUrl.IsNullOrWhiteSpace() || !Url.IsLocalUrl(returnUrl))
{
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)
diff --git a/src/Lidarr.Http/Lidarr.Http.csproj b/src/Lidarr.Http/Lidarr.Http.csproj
index 5164642dc..103ca71ea 100644
--- a/src/Lidarr.Http/Lidarr.Http.csproj
+++ b/src/Lidarr.Http/Lidarr.Http.csproj
@@ -5,7 +5,7 @@
-
+
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/Lidarr.Automation.Test.csproj b/src/NzbDrone.Automation.Test/Lidarr.Automation.Test.csproj
index ada550253..8204721f3 100644
--- a/src/NzbDrone.Automation.Test/Lidarr.Automation.Test.csproj
+++ b/src/NzbDrone.Automation.Test/Lidarr.Automation.Test.csproj
@@ -4,7 +4,7 @@
-
+
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)
diff --git a/src/NzbDrone.Common/Disk/DiskProviderBase.cs b/src/NzbDrone.Common/Disk/DiskProviderBase.cs
index dfdb6b54c..01aaaaded 100644
--- a/src/NzbDrone.Common/Disk/DiskProviderBase.cs
+++ b/src/NzbDrone.Common/Disk/DiskProviderBase.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.IO;
using System.IO.Abstractions;
using System.Linq;
+using System.Threading;
using NLog;
using NzbDrone.Common.EnsureThat;
using NzbDrone.Common.EnvironmentInfo;
@@ -306,9 +307,26 @@ namespace NzbDrone.Common.Disk
{
Ensure.That(path, () => path).IsValidPath(PathValidationType.CurrentOs);
- var files = GetFiles(path, recursive);
+ var files = GetFiles(path, recursive).ToList();
- files.ToList().ForEach(RemoveReadOnly);
+ files.ForEach(RemoveReadOnly);
+
+ var attempts = 0;
+
+ while (attempts < 3 && files.Any())
+ {
+ EmptyFolder(path);
+
+ if (GetFiles(path, recursive).Any())
+ {
+ // Wait for IO operations to complete after emptying the folder since they aren't always
+ // instantly removed and it can lead to false positives that files are still present.
+ Thread.Sleep(3000);
+ }
+
+ attempts++;
+ files = GetFiles(path, recursive).ToList();
+ }
_fileSystem.Directory.Delete(path, recursive);
}
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);
}
}
diff --git a/src/NzbDrone.Common/Instrumentation/CleansingClefLogLayout.cs b/src/NzbDrone.Common/Instrumentation/CleansingClefLogLayout.cs
new file mode 100644
index 000000000..f110b96ac
--- /dev/null
+++ b/src/NzbDrone.Common/Instrumentation/CleansingClefLogLayout.cs
@@ -0,0 +1,21 @@
+using System.Text;
+using NLog;
+using NLog.Layouts.ClefJsonLayout;
+using NzbDrone.Common.EnvironmentInfo;
+
+namespace NzbDrone.Common.Instrumentation;
+
+public class CleansingClefLogLayout : CompactJsonLayout
+{
+ protected override void RenderFormattedMessage(LogEventInfo logEvent, StringBuilder target)
+ {
+ base.RenderFormattedMessage(logEvent, target);
+
+ if (RuntimeInfo.IsProduction)
+ {
+ var result = CleanseLogMessage.Cleanse(target.ToString());
+ target.Clear();
+ target.Append(result);
+ }
+ }
+}
diff --git a/src/NzbDrone.Common/Instrumentation/CleansingConsoleLogLayout.cs b/src/NzbDrone.Common/Instrumentation/CleansingConsoleLogLayout.cs
new file mode 100644
index 000000000..f894a4df5
--- /dev/null
+++ b/src/NzbDrone.Common/Instrumentation/CleansingConsoleLogLayout.cs
@@ -0,0 +1,26 @@
+using System.Text;
+using NLog;
+using NLog.Layouts;
+using NzbDrone.Common.EnvironmentInfo;
+
+namespace NzbDrone.Common.Instrumentation;
+
+public class CleansingConsoleLogLayout : SimpleLayout
+{
+ public CleansingConsoleLogLayout(string format)
+ : base(format)
+ {
+ }
+
+ protected override void RenderFormattedMessage(LogEventInfo logEvent, StringBuilder target)
+ {
+ base.RenderFormattedMessage(logEvent, target);
+
+ if (RuntimeInfo.IsProduction)
+ {
+ var result = CleanseLogMessage.Cleanse(target.ToString());
+ target.Clear();
+ target.Append(result);
+ }
+ }
+}
diff --git a/src/NzbDrone.Common/Instrumentation/NzbDroneFileTarget.cs b/src/NzbDrone.Common/Instrumentation/CleansingFileTarget.cs
similarity index 87%
rename from src/NzbDrone.Common/Instrumentation/NzbDroneFileTarget.cs
rename to src/NzbDrone.Common/Instrumentation/CleansingFileTarget.cs
index 84658cf74..f74d1fca4 100644
--- a/src/NzbDrone.Common/Instrumentation/NzbDroneFileTarget.cs
+++ b/src/NzbDrone.Common/Instrumentation/CleansingFileTarget.cs
@@ -4,7 +4,7 @@ using NLog.Targets;
namespace NzbDrone.Common.Instrumentation
{
- public class NzbDroneFileTarget : FileTarget
+ public class CleansingFileTarget : FileTarget
{
protected override void RenderFormattedMessage(LogEventInfo logEvent, StringBuilder target)
{
diff --git a/src/NzbDrone.Common/Instrumentation/NzbDroneLogger.cs b/src/NzbDrone.Common/Instrumentation/NzbDroneLogger.cs
index bfb404e98..c33211019 100644
--- a/src/NzbDrone.Common/Instrumentation/NzbDroneLogger.cs
+++ b/src/NzbDrone.Common/Instrumentation/NzbDroneLogger.cs
@@ -3,7 +3,6 @@ using System.Diagnostics;
using System.IO;
using NLog;
using NLog.Config;
-using NLog.Layouts.ClefJsonLayout;
using NLog.Targets;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
@@ -13,9 +12,11 @@ namespace NzbDrone.Common.Instrumentation
{
public static class NzbDroneLogger
{
- private const string FILE_LOG_LAYOUT = @"${date:format=yyyy-MM-dd HH\:mm\:ss.f}|${level}|${logger}|${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}${exception:format=Data}${newline}}";
- public const string ConsoleLogLayout = "[${level}] ${logger}: ${message} ${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}${exception:format=Data}${newline}}";
- public static CompactJsonLayout ClefLogLayout = new CompactJsonLayout();
+ private const string FileLogLayout = @"${date:format=yyyy-MM-dd HH\:mm\:ss.f}|${level}|${logger}|${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}${exception:format=Data}${newline}}";
+ private const string ConsoleFormat = "[${level}] ${logger}: ${message} ${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}${exception:format=Data}${newline}}";
+
+ private static readonly CleansingConsoleLogLayout CleansingConsoleLayout = new (ConsoleFormat);
+ private static readonly CleansingClefLogLayout ClefLogLayout = new ();
private static bool _isConfigured;
@@ -118,11 +119,7 @@ namespace NzbDrone.Common.Instrumentation
? formatEnumValue
: ConsoleLogFormat.Standard;
- coloredConsoleTarget.Layout = logFormat switch
- {
- ConsoleLogFormat.Clef => ClefLogLayout,
- _ => ConsoleLogLayout
- };
+ ConfigureConsoleLayout(coloredConsoleTarget, logFormat);
var loggingRule = new LoggingRule("*", level, coloredConsoleTarget);
@@ -139,7 +136,7 @@ namespace NzbDrone.Common.Instrumentation
private static void RegisterAppFile(IAppFolderInfo appFolderInfo, string name, string fileName, int maxArchiveFiles, LogLevel minLogLevel)
{
- var fileTarget = new NzbDroneFileTarget();
+ var fileTarget = new CleansingFileTarget();
fileTarget.Name = name;
fileTarget.FileName = Path.Combine(appFolderInfo.GetLogFolder(), fileName);
@@ -152,7 +149,7 @@ namespace NzbDrone.Common.Instrumentation
fileTarget.MaxArchiveFiles = maxArchiveFiles;
fileTarget.EnableFileDelete = true;
fileTarget.ArchiveNumbering = ArchiveNumberingMode.Rolling;
- fileTarget.Layout = FILE_LOG_LAYOUT;
+ fileTarget.Layout = FileLogLayout;
var loggingRule = new LoggingRule("*", minLogLevel, fileTarget);
@@ -171,7 +168,7 @@ namespace NzbDrone.Common.Instrumentation
fileTarget.ConcurrentWrites = false;
fileTarget.ConcurrentWriteAttemptDelay = 50;
fileTarget.ConcurrentWriteAttempts = 100;
- fileTarget.Layout = FILE_LOG_LAYOUT;
+ fileTarget.Layout = FileLogLayout;
var loggingRule = new LoggingRule("*", LogLevel.Trace, fileTarget);
@@ -216,6 +213,15 @@ namespace NzbDrone.Common.Instrumentation
{
return GetLogger(obj.GetType());
}
+
+ public static void ConfigureConsoleLayout(ColoredConsoleTarget target, ConsoleLogFormat format)
+ {
+ target.Layout = format switch
+ {
+ ConsoleLogFormat.Clef => NzbDroneLogger.ClefLogLayout,
+ _ => NzbDroneLogger.CleansingConsoleLayout
+ };
+ }
}
public enum ConsoleLogFormat
diff --git a/src/NzbDrone.Common/Lidarr.Common.csproj b/src/NzbDrone.Common/Lidarr.Common.csproj
index 383149c37..2e5bacde4 100644
--- a/src/NzbDrone.Common/Lidarr.Common.csproj
+++ b/src/NzbDrone.Common/Lidarr.Common.csproj
@@ -6,17 +6,17 @@
-
+
-
+
-
+
-
+
diff --git a/src/NzbDrone.Common/PathEqualityComparer.cs b/src/NzbDrone.Common/PathEqualityComparer.cs
index bd6fa430d..e8322864a 100644
--- a/src/NzbDrone.Common/PathEqualityComparer.cs
+++ b/src/NzbDrone.Common/PathEqualityComparer.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
@@ -6,7 +7,7 @@ namespace NzbDrone.Common
{
public class PathEqualityComparer : IEqualityComparer
{
- public static readonly PathEqualityComparer Instance = new PathEqualityComparer();
+ public static readonly PathEqualityComparer Instance = new ();
private PathEqualityComparer()
{
@@ -19,12 +20,19 @@ namespace NzbDrone.Common
public int GetHashCode(string obj)
{
- if (OsInfo.IsWindows)
+ try
{
- return obj.CleanFilePath().Normalize().ToLower().GetHashCode();
- }
+ if (OsInfo.IsWindows)
+ {
+ return obj.CleanFilePath().Normalize().ToLower().GetHashCode();
+ }
- return obj.CleanFilePath().Normalize().GetHashCode();
+ return obj.CleanFilePath().Normalize().GetHashCode();
+ }
+ catch (ArgumentException ex)
+ {
+ throw new ArgumentException($"Invalid path: {obj}", ex);
+ }
}
}
}
diff --git a/src/NzbDrone.Common/Processes/ProcessProvider.cs b/src/NzbDrone.Common/Processes/ProcessProvider.cs
index 3c86a06b1..bee099319 100644
--- a/src/NzbDrone.Common/Processes/ProcessProvider.cs
+++ b/src/NzbDrone.Common/Processes/ProcessProvider.cs
@@ -6,6 +6,7 @@ using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
+using System.Text;
using NLog;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Model;
@@ -117,7 +118,9 @@ namespace NzbDrone.Common.Processes
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardOutput = true,
- RedirectStandardInput = true
+ RedirectStandardInput = true,
+ StandardOutputEncoding = Encoding.UTF8,
+ StandardErrorEncoding = Encoding.UTF8
};
if (environmentVariables != null)
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.Test/Download/CompletedDownloadServiceTests/ImportFixture.cs b/src/NzbDrone.Core.Test/Download/CompletedDownloadServiceTests/ImportFixture.cs
index 16f6cfd1a..9719b7f1f 100644
--- a/src/NzbDrone.Core.Test/Download/CompletedDownloadServiceTests/ImportFixture.cs
+++ b/src/NzbDrone.Core.Test/Download/CompletedDownloadServiceTests/ImportFixture.cs
@@ -183,6 +183,8 @@ namespace NzbDrone.Core.Test.Download.CompletedDownloadServiceTests
{
GivenArtistMatch();
+ var tracks = Builder
diff --git a/src/NzbDrone.Core/Localization/Core/ar.json b/src/NzbDrone.Core/Localization/Core/ar.json
index 276ff036c..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}\"؟",
@@ -759,5 +758,13 @@
"Preferred": "يفضل",
"Today": "اليوم",
"MappedNetworkDrivesWindowsService": "لا تتوفر محركات أقراص الشبكة المعينة عند التشغيل كخدمة Windows. يرجى الاطلاع على التعليمات لمزيد من المعلومات",
- "DownloadClientSettingsRecentPriority": "أولوية العميل"
+ "DownloadClientSettingsRecentPriority": "أولوية العميل",
+ "CheckDownloadClientForDetails": "تحقق من برنامج التحميل لمزيد من التفاصيل",
+ "Downloaded": "تم التنزيل",
+ "Paused": "متوقف مؤقتًا",
+ "Pending": "قيد الانتظار",
+ "WaitingToImport": "في انتظار الاستيراد",
+ "WaitingToProcess": "في انتظار المعالجة",
+ "CurrentlyInstalled": "مثبتة حاليا",
+ "RemoveRootFolder": "قم بإزالة المجلد الجذر"
}
diff --git a/src/NzbDrone.Core/Localization/Core/bg.json b/src/NzbDrone.Core/Localization/Core/bg.json
index b2316ac09..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",
@@ -818,5 +817,24 @@
"BlocklistAndSearch": "Списък за блокиране и търсене",
"CustomFormatsSpecificationRegularExpression": "Регулярни изрази",
"DownloadClientDelugeSettingsDirectoryHelpText": "Незадължителна локация за изтеглянията, оставете празно, за да използвате мястото по подразбиране на Deluge",
- "Absolute": "Абсолютен"
+ "Absolute": "Абсолютен",
+ "Episode": "епизод",
+ "Library": "Библиотека",
+ "Artist": "изпълнител",
+ "Theme": "Тема",
+ "ReleaseProfile": "Профил за издания",
+ "TBA": "TBA",
+ "Label": "Етикет",
+ "Album": "албум",
+ "AutoAdd": "Автоматично добавяне",
+ "CatalogNumber": "каталожен номер",
+ "Discography": "дискография",
+ "CheckDownloadClientForDetails": "проверете клиента за изтегляне за повече подробности",
+ "WaitingToImport": "Изчаква се импортиране",
+ "WaitingToProcess": "Изчаква се обработка",
+ "Downloaded": "Изтеглено",
+ "Paused": "На пауза",
+ "Pending": "В очакване",
+ "CurrentlyInstalled": "Понастоящем инсталиран",
+ "RemoveRootFolder": "Премахнете основната папка"
}
diff --git a/src/NzbDrone.Core/Localization/Core/ca.json b/src/NzbDrone.Core/Localization/Core/ca.json
index 9c7098bb2..58dddcd56 100644
--- a/src/NzbDrone.Core/Localization/Core/ca.json
+++ b/src/NzbDrone.Core/Localization/Core/ca.json
@@ -15,7 +15,7 @@
"BindAddress": "Adreça d'enllaç",
"DeleteQualityProfileMessageText": "Esteu segur que voleu suprimir el perfil de qualitat '{name}'?",
"DeleteReleaseProfile": "Suprimeix el perfil de llançament",
- "DeleteReleaseProfileMessageText": "Esteu segur que voleu suprimir aquest perfil de retard?",
+ "DeleteReleaseProfileMessageText": "Esteu segur que voleu suprimir aquest perfil de llançament?",
"DownloadClients": "Descàrrega Clients",
"EnableColorImpairedMode": "Activa el mode amb alteracions del color",
"EnableHelpText": "Activa la creació de fitxers de metadades per a aquest tipus de metadades",
@@ -82,7 +82,7 @@
"TorrentDelayHelpText": "Retard en minuts per a esperar abans de capturar un torrent",
"Torrents": "Torrents",
"UnableToLoadGeneralSettings": "No es pot carregar la configuració general",
- "UnableToLoadHistory": "No es pot carregar l'historial",
+ "UnableToLoadHistory": "No es pot carregar l'historial.",
"UnableToLoadImportListExclusions": "No es poden carregar les exclusions de la llista",
"UnableToLoadIndexerOptions": "No es poden carregar les opcions de l'indexador",
"RemoveCompleted": "S'ha eliminat",
@@ -134,7 +134,7 @@
"MoreInfo": "Més informació",
"NoBackupsAreAvailable": "No hi ha còpies de seguretat disponibles",
"NETCore": ".NET",
- "NoHistory": "Sense història",
+ "NoHistory": "Sense historial.",
"NoLeaveIt": "No, deixa-ho",
"NotificationTriggers": "Activadors de notificacions",
"NoUpdatesAreAvailable": "No hi ha actualitzacions disponibles",
@@ -243,7 +243,7 @@
"ChownGroupHelpText": "Nom del grup o gid. Utilitzeu gid per a sistemes de fitxers remots.",
"ChownGroupHelpTextWarning": "Això només funciona si l'usuari que executa {appName} és el propietari del fitxer. És millor assegurar-se que el client de descàrrega utilitza el mateix grup que {appName}.",
"ConnectSettings": "Configuració de connexió",
- "CopyUsingHardlinksHelpText": "Utilitzeu els enllaços durs quan intenteu copiar fitxers de torrents que encara s'estan sembrant",
+ "CopyUsingHardlinksHelpText": "Els enllaços durs permeten que {appName} importi torrents de sembra a la carpeta de l'artista sense prendre espai extra al disc o copiar tot el contingut del fitxer. Els enllaços durs només funcionaran si l'origen i la destinació estan en el mateix volum",
"CopyUsingHardlinksHelpTextWarning": "De tant en tant, els bloquejos de fitxers poden impedir reanomenar els fitxers que s'estan sembrant. Podeu desactivar temporalment la compartició i utilitzar la funció de reanomenar de {appName} com a solució.",
"CreateEmptyArtistFolders": "Creeu carpetes buides per a les pel·lícules",
"CreateEmptyArtistFoldersHelpText": "Creeu carpetes de pel·lícules que falten durant l'exploració del disc",
@@ -252,7 +252,7 @@
"CutoffUnmet": "Tall no assolit",
"Dates": "Dates",
"DatabaseMigration": "Migració de BD",
- "DelayingDownloadUntil": "S'està retardant la baixada fins a les {0} a les {1}",
+ "DelayingDownloadUntil": "S'està retardant la baixada fins a les {date} a les {time}",
"DelayProfile": "Perfil de retard",
"DelayProfiles": "Perfils de retard",
"Delete": "Suprimeix",
@@ -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",
@@ -311,7 +310,7 @@
"IllRestartLater": "Reinicia més tard",
"ImportExtraFiles": "Importa fitxers addicionals",
"ImportExtraFilesHelpText": "Importeu fitxers addicionals coincidents (subtítols, nfo, etc.) després d'importar un fitxer de pel·lícula",
- "ImportFailedInterp": "ImportFailedInterp",
+ "ImportFailedInterp": "Importació fallida: {0}",
"Importing": "S'està important",
"IncludeUnmonitored": "Inclou no monitorat",
"Indexer": "Indexador",
@@ -323,7 +322,7 @@
"LogFiles": "Fitxers de registre",
"LogLevel": "Nivell de registre",
"MaximumSize": "Mida màxima",
- "MaximumSizeHelpText": "Mida màxima per a una versió que es pot capturar en MB. Establiu a zero per establir-lo en il·limitat",
+ "MaximumSizeHelpText": "Mida màxima per a una versió que es pot capturar en MB. Establiu a zero per establir-lo en il·limitat.",
"Mechanism": "Mecanisme",
"MediaInfo": "Informació de mitjans",
"MediaManagementSettings": "Configuració de gestió de mitjans",
@@ -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": "Utilitzeu aquest indexador només per a pel·lícules amb almenys una etiqueta coincident. Deixeu-ho en blanc per 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,8 +591,8 @@
"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}'?",
- "DeleteFormatMessageText": "Esteu segur que voleu suprimir l'etiqueta de format {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",
"ExportCustomFormat": "Exporta el format personalitzat",
@@ -601,7 +600,7 @@
"FailedLoadingSearchResults": "No s'han pogut carregar els resultats de la cerca, torneu-ho a provar.",
"Formats": "Formats",
"IncludeCustomFormatWhenRenamingHelpText": "Inclou en {Custom Formats} el format de canvi de nom",
- "ItsEasyToAddANewArtistJustStartTypingTheNameOfTheArtistYouWantToAdd": "És fàcil afegir una pel·lícula nova, només cal que comenceu a escriure el nom de la pel·lícula que voleu afegir",
+ "ItsEasyToAddANewArtistJustStartTypingTheNameOfTheArtistYouWantToAdd": "És fàcil afegir una pel·lícula nova, només cal que comenceu a escriure el nom de la pel·lícula que voleu afegir.",
"MinFormatScoreHelpText": "La puntuació mínima de format personalitzada per a la baixada",
"Monitor": "Monitora",
"NegateHelpText": "Si està marcat, el format personalitzat no s'aplicarà si la condició {0} coincideix.",
@@ -614,7 +613,7 @@
"UnableToLoadInteractiveSearch": "No es poden carregar els resultats d'aquesta cerca de pel·lícules. Torna-ho a provar més tard",
"TheArtistFolderStrongpathstrongAndAllOfItsContentWillBeDeleted": "La carpeta de pel·lícules '{0}' i tot el seu contingut es suprimiran.",
"CustomFormat": "Format personalitzat",
- "CustomFormatRequiredHelpText": "La condició {0} ha de coincidir perquè s'apliqui el format personalitzat. En cas contrari, n'hi ha prou amb una única coincidència de {1}.",
+ "CustomFormatRequiredHelpText": "La condició {0} ha de coincidir perquè s'apliqui el format personalitzat. En cas contrari, n'hi ha prou amb una única coincidència de {0}.",
"CustomFormatSettings": "Configuració de formats personalitzats",
"CustomFormats": "Formats personalitzats",
"Customformat": "Formats personalitzats",
@@ -643,20 +642,20 @@
"ProxyCheckBadRequestMessage": "No s'ha pogut provar el servidor intermediari. Codi d'estat: {0}",
"ProxyCheckResolveIpMessage": "No s'ha pogut resoldre l'adreça IP de l'amfitrió intermediari configurat {0}",
"RemotePathMappingCheckBadDockerPath": "Esteu utilitzant docker; el client de baixada {0} col·loca les baixades a {1}, però el camí {2} no és vàlid. Reviseu els mapes de camins remots i la configuració del client de baixada.",
- "RemotePathMappingCheckDownloadPermissions": "{appName} pot veure però no accedir a la pel·lícula baixada {0}. Error de permisos probable.",
+ "RemotePathMappingCheckDownloadPermissions": "{appName} pot veure però no accedir a la música descarregada {0}. Probablement s'ha produït un error en els permisos.",
"RemotePathMappingCheckDockerFolderMissing": "Esteu utilitzant docker; el client de baixada {0} col·loca les baixades a {1}, però sembla que aquest directori no existeix dins del contenidor. Reviseu els mapes de camins remots i la configuració dels volums del contenidor.",
"RemotePathMappingCheckFilesBadDockerPath": "Esteu utilitzant docker; el client de baixada{0} ha informat de fitxers a {1}, però el camí {2} no és vàlid. Reviseu els mapes de camins remots i la configuració del client de baixada.",
"RemotePathMappingCheckFilesLocalWrongOSPath": "El client de baixada local {0} ha informat de fitxers a {1}, però el camí {2} no és vàlid. Reviseu la configuració del vostre client de baixada.",
"RemotePathMappingCheckFilesWrongOSPath": "El client de baixada remota {0} ha informat de fitxers a {1}, però el camí {2} no és vàlid. Reviseu els mapes de camins remots i baixeu la configuració del client.",
"RemotePathMappingCheckGenericPermissions": "El client de baixada {0} col·loca les baixades a {1} però {appName} no pot veure aquest directori. És possible que hàgiu d'ajustar els permisos de la carpeta.",
- "RemotePathMappingCheckImportFailed": "{appName} no ha pogut importar una pel·lícula. Comproveu els vostres registres per a obtenir més informació.",
+ "RemotePathMappingCheckImportFailed": "{appName} no ha pogut importar música. Comproveu els vostres registres per obtenir-ne més detalls.",
"RemotePathMappingCheckLocalWrongOSPath": "El client de baixada local {0} col·loca les baixades a {1}, però el camí {2} no és vàlid. Reviseu la configuració del vostre client de baixada.",
"RemotePathMappingCheckRemoteDownloadClient": "El client de baixada remota {0} ha informat de fitxers a {1}, però sembla que aquest directori no existeix. És probable que falti el mapa de camins remots.",
"RootFolderCheckMultipleMessage": "Falten diverses carpetes arrel: {0}",
"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",
@@ -677,8 +676,8 @@
"BlocklistReleases": "Llista de llançaments bloquejats",
"BlocklistReleaseHelpText": "Impedeix que {appName} torni a capturar aquesta versió automàticament",
"FailedToLoadQueue": "No s'ha pogut carregar la cua",
- "DeleteConditionMessageText": "Esteu segur que voleu suprimir la notificació '{0}'?",
- "DeleteSelectedDownloadClients": "Suprimeix el client de descàrrega",
+ "DeleteConditionMessageText": "Esteu segur que voleu suprimir la condició '{name}'?",
+ "DeleteSelectedDownloadClients": "Suprimeix els clients seleccionats de baixada",
"DeleteSelectedIndexers": "Suprimeix l'indexador(s)",
"DeleteSelectedIndexersMessageText": "Esteu segur que voleu suprimir {count} indexador(s) seleccionat(s)?",
"DownloadClientSortingCheckMessage": "El client de baixada {0} té l'ordenació {1} activada per a la categoria de {appName}. Hauríeu de desactivar l'ordenació al vostre client de descàrrega per evitar problemes d'importació.",
@@ -721,7 +720,7 @@
"ImportListRootFolderMissingRootHealthCheckMessage": "Falta la carpeta arrel per a les llistes d'importació: {0}",
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Falten diverses carpetes arrel per a les llistes d'importació: {0}",
"Enabled": "Habilitat",
- "AddNewArtistRootFolderHelpText": "La subcarpeta '{0}' es crearà automàticament",
+ "AddNewArtistRootFolderHelpText": "La subcarpeta '{folder}' es crearà automàticament",
"Priority": "Prioritat",
"DeleteSpecification": "Esborra especificació",
"BypassIfHighestQualityHelpText": "Evita el retard quan la versió té la qualitat activada més alta al perfil de qualitat amb el protocol preferit",
@@ -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ó",
@@ -826,15 +824,15 @@
"Unlimited": "Il·limitat",
"Artist": "artista",
"BypassIfAboveCustomFormatScore": "Ometre si està per sobre de la puntuació de format personalitzada",
- "DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "El client de baixada {downloadClientName} està configurat per eliminar les baixades completades. Això pot provocar que les baixades s'eliminin del vostre client abans que {1} pugui importar-les.",
+ "DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "El client de baixada {0} està configurat per eliminar les baixades completades. Això pot provocar que les baixades s'eliminin del vostre client abans que {1} pugui importar-les.",
"EditConnectionImplementation": "Afegeix una connexió - {implementationName}",
"Episode": "Episodi",
"AddImportListExclusionAlbumHelpText": "Eviteu que els àlbums s'afegeixin a {appName} per llistes",
"ImportLists": "llista d'importació",
- "ApiKeyValidationHealthCheckMessage": "Actualitzeu la vostra clau de l'API perquè tingui almenys {length} caràcters. Podeu fer-ho mitjançant la configuració o el fitxer de configuració",
+ "ApiKeyValidationHealthCheckMessage": "Actualitzeu la vostra clau de l'API perquè tingui almenys {0} caràcters. Podeu fer-ho mitjançant la configuració o el fitxer de configuració",
"BypassIfAboveCustomFormatScoreHelpText": "Habiliteu l'omissió quan la versió tingui una puntuació superior a la puntuació mínima per al format personalitzat",
"Artists": "artista",
- "CountDownloadClientsSelected": "{count} client(s) de baixada seleccionat(s)",
+ "CountDownloadClientsSelected": "{selectedCount} client(s) de baixada seleccionat(s)",
"EditReleaseProfile": "Afegeix un perfil de llançament",
"ReleaseProfiles": "Perfils de llançament",
"ExtraFileExtensionsHelpTextsExamples": "Exemples: '.sub, .nfo' o 'sub,nfo'",
@@ -859,7 +857,7 @@
"AutoRedownloadFailedFromInteractiveSearch": "Tornar a baixar baixades fallades des de la cerca interactiva",
"AutoRedownloadFailed": "Tornar a baixar les baixades fallades",
"StatusEndedContinuing": "Continua",
- "DeleteTrackFileMessageText": "Esteu segur que voleu suprimir '{path}'?",
+ "DeleteTrackFileMessageText": "Esteu segur que voleu suprimir {0}?",
"NoCutoffUnmetItems": "No hi ha elements de tall no assolits",
"Release": " Llançament",
"DeleteEmptyFoldersHelpText": "Suprimeix les carpetes de sèries buides durant l'exploració del disc i quan s'esborren els fitxers de sèries",
@@ -914,7 +912,7 @@
"DownloadClientDelugeSettingsDirectoryCompleted": "Directori al qual es mou quan s'hagi completat",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Ubicació opcional de les baixades completades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de Deluge",
"DownloadClientDelugeSettingsDirectoryHelpText": "Ubicació opcional de les baixades completades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de Deluge",
- "GrabReleaseUnknownArtistOrAlbumMessageText": "{appName} no ha pogut determinar per a quina pel·lícula era aquest llançament. És possible que {appName} no pugui importar automàticament aquesta versió. Voleu capturar \"{0}\"?",
+ "GrabReleaseUnknownArtistOrAlbumMessageText": "{appName} no ha pogut determinar per a quina pel·lícula era aquest llançament. És possible que {appName} no pugui importar automàticament aquesta versió. Voleu capturar '{title}'?",
"IndexerFlags": "Indicadors de l'indexador",
"MonitorNoAlbums": "Cap",
"Rejections": "Rebutjats",
@@ -969,9 +967,405 @@
"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",
- "AlbumCount": "Recompte d'àlbums"
+ "AlbumCount": "Recompte d'àlbums",
+ "NotificationsSettingsWebhookHeaders": "Capçaleres",
+ "NotificationsKodiSettingsDisplayTime": "Temps de visualització",
+ "TestParsing": "Prova anàlisi",
+ "PasswordConfirmation": "Confirmeu la contrasenya",
+ "NotificationsKodiSettingsGuiNotification": "Notificació d'interfície gràfica",
+ "PreviouslyInstalled": "Instal·lat anteriorment",
+ "ContinuingOnly": "Només en emissió",
+ "UpdateFiltered": "Actualitza filtrats",
+ "IndexerSettingsApiUrl": "URL de l'API",
+ "CountCustomFormatsSelected": "{count} format(s) personalitzat(s) seleccionat(s)",
+ "Install": "Instal·la",
+ "CheckDownloadClientForDetails": "Consulteu el client de descàrrega per a obtenir més detalls",
+ "DownloadWarning": "Avís de baixada: {warningMessage}",
+ "Downloaded": "S'ha baixat",
+ "ImportFailed": "La importació ha fallat: {sourceTitle}",
+ "Paused": "En pausa",
+ "Pending": "Pendents",
+ "WaitingToImport": "S’està esperant per a importar",
+ "WaitingToProcess": "S’està esperant per a processar",
+ "DefaultMonitorOptionHelpText": "Quins àlbums s'han de controlar en afegir inicialment per als artistes detectats en aquesta carpeta",
+ "DownloadedImporting": "'Descarregat - Important'",
+ "ExpandItemsByDefault": "Expandeix els elements per defecte",
+ "HideAlbums": "Oculta els àlbums",
+ "PathHelpText": "Carpeta arrel que conté la vostra biblioteca de música",
+ "AllAlbums": "Tots els àlbums",
+ "AllowFingerprintingHelpText": "Utilitza l'empremta digital per millorar la precisió de la coincidència de la pista",
+ "DefaultTagsHelpText": "Etiquetes {appName} per defecte per als artistes detectats en aquesta carpeta",
+ "ShowNextAlbumHelpText": "Mostra el següent àlbum sota el cartell",
+ "TheAlbumsFilesWillBeDeleted": "Els fitxers de l'àlbum s'eliminaran.",
+ "TrackCount": "Comptador de pistes",
+ "TrackDownloaded": "Pista descarregada",
+ "TrackFiles": "Fitxers de pista",
+ "ArtistNameHelpText": "El nom de l'artista/àlbum a excloure (pot ser qualsevol cosa significativa)",
+ "ContinuingNoAdditionalAlbumsAreExpected": "No s'espera cap àlbum addicional",
+ "ContinuingMoreAlbumsAreExpected": "S'espera més àlbums",
+ "AddedArtistSettings": "Configuració d'artista afegida",
+ "AlbumDetails": "Detalls de l'àlbum",
+ "AlbumHasNotAired": "L'àlbum no s'ha emès",
+ "AlbumInfo": "Informació de l'àlbum",
+ "AlbumIsDownloading": "L'àlbum s'està baixant",
+ "AlbumIsNotMonitored": "L'àlbum no està monitoritzat",
+ "AlbumRelease": "Publicació de l'àlbum",
+ "AlbumReleaseDate": "Data de publicació de l'àlbum",
+ "AlbumStatus": "Estat de l'àlbum",
+ "AlbumStudio": "Estudi d'àlbum",
+ "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": "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.",
+ "AnchorTooltip": "Aquest fitxer ja és a la vostra biblioteca per a una versió que esteu important",
+ "AnyReleaseOkHelpText": "{appName} canviarà automàticament a la versió que coincideixi amb les pistes baixades",
+ "ArtistClickToChangeAlbum": "Feu clic per canviar l'àlbum",
+ "ArtistEditor": "Editor d'artistes",
+ "ArtistFolderFormat": "Format de carpeta d'artista",
+ "ArtistIsMonitored": "L'artista està monitoritzat",
+ "ArtistMonitoring": "Seguiment de l'artista",
+ "ArtistProgressBarText": "{trackFileCount} / {trackCount} (Total: {totalTrackCount}, Baixada: {downloadingCount})",
+ "ArtistType": "Tipus d'artista",
+ "ArtistsEditRootFolderHelpText": "Moure artistes a la mateixa carpeta arrel es pot utilitzar per a canviar el nom de les carpetes d'artista perquè coincideixin amb el nom o el format de nom actualitzat",
+ "AutomaticallySwitchRelease": "Commuta automàticament la versió",
+ "BackupIntervalHelpText": "Interval per a fer una còpia de seguretat de la base de dades {appName} i de la configuració",
+ "BannerOptions": "Opcions del bàner",
+ "ContinuingAllTracksDownloaded": "Continuant (totes les pistes baixades)",
+ "DashOrSpaceDashDependingOnName": "Traç o guió d'espai depenent del nom",
+ "DelayProfileArtistTagsHelpText": "Aplica als artistes amb almenys una etiqueta coincident",
+ "DownloadClientSettingsRecentPriorityAlbumHelpText": "Prioritat a utilitzar en capturar àlbums publicats en els últims 14 dies",
+ "IsShowingMonitoredMonitorSelected": "Monitor seleccionat",
+ "LidarrSupportsMultipleListsForImportingAlbumsAndArtistsIntoTheDatabase": "{appName} admet múltiples llistes per importar àlbums i artistes a la base de dades.",
+ "MediumFormat": "Format mitjà",
+ "MetadataSettingsArtistSummary": "Crea fitxers de metadades quan s'importin pistes o s'actualitzi l'artista",
+ "MissingTracks": "Manquen pistes",
+ "MonitorAlbum": "Àlbum del monitor",
+ "MonitorArtists": "Monitora els artistes",
+ "MonitorExistingAlbums": "Àlbums existents",
+ "MonitorFirstAlbum": "Primer àlbum",
+ "NoTracksInThisMedium": "No hi ha pistes en aquest suport",
+ "NotificationsSettingsUpdateMapPathsToHelpText": "{serviceName} camí, utilitzat per modificar els camins de sèrie quan {serviceName} veu la ubicació del camí de la biblioteca diferent de {appName} (requereix 'Biblioteca d'actualització')",
+ "OneAlbum": "1 àlbum",
+ "Retag": "Reetiqueta",
+ "SearchForAllCutoffUnmetAlbums": "Cerca tots els àlbums de Cutoff Unmet",
+ "SecondaryAlbumTypes": "Tipus d'àlbum secundari",
+ "SetAppTags": "Estableix {appName} etiquetes",
+ "ShouldMonitorExisting": "Monitora els àlbums existents",
+ "ShouldMonitorExistingHelpText": "Monitora automàticament els àlbums d'aquesta llista que ja estan a {appName}",
+ "ShouldMonitorHelpText": "Monitora els artistes i àlbums afegits d'aquesta llista",
+ "ShowLastAlbum": "Mostra l'últim àlbum",
+ "TagAudioFilesWithMetadata": "Etiqueta els fitxers d'àudio amb metadades",
+ "TrackFileMissingTooltip": "Falta el fitxer de la pista",
+ "TrackNaming": "Nom de la pista",
+ "TrackProgress": "Progrés de la pista",
+ "TrackStatus": "Estat de la pista",
+ "SpecificMonitoringOptionHelpText": "Monitora els artistes, però només supervisa els àlbums inclosos explícitament a la llista",
+ "OnAlbumDelete": "En suprimir l'àlbum",
+ "TrackFileDeletedTooltip": "S'ha suprimit el fitxer de pista",
+ "TrackFileTagsUpdatedTooltip": "S'han actualitzat les etiquetes dels fitxers de seguiment",
+ "MonitoringOptionsHelpText": "Quins àlbums s'han de controlar després d'afegir l'artista (ajust d'un sol cop)",
+ "Proceed": "Procedeix",
+ "SelectArtist": "Selecciona l'artista",
+ "AllowArtistChangeClickToChangeArtist": "Feu clic per canviar l'artista",
+ "FutureAlbums": "Àlbums futurs",
+ "ArtistName": "Nom de l'artista",
+ "MonitorNoNewAlbums": "Sense àlbums nous",
+ "IsExpandedShowTracks": "Mostra les pistes",
+ "MonitorMissingAlbums": "Manquen àlbums",
+ "ShowAlbumCount": "Mostra el comptador d'àlbums",
+ "AreYouSure": "N'estàs segur?",
+ "Banners": "Bàners",
+ "NoneMonitoringOptionHelpText": "No monitoris artistes ni àlbums",
+ "DownloadedWaitingToImport": "'Descarregat - Esperant a importar'",
+ "EpisodeDoesNotHaveAnAbsoluteEpisodeNumber": "L'episodi no té un número d'episodi absolut",
+ "NoMediumInformation": "No hi ha informació de suport disponible.",
+ "MissingTracksArtistNotMonitored": "Manquen pistes (l'artista no està monitoritzat)",
+ "NotDiscography": "No discografia",
+ "NotificationsSettingsUpdateMapPathsFromHelpText": "{appName} camí, utilitzat per modificar els camins de sèrie quan {serviceName} veu la ubicació del camí de la biblioteca diferent de {appName} (requereix 'Biblioteca d'actualització')",
+ "NotificationsTagsArtistHelpText": "Envia només notificacions per a artistes amb almenys una etiqueta coincident",
+ "Playlist": "Reproducció",
+ "PrimaryAlbumTypes": "Tipus d'àlbum principal",
+ "PrimaryTypes": "Tipus primaris",
+ "TrackArtist": "Artista de la pista",
+ "TrackImported": "S'ha importat la pista",
+ "DownloadImported": "Baixada importada",
+ "ForeignId": "Id estranger",
+ "Inactive": "Inactiu",
+ "EditArtist": "Edita l'artista",
+ "ReleasesHelpText": "Canvia el llançament d'aquest àlbum",
+ "ShouldSearch": "Cerca elements nous",
+ "GoToArtistListing": "Ves a la llista d'artistes",
+ "SelectAlbum": "Selecciona l'àlbum",
+ "SceneNumberHasntBeenVerifiedYet": "El número d'escena encara no s'ha verificat",
+ "SelectTracks": "Selecciona les pistes",
+ "ArtistIsUnmonitored": "L'artista no està monitoritzat",
+ "DefaultQualityProfileIdHelpText": "Perfil de qualitat predeterminat per als artistes detectats en aquesta carpeta",
+ "ExistingAlbums": "Àlbums existents",
+ "GroupInformation": "Informació del grup",
+ "MatchedToAlbums": "Coincideix amb els àlbums",
+ "MusicbrainzId": "Id del Musicbrainz",
+ "ThereWasAnErrorLoadingThisItem": "S'ha produït un error en carregar aquest element",
+ "SearchBoxPlaceHolder": "p. ex. Trencant Benjamin, lidarr:854a1807-025b-42a8-ba8c-2a39717f1d25",
+ "ShowNextAlbum": "Mostra l'àlbum següent",
+ "MediaCount": "Comptador de mitjans",
+ "MissingAlbums": "Manquen àlbums",
+ "MissingTracksArtistMonitored": "Pistes que falten (controlat per l'artista)",
+ "MonitorFutureAlbums": "Àlbums futurs",
+ "MusicBrainzAlbumID": "ID de l'àlbum del MusicBrainz",
+ "NextAlbum": "Àlbum següent",
+ "AlbumTitle": "Títol de l'àlbum",
+ "AllExpandedExpandAll": "Expandeix-ho tot",
+ "MonitorNewAlbums": "Àlbums nous",
+ "LatestAlbum": "Últim àlbum",
+ "RemoveSelectedItemBlocklistMessageText": "Esteu segur que voleu eliminar els elements seleccionats de la llista de bloqueigs?",
+ "RenameTracks": "Canvia el nom de les pistes",
+ "ThereWasAnErrorLoadingThisPage": "S'ha produït un error en carregar aquesta pàgina",
+ "TrackFileCounttotalTrackCountTracksDownloadedInterp": "{0}/{1} pistes baixades",
+ "TrackFileRenamedTooltip": "S'ha canviat el nom del fitxer de pista",
+ "WriteMetadataToAudioFiles": "Escriu les metadades als fitxers d'àudio",
+ "HasMonitoredAlbumsNoMonitoredAlbumsForThisArtist": "No hi ha àlbums supervisats per a aquest artista",
+ "SearchAlbum": "Cerca un àlbum",
+ "ForNewImportsOnly": "Només per a importacions noves",
+ "CollapseMultipleAlbums": "Redueix diversos àlbums",
+ "CollapseMultipleAlbumsHelpText": "Redueix diversos àlbums que es publiquen el mateix dia",
+ "CombineWithExistingFiles": "Combina amb els fitxers existents",
+ "CountAlbums": "{albumCount} àlbums",
+ "Deceased": "Defunció",
+ "DefaultDelayProfileArtist": "Aquest és el perfil per defecte. S'aplica a tots els artistes que no tenen un perfil explícit.",
+ "DefaultLidarrTags": "Etiquetes {appName} per defecte",
+ "DefaultMetadataProfileIdHelpText": "Perfil predeterminat de metadades per als artistes detectats en aquesta carpeta",
+ "DeleteArtist": "Suprimeix l'artista seleccionat",
+ "DeleteArtistFolder": "Suprimeix la carpeta d'artista",
+ "DeleteArtistFolderCountWithFilesConfirmation": "Esteu segur que voleu suprimir {count} artistes seleccionats i tots els continguts?",
+ "DeleteFilesHelpText": "Suprimeix els fitxers de la pista i la carpeta de l'artista",
+ "DeleteSelectedArtists": "Suprimeix els artistes seleccionats",
+ "DeleteTrackFile": "Suprimeix el fitxer de pista",
+ "EditSelectedArtists": "Edita els artistes seleccionats",
+ "EmbedCoverArtHelpText": "Incrusta l'art de l'àlbum Lidarr en fitxers d'àudio en escriure etiquetes",
+ "EmbedCoverArtInAudioFiles": "Incrusta la caràtula en fitxers d'àudio",
+ "EnableAutomaticAddHelpText": "Afegeix un artista/àlbum a {appName} quan es realitzen les sincronitzacions a través de la interfície d'usuari o per {appName}",
+ "EnabledHelpText": "Marqueu-ho per a habilitar el perfil de la versió",
+ "EndedAllTracksDownloaded": "Finalitzat (totes les pistes baixades)",
+ "ExistingAlbumsData": "Monitora els àlbums que tenen fitxers o encara no s'han publicat",
+ "ExpandBroadcastByDefaultHelpText": "Transmissió",
+ "ExpandEPByDefaultHelpText": "Eps",
+ "ExpandSingleByDefaultHelpText": "Individuals",
+ "FilterAlbumPlaceholder": "Filtra l'àlbum",
+ "FilterArtistPlaceholder": "Filtra l'artista",
+ "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 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'.",
+ "ImportCompleteFailed": "Ha fallat la importació",
+ "ImportListTagsHelpText": "Etiquetes que s'afegiran a la importació des d'aquesta llista",
+ "IndexerIdHelpText": "Especifiqueu a quin indexador s'aplica el perfil",
+ "IsExpandedHideAlbums": "Oculta els àlbums",
+ "IsExpandedHideTracks": "Oculta les pistes",
+ "IsExpandedShowAlbums": "Mostra els àlbums",
+ "IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnArtistOrImportList": "No es pot suprimir un perfil de metadades que està adjuntat a un artista o a una llista d'importació",
+ "IsInUseCantDeleteAQualityProfileThatIsAttachedToAnArtistOrImportList": "No es pot suprimir un perfil de qualitat que estigui adjuntat a un artista o a una llista d'importació",
+ "IsShowingMonitoredUnmonitorSelected": "Unmonitor seleccionat",
+ "LastAlbum": "Últim àlbum",
+ "LatestAlbumData": "Monitoritza els últims àlbums i futurs àlbums",
+ "ManageTracks": "Gestiona les pistes",
+ "MatchedToArtist": "Coincideix amb l'artista",
+ "MassAlbumsCutoffUnmetWarning": "Esteu segur que voleu cercar tots els ‘{0}’ àlbums sense límits satisfets?",
+ "MissingAlbumsData": "Monitora els àlbums que no tenen fitxers o que encara no s'han publicat",
+ "MonitorAlbumExistingOnlyWarning": "Aquest és un ajust ajustat de la configuració monitoritzada per a cada àlbum. Utilitzeu l'opció Artist/Edit per controlar què passa amb els àlbums nous",
+ "MonitorAllAlbums": "Tots els àlbums",
+ "MonitorArtist": "Monitora l’artista",
+ "MonitorLastestAlbum": "Últim àlbum",
+ "MonitorNewItems": "Monitora els àlbums nous",
+ "MonitorNewItemsHelpText": "Quins àlbums nous s'han de controlar",
+ "MonitoredHelpText": "Baixa els àlbums monitoritzats d'aquest artista",
+ "MultiDiscTrackFormat": "Format de pista multidisc",
+ "MusicBrainzArtistID": "ID de l'artista del MusicBrainz",
+ "NoneData": "No es controlarà cap àlbum",
+ "OnArtistAdd": "En afegir l'artista",
+ "Retagged": "Reetiquetat",
+ "RecycleBinUnableToWriteHealthCheck": "No s'ha pogut escriure a la carpeta de contenidors de reciclatge configurada: {0}. Assegureu-vos que aquest camí existeix i que l'usuari que executa {appName} pot escriure",
+ "RefreshArtist": "Actualitza l'artista",
+ "ReleaseProfileTagArtistHelpText": "Els perfils de llançament s'aplicaran als artistes amb almenys una etiqueta coincident. Deixa en blanc per aplicar a tots els artistes",
+ "ReplaceExistingFiles": "Substitueix els fitxers existents",
+ "RetagSelectedArtists": "Reetiqueta els artistes seleccionats",
+ "SearchForAllCutoffUnmetAlbumsConfirmationCount": "Esteu segur que voleu cercar tots els {totalRecords} àlbums tallats Unmet?",
+ "SearchForAllMissingAlbums": "Cerca tots els àlbums que falten",
+ "SearchForAllMissingAlbumsConfirmationCount": "Esteu segur que voleu cercar tots els {totalRecords} àlbums que manquen?",
+ "SearchForMonitoredAlbums": "Cerca àlbums monitoritzats",
+ "SecondaryTypes": "Tipus secundaris",
+ "SelectAlbumRelease": "Selecciona la publicació de l'àlbum",
+ "SelectedCountArtistsSelectedInterp": "{selectedCount} Artistes seleccionats",
+ "ShowTitleHelpText": "Mostra el nom de l'artista sota el cartell",
+ "SkipRedownloadHelpText": "Evita que {appName} intenti baixar versions alternatives per als elements eliminats",
+ "SpecificAlbum": "Àlbum específic",
+ "TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp": "{0} pistes totals. {1} pistes amb fitxers.",
+ "TrackFilesCountMessage": "No hi ha fitxers de pista",
+ "TrackFilesLoadError": "No s'han pogut carregar els fitxers de pista",
+ "TrackMissingFromDisk": "Falta la pista del disc",
+ "TracksLoadError": "No s'han pogut carregar les pistes",
+ "WriteAudioTagsHelpTextWarning": "En seleccionar ‘Tots els fitxers’ s'alteraran els fitxers existents quan s'importin.",
+ "DeleteArtistFolders": "Suprimeix les carpetes d'artista",
+ "DownloadClientSettingsOlderPriorityAlbumHelpText": "Prioritat a utilitzar en capturar àlbums publicats fa més de 14 dies",
+ "EditMetadata": "Edita les metadades",
+ "NewAlbums": "Àlbums nous",
+ "NoAlbums": "Sense àlbums",
+ "NoMissingItems": "No falten elements",
+ "OnArtistDelete": "En suprimir l'artista",
+ "OnTrackRetag": "En reetiquetar la pista",
+ "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ó",
+ "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}.",
+ "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/cs.json b/src/NzbDrone.Core/Localization/Core/cs.json
index c184cd978..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",
@@ -917,5 +915,21 @@
"DoNotBlocklistHint": "Odstraň bez přidání do seznamu blokování",
"DownloadClientAriaSettingsDirectoryHelpText": "Volitelné umístění pro stahování, pokud chcete použít výchozí umístění Aria2, ponechte prázdné",
"DownloadClientQbittorrentSettingsContentLayout": "Rozvržení obsahu",
- "DownloadClientQbittorrentSettingsContentLayoutHelpText": "Zda použít rozvržení obsahu nakonfigurované v qBittorrentu, původní rozvržení z torrentu nebo vždy vytvořit podsložku (qBittorrent 4.3.2+)"
+ "DownloadClientQbittorrentSettingsContentLayoutHelpText": "Zda použít rozvržení obsahu nakonfigurované v qBittorrentu, původní rozvržení z torrentu nebo vždy vytvořit podsložku (qBittorrent 4.3.2+)",
+ "DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Nepovinné - umístění kam přesunout dokončená stahování, pokud ponecháte prázné, použije se výchozí umístění Deluge",
+ "DownloadClientDelugeSettingsDirectoryHelpText": "Nepovinné - umístění stahovaných souborů, pokud ponecháte prázné, použije se výchozí umístění Deluge",
+ "WaitingToImport": "Čekání na import",
+ "WaitingToProcess": "Čekání na zpracování",
+ "DownloadClientDelugeSettingsDirectoryCompleted": "Adresář kam přesunout po dokončení",
+ "CheckDownloadClientForDetails": "zkontrolujte klienta pro stahování pro více informací",
+ "Downloaded": "Staženo",
+ "Paused": "Pozastaveno",
+ "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 ebe0fb7be..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",
@@ -798,5 +797,15 @@
"Episode": "afsnit",
"MetadataProfile": "metadataprofil",
"Min": "Min",
- "DownloadClientSettingsRecentPriority": "Kundens prioritet"
+ "DownloadClientSettingsRecentPriority": "Kundens prioritet",
+ "Pending": "Verserende",
+ "ImportFailed": "Import mislykkedes: »{sourceTitle}«",
+ "CheckDownloadClientForDetails": "tjek download klient for flere detaljer",
+ "DownloadWarning": "Downloadadvarsel: »{warningMessage}«",
+ "Downloaded": "Downloadet",
+ "Paused": "Pauset",
+ "WaitingToImport": "Venter på at importere",
+ "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 17b53fad5..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",
@@ -782,7 +780,7 @@
"DownloadImported": "Importiere herunterladen",
"EditMetadata": "Metadaten bearbeiten",
"ForNewImportsOnly": "Nur für neue Imports",
- "ImportFailed": "Import fehlgeschlagen",
+ "ImportCompleteFailed": "Import fehlgeschlagen",
"EndedOnly": "Nur beendete",
"MassAlbumsCutoffUnmetWarning": "Bist du dir sicher, dass du nach allen '{0}' Alben suchen willst deren Schwelle nicht erreicht worden ist?",
"SearchForAllMissingAlbumsConfirmationCount": "Bist du sicher, dass du nach allen {totalRecords} fehlenden Alben suchen möchtest?",
@@ -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",
@@ -1349,5 +1347,23 @@
"Inactive": "Inaktiv",
"AlbumInfo": "Album Informationen",
"Banners": "Banner",
- "DeleteArtistFolders": "Künstlerordner löschen"
+ "DeleteArtistFolders": "Künstlerordner löschen",
+ "ImportFailed": "Import fehlgeschlagen: {sourceTitle}",
+ "DownloadWarning": "Download Warnung: {warningMessage}",
+ "Downloaded": "Heruntergeladen",
+ "Pending": "Ausstehend",
+ "PendingDownloadClientUnavailable": "Ausstehend - Download-Client nicht verfügbar",
+ "UnableToImportAutomatically": "Kann nicht automatisch importiert werden",
+ "CheckDownloadClientForDetails": "Weitere Informationen finden Sie im Download-Client",
+ "Paused": "Pausiert",
+ "WaitingToImport": "Warten auf Import",
+ "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 47363001b..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": "Διαγραφή ετικέτας",
@@ -751,7 +750,7 @@
"GoToArtistListing": "Μεταβείτε στη λίστα καλλιτεχνών",
"HideAlbums": "Απόκρυψη άλμπουμ",
"HideTracks": "Απόκρυψη κομματιών",
- "ImportFailed": "Η εισαγωγή απέτυχε",
+ "ImportCompleteFailed": "Η εισαγωγή απέτυχε",
"ImportFailures": "Αστοχίες εισαγωγής",
"ImportLists": "Λίστες εισαγωγής",
"ImportListSpecificSettings": "Εισαγωγή ειδικών ρυθμίσεων λίστας",
@@ -821,7 +820,6 @@
"DefaultMetadataProfileIdHelpText": "Προεπιλεγμένο προφίλ μεταδεδομένων για καλλιτέχνες που εντοπίστηκαν σε αυτόν τον φάκελο",
"DefaultQualityProfileIdHelpText": "Προεπιλεγμένο προφίλ ποιότητας για καλλιτέχνες που εντοπίστηκαν σε αυτόν τον φάκελο",
"DefaultTagsHelpText": "Προεπιλεγμένες ετικέτες {appName} για καλλιτέχνες που εντοπίστηκαν σε αυτόν τον φάκελο",
- "DeleteRootFolder": "Διαγραφή ριζικού φακέλου",
"EndedAllTracksDownloaded": "Τελειώθηκε (Λήφθηκαν όλα τα κομμάτια)",
"Library": "Βιβλιοθήκη",
"MonitoringOptionsHelpText": "Ποια άλμπουμ πρέπει να παρακολουθούνται μετά την προσθήκη του καλλιτέχνη (εφάπαξ προσαρμογή)",
@@ -1121,5 +1119,13 @@
"Min": "Ελάχ",
"Today": "Σήμερα",
"MappedNetworkDrivesWindowsService": "Οι αντιστοιχισμένες μονάδες δίσκου δικτύου δεν είναι διαθέσιμες κατά την εκτέλεση ως υπηρεσία Windows. Ανατρέξτε στις Συχνές Ερωτήσεις για περισσότερες πληροφορίες",
- "DownloadClientSettingsRecentPriority": "Προτεραιότητα πελάτη"
+ "DownloadClientSettingsRecentPriority": "Προτεραιότητα πελάτη",
+ "Pending": "εκκρεμής",
+ "WaitingToImport": "Αναμονή για εισαγωγή",
+ "WaitingToProcess": "Αναμονή για επεξεργασία",
+ "CheckDownloadClientForDetails": "ελέγξτε το πρόγραμμα-πελάτη λήψης για περισσότερες λεπτομέρειες",
+ "Downloaded": "Κατεβασμένα",
+ "Paused": "Σε παύση",
+ "CurrentlyInstalled": "Εγκατεστημένο αυτήν τη στιγμή",
+ "RemoveRootFolder": "Κατάργηση ριζικού φακέλου"
}
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index 2c67fc1ed..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",
@@ -197,6 +197,7 @@
"ChangeCategoryMultipleHint": "Changes downloads to the 'Post-Import Category' from Download Client",
"ChangeFileDate": "Change File Date",
"ChangeHasNotBeenSavedYet": "Change has not been saved yet",
+ "CheckDownloadClientForDetails": "check download client for more details",
"ChmodFolder": "chmod Folder",
"ChmodFolderHelpText": "Octal, applied during import/rename to media folders and files (without execute bits)",
"ChmodFolderHelpTextWarning": "This only works if the user running {appName} is the owner of the file. It's better to ensure the download client sets the permissions properly.",
@@ -255,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",
@@ -333,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)",
@@ -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+)",
@@ -406,7 +407,9 @@
"DownloadPropersAndRepacksHelpTextWarning": "Use custom formats for automatic upgrades to Propers/Repacks",
"DownloadPropersAndRepacksHelpTexts1": "Whether or not to automatically upgrade to Propers/Repacks",
"DownloadPropersAndRepacksHelpTexts2": "Use 'Do not Prefer' to sort by preferred word score over propers/repacks",
+ "DownloadWarning": "Download warning: {warningMessage}",
"DownloadWarningCheckDownloadClientForMoreDetails": "Download warning: check download client for more details",
+ "Downloaded": "Downloaded",
"DownloadedImporting": "'Downloaded - Importing'",
"DownloadedUnableToImportCheckLogsForDetails": "'Downloaded - Unable to Import: check logs for details'",
"DownloadedWaitingToImport": "'Downloaded - Waiting to Import'",
@@ -483,6 +486,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",
@@ -523,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",
@@ -571,9 +576,10 @@
"IllRestartLater": "I'll restart later",
"Implementation": "Implementation",
"Import": "Import",
+ "ImportCompleteFailed": "Import Failed",
"ImportExtraFiles": "Import Extra Files",
"ImportExtraFilesHelpText": "Import matching extra files (subtitles, nfo, etc) after importing an track file",
- "ImportFailed": "Import Failed",
+ "ImportFailed": "Import Failed: {sourceTitle}",
"ImportFailedInterp": "Import failed: {0}",
"ImportFailures": "Import failures",
"ImportList": "Import List",
@@ -684,6 +690,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",
@@ -762,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",
@@ -891,7 +900,10 @@
"Path": "Path",
"PathHelpText": "Root Folder containing your music library",
"PathHelpTextWarning": "This must be different to the directory where your download client puts files",
+ "Paused": "Paused",
"Peers": "Peers",
+ "Pending": "Pending",
+ "PendingDownloadClientUnavailable": "Pending - Download client is unavailable",
"Period": "Period",
"Permissions": "Permissions",
"Playlist": "Playlist",
@@ -1017,6 +1029,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?",
@@ -1211,6 +1225,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",
@@ -1268,6 +1283,7 @@
"UnableToAddANewQualityProfilePleaseTryAgain": "Unable to add a new quality profile, please try again.",
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Unable to add a new remote path mapping, please try again.",
"UnableToAddANewRootFolderPleaseTryAgain": "Unable to add a new root folder, please try again.",
+ "UnableToImportAutomatically": "Unable to Import Automatically",
"UnableToLoadBackups": "Unable to load backups",
"UnableToLoadBlocklist": "Unable to load blocklist",
"UnableToLoadCustomFormats": "Unable to load custom formats",
@@ -1335,6 +1351,8 @@
"UsingExternalUpdateMechanismBranchToUseToUpdateLidarr": "Branch to use to update {appName}",
"UsingExternalUpdateMechanismBranchUsedByExternalUpdateMechanism": "Branch used by external update mechanism",
"Version": "Version",
+ "WaitingToImport": "Waiting to Import",
+ "WaitingToProcess": "Waiting to Process",
"Wanted": "Wanted",
"Warn": "Warn",
"WatchLibraryForChangesHelpText": "Rescan automatically when files change in a root folder",
diff --git a/src/NzbDrone.Core/Localization/Core/es.json b/src/NzbDrone.Core/Localization/Core/es.json
index 9db5c4a91..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",
@@ -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.",
@@ -905,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",
@@ -1126,7 +1124,7 @@
"DefaultLidarrTags": "Etiquetas predeterminadas de {appName}",
"ExpandItemsByDefault": "Expandir elementos predeterminados",
"DownloadedWaitingToImport": "'Descargados - Esperando para importar'",
- "ImportFailed": "La importación falló",
+ "ImportCompleteFailed": "La importación falló",
"IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnArtistOrImportList": "No se puede eliminar un perfil de metadatos que está enlazado a un artista o a una lista de importación",
"IsExpandedShowTracks": "Mostrar pistas",
"IsInUseCantDeleteAQualityProfileThatIsAttachedToAnArtistOrImportList": "No se puede eliminar un perfil de calidad que está enlazado a un artista o a una lista de importación",
@@ -1153,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.",
@@ -1349,5 +1347,25 @@
"DownloadClientSettingsOlderPriorityAlbumHelpText": "Prioridad a usar cuando se capturen álbumes lanzados hace más de 14 días",
"NotificationsSettingsWebhookHeaders": "Cabeceras",
"NoMediumInformation": "Ninguna información del medio disponible.",
- "TracksLoadError": "No se pudo cargar las pistas"
+ "TracksLoadError": "No se pudo cargar las pistas",
+ "CheckDownloadClientForDetails": "Revisar el cliente de descarga para más detalles",
+ "DownloadWarning": "Alerta de descarga: {warningMessage}",
+ "Downloaded": "Descargado",
+ "ImportFailed": "La importación falló: {sourceTitle}",
+ "Paused": "Pausado",
+ "Pending": "Pendiente",
+ "PendingDownloadClientUnavailable": "Pendiente - El cliente de descarga no está disponible",
+ "UnableToImportAutomatically": "No se pudo importar automáticamente",
+ "WaitingToImport": "Esperar para importar",
+ "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}.",
+ "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 88537f93e..fd25689ae 100644
--- a/src/NzbDrone.Core/Localization/Core/fi.json
+++ b/src/NzbDrone.Core/Localization/Core/fi.json
@@ -16,12 +16,12 @@
"SupportsRssvalueRSSIsNotSupportedWithThisIndexer": "Tämän hakupalvelun kanssa ei voida käyttää RSS-syötettä.",
"Logging": "Lokikirjaus",
"ProxyBypassFilterHelpText": "Erota aliverkkotunnukset pilkuilla ja käytä jokerimerkkinä tähteä ja pistettä (*.). Esimerkki: www.esimerkki.fi,*.esimerkki.fi).",
- "UnableToAddANewIndexerPleaseTryAgain": "Uuden tietolähteen lisäys epäonnistui. Yritä uudelleen.",
+ "UnableToAddANewIndexerPleaseTryAgain": "Virhe lisättäessä hakupalvelua. Yritä uudelleen.",
"ForMoreInformationOnTheIndividualIndexersClickOnTheInfoButtons": "Saat lisätietoja yksittäisistä palveluista niiden ohessa olevilla painikkeilla.",
"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",
@@ -86,7 +86,7 @@
"Columns": "Sarakkeet",
"Calendar": "Kalenteri",
"CompletedDownloadHandling": "Valmistuneiden latausten käsittely",
- "CloneIndexer": "Monista tietolähde",
+ "CloneIndexer": "Monista palvelu",
"CancelPendingTask": "Haluatko varmasti perua odottavan tehtävän?",
"CertificateValidation": "Varmenteen vahvistus",
"CertificateValidationHelpText": "Määritä HTTPS-varmennevahvistuksen tiukkuus. Älä muta, jos et ymmärrä riskejä.",
@@ -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,27 +187,27 @@
"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.",
"Tags": "Tunnisteet",
- "TestAll": "Kaikkien testaus",
+ "TestAll": "Koesta kaikki",
"TestAllClients": "Koesta latauspalvelut",
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Tämä koskee kaikkia hakupalveluita. Noudata niiden asettamia sääntöjä.",
"TagAudioFilesWithMetadata": "Tallenna metatiedot äänitiedostoihin",
- "TestAllIndexers": "Tietolähteiden testaus",
+ "TestAllIndexers": "Koesta palvelut",
"UnableToLoadBackups": "Varmuuskopioinnin lataus epäonnistui",
"UnableToLoadDownloadClients": "Latauspalveluiden lataus epäonnistui",
"UnableToLoadGeneralSettings": "Yleisasetusten lataus epäonnistui",
- "UnableToLoadIndexers": "Tietolähteiden lataus epäonnistui",
- "UnableToLoadIndexerOptions": "Tietolähdeasetusten lataus epäonnistui",
+ "UnableToLoadIndexers": "Virhe ladattaessa hakupalveluita.",
+ "UnableToLoadIndexerOptions": "Virhe ladattaessa hakupalveluasetuksia.",
"UnableToLoadImportListExclusions": "Tuontilistapoikkeusten lataus epäonnistui",
- "UnableToLoadHistory": "Historian lataus epäonnistui",
+ "UnableToLoadHistory": "Virhe ladattaessa historiaa.",
"UnableToLoadTags": "Tunnisteiden lataus epäonnistui",
"UnableToLoadQualityDefinitions": "Laatumääritysten lataus epäonnistui",
"UpdateScriptPathHelpText": "Polku komentosarjaan, joka käsittelee puretun päivitystiedoston ja hoitaa asennuksen loppuosuuden.",
@@ -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",
@@ -333,15 +332,15 @@
"Absolute": "Ehdoton",
"AddMissing": "Lisää puuttuvat",
"AddNewItem": "Lisää uusi kohde",
- "AllExpandedCollapseAll": "Supista kaikki",
- "AllowArtistChangeClickToChangeArtist": "Paina vaihtaaksesi kirjailijaa",
+ "AllExpandedCollapseAll": "Tiivistä kaikki",
+ "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",
@@ -351,7 +350,7 @@
"RestoreBackup": "Palauta varmuuskopio",
"RetentionHelpText": "Vain Usenet: määritä rajoittamaton säilytys asettamalla arvoksi 0.",
"RetryingDownloadOn": "Yritetään latausta uudelleen {date} klo {time}",
- "TestAllLists": "Kaikkien listojen testaus",
+ "TestAllLists": "Koesta listat",
"Time": "Aika",
"TotalFileSize": "Kokonaistiedostokoko",
"Track": "Valvo",
@@ -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",
@@ -482,15 +481,15 @@
"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",
"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,14 +512,14 @@
"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",
"AddImportListExclusion": "Lisää tuontilistapoikkeus",
- "AddIndexer": "Lisää tietolähde",
+ "AddIndexer": "Lisää hakupalvelu",
"AddMetadataProfile": "Lisää metatietoprofiili",
"AddNew": "Lisää uusi",
"AddQualityProfile": "Lisää laatuprofiili",
@@ -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.",
+ "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 esittäjä",
+ "DeleteArtist": "Poista valittu artisti",
"Discography": "Diskografia",
"DownloadImported": "Lataus tuotiin",
"EditReleaseProfile": "Muokkaa julkaisuprofiilia",
@@ -772,8 +770,8 @@
"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",
- "ImportFailed": "Tuonti epäonnistui",
+ "HasMonitoredAlbumsNoMonitoredAlbumsForThisArtist": "Artistilta ei valvota albumeita",
+ "ImportCompleteFailed": "Tuonti epäonnistui",
"ImportFailures": "Tuontivirheet",
"ImportLists": "Tuontilistat",
"ImportListSettings": "Tuontilistojen yleisasetukset",
@@ -781,10 +779,10 @@
"HideTracks": "Piilota kappaleet",
"LatestAlbum": "Uusin albumi",
"LatestAlbumData": "Valvo uusimpia ja tulevia albumeita",
- "ManageTracks": "Kappaleiden hallinta",
+ "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",
@@ -795,16 +793,16 @@
"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 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.",
@@ -825,7 +823,7 @@
"AddAutoTagError": "Virhe lisättäessä automaattimerkintää. Yritä uudelleen.",
"AddCondition": "Lisää ehto",
"AddConditionError": "Virhe lisättäessä ehtoa. Yritä uudelleen.",
- "AddIndexerImplementation": "Lisätään tietolähdettä – {implementationName}",
+ "AddIndexerImplementation": "Lisätään hakupalvelua – {implementationName}",
"AddDownloadClientImplementation": "Lisätään latauspalvelua – {implementationName}",
"AddImportList": "Lisää tuontilista",
"AddAutoTag": "Lisää automaattinen tunniste",
@@ -873,7 +871,7 @@
"ProxyCheckBadRequestMessage": "Välityspalvelintesti epäonnistui. Tilakoodi: {0}.",
"QueueIsEmpty": "Jono on tyhjä",
"RecentChanges": "Uusimmat muutokset",
- "ApplyTagsHelpTextHowToApplyIndexers": "Tunnisteiden käyttö valituille tietolähteille",
+ "ApplyTagsHelpTextHowToApplyIndexers": "Tunnisteiden käyttö valituille hakupalveluille:",
"RemotePathMappingCheckBadDockerPath": "Käytät Dockeria ja latauspalvelu {0} tallentaa lataukset kohteeseen \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etäsijaintien kohdistukset ja latauspalvelun asetukset.",
"DeleteSelectedIndexers": "Poista hakupalvelu(t)",
"RemotePathMappingCheckFilesWrongOSPath": "Etälatauspalvelu {0} ilmoitti tiedostosijainniksi \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista määritetyt etäsijainnit ja latauspalvelun asetukset.",
@@ -899,14 +897,14 @@
"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ä).",
"Conditions": "Ehdot",
"CountIndexersSelected": "{selectedCount} hakupalvelu(a) on valittu",
"DeleteSelectedDownloadClientsMessageText": "Haluatko varmasti poistaa {count} valittua latauspalvelua?",
- "DeleteSelectedIndexersMessageText": "Haluatko varmasti poistaa {count} valit(un/tua) tietoläh(teen/dettä)?",
+ "DeleteSelectedIndexersMessageText": "Haluatko varmasti poistaa {count} valit(un/tua) hakupalvelu(n/a)?",
"EditSelectedIndexers": "Muokkaa valittuja sisältölähteitä",
"Negated": "Kielletty",
"NegateHelpText": "Jos käytössä, ei mukautettua muotoa sovelleta tämän \"{0}\" -ehdon täsmätessä.",
@@ -958,12 +956,12 @@
"EditConditionImplementation": "Muokataan ehtoa – {implementationName}",
"EditConnectionImplementation": "Muokataan ilmoituspalvelua – {implementationName}",
"EditAutoTag": "Muokkaa automaattimerkintää",
- "ManageIndexers": "Hallitse tietolähteitä",
+ "ManageIndexers": "Hallitse palveluita",
"RenameFiles": "Nimeä tiedostot uudelleen",
"Small": "Pieni",
"RemoveSelectedItems": "Poista valitut kohteet",
"ResetTitles": "Palauta nimet",
- "AddNewArtistRootFolderHelpText": "\"{folder}\" -alikansio luodaan automaattisesti.",
+ "AddNewArtistRootFolderHelpText": "Alikansio \"{folder}\" luodaan automaattisesti.",
"AuthenticationRequiredUsernameHelpTextWarning": "Syötä uusi käyttäjätunnus",
"AutoAdd": "Automaattilisäys",
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Latauspalvelu {0} on määritetty poistamaan valmistuneet lataukset, jonka seuraksena ne saatetaan poistaa ennen kuin {1} ehtii tuoda niitä.",
@@ -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 samaan 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,15 +1098,15 @@
"RemoveSelectedItemBlocklistMessageText": "Haluatko varmasti poistaa valitut kohteet estolistalta?",
"ResetDefinitions": "Palauta määritykset",
"NotificationsSettingsUseSslHelpText": "Muodosta yhteys palveluun {serviceName} SSL-protokollan välityksellä.",
- "ClickToChangeIndexerFlags": "Muuta tietolähteen lippuja painamalla tästä",
+ "ClickToChangeIndexerFlags": "Muuta hakupalvelun lippuja klikkaamalla",
"CustomFormatsSpecificationFlag": "Lippu",
- "SelectIndexerFlags": "Valitse tietolähteen liput",
- "SetIndexerFlags": "Aseta tietolähteen liput",
+ "SelectIndexerFlags": "Valitse hakupalvelun liput",
+ "SetIndexerFlags": "Aseta hakupalvelun liput",
"CustomFilter": "Mukautettu suodatin",
"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.",
@@ -1265,7 +1263,7 @@
"AddDelayProfileError": "Virhe lisättäessä viiveporofiilia. Yritä uudelleen.",
"ImportListTagsHelpText": "Tunnisteet, joilla tältä tuontilistalta lisätyt kohteet merkitään.",
"Min": "Pienin",
- "Preferred": "Suosittu",
+ "Preferred": "Tavoite",
"Max": "Suurin",
"Today": "Tänään",
"MappedNetworkDrivesWindowsService": "Yhdistetyt verkkoasemat eivät ole käytettävissä kun sovellus suoritetaan Windows-palveluna. Saat lisätietoja UKK:sta ({url}).",
@@ -1289,7 +1287,7 @@
"InstallMajorVersionUpdateMessageLink": "Saat lisätietoja osoitteesta [{domain}]({url}).",
"LogSizeLimit": "Lokin kokorajoitus",
"LogSizeLimitHelpText": "Lokitiedoston enimmäiskoko ennen pakkausta. Oletusarvo on 1 Mt.",
- "ManageCustomFormats": "Hallitse mukautettuja muotoja",
+ "ManageCustomFormats": "Hallitse muotoja",
"ManageFormats": "Hallitse muotoja",
"NoCustomFormatsFound": "Mukautettuja muotoja ei löytynyt",
"NotificationsTelegramSettingsIncludeAppNameHelpText": "Ilmoitukset voidaan tarvittaessa erottaa muista sovelluksista lisäämällä niiden eteen \"{appName}\".",
@@ -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,12 +1338,34 @@
"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ä.",
- "NotificationsSettingsWebhookHeaders": "Otsakkeet"
+ "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.",
+ "DownloadWarning": "Latausvaroitus: {warningMessage}",
+ "UnableToImportAutomatically": "Virhe automaattituonnissa.",
+ "WaitingToImport": "Odottaa tuontia",
+ "WaitingToProcess": "Odottaa käsittelyä",
+ "CheckDownloadClientForDetails": "katso lisätietoja latauspalvelusta",
+ "Downloaded": "Ladattu",
+ "Paused": "Keskeytetty",
+ "Pending": "Odottaa",
+ "PendingDownloadClientUnavailable": "Odottaa – Latauspalvelu ei ole käytettävissä",
+ "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.",
+ "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 a3b29285c..e532d4b8c 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",
@@ -450,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",
@@ -489,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",
@@ -497,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é",
@@ -690,7 +689,7 @@
"ResetDefinitions": "Réinitialiser les définitions",
"ResetTitles": "Réinitialiser les titres",
"HiddenClickToShow": "Masqué, cliquez pour afficher",
- "RemotePathMappingCheckDownloadPermissions": "{appName} peut voir mais ne peut accéder au film téléchargé {0}. Il s'agit probablement d'une erreur de permissions.",
+ "RemotePathMappingCheckDownloadPermissions": "{appName} peut voir mais ne peut accéder au musique téléchargé {0}. Il s'agit probablement d'une erreur de permissions.",
"RemotePathMappingCheckDockerFolderMissing": "Vous utilisez docker ; {0} enregistre les téléchargements dans {1} mais ce dossier n'est pas présent dans ce conteneur. Vérifiez vos paramètres de dossier distant et les paramètres de votre conteneur docker.",
"ShownClickToHide": "Affiché, cliquez pour masquer",
"ApiKeyValidationHealthCheckMessage": "Veuillez mettre à jour votre clé API pour qu'elle contienne au moins {0} caractères. Vous pouvez le faire via les paramètres ou le fichier de configuration",
@@ -712,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",
@@ -729,7 +728,7 @@
"RemotePathMappingCheckFilesWrongOSPath": "Le client de téléchargement distant {0} met les téléchargements dans {1} mais il ne s'agit pas d'un chemin {2} valide. Vérifiez les paramètres de votre client de téléchargement.",
"RemotePathMappingCheckFolderPermissions": "{appName} peut voir mais pas accéder au répertoire de téléchargement {0}. Erreur d'autorisations probable.",
"RemotePathMappingCheckGenericPermissions": "Le client de téléchargement {0} met les téléchargements dans {1} mais {appName} ne peut voir ce répertoire. Il est possible que vous ayez besoin d'ajuster les permissions de ce dossier.",
- "RemotePathMappingCheckImportFailed": "{appName} a échoué en important un Film. Vérifier vos logs pour plus de détails.",
+ "RemotePathMappingCheckImportFailed": "{appName} a échoué en important une musique. Vérifier vos logs pour plus de détails.",
"RemotePathMappingCheckLocalFolderMissing": "Le client de téléchargement distant {0} met les téléchargements dans {1} mais ce chemin ne semble pas exister. Vérifiez vos paramètres de chemins distants.",
"RemotePathMappingCheckLocalWrongOSPath": "Le client de téléchargement {0} met les téléchargements dans {1} mais il ne s'agit pas d'un chemin {2} valide. Vérifiez les paramètres de votre client de téléchargement.",
"RemotePathMappingCheckRemoteDownloadClient": "Le client de téléchargement distant {0} met les téléchargements dans {1} mais ce chemin ne semble pas exister. Vérifiez vos paramètres de chemins distants.",
@@ -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}",
@@ -897,7 +895,7 @@
"DeleteMetadataProfile": "Supprimer le profil de métadonnées",
"HasMonitoredAlbumsNoMonitoredAlbumsForThisArtist": "Aucun album surveillé pour cet artiste",
"ImportFailures": "Échecs d’importation",
- "ImportFailed": "Échec de l'importation",
+ "ImportCompleteFailed": "Échec de l'importation",
"IndexerIdHelpTextWarning": "L'utilisation d'un indexeur spécifique avec les mots préférés peut conduire à la saisie de versions en double",
"LastAlbum": "Dernier album",
"ListRefreshInterval": "Intervalle d'actualisation de la liste",
@@ -1179,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é",
@@ -1340,5 +1338,34 @@
"DownloadClientSettingsRecentPriority": "Priorité récente",
"PostImportCategory": "Catégorie après l'importation",
"ManageFormats": "Gérer les formats",
- "NotificationsSettingsWebhookHeaders": "En-têtes"
+ "NotificationsSettingsWebhookHeaders": "En-têtes",
+ "ImportFailed": "Échec de l'importation : {sourceTitle}",
+ "CheckDownloadClientForDetails": "Pour plus de détails, consultez le client de téléchargement",
+ "DownloadWarning": "Avertissement de téléchargement : {warningMessage}",
+ "Downloaded": "Téléchargé",
+ "Paused": "En pause",
+ "Pending": "En attente",
+ "PendingDownloadClientUnavailable": "En attente – Le client de téléchargement n'est pas disponible",
+ "UnableToImportAutomatically": "Impossible d'importer automatiquement",
+ "WaitingToImport": "En attente d'import",
+ "WaitingToProcess": "En attente de traitement",
+ "DefaultDelayProfileArtist": "Il s'agit du profil par défaut. Il s'applique à tous les artistes qui n'ont pas de profil explicite.",
+ "DelayProfileArtistTagsHelpText": "S'applique aux artistes avec au moins une balise correspondante",
+ "ICalTagsArtistHelpText": "Le flux ne contiendra que des artistes ayant au moins un tag correspondant",
+ "NoMediumInformation": "Aucune information sur le support n'est disponible.",
+ "DownloadClientSettingsOlderPriorityAlbumHelpText": "Priorité à utiliser lors de la récupération des albums sortis il y a plus de 14 jours",
+ "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",
+ "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 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"
}
diff --git a/src/NzbDrone.Core/Localization/Core/he.json b/src/NzbDrone.Core/Localization/Core/he.json
index 04a74c103..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}'?",
@@ -797,5 +796,13 @@
"Min": "דקה",
"Preferred": "מועדף",
"MappedNetworkDrivesWindowsService": "כונני רשת ממופים אינם זמינים כאשר הם פועלים כשירות Windows. אנא עיין בשאלות הנפוצות למידע נוסף",
- "DownloadClientSettingsRecentPriority": "עדיפות לקוח"
+ "DownloadClientSettingsRecentPriority": "עדיפות לקוח",
+ "Paused": "מושהית",
+ "CheckDownloadClientForDetails": "בדוק את לקוח ההורדות לפרטים נוספים",
+ "Downloaded": "הורד",
+ "Pending": "ממתין ל",
+ "WaitingToImport": "ממתין לייבוא",
+ "WaitingToProcess": "מחכה לעיבוד",
+ "CurrentlyInstalled": "מותקן כעת",
+ "RemoveRootFolder": "הסר את תיקיית השורש"
}
diff --git a/src/NzbDrone.Core/Localization/Core/hi.json b/src/NzbDrone.Core/Localization/Core/hi.json
index 67f74f90f..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": "टैग हटाएं",
@@ -753,5 +752,13 @@
"Preferred": "पसंदीदा",
"Today": "आज",
"MappedNetworkDrivesWindowsService": "विंडोज सर्विस के रूप में चलने पर मैप्ड नेटवर्क ड्राइव उपलब्ध नहीं हैं। अधिक जानकारी के लिए कृपया FAQ देखें",
- "DownloadClientSettingsRecentPriority": "ग्राहक प्राथमिकता"
+ "DownloadClientSettingsRecentPriority": "ग्राहक प्राथमिकता",
+ "Downloaded": "डाउनलोड",
+ "CheckDownloadClientForDetails": "अधिक विवरण के लिए डाउनलोड क्लाइंट की जाँच करें",
+ "Paused": "रोके गए",
+ "Pending": "विचाराधीन",
+ "WaitingToImport": "आयात की प्रतीक्षा में",
+ "WaitingToProcess": "प्रक्रिया की प्रतीक्षा की जा रही है",
+ "CurrentlyInstalled": "वर्तमान में स्थापित है",
+ "RemoveRootFolder": "रूट फ़ोल्डर निकालें"
}
diff --git a/src/NzbDrone.Core/Localization/Core/hr.json b/src/NzbDrone.Core/Localization/Core/hr.json
index d2dd93826..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",
@@ -307,5 +306,6 @@
"DeleteSelectedTrackFilesMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"AddDelayProfileError": "Neuspješno dodavanje profila odgode, molimo pokušaj ponovno.",
"Today": "Danas",
- "DownloadClientSettingsRecentPriority": "Prioritet Klijenata"
+ "DownloadClientSettingsRecentPriority": "Prioritet Klijenata",
+ "CheckDownloadClientForDetails": "provjerite klienta za preuzimanje za još detalja"
}
diff --git a/src/NzbDrone.Core/Localization/Core/hu.json b/src/NzbDrone.Core/Localization/Core/hu.json
index b7c150824..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",
@@ -790,7 +788,7 @@
"ForNewImportsOnly": "Csak új importokra",
"EndedOnly": "Csak a véget értek",
"ContinuingOnly": "Csak folytatás",
- "ImportFailed": "Az importálás sikertelen",
+ "ImportCompleteFailed": "Az importálás sikertelen",
"MediaCount": "Médiaszám",
"MissingTracks": "Hiányzó számok",
"MonitorNewItems": "Új albumok monitorozása",
@@ -1229,5 +1227,18 @@
"Today": "Ma",
"DownloadClientSettingsOlderPriority": "Régebbi prioritás",
"DownloadClientSettingsRecentPriority": "Legutóbbi prioritás",
- "PostImportCategory": "Import utáni kategória"
+ "PostImportCategory": "Import utáni kategória",
+ "CheckDownloadClientForDetails": "További részletekért ellenőrizze a letöltési klienst",
+ "DownloadWarning": "Letöltési figyelmeztetés: {warningMessage}",
+ "Downloaded": "Letöltve",
+ "Paused": "Szüneteltetve",
+ "Pending": "Függőben levő",
+ "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",
+ "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..0782b4149 100644
--- a/src/NzbDrone.Core/Localization/Core/id.json
+++ b/src/NzbDrone.Core/Localization/Core/id.json
@@ -133,5 +133,13 @@
"Clone": "Tutup",
"EnableSSL": "Aktifkan RSS",
"AddDelayProfile": "Tambah Delay Profile",
- "Today": "Hari Ini"
+ "Today": "Hari Ini",
+ "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/is.json b/src/NzbDrone.Core/Localization/Core/is.json
index 09291ef88..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",
@@ -754,5 +753,13 @@
"Preferred": "Æskilegt",
"Today": "Í dag",
"MappedNetworkDrivesWindowsService": "Kortlagðar netdrif eru ekki fáanlegar þegar þær eru keyrðar sem Windows þjónusta. Vinsamlegast skoðaðu algengar spurningar fyrir frekari upplýsingar",
- "DownloadClientSettingsRecentPriority": "Forgangur viðskiptavinar"
+ "DownloadClientSettingsRecentPriority": "Forgangur viðskiptavinar",
+ "CheckDownloadClientForDetails": "athugaðu niðurhals viðskiptavinur til að fá frekari upplýsingar",
+ "Downloaded": "Sótt",
+ "Pending": "Í bið",
+ "Paused": "Hlé gert",
+ "WaitingToImport": "Bið eftir að flytja inn",
+ "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 97eae932a..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",
@@ -1047,5 +1045,33 @@
"Min": "Min",
"Today": "Oggi",
"MappedNetworkDrivesWindowsService": "Le unità di rete mappate non sono disponibili eseguendo come servizio di Windows. Vedere le FAQ per maggiori informazioni",
- "DownloadClientSettingsRecentPriority": "Priorità Client"
+ "DownloadClientSettingsRecentPriority": "Priorità Client",
+ "AutoTaggingRequiredHelpText": "Questa condizione {implementationName} deve corrispondere perché si applichi la regola di auto tagging. Altrimenti è sufficiente una singola corrispondenza {implementationName}.",
+ "CheckDownloadClientForDetails": "controlla il client di download per maggiori dettagli",
+ "PendingDownloadClientUnavailable": "In Attesa - Client di Download in attesa",
+ "WaitingToImport": "In attesa di importazione",
+ "WaitingToProcess": "In attesa di processo",
+ "AutoRedownloadFailedFromInteractiveSearchHelpText": "Cerca automaticamente e tenta di scaricare una versione diversa quando il rilascio non riuscito è stato acquisito dalla ricerca interattiva",
+ "AutoRedownloadFailedFromInteractiveSearch": "Riesecuzione del download non riuscita dalla ricerca interattiva",
+ "AutoTaggingLoadError": "Impossibile caricare auto tagging",
+ "DownloadWarning": "Avviso di download: {warningMessage}",
+ "Downloaded": "Scaricato",
+ "ImportFailed": "Importazione fallita: {sourceTitle}",
+ "Paused": "In Pausa",
+ "Pending": "In Attesa",
+ "UnableToImportAutomatically": "Impossibile Importare Automaticamente",
+ "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 fe2555e2f..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": "タグを削除",
@@ -754,5 +753,13 @@
"Preferred": "優先",
"Today": "今日",
"MappedNetworkDrivesWindowsService": "マップされたネットワークドライブは、Windowsサービスとして実行している場合は使用できません。詳細については、FAQを参照してください",
- "DownloadClientSettingsRecentPriority": "クライアントの優先順位"
+ "DownloadClientSettingsRecentPriority": "クライアントの優先順位",
+ "Downloaded": "ダウンロード済み",
+ "Paused": "一時停止",
+ "Pending": "保留中",
+ "WaitingToProcess": "処理を待っています",
+ "CheckDownloadClientForDetails": "詳細については、ダウンロードクライアントを確認してください",
+ "WaitingToImport": "インポートを待機中",
+ "CurrentlyInstalled": "現在インストール中",
+ "RemoveRootFolder": "ルートフォルダを削除します"
}
diff --git a/src/NzbDrone.Core/Localization/Core/ko.json b/src/NzbDrone.Core/Localization/Core/ko.json
index 1ce9c02f0..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": "다운로드 디렉토리",
@@ -899,5 +897,77 @@
"ChangeCategory": "카테고리 변경",
"ClearBlocklist": "차단 목록 지우기",
"DashOrSpaceDashDependingOnName": "이름에 따라 대시 또는 띄어쓰고 대시",
- "Donate": "기부하기"
+ "Donate": "기부하기",
+ "IndexerDownloadClientHelpText": "이 인덱서에서 가져온 것을 가져오는 데 사용되는 다운로드 클라이언트를 지정하세요",
+ "NoDownloadClientsFound": "다운로드 클라이언트를 찾을 수 없음",
+ "QueueFilterHasNoItems": "선택된 대기열 필터에 항목이 없습니다",
+ "Total": "합계",
+ "IndexerSettingsSeedTimeHelpText": "토렌드가 중지되기 전에 시드되어야 하는 시간, 비어 있을 경우 다운로드 클라이언트의 기본값을 사용합니다",
+ "NotificationsTelegramSettingsIncludeAppNameHelpText": "다른 애플리케이션의 알림을 구분하기 위해 메시지 제목 앞에 {appName}를 접두사로 사용 (선택 사항)",
+ "Episode": "에피소드",
+ "FormatRuntimeHours": "{hours}시간",
+ "FormatRuntimeMinutes": "{minutes}분",
+ "FormatShortTimeSpanHours": "{hours}시간",
+ "FormatShortTimeSpanMinutes": "{minutes}분",
+ "HealthMessagesInfoBox": "행 끝에 있는 위키 링크(책 아이콘)를 클릭하거나 [로그]({link})를 확인하면 이러한 상태 점검 메시지의 원인에 대한 상세 정보를 찾을 수 있습니다. 이러한 메시지를 해석하는 데 어려움이 있는 경우 아래 링크에서 지원팀에 문의할 수 있습니다.",
+ "MassSearchCancelWarning": "{appName}을 재시작하거나 모든 인덱서를 비활성화하지 않고는 이 작업을 취소할 수 없음",
+ "Negated": "부정",
+ "NotificationsSettingsUpdateMapPathsFrom": "다음 위치부터 경로 매핑하기",
+ "ErrorLoadingContent": "이 콘텐트를 로드하는 중 오류가 발생했습니다",
+ "IndexerSettingsSeedRatioHelpText": "토런트가 멈추기 전에 도달해야 하는 비율, 비어 있으면 다운로드 클라이언트의 기본값을 사용합니다. 비율은 최소 1.0이어야 하며 인덱서 규칙을 따라야 합니다.",
+ "DownloadClientSettingsPostImportCategoryHelpText": "다운로드를 가져온 후 {appName}에 대한 카테고리를 설정합니다. {appName}는 시딩이 완료되었더라도 해당 카테고리의 토렌드를 제거하지 않습니다. 같은 카테고리를 유지하려면 비워두세요.",
+ "DownloadWarning": "다운로드 경고: {0}",
+ "Downloaded": "다운로드됨",
+ "ParseModalUnableToParse": "제공된 제목을 구문 분석할 수 없음 재시도하세요.",
+ "Pending": "대기중",
+ "PendingDownloadClientUnavailable": "보류 중 - 다운로드 클라이언트를 사용할 수 없음",
+ "Preferred": "선호",
+ "PreferredSize": "선호하는 크기",
+ "UnableToImportAutomatically": "자동으로 가져올 수 없습니다",
+ "WaitingToProcess": "처리 대기 중",
+ "AllExpandedCollapseAll": "모두 접기",
+ "AllExpandedExpandAll": "모두 펼치기",
+ "ParseModalErrorParsing": "구문분석 중 오류가 발생했습니다. 재시도하세요.",
+ "ParseModalHelpText": "위의 입력란에 릴리스 제목을 입력하세요",
+ "FormatDateTimeRelative": "{relativeDay}, {formattedDate} {formattedTime}",
+ "FormatShortTimeSpanSeconds": "{seconds}초",
+ "FormatTimeSpanDays": "{days}d {time}",
+ "IgnoreDownloadHint": "{appName}가 이 다운로드를 더 이상 처리하지 못하도록 합니다",
+ "IgnoreDownloadsHint": "{appName}가 이러한 다운로드를 더 이상 처리하지 않도록 중지합니다",
+ "IndexerSettingsSeedRatio": "종자 비율",
+ "PostImportCategory": "수입 후 카테고리",
+ "RegularExpressionsTutorialLink": "정규 표현식에 대한 상세 내용은 [여기]({url})에서 확인할 수 있습니다.",
+ "InstallMajorVersionUpdateMessageLink": "상세 내용은 [{domain}]({url})을 확인하세요.",
+ "NoCustomFormatsFound": "사용자 정의 형식을 찾을 수 없음",
+ "ParseModalHelpTextDetails": "{appName}은 제목을 구문 분석하고 해당 제목에 대한 세부 사항를 표시하려고 시도합니다.",
+ "SceneNumberHasntBeenVerifiedYet": "아직 장면 번호가 확인되지 않았습니다",
+ "NotificationsSettingsUpdateMapPathsFromHelpText": "{appName} 경로는 {serviceName}이 라이브러리 경로 위치를 {appName}와 다르게 볼 때 시리즈 경로를 수정하는 데 사용됨 (라이브러리 업데이트 필요)",
+ "NotificationsSettingsUpdateMapPathsToHelpText": "{serviceName} 경로는 {serviceName}이 라이브러리 경로 위치를 {appName}와 다르게 볼 때 시리즈 경로를 수정하는 데 사용됨 (라이브러리 업데이트 필요)",
+ "NotificationsSettingsUpdateMapPathsTo": "다음 위치까지 경로 매핑하기",
+ "Other": "기타",
+ "Absolute": "절대",
+ "EnabledHelpText": "출시 프로필을 활성화하려면 체크하세요",
+ "EpisodeDoesNotHaveAnAbsoluteEpisodeNumber": "에피소드에는 절대 에피소드 번호가 없음",
+ "MonitoredStatus": "모니터링 설정/상태",
+ "Monitoring": "모니터링 중",
+ "ExpandOtherByDefaultHelpText": "기타",
+ "Posters": "포스터",
+ "PreferProtocol": "{preferredProtocol} 선호",
+ "WithFiles": "파일과 함께",
+ "CheckDownloadClientForDetails": "상세 내용은 다운로드 클라이언트를 확인하세요",
+ "DownloadClientQbittorrentSettingsContentLayoutHelpText": "qBittorrent의 구성된 콘텐츠 레이아웃을 사용할지, 토런트의 원래 레이아웃을 사용할지, 항상 하위 폴더를 생성할지(qBittorrent 4.3.2+)",
+ "EnableRssHelpText": "{appName}가 RSS 동기화를 통해 주기적으로 릴리스를 찾을 때 사용됩니다",
+ "FormatDateTime": "{formattedDate} {formattedTime}",
+ "IncludeCustomFormatWhenRenaming": "이름을 바꿀 때 사용자 정의 형식 포함",
+ "InvalidUILanguage": "UI가 잘못된 언어로 설정되어 있습니다, 수정하고 설정을 저장하세요",
+ "IsShowingMonitoredMonitorSelected": "선택된 모니터",
+ "NoEventsFound": "이벤트가 없음",
+ "Paused": "일시중지",
+ "RootFolderPathHelpText": "루트 폴더 목록 항목이 다음에 추가됩니다:",
+ "WaitingToImport": "가져오기 대기 중",
+ "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 eb62c4211..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",
@@ -285,5 +284,8 @@
"AddImportListImplementation": "Legg til importliste - {implementationName}",
"IgnoredPlaceHolder": "Legg til ny begrensning",
"AddImportList": "Ny Importliste",
- "AddNewArtistRootFolderHelpText": "Undermappa \"{folder}\" vil bli automatisk laget"
+ "AddNewArtistRootFolderHelpText": "Undermappa \"{folder}\" vil bli automatisk laget",
+ "CheckDownloadClientForDetails": "sjekk nedlastningsklienten for mer informasjon",
+ "TBA": "Venter",
+ "History": "Historikk"
}
diff --git a/src/NzbDrone.Core/Localization/Core/nl.json b/src/NzbDrone.Core/Localization/Core/nl.json
index 77559467d..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",
@@ -595,7 +594,7 @@
"CustomFormatSettings": "Eigen Formaten Instellingen",
"CustomFormats": "Eigen Formaten",
"Customformat": "Eigen Formaat",
- "CutoffFormatScoreHelpText": "Wanneer deze eigen formaat score is behaald, zal {appName} niet langer films downloaden",
+ "CutoffFormatScoreHelpText": "Wanneer deze aangepaste formaatscore is behaald, zal {appName} niet langer albumuitgaven downloaden",
"DeleteCustomFormat": "Verwijder Eigen Formaat",
"DeleteCustomFormatMessageText": "Bent u zeker dat u de indexeerder '{0}' wilt verwijderen?",
"DeleteFormatMessageText": "Weet je zeker dat je formaat tag {0} wilt verwijderen?",
@@ -879,7 +878,7 @@
"BlocklistOnly": "Alleen bloklijst",
"ChangeCategoryHint": "Verandert download naar de 'Post-Import Categorie' van Downloadclient",
"ClearBlocklist": "Blokkeerlijst wissen",
- "Clone": "Kloon",
+ "Clone": "Dupliceren",
"CustomFormatsSpecificationRegularExpression": "Reguliere expressie",
"CustomFormatsSpecificationRegularExpressionHelpText": "Aangepaste opmaak RegEx is hoofdletterongevoelig",
"CustomFormatsSettingsTriggerInfo": "Een Aangepast Formaat wordt toegepast op een uitgave of bestand als het overeenkomt met ten minste één van de verschillende condities die zijn gekozen.",
@@ -907,5 +906,19 @@
"AddArtistWithName": "{artistName} toevoegen",
"AddNewArtist": "Voeg nieuwe artiest toe",
"AddNewAlbum": "Voeg nieuw album toe",
- "AddNewAlbumSearchForNewAlbum": "Start zoektoch voor een nieuw album"
+ "AddNewAlbumSearchForNewAlbum": "Start zoektoch voor een nieuw album",
+ "DownloadWarning": "Download waarschuwing: {warningMessage}",
+ "Downloaded": "Gedownload",
+ "Pending": "In afwachting",
+ "WaitingToProcess": "Wachten tot Verwerking",
+ "CheckDownloadClientForDetails": "controleer downloader voor meer details",
+ "ImportFailed": "Importeren mislukt: {sourceTitle}",
+ "Paused": "Gepauzeerd",
+ "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 fe56245e9..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",
@@ -853,5 +852,14 @@
"Preferred": "Preferowane",
"Today": "Dzisiaj",
"MappedNetworkDrivesWindowsService": "Zmapowane dyski sieciowe nie są dostępne, gdy działają jako usługa systemu Windows. Więcej informacji można znaleźć w FAQ",
- "DownloadClientSettingsRecentPriority": "Priorytet klienta"
+ "DownloadClientSettingsRecentPriority": "Priorytet klienta",
+ "CheckDownloadClientForDetails": "sprawdź klienta pobierania, aby uzyskać więcej informacji",
+ "Downloaded": "Pobrano",
+ "Paused": "Wstrzymano",
+ "Pending": "W oczekiwaniu",
+ "WaitingToImport": "Czekam na import",
+ "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 1e8cc00ec..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",
@@ -1024,5 +1022,30 @@
"Preferred": "Preferido",
"Today": "Hoje",
"MappedNetworkDrivesWindowsService": "As unidades de rede mapeadas não estão disponíveis quando executadas como um serviço do Windows. Veja as Perguntas mais frequentes para obter mais informações",
- "DownloadClientSettingsRecentPriority": "Prioridade do cliente"
+ "DownloadClientSettingsRecentPriority": "Prioridade do cliente",
+ "Downloaded": "Transferido",
+ "Paused": "Em pausa",
+ "WaitingToProcess": "Aguardando para processar",
+ "CheckDownloadClientForDetails": "verifique o cliente de transferências para obter mais detalhes",
+ "DownloadWarning": "Alerta de transferência: {warningMessage}",
+ "Pending": "Pendente",
+ "WaitingToImport": "Aguardando para importar",
+ "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",
+ "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 f621f6eb4..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",
@@ -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",
@@ -590,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",
@@ -789,7 +787,7 @@
"EditMetadata": "Editar metadados",
"EditReleaseProfile": "Editar perfil de lançamento",
"ForNewImportsOnly": "Para novas importações somente",
- "ImportFailed": "Falha na importação",
+ "ImportCompleteFailed": "Falha na importação",
"MissingTracks": "Faixas Ausentes",
"NewAlbums": "Novos Álbuns",
"NextAlbum": "Próximo Álbum",
@@ -1347,5 +1345,27 @@
"PostImportCategory": "Categoria Pós-Importação",
"DownloadClientSettingsOlderPriorityAlbumHelpText": "Prioridade para usar ao pegar álbuns lançados há mais de 14 dias",
"DownloadClientSettingsRecentPriorityAlbumHelpText": "Prioridade de uso ao adquirir álbuns lançados nos últimos 14 dias",
- "NotificationsSettingsWebhookHeaders": "Cabeçalhos"
+ "NotificationsSettingsWebhookHeaders": "Cabeçalhos",
+ "TracksLoadError": "Incapaz de carregar faixas",
+ "NoMediumInformation": "Nenhuma informação da mídia está disponível.",
+ "ImportFailed": "Falha na importação: {sourceTitle}",
+ "Pending": "Pendente",
+ "PendingDownloadClientUnavailable": "Pendente - O cliente de download não está disponível",
+ "WaitingToImport": "Aguardando para Importar",
+ "WaitingToProcess": "Aguardando para Processar",
+ "CheckDownloadClientForDetails": "verifique o cliente de download para saber mais",
+ "DownloadWarning": "Aviso de download: {warningMessage}",
+ "Downloaded": "Baixado",
+ "Paused": "Pausado",
+ "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}.",
+ "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/ro.json b/src/NzbDrone.Core/Localization/Core/ro.json
index 5b67e821c..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",
@@ -800,5 +799,18 @@
"Today": "Astăzi",
"MappedNetworkDrivesWindowsService": "Unitățile de rețea mapate nu sunt disponibile atunci când rulează ca serviciu Windows. Vă rugăm să consultați [FAQ]({url}) pentru mai multe informații",
"DownloadClientSettingsRecentPriority": "Prioritate recente",
- "DownloadClientSettingsOlderPriority": "Prioritate mai vechi"
+ "DownloadClientSettingsOlderPriority": "Prioritate mai vechi",
+ "Paused": "Întrerupt",
+ "Pending": "În așteptare",
+ "PendingDownloadClientUnavailable": "În așteptare - Clientul de descărcare nu este disponibil",
+ "WaitingToImport": "Se așteaptă importul",
+ "WaitingToProcess": "Se așteaptă procesarea",
+ "AddAutoTag": "Adăugați Tagare Automata",
+ "AddCondition": "Adăugați Condiție",
+ "Any": "Oricare",
+ "CheckDownloadClientForDetails": "Verificați clientul de descărcare pentru mai multe detalii",
+ "Downloaded": "Descărcat",
+ "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 6e79d1957..a34059ed4 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": "Удалить тег",
@@ -292,7 +291,7 @@
"DiskSpace": "Дисковое пространство",
"DownloadClient": "Клиент загрузки",
"DownloadClients": "Клиенты загрузки",
- "DownloadClientSettings": "Настройки клиента загрузки",
+ "DownloadClientSettings": "Настройки загрузчика",
"DownloadFailedCheckDownloadClientForMoreDetails": "Неудачное скачивание: подробности в программе для скачивания",
"DownloadFailedInterp": "Неудачное скачивание: {0}",
"Downloading": "Скачивается",
@@ -641,7 +640,7 @@
"CopyToClipboard": "Копировать в буфер обмена",
"CouldntFindAnyResultsForTerm": "Не найдено результатов для '{0}'",
"Disabled": "Выключено",
- "DownloadClientRootFolderHealthCheckMessage": "Клиент загрузки {downloadClientName} помещает загрузки в корневую папку {rootFolderPath}. Вы не должны загружать в корневую папку.",
+ "DownloadClientRootFolderHealthCheckMessage": "Загрузчик {downloadClientName} помещает файлы в корневую папку {rootFolderPath}. Вы не должны загружать в корневую папку.",
"DownloadClientCheckNoneAvailableMessage": "Ни один загрузчик не доступен",
"DownloadClientCheckUnableToCommunicateMessage": "Невозможно связаться с {0}.",
"DownloadClientStatusCheckAllClientMessage": "Все клиенты для скачивания недоступны из-за ошибок",
@@ -730,7 +729,6 @@
"NoIndexersFound": "Индексаторы не найдены",
"DeleteImportList": "Удалить список импорта",
"RemoveCompletedDownloads": "Удалить завершенные загрузки",
- "DeleteRootFolder": "Удалить корневую папку",
"IndexerDownloadClientHealthCheckMessage": "Индексаторы с недопустимыми клиентами загрузки: {0}.",
"AddDownloadClientImplementation": "Добавить клиент загрузки - {implementationName}",
"AddConditionImplementation": "Добавить условие - {implementationName}",
@@ -834,7 +832,7 @@
"Absolute": "Абсолютный",
"RecycleBinUnableToWriteHealthCheck": "Не удается выполнить запись в настроенную папку корзины: {path}. Убедитесь, что этот путь существует и доступен для записи пользователем, запускающим {appName}",
"AddListExclusionHelpText": "Запретить добавление серий в {appName} по спискам",
- "AddNewArtistRootFolderHelpText": "Подпапка \"{0}\" будет создана автоматически",
+ "AddNewArtistRootFolderHelpText": "Подпапка \"{folder}\" будет создана автоматически",
"AuthenticationRequiredHelpText": "Отредактируйте, для каких запросов требуется авторизация. Не изменяйте, если не понимаете риски.",
"DeleteArtistFolderCountConfirmation": "Вы уверены, что хотите удалить {count} выбранных индексатора?",
"RenameFiles": "Переименовать файлы",
@@ -1032,7 +1030,7 @@
"RootFolderPathHelpText": "Элементы списка корневых папок будут добавлены в",
"Any": "Любой",
"AlbumStudioTruncated": "Показаны только последние 25 сезонов. Чтобы просмотреть все сезоны, перейдите к подробной информации",
- "AllAlbumsData": "Следите за всеми эпизодами, кроме специальных",
+ "AllAlbumsData": "Следить за всеми альбомами",
"BuiltIn": "Встроенный",
"DashOrSpaceDashDependingOnName": "Тире или пробел в зависимости от имени",
"TBA": "Будет объявлено позже",
@@ -1088,5 +1086,46 @@
"DownloadClientSettingsOlderPriority": "Более старый приоритет",
"DownloadClientSettingsPostImportCategoryHelpText": "Категория для приложения {appName}, которую необходимо установить после импорта загрузки. {appName} не удалит торренты в этой категории, даже если раздача завершена. Оставьте пустым, чтобы сохранить ту же категорию.",
"DownloadClientSettingsRecentPriority": "Недавний приоритет",
- "PostImportCategory": "Категория после импорта"
+ "PostImportCategory": "Категория после импорта",
+ "Downloaded": "Скачано",
+ "LastSearched": "Искали недавно",
+ "UnableToImportAutomatically": "Невозможно импортировать автоматически",
+ "WaitingToImport": "Ожидание импорта",
+ "WaitingToProcess": "Ожидает обработки",
+ "NotificationsSettingsWebhookHeaders": "Заголовки",
+ "DeleteSelected": "Удалить выбранные",
+ "EditSelectedCustomFormats": "Изменить выбранные пользовательские форматы",
+ "CheckDownloadClientForDetails": "проверьте клиент загрузки для более подробной информации",
+ "DownloadWarning": "Предупреждения по скачиванию: {warningMessage}",
+ "ImportFailed": "Не удалось импортировать: {sourceTitle}",
+ "InteractiveSearchModalHeaderTitle": "Интерактивный поиск - {title}",
+ "ManageCustomFormats": "Управлять пользовательскими форматами",
+ "NoCustomFormatsFound": "Нет пользовательских форматов",
+ "NoCutoffUnmetItems": "Нет элементов не достигших максимального качества",
+ "Paused": "Приостановлено",
+ "Pending": "В ожидании",
+ "PendingDownloadClientUnavailable": "Ожидание – Клиент для загрузки недоступен",
+ "SkipFreeSpaceCheckHelpText": "Используете, когда {appName} не может верно определить свободное место в вашей корневой папке",
+ "ManageFormats": "Управлять форматами",
+ "AddArtistWithName": "Добавить {artistName}",
+ "AddNewAlbum": "Добавить новый альбом",
+ "AddMetadataProfile": "Добавить мета-данные профиля",
+ "CurrentlyInstalled": "Установлено",
+ "FailedToFetchSettings": "Не удалось загрузить настройки",
+ "FailedToFetchUpdates": "Не удалось загрузить обновления",
+ "DownloadClientItemErrorMessage": "{clientName} сообщает об ошибке: {message}",
+ "LogFilesLocation": "Файлы журнала расположены в: {location}",
+ "RemoveRootFolder": "Удалить корневой каталог",
+ "TheLogLevelDefault": "Уровень журналирования по умолчанию установлен на 'Отладка' и может быть изменён в [Общих настройках](/settings/general)",
+ "RemoveRootFolderArtistsMessageText": "Вы уверены, что хотите удалить корневой каталог '{name}'? Файлы и папки не будут удалены с диска, а исполнители в этом корневом каталоге не будут удалены из {appName}.",
+ "AlbumCount": "Количество альбомов",
+ "AlbumInfo": "Информация об альбоме",
+ "AddNewAlbumSearchForNewAlbum": "Начать поиск новых альбомов",
+ "AddNewArtist": "Добавить исполнителя",
+ "AlbumHasNotAired": "Альбом еще не выпущен",
+ "AlbumDetails": "Детали альбома",
+ "AlbumIsDownloading": "Альбом скачивается",
+ "AlbumIsNotMonitored": "Альбом не отслеживается",
+ "AlbumRelease": "Релиз альбома",
+ "AlbumReleaseDate": "Дата релиза альбома"
}
diff --git a/src/NzbDrone.Core/Localization/Core/sk.json b/src/NzbDrone.Core/Localization/Core/sk.json
index 56f223b2a..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",
@@ -295,5 +294,8 @@
"Clone": "Zatvoriť",
"Reason": "Séria",
"AddDelayProfileError": "Nie je možné pridať novú podmienku, skúste to znova.",
- "DownloadClientSettingsRecentPriority": "Priorita klienta"
+ "DownloadClientSettingsRecentPriority": "Priorita klienta",
+ "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 5d0e56896..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",
@@ -926,5 +924,14 @@
"Preferred": "Föredraget",
"Today": "Idag",
"MappedNetworkDrivesWindowsService": "Mappade nätverksenheter är inte tillgängliga när de körs som en Windows-tjänst. Se FAQ för mer information",
- "DownloadClientSettingsRecentPriority": "Klient prioritet"
+ "DownloadClientSettingsRecentPriority": "Klient prioritet",
+ "DownloadWarning": "Hämtningsmeddelande: {warningMessage}",
+ "Downloaded": "Nerladdad",
+ "Paused": "Pausad",
+ "Pending": "I väntan på",
+ "WaitingToImport": "Väntar på att importera",
+ "WaitingToProcess": "Väntar på att bearbeta",
+ "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 cf37ebcb5..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": "ลบแท็ก",
@@ -751,5 +750,13 @@
"Preferred": "ที่ต้องการ",
"Today": "วันนี้",
"MappedNetworkDrivesWindowsService": "ไดรฟ์เครือข่ายที่แมปไม่พร้อมใช้งานเมื่อเรียกใช้เป็นบริการ Windows โปรดดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม",
- "DownloadClientSettingsRecentPriority": "ลำดับความสำคัญของลูกค้า"
+ "DownloadClientSettingsRecentPriority": "ลำดับความสำคัญของลูกค้า",
+ "CheckDownloadClientForDetails": "ตรวจสอบไคลเอนต์ดาวน์โหลดสำหรับรายละเอียดเพิ่มเติม",
+ "Pending": "รอดำเนินการ",
+ "WaitingToImport": "กำลังรอการนำเข้า",
+ "WaitingToProcess": "กำลังรอดำเนินการ",
+ "Downloaded": "ดาวน์โหลดแล้ว",
+ "Paused": "หยุดชั่วคราว",
+ "CurrentlyInstalled": "ติดตั้งแล้ว",
+ "RemoveRootFolder": "ลบโฟลเดอร์รูท"
}
diff --git a/src/NzbDrone.Core/Localization/Core/tr.json b/src/NzbDrone.Core/Localization/Core/tr.json
index 70ba2caab..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",
@@ -1083,5 +1081,22 @@
"DownloadClientSettingsRecentPriority": "Yeni Önceliği",
"PostImportCategory": "İçe Aktarma Sonrası Kategorisi",
"DownloadClientSettingsOlderPriority": "Eski Önceliği",
- "NotificationsSettingsWebhookHeaders": "Başlıklar"
+ "NotificationsSettingsWebhookHeaders": "Başlıklar",
+ "DownloadWarning": "İndirme Uyası: {warningMessage}",
+ "Downloaded": "İndirildi",
+ "Paused": "Duraklatıldı",
+ "Pending": "Bekliyor",
+ "PendingDownloadClientUnavailable": "Beklemede - İndirme istemcisi kullanılamıyor",
+ "UnableToImportAutomatically": "Otomatikman İçe Aktarılamıyor",
+ "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}",
+ "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 6cd0ed1f2..ed03e9fdb 100644
--- a/src/NzbDrone.Core/Localization/Core/uk.json
+++ b/src/NzbDrone.Core/Localization/Core/uk.json
@@ -8,7 +8,7 @@
"BackupRetentionHelpText": "Автоматичні резервні копії, старіші за період зберігання, очищаються автоматично",
"ChmodFolderHelpText": "Восьмеричний, застосовується при імпорті/перейменуванні до медіа-папок та файлів (без бітів виконання)",
"CompletedDownloadHandling": "Обробка завершених завантажень",
- "CopyUsingHardlinksHelpText": "Використання жорстких посилань, коли намагаєтеся скопіювати файли з торентів, які все ще завантажуються",
+ "CopyUsingHardlinksHelpText": "Жорсткі посилання дозволяють {appName} імпортувати торренти, що роздаються, до папки виконавця без зайвого місця на диску або копіювання всього вмісту файлу. Жорсткі посилання працюватимуть лише якщо джерело та призначення знаходяться на одному томі",
"DeleteBackupMessageText": "Ви впевнені, що хочете видалити резервну копію \"{name}\"?",
"DeleteDownloadClientMessageText": "Ви впевнені, що хочете видалити клієнт завантаження '{name}'?",
"AlreadyInYourLibrary": "Вже у вашій бібліотеці",
@@ -55,12 +55,11 @@
"ResetAPIKeyMessageText": "Ви впевнені, що хочете скинути свій ключ API?",
"ShowQualityProfile": "Додати профіль якості",
"AnalyticsEnabledHelpText": "Надсилайте анонімну інформацію про використання та помилки на сервери {appName}. Це включає інформацію про ваш веб-переглядач, які сторінки {appName} WebUI ви використовуєте, звіти про помилки, а також версію ОС і часу виконання. Ми будемо використовувати цю інформацію, щоб визначити пріоритети функцій і виправлення помилок.",
- "DeleteMetadataProfileMessageText": "Ви впевнені, що хочете видалити цей профіль затримки?",
+ "DeleteMetadataProfileMessageText": "Ви впевнені, що хочете видалити профіль метаданих '{name}'",
"DeleteNotificationMessageText": "Ви впевнені, що хочете видалити сповіщення '{name}'?",
"DeleteQualityProfileMessageText": "Ви впевнені, що хочете видалити профіль якості '{name}'?",
"DeleteReleaseProfile": "Видалити профіль випуску",
- "DeleteReleaseProfileMessageText": "Ви впевнені, що хочете видалити цей профіль затримки?",
- "DeleteRootFolderMessageText": "Ви впевнені, що хочете видалити тег {0} ?",
+ "DeleteReleaseProfileMessageText": "Ви впевнені, що хочете видалити цей профіль випуску?",
"DeleteTagMessageText": "Ви впевнені, що хочете видалити тег '{label}'?",
"IsCutoffCutoff": "Припинення",
"CertificateValidationHelpText": "Змініть суворість перевірки сертифікації HTTPS. Не змінюйте, якщо не розумієте ризики.",
@@ -470,7 +469,7 @@
"AddImportListExclusion": "Додати виняток до списку імпорту",
"AddConnection": "Додати Підключення",
"AddConnectionImplementation": "Додати Підключення - {implementationName}",
- "Absolute": "Абсолютний",
+ "Absolute": "Загальний",
"AddAutoTag": "Додати Авто Тег",
"AddAutoTagError": "Не вдалося додати новий авто тег, спробуйте ще раз.",
"AddConditionError": "Не вдалося додати нову умову, спробуйте ще раз.",
@@ -550,7 +549,6 @@
"ConnectionLostReconnect": "{appName} спробує підключитися автоматично, або ви можете натиснути «Перезавантажити» нижче.",
"ConnectionLost": "Зв'язок втрачений",
"ConnectionLostToBackend": "{appName} втратив з’єднання з серверною частиною, і його потрібно перезавантажити, щоб відновити роботу.",
- "DeleteRootFolder": "Видалити кореневу папку",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Чи використовувати налаштований макет вмісту qBittorrent, оригінальний макет із торрента чи завжди створювати вкладену папку (qBittorrent 4.3.2+)",
"AutoRedownloadFailedFromInteractiveSearch": "Помилка повторного завантаження з інтерактивного пошуку",
"AutoRedownloadFailed": "Помилка повторного завантаження",
@@ -620,7 +618,7 @@
"UnmonitoredHelpText": "Включайте неконтрольовані фільми в канал iCal",
"Posters": "Плакати",
"Priority": "Пріоритет",
- "RemotePathMappingCheckImportFailed": "{appName} не вдалося імпортувати фільм. Подробиці перевірте у своїх журналах.",
+ "RemotePathMappingCheckImportFailed": "{appName} не вдалося імпортувати музику. Перегляньте журнали для деталей",
"SslPortHelpTextWarning": "Щоб набуло чинності, потрібно перезапустити",
"ApiKeyValidationHealthCheckMessage": "Будь ласка оновіть ключ API, щоб він містив принаймні {length} символів. Ви можете зробити це в налаштуваннях або в файлі конфігурації",
"CustomFilter": "Користувацькі фільтри",
@@ -694,7 +692,7 @@
"LongDateFormat": "Довгий формат дати",
"MaintenanceRelease": "Випуск для обслуговування: виправлення помилок та інші покращення. Щоб отримати докладнішу інформацію, перегляньте історію фіксації Github",
"ReleaseDate": "Дати випуску",
- "RemotePathMappingCheckDownloadPermissions": "{appName} може бачити, але не має доступу до завантаженого фільму {path}. Ймовірна помилка дозволів.",
+ "RemotePathMappingCheckDownloadPermissions": "{appName} бачить, але не має доступу до завантаженої музики{0}. Ймовірно, помилка дозволів.",
"UnableToLoadCustomFormats": "Не вдалося завантажити спеціальні формати",
"ShownAboveEachColumnWhenWeekIsTheActiveView": "Відображається над кожним стовпцем, коли тиждень є активним переглядом",
"Table": "Таблиця",
@@ -917,5 +915,453 @@
"Preferred": "Бажано",
"Max": "Максимальний",
"MappedNetworkDrivesWindowsService": "Підключені мережеві диски недоступні під час роботи як служби Windows. Щоб отримати додаткову інформацію, перегляньте FAQ",
- "DownloadClientSettingsRecentPriority": "Пріоритет клієнта"
+ "DownloadClientSettingsRecentPriority": "Пріоритет клієнта",
+ "Downloaded": "Завантажено",
+ "Paused": "Призупинено",
+ "Pending": "В очікуванні",
+ "WaitingToImport": "Очікування імпорту",
+ "WaitingToProcess": "Очікування обробки",
+ "CheckDownloadClientForDetails": "перевірте клієнт завантаження, щоб дізнатися більше",
+ "DashOrSpaceDashDependingOnName": "Тире або пробіл залежно від імені",
+ "EpisodeDoesNotHaveAnAbsoluteEpisodeNumber": "Епізод не має абсолютного номера епізоду",
+ "ExpandOtherByDefaultHelpText": "Інше",
+ "ImportListTagsHelpText": "Теги, які будуть додані при імпорті з цього списку",
+ "IndexerIdHelpText": "Вкажіть, до якого індексатору застосовується профіль",
+ "IsShowingMonitoredUnmonitorSelected": "Не відстежувати вибрані",
+ "RemoveSelectedItemBlocklistMessageText": "Ви впевнені, що хочете видалити вибрані елементи з чорного списку?",
+ "RootFolderPathHelpText": "Елементи списку кореневих тек будуть додані в",
+ "ThereWasAnErrorLoadingThisItem": "Сталася помилка при завантаженні цього елемента",
+ "ThereWasAnErrorLoadingThisPage": "Сталася помилка під час завантаження цієї сторінки",
+ "AllExpandedExpandAll": "Розгорнути все",
+ "NoMissingItems": "Немає відсутніх елементів",
+ "TBA": "Будь ласка, перевірте пізніше",
+ "IsShowingMonitoredMonitorSelected": "Відстеження вибрано",
+ "SceneNumberHasntBeenVerifiedYet": "Номер сцени ще не перевірено",
+ "EnabledHelpText": "Установіть прапорець, щоб увімкнути профіль релізу",
+ "Loading": "Завантаження",
+ "NoCutoffUnmetItems": "Не має елементів що не досягли порогу",
+ "NotificationsEmbySettingsUpdateLibraryHelpText": "Оновити бібліотеку при імпорті, перейменуванні або видаленні",
+ "NotificationsSettingsUpdateMapPathsFromHelpText": "Шлях {appName}, який використовується для зміни шляхів до серіалів, коли {serviceName} бачить шлях до бібліотеки інакше, ніж {appName} (необхідно 'Оновити бібліотеку')",
+ "NotificationsSettingsUpdateMapPathsToHelpText": "Шлях {serviceName}, що використовується для зміни шляхів до серіалів, коли {serviceName} бачить шлях до бібліотеки інакше, ніж {appName} (потрібно 'Оновити бібліотеку')",
+ "Select...": "Вибрати...",
+ "DeleteSelectedDownloadClients": "Видалити вибрані клієнти завантаження",
+ "DownloadImported": "Завантажено імпортовано",
+ "DownloadedWaitingToImport": "'Завантажено - Очікує імпорту'",
+ "FirstAlbum": "Перший альбом",
+ "FutureAlbumsData": "Відстежувати альбоми, які ще не вийшли",
+ "IsExpandedHideAlbums": "Приховати альбоми",
+ "ManualDownload": "Завантажити вручну",
+ "ArtistIsUnmonitored": "Виконавець не відстежується",
+ "ForeignId": "Зовнішній ідентифікатор",
+ "IndexerIdHelpTextWarning": "Використання певного індексатора з бажаними словами може призвести до завантаження дублікатів релізів",
+ "ArtistsEditRootFolderHelpText": "Переміщення виконавців до однієї кореневої папки може використовуватися для перейменування папок виконавців відповідно до оновленого імені або формату найменування",
+ "AllowFingerprintingHelpText": "Використовувати створення аудіовідбитків для покращення точності зіставлення треків",
+ "CollapseMultipleAlbumsHelpText": "Згорнути кілька альбомів, що виходять в один день",
+ "ContinuingNoAdditionalAlbumsAreExpected": "Додаткових альбомів не очікується",
+ "DownloadClientSortingCheckMessage": "Для клієнта завантаження {0} увімкнено сортування для категорії {appName}. Вам слід вимкнути сортування у вашому клієнті завантаження, щоб уникнути проблем з імпортом",
+ "AnchorTooltip": "Цей файл вже є у вашій бібліотеці для релізу, який ви зараз імпортуєте",
+ "CollapseMultipleAlbums": "Згорнути кілька альбомів",
+ "ExpandEPByDefaultHelpText": "EP (міні-альбоми)",
+ "ForNewImportsOnly": "Лише для нових імпортів",
+ "MetadataProfile": "Профіль метаданих",
+ "EditMetadataProfile": "Редагувати профіль метаданих",
+ "EmbedCoverArtHelpText": "Вбудовувати обкладинку альбому Lidarr у аудіофайли під час запису тегів",
+ "AreYouSure": "Ви впевнені?",
+ "DelayProfileArtistTagsHelpText": "Застосовується до виконавців, які мають хоча б один відповідний тег",
+ "FilterArtistPlaceholder": "Фільтрувати виконавця",
+ "HasMonitoredAlbumsNoMonitoredAlbumsForThisArtist": "Для цього виконавця немає жодних альбомів, що відстежуються",
+ "IsExpandedHideFileInfo": "Приховати інформацію про файл",
+ "ArtistIsMonitored": "Виконавець відстежується",
+ "CustomFormatRequiredHelpText": "Ця {0}-а умова повинна збігатися, щоб застосувався власний формат. Інакше достатньо одного {0}-го збігу",
+ "ICalTagsArtistHelpText": "Стрічка міститиме лише виконавців, які мають хоча б один відповідний тег",
+ "MetadataConsumers": "Споживачі метаданих",
+ "ArtistNameHelpText": "Назва виконавця/альбому, який потрібно виключити (може бути будь-якою значущою)",
+ "DefaultMonitorOptionHelpText": "Які альбоми слід відстежувати при початковому додаванні для виконавців, виявлених у цій папці",
+ "ExistingAlbums": "Існуючі альбоми",
+ "IfYouDontAddAnImportListExclusionAndTheArtistHasAMetadataProfileOtherThanNoneThenThisAlbumMayBeReaddedDuringTheNextArtistRefresh": "Якщо ви не додасте виключення зі списку імпорту, і виконавець матиме профіль метаданих, відмінний від \"Немає\", цей альбом може бути повторно додано під час наступного оновлення виконавця",
+ "IsInUseCantDeleteAQualityProfileThatIsAttachedToAnArtistOrImportList": "Неможливо видалити профіль якості, який пов'язаний з виконавцем або списком імпорту",
+ "DeleteMetadataProfile": "Видалити профіль метаданих",
+ "DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Для клієнта завантаження {0} налаштовано видалення завершених завантажень. Це може призвести до видалення завантажень з вашого клієнта до того, як {1} зможе їх імпортувати",
+ "ForeignIdHelpText": "Ідентифікатор MusicBrainz виконавця/альбому, який потрібно виключити",
+ "MassAlbumsCutoffUnmetWarning": "Ви впевнені, що хочете виконати пошук для всіх альбомів, де не досягнуто порогового значення '{0}'?",
+ "IsExpandedShowAlbums": "Показати альбоми",
+ "IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnArtistOrImportList": "Неможливо видалити профіль метаданих, який пов'язаний з виконавцем або списком імпорту",
+ "MetadataSettingsArtistSummary": "Створювати файли метаданих під час імпорту треків або оновлення інформації про виконавця",
+ "MissingAlbumsData": "Відстежувати альбоми, які не мають файлів або ще не вийшли",
+ "MissingTracksArtistNotMonitored": "Відсутні треки (виконавець не відстежується)",
+ "MonitorAlbumExistingOnlyWarning": "Це одноразове коригування налаштування відстеження для кожного альбому. Використовуйте опцію в розділі \"Виконавець/Редагувати\", щоб контролювати, що відбуватиметься з новими доданими альбомами",
+ "FutureDaysHelpText": "Днів для перегляду майбутніх подій у стрічці iCal",
+ "CountImportListsSelected": "Вибрано {selectedCount} списків імпорту",
+ "DateAdded": "Дата додавання",
+ "MissingAlbums": "Відсутні альбоми",
+ "DeleteTrackFile": "Видалити файл треку",
+ "MonitorFutureAlbums": "Майбутні альбоми",
+ "MonitorLastestAlbum": "Останній альбом",
+ "MonitorMissingAlbums": "Відсутні альбоми",
+ "MonitorNewAlbums": "Нові альбоми",
+ "MonitorNewItemsHelpText": "Які нові альбоми слід відстежувати",
+ "MultiDiscTrackFormat": "Формат треків на кількох дисках",
+ "CombineWithExistingFiles": "Об'єднати з існуючими файлами",
+ "ContinuingAllTracksDownloaded": "Продовжити (Усі треки завантажено)",
+ "ContinuingMoreAlbumsAreExpected": "Очікуються інші альбоми",
+ "CountAlbums": "{albumCount} альбомів",
+ "CountIndexersSelected": "Вибрано {selectedCount} індексаторів",
+ "Country": "Країна",
+ "Deceased": "Помер(ла)",
+ "DefaultDelayProfileArtist": "Це профіль за замовчуванням. Він застосовується до всіх виконавців, які не мають явного профілю.",
+ "DefaultLidarrTags": "Теги {appName} за замовчуванням",
+ "DefaultMetadataProfileIdHelpText": "Профіль метаданих за замовчуванням для виконавців, виявлених у цій папці",
+ "DefaultQualityProfileIdHelpText": "Профіль якості за замовчуванням для виконавців, виявлених у цій папці",
+ "DefaultTagsHelpText": "Теги {appName} за замовчуванням для виконавців, виявлених у цій папці",
+ "DeleteArtist": "Видалити вибраного виконавця",
+ "DeleteArtistFolder": "Видалити папку виконавця",
+ "DeleteArtistFolders": "Видалити папки виконавців",
+ "DeleteFilesHelpText": "Видалити файли треків та папку виконавця",
+ "DeleteFormat": "Видалити формат",
+ "DeleteSelectedArtists": "Видалити вибраних виконавців",
+ "Discography": "Дискографія",
+ "DownloadClientSettingsRecentPriorityAlbumHelpText": "Пріоритет, який використовуватиметься при завантаженні альбомів, випущених протягом останніх 14 днів",
+ "DownloadPropersAndRepacksHelpTexts2": "Використовуйте \"Не надавати перевагу\", щоб сортувати за оцінкою бажаного слова, а не за належними назвами/перепакуваннями",
+ "DownloadedImporting": "'Завантажено - Імпортується'",
+ "DownloadedUnableToImportCheckLogsForDetails": "'Завантажено - Неможливо імпортувати: деталі дивіться в журналах'",
+ "EditArtist": "Редагувати виконавця",
+ "EditMetadata": "Редагувати метадані",
+ "EditSelectedArtists": "Редагувати вибраних виконавців",
+ "EmbedCoverArtInAudioFiles": "Вбудувати обкладинку в аудіофайли",
+ "EnableAutomaticAddHelpText": "Додавати виконавців/альбоми до {appName} під час синхронізації через інтерфейс користувача або {appName}",
+ "EndedAllTracksDownloaded": "Закінчено (Усі треки завантажено)",
+ "EntityName": "Назва сутності",
+ "ExistingAlbumsData": "Відстежувати альбоми, які мають файли або ще не вийшли",
+ "ExistingTagsScrubbed": "Наявні теги очищено",
+ "ExpandBroadcastByDefaultHelpText": "Трансляція",
+ "ExpandItemsByDefault": "Розгорнути елементи за замовчуванням",
+ "ExpandSingleByDefaultHelpText": "Сингли",
+ "FilterAlbumPlaceholder": "Фільтрувати альбом",
+ "FirstAlbumData": "Відстежувати перші альбоми. Усі інші альбоми буде проігноровано",
+ "FutureAlbums": "Майбутні альбоми",
+ "FutureDays": "Майбутні дні",
+ "GoToArtistListing": "Перейти до списку виконавців",
+ "GroupInformation": "Інформація про групу",
+ "HideAlbums": "Приховати альбоми",
+ "HideTracks": "Приховати треки",
+ "ImportCompleteFailed": "Імпорт не вдався",
+ "ImportFailures": "Збої імпорту",
+ "ImportListSettings": "Загальні налаштування списку імпорту",
+ "ImportListSpecificSettings": "Специфічні налаштування списку імпорту",
+ "Inactive": "Неактивний",
+ "IndexerDownloadClientHealthCheckMessage": "Індексатори з недійсними клієнтами завантаження: {0}.",
+ "IsExpandedShowFileInfo": "Показати інформацію про файл",
+ "IsExpandedShowTracks": "Показати треки",
+ "LastAlbum": "Останній альбом",
+ "LatestAlbum": "Найновіший альбом",
+ "LatestAlbumData": "Відстежувати останні та майбутні альбоми",
+ "LidarrSupportsMultipleListsForImportingAlbumsAndArtistsIntoTheDatabase": "{appName} підтримує кілька списків для імпорту альбомів та виконавців до бази даних",
+ "ListWillRefreshEveryInterp": "Список оновлюватиметься кожні {0}",
+ "MatchedToAlbums": "Збіги з альбомами",
+ "MatchedToArtist": "Збіги з виконавцем",
+ "MediaCount": "Кількість медіафайлів",
+ "MediumFormat": "Формат носія",
+ "MetadataProfileIdHelpText": "Елементи списку профілю метаданих слід додавати з",
+ "MetadataProfiles": "Профілі метаданих",
+ "MonitorAlbum": "Відстежувати альбом",
+ "MonitorArtist": "Відстежувати виконавця",
+ "MonitorArtists": "Відстежувати виконавців",
+ "MonitorExistingAlbums": "Наявні альбоми",
+ "MonitorFirstAlbum": "Перший альбом",
+ "MonitorNoNewAlbums": "Немає нових альбомів",
+ "MonitoredHelpText": "Завантажити відстежувані альбоми цього виконавця",
+ "MonitoringOptionsHelpText": "Які альбоми слід відстежувати після додавання виконавця (одноразове налаштування)",
+ "DownloadClientSettingsOlderPriorityAlbumHelpText": "Пріоритет, який використовуватиметься при завантаженні альбомів, випущених понад 14 днів тому",
+ "MissingTracks": "Відсутні треки",
+ "MissingTracksArtistMonitored": "Відсутні треки (виконавець відстежується)",
+ "AddMetadataProfile": "Додати профіль метаданих",
+ "AddedArtistSettings": "Додано налаштування артиста",
+ "AlbumCount": "Кількість альбомів",
+ "AlbumHasNotAired": "Альбом не був випущений",
+ "AlbumInfo": "Інформація про альбом",
+ "AlbumIsNotMonitored": "Альбом не моніториться",
+ "AlbumRelease": "Випуск альбому",
+ "AlbumStudio": "Студійний альбом",
+ "AllArtistAlbums": "Усі альбоми виконавця",
+ "AllMonitoringOptionHelpText": "Відстежувати виконавців та всі альбоми кожного виконавця, включеного до списку імпорту",
+ "AllowArtistChangeClickToChangeArtist": "Натисніть, щоб змінити виконавця",
+ "AllowFingerprinting": "Дозволити створення аудіовідбитків",
+ "AllowFingerprintingHelpTextWarning": "Для цього програмі 1 {appName} потрібно зчитати частини файлу, що сповільнить сканування та може спричинити високу активність диска або мережі",
+ "AnyReleaseOkHelpText": "{appName} автоматично перемкнеться на реліз, який найкраще відповідає завантаженим трекам",
+ "ArtistClickToChangeAlbum": "Натисніть, щоб змінити альбом",
+ "ArtistEditor": "Редактор виконавця",
+ "ArtistFolderFormat": "Формат папки виконавця",
+ "ArtistProgressBarText": "Завантажено файлів: {trackFileCount} / Всього треків у файлах: {trackCount} (Всього треків у релізі: {totalTrackCount}, Завантажується треків: {downloadingCount})",
+ "AutomaticallySwitchRelease": "Автоматично вибирати реліз",
+ "BannerOptions": "Параметри банера",
+ "Banners": "Банери",
+ "CatalogNumber": "Каталожний номер",
+ "Disambiguation": "Розрізнення",
+ "DiscCount": "Кількість дисків",
+ "DiscNumber": "Номер диску",
+ "IsExpandedHideTracks": "Приховати треки",
+ "ManageTracks": "Керувати треками",
+ "ScrubExistingTags": "Очистити існуючі теги",
+ "PathHelpText": "Коренева папка, що містить вашу музичну бібліотеку",
+ "RecycleBinUnableToWriteHealthCheck": "Не вдається записати до налаштованої папки кошика: {0}. Переконайтеся, що цей шлях існує і доступний для запису користувачем, який запустив {appName}",
+ "SelectArtist": "Вибрати виконавця",
+ "ShowNextAlbumHelpText": "Показувати наступний альбом під постером",
+ "ShouldMonitorExistingHelpText": "Автоматично відстежувати альбоми зі цього списку, які вже є в {appName}",
+ "UnableToLoadInteractiveSearch": "Не вдалося завантажити результати для цього пошуку альбому. Спробуйте пізніше",
+ "SpecificMonitoringOptionHelpText": "Відстежувати виконавців, але відстежувати лише альбоми, явно включені до списку",
+ "SearchForAllMissingAlbumsConfirmationCount": "Ви впевнені, що хочете шукати всі {totalRecords} відсутніх альбомів?",
+ "NoHistoryBlocklist": "Немає історії заблокованих елементів",
+ "QualityProfileIdHelpText": "Елементи списку профілів якості слід додавати за допомогою",
+ "ShouldSearchHelpText": "Пошук в індексаторах нових доданих елементів. Обережно використовуйте для великих списків.",
+ "NotificationsEmbySettingsSendNotificationsHelpText": "Відправляти сповіщення MediaBrowser на налаштовані провайдери",
+ "TrackFileRenamedTooltip": "Файл треку перейменовано",
+ "TrackMissingFromDisk": "Трек відсутній на диску",
+ "WatchLibraryForChangesHelpText": "Автоматично сканувати при зміні файлів у кореневій папці",
+ "MonitorNewItems": "Відстежувати нові альбоми",
+ "ReleaseProfileTagArtistHelpText": "Профілі випуску застосовуватимуться до виконавців, які мають хоча б один відповідний тег. Залиште порожнім, щоб застосувати до всіх виконавців",
+ "ReplaceExistingFiles": "Замінити існуючі файли",
+ "Retag": "Перетегувати",
+ "Retagged": "Перетеговано",
+ "TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp": "Всього {0} треків. {1} треків з файлами.",
+ "UnableToLoadMetadataProviderSettings": "Не вдалося завантажити налаштування постачальника метаданих",
+ "RenameTracks": "Перейменувати треки",
+ "NoMediumInformation": "Інформація про носій недоступна",
+ "NotificationsTagsArtistHelpText": "Надсилати сповіщення лише для виконавців, які мають хоча б один відповідний тег",
+ "OnArtistAdd": "При додаванні виконавця",
+ "OnArtistDelete": "При видаленні виконавця",
+ "OnImportFailure": "При помилці імпорту",
+ "OneAlbum": "1 альбом",
+ "PastDays": "Минулі дні",
+ "PastDaysHelpText": "Кількість днів для перегляду минулих подій у фіді iCa",
+ "Playlist": "Плейлист",
+ "ProfilesSettingsArtistSummary": "Якість, метадані, затримка та профілі випуску",
+ "RetagSelectedArtists": "Перетегувати вибраних виконавців",
+ "SearchBoxPlaceHolder": "напр., Breaking Benjamin, lidarr:854a1807-025b-42a8-ba8c-2a39717f1d25",
+ "SearchForAllCutoffUnmetAlbums": "Пошук усіх альбомів, які не відповідають критерію відсікання",
+ "SecondaryAlbumTypes": "Другорядні типи альбомів",
+ "SecondaryTypes": "Другорядні типи",
+ "ShouldMonitorExisting": "Відстежувати існуючі альбоми",
+ "ShowBannersHelpText": "Показувати банери замість назв",
+ "SkipRedownloadHelpText": "Запобігає спробам {appName} завантажувати альтернативні випуски для видалених елементів.",
+ "ReleasesHelpText": "Змінити випуск для цього альбому",
+ "MusicBrainzAlbumID": "MusicBrainz Альбом ID",
+ "MusicBrainzArtistID": "MusicBrainz викаонавець ID",
+ "NoTracksInThisMedium": "На цьому носії немає треків",
+ "OnReleaseImport": "При імпорті релізу",
+ "SearchForAllCutoffUnmetAlbumsConfirmationCount": "Ви впевнені, що хочете шукати всі {totalRecords} альбомів, які не відповідають критерію відсікання?",
+ "SelectTracks": "Вибрати треки",
+ "TrackArtist": "Виконавець треку",
+ "TrackCount": "Кількість треків",
+ "TrackDownloaded": "Трек завантажено",
+ "TrackFileCounttotalTrackCountTracksDownloadedInterp": "Завантажено {0} з {1} треків",
+ "WriteMetadataToAudioFiles": "Записувати метадані до аудіофайлів",
+ "WriteAudioTagsHelpTextWarning": "Вибір \"Усі файли\" змінить існуючі файли під час їх імпорту.",
+ "WriteMetadataTags": "Записати теги метаданих",
+ "MusicBrainzRecordingID": "MusicBrainz запису ID",
+ "MusicBrainzReleaseID": "MusicBrainz релізу ID",
+ "MusicBrainzTrackID": "MusicBrainz Track ID",
+ "MusicbrainzId": "Musicbrainz Id",
+ "NewAlbums": "Нові альбоми",
+ "NextAlbum": "Наступний альбом",
+ "NoAlbums": "Немає альбомів",
+ "NoneData": "Жоден альбом не буде відстежуватися",
+ "NoneMonitoringOptionHelpText": "Не відстежувати виконавців або альбоми",
+ "NotDiscography": "Не дискографія",
+ "OnAlbumDelete": "При видаленні альбому",
+ "OnDownloadFailure": "При помилці завантаження",
+ "OnTrackRetag": "При перетегуванні треку",
+ "PathHelpTextWarning": "Це має відрізнятися від каталогу, куди ваш клієнт завантажує файли",
+ "PreviewRetag": "Попередній перегляд перетегування",
+ "PrimaryAlbumTypes": "Основні типи альбомів",
+ "PrimaryTypes": "Основні типи",
+ "Proceed": "Продовжити",
+ "RefreshArtist": "Оновити виконавця",
+ "ScrubAudioTagsHelpText": "Видалити існуючі теги з файлів, залишивши лише ті, що додані {appName}.",
+ "SearchAlbum": "Пошук альбому",
+ "SearchForAllMissingAlbums": "Пошук усіх відсутніх альбомів",
+ "SearchForMonitoredAlbums": "Пошук відстежуваних альбомів",
+ "SelectAlbum": "Вибрати альбом",
+ "SelectAlbumRelease": "Вибрати випуск альбому",
+ "SelectedCountArtistsSelectedInterp": "Вибрано {selectedCount} виконавця(ів)",
+ "SetAppTags": "Встановити теги {appName}.",
+ "ShouldMonitorHelpText": "Відстежувати виконавців та альбоми, додані з цього списку",
+ "ShouldSearch": "Пошук нових елементів",
+ "ShowAlbumCount": "Показати кількість альбомів",
+ "ShowLastAlbum": "Показати останній альбом",
+ "ShowName": "Показати назву",
+ "ShowNextAlbum": "Показати наступний альбом",
+ "ShowTitleHelpText": "Показувати ім'я виконавця під постером",
+ "SpecificAlbum": "Конкретний альбом",
+ "TagAudioFilesWithMetadata": "Тегувати аудіофайли метаданими",
+ "TheAlbumsFilesWillBeDeleted": "Файли альбому буде видалено",
+ "TrackFileDeletedTooltip": "Файл треку видалено",
+ "TrackFileMissingTooltip": "Файл треку відсутній",
+ "TrackFileTagsUpdatedTooltip": "Теги файлу треку оновлено",
+ "TrackFiles": "Файли треків",
+ "TrackFilesLoadError": "Не вдалося завантажити файли треків",
+ "TrackImported": "Трек імпортовано",
+ "TrackNaming": "Іменування треків",
+ "TrackProgress": "Прогрес треку",
+ "TrackStatus": "Статус треку",
+ "TracksLoadError": "Не вдалося завантажити треки",
+ "UpdatingIsDisabledInsideADockerContainerUpdateTheContainerImageInstead": "Оновлення вимкнено всередині контейнера Docker. Оновіть образ контейнера.",
+ "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 ebce4b4bb..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ẻ",
@@ -788,5 +787,13 @@
"Preferred": "Ưu tiên",
"Today": "Hôm nay",
"MappedNetworkDrivesWindowsService": "Các ổ đĩa mạng được ánh xạ không khả dụng khi chạy dưới dạng Dịch vụ Windows. Vui lòng xem Câu hỏi thường gặp để biết thêm thông tin",
- "DownloadClientSettingsRecentPriority": "Ưu tiên khách hàng"
+ "DownloadClientSettingsRecentPriority": "Ưu tiên khách hàng",
+ "Pending": "Đang chờ xử lý",
+ "WaitingToImport": "Đang chờ nhập",
+ "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ý",
+ "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 a423a7c51..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": "不要自动升级",
@@ -708,7 +706,7 @@
"Other": "其他",
"OutputPath": "输出路径",
"QualitiesHelpText": "即使未勾选,列表中靠前的质量优先级更高。同组内的质量优先级相同。仅需勾选需要的质量",
- "ImportFailed": "导入失败",
+ "ImportCompleteFailed": "导入失败",
"TrackArtist": "歌曲歌手",
"OnAlbumDelete": "当专辑删除时",
"OnArtistDelete": "当歌手删除时",
@@ -1336,5 +1334,28 @@
"DownloadClientSettingsPostImportCategoryHelpText": "导入下载后要设置的 {appName} 的分类。 即使做种完成,{appName} 也不会删除该分类中的种子。 留空以保留同一分类。",
"DownloadClientSettingsRecentPriority": "最近优先",
"PostImportCategory": "导入后分类",
- "NotificationsSettingsWebhookHeaders": "标头"
+ "NotificationsSettingsWebhookHeaders": "标头",
+ "DefaultDelayProfileArtist": "这是默认的配置。此配置用于所有的没有配置的艺术家",
+ "CheckDownloadClientForDetails": "查看下载客户端了解更多详细信息",
+ "DownloadWarning": "下载警告:{warningMessage}",
+ "UnableToImportAutomatically": "无法自动导入",
+ "ImportFailed": "导入失败:{sourceTitle}",
+ "Downloaded": "已下载",
+ "Paused": "暂停",
+ "Pending": "挂起",
+ "PendingDownloadClientUnavailable": "挂起 - 下载客户端不可用",
+ "WaitingToImport": "等待导入",
+ "WaitingToProcess": "等待处理",
+ "DelayProfileArtistTagsHelpText": "应用到至少有一个标签匹配的艺术家",
+ "AlbumInfo": "专辑 信息",
+ "DownloadClientSettingsOlderPriorityAlbumHelpText": "优先使用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 28374badf..f9998b9e5 100644
--- a/src/NzbDrone.Core/Localization/Core/zh_Hans.json
+++ b/src/NzbDrone.Core/Localization/Core/zh_Hans.json
@@ -4,5 +4,14 @@
"Always": "总是",
"Analytics": "分析",
"Username": "用户名",
- "Activity": "111"
+ "Activity": "活动",
+ "UseProxy": "使用代理",
+ "Uptime": "运行时间",
+ "Warn": "警告",
+ "Updates": "更新",
+ "Yesterday": "昨天",
+ "BackupNow": "立即备份",
+ "YesCancel": "确认 ,取消",
+ "AddAutoTagError": "添加",
+ "Backup": "备份"
}
diff --git a/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs b/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs
index 7cf6b7c85..d7d0d2d4e 100644
--- a/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs
+++ b/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs
@@ -391,28 +391,26 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Manual
{
var trackedDownload = groupedTrackedDownload.First().TrackedDownload;
var importArtist = groupedTrackedDownload.First().ImportResult.ImportDecision.Item.Artist;
-
var outputPath = trackedDownload.ImportItem.OutputPath.FullPath;
if (_diskProvider.FolderExists(outputPath))
{
if (_downloadedTracksImportService.ShouldDeleteFolder(
- _diskProvider.GetDirectoryInfo(outputPath),
- importArtist) && trackedDownload.DownloadItem.CanMoveFiles)
+ _diskProvider.GetDirectoryInfo(outputPath), importArtist) &&
+ trackedDownload.DownloadItem.CanMoveFiles)
{
_diskProvider.DeleteFolder(outputPath, true);
}
}
- var remoteTrackCount = Math.Max(1,
- trackedDownload.RemoteAlbum?.Albums.Sum(x =>
- x.AlbumReleases.Value.Where(y => y.Monitored).Sum(z => z.TrackCount)) ?? 1);
+ var remoteTrackCount = Math.Max(1, trackedDownload.RemoteAlbum?.Albums.Sum(x => x.AlbumReleases.Value.Where(y => y.Monitored).Sum(z => z.TrackCount)) ?? 1);
- var importResults = groupedTrackedDownload.Select(x => x.ImportResult).ToList();
+ var importResults = groupedTrackedDownload.Select(c => c.ImportResult).ToList();
var importedTrackCount = importResults.Where(c => c.Result == ImportResultType.Imported)
.SelectMany(c => c.ImportDecision.Item.Tracks)
.Count();
- var allTracksImported = importResults.All(c => c.Result == ImportResultType.Imported) || importedTrackCount >= remoteTrackCount;
+
+ var allTracksImported = (importResults.Any() && importResults.All(c => c.Result == ImportResultType.Imported)) || importedTrackCount >= remoteTrackCount;
if (allTracksImported)
{
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);
diff --git a/src/NzbDrone.Core/Music/Handlers/ArtistScannedHandler.cs b/src/NzbDrone.Core/Music/Handlers/ArtistScannedHandler.cs
index 97221d909..dda2b3f7c 100644
--- a/src/NzbDrone.Core/Music/Handlers/ArtistScannedHandler.cs
+++ b/src/NzbDrone.Core/Music/Handlers/ArtistScannedHandler.cs
@@ -47,7 +47,7 @@ namespace NzbDrone.Core.Music
_eventAggregator.PublishEvent(new ArtistAddCompletedEvent(artist));
- if (artist.AddOptions.SearchForMissingAlbums)
+ if (addOptions.SearchForMissingAlbums)
{
_commandQueueManager.Push(new MissingAlbumSearchCommand(artist.Id));
}
diff --git a/src/NzbDrone.Core/Music/Services/RefreshAlbumService.cs b/src/NzbDrone.Core/Music/Services/RefreshAlbumService.cs
index 8fece1864..e1030befb 100644
--- a/src/NzbDrone.Core/Music/Services/RefreshAlbumService.cs
+++ b/src/NzbDrone.Core/Music/Services/RefreshAlbumService.cs
@@ -340,7 +340,14 @@ namespace NzbDrone.Core.Music
(updatedMusicbrainzAlbums == null && _checkIfAlbumShouldBeRefreshed.ShouldRefresh(album)) ||
(updatedMusicbrainzAlbums != null && updatedMusicbrainzAlbums.Contains(album.ForeignAlbumId)))
{
- updated |= RefreshAlbumInfo(album, remoteAlbums, forceUpdateFileTags);
+ try
+ {
+ updated |= RefreshAlbumInfo(album, remoteAlbums, forceUpdateFileTags);
+ }
+ catch (Exception e)
+ {
+ _logger.Error(e, "Couldn't refresh info for album {0}", album.Title);
+ }
}
else
{
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;
}
}
}
diff --git a/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs b/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs
index 4cd26be55..f0bd9a323 100644
--- a/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs
+++ b/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs
@@ -11,8 +11,8 @@ namespace NzbDrone.Core.Notifications
public Artist Artist { get; set; }
public Album Album { get; set; }
public AlbumRelease Release { get; set; }
- public List TrackFiles { get; set; }
- public List OldFiles { get; set; }
+ public List TrackFiles { get; set; } = new ();
+ public List OldFiles { get; set; } = new ();
public DownloadClientItemClientInfo DownloadClientInfo { get; set; }
public string DownloadId { get; set; }
diff --git a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs
index 824f6b9fc..c657f8b16 100644
--- a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs
+++ b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs
@@ -63,7 +63,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
environmentVariables.Add("Lidarr_Artist_MBId", artist.Metadata.Value.ForeignArtistId);
environmentVariables.Add("Lidarr_Artist_Type", artist.Metadata.Value.Type);
environmentVariables.Add("Lidarr_Artist_Genres", string.Join("|", artist.Metadata.Value.Genres));
- environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", artist.Tags.Select(t => _tagRepository.Get(t).Label)));
+ environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", GetTagLabels(artist)));
environmentVariables.Add("Lidarr_Release_AlbumCount", remoteAlbum.Albums.Count.ToString());
environmentVariables.Add("Lidarr_Release_AlbumReleaseDates", string.Join(",", remoteAlbum.Albums.Select(e => e.ReleaseDate)));
environmentVariables.Add("Lidarr_Release_AlbumTitles", string.Join("|", remoteAlbum.Albums.Select(e => e.Title)));
@@ -101,7 +101,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
environmentVariables.Add("Lidarr_Artist_MBId", artist.Metadata.Value.ForeignArtistId);
environmentVariables.Add("Lidarr_Artist_Type", artist.Metadata.Value.Type);
environmentVariables.Add("Lidarr_Artist_Genres", string.Join("|", artist.Metadata.Value.Genres));
- environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", artist.Tags.Select(t => _tagRepository.Get(t).Label)));
+ environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", GetTagLabels(artist)));
environmentVariables.Add("Lidarr_Album_Id", album.Id.ToString());
environmentVariables.Add("Lidarr_Album_Title", album.Title);
environmentVariables.Add("Lidarr_Album_Overview", album.Overview);
@@ -139,7 +139,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
environmentVariables.Add("Lidarr_Artist_MBId", artist.Metadata.Value.ForeignArtistId);
environmentVariables.Add("Lidarr_Artist_Type", artist.Metadata.Value.Type);
environmentVariables.Add("Lidarr_Artist_Genres", string.Join("|", artist.Metadata.Value.Genres));
- environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", artist.Tags.Select(t => _tagRepository.Get(t).Label)));
+ environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", GetTagLabels(artist)));
environmentVariables.Add("Lidarr_TrackFile_Ids", string.Join(",", renamedFiles.Select(e => e.TrackFile.Id)));
environmentVariables.Add("Lidarr_TrackFile_Paths", string.Join("|", renamedFiles.Select(e => e.TrackFile.Path)));
environmentVariables.Add("Lidarr_TrackFile_PreviousPaths", string.Join("|", renamedFiles.Select(e => e.PreviousPath)));
@@ -164,7 +164,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
environmentVariables.Add("Lidarr_Artist_MBId", artist.Metadata.Value.ForeignArtistId);
environmentVariables.Add("Lidarr_Artist_Type", artist.Metadata.Value.Type);
environmentVariables.Add("Lidarr_Artist_Genres", string.Join("|", artist.Metadata.Value.Genres));
- environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", artist.Tags.Select(t => _tagRepository.Get(t).Label)));
+ environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", GetTagLabels(artist)));
environmentVariables.Add("Lidarr_Album_Id", album.Id.ToString());
environmentVariables.Add("Lidarr_Album_Title", album.Title);
environmentVariables.Add("Lidarr_Album_Overview", album.Overview);
@@ -201,7 +201,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
environmentVariables.Add("Lidarr_Artist_MBId", artist.Metadata.Value.ForeignArtistId.ToString());
environmentVariables.Add("Lidarr_Artist_Type", artist.Metadata.Value.Type);
environmentVariables.Add("Lidarr_Artist_Genres", string.Join("|", artist.Metadata.Value.Genres));
- environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", artist.Tags.Select(t => _tagRepository.Get(t).Label)));
+ environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", GetTagLabels(artist)));
ExecuteScript(environmentVariables);
}
@@ -220,7 +220,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
environmentVariables.Add("Lidarr_Artist_MBId", artist.Metadata.Value.ForeignArtistId.ToString());
environmentVariables.Add("Lidarr_Artist_Type", artist.Metadata.Value.Type);
environmentVariables.Add("Lidarr_Artist_Genres", string.Join("|", artist.Metadata.Value.Genres));
- environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", artist.Tags.Select(t => _tagRepository.Get(t).Label)));
+ environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", GetTagLabels(artist)));
environmentVariables.Add("Lidarr_Artist_DeletedFiles", deleteMessage.DeletedFiles.ToString());
ExecuteScript(environmentVariables);
@@ -241,7 +241,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
environmentVariables.Add("Lidarr_Artist_MBId", artist.Metadata.Value.ForeignArtistId);
environmentVariables.Add("Lidarr_Artist_Type", artist.Metadata.Value.Type);
environmentVariables.Add("Lidarr_Artist_Genres", string.Join("|", artist.Metadata.Value.Genres));
- environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", artist.Tags.Select(t => _tagRepository.Get(t).Label)));
+ environmentVariables.Add("Lidarr_Artist_Tags", string.Join("|", GetTagLabels(artist)));
environmentVariables.Add("Lidarr_Album_Id", album.Id.ToString());
environmentVariables.Add("Lidarr_Album_Title", album.Title);
environmentVariables.Add("Lidarr_Album_Overview", album.Overview);
@@ -342,5 +342,19 @@ namespace NzbDrone.Core.Notifications.CustomScript
return processOutput;
}
+
+ private List GetTagLabels(Artist artist)
+ {
+ if (artist == null)
+ {
+ return new List();
+ }
+
+ return _tagRepository.GetTags(artist.Tags)
+ .Select(s => s.Label)
+ .Where(l => l.IsNotNullOrWhiteSpace())
+ .OrderBy(l => l)
+ .ToList();
+ }
}
}
diff --git a/src/NzbDrone.Core/Notifications/Discord/Discord.cs b/src/NzbDrone.Core/Notifications/Discord/Discord.cs
index 41c0ae0d7..9889a8ace 100644
--- a/src/NzbDrone.Core/Notifications/Discord/Discord.cs
+++ b/src/NzbDrone.Core/Notifications/Discord/Discord.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using FluentValidation.Results;
using NzbDrone.Common.Extensions;
+using NzbDrone.Core.Configuration;
using NzbDrone.Core.MediaCover;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Music;
@@ -14,10 +15,12 @@ namespace NzbDrone.Core.Notifications.Discord
public class Discord : NotificationBase
{
private readonly IDiscordProxy _proxy;
+ private readonly IConfigFileProvider _configFileProvider;
- public Discord(IDiscordProxy proxy)
+ public Discord(IDiscordProxy proxy, IConfigFileProvider configFileProvider)
{
_proxy = proxy;
+ _configFileProvider = configFileProvider;
}
public override string Name => "Discord";
@@ -33,7 +36,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/lidarr/Lidarr/develop/Logo/256.png"
},
Url = $"https://musicbrainz.org/artist/{artist.ForeignArtistId}",
@@ -138,7 +141,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/lidarr/Lidarr/develop/Logo/256.png"
},
Url = $"https://musicbrainz.org/artist/{artist.ForeignArtistId}",
@@ -296,7 +299,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/lidarr/Lidarr/develop/Logo/256.png"
},
Title = healthCheck.Source.Name,
@@ -319,7 +322,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/Lidarr/Lidarr/develop/Logo/256.png"
},
Title = "Health Issue Resolved: " + previousCheck.Source.Name,
@@ -342,7 +345,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/lidarr/Lidarr/develop/Logo/256.png"
},
Title = TRACK_RETAGGED_TITLE,
@@ -363,7 +366,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/lidarr/Lidarr/develop/Logo/256.png"
},
Description = message.Message,
@@ -385,7 +388,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/lidarr/Lidarr/develop/Logo/256.png"
},
Description = message.Message,
@@ -407,7 +410,7 @@ namespace NzbDrone.Core.Notifications.Discord
{
Author = new DiscordAuthor
{
- Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
+ Name = Settings.Author.IsNullOrWhiteSpace() ? _configFileProvider.InstanceName : Settings.Author,
IconUrl = "https://raw.githubusercontent.com/lidarr/Lidarr/develop/Logo/256.png"
},
Title = APPLICATION_UPDATE_TITLE,
@@ -511,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;
}
}
}
diff --git a/src/NzbDrone.Core/Notifications/Notifiarr/Notifiarr.cs b/src/NzbDrone.Core/Notifications/Notifiarr/Notifiarr.cs
index 3d5300de8..dccf38f6e 100644
--- a/src/NzbDrone.Core/Notifications/Notifiarr/Notifiarr.cs
+++ b/src/NzbDrone.Core/Notifications/Notifiarr/Notifiarr.cs
@@ -2,9 +2,11 @@ using System.Collections.Generic;
using FluentValidation.Results;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Configuration;
+using NzbDrone.Core.MediaCover;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Music;
using NzbDrone.Core.Notifications.Webhook;
+using NzbDrone.Core.Tags;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Notifications.Notifiarr
@@ -13,8 +15,8 @@ namespace NzbDrone.Core.Notifications.Notifiarr
{
private readonly INotifiarrProxy _proxy;
- public Notifiarr(INotifiarrProxy proxy, IConfigFileProvider configFileProvider, IConfigService configService)
- : base(configFileProvider, configService)
+ public Notifiarr(INotifiarrProxy proxy, IConfigFileProvider configFileProvider, IConfigService configService, ITagRepository tagRepository, IMapCoversToLocal mediaCoverService)
+ : base(configFileProvider, configService, tagRepository, mediaCoverService)
{
_proxy = proxy;
}
diff --git a/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs b/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs
index 9c0f1855b..489d11d23 100644
--- a/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs
+++ b/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs
@@ -2,8 +2,10 @@ using System.Collections.Generic;
using FluentValidation.Results;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Configuration;
+using NzbDrone.Core.MediaCover;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Music;
+using NzbDrone.Core.Tags;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Notifications.Webhook
@@ -12,8 +14,8 @@ namespace NzbDrone.Core.Notifications.Webhook
{
private readonly IWebhookProxy _proxy;
- public Webhook(IWebhookProxy proxy, IConfigFileProvider configFileProvider, IConfigService configService)
- : base(configFileProvider, configService)
+ public Webhook(IWebhookProxy proxy, IConfigFileProvider configFileProvider, IConfigService configService, ITagRepository tagRepository, IMapCoversToLocal mediaCoverService)
+ : base(configFileProvider, configService, tagRepository, mediaCoverService)
{
_proxy = proxy;
}
diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookAlbum.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookAlbum.cs
index 11a324595..a9070245d 100644
--- a/src/NzbDrone.Core/Notifications/Webhook/WebhookAlbum.cs
+++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookAlbum.cs
@@ -7,6 +7,17 @@ namespace NzbDrone.Core.Notifications.Webhook
{
public class WebhookAlbum
{
+ public int Id { get; set; }
+ public string MBId { get; set; }
+ public string Title { get; set; }
+ public string Disambiguation { get; set; }
+ public string Overview { get; set; }
+ public string AlbumType { get; set; }
+ public List SecondaryAlbumTypes { get; set; }
+ public DateTime? ReleaseDate { get; set; }
+ public List Genres { get; set; }
+ public List Images { get; set; }
+
public WebhookAlbum()
{
}
@@ -20,18 +31,9 @@ namespace NzbDrone.Core.Notifications.Webhook
Overview = album.Overview;
AlbumType = album.AlbumType;
SecondaryAlbumTypes = album.SecondaryTypes.Select(x => x.Name).ToList();
- Genres = album.Genres;
ReleaseDate = album.ReleaseDate;
+ Genres = album.Genres;
+ Images = album.Images.Select(i => new WebhookImage(i)).ToList();
}
-
- public int Id { get; set; }
- public string MBId { get; set; }
- public string Title { get; set; }
- public string Disambiguation { get; set; }
- public string Overview { get; set; }
- public string AlbumType { get; set; }
- public List SecondaryAlbumTypes { get; set; }
- public List Genres { get; set; }
- public DateTime? ReleaseDate { get; set; }
}
}
diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookArtist.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookArtist.cs
index 98acf34c0..19ba28319 100644
--- a/src/NzbDrone.Core/Notifications/Webhook/WebhookArtist.cs
+++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookArtist.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using System.Linq;
using NzbDrone.Core.Music;
namespace NzbDrone.Core.Notifications.Webhook
@@ -13,21 +14,25 @@ namespace NzbDrone.Core.Notifications.Webhook
public string Type { get; set; }
public string Overview { get; set; }
public List Genres { get; set; }
+ public List Images { get; set; }
+ public List Tags { get; set; }
public WebhookArtist()
{
}
- public WebhookArtist(Artist artist)
+ public WebhookArtist(Artist artist, List tags)
{
Id = artist.Id;
Name = artist.Name;
Disambiguation = artist.Metadata.Value.Disambiguation;
Path = artist.Path;
+ MBId = artist.Metadata.Value.ForeignArtistId;
Type = artist.Metadata.Value.Type;
Overview = artist.Metadata.Value.Overview;
Genres = artist.Metadata.Value.Genres;
- MBId = artist.Metadata.Value.ForeignArtistId;
+ Images = artist.Metadata.Value.Images.Select(i => new WebhookImage(i)).ToList();
+ Tags = tags;
}
}
}
diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs
index 9c84efb3e..bd378ae0f 100644
--- a/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs
+++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs
@@ -1,8 +1,11 @@
using System.Collections.Generic;
using System.Linq;
+using NzbDrone.Common.Extensions;
using NzbDrone.Core.Configuration;
+using NzbDrone.Core.MediaCover;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Music;
+using NzbDrone.Core.Tags;
using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Notifications.Webhook
@@ -12,11 +15,15 @@ namespace NzbDrone.Core.Notifications.Webhook
{
private readonly IConfigFileProvider _configFileProvider;
private readonly IConfigService _configService;
+ private readonly ITagRepository _tagRepository;
+ private readonly IMapCoversToLocal _mediaCoverService;
- protected WebhookBase(IConfigFileProvider configFileProvider, IConfigService configService)
+ protected WebhookBase(IConfigFileProvider configFileProvider, IConfigService configService, ITagRepository tagRepository, IMapCoversToLocal mediaCoverService)
{
_configFileProvider = configFileProvider;
_configService = configService;
+ _tagRepository = tagRepository;
+ _mediaCoverService = mediaCoverService;
}
public WebhookGrabPayload BuildOnGrabPayload(GrabMessage message)
@@ -29,8 +36,8 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.Grab,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(message.Artist),
- Albums = remoteAlbum.Albums.Select(x => new WebhookAlbum(x)).ToList(),
+ Artist = GetArtist(message.Artist),
+ Albums = remoteAlbum.Albums.Select(GetAlbum).ToList(),
Release = new WebhookRelease(quality, remoteAlbum),
DownloadClient = message.DownloadClientName,
DownloadClientType = message.DownloadClientType,
@@ -47,8 +54,8 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.Download,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(message.Artist),
- Album = new WebhookAlbum(message.Album),
+ Artist = GetArtist(message.Artist),
+ Album = GetAlbum(message.Album),
Tracks = trackFiles.SelectMany(x => x.Tracks.Value.Select(y => new WebhookTrack(y))).ToList(),
TrackFiles = trackFiles.ConvertAll(x => new WebhookTrackFile(x)),
IsUpgrade = message.OldFiles.Any(),
@@ -89,7 +96,7 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.ImportFailure,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(message.Artist),
+ Artist = GetArtist(message.Artist),
Tracks = trackFiles.SelectMany(x => x.Tracks.Value.Select(y => new WebhookTrack(y))).ToList(),
TrackFiles = trackFiles.ConvertAll(x => new WebhookTrackFile(x)),
IsUpgrade = message.OldFiles.Any(),
@@ -113,7 +120,7 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.Rename,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(artist),
+ Artist = GetArtist(artist),
RenamedTrackFiles = renamedFiles.ConvertAll(x => new WebhookRenamedTrackFile(x))
};
}
@@ -125,7 +132,7 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.Retag,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(message.Artist),
+ Artist = GetArtist(message.Artist),
TrackFile = new WebhookTrackFile(message.TrackFile)
};
}
@@ -137,7 +144,7 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.ArtistAdd,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(addMessage.Artist),
+ Artist = GetArtist(addMessage.Artist),
};
}
@@ -148,7 +155,7 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.ArtistDelete,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(deleteMessage.Artist),
+ Artist = GetArtist(deleteMessage.Artist),
DeletedFiles = deleteMessage.DeletedFiles
};
}
@@ -160,8 +167,8 @@ namespace NzbDrone.Core.Notifications.Webhook
EventType = WebhookEventType.AlbumDelete,
InstanceName = _configFileProvider.InstanceName,
ApplicationUrl = _configService.ApplicationUrl,
- Artist = new WebhookArtist(deleteMessage.Album.Artist),
- Album = new WebhookAlbum(deleteMessage.Album),
+ Artist = GetArtist(deleteMessage.Album.Artist),
+ Album = GetAlbum(deleteMessage.Album),
DeletedFiles = deleteMessage.DeletedFiles
};
}
@@ -218,7 +225,8 @@ namespace NzbDrone.Core.Notifications.Webhook
Id = 1,
Name = "Test Name",
Path = "C:\\testpath",
- MBId = "aaaaa-aaa-aaaa-aaaaaa"
+ MBId = "aaaaa-aaa-aaaa-aaaaaa",
+ Tags = new List { "test-tag" }
},
Albums = new List
{
@@ -230,5 +238,43 @@ namespace NzbDrone.Core.Notifications.Webhook
}
};
}
+
+ private WebhookArtist GetArtist(Artist artist)
+ {
+ if (artist?.Metadata?.Value == null)
+ {
+ return null;
+ }
+
+ _mediaCoverService.ConvertToLocalUrls(artist.Id, MediaCoverEntity.Artist, artist.Metadata.Value.Images);
+
+ return new WebhookArtist(artist, GetTagLabels(artist));
+ }
+
+ private WebhookAlbum GetAlbum(Album album)
+ {
+ if (album == null)
+ {
+ return null;
+ }
+
+ _mediaCoverService.ConvertToLocalUrls(album.Id, MediaCoverEntity.Album, album.Images);
+
+ return new WebhookAlbum(album);
+ }
+
+ private List GetTagLabels(Artist artist)
+ {
+ if (artist == null)
+ {
+ return null;
+ }
+
+ return _tagRepository.GetTags(artist.Tags)
+ .Select(s => s.Label)
+ .Where(l => l.IsNotNullOrWhiteSpace())
+ .OrderBy(l => l)
+ .ToList();
+ }
}
}
diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookImage.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookImage.cs
new file mode 100644
index 000000000..87f511dc1
--- /dev/null
+++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookImage.cs
@@ -0,0 +1,18 @@
+using NzbDrone.Core.MediaCover;
+
+namespace NzbDrone.Core.Notifications.Webhook
+{
+ public class WebhookImage
+ {
+ public MediaCoverTypes CoverType { get; set; }
+ public string Url { get; set; }
+ public string RemoteUrl { get; set; }
+
+ public WebhookImage(MediaCover.MediaCover image)
+ {
+ CoverType = image.CoverType;
+ RemoteUrl = image.RemoteUrl;
+ Url = image.Url;
+ }
+ }
+}
diff --git a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs
index abfa9399d..a3342f5b3 100644
--- a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs
+++ b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs
@@ -258,7 +258,7 @@ namespace NzbDrone.Core.Organizer
title = ScenifyReplaceChars.Replace(title, " ");
title = ScenifyRemoveChars.Replace(title, string.Empty);
- return title;
+ return title.RemoveDiacritics();
}
public static string TitleThe(string title)
diff --git a/src/NzbDrone.Core/Parser/QualityParser.cs b/src/NzbDrone.Core/Parser/QualityParser.cs
index 32b7e7542..1bfca5fea 100644
--- a/src/NzbDrone.Core/Parser/QualityParser.cs
+++ b/src/NzbDrone.Core/Parser/QualityParser.cs
@@ -36,9 +36,9 @@ namespace NzbDrone.Core.Parser
(?V2[ ]?kbps|V2|[\[\(].*V2.*[\]\)]))\b",
RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
- private static readonly Regex SampleSizeRegex = new (@"\b(?:(?24[-._ ]?bit|tr24|24-(?:44|48|96|192)|[\[\(].*24bit.*[\]\)]))\b", RegexOptions.Compiled);
+ private static readonly Regex SampleSizeRegex = new (@"\b(?:(?24[-._ ]?bit|flac24(?:[-._ ]?bit)?|tr24|24-(?:44|48|96|192)|[\[\(].*24bit.*[\]\)]))\b", RegexOptions.Compiled);
- private static readonly Regex CodecRegex = new (@"\b(?:(?MPEG Version \d(.5)? Audio, Layer 1|MP1)|(?MPEG Version \d(.5)? Audio, Layer 2|MP2)|(?MP3.*VBR|MPEG Version \d(.5)? Audio, Layer 3 vbr)|(?MP3|MPEG Version \d(.5)? Audio, Layer 3)|(?(web)?flac|TR24)|(?wavpack|wv)|(?alac)|(?WMA\d?)|(?WAV|PCM)|(?M4A|M4P|M4B|AAC|mp4a|MPEG-4 Audio(?!.*alac))|(?OGG|OGA|Vorbis))\b|(?monkey's audio|[\[|\(].*\bape\b.*[\]|\)])|(?Opus Version \d(.5)? Audio|[\[|\(].*\bopus\b.*[\]|\)])",
+ private static readonly Regex CodecRegex = new (@"\b(?:(?MPEG Version \d(.5)? Audio, Layer 1|MP1)|(?MPEG Version \d(.5)? Audio, Layer 2|MP2)|(?MP3.*VBR|MPEG Version \d(.5)? Audio, Layer 3 vbr)|(?MP3|MPEG Version \d(.5)? Audio, Layer 3)|(?(web)?flac(?:24(?:[-._ ]?bit)?)?|TR24)|(?wavpack|wv)|(?alac)|(?WMA\d?)|(?WAV|PCM)|(?M4A|M4P|M4B|AAC|mp4a|MPEG-4 Audio(?!.*alac))|(?OGG|OGA|Vorbis))\b|(?monkey's audio|[\[|\(].*\bape\b.*[\]|\)])|(?Opus Version \d(.5)? Audio|[\[|\(].*\bopus\b.*[\]|\)])",
RegexOptions.Compiled | RegexOptions.IgnoreCase);
private static readonly Regex WebRegex = new (@"\b(?WEB)(?:\b|$|[ .])",
@@ -59,7 +59,7 @@ namespace NzbDrone.Core.Parser
if (desc.IsNotNullOrWhiteSpace())
{
var descCodec = ParseCodec(desc, "");
- Logger.Trace($"Got codec {descCodec}");
+ Logger.Trace("Got codec {0}", descCodec);
result.Quality = FindQuality(descCodec, fileBitrate, fileSampleSize);
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);
diff --git a/src/NzbDrone.Core/Tags/TagRepository.cs b/src/NzbDrone.Core/Tags/TagRepository.cs
index 4851ad223..5743dd4a6 100644
--- a/src/NzbDrone.Core/Tags/TagRepository.cs
+++ b/src/NzbDrone.Core/Tags/TagRepository.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Messaging.Events;
@@ -9,6 +10,7 @@ namespace NzbDrone.Core.Tags
{
Tag GetByLabel(string label);
Tag FindByLabel(string label);
+ List GetTags(HashSet tagIds);
}
public class TagRepository : BasicRepository, ITagRepository
@@ -34,5 +36,10 @@ namespace NzbDrone.Core.Tags
{
return Query(c => c.Label == label).SingleOrDefault();
}
+
+ public List GetTags(HashSet tagIds)
+ {
+ return Query(t => tagIds.Contains(t.Id));
+ }
}
}
diff --git a/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs b/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs
index ca5e2743f..df7fe0919 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistEditorFixture.cs
@@ -7,6 +7,7 @@ using NzbDrone.Test.Common;
namespace NzbDrone.Integration.Test.ApiTests
{
[TestFixture]
+ [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 61279a695..7d4836ef0 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistFixture.cs
@@ -7,6 +7,7 @@ using NUnit.Framework;
namespace NzbDrone.Integration.Test.ApiTests
{
[TestFixture]
+ [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 af78cd1b5..afc485358 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/ArtistLookupFixture.cs
@@ -4,6 +4,7 @@ using NUnit.Framework;
namespace NzbDrone.Integration.Test.ApiTests
{
[TestFixture]
+ [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 e727e4608..532bd5829 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/BlocklistFixture.cs
@@ -6,6 +6,7 @@ using NUnit.Framework;
namespace NzbDrone.Integration.Test.ApiTests
{
[TestFixture]
+ [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 240bc9553..e48af394d 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/CalendarFixture.cs
@@ -9,6 +9,7 @@ using NzbDrone.Integration.Test.Client;
namespace NzbDrone.Integration.Test.ApiTests
{
[TestFixture]
+ [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 91a86091d..2e2f0cc63 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/TrackFixture.cs
@@ -7,6 +7,7 @@ using NUnit.Framework;
namespace NzbDrone.Integration.Test.ApiTests
{
[TestFixture]
+ [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 2a859aefb..95c734097 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/CutoffUnmetFixture.cs
@@ -8,6 +8,7 @@ using NzbDrone.Core.Qualities;
namespace NzbDrone.Integration.Test.ApiTests.WantedTests
{
[TestFixture]
+ [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 934543499..76437ecc5 100644
--- a/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs
+++ b/src/NzbDrone.Integration.Test/ApiTests/WantedTests/MissingFixture.cs
@@ -7,6 +7,7 @@ using NzbDrone.Core.Music;
namespace NzbDrone.Integration.Test.ApiTests.WantedTests
{
[TestFixture]
+ [Ignore("Waiting for metadata to be back again", Until = "2025-09-01 00:00:00Z")]
public class MissingFixture : IntegrationTest
{
[SetUp]
diff --git a/src/NzbDrone.Mono/Lidarr.Mono.csproj b/src/NzbDrone.Mono/Lidarr.Mono.csproj
index 73a45be81..386105c02 100644
--- a/src/NzbDrone.Mono/Lidarr.Mono.csproj
+++ b/src/NzbDrone.Mono/Lidarr.Mono.csproj
@@ -4,7 +4,7 @@
true
-
+
diff --git a/src/NzbDrone.Test.Common/Lidarr.Test.Common.csproj b/src/NzbDrone.Test.Common/Lidarr.Test.Common.csproj
index 704b7b0df..77109c6a9 100644
--- a/src/NzbDrone.Test.Common/Lidarr.Test.Common.csproj
+++ b/src/NzbDrone.Test.Common/Lidarr.Test.Common.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/src/NzbDrone.Update/Lidarr.Update.csproj b/src/NzbDrone.Update/Lidarr.Update.csproj
index d2d84022e..c23403b1a 100644
--- a/src/NzbDrone.Update/Lidarr.Update.csproj
+++ b/src/NzbDrone.Update/Lidarr.Update.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/src/NzbDrone.Windows/Lidarr.Windows.csproj b/src/NzbDrone.Windows/Lidarr.Windows.csproj
index 7f41c9233..4914272c2 100644
--- a/src/NzbDrone.Windows/Lidarr.Windows.csproj
+++ b/src/NzbDrone.Windows/Lidarr.Windows.csproj
@@ -4,7 +4,7 @@
true
-
+
diff --git a/yarn.lock b/yarn.lock
index a08388e6b..0e2d62c5c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2323,9 +2323,9 @@ camelcase@^5.3.1:
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001663:
- version "1.0.30001668"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001668.tgz#98e214455329f54bf7a4d70b49c9794f0fbedbed"
- integrity sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==
+ version "1.0.30001715"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz"
+ integrity sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==
chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
@@ -2536,10 +2536,10 @@ core-js-compat@^3.38.0, core-js-compat@^3.38.1:
dependencies:
browserslist "^4.23.3"
-core-js@3.39.0:
- version "3.39.0"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.39.0.tgz#57f7647f4d2d030c32a72ea23a0555b2eaa30f83"
- integrity sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==
+core-js@3.41.0:
+ version "3.41.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.41.0.tgz#57714dafb8c751a6095d028a7428f1fb5834a776"
+ integrity sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==
core-js@^2.4.0:
version "2.6.12"