parent
41ed300899
commit
11f96c3104
|
@ -30,9 +30,11 @@ namespace NzbDrone.Core.Test.Localization
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void should_get_string_in_default_language_dictionary_if_no_lang_country_code_exists_and_string_exists()
|
||||
public void should_get_string_in_french()
|
||||
{
|
||||
var localizedString = Subject.GetLocalizedString("UiLanguage", "fr_fr");
|
||||
Mocker.GetMock<IConfigService>().Setup(m => m.UILanguage).Returns((int)Language.French);
|
||||
|
||||
var localizedString = Subject.GetLocalizedString("UiLanguage");
|
||||
|
||||
localizedString.Should().Be("UI Langue");
|
||||
|
||||
|
@ -40,19 +42,10 @@ namespace NzbDrone.Core.Test.Localization
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void should_get_string_in_default_dictionary_if_no_lang_exists_and_string_exists()
|
||||
public void should_get_string_in_default_dictionary_if_unknown_language_and_string_exists()
|
||||
{
|
||||
var localizedString = Subject.GetLocalizedString("UiLanguage", "an");
|
||||
|
||||
localizedString.Should().Be("UI Language");
|
||||
|
||||
ExceptionVerification.ExpectedErrors(1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_get_string_in_default_dictionary_if_lang_empty_and_string_exists()
|
||||
{
|
||||
var localizedString = Subject.GetLocalizedString("UiLanguage", "");
|
||||
Mocker.GetMock<IConfigService>().Setup(m => m.UILanguage).Returns(0);
|
||||
var localizedString = Subject.GetLocalizedString("UiLanguage");
|
||||
|
||||
localizedString.Should().Be("UI Language");
|
||||
}
|
||||
|
@ -60,7 +53,7 @@ namespace NzbDrone.Core.Test.Localization
|
|||
[Test]
|
||||
public void should_return_argument_if_string_doesnt_exists()
|
||||
{
|
||||
var localizedString = Subject.GetLocalizedString("badString", "en");
|
||||
var localizedString = Subject.GetLocalizedString("badString");
|
||||
|
||||
localizedString.Should().Be("badString");
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Configuration.Events;
|
||||
|
@ -28,7 +29,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
_logger.Warn("Please update your API key to be at least {0} characters long. You can do this via settings or the config file", MinimumLength);
|
||||
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("ApiKeyValidationHealthCheckMessage"), MinimumLength), "#invalid-api-key");
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Warning, _localizationService.GetLocalizedString("ApiKeyValidationHealthCheckMessage", new Dictionary<string, object> { { "MinimumLength", MinimumLength } }), "#invalid-api-key");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType());
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Download;
|
||||
|
@ -44,7 +45,11 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
$"{string.Format(_localizationService.GetLocalizedString("DownloadClientCheckUnableToCommunicateWithHealthCheckMessage"), downloadClient.Definition.Name)} {ex.Message}",
|
||||
_localizationService.GetLocalizedString("DownloadClientCheckUnableToCommunicateWithHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", downloadClient.Definition.Name },
|
||||
{ "errorMessage", ex.Message }
|
||||
}),
|
||||
"#unable-to-communicate-with-download-client");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Datastore.Events;
|
||||
using NzbDrone.Core.Download;
|
||||
|
@ -44,7 +45,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("DownloadClientRemovesCompletedDownloadsHealthCheckMessage"), clientName, "Sonarr"),
|
||||
_localizationService.GetLocalizedString("DownloadClientRemovesCompletedDownloadsHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", clientName }
|
||||
}),
|
||||
"#download-client-removes-completed-downloads");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using NLog;
|
||||
|
@ -53,7 +54,11 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("DownloadClientRootFolderHealthCheckMessage"), client.Definition.Name, folder.FullPath),
|
||||
_localizationService.GetLocalizedString("DownloadClientRootFolderHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", folder.FullPath }
|
||||
}),
|
||||
"#downloads-in-root-folder");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Datastore.Events;
|
||||
|
@ -45,7 +46,11 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("DownloadClientSortingHealthCheckMessage"), clientName, status.SortingMode),
|
||||
_localizationService.GetLocalizedString("DownloadClientSortingHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", clientName },
|
||||
{ "sortingMode", status.SortingMode }
|
||||
}),
|
||||
"#download-folder-and-library-folder-not-different-folders");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Download;
|
||||
|
@ -45,7 +46,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("DownloadClientStatusSingleClientHealthCheckMessage"), string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))),
|
||||
_localizationService.GetLocalizedString("DownloadClientStatusSingleClientHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientNames", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name)) }
|
||||
}),
|
||||
"#download-clients-are-unavailable-due-to-failures");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,13 +54,19 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("ImportListRootFolderMissingRootHealthCheckMessage"), FormatRootFolder(missingRootFolder.Key, missingRootFolder.Value)),
|
||||
_localizationService.GetLocalizedString("ImportListRootFolderMissingRootHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "rootFolderInfo", FormatRootFolder(missingRootFolder.Key, missingRootFolder.Value) }
|
||||
}),
|
||||
"#import-list-missing-root-folder");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("ImportListRootFolderMultipleMissingRootsHealthCheckMessage"), string.Join(" | ", missingRootFolders.Select(m => FormatRootFolder(m.Key, m.Value)))),
|
||||
_localizationService.GetLocalizedString("ImportListRootFolderMultipleMissingRootsHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "rootFoldersInfo", string.Join(" | ", missingRootFolders.Select(m => FormatRootFolder(m.Key, m.Value))) }
|
||||
}),
|
||||
"#import-list-missing-root-folder");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.ImportLists;
|
||||
|
@ -45,7 +46,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("ImportListStatusUnavailableHealthCheckMessage"), string.Join(", ", backOffProviders.Select(v => v.ImportList.Definition.Name))),
|
||||
_localizationService.GetLocalizedString("ImportListStatusUnavailableHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "importListNames", string.Join(", ", backOffProviders.Select(v => v.ImportList.Definition.Name)) }
|
||||
}),
|
||||
"#import-lists-are-unavailable-due-to-failures");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Core.Download;
|
||||
using NzbDrone.Core.Indexers;
|
||||
|
@ -35,7 +36,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("IndexerDownloadClientHealthCheckMessage"), string.Join(", ", invalidIndexers.Select(v => v.Name).ToArray())),
|
||||
_localizationService.GetLocalizedString("IndexerDownloadClientHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "indexerNames", string.Join(", ", invalidIndexers.Select(v => v.Name).ToArray()) }
|
||||
}),
|
||||
"#invalid-indexer-download-client-setting");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Indexers;
|
||||
|
@ -41,7 +42,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("IndexerJackettAllHealthCheckMessage"), string.Join(", ", jackettAllProviders.Select(i => i.Name))),
|
||||
_localizationService.GetLocalizedString("IndexerJackettAllHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "indexerNames", string.Join(", ", jackettAllProviders.Select(i => i.Name)) }
|
||||
}),
|
||||
"#jackett-all-endpoint-used");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Indexers;
|
||||
|
@ -48,7 +49,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("IndexerLongTermStatusUnavailableHealthCheckMessage"), string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))),
|
||||
_localizationService.GetLocalizedString("IndexerLongTermStatusUnavailableHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "indexerNames", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name)) }
|
||||
}),
|
||||
"#indexers-are-unavailable-due-to-failures");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Indexers;
|
||||
|
@ -48,7 +49,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("IndexerStatusUnavailableHealthCheckMessage"), string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))),
|
||||
_localizationService.GetLocalizedString("IndexerStatusUnavailableHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "indexerNames", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name)) }
|
||||
}),
|
||||
"#indexers-are-unavailable-due-to-failures");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Localization;
|
||||
|
@ -45,7 +46,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Warning,
|
||||
string.Format(_localizationService.GetLocalizedString("NotificationStatusSingleClientHealthCheckMessage"), string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))),
|
||||
_localizationService.GetLocalizedString("NotificationStatusSingleClientHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "notificationNames", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name)) }
|
||||
}),
|
||||
"#notifications-are-unavailable-due-to-failures");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using NLog;
|
||||
|
@ -42,7 +43,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("ProxyResolveIpHealthCheckMessage"), _configService.ProxyHostname),
|
||||
_localizationService.GetLocalizedString("ProxyResolveIpHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "proxyHostName", _configService.ProxyHostname }
|
||||
}),
|
||||
"#proxy-failed-resolve-ip");
|
||||
}
|
||||
|
||||
|
@ -61,7 +65,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("ProxyBadRequestHealthCheckMessage"), response.StatusCode),
|
||||
_localizationService.GetLocalizedString("ProxyBadRequestHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "statusCode", response.StatusCode }
|
||||
}),
|
||||
"#proxy-failed-test");
|
||||
}
|
||||
}
|
||||
|
@ -71,7 +78,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("ProxyFailedToTestHealthCheckMessage"), request.Url),
|
||||
_localizationService.GetLocalizedString("ProxyFailedToTestHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "url", request.Url }
|
||||
}),
|
||||
"#proxy-failed-test");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Configuration;
|
||||
|
@ -33,7 +34,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("RecycleBinUnableToWriteHealthCheckMessage"), recycleBin),
|
||||
_localizationService.GetLocalizedString("RecycleBinUnableToWriteHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "path", recycleBin }
|
||||
}),
|
||||
"#cannot-write-recycle-bin");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using NLog;
|
||||
|
@ -68,30 +69,92 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
if (!status.IsLocalhost)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingWrongOSPathHealthCheckMessage"), client.Definition.Name, folder.FullPath, _osInfo.Name), "#bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", folder.FullPath },
|
||||
{ "osName", _osInfo.Name }
|
||||
}),
|
||||
"#bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
if (_osInfo.IsDocker)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingBadDockerPathHealthCheckMessage"), client.Definition.Name, folder.FullPath, _osInfo.Name), "#docker-bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", folder.FullPath },
|
||||
{ "osName", _osInfo.Name }
|
||||
}),
|
||||
"#docker-bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingLocalWrongOSPathHealthCheckMessage"), client.Definition.Name, folder.FullPath, _osInfo.Name), "#bad-download-client-settings");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", folder.FullPath },
|
||||
{ "osName", _osInfo.Name }
|
||||
}),
|
||||
"#bad-download-client-settings");
|
||||
}
|
||||
|
||||
if (!_diskProvider.FolderExists(folder.FullPath))
|
||||
{
|
||||
if (_osInfo.IsDocker)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingDockerFolderMissingHealthCheckMessage"), client.Definition.Name, folder.FullPath), "#docker-bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", folder.FullPath }
|
||||
}),
|
||||
"#docker-bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
if (!status.IsLocalhost)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingLocalFolderMissingHealthCheckMessage"), client.Definition.Name, folder.FullPath), "#bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", folder.FullPath }
|
||||
}),
|
||||
"#bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingGenericPermissionsHealthCheckMessage"), client.Definition.Name, folder.FullPath), "#permissions-error");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", folder.FullPath }
|
||||
}),
|
||||
"#permissions-error");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -129,12 +192,28 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
|
||||
if (_diskProvider.FileExists(episodePath))
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingDownloadPermissionsHealthCheckMessage"), episodePath), "#permissions-error");
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "path", episodePath }
|
||||
}),
|
||||
"#permissions-error");
|
||||
}
|
||||
|
||||
// If the file doesn't exist but EpisodeInfo is not null then the message is coming from
|
||||
// ImportApprovedEpisodes and the file must have been removed part way through processing
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingFileRemovedHealthCheckMessage"), episodePath), "#remote-path-file-removed");
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "path", episodePath }
|
||||
}),
|
||||
"#remote-path-file-removed");
|
||||
}
|
||||
|
||||
// If the previous case did not match then the failure occured in DownloadedEpisodeImportService,
|
||||
|
@ -156,42 +235,118 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
// that the user realises something is wrong.
|
||||
if (dlpath.IsNullOrWhiteSpace())
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, _localizationService.GetLocalizedString("RemotePathMappingImportFailedHealthCheckMessage"), "#remote-path-import-failed");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString("RemotePathMappingImportFailedHealthCheckMessage"),
|
||||
"#remote-path-import-failed");
|
||||
}
|
||||
|
||||
if (!dlpath.IsPathValid(PathValidationType.CurrentOs))
|
||||
{
|
||||
if (!status.IsLocalhost)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingFilesWrongOSPathHealthCheckMessage"), client.Definition.Name, dlpath, _osInfo.Name), "#bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", dlpath },
|
||||
{ "osName", _osInfo.Name }
|
||||
}),
|
||||
"#bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
if (_osInfo.IsDocker)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingFilesBadDockerPathHealthCheckMessage"), client.Definition.Name, dlpath, _osInfo.Name), "#docker-bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", dlpath },
|
||||
{ "osName", _osInfo.Name }
|
||||
}),
|
||||
"#docker-bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage"), client.Definition.Name, dlpath, _osInfo.Name), "#bad-download-client-settings");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", dlpath },
|
||||
{ "osName", _osInfo.Name }
|
||||
}),
|
||||
"#bad-download-client-settings");
|
||||
}
|
||||
|
||||
if (_diskProvider.FolderExists(dlpath))
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingFolderPermissionsHealthCheckMessage"), dlpath), "#permissions-error");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "path", dlpath }
|
||||
}),
|
||||
"#permissions-error");
|
||||
}
|
||||
|
||||
// if it's a remote client/docker, likely missing path mappings
|
||||
if (_osInfo.IsDocker)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingFolderPermissionsHealthCheckMessage"), client.Definition.Name, dlpath), "#docker-bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", dlpath }
|
||||
}),
|
||||
"#docker-bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
if (!status.IsLocalhost)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingRemoteDownloadClientHealthCheckMessage"), client.Definition.Name, dlpath), "#bad-remote-path-mapping");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", dlpath },
|
||||
{ "osName", _osInfo.Name }
|
||||
}), "#bad-remote-path-mapping");
|
||||
}
|
||||
|
||||
// path mappings shouldn't be needed locally so probably a permissions issue
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("RemotePathMappingFilesGenericPermissionsHealthCheckMessage"), client.Definition.Name, dlpath), "#permissions-error");
|
||||
return new HealthCheck(
|
||||
GetType(),
|
||||
HealthCheckResult.Error,
|
||||
_localizationService.GetLocalizedString(
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "downloadClientName", client.Definition.Name },
|
||||
{ "path", dlpath }
|
||||
}),
|
||||
"#permissions-error");
|
||||
}
|
||||
catch (DownloadClientException ex)
|
||||
{
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Localization;
|
||||
|
@ -34,13 +35,19 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("RemovedSeriesSingleRemovedHealthCheckMessage"), seriesText),
|
||||
_localizationService.GetLocalizedString("RemovedSeriesSingleRemovedHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "series", seriesText }
|
||||
}),
|
||||
"#series-removed-from-thetvdb");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("RemovedSeriesMultipleRemovedHealthCheckMessage"), seriesText),
|
||||
_localizationService.GetLocalizedString("RemovedSeriesMultipleRemovedHealthCheckMessage", new Dictionary<string, object>
|
||||
{
|
||||
{ "series", seriesText }
|
||||
}),
|
||||
"#series-removed-from-thetvdb");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.Extensions;
|
||||
|
@ -42,13 +43,23 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("RootFolderMissingHealthCheckMessage"), missingRootFolders.First()),
|
||||
_localizationService.GetLocalizedString(
|
||||
"RootFolderMissingHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "rootFolderPath", missingRootFolders.First() }
|
||||
}),
|
||||
"#missing-root-folder");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("RootFolderMultipleMissingHealthCheckMessage"), string.Join(" | ", missingRootFolders)),
|
||||
_localizationService.GetLocalizedString(
|
||||
"RootFolderMultipleMissingHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "rootFolderPaths", string.Join(" | ", missingRootFolders) }
|
||||
}),
|
||||
"#missing-root-folder");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
|
@ -47,7 +48,12 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("UpdateStartupTranslocationHealthCheckMessage"), startupFolder),
|
||||
_localizationService.GetLocalizedString(
|
||||
"UpdateStartupTranslocationHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "startupFolder", startupFolder }
|
||||
}),
|
||||
"#cannot-install-update-because-startup-folder-is-in-an-app-translocation-folder.");
|
||||
}
|
||||
|
||||
|
@ -55,7 +61,13 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("UpdateStartupNotWritableHealthCheckMessage"), startupFolder, Environment.UserName),
|
||||
_localizationService.GetLocalizedString(
|
||||
"UpdateStartupNotWritableHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "startupFolder", startupFolder },
|
||||
{ "userName", Environment.UserName }
|
||||
}),
|
||||
"#cannot-install-update-because-startup-folder-is-not-writable-by-the-user");
|
||||
}
|
||||
|
||||
|
@ -63,7 +75,13 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
|||
{
|
||||
return new HealthCheck(GetType(),
|
||||
HealthCheckResult.Error,
|
||||
string.Format(_localizationService.GetLocalizedString("UpdateUINotWritableHealthCheckMessage"), uiFolder, Environment.UserName),
|
||||
_localizationService.GetLocalizedString(
|
||||
"UpdateUiNotWritableHealthCheckMessage",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "startupFolder", startupFolder },
|
||||
{ "userName", Environment.UserName }
|
||||
}),
|
||||
"#cannot-install-update-because-ui-folder-is-not-writable-by-the-user");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"Added": "Přidáno",
|
||||
"ApiKeyValidationHealthCheckMessage": "Aktualizujte svůj klíč API tak, aby měl alespoň {0} znaků. Můžete to provést prostřednictvím nastavení nebo konfiguračního souboru",
|
||||
"ApiKeyValidationHealthCheckMessage": "Aktualizujte svůj klíč API tak, aby měl alespoň {length} znaků. Můžete to provést prostřednictvím nastavení nebo konfiguračního souboru",
|
||||
"BlocklistRelease": "Blocklist pro vydání",
|
||||
"AgeWhenGrabbed": "Stáří (kdy bylo získáno)",
|
||||
"Always": "Vždy",
|
||||
|
@ -246,7 +246,7 @@
|
|||
"CustomFormatJson": "Vlastní JSON formát",
|
||||
"Debug": "Ladit",
|
||||
"Day": "Den",
|
||||
"DeleteCustomFormatMessageText": "Opravdu chcete odstranit vlastní formát '{0}'?",
|
||||
"DeleteCustomFormatMessageText": "Opravdu chcete odstranit vlastní formát '{customFormatName}'?",
|
||||
"DefaultNameCopiedProfile": "{name} - Kopírovat",
|
||||
"DefaultNameCopiedSpecification": "{name} - Kopírovat",
|
||||
"DefaultNotFoundMessage": "Asi jsi se ztratil, není tu nic k vidění.",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"Added": "Hinzugefügt",
|
||||
"ApiKeyValidationHealthCheckMessage": "Bitte den API Schlüssel korrigieren, dieser muss mindestens {0} Zeichen lang sein. Die Änderung kann über die Einstellungen oder die Konfigurationsdatei erfolgen",
|
||||
"ApiKeyValidationHealthCheckMessage": "Bitte den API Schlüssel korrigieren, dieser muss mindestens {length} Zeichen lang sein. Die Änderung kann über die Einstellungen oder die Konfigurationsdatei erfolgen",
|
||||
"AppDataLocationHealthCheckMessage": "Ein Update ist nicht möglich, um das Löschen von AppData beim Update zu verhindern",
|
||||
"RemoveCompletedDownloads": "Entferne abgeschlossene Downloads",
|
||||
"RemoveFailedDownloads": "Entferne fehlgeschlagene Downloads",
|
||||
|
@ -8,10 +8,10 @@
|
|||
"AutomaticAdd": "Automatisch hinzufügen",
|
||||
"CountSeasons": "{Anzahl} Staffeln",
|
||||
"DownloadClientCheckNoneAvailableHealthCheckMessage": "Es ist kein Download-Client verfügbar",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Kommunikation mit {0} nicht möglich.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Der Download-Client {0} legt Downloads im Stammordner {1} ab. Sie sollten nicht in einen Stammordner herunterladen.",
|
||||
"DownloadClientSortingHealthCheckMessage": "Im Download-Client {0} ist die Sortierung {1} für die Kategorie von {appName} aktiviert. Sie sollten die Sortierung in Ihrem Download-Client deaktivieren, um Importprobleme zu vermeiden.",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Download-Clients sind aufgrund von Fehlern nicht verfügbar: {0}",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Kommunikation mit {downloadClientName} nicht möglich.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Der Download-Client {downloadClientName} legt Downloads im Stammordner {rootFolderPath} ab. Sie sollten nicht in einen Stammordner herunterladen.",
|
||||
"DownloadClientSortingHealthCheckMessage": "Im Download-Client {downloadClientName} ist die Sortierung {sortingMode} für die Kategorie von {appName} aktiviert. Sie sollten die Sortierung in Ihrem Download-Client deaktivieren, um Importprobleme zu vermeiden.",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Download-Clients sind aufgrund von Fehlern nicht verfügbar: {downloadClientNames}",
|
||||
"DownloadClientStatusAllClientHealthCheckMessage": "Alle Download-Clients sind aufgrund von Fehlern nicht verfügbar",
|
||||
"EditSelectedDownloadClients": "Ausgewählte Download Clienten bearbeiten",
|
||||
"EditSelectedImportLists": "Ausgewählte Einspiel-Liste bearbeten",
|
||||
|
@ -22,10 +22,10 @@
|
|||
"Language": "Sprache",
|
||||
"CloneCondition": "Bedingung klonen",
|
||||
"DeleteCondition": "Bedingung löschen",
|
||||
"DeleteConditionMessageText": "Bist du sicher, dass du die Bedingung '{0}' löschen willst?",
|
||||
"DeleteCustomFormatMessageText": "Bist du sicher, dass du das eigene Format '{0}' löschen willst?",
|
||||
"DeleteConditionMessageText": "Bist du sicher, dass du die Bedingung '{name}' löschen willst?",
|
||||
"DeleteCustomFormatMessageText": "Bist du sicher, dass du das eigene Format '{customFormatName}' löschen willst?",
|
||||
"RemoveSelectedItemQueueMessageText": "Bist du sicher, dass du ein Eintrag aus der Warteschlange entfernen willst?",
|
||||
"RemoveSelectedItemsQueueMessageText": "Bist du sicher, dass du {0} Einträge aus der Warteschlange entfernen willst?",
|
||||
"RemoveSelectedItemsQueueMessageText": "Bist du sicher, dass du {selectedCount} Einträge aus der Warteschlange entfernen willst?",
|
||||
"DeleteSelectedDownloadClients": "Lösche Download Client(s)",
|
||||
"DeleteSelectedIndexers": "Lösche Indexer",
|
||||
"DeleteSelectedImportLists": "Lösche Einspiel Liste",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"AppDataLocationHealthCheckMessage": "Η ενημέρωση δεν θα είναι δυνατή για να αποτραπεί η διαγραφή των δεδομένων εφαρμογής κατά την ενημέρωση",
|
||||
"ApiKeyValidationHealthCheckMessage": "Παρακαλούμε ενημερώστε το κλείδι API ώστε να έχει τουλάχιστον {0} χαρακτήρες. Μπορείτε να το κάνετε αυτό μέσα από τις ρυθμίσεις ή το αρχείο ρυθμίσεων",
|
||||
"ApiKeyValidationHealthCheckMessage": "Παρακαλούμε ενημερώστε το κλείδι API ώστε να έχει τουλάχιστον {length} χαρακτήρες. Μπορείτε να το κάνετε αυτό μέσα από τις ρυθμίσεις ή το αρχείο ρυθμίσεων",
|
||||
"Added": "Προστέθηκε",
|
||||
"ApplyChanges": "Εφαρμογή Αλλαγών",
|
||||
"AutomaticAdd": "Αυτόματη Προσθήκη",
|
||||
|
@ -10,9 +10,9 @@
|
|||
"RemoveCompletedDownloads": "Αφαίρεση Ολοκληρωμένων Λήψεων",
|
||||
"RemoveFailedDownloads": "Αφαίρεση Αποτυχημένων Λήψεων",
|
||||
"DeleteCondition": "Διαγραφή συνθήκης",
|
||||
"DeleteConditionMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε τη συνθήκη '{0}';",
|
||||
"DeleteCustomFormatMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε τη προσαρμοσμένη μορφή '{0}';",
|
||||
"RemoveSelectedItemsQueueMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε {0} αντικείμενα από την ουρά;",
|
||||
"DeleteConditionMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε τη συνθήκη '{name}';",
|
||||
"DeleteCustomFormatMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε τη προσαρμοσμένη μορφή '{customFormatName}';",
|
||||
"RemoveSelectedItemsQueueMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε {selectedCount} αντικείμενα από την ουρά;",
|
||||
"CloneCondition": "Κλωνοποίηση συνθήκης",
|
||||
"RemoveSelectedItemQueueMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε 1 αντικείμενο από την ουρά;",
|
||||
"AddConditionImplementation": "Προσθήκη",
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
"AnimeTypeFormat": "Absolute episode number ({format})",
|
||||
"Any": "Any",
|
||||
"ApiKey": "API Key",
|
||||
"ApiKeyValidationHealthCheckMessage": "Please update your API key to be at least {0} characters long. You can do this via settings or the config file",
|
||||
"ApiKeyValidationHealthCheckMessage": "Please update your API key to be at least {length} characters long. You can do this via settings or the config file",
|
||||
"AppDataDirectory": "AppData directory",
|
||||
"AppDataLocationHealthCheckMessage": "Updating will not be possible to prevent deleting AppData on Update",
|
||||
"AppUpdated": "{appName} Updated",
|
||||
|
@ -284,7 +284,7 @@
|
|||
"DeleteCondition": "Delete Condition",
|
||||
"DeleteConditionMessageText": "Are you sure you want to delete the condition '{name}'?",
|
||||
"DeleteCustomFormat": "Delete Custom Format",
|
||||
"DeleteCustomFormatMessageText": "Are you sure you want to delete the custom format '{0}'?",
|
||||
"DeleteCustomFormatMessageText": "Are you sure you want to delete the custom format '{customFormatName}'?",
|
||||
"DeleteDelayProfile": "Delete Delay Profile",
|
||||
"DeleteDelayProfileMessageText": "Are you sure you want to delete this delay profile?",
|
||||
"DeleteDownloadClient": "Delete Download Client",
|
||||
|
@ -359,14 +359,14 @@
|
|||
"Download": "Download",
|
||||
"DownloadClient": "Download Client",
|
||||
"DownloadClientCheckNoneAvailableHealthCheckMessage": "No download client is available",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Unable to communicate with {0}.",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Unable to communicate with {downloadClientName}. {errorMessage}",
|
||||
"DownloadClientOptionsLoadError": "Unable to load download client options",
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Download client {0} is set to remove completed downloads. This can result in downloads being removed from your client before {1} can import them.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Download client {0} places downloads in the root folder {1}. You should not download to a root folder.",
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Download client {downloadClientName} is set to remove completed downloads. This can result in downloads being removed from your client before {appName} can import them.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Download client {downloadClientName} places downloads in the root folder {rootFolderPath}. You should not download to a root folder.",
|
||||
"DownloadClientSettings": "Download Client Settings",
|
||||
"DownloadClientSortingHealthCheckMessage": "Download client {0} has {1} sorting enabled for {appName}'s category. You should disable sorting in your download client to avoid import issues.",
|
||||
"DownloadClientSortingHealthCheckMessage": "Download client {downloadClientName} has {sortingMode} sorting enabled for {appName}'s category. You should disable sorting in your download client to avoid import issues.",
|
||||
"DownloadClientStatusAllClientHealthCheckMessage": "All download clients are unavailable due to failures",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Download clients unavailable due to failures: {0}",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Download clients unavailable due to failures: {downloadClientNames}",
|
||||
"DownloadClientTagHelpText": "Only use this download client for series with at least one matching tag. Leave blank to use with all series.",
|
||||
"DownloadClients": "Download Clients",
|
||||
"DownloadClientsLoadError": "Unable to load download clients",
|
||||
|
@ -613,13 +613,13 @@
|
|||
"ImportList": "Import List",
|
||||
"ImportListExclusions": "Import List Exclusions",
|
||||
"ImportListExclusionsLoadError": "Unable to load Import List Exclusions",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Missing root folder for import list(s): {0}",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Multiple root folders are missing for import lists: {0}",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Missing root folder for import list(s): {rootFolderInfo}",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Multiple root folders are missing for import lists: {rootFolderInfo}",
|
||||
"ImportListSearchForMissingEpisodes": "Search for Missing Episodes",
|
||||
"ImportListSearchForMissingEpisodesHelpText": "After series is added to {appName} automatically search for missing episodes",
|
||||
"ImportListSettings": "Import List Settings",
|
||||
"ImportListStatusAllUnavailableHealthCheckMessage": "All lists are unavailable due to failures",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Lists unavailable due to failures: {0}",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Lists unavailable due to failures: {importListNames}",
|
||||
"ImportLists": "Import Lists",
|
||||
"ImportListsLoadError": "Unable to load Import Lists",
|
||||
"ImportListsSettingsSummary": "Import from another {appName} instance or Trakt lists and manage list exclusions",
|
||||
|
@ -639,11 +639,11 @@
|
|||
"IncludeHealthWarnings": "Include Health Warnings",
|
||||
"IncludeUnmonitored": "Include Unmonitored",
|
||||
"Indexer": "Indexer",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexers with invalid download clients: {0}.",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexers with invalid download clients: {indexerNames}.",
|
||||
"IndexerDownloadClientHelpText": "Specify which download client is used for grabs from this indexer",
|
||||
"IndexerJackettAllHealthCheckMessage": "Indexers using the unsupported Jackett 'all' endpoint: {0}",
|
||||
"IndexerJackettAllHealthCheckMessage": "Indexers using the unsupported Jackett 'all' endpoint: {indexerNames}",
|
||||
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "All indexers are unavailable due to failures for more than 6 hours",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Indexers unavailable due to failures for more than 6 hours: {0}",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Indexers unavailable due to failures for more than 6 hours: {indexerNames}",
|
||||
"IndexerOptionsLoadError": "Unable to load indexer options",
|
||||
"IndexerPriority": "Indexer Priority",
|
||||
"IndexerPriorityHelpText": "Indexer Priority from 1 (Highest) to 50 (Lowest). Default: 25. Used when grabbing releases as a tiebreaker for otherwise equal releases, {appName} will still use all enabled indexers for RSS Sync and Searching",
|
||||
|
@ -654,7 +654,7 @@
|
|||
"IndexerSearchNoInteractiveHealthCheckMessage": "No indexers available with Interactive Search enabled, {appName} will not provide any interactive search results",
|
||||
"IndexerSettings": "Indexer Settings",
|
||||
"IndexerStatusAllUnavailableHealthCheckMessage": "All indexers are unavailable due to failures",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "Indexers unavailable due to failures: {0}",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "Indexers unavailable due to failures: {indexerNames}",
|
||||
"IndexerTagHelpText": "Only use this indexer for series with at least one matching tag. Leave blank to use with all series.",
|
||||
"Indexers": "Indexers",
|
||||
"IndexersLoadError": "Unable to load Indexers",
|
||||
|
@ -882,7 +882,7 @@
|
|||
"None": "None",
|
||||
"NotSeasonPack": "Not Season Pack",
|
||||
"NotificationStatusAllClientHealthCheckMessage": "All notifications are unavailable due to failures",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notifications unavailable due to failures: {0}",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notifications unavailable due to failures: {notificationNames}",
|
||||
"NotificationTriggers": "Notification Triggers",
|
||||
"NotificationTriggersHelpText": "Select which events should trigger this notification",
|
||||
"NotificationsLoadError": "Unable to load Notifications",
|
||||
|
@ -985,11 +985,11 @@
|
|||
"Protocol": "Protocol",
|
||||
"ProtocolHelpText": "Choose which protocol(s) to use and which one is preferred when choosing between otherwise equal releases",
|
||||
"Proxy": "Proxy",
|
||||
"ProxyBadRequestHealthCheckMessage": "Failed to test proxy. Status Code: {0}",
|
||||
"ProxyBadRequestHealthCheckMessage": "Failed to test proxy. Status Code: {statusCode}",
|
||||
"ProxyBypassFilterHelpText": "Use ',' as a separator, and '*.' as a wildcard for subdomains",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Failed to test proxy: {0}",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Failed to test proxy: {url}",
|
||||
"ProxyPasswordHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.",
|
||||
"ProxyResolveIpHealthCheckMessage": "Failed to resolve the IP Address for the Configured Proxy Host {0}",
|
||||
"ProxyResolveIpHealthCheckMessage": "Failed to resolve the IP Address for the Configured Proxy Host {proxyHostName}",
|
||||
"ProxyType": "Proxy Type",
|
||||
"ProxyUsernameHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.",
|
||||
"PublishedDate": "Published Date",
|
||||
|
@ -1018,7 +1018,7 @@
|
|||
"Real": "Real",
|
||||
"Reason": "Reason",
|
||||
"RecentChanges": "Recent Changes",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Unable to write to configured recycling bin folder: {0}. Ensure this path exists and is writable by the user running {appName}",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Unable to write to configured recycling bin folder: {path}. Ensure this path exists and is writable by the user running {appName}",
|
||||
"RecyclingBin": "Recycling Bin",
|
||||
"RecyclingBinCleanup": "Recycling Bin Cleanup",
|
||||
"RecyclingBinCleanupHelpText": "Set to 0 to disable automatic cleanup",
|
||||
|
@ -1054,24 +1054,24 @@
|
|||
"ReleaseTitle": "Release Title",
|
||||
"Reload": "Reload",
|
||||
"RemotePath": "Remote Path",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "You are using docker; download client {0} places downloads in {1} but this is not a valid {2} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "You are using docker; download client {0} places downloads in {1} but this directory does not appear to exist inside the container. Review your remote path mappings and container volume settings.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "{appName} can see but not access downloaded episode {0}. Likely permissions error.",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "File {0} was removed part way through processing.",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "You are using docker; download client {0} reported files in {1} but this is not a valid {2} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Download client {0} reported files in {1} but {appName} cannot see this directory. You may need to adjust the folder's permissions.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "Local download client {0} reported files in {1} but this is not a valid {2} path. Review your download client settings.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "Remote download client {0} reported files in {1} but this is not a valid {2} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "{appName} can see but not access download directory {0}. Likely permissions error.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "Download client {0} places downloads in {1} but {appName} cannot see this directory. You may need to adjust the folder's permissions.",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "You are using docker; download client {downloadClientName} places downloads in {path} but this is not a valid {osName} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "You are using docker; download client $1{downloadClientName} places downloads in {path} but this directory does not appear to exist inside the container. Review your remote path mappings and container volume settings.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "{appName} can see but not access downloaded episode {path}. Likely permissions error.",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "File {path} was removed part way through processing.",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "You are using docker; download client {downloadClientName} reported files in {path} but this is not a valid {osName} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Download client {downloadClientName} reported files in {path} but {appName} cannot see this directory. You may need to adjust the folder's permissions.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "Local download client {downloadClientName} reported files in {path} but this is not a valid {osName} path. Review your download client settings.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "Remote download client {downloadClientName} reported files in {path} but this is not a valid {osName} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "{appName} can see but not access download directory {downloadPath}. Likely permissions error.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "Download client {downloadClientName} places downloads in {path} but {appName} cannot see this directory. You may need to adjust the folder's permissions.",
|
||||
"RemotePathMappingHostHelpText": "The same host you specified for the remote Download Client",
|
||||
"RemotePathMappingImportFailedHealthCheckMessage": "{appName} failed to import (an) episode(s). Check your logs for details.",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "Remote download client {0} places downloads in {1} but this directory does not appear to exist. Likely missing or incorrect remote path mapping.",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "Remote download client {downloadClientName} places downloads in {path} but this directory does not appear to exist. Likely missing or incorrect remote path mapping.",
|
||||
"RemotePathMappingLocalPathHelpText": "Path that {appName} should use to access the remote path locally",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "Local download client {0} places downloads in {1} but this is not a valid {2} path. Review your download client settings.",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "Remote download client {0} reported files in {1} but this directory does not appear to exist. Likely missing remote path mapping.",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "Local download client {downloadClientName} places downloads in {path} but this is not a valid {osName} path. Review your download client settings.",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "Remote download client {downloadClientName} reported files in {path} but this directory does not appear to exist. Likely missing remote path mapping.",
|
||||
"RemotePathMappingRemotePathHelpText": "Root path to the directory that the Download Client accesses",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "Remote download client {0} places downloads in {1} but this is not a valid {2} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "Remote download client {downloadClientName} places downloads in {path} but this is not a valid {osName} path. Review your remote path mappings and download client settings.",
|
||||
"RemotePathMappings": "Remote Path Mappings",
|
||||
"RemotePathMappingsInfo": "Remote Path Mappings are very rarely required, if {app} and your download client are on the same system it is better to match your paths. For more information see the [wiki]({wikiLink})",
|
||||
"RemotePathMappingsLoadError": "Unable to load Remote Path Mappings",
|
||||
|
@ -1100,8 +1100,8 @@
|
|||
"RemoveTagsAutomatically": "Remove Tags Automatically",
|
||||
"RemoveTagsAutomaticallyHelpText": "Remove tags automatically if conditions are not met",
|
||||
"RemovedFromTaskQueue": "Removed from task queue",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "Series {0} were removed from TheTVDB",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "Series {0} was removed from TheTVDB",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "Series {series} were removed from TheTVDB",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "Series {series} was removed from TheTVDB",
|
||||
"RemovingTag": "Removing tag",
|
||||
"RenameEpisodes": "Rename Episodes",
|
||||
"RenameEpisodesHelpText": "{appName} will use the existing file name if renaming is disabled",
|
||||
|
@ -1146,8 +1146,8 @@
|
|||
"RetryingDownloadOn": "Retrying download on {date} at {time}",
|
||||
"RootFolder": "Root Folder",
|
||||
"RootFolderLoadError": "Unable to add root folder",
|
||||
"RootFolderMissingHealthCheckMessage": "Missing root folder: {0}",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "Multiple root folders are missing: {0}",
|
||||
"RootFolderMissingHealthCheckMessage": "Missing root folder: {rootFolderPath}",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "Multiple root folders are missing: {rootFolderPaths}",
|
||||
"RootFolderPath": "Root Folder Path",
|
||||
"RootFolderSelectFreeSpace": "{freeSpace} Free",
|
||||
"RootFolders": "Root Folders",
|
||||
|
@ -1438,10 +1438,9 @@
|
|||
"UpdateScriptPathHelpText": "Path to a custom script that takes an extracted update package and handle the remainder of the update process",
|
||||
"UpdateSelected": "Update Selected",
|
||||
"UpdateSonarrDirectlyLoadError": "Unable to update {appName} directly,",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "Cannot install update because startup folder '{0}' is not writable by the user '{1}'.",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "Cannot install update because startup folder '{0}' is in an App Translocation folder.",
|
||||
"UpdateUINotWritableHealthCheckMessage": "Cannot install update because UI folder '{0}' is not writable by the user '{1}'.",
|
||||
"UpdateUiNotWritableHealthCheckMessage": "Cannot install update because UI folder '{0}' is not writable by the user '{1}'.",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "Cannot install update because startup folder '{startupFolder}' is not writable by the user '{userName}'.",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "Cannot install update because startup folder '{ }' is in an App Translocation folder.",
|
||||
"UpdateUiNotWritableHealthCheckMessage": "Cannot install update because UI folder '{uiFolder}' is not writable by the user '{userName}'.",
|
||||
"UpdaterLogFiles": "Updater Log Files",
|
||||
"Updates": "Updates",
|
||||
"UpgradeUntil": "Upgrade Until",
|
||||
|
|
|
@ -167,7 +167,7 @@
|
|||
"AllResultsAreHiddenByTheAppliedFilter": "Todos los resultados están ocultos por el filtro aplicado",
|
||||
"AnalyseVideoFilesHelpText": "Extraer información de video como la resolución, el tiempo de ejecución y la información del códec de los archivos. Esto requiere que {appName} lea partes del archivo lo cual puede causar una alta actividad en el disco o en la red durante los escaneos.",
|
||||
"AnimeTypeDescription": "Episodios lanzados usando un número de episodio absoluto",
|
||||
"ApiKeyValidationHealthCheckMessage": "Actualice su clave de API para que tenga al menos {0} carácteres. Puede hacerlo en los ajustes o en el archivo de configuración",
|
||||
"ApiKeyValidationHealthCheckMessage": "Actualice su clave de API para que tenga al menos {length} carácteres. Puede hacerlo en los ajustes o en el archivo de configuración",
|
||||
"AppDataLocationHealthCheckMessage": "No será posible actualizar para prevenir la eliminación de AppData al Actualizar",
|
||||
"Scheduled": "Programado",
|
||||
"Season": "Temporada",
|
||||
|
@ -209,7 +209,7 @@
|
|||
"ManageImportLists": "Gestionar Listas de Importación",
|
||||
"ManageDownloadClients": "Gestionar Clientes de Descarga",
|
||||
"MoveAutomatically": "Mover Automáticamente",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexadores con clientes de descarga inválidos: {0}.",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexadores con clientes de descarga inválidos: {indexerNames}.",
|
||||
"ManageLists": "Gestionar Listas",
|
||||
"DeleteSelectedImportLists": "Eliminar Lista(s) de Importación",
|
||||
"EditSelectedIndexers": "Editar Indexadores Seleccionados",
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{
|
||||
"BlocklistReleaseHelpText": "Etsii kohdetta uudelleen ja estää {appName}ia sieppaamasta tätä julkaisua automaattisesti uudelleen.",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Määritettyyn roskakorikansioon ei voida tallentaa: {0}. Varmista että sijainti on olemassa ja että sovelluksen suorittavalla käyttäjällä on siihen kirjoitusoikeus.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "{appName} näkee ladatun jakson \"{0}\", muttei voi käyttää sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Määritettyyn roskakorikansioon ei voida tallentaa: {path}. Varmista että sijainti on olemassa ja että sovelluksen suorittavalla käyttäjällä on siihen kirjoitusoikeus.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "{appName} näkee ladatun jakson \"{path}\", muttei voi käyttää sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"Added": "Lisätty",
|
||||
"AppDataLocationHealthCheckMessage": "Päivitystä ei sallita, jotta AppData-kansion poisto päivityksen yhteydessä voidaan estää.",
|
||||
"DownloadClientSortingHealthCheckMessage": "",
|
||||
"IndexerRssNoIndexersEnabledHealthCheckMessage": "RSS-synkronointia käyttäviä tietolähteitä ei ole määritetty, jonka vuoksi uusia julkaisuja ei siepata automaattisesti.",
|
||||
"IndexerSearchNoInteractiveHealthCheckMessage": "Manuaalista hakua varten ei ole määritetty tietolähteitä, eikä manuaalinen haku sen vuoksi löydä tuloksia.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Lataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta {appName} ei näe kansiota. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "{appName} näkee ladatauskansion \"{0}\" näkyy, muttei voi käyttää sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Lataustyökalu \"{downloadClientName}\" ilmoitti tiedostosijainniksi \"{path}\", mutta {appName} ei näe kansiota. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "{appName} näkee ladatauskansion \"{downloadPath}\" näkyy, muttei voi käyttää sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RemotePathMappingImportFailedHealthCheckMessage": "Jaksojen tuonti epäonnistui. Katso tarkemmat tiedot lokista.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "Lataustyökalu \"{0}\" tallentaa latauksen sijaintiin \"{1}\", mutta {appName} ei näe sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "Lataustyökalu \"{downloadClientName}\" tallentaa latauksen sijaintiin \"{path}\", mutta {appName} ei näe sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"IndexerSearchNoAutomaticHealthCheckMessage": "Automaattista hakua varten ei ole määritetty tietolähteitä, eikä automaattinen haku sen vuoksi löydä tuloksia.",
|
||||
"AgeWhenGrabbed": "Ikä (sieppaushetkellä)",
|
||||
"GrabId": "Sieppaustunniste",
|
||||
|
@ -24,7 +24,7 @@
|
|||
"GrabRelease": "Sieppaa julkaisu",
|
||||
"Hostname": "Osoite",
|
||||
"OriginalLanguage": "Alkuperäinen kieli",
|
||||
"ProxyResolveIpHealthCheckMessage": "Määritetyn välityspalvelimen \"{0}\" IP-osoitteen selvitys epäonnistui.",
|
||||
"ProxyResolveIpHealthCheckMessage": "Määritetyn välityspalvelimen \"{proxyHostName}\" IP-osoitteen selvitys epäonnistui.",
|
||||
"SetPermissionsLinuxHelpText": "Tulisiko chmod suorittaa, kun tiedostoja tuodaan/nimetään uudelleen?",
|
||||
"UrlBaseHelpText": "Käänteisen välityspalvelimen tuki (esim. \"http://[host]:[port]/[urlBase]\"). Käytä oletusta jättämällä tyhjäksi.",
|
||||
"SetPermissionsLinuxHelpTextWarning": "Jollet ole varma mitä nämä asetukset tekevät, älä muuta niitä.",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"Language": "Langue",
|
||||
"UiLanguage": "UI Langue",
|
||||
"Added": "Ajouté",
|
||||
"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",
|
||||
"ApiKeyValidationHealthCheckMessage": "Veuillez mettre à jour votre clé API pour qu'elle contienne au moins {length} caractères. Vous pouvez le faire via les paramètres ou le fichier de configuration",
|
||||
"AppDataLocationHealthCheckMessage": "La mise à jour ne sera pas possible afin empêcher la suppression de AppData lors de la mise à jour",
|
||||
"ApplyChanges": "Appliquer les modifications",
|
||||
"AutomaticAdd": "Ajout automatique",
|
||||
|
@ -159,8 +159,8 @@
|
|||
"AutomaticUpdatesDisabledDocker": "Les mises à jour automatiques ne sont pas directement prises en charge lors de l'utilisation du mécanisme de mise à jour de Docker. Vous devrez mettre à jour l'image du conteneur en dehors de {appName} ou utiliser un script",
|
||||
"BackupRetentionHelpText": "Les sauvegardes automatiques plus anciennes que la période de rétention seront nettoyées automatiquement",
|
||||
"QualityProfile": "Profil de qualité",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "Sonarr peut voir mais ne peut pas accéder à l'épisode téléchargé {0}. Probablement une erreur de permissions.",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "Vous utilisez Docker ; le client de téléchargement {0} place les téléchargements dans {1}, mais ce répertoire ne semble pas exister dans le conteneur. Vérifiez vos mappages de chemins d'accès distants et les paramètres de volume du conteneur.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "Sonarr peut voir mais ne peut pas accéder à l'épisode téléchargé {path}. Probablement une erreur de permissions.",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "Vous utilisez Docker ; le client de téléchargement $1{downloadClientName} place les téléchargements dans {path}, mais ce répertoire ne semble pas exister dans le conteneur. Vérifiez vos mappages de chemins d'accès distants et les paramètres de volume du conteneur.",
|
||||
"BlocklistReleases": "Publications de la liste de blocage",
|
||||
"BindAddress": "Adresse de liaison",
|
||||
"BackupsLoadError": "Impossible de charger les sauvegardes",
|
||||
|
@ -186,9 +186,9 @@
|
|||
"ChownGroupHelpTextWarning": "Cela ne fonctionne que si l'utilisateur qui exécute sonarr est le propriétaire du fichier. Il est préférable de s'assurer que le client de téléchargement utilise le même groupe que sonarr.",
|
||||
"ClickToChangeQuality": "Cliquez pour changer la qualité",
|
||||
"RefreshSeries": "Actualiser les séries",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Impossible d'écrire dans le dossier configuré de la corbeille de recyclage : {0}. Assurez-vous que ce chemin existe et qu'il est accessible en écriture par l'utilisateur qui exécute Sonarr.",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "Le fichier {0} a été supprimé en cours de traitement.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Le client de téléchargement {0} a signalé des fichiers dans {1} mais Sonarr ne peut pas voir ce répertoire. Il se peut que vous deviez ajuster les permissions du dossier.",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Impossible d'écrire dans le dossier configuré de la corbeille de recyclage : {path}. Assurez-vous que ce chemin existe et qu'il est accessible en écriture par l'utilisateur qui exécute Sonarr.",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "Le fichier {path} a été supprimé en cours de traitement.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Le client de téléchargement {downloadClientName} a signalé des fichiers dans {path} mais Sonarr ne peut pas voir ce répertoire. Il se peut que vous deviez ajuster les permissions du dossier.",
|
||||
"CalendarFeed": "Flux de calendrier {appName}",
|
||||
"CalendarLegendDownloadedTooltip": "L'épisode a été téléchargé et classé",
|
||||
"CalendarLegendDownloadingTooltip": "L'épisode est en cours de téléchargement",
|
||||
|
@ -203,13 +203,13 @@
|
|||
"ClickToChangeLanguage": "Cliquez pour changer de langue",
|
||||
"ClickToChangeEpisode": "Cliquez pour changer d'épisode",
|
||||
"ClickToChangeReleaseGroup": "Cliquez pour changer de groupe de diffusion",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "Vous utilisez Docker ; le client de téléchargement {0} a signalé des fichiers dans {1} mais ce n'est pas un chemin {2} valide. Vérifiez vos mappages de chemins d'accès distants et les paramètres du client de téléchargement.",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "Vous utilisez Docker ; le client de téléchargement {downloadClientName} a signalé des fichiers dans {path} mais ce n'est pas un chemin {osName} valide. Vérifiez vos mappages de chemins d'accès distants et les paramètres du client de téléchargement.",
|
||||
"BypassDelayIfAboveCustomFormatScoreMinimumScoreHelpText": "Score minimum requis pour le format personnalisé pour ignorer le délai pour le protocole préféré",
|
||||
"BypassDelayIfHighestQualityHelpText": "Ignorer le délai lorsque la libération a la qualité activée la plus élevée dans le profil de qualité avec le protocole préféré",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "Vous utilisez Docker ; le client de téléchargement {0} place les téléchargements dans {1} mais ce n'est pas un chemin {2} valide. Revoyez vos mappages de chemins d'accès distants et les paramètres du client de téléchargement.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "Le client de téléchargement local {0} a signalé des fichiers 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.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "Le client de téléchargement distant {0} a signalé des fichiers dans {1}, mais il ne s'agit pas d'un chemin {2} valide. Revoyez vos mappages de chemins d'accès distants et les paramètres du client de téléchargement.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "Sonarr peut voir mais ne peut pas accéder au répertoire de téléchargement {0}. Il s'agit probablement d'une erreur de permissions.",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "Vous utilisez Docker ; le client de téléchargement {downloadClientName} place les téléchargements dans {path} mais ce n'est pas un chemin {osName} valide. Revoyez vos mappages de chemins d'accès distants et les paramètres du client de téléchargement.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "Le client de téléchargement local {downloadClientName} a signalé des fichiers dans {path}, mais il ne s'agit pas d'un chemin {osName} valide. Vérifiez les paramètres de votre client de téléchargement.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "Le client de téléchargement distant {downloadClientName} a signalé des fichiers dans {path}, mais il ne s'agit pas d'un chemin {osName} valide. Revoyez vos mappages de chemins d'accès distants et les paramètres du client de téléchargement.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "Sonarr peut voir mais ne peut pas accéder au répertoire de téléchargement {downloadPath}. Il s'agit probablement d'une erreur de permissions.",
|
||||
"Path": "Chemin",
|
||||
"QueueIsEmpty": "La file d'attente est vide",
|
||||
"Warn": "Avertissement",
|
||||
|
@ -428,7 +428,7 @@
|
|||
"ManageDownloadClients": "Gérer les clients de téléchargement",
|
||||
"NoDownloadClientsFound": "Aucun client de téléchargement n'a été trouvé",
|
||||
"NotificationStatusAllClientHealthCheckMessage": "Toutes les notifications sont indisponibles en raison de dysfonctionnements",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notifications indisponibles en raison de dysfonctionnements : {0}",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notifications indisponibles en raison de dysfonctionnements : {notificationNames}",
|
||||
"RecentChanges": "Changements récents",
|
||||
"SetTags": "Définir les étiquettes",
|
||||
"Replace": "Remplacer",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"Added": "נוסף",
|
||||
"ApiKeyValidationHealthCheckMessage": "עדכן בבקשה את מפתח ה־API שלך כדי שיהיה באורך של לפחות {0} תווים. תוכל לעשות זאת בהגדרות או דרך קובץ הקונפיגורציה.",
|
||||
"ApiKeyValidationHealthCheckMessage": "עדכן בבקשה את מפתח ה־API שלך כדי שיהיה באורך של לפחות {length} תווים. תוכל לעשות זאת בהגדרות או דרך קובץ הקונפיגורציה.",
|
||||
"Add": "הוסף",
|
||||
"Activity": "פעילות",
|
||||
"Indexer": "אינדקסר",
|
||||
|
|
|
@ -5,56 +5,56 @@
|
|||
"Close": "Bezárás",
|
||||
"Delete": "Törlés",
|
||||
"DeleteCondition": "Feltétel törlése",
|
||||
"DeleteConditionMessageText": "Biztosan törölni akarod a '{0}' feltételt?",
|
||||
"DeleteConditionMessageText": "Biztosan törölni akarod a '{name}' feltételt?",
|
||||
"DeleteCustomFormat": "Egyéni formátum törlése",
|
||||
"DeleteCustomFormatMessageText": "Biztosan törölni akarod a/az '{0}' egyéni formátumot?",
|
||||
"DeleteCustomFormatMessageText": "Biztosan törölni akarod a/az '{customFormatName}' egyéni formátumot?",
|
||||
"ExportCustomFormat": "Egyéni formátum exportálása",
|
||||
"IndexerJackettAllHealthCheckMessage": "A nem támogatott Jackett 'all' végpontot használó indexelők: {0}",
|
||||
"IndexerJackettAllHealthCheckMessage": "A nem támogatott Jackett 'all' végpontot használó indexelők: {indexerNames}",
|
||||
"Remove": "Eltávolítás",
|
||||
"RemoveFromDownloadClient": "Eltávolítás a letöltési kliensből",
|
||||
"RemoveFromDownloadClientHelpTextWarning": "A törlés eltávolítja a letöltést és a fájl(okat) a letöltési kliensből.",
|
||||
"RemoveSelectedItem": "Kijelölt elem eltávolítása",
|
||||
"RemoveSelectedItemQueueMessageText": "Biztosan el akar távolítani 1 elemet a várólistáról?",
|
||||
"RemoveSelectedItems": "Kijelölt elemek eltávolítása",
|
||||
"RemoveSelectedItemsQueueMessageText": "Biztosan el akar távolítani {0} elemet a várólistáról?",
|
||||
"RemoveSelectedItemsQueueMessageText": "Biztosan el akar távolítani {selectedCount} elemet a várólistáról?",
|
||||
"Required": "Kötelező",
|
||||
"Added": "Hozzáadva",
|
||||
"ApiKeyValidationHealthCheckMessage": "Kérlek frissítsd az API kulcsot, ami legalább {0} karakter hosszú. Ezt megteheted a Beállításokban, vagy a config file-ban",
|
||||
"ApiKeyValidationHealthCheckMessage": "Kérlek frissítsd az API kulcsot, ami legalább {length} karakter hosszú. Ezt megteheted a Beállításokban, vagy a config file-ban",
|
||||
"ApplyChanges": "Változások alkalmazása",
|
||||
"AppDataLocationHealthCheckMessage": "A frissítés nem lehetséges az alkalmazás adatok törlése nélkül",
|
||||
"AutomaticAdd": "Automatikus hozzáadás",
|
||||
"CountSeasons": "{count} évad",
|
||||
"DownloadClientCheckNoneAvailableHealthCheckMessage": "Nincs elérhető letöltési kliens",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "A letöltési kliens {0} a letöltéseket a gyökérmappába helyezi. Ne tölts le közvetlenül a gyökérmappába.",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Nem lehet kommunikálni a {0} -val.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "A letöltési kliens {downloadClientName} a letöltéseket a gyökérmappába helyezi. Ne tölts le közvetlenül a gyökérmappába.",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Nem lehet kommunikálni a {downloadClientName} -val.",
|
||||
"DownloadClientStatusAllClientHealthCheckMessage": "Az összes letöltési kliens elérhetetlen meghibásodások miatt",
|
||||
"EditSelectedDownloadClients": "Kiválasztott letöltési kliensek szerkesztése",
|
||||
"EditSelectedImportLists": "Kiválasztott import listák szerkesztése",
|
||||
"EditSelectedIndexers": "Kiválasztott indexelők szerkesztése",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Letöltési kliensek elérhetetlenek meghibásodások miatt: {0}",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Letöltési kliensek elérhetetlenek meghibásodások miatt: {downloadClientNames}",
|
||||
"EnableAutomaticSearch": "Automatikus keresés engedélyezése",
|
||||
"EditSeries": "Sorozat szerkesztése",
|
||||
"EnableInteractiveSearch": "Interaktív keresés engedélyezése",
|
||||
"Ended": "Vége",
|
||||
"HideAdvanced": "Haladó elrejtése",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Hiányzó gyökérmappa a/az {0} importálási listához",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Több gyökérmappa hiányzik a/az {0} importálási listához",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Hiányzó gyökérmappa a/az {rootFolderInfo} importálási listához",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Több gyökérmappa hiányzik a/az {rootFoldersInfo} importálási listához",
|
||||
"Enabled": "Engedélyezés",
|
||||
"HiddenClickToShow": "Rejtett, kattints a felfedéshez",
|
||||
"ImportListStatusAllUnavailableHealthCheckMessage": "Minden lista elérhetetlen meghibásodások miatt",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Listák elérhetetlenek meghibásodások miatt: {0}",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Listák elérhetetlenek meghibásodások miatt: {importListNames}",
|
||||
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleHealthCheckMessage": "Befejezett letöltés kezelésének engedélyezése, ha lehetséges",
|
||||
"ImportMechanismHandlingDisabledHealthCheckMessage": "Befejezett letöltés kezelésének engedélyezése",
|
||||
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleMultiComputerHealthCheckMessage": "Befejezett letöltés kezelésének engedélyezése, ha lehetséges (Több számítógépen nem támogatott)",
|
||||
"IndexerRssNoIndexersEnabledHealthCheckMessage": "Nincsenek elérhető indexelők RSS szinkronizációval, a {appName} nem fog automatikusan új kiadásokat letölteni",
|
||||
"IndexerRssNoIndexersAvailableHealthCheckMessage": "Az összes RSS-képes indexelő ideiglenesen nem elérhető a legutóbbi indexelő hibák miatt",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Minden indexelő elérhetetlen meghibásodás miatt több, mint 6 órája: {0}",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Minden indexelő elérhetetlen meghibásodás miatt több, mint 6 órája: {indexerNames}",
|
||||
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "Minden indexelő elérhetetlen meghibásodás miatt több, mint 6 órája",
|
||||
"IndexerSearchNoInteractiveHealthCheckMessage": "Nincsenek elérhető indexelők az Interaktív Keresés funkcióval, a {appName} nem fog interaktív keresési eredményeket szolgáltatni",
|
||||
"IndexerSearchNoAvailableIndexersHealthCheckMessage": "Az összes keresési képességgel rendelkező indexelő ideiglenesen nem elérhető a legutóbbi indexelő hibák miatt",
|
||||
"IndexerSearchNoAutomaticHealthCheckMessage": "Nincsenek elérhető indexelők az Automatikus Keresés funkcióval, a {appName} nem fog automatikus keresési eredményeket szolgáltatni",
|
||||
"Language": "Nyelv",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "Minden indexelő elérhetetlen meghibásodások miatt: {0}",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "Minden indexelő elérhetetlen meghibásodások miatt: {indexerNames}",
|
||||
"IndexerStatusAllUnavailableHealthCheckMessage": "Minden indexelő elérhetetlen meghibásodások miatt",
|
||||
"OneSeason": "1 évad",
|
||||
"OriginalLanguage": "Eredeti nyelv",
|
||||
|
@ -64,45 +64,45 @@
|
|||
"MountHealthCheckMessage": "A sorozat elérési útvonalát tartalmazó kötet csak olvasható módban van csatolva: ",
|
||||
"Network": "Hálózat",
|
||||
"NoSeasons": "Nincsenek évadok",
|
||||
"ProxyBadRequestHealthCheckMessage": "Sikertelen proxy teszt. Állapotkód: {0}",
|
||||
"ProxyBadRequestHealthCheckMessage": "Sikertelen proxy teszt. Állapotkód: {statusCode}",
|
||||
"Priority": "Elsőbbség",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Sikertelen proxy teszt: {0}",
|
||||
"ProxyResolveIpHealthCheckMessage": "Nem sikerült feloldani a konfigurált proxy kiszolgáló {0} IP-címét",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Sikertelen proxy teszt: {url}",
|
||||
"ProxyResolveIpHealthCheckMessage": "Nem sikerült feloldani a konfigurált proxy kiszolgáló {proxyHostName} IP-címét",
|
||||
"PreviousAiring": "Előző rész",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Nem lehet írni a konfigurált lomtár mappába {0}. Győződjön meg arról, hogy ez az elérési útvonal létezik, és az a felhasználó, aki a {appName}-t futtatja, írási jogosultsággal rendelkezik",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Nem lehet írni a konfigurált lomtár mappába {path}. Győződjön meg arról, hogy ez az elérési útvonal létezik, és az a felhasználó, aki a {appName}-t futtatja, írási jogosultsággal rendelkezik",
|
||||
"QualityProfile": "Minőségi profil",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "Docker-t használ; a(z) {0} letöltési kliens a letöltéseket a(z) {1} mappába helyezi, de úgy tűnik, hogy ez a könyvtár nem létezik a konténeren belül. Ellenőrizze a távoli útvonal hozzárendeléseket, és a konténer kötet beállításait.",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "Docker-t használ; a(z) $1{downloadClientName} letöltési kliens a letöltéseket a(z) {path} mappába helyezi, de úgy tűnik, hogy ez a könyvtár nem létezik a konténeren belül. Ellenőrizze a távoli útvonal hozzárendeléseket, és a konténer kötet beállításait.",
|
||||
"RefreshSeries": "Sorozat frissítése",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "A(z) {0} fájlt részben feldolgozás közben eltávolították.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "A {appName} látja, de nem tud hozzáférni a letöltött epizódhoz {0}. Valószínűleg jogosultsági hiba.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "A(z) {0} helyi letöltési kliens a fájlokat a(z) {1} mappában jelentette, de ez nem érvényes {2} elérési útvonal. Ellenőrizze a letöltési kliens beállításait.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "A(z) {0} letöltési kliens a letöltéseket a(z) {1} mappába helyezi, de a {appName} nem látja ezt a könyvtárat. Lehetséges, hogy be kell állítania a mappa jogosultságait.",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "A(z) {path} fájlt részben feldolgozás közben eltávolították.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "A {appName} látja, de nem tud hozzáférni a letöltött epizódhoz {path}. Valószínűleg jogosultsági hiba.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "A(z) {downloadClientName} helyi letöltési kliens a fájlokat a(z) {path} mappában jelentette, de ez nem érvényes {osName} elérési útvonal. Ellenőrizze a letöltési kliens beállításait.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "A(z) {downloadClientName} letöltési kliens a letöltéseket a(z) {path} mappába helyezi, de a {appName} nem látja ezt a könyvtárat. Lehetséges, hogy be kell állítania a mappa jogosultságait.",
|
||||
"RemotePathMappingImportFailedHealthCheckMessage": "A {appName}-nak nem sikerült importálni az epizód(ok)at. Ellenőrizze a naplókat a részletekért.",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "A(z) {0} távoli letöltési kliens a fájlokat a(z) {1} mappában jelentette, de úgy tűnik, hogy ez a könyvtár nem létezik. Valószínűleg hiányzik a távoli útvonal hozzárendelés.",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "A(z) {0} távoli letöltési kliens a letöltéseket a(z) {1} mappába helyezi, de úgy tűnik, hogy ez a könyvtár nem létezik. Valószínűleg hiányzik vagy helytelen a távoli útvonal hozzárendelés.",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "A(z) {0} helyi letöltési kliens a letöltéseket a(z) {1} mappába helyezi, de ez nem érvényes {2} elérési útvonal. Ellenőrizze a letöltési kliens beállításait.",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "A(z) {downloadClientName} távoli letöltési kliens a fájlokat a(z) {path} mappában jelentette, de úgy tűnik, hogy ez a könyvtár nem létezik. Valószínűleg hiányzik a távoli útvonal hozzárendelés.",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "A(z) {downloadClientName} távoli letöltési kliens a letöltéseket a(z) {path} mappába helyezi, de úgy tűnik, hogy ez a könyvtár nem létezik. Valószínűleg hiányzik vagy helytelen a távoli útvonal hozzárendelés.",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "A(z) {downloadClientName} helyi letöltési kliens a letöltéseket a(z) {path} mappába helyezi, de ez nem érvényes {osName} elérési útvonal. Ellenőrizze a letöltési kliens beállításait.",
|
||||
"RemoveFailedDownloads": "Sikertelen letöltések eltávolítása",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "A(z) {0} sorozatokat eltávolították a TheTVDB-ről",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "A(z) {0} távoli letöltési kliens a letöltéseket a(z) {1} mappába helyezi, de ez nem érvényes {2} elérési útvonal. Kérjük, ellenőrizze a távoli útvonal leképezéseket és a letöltési kliens beállításait.",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "A(z) {series} sorozatokat eltávolították a TheTVDB-ről",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "A(z) {downloadClientName} távoli letöltési kliens a letöltéseket a(z) {path} mappába helyezi, de ez nem érvényes {osName} elérési útvonal. Kérjük, ellenőrizze a távoli útvonal leképezéseket és a letöltési kliens beállításait.",
|
||||
"RemoveCompletedDownloads": "Befejezett letöltések eltávolítása",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "A(z) {0} sorozatot eltávolították a TheTVDB-ről",
|
||||
"RootFolderMissingHealthCheckMessage": "Hiányzó gyökérmappa: {0}",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "A(z) {series} sorozatot eltávolították a TheTVDB-ről",
|
||||
"RootFolderMissingHealthCheckMessage": "Hiányzó gyökérmappa: {rootFolderPath}",
|
||||
"RootFolder": "Gyökérmappa",
|
||||
"SearchForMonitoredEpisodes": "Megfigyelt epizódok keresése",
|
||||
"ShowAdvanced": "Haladó nézet",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "Több gyökérmappa hiányzik: {0}",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "Több gyökérmappa hiányzik: {rootFolderPaths}",
|
||||
"SizeOnDisk": "Méret a lemezen",
|
||||
"ShownClickToHide": "Kattints, hogy elrejtsd",
|
||||
"SystemTimeHealthCheckMessage": "A rendszer idő több, mint 1 napot eltér az aktuális időtől. Előfordulhat, hogy az ütemezett feladatok nem futnak megfelelően, amíg az időt nem korrigálják",
|
||||
"Unmonitored": "Nem felügyelt",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "A frissítés telepítése nem lehetséges, mert a kezdő mappa '{0}' nem írható a(z) '{1}' felhasználó által.",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "A frissítés telepítése nem lehetséges, mert a kezdő mappa '{0}' az App Translocation mappában található.",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "A frissítés telepítése nem lehetséges, mert a kezdő mappa '{startupFolder}' nem írható a(z) '{userName}' felhasználó által.",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "A frissítés telepítése nem lehetséges, mert a kezdő mappa '{startupFolder}' az App Translocation mappában található.",
|
||||
"UpdateAvailableHealthCheckMessage": "Új frissítés elérhető",
|
||||
"UpdateUINotWritableHealthCheckMessage": "A frissítés telepítése nem lehetséges, mert a felhasználó '{1}' nem rendelkezik írási jogosultsággal a(z) '{0}' felhasználói felület mappában.",
|
||||
"DownloadClientSortingHealthCheckMessage": "A(z) {0} letöltési kliensben engedélyezve van a {1} rendezés a {appName} kategóriájához. Az import problémák elkerülése érdekében ki kell kapcsolnia a rendezést a letöltési kliensben.",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "Docker-t használ; a(z) {0} letöltési kliens a letöltéseket a(z) {1} mappába helyezi, de ez nem érvényes {2} elérési útvonal. Ellenőrizze a távoli útvonal hozzárendeléseket, és a letöltési kliens beállításait.",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "Docker-t használ; a(z) {0} letöltési kliens a fájlokat a(z) {1} mappában jelentette, de ez nem érvényes {2} elérési útvonal. Ellenőrizze a távoli útvonal hozzárendeléseket, és a letöltési kliens beállításait.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "A(z) {0} letöltési kliens a fájlokat a(z) {1} mappában jelentette, de a {appName} nem látja ezt a könyvtárat. Lehetséges, hogy be kell állítania a mappa jogosultságait.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "A(z) {0} távoli letöltési kliens a fájlokat a(z) {1} mappában jelentette, de ez nem érvényes {2} elérési útvonal. Ellenőrizze a távoli útvonal hozzárendeléseket, és a letöltési kliens beállításait.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "A {appName} látja, de nem fér hozzá a letöltési könyvtárhoz {0}. Valószínűleg jogosultsági hiba."
|
||||
"UpdateUiNotWritableHealthCheckMessage": "A frissítés telepítése nem lehetséges, mert a felhasználó '{userName}' nem rendelkezik írási jogosultsággal a(z) '{uiFolder}' felhasználói felület mappában.",
|
||||
"DownloadClientSortingHealthCheckMessage": "A(z) {downloadClientName} letöltési kliensben engedélyezve van a {sortingMode} rendezés a {appName} kategóriájához. Az import problémák elkerülése érdekében ki kell kapcsolnia a rendezést a letöltési kliensben.",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "Docker-t használ; a(z) {downloadClientName} letöltési kliens a letöltéseket a(z) {path} mappába helyezi, de ez nem érvényes {osName} elérési útvonal. Ellenőrizze a távoli útvonal hozzárendeléseket, és a letöltési kliens beállításait.",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "Docker-t használ; a(z) {downloadClientName} letöltési kliens a fájlokat a(z) {path} mappában jelentette, de ez nem érvényes {osName} elérési útvonal. Ellenőrizze a távoli útvonal hozzárendeléseket, és a letöltési kliens beállításait.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "A(z) {downloadClientName} letöltési kliens a fájlokat a(z) {path} mappában jelentette, de a {appName} nem látja ezt a könyvtárat. Lehetséges, hogy be kell állítania a mappa jogosultságait.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "A(z) {downloadClientName} távoli letöltési kliens a fájlokat a(z) {path} mappában jelentette, de ez nem érvényes {osName} elérési útvonal. Ellenőrizze a távoli útvonal hozzárendeléseket, és a letöltési kliens beállításait.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "A {appName} látja, de nem fér hozzá a letöltési könyvtárhoz {downloadPath}. Valószínűleg jogosultsági hiba."
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
"PreviousAiring": "Sebelumnya Tayang",
|
||||
"OriginalLanguage": "Bahasa Asli",
|
||||
"Priority": "Prioritas",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Gagal menguji proxy: {0}",
|
||||
"ProxyBadRequestHealthCheckMessage": "Gagal menguji proxy. Kode Status: {0}",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Gagal menguji proxy: {url}",
|
||||
"ProxyBadRequestHealthCheckMessage": "Gagal menguji proxy. Kode Status: {statusCode}",
|
||||
"QualityProfile": "Profil Kualitas",
|
||||
"Add": "Tambah",
|
||||
"Cancel": "Batal",
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"DeleteConditionMessageText": "Sei sicuro di voler eliminare la condizione '{0}'?",
|
||||
"DeleteConditionMessageText": "Sei sicuro di voler eliminare la condizione '{name}'?",
|
||||
"ApplyTagsHelpTextReplace": "Sostituire: Sostituisce le etichette con quelle inserite (non inserire nessuna etichette per eliminarle tutte)",
|
||||
"ApplyTagsHelpTextHowToApplyIndexers": "Come applicare etichette agli indicizzatori selezionati",
|
||||
"MoveAutomatically": "Sposta Automaticamente",
|
||||
"ApplyTagsHelpTextRemove": "Rimuovi: Rimuove le etichette inserite",
|
||||
"ApplyTagsHelpTextAdd": "Aggiungi: Aggiunge le etichette alla lista esistente di etichette",
|
||||
"DeleteCustomFormatMessageText": "Sei sicuro di voler eliminare il formato personalizzato '{0}'?",
|
||||
"DeleteCustomFormatMessageText": "Sei sicuro di voler eliminare il formato personalizzato '{customFormatName}'?",
|
||||
"DeleteSelectedDownloadClients": "Cancella i Client di Download",
|
||||
"Added": "Aggiunto",
|
||||
"AutomaticAdd": "Aggiungi Automaticamente",
|
||||
|
@ -15,7 +15,7 @@
|
|||
"AutoAdd": "Aggiungi Automaticamente",
|
||||
"AirDate": "Data di Trasmissione",
|
||||
"AllTitles": "Tutti i Titoli",
|
||||
"ApiKeyValidationHealthCheckMessage": "Aggiorna la tua chiave API in modo che abbia una lunghezza di almeno {0} caratteri. Puoi farlo dalle impostazioni o dal file di configurazione",
|
||||
"ApiKeyValidationHealthCheckMessage": "Aggiorna la tua chiave API in modo che abbia una lunghezza di almeno {length} caratteri. Puoi farlo dalle impostazioni o dal file di configurazione",
|
||||
"Apply": "Applica",
|
||||
"ApplyChanges": "Applica Cambiamenti",
|
||||
"ApplyTags": "Applica Etichette",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"ApiKeyValidationHealthCheckMessage": "Vennligst oppdater din API-nøkkel til å være minst {0} tegn lang. Du kan gjøre dette via innstillinger eller konfigurasjonsfilen",
|
||||
"ApiKeyValidationHealthCheckMessage": "Vennligst oppdater din API-nøkkel til å være minst {length} tegn lang. Du kan gjøre dette via innstillinger eller konfigurasjonsfilen",
|
||||
"ApplyChanges": "Bekreft endringer",
|
||||
"AllTitles": "Alle titler",
|
||||
"AddAutoTag": "Legg til automatisk tagg",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"RemoveFailedDownloads": "Verwijder mislukte downloads",
|
||||
"ApiKeyValidationHealthCheckMessage": "Maak je API sleutel alsjeblieft minimaal {0} karakters lang. Dit kan gedaan worden via de instellingen of het configuratiebestand",
|
||||
"ApiKeyValidationHealthCheckMessage": "Maak je API sleutel alsjeblieft minimaal {length} karakters lang. Dit kan gedaan worden via de instellingen of het configuratiebestand",
|
||||
"RemoveCompletedDownloads": "Verwijder voltooide downloads",
|
||||
"AppDataLocationHealthCheckMessage": "Updaten zal niet mogelijk zijn om het verwijderen van AppData te voorkomen",
|
||||
"Added": "Toegevoegd",
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
"ApplyTagsHelpTextHowToApplyIndexers": "Jak zastosować tagi do wybranych indeksatorów",
|
||||
"Authentication": "Autoryzacja",
|
||||
"BlocklistReleases": "Dodaj wersje do czarnej listy",
|
||||
"ApiKeyValidationHealthCheckMessage": "Zaktualizuj swój klucz API aby był długi na co najmniej {0} znaków. Możesz to zrobić poprzez ustawienia lub plik konfiguracyjny",
|
||||
"ApiKeyValidationHealthCheckMessage": "Zaktualizuj swój klucz API aby był długi na co najmniej {length} znaków. Możesz to zrobić poprzez ustawienia lub plik konfiguracyjny",
|
||||
"AudioInfo": "Informacje o audio",
|
||||
"AddAutoTagError": "Nie można dodać nowego tagu automatycznego, spróbuj ponownie.",
|
||||
"AddConditionError": "Nie można dodać nowego warunku, spróbuj ponownie.",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"CountSeasons": "{count} temporadas",
|
||||
"Language": "Idioma",
|
||||
"Added": "Adicionado",
|
||||
"ApiKeyValidationHealthCheckMessage": "Por favor, atualize a sua API Key para ter no mínimo {0} caracteres. Pode fazer através das definições ou do ficheiro de configuração",
|
||||
"ApiKeyValidationHealthCheckMessage": "Por favor, atualize a sua API Key para ter no mínimo {length} caracteres. Pode fazer através das definições ou do ficheiro de configuração",
|
||||
"AppDataLocationHealthCheckMessage": "Não foi possível atualizar para prevenir apagar a AppData durante a atualização",
|
||||
"AddAutoTag": "Adicionar Etiqueta Automática",
|
||||
"AbsoluteEpisodeNumbers": "Números de Episódios Absolutos",
|
||||
|
|
|
@ -9,15 +9,15 @@
|
|||
"Enabled": "Habilitado",
|
||||
"Ended": "Terminou",
|
||||
"HideAdvanced": "Ocultar Avançado",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Múltiplas pastas raiz estão faltando nas listas de importação: {0}",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Múltiplas pastas raiz estão faltando nas listas de importação: {rootFoldersInfo}",
|
||||
"ImportListStatusAllUnavailableHealthCheckMessage": "Todas as listas estão indisponíveis devido a falhas",
|
||||
"ImportMechanismHandlingDisabledHealthCheckMessage": "Ativar gerenciamento de download concluído",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Indexadores indisponíveis devido a falhas por mais de 6 horas: {0}",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Indexadores indisponíveis devido a falhas por mais de 6 horas: {indexerNames}",
|
||||
"IndexerRssNoIndexersEnabledHealthCheckMessage": "Nenhum indexador disponível com sincronização de RSS ativada, o {appName} não obterá novos lançamentos automaticamente",
|
||||
"IndexerSearchNoAutomaticHealthCheckMessage": "Nenhum indexador disponível com a pesquisa automática ativada, o {appName} não fornecerá nenhum resultado de pesquisa automática",
|
||||
"IndexerSearchNoInteractiveHealthCheckMessage": "Nenhum indexador disponível com a Pesquisa interativa habilitada, o {appName} não fornecerá nenhum resultado de pesquisa interativa",
|
||||
"IndexerStatusAllUnavailableHealthCheckMessage": "Todos os indexadores estão indisponíveis devido a falhas",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "Indexadores indisponíveis devido a falhas: {0}",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "Indexadores indisponíveis devido a falhas: {indexerNames}",
|
||||
"Language": "Idioma",
|
||||
"Monitored": "Monitorado",
|
||||
"MountHealthCheckMessage": "A montagem que contém um caminho de série é montada somente para leitura: ",
|
||||
|
@ -30,21 +30,21 @@
|
|||
"RemoveFailedDownloads": "Remover downloads com falha",
|
||||
"QualityProfile": "Perfil de Qualidade",
|
||||
"RefreshSeries": "Atualizar Séries",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "Você está usando o docker; o cliente de download {0} coloca os downloads em {1}, mas esse diretório parece não existir dentro do contêiner. Revise seus mapeamentos de caminho remoto e configurações de volume do contêiner.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "O {appName} pode ver, mas não acessar o episódio baixado {0}. Provável erro de permissão.",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "O arquivo {0} foi removido no meio do processamento.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Baixe os arquivos relatados do cliente {0} em {1}, mas o {appName} não pode ver este diretório. Pode ser necessário ajustar as permissões da pasta.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "O cliente de download local {0} relatou arquivos em {1}, mas este não é um caminho {2} válido. Revise as configurações do cliente de download.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "{appName} pode ver, mas não acessar o diretório de download {0}. Provável erro de permissão.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "O cliente de download {0} coloca os downloads em {1}, mas o {appName} não pode ver este diretório. Pode ser necessário ajustar as permissões da pasta.",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "Você está usando o docker; o cliente de download $1{downloadClientName} coloca os downloads em {path}, mas esse diretório parece não existir dentro do contêiner. Revise seus mapeamentos de caminho remoto e configurações de volume do contêiner.",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "O {appName} pode ver, mas não acessar o episódio baixado {path}. Provável erro de permissão.",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "O arquivo {path} foi removido no meio do processamento.",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Baixe os arquivos relatados do cliente {downloadClientName} em {path}, mas o {appName} não pode ver este diretório. Pode ser necessário ajustar as permissões da pasta.",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "O cliente de download local {downloadClientName} relatou arquivos em {path}, mas este não é um caminho {osName} válido. Revise as configurações do cliente de download.",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "{appName} pode ver, mas não acessar o diretório de download {downloadPath}. Provável erro de permissão.",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "O cliente de download {downloadClientName} coloca os downloads em {path}, mas o {appName} não pode ver este diretório. Pode ser necessário ajustar as permissões da pasta.",
|
||||
"RemotePathMappingImportFailedHealthCheckMessage": "{appName} falhou ao importar (um) episódio(s). Verifique seus logs para obter detalhes.",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "O cliente de download local {0} coloca os downloads em {1}, mas este não é um caminho {2} válido. Revise as configurações do cliente de download.",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "O cliente de download remoto {0} relatou arquivos em {1}, mas este diretório parece não existir. Provavelmente faltando mapeamento de caminho remoto.",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "A série {0} foi removida do TheTVDB",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "As séries {0} foram removidas do TheTVDB",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "O cliente de download local {downloadClientName} coloca os downloads em {path}, mas este não é um caminho {osName} válido. Revise as configurações do cliente de download.",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "O cliente de download remoto {downloadClientName} relatou arquivos em {path}, mas este diretório parece não existir. Provavelmente faltando mapeamento de caminho remoto.",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "A série {series} foi removida do TheTVDB",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "As séries {series} foram removidas do TheTVDB",
|
||||
"RootFolder": "Pasta Raiz",
|
||||
"RootFolderMissingHealthCheckMessage": "Pasta raiz ausente: {0}",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "Faltam várias pastas raiz: {0}",
|
||||
"RootFolderMissingHealthCheckMessage": "Pasta raiz ausente: {rootFolderPath}",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "Faltam várias pastas raiz: {rootFolderPaths}",
|
||||
"SearchForMonitoredEpisodes": "Pesquisar episódios monitorados",
|
||||
"ShowAdvanced": "Mostrar Avançado",
|
||||
"ShownClickToHide": "Mostrado, clique para ocultar",
|
||||
|
@ -52,41 +52,40 @@
|
|||
"SystemTimeHealthCheckMessage": "A hora do sistema está desligada por mais de 1 dia. Tarefas agendadas podem não ser executadas corretamente até que o horário seja corrigido",
|
||||
"Unmonitored": "Não monitorado",
|
||||
"UpdateAvailableHealthCheckMessage": "Nova atualização está disponível",
|
||||
"UpdateUINotWritableHealthCheckMessage": "Não é possível instalar a atualização porque a pasta de IU '{0}' não pode ser gravada pelo usuário '{1}'.",
|
||||
"Added": "Adicionado",
|
||||
"ApiKeyValidationHealthCheckMessage": "Atualize sua chave de API para ter pelo menos {0} caracteres. Você pode fazer isso através das configurações ou do arquivo de configuração",
|
||||
"ApiKeyValidationHealthCheckMessage": "Atualize sua chave de API para ter pelo menos {length} caracteres. Você pode fazer isso através das configurações ou do arquivo de configuração",
|
||||
"RemoveCompletedDownloads": "Remover downloads concluídos",
|
||||
"AppDataLocationHealthCheckMessage": "A atualização não será possível para evitar a exclusão de AppData na atualização",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Não é possível se comunicar com {0}.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "O cliente de download {0} coloca os downloads na pasta raiz {1}. Você não deve baixar para uma pasta raiz.",
|
||||
"DownloadClientSortingHealthCheckMessage": "O cliente de download {0} tem classificação {1} habilitada para a categoria {appName}. Você deve desativar a classificação em seu cliente de download para evitar problemas de importação.",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Clientes de download indisponíveis devido a falhas: {0}",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Não é possível se comunicar com {downloadClientName}.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "O cliente de download {downloadClientName} coloca os downloads na pasta raiz {rootFolderPath}. Você não deve baixar para uma pasta raiz.",
|
||||
"DownloadClientSortingHealthCheckMessage": "O cliente de download {downloadClientName} tem classificação {sortingMode} habilitada para a categoria {appName}. Você deve desativar a classificação em seu cliente de download para evitar problemas de importação.",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Clientes de download indisponíveis devido a falhas: {downloadClientNames}",
|
||||
"EditSelectedIndexers": "Editar indexadores selecionados",
|
||||
"EditSeries": "Editar Série",
|
||||
"EnableAutomaticSearch": "Ativar pesquisa automática",
|
||||
"EnableInteractiveSearch": "Ativar pesquisa interativa",
|
||||
"HiddenClickToShow": "Oculto, clique para mostrar",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Pasta raiz ausente para lista(s) de importação: {0}",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Listas indisponíveis devido a falhas: {0}",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Pasta raiz ausente para lista(s) de importação: {rootFolderInfo}",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Listas indisponíveis devido a falhas: {importListNames}",
|
||||
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleHealthCheckMessage": "Ative o Gerenciamento de download concluído, se possível",
|
||||
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleMultiComputerHealthCheckMessage": "Ative o Gerenciamento de download concluído, se possível (Multi-computador não suportado)",
|
||||
"IndexerJackettAllHealthCheckMessage": "Indexadores usando o endpont Jackett 'all' sem suporte: {0}",
|
||||
"IndexerJackettAllHealthCheckMessage": "Indexadores usando o endpont Jackett 'all' sem suporte: {indexerNames}",
|
||||
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "Todos os indexadores estão indisponíveis devido a falhas por mais de 6 horas",
|
||||
"IndexerRssNoIndexersAvailableHealthCheckMessage": "Todos os indexadores compatíveis com rss estão temporariamente indisponíveis devido a erros recentes do indexador",
|
||||
"IndexerSearchNoAvailableIndexersHealthCheckMessage": "Todos os indexadores com capacidade de pesquisa estão temporariamente indisponíveis devido a erros recentes do indexador",
|
||||
"NextAiring": "Próxima Exibição",
|
||||
"OriginalLanguage": "Idioma Original",
|
||||
"ProxyBadRequestHealthCheckMessage": "Falha ao testar o proxy. Código de estado: {0}",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Falha ao testar o proxy: {0}",
|
||||
"ProxyResolveIpHealthCheckMessage": "Falha ao resolver o endereço IP do host de proxy configurado {0}",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Não é possível gravar na pasta da lixeira configurada: {0}. Certifique-se de que este caminho exista e seja gravável pelo usuário executando o {appName}",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "Você está usando o docker; cliente de download {0} coloca downloads em {1}, mas este não é um caminho {2} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "Você está usando o docker; baixe os arquivos relatados do cliente {0} em {1}, mas este não é um caminho {2} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "O cliente de download remoto {0} relatou arquivos em {1}, mas este não é um caminho {2} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "O cliente de download remoto {0} coloca os downloads em {1}, mas este diretório parece não existir. Mapeamento de caminho remoto provavelmente ausente ou incorreto.",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "O cliente de download remoto {0} coloca os downloads em {1}, mas este não é um caminho {2} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{0}' não pode ser gravada pelo usuário '{1}'.",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{0}' está em uma pasta de translocação de aplicativo.",
|
||||
"ProxyBadRequestHealthCheckMessage": "Falha ao testar o proxy. Código de estado: {statusCode}",
|
||||
"ProxyFailedToTestHealthCheckMessage": "Falha ao testar o proxy: {url}",
|
||||
"ProxyResolveIpHealthCheckMessage": "Falha ao resolver o endereço IP do host de proxy configurado {proxyHostName}",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "Não é possível gravar na pasta da lixeira configurada: {path}. Certifique-se de que este caminho exista e seja gravável pelo usuário executando o {appName}",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "Você está usando o docker; cliente de download {downloadClientName} coloca downloads em {path}, mas este não é um caminho {osName} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "Você está usando o docker; baixe os arquivos relatados do cliente {downloadClientName} em {path}, mas este não é um caminho {osName} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "O cliente de download remoto {downloadClientName} relatou arquivos em {path}, mas este não é um caminho {osName} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "O cliente de download remoto {downloadClientName} coloca os downloads em {path}, mas este diretório parece não existir. Mapeamento de caminho remoto provavelmente ausente ou incorreto.",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "O cliente de download remoto {downloadClientName} coloca os downloads em {path}, mas este não é um caminho {osName} válido. Revise seus mapeamentos de caminho remoto e baixe as configurações do cliente.",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{startupFolder}' não pode ser gravada pelo usuário '{userName}'.",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{startupFolder}' está em uma pasta de translocação de aplicativo.",
|
||||
"BlocklistReleaseHelpText": "Inicia uma busca por este episódio novamente e impede que esta versão seja capturada novamente",
|
||||
"BlocklistReleases": "Lançamentos na lista de bloqueio",
|
||||
"CloneCondition": "Clonar Condição",
|
||||
|
@ -96,7 +95,7 @@
|
|||
"DeleteCondition": "Excluir condição",
|
||||
"DeleteConditionMessageText": "Tem certeza de que deseja excluir a condição '{name}'?",
|
||||
"DeleteCustomFormat": "Excluir formato personalizado",
|
||||
"DeleteCustomFormatMessageText": "Tem certeza de que deseja excluir o formato personalizado '{0}'?",
|
||||
"DeleteCustomFormatMessageText": "Tem certeza de que deseja excluir o formato personalizado '{customFormatName}'?",
|
||||
"ExportCustomFormat": "Exportar Formato Personalizado",
|
||||
"Negated": "Negado",
|
||||
"Remove": "Remover",
|
||||
|
@ -400,7 +399,7 @@
|
|||
"SomeResultsAreHiddenByTheAppliedFilter": "Alguns resultados estão ocultos pelo filtro aplicado",
|
||||
"UnableToLoadAutoTagging": "Não foi possível carregar a marcação automática",
|
||||
"UnableToLoadRootFolders": "Não foi possível carregar as pastas raiz",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexadores com clientes de download inválidos: {0}.",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexadores com clientes de download inválidos: {indexerNames}.",
|
||||
"AddConditionError": "Não foi possível adicionar uma nova condição. Tente novamente.",
|
||||
"AddConnection": "Adicionar Conexão",
|
||||
"AddCustomFormat": "Adicionar Formato Personalizado",
|
||||
|
@ -901,7 +900,7 @@
|
|||
"UpdateAutomaticallyHelpText": "Baixe e instale atualizações automaticamente. Você ainda poderá instalar a partir do Sistema: Atualizações",
|
||||
"UpdateMechanismHelpText": "Use o atualizador integrado do {appName} ou um script",
|
||||
"UpdateSonarrDirectlyLoadError": "Incapaz de atualizar o {appName} diretamente,",
|
||||
"UpdateUiNotWritableHealthCheckMessage": "Não é possível instalar a atualização porque a pasta de IU '{0}' não pode ser salva pelo usuário '{1}'.",
|
||||
"UpdateUiNotWritableHealthCheckMessage": "Não é possível instalar a atualização porque a pasta de IU '{uiFolder}' não pode ser salva pelo usuário '{userName}'.",
|
||||
"UpgradeUntil": "Atualizar Até",
|
||||
"UpgradeUntilCustomFormatScore": "Atualizar até pontuação de formato personalizado",
|
||||
"UpgradeUntilHelpText": "Quando essa qualidade for atingida, o {appName} não fará mais download de episódios",
|
||||
|
@ -1257,7 +1256,7 @@
|
|||
"MoveFiles": "Mover Arquivos",
|
||||
"MultiLanguages": "Multi-Idiomas",
|
||||
"NoEpisodesFoundForSelectedSeason": "Nenhum episódio foi encontrado para a temporada selecionada",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notificações indisponíveis devido a falhas: {0}",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notificações indisponíveis devido a falhas: {notificationNames}",
|
||||
"Or": "ou",
|
||||
"Organize": "Organizar",
|
||||
"OrganizeLoadError": "Erro ao carregar visualizações",
|
||||
|
@ -1484,5 +1483,5 @@
|
|||
"FormatShortTimeSpanSeconds": "{seconds} segundo(s)",
|
||||
"FormatTimeSpanDays": "{days}d {time}",
|
||||
"Yesterday": "Ontem",
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "O cliente de download {0} está configurado para remover downloads concluídos. Isso pode resultar na remoção dos downloads do seu cliente antes que {1} possa importá-los."
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "O cliente de download {downloadClientName} está configurado para remover downloads concluídos. Isso pode resultar na remoção dos downloads do seu cliente antes que {appName} possa importá-los."
|
||||
}
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
"ApplyTagsHelpTextAdd": "Adăugare: adăugați etichetele la lista de etichete existentă",
|
||||
"ApplyTagsHelpTextReplace": "Înlocuire: înlocuiți etichetele cu etichetele introduse (nu introduceți etichete pentru a șterge toate etichetele)",
|
||||
"CancelPendingTask": "Sigur doriți să anulați această sarcină în așteptare?",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Nu pot comunica cu {0}.",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Nu pot comunica cu {downloadClientName}.",
|
||||
"CloneCustomFormat": "Clonați format personalizat",
|
||||
"Close": "Închide",
|
||||
"Delete": "Șterge",
|
||||
"Added": "Adăugat",
|
||||
"CountSeasons": "{count} sezoane",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Clienții de descărcare indisponibili datorită erorilor: {0}",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Clienții de descărcare indisponibili datorită erorilor: {downloadClientNames}",
|
||||
"EnableAutomaticSearch": "Activați căutarea automată",
|
||||
"EnableInteractiveSearch": "Activați căutarea interactivă",
|
||||
"Enabled": "Activat",
|
||||
|
@ -69,7 +69,7 @@
|
|||
"DotNetVersion": ".NET",
|
||||
"Download": "Descarca",
|
||||
"DownloadClient": "Client de descărcare",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Clientul de descărcare {0} plasează descărcările în folderul rădăcină {1}. Nu trebuie să descărcați într-un folder rădăcină.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Clientul de descărcare {downloadClientName} plasează descărcările în folderul rădăcină {rootFolderPath}. Nu trebuie să descărcați într-un folder rădăcină.",
|
||||
"Episode": "Episod",
|
||||
"EpisodeTitle": "Titlu episod",
|
||||
"Episodes": "Episoade",
|
||||
|
@ -151,7 +151,7 @@
|
|||
"InteractiveImportNoImportMode": "Un mod de import trebuie selectat",
|
||||
"InteractiveImportNoFilesFound": "Nu au fost găsite fișiere video în folderul selectat",
|
||||
"InteractiveImportLoadError": "Imposibil de încărcat articole de import manual",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notificări indisponibile datorită erorilor: {0}",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Notificări indisponibile datorită erorilor: {notificationNames}",
|
||||
"ParseModalUnableToParse": "Nu se poate analiza titlul furnizat, vă rugăm să încercați din nou.",
|
||||
"ParseModalErrorParsing": "Eroare la analizare, încercați din nou.",
|
||||
"Parse": "Analiza",
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{
|
||||
"ApiKeyValidationHealthCheckMessage": "Пожалуйста, обновите свой ключ API, чтобы он был длиной не менее {0} символов. Вы можете сделать это через настройки или файл конфигурации",
|
||||
"DownloadClientSortingHealthCheckMessage": "В клиенте загрузки {0} включена сортировка {1} для категории {appName}. Вам следует отключить сортировку в вашем клиенте загрузки, чтобы избежать проблем с импортом.",
|
||||
"IndexerJackettAllHealthCheckMessage": "Используется не поддерживаемый в Jackett конечный параметр 'all' в индексаторе: {0}",
|
||||
"ApiKeyValidationHealthCheckMessage": "Пожалуйста, обновите свой ключ API, чтобы он был длиной не менее {length} символов. Вы можете сделать это через настройки или файл конфигурации",
|
||||
"DownloadClientSortingHealthCheckMessage": "В клиенте загрузки {downloadClientName} включена сортировка {sortingMode} для категории {appName}. Вам следует отключить сортировку в вашем клиенте загрузки, чтобы избежать проблем с импортом.",
|
||||
"IndexerJackettAllHealthCheckMessage": "Используется не поддерживаемый в Jackett конечный параметр 'all' в индексаторе: {indexerNames}",
|
||||
"IndexerSearchNoAutomaticHealthCheckMessage": "Нет доступных индексаторов с включенным автоматическим поиском, {appName} не будет предоставлять результаты автоматического поиска",
|
||||
"Added": "Добавлено",
|
||||
"AppDataLocationHealthCheckMessage": "Обновление будет не возможно, во избежание удаления данных программы во время обновления",
|
||||
"ApplyChanges": "Применить изменения",
|
||||
"DownloadClientCheckNoneAvailableHealthCheckMessage": "Ни один загрузчик не доступен",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Невозможно связаться с {0}.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Клиент загрузки {0} помещает загрузки в корневую папку {1}. Вы не должны загружать в корневую папку.",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Невозможно связаться с {downloadClientName}.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Клиент загрузки {downloadClientName} помещает загрузки в корневую папку {rootFolderPath}. Вы не должны загружать в корневую папку.",
|
||||
"DownloadClientStatusAllClientHealthCheckMessage": "Все клиенты загрузки недоступны из-за сбоев",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Клиенты для скачивания недоступны из-за ошибок: {0}",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Клиенты для скачивания недоступны из-за ошибок: {downloadClientNames}",
|
||||
"EditSelectedDownloadClients": "Редактировать выбранные клиенты загрузки",
|
||||
"EditSelectedImportLists": "Редактировать выбранные списки импорта",
|
||||
"EditSeries": "Редактировать серию",
|
||||
|
@ -19,14 +19,14 @@
|
|||
"Enabled": "Включено",
|
||||
"HiddenClickToShow": "Скрыто, нажмите чтобы показать",
|
||||
"HideAdvanced": "Скрыть расширенные",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Отсутствует корневая папка для импортирования списка(ов): {0}",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Для импортируемых списков отсутствуют несколько корневых папок: {0}",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "Отсутствует корневая папка для импортирования списка(ов): {rootFolderInfo}",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Для импортируемых списков отсутствуют несколько корневых папок: {rootFoldersInfo}",
|
||||
"ImportListStatusAllUnavailableHealthCheckMessage": "Все листы недоступны из-за ошибок",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Листы недоступны из-за ошибок: {0}",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "Листы недоступны из-за ошибок: {importListNames}",
|
||||
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleHealthCheckMessage": "Включить обработку завершенной загрузки, если это возможно",
|
||||
"ImportMechanismHandlingDisabledHealthCheckMessage": "Включить обработку завершенных скачиваний",
|
||||
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "Все индексаторы недоступны из-за ошибок за последние 6 часов",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Все индексаторы недоступны из-за ошибок за последние 6 часов: {0}",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Все индексаторы недоступны из-за ошибок за последние 6 часов: {indexerNames}",
|
||||
"IndexerRssNoIndexersAvailableHealthCheckMessage": "Все RSS индексаторы временно выключены из-за ошибок",
|
||||
"IndexerRssNoIndexersEnabledHealthCheckMessage": "Нет доступных индексаторов с включенной синхронизацией RSS, {appName} не будет автоматически получать новые выпуски",
|
||||
"IndexerSearchNoAvailableIndexersHealthCheckMessage": "Все индексаторы с возможностью поиска временно выключены из-за ошибок",
|
||||
|
@ -35,12 +35,12 @@
|
|||
"EditConditionImplementation": "Редактировать условие - {implementationName}",
|
||||
"EditImportListImplementation": "Редактировать импорт лист - {implementationName}",
|
||||
"Implementation": "Реализация",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Индексаторы с недопустимыми клиентами загрузки: {0}.",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Индексаторы с недопустимыми клиентами загрузки: {indexerNames}.",
|
||||
"ManageClients": "Управление клиентами",
|
||||
"ManageIndexers": "Управление индексаторами",
|
||||
"MoveAutomatically": "Перемещать автоматически",
|
||||
"NoDownloadClientsFound": "Клиенты для загрузки не найдены",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Уведомления недоступны из-за сбоев: {0}",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Уведомления недоступны из-за сбоев: {notificationNames}",
|
||||
"CountIndexersSelected": "{count} выбранных индексаторов",
|
||||
"EditAutoTag": "Редактировать автоматическую маркировку",
|
||||
"NoHistoryBlocklist": "Нет истории блокировок",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"BlocklistRelease": "Chặn bản phát hành",
|
||||
"BlocklistReleases": "Phát hành danh sách đen",
|
||||
"Added": "Đã thêm",
|
||||
"ApiKeyValidationHealthCheckMessage": "Hãy cập nhật mã API để dài ít nhất {0} kí tự. Bạn có thể làm điều này trong cài đặt hoặc trong tập config",
|
||||
"ApiKeyValidationHealthCheckMessage": "Hãy cập nhật mã API để dài ít nhất {length} kí tự. Bạn có thể làm điều này trong cài đặt hoặc trong tập config",
|
||||
"AppDataLocationHealthCheckMessage": "Việc cập nhật sẽ không xảy ra để tránh xóa AppData khi cập nhật",
|
||||
"ApplyChanges": "Áp dụng thay đổi",
|
||||
"AutomaticAdd": "Tự động thêm"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"CloneCondition": "克隆条件",
|
||||
"DeleteCondition": "删除条件",
|
||||
"DeleteConditionMessageText": "你确定要删除条件 “{name}” 吗?",
|
||||
"DeleteCustomFormatMessageText": "是否确实要删除条件“{0}”?",
|
||||
"ApiKeyValidationHealthCheckMessage": "请将API密钥更新为至少{0}个字符长。您可以通过设置或配置文件执行此操作",
|
||||
"DeleteCustomFormatMessageText": "是否确实要删除条件“{customFormatName}”?",
|
||||
"ApiKeyValidationHealthCheckMessage": "请将API密钥更新为至少{length}个字符长。您可以通过设置或配置文件执行此操作",
|
||||
"RemoveSelectedItemQueueMessageText": "您确定要从队列中删除一个项目吗?",
|
||||
"RemoveSelectedItemsQueueMessageText": "您确定要从队列中删除{selectedCount}项吗?",
|
||||
"ApplyChanges": "应用更改",
|
||||
|
@ -63,22 +63,22 @@
|
|||
"Metadata": "元数据",
|
||||
"CountSeasons": "季{count}",
|
||||
"DownloadClientCheckNoneAvailableHealthCheckMessage": "无可用的下载客户端",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "无法与{0}进行通讯。",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "下载客户端{0}将下载内容放在根文件夹{1}中。您不应该下载到根文件夹。",
|
||||
"DownloadClientSortingHealthCheckMessage": "下载客户端{0}已为{appName}的类别启用{1}排序。您应该在下载客户端中禁用排序,以避免导入问题。",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "无法与{downloadClientName}进行通讯。",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "下载客户端{downloadClientName}将下载内容放在根文件夹{rootFolderPath}中。您不应该下载到根文件夹。",
|
||||
"DownloadClientSortingHealthCheckMessage": "下载客户端{downloadClientName}已为{appName}的类别启用{sortingMode}排序。您应该在下载客户端中禁用排序,以避免导入问题。",
|
||||
"DownloadClientStatusAllClientHealthCheckMessage": "所有下载客户端都不可用",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "所有下载客户端都不可用:{0}",
|
||||
"DownloadClientStatusSingleClientHealthCheckMessage": "所有下载客户端都不可用:{downloadClientNames}",
|
||||
"EditSeries": "编辑剧集",
|
||||
"Enabled": "已启用",
|
||||
"Ended": "已完结",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "在导入列表中缺少根目录文件夹:{0}",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "导入列表中缺失多个根目录文件夹:{0}",
|
||||
"ImportListRootFolderMissingRootHealthCheckMessage": "在导入列表中缺少根目录文件夹:{rootFolderInfo}",
|
||||
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "导入列表中缺失多个根目录文件夹:{rootFoldersInfo}",
|
||||
"ImportListStatusAllUnavailableHealthCheckMessage": "所有的列表因错误不可用",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "列表因错误不可用:{0}",
|
||||
"ImportListStatusUnavailableHealthCheckMessage": "列表因错误不可用:{importListNames}",
|
||||
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleMultiComputerHealthCheckMessage": "如果可能,启用完整的下载处理(不支持多台计算机)",
|
||||
"ImportMechanismHandlingDisabledHealthCheckMessage": "启用下载完成处理",
|
||||
"IndexerJackettAllHealthCheckMessage": "使用 Jackett 不受支持的“全部”终点的索引器:{0}",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "由于故障6小时,下列索引器都已不可用:{0}",
|
||||
"IndexerJackettAllHealthCheckMessage": "使用 Jackett 不受支持的“全部”终点的索引器:{indexerNames}",
|
||||
"IndexerLongTermStatusUnavailableHealthCheckMessage": "由于故障6小时,下列索引器都已不可用:{indexerNames}",
|
||||
"IndexerRssNoIndexersAvailableHealthCheckMessage": "由于最近的索引器错误,所有支持rss的索引器暂时不可用",
|
||||
"IndexerRssNoIndexersEnabledHealthCheckMessage": "没有启用RSS同步的索引器,{appName}不会自动抓取新版本",
|
||||
"IndexerSearchNoAutomaticHealthCheckMessage": "没有启用自动搜索的索引器,{appName}不会提供任何自动搜索结果",
|
||||
|
@ -89,12 +89,12 @@
|
|||
"OneSeason": "季1",
|
||||
"OriginalLanguage": "原语言",
|
||||
"Priority": "优先级",
|
||||
"ProxyBadRequestHealthCheckMessage": "测试代理失败。状态代码:{0}",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "配置文件夹:{0}无法写入,检查此路径是否存在,并且是否可由{appName}写入",
|
||||
"ProxyBadRequestHealthCheckMessage": "测试代理失败。状态代码:{statusCode}",
|
||||
"RecycleBinUnableToWriteHealthCheckMessage": "配置文件夹:{path}无法写入,检查此路径是否存在,并且是否可由{appName}写入",
|
||||
"QualityProfile": "质量配置",
|
||||
"RefreshSeries": "刷新节目",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "您正在使用docker;下载客户端{0}下载目录为{1},但这不是有效的{2}路径。查看Docker路径映射并为下载客户端重新配置。",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "{appName}已存在剧集目录{0}但无法访问。可能是权限错误。",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "您正在使用docker;下载客户端{downloadClientName}下载目录为{path},但这不是有效的{osName}路径。查看Docker路径映射并为下载客户端重新配置。",
|
||||
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "{appName}已存在剧集目录{path}但无法访问。可能是权限错误。",
|
||||
"Mode": "模式",
|
||||
"MoreInfo": "更多信息",
|
||||
"New": "新的",
|
||||
|
@ -107,7 +107,7 @@
|
|||
"NoLeaveIt": "不,就这样",
|
||||
"NoLogFiles": "没有日志文件",
|
||||
"Options": "选项",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "您正在使用docker;下载客户端{0}下载目录为{1},但容器中似乎不存在此目录。请检查Docker路径映射。",
|
||||
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "您正在使用docker;下载客户端$1{downloadClientName}下载目录为{path},但容器中似乎不存在此目录。请检查Docker路径映射。",
|
||||
"AirDate": "播出日期",
|
||||
"Daily": "日常的",
|
||||
"FullSeason": "全部剧集",
|
||||
|
@ -115,7 +115,7 @@
|
|||
"ImportLists": "导入列表",
|
||||
"ExistingTag": "已有标签",
|
||||
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "由于故障超过6小时,所有索引器均不可用",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "搜刮器因错误不可用:{0}",
|
||||
"IndexerStatusUnavailableHealthCheckMessage": "搜刮器因错误不可用:{indexerNames}",
|
||||
"IndexerSearchNoAvailableIndexersHealthCheckMessage": "由于最近的索引器错误,所有支持搜索的索引器暂时不可用",
|
||||
"LogFiles": "日志文件",
|
||||
"MatchedToEpisodes": "与剧集匹配",
|
||||
|
@ -132,7 +132,7 @@
|
|||
"Proper": "合适的",
|
||||
"ReleaseGroup": "发布组",
|
||||
"ReleaseTitle": "发行版标题",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "文件{0} 在处理的过程中被部分删除。",
|
||||
"RemotePathMappingFileRemovedHealthCheckMessage": "文件{path} 在处理的过程中被部分删除。",
|
||||
"AutoAdd": "自动添加",
|
||||
"Cancel": "取消",
|
||||
"DeleteSelectedDownloadClientsMessageText": "您确定要删除{count}选定的下载客户端吗?",
|
||||
|
@ -144,7 +144,7 @@
|
|||
"LibraryImport": "媒体库导入",
|
||||
"PreviousAiring": "上一次播出",
|
||||
"Profiles": "配置",
|
||||
"ProxyResolveIpHealthCheckMessage": "无法解析已设置的代理服务器主机{0}的IP地址",
|
||||
"ProxyResolveIpHealthCheckMessage": "无法解析已设置的代理服务器主机{proxyHostName}的IP地址",
|
||||
"Quality": "媒体质量",
|
||||
"Queue": "队列",
|
||||
"Real": "真的",
|
||||
|
@ -223,7 +223,7 @@
|
|||
"EnableAutomaticSearch": "启用自动搜索",
|
||||
"EpisodeAirDate": "剧集播出日期",
|
||||
"IndexerSearchNoInteractiveHealthCheckMessage": "没有启用交互式搜索的索引器,{appName}将不提供任何交互式搜索结果",
|
||||
"ProxyFailedToTestHealthCheckMessage": "测试代理失败: {0}",
|
||||
"ProxyFailedToTestHealthCheckMessage": "测试代理失败: {url}",
|
||||
"About": "关于",
|
||||
"Actions": "动作",
|
||||
"AppDataDirectory": "AppData目录",
|
||||
|
@ -274,42 +274,41 @@
|
|||
"Tags": "标签",
|
||||
"Series": "节目",
|
||||
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleHealthCheckMessage": "如果可能,在下载完成后自动处理",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "下载客户端{0}将文件下载在{1}中,但{appName}无法找到此目录。您可能需要调整文件夹的权限。",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "本地下载客户端{0}将文件下载在{1}中,但这不是有效的{2}路径。查看您的下载客户端设置。",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "远程下载客户端{0}报告了{1}中的文件,但此目录似乎不存在。可能缺少远程路径映射。",
|
||||
"RemotePathMappingGenericPermissionsHealthCheckMessage": "下载客户端{downloadClientName}将文件下载在{path}中,但{appName}无法找到此目录。您可能需要调整文件夹的权限。",
|
||||
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "本地下载客户端{downloadClientName}将文件下载在{path}中,但这不是有效的{osName}路径。查看您的下载客户端设置。",
|
||||
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "远程下载客户端{downloadClientName}报告了{path}中的文件,但此目录似乎不存在。可能缺少远程路径映射。",
|
||||
"IRCLinkText": "#Libera上的{appName}",
|
||||
"LiberaWebchat": "Libera聊天",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "您正在使用Docker;下载客户端{0}报告了{1}中的文件,但这不是有效的{2}中的路径。查看Docker路径映射并更新下载客户端设置。",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "下载客户端{0}报告的文件在{1},但{appName}无法查看此目录。您可能需要调整文件夹的权限。",
|
||||
"RemotePathMappingFilesBadDockerPathHealthCheckMessage": "您正在使用Docker;下载客户端{downloadClientName}报告了{path}中的文件,但这不是有效的{osName}中的路径。查看Docker路径映射并更新下载客户端设置。",
|
||||
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "下载客户端{downloadClientName}报告的文件在{path},但{appName}无法查看此目录。您可能需要调整文件夹的权限。",
|
||||
"RemovedFromTaskQueue": "从任务队列中删除",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "本地下载客户端{0}报告了{1}中的文件,但这不是有效的{2}路径。查看您的下载客户端设置。",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "远程下载客户端{0}报告了{1}中的文件,但这不是有效的{2}路径。查看远程路径映射并更新下载客户端设置。",
|
||||
"RemotePathMappingFilesLocalWrongOSPathHealthCheckMessage": "本地下载客户端{downloadClientName}报告了{path}中的文件,但这不是有效的{osName}路径。查看您的下载客户端设置。",
|
||||
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "远程下载客户端{downloadClientName}报告了{path}中的文件,但这不是有效的{osName}路径。查看远程路径映射并更新下载客户端设置。",
|
||||
"Restart": "重启",
|
||||
"RestartReloadNote": "注意:{appName}将在恢复过程中自动重启并重新加载UI。",
|
||||
"Restore": "恢复",
|
||||
"RootFolder": "根目录",
|
||||
"RemoveSelectedItems": "删除所选项目",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "节目{0}已从TVDB中删除",
|
||||
"RootFolderMissingHealthCheckMessage": "缺少根目录: {0}",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "多个根目录缺失:{0}",
|
||||
"RemovedSeriesSingleRemovedHealthCheckMessage": "节目{series}已从TVDB中删除",
|
||||
"RootFolderMissingHealthCheckMessage": "缺少根目录: {rootFolderPath}",
|
||||
"RootFolderMultipleMissingHealthCheckMessage": "多个根目录缺失:{rootFolderPaths}",
|
||||
"SkipRedownloadHelpText": "阻止{appName}尝试下载此项目的替代版本",
|
||||
"Tasks": "任务",
|
||||
"Wanted": "想要的",
|
||||
"Yes": "确定",
|
||||
"UpdateUINotWritableHealthCheckMessage": "无法安装升级,因为用户“{1}”不可写入界面文件夹“{0}”。",
|
||||
"AbsoluteEpisodeNumbers": "准确的集数",
|
||||
"RemoveCompleted": "移除已完成",
|
||||
"RemoveFailed": "删除失败",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "已从TVDB中删除节目{0}",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "下载目录{0}已存在但{appName}无法访问。可能是权限错误。",
|
||||
"RemovedSeriesMultipleRemovedHealthCheckMessage": "已从TVDB中删除节目{series}",
|
||||
"RemotePathMappingFolderPermissionsHealthCheckMessage": "下载目录{downloadPath}已存在但{appName}无法访问。可能是权限错误。",
|
||||
"RemovingTag": "移除标签",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "远程下载客户端{0}将文件下载在{1}中,但此目录似乎不存在。可能缺少或不正确的远程路径映射。",
|
||||
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "远程下载客户端{downloadClientName}将文件下载在{path}中,但此目录似乎不存在。可能缺少或不正确的远程路径映射。",
|
||||
"Replace": "替换",
|
||||
"Repack": "重新打包",
|
||||
"Version": "版本",
|
||||
"Special": "特色",
|
||||
"RemotePathMappingImportFailedHealthCheckMessage": "{appName}无法导入剧集。查看日志以了解详细信息。",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "远程下载客户端{0}将文件下载在{1}中,但这不是有效的{2}路径。查看远程路径映射并更新下载客户端设置。",
|
||||
"RemotePathMappingWrongOSPathHealthCheckMessage": "远程下载客户端{downloadClientName}将文件下载在{path}中,但这不是有效的{osName}路径。查看远程路径映射并更新下载客户端设置。",
|
||||
"RemoveFromDownloadClientHelpTextWarning": "删除将从下载客户端删除下载和文件。",
|
||||
"Renamed": "已重命名",
|
||||
"RootFolderPath": "根目录路径",
|
||||
|
@ -325,7 +324,7 @@
|
|||
"Title": "标题",
|
||||
"Type": "类型",
|
||||
"UnmonitoredOnly": "监控中",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "无法安装更新,因为启动文件夹“{0}”在一个应用程序迁移文件夹。",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "无法安装更新,因为启动文件夹“{startupFolder}”在一个应用程序迁移文件夹。",
|
||||
"Updates": "更新",
|
||||
"VideoCodec": "视频编码",
|
||||
"VideoDynamicRange": "视频动态范围",
|
||||
|
@ -334,7 +333,7 @@
|
|||
"SeasonCount": "季数量",
|
||||
"SystemTimeHealthCheckMessage": "系统时间相差超过1天。在纠正时间之前,计划的任务可能无法正确运行",
|
||||
"TestAll": "测试全部",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "无法安装更新,因为用户“{1}”对于启动文件夹“{0}”没有写入权限。",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "无法安装更新,因为用户“{userName}”对于启动文件夹“{startupFolder}”没有写入权限。",
|
||||
"SeriesTitle": "节目标题",
|
||||
"SetTags": "设置标签",
|
||||
"Size": "大小",
|
||||
|
@ -841,7 +840,7 @@
|
|||
"SourceRelativePath": "源相对路径",
|
||||
"MetadataSourceSettingsSummary": "{appName}从哪里获得剧集和集信息的总结",
|
||||
"SslCertPassword": "SSL证书密码",
|
||||
"UpdateUiNotWritableHealthCheckMessage": "无法安装更新,因为用户“{1}”无法写入 UI 文件夹“{0}”。",
|
||||
"UpdateUiNotWritableHealthCheckMessage": "无法安装更新,因为用户“{userName}”无法写入 UI 文件夹“{uiFolder}”。",
|
||||
"MinimumCustomFormatScoreHelpText": "允许下载的最小自定义格式分数",
|
||||
"SslCertPasswordHelpText": "pfx文件密码",
|
||||
"UpgradeUntilCustomFormatScore": "升级直到自定义格式分数满足",
|
||||
|
@ -942,7 +941,7 @@
|
|||
"HourShorthand": "时",
|
||||
"ImportedTo": "导入到",
|
||||
"Importing": "导入中",
|
||||
"IndexerDownloadClientHealthCheckMessage": "有无效下载客户端的索引器:{0}。",
|
||||
"IndexerDownloadClientHealthCheckMessage": "有无效下载客户端的索引器:{indexerNames}。",
|
||||
"IndexersSettingsSummary": "索引器和索引器选项",
|
||||
"InteractiveImport": "手动导入",
|
||||
"InstanceNameHelpText": "选项卡及日志应用名称",
|
||||
|
@ -1311,7 +1310,7 @@
|
|||
"MyComputer": "我的电脑",
|
||||
"NamingSettings": "命名设置",
|
||||
"NoEpisodeOverview": "没有集摘要",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "由于失败导致通知不可用:{0}",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "由于失败导致通知不可用:{notificationNames}",
|
||||
"NotificationTriggers": "通知触发器",
|
||||
"NotificationsLoadError": "无法加载通知连接",
|
||||
"OnApplicationUpdate": "程序更新时",
|
||||
|
@ -1484,5 +1483,5 @@
|
|||
"Files": "文件",
|
||||
"SeriesDetailsOneEpisodeFile": "1个集文件",
|
||||
"UrlBase": "基本URL",
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "下载客户端{0}设置为删除已完成的下载。这可能导致在{1}可以导入下载之前从您的客户端删除下载。"
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "下载客户端{downloadClientName}设置为删除已完成的下载。这可能导致在{appName}可以导入下载之前从您的客户端删除下载。"
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"BlocklistRelease": "封鎖清單版本",
|
||||
"BlocklistReleases": "封鎖清單版本",
|
||||
"ApiKeyValidationHealthCheckMessage": "請將您的API金鑰更新為至少{0}個字元長。您可以通過設定或配置文件進行此操作。",
|
||||
"ApiKeyValidationHealthCheckMessage": "請將您的API金鑰更新為至少{length}個字元長。您可以通過設定或配置文件進行此操作。",
|
||||
"AppDataLocationHealthCheckMessage": "為了避免在更新過程中刪除AppData,將無法進行更新。"
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text.Json;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Cache;
|
||||
|
@ -18,14 +19,17 @@ namespace NzbDrone.Core.Localization
|
|||
public interface ILocalizationService
|
||||
{
|
||||
Dictionary<string, string> GetLocalizationDictionary();
|
||||
|
||||
string GetLocalizedString(string phrase);
|
||||
string GetLocalizedString(string phrase, string language);
|
||||
string GetLocalizedString(string phrase, Dictionary<string, object> tokens);
|
||||
string GetLanguageIdentifier();
|
||||
}
|
||||
|
||||
public class LocalizationService : ILocalizationService, IHandleAsync<ConfigSavedEvent>
|
||||
{
|
||||
private const string DefaultCulture = "en";
|
||||
private static readonly Regex TokenRegex = new Regex(@"(?:\{)(?<token>[a-z0-9]+)(?:\})",
|
||||
RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
|
||||
|
||||
private readonly ICached<Dictionary<string, string>> _cache;
|
||||
|
||||
|
@ -53,23 +57,18 @@ namespace NzbDrone.Core.Localization
|
|||
|
||||
public string GetLocalizedString(string phrase)
|
||||
{
|
||||
var language = GetLanguageFileName();
|
||||
|
||||
return GetLocalizedString(phrase, language);
|
||||
return GetLocalizedString(phrase, new Dictionary<string, object>());
|
||||
}
|
||||
|
||||
public string GetLocalizedString(string phrase, string language)
|
||||
public string GetLocalizedString(string phrase, Dictionary<string, object> tokens)
|
||||
{
|
||||
var language = GetLanguageFileName();
|
||||
|
||||
if (string.IsNullOrEmpty(phrase))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(phrase));
|
||||
}
|
||||
|
||||
if (language.IsNullOrWhiteSpace())
|
||||
{
|
||||
language = GetLanguageFileName();
|
||||
}
|
||||
|
||||
if (language == null)
|
||||
{
|
||||
language = DefaultCulture;
|
||||
|
@ -79,7 +78,7 @@ namespace NzbDrone.Core.Localization
|
|||
|
||||
if (dictionary.TryGetValue(phrase, out var value))
|
||||
{
|
||||
return value;
|
||||
return ReplaceTokens(value, tokens);
|
||||
}
|
||||
|
||||
return phrase;
|
||||
|
@ -98,6 +97,20 @@ namespace NzbDrone.Core.Localization
|
|||
return language;
|
||||
}
|
||||
|
||||
private string ReplaceTokens(string input, Dictionary<string, object> tokens)
|
||||
{
|
||||
tokens.TryAdd("appName", "Sonarr");
|
||||
|
||||
return TokenRegex.Replace(input, (match) =>
|
||||
{
|
||||
var tokenName = match.Groups["token"].Value;
|
||||
|
||||
tokens.TryGetValue(tokenName, out var token);
|
||||
|
||||
return token?.ToString() ?? $"{{{tokenName}}}";
|
||||
});
|
||||
}
|
||||
|
||||
private string GetLanguageFileName()
|
||||
{
|
||||
return GetLanguageIdentifier().Replace("-", "_").ToLowerInvariant();
|
||||
|
|
Loading…
Reference in New Issue