1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-09-28 20:27:21 +02:00

Compare commits

...

27 Commits

Author SHA1 Message Date
Weblate
8809c207bb Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/hi/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ru/
Translation: Servarr/Radarr
2024-06-18 20:13:44 +03:00
Mark McDowall
1be2cded74 Fixed: Importing from IMDb list
(cherry picked from commit f8e81396d409362da359b3fde671ad826e5c68e3)

Closes #10090
2024-06-18 19:48:08 +03:00
Bogdan
0a189d00ef New: Display stats for delete movies modal
Closes #10093
2024-06-18 19:42:09 +03:00
Bogdan
5fc63ecb3f New: Ignore inaccessible folders when getting folders
(cherry picked from commit a30e9da7672a202cb9e9188cf106afc34a5d0361)
2024-06-18 06:55:13 +03:00
Bogdan
3a74393d05 Fixed: Ensure TMDb import lists are paginated 2024-06-16 03:31:28 +03:00
Mark McDowall
4cbf5cfc57 Fixed: Adding movies with unknown items in queue 2024-06-12 19:02:26 +03:00
Weblate
797142d6f3 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/es/
Translation: Servarr/Radarr
2024-06-11 08:04:09 +03:00
Servarr
2a472c50c1 Automated API Docs update 2024-06-11 08:03:37 +03:00
Mark McDowall
a12ff68fbd Fixed: Skip invalid movie paths during validation
(cherry picked from commit 378fedcd9dcb0fe07585727dd7d9e5e765c863c0)

Closes #10079
2024-06-11 07:40:11 +03:00
Bogdan
194926c7dd Ignore Grabbed from API docs
Run application in docs.sh specific to platform

(cherry picked from commit c331c8bd119fa9f85a53e96db04f541b2d90bbd3)

Closes #10082
2024-06-11 07:34:45 +03:00
Bogdan
7dee5bb689 Rename Sonarr to Radarr 2024-06-11 07:31:07 +03:00
Mark McDowall
9b24dab71b Fixed: Improve error messaging if config file isn't formatted correctly
(cherry picked from commit 52b72925f9d42c896144dde3099dc19c397327b0)
2024-06-11 07:16:02 +03:00
Bogdan
62e1c02fe2 Fixed: Ignore case when resolving indexer by name in release push
(cherry picked from commit a90ab1a8fd50126d7f60eaa684eac1e0cd98e2b7)
2024-06-11 07:15:50 +03:00
Bogdan
99b3d61862 Fixed: Ignore case for name validation in providers
(cherry picked from commit 0edc5ba99a15c5f80305b387a053f35fc3f6e51b)
2024-06-11 07:15:33 +03:00
Bogdan
bd905567de Fixed: Map covers to local for grabbed movies 2024-06-10 14:23:55 +03:00
Bogdan
a8eea20d69 Fallback to remote url for backdrop image 2024-06-10 14:21:50 +03:00
tsuereth
69ad0caf40
Fixed: Avoid NullRef for Movie Resources with a null tags field 2024-06-10 13:37:57 +03:00
Bogdan
8a5c0ffd18 New: Refresh cache for tracked queue on movie add 2024-06-06 12:32:39 +03:00
Bogdan
c8b409ed0b Added some missing indexes to database 2024-06-03 17:38:58 +03:00
Weblate
c5bcb13f63 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: AlbertCoolGuy <Albert.rosenstand@gmail.com>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: Nermendis <nermendis@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yi Cao <caoyi06@qq.com>
Co-authored-by: ewenlau <eliaswendland@free.fr>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: mm519897405 <baiya@vip.qq.com>
Co-authored-by: nicolhac <hacheyn@me.com>
Co-authored-by: r0bertreh <Robert.reh@live.de>
Co-authored-by: thegamingcat13 <sandervanbeek2004@gmail.com>
Co-authored-by: topnew <sznetim@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ar/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/bg/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/da/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/el/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/he/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/hi/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/hr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/id/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/is/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ja/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ko/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/sk/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/sv/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/th/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/uk/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/vi/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_CN/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_TW/
Translation: Servarr/Radarr
2024-06-03 09:10:15 +03:00
Bogdan
80de711654 Bump Microsoft.NET.Test.Sdk, SharpZipLib and Polly 2024-06-03 08:51:02 +03:00
Bogdan
3fb558411e Include year in page title for movie details 2024-06-03 08:15:44 +03:00
Servarr
98384ab390 Automated API Docs update 2024-05-31 14:30:17 +03:00
Bogdan
0c654377f4 Fixed: Manual Interaction Required with possible null movie
Prevent a NullRef when the notification is sent due to an invalid movie title

Fixes #10053
2024-05-31 13:50:49 +03:00
Bogdan
e8c925274a Implement equality checks for providers 2024-05-22 03:51:11 +03:00
Bogdan
320bfeec16 Fixed: Trimming slashes from UrlBase when using environment variable
(cherry picked from commit d7ceb11a64c3926f35aabf67c935680cf031bd0e)
2024-05-22 03:19:25 +03:00
Bogdan
638f92495c Bump version to 5.7.0 2024-05-14 20:18:27 +03:00
161 changed files with 3764 additions and 1084 deletions

View File

@ -9,7 +9,7 @@ variables:
testsFolder: './_tests' testsFolder: './_tests'
yarnCacheFolder: $(Pipeline.Workspace)/.yarn yarnCacheFolder: $(Pipeline.Workspace)/.yarn
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
majorVersion: '5.6.0' majorVersion: '5.7.0'
minorVersion: $[counter('minorVersion', 2000)] minorVersion: $[counter('minorVersion', 2000)]
radarrVersion: '$(majorVersion).$(minorVersion)' radarrVersion: '$(majorVersion).$(minorVersion)'
buildName: '$(Build.SourceBranchName).$(radarrVersion)' buildName: '$(Build.SourceBranchName).$(radarrVersion)'

10
docs.sh
View File

@ -21,15 +21,21 @@ slnFile=src/Radarr.sln
platform=Posix platform=Posix
if [ "$PLATFORM" = "Windows" ]; then
application=Radarr.Console.dll
else
application=Radarr.dll
fi
dotnet clean $slnFile -c Debug dotnet clean $slnFile -c Debug
dotnet clean $slnFile -c Release dotnet clean $slnFile -c Release
dotnet msbuild -restore $slnFile -p:Configuration=Debug -p:Platform=$platform -p:RuntimeIdentifiers=$RUNTIME -t:PublishAllRids dotnet msbuild -restore $slnFile -p:Configuration=Debug -p:Platform=$platform -p:RuntimeIdentifiers=$RUNTIME -t:PublishAllRids
dotnet new tool-manifest dotnet new tool-manifest
dotnet tool install --version 6.5.0 Swashbuckle.AspNetCore.Cli dotnet tool install --version 6.6.2 Swashbuckle.AspNetCore.Cli
dotnet tool run swagger tofile --output ./src/Radarr.Api.V3/openapi.json "$outputFolder/net6.0/$RUNTIME/radarr.console.dll" v3 & dotnet tool run swagger tofile --output ./src/Radarr.Api.V3/openapi.json "$outputFolder/net6.0/$RUNTIME/$application" v3 &
sleep 45 sleep 45

View File

@ -6,7 +6,17 @@
margin-right: 8px; margin-right: 8px;
} }
.folderPath {
font-weight: bold;
font-family: var(--defaultFontFamily);
}
.deleteFilesMessage { .deleteFilesMessage {
margin-top: 20px; margin-top: 20px;
color: var(--dangerColor); color: var(--dangerColor);
.deleteCount {
margin-top: 20px;
color: var(--warningColor);
}
} }

View File

@ -1,7 +1,9 @@
// This file is automatically generated. // This file is automatically generated.
// Please do not change this file! // Please do not change this file!
interface CssExports { interface CssExports {
'deleteCount': string;
'deleteFilesMessage': string; 'deleteFilesMessage': string;
'folderPath': string;
'pathContainer': string; 'pathContainer': string;
'pathIcon': string; 'pathIcon': string;
} }

View File

@ -5,6 +5,7 @@ import FormInputGroup from 'Components/Form/FormInputGroup';
import FormLabel from 'Components/Form/FormLabel'; import FormLabel from 'Components/Form/FormLabel';
import Icon from 'Components/Icon'; import Icon from 'Components/Icon';
import Button from 'Components/Link/Button'; import Button from 'Components/Link/Button';
import InlineMarkdown from 'Components/Markdown/InlineMarkdown';
import ModalBody from 'Components/Modal/ModalBody'; import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent'; import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter'; import ModalFooter from 'Components/Modal/ModalFooter';
@ -49,34 +50,26 @@ class DeleteMovieModalContent extends Component {
const { const {
title, title,
path, path,
hasFile, statistics = {},
statistics,
deleteOptions, deleteOptions,
onModalClose, onModalClose,
onDeleteOptionChange onDeleteOptionChange
} = this.props; } = this.props;
const { const {
movieFileCount = 0,
sizeOnDisk = 0 sizeOnDisk = 0
} = statistics; } = statistics;
const deleteFiles = this.state.deleteFiles; const deleteFiles = this.state.deleteFiles;
const addImportExclusion = deleteOptions.addImportExclusion; const addImportExclusion = deleteOptions.addImportExclusion;
let deleteFilesLabel = hasFile ? translate('DeleteFileLabel', [1]) : translate('DeleteFilesLabel', [0]);
let deleteFilesHelpText = translate('DeleteFilesHelpText');
if (!hasFile) {
deleteFilesLabel = translate('DeleteMovieFolderLabel');
deleteFilesHelpText = translate('DeleteMovieFolderHelpText');
}
return ( return (
<ModalContent <ModalContent
onModalClose={onModalClose} onModalClose={onModalClose}
> >
<ModalHeader> <ModalHeader>
{translate('DeleteHeader', [title])} {translate('DeleteHeader', { title })}
</ModalHeader> </ModalHeader>
<ModalBody> <ModalBody>
@ -105,32 +98,32 @@ class DeleteMovieModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>{deleteFilesLabel}</FormLabel> <FormLabel>{movieFileCount === 0 ? translate('DeleteMovieFolder') : translate('DeleteMovieFiles', { movieFileCount })}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="deleteFiles" name="deleteFiles"
value={deleteFiles} value={deleteFiles}
helpText={deleteFilesHelpText} helpText={movieFileCount === 0 ? translate('DeleteMovieFolderHelpText') : translate('DeleteMovieFilesHelpText')}
kind={kinds.DANGER} kind={kinds.DANGER}
onChange={this.onDeleteFilesChange} onChange={this.onDeleteFilesChange}
/> />
</FormGroup> </FormGroup>
{ {
deleteFiles && deleteFiles ?
<div className={styles.deleteFilesMessage}> <div className={styles.deleteFilesMessage}>
<div> <div><InlineMarkdown data={translate('DeleteMovieFolderConfirmation', { path })} blockClassName={styles.folderPath} /></div>
{translate('DeleteTheMovieFolder', { path })}
</div>
{ {
!!hasFile && movieFileCount ?
<div> <div className={styles.deleteCount}>
{hasFile} {translate('MovieFilesTotaling')} {formatBytes(sizeOnDisk)} {translate('DeleteMovieFolderMovieCount', { movieFileCount, size: formatBytes(sizeOnDisk) })}
</div> </div> :
null
} }
</div> </div> :
null
} }
</ModalBody> </ModalBody>

View File

@ -1,4 +1,3 @@
import _ from 'lodash';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import React, { Component } from 'react'; import React, { Component } from 'react';
import TextTruncate from 'react-text-truncate'; import TextTruncate from 'react-text-truncate';
@ -51,7 +50,8 @@ const defaultFontSize = parseInt(fonts.defaultFontSize);
const lineHeight = parseFloat(fonts.lineHeight); const lineHeight = parseFloat(fonts.lineHeight);
function getFanartUrl(images) { function getFanartUrl(images) {
return _.find(images, { coverType: 'fanart' })?.url; const image = images.find((img) => img.coverType === 'fanart');
return image?.url ?? image?.remoteUrl;
} }
class MovieDetails extends Component { class MovieDetails extends Component {
@ -285,8 +285,10 @@ class MovieDetails extends Component {
const fanartUrl = getFanartUrl(images); const fanartUrl = getFanartUrl(images);
const marqueeWidth = isSmallScreen ? titleWidth : (titleWidth - 150); const marqueeWidth = isSmallScreen ? titleWidth : (titleWidth - 150);
const pageTitle = `${title}${year > 0 ? ` (${year})` : ''}`;
return ( return (
<PageContent title={title}> <PageContent title={pageTitle}>
<PageToolbar> <PageToolbar>
<PageToolbarSection> <PageToolbarSection>
<PageToolbarButton <PageToolbarButton

View File

@ -10,4 +10,15 @@
.path { .path {
margin-left: 5px; margin-left: 5px;
color: var(--dangerColor); color: var(--dangerColor);
font-weight: bold;
}
.statistics {
margin-left: 5px;
color: var(--warningColor);
}
.deleteFilesMessage {
margin-top: 20px;
color: var(--warningColor);
} }

View File

@ -1,9 +1,11 @@
// This file is automatically generated. // This file is automatically generated.
// Please do not change this file! // Please do not change this file!
interface CssExports { interface CssExports {
'deleteFilesMessage': string;
'message': string; 'message': string;
'path': string; 'path': string;
'pathContainer': string; 'pathContainer': string;
'statistics': string;
} }
export const cssExports: CssExports; export const cssExports: CssExports;
export default cssExports; export default cssExports;

View File

@ -16,6 +16,7 @@ import Movie from 'Movie/Movie';
import { bulkDeleteMovie, setDeleteOption } from 'Store/Actions/movieActions'; import { bulkDeleteMovie, setDeleteOption } from 'Store/Actions/movieActions';
import createAllMoviesSelector from 'Store/Selectors/createAllMoviesSelector'; import createAllMoviesSelector from 'Store/Selectors/createAllMoviesSelector';
import { CheckInputChanged } from 'typings/inputs'; import { CheckInputChanged } from 'typings/inputs';
import formatBytes from 'Utilities/Number/formatBytes';
import translate from 'Utilities/String/translate'; import translate from 'Utilities/String/translate';
import styles from './DeleteMovieModalContent.css'; import styles from './DeleteMovieModalContent.css';
@ -85,9 +86,31 @@ function DeleteMovieModalContent(props: DeleteMovieModalContentProps) {
onModalClose, onModalClose,
]); ]);
const { totalMovieFileCount, totalSizeOnDisk } = useMemo(() => {
return movies.reduce(
(acc, m) => {
const { statistics = { movieFileCount: 0, sizeOnDisk: 0 } } = m;
const { movieFileCount = 0, sizeOnDisk = 0 } = statistics;
acc.totalMovieFileCount += movieFileCount;
acc.totalSizeOnDisk += sizeOnDisk;
return acc;
},
{
totalMovieFileCount: 0,
totalSizeOnDisk: 0,
}
);
}, [movies]);
return ( return (
<ModalContent onModalClose={onModalClose}> <ModalContent onModalClose={onModalClose}>
<ModalHeader>{translate('DeleteSelectedMovie')}</ModalHeader> <ModalHeader>
{movies.length > 1
? translate('DeleteSelectedMovies')
: translate('DeleteSelectedMovie')}
</ModalHeader>
<ModalBody> <ModalBody>
<div> <div>
@ -104,17 +127,21 @@ function DeleteMovieModalContent(props: DeleteMovieModalContentProps) {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>{`Delete Movie Folder${ <FormLabel>
movies.length > 1 ? 's' : '' {movies.length > 1
}`}</FormLabel> ? translate('DeleteMovieFolders')
: translate('DeleteMovieFolder')}
</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="deleteFiles" name="deleteFiles"
value={deleteFiles} value={deleteFiles}
helpText={`Delete Movie Folder${ helpText={
movies.length > 1 ? 's' : '' movies.length > 1
} and all contents`} ? translate('DeleteMovieFoldersHelpText')
: translate('DeleteMovieFolderHelpText')
}
kind={kinds.DANGER} kind={kinds.DANGER}
onChange={onDeleteFilesChange} onChange={onDeleteFilesChange}
/> />
@ -122,26 +149,54 @@ function DeleteMovieModalContent(props: DeleteMovieModalContentProps) {
</div> </div>
<div className={styles.message}> <div className={styles.message}>
{`Are you sure you want to delete ${movies.length} selected movie(s)${ {deleteFiles
deleteFiles ? ' and all contents' : '' ? translate('DeleteMovieFolderCountWithFilesConfirmation', {
}?`} count: movies.length,
})
: translate('DeleteMovieFolderCountConfirmation', {
count: movies.length,
})}
</div> </div>
<ul> <ul>
{movies.map((s) => { {movies.map((m) => {
const { movieFileCount = 0, sizeOnDisk = 0 } = m.statistics;
return ( return (
<li key={s.title}> <li key={m.title}>
<span>{s.title}</span> <span>{m.title}</span>
{deleteFiles && ( {deleteFiles && (
<span className={styles.pathContainer}> <span>
-<span className={styles.path}>{s.path}</span> <span className={styles.pathContainer}>
-<span className={styles.path}>{m.path}</span>
</span>
{!!movieFileCount && (
<span className={styles.statistics}>
(
{translate('DeleteMovieFolderMovieCount', {
movieFileCount,
size: formatBytes(sizeOnDisk),
})}
)
</span>
)}
</span> </span>
)} )}
</li> </li>
); );
})} })}
</ul> </ul>
{deleteFiles && !!totalMovieFileCount ? (
<div className={styles.deleteFilesMessage}>
{translate('DeleteMovieFolderMovieCount', {
movieFileCount: totalMovieFileCount,
size: formatBytes(totalSizeOnDisk),
})}
</div>
) : null}
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>

View File

@ -130,7 +130,7 @@
<!-- Standard testing packages --> <!-- Standard testing packages -->
<ItemGroup Condition="'$(TestProject)'=='true'"> <ItemGroup Condition="'$(TestProject)'=='true'">
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageReference Include="NUnit" Version="3.14.0" /> <PackageReference Include="NUnit" Version="3.14.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" /> <PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageReference Include="NunitXml.TestLogger" Version="3.0.131" /> <PackageReference Include="NunitXml.TestLogger" Version="3.0.131" />

View File

@ -153,7 +153,11 @@ public IEnumerable<string> GetDirectories(string path)
{ {
Ensure.That(path, () => path).IsValidPath(PathValidationType.CurrentOs); Ensure.That(path, () => path).IsValidPath(PathValidationType.CurrentOs);
return Directory.EnumerateDirectories(path); return Directory.EnumerateDirectories(path, "*", new EnumerationOptions
{
AttributesToSkip = FileAttributes.System,
IgnoreInaccessible = true
});
} }
public IEnumerable<string> GetFiles(string path, bool recursive) public IEnumerable<string> GetFiles(string path, bool recursive)

View File

@ -13,7 +13,7 @@
<PackageReference Include="Npgsql" Version="7.0.7" /> <PackageReference Include="Npgsql" Version="7.0.7" />
<PackageReference Include="Sentry" Version="4.0.2" /> <PackageReference Include="Sentry" Version="4.0.2" />
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" /> <PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
<PackageReference Include="SharpZipLib" Version="1.3.3" /> <PackageReference Include="SharpZipLib" Version="1.4.2" />
<PackageReference Include="System.Text.Json" Version="6.0.9" /> <PackageReference Include="System.Text.Json" Version="6.0.9" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" /> <PackageReference Include="System.ValueTuple" Version="4.5.0" />
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" /> <PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />

View File

@ -6,7 +6,6 @@
using NzbDrone.Core.MediaFiles; using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Movies; using NzbDrone.Core.Movies;
using NzbDrone.Core.Notifications; using NzbDrone.Core.Notifications;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
using NzbDrone.Test.Common; using NzbDrone.Test.Common;
@ -15,9 +14,9 @@ namespace NzbDrone.Core.Test.NotificationTests
[TestFixture] [TestFixture]
public class NotificationBaseFixture : TestBase public class NotificationBaseFixture : TestBase
{ {
private class TestSetting : IProviderConfig private class TestSetting : NotificationSettingsBase<TestSetting>
{ {
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(); return new NzbDroneValidationResult();
} }

View File

@ -241,7 +241,7 @@ public string UrlBase
{ {
get get
{ {
var urlBase = _serverOptions.UrlBase ?? GetValue("UrlBase", "").Trim('/'); var urlBase = (_serverOptions.UrlBase ?? GetValue("UrlBase", "")).Trim('/');
if (urlBase.IsNullOrWhiteSpace()) if (urlBase.IsNullOrWhiteSpace())
{ {
@ -404,13 +404,21 @@ public XDocument LoadConfigFile()
throw new InvalidConfigFileException($"{_configFile} is corrupt. Please delete the config file and Radarr will recreate it."); throw new InvalidConfigFileException($"{_configFile} is corrupt. Please delete the config file and Radarr will recreate it.");
} }
return XDocument.Parse(_diskProvider.ReadAllText(_configFile)); var xDoc = XDocument.Parse(_diskProvider.ReadAllText(_configFile));
var config = xDoc.Descendants(CONFIG_ELEMENT_NAME).ToList();
if (config.Count != 1)
{
throw new InvalidConfigFileException($"{_configFile} is invalid. Please delete the config file and Radarr will recreate it.");
}
return xDoc;
} }
var xDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes")); var newXDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
xDoc.Add(new XElement(CONFIG_ELEMENT_NAME)); newXDoc.Add(new XElement(CONFIG_ELEMENT_NAME));
return xDoc; return newXDoc;
} }
} }
catch (XmlException ex) catch (XmlException ex)

View File

@ -0,0 +1,29 @@
using FluentMigrator;
using NzbDrone.Core.Datastore.Migration.Framework;
namespace NzbDrone.Core.Datastore.Migration
{
[Migration(237)]
public class add_indexes : NzbDroneMigrationBase
{
protected override void MainDbUpgrade()
{
Create.Index().OnTable("Blocklist").OnColumn("MovieId");
Create.Index().OnTable("Blocklist").OnColumn("Date");
Create.Index()
.OnTable("History")
.OnColumn("MovieId").Ascending()
.OnColumn("Date").Descending();
Delete.Index().OnTable("History").OnColumn("DownloadId");
Create.Index()
.OnTable("History")
.OnColumn("DownloadId").Ascending()
.OnColumn("Date").Descending();
Create.Index().OnTable("Movies").OnColumn("MovieFileId");
Create.Index().OnTable("Movies").OnColumn("Path");
}
}
}

View File

@ -25,6 +25,11 @@ public RemoteMovieAggregationService(IEnumerable<IAggregateRemoteMovie> augmente
public RemoteMovie Augment(RemoteMovie remoteMovie) public RemoteMovie Augment(RemoteMovie remoteMovie)
{ {
if (remoteMovie == null)
{
return null;
}
foreach (var augmenter in _augmenters) foreach (var augmenter in _augmenters)
{ {
try try

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.Aria2 namespace NzbDrone.Core.Download.Clients.Aria2
@ -13,9 +12,9 @@ public Aria2SettingsValidator()
} }
} }
public class Aria2Settings : IProviderConfig public class Aria2Settings : DownloadClientSettingsBase<Aria2Settings>
{ {
private static readonly Aria2SettingsValidator Validator = new Aria2SettingsValidator(); private static readonly Aria2SettingsValidator Validator = new ();
public Aria2Settings() public Aria2Settings()
{ {
@ -44,7 +43,7 @@ public Aria2Settings()
[FieldDefinition(5, Label = "Directory", Type = FieldType.Textbox, HelpText = "DownloadClientAriaSettingsDirectoryHelpText")] [FieldDefinition(5, Label = "Directory", Type = FieldType.Textbox, HelpText = "DownloadClientAriaSettingsDirectoryHelpText")]
public string Directory { get; set; } public string Directory { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -2,7 +2,6 @@
using FluentValidation; using FluentValidation;
using Newtonsoft.Json; using Newtonsoft.Json;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
using NzbDrone.Core.Validation.Paths; using NzbDrone.Core.Validation.Paths;
@ -18,7 +17,7 @@ public TorrentBlackholeSettingsValidator()
} }
} }
public class TorrentBlackholeSettings : IProviderConfig public class TorrentBlackholeSettings : DownloadClientSettingsBase<TorrentBlackholeSettings>
{ {
public TorrentBlackholeSettings() public TorrentBlackholeSettings()
{ {
@ -26,7 +25,7 @@ public TorrentBlackholeSettings()
ReadOnly = true; ReadOnly = true;
} }
private static readonly TorrentBlackholeSettingsValidator Validator = new TorrentBlackholeSettingsValidator(); private static readonly TorrentBlackholeSettingsValidator Validator = new ();
[FieldDefinition(0, Label = "TorrentBlackholeTorrentFolder", Type = FieldType.Path, HelpText = "BlackholeFolderHelpText")] [FieldDefinition(0, Label = "TorrentBlackholeTorrentFolder", Type = FieldType.Path, HelpText = "BlackholeFolderHelpText")]
[FieldToken(TokenField.HelpText, "TorrentBlackholeTorrentFolder", "extension", ".torrent")] [FieldToken(TokenField.HelpText, "TorrentBlackholeTorrentFolder", "extension", ".torrent")]
@ -48,7 +47,7 @@ public TorrentBlackholeSettings()
[FieldDefinition(4, Label = "TorrentBlackholeSaveMagnetFilesReadOnly", Type = FieldType.Checkbox, HelpText = "TorrentBlackholeSaveMagnetFilesReadOnlyHelpText")] [FieldDefinition(4, Label = "TorrentBlackholeSaveMagnetFilesReadOnly", Type = FieldType.Checkbox, HelpText = "TorrentBlackholeSaveMagnetFilesReadOnlyHelpText")]
public bool ReadOnly { get; set; } public bool ReadOnly { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
using NzbDrone.Core.Validation.Paths; using NzbDrone.Core.Validation.Paths;
@ -15,9 +14,9 @@ public UsenetBlackholeSettingsValidator()
} }
} }
public class UsenetBlackholeSettings : IProviderConfig public class UsenetBlackholeSettings : DownloadClientSettingsBase<UsenetBlackholeSettings>
{ {
private static readonly UsenetBlackholeSettingsValidator Validator = new UsenetBlackholeSettingsValidator(); private static readonly UsenetBlackholeSettingsValidator Validator = new ();
[FieldDefinition(0, Label = "UsenetBlackholeNzbFolder", Type = FieldType.Path, HelpText = "BlackholeFolderHelpText")] [FieldDefinition(0, Label = "UsenetBlackholeNzbFolder", Type = FieldType.Path, HelpText = "BlackholeFolderHelpText")]
[FieldToken(TokenField.HelpText, "UsenetBlackholeNzbFolder", "extension", ".nzb")] [FieldToken(TokenField.HelpText, "UsenetBlackholeNzbFolder", "extension", ".nzb")]
@ -26,7 +25,7 @@ public class UsenetBlackholeSettings : IProviderConfig
[FieldDefinition(1, Label = "BlackholeWatchFolder", Type = FieldType.Path, HelpText = "BlackholeWatchFolderHelpText")] [FieldDefinition(1, Label = "BlackholeWatchFolder", Type = FieldType.Path, HelpText = "BlackholeWatchFolderHelpText")]
public string WatchFolder { get; set; } public string WatchFolder { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.Deluge namespace NzbDrone.Core.Download.Clients.Deluge
@ -17,9 +16,9 @@ public DelugeSettingsValidator()
} }
} }
public class DelugeSettings : IProviderConfig public class DelugeSettings : DownloadClientSettingsBase<DelugeSettings>
{ {
private static readonly DelugeSettingsValidator Validator = new DelugeSettingsValidator(); private static readonly DelugeSettingsValidator Validator = new ();
public DelugeSettings() public DelugeSettings()
{ {
@ -67,7 +66,7 @@ public DelugeSettings()
[FieldDefinition(11, Label = "DownloadClientDelugeSettingsDirectoryCompleted", Type = FieldType.Textbox, Advanced = true, HelpText = "DownloadClientDelugeSettingsDirectoryCompletedHelpText")] [FieldDefinition(11, Label = "DownloadClientDelugeSettingsDirectoryCompleted", Type = FieldType.Textbox, Advanced = true, HelpText = "DownloadClientDelugeSettingsDirectoryCompletedHelpText")]
public string CompletedDirectory { get; set; } public string CompletedDirectory { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -0,0 +1,30 @@
using System;
using Equ;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients
{
public abstract class DownloadClientSettingsBase<TSettings> : IProviderConfig, IEquatable<TSettings>
where TSettings : DownloadClientSettingsBase<TSettings>
{
private static readonly MemberwiseEqualityComparer<TSettings> Comparer = MemberwiseEqualityComparer<TSettings>.ByProperties;
public abstract NzbDroneValidationResult Validate();
public bool Equals(TSettings other)
{
return Comparer.Equals(this as TSettings, other);
}
public override bool Equals(object obj)
{
return Equals(obj as TSettings);
}
public override int GetHashCode()
{
return Comparer.GetHashCode(this as TSettings);
}
}
}

View File

@ -2,7 +2,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.DownloadStation namespace NzbDrone.Core.Download.Clients.DownloadStation
@ -26,9 +25,9 @@ public DownloadStationSettingsValidator()
} }
} }
public class DownloadStationSettings : IProviderConfig public class DownloadStationSettings : DownloadClientSettingsBase<DownloadStationSettings>
{ {
private static readonly DownloadStationSettingsValidator Validator = new DownloadStationSettingsValidator(); private static readonly DownloadStationSettingsValidator Validator = new ();
[FieldDefinition(0, Label = "Host", Type = FieldType.Textbox)] [FieldDefinition(0, Label = "Host", Type = FieldType.Textbox)]
public string Host { get; set; } public string Host { get; set; }
@ -58,7 +57,7 @@ public DownloadStationSettings()
Port = 5000; Port = 5000;
} }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -3,7 +3,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Download.Clients.Flood.Models; using NzbDrone.Core.Download.Clients.Flood.Models;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.Flood namespace NzbDrone.Core.Download.Clients.Flood
@ -17,9 +16,9 @@ public FloodSettingsValidator()
} }
} }
public class FloodSettings : IProviderConfig public class FloodSettings : DownloadClientSettingsBase<FloodSettings>
{ {
private static readonly FloodSettingsValidator Validator = new FloodSettingsValidator(); private static readonly FloodSettingsValidator Validator = new ();
public FloodSettings() public FloodSettings()
{ {
@ -69,7 +68,7 @@ public FloodSettings()
[FieldDefinition(10, Label = "DownloadClientFloodSettingsAddPaused", Type = FieldType.Checkbox)] [FieldDefinition(10, Label = "DownloadClientFloodSettingsAddPaused", Type = FieldType.Checkbox)]
public bool AddPaused { get; set; } public bool AddPaused { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -2,7 +2,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
using NzbDrone.Core.Validation.Paths; using NzbDrone.Core.Validation.Paths;
@ -34,9 +33,9 @@ public FreeboxDownloadSettingsValidator()
} }
} }
public class FreeboxDownloadSettings : IProviderConfig public class FreeboxDownloadSettings : DownloadClientSettingsBase<FreeboxDownloadSettings>
{ {
private static readonly FreeboxDownloadSettingsValidator Validator = new FreeboxDownloadSettingsValidator(); private static readonly FreeboxDownloadSettingsValidator Validator = new ();
public FreeboxDownloadSettings() public FreeboxDownloadSettings()
{ {
@ -84,7 +83,7 @@ public FreeboxDownloadSettings()
[FieldDefinition(10, Label = "DownloadClientSettingsAddPaused", Type = FieldType.Checkbox)] [FieldDefinition(10, Label = "DownloadClientSettingsAddPaused", Type = FieldType.Checkbox)]
public bool AddPaused { get; set; } public bool AddPaused { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,7 +1,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.Hadouken namespace NzbDrone.Core.Download.Clients.Hadouken
@ -22,9 +21,9 @@ public HadoukenSettingsValidator()
} }
} }
public class HadoukenSettings : IProviderConfig public class HadoukenSettings : DownloadClientSettingsBase<HadoukenSettings>
{ {
private static readonly HadoukenSettingsValidator Validator = new HadoukenSettingsValidator(); private static readonly HadoukenSettingsValidator Validator = new ();
public HadoukenSettings() public HadoukenSettings()
{ {
@ -57,7 +56,7 @@ public HadoukenSettings()
[FieldDefinition(6, Label = "Category", Type = FieldType.Textbox, HelpText = "DownloadClientSettingsCategoryHelpText")] [FieldDefinition(6, Label = "Category", Type = FieldType.Textbox, HelpText = "DownloadClientSettingsCategoryHelpText")]
public string Category { get; set; } public string Category { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,7 +1,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.NzbVortex namespace NzbDrone.Core.Download.Clients.NzbVortex
@ -23,9 +22,9 @@ public NzbVortexSettingsValidator()
} }
} }
public class NzbVortexSettings : IProviderConfig public class NzbVortexSettings : DownloadClientSettingsBase<NzbVortexSettings>
{ {
private static readonly NzbVortexSettingsValidator Validator = new NzbVortexSettingsValidator(); private static readonly NzbVortexSettingsValidator Validator = new ();
public NzbVortexSettings() public NzbVortexSettings()
{ {
@ -59,7 +58,7 @@ public NzbVortexSettings()
[FieldDefinition(6, Label = "DownloadClientSettingsOlderPriority", Type = FieldType.Select, SelectOptions = typeof(NzbVortexPriority), HelpText = "DownloadClientSettingsOlderPriorityMovieHelpText")] [FieldDefinition(6, Label = "DownloadClientSettingsOlderPriority", Type = FieldType.Select, SelectOptions = typeof(NzbVortexPriority), HelpText = "DownloadClientSettingsOlderPriorityMovieHelpText")]
public int OlderMoviePriority { get; set; } public int OlderMoviePriority { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,7 +1,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.Nzbget namespace NzbDrone.Core.Download.Clients.Nzbget
@ -21,9 +20,9 @@ public NzbgetSettingsValidator()
} }
} }
public class NzbgetSettings : IProviderConfig public class NzbgetSettings : DownloadClientSettingsBase<NzbgetSettings>
{ {
private static readonly NzbgetSettingsValidator Validator = new NzbgetSettingsValidator(); private static readonly NzbgetSettingsValidator Validator = new ();
public NzbgetSettings() public NzbgetSettings()
{ {
@ -69,7 +68,7 @@ public NzbgetSettings()
[FieldDefinition(9, Label = "DownloadClientSettingsAddPaused", Type = FieldType.Checkbox, HelpText = "DownloadClientNzbgetSettingsAddPausedHelpText")] [FieldDefinition(9, Label = "DownloadClientSettingsAddPaused", Type = FieldType.Checkbox, HelpText = "DownloadClientNzbgetSettingsAddPausedHelpText")]
public bool AddPaused { get; set; } public bool AddPaused { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
using NzbDrone.Core.Validation.Paths; using NzbDrone.Core.Validation.Paths;
@ -15,9 +14,9 @@ public PneumaticSettingsValidator()
} }
} }
public class PneumaticSettings : IProviderConfig public class PneumaticSettings : DownloadClientSettingsBase<PneumaticSettings>
{ {
private static readonly PneumaticSettingsValidator Validator = new PneumaticSettingsValidator(); private static readonly PneumaticSettingsValidator Validator = new ();
[FieldDefinition(0, Label = "DownloadClientPneumaticSettingsNzbFolder", Type = FieldType.Path, HelpText = "DownloadClientPneumaticSettingsNzbFolderHelpText")] [FieldDefinition(0, Label = "DownloadClientPneumaticSettingsNzbFolder", Type = FieldType.Path, HelpText = "DownloadClientPneumaticSettingsNzbFolderHelpText")]
public string NzbFolder { get; set; } public string NzbFolder { get; set; }
@ -25,7 +24,7 @@ public class PneumaticSettings : IProviderConfig
[FieldDefinition(1, Label = "DownloadClientPneumaticSettingsStrmFolder", Type = FieldType.Path, HelpText = "DownloadClientPneumaticSettingsStrmFolderHelpText")] [FieldDefinition(1, Label = "DownloadClientPneumaticSettingsStrmFolder", Type = FieldType.Path, HelpText = "DownloadClientPneumaticSettingsStrmFolderHelpText")]
public string StrmFolder { get; set; } public string StrmFolder { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,7 +1,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.QBittorrent namespace NzbDrone.Core.Download.Clients.QBittorrent
@ -19,9 +18,9 @@ public QBittorrentSettingsValidator()
} }
} }
public class QBittorrentSettings : IProviderConfig public class QBittorrentSettings : DownloadClientSettingsBase<QBittorrentSettings>
{ {
private static readonly QBittorrentSettingsValidator Validator = new QBittorrentSettingsValidator(); private static readonly QBittorrentSettingsValidator Validator = new ();
public QBittorrentSettings() public QBittorrentSettings()
{ {
@ -74,7 +73,7 @@ public QBittorrentSettings()
[FieldDefinition(13, Label = "DownloadClientQbittorrentSettingsContentLayout", Type = FieldType.Select, SelectOptions = typeof(QBittorrentContentLayout), HelpText = "DownloadClientQbittorrentSettingsContentLayoutHelpText")] [FieldDefinition(13, Label = "DownloadClientQbittorrentSettingsContentLayout", Type = FieldType.Select, SelectOptions = typeof(QBittorrentContentLayout), HelpText = "DownloadClientQbittorrentSettingsContentLayoutHelpText")]
public int ContentLayout { get; set; } public int ContentLayout { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,7 +1,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.Sabnzbd namespace NzbDrone.Core.Download.Clients.Sabnzbd
@ -32,9 +31,9 @@ public SabnzbdSettingsValidator()
} }
} }
public class SabnzbdSettings : IProviderConfig public class SabnzbdSettings : DownloadClientSettingsBase<SabnzbdSettings>
{ {
private static readonly SabnzbdSettingsValidator Validator = new SabnzbdSettingsValidator(); private static readonly SabnzbdSettingsValidator Validator = new ();
public SabnzbdSettings() public SabnzbdSettings()
{ {
@ -78,7 +77,7 @@ public SabnzbdSettings()
[FieldDefinition(9, Label = "DownloadClientSettingsOlderPriority", Type = FieldType.Select, SelectOptions = typeof(SabnzbdPriority), HelpText = "DownloadClientSettingsOlderPriorityMovieHelpText")] [FieldDefinition(9, Label = "DownloadClientSettingsOlderPriority", Type = FieldType.Select, SelectOptions = typeof(SabnzbdPriority), HelpText = "DownloadClientSettingsOlderPriorityMovieHelpText")]
public int OlderMoviePriority { get; set; } public int OlderMoviePriority { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -4,7 +4,7 @@ namespace NzbDrone.Core.Download.Clients
{ {
public class TorrentSeedConfiguration public class TorrentSeedConfiguration
{ {
public static TorrentSeedConfiguration DefaultConfiguration = new TorrentSeedConfiguration(); public static TorrentSeedConfiguration DefaultConfiguration = new ();
public double? Ratio { get; set; } public double? Ratio { get; set; }
public TimeSpan? SeedTime { get; set; } public TimeSpan? SeedTime { get; set; }

View File

@ -2,7 +2,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.Transmission namespace NzbDrone.Core.Download.Clients.Transmission
@ -24,9 +23,9 @@ public TransmissionSettingsValidator()
} }
} }
public class TransmissionSettings : IProviderConfig public class TransmissionSettings : DownloadClientSettingsBase<TransmissionSettings>
{ {
private static readonly TransmissionSettingsValidator Validator = new TransmissionSettingsValidator(); private static readonly TransmissionSettingsValidator Validator = new ();
public TransmissionSettings() public TransmissionSettings()
{ {
@ -72,7 +71,7 @@ public TransmissionSettings()
[FieldDefinition(10, Label = "DownloadClientSettingsAddPaused", Type = FieldType.Checkbox)] [FieldDefinition(10, Label = "DownloadClientSettingsAddPaused", Type = FieldType.Checkbox)]
public bool AddPaused { get; set; } public bool AddPaused { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.RTorrent namespace NzbDrone.Core.Download.Clients.RTorrent
@ -17,9 +16,9 @@ public RTorrentSettingsValidator()
} }
} }
public class RTorrentSettings : IProviderConfig public class RTorrentSettings : DownloadClientSettingsBase<RTorrentSettings>
{ {
private static readonly RTorrentSettingsValidator Validator = new RTorrentSettingsValidator(); private static readonly RTorrentSettingsValidator Validator = new ();
public RTorrentSettings() public RTorrentSettings()
{ {
@ -70,7 +69,7 @@ public RTorrentSettings()
[FieldDefinition(11, Label = "DownloadClientRTorrentSettingsAddStopped", Type = FieldType.Checkbox, HelpText = "DownloadClientRTorrentSettingsAddStoppedHelpText")] [FieldDefinition(11, Label = "DownloadClientRTorrentSettingsAddStopped", Type = FieldType.Checkbox, HelpText = "DownloadClientRTorrentSettingsAddStoppedHelpText")]
public bool AddStopped { get; set; } public bool AddStopped { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,7 +1,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Download.Clients.UTorrent namespace NzbDrone.Core.Download.Clients.UTorrent
@ -17,9 +16,9 @@ public UTorrentSettingsValidator()
} }
} }
public class UTorrentSettings : IProviderConfig public class UTorrentSettings : DownloadClientSettingsBase<UTorrentSettings>
{ {
private static readonly UTorrentSettingsValidator Validator = new UTorrentSettingsValidator(); private static readonly UTorrentSettingsValidator Validator = new ();
public UTorrentSettings() public UTorrentSettings()
{ {
@ -65,7 +64,7 @@ public UTorrentSettings()
[FieldToken(TokenField.HelpText, "DownloadClientSettingsInitialState", "clientName", "uTorrent")] [FieldToken(TokenField.HelpText, "DownloadClientSettingsInitialState", "clientName", "uTorrent")]
public int IntialState { get; set; } public int IntialState { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,13 +1,34 @@
using System;
using Equ;
using NzbDrone.Core.Indexers; using NzbDrone.Core.Indexers;
using NzbDrone.Core.ThingiProvider; using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Download namespace NzbDrone.Core.Download
{ {
public class DownloadClientDefinition : ProviderDefinition public class DownloadClientDefinition : ProviderDefinition, IEquatable<DownloadClientDefinition>
{ {
private static readonly MemberwiseEqualityComparer<DownloadClientDefinition> Comparer = MemberwiseEqualityComparer<DownloadClientDefinition>.ByProperties;
[MemberwiseEqualityIgnore]
public DownloadProtocol Protocol { get; set; } public DownloadProtocol Protocol { get; set; }
public int Priority { get; set; } = 1; public int Priority { get; set; } = 1;
public bool RemoveCompletedDownloads { get; set; } = true; public bool RemoveCompletedDownloads { get; set; } = true;
public bool RemoveFailedDownloads { get; set; } = true; public bool RemoveFailedDownloads { get; set; } = true;
public bool Equals(DownloadClientDefinition other)
{
return Comparer.Equals(this, other);
}
public override bool Equals(object obj)
{
return Equals(obj as DownloadClientDefinition);
}
public override int GetHashCode()
{
return Comparer.GetHashCode(this);
}
} }
} }

View File

@ -28,6 +28,7 @@ public interface ITrackedDownloadService
} }
public class TrackedDownloadService : ITrackedDownloadService, public class TrackedDownloadService : ITrackedDownloadService,
IHandle<MovieAddedEvent>,
IHandle<MoviesDeletedEvent> IHandle<MoviesDeletedEvent>
{ {
private readonly IParsingService _parsingService; private readonly IParsingService _parsingService;
@ -250,12 +251,29 @@ private void LogItemChange(TrackedDownload trackedDownload, DownloadClientItem e
} }
} }
public void Handle(MovieAddedEvent message)
{
var cachedItems = _cache.Values
.Where(t =>
t.RemoteMovie?.Movie == null ||
message.Movie?.TmdbId == t.RemoteMovie.Movie.TmdbId)
.ToList();
if (cachedItems.Any())
{
cachedItems.ForEach(UpdateCachedItem);
_eventAggregator.PublishEvent(new TrackedDownloadRefreshedEvent(GetTrackedDownloads()));
}
}
public void Handle(MoviesDeletedEvent message) public void Handle(MoviesDeletedEvent message)
{ {
var cachedItems = _cache.Values.Where(t => var cachedItems = _cache.Values
t.RemoteMovie?.Movie != null && .Where(t =>
message.Movies.Any(m => m.Id == t.RemoteMovie.Movie.Id)) t.RemoteMovie?.Movie != null &&
.ToList(); message.Movies.Any(m => m.Id == t.RemoteMovie.Movie.Id || m.TmdbId == t.RemoteMovie.Movie.TmdbId))
.ToList();
if (cachedItems.Any()) if (cachedItems.Any())
{ {

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.CouchPotato namespace NzbDrone.Core.ImportLists.CouchPotato
@ -15,9 +14,9 @@ public CouchPotatoSettingsValidator()
} }
} }
public class CouchPotatoSettings : IProviderConfig public class CouchPotatoSettings : ImportListSettingsBase<CouchPotatoSettings>
{ {
private static readonly CouchPotatoSettingsValidator Validator = new CouchPotatoSettingsValidator(); private static readonly CouchPotatoSettingsValidator Validator = new ();
public CouchPotatoSettings() public CouchPotatoSettings()
{ {
@ -42,7 +41,7 @@ public CouchPotatoSettings()
[FieldDefinition(4, Label = "Only Wanted", HelpText = "Only add wanted movies.", Type = FieldType.Checkbox)] [FieldDefinition(4, Label = "Only Wanted", HelpText = "Only add wanted movies.", Type = FieldType.Checkbox)]
public bool OnlyActive { get; set; } public bool OnlyActive { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,35 +0,0 @@
using FluentValidation;
using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists
{
public class ImportListBaseSettingsValidator : AbstractValidator<ImportListBaseSettings>
{
public ImportListBaseSettingsValidator()
{
RuleFor(c => c.Link).NotEmpty();
}
}
public class ImportListBaseSettings : IProviderConfig
{
private static readonly ImportListBaseSettingsValidator Validator = new ImportListBaseSettingsValidator();
public ImportListBaseSettings()
{
Link = "http://rss.imdb.com/list/";
}
[FieldDefinition(0, Label = "Link", HelpText = "Link to the list of movies.")]
public string Link { get; set; }
public bool IsValid => !string.IsNullOrWhiteSpace(Link);
public NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
}

View File

@ -1,16 +1,13 @@
using System; using System;
using System.Collections.Generic; using Equ;
using NzbDrone.Core.Movies; using NzbDrone.Core.Movies;
using NzbDrone.Core.ThingiProvider; using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.ImportLists namespace NzbDrone.Core.ImportLists
{ {
public class ImportListDefinition : ProviderDefinition public class ImportListDefinition : ProviderDefinition, IEquatable<ImportListDefinition>
{ {
public ImportListDefinition() private static readonly MemberwiseEqualityComparer<ImportListDefinition> Comparer = MemberwiseEqualityComparer<ImportListDefinition>.ByProperties;
{
Tags = new HashSet<int>();
}
public bool Enabled { get; set; } public bool Enabled { get; set; }
public bool EnableAuto { get; set; } public bool EnableAuto { get; set; }
@ -19,9 +16,29 @@ public ImportListDefinition()
public int QualityProfileId { get; set; } public int QualityProfileId { get; set; }
public string RootFolderPath { get; set; } public string RootFolderPath { get; set; }
public bool SearchOnAdd { get; set; } public bool SearchOnAdd { get; set; }
[MemberwiseEqualityIgnore]
public override bool Enable => Enabled; public override bool Enable => Enabled;
[MemberwiseEqualityIgnore]
public ImportListType ListType { get; set; } public ImportListType ListType { get; set; }
[MemberwiseEqualityIgnore]
public TimeSpan MinRefreshInterval { get; set; } public TimeSpan MinRefreshInterval { get; set; }
public bool Equals(ImportListDefinition other)
{
return Comparer.Equals(this, other);
}
public override bool Equals(object obj)
{
return Equals(obj as ImportListDefinition);
}
public override int GetHashCode()
{
return Comparer.GetHashCode(this);
}
} }
} }

View File

@ -0,0 +1,30 @@
using System;
using Equ;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists
{
public abstract class ImportListSettingsBase<TSettings> : IProviderConfig, IEquatable<TSettings>
where TSettings : ImportListSettingsBase<TSettings>
{
private static readonly MemberwiseEqualityComparer<TSettings> Comparer = MemberwiseEqualityComparer<TSettings>.ByProperties;
public abstract NzbDroneValidationResult Validate();
public bool Equals(TSettings other)
{
return Comparer.Equals(this as TSettings, other);
}
public override bool Equals(object obj)
{
return Equals(obj as TSettings);
}
public override int GetHashCode()
{
return Comparer.GetHashCode(this as TSettings);
}
}
}

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Plex namespace NzbDrone.Core.ImportLists.Plex
@ -15,9 +14,9 @@ public PlexListSettingsValidator()
} }
} }
public class PlexListSettings : IProviderConfig public class PlexListSettings : ImportListSettingsBase<PlexListSettings>
{ {
protected virtual PlexListSettingsValidator Validator => new PlexListSettingsValidator(); private static readonly PlexListSettingsValidator Validator = new ();
public PlexListSettings() public PlexListSettings()
{ {
@ -32,7 +31,7 @@ public PlexListSettings()
[FieldDefinition(99, Label = "Authenticate with Plex.tv", Type = FieldType.OAuth)] [FieldDefinition(99, Label = "Authenticate with Plex.tv", Type = FieldType.OAuth)]
public string SignIn { get; set; } public string SignIn { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.RSSImport namespace NzbDrone.Core.ImportLists.RSSImport
@ -13,9 +12,9 @@ public RSSImportSettingsValidator()
} }
} }
public class RSSImportSettings : IProviderConfig public class RSSImportSettings : ImportListSettingsBase<RSSImportSettings>
{ {
private static readonly RSSImportSettingsValidator Validator = new RSSImportSettingsValidator(); private static readonly RSSImportSettingsValidator Validator = new ();
public RSSImportSettings() public RSSImportSettings()
{ {
@ -25,7 +24,7 @@ public RSSImportSettings()
[FieldDefinition(0, Label = "RSS Link", HelpText = "Link to the rss feed of movies.")] [FieldDefinition(0, Label = "RSS Link", HelpText = "Link to the rss feed of movies.")]
public string Link { get; set; } public string Link { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -2,7 +2,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Radarr namespace NzbDrone.Core.ImportLists.Radarr
@ -16,13 +15,12 @@ public RadarrSettingsValidator()
} }
} }
public class RadarrSettings : IProviderConfig public class RadarrSettings : ImportListSettingsBase<RadarrSettings>
{ {
private static readonly RadarrSettingsValidator Validator = new RadarrSettingsValidator(); private static readonly RadarrSettingsValidator Validator = new ();
public RadarrSettings() public RadarrSettings()
{ {
BaseUrl = "";
ApiKey = ""; ApiKey = "";
ProfileIds = Array.Empty<int>(); ProfileIds = Array.Empty<int>();
TagIds = Array.Empty<int>(); TagIds = Array.Empty<int>();
@ -30,7 +28,7 @@ public RadarrSettings()
} }
[FieldDefinition(0, Label = "Full URL", HelpText = "URL, including port, of the Radarr instance to import from (Radarr 3.0 or higher)")] [FieldDefinition(0, Label = "Full URL", HelpText = "URL, including port, of the Radarr instance to import from (Radarr 3.0 or higher)")]
public string BaseUrl { get; set; } public string BaseUrl { get; set; } = string.Empty;
[FieldDefinition(1, Label = "API Key", Privacy = PrivacyLevel.ApiKey, HelpText = "Apikey of the Radarr instance to import from (Radarr 3.0 or higher)")] [FieldDefinition(1, Label = "API Key", Privacy = PrivacyLevel.ApiKey, HelpText = "Apikey of the Radarr instance to import from (Radarr 3.0 or higher)")]
public string ApiKey { get; set; } public string ApiKey { get; set; }
@ -44,7 +42,7 @@ public RadarrSettings()
[FieldDefinition(4, Type = FieldType.Select, SelectOptionsProviderAction = "getRootFolders", Label = "Root Folders", HelpText = "Root Folders from the source instance to import from")] [FieldDefinition(4, Type = FieldType.Select, SelectOptionsProviderAction = "getRootFolders", Label = "Root Folders", HelpText = "Root Folders from the source instance to import from")]
public IEnumerable<string> RootFolderPaths { get; set; } public IEnumerable<string> RootFolderPaths { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.RadarrList namespace NzbDrone.Core.ImportLists.RadarrList
@ -13,14 +12,14 @@ public RadarrSettingsValidator()
} }
} }
public class RadarrListSettings : IProviderConfig public class RadarrListSettings : ImportListSettingsBase<RadarrListSettings>
{ {
private static readonly RadarrSettingsValidator Validator = new RadarrSettingsValidator(); private static readonly RadarrSettingsValidator Validator = new ();
[FieldDefinition(0, Label = "List URL", HelpText = "The URL for the movie list")] [FieldDefinition(0, Label = "List URL", HelpText = "The URL for the movie list")]
public string Url { get; set; } public string Url { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -13,7 +13,6 @@ public class IMDbListParser : RadarrList2Parser
private readonly IMDbListSettings _settings; private readonly IMDbListSettings _settings;
public IMDbListParser(IMDbListSettings settings) public IMDbListParser(IMDbListSettings settings)
: base()
{ {
_settings = settings; _settings = settings;
} }
@ -34,7 +33,7 @@ public override IList<ImportListMovie> ParseResponse(ImportListResponse importLi
// Parse TSV response from IMDB export // Parse TSV response from IMDB export
var rows = importResponse.Content.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); var rows = importResponse.Content.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
movies = rows.Skip(1).SelectList(m => m.Split(',')).Where(m => m.Length > 1).SelectList(i => new ImportListMovie { ImdbId = i[1] }); movies = rows.Skip(1).SelectList(m => m.Split(',')).Where(m => m.Length > 5).SelectList(i => new ImportListMovie { ImdbId = i[1], Title = i[5] });
return movies; return movies;
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList
@ -15,14 +14,14 @@ public IMDbSettingsValidator()
} }
} }
public class IMDbListSettings : IProviderConfig public class IMDbListSettings : ImportListSettingsBase<IMDbListSettings>
{ {
private static readonly IMDbSettingsValidator Validator = new IMDbSettingsValidator(); private static readonly IMDbSettingsValidator Validator = new ();
[FieldDefinition(1, Label = "List/User ID", HelpText = "IMDb list ID (e.g ls12345678), IMDb user ID (e.g. ur12345678), 'top250' or 'popular'")] [FieldDefinition(1, Label = "List/User ID", HelpText = "IMDb list ID (e.g ls12345678), IMDb user ID (e.g. ur12345678), 'top250' or 'popular'")]
public string ListId { get; set; } public string ListId { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.RadarrList2.StevenLu namespace NzbDrone.Core.ImportLists.RadarrList2.StevenLu
@ -9,21 +8,15 @@ public class StevenLu2SettingsValidator : AbstractValidator<StevenLu2Settings>
{ {
public StevenLu2SettingsValidator() public StevenLu2SettingsValidator()
{ {
RuleFor(c => c.MinScore).GreaterThanOrEqualTo(x => 5).LessThanOrEqualTo(x => 8); RuleFor(c => c.MinScore)
.GreaterThanOrEqualTo(x => 5)
.LessThanOrEqualTo(x => 8);
} }
} }
public enum StevenLuSource public class StevenLu2Settings : ImportListSettingsBase<StevenLu2Settings>
{ {
Standard, private static readonly StevenLu2SettingsValidator Validator = new ();
Imdb,
Metacritic,
RottenTomatoes
}
public class StevenLu2Settings : IProviderConfig
{
private static readonly StevenLu2SettingsValidator Validator = new StevenLu2SettingsValidator();
public StevenLu2Settings() public StevenLu2Settings()
{ {
@ -36,9 +29,17 @@ public StevenLu2Settings()
[FieldDefinition(1, Label = "Minimum Score", Type = FieldType.Number, HelpText = "Only applies if 'Rating source' is not 'Standard'")] [FieldDefinition(1, Label = "Minimum Score", Type = FieldType.Number, HelpText = "Only applies if 'Rating source' is not 'Standard'")]
public int MinScore { get; set; } public int MinScore { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }
} }
public enum StevenLuSource
{
Standard,
Imdb,
Metacritic,
RottenTomatoes
}
} }

View File

@ -12,9 +12,9 @@ public PlexRssImportSettingsValidator()
} }
} }
public class PlexRssImportSettings : RssImportBaseSettings public class PlexRssImportSettings : RssImportBaseSettings<PlexRssImportSettings>
{ {
private PlexRssImportSettingsValidator Validator => new (); private static readonly PlexRssImportSettingsValidator Validator = new ();
[FieldDefinition(0, Label = "Url", Type = FieldType.Textbox, HelpLink = "https://app.plex.tv/desktop/#!/settings/watchlist")] [FieldDefinition(0, Label = "Url", Type = FieldType.Textbox, HelpLink = "https://app.plex.tv/desktop/#!/settings/watchlist")]
public override string Url { get; set; } public override string Url { get; set; }

View File

@ -6,7 +6,7 @@
namespace NzbDrone.Core.ImportLists.Rss namespace NzbDrone.Core.ImportLists.Rss
{ {
public abstract class RssImportBase<TSettings> : HttpImportListBase<TSettings> public abstract class RssImportBase<TSettings> : HttpImportListBase<TSettings>
where TSettings : RssImportBaseSettings, new() where TSettings : RssImportBaseSettings<TSettings>, new()
{ {
public override bool Enabled => true; public override bool Enabled => true;
public override bool EnableAuto => false; public override bool EnableAuto => false;
@ -32,7 +32,7 @@ public override IParseImportListResponse GetParser()
public override IImportListRequestGenerator GetRequestGenerator() public override IImportListRequestGenerator GetRequestGenerator()
{ {
return new RssImportRequestGenerator return new RssImportRequestGenerator<TSettings>
{ {
Settings = Settings Settings = Settings
}; };

View File

@ -1,11 +1,11 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Rss namespace NzbDrone.Core.ImportLists.Rss
{ {
public class RssImportSettingsValidator : AbstractValidator<RssImportBaseSettings> public class RssImportSettingsValidator<TSettings> : AbstractValidator<TSettings>
where TSettings : RssImportBaseSettings<TSettings>
{ {
public RssImportSettingsValidator() public RssImportSettingsValidator()
{ {
@ -13,16 +13,17 @@ public RssImportSettingsValidator()
} }
} }
public class RssImportBaseSettings : IProviderConfig public class RssImportBaseSettings<TSettings> : ImportListSettingsBase<TSettings>
where TSettings : RssImportBaseSettings<TSettings>
{ {
private RssImportSettingsValidator Validator => new (); private static readonly RssImportSettingsValidator<TSettings> Validator = new ();
[FieldDefinition(0, Label = "Url", Type = FieldType.Textbox)] [FieldDefinition(0, Label = "Url", Type = FieldType.Textbox)]
public virtual string Url { get; set; } public virtual string Url { get; set; }
public virtual NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this as TSettings));
} }
} }
} }

View File

@ -3,9 +3,10 @@
namespace NzbDrone.Core.ImportLists.Rss namespace NzbDrone.Core.ImportLists.Rss
{ {
public class RssImportRequestGenerator : IImportListRequestGenerator public class RssImportRequestGenerator<TSettings> : IImportListRequestGenerator
where TSettings : RssImportBaseSettings<TSettings>, new()
{ {
public RssImportBaseSettings Settings { get; set; } public RssImportBaseSettings<TSettings> Settings { get; set; }
public virtual ImportListPageableRequestChain GetMovies() public virtual ImportListPageableRequestChain GetMovies()
{ {
@ -18,9 +19,7 @@ public virtual ImportListPageableRequestChain GetMovies()
private IEnumerable<ImportListRequest> GetMoviesRequest() private IEnumerable<ImportListRequest> GetMoviesRequest()
{ {
var request = new ImportListRequest(Settings.Url, HttpAccept.Rss); yield return new ImportListRequest(Settings.Url, HttpAccept.Rss);
yield return request;
} }
} }
} }

View File

@ -2,7 +2,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Simkl namespace NzbDrone.Core.ImportLists.Simkl
@ -25,18 +24,17 @@ public SimklSettingsBaseValidator()
} }
} }
public class SimklSettingsBase<TSettings> : IProviderConfig public class SimklSettingsBase<TSettings> : ImportListSettingsBase<TSettings>
where TSettings : SimklSettingsBase<TSettings> where TSettings : SimklSettingsBase<TSettings>
{ {
protected virtual AbstractValidator<TSettings> Validator => new SimklSettingsBaseValidator<TSettings>(); private static readonly SimklSettingsBaseValidator<TSettings> Validator = new ();
public SimklSettingsBase() public SimklSettingsBase()
{ {
BaseUrl = "https://api.simkl.com";
SignIn = "startOAuth"; SignIn = "startOAuth";
} }
public string BaseUrl { get; set; } public string BaseUrl { get; set; } = "https://api.simkl.com";
[FieldDefinition(0, Label = "Access Token", Type = FieldType.Textbox, Hidden = HiddenType.Hidden)] [FieldDefinition(0, Label = "Access Token", Type = FieldType.Textbox, Hidden = HiddenType.Hidden)]
public string AccessToken { get; set; } public string AccessToken { get; set; }
@ -53,7 +51,7 @@ public SimklSettingsBase()
[FieldDefinition(99, Label = "Authenticate with Simkl", Type = FieldType.OAuth)] [FieldDefinition(99, Label = "Authenticate with Simkl", Type = FieldType.OAuth)]
public string SignIn { get; set; } public string SignIn { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate((TSettings)this)); return new NzbDroneValidationResult(Validator.Validate((TSettings)this));
} }

View File

@ -1,12 +1,12 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Simkl.User namespace NzbDrone.Core.ImportLists.Simkl.User
{ {
public class SimklUserSettingsValidator : SimklSettingsBaseValidator<SimklUserSettings> public class SimklUserSettingsValidator : SimklSettingsBaseValidator<SimklUserSettings>
{ {
public SimklUserSettingsValidator() public SimklUserSettingsValidator()
: base()
{ {
RuleFor(c => c.ListType).NotNull(); RuleFor(c => c.ListType).NotNull();
} }
@ -14,7 +14,7 @@ public SimklUserSettingsValidator()
public class SimklUserSettings : SimklSettingsBase<SimklUserSettings> public class SimklUserSettings : SimklSettingsBase<SimklUserSettings>
{ {
protected override AbstractValidator<SimklUserSettings> Validator => new SimklUserSettingsValidator(); private static readonly SimklUserSettingsValidator Validator = new ();
public SimklUserSettings() public SimklUserSettings()
{ {
@ -23,5 +23,10 @@ public SimklUserSettings()
[FieldDefinition(1, Label = "List Type", Type = FieldType.Select, SelectOptions = typeof(SimklUserListType), HelpText = "Type of list you're seeking to import from")] [FieldDefinition(1, Label = "List Type", Type = FieldType.Select, SelectOptions = typeof(SimklUserListType), HelpText = "Type of list you're seeking to import from")]
public int ListType { get; set; } public int ListType { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,6 +1,5 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.StevenLu namespace NzbDrone.Core.ImportLists.StevenLu
@ -13,9 +12,9 @@ public StevenLuSettingsValidator()
} }
} }
public class StevenLuSettings : IProviderConfig public class StevenLuSettings : ImportListSettingsBase<StevenLuSettings>
{ {
private static readonly StevenLuSettingsValidator Validator = new StevenLuSettingsValidator(); private static readonly StevenLuSettingsValidator Validator = new ();
public StevenLuSettings() public StevenLuSettings()
{ {
@ -25,7 +24,7 @@ public StevenLuSettings()
[FieldDefinition(0, Label = "URL", HelpText = "Don't change this unless you know what you are doing.")] [FieldDefinition(0, Label = "URL", HelpText = "Don't change this unless you know what you are doing.")]
public string Link { get; set; } public string Link { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }

View File

@ -1,13 +1,13 @@
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.TMDb.Company namespace NzbDrone.Core.ImportLists.TMDb.Company
{ {
public class TMDbCompanySettingsValidator : TMDbSettingsBaseValidator<TMDbCompanySettings> public class TMDbCompanySettingsValidator : TMDbSettingsBaseValidator<TMDbCompanySettings>
{ {
public TMDbCompanySettingsValidator() public TMDbCompanySettingsValidator()
: base()
{ {
RuleFor(c => c.CompanyId).Matches(@"^[1-9][0-9]*$", RegexOptions.IgnoreCase); RuleFor(c => c.CompanyId).Matches(@"^[1-9][0-9]*$", RegexOptions.IgnoreCase);
} }
@ -15,7 +15,7 @@ public TMDbCompanySettingsValidator()
public class TMDbCompanySettings : TMDbSettingsBase<TMDbCompanySettings> public class TMDbCompanySettings : TMDbSettingsBase<TMDbCompanySettings>
{ {
protected override AbstractValidator<TMDbCompanySettings> Validator => new TMDbCompanySettingsValidator(); private static readonly TMDbCompanySettingsValidator Validator = new ();
public TMDbCompanySettings() public TMDbCompanySettings()
{ {
@ -24,5 +24,10 @@ public TMDbCompanySettings()
[FieldDefinition(1, Label = "Company Id", Type = FieldType.Textbox, HelpText = "TMDb Id of Company to Follow")] [FieldDefinition(1, Label = "Company Id", Type = FieldType.Textbox, HelpText = "TMDb Id of Company to Follow")]
public string CompanyId { get; set; } public string CompanyId { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,13 +1,13 @@
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.TMDb.Keyword namespace NzbDrone.Core.ImportLists.TMDb.Keyword
{ {
public class TMDbKeywordSettingsValidator : TMDbSettingsBaseValidator<TMDbKeywordSettings> public class TMDbKeywordSettingsValidator : TMDbSettingsBaseValidator<TMDbKeywordSettings>
{ {
public TMDbKeywordSettingsValidator() public TMDbKeywordSettingsValidator()
: base()
{ {
RuleFor(c => c.KeywordId).Matches(@"^[1-9][0-9]*$", RegexOptions.IgnoreCase); RuleFor(c => c.KeywordId).Matches(@"^[1-9][0-9]*$", RegexOptions.IgnoreCase);
} }
@ -15,7 +15,7 @@ public TMDbKeywordSettingsValidator()
public class TMDbKeywordSettings : TMDbSettingsBase<TMDbKeywordSettings> public class TMDbKeywordSettings : TMDbSettingsBase<TMDbKeywordSettings>
{ {
protected override AbstractValidator<TMDbKeywordSettings> Validator => new TMDbKeywordSettingsValidator(); private static readonly TMDbKeywordSettingsValidator Validator = new ();
public TMDbKeywordSettings() public TMDbKeywordSettings()
{ {
@ -24,5 +24,10 @@ public TMDbKeywordSettings()
[FieldDefinition(1, Label = "Keyword Id", Type = FieldType.Textbox, HelpText = "TMDb Id of keyword to Follow")] [FieldDefinition(1, Label = "Keyword Id", Type = FieldType.Textbox, HelpText = "TMDb Id of keyword to Follow")]
public string KeywordId { get; set; } public string KeywordId { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,12 +1,12 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.TMDb.List namespace NzbDrone.Core.ImportLists.TMDb.List
{ {
public class TMDbListSettingsValidator : TMDbSettingsBaseValidator<TMDbListSettings> public class TMDbListSettingsValidator : TMDbSettingsBaseValidator<TMDbListSettings>
{ {
public TMDbListSettingsValidator() public TMDbListSettingsValidator()
: base()
{ {
RuleFor(c => c.ListId).Matches("^[1-9][0-9]*$").NotEmpty(); RuleFor(c => c.ListId).Matches("^[1-9][0-9]*$").NotEmpty();
} }
@ -14,7 +14,7 @@ public TMDbListSettingsValidator()
public class TMDbListSettings : TMDbSettingsBase<TMDbListSettings> public class TMDbListSettings : TMDbSettingsBase<TMDbListSettings>
{ {
protected override AbstractValidator<TMDbListSettings> Validator => new TMDbListSettingsValidator(); private static readonly TMDbListSettingsValidator Validator = new ();
public TMDbListSettings() public TMDbListSettings()
{ {
@ -23,5 +23,10 @@ public TMDbListSettings()
[FieldDefinition(1, Label = "ListId", Type = FieldType.Textbox, HelpText = "TMDb Id of List to Follow")] [FieldDefinition(1, Label = "ListId", Type = FieldType.Textbox, HelpText = "TMDb Id of List to Follow")]
public string ListId { get; set; } public string ListId { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,13 +1,13 @@
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.TMDb.Person namespace NzbDrone.Core.ImportLists.TMDb.Person
{ {
public class TMDbPersonSettingsValidator : TMDbSettingsBaseValidator<TMDbPersonSettings> public class TMDbPersonSettingsValidator : TMDbSettingsBaseValidator<TMDbPersonSettings>
{ {
public TMDbPersonSettingsValidator() public TMDbPersonSettingsValidator()
: base()
{ {
RuleFor(c => c.PersonId).Matches(@"^[1-9][0-9]*$", RegexOptions.IgnoreCase); RuleFor(c => c.PersonId).Matches(@"^[1-9][0-9]*$", RegexOptions.IgnoreCase);
@ -36,7 +36,7 @@ public TMDbPersonSettingsValidator()
public class TMDbPersonSettings : TMDbSettingsBase<TMDbPersonSettings> public class TMDbPersonSettings : TMDbSettingsBase<TMDbPersonSettings>
{ {
protected override AbstractValidator<TMDbPersonSettings> Validator => new TMDbPersonSettingsValidator(); private static readonly TMDbPersonSettingsValidator Validator = new ();
public TMDbPersonSettings() public TMDbPersonSettings()
{ {
@ -60,5 +60,10 @@ public TMDbPersonSettings()
[FieldDefinition(6, Label = "Person Writing Credits", HelpText = "Select if you want to include Writing credits", Type = FieldType.Checkbox)] [FieldDefinition(6, Label = "Person Writing Credits", HelpText = "Select if you want to include Writing credits", Type = FieldType.Checkbox)]
public bool PersonCastWriting { get; set; } public bool PersonCastWriting { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,12 +1,12 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.TMDb.Popular namespace NzbDrone.Core.ImportLists.TMDb.Popular
{ {
public class TMDbPopularSettingsValidator : TMDbSettingsBaseValidator<TMDbPopularSettings> public class TMDbPopularSettingsValidator : TMDbSettingsBaseValidator<TMDbPopularSettings>
{ {
public TMDbPopularSettingsValidator() public TMDbPopularSettingsValidator()
: base()
{ {
RuleFor(c => c.TMDbListType).NotNull(); RuleFor(c => c.TMDbListType).NotNull();
@ -16,7 +16,7 @@ public TMDbPopularSettingsValidator()
public class TMDbPopularSettings : TMDbSettingsBase<TMDbPopularSettings> public class TMDbPopularSettings : TMDbSettingsBase<TMDbPopularSettings>
{ {
protected override AbstractValidator<TMDbPopularSettings> Validator => new TMDbPopularSettingsValidator(); private static readonly TMDbPopularSettingsValidator Validator = new ();
public TMDbPopularSettings() public TMDbPopularSettings()
{ {
@ -27,6 +27,11 @@ public TMDbPopularSettings()
public int TMDbListType { get; set; } public int TMDbListType { get; set; }
[FieldDefinition(2)] [FieldDefinition(2)]
public TMDbFilterSettings FilterCriteria { get; set; } = new TMDbFilterSettings(); public TMDbFilterSettings FilterCriteria { get; set; } = new ();
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,4 +1,5 @@
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
@ -53,7 +54,7 @@ public TMDbFilterSettingsValidator()
} }
} }
public class TMDbFilterSettings public class TMDbFilterSettings : PropertywiseEquatable<TMDbFilterSettings>
{ {
public TMDbFilterSettings() public TMDbFilterSettings()
{ {

View File

@ -13,6 +13,7 @@ public abstract class TMDbImportListBase<TSettings> : HttpImportListBase<TSettin
{ {
public override ImportListType ListType => ImportListType.TMDB; public override ImportListType ListType => ImportListType.TMDB;
public override TimeSpan MinRefreshInterval => TimeSpan.FromHours(12); public override TimeSpan MinRefreshInterval => TimeSpan.FromHours(12);
public override int PageSize => 20;
public readonly ISearchForNewMovie _skyhookProxy; public readonly ISearchForNewMovie _skyhookProxy;
public readonly IHttpRequestBuilderFactory _requestBuilder; public readonly IHttpRequestBuilderFactory _requestBuilder;

View File

@ -1,5 +1,4 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.TMDb namespace NzbDrone.Core.ImportLists.TMDb
@ -9,12 +8,12 @@ public class TMDbSettingsBaseValidator<TSettings> : AbstractValidator<TSettings>
{ {
} }
public class TMDbSettingsBase<TSettings> : IProviderConfig public class TMDbSettingsBase<TSettings> : ImportListSettingsBase<TSettings>
where TSettings : TMDbSettingsBase<TSettings> where TSettings : TMDbSettingsBase<TSettings>
{ {
protected virtual AbstractValidator<TSettings> Validator => new TMDbSettingsBaseValidator<TSettings>(); private static readonly TMDbSettingsBaseValidator<TSettings> Validator = new ();
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate((TSettings)this)); return new NzbDroneValidationResult(Validator.Validate((TSettings)this));
} }

View File

@ -1,12 +1,12 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.TMDb.User namespace NzbDrone.Core.ImportLists.TMDb.User
{ {
public class TMDbUserSettingsValidator : TMDbSettingsBaseValidator<TMDbUserSettings> public class TMDbUserSettingsValidator : TMDbSettingsBaseValidator<TMDbUserSettings>
{ {
public TMDbUserSettingsValidator() public TMDbUserSettingsValidator()
: base()
{ {
RuleFor(c => c.ListType).NotEmpty(); RuleFor(c => c.ListType).NotEmpty();
RuleFor(c => c.AccessToken).NotEmpty(); RuleFor(c => c.AccessToken).NotEmpty();
@ -16,7 +16,7 @@ public TMDbUserSettingsValidator()
public class TMDbUserSettings : TMDbSettingsBase<TMDbUserSettings> public class TMDbUserSettings : TMDbSettingsBase<TMDbUserSettings>
{ {
protected override AbstractValidator<TMDbUserSettings> Validator => new TMDbUserSettingsValidator(); private static readonly TMDbUserSettingsValidator Validator = new ();
public TMDbUserSettings() public TMDbUserSettings()
{ {
@ -36,5 +36,10 @@ public TMDbUserSettings()
[FieldDefinition(99, Label = "Authenticate with TMDB", Type = FieldType.OAuth)] [FieldDefinition(99, Label = "Authenticate with TMDB", Type = FieldType.OAuth)]
public string SignIn { get; set; } public string SignIn { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,12 +1,12 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Trakt.List namespace NzbDrone.Core.ImportLists.Trakt.List
{ {
public class TraktListSettingsValidator : TraktSettingsBaseValidator<TraktListSettings> public class TraktListSettingsValidator : TraktSettingsBaseValidator<TraktListSettings>
{ {
public TraktListSettingsValidator() public TraktListSettingsValidator()
: base()
{ {
RuleFor(c => c.Username).NotEmpty(); RuleFor(c => c.Username).NotEmpty();
RuleFor(c => c.Listname).NotEmpty(); RuleFor(c => c.Listname).NotEmpty();
@ -15,12 +15,17 @@ public TraktListSettingsValidator()
public class TraktListSettings : TraktSettingsBase<TraktListSettings> public class TraktListSettings : TraktSettingsBase<TraktListSettings>
{ {
protected override AbstractValidator<TraktListSettings> Validator => new TraktListSettingsValidator(); private static readonly TraktListSettingsValidator Validator = new ();
[FieldDefinition(1, Label = "Username", Privacy = PrivacyLevel.UserName, HelpText = "Username for the List to import from")] [FieldDefinition(1, Label = "Username", Privacy = PrivacyLevel.UserName, HelpText = "Username for the List to import from")]
public string Username { get; set; } public string Username { get; set; }
[FieldDefinition(2, Label = "List Name", HelpText = "List name for import, list must be public or you must have access to the list")] [FieldDefinition(2, Label = "List Name", HelpText = "List name for import, list must be public or you must have access to the list")]
public string Listname { get; set; } public string Listname { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -2,13 +2,13 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Trakt.Popular namespace NzbDrone.Core.ImportLists.Trakt.Popular
{ {
public class TraktPopularSettingsValidator : TraktSettingsBaseValidator<TraktPopularSettings> public class TraktPopularSettingsValidator : TraktSettingsBaseValidator<TraktPopularSettings>
{ {
public TraktPopularSettingsValidator() public TraktPopularSettingsValidator()
: base()
{ {
RuleFor(c => c.TraktListType).NotNull(); RuleFor(c => c.TraktListType).NotNull();
@ -34,7 +34,7 @@ public TraktPopularSettingsValidator()
public class TraktPopularSettings : TraktSettingsBase<TraktPopularSettings> public class TraktPopularSettings : TraktSettingsBase<TraktPopularSettings>
{ {
protected override AbstractValidator<TraktPopularSettings> Validator => new TraktPopularSettingsValidator(); private static readonly TraktPopularSettingsValidator Validator = new ();
public TraktPopularSettings() public TraktPopularSettings()
{ {
@ -59,5 +59,10 @@ public TraktPopularSettings()
[FieldDefinition(5, Label = "Years", HelpText = "Filter movies by year or year range")] [FieldDefinition(5, Label = "Years", HelpText = "Filter movies by year or year range")]
public string Years { get; set; } public string Years { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -2,7 +2,6 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Trakt namespace NzbDrone.Core.ImportLists.Trakt
@ -35,10 +34,10 @@ public TraktSettingsBaseValidator()
} }
} }
public class TraktSettingsBase<TSettings> : IProviderConfig public class TraktSettingsBase<TSettings> : ImportListSettingsBase<TSettings>
where TSettings : TraktSettingsBase<TSettings> where TSettings : TraktSettingsBase<TSettings>
{ {
protected virtual AbstractValidator<TSettings> Validator => new TraktSettingsBaseValidator<TSettings>(); private static readonly TraktSettingsBaseValidator<TSettings> Validator = new ();
public TraktSettingsBase() public TraktSettingsBase()
{ {
@ -70,7 +69,7 @@ public TraktSettingsBase()
[FieldDefinition(99, Label = "Authenticate with Trakt", Type = FieldType.OAuth)] [FieldDefinition(99, Label = "Authenticate with Trakt", Type = FieldType.OAuth)]
public string SignIn { get; set; } public string SignIn { get; set; }
public NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate((TSettings)this)); return new NzbDroneValidationResult(Validator.Validate((TSettings)this));
} }

View File

@ -1,12 +1,12 @@
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.ImportLists.Trakt.User namespace NzbDrone.Core.ImportLists.Trakt.User
{ {
public class TraktUserSettingsValidator : TraktSettingsBaseValidator<TraktUserSettings> public class TraktUserSettingsValidator : TraktSettingsBaseValidator<TraktUserSettings>
{ {
public TraktUserSettingsValidator() public TraktUserSettingsValidator()
: base()
{ {
RuleFor(c => c.TraktListType).NotNull(); RuleFor(c => c.TraktListType).NotNull();
RuleFor(c => c.AuthUser).NotEmpty(); RuleFor(c => c.AuthUser).NotEmpty();
@ -15,7 +15,7 @@ public TraktUserSettingsValidator()
public class TraktUserSettings : TraktSettingsBase<TraktUserSettings> public class TraktUserSettings : TraktSettingsBase<TraktUserSettings>
{ {
protected override AbstractValidator<TraktUserSettings> Validator => new TraktUserSettingsValidator(); private static readonly TraktUserSettingsValidator Validator = new ();
public TraktUserSettings() public TraktUserSettings()
{ {
@ -27,5 +27,10 @@ public TraktUserSettings()
[FieldDefinition(2, Label = "Username", HelpText = "Username for the List to import from (empty to use Auth User)")] [FieldDefinition(2, Label = "Username", HelpText = "Username for the List to import from (empty to use Auth User)")]
public string Username { get; set; } public string Username { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
} }
} }

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Languages; using NzbDrone.Core.Languages;
@ -20,9 +21,9 @@ public FileListSettingsValidator()
} }
} }
public class FileListSettings : ITorrentIndexerSettings public class FileListSettings : PropertywiseEquatable<FileListSettings>, ITorrentIndexerSettings
{ {
private static readonly FileListSettingsValidator Validator = new FileListSettingsValidator(); private static readonly FileListSettingsValidator Validator = new ();
public FileListSettings() public FileListSettings()
{ {
@ -56,7 +57,7 @@ public FileListSettings()
public int MinimumSeeders { get; set; } public int MinimumSeeders { get; set; }
[FieldDefinition(5)] [FieldDefinition(5)]
public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); public SeedCriteriaSettings SeedCriteria { get; set; } = new ();
[FieldDefinition(6, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)] [FieldDefinition(6, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)]
public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; } public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; }

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Languages; using NzbDrone.Core.Languages;
@ -19,7 +20,7 @@ public HDBitsSettingsValidator()
} }
} }
public class HDBitsSettings : ITorrentIndexerSettings public class HDBitsSettings : PropertywiseEquatable<HDBitsSettings>, ITorrentIndexerSettings
{ {
private static readonly HDBitsSettingsValidator Validator = new (); private static readonly HDBitsSettingsValidator Validator = new ();

View File

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
@ -26,9 +27,9 @@ public IPTorrentsSettingsValidator()
} }
} }
public class IPTorrentsSettings : ITorrentIndexerSettings public class IPTorrentsSettings : PropertywiseEquatable<IPTorrentsSettings>, ITorrentIndexerSettings
{ {
private static readonly IPTorrentsSettingsValidator Validator = new IPTorrentsSettingsValidator(); private static readonly IPTorrentsSettingsValidator Validator = new ();
public IPTorrentsSettings() public IPTorrentsSettings()
{ {
@ -45,7 +46,7 @@ public IPTorrentsSettings()
public int MinimumSeeders { get; set; } public int MinimumSeeders { get; set; }
[FieldDefinition(2)] [FieldDefinition(2)]
public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); public SeedCriteriaSettings SeedCriteria { get; set; } = new ();
[FieldDefinition(3, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)] [FieldDefinition(3, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)]
public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; } public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; }

View File

@ -1,9 +1,13 @@
using System;
using Equ;
using NzbDrone.Core.ThingiProvider; using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Indexers namespace NzbDrone.Core.Indexers
{ {
public class IndexerDefinition : ProviderDefinition public class IndexerDefinition : ProviderDefinition, IEquatable<IndexerDefinition>
{ {
private static readonly MemberwiseEqualityComparer<IndexerDefinition> Comparer = MemberwiseEqualityComparer<IndexerDefinition>.ByProperties;
public const int DefaultPriority = 25; public const int DefaultPriority = 25;
public IndexerDefinition() public IndexerDefinition()
@ -11,17 +15,40 @@ public IndexerDefinition()
Priority = DefaultPriority; Priority = DefaultPriority;
} }
[MemberwiseEqualityIgnore]
public DownloadProtocol Protocol { get; set; }
[MemberwiseEqualityIgnore]
public bool SupportsRss { get; set; }
[MemberwiseEqualityIgnore]
public bool SupportsSearch { get; set; }
public bool EnableRss { get; set; } public bool EnableRss { get; set; }
public bool EnableAutomaticSearch { get; set; } public bool EnableAutomaticSearch { get; set; }
public bool EnableInteractiveSearch { get; set; } public bool EnableInteractiveSearch { get; set; }
public int DownloadClientId { get; set; } public int DownloadClientId { get; set; }
public DownloadProtocol Protocol { get; set; }
public bool SupportsRss { get; set; }
public bool SupportsSearch { get; set; }
public int Priority { get; set; } public int Priority { get; set; }
[MemberwiseEqualityIgnore]
public override bool Enable => EnableRss || EnableAutomaticSearch || EnableInteractiveSearch; public override bool Enable => EnableRss || EnableAutomaticSearch || EnableInteractiveSearch;
[MemberwiseEqualityIgnore]
public IndexerStatus Status { get; set; } public IndexerStatus Status { get; set; }
public bool Equals(IndexerDefinition other)
{
return Comparer.Equals(this, other);
}
public override bool Equals(object obj)
{
return Equals(obj as IndexerDefinition);
}
public override int GetHashCode()
{
return Comparer.GetHashCode(this);
}
} }
} }

View File

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
@ -28,7 +29,7 @@ private static bool ShouldHaveApiKey(NewznabSettings settings)
return settings.BaseUrl != null && ApiKeyWhiteList.Any(c => settings.BaseUrl.ToLowerInvariant().Contains(c)); return settings.BaseUrl != null && ApiKeyWhiteList.Any(c => settings.BaseUrl.ToLowerInvariant().Contains(c));
} }
private static readonly Regex AdditionalParametersRegex = new Regex(@"(&.+?\=.+?)+", RegexOptions.Compiled); private static readonly Regex AdditionalParametersRegex = new (@"(&.+?\=.+?)+", RegexOptions.Compiled);
public NewznabSettingsValidator() public NewznabSettingsValidator()
{ {
@ -48,9 +49,9 @@ public NewznabSettingsValidator()
} }
} }
public class NewznabSettings : IIndexerSettings public class NewznabSettings : PropertywiseEquatable<NewznabSettings>, IIndexerSettings
{ {
private static readonly NewznabSettingsValidator Validator = new NewznabSettingsValidator(); private static readonly NewznabSettingsValidator Validator = new ();
public NewznabSettings() public NewznabSettings()
{ {

View File

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Languages; using NzbDrone.Core.Languages;
@ -20,9 +21,9 @@ public NyaaSettingsValidator()
} }
} }
public class NyaaSettings : ITorrentIndexerSettings public class NyaaSettings : PropertywiseEquatable<NyaaSettings>, ITorrentIndexerSettings
{ {
private static readonly NyaaSettingsValidator Validator = new NyaaSettingsValidator(); private static readonly NyaaSettingsValidator Validator = new ();
public NyaaSettings() public NyaaSettings()
{ {
@ -43,7 +44,7 @@ public NyaaSettings()
public int MinimumSeeders { get; set; } public int MinimumSeeders { get; set; }
[FieldDefinition(3)] [FieldDefinition(3)]
public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); public SeedCriteriaSettings SeedCriteria { get; set; } = new ();
[FieldDefinition(4, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)] [FieldDefinition(4, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)]
public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; } public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; }

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Languages; using NzbDrone.Core.Languages;
@ -20,7 +21,7 @@ public PassThePopcornSettingsValidator()
} }
} }
public class PassThePopcornSettings : ITorrentIndexerSettings public class PassThePopcornSettings : PropertywiseEquatable<PassThePopcornSettings>, ITorrentIndexerSettings
{ {
private static readonly PassThePopcornSettingsValidator Validator = new (); private static readonly PassThePopcornSettingsValidator Validator = new ();
@ -45,7 +46,7 @@ public PassThePopcornSettings()
public int MinimumSeeders { get; set; } public int MinimumSeeders { get; set; }
[FieldDefinition(4)] [FieldDefinition(4)]
public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); public SeedCriteriaSettings SeedCriteria { get; set; } = new ();
[FieldDefinition(5, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)] [FieldDefinition(5, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)]
public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; } public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; }

View File

@ -1,3 +1,4 @@
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -34,7 +35,7 @@ public SeedCriteriaSettingsValidator(double seedRatioMinimum = 0.0, int seedTime
} }
} }
public class SeedCriteriaSettings public class SeedCriteriaSettings : PropertywiseEquatable<SeedCriteriaSettings>
{ {
[FieldDefinition(0, Type = FieldType.Number, Label = "IndexerSettingsSeedRatio", HelpText = "IndexerSettingsSeedRatioHelpText")] [FieldDefinition(0, Type = FieldType.Number, Label = "IndexerSettingsSeedRatio", HelpText = "IndexerSettingsSeedRatioHelpText")]
public double? SeedRatio { get; set; } public double? SeedRatio { get; set; }

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Languages; using NzbDrone.Core.Languages;
@ -18,9 +19,9 @@ public TorrentPotatoSettingsValidator()
} }
} }
public class TorrentPotatoSettings : ITorrentIndexerSettings public class TorrentPotatoSettings : PropertywiseEquatable<TorrentPotatoSettings>, ITorrentIndexerSettings
{ {
private static readonly TorrentPotatoSettingsValidator Validator = new TorrentPotatoSettingsValidator(); private static readonly TorrentPotatoSettingsValidator Validator = new ();
public TorrentPotatoSettings() public TorrentPotatoSettings()
{ {
@ -43,7 +44,7 @@ public TorrentPotatoSettings()
public int MinimumSeeders { get; set; } public int MinimumSeeders { get; set; }
[FieldDefinition(4)] [FieldDefinition(4)]
public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); public SeedCriteriaSettings SeedCriteria { get; set; } = new ();
[FieldDefinition(5, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)] [FieldDefinition(5, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)]
public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; } public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; }

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.Languages; using NzbDrone.Core.Languages;
@ -18,9 +19,9 @@ public TorrentRssIndexerSettingsValidator()
} }
} }
public class TorrentRssIndexerSettings : ITorrentIndexerSettings public class TorrentRssIndexerSettings : PropertywiseEquatable<TorrentRssIndexerSettings>, ITorrentIndexerSettings
{ {
private static readonly TorrentRssIndexerSettingsValidator Validator = new TorrentRssIndexerSettingsValidator(); private static readonly TorrentRssIndexerSettingsValidator Validator = new ();
public TorrentRssIndexerSettings() public TorrentRssIndexerSettings()
{ {
@ -44,7 +45,7 @@ public TorrentRssIndexerSettings()
public int MinimumSeeders { get; set; } public int MinimumSeeders { get; set; }
[FieldDefinition(4)] [FieldDefinition(4)]
public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); public SeedCriteriaSettings SeedCriteria { get; set; } = new ();
[FieldDefinition(5, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)] [FieldDefinition(5, Type = FieldType.Checkbox, Label = "IndexerSettingsRejectBlocklistedTorrentHashes", HelpText = "IndexerSettingsRejectBlocklistedTorrentHashesHelpText", Advanced = true)]
public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; } public bool RejectBlocklistedTorrentHashesWhileGrabbing { get; set; }

View File

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Equ;
using FluentValidation; using FluentValidation;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
@ -42,10 +43,12 @@ public TorznabSettingsValidator()
} }
} }
public class TorznabSettings : NewznabSettings, ITorrentIndexerSettings public class TorznabSettings : NewznabSettings, ITorrentIndexerSettings, IEquatable<TorznabSettings>
{ {
private static readonly TorznabSettingsValidator Validator = new (); private static readonly TorznabSettingsValidator Validator = new ();
private static readonly MemberwiseEqualityComparer<TorznabSettings> Comparer = MemberwiseEqualityComparer<TorznabSettings>.ByProperties;
public TorznabSettings() public TorznabSettings()
{ {
MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS; MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS;
@ -68,5 +71,20 @@ public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));
} }
public bool Equals(TorznabSettings other)
{
return Comparer.Equals(this, other);
}
public override bool Equals(object obj)
{
return Equals(obj as TorznabSettings);
}
public override int GetHashCode()
{
return Comparer.GetHashCode(this);
}
} }
} }

View File

@ -680,7 +680,7 @@
"DetailedProgressBar": "شريط تقدم مفصل", "DetailedProgressBar": "شريط تقدم مفصل",
"DestinationRelativePath": "المسار النسبي للوجهة", "DestinationRelativePath": "المسار النسبي للوجهة",
"DestinationPath": "مسار الوجهة", "DestinationPath": "مسار الوجهة",
"DeleteTheMovieFolder": "سيتم حذف مجلد الفيلم \"{0}\" وجميع محتوياته.", "DeleteMovieFolderConfirmation": "سيتم حذف مجلد الفيلم \"{0}\" وجميع محتوياته.",
"DeleteTagMessageText": "هل أنت متأكد أنك تريد حذف العلامة \"{0}\"؟", "DeleteTagMessageText": "هل أنت متأكد أنك تريد حذف العلامة \"{0}\"؟",
"DeleteTag": "حذف العلامة", "DeleteTag": "حذف العلامة",
"DeleteSelectedMovieFiles": "حذف ملفات الأفلام المحددة", "DeleteSelectedMovieFiles": "حذف ملفات الأفلام المحددة",
@ -690,14 +690,14 @@
"DeleteQualityProfile": "حذف ملف تعريف الجودة", "DeleteQualityProfile": "حذف ملف تعريف الجودة",
"DeleteNotificationMessageText": "هل تريد بالتأكيد حذف الإشعار \"{0}\"؟", "DeleteNotificationMessageText": "هل تريد بالتأكيد حذف الإشعار \"{0}\"؟",
"DeleteNotification": "حذف الإعلام", "DeleteNotification": "حذف الإعلام",
"DeleteMovieFolderLabel": "حذف مجلد الفيلم", "DeleteMovieFolder": "حذف مجلد الفيلم",
"DeleteMovieFolderHelpText": "احذف مجلد الفيلم ومحتوياته", "DeleteMovieFolderHelpText": "احذف مجلد الفيلم ومحتوياته",
"DeleteIndexerMessageText": "هل أنت متأكد أنك تريد حذف المفهرس \"{0}\"؟", "DeleteIndexerMessageText": "هل أنت متأكد أنك تريد حذف المفهرس \"{0}\"؟",
"DeleteIndexer": "حذف المفهرس", "DeleteIndexer": "حذف المفهرس",
"DeleteImportListExclusion": "حذف استبعاد قائمة الاستيراد", "DeleteImportListExclusion": "حذف استبعاد قائمة الاستيراد",
"DeleteHeader": "حذف - {0}", "DeleteHeader": "حذف - {0}",
"DeleteFilesLabel": "احذف {0} ملفات الأفلام", "DeleteMovieFiles": "احذف {0} ملفات الأفلام",
"DeleteFilesHelpText": "احذف ملفات الفيلم ومجلد الفيلم", "DeleteMovieFilesHelpText": "احذف ملفات الفيلم ومجلد الفيلم",
"DeleteFile": "حذف ملف", "DeleteFile": "حذف ملف",
"DeleteEmptyFoldersHelpText": "احذف مجلدات الأفلام الفارغة أثناء فحص القرص وعند حذف ملفات الأفلام", "DeleteEmptyFoldersHelpText": "احذف مجلدات الأفلام الفارغة أثناء فحص القرص وعند حذف ملفات الأفلام",
"DeleteEmptyFolders": "احذف المجلدات الفارغة", "DeleteEmptyFolders": "احذف المجلدات الفارغة",
@ -960,7 +960,6 @@
"More": "أكثر", "More": "أكثر",
"Download": "تحميل", "Download": "تحميل",
"DownloadClientCheckDownloadingToRoot": "يقوم برنامج التنزيل {downloadClientName} بوضع التنزيلات في المجلد الجذر {path}. يجب ألا تقوم بالتنزيل إلى مجلد جذر.", "DownloadClientCheckDownloadingToRoot": "يقوم برنامج التنزيل {downloadClientName} بوضع التنزيلات في المجلد الجذر {path}. يجب ألا تقوم بالتنزيل إلى مجلد جذر.",
"DeleteFileLabel": "احذف {0} ملفات الأفلام",
"Blocklist": "القائمة السوداء", "Blocklist": "القائمة السوداء",
"BlocklistRelease": "إصدار القائمة السوداء", "BlocklistRelease": "إصدار القائمة السوداء",
"RemoveFromBlocklist": "إزالة من القائمة السوداء", "RemoveFromBlocklist": "إزالة من القائمة السوداء",
@ -982,5 +981,87 @@
"DeleteRemotePathMapping": "تحرير تعيين المسار البعيد", "DeleteRemotePathMapping": "تحرير تعيين المسار البعيد",
"DeleteRemotePathMappingMessageText": "هل أنت متأكد أنك تريد حذف تعيين المسار البعيد هذا؟", "DeleteRemotePathMappingMessageText": "هل أنت متأكد أنك تريد حذف تعيين المسار البعيد هذا؟",
"AddAutoTag": "أضف كلمات دلالية تلقائيا", "AddAutoTag": "أضف كلمات دلالية تلقائيا",
"AddCondition": "إضافة شرط" "AddCondition": "إضافة شرط",
"CustomFilter": "مرشحات مخصصة",
"IncludeHealthWarnings": "قم بتضمين التحذيرات الصحية",
"AddListExclusion": "إضافة استبعاد قائمة",
"DisabledForLocalAddresses": "معطل بسبب العناوين المحلية",
"Release": "صدر",
"FormatAgeHours": "ساعات",
"FormatAgeMinute": "الدقائق",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "الحد الأدنى من نقاط التنسيق المخصص",
"ConnectionLostReconnect": "سيحاول Radarr الاتصال تلقائيًا ، أو يمكنك النقر فوق إعادة التحميل أدناه.",
"DeleteDelayProfileMessageText": "هل أنت متأكد أنك تريد حذف ملف تعريف التأخير هذا؟",
"FormatAgeMinutes": "الدقائق",
"InteractiveImportLoadError": "تعذر تحميل عناصر الاستيراد اليدوي",
"NotificationStatusSingleClientHealthCheckMessage": "القوائم غير متاحة بسبب الإخفاقات: {notificationNames}",
"OrganizeLoadError": "خطأ في تحميل المعاينات",
"OrganizeNothingToRename": "نجاح! تم الانتهاء من عملي ، ولا توجد ملفات لإعادة تسميتها.",
"DelayProfileMovieTagsHelpText": "ينطبق على الأفلام التي تحتوي على علامة مطابقة واحدة على الأقل",
"DeleteAutoTagHelpText": "هل أنت متأكد من أنك تريد حذف ملف تعريف الجودة {0}",
"DeleteQualityProfileMessageText": "هل أنت متأكد من أنك تريد حذف ملف تعريف الجودة {0}",
"DeleteReleaseProfile": "حذف ملف تعريف التأخير",
"DeletedReasonUpgrade": "تم حذف الملف لاستيراد ترقية",
"Lists": "القوائم",
"MustNotContainHelpText": "سيتم رفض الإصدار إذا كان يحتوي على واحد أو أكثر من المصطلحات (غير حساس لحالة الأحرف)",
"No": "لا",
"ReleaseProfilesLoadError": "تعذر تحميل ملفات تعريف التأخير",
"RemoveSelectedItemQueueMessageText": "هل تريد بالتأكيد إزالة {0} عنصر {1} من قائمة الانتظار؟",
"RetryingDownloadOn": "إعادة محاولة التنزيل {0} في {1}",
"DeleteSpecification": "حذف الإعلام",
"NotificationStatusAllClientHealthCheckMessage": "جميع القوائم غير متاحة بسبب الإخفاقات",
"MoveAutomatically": "التحرك تلقائيا",
"ApplyTagsHelpTextAdd": "إضافة: أضف العلامات إلى قائمة العلامات الموجودة",
"ApplyTagsHelpTextHowToApplyDownloadClients": "كيفية تطبيق العلامات على الأفلام المختارة",
"ApplyTagsHelpTextHowToApplyImportLists": "كيفية تطبيق العلامات على الأفلام المختارة",
"ApplyTagsHelpTextHowToApplyIndexers": "كيفية تطبيق العلامات على الأفلام المختارة",
"ApplyTagsHelpTextRemove": "إزالة: قم بإزالة العلامات التي تم إدخالها",
"AutoTaggingNegateHelpText": "إذا تم تحديده ، فلن يتم تطبيق التنسيق المخصص إذا تطابق شرط {0} هذا.",
"DeleteImportListExclusionMessageText": "هل أنت متأكد أنك تريد حذف استثناء قائمة الاستيراد؟",
"DeleteSelectedIndexers": "حذف المفهرس",
"DownloadClientsLoadError": "تعذر تحميل عملاء التنزيل",
"ResetAPIKeyMessageText": "هل أنت متأكد أنك تريد إعادة تعيين مفتاح API الخاص بك؟",
"BlocklistLoadError": "تعذر تحميل القائمة السوداء",
"HistoryLoadError": "تعذر تحميل التاريخ",
"RemoveSelectedBlocklistMessageText": "هل أنت متأكد أنك تريد إزالة العناصر المحددة من القائمة السوداء؟",
"QualitiesLoadError": "غير قادر على تحميل الصفات",
"DeleteImportListMessageText": "هل أنت متأكد أنك تريد حذف العلامة \"{0}\"؟",
"DeleteSelectedDownloadClients": "حذف Download Client",
"DeleteSpecificationHelpText": "هل أنت متأكد من أنك تريد حذف ملف تعريف الجودة {0}",
"GrabId": "انتزاع معرف",
"QualityCutoffNotMet": "لم يتم الوفاء بقطع الجودة",
"SelectDropdown": "'تحديد...",
"InteractiveSearchModalHeader": "بحث تفاعلي",
"QueueLoadError": "فشل تحميل قائمة الانتظار",
"Yes": "نعم",
"FormatAgeHour": "ساعات",
"TablePageSize": "مقاس الصفحه",
"RemoveSelectedItemsQueueMessageText": "هل تريد بالتأكيد إزالة {0} عنصر {1} من قائمة الانتظار؟",
"IndexerSettingsMultiLanguageRelease": "متعدد اللغات",
"RemoveQueueItemConfirmation": "هل تريد بالتأكيد إزالة {0} عنصر {1} من قائمة الانتظار؟",
"ApplyTagsHelpTextReplace": "استبدال: استبدل العلامات بالعلامات التي تم إدخالها (لا تدخل أي علامات لمسح جميع العلامات)",
"AutoRedownloadFailed": "التحميل فشل",
"RestartLater": "سأعيد التشغيل لاحقًا",
"TablePageSizeHelpText": "عدد العناصر التي سيتم عرضها في كل صفحة",
"AddRootFolderError": "تعذر تحميل مجلدات الجذر",
"MustContainHelpText": "يجب أن يحتوي الإصدار على واحد على الأقل من هذه المصطلحات (غير حساس لحالة الأحرف)",
"ReleaseGroups": "مجموعة الإصدار",
"DeleteReleaseProfileMessageText": "هل أنت متأكد من أنك تريد حذف ملف تعريف الجودة {0}",
"DelayingDownloadUntil": "تأجيل التنزيل حتى {0} الساعة {1}",
"DeleteConditionMessageText": "هل أنت متأكد من أنك تريد حذف ملف تعريف الجودة {0}",
"AddAutoTagError": "غير قادر على إضافة قائمة جديدة ، يرجى المحاولة مرة أخرى.",
"ConditionUsingRegularExpressions": "يتطابق هذا الشرط مع استخدام التعبيرات العادية. لاحظ أن الأحرف {0} لها معاني خاصة وتحتاج إلى الهروب بعلامة {1}",
"DeletedReasonMissingFromDisk": "لم يتمكن Whisparr من العثور على الملف على القرص لذا تمت إزالته",
"MovieFileDeleted": "عند حذف ملف الفيلم",
"DeleteCustomFormatMessageText": "هل أنت متأكد أنك تريد حذف العلامة \"{0}\"؟",
"DeleteFormatMessageText": "هل أنت متأكد أنك تريد حذف العلامة \"{0}\"؟",
"DownloadClientSettingsRecentPriority": "أولوية العميل",
"MovieIsNotMonitored": "الفيلم مراقب",
"DeleteSelectedMovieFilesHelpText": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟",
"IMDbId": "معرف TMDb",
"NotificationsSimplepushSettingsEvent": "الأحداث",
"SearchOnAddCollectionHelpText": "ابحث عن الأفلام في هذه القائمة عند إضافتها إلى {appName}",
"ShowUnknownMovieItemsHelpText": "إظهار العناصر بدون فيلم في قائمة الانتظار. يمكن أن يشمل ذلك الأفلام التي تمت إزالتها أو أي شيء آخر في فئة Lidarr",
"MovieSearchResultsLoadError": "تعذر تحميل نتائج بحث هذا الفيلم. حاول مرة أخرى في وقت لاحق",
"AddDelayProfileError": "غير قادر على إضافة ملف تعريف جودة جديد ، يرجى المحاولة مرة أخرى."
} }

View File

@ -146,8 +146,8 @@
"DeleteEmptyFolders": "Изтрийте празни папки", "DeleteEmptyFolders": "Изтрийте празни папки",
"DeleteEmptyFoldersHelpText": "Изтрийте празни папки с филми по време на сканиране на диска и когато файловете с филми се изтриват", "DeleteEmptyFoldersHelpText": "Изтрийте празни папки с филми по време на сканиране на диска и когато файловете с филми се изтриват",
"DeleteFile": "Изтрий файла", "DeleteFile": "Изтрий файла",
"DeleteFilesHelpText": "Изтрийте файловете с филми и папката с филми", "DeleteMovieFilesHelpText": "Изтрийте файловете с филми и папката с филми",
"DeleteFilesLabel": "Изтрийте {0} филмови файлове", "DeleteMovieFiles": "Изтрийте {0} филмови файлове",
"DeleteHeader": "Изтриване - {0}", "DeleteHeader": "Изтриване - {0}",
"DeleteImportListExclusion": "Изтриване на изключването на списъка за импортиране", "DeleteImportListExclusion": "Изтриване на изключването на списъка за импортиране",
"DeleteIndexer": "Изтрийте Indexer", "DeleteIndexer": "Изтрийте Indexer",
@ -160,7 +160,7 @@
"DeleteRestrictionHelpText": "Наистина ли искате да изтриете това ограничение?", "DeleteRestrictionHelpText": "Наистина ли искате да изтриете това ограничение?",
"DeleteSelectedMovieFiles": "Изтриване на избрани филмови файлове", "DeleteSelectedMovieFiles": "Изтриване на избрани филмови файлове",
"DeleteTagMessageText": "Наистина ли искате да изтриете маркера '{0}'?", "DeleteTagMessageText": "Наистина ли искате да изтриете маркера '{0}'?",
"DeleteTheMovieFolder": "Папката с филма „{0}“ и цялото й съдържание ще бъдат изтрити.", "DeleteMovieFolderConfirmation": "Папката с филма „{0}“ и цялото й съдържание ще бъдат изтрити.",
"DestinationPath": "Път на дестинацията", "DestinationPath": "Път на дестинацията",
"DetailedProgressBar": "Подробна лента за напредъка", "DetailedProgressBar": "Подробна лента за напредъка",
"Details": "Подробности", "Details": "Подробности",
@ -781,7 +781,7 @@
"DeleteCustomFormat": "Изтриване на потребителски формат", "DeleteCustomFormat": "Изтриване на потребителски формат",
"DeletedMsg": "Филмът беше изтрит от TMDb", "DeletedMsg": "Филмът беше изтрит от TMDb",
"DeleteDownloadClient": "Изтриване на клиент за изтегляне", "DeleteDownloadClient": "Изтриване на клиент за изтегляне",
"DeleteMovieFolderLabel": "Изтриване на папка за филми", "DeleteMovieFolder": "Изтриване на папка за филми",
"ExcludeTitle": "Да се изключи ли {0}? Това ще попречи на {appName} да добавя автоматично чрез синхронизиране на списъка.", "ExcludeTitle": "Да се изключи ли {0}? Това ще попречи на {appName} да добавя автоматично чрез синхронизиране на списъка.",
"FailedDownloadHandling": "Неуспешно обработване на изтеглянето", "FailedDownloadHandling": "Неуспешно обработване на изтеглянето",
"ImportMechanismHealthCheckMessage": "Активиране на завършено обработване на изтегляне", "ImportMechanismHealthCheckMessage": "Активиране на завършено обработване на изтегляне",
@ -959,7 +959,6 @@
"More": "| Повече ▼", "More": "| Повече ▼",
"Download": "Изтегли", "Download": "Изтегли",
"DownloadClientCheckDownloadingToRoot": "Клиентът за изтегляне {downloadClientName} поставя изтеглянията в основната папка {path}. Не трябва да изтегляте в основна папка.", "DownloadClientCheckDownloadingToRoot": "Клиентът за изтегляне {downloadClientName} поставя изтеглянията в основната папка {path}. Не трябва да изтегляте в основна папка.",
"DeleteFileLabel": "Изтрийте {0} филмови файлове",
"Blocklist": "Черен списък", "Blocklist": "Черен списък",
"BlocklistRelease": "Освобождаване на черния списък", "BlocklistRelease": "Освобождаване на черния списък",
"RemoveFromBlocklist": "Премахване от черния списък", "RemoveFromBlocklist": "Премахване от черния списък",
@ -978,5 +977,88 @@
"ShowCinemaReleaseHelpText": "Показване на датата на пускане под постер", "ShowCinemaReleaseHelpText": "Показване на датата на пускане под постер",
"EditMovies": "Редактиране на филм", "EditMovies": "Редактиране на филм",
"DeleteRemotePathMapping": "Редактиране на отдалечено картографиране на пътя", "DeleteRemotePathMapping": "Редактиране на отдалечено картографиране на пътя",
"DeleteRemotePathMappingMessageText": "Наистина ли искате да изтриете това отдалечено картографиране на пътя?" "DeleteRemotePathMappingMessageText": "Наистина ли искате да изтриете това отдалечено картографиране на пътя?",
"HistoryLoadError": "Историята не може да се зареди",
"MoveAutomatically": "Бърз импорт",
"AddRootFolderError": "Не може да се заредят коренови папки",
"ReleaseGroups": "Група за освобождаване",
"Lists": "Списъци",
"FormatAgeMinutes": "Минути",
"SelectDropdown": "„Изберете ...",
"DelayProfileMovieTagsHelpText": "Прилага се за филми с поне един съвпадащ маркер",
"MustNotContainHelpText": "Пускането ще бъде отхвърлено, ако съдържа един или повече от условията (без регистрация)",
"TablePageSizeHelpText": "Брой елементи за показване на всяка страница",
"DeleteImportListExclusionMessageText": "Наистина ли искате да изтриете това изключване от списъка за импортиране?",
"GrabId": "Идентификатор на грабване",
"QualitiesLoadError": "Не може да се заредят качества",
"QualityCutoffNotMet": "Прекъсването на качеството не е изпълнено",
"ConnectionLostReconnect": "Radarr ще се опита да се свърже автоматично или можете да щракнете върху презареждане по-долу.",
"DeleteSelectedDownloadClients": "Изтриване на клиент за изтегляне",
"OrganizeNothingToRename": "Успех! Работата ми приключи, няма файлове за преименуване.",
"NotificationStatusSingleClientHealthCheckMessage": "Списъци, недостъпни поради неуспехи: {notificationNames}",
"DeleteSelectedIndexers": "Изтрийте Indexer",
"DeleteSpecificationHelpText": "Наистина ли искате да изтриете маркера „{0}“?",
"OrganizeLoadError": "Грешка при зареждането на визуализациите",
"AutoTaggingNegateHelpText": "Ако е отметнато, персонализираният формат няма да се прилага, ако това {0} условие съвпада.",
"DeleteConditionMessageText": "Наистина ли искате да изтриете качествения профил {0}",
"DeleteAutoTagHelpText": "Наистина ли искате да изтриете качествения профил {0}",
"ApplyTagsHelpTextAdd": "Добавяне: Добавете маркерите към съществуващия списък с маркери",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Как да приложите тагове към избраните филми",
"ApplyTagsHelpTextHowToApplyImportLists": "Как да приложите тагове към избраните филми",
"ApplyTagsHelpTextHowToApplyIndexers": "Как да приложите тагове към избраните филми",
"ApplyTagsHelpTextRemove": "Премахване: Премахнете въведените тагове",
"ApplyTagsHelpTextReplace": "Замяна: Заменете маркерите с въведените маркери (не въвеждайте маркери, за да изчистите всички маркери)",
"DownloadClientsLoadError": "Клиентите за изтегляне не могат да се заредят",
"RemoveSelectedItemQueueMessageText": "Наистина ли искате да премахнете {0} елемент {1} от опашката?",
"DisabledForLocalAddresses": "Забранено за местни адреси",
"BlocklistLoadError": "Черният списък не може да се зареди",
"RetryingDownloadOn": "Забавя се изтеглянето до {0} в {1}",
"InteractiveImportLoadError": "Елементите за ръчно импортиране не могат да бъдат заредени",
"InteractiveSearchModalHeader": "Интерактивно търсене",
"QueueLoadError": "Зареждането на опашката не бе успешно",
"CustomFilter": "Персонализирани филтри",
"TablePageSize": "Размер на страницата",
"FormatAgeHour": "Часа",
"FormatAgeHours": "Часа",
"RemoveSelectedBlocklistMessageText": "Наистина ли искате да премахнете избраните елементи от черния списък?",
"IndexerSettingsMultiLanguageRelease": "Многоезичен",
"IncludeHealthWarnings": "Включете здравни предупреждения",
"AddListExclusion": "Добавяне на изключване от списъка",
"AutoRedownloadFailed": "Изтеглянето се провали",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Минимален резултат от персонализиран формат",
"DeleteDelayProfileMessageText": "Наистина ли искате да изтриете този профил за забавяне?",
"DeleteImportListMessageText": "Наистина ли искате да изтриете маркера „{0}“?",
"DeleteReleaseProfile": "Изтриване на профила за забавяне",
"DeleteReleaseProfileMessageText": "Наистина ли искате да изтриете качествения профил {0}",
"DeletedReasonUpgrade": "Файлът беше изтрит за импортиране на надстройка",
"MustContainHelpText": "Освобождаването трябва да съдържа поне един от тези термини (без регистрация)",
"No": "Не",
"ReleaseProfilesLoadError": "Профилите за забавяне не могат да се заредят",
"ResetAPIKeyMessageText": "Наистина ли искате да нулирате своя API ключ?",
"DelayingDownloadUntil": "Забавя се изтеглянето до {0} в {1}",
"RestartLater": "Ще рестартирам по-късно",
"NotificationStatusAllClientHealthCheckMessage": "Всички списъци са недостъпни поради неуспехи",
"DeleteQualityProfileMessageText": "Наистина ли искате да изтриете качествения профил {0}",
"FormatAgeMinute": "Минути",
"Release": "Освободен",
"RemoveQueueItemConfirmation": "Наистина ли искате да премахнете {0} елемент {1} от опашката?",
"DeleteSpecification": "Изтриване на известието",
"Yes": "Да",
"AddAutoTagError": "Не може да се добави нов списък, моля, опитайте отново.",
"ConditionUsingRegularExpressions": "Това условие съвпада с използването на регулярни изрази. Имайте предвид, че символите {0} имат специални значения и трябва да избягат с {1}",
"RemoveSelectedItemsQueueMessageText": "Наистина ли искате да премахнете {0} елемент {1} от опашката?",
"ApplyTagsHelpTextHowToApplyMovies": "Как да приложите тагове към избраните филми",
"MovieSearchResultsLoadError": "Не могат да се заредят резултати за това търсене на филм. Опитайте отново по-късно",
"DeletedReasonMissingFromDisk": "Whisparr не можа да намери файла на диска, така че той беше премахнат",
"IMDbId": "Идентификатор на TMDb",
"NotificationsSimplepushSettingsEvent": "Събития",
"MovieIsNotMonitored": "Филмът не се следи",
"DeleteCustomFormatMessageText": "Наистина ли искате да изтриете маркера „{0}“?",
"DeleteFormatMessageText": "Наистина ли искате да изтриете маркера „{0}“?",
"DeleteSelectedMovieFilesHelpText": "Наистина ли искате да изтриете избраните филмови файлове?",
"DownloadClientSettingsRecentPriority": "Приоритет на клиента",
"SearchOnAddCollectionHelpText": "Търсете филми в този списък, когато ги добавите към {appName}",
"MovieFileDeleted": "В Изтриване на файл с филм",
"ShowUnknownMovieItemsHelpText": "Показване на елементи без филм в опашката. Това може да включва премахнати филми или нещо друго от категорията на Lidarr",
"AddDelayProfileError": "Не може да се добави нов качествен профил, моля, опитайте отново."
} }

View File

@ -62,8 +62,7 @@
"ConnectSettings": "Configuració de connexió", "ConnectSettings": "Configuració de connexió",
"ConnectSettingsSummary": "Notificacions, connexions a servidors/reproductors multimèdia i scripts personalitzats", "ConnectSettingsSummary": "Notificacions, connexions a servidors/reproductors multimèdia i scripts personalitzats",
"ConsideredAvailable": "Considerat disponible", "ConsideredAvailable": "Considerat disponible",
"DeleteFileLabel": "Suprimeix {0} fitxer de pel·lícula", "DeleteMovieFilesHelpText": "Suprimeix els fitxers de pel·lícules i la carpeta de pel·lícules",
"DeleteFilesHelpText": "Suprimeix els fitxers de pel·lícules i la carpeta de pel·lícules",
"DeleteTag": "Suprimeix l'etiqueta", "DeleteTag": "Suprimeix l'etiqueta",
"DetailedProgressBar": "Barra de progrés detallada", "DetailedProgressBar": "Barra de progrés detallada",
"DetailedProgressBarHelpText": "Mostra el text a la barra de progrés", "DetailedProgressBarHelpText": "Mostra el text a la barra de progrés",
@ -262,7 +261,7 @@
"DeleteBackupMessageText": "Esteu segur que voleu suprimir la còpia de seguretat '{name}'?", "DeleteBackupMessageText": "Esteu segur que voleu suprimir la còpia de seguretat '{name}'?",
"DeleteDownloadClient": "Suprimeix el client de descàrrega", "DeleteDownloadClient": "Suprimeix el client de descàrrega",
"DeleteNotification": "Suprimeix la notificació", "DeleteNotification": "Suprimeix la notificació",
"DeleteTheMovieFolder": "La carpeta de pel·lícules '{path}' i tot el seu contingut es suprimiran.", "DeleteMovieFolderConfirmation": "La carpeta de pel·lícules '{path}' i tot el seu contingut es suprimiran.",
"DestinationPath": "Camí de destinació", "DestinationPath": "Camí de destinació",
"DestinationRelativePath": "Camí relatiu de destinació", "DestinationRelativePath": "Camí relatiu de destinació",
"Docker": "Docker", "Docker": "Docker",
@ -430,12 +429,12 @@
"DeleteEmptyFolders": "Suprimeix les carpetes buides", "DeleteEmptyFolders": "Suprimeix les carpetes buides",
"DeleteEmptyFoldersHelpText": "Suprimeix les carpetes de pel·lícules buides durant l'exploració del disc i quan s'esborren els fitxers de pel·lícules", "DeleteEmptyFoldersHelpText": "Suprimeix les carpetes de pel·lícules buides durant l'exploració del disc i quan s'esborren els fitxers de pel·lícules",
"DeleteFile": "Esborrar Arxiu", "DeleteFile": "Esborrar Arxiu",
"DeleteFilesLabel": "Suprimeix {0} fitxers de pel·lícula", "DeleteMovieFiles": "Suprimeix {0} fitxers de pel·lícula",
"DeleteSelectedMovieFiles": "Suprimeix els fitxers de pel·lícules seleccionats", "DeleteSelectedMovieFiles": "Suprimeix els fitxers de pel·lícules seleccionats",
"DeleteIndexer": "Suprimeix l'indexador", "DeleteIndexer": "Suprimeix l'indexador",
"DeleteIndexerMessageText": "Esteu segur que voleu suprimir l'indexador '{name}'?", "DeleteIndexerMessageText": "Esteu segur que voleu suprimir l'indexador '{name}'?",
"DeleteMovieFolderHelpText": "Suprimeix la carpeta de pel·lícules i el seu contingut", "DeleteMovieFolderHelpText": "Suprimeix la carpeta de pel·lícules i el seu contingut",
"DeleteMovieFolderLabel": "Suprimeix la carpeta de pel·lícules", "DeleteMovieFolder": "Suprimeix la carpeta de pel·lícules",
"DeleteNotificationMessageText": "Esteu segur que voleu suprimir la notificació '{name}'?", "DeleteNotificationMessageText": "Esteu segur que voleu suprimir la notificació '{name}'?",
"DeleteQualityProfile": "Suprimeix el perfil de qualitat", "DeleteQualityProfile": "Suprimeix el perfil de qualitat",
"DeleteRestriction": "Suprimeix la restricció", "DeleteRestriction": "Suprimeix la restricció",
@ -832,7 +831,7 @@
"ShowTitleHelpText": "Mostra el títol de la pel·lícula sota el cartell", "ShowTitleHelpText": "Mostra el títol de la pel·lícula sota el cartell",
"ShowUnknownMovieItems": "Mostra elements de pel·lícula desconeguda", "ShowUnknownMovieItems": "Mostra elements de pel·lícula desconeguda",
"ShowYear": "Mostra any", "ShowYear": "Mostra any",
"Shutdown": "Tanca", "Shutdown": "Apaga",
"Size": "Mida", "Size": "Mida",
"SizeLimit": "Límit de mida", "SizeLimit": "Límit de mida",
"SkipFreeSpaceCheck": "Omet la comprovació d'espai lliure", "SkipFreeSpaceCheck": "Omet la comprovació d'espai lliure",
@ -1341,5 +1340,37 @@
"AutoTaggingSpecificationTag": "Etiqueta", "AutoTaggingSpecificationTag": "Etiqueta",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Ubicació opcional per a les baixades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de Transmission", "DownloadClientTransmissionSettingsDirectoryHelpText": "Ubicació opcional per a les baixades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de Transmission",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Ubicació opcional de les baixades completades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de rTorrent", "DownloadClientRTorrentSettingsDirectoryHelpText": "Ubicació opcional de les baixades completades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de rTorrent",
"DownloadClientSettingsUrlBaseHelpText": "Afegeix un prefix a l'URL {clientName}, com ara {url}" "DownloadClientSettingsUrlBaseHelpText": "Afegeix un prefix a l'URL {clientName}, com ara {url}",
"IncludeHealthWarnings": "Inclou advertències de salut",
"No": "No",
"DownloadClientQbittorrentValidationQueueingNotEnabled": "La cua no està habilitada",
"DownloadClientSabnzbdValidationEnableDisableDateSorting": "Desactiva l'ordenació per data",
"CutoffUnmetLoadError": "S'ha produït un error en carregar els elements de tall no assolits",
"CutoffUnmetNoItems": "No hi ha elements de tall no assolits",
"External": "Extern",
"Lists": "Llistes",
"RestartLater": "Reinicia més tard",
"Underscore": "Guió baix",
"Example": "Exemple",
"Period": "Període",
"Release": "Llançament",
"Yes": "Si",
"EditReleaseProfile": "Afegeix un perfil de llançament",
"Label": "Etiqueta",
"MustContainHelpText": "El llançament ha de contenir almenys un d'aquests termes (no distingeix entre majúscules i minúscules)",
"MustNotContainHelpText": "La publicació es rebutjarà si conté un o més dels termes (no distingeix entre majúscules i minúscules)",
"HourShorthand": "h",
"Space": "Espai",
"Repack": "Tornat a empaquetar",
"Popular": "Popular",
"Menu": "Menú",
"Recommendation": "Recomanació",
"Recommended": "Recomanat",
"DownloadClientSabnzbdValidationEnableDisableTvSorting": "Desactiva l'ordenació per data",
"DownloadClientSabnzbdValidationEnableDisableMovieSorting": "Desactiva l'ordenació per data",
"DownloadClientSettingsRecentPriority": "Prioritat del client",
"MovieIsNotMonitored": "La pel·lícula està monitorada",
"DownloadClientDownloadStationValidationFolderMissing": "El fitxer no existeix",
"IndexerSettingsMultiLanguageRelease": "Multi-idioma",
"ReleaseGroups": "Grup de llançament"
} }

View File

@ -41,7 +41,7 @@
"UpgradeUntilCustomFormatScoreMovieHelpText": "Jakmile je dosaženo tohoto skóre vlastního formátu, {appName} již nebude stahovat filmy", "UpgradeUntilCustomFormatScoreMovieHelpText": "Jakmile je dosaženo tohoto skóre vlastního formátu, {appName} již nebude stahovat filmy",
"DeleteEmptyFolders": "Odstraňte prázdné složky", "DeleteEmptyFolders": "Odstraňte prázdné složky",
"DeleteEmptyFoldersHelpText": "Během skenování disku a při mazání filmových souborů odstraňte prázdné složky s filmy", "DeleteEmptyFoldersHelpText": "Během skenování disku a při mazání filmových souborů odstraňte prázdné složky s filmy",
"DeleteFilesLabel": "Smažte {0} filmové soubory", "DeleteMovieFiles": "Smažte {0} filmové soubory",
"DeleteNotificationMessageText": "Opravdu chcete smazat oznámení '{name}'?", "DeleteNotificationMessageText": "Opravdu chcete smazat oznámení '{name}'?",
"DeleteRestrictionHelpText": "Opravdu chcete toto omezení smazat?", "DeleteRestrictionHelpText": "Opravdu chcete toto omezení smazat?",
"DeleteTagMessageText": "Opravdu chcete smazat značku „{0}“?", "DeleteTagMessageText": "Opravdu chcete smazat značku „{0}“?",
@ -190,7 +190,7 @@
"DeleteBackup": "Odstranit zálohu", "DeleteBackup": "Odstranit zálohu",
"DeleteCustomFormat": "Odstranit vlastní formát", "DeleteCustomFormat": "Odstranit vlastní formát",
"DeletedMsg": "Film byl odstraněn z TMDb", "DeletedMsg": "Film byl odstraněn z TMDb",
"DeleteMovieFolderLabel": "Odstranit složku filmu", "DeleteMovieFolder": "Odstranit složku filmu",
"DockerUpdater": "aktualizujte kontejner dockeru, abyste aktualizaci obdrželi", "DockerUpdater": "aktualizujte kontejner dockeru, abyste aktualizaci obdrželi",
"AddToDownloadQueue": "Přidat stahování do fronty", "AddToDownloadQueue": "Přidat stahování do fronty",
"AfterManualRefresh": "Po manuálním obnovení", "AfterManualRefresh": "Po manuálním obnovení",
@ -511,7 +511,7 @@
"DeleteDelayProfile": "Smazat profil zpoždění", "DeleteDelayProfile": "Smazat profil zpoždění",
"DeleteDownloadClientMessageText": "Opravdu chcete odstranit klienta pro stahování '{name}'?", "DeleteDownloadClientMessageText": "Opravdu chcete odstranit klienta pro stahování '{name}'?",
"DeleteFile": "Smazat soubor", "DeleteFile": "Smazat soubor",
"DeleteFilesHelpText": "Odstraňte soubory filmu a složku filmu", "DeleteMovieFilesHelpText": "Odstraňte soubory filmu a složku filmu",
"DeleteHeader": "Smazat - {0}", "DeleteHeader": "Smazat - {0}",
"DeleteImportListExclusion": "Odstranit vyloučení seznamu importů", "DeleteImportListExclusion": "Odstranit vyloučení seznamu importů",
"DeleteIndexer": "Odstranit indexer", "DeleteIndexer": "Odstranit indexer",
@ -523,7 +523,7 @@
"DeleteRestriction": "Odstranit omezení", "DeleteRestriction": "Odstranit omezení",
"DeleteSelectedMovie": "Odstranit vybrané filmy", "DeleteSelectedMovie": "Odstranit vybrané filmy",
"DeleteSelectedMovieFiles": "Odstranit vybrané filmové soubory", "DeleteSelectedMovieFiles": "Odstranit vybrané filmové soubory",
"DeleteTheMovieFolder": "Složka filmu „{0}“ a veškerý její obsah budou smazány.", "DeleteMovieFolderConfirmation": "Složka filmu „{0}“ a veškerý její obsah budou smazány.",
"DestinationPath": "Cesta k cíli", "DestinationPath": "Cesta k cíli",
"DestinationRelativePath": "Relativní cesta k cíli", "DestinationRelativePath": "Relativní cesta k cíli",
"Details": "Detaily", "Details": "Detaily",
@ -959,7 +959,6 @@
"More": "Více", "More": "Více",
"Download": "Stažení", "Download": "Stažení",
"DownloadClientCheckDownloadingToRoot": "Stahovací klient {downloadClientName} umístí stažené soubory do kořenové složky {path}. Neměli byste stahovat do kořenové složky.", "DownloadClientCheckDownloadingToRoot": "Stahovací klient {downloadClientName} umístí stažené soubory do kořenové složky {path}. Neměli byste stahovat do kořenové složky.",
"DeleteFileLabel": "Smažte {0} filmové soubory",
"Blocklist": "Blocklist", "Blocklist": "Blocklist",
"BlocklistRelease": "Blocklist pro vydání", "BlocklistRelease": "Blocklist pro vydání",
"RemoveFromBlocklist": "Odebrat z černé listiny", "RemoveFromBlocklist": "Odebrat z černé listiny",
@ -1111,5 +1110,67 @@
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Automaticky vyhledat a pokusit se o stažení jiného vydání, pokud bylo neúspěšné vydání zachyceno z interaktivního vyhledávání", "AutoRedownloadFailedFromInteractiveSearchHelpText": "Automaticky vyhledat a pokusit se o stažení jiného vydání, pokud bylo neúspěšné vydání zachyceno z interaktivního vyhledávání",
"DeleteSelectedImportLists": "Smazat seznam k importu", "DeleteSelectedImportLists": "Smazat seznam k importu",
"DeleteSelectedImportListsMessageText": "Opravdu chcete smazat {count} vybraných seznamů k importu?", "DeleteSelectedImportListsMessageText": "Opravdu chcete smazat {count} vybraných seznamů k importu?",
"AddRootFolderError": "Nepodařilo se přidat kořenový adresář" "AddRootFolderError": "Nepodařilo se přidat kořenový adresář",
"AutoTaggingSpecificationTag": "Značka",
"RestartLater": "Restartuji později",
"UnableToLoadCollections": "Nelze načíst sbírky",
"Directory": "Adresář",
"TablePageSizeHelpText": "Počet položek, které se mají zobrazit na každé stránce",
"SelectDropdown": "'Vybrat...",
"IMDbId": "ID TMDb",
"Label": "Etiketa",
"MovieIsNotMonitored": "Film není sledován",
"Clone": "Klonovat",
"Dash": "Pomlčka",
"InteractiveImportLoadError": "Nelze načíst položky ručního importu",
"Lists": "Seznamy",
"MustContainHelpText": "Vydání musí obsahovat alespoň jeden z těchto výrazů (nerozlišují se malá a velká písmena)",
"QueueLoadError": "Načtení fronty se nezdařilo",
"Yes": "Ano",
"MoveAutomatically": "Rychlý import",
"GrabId": "Chyť ID",
"MovieFileDeleted": "Při mazání filmových souborů",
"HistoryLoadError": "Nelze načíst historii",
"QualitiesLoadError": "Nelze načíst kvality",
"TablePageSize": "Velikost stránky",
"NotificationStatusSingleClientHealthCheckMessage": "Seznamy nejsou k dispozici z důvodu selhání: {notificationNames}",
"RemoveQueueItemConfirmation": "Opravdu chcete odebrat {0} položku {1} z fronty?",
"InteractiveSearchModalHeader": "Interaktivní vyhledávání",
"RemoveSelectedBlocklistMessageText": "Opravdu chcete odebrat vybrané položky z černé listiny?",
"PreferredProtocol": "Preferovaný protokol",
"ReleaseProfilesLoadError": "Nelze načíst profily zpoždění",
"ShowUnknownMovieItemsHelpText": "Zobrazit položky bez filmu ve frontě. To by mohlo zahrnovat odstraněné filmy nebo cokoli jiného v kategorii {appName}",
"RetryingDownloadOn": "Opakované stahování {0} v {1}",
"IncludeHealthWarnings": "Zahrnout zdravotní varování",
"IndexerSettingsMultiLanguageRelease": "Vícejazyčný",
"Theme": "Motiv",
"AddListExclusion": "Přidat vyloučení seznamu",
"AutoTaggingLoadError": "Nepodařilo se načíst automatické značky",
"DownloadClientSettingsRecentPriority": "Priorita klienta",
"No": "Ne",
"ReleaseProfiles": "profil vydání",
"MovieSearchResultsLoadError": "Nelze načíst výsledky pro toto hledání filmu. Zkuste to později",
"NotificationsSimplepushSettingsEvent": "Událost",
"CustomFilter": "Vlastní filtry",
"DelayMinutes": "{delay} Minuty",
"DelayProfileMovieTagsHelpText": "Platí pro filmy s alespoň jednou shodnou značkou",
"EditReleaseProfile": "Přidat profil vydání",
"MustNotContainHelpText": "Vydání bude odmítnuto, pokud obsahuje jeden nebo více výrazů (nerozlišují se malá a velká písmena)",
"NotificationStatusAllClientHealthCheckMessage": "Všechny seznamy nejsou k dispozici z důvodu selhání",
"OrganizeLoadError": "Chyba při načítání náhledů",
"Release": "Uvolněno",
"SearchOnAddCollectionHelpText": "Po přidání do {appName}u vyhledejte filmy v tomto seznamu",
"DeleteSpecification": "Smazat oznámení",
"DeleteSpecificationHelpText": "Opravdu chcete smazat oznámení '{name}'?",
"ChownGroup": "Skupina chown",
"AddAutoTagError": "Nepodařilo se přidat novou automatickou značku, zkuste to prosím znovu.",
"AddDelayProfileError": "Nelze přidat nový kvalitní profil, zkuste to znovu.",
"DeleteReleaseProfile": "Odstranění profilu zpoždění",
"DeleteReleaseProfileMessageText": "Opravdu chcete smazat profil metadat '{name}'?",
"ConditionUsingRegularExpressions": "Tato podmínka odpovídá regulárním výrazům. Všimněte si, že znaky `\\^$.|?*+()[{` mají speciální význam a je třeba je negovat pomocí `\\`",
"OrganizeNothingToRename": "Úspěch! Moje práce je hotová, žádné soubory k přejmenování.",
"ReleaseGroups": "Uvolňovací skupina",
"IndexerTagMovieHelpText": "Tohoto klienta pro stahování používat pouze pro filmy s alespoň jednou odpovídající značkou. Pro použití se všemi filmy ponechte prázdné pole.",
"DelayProfileProtocol": "Protokol: {preferredProtocol}",
"AddReleaseProfile": "Přidat profil vydání"
} }

View File

@ -239,7 +239,7 @@
"DeleteBackup": "Slet sikkerhedskopi", "DeleteBackup": "Slet sikkerhedskopi",
"DeleteCustomFormat": "Slet brugerdefineret format", "DeleteCustomFormat": "Slet brugerdefineret format",
"DeletedMsg": "Filmen blev slettet fra TMDb", "DeletedMsg": "Filmen blev slettet fra TMDb",
"DeleteMovieFolderLabel": "Slet filmmappe", "DeleteMovieFolder": "Slet filmmappe",
"DockerUpdater": "opdater docker-containeren for at modtage opdateringen", "DockerUpdater": "opdater docker-containeren for at modtage opdateringen",
"EditGroups": "Rediger grupper", "EditGroups": "Rediger grupper",
"Enabled": "Aktiveret", "Enabled": "Aktiveret",
@ -413,7 +413,7 @@
"SupportedListsMovie": "{appName} understøtter alle RSS-filmlister såvel som nedenstående.", "SupportedListsMovie": "{appName} understøtter alle RSS-filmlister såvel som nedenstående.",
"AlreadyInYourLibrary": "Allerede i dit bibliotek", "AlreadyInYourLibrary": "Allerede i dit bibliotek",
"RecyclingBinCleanupHelpTextWarning": "Filer i papirkurven, der er ældre end det valgte antal dage, renses automatisk", "RecyclingBinCleanupHelpTextWarning": "Filer i papirkurven, der er ældre end det valgte antal dage, renses automatisk",
"AddImportListExclusion": "Tilføj ekskludering af liste", "AddImportListExclusion": "Tilføj ekslusion til importeringslisten",
"AddingTag": "Tilføjer tag", "AddingTag": "Tilføjer tag",
"AgeWhenGrabbed": "Alder (når grebet)", "AgeWhenGrabbed": "Alder (når grebet)",
"RefreshAndScan": "Opdater & Scan", "RefreshAndScan": "Opdater & Scan",
@ -499,8 +499,8 @@
"DeleteDownloadClientMessageText": "Er du sikker på, at du vil slette downloadklienten '{0}'?", "DeleteDownloadClientMessageText": "Er du sikker på, at du vil slette downloadklienten '{0}'?",
"DeleteEmptyFolders": "Slet tomme mapper", "DeleteEmptyFolders": "Slet tomme mapper",
"DeleteEmptyFoldersHelpText": "Slet tomme filmmapper under diskscanning, og når filmfiler slettes", "DeleteEmptyFoldersHelpText": "Slet tomme filmmapper under diskscanning, og når filmfiler slettes",
"DeleteFilesHelpText": "Slet filmfilerne og filmmappen", "DeleteMovieFilesHelpText": "Slet filmfilerne og filmmappen",
"DeleteFilesLabel": "Slet {0} filmfiler", "DeleteMovieFiles": "Slet {0} filmfiler",
"DeleteHeader": "Slet - {0}", "DeleteHeader": "Slet - {0}",
"DeleteImportListExclusion": "Slet udelukkelse af importliste", "DeleteImportListExclusion": "Slet udelukkelse af importliste",
"DeleteIndexer": "Slet Indexer", "DeleteIndexer": "Slet Indexer",
@ -513,7 +513,7 @@
"DeleteSelectedMovie": "Slet valgte film", "DeleteSelectedMovie": "Slet valgte film",
"DeleteSelectedMovieFiles": "Slet valgte filmfiler", "DeleteSelectedMovieFiles": "Slet valgte filmfiler",
"DeleteTagMessageText": "Er du sikker på, at du vil slette tagget '{0}'?", "DeleteTagMessageText": "Er du sikker på, at du vil slette tagget '{0}'?",
"DeleteTheMovieFolder": "Filmmappen '{0}' og alt dens indhold slettes.", "DeleteMovieFolderConfirmation": "Filmmappen '{0}' og alt dens indhold slettes.",
"DestinationPath": "Destinationssti", "DestinationPath": "Destinationssti",
"DestinationRelativePath": "Destinationsrelateret sti", "DestinationRelativePath": "Destinationsrelateret sti",
"DetailedProgressBar": "Detaljeret statuslinje", "DetailedProgressBar": "Detaljeret statuslinje",
@ -865,7 +865,7 @@
"UiSettingsSummary": "Indstillinger for kalender, dato og farve", "UiSettingsSummary": "Indstillinger for kalender, dato og farve",
"AddConditionError": "Kan ikke tilføje en ny betingelse, prøv igen.", "AddConditionError": "Kan ikke tilføje en ny betingelse, prøv igen.",
"AddCustomFormatError": "Kunne ikke tilføje et nyt tilpasset format, prøv igen.", "AddCustomFormatError": "Kunne ikke tilføje et nyt tilpasset format, prøv igen.",
"AddDownloadClientError": "Kunne ikke tilføje en ny downloadklient. Prøv igen.", "AddDownloadClientError": "Ikke muligt at tilføje en ny downloadklient. Prøv venligst igen.",
"AddIndexerError": "Kunne ikke tilføje en ny indekser. Prøv igen.", "AddIndexerError": "Kunne ikke tilføje en ny indekser. Prøv igen.",
"AddImportListExclusionError": "Kunne ikke tilføje en ny listeekskludering. Prøv igen.", "AddImportListExclusionError": "Kunne ikke tilføje en ny listeekskludering. Prøv igen.",
"AddListError": "Kan ikke tilføje en ny liste, prøv igen.", "AddListError": "Kan ikke tilføje en ny liste, prøv igen.",
@ -959,7 +959,6 @@
"More": "Mere", "More": "Mere",
"Download": "Hent", "Download": "Hent",
"DownloadClientCheckDownloadingToRoot": "Download klient {downloadClientName} placerer downloads i rodmappen {path}. Du skal ikke downloade til en rodmappe.", "DownloadClientCheckDownloadingToRoot": "Download klient {downloadClientName} placerer downloads i rodmappen {path}. Du skal ikke downloade til en rodmappe.",
"DeleteFileLabel": "Slet {0} filmfiler",
"Blocklist": "Blacklist", "Blocklist": "Blacklist",
"BlocklistRelease": "Udgivelse af sortliste", "BlocklistRelease": "Udgivelse af sortliste",
"RemoveFromBlocklist": "Fjern fra sortlisten", "RemoveFromBlocklist": "Fjern fra sortlisten",
@ -1005,5 +1004,82 @@
"AllTitles": "All titler", "AllTitles": "All titler",
"TablePageSize": "Sidestørrelse", "TablePageSize": "Sidestørrelse",
"AddRootFolderError": "Kunne ikke tilføje rodmappe", "AddRootFolderError": "Kunne ikke tilføje rodmappe",
"Unknown": "Ukendt" "Unknown": "Ukendt",
"DisabledForLocalAddresses": "Deaktiveret for lokale adresser",
"TablePageSizeHelpText": "Antal elementer, der skal vises på hver side",
"DownloadClientsLoadError": "Kunne ikke indlæse downloadklienter",
"NotificationStatusSingleClientHealthCheckMessage": "Lister utilgængelige på grund af fejl: {notificationNames}",
"NotificationsSimplepushSettingsEvent": "Begivenhed",
"RemoveQueueItemConfirmation": "Er du sikker på, at du vil fjerne {0} element {1} fra køen?",
"AutoRedownloadFailed": "Download fejlede",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Minimum tilpasset format score",
"EditImportListImplementation": "Tilføj importliste - {implementationName}",
"FormatAgeMinute": "Protokoller",
"InteractiveImportLoadError": "Kunne ikke indlæse manuelle importvarer",
"ConditionUsingRegularExpressions": "Denne betingelse stemmer overens med brug af regulære udtryk. Bemærk, at tegnene {0} har en særlig betydning og skal undslippe med en {1}",
"ConnectionLostReconnect": "Radarr vil prøve at tilslutte automatisk, eller du kan klikke genindlæs forneden.",
"DeleteSpecification": "Slet underretning",
"DeleteSpecificationHelpText": "Er du sikker på, at du vil slette kvalitetsprofilen {0}",
"DeletedReasonUpgrade": "Filen blev slettet for at importere en opgradering",
"Directory": "Mappe",
"Lists": "Lister",
"No": "Ingen",
"PreferredProtocol": "Foretrukken protokol",
"RestartLater": "Jeg genstarter senere",
"SelectDropdown": "'Vælg...",
"AddIndexerImplementation": "Tilføj betingelse - {implementationName}",
"EditDownloadClientImplementation": "Tilføj downloadklient - {implementationName}",
"DelayingDownloadUntil": "Forsinker download indtil {0} kl. {1}",
"AddAutoTag": "Tilføj automatisk Tag",
"DeleteAutoTagHelpText": "Er du sikker på, at du vil slette kvalitetsprofilen {0}",
"BlocklistLoadError": "Kunne ikke indlæse sortliste",
"NotificationStatusAllClientHealthCheckMessage": "Alle lister er utilgængelige på grund af fejl",
"InteractiveSearchModalHeader": "Interaktiv søgning",
"RetryingDownloadOn": "Prøver igen at downloade {0} kl. {1}",
"OrganizeLoadError": "Fejl ved indlæsning af forhåndsvisning",
"QueueLoadError": "Kunne kunne ikke indlæses",
"EditIndexerImplementation": "Tilføj betingelse - {implementationName}",
"FormatAgeHours": "Timer",
"IncludeHealthWarnings": "Inkluder sundhedsadvarsler",
"QualitiesLoadError": "Kan ikke indlæse kvaliteter",
"Theme": "Tema",
"AddListExclusion": "Tilføj ekskludering af liste",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Sådan anvendes tags på de valgte film",
"ApplyTagsHelpTextHowToApplyImportLists": "Sådan anvendes tags på de valgte film",
"MustContainHelpText": "Frigivelsen skal indeholde mindst et af disse udtryk (ufølsom)",
"MustNotContainHelpText": "Frigivelsen afvises, hvis den indeholder et eller flere af vilkårene (store og små bogstaver)",
"Yes": "Ja",
"MoveAutomatically": "Hurtig import",
"HistoryLoadError": "Kunne ikke indlæse historikken",
"CustomFilter": "Bruger Tilpassede Filtere",
"ReleaseProfiles": "udgivelsesprofil",
"EditConditionImplementation": "Tilføj forbindelse - {implementationName}",
"GrabId": "Grab ID",
"FormatAgeMinutes": "Protokoller",
"Label": "Etiket",
"RemoveSelectedBlocklistMessageText": "Er du sikker på, at du vil fjerne de valgte emner fra sortlisten?",
"AddAutoTagError": "Kan ikke tilføje en ny liste, prøv igen.",
"Release": "udgivelse",
"DelayProfileMovieTagsHelpText": "Gælder film med mindst et matchende tag",
"OrganizeNothingToRename": "Succes! Mit arbejde er udført, ingen filer at omdøbe.",
"MovieFileDeleted": "Slet på filmfil",
"ApplyTagsHelpTextHowToApplyMovies": "Sådan anvendes tags på de valgte film",
"DownloadClientSettingsRecentPriority": "Kundens prioritet",
"DeleteQualityProfileMessageText": "Er du sikker på, at du vil slette kvalitetsprofilen {0}",
"DeleteSelectedMovieFilesHelpText": "Er du sikker på, at du vil slette de valgte filmfiler?",
"MovieIsNotMonitored": "Film overvåges",
"DeleteReleaseProfile": "Slet forsinkelsesprofil",
"DeleteReleaseProfileMessageText": "Er du sikker på, at du vil slette kvalitetsprofilen {0}",
"DeletedReasonMissingFromDisk": "Whisparr kunne ikke finde filen på disken, så den blev fjernet",
"ReleaseProfilesLoadError": "Kunne ikke indlæse forsinkelsesprofiler",
"SearchOnAddCollectionHelpText": "Søg efter film på denne liste, når du føjes til {appName}",
"EditConnectionImplementation": "Tilføj forbindelse - {implementationName}",
"MovieSearchResultsLoadError": "Kunne ikke indlæse resultater for denne filmsøgning. Prøv igen senere",
"FormatAgeHour": "Timer",
"IndexerSettingsMultiLanguageRelease": "Multi-sprog",
"DeleteImportListMessageText": "Er du sikker på, at du vil slette kvalitetsprofilen {0}",
"ReleaseGroups": "Slip gruppe",
"IMDbId": "TMDb Id",
"AddDelayProfileError": "Kan ikke tilføje en ny forsinkelsesprofil. Prøv venligst igen.",
"ShowUnknownMovieItemsHelpText": "Vis emner uden en film i køen. Dette kan omfatte fjernede film eller andet i {appName}s kategori"
} }

View File

@ -6,7 +6,7 @@
"AddNew": "Neue hinzufügen", "AddNew": "Neue hinzufügen",
"AddNewMessage": "Es ist einfach einen neuen Film hinzuzufügen. Gib einfach den Namen des Filmes ein, den du hinzufügen möchtest", "AddNewMessage": "Es ist einfach einen neuen Film hinzuzufügen. Gib einfach den Namen des Filmes ein, den du hinzufügen möchtest",
"AddNewTmdbIdMessage": "Du kannst auch mit der TMDb-ID eines Films suchen. Z.B. 'tmdb:71663'", "AddNewTmdbIdMessage": "Du kannst auch mit der TMDb-ID eines Films suchen. Z.B. 'tmdb:71663'",
"Agenda": "Tagesordnung", "Agenda": "Agenda",
"All": "Alle", "All": "Alle",
"Analytics": "Analysen", "Analytics": "Analysen",
"AppDataLocationHealthCheckMessage": "Ein Update ist nicht möglich, um das Löschen von AppData beim Update zu verhindern", "AppDataLocationHealthCheckMessage": "Ein Update ist nicht möglich, um das Löschen von AppData beim Update zu verhindern",
@ -190,7 +190,7 @@
"DigitalRelease": "VÖ Digital", "DigitalRelease": "VÖ Digital",
"Details": "Einzelheiten", "Details": "Einzelheiten",
"Deleted": "Gelöscht", "Deleted": "Gelöscht",
"CutoffUnmet": " Schwelle nicht erreicht", "CutoffUnmet": "Schwelle nicht erreicht",
"CustomFormatsSettingsSummary": "Eigene Formate und Einstellungen", "CustomFormatsSettingsSummary": "Eigene Formate und Einstellungen",
"ConnectSettingsSummary": "Benachrichtigungen, Verbindungen zu Medienservern/-playern und benutzerdefinierte Skripte", "ConnectSettingsSummary": "Benachrichtigungen, Verbindungen zu Medienservern/-playern und benutzerdefinierte Skripte",
"Collection": "Sammlung", "Collection": "Sammlung",
@ -298,7 +298,7 @@
"WhitelistedHardcodedSubsHelpText": "Hier gesetzte Untertitel Tags werden nciht als hartcodiert erachtet", "WhitelistedHardcodedSubsHelpText": "Hier gesetzte Untertitel Tags werden nciht als hartcodiert erachtet",
"EnableAutomaticAddMovieHelpText": "Wenn aktiviert werden Filme dieser Liste automatisch hinzugefügt", "EnableAutomaticAddMovieHelpText": "Wenn aktiviert werden Filme dieser Liste automatisch hinzugefügt",
"AddListExclusionMovieHelpText": "Automatisches ( wieder- ) hinzufügen zu {appName} durch Listen verhindern", "AddListExclusionMovieHelpText": "Automatisches ( wieder- ) hinzufügen zu {appName} durch Listen verhindern",
"AgeWhenGrabbed": "Alter (zum Zeitpunkt der Entführung)", "AgeWhenGrabbed": "Alter (bei Erfassung)",
"AllowHardcodedSubs": "Hartcodierte Untertitel erlauben", "AllowHardcodedSubs": "Hartcodierte Untertitel erlauben",
"AlreadyInYourLibrary": "Bereits in Ihrer Bibliothek", "AlreadyInYourLibrary": "Bereits in Ihrer Bibliothek",
"AnalyseVideoFiles": "Video Dateien analysieren", "AnalyseVideoFiles": "Video Dateien analysieren",
@ -649,7 +649,7 @@
"GeneralSettingsLoadError": "Allgemeine Einstellungen konnten nicht geladen werden", "GeneralSettingsLoadError": "Allgemeine Einstellungen konnten nicht geladen werden",
"DownloadClientOptionsLoadError": "Downloader Einstellungen konnten nicht geladen werden", "DownloadClientOptionsLoadError": "Downloader Einstellungen konnten nicht geladen werden",
"BackupsLoadError": "Sicherrungen können nicht geladen werden", "BackupsLoadError": "Sicherrungen können nicht geladen werden",
"AddRemotePathMappingError": "Die neue entfernte Pfadzuordnung konnte nicht hinzugefügt werden, bitte erneut probieren.", "AddRemotePathMappingError": "Es konnte keine neue Remote-Pfadzuordnung hinzugefügt werden. Bitte versuchen Sie es erneut.",
"AddQualityProfileError": "Das neue Qualitätsprofil konnte nicht hinzugefügt werden, bitte erneut probieren.", "AddQualityProfileError": "Das neue Qualitätsprofil konnte nicht hinzugefügt werden, bitte erneut probieren.",
"AddNotificationError": "Die neue Benachrichtigung konnte nicht hinzugefügt werden, bitte erneut probieren.", "AddNotificationError": "Die neue Benachrichtigung konnte nicht hinzugefügt werden, bitte erneut probieren.",
"AddListError": "Die neue Liste konnte nicht hinzugefügt werden, bitte erneut probieren.", "AddListError": "Die neue Liste konnte nicht hinzugefügt werden, bitte erneut probieren.",
@ -660,7 +660,7 @@
"AddConditionError": "Die neue Bedingung konnte nicht hinzugefügt werden, bitte erneut probieren.", "AddConditionError": "Die neue Bedingung konnte nicht hinzugefügt werden, bitte erneut probieren.",
"StartTypingOrSelectAPathBelow": "Eingeben oder unten auswählen", "StartTypingOrSelectAPathBelow": "Eingeben oder unten auswählen",
"Restore": "Wiederherstellen", "Restore": "Wiederherstellen",
"RegularExpressionsCanBeTested": "Reguläre Ausdrücke können getestet werden ", "RegularExpressionsCanBeTested": "Reguläre Ausdrücke können [hier](http://regexstorm.net/tester) getestet werden.",
"SupportedCustomConditions": "Benutzerdefinierte Bedingungen gegen die unten aufgeführten Release-Eigenschaften werden unterstützt.", "SupportedCustomConditions": "Benutzerdefinierte Bedingungen gegen die unten aufgeführten Release-Eigenschaften werden unterstützt.",
"SupportedListsMovie": "RSS Film Listen sowie unten aufgelistete werden untertützt.", "SupportedListsMovie": "RSS Film Listen sowie unten aufgelistete werden untertützt.",
"SupportedIndexers": "Jeder Indexer der den Newznab-Standard verwendet oder unten aufgelistet ist wird untertützt.", "SupportedIndexers": "Jeder Indexer der den Newznab-Standard verwendet oder unten aufgelistet ist wird untertützt.",
@ -695,7 +695,7 @@
"ErrorLoadingContents": "Fehler beim laden der Inhalte", "ErrorLoadingContents": "Fehler beim laden der Inhalte",
"DownloadedButNotMonitored": "Heruntergeladen (unbeobachtet)", "DownloadedButNotMonitored": "Heruntergeladen (unbeobachtet)",
"DownloadedAndMonitored": "Heruntergeladen (beobachtet)", "DownloadedAndMonitored": "Heruntergeladen (beobachtet)",
"CouldNotFindResults": "Es konnten keine Ergebnisse für „{term}“ gefunden werden.", "CouldNotFindResults": "Es konnten keine Ergebnisse für „{term}“ gefunden werden",
"CantFindMovie": "Warum kann der Film nicht gefunden werden?", "CantFindMovie": "Warum kann der Film nicht gefunden werden?",
"ApplyTagsHelpTextHowToApplyMovies": "Wie werden Tags zu ausgewählten Filmen zugeteilt", "ApplyTagsHelpTextHowToApplyMovies": "Wie werden Tags zu ausgewählten Filmen zugeteilt",
"BrowserReloadRequired": "Webseite muss neu geladen werden", "BrowserReloadRequired": "Webseite muss neu geladen werden",
@ -705,7 +705,7 @@
"MovieInfoLanguage": "Filminfo Sprache", "MovieInfoLanguage": "Filminfo Sprache",
"ImportCustomFormat": "Eigenes Format importieren", "ImportCustomFormat": "Eigenes Format importieren",
"ExportCustomFormat": "Eigenes Format exportieren", "ExportCustomFormat": "Eigenes Format exportieren",
"CustomFormatUnknownConditionOption": "Unbekannte Option '{0}' für die Bedingung '{1}'", "CustomFormatUnknownConditionOption": "Unbekannte Option '{key}' für die Bedingung '{implementation}'",
"DownloadPropersAndRepacksHelpTextCustomFormat": "Benutze 'Nicht bevorzugen' um den eigene Formate Score über Proper oder Repacks zu sortieren", "DownloadPropersAndRepacksHelpTextCustomFormat": "Benutze 'Nicht bevorzugen' um den eigene Formate Score über Proper oder Repacks zu sortieren",
"DownloadPropersAndRepacksHelpTextWarning": "Benutze eigene Formate um automatisch auf Proper oder Repack releases zu upgraden", "DownloadPropersAndRepacksHelpTextWarning": "Benutze eigene Formate um automatisch auf Proper oder Repack releases zu upgraden",
"DownloadPropersAndRepacksHelpText": "Automatisch Proper oder Repacks zum upgraden eines Filmes zulassen", "DownloadPropersAndRepacksHelpText": "Automatisch Proper oder Repacks zum upgraden eines Filmes zulassen",
@ -897,13 +897,13 @@
"Donations": "Spenden", "Donations": "Spenden",
"DockerUpdater": "aktualisiere den Docker Container um das Update zu erhalten", "DockerUpdater": "aktualisiere den Docker Container um das Update zu erhalten",
"Discord": "Discord", "Discord": "Discord",
"DeleteTheMovieFolder": "Der Filmordner und dessen Inhalt wird gelöscht.", "DeleteMovieFolderConfirmation": "Der Filmordner und dessen Inhalt wird gelöscht.",
"DeleteSelectedMovie": "Lösche ausgewählte Film/e", "DeleteSelectedMovie": "Lösche ausgewählte Film/e",
"DeleteMovieFolderLabel": "Filmordner löschen", "DeleteMovieFolder": "Filmordner löschen",
"DeleteMovieFolderHelpText": "Lösche den Filmordner mitsamt Inhalt", "DeleteMovieFolderHelpText": "Lösche den Filmordner mitsamt Inhalt",
"DeleteHeader": "Löschen - {0}", "DeleteHeader": "Löschen - {0}",
"DeleteFilesLabel": "Lösche {0} Filmdateien", "DeleteMovieFiles": "Lösche {0} Filmdateien",
"DeleteFilesHelpText": "Lösche die Filmdateien und den Filmordner", "DeleteMovieFilesHelpText": "Lösche die Filmdateien und den Filmordner",
"DeletedMsg": "Film wurde aus TMDb entfernt", "DeletedMsg": "Film wurde aus TMDb entfernt",
"DefaultDelayProfileMovie": "Dies ist das Standart Profil. Es wird auf alle Filme angewendet die kein expliziertes Profil haben.", "DefaultDelayProfileMovie": "Dies ist das Standart Profil. Es wird auf alle Filme angewendet die kein expliziertes Profil haben.",
"DefaultCase": "Standardfall", "DefaultCase": "Standardfall",
@ -949,7 +949,6 @@
"More": "Mehr", "More": "Mehr",
"Download": "Herunterladen", "Download": "Herunterladen",
"DownloadClientCheckDownloadingToRoot": "Download-Client {downloadClientName} legt Downloads im Stammordner {path} ab. Sie sollten nicht in einen Stammordner herunterladen.", "DownloadClientCheckDownloadingToRoot": "Download-Client {downloadClientName} legt Downloads im Stammordner {path} ab. Sie sollten nicht in einen Stammordner herunterladen.",
"DeleteFileLabel": "Lösche {0} Filmdateien",
"UpdateAvailable": "Neue Version verfügbar", "UpdateAvailable": "Neue Version verfügbar",
"RemotePathMappingCheckFilesLocalWrongOSPath": "Downloader {downloadClientName} meldet Dateien in {path}, aber dies ist kein valider {osName} Pfad. Überprüfe die Downloader Einstellungen.", "RemotePathMappingCheckFilesLocalWrongOSPath": "Downloader {downloadClientName} meldet Dateien in {path}, aber dies ist kein valider {osName} Pfad. Überprüfe die Downloader Einstellungen.",
"RemotePathMappingCheckFilesBadDockerPath": "Docker erkannt; Downloader {downloadClientName} meldet Dateien in {path}, aber dies ist kein valider {osName} Pfad. Überprüfe deine Remote-Pfadzuordnungen und die Downloader Einstellungen.", "RemotePathMappingCheckFilesBadDockerPath": "Docker erkannt; Downloader {downloadClientName} meldet Dateien in {path}, aber dies ist kein valider {osName} Pfad. Überprüfe deine Remote-Pfadzuordnungen und die Downloader Einstellungen.",
@ -1221,5 +1220,235 @@
"BlocklistOnlyHint": "Der Sperrliste hinzufügen, ohne nach Alternative zu suchen", "BlocklistOnlyHint": "Der Sperrliste hinzufügen, ohne nach Alternative zu suchen",
"AddAutoTagError": "Auto-Tag konnte nicht hinzugefügt werden. Bitte erneut versuchen.", "AddAutoTagError": "Auto-Tag konnte nicht hinzugefügt werden. Bitte erneut versuchen.",
"AddDelayProfileError": "Verzögerungsprofil konnte nicht hinzugefügt werden. Bitte erneut versuchen.", "AddDelayProfileError": "Verzögerungsprofil konnte nicht hinzugefügt werden. Bitte erneut versuchen.",
"DeleteReleaseProfile": "Release-Profil löschen" "DeleteReleaseProfile": "Release-Profil löschen",
"Label": "Label",
"BlackholeWatchFolder": "Überwachter Ordner",
"MonitorSelected": "Beobachte ausgewählte",
"DelayMinutes": "{delay} Minuten",
"DownloadClientNzbgetSettingsAddPausedHelpText": "Diese Option erfordert mindestens NzbGet Version 16.0",
"InteractiveImportLoadError": "Einträge für manuelles importieren konnten nicht geladen werden",
"IncludeHealthWarnings": "Zustandswarnung",
"ShowMonitoredHelpText": "Beobachtungsstatus unter dem Plakat anzeigen",
"NotificationsDiscordSettingsAuthor": "Autor",
"Dash": "Bindestrich",
"Donate": "Spenden",
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Optionaler freigegebener Ordner zum Ablegen von Downloads. Lassen Sie das Feld leer, um den Standardspeicherort der Download Station zu verwenden",
"RestartLater": "Ich werde später neu starten",
"DeleteImportListExclusion": "Importlisten Ausschluss löschen",
"AutoTaggingSpecificationTag": "Tag",
"DownloadClientDownloadStationValidationFolderMissing": "Ordner existiert nicht",
"DownloadClientDownloadStationValidationSharedFolderMissing": "Der freigegebene Ordner existiert nicht",
"DownloadClientFloodSettingsPostImportTags": "Post-Import-Tags",
"DownloadClientFreeboxSettingsApiUrl": "API-URL",
"DownloadClientFreeboxSettingsApiUrlHelpText": "Definieren Sie die Freebox-API-Basis-URL mit der API-Version, z. B. „{url}“, standardmäßig ist „{defaultApiUrl}“.",
"DownloadClientNzbVortexMultipleFilesMessage": "Der Download enthält mehrere Dateien und befindet sich nicht in einem Jobordner: {outputPath}",
"DownloadClientQbittorrentSettingsFirstAndLastFirst": "Erster und Letzter Erster",
"DownloadClientQbittorrentSettingsFirstAndLastFirstHelpText": "Laden Sie zuerst das erste und das letzte Stück herunter (qBittorrent 4.1.0+)",
"DownloadClientQbittorrentValidationCategoryAddFailure": "Die Konfiguration der Kategorie ist fehlgeschlagen",
"DownloadClientQbittorrentValidationCategoryUnsupported": "Kategorie wird nicht unterstützt",
"DownloadClientRTorrentProviderMessage": "rTorrent hält Torrents nicht an, wenn sie die Startkriterien erfüllen. {appName} übernimmt die automatische Entfernung von Torrents nur dann basierend auf den aktuellen Seed-Kriterien in Einstellungen->Indexer, wenn „Entfernen abgeschlossen“ aktiviert ist. Nach dem Import wird {importedView} auch als rTorrent-Ansicht festgelegt, die in rTorrent-Skripten zum Anpassen des Verhaltens verwendet werden kann.",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Optionaler Speicherort für Downloads. Lassen Sie das Feld leer, um den standardmäßigen rTorrent-Speicherort zu verwenden",
"DownloadClientRTorrentSettingsUrlPath": "URL-Pfad",
"DownloadClientSabnzbdValidationCheckBeforeDownload": "Deaktivieren Sie die Option „Vor dem Download prüfen“ in Sabnbzd",
"DownloadClientSabnzbdValidationCheckBeforeDownloadDetail": "Die Verwendung von „Vor Download prüfen“ beeinträchtigt die Fähigkeit von {appName}, neue Downloads zu verfolgen. Außerdem empfiehlt Sabnzbd stattdessen „Jobs abbrechen, die nicht abgeschlossen werden können“, da dies effektiver ist.",
"DownloadClientSabnzbdValidationEnableDisableDateSorting": "Deaktivieren Sie die Datumssortierung",
"DownloadClientSabnzbdValidationEnableDisableDateSortingDetail": "Sie müssen die Datumssortierung für die von {appName} verwendete Kategorie deaktivieren, um Importprobleme zu vermeiden. Gehen Sie zu Sabnzbd, um das Problem zu beheben.",
"ListRootFolderHelpText": "Die Elemente im Stammverzeichnis werden hinzugefügt zu",
"RestartRequiredToApplyChanges": "{appName} erfordert einen Neustart, um die Änderungen zu übernehmen. Möchten Sie jetzt neu starten?",
"TagIsNotUsedAndCanBeDeleted": "Tag wird nicht benutzt und kann gelöscht werden",
"NotificationsSimplepushSettingsEvent": "Auslöser",
"Destination": "Ziel",
"DownloadClientDelugeSettingsUrlBaseHelpText": "Fügt der Deluge-JSON-URL ein Präfix hinzu, siehe {url}",
"DownloadClientDelugeValidationLabelPluginFailure": "Konfiguration des Labels fehlgeschlagen",
"DownloadClientDelugeValidationLabelPluginFailureDetail": "{appName} konnte das Label nicht zu {clientName} hinzufügen.",
"DownloadClientDownloadStationValidationApiVersion": "Download Station API-Version wird nicht unterstützt, sollte mindestens {requiredVersion} sein. Es unterstützt von {minVersion} bis {maxVersion}",
"DownloadClientFloodSettingsAddPaused": "Pausiert hinzufügen",
"DownloadClientFloodSettingsAdditionalTags": "Zusätzliche Tags",
"DownloadClientFreeboxSettingsAppId": "App-ID",
"DownloadClientFreeboxSettingsAppToken": "App-Token",
"DownloadClientNzbgetValidationKeepHistoryZeroDetail": "Die NzbGet-Einstellung KeepHistory ist auf 0 gesetzt. Dadurch wird verhindert, dass {appName} abgeschlossene Downloads sieht.",
"DownloadClientPneumaticSettingsStrmFolder": "Strm-Ordner",
"DownloadClientQbittorrentSettingsSequentialOrder": "Fortlaufende Reihenfolge",
"DownloadClientQbittorrentTorrentStateDhtDisabled": "qBittorrent kann den Magnet-Link nicht auflösen, wenn DHT deaktiviert ist",
"HistoryLoadError": "Verlauf konnte nicht geladen werden",
"TorrentBlackholeSaveMagnetFilesExtensionHelpText": "Für Magnet-Links zu verwendende Erweiterung, standardmäßig „.magnet“.",
"TorrentBlackholeSaveMagnetFilesHelpText": "Speichern Sie den Magnet-Link, wenn keine .torrent-Datei verfügbar ist (nur nützlich, wenn der Download-Client in einer Datei gespeicherte Magnete unterstützt)",
"TorrentBlackholeSaveMagnetFilesReadOnly": "Nur lesen",
"TorrentBlackholeTorrentFolder": "Torrent-Ordner",
"UnknownDownloadState": "Unbekannter Download-Status: {state}",
"UseSsl": "SSL verwenden",
"XmlRpcPath": "XML-RPC-Pfad",
"DownloadClientNzbgetValidationKeepHistoryOverMax": "Die NzbGet-Einstellung KeepHistory sollte kleiner als 25000 sein",
"DownloadClientNzbgetValidationKeepHistoryOverMaxDetail": "Die NzbGet-Einstellung KeepHistory ist zu hoch eingestellt.",
"DownloadClientQbittorrentSettingsUseSslHelpText": "Verwenden Sie eine sichere Verbindung. Siehe Optionen -> Web-Benutzeroberfläche -> „HTTPS statt HTTP verwenden“ in qBittorrent.",
"DownloadClientQbittorrentTorrentStateError": "qBittorrent meldet einen Fehler",
"ReleaseProfileIndexerHelpText": "Angabe, welcher Indexer für das Profil gilt",
"UnmonitorSelected": "Ausgewählte nicht mehr beobachten",
"DownloadClient": "Downloader",
"DelayProfileProtocol": "Protokoll: {preferredProtocol}",
"DownloadClientDelugeValidationLabelPluginInactive": "Label-Plugin nicht aktiviert",
"DownloadClientDownloadStationValidationFolderMissingDetail": "Der Ordner „{downloadDir}“ existiert nicht, er muss manuell im freigegebenen Ordner „{sharedFolder}“ erstellt werden.",
"DownloadClientDownloadStationValidationNoDefaultDestination": "Kein Standardziel",
"DownloadClientDownloadStationValidationSharedFolderMissingDetail": "Die Diskstation verfügt nicht über einen freigegebenen Ordner mit dem Namen „{sharedFolder}“. Sind Sie sicher, dass Sie ihn richtig angegeben haben?",
"DownloadClientFloodSettingsStartOnAdd": "Beginnen Sie mit Hinzufügen",
"DownloadClientFloodSettingsTagsHelpText": "Erste Tags eines Downloads. Um erkannt zu werden, muss ein Download über alle Anfangs-Tags verfügen. Dies vermeidet Konflikte mit nicht verwandten Downloads.",
"DownloadClientFreeboxAuthenticationError": "Die Authentifizierung bei der Freebox-API ist fehlgeschlagen. Grund: {errorDescription}",
"DownloadClientFreeboxNotLoggedIn": "Nicht eingeloggt",
"DownloadClientFreeboxSettingsAppIdHelpText": "App-ID, die beim Erstellen des Zugriffs auf die Freebox-API angegeben wird (z. B. „app_id“)",
"DownloadClientFreeboxSettingsAppTokenHelpText": "App-Token, das beim Erstellen des Zugriffs auf die Freebox-API abgerufen wird (z. B. „app_token“)",
"DownloadClientFreeboxSettingsPortHelpText": "Port, der für den Zugriff auf die Freebox-Schnittstelle verwendet wird, standardmäßig ist „{port}“",
"DownloadClientNzbgetValidationKeepHistoryZero": "Die NzbGet-Einstellung KeepHistory sollte größer als 0 sein",
"DownloadClientPneumaticSettingsNzbFolder": "NZB-Ordner",
"DownloadClientPneumaticSettingsNzbFolderHelpText": "Dieser Ordner muss über XBMC erreichbar sein",
"DownloadClientPneumaticSettingsStrmFolderHelpText": ".strm-Dateien in diesem Ordner werden von der Drohne importiert",
"DownloadClientQbittorrentSettingsInitialStateHelpText": "Ausgangszustand für zu qBittorrent hinzugefügte Torrents. Beachten Sie, dass erzwungene Torrents nicht den Seed-Beschränkungen unterliegen",
"DownloadClientQbittorrentSettingsSequentialOrderHelpText": "In sequentieller Reihenfolge herunterladen (qBittorrent 4.1.0+)",
"DownloadClientQbittorrentTorrentStateMetadata": "qBittorrent lädt Metadaten herunter",
"DownloadClientQbittorrentTorrentStateStalled": "Der Download ist ohne Verbindung ins Stocken geraten",
"DownloadClientQbittorrentTorrentStateUnknown": "Unbekannter Download-Status: {state}",
"DownloadClientQbittorrentValidationCategoryAddFailureDetail": "{appName} konnte das Label nicht zu qBittorrent hinzufügen.",
"DownloadClientQbittorrentValidationCategoryRecommended": "Kategorie wird empfohlen",
"DownloadClientQbittorrentValidationCategoryUnsupportedDetail": "Kategorien werden erst ab qBittorrent Version 3.3.0 unterstützt. Bitte führen Sie ein Upgrade durch oder versuchen Sie es erneut mit einer leeren Kategorie.",
"DownloadClientQbittorrentValidationQueueingNotEnabled": "Warteschlangen nicht aktiviert",
"DownloadClientQbittorrentValidationQueueingNotEnabledDetail": "Torrent Warteschlange ist in Ihren qBittorrent-Einstellungen nicht aktiviert. Aktivieren Sie es in qBittorrent oder wählen Sie „Letzte“ als Priorität.",
"DownloadClientQbittorrentValidationRemovesAtRatioLimit": "qBittorrent ist so konfiguriert, dass Torrents entfernt werden, wenn sie ihr Share-Ratio-Limit erreichen",
"DownloadClientQbittorrentValidationRemovesAtRatioLimitDetail": "{appName} kann die Behandlung abgeschlossener Downloads nicht wie konfiguriert durchführen. Sie können dies in qBittorrent beheben („Extras -> Optionen...“ im Menü), indem Sie „Optionen -> BitTorrent -> Freigabeverhältnisbegrenzung“ von „Entfernen“ in „Pause“ ändern.",
"DownloadClientRTorrentSettingsAddStopped": "Hinzufügen gestoppt",
"DownloadClientRTorrentSettingsAddStoppedHelpText": "Durch die Aktivierung werden Torrents und Magnete im gestoppten Zustand zu rTorrent hinzugefügt. Dadurch können Magnetdateien beschädigt werden.",
"DownloadClientRTorrentSettingsUrlPathHelpText": "Pfad zum XMLRPC-Endpunkt, siehe {url}. Dies ist normalerweise RPC2 oder [Pfad zu ruTorrent]{url2}, wenn ruTorrent verwendet wird.",
"DownloadClientSabnzbdValidationDevelopVersion": "Sabnzbd-Entwicklungsversion, vorausgesetzt Version 3.0.0 oder höher.",
"DownloadClientSabnzbdValidationEnableDisableMovieSorting": "Deaktivieren Sie die Filmsortierung",
"DownloadClientSettingsAddPaused": "Pausiert hinzufügen",
"EditIndexerImplementation": "Indexer hinzufügen - {implementationName}",
"Lists": "Listen",
"MustNotContainHelpText": "Ein Release wird abgelehnt, wenn es einen oder mehrere dieser Begriffe enthält (Groß- und Kleinschreibung wird nicht berücksichtigt)",
"RegularExpressionsTutorialLink": "Weitere Details zu regulären Ausdrücken finden Sie [hier](https://www.regular-expressions.info/tutorial.html).",
"Release": "Veröffentlichung",
"Space": "Platz",
"TablePageSize": "Einträge pro Seite",
"TablePageSizeHelpText": "Anzahl der Einträge pro Seite",
"TypeOfList": "{typeOfList} Liste",
"DeleteImportListExclusionMessageText": "Bist du sicher, dass du diesen Importlisten Ausschluss löschen willst?",
"CustomFormatUnknownCondition": "Unbekannte Eigene Formatbedingung '{implementation}'",
"DownloadClientAriaSettingsDirectoryHelpText": "Optionaler Speicherort für Downloads. Lassen Sie das Feld leer, um den standardmäßigen rTorrent-Speicherort zu verwenden",
"FormatAgeDays": "Tage",
"InteractiveSearchModalHeader": "Interaktive Suche",
"OrganizeNothingToRename": "Fertig! Keine weiteren Dateien zum umbennenen.",
"Tags": "Tags",
"RestartRequiredWindowsService": "Je nachdem, welcher Benutzer den {appName}-Dienst ausführt, müssen Sie {appName} möglicherweise einmal als Administrator neu starten, bevor der Dienst automatisch gestartet wird.",
"SecretToken": "Geheimer Token",
"TorrentBlackholeSaveMagnetFiles": "Speicher Magnetdateien",
"TorrentBlackholeSaveMagnetFilesExtension": "Speicher die Magnet-Dateienerweiterung",
"TorrentBlackholeSaveMagnetFilesReadOnlyHelpText": "Anstatt Dateien zu verschieben, wird {appName} dadurch angewiesen, sie zu kopieren oder fest zu verknüpfen (abhängig von den Einstellungen/Systemkonfiguration).",
"WantMoreControlAddACustomFormat": "Möchten Sie mehr Kontrolle darüber haben, welche Downloads bevorzugt werden? Fügen Sie ein [benutzerdefiniertes Format] hinzu (/settings/customformats)",
"ReleaseProfiles": "Veröffentlichungsprofile",
"EditReleaseProfile": "Release Profile bearbeiten",
"EnableProfileHelpText": "Anhaken um Veröffentlichungsprofile zu aktivieren",
"ShowMonitored": "Beobachtete anzeigen",
"RemoveSelectedBlocklistMessageText": "Bist du sicher, dass du die ausgewählten Einträge aus der Sperrliste entfernen willst?",
"OrganizeLoadError": "Fehler beim laden der Vorschauen",
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Der Download-Client {downloadClientName} ist so eingestellt, dass abgeschlossene Downloads entfernt werden. Dies kann dazu führen, dass Downloads von Ihrem Client entfernt werden, bevor {appName} sie importieren kann.",
"EnableProfile": "Profil aktivieren",
"NotificationsGotifySettingsAppToken": "App-Token",
"DeleteReleaseProfileMessageText": "Sind Sie sicher, dass Sie dieses Release-Profil „{name}“ löschen möchten?",
"DeleteSpecification": "Spezifikation löschen",
"DeleteSpecificationHelpText": "Sind Sie sicher, dass Sie die Spezifikation „{name}“ löschen möchten?",
"DownloadClientDownloadStationProviderMessage": "{appName} kann keine Verbindung zur Download Station herstellen, wenn die 2-Faktor-Authentifizierung in Ihrem DSM-Konto aktiviert ist",
"DownloadClientFloodSettingsPostImportTagsHelpText": "Fügt Tags hinzu, nachdem ein Download importiert wurde.",
"DownloadClientFreeboxApiError": "Freebox-API hat Fehler zurückgegeben: {errorDescription}",
"DownloadClientFreeboxSettingsHostHelpText": "Hostname oder Host-IP-Adresse der Freebox, standardmäßig „{url}“ (funktioniert nur im selben Netzwerk)",
"MustContainHelpText": "Das Release mus mindesten eines der Begriffe beinhalten ( Groß-/Kleinschreibung wird nicht beachtet )",
"UsenetBlackholeNzbFolder": "NZB-Ordner",
"No": "Nein",
"Directory": "Verzeichnis",
"EditDownloadClientImplementation": "Download-Client hinzufügen - {implementationName}",
"DelayProfileMovieTagsHelpText": "Wird auf Filme mit mindestens einem passenden Tag angewandt",
"DownloadClientDelugeTorrentStateError": "Deluge meldet einen Fehler",
"DownloadClientDelugeValidationLabelPluginInactiveDetail": "Um Kategorien verwenden zu können, muss das Label-Plugin in {clientName} aktiviert sein.",
"FormatAgeHours": "Stunden",
"FormatAgeMinutes": "Minuten",
"DownloadClientSabnzbdValidationDevelopVersionDetail": "{appName} ist möglicherweise nicht in der Lage, neue Funktionen, die SABnzbd hinzugefügt wurden, zu unterstützen, wenn Entwicklungsversionen ausgeführt werden.",
"DownloadClientFloodSettingsAdditionalTagsHelpText": "Fügt Eigenschaften von Medien als Tags hinzu. Hinweise sind Beispiele.",
"DownloadClientFloodSettingsUrlBaseHelpText": "Fügt der Flood-API ein Präfix hinzu, z. B. {url}",
"CustomFormatsSpecificationRegularExpression": "Regulären Ausdruck",
"DownloadClientFloodSettingsRemovalInfo": "{appName} übernimmt die automatische Entfernung von Torrents basierend auf den aktuellen Seed-Kriterien in Einstellungen -> Indexer",
"DownloadClientFreeboxUnableToReachFreeboxApi": "Die Freebox-API kann nicht erreicht werden. Überprüfen Sie die Einstellung „API-URL“ für Basis-URL und Version.",
"DownloadClientQbittorrentValidationCategoryRecommendedDetail": "{appName} wird nicht versuchen, abgeschlossene Downloads ohne Kategorie zu importieren.",
"GrabId": "Erfass ID",
"ConditionUsingRegularExpressions": "Diese Bedingung entspricht der Verwendung regulärer Ausdrücke. Beachten Sie, dass die Zeichen „\\^$.|?*+()[{“ eine besondere Bedeutung haben und mit einem „\\“ maskiert werden müssen",
"Yes": "Ja",
"Recommendation": "Empfehlung",
"ChangeCategoryHint": "Änderung des Downloads in die 'Post-Import-Kategorie' vom Download-Client",
"IgnoreDownloadHint": "Hält {appName} von der weiteren Verarbeitung dieses Downloads ab",
"IgnoreDownloadsHint": "Hindert {appName}, diese Downloads weiter zu verarbeiten",
"Recommended": "Empfohlen",
"DoNotBlocklist": "Nicht Sperren",
"DoNotBlocklistHint": "Entfernen ohne Sperren",
"DownloadClientSabnzbdValidationEnableDisableTvSorting": "TV-Sortierung deaktivieren",
"DownloadClientSettingsInitialState": "Ausgangszustand",
"DownloadClientSettingsInitialStateHelpText": "Anfangszustand für zu {clientName} hinzugefügte Torrents",
"DownloadClientSettingsUrlBaseHelpText": "Fügt ein Präfix zur {clientName} Url hinzu, z.B. {url}",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Optionaler Speicherort für Downloads; leer lassen, um den Standardspeicherort für Übertragungen zu verwenden",
"DownloadClientValidationApiKeyRequired": "API-Key benötigt",
"DownloadClientValidationAuthenticationFailure": "Authentifizierung fehlgeschlagen",
"DownloadClientValidationErrorVersion": "{clientName} Version sollte mindestens {requiredVersion} sein. Die gemeldete Version ist {reportedVersion}",
"IndexerDownloadClientHealthCheckMessage": "Indexer mit ungültigen Downloader: {0}.",
"CustomFormatsSpecificationFlag": "Markierung",
"CustomFormatsSpecificationRegularExpressionHelpText": "Benutzerdefiniertes Format RegEx ist nicht groß-/kleinschreibungssensitiv",
"DownloadClientSabnzbdValidationUnknownVersion": "Unbekannte Version: {rawVersion}",
"DownloadClientSettingsCategoryHelpText": "Das Hinzufügen einer spezifischen Kategorie für {appName} vermeidet Konflikte mit nicht verwandten Downloads, die nicht {appName} sind. Die Verwendung einer Kategorie ist optional, wird aber dringend empfohlen.",
"DownloadClientSettingsOlderPriority": "Ältere Priorität",
"DownloadClientSettingsPostImportCategoryHelpText": "Kategorie für {appName}, die nach dem Importieren des Downloads festgelegt wird. {appName} wird Torrents in dieser Kategorie nicht entfernen, auch wenn das Seeding beendet ist. Leer lassen, um dieselbe Kategorie beizubehalten.",
"DownloadClientValidationCategoryMissing": "Kategorie existiert nicht",
"DownloadClientValidationGroupMissing": "Gruppe existiert nicht",
"DownloadClientValidationSslConnectFailure": "Verbindung über SSL nicht möglich",
"ReleaseProfilesLoadError": "Release-Profile können nicht geladen werden",
"DownloadClientPriorityHelpText": "Download-Client-Priorität von 1 (Höchste) bis 50 (Niedrigste). Standard: 1. Round-Robin wird für Clients mit der gleichen Priorität verwendet.",
"DownloadClientUTorrentTorrentStateError": "uTorrent meldet einen Fehler",
"DownloadClientValidationApiKeyIncorrect": "API-Key fehlerhaft",
"DownloadClientValidationGroupMissingDetail": "Die von Ihnen eingegebene Gruppe existiert nicht in {clientName}. Erstellen Sie sie zuerst in {clientName}.",
"ReleaseHash": "Release Hash",
"CutoffNotMet": "Grenzwert nicht erreicht",
"CustomFilter": "Benutzerdefinierter Filter",
"ReleaseGroups": "Release Gruppen",
"CustomFormatsSettingsTriggerInfo": "Ein Eigenes Format wird auf eine Veröffentlichung oder Datei angewandt, wenn sie mindestens einer der verschiedenen ausgewählten Bedingungen entspricht.",
"IgnoreDownload": "Download ignorieren",
"DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent meldet fehlende Dateien",
"DownloadClientSettingsCategorySubFolderHelpText": "Das Hinzufügen einer spezifischen Kategorie für {appName} vermeidet Konflikte mit nicht verwandten Downloads, die nicht {appName} sind. Die Verwendung einer Kategorie ist optional, wird aber dringend empfohlen. Erzeugt ein Unterverzeichnis [category] im Ausgabeverzeichnis.",
"DownloadClientSettingsRecentPriority": "Neueste Priorität",
"DownloadClientDelugeSettingsDirectory": "Download Verzeichnis",
"DownloadClientDelugeSettingsDirectoryCompleted": "Verschieben, wenn Verzeichnis abgeschlossen",
"IgnoreDownloads": "Downloads ignorieren",
"BlocklistFilterHasNoItems": "Ausgewählter Blocklistenfilter enthält keine Elemente",
"ChangeCategoryMultipleHint": "Änderung der Downloads in die 'Post-Import-Kategorie' vom Download-Client",
"ConnectionSettingsUrlBaseHelpText": "Fügt ein Präfix zur {connectionName} URL hinzu, z. B. {url}",
"DownloadClientSettingsDestinationHelpText": "Legt das Ziel für den Download manuell fest; lassen Sie es leer, um die Standardeinstellung zu verwenden",
"DownloadClientSettingsUseSslHelpText": "Sichere Verbindung verwenden, wenn Verbindung zu {clientName} hergestellt wird",
"DownloadClientValidationCategoryMissingDetail": "Die von Ihnen eingegebene Kategorie existiert nicht in {clientName}. Erstellen Sie sie zuerst in {clientName}.",
"DownloadClientSabnzbdValidationEnableDisableMovieSortingDetail": "Sie müssen die Datumssortierung für die von {appName} verwendete Kategorie deaktivieren, um Importprobleme zu vermeiden. Gehen Sie zu Sabnzbd, um das Problem zu beheben.",
"EditImportListImplementation": "Importliste hinzufügen - {implementationName}",
"MovieIsNotMonitored": "Film wird nicht beobachtet",
"SearchForAllMissingMovies": "Suche nach allen fehlenden Alben",
"Trace": "Rückverfolgung",
"DownloadClientSabnzbdValidationEnableDisableTvSortingDetail": "Sie müssen die Datumssortierung für die von {appName} verwendete Kategorie deaktivieren, um Importprobleme zu vermeiden. Gehen Sie zu Sabnzbd, um das Problem zu beheben.",
"DownloadClientSettingsRecentPriorityMovieHelpText": "Priorität beim Abrufen von Episoden, die innerhalb der letzten 14 Tage ausgestrahlt wurden",
"EditConditionImplementation": "Verbindung hinzufügen - {implementationName}",
"FormatAgeHour": "Stunden",
"FormatAgeMinute": "Minuten",
"MovieFileDeleted": "Bei Filmdatei löschen",
"MovieSearchResultsLoadError": "Suchergebnisse für diesen Film konnten nicht geladen werden. Versuche es später nocheinmal",
"DeleteSelectedMovieFilesHelpText": "Ausgewählte Filme wirklich löschen?",
"ShowUnknownMovieItemsHelpText": "Einträge ohne eine Zuordnung in der Warteschlange anzeigen. Dies könnten gelöschte Filme oder alles andere mit {appName}s Downloadkategorie sein",
"MovieFolderFormatHelpText": "Wird verwendet, wenn Sie eine neue Serie hinzufügen oder eine Serie über den Serieneditor verschieben",
"IndexerSettingsMultiLanguageRelease": "Mehrsprachig",
"NotificationsCustomScriptValidationFileDoesNotExist": "Ordner existiert nicht",
"DownloadClientSettingsOlderPriorityMovieHelpText": "Priorität beim Abrufen von Episoden, die vor mehr als 14 Tagen ausgestrahlt wurden",
"EditConnectionImplementation": "Anwendung hinzufügen - {implementationName}",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Optionaler Speicherort für Downloads. Lassen Sie das Feld leer, um den standardmäßigen rTorrent-Speicherort zu verwenden",
"DownloadClientDelugeSettingsDirectoryHelpText": "Optionaler Speicherort für Downloads. Lassen Sie das Feld leer, um den standardmäßigen rTorrent-Speicherort zu verwenden",
"ListQualityProfileHelpText": "Qualitätsprofil mit dem Listemelemente hinzugefügt werden sollen",
"DeletedReasonMissingFromDisk": "{appName} konnte die Datei auf der Festplatte nicht finden, daher wurde die Verknüpfung der Datei mit der Episode in der Datenbank aufgehoben",
"ReleaseProfileTagMovieHelpText": "Veröffentlichungsprofile gelten für Künstler mit mindestens einem passenden Tag. Leer lassen, damit es für alle Künstler gilt",
"SearchForAllMissingMoviesConfirmationCount": "Bist du dir sicher, dass du nach allen '{0}' fehlenden Alben suchen willst?",
"SearchForCutoffUnmetMovies": "Suche nach allen abgeschnittenen unerfüllten Büchern"
} }

View File

@ -232,7 +232,7 @@
"Location": "Τοποθεσία", "Location": "Τοποθεσία",
"MovieIsMonitored": "Η ταινία παρακολουθείται", "MovieIsMonitored": "Η ταινία παρακολουθείται",
"DeleteDownloadClient": "Διαγραφή προγράμματος-πελάτη λήψης", "DeleteDownloadClient": "Διαγραφή προγράμματος-πελάτη λήψης",
"DeleteMovieFolderLabel": "Διαγραφή φακέλου ταινίας", "DeleteMovieFolder": "Διαγραφή φακέλου ταινίας",
"DockerUpdater": "ενημερώστε το κοντέινερ για να λάβετε την ενημέρωση", "DockerUpdater": "ενημερώστε το κοντέινερ για να λάβετε την ενημέρωση",
"EditGroups": "Επεξεργασία ομάδων", "EditGroups": "Επεξεργασία ομάδων",
"Enabled": "Ενεργοποιήθηκε", "Enabled": "Ενεργοποιήθηκε",
@ -489,8 +489,8 @@
"DeleteDelayProfile": "Διαγραφή προφίλ καθυστέρησης", "DeleteDelayProfile": "Διαγραφή προφίλ καθυστέρησης",
"DeleteEmptyFolders": "Διαγραφή κενών φακέλων", "DeleteEmptyFolders": "Διαγραφή κενών φακέλων",
"DeleteFile": "Διαγραφή φακέλου", "DeleteFile": "Διαγραφή φακέλου",
"DeleteFilesHelpText": "Διαγράψτε τα αρχεία ταινιών και το φάκελο ταινίας", "DeleteMovieFilesHelpText": "Διαγράψτε τα αρχεία ταινιών και το φάκελο ταινίας",
"DeleteFilesLabel": "Διαγραφή {0} Αρχείων ταινιών", "DeleteMovieFiles": "Διαγραφή {0} Αρχείων ταινιών",
"DeleteHeader": "Διαγραφή - {0}", "DeleteHeader": "Διαγραφή - {0}",
"DeleteImportListExclusion": "Διαγραφή εξαίρεσης λίστας εισαγωγής", "DeleteImportListExclusion": "Διαγραφή εξαίρεσης λίστας εισαγωγής",
"DeleteIndexer": "Διαγραφή ευρετηρίου", "DeleteIndexer": "Διαγραφή ευρετηρίου",
@ -503,7 +503,7 @@
"DeleteRestrictionHelpText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτόν τον περιορισμό;", "DeleteRestrictionHelpText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτόν τον περιορισμό;",
"DeleteSelectedMovie": "Διαγραφή επιλεγμένων ταινιών", "DeleteSelectedMovie": "Διαγραφή επιλεγμένων ταινιών",
"DeleteSelectedMovieFiles": "Διαγραφή επιλεγμένων αρχείων ταινιών", "DeleteSelectedMovieFiles": "Διαγραφή επιλεγμένων αρχείων ταινιών",
"DeleteTheMovieFolder": "Ο φάκελος ταινίας \"{0}\" και όλο το περιεχόμενό της θα διαγραφούν.", "DeleteMovieFolderConfirmation": "Ο φάκελος ταινίας \"{0}\" και όλο το περιεχόμενό της θα διαγραφούν.",
"DestinationRelativePath": "Σχετική διαδρομή προορισμού", "DestinationRelativePath": "Σχετική διαδρομή προορισμού",
"Discord": "Διχόνοια", "Discord": "Διχόνοια",
"Docker": "Λιμενεργάτης", "Docker": "Λιμενεργάτης",
@ -959,7 +959,6 @@
"More": "Περισσότερο", "More": "Περισσότερο",
"Download": "Κατεβάστε", "Download": "Κατεβάστε",
"DownloadClientCheckDownloadingToRoot": "Λήψη προγράμματος-πελάτη {downloadClientName} τοποθετεί λήψεις στον ριζικό φάκελο {path}. Δεν πρέπει να κάνετε λήψη σε έναν ριζικό φάκελο.", "DownloadClientCheckDownloadingToRoot": "Λήψη προγράμματος-πελάτη {downloadClientName} τοποθετεί λήψεις στον ριζικό φάκελο {path}. Δεν πρέπει να κάνετε λήψη σε έναν ριζικό φάκελο.",
"DeleteFileLabel": "Διαγραφή {0} Αρχείων ταινιών",
"Blocklist": "Αποριφθέντα", "Blocklist": "Αποριφθέντα",
"BlocklistRelease": "Έκδοση μαύρης λίστας", "BlocklistRelease": "Έκδοση μαύρης λίστας",
"RemoveFromBlocklist": "Κατάργηση από μαύρη λίστα", "RemoveFromBlocklist": "Κατάργηση από μαύρη λίστα",
@ -1115,5 +1114,110 @@
"DeleteSelectedImportLists": "Διαγραφή λίστας εισαγωγής", "DeleteSelectedImportLists": "Διαγραφή λίστας εισαγωγής",
"DeleteSelectedIndexers": "Διαγραφή ευρετηρίου", "DeleteSelectedIndexers": "Διαγραφή ευρετηρίου",
"AddConditionImplementation": "Προσθήκη - {implementationName}", "AddConditionImplementation": "Προσθήκη - {implementationName}",
"AddConnectionImplementation": "Προσθήκη - {implementationName}" "AddConnectionImplementation": "Προσθήκη - {implementationName}",
"AutoTaggingSpecificationTag": "Ετικέτα",
"Clone": "Κλωνοποίηση",
"DeletedReasonUpgrade": "Το αρχείο διαγράφηκε για εισαγωγή μιας αναβάθμισης",
"SelectDropdown": "'Επιλέγω...",
"RetryingDownloadOn": "Επανάληψη λήψης {0} στις {1}",
"Category": "Κατηγορία",
"BypassDelayIfAboveCustomFormatScore": "Παράκαμψη εάν είναι πάνω από τη βαθμολογία προσαρμοσμένης μορφής",
"BypassDelayIfAboveCustomFormatScoreHelpText": "Ενεργοποιήστε την παράκαμψη όταν η έκδοση έχει βαθμολογία μεγαλύτερη από τη ρυθμισμένη ελάχιστη βαθμολογία προσαρμοσμένης μορφής",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Ελάχιστη βαθμολογία προσαρμοσμένης μορφής",
"BypassDelayIfAboveCustomFormatScoreMinimumScoreHelpText": "Απαιτείται ελάχιστη βαθμολογία προσαρμοσμένης μορφής για την παράκαμψη της καθυστέρησης για το προτιμώμενο πρωτόκολλο",
"EnableProfile": "Ενεργοποίηση προφίλ",
"ConnectionLostReconnect": "Το Radarr θα προσπαθήσει να συνδεθεί αυτόματα, αλλιώς μπορείτε να κάνετε reload απο κάτω.",
"ConnectionLostToBackend": "Το Radarr έχασε τη σύνδεσή του με το backend και θα χρειαστεί να επαναφορτωθεί για να αποκαταστήσει τη λειτουργικότητά του.",
"DelayingDownloadUntil": "Καθυστέρηση λήψης έως τις {0} στις {1}",
"DownloadClientsLoadError": "Δεν είναι δυνατή η φόρτωση πελατών λήψης",
"FormatAgeHours": "Ωρες",
"FormatAgeMinute": "Λεπτά",
"HistoryLoadError": "Δεν είναι δυνατή η φόρτωση του ιστορικού",
"OrganizeNothingToRename": "Επιτυχία! Η δουλειά μου ολοκληρώθηκε, δεν υπάρχουν αρχεία για μετονομασία.",
"UseSsl": "Χρησιμοποιήστε SSL",
"TablePageSizeHelpText": "Αριθμός στοιχείων προς εμφάνιση σε κάθε σελίδα",
"MonitorSelected": "Επιλέχθηκε η οθόνη",
"RemoveSelectedBlocklistMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε τα επιλεγμένα αντικείμενα από τη λίστα αποκλεισμού;",
"UnmonitorSelected": "Επιλέχθηκε η κατάργηση παρακολούθησης",
"InteractiveImportLoadError": "Δεν είναι δυνατή η φόρτωση στοιχείων μη αυτόματης εισαγωγής",
"ListRootFolderHelpText": "Θα προστεθούν στοιχεία λίστας φακέλου ρίζας",
"NotificationStatusSingleClientHealthCheckMessage": "Μη διαθέσιμες λίστες λόγω αποτυχιών: {notificationNames}",
"ReleaseProfiles": "Προφίλ έκδοσης",
"AddConnection": "Προσθήκη Σύνδεσης",
"AddIndexerImplementation": "Προσθήκη",
"DeleteAutoTagHelpText": "Είστε σίγουροι πως θέλετε να διαγράψετε τη συνθήκη '{name}';",
"MoveAutomatically": "Αυτόματη Μετακίνησή",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Πώς να εφαρμόσετε ετικέτες στις επιλεγμένες ταινίες",
"ApplyTagsHelpTextHowToApplyImportLists": "Πώς να εφαρμόσετε ετικέτες στις επιλεγμένες ταινίες",
"EditIndexerImplementation": "Προσθήκη",
"DeleteRootFolder": "Διαγραφή ριζικού φακέλου",
"RootFolderPath": "Διαδρομή φακέλου ρίζας",
"DisabledForLocalAddresses": "Απενεργοποιήθηκε για τοπικές διευθύνσεις",
"EditConditionImplementation": "Προσθήκη",
"AddListExclusion": "Προσθήκη εξαίρεσης λίστας",
"AddReleaseProfile": "Προσθήκη Προφίλ Κυκλοφορίας",
"FormatAgeMinutes": "Λεπτά",
"TablePageSize": "Μέγεθος σελίδας",
"BlocklistLoadError": "Δεν είναι δυνατή η φόρτωση της μαύρης λίστας",
"GrabId": "Πιάσε ταυτότητα",
"QualitiesLoadError": "Δεν είναι δυνατή η φόρτωση των ποιοτήτων",
"ChownGroup": "chown Group",
"DelayProfileMovieTagsHelpText": "Ισχύει για ταινίες με τουλάχιστον μία αντίστοιχη ετικέτα",
"DeleteImportList": "Διαγραφή λίστας εισαγωγής",
"DeleteReleaseProfile": "Διαγραφή προφίλ έκδοσης",
"AuthenticationRequired": "Απαιτείται πιστοποίηση",
"DeleteSpecification": "Διαγραφή ειδοποίησης",
"RemoveQueueItemConfirmation": "Είστε σίγουροι πως θέλετε να διαγράψετε {0} αντικείμενα από την ουρά;",
"EditReleaseProfile": "Προσθήκη Προφίλ Κυκλοφορίας",
"EnableProfileHelpText": "Επιλέξτε για να ενεργοποιήσετε το προφίλ απελευθέρωσης",
"InteractiveSearchModalHeader": "Διαδραστική αναζήτηση",
"NotificationStatusAllClientHealthCheckMessage": "Όλες οι λίστες δεν είναι διαθέσιμες λόγω αστοχιών",
"NotificationsDiscordSettingsAuthor": "Συγγραφέας",
"MustContainHelpText": "Η κυκλοφορία πρέπει να περιέχει τουλάχιστον έναν από αυτούς τους όρους (μη ευαίσθητη υπόθεση)",
"No": "Οχι",
"AuthenticationRequiredHelpText": "Αλλαγή για τα οποία απαιτείται έλεγχος ταυτότητας. Μην αλλάζετε αν δεν κατανοήσετε τους κινδύνους.",
"IncludeHealthWarnings": "Συμπεριλάβετε προειδοποιήσεις για την υγεία",
"MustNotContainHelpText": "Η κυκλοφορία θα απορριφθεί, εάν περιέχει έναν ή περισσότερους από τους όρους (χωρίς διάκριση πεζών-κεφαλαίων)",
"RestartLater": "Θα επανεκκινήσω αργότερα",
"AppUpdated": "{appName} Ενημερώθηκε",
"AppUpdatedVersion": "ξαναφορτωθεί",
"AutoRedownloadFailed": "Η λήψη απέτυχε",
"QueueLoadError": "Αποτυχία φόρτωσης ουράς",
"CustomFilter": "Custom Φιλτρα",
"Label": "Επιγραφή",
"OrganizeLoadError": "Σφάλμα κατά τη φόρτωση προεπισκοπήσεων",
"Yes": "Ναί",
"Lists": "Τόπος αγώνων",
"SkipRedownload": "Παράλειψη επανάληψης λήψης",
"AddAutoTagError": "Δεν είναι δυνατή η προσθήκη νέας λίστας, δοκιμάστε ξανά.",
"AuthenticationRequiredWarning": "Για να αποτρέψει την απομακρυσμένη πρόσβαση χωρίς έλεγχο ταυτότητας, το {appName} απαιτεί τώρα να ενεργοποιηθεί ο έλεγχος ταυτότητας. Διαμορφώστε τη μέθοδο ελέγχου ταυτότητας και τα διαπιστευτήριά σας. Μπορείτε προαιρετικά να απενεργοποιήσετε τον έλεγχο ταυτότητας από τοπικές διευθύνσεις. Ανατρέξτε στις Συχνές Ερωτήσεις για πρόσθετες πληροφορίες.",
"ReleaseProfileIndexerHelpText": "Καθορίστε σε ποιο ευρετήριο ισχύει το προφίλ",
"Release": "Ελευθέρωση",
"ConditionUsingRegularExpressions": "Αυτή η συνθήκη ταιριάζει με τη χρήση τυπικών εκφράσεων. Λάβετε υπόψη ότι οι χαρακτήρες {0} έχουν ειδικές έννοιες και χρειάζονται διαφυγή με {1}",
"DeleteSpecificationHelpText": "Είστε σίγουροι πως θέλετε να διαγράψετε τη συνθήκη '{name}';",
"ApplyTagsHelpTextHowToApplyMovies": "Πώς να εφαρμόσετε ετικέτες στις επιλεγμένες ταινίες",
"DeletedReasonMissingFromDisk": "Ο Whisparr δεν μπόρεσε να βρει το αρχείο στο δίσκο και έτσι καταργήθηκε",
"ReleaseProfileTagMovieHelpText": "Τα προφίλ κυκλοφορίας θα ισχύουν για καλλιτέχνες με τουλάχιστον μία αντίστοιχη ετικέτα. Αφήστε το κενό για να εφαρμοστεί σε όλους τους καλλιτέχνες",
"DownloadClientSettingsRecentPriority": "Προτεραιότητα πελάτη",
"MovieIsNotMonitored": "Η ταινία παρακολουθείται",
"SearchForAllMissingMovies": "Αναζήτηση για όλα τα βιβλία Cutoff Unmet",
"SearchForAllMissingMoviesConfirmationCount": "Είστε βέβαιοι ότι θέλετε να αναζητήσετε όλα τα άλμπουμ \"{0}\" που λείπουν;",
"SearchForCutoffUnmetMoviesConfirmationCount": "Είστε βέβαιοι ότι θέλετε να αναζητήσετε όλα τα άλμπουμ \"{0}\" που λείπουν;",
"ListQualityProfileHelpText": "Θα πρέπει να προστεθούν στοιχεία λίστας προφίλ ποιότητας",
"ReleaseProfilesLoadError": "Δεν είναι δυνατή η φόρτωση των Καθυστέρησης προφίλ",
"DeleteImportListMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε τη συνθήκη '{name}';",
"DeleteQualityProfileMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το προφίλ ποιότητας '{0}'?",
"MovieFileDeleted": "Διαγραφή αρχείου ταινίας",
"IMDbId": "Αναγνωριστικό TMDb",
"EditConnectionImplementation": "Προσθήκη",
"DeleteSelectedMovieFilesHelpText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;",
"ShowUnknownMovieItemsHelpText": "Εμφάνιση στοιχείων χωρίς ταινία στην ουρά. Αυτό μπορεί να περιλαμβάνει ταινίες που έχουν αφαιρεθεί ή οτιδήποτε άλλο στην κατηγορία του {appName}",
"NotificationsSimplepushSettingsEvent": "Γεγονότα",
"IndexerSettingsMultiLanguageRelease": "Πολλαπλών γλωσσών",
"AddRootFolderError": "Δεν είναι δυνατή η φόρτωση ριζικών φακέλων",
"FormatAgeHour": "Ωρες",
"ReleaseGroups": "Ομάδα απελευθέρωσης",
"AddDelayProfileError": "Δεν είναι δυνατή η προσθήκη ενός νέου προφίλ ποιότητας. Δοκιμάστε ξανά.",
"SearchForCutoffUnmetMovies": "Αναζήτηση για όλα τα βιβλία Cutoff Unmet",
"DeleteReleaseProfileMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το προφίλ ποιότητας '{0}'?"
} }

View File

@ -305,9 +305,6 @@
"DeleteEmptyFolders": "Delete empty folders", "DeleteEmptyFolders": "Delete empty folders",
"DeleteEmptyFoldersHelpText": "Delete empty movie folders during disk scan and when movie files are deleted", "DeleteEmptyFoldersHelpText": "Delete empty movie folders during disk scan and when movie files are deleted",
"DeleteFile": "Delete file", "DeleteFile": "Delete file",
"DeleteFileLabel": "Delete {0} Movie File",
"DeleteFilesHelpText": "Delete the movie files and movie folder",
"DeleteFilesLabel": "Delete {0} Movie Files",
"DeleteFormatMessageText": "Are you sure you want to delete format tag {0} ?", "DeleteFormatMessageText": "Are you sure you want to delete format tag {0} ?",
"DeleteHeader": "Delete - {0}", "DeleteHeader": "Delete - {0}",
"DeleteImportList": "Delete Import List", "DeleteImportList": "Delete Import List",
@ -316,8 +313,16 @@
"DeleteImportListMessageText": "Are you sure you want to delete the list '{name}'?", "DeleteImportListMessageText": "Are you sure you want to delete the list '{name}'?",
"DeleteIndexer": "Delete Indexer", "DeleteIndexer": "Delete Indexer",
"DeleteIndexerMessageText": "Are you sure you want to delete the indexer '{name}'?", "DeleteIndexerMessageText": "Are you sure you want to delete the indexer '{name}'?",
"DeleteMovieFiles": "Delete {movieFileCount} Movie Files",
"DeleteMovieFilesHelpText": "Delete the movie files and movie folder",
"DeleteMovieFolder": "Delete Movie Folder",
"DeleteMovieFolderConfirmation": "The movie folder `{path}` and all of its content will be deleted.",
"DeleteMovieFolderCountConfirmation": "Are you sure you want to delete {count} selected movie(s)?",
"DeleteMovieFolderCountWithFilesConfirmation": "Are you sure you want to delete {count} selected movie(s) and all contents?",
"DeleteMovieFolderHelpText": "Delete the movie folder and its contents", "DeleteMovieFolderHelpText": "Delete the movie folder and its contents",
"DeleteMovieFolderLabel": "Delete Movie Folder", "DeleteMovieFolderMovieCount": "{movieFileCount} movie files totaling {size}",
"DeleteMovieFolders": "Delete Movie Folders",
"DeleteMovieFoldersHelpText": "Delete the movie folders and all their contents",
"DeleteNotification": "Delete Notification", "DeleteNotification": "Delete Notification",
"DeleteNotificationMessageText": "Are you sure you want to delete the notification '{name}'?", "DeleteNotificationMessageText": "Are you sure you want to delete the notification '{name}'?",
"DeleteQualityProfile": "Delete Quality Profile", "DeleteQualityProfile": "Delete Quality Profile",
@ -336,14 +341,14 @@
"DeleteSelectedImportListsMessageText": "Are you sure you want to delete {count} selected import list(s)?", "DeleteSelectedImportListsMessageText": "Are you sure you want to delete {count} selected import list(s)?",
"DeleteSelectedIndexers": "Delete Indexer(s)", "DeleteSelectedIndexers": "Delete Indexer(s)",
"DeleteSelectedIndexersMessageText": "Are you sure you want to delete {count} selected indexer(s)?", "DeleteSelectedIndexersMessageText": "Are you sure you want to delete {count} selected indexer(s)?",
"DeleteSelectedMovie": "Delete Selected Movie(s)", "DeleteSelectedMovie": "Delete Selected Movie",
"DeleteSelectedMovieFiles": "Delete Selected Movie Files", "DeleteSelectedMovieFiles": "Delete Selected Movie Files",
"DeleteSelectedMovieFilesHelpText": "Are you sure you want to delete the selected movie files?", "DeleteSelectedMovieFilesHelpText": "Are you sure you want to delete the selected movie files?",
"DeleteSelectedMovies": "Delete Selected Movies",
"DeleteSpecification": "Delete Specification", "DeleteSpecification": "Delete Specification",
"DeleteSpecificationHelpText": "Are you sure you want to delete specification '{name}'?", "DeleteSpecificationHelpText": "Are you sure you want to delete specification '{name}'?",
"DeleteTag": "Delete Tag", "DeleteTag": "Delete Tag",
"DeleteTagMessageText": "Are you sure you want to delete the tag '{label}'?", "DeleteTagMessageText": "Are you sure you want to delete the tag '{label}'?",
"DeleteTheMovieFolder": "The movie folder '{path}' and all its content will be deleted.",
"Deleted": "Deleted", "Deleted": "Deleted",
"DeletedMsg": "Movie was deleted from TMDb", "DeletedMsg": "Movie was deleted from TMDb",
"DeletedReasonManual": "File was deleted using {appName}, either manually or by another tool through the API", "DeletedReasonManual": "File was deleted using {appName}, either manually or by another tool through the API",

View File

@ -194,7 +194,7 @@
"DigitalRelease": "Estreno Digital", "DigitalRelease": "Estreno Digital",
"Details": "Detalles", "Details": "Detalles",
"Deleted": "Eliminado", "Deleted": "Eliminado",
"CutoffUnmet": "Corte No Alcanzado", "CutoffUnmet": "Límite no alcanzado",
"CustomFormatsSettingsSummary": "Formatos y configuraciones personalizados", "CustomFormatsSettingsSummary": "Formatos y configuraciones personalizados",
"ConnectSettingsSummary": "Notificaciones, conexiones a servidores/reproductores y scripts personalizados", "ConnectSettingsSummary": "Notificaciones, conexiones a servidores/reproductores y scripts personalizados",
"Collection": "Colección", "Collection": "Colección",
@ -303,10 +303,10 @@
"Folders": "Carpetas", "Folders": "Carpetas",
"Fixed": "Arreglado", "Fixed": "Arreglado",
"FileNames": "Nombres de archivos", "FileNames": "Nombres de archivos",
"ChangeFileDateHelpText": "Cambiar la fecha del archivo al importar/rescan", "ChangeFileDateHelpText": "Cambia la fecha del archivo al importar/volver a escanear",
"Ended": "Terminado", "Ended": "Terminado",
"EnableSslHelpText": " Requiere reiniciar la aplicación como administrador para que surta efecto", "EnableSslHelpText": " Requiere reiniciar la aplicación como administrador para que surta efecto",
"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.", "AnalyseVideoFilesHelpText": "Extrae 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.",
"Enable": "Habilitar", "Enable": "Habilitar",
"EditPerson": "Editar Persona", "EditPerson": "Editar Persona",
"EditMovie": "Editar Película", "EditMovie": "Editar Película",
@ -331,7 +331,7 @@
"DeleteBackup": "Eliminar copia de seguridad", "DeleteBackup": "Eliminar copia de seguridad",
"DelayProfile": "Perfil de retardo", "DelayProfile": "Perfil de retardo",
"DatabaseMigration": "Migración de la base de datos", "DatabaseMigration": "Migración de la base de datos",
"UpgradeUntilMovieHelpText": "Una vez que la calidad es alcanzada {appName} no descargará películas tras alcanzar o exceder la puntuación del formato objetivo", "UpgradeUntilMovieHelpText": "Una vez que la calidad es alcanzada {appName} no descargará películas tras alcanzar o exceder la puntuación del formato personalizado objetivo",
"CreateGroup": "Crear grupo", "CreateGroup": "Crear grupo",
"CreateEmptyMovieFoldersHelpText": "Crear carpetas de películas que faltan durante la exploración del disco", "CreateEmptyMovieFoldersHelpText": "Crear carpetas de películas que faltan durante la exploración del disco",
"CreateEmptyMovieFolders": "Crear carpetas de películas vacías", "CreateEmptyMovieFolders": "Crear carpetas de películas vacías",
@ -344,7 +344,7 @@
"ChangeFileDate": "Cambiar fecha de archivo", "ChangeFileDate": "Cambiar fecha de archivo",
"CertificationCountryHelpText": "Seleccionar país para certificaciones de películas", "CertificationCountryHelpText": "Seleccionar país para certificaciones de películas",
"CertificationCountry": "País de certificación", "CertificationCountry": "País de certificación",
"CertificateValidationHelpText": "Cambiar como es la validacion de la certificacion estricta de HTTPS. No cambiar a menos que entiendas las consecuencias.", "CertificateValidationHelpText": "Cambia cómo de estricta es la validación de certificación de HTTPS. No cambiar a menos que entiendas los riesgos.",
"CertificateValidation": "Validacion de certificado", "CertificateValidation": "Validacion de certificado",
"BypassProxyForLocalAddresses": "Omitir Proxy para Direcciones Locales", "BypassProxyForLocalAddresses": "Omitir Proxy para Direcciones Locales",
"Branch": "Rama", "Branch": "Rama",
@ -356,15 +356,15 @@
"AvailabilityDelayHelpText": "Cantidad de tiempo antes o después de la fecha disponible para buscar Película", "AvailabilityDelayHelpText": "Cantidad de tiempo antes o después de la fecha disponible para buscar Película",
"AvailabilityDelay": "Retraso de Disponibilidad", "AvailabilityDelay": "Retraso de Disponibilidad",
"AutoUnmonitorPreviouslyDownloadedMoviesHelpText": "Las películas eliminadas del disco son automáticamente desmonitorizadas en {appName}", "AutoUnmonitorPreviouslyDownloadedMoviesHelpText": "Las películas eliminadas del disco son automáticamente desmonitorizadas en {appName}",
"AutoRedownloadFailedHelpText": "Buscar e intentar descargar automáticamente una versión diferente", "AutoRedownloadFailedHelpText": "Busca e intenta descargar automáticamente una versión diferente",
"Automatic": "Automático", "Automatic": "Automático",
"AuthenticationMethodHelpText": "Requerir nombre de usuario y contraseña para acceder {appName}", "AuthenticationMethodHelpText": "Requiere usuario y contraseña para acceder a {appName}",
"Authentication": "Autenticación", "Authentication": "Autenticación",
"ICalShowAsAllDayEventsHelpText": "Los eventos aparecerán como eventos para todo el día en tu calendario", "ICalShowAsAllDayEventsHelpText": "Los eventos aparecerán como eventos para todo el día en tu calendario",
"ApiKey": "Clave de API", "ApiKey": "Clave API",
"ApplyTags": "Aplicar Etiquetas", "ApplyTags": "Aplicar Etiquetas",
"AppDataDirectory": "Directorio AppData", "AppDataDirectory": "Directorio AppData",
"AnalyticsEnabledHelpText": "Envíe información anónima de uso y error a los servidores de {appName}. Esto incluye información sobre su navegador, qué páginas de {appName} WebUI utiliza, informes de errores, así como el sistema operativo y la versión en tiempo de ejecución. Usaremos esta información para priorizar funciones y correcciones de errores.", "AnalyticsEnabledHelpText": "Envía información anónima de uso y error a los servidores de {appName}. Esto incluye información sobre tu navegador, qué páginas de interfaz web de {appName} utilizas, informes de errores, así como el sistema operativo y la versión en tiempo de ejecución. Usaremos esta información para priorizar funciones y correcciones de errores.",
"AnalyseVideoFiles": "Analizar archivos de vídeo", "AnalyseVideoFiles": "Analizar archivos de vídeo",
"AlreadyInYourLibrary": "Ya en tu biblioteca", "AlreadyInYourLibrary": "Ya en tu biblioteca",
"AllowHardcodedSubsHelpText": "Hardcoded subs que sean detectados serán automáticamente descargados", "AllowHardcodedSubsHelpText": "Hardcoded subs que sean detectados serán automáticamente descargados",
@ -387,8 +387,8 @@
"Uptime": "Tiempo de actividad", "Uptime": "Tiempo de actividad",
"UpgradesAllowedHelpText": "Si se deshabilita las calidades no serán actualizadas", "UpgradesAllowedHelpText": "Si se deshabilita las calidades no serán actualizadas",
"UpdateScriptPathHelpText": "Ruta a un script personalizado que toma un paquete de actualización extraído y gestiona el resto del proceso de actualización", "UpdateScriptPathHelpText": "Ruta a un script personalizado que toma un paquete de actualización extraído y gestiona el resto del proceso de actualización",
"UpdateMechanismHelpText": "Usar el actualizador integrado de {appName} o un script", "UpdateMechanismHelpText": "Usa el actualizador integrado de {appName} o un script",
"UpdateAutomaticallyHelpText": "Descargar e instalar actualizaciones automáticamente. Todavía puedes instalar desde Sistema: Actualizaciones", "UpdateAutomaticallyHelpText": "Descarga e instala actualizaciones automáticamente. Podrás seguir instalándolas desde Sistema: Actualizaciones",
"ICalIncludeUnmonitoredMoviesHelpText": "Incluir las películas no monitorizadas en el canal de iCal", "ICalIncludeUnmonitoredMoviesHelpText": "Incluir las películas no monitorizadas en el canal de iCal",
"Ungroup": "Sin agrupar", "Ungroup": "Sin agrupar",
"TagsLoadError": "No se pudo cargar Etiquetas", "TagsLoadError": "No se pudo cargar Etiquetas",
@ -431,7 +431,7 @@
"ShowMovieInformationHelpText": "Mostrar géneros y certificación", "ShowMovieInformationHelpText": "Mostrar géneros y certificación",
"ShowMovieInformation": "Mostrar Información de la Película", "ShowMovieInformation": "Mostrar Información de la Película",
"ShowMonitoredHelpText": "Muestra el estado monitorizado bajo el póster", "ShowMonitoredHelpText": "Muestra el estado monitorizado bajo el póster",
"IconForCutoffUnmetHelpText": "Mostrar el icono para los ficheros cuando no se ha alcanzado el corte", "IconForCutoffUnmetHelpText": "Muestra un icono para archivos cuando el límite no haya sido alcanzado",
"ICalShowAsAllDayEvents": "Mostrar como Eventos de Todo el Día", "ICalShowAsAllDayEvents": "Mostrar como Eventos de Todo el Día",
"ListMonitorMovieHelpText": "Si las películas o colecciones en esta lista deberían ser agregadas como monitoreadas", "ListMonitorMovieHelpText": "Si las películas o colecciones en esta lista deberían ser agregadas como monitoreadas",
"SetPermissionsLinuxHelpTextWarning": "Si no estás seguro qué configuraciones hacer, no las cambies.", "SetPermissionsLinuxHelpTextWarning": "Si no estás seguro qué configuraciones hacer, no las cambies.",
@ -543,7 +543,7 @@
"Interval": "Intervalo", "Interval": "Intervalo",
"IndexerSettings": "Opciones del indexador", "IndexerSettings": "Opciones del indexador",
"IndexerFlags": "Indicadores del indexador", "IndexerFlags": "Indicadores del indexador",
"IncludeUnmonitored": "Incluir sin monitorizar", "IncludeUnmonitored": "Incluir no monitorizadas",
"IncludeCustomFormatWhenRenamingHelpText": "Incluir en formato de renombrado {Custom Formats}", "IncludeCustomFormatWhenRenamingHelpText": "Incluir en formato de renombrado {Custom Formats}",
"IncludeCustomFormatWhenRenaming": "Incluir formato personalizado cuando se renombra", "IncludeCustomFormatWhenRenaming": "Incluir formato personalizado cuando se renombra",
"ImportMovies": "Importar Películas", "ImportMovies": "Importar Películas",
@ -553,9 +553,9 @@
"ImportedTo": "Importado a", "ImportedTo": "Importado a",
"IllRestartLater": "Lo reiniciaré más tarde", "IllRestartLater": "Lo reiniciaré más tarde",
"IgnoredHelpText": "Este lanzamiento será rechazado si contiene uno ó más de estos términos (mayúsculas ó minúsculas)", "IgnoredHelpText": "Este lanzamiento será rechazado si contiene uno ó más de estos términos (mayúsculas ó minúsculas)",
"IgnoreDeletedMovies": "Ignorar Películas Eliminadas", "IgnoreDeletedMovies": "No monitorizar películas eliminadas",
"IgnoredAddresses": "Direcciones Ignoradas", "IgnoredAddresses": "Direcciones Ignoradas",
"IconForCutoffUnmet": "Icono de Corte no alcanzado", "IconForCutoffUnmet": "Icono de límite no alcanzado",
"ICalFeedHelpText": "Copia esta URL a tu(s) cliente(s) o pulsa para suscribirse si tu navegador soporta Webcal", "ICalFeedHelpText": "Copia esta URL a tu(s) cliente(s) o pulsa para suscribirse si tu navegador soporta Webcal",
"ICalFeed": "Canal de iCal", "ICalFeed": "Canal de iCal",
"Hostname": "Nombre del Host", "Hostname": "Nombre del Host",
@ -564,17 +564,17 @@
"EnableInteractiveSearch": "Habilitar Búsqueda Interactiva", "EnableInteractiveSearch": "Habilitar Búsqueda Interactiva",
"EnableMetadataHelpText": "Habilitar la creación de un fichero de metadatos para este tipo de metadato", "EnableMetadataHelpText": "Habilitar la creación de un fichero de metadatos para este tipo de metadato",
"ListEnabledHelpText": "Habilitar esta lista para usar en {appName}", "ListEnabledHelpText": "Habilitar esta lista para usar en {appName}",
"EnableCompletedDownloadHandlingHelpText": "Importar automáticamente las descargas completas del gestor de descargas", "EnableCompletedDownloadHandlingHelpText": "Importa automáticamente las descargas completas del gestor de descargas",
"EnableAutomaticSearch": "Habilitar Búsqueda Automática", "EnableAutomaticSearch": "Habilitar Búsqueda Automática",
"EnableAutomaticAdd": "Habilitar añadido automático", "EnableAutomaticAdd": "Habilitar añadido automático",
"EnableAutomaticAddMovieHelpText": "Si se habilita, las Películas en esta lista se añadirán automáticamente a {appName}", "EnableAutomaticAddMovieHelpText": "Si se habilita, las Películas en esta lista se añadirán automáticamente a {appName}",
"UpgradeUntilCustomFormatScoreMovieHelpText": "Una la vez que la calidad objetivo es cumplida o excedida y esta puntuación de formato propio es alcanzada {appName} dejará de descargar o importar mejoras para estas películas", "UpgradeUntilCustomFormatScoreMovieHelpText": "Una vez que la calidad objetivo es cumplida o excedida y esta puntuación de formato personalizado es alcanzada {appName} dejará de capturar o importar mejoras para estas películas",
"CustomFormatsSettings": "Configuración de formatos personalizados", "CustomFormatsSettings": "Configuración de formatos personalizados",
"CopyUsingHardlinksHelpTextWarning": "Ocasionalmente, los archivos bloqueados impiden renombrar los archivos que están siendo sembrados. Puedes desactivar temporalmente la siembra y usar la función de renombrado de {appName} como alternativa.", "CopyUsingHardlinksHelpTextWarning": "Ocasionalmente, los archivos bloqueados impiden renombrar los archivos que están siendo sembrados. Puedes desactivar temporalmente la siembra y usar la función de renombrado de {appName} como alternativa.",
"CopyUsingHardlinksMovieHelpText": "Los Hardlinks permiten a {appName} importar torrents que siguen seedeando a la carpeta de películas sin ocupar espacio extra en el disco o copiando los contenidos al completo del archivo. Los Hardlinks solo funcionarán si el orígen y destino se encuentran en el mismo volumen", "CopyUsingHardlinksMovieHelpText": "Los Hardlinks permiten a {appName} importar torrents que siguen seedeando a la carpeta de películas sin ocupar espacio extra en el disco o copiando los contenidos al completo del archivo. Los Hardlinks solo funcionarán si el orígen y destino se encuentran en el mismo volumen",
"ConnectSettings": "Conectar Ajustes", "ConnectSettings": "Conectar Ajustes",
"CleanLibraryLevel": "Limpiar el nivel de la librería", "CleanLibraryLevel": "Limpiar nivel de biblioteca",
"BindAddress": "Dirección de Ligado", "BindAddress": "Dirección de enlace",
"OpenBrowserOnStart": "Abrir navegador al inicio", "OpenBrowserOnStart": "Abrir navegador al inicio",
"RuntimeFormat": "Formato de Tiempo de ejecución", "RuntimeFormat": "Formato de Tiempo de ejecución",
"MovieIsOnImportExclusionList": "La película está en la Lista de Exclusión", "MovieIsOnImportExclusionList": "La película está en la Lista de Exclusión",
@ -599,7 +599,7 @@
"Paused": "Pausado", "Paused": "Pausado",
"NegateHelpText": "Si se marca, el formato personalizado no se aplica si coincide la condición {implementationName}.", "NegateHelpText": "Si se marca, el formato personalizado no se aplica si coincide la condición {implementationName}.",
"MoviesSelectedInterp": "{count} película(s) seleccionada(s)", "MoviesSelectedInterp": "{count} película(s) seleccionada(s)",
"MovieIsUnmonitored": "La película no está monitoreada", "MovieIsUnmonitored": "La película no está monitorizada",
"MovieIsMonitored": "La película está monitoreada", "MovieIsMonitored": "La película está monitoreada",
"MovieExcludedFromAutomaticAdd": "Película Excluida de Adición Automática", "MovieExcludedFromAutomaticAdd": "Película Excluida de Adición Automática",
"MovieAlreadyExcluded": "Película ya Excluida", "MovieAlreadyExcluded": "Película ya Excluida",
@ -628,7 +628,7 @@
"DeleteBackupMessageText": "Seguro que quieres eliminar la copia de seguridad '{name}'?", "DeleteBackupMessageText": "Seguro que quieres eliminar la copia de seguridad '{name}'?",
"DeleteDownloadClientMessageText": "Seguro que quieres eliminar el gestor de descargas '{name}'?", "DeleteDownloadClientMessageText": "Seguro que quieres eliminar el gestor de descargas '{name}'?",
"DeleteIndexerMessageText": "¿Estás seguro que quieres eliminar el indexador '{name}'?", "DeleteIndexerMessageText": "¿Estás seguro que quieres eliminar el indexador '{name}'?",
"Cutoff": "Umbral", "Cutoff": "Límite",
"ClickToChangeMovie": "Clic para cambiar película", "ClickToChangeMovie": "Clic para cambiar película",
"CheckDownloadClientForDetails": "Revisar el cliente de descarga para más detalles", "CheckDownloadClientForDetails": "Revisar el cliente de descarga para más detalles",
"CancelPendingTask": "Estas seguro de que deseas cancelar esta tarea pendiente?", "CancelPendingTask": "Estas seguro de que deseas cancelar esta tarea pendiente?",
@ -673,7 +673,7 @@
"NoHistory": "Sin historial", "NoHistory": "Sin historial",
"NoBackupsAreAvailable": "No hay copias de seguridad disponibles", "NoBackupsAreAvailable": "No hay copias de seguridad disponibles",
"MoreDetails": "Más detalles", "MoreDetails": "Más detalles",
"MissingNotMonitored": "No encontrada (No Monitoreada)", "MissingNotMonitored": "Faltante (No monitorizada)",
"MissingMonitoredAndConsideredAvailable": "No encontrada (Monitoreada)", "MissingMonitoredAndConsideredAvailable": "No encontrada (Monitoreada)",
"MinutesSixty": "60 minutos: {sixty}", "MinutesSixty": "60 minutos: {sixty}",
"MinutesNinety": "90 Minutos: {ninety}", "MinutesNinety": "90 Minutos: {ninety}",
@ -695,7 +695,7 @@
"Excluded": "Excluida", "Excluded": "Excluida",
"Exception": "Excepción", "Exception": "Excepción",
"ErrorLoadingContents": "Error cargando contenidos", "ErrorLoadingContents": "Error cargando contenidos",
"DownloadedButNotMonitored": "Descargada (No monitoreada)", "DownloadedButNotMonitored": "Descargada (No monitorizada)",
"DownloadedAndMonitored": "Descargada y Monitoreada", "DownloadedAndMonitored": "Descargada y Monitoreada",
"CouldNotFindResults": "No se pudieron encontrar resultados para '{term}'", "CouldNotFindResults": "No se pudieron encontrar resultados para '{term}'",
"CantFindMovie": "Por qué no puedo encontrar mi película?", "CantFindMovie": "Por qué no puedo encontrar mi película?",
@ -709,7 +709,7 @@
"ExportCustomFormat": "Exportar formato personalizado", "ExportCustomFormat": "Exportar formato personalizado",
"DownloadPropersAndRepacksHelpTextWarning": "Usar formatos personalizados para actualizaciones automáticas a propers/repacks", "DownloadPropersAndRepacksHelpTextWarning": "Usar formatos personalizados para actualizaciones automáticas a propers/repacks",
"DownloadPropersAndRepacksHelpTextCustomFormat": "Usar \"No Preferir\" para ordenar por puntuación de palabras preferidas en vez de proper/repacks", "DownloadPropersAndRepacksHelpTextCustomFormat": "Usar \"No Preferir\" para ordenar por puntuación de palabras preferidas en vez de proper/repacks",
"DownloadPropersAndRepacksHelpText": "Decidir si automaticamente actualizar a Propers/Repacks", "DownloadPropersAndRepacksHelpText": "Actualiza automáticamente o no a Propers/Repacks",
"DownloadPropersAndRepacks": "Propers y repacks", "DownloadPropersAndRepacks": "Propers y repacks",
"CustomFormatUnknownConditionOption": "Opción Desconocida '{key}' para condición '{implementation}'", "CustomFormatUnknownConditionOption": "Opción Desconocida '{key}' para condición '{implementation}'",
"CustomFormatUnknownCondition": "Condición de Formato Personalizado Desconocida '{implementation}'", "CustomFormatUnknownCondition": "Condición de Formato Personalizado Desconocida '{implementation}'",
@ -762,29 +762,29 @@
"ExcludeTitle": "¿Excluir {0}? Esto evitará que {appName} agregue automáticamente mediante la sincronización de listas.", "ExcludeTitle": "¿Excluir {0}? Esto evitará que {appName} agregue automáticamente mediante la sincronización de listas.",
"None": "Ninguno", "None": "Ninguno",
"QualitiesHelpText": "Las calidades situadas mas arriba en la lista son las preferidas aunque no estén marcadas. Las calidades del mismo grupo son iguales. Sólo se buscarán las calidades marcadas", "QualitiesHelpText": "Las calidades situadas mas arriba en la lista son las preferidas aunque no estén marcadas. Las calidades del mismo grupo son iguales. Sólo se buscarán las calidades marcadas",
"DeleteFilesLabel": "Eliminar {0} archivos de película", "DeleteMovieFiles": "Eliminar {0} archivos de película",
"MappedDrivesRunningAsService": "Las unidades de red asignadas no están disponibles cuando se ejecutan como un servicio de Windows. Consulta las preguntas frecuentes para obtener más información", "MappedDrivesRunningAsService": "Las unidades de red asignadas no están disponibles cuando se ejecutan como un servicio de Windows. Consulta las preguntas frecuentes para obtener más información",
"RequiredRestrictionHelpText": "El comunicado debe contener al menos uno de estos términos (no distingue entre mayúsculas y minúsculas)", "RequiredRestrictionHelpText": "El comunicado debe contener al menos uno de estos términos (no distingue entre mayúsculas y minúsculas)",
"Announced": "Anunciado", "Announced": "Anunciado",
"BuiltIn": "Construido en", "BuiltIn": "Construido en",
"CalendarOptions": "Opciones de Calendario", "CalendarOptions": "Opciones de Calendario",
"CertValidationNoLocal": "Deshabilitado para Direcciones Locales", "CertValidationNoLocal": "Deshabilitado para Direcciones Locales",
"ChmodFolder": "Carpeta chmod", "ChmodFolder": "chmod de la carpeta",
"ChmodFolderHelpText": "Octal, aplicado durante la importación / cambio de nombre a carpetas y archivos multimedia (sin bits de ejecución)", "ChmodFolderHelpText": "Octal, aplicado durante la importación / cambio de nombre a carpetas y archivos multimedia (sin bits de ejecución)",
"ChmodFolderHelpTextWarning": "Esto solo funciona si el usuario que ejecuta {appName} es el propietario del archivo. Es mejor asegurarse de que el cliente de descarga establezca los permisos correctamente.", "ChmodFolderHelpTextWarning": "Esto solo funciona si el usuario que ejecuta {appName} es el propietario del archivo. Es mejor asegurarse de que el cliente de descarga establezca los permisos correctamente.",
"ChownGroupHelpText": "Nombre del grupo o gid. Utilice gid para sistemas de archivos remotos.", "ChownGroupHelpText": "Nombre del grupo o gid. Utilice gid para sistemas de archivos remotos.",
"ChownGroupHelpTextWarning": "Esto solo funciona si el usuario que ejecuta {appName} es el propietario del archivo. Es mejor asegurarse de que el cliente de descarga use el mismo grupo que {appName}.", "ChownGroupHelpTextWarning": "Esto solo funciona si el usuario que ejecuta {appName} es el propietario del archivo. Es mejor asegurarse de que el cliente de descarga use el mismo grupo que {appName}.",
"CouldNotConnectSignalR": "No se pudo conectar a SignalR, la interfaz de usuario no se actualiza", "CouldNotConnectSignalR": "No se pudo conectar a SignalR, la interfaz de usuario no se actualiza",
"DeletedMsg": "La película se eliminó de TMDb", "DeletedMsg": "La película se eliminó de TMDb",
"DeleteMovieFolderLabel": "Eliminar carpeta de películas", "DeleteMovieFolder": "Eliminar carpeta de películas",
"DockerUpdater": "actualice el contenedor de la ventana acoplable para recibir la actualización", "DockerUpdater": "actualice el contenedor de la ventana acoplable para recibir la actualización",
"AllMoviesInPathHaveBeenImported": "Se han importado todas las películas de {path}", "AllMoviesInPathHaveBeenImported": "Se han importado todas las películas de {path}",
"AllResultsHiddenFilter": "Todos los resultados están ocultos por el filtro aplicado", "AllResultsHiddenFilter": "Todos los resultados están ocultos por el filtro aplicado",
"Always": "Siempre", "Always": "Siempre",
"AptUpdater": "Use apt para instalar la actualización", "AptUpdater": "Use apt para instalar la actualización",
"AuthBasic": "Básico (ventana emergente del navegador)", "AuthBasic": "Básica (Ventana emergente del navegador)",
"AuthForm": "Formularios (Página de inicio de sesión)", "AuthForm": "Formularios (Página de inicio de sesión)",
"Enabled": "Habilitado", "Enabled": "Habilitada",
"Images": "Imágenes", "Images": "Imágenes",
"Max": "Máximo", "Max": "Máximo",
"Medium": "Mediano", "Medium": "Mediano",
@ -842,11 +842,11 @@
"Debug": "Debug", "Debug": "Debug",
"DefaultCase": "Caso predeterminado", "DefaultCase": "Caso predeterminado",
"DefaultDelayProfileMovie": "Este es el perfil predeterminado. Se aplica a todas las películas que no tienen un perfil explícito.", "DefaultDelayProfileMovie": "Este es el perfil predeterminado. Se aplica a todas las películas que no tienen un perfil explícito.",
"DeleteFilesHelpText": "Eliminar los archivos de película y la carpeta de películas", "DeleteMovieFilesHelpText": "Eliminar los archivos de película y la carpeta de películas",
"DeleteHeader": "Eliminar: {0}", "DeleteHeader": "Eliminar: {0}",
"DeleteMovieFolderHelpText": "Eliminar la carpeta de películas y su contenido", "DeleteMovieFolderHelpText": "Eliminar la carpeta de películas y su contenido",
"DeleteSelectedMovie": "Eliminar película (s) seleccionada (s)", "DeleteSelectedMovie": "Eliminar película (s) seleccionada (s)",
"DeleteTheMovieFolder": "Se eliminará la carpeta de películas '{path}' y todo su contenido.", "DeleteMovieFolderConfirmation": "Se eliminará la carpeta de películas '{path}' y todo su contenido.",
"Discord": "Discord", "Discord": "Discord",
"Donations": "Donaciones", "Donations": "Donaciones",
"DoneEditingGroups": "Terminado de editar grupos", "DoneEditingGroups": "Terminado de editar grupos",
@ -862,7 +862,7 @@
"FolderMoveRenameWarning": "Esto también cambiará el nombre de la carpeta de películas según el formato de carpeta de películas en la configuración.", "FolderMoveRenameWarning": "Esto también cambiará el nombre de la carpeta de películas según el formato de carpeta de películas en la configuración.",
"IMDb": "IMDb", "IMDb": "IMDb",
"InstallLatest": "Instala el último", "InstallLatest": "Instala el último",
"KeepAndUnmonitorMovie": "Mantener y anular la supervisión de la película", "KeepAndUnmonitorMovie": "Mantener y no monitorizar la película",
"Large": "Grande", "Large": "Grande",
"LastUsed": "Usado por última vez", "LastUsed": "Usado por última vez",
"LogOnly": "Sólo Registro", "LogOnly": "Sólo Registro",
@ -904,7 +904,7 @@
"RestartReloadNote": "Nota: {appName} se reiniciará automáticamente y recargará la interfaz durante el proceso de restauración.", "RestartReloadNote": "Nota: {appName} se reiniciará automáticamente y recargará la interfaz durante el proceso de restauración.",
"Score": "Puntuación", "Score": "Puntuación",
"Script": "Script", "Script": "Script",
"SearchCutoffUnmet": "Corte de búsqueda no alcanzado", "SearchCutoffUnmet": "Buscar límites no alcanzados",
"SearchMissing": "Buscar Faltantes", "SearchMissing": "Buscar Faltantes",
"Seconds": "Segundos", "Seconds": "Segundos",
"SelectLanguage": "Seleccionar idioma", "SelectLanguage": "Seleccionar idioma",
@ -952,7 +952,6 @@
"More": "Más", "More": "Más",
"Download": "Descargar", "Download": "Descargar",
"DownloadClientCheckDownloadingToRoot": "El cliente de descargas {downloadClientName} coloca las descargas en la carpeta raíz {path}. No debe descargar a una carpeta raíz.", "DownloadClientCheckDownloadingToRoot": "El cliente de descargas {downloadClientName} coloca las descargas en la carpeta raíz {path}. No debe descargar a una carpeta raíz.",
"DeleteFileLabel": "Eliminar {0} archivos de película",
"ImportListMultipleMissingRoots": "Múltiples carpetas raíz faltan para las listas de importación: {rootFoldersInfo}", "ImportListMultipleMissingRoots": "Múltiples carpetas raíz faltan para las listas de importación: {rootFoldersInfo}",
"ImportListMissingRoot": "Falta la capeta raíz para las listas: {rootFolderInfo}", "ImportListMissingRoot": "Falta la capeta raíz para las listas: {rootFolderInfo}",
"From": "de", "From": "de",
@ -1006,7 +1005,7 @@
"RemoveFailed": "Fallo al eliminar", "RemoveFailed": "Fallo al eliminar",
"RemotePathMappingCheckFolderPermissions": "{appName} puede ver pero no acceder al directorio de descarga {path}. Probablemente sea un error de permisos.", "RemotePathMappingCheckFolderPermissions": "{appName} puede ver pero no acceder al directorio de descarga {path}. Probablemente sea un error de permisos.",
"RemotePathMappingCheckGenericPermissions": "El cliente de descarga {downloadClientName} coloca las descargas en {path} pero {appName} no puede ver este directorio. Es posible que tenga que ajustar los permisos de la carpeta.", "RemotePathMappingCheckGenericPermissions": "El cliente de descarga {downloadClientName} coloca las descargas en {path} pero {appName} no puede ver este directorio. Es posible que tenga que ajustar los permisos de la carpeta.",
"RemoveDownloadsAlert": "Las opciones de Eliminar fueron movidas a las opciones del cliente de descarga individual en la table anterior.", "RemoveDownloadsAlert": "Las opciones de eliminación fueron trasladadas a las opciones del cliente de descarga individual en la tabla anterior.",
"RemotePathMappingCheckFilesLocalWrongOSPath": "El cliente de descarga local {downloadClientName} informó de la existencia de archivos en {path}, pero no es una ruta válida {osName}. Revise la configuración de su cliente de descarga.", "RemotePathMappingCheckFilesLocalWrongOSPath": "El cliente de descarga local {downloadClientName} informó de la existencia de archivos en {path}, pero no es una ruta válida {osName}. Revise la configuración de su cliente de descarga.",
"RemoveSelectedItem": "Eliminar elemento seleccionado", "RemoveSelectedItem": "Eliminar elemento seleccionado",
"RemoveSelectedItems": "Eliminar elementos seleccionados", "RemoveSelectedItems": "Eliminar elementos seleccionados",
@ -1048,7 +1047,7 @@
"ResetDefinitions": "Restablecer definiciones", "ResetDefinitions": "Restablecer definiciones",
"ResetQualityDefinitions": "Restablecer definiciones de calidad", "ResetQualityDefinitions": "Restablecer definiciones de calidad",
"ResetTitles": "Restablecer títulos", "ResetTitles": "Restablecer títulos",
"ThemeHelpText": "Cambiar el tema de la interfaz de la aplicación, el tema 'Auto' usará el tema de tu sistema para establecer el modo luminoso u oscuro. Inspirado por Theme.Park", "ThemeHelpText": "Cambia el tema de la interfaz de la aplicación, el tema 'Auto' usará el tema de tu sistema para establecer el modo luminoso u oscuro. Inspirado por Theme.Park",
"DownloadClientSortingCheckMessage": "El cliente de descarga {downloadClientName} tiene activada la clasificación {sortingMode} para la categoría de {appName}. Debe desactivar la clasificación en su cliente de descarga para evitar problemas de importación.", "DownloadClientSortingCheckMessage": "El cliente de descarga {downloadClientName} tiene activada la clasificación {sortingMode} para la categoría de {appName}. Debe desactivar la clasificación en su cliente de descarga para evitar problemas de importación.",
"EnableRssHelpText": "Se utilizará cuando {appName} busque periódicamente publicaciones a través de RSS Sync", "EnableRssHelpText": "Se utilizará cuando {appName} busque periódicamente publicaciones a través de RSS Sync",
"ShowOverview": "Presentación", "ShowOverview": "Presentación",
@ -1076,7 +1075,7 @@
"DeleteSelectedDownloadClients": "Borrar cliente(s) de descarga", "DeleteSelectedDownloadClients": "Borrar cliente(s) de descarga",
"DeleteSelectedIndexers": "Borrar indexador(es)", "DeleteSelectedIndexers": "Borrar indexador(es)",
"ApplyChanges": "Aplicar Cambios", "ApplyChanges": "Aplicar Cambios",
"AddAutoTag": "Añadir Etiqueta Automática", "AddAutoTag": "Añadir etiqueta automática",
"AddCondition": "Añadir Condición", "AddCondition": "Añadir Condición",
"AutoTagging": "Etiquetado Automático", "AutoTagging": "Etiquetado Automático",
"AutomaticAdd": "Añadir Automáticamente", "AutomaticAdd": "Añadir Automáticamente",
@ -1093,7 +1092,7 @@
"Complete": "Completado", "Complete": "Completado",
"DeleteRemotePathMappingMessageText": "¿Está seguro de querer eliminar esta asignación de ruta remota?", "DeleteRemotePathMappingMessageText": "¿Está seguro de querer eliminar esta asignación de ruta remota?",
"ListRefreshInterval": "Intervalo de Refresco de Lista", "ListRefreshInterval": "Intervalo de Refresco de Lista",
"ImportUsingScript": "Importar Script de Uso", "ImportUsingScript": "Importar usando un script",
"ImportScriptPath": "Importar Ruta de Script", "ImportScriptPath": "Importar Ruta de Script",
"CountIndexersSelected": "{count} indexador(es) seleccionado(s)", "CountIndexersSelected": "{count} indexador(es) seleccionado(s)",
"DeleteCondition": "Eliminar Condición", "DeleteCondition": "Eliminar Condición",
@ -1127,11 +1126,11 @@
"AddImportList": "Añadir Lista de Importación", "AddImportList": "Añadir Lista de Importación",
"AuthenticationRequired": "Autenticación requerida", "AuthenticationRequired": "Autenticación requerida",
"AuthenticationMethod": "Método de autenticación", "AuthenticationMethod": "Método de autenticación",
"AuthenticationMethodHelpTextWarning": "Por favor selecciona un método válido de autenticación", "AuthenticationMethodHelpTextWarning": "Por favor selecciona un método de autenticación válido",
"AuthenticationRequiredHelpText": "Cambiar para que las solicitudes requieran autenticación. No lo cambie a menos que entienda los riesgos.", "AuthenticationRequiredHelpText": "Cambia para qué solicitudes se requiere autenticación. No cambiar a menos que entiendas los riesgos.",
"AuthenticationRequiredPasswordHelpTextWarning": "Introduzca una nueva contraseña", "AuthenticationRequiredPasswordHelpTextWarning": "Introduce una nueva contraseña",
"AuthenticationRequiredUsernameHelpTextWarning": "Introduzca un nuevo nombre de usuario", "AuthenticationRequiredUsernameHelpTextWarning": "Introduce un nuevo usuario",
"AuthenticationRequiredWarning": "Para evitar el acceso remoto sin autenticación, {appName} ahora requiere que la autenticación esté habilitada. Opcionalmente puede desactivar la autenticación desde una dirección local.", "AuthenticationRequiredWarning": "Para evitar el acceso remoto sin autenticación, {appName} ahora requiere que la autenticación sea habilitada. Opcionalmente puedes deshabilitar la autenticación desde direcciones locales.",
"AutomaticUpdatesDisabledDocker": "Las actualizaciones automáticas no están soportadas directamente cuando se utiliza el mecanismo de actualización de Docker. Tendrá que actualizar la imagen del contenedor fuera de {appName} o utilizar un script", "AutomaticUpdatesDisabledDocker": "Las actualizaciones automáticas no están soportadas directamente cuando se utiliza el mecanismo de actualización de Docker. Tendrá que actualizar la imagen del contenedor fuera de {appName} o utilizar un script",
"AppUpdated": "{appName} Actualizado", "AppUpdated": "{appName} Actualizado",
"AudioLanguages": "Idiomas de Audio", "AudioLanguages": "Idiomas de Audio",
@ -1159,7 +1158,7 @@
"DeleteSelectedImportListsMessageText": "¿Estás seguro que quieres eliminar {count} lista(s) de importación seleccionada(s)?", "DeleteSelectedImportListsMessageText": "¿Estás seguro que quieres eliminar {count} lista(s) de importación seleccionada(s)?",
"AppUpdatedVersion": "{appName} ha sido actualizado a la versión `{version}`, para obtener los cambios más recientes, necesitará recargar {appName}", "AppUpdatedVersion": "{appName} ha sido actualizado a la versión `{version}`, para obtener los cambios más recientes, necesitará recargar {appName}",
"DeleteSelectedIndexersMessageText": "¿Estás seguro que quieres eliminar {count} indexador(es) seleccionado(s)?", "DeleteSelectedIndexersMessageText": "¿Estás seguro que quieres eliminar {count} indexador(es) seleccionado(s)?",
"DisabledForLocalAddresses": "Deshabilitado para Direcciones Locales", "DisabledForLocalAddresses": "Deshabilitada para direcciones locales",
"DeletedReasonManual": "El archivo fue eliminado usando {appName}, o bien manualmente o por otra herramienta a través de la API", "DeletedReasonManual": "El archivo fue eliminado usando {appName}, o bien manualmente o por otra herramienta a través de la API",
"DeletedReasonMissingFromDisk": "{appName} no ha podido encontrar el archivo en el disco, por lo que se ha desvinculado de la película en la base de datos", "DeletedReasonMissingFromDisk": "{appName} no ha podido encontrar el archivo en el disco, por lo que se ha desvinculado de la película en la base de datos",
"DeletedReasonUpgrade": "Se ha borrado el archivo para importar una versión mejorada", "DeletedReasonUpgrade": "Se ha borrado el archivo para importar una versión mejorada",
@ -1226,7 +1225,7 @@
"MovieFileDeleted": "Archivo de película eliminado", "MovieFileDeleted": "Archivo de película eliminado",
"MovieFileRenamedTooltip": "Archivo de película renombrado", "MovieFileRenamedTooltip": "Archivo de película renombrado",
"MovieFolderImportedTooltip": "Película importada de la carpeta de películas", "MovieFolderImportedTooltip": "Película importada de la carpeta de películas",
"InteractiveSearchModalHeader": "Búsqueda Interactiva", "InteractiveSearchModalHeader": "Búsqueda interactiva",
"MovieDownloadIgnoredTooltip": "Descarga de la película ignorada", "MovieDownloadIgnoredTooltip": "Descarga de la película ignorada",
"MovieDownloadFailedTooltip": "No se ha podido descargar la película", "MovieDownloadFailedTooltip": "No se ha podido descargar la película",
"MovieFileDeletedTooltip": "Archivo de película eliminado", "MovieFileDeletedTooltip": "Archivo de película eliminado",
@ -1261,12 +1260,12 @@
"IgnoreDownload": "Ignorar descarga", "IgnoreDownload": "Ignorar descarga",
"IgnoreDownloads": "Ignorar descargas", "IgnoreDownloads": "Ignorar descargas",
"IgnoreDownloadHint": "Detiene {appName} de procesar esta descarga más adelante", "IgnoreDownloadHint": "Detiene {appName} de procesar esta descarga más adelante",
"QualityCutoffNotMet": "Calidad del umbral que no ha sido alcanzado", "QualityCutoffNotMet": "No se ha alcanzado el límite de calidad",
"ImportUsingScriptHelpText": "Copiar archivos para importar usando un script (p. ej. para transcodificación)", "ImportUsingScriptHelpText": "Copia archivos para importar usando un script (p. ej. para transcodificación)",
"NoIndexersFound": "No se han encontrado indexadores", "NoIndexersFound": "No se han encontrado indexadores",
"StopSelecting": "Detener la Selección", "StopSelecting": "Detener la Selección",
"NotificationsEmailSettingsUseEncryption": "Usar Cifrado", "NotificationsEmailSettingsUseEncryption": "Usar Cifrado",
"PasswordConfirmation": "Confirmación de Contraseña", "PasswordConfirmation": "Confirmación de contraseña",
"NoDownloadClientsFound": "No se han encontrado clientes de descarga", "NoDownloadClientsFound": "No se han encontrado clientes de descarga",
"OnHealthRestored": "Al resolver las incidencias", "OnHealthRestored": "Al resolver las incidencias",
"NotificationsDiscordSettingsAuthor": "Autor", "NotificationsDiscordSettingsAuthor": "Autor",
@ -1448,7 +1447,7 @@
"NotificationsSynologyValidationTestFailed": "No es Synology o synoindex no está disponible", "NotificationsSynologyValidationTestFailed": "No es Synology o synoindex no está disponible",
"NotificationsTelegramSettingsBotToken": "Token de bot", "NotificationsTelegramSettingsBotToken": "Token de bot",
"NotificationsValidationUnableToConnect": "No se pudo conectar: {exceptionMessage}", "NotificationsValidationUnableToConnect": "No se pudo conectar: {exceptionMessage}",
"RemoveTagsAutomaticallyHelpText": "Eliminar etiquetas automáticamente si las condiciones no se cumplen", "RemoveTagsAutomaticallyHelpText": "Elimina etiquetas automáticamente si las condiciones no se cumplen",
"SkipRedownload": "Saltar redescarga", "SkipRedownload": "Saltar redescarga",
"TorrentBlackhole": "Blackhole de torrent", "TorrentBlackhole": "Blackhole de torrent",
"UnknownDownloadState": "Estado de descarga desconocido: {state}", "UnknownDownloadState": "Estado de descarga desconocido: {state}",
@ -1716,7 +1715,7 @@
"ShowImdbRatingHelpText": "Mostrar valoraciones de IMDb debajo del póster", "ShowImdbRatingHelpText": "Mostrar valoraciones de IMDb debajo del póster",
"ShowImdbRating": "Mostrar valoraciones de IMDb", "ShowImdbRating": "Mostrar valoraciones de IMDb",
"MovieFileMissingTooltip": "Archivo de película perdido", "MovieFileMissingTooltip": "Archivo de película perdido",
"CutoffNotMet": "Umbrales no alcanzados", "CutoffNotMet": "Límite no alcanzado",
"Dash": "Guion", "Dash": "Guion",
"ImportScriptPathHelpText": "La ruta al script a usar para importar", "ImportScriptPathHelpText": "La ruta al script a usar para importar",
"MovieFolderFormatHelpText": "Usado cuando se añade una nueva película o se mueven películas a través del editor de películas", "MovieFolderFormatHelpText": "Usado cuando se añade una nueva película o se mueven películas a través del editor de películas",
@ -1750,10 +1749,37 @@
"NoMovieFilesToManage": "Ningún archivo de película para gestionar.", "NoMovieFilesToManage": "Ningún archivo de película para gestionar.",
"Underscore": "Guion bajo", "Underscore": "Guion bajo",
"AddDelayProfileError": "No se pudo añadir un nuevo perfil de retraso, por favor inténtalo de nuevo.", "AddDelayProfileError": "No se pudo añadir un nuevo perfil de retraso, por favor inténtalo de nuevo.",
"ChownGroup": "chown grupo", "ChownGroup": "chown del grupo",
"RegularExpressionsTutorialLink": "Más detalles de las expresiones regulares pueden ser encontrados [aquí](https://www.regular-expressions.info/tutorial.html).", "RegularExpressionsTutorialLink": "Más detalles de las expresiones regulares pueden ser encontrados [aquí](https://www.regular-expressions.info/tutorial.html).",
"ReleaseGroupFootNote": "Opcionalmente controla el truncamiento hasta un número máximo de bytes, incluyendo elipsis (`...`). Está soportado truncar tanto desde el final (p. ej. `{Grupo de lanzamiento:30}`) como desde el principio (p. ej. `{Grupo de lanzamiento:-30}`).", "ReleaseGroupFootNote": "Opcionalmente controla el truncamiento hasta un número máximo de bytes, incluyendo elipsis (`...`). Está soportado truncar tanto desde el final (p. ej. `{Grupo de lanzamiento:30}`) como desde el principio (p. ej. `{Grupo de lanzamiento:-30}`).",
"EditionFootNote": "Opcionalmente controla el truncamiento hasta un número máximo de bytes, incluyendo elipsis (`...`). Está soportado truncar tanto desde el final (p. ej. `{Etiquetas de edición:30}`) como desde el principio (p. ej. `{Etiquetas de edición:-30}`).", "EditionFootNote": "Opcionalmente controla el truncamiento hasta un número máximo de bytes, incluyendo elipsis (`...`). Está soportado truncar tanto desde el final (p. ej. `{Etiquetas de edición:30}`) como desde el principio (p. ej. `{Etiquetas de edición:-30}`).",
"MovieFootNote": "Opcionalmente controla el truncamiento hasta un número máximo de bytes, incluyendo elipsis (`...`). Está soportado truncar tanto desde el final (p. ej. `{Título de película:30}`) como desde el principio (p. ej. `{Título de película:-30}`).", "MovieFootNote": "Opcionalmente controla el truncamiento hasta un número máximo de bytes, incluyendo elipsis (`...`). Está soportado truncar tanto desde el final (p. ej. `{Título de película:30}`) como desde el principio (p. ej. `{Título de película:-30}`).",
"DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent está reportando archivos faltantes" "DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent está reportando archivos faltantes",
"IndexerSettingsSeedRatioHelpText": "El ratio que un torrent debería alcanzar antes de parar, vacío usa el predeterminado del cliente de descarga. El ratio debería ser al menos 1.0 y seguir las reglas de los indexadores",
"IndexerSettingsSeedRatio": "Ratio de sembrado",
"IndexerSettingsSeedTime": "Tiempo de sembrado",
"IndexerSettingsSeedTimeHelpText": "El tiempo que un torrent debería ser sembrado antes de parar, vacío usa el predeterminado del cliente de descarga",
"IncludePopular": "Incluir populares",
"IncludePopularMoviesHelpText": "Incluye películas populares en TMDb",
"IncludeTrending": "Incluir tendencias",
"IncludeTrendingMoviesHelpText": "Incluye películas en tendencia en TMDb",
"BlocklistFilterHasNoItems": "El filtro de lista de bloqueo seleccionado no contiene elementos",
"NoMovieReleaseDatesAvailable": "Ninguna fecha de lanzamiento disponible en TMDb para esta película.",
"CutoffUnmetLoadError": "Error cargando elementos con límites no alcanzados",
"CutoffUnmetNoItems": "Ningún elemento con límites no alcanzados",
"External": "Externa",
"InteractiveSearchModalHeaderTitle": "Búsqueda interactiva - {title}",
"MassSearchCancelWarning": "No puede ser cancelado una vez comience sin reiniciar {appName} o deshabilitar todos tus indexadores.",
"MissingLoadError": "Error cargando elementos faltantes",
"MissingNoItems": "Ningún elemento faltante",
"MonitorSelected": "Monitorizar seleccionados",
"MovieDownloaded": "Película descargada",
"MovieIsNotAvailable": "La película no está disponible",
"MovieIsNotMonitored": "La película no está monitorizada",
"MovieMissingFromDisk": "Película faltante en el disco",
"SearchForAllMissingMovies": "Buscar todas las películas faltantes",
"SearchForAllMissingMoviesConfirmationCount": "¿Estás seguro que quieres buscar las {totalRecords} películas faltantes?",
"SearchForCutoffUnmetMovies": "Buscar todas las películas con límites no alcanzados",
"SearchForCutoffUnmetMoviesConfirmationCount": "¿Estás seguro que quieres buscar las {totalRecords} películas con límites no alcanzados?",
"UnmonitorSelected": "No monitorizar seleccionados"
} }

View File

@ -118,7 +118,7 @@
"DeleteBackup": "Poista varmuuskopio", "DeleteBackup": "Poista varmuuskopio",
"DeleteCustomFormat": "Poista mukautettu muoto", "DeleteCustomFormat": "Poista mukautettu muoto",
"DeletedMsg": "Elokuva poistettiin TMDB:stä.", "DeletedMsg": "Elokuva poistettiin TMDB:stä.",
"DeleteMovieFolderLabel": "Poista elokuvakansio", "DeleteMovieFolder": "Poista elokuvakansio",
"DockerUpdater": "päivitä Docker-säiliö vastaanottaaksesi päivityksen", "DockerUpdater": "päivitä Docker-säiliö vastaanottaaksesi päivityksen",
"Enabled": "Käytössä", "Enabled": "Käytössä",
"ExcludeMovie": "Lisää elokuva pokkeuksiin", "ExcludeMovie": "Lisää elokuva pokkeuksiin",
@ -470,8 +470,8 @@
"DeleteEmptyFolders": "Poista tyhjät kansiot", "DeleteEmptyFolders": "Poista tyhjät kansiot",
"DeleteEmptyFoldersHelpText": "Poista tyhjät elokuvakansiot kirjastotarkistuksen ja elokuvatiedostojen poiston yhteydessä.", "DeleteEmptyFoldersHelpText": "Poista tyhjät elokuvakansiot kirjastotarkistuksen ja elokuvatiedostojen poiston yhteydessä.",
"DeleteFile": "Poista tiedosto", "DeleteFile": "Poista tiedosto",
"DeleteFilesHelpText": "Poista elokuvatiedostot ja -kansio", "DeleteMovieFilesHelpText": "Poista elokuvatiedostot ja -kansio",
"DeleteFilesLabel": "Poista {0} elokuvatiedostoa", "DeleteMovieFiles": "Poista {0} elokuvatiedostoa",
"DeleteHeader": "Poista - {0}", "DeleteHeader": "Poista - {0}",
"DeleteImportListExclusion": "Poista tuontilistapoikkeus", "DeleteImportListExclusion": "Poista tuontilistapoikkeus",
"DeleteIndexer": "Poista tietolähde", "DeleteIndexer": "Poista tietolähde",
@ -483,7 +483,7 @@
"DeleteRestrictionHelpText": "Haluatko varmasti poistaa rajoituksen?", "DeleteRestrictionHelpText": "Haluatko varmasti poistaa rajoituksen?",
"DeleteSelectedMovie": "Poista valitut elokuvat", "DeleteSelectedMovie": "Poista valitut elokuvat",
"DeleteTagMessageText": "Haluatko varmasti poistaa tunnisteen \"{label}\"?", "DeleteTagMessageText": "Haluatko varmasti poistaa tunnisteen \"{label}\"?",
"DeleteTheMovieFolder": "Elokuvakansio \"{path}\" ja kaikki sen sisältö poistetaan.", "DeleteMovieFolderConfirmation": "Elokuvakansio \"{path}\" ja kaikki sen sisältö poistetaan.",
"DestinationRelativePath": "Kohde suhteessa polkuun", "DestinationRelativePath": "Kohde suhteessa polkuun",
"DetailedProgressBar": "Yksityiskohtainen tilapalkki", "DetailedProgressBar": "Yksityiskohtainen tilapalkki",
"Details": "Tiedot", "Details": "Tiedot",
@ -958,7 +958,6 @@
"More": "Lisää", "More": "Lisää",
"Download": "Lataa", "Download": "Lataa",
"DownloadClientCheckDownloadingToRoot": "Lataustyökalu \"{downloadClientName}\" tallentaa lataukset juurikansioon \"{path}\", mutta ne tulisi tallentaa muualle.", "DownloadClientCheckDownloadingToRoot": "Lataustyökalu \"{downloadClientName}\" tallentaa lataukset juurikansioon \"{path}\", mutta ne tulisi tallentaa muualle.",
"DeleteFileLabel": "Poista {0} elokuvatiedosto",
"Blocklist": "Estolista", "Blocklist": "Estolista",
"BlocklistRelease": "Lisää julkaisu estolistalle", "BlocklistRelease": "Lisää julkaisu estolistalle",
"RemoveFromBlocklist": "Poista estolistalta", "RemoveFromBlocklist": "Poista estolistalta",
@ -1713,5 +1712,34 @@
"Label": "Nimi", "Label": "Nimi",
"LabelIsRequired": "Nimi on pakollinen", "LabelIsRequired": "Nimi on pakollinen",
"SetIndexerFlags": "Aseta tietolähteen liput", "SetIndexerFlags": "Aseta tietolähteen liput",
"Lists": "Listat" "Lists": "Listat",
"External": "Ulkoinen",
"MissingLoadError": "Virhe ladattaessa puuttuvia kohteita",
"IncludeHealthWarnings": "Sisällytä kuntovaroitukset",
"AutoTaggingSpecificationTag": "Tunniste",
"CutoffUnmetLoadError": "Virhe ladattaessa katkaisutasoa saavuttamattomia kohteita",
"CutoffUnmetNoItems": "Katkaisutasoa saavuttamattomia kohteita ei ole.",
"DownloadClientDelugeSettingsDirectoryHelpText": "Valinnainen latuasten tallennussijainti. Käytä Aria2-oletusta jättämällä tyhjäksi.",
"DownloadClientVuzeValidationErrorVersion": "Protokollan versiota ei tueta. Käytä vähintään Vuze-versiota 5.0.0.0 sekä Vuze Web Remote -lisäosaa.",
"MassSearchCancelWarning": "Tätä ei ole mahdollista pysäyttää kuin käynnistämällä {appName}ia uudelleen tai poistamalla kaikki tietolähteet käytöstä.",
"MissingNoItems": "Puuttuvia kohteita ei ole.",
"MonitorSelected": "Valvo valittuja",
"UnmonitorSelected": "Lopeta valittujen valvonta",
"DownloadClientValidationErrorVersion": "{clientName} version tulee olla vähintään {requiredVersion}. Ilmoitettu versio on {reportedVersion}.",
"AddListExclusion": "Lisää tuontilistojen poikkeussääntö",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Valinnainen latuasten tallennussijainti. Käytä Aria2-oletusta jättämällä tyhjäksi.",
"ConnectionSettingsUrlBaseHelpText": "Lisää etuliite lataustuökalun {clientName} URL-osoitteeseen, kuten {url}.",
"UrlBaseHelpText": "Lisää {appName}in URL-osoitteeseen jälkiliitteen, esim. \"http://[osoite]:[portti]/[URL-perusta]\". Oletusarvo on tyhjä.",
"IndexerSettingsMultiLanguageRelease": "Monikielinen",
"IndexerSettingsSeedRatio": "Jakosuhde",
"IndexerSettingsSeedRatioHelpText": "Suhde, joka torrentin tulee saavuttaa ennen sen pysäytystä. Käytä lataustyökalun oletusta jättämällä tyhjäksi. Suhteen tulisi olla ainakin 1.0 ja noudattaa tietolähteen sääntöjä.",
"IndexerSettingsSeedTime": "Jakoaika",
"IndexerSettingsSeedTimeHelpText": "Aika, joka torrentia tulee jakaa ennen sen pysäytystä. Käytä lataustyökalun oletusta jättämällä tyhjäksi.",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Valinnainen latuasten tallennussijainti. Käytä Aria2-oletusta jättämällä tyhjäksi.",
"MovieIsNotMonitored": "Elokuvaa ei valvota",
"SearchForAllMissingMovies": "Etsi kaikkia puuttuvia kirjoja",
"SearchForAllMissingMoviesConfirmationCount": "Haluatko varmasti etsiä '{0}' puuttuvaa albumia?",
"DownloadClientValidationGroupMissingDetail": "Syötettyä kategoriaa ei ole lautaustyökalussa {clientName}. Luo se sinne ensin.",
"SearchForCutoffUnmetMovies": "Etsi kaikkia kirjoja, joiden katkaisutasoa ei ole savutettu",
"SearchForCutoffUnmetMoviesConfirmationCount": "Haluatko varmasti etsiä kaikkia {totalRecords} katkaisutasoa saavuttamattomia jaksoja?"
} }

View File

@ -763,7 +763,7 @@
"ChmodFolderHelpTextWarning": "Cela ne fonctionne que si l'utilisateur qui exécute {appName} est le propriétaire du fichier. Il est préférable de s'assurer que le client de téléchargement définit correctement les permissions.", "ChmodFolderHelpTextWarning": "Cela ne fonctionne que si l'utilisateur qui exécute {appName} est le propriétaire du fichier. Il est préférable de s'assurer que le client de téléchargement définit correctement les permissions.",
"ChownGroupHelpTextWarning": "Fonctionne uniquement si l'utilisateur exécutant {appName} est le propriétaire du fichier. Il est recommandé de vérifier que le client de téléchargement utilise le meme Groupe que {appName}.", "ChownGroupHelpTextWarning": "Fonctionne uniquement si l'utilisateur exécutant {appName} est le propriétaire du fichier. Il est recommandé de vérifier que le client de téléchargement utilise le meme Groupe que {appName}.",
"DefaultDelayProfileMovie": "Ceci est le profil par défaut. Il est appliqué à tous les films qui n'ont pas de profils spécifiques.", "DefaultDelayProfileMovie": "Ceci est le profil par défaut. Il est appliqué à tous les films qui n'ont pas de profils spécifiques.",
"DeleteTheMovieFolder": "Le dossier du film '{path}' et son contenu vont être supprimés.", "DeleteMovieFolderConfirmation": "Le dossier du film '{path}' et son contenu vont être supprimés.",
"EditDelayProfile": "Modifier le profil de retard", "EditDelayProfile": "Modifier le profil de retard",
"EditQualityProfile": "Modifier le profil de qualité", "EditQualityProfile": "Modifier le profil de qualité",
"ErrorRestoringBackup": "Erreur lors de la restauration de la sauvegarde", "ErrorRestoringBackup": "Erreur lors de la restauration de la sauvegarde",
@ -800,11 +800,11 @@
"Debug": "Déboguer", "Debug": "Déboguer",
"DefaultCase": "Case par défaut", "DefaultCase": "Case par défaut",
"DeletedMsg": "Le film a été supprimé de TMDb", "DeletedMsg": "Le film a été supprimé de TMDb",
"DeleteFilesHelpText": "Supprimer les fichiers du film et dossier du film", "DeleteMovieFilesHelpText": "Supprimer les fichiers du film et dossier du film",
"DeleteFilesLabel": "Supprimer {0} fichiers", "DeleteMovieFiles": "Supprimer {0} fichiers",
"DeleteHeader": "Supprimer - {0}", "DeleteHeader": "Supprimer - {0}",
"DeleteMovieFolderHelpText": "Supprimer le dossier du film et son contenu", "DeleteMovieFolderHelpText": "Supprimer le dossier du film et son contenu",
"DeleteMovieFolderLabel": "Supprimer le dossier du film", "DeleteMovieFolder": "Supprimer le dossier du film",
"DeleteSelectedMovie": "Supprimer le(s) film(s) sélectionné(s)", "DeleteSelectedMovie": "Supprimer le(s) film(s) sélectionné(s)",
"Discord": "Discord", "Discord": "Discord",
"DockerUpdater": "mettre à jour le conteneur docker pour recevoir la mise à jour", "DockerUpdater": "mettre à jour le conteneur docker pour recevoir la mise à jour",
@ -960,7 +960,6 @@
"More": "Plus", "More": "Plus",
"Download": "Téléchargement", "Download": "Téléchargement",
"DownloadClientCheckDownloadingToRoot": "Le client de téléchargement {downloadClientName} place les téléchargements dans le dossier racine {path}. Vous ne devez pas télécharger dans un dossier racine.", "DownloadClientCheckDownloadingToRoot": "Le client de téléchargement {downloadClientName} place les téléchargements dans le dossier racine {path}. Vous ne devez pas télécharger dans un dossier racine.",
"DeleteFileLabel": "Supprimer {0} fichiers",
"NotificationTriggersHelpText": "Sélectionnez les événements qui doivent déclencher cette notification", "NotificationTriggersHelpText": "Sélectionnez les événements qui doivent déclencher cette notification",
"From": "de", "From": "de",
"UpdateAvailable": "Une nouvelle mise à jour est disponible", "UpdateAvailable": "Une nouvelle mise à jour est disponible",
@ -1751,5 +1750,36 @@
"NotificationsTelegramSettingsIncludeAppName": "Inclure {appName} dans le Titre", "NotificationsTelegramSettingsIncludeAppName": "Inclure {appName} dans le Titre",
"NotificationsTelegramSettingsIncludeAppNameHelpText": "Préfixer éventuellement le titre du message par {appName} pour différencier les notifications des différentes applications", "NotificationsTelegramSettingsIncludeAppNameHelpText": "Préfixer éventuellement le titre du message par {appName} pour différencier les notifications des différentes applications",
"IndexerSettingsMultiLanguageReleaseHelpText": "Quelles langues sont normalement présentes dans une version multiple de l'indexeur ?", "IndexerSettingsMultiLanguageReleaseHelpText": "Quelles langues sont normalement présentes dans une version multiple de l'indexeur ?",
"IndexerSettingsMultiLanguageRelease": "Multilingue" "IndexerSettingsMultiLanguageRelease": "Multilingue",
"IncludePopularMoviesHelpText": "Inclure les films populaires sur TMDb",
"MovieDownloaded": "Film téléchargé",
"MovieMissingFromDisk": "Film manquant du disque",
"BlocklistFilterHasNoItems": "Le filtre de la liste de blocage choisie ne contient pas d'élements",
"DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent ne trouve pas certains fichiers",
"IncludePopular": "Inclure les films populaires",
"IncludeTrending": "Inclure les films à la mode",
"IncludeTrendingMoviesHelpText": "Inclure les films à la mode sur TMDb",
"InteractiveSearchModalHeaderTitle": "Recherche interactive - {title}",
"MovieIsNotAvailable": "Film indisponible",
"MovieIsNotMonitored": "Film non surveillé",
"NoMovieReleaseDatesAvailable": "Aucune date de sortie n'est disponible sur TMDb pour ce film.",
"SearchForAllMissingMovies": "Chercher touts les films manquants",
"SearchForAllMissingMoviesConfirmationCount": "Êtes-vous sûr de vouloir lancer la recherche pour touts les {totalRecords} films manquants ?",
"ReleaseGroupFootNote": "Contrôlez éventuellement la troncature à un nombre maximum d'octets, y compris les points de suspension (`...`). La troncature de la fin (par exemple `{Release Group:30}`) ou du début (par exemple `{Release Group:-30}`) sont toutes deux prises en charge.`).",
"IndexerSettingsSeedRatio": "Ratio d'envoie",
"IndexerSettingsSeedRatioHelpText": "Le ratio qu'un torrent doit atteindre avant de s'arrêter, vide utilise la valeur par défaut du client de téléchargement. Le ratio doit être d'au moins 1.0 et suivre les règles des indexeurs",
"IndexerSettingsSeedTime": "Temps d'envoie",
"IndexerSettingsSeedTimeHelpText": "Durée pendant laquelle un torrent doit être envoyé avant de s'arrêter, vide utilise la valeur par défaut du client de téléchargement",
"CutoffUnmetLoadError": "Erreur lors du chargement des éléments non satisfaits",
"CutoffUnmetNoItems": "Aucun élément non satisfait",
"External": "Externe",
"MassSearchCancelWarning": "Cette opération ne peut pas être annulée une fois démarrée sans redémarrer {appName} ou désactiver tous vos indexeurs.",
"MissingLoadError": "Erreur lors du chargement des éléments manquants",
"MissingNoItems": "Aucun élément manquant",
"MonitorSelected": "Surveillance sélectionnée",
"UnmonitorSelected": "Arrêter de surveiller la sélection",
"EditionFootNote": "Modifier l'indexeur - {implementationName}",
"SearchForCutoffUnmetMovies": "Rechercher tous les albums de Cutoff Unmet",
"SearchForCutoffUnmetMoviesConfirmationCount": "Êtes-vous sûr de vouloir rechercher tous les épisodes {totalRecords} Cutoff Unmet ?",
"MovieFootNote": "Contrôlez éventuellement la troncature à un nombre maximum d'octets, y compris les points de suspension (`...`). La troncature de la fin (par exemple `{Series Title:30}`) ou du début (par exemple `{Series Title:-30}`) sont toutes deux prises en charge."
} }

View File

@ -162,7 +162,7 @@
"History": "הִיסטוֹרִיָה", "History": "הִיסטוֹרִיָה",
"DeletedMsg": "הסרט נמחק מ- TMDb", "DeletedMsg": "הסרט נמחק מ- TMDb",
"DeleteDownloadClient": "מחק את לקוח ההורדות", "DeleteDownloadClient": "מחק את לקוח ההורדות",
"DeleteMovieFolderLabel": "מחק את תיקיית הסרטים", "DeleteMovieFolder": "מחק את תיקיית הסרטים",
"DockerUpdater": "עדכן את מיכל העגינה לקבל את העדכון", "DockerUpdater": "עדכן את מיכל העגינה לקבל את העדכון",
"DownloadClientStatusCheckAllClientMessage": "כל לקוחות ההורדה אינם זמינים עקב כשלים", "DownloadClientStatusCheckAllClientMessage": "כל לקוחות ההורדה אינם זמינים עקב כשלים",
"Enabled": "מופעל", "Enabled": "מופעל",
@ -464,8 +464,8 @@
"DeleteDelayProfile": "מחק פרופיל עיכוב", "DeleteDelayProfile": "מחק פרופיל עיכוב",
"DeleteDownloadClientMessageText": "האם אתה בטוח שברצונך למחוק את לקוח ההורדות '{0}'?", "DeleteDownloadClientMessageText": "האם אתה בטוח שברצונך למחוק את לקוח ההורדות '{0}'?",
"DeleteEmptyFoldersHelpText": "מחק תיקיות סרטים ריקות במהלך סריקת הדיסק וכאשר קבצי סרט נמחקים", "DeleteEmptyFoldersHelpText": "מחק תיקיות סרטים ריקות במהלך סריקת הדיסק וכאשר קבצי סרט נמחקים",
"DeleteFilesHelpText": "מחק את קבצי הסרט ותיקיית הסרט", "DeleteMovieFilesHelpText": "מחק את קבצי הסרט ותיקיית הסרט",
"DeleteFilesLabel": "מחק {0} קבצי סרט", "DeleteMovieFiles": "מחק {0} קבצי סרט",
"DeleteHeader": "מחק - {0}", "DeleteHeader": "מחק - {0}",
"DeleteImportListExclusion": "מחק אי הכללת רשימות ייבוא", "DeleteImportListExclusion": "מחק אי הכללת רשימות ייבוא",
"DeleteIndexer": "מחק את אינדקס", "DeleteIndexer": "מחק את אינדקס",
@ -479,7 +479,7 @@
"DeleteSelectedMovie": "מחק את הסרטים שנבחרו", "DeleteSelectedMovie": "מחק את הסרטים שנבחרו",
"DeleteSelectedMovieFiles": "מחק קבצי סרטים שנבחרו", "DeleteSelectedMovieFiles": "מחק קבצי סרטים שנבחרו",
"DeleteTagMessageText": "האם אתה בטוח שברצונך למחוק את התג '{0}'?", "DeleteTagMessageText": "האם אתה בטוח שברצונך למחוק את התג '{0}'?",
"DeleteTheMovieFolder": "תיקיית הסרטים '{0}' וכל תוכן זה יימחקו.", "DeleteMovieFolderConfirmation": "תיקיית הסרטים '{0}' וכל תוכן זה יימחקו.",
"DestinationRelativePath": "מסלול יחסי יעד", "DestinationRelativePath": "מסלול יחסי יעד",
"DetailedProgressBar": "סרגל התקדמות מפורט", "DetailedProgressBar": "סרגל התקדמות מפורט",
"Details": "פרטים", "Details": "פרטים",
@ -959,7 +959,6 @@
"More": "יותר", "More": "יותר",
"Download": "הורד", "Download": "הורד",
"DownloadClientCheckDownloadingToRoot": "הורד לקוח {downloadClientName} ממקם הורדות בתיקיית הבסיס {path}. אתה לא צריך להוריד לתיקיית שורש.", "DownloadClientCheckDownloadingToRoot": "הורד לקוח {downloadClientName} ממקם הורדות בתיקיית הבסיס {path}. אתה לא צריך להוריד לתיקיית שורש.",
"DeleteFileLabel": "מחק {0} קבצי סרט",
"Blocklist": "רשימה שחורה", "Blocklist": "רשימה שחורה",
"BlocklistRelease": "שחרור הרשימה השחורה", "BlocklistRelease": "שחרור הרשימה השחורה",
"RemoveFromBlocklist": "הסר מהרשימה השחורה", "RemoveFromBlocklist": "הסר מהרשימה השחורה",
@ -1026,5 +1025,84 @@
"ApplyTagsHelpTextReplace": "החלף: החלף את התגים בתגיות שהוזנו (אין להזין תגים כדי למחוק את כל התגים)", "ApplyTagsHelpTextReplace": "החלף: החלף את התגים בתגיות שהוזנו (אין להזין תגים כדי למחוק את כל התגים)",
"DeleteFormatMessageText": "האם אתה בטוח שברצונך למחוק את תג הפורמט {0}?", "DeleteFormatMessageText": "האם אתה בטוח שברצונך למחוק את תג הפורמט {0}?",
"DeleteImportListExclusionMessageText": "האם אתה בטוח שברצונך למחוק אי הכללה זו של רשימת הייבוא?", "DeleteImportListExclusionMessageText": "האם אתה בטוח שברצונך למחוק אי הכללה זו של רשימת הייבוא?",
"DeleteSelectedDownloadClients": "מחק את לקוח ההורדות" "DeleteSelectedDownloadClients": "מחק את לקוח ההורדות",
"Lists": "רשימות",
"AutoTaggingSpecificationTag": "טאג",
"DeleteSpecification": "מחק הודעה",
"DeleteSpecificationHelpText": "האם אתה בטוח שברצונך למחוק את פרופיל האיכות {0}",
"FormatAgeMinutes": "דקות",
"GrabId": "תעודת זהות",
"HistoryLoadError": "לא ניתן לטעון את ההיסטוריה",
"QualitiesLoadError": "לא ניתן לטעון איכויות",
"RestartLater": "אתחיל מאוחר יותר",
"SelectDropdown": "'בחר...",
"DeletedReasonUpgrade": "הקובץ נמחק כדי לייבא שדרוג",
"DownloadClientsLoadError": "לא ניתן לטעון לקוחות הורדות",
"TablePageSize": "גודל עמוד",
"QualityCutoffNotMet": "קיצוץ האיכות לא נפגש",
"Category": "קטגוריה",
"AutoTaggingNegateHelpText": "אם מסומן, הפורמט המותאם אישית לא יחול אם תנאי זה {0} תואם.",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "ציון פורמט מותאם אישית מינימלי",
"ConnectionLostReconnect": "Radarr ינסה להתחבר אוטומטית, או שתלחץ על טען מחדש למטה.",
"RetryingDownloadOn": "מעכב את ההורדה עד {0} בשעה {1}",
"ConditionUsingRegularExpressions": "תנאי זה תואם שימוש בביטויים רגולריים. שים לב שלדמויות {0} יש משמעויות מיוחדות וצריך לברוח באמצעות {1}",
"DeleteAutoTagHelpText": "האם אתה בטוח שברצונך למחוק את פרופיל האיכות {0}",
"DeleteImportListMessageText": "האם אתה בטוח שברצונך למחוק את פרופיל האיכות {0}",
"OrganizeNothingToRename": "הַצלָחָה! העבודה שלי נעשית, אין קבצים לשינוי שם.",
"ReleaseProfilesLoadError": "לא ניתן לטעון פרופילי עיכוב",
"RemoveQueueItemConfirmation": "האם אתה בטוח שברצונך להסיר את {0} פריט {1} מהתור?",
"Yes": "כן",
"AddAutoTag": "הוסף טגית אוטומטית",
"DeleteQualityProfileMessageText": "האם אתה בטוח שברצונך למחוק את פרופיל האיכות {0}",
"ApplyTagsHelpTextHowToApplyDownloadClients": "כיצד להחיל תגים על הסרטים שנבחרו",
"DisabledForLocalAddresses": "מושבת לכתובות מקומיות",
"FormatAgeHour": "שעה (ות",
"NotificationStatusSingleClientHealthCheckMessage": "רשימות לא זמינות בגלל כשלים: {notificationNames}",
"OrganizeLoadError": "שגיאה בטעינת תצוגה מקדימה",
"QueueLoadError": "טעינת התור נכשלה",
"TablePageSizeHelpText": "מספר הפריטים להצגה בכל עמוד",
"BlocklistLoadError": "לא ניתן לטעון את הרשימה השחורה",
"RemoveSelectedBlocklistMessageText": "האם אתה בטוח שברצונך להסיר את הפריטים שנבחרו מהרשימה השחורה?",
"AuthenticationRequiredWarning": "בכדי למנוע גישה מרחוק ללא אימות, {appName} דורש הגדרת אימות.\nהגדר את הפרטים ושיטת האימות. ישנה אפשרות לדלג על אימות מהרשת הביתית שלך. \nבמידת הצורך יש לפנות אל שו״ת למידע נוסף.",
"IncludeHealthWarnings": "כלול אזהרות בריאות",
"IndexerSettingsMultiLanguageRelease": "ריבוי שפות",
"PreferredProtocol": "פרוטוקול מועדף",
"FormatAgeHours": "שעה (ות",
"FormatAgeMinute": "דקות",
"AutoRedownloadFailed": "הורדה נכשלה",
"DelayProfileMovieTagsHelpText": "חל על סרטים עם תג אחד לפחות תואם",
"AddRootFolderError": "לא ניתן לטעון תיקיות שורש",
"AddListExclusion": "הוסף אי הכללת רשימה",
"ApplyTagsHelpTextHowToApplyImportLists": "כיצד להחיל תגים על הסרטים שנבחרו",
"AuthenticationRequired": "נדרש אימות",
"AuthenticationRequiredHelpText": "הגדר עבור אילו קריאות נדרש אימות. עדיף להשאיר את ברירת המחדל.",
"MustContainHelpText": "המהדורה חייבת להכיל לפחות אחד ממונחים אלה (חסר רישיות)",
"Release": "מְשׁוּחרָר",
"Theme": "ערכת נושא",
"NotificationStatusAllClientHealthCheckMessage": "כל הרשימות אינן זמינות בגלל כשלים",
"ReleaseGroups": "קבוצת שחרור",
"CustomFilter": "מסננים מותאמים אישית",
"DeleteReleaseProfileMessageText": "האם אתה בטוח שברצונך למחוק את פרופיל האיכות {0}",
"DelayingDownloadUntil": "מעכב את ההורדה עד {0} בשעה {1}",
"MoveAutomatically": "ייבוא מהיר",
"DeleteReleaseProfile": "מחק פרופיל עיכוב",
"InteractiveSearchModalHeader": "חיפוש אינטראקטיבי",
"InteractiveImportLoadError": "לא ניתן לטעון פריטי ייבוא ידניים",
"AddAutoTagError": "לא ניתן להוסיף רשימה חדשה, אנא נסה שוב.",
"No": "לא",
"MustNotContainHelpText": "המהדורה תידחה אם היא מכילה אחד או יותר מהתנאים (חסר רישיות)",
"ApplyTagsHelpTextHowToApplyMovies": "כיצד להחיל תגים על הסרטים שנבחרו",
"DeleteSelectedMovieFilesHelpText": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?",
"MovieFileDeleted": "במחיקת קובץ הסרט",
"MovieIsNotMonitored": "הסרט אינו מנוטר",
"SearchOnAddCollectionHelpText": "חפש סרטים ברשימה זו כאשר הוסף לרדאר",
"DownloadClientSettingsRecentPriority": "עדיפות לקוח",
"IMDbId": "מזהה TMDb",
"MovieSearchResultsLoadError": "לא ניתן לטעון תוצאות לחיפוש הסרט הזה. נסה שוב מאוחר יותר",
"ShowUnknownMovieItemsHelpText": "הצג פריטים ללא סרט בתור. זה יכול לכלול סרטים שהוסרו או כל דבר אחר בקטגוריה של {appName}",
"NotificationsSimplepushSettingsEvent": "אירועים",
"RemotePathMappingCheckFilesLocalWrongOSPath": "אתה משתמש בדוקר; קליינט ההורדות {downloadClientName} שם הורדות ב-{path} אבל הנתיב לא תקין {osName}. בחן מחדש את ניתוב התיקיות והגדרות קליינט ההורדות.",
"RemotePathMappingCheckLocalWrongOSPath": "אתה משתמש בדוקר; קליינט ההורדות {downloadClientName} שם הורדות ב-{path} אבל הנתיב לא תקין {osName}. בחן מחדש את ניתוב התיקיות והגדרות קליינט ההורדות.",
"DeletedReasonMissingFromDisk": "Whisparr לא הצליח למצוא את הקובץ בדיסק ולכן הוא הוסר",
"AddDelayProfileError": "לא ניתן להוסיף פרופיל איכות חדש, נסה שוב."
} }

View File

@ -53,7 +53,7 @@
"AllowHardcodedSubsHelpText": "पता लगाया गया हार्डकोड सब्मिट अपने आप डाउनलोड हो जाएगा", "AllowHardcodedSubsHelpText": "पता लगाया गया हार्डकोड सब्मिट अपने आप डाउनलोड हो जाएगा",
"AlreadyInYourLibrary": "पहले से ही आपकी लाइब्रेरी में", "AlreadyInYourLibrary": "पहले से ही आपकी लाइब्रेरी में",
"DeleteEmptyFoldersHelpText": "डिस्क स्कैन के दौरान और मूवी फ़ाइलों को हटाए जाने के दौरान खाली मूवी फ़ोल्डर हटाएं", "DeleteEmptyFoldersHelpText": "डिस्क स्कैन के दौरान और मूवी फ़ाइलों को हटाए जाने के दौरान खाली मूवी फ़ोल्डर हटाएं",
"DeleteFilesLabel": "{0} मूवी फ़ाइलें हटाएं", "DeleteMovieFiles": "{0} मूवी फ़ाइलें हटाएं",
"DeleteImportListExclusion": "आयात सूची बहिष्करण हटाएं", "DeleteImportListExclusion": "आयात सूची बहिष्करण हटाएं",
"DeleteIndexerMessageText": "क्या आप वाकई '{0}' इंडेक्स को हटाना चाहते हैं?", "DeleteIndexerMessageText": "क्या आप वाकई '{0}' इंडेक्स को हटाना चाहते हैं?",
"DeleteMovieFolderHelpText": "फिल्म फ़ोल्डर और उसकी सामग्री को हटा दें", "DeleteMovieFolderHelpText": "फिल्म फ़ोल्डर और उसकी सामग्री को हटा दें",
@ -281,7 +281,7 @@
"ChownGroupHelpTextWarning": "यह केवल तभी काम करता है, जब रेडर चलाने वाला उपयोगकर्ता फ़ाइल का मालिक हो। यह सुनिश्चित करना बेहतर है कि डाउनलोड क्लाइंट उसी समूह का उपयोग करता है जैसे कि रैडियर।", "ChownGroupHelpTextWarning": "यह केवल तभी काम करता है, जब रेडर चलाने वाला उपयोगकर्ता फ़ाइल का मालिक हो। यह सुनिश्चित करना बेहतर है कि डाउनलोड क्लाइंट उसी समूह का उपयोग करता है जैसे कि रैडियर।",
"Component": "अंग", "Component": "अंग",
"DeletedMsg": "मूवी को TMDb से हटा दिया गया था", "DeletedMsg": "मूवी को TMDb से हटा दिया गया था",
"DeleteMovieFolderLabel": "मूवी फ़ोल्डर हटाएँ", "DeleteMovieFolder": "मूवी फ़ोल्डर हटाएँ",
"DockerUpdater": "अपडेट प्राप्त करने के लिए docker कंटेनर को अपडेट करें", "DockerUpdater": "अपडेट प्राप्त करने के लिए docker कंटेनर को अपडेट करें",
"DoNotPrefer": "प्रेफर न करें", "DoNotPrefer": "प्रेफर न करें",
"DoNotUpgradeAutomatically": "स्वचालित रूप से अपग्रेड न करें", "DoNotUpgradeAutomatically": "स्वचालित रूप से अपग्रेड न करें",
@ -641,14 +641,14 @@
"AppDataDirectory": "AppData निर्देशिका", "AppDataDirectory": "AppData निर्देशिका",
"ApplyTags": "टैग लागू करें", "ApplyTags": "टैग लागू करें",
"DeleteFile": "फ़ाइल को हटाएं", "DeleteFile": "फ़ाइल को हटाएं",
"DeleteFilesHelpText": "मूवी फाइल्स और मूवी फोल्डर को डिलीट करें", "DeleteMovieFilesHelpText": "मूवी फाइल्स और मूवी फोल्डर को डिलीट करें",
"DeleteHeader": "हटाएं - {0}", "DeleteHeader": "हटाएं - {0}",
"DeleteIndexer": "अनुक्रमणिका हटाएं", "DeleteIndexer": "अनुक्रमणिका हटाएं",
"DeleteNotification": "अधिसूचना हटाएं", "DeleteNotification": "अधिसूचना हटाएं",
"DeleteNotificationMessageText": "क्या आप वाकई '{0}' की सूचना हटाना चाहते हैं?", "DeleteNotificationMessageText": "क्या आप वाकई '{0}' की सूचना हटाना चाहते हैं?",
"DeleteSelectedMovie": "चयनित मूवी हटाएं", "DeleteSelectedMovie": "चयनित मूवी हटाएं",
"DeleteSelectedMovieFiles": "चयनित मूवी फ़ाइलें हटाएं", "DeleteSelectedMovieFiles": "चयनित मूवी फ़ाइलें हटाएं",
"DeleteTheMovieFolder": "फिल्म फ़ोल्डर '{0}' और यह सब सामग्री हटा दी जाएगी।", "DeleteMovieFolderConfirmation": "फिल्म फ़ोल्डर '{0}' और यह सब सामग्री हटा दी जाएगी।",
"DestinationPath": "गंतव्य पथ", "DestinationPath": "गंतव्य पथ",
"Details": "विवरण", "Details": "विवरण",
"Discord": "कलह", "Discord": "कलह",
@ -959,7 +959,6 @@
"More": "अधिक", "More": "अधिक",
"Download": "डाउनलोड", "Download": "डाउनलोड",
"DownloadClientCheckDownloadingToRoot": "डाउनलोड क्लाइंट {downloadClientName} रूट फ़ोल्डर में डाउनलोड करता है {path}। आपको रूट फ़ोल्डर में डाउनलोड नहीं करना चाहिए।", "DownloadClientCheckDownloadingToRoot": "डाउनलोड क्लाइंट {downloadClientName} रूट फ़ोल्डर में डाउनलोड करता है {path}। आपको रूट फ़ोल्डर में डाउनलोड नहीं करना चाहिए।",
"DeleteFileLabel": "{0} मूवी फ़ाइलें हटाएं",
"Blocklist": "काला सूची में डालना", "Blocklist": "काला सूची में डालना",
"BlocklistRelease": "ब्लैकलिस्ट रिलीज़", "BlocklistRelease": "ब्लैकलिस्ट रिलीज़",
"RemoveFromBlocklist": "ब्लैकलिस्ट से निकालें", "RemoveFromBlocklist": "ब्लैकलिस्ट से निकालें",
@ -977,5 +976,91 @@
"File": "फ़ाइलें", "File": "फ़ाइलें",
"ShowCinemaReleaseHelpText": "पोस्टर के तहत रिलीज की तारीख दिखाएं", "ShowCinemaReleaseHelpText": "पोस्टर के तहत रिलीज की तारीख दिखाएं",
"EditMovies": "मूवी संपादित करें", "EditMovies": "मूवी संपादित करें",
"DeleteRemotePathMapping": "दूरस्थ पथ मानचित्रण संपादित करें" "DeleteRemotePathMapping": "दूरस्थ पथ मानचित्रण संपादित करें",
"DownloadClientsLoadError": "डाउनलोड क्लाइंट लोड करने में असमर्थ",
"MustNotContainHelpText": "यदि यह एक या एक से अधिक शब्द (केस असंवेदनशील) है, तो रिलीज़ को अस्वीकार कर दिया जाएगा",
"Lists": "सूचियों",
"Yes": "हाँ",
"RestartLater": "मैं बाद में पुनः आरंभ करूँगा",
"No": "नहीं",
"AutoTaggingNegateHelpText": "यदि जाँच की जाती है, तो कस्टम प्रारूप लागू नहीं होगा यदि यह {0} स्थिति से मेल खाता है।",
"GrabId": "पकड़ो आईडी",
"FormatAgeHours": "घंटे",
"FormatAgeMinute": "मिनट",
"FormatAgeMinutes": "मिनट",
"MoveAutomatically": "त्वरित आयात",
"NotificationStatusAllClientHealthCheckMessage": "सभी सूचियाँ विफल होने के कारण अनुपलब्ध हैं",
"TablePageSizeHelpText": "प्रत्येक पृष्ठ पर दिखाने के लिए मदों की संख्या",
"ConditionUsingRegularExpressions": "यह स्थिति रेगुलर एक्सप्रेशंस के उपयोग से मेल खाती है। ध्यान दें कि अक्षर {0} के विशेष अर्थ हैं और {1} के साथ भागने की आवश्यकता है",
"ConnectionLostReconnect": "Radarr अपने आप कनेक्ट होने का प्रयास करेगा, या आप नीचे पुनः लोड कर सकते हैं।",
"DelayingDownloadUntil": "देरी से डाउनलोड करने के लिए {0} पर {1}",
"DeleteConditionMessageText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं",
"DeleteReleaseProfile": "डिलीट प्रोफाइल को डिलीट करें",
"DeleteSelectedDownloadClients": "डाउनलोड क्लाइंट हटाएं",
"DeletedReasonUpgrade": "नवीनीकरण को आयात करने के लिए फ़ाइल हटा दी गई थी",
"QualityCutoffNotMet": "क्वालिटी कटऑफ नहीं मिला है",
"Release": "रिहा",
"RemoveSelectedItemQueueMessageText": "क्या आप वाकई {0} आइटम {1} को कतार से हटाना चाहते हैं?",
"SelectDropdown": "'चुनते हैं..।",
"DeleteDelayProfileMessageText": "क्या आप वाकई इस विलंब प्रोफ़ाइल को हटाना चाहते हैं?",
"DeleteImportListExclusionMessageText": "क्या आप वाकई इस आयात सूची बहिष्करण को हटाना चाहते हैं?",
"DeleteQualityProfileMessageText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं",
"ApplyTagsHelpTextAdd": "जोड़ें: टैग की मौजूदा सूची में टैग जोड़ें",
"ApplyTagsHelpTextHowToApplyDownloadClients": "चयनित फिल्मों के लिए टैग कैसे लागू करें",
"ApplyTagsHelpTextHowToApplyImportLists": "चयनित फिल्मों के लिए टैग कैसे लागू करें",
"ApplyTagsHelpTextReplace": "प्रतिस्थापित करें: दर्ज किए गए टैगों के साथ टैग बदलें (सभी टैग्स को खाली करने के लिए कोई टैग दर्ज न करें)",
"DeleteImportListMessageText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं",
"NotificationStatusSingleClientHealthCheckMessage": "विफलताओं के कारण अनुपलब्ध सूची: {notificationNames}",
"DisabledForLocalAddresses": "स्थानीय पते के लिए अक्षम",
"InteractiveImportLoadError": "मैन्युअल आयात आइटम लोड करने में असमर्थ",
"OrganizeNothingToRename": "सफलता! मेरा काम हो गया, नाम बदलने की कोई फाइल नहीं।",
"RemoveSelectedBlocklistMessageText": "क्या आप वाकई चयनित आइटम को ब्लैकलिस्ट से हटाना चाहते हैं?",
"RetryingDownloadOn": "देरी से डाउनलोड करने के लिए {0} पर {1}",
"TablePageSize": "पृष्ठ आकार",
"BlocklistLoadError": "ब्लैकलिस्ट लोड करने में असमर्थ",
"RemoveQueueItemConfirmation": "क्या आप वाकई {0} आइटम {1} को कतार से हटाना चाहते हैं?",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "न्यूनतम कस्टम प्रारूप स्कोर",
"RemoveSelectedItemsQueueMessageText": "क्या आप वाकई {0} आइटम {1} को कतार से हटाना चाहते हैं?",
"QueueLoadError": "कतार लोड करने में विफल",
"ResetAPIKeyMessageText": "क्या आप वाकई अपनी API कुंजी को रीसेट करना चाहते हैं?",
"IncludeHealthWarnings": "स्वास्थ्य चेतावनी शामिल करें",
"IndexerSettingsMultiLanguageRelease": "बहु-भाषा",
"OrganizeLoadError": "पूर्वावलोकन लोड करने में त्रुटि",
"QualitiesLoadError": "गुणों को लोड करने में असमर्थ",
"AutoRedownloadFailed": "डाउनलोड विफल",
"DeleteAutoTagHelpText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं",
"AddRootFolderError": "रूट फ़ोल्डर लोड करने में असमर्थ",
"ApplyTagsHelpTextHowToApplyIndexers": "चयनित फिल्मों के लिए टैग कैसे लागू करें",
"AddListExclusion": "सूची बहिष्करण जोड़ें",
"ReleaseGroups": "रिलीज समूह",
"CustomFilter": "कस्टम फ़िल्टर",
"FormatAgeHour": "घंटे",
"MustContainHelpText": "रिलीज में इनमें से कम से कम एक शब्द (केस असंवेदनशील) होना चाहिए",
"DelayProfileMovieTagsHelpText": "कम से कम एक मिलान टैग के साथ फिल्मों पर लागू होता है",
"DeleteSpecificationHelpText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं",
"HistoryLoadError": "इतिहास लोड करने में असमर्थ",
"InteractiveSearchModalHeader": "इंटरएक्टिव खोज",
"DeleteReleaseProfileMessageText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं",
"DeleteSelectedIndexers": "अनुक्रमणिका हटाएं",
"DeleteSpecification": "अधिसूचना हटाएं",
"AddAutoTagError": "नई सूची जोड़ने में असमर्थ, कृपया पुनः प्रयास करें।",
"ApplyTagsHelpTextRemove": "निकालें: दर्ज किए गए टैग निकालें",
"ReleaseProfilesLoadError": "विलंब प्रोफाइल लोड करने में असमर्थ",
"ApplyTagsHelpTextHowToApplyMovies": "चयनित फिल्मों के लिए टैग कैसे लागू करें",
"MovieIsNotMonitored": "मूवी अनमनी है",
"DownloadClientSettingsRecentPriority": "ग्राहक प्राथमिकता",
"DeleteSelectedMovieFilesHelpText": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?",
"DeletedReasonMissingFromDisk": "Whisparr डिस्क पर फ़ाइल खोजने में असमर्थ था इसलिए इसे हटा दिया गया था",
"MovieFileDeleted": "मूवी फ़ाइल डिलीट पर",
"DeleteCustomFormatMessageText": "क्या आप वाकई '{0}' टैग हटाना चाहते हैं?",
"DeleteFormatMessageText": "क्या आप वाकई '{0}' टैग हटाना चाहते हैं?",
"NotificationsSimplepushSettingsEvent": "आयोजन",
"MovieSearchResultsLoadError": "इस मूवी खोज के लिए परिणाम लोड करने में असमर्थ। बाद में पुन: प्रयास करें",
"SearchOnAddCollectionHelpText": "इस सूची में फिल्मों के लिए खोजें जब रेडर को जोड़ा गया",
"IMDbId": "TMDb Id",
"AddDelayProfileError": "नई गुणवत्ता प्रोफ़ाइल जोड़ने में असमर्थ, कृपया पुनः प्रयास करें।",
"MovieFileDeletedTooltip": "मूवी फ़ाइल डिलीट पर",
"DeleteMovieFolders": "मूवी फ़ोल्डर हटाएँ",
"DeleteMovieFoldersHelpText": "फिल्म फ़ोल्डर और उसकी सामग्री को हटा दें",
"DeleteSelectedMovies": "चयनित मूवी फ़ाइलें हटाएं"
} }

View File

@ -279,5 +279,35 @@
"Options": "Opcije", "Options": "Opcije",
"Security": "Sigurnost", "Security": "Sigurnost",
"SelectAll": "Odaberi sve", "SelectAll": "Odaberi sve",
"Time": "Vrijeme" "Time": "Vrijeme",
"FormatAgeMinutes": "minute",
"FormatAgeDays": "dani",
"AutoTaggingSpecificationTag": "Oznaka",
"DeleteAutoTagHelpText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"Directory": "Direktorij",
"NotificationsSimplepushSettingsEvent": "Događaj",
"Minutes": "minute",
"Genres": "Žanr",
"DeleteSpecificationHelpText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"FormatAgeMinute": "minute",
"No": "Ne",
"DeleteReleaseProfileMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"DisabledForLocalAddresses": "Onemogućeno za Lokalne Adrese",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Kako primjeniti oznake za odabrane filmove",
"ApplyTagsHelpTextHowToApplyImportLists": "Kako primjeniti oznake za odabrane filmove",
"DeleteImportListMessageText": "Jeste li sigurni da želite obrisati oznaku formata {0}?",
"ReleaseProfiles": "profil verzije",
"RemoveQueueItemConfirmation": "Jeste li sigurni da želite izbrisati stavku {0} iz reda?",
"Lists": "Lista",
"AddListExclusion": "Dodaj na Listu Isključenja",
"RestartRadarr": "Resetiraj {appName}",
"DeleteQualityProfileMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"Label": "Oznaka",
"Yes": "Da",
"Release": "verzija",
"ApplyTagsHelpTextHowToApplyMovies": "Kako primjeniti oznake za odabrane filmove",
"Released": "verzija",
"DeleteImportListExclusion": "Dodaj na Listu Isključenja",
"ImportListExclusions": "Dodaj na Listu Isključenja",
"DownloadClientSettingsRecentPriority": "Prioritet Klijenata"
} }

View File

@ -782,13 +782,13 @@
"Donations": "Adományok", "Donations": "Adományok",
"DockerUpdater": "A Frissítéshez frissítenie kell a Docker tárolót", "DockerUpdater": "A Frissítéshez frissítenie kell a Docker tárolót",
"Discord": "Discord", "Discord": "Discord",
"DeleteTheMovieFolder": "A(z) „{path}” filmmappa és annak minden tartalma törlődik.", "DeleteMovieFolderConfirmation": "A(z) „{path}” filmmappa és annak minden tartalma törlődik.",
"DeleteSelectedMovie": "A kiválasztott filmek törlése", "DeleteSelectedMovie": "A kiválasztott filmek törlése",
"DeleteMovieFolderLabel": "Film mappájának törlése", "DeleteMovieFolder": "Film mappájának törlése",
"DeleteMovieFolderHelpText": "Törölje a film mappáját és annak tartalmát", "DeleteMovieFolderHelpText": "Törölje a film mappáját és annak tartalmát",
"DeleteHeader": "Törlés - {0}", "DeleteHeader": "Törlés - {0}",
"DeleteFilesLabel": "{0} Film fájl törlése", "DeleteMovieFiles": "{0} Film fájl törlése",
"DeleteFilesHelpText": "Törölje a film fájljait és a film mappáját", "DeleteMovieFilesHelpText": "Törölje a film fájljait és a film mappáját",
"DeletedMsg": "A Film el lett távolítva a TMDb-ből", "DeletedMsg": "A Film el lett távolítva a TMDb-ből",
"DefaultDelayProfileMovie": "Ez az alapértelmezett profil. Minden filmre vonatkozik, amelynek nincs más profilja.", "DefaultDelayProfileMovie": "Ez az alapértelmezett profil. Minden filmre vonatkozik, amelynek nincs más profilja.",
"DefaultCase": "Alapértelmezett eset", "DefaultCase": "Alapértelmezett eset",
@ -959,7 +959,6 @@
"More": "Több", "More": "Több",
"Download": "Letöltés", "Download": "Letöltés",
"DownloadClientCheckDownloadingToRoot": "A Letöltőkliens {downloadClientName} a letöltéseket a gyökérmappába helyezi {path}. Nem szabad letölteni egy gyökérmappába.", "DownloadClientCheckDownloadingToRoot": "A Letöltőkliens {downloadClientName} a letöltéseket a gyökérmappába helyezi {path}. Nem szabad letölteni egy gyökérmappába.",
"DeleteFileLabel": "{0} Film fájl törlése",
"UpdateAvailable": "Új frissítés elérhető", "UpdateAvailable": "Új frissítés elérhető",
"RemotePathMappingCheckFilesGenericPermissions": "A letöltőkliens {downloadClientName} jelentett fájljait a(z) {path} fájlba, de a {appName} nem látja ezt a könyvtárat. Lehet, hogy módosítania kell a mappa engedélyeit.", "RemotePathMappingCheckFilesGenericPermissions": "A letöltőkliens {downloadClientName} jelentett fájljait a(z) {path} fájlba, de a {appName} nem látja ezt a könyvtárat. Lehet, hogy módosítania kell a mappa engedélyeit.",
"RemotePathMappingCheckRemoteDownloadClient": "A távoli letöltőkliens {downloadClientName} fájlokat jelentett a(z) {path} fájlban, 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.", "RemotePathMappingCheckRemoteDownloadClient": "A távoli letöltőkliens {downloadClientName} fájlokat jelentett a(z) {path} fájlban, 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.",
@ -1345,5 +1344,85 @@
"QualitiesLoadError": "Nem lehet minőségeket betölteni", "QualitiesLoadError": "Nem lehet minőségeket betölteni",
"RegularExpressionsTutorialLink": "További részletek a reguláris kifejezésekről [itt](https://www.regular-expressions.info/tutorial.html).", "RegularExpressionsTutorialLink": "További részletek a reguláris kifejezésekről [itt](https://www.regular-expressions.info/tutorial.html).",
"PasswordConfirmation": "Jelszó megerősítése", "PasswordConfirmation": "Jelszó megerősítése",
"SecretToken": "Titkos token" "SecretToken": "Titkos token",
"AddListExclusion": "Listakizárás hozzáadása",
"NotificationsDiscordSettingsAuthor": "Szerző",
"Label": "Címke",
"Repack": "Újracsomagolás",
"GrabId": "Megfogás ID",
"NoDelay": "Nincs késleltetés",
"AutoTaggingSpecificationTag": "Címke",
"OrganizeNothingToRename": "Siker! Befejeztem a munkám, nincsenek átnevezésre váró fájlok.",
"NotificationsSimplepushSettingsEvent": "Esemény",
"CutoffUnmetLoadError": "Hiba a nem teljesített elemek betöltésekor",
"CutoffUnmetNoItems": "Nincsenek teljesítetlen elemek levágása",
"External": "Külső",
"MassSearchCancelWarning": "Ezt a(z) {appName} újraindítása vagy az összes indexelő letiltása nélkül nem lehet visszavonni.",
"MissingLoadError": "Hiba a hiányzó elemek betöltésekor",
"MissingNoItems": "Nincsenek hiányzó elemek",
"MonitorSelected": "Kiválasztott(ak) monitorozása",
"No": "Nem",
"UnmonitorSelected": "Kijelöltek monitorozásának törlése",
"InteractiveImportLoadError": "Nem lehetséges betölteni a manuálisan importált elemeket",
"BlackholeWatchFolder": "Mappa figyelése",
"Category": "Kategória",
"RetryingDownloadOn": "Késleltetni a letöltést {0} -tól {1} -ig",
"UseSsl": "SSL használata",
"Loading": "Betöltés",
"Clone": "Klón",
"ConditionUsingRegularExpressions": "Ez a feltétel megfelel a Reguláris kifejezések használatának. Ne feledje, hogy a karakterek {0} különleges jelentéssel bírnak, és el kell kerülniük egy {1} karakterrel",
"DelayProfileProtocol": "Protokoll: {preferredProtocol}",
"Directory": "Könyvtár",
"Donate": "Adományoz",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Választható hely a letöltések elhelyezéséhez, hagyja üresen az alapértelmezett Aria2 hely használatához",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Választható hely a letöltések elhelyezéséhez, hagyja üresen az alapértelmezett Aria2 hely használatához",
"EditReleaseProfile": "Kiadási profil szerkesztése",
"ListRootFolderHelpText": "A gyökérmappa listaelemei hozzáadódnak a mappához",
"Release": "Kiadás",
"ReleaseProfileIndexerHelpText": "Adja meg, hogy a profil milyen indexelőre vonatkozik",
"Yes": "Igen",
"ParseModalHelpText": "Adja meg a kiadás címét a fenti bevitelben",
"RecycleBinUnableToWriteHealthCheck": "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",
"IncludeHealthWarnings": "Tartalmazza a Állapot Figyelmeztetéseket",
"IndexerSettingsMultiLanguageRelease": "Többnyelvű",
"ChownGroup": "chown Csoport",
"MustContainHelpText": "A kiadásnak tartalmaznia kell legalább egy ilyen kifejezést (a kis- és nagybetűket nem különbözteti meg)",
"OrganizeLoadError": "Hiba történt az előnézetek betöltése közben",
"Period": "Időszak",
"DelayProfileMovieTagsHelpText": "Legalább egy megfelelő címkével rendelkező filmekre vonatkozik",
"CustomFilter": "Egyedi Szűrők",
"Example": "Példa",
"IMDbId": "IMDb ID",
"ListWillRefreshEveryInterval": "A lista minden {refreshInterval} frissítésre kerül",
"ParseModalUnableToParse": "A megadott cím nem elemezhető, próbálkozzon újra.",
"MustNotContainHelpText": "A kiadás elutasításra kerül, ha egy vagy több kifejezést tartalmaz (A kis- és nagybetűket nem vesszük figyelembe)",
"AutoTaggingLoadError": "Nem sikerült betölteni az automatikus címkézést",
"DelayMinutes": "{delay} perc",
"Lists": "Listák",
"ListQualityProfileHelpText": "A Minőségi profil listaelemeket hozzá kell adni a következővel",
"NotificationsValidationInvalidApiKey": "Az API-kulcs érvénytelen",
"MovieIsNotMonitored": "A film nincs monitorozva",
"SearchForAllMissingMovies": "Keresse meg az összes hiányzó könyvet",
"SearchForAllMissingMoviesConfirmationCount": "Biztos benne, hogy megkeresi az összes \"{0}\" hiányzó albumot?",
"SearchForCutoffUnmetMovies": "Keresse meg az összes Megfelelő minőség alá eső könyvet",
"DownloadClientValidationGroupMissingDetail": "A megadott kategória nem létezik a következőben: {clientName}. Először hozza létre a {clientName} szolgáltatásban.",
"DownloadClientQbittorrentValidationCategoryAddFailure": "A címke konfigurálása nem sikerült",
"DownloadClientSettingsRecentPriorityMovieHelpText": "Elsőbbség az elmúlt 14 napban sugárzott epizódok rögzítésekor",
"DownloadClientValidationTestNzbs": "Nem sikerült lekérni a torrentek listáját: {exceptionMessage}",
"InteractiveImportNoLanguage": "Minden kiválasztott fájlhoz ki kell választani a minőséget",
"MovieFileDeleted": "A filmfájl törléséhez",
"RemotePathMappingsInfo": "Nagyon ritkán van szükség távoli útvonal-leképezésre, ha az {app} és a letöltési kliens ugyanazon a rendszeren van, jobb, ha megfeleltetjük az útvonalakat. További információért lásd: [wiki]({wikiLink}).",
"MovieSearchResultsLoadError": "Nem lehetséges betölteni a film keresés eredményeit. Próbálja meg később",
"ShowUnknownMovieItemsHelpText": "Mutasson olyan elemeket, amelyekben nincs előadó a sorban, beleértve az eltávolított előadókat, filmeket vagy bármi mást a {appName} kategóriájában",
"NotificationsDiscordSettingsOnGrabFieldsHelpText": "Módosítsa az „importáláskor” értesítéshez átadott mezőket",
"ReleaseProfileTagMovieHelpText": "A kiadási profilok a legalább egy megfelelő címkével rendelkező sorozatokra vonatkoznak. Hagyja üresen, ha az összes sorozatra alkalmazni szeretné",
"InteractiveImportNoMovie": "Minden kiválasztott fájlhoz sorozatot kell választani",
"MovieFolderFormatHelpText": "Új sorozat hozzáadásakor vagy sorozatszerkesztőn keresztüli mozgatásakor használatos",
"DownloadClientQbittorrentTorrentStateError": "Az uTorrent hibát jelez",
"DownloadClientSettingsOlderPriorityMovieHelpText": "Elsőbbség a 14 nappal ezelőtt sugárzott epizódok megragadásánál",
"MovieImportedTooltip": "Az epizód letöltése sikeresen megtörtént, és a letöltés kliensből lett letöltve",
"SearchForCutoffUnmetMoviesConfirmationCount": "Biztosan megkeresi az összes {totalRecords} hiányzó epizódot?",
"MovieGrabbedHistoryTooltip": "Az epizódot letöltötte a(z) {indexer} és elküldte a(z) {downloadClient} számára",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Választható hely a letöltések elhelyezéséhez, hagyja üresen az alapértelmezett Aria2 hely használatához",
"DownloadClientDelugeSettingsDirectoryHelpText": "Választható hely a letöltések elhelyezéséhez, hagyja üresen az alapértelmezett Aria2 hely használatához"
} }

View File

@ -158,5 +158,12 @@
"AuthenticationRequiredUsernameHelpTextWarning": "Masukkan nama pengguna baru", "AuthenticationRequiredUsernameHelpTextWarning": "Masukkan nama pengguna baru",
"AutoRedownloadFailed": "Pengunduhan Ulang Gagal", "AutoRedownloadFailed": "Pengunduhan Ulang Gagal",
"ConnectionLostToBackend": "Koneksi {appName} telah terputus dari backend dan perlu dimuat ulang untuk dipulihkan.", "ConnectionLostToBackend": "Koneksi {appName} telah terputus dari backend dan perlu dimuat ulang untuk dipulihkan.",
"Links": "Tautan" "Links": "Tautan",
"ChooseAnotherFolder": "Pilih folder lain",
"Minutes": "menit",
"CalendarLoadError": "Tidak dapat memuat kalender",
"Category": "Kategori",
"AnalyseVideoFilesHelpText": "Peroleh informasi terkait video mengenai resolusi, durasi dan codec dari file. Hal ini memerlukan {appName} untuk membaca file, yang mungkin menyebabkan penggunaan disk dan jaringan tinggi ketika pemindaian.",
"DelayMinutes": "{delay} Menit",
"No": "Tidak"
} }

View File

@ -219,7 +219,7 @@
"CouldNotConnectSignalR": "Gat ekki tengst SignalR, HÍ mun ekki uppfæra", "CouldNotConnectSignalR": "Gat ekki tengst SignalR, HÍ mun ekki uppfæra",
"RestoreBackup": "Endurheimtu öryggisafrit", "RestoreBackup": "Endurheimtu öryggisafrit",
"DeletedMsg": "Kvikmynd var eytt úr TMDb", "DeletedMsg": "Kvikmynd var eytt úr TMDb",
"DeleteMovieFolderLabel": "Eyða kvikmyndamöppu", "DeleteMovieFolder": "Eyða kvikmyndamöppu",
"DownloadClientStatusCheckAllClientMessage": "Allir viðskiptavinir sem hlaða niður eru ekki tiltækir vegna bilana", "DownloadClientStatusCheckAllClientMessage": "Allir viðskiptavinir sem hlaða niður eru ekki tiltækir vegna bilana",
"ExcludeMovie": "Undanskilja kvikmynd", "ExcludeMovie": "Undanskilja kvikmynd",
"ExcludeTitle": "Útiloka {0}? Þetta kemur í veg fyrir að {appName} bæti sjálfkrafa við með samstillingu lista.", "ExcludeTitle": "Útiloka {0}? Þetta kemur í veg fyrir að {appName} bæti sjálfkrafa við með samstillingu lista.",
@ -504,8 +504,8 @@
"DeleteDelayProfile": "Eyða seinkunarprófíl", "DeleteDelayProfile": "Eyða seinkunarprófíl",
"DeleteEmptyFolders": "Eyða tómum möppum", "DeleteEmptyFolders": "Eyða tómum möppum",
"DeleteEmptyFoldersHelpText": "Eyddu tómum kvikmyndamöppum við skönnun á diski og þegar kvikmyndaskrám er eytt", "DeleteEmptyFoldersHelpText": "Eyddu tómum kvikmyndamöppum við skönnun á diski og þegar kvikmyndaskrám er eytt",
"DeleteFilesHelpText": "Eyða kvikmyndunum og kvikmyndamöppunni", "DeleteMovieFilesHelpText": "Eyða kvikmyndunum og kvikmyndamöppunni",
"DeleteFilesLabel": "Eyða {0} kvikmyndaskrám", "DeleteMovieFiles": "Eyða {0} kvikmyndaskrám",
"DeleteHeader": "Eyða - {0}", "DeleteHeader": "Eyða - {0}",
"DeleteImportListExclusion": "Eyða útilokun innflutningslista", "DeleteImportListExclusion": "Eyða útilokun innflutningslista",
"DeleteIndexer": "Eyða Indexer", "DeleteIndexer": "Eyða Indexer",
@ -517,7 +517,7 @@
"DeleteSelectedMovie": "Eyða völdum myndum", "DeleteSelectedMovie": "Eyða völdum myndum",
"DeleteSelectedMovieFiles": "Eyða völdum kvikmyndaskrám", "DeleteSelectedMovieFiles": "Eyða völdum kvikmyndaskrám",
"DeleteTagMessageText": "Ertu viss um að þú viljir eyða merkinu '{0}'?", "DeleteTagMessageText": "Ertu viss um að þú viljir eyða merkinu '{0}'?",
"DeleteTheMovieFolder": "Kvikmyndamöppunni „{0}“ og öllu innihaldi hennar verður eytt.", "DeleteMovieFolderConfirmation": "Kvikmyndamöppunni „{0}“ og öllu innihaldi hennar verður eytt.",
"DestinationPath": "Áfangastaður Slóð", "DestinationPath": "Áfangastaður Slóð",
"DestinationRelativePath": "Hlutfallsleg leið áfangastaðar", "DestinationRelativePath": "Hlutfallsleg leið áfangastaðar",
"DetailedProgressBar": "Ítarlegur framfarastiku", "DetailedProgressBar": "Ítarlegur framfarastiku",
@ -959,7 +959,6 @@
"More": "Meira", "More": "Meira",
"Download": "Sækja", "Download": "Sækja",
"DownloadClientCheckDownloadingToRoot": "Sæktu viðskiptavinur {downloadClientName} setur niðurhal í rótarmöppuna {path}. Þú ættir ekki að hlaða niður í rótarmöppu.", "DownloadClientCheckDownloadingToRoot": "Sæktu viðskiptavinur {downloadClientName} setur niðurhal í rótarmöppuna {path}. Þú ættir ekki að hlaða niður í rótarmöppu.",
"DeleteFileLabel": "Eyða {0} kvikmyndaskrám",
"Blocklist": "Svartur listi", "Blocklist": "Svartur listi",
"BlocklistRelease": "Útgáfa svartalista", "BlocklistRelease": "Útgáfa svartalista",
"RemoveFromBlocklist": "Fjarlægja af svörtum lista", "RemoveFromBlocklist": "Fjarlægja af svörtum lista",
@ -978,5 +977,88 @@
"ShowCinemaReleaseHelpText": "Sýnið útgáfudagsetningu undir veggspjaldi", "ShowCinemaReleaseHelpText": "Sýnið útgáfudagsetningu undir veggspjaldi",
"EditMovies": "Breyta kvikmynd", "EditMovies": "Breyta kvikmynd",
"DeleteRemotePathMapping": "Breyta kortlagningu fjarstígs", "DeleteRemotePathMapping": "Breyta kortlagningu fjarstígs",
"DeleteRemotePathMappingMessageText": "Ertu viss um að þú viljir eyða þessari ytri slóðakortun?" "DeleteRemotePathMappingMessageText": "Ertu viss um að þú viljir eyða þessari ytri slóðakortun?",
"DeleteImportListExclusionMessageText": "Ertu viss um að þú viljir eyða þessari útilokun innflutningslista?",
"IncludeHealthWarnings": "Láttu heilsuviðvaranir fylgja með",
"TablePageSize": "Stærð blaðsíðu",
"DeleteAutoTagHelpText": "Ertu viss um að þú viljir eyða gæðasniðinu {0}",
"DeleteConditionMessageText": "Ertu viss um að þú viljir eyða gæðasniðinu {0}",
"FormatAgeMinutes": "Fundargerð",
"DeleteReleaseProfile": "Eyða seinkunarprófíl",
"DeleteSpecification": "Eyða tilkynningu",
"DeleteSpecificationHelpText": "Ertu viss um að þú viljir eyða gæðasniðinu {0}",
"RemoveSelectedItemQueueMessageText": "Ertu viss um að þú viljir fjarlægja {0} hlut {1} úr biðröðinni?",
"QualityCutoffNotMet": "Gæðamörkum hefur ekki verið náð",
"ResetAPIKeyMessageText": "Ertu viss um að þú viljir endurstilla API lykilinn þinn?",
"MoveAutomatically": "Fljótur innflutningur",
"No": "Nei",
"NotificationStatusAllClientHealthCheckMessage": "Allir listar eru ekki tiltækir vegna bilana",
"FormatAgeHours": "Klukkutímar",
"ConnectionLostReconnect": "Radarr mun reyna að tengjast sjálfkrafa eða þú getur smellt á endurhlaða hér að neðan.",
"DelayingDownloadUntil": "Seinkar niðurhali til {0} kl. {1}",
"DeleteImportListMessageText": "Ertu viss um að þú viljir eyða gæðasniðinu {0}",
"DeleteQualityProfileMessageText": "Ertu viss um að þú viljir eyða gæðasniðinu {0}",
"QualitiesLoadError": "Ekki er hægt að hlaða eiginleika",
"FormatAgeMinute": "Fundargerð",
"GrabId": "Grípa skilríki",
"RestartLater": "Ég byrja aftur seinna",
"ApplyTagsHelpTextAdd": "Bæta við: Bættu merkjum við núverandi lista yfir merki",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Hvernig á að setja merki á völdu kvikmyndirnar",
"DeleteSelectedDownloadClients": "Eyða niðurhals viðskiptavinur",
"ApplyTagsHelpTextRemove": "Fjarlægja: Fjarlægðu innsláttarmerkin",
"ApplyTagsHelpTextReplace": "Skipta um: Skiptu um merkin með innsláttu merkjunum (sláðu inn engin merki til að hreinsa öll merki)",
"OrganizeLoadError": "Villa við að hlaða forskoðun",
"OrganizeNothingToRename": "Árangur! Vinnu minni er lokið, engar skrár til að endurnefna.",
"DeleteSelectedIndexers": "Eyða Indexer",
"DisabledForLocalAddresses": "Óvirkt vegna heimilisfanga",
"NotificationStatusSingleClientHealthCheckMessage": "Listar ekki tiltækir vegna bilana: {notificationNames}",
"DownloadClientsLoadError": "Ekki er hægt að hlaða niður viðskiptavinum",
"HistoryLoadError": "Ekki er hægt að hlaða sögu",
"BlocklistLoadError": "Ekki er hægt að hlaða svartan lista",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Lágmarkseinkunn fyrir sérsniðið snið",
"QueueLoadError": "Mistókst að hlaða biðröð",
"ReleaseProfilesLoadError": "Ekki er hægt að hlaða seinkunarsnið",
"RemoveSelectedBlocklistMessageText": "Ertu viss um að þú viljir fjarlægja valda hluti af svörtum lista?",
"RemoveSelectedItemsQueueMessageText": "Ertu viss um að þú viljir fjarlægja {0} hlut {1} úr biðröðinni?",
"InteractiveSearchModalHeader": "Gagnvirk leit",
"RetryingDownloadOn": "Seinkar niðurhali til {0} kl. {1}",
"MustContainHelpText": "Útgáfan verður að innihalda að minnsta kosti einn af þessum hugtökum (lítt viðkvæm)",
"IndexerSettingsMultiLanguageRelease": "Fjöltyngt",
"RemoveQueueItemConfirmation": "Ertu viss um að þú viljir fjarlægja {0} hlut {1} úr biðröðinni?",
"TablePageSizeHelpText": "Fjöldi atriða til að sýna á hverri síðu",
"AddRootFolderError": "Ekki er hægt að hlaða rótarmöppum",
"DeletedReasonUpgrade": "Skrá var eytt til að flytja inn uppfærslu",
"SelectDropdown": "'Veldu ...",
"AddListExclusion": "Bæta við lista útilokun",
"ApplyTagsHelpTextHowToApplyImportLists": "Hvernig á að setja merki á völdu kvikmyndirnar",
"ApplyTagsHelpTextHowToApplyIndexers": "Hvernig á að setja merki á völdu kvikmyndirnar",
"AutoTaggingNegateHelpText": "Ef þetta er hakað við mun sérsniðna sniðið ekki eiga við ef þetta {0} skilyrði samsvarar.",
"ConditionUsingRegularExpressions": "Þetta ástand samsvarar notkun venjulegra segða. Athugaðu að stafirnir {0} hafa sérstaka merkingu og þurfa að flýja með {1}",
"Release": "Sleppt",
"CustomFilter": "Sérsniðin síur",
"DelayProfileMovieTagsHelpText": "Gildir fyrir kvikmyndir með að minnsta kosti einu samsvarandi merki",
"DeleteDelayProfileMessageText": "Ertu viss um að þú viljir eyða þessum seinkunarprófíl?",
"MustNotContainHelpText": "Útgáfunni verður hafnað ef hún inniheldur eitt eða fleiri af skilmálunum (tilfinningalausir)",
"Yes": "Já",
"Lists": "Listar",
"InteractiveImportLoadError": "Ekki er hægt að hlaða handvirka innflutningshluti",
"ReleaseGroups": "Sleppihópur",
"AddAutoTagError": "Ekki er hægt að bæta við nýjum lista. Reyndu aftur.",
"DeleteReleaseProfileMessageText": "Ertu viss um að þú viljir eyða gæðasniðinu {0}",
"MovieIsNotMonitored": "Fylgst er með kvikmynd",
"ShowUnknownMovieItemsHelpText": "Sýnið atriði án kvikmyndar í biðröðinni. Þetta gæti falið í sér fjarlægðar kvikmyndir eða annað í flokknum {appName}",
"IMDbId": "TMDb kt",
"MovieSearchResultsLoadError": "Ekki er hægt að hlaða niðurstöðum fyrir þessa kvikmyndaleit. Reyndu aftur seinna",
"FormatAgeHour": "Klukkutímar",
"DeleteCustomFormatMessageText": "Ertu viss um að þú viljir eyða merkinu '{0}'?",
"SearchOnAddCollectionHelpText": "Leitaðu að kvikmyndum á þessum lista þegar bætt er við {appName}",
"ApplyTagsHelpTextHowToApplyMovies": "Hvernig á að setja merki á völdu kvikmyndirnar",
"DeleteFormatMessageText": "Ertu viss um að þú viljir eyða merkinu '{0}'?",
"MovieFileDeleted": "Á Eyða kvikmyndaskrá",
"NotificationsSimplepushSettingsEvent": "Viðburðir",
"DeleteSelectedMovieFilesHelpText": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?",
"AutoRedownloadFailed": "Niðurhal mistókst",
"DeletedReasonMissingFromDisk": "Whisparr gat ekki fundið skrána á disknum svo hún var fjarlægð",
"DownloadClientSettingsRecentPriority": "Forgangur viðskiptavinar",
"AddDelayProfileError": "Ekki er hægt að bæta við nýjum gæðaprófíl, reyndu aftur."
} }

View File

@ -786,13 +786,13 @@
"CustomFormatHelpText": "{appName} valuta ogni release usando la somma dei punteggi dei corrispondenti formati personalizzati. Se una nuova versione migliorasse il punteggio, con una qualità uguale o migliore, {appName} lo prenderà.", "CustomFormatHelpText": "{appName} valuta ogni release usando la somma dei punteggi dei corrispondenti formati personalizzati. Se una nuova versione migliorasse il punteggio, con una qualità uguale o migliore, {appName} lo prenderà.",
"DefaultDelayProfileMovie": "Questo è il profilo predefinito. Si applica a tutti i film che non hanno un profilo esplicito.", "DefaultDelayProfileMovie": "Questo è il profilo predefinito. Si applica a tutti i film che non hanno un profilo esplicito.",
"EditCustomFormat": "Modifica Formato Personalizzato", "EditCustomFormat": "Modifica Formato Personalizzato",
"DeleteFilesLabel": "Elimina {0} file di film", "DeleteMovieFiles": "Elimina {0} file di film",
"DeleteTheMovieFolder": "La cartella del film \"{0}\" e tutto il suo contenuto verranno eliminati.", "DeleteMovieFolderConfirmation": "La cartella del film \"{0}\" e tutto il suo contenuto verranno eliminati.",
"ExternalUpdater": "{appName} è configurato per utilizzare un meccanismo di aggiornamento esterno", "ExternalUpdater": "{appName} è configurato per utilizzare un meccanismo di aggiornamento esterno",
"AddDelayProfile": "Aggiungi Profilo di Ritardo", "AddDelayProfile": "Aggiungi Profilo di Ritardo",
"CertValidationNoLocal": "Disabilitato per Indirizzi Locali", "CertValidationNoLocal": "Disabilitato per Indirizzi Locali",
"DeletedMsg": "Il film è stato eliminato da TMDb", "DeletedMsg": "Il film è stato eliminato da TMDb",
"DeleteMovieFolderLabel": "Elimina la Cartella del Film", "DeleteMovieFolder": "Elimina la Cartella del Film",
"EditGroups": "Modifica Gruppi", "EditGroups": "Modifica Gruppi",
"HomePage": "Pagina Iniziale", "HomePage": "Pagina Iniziale",
"Hours": "Ore", "Hours": "Ore",
@ -849,7 +849,7 @@
"Days": "Giorni", "Days": "Giorni",
"Debug": "Debug", "Debug": "Debug",
"DefaultCase": "Caso Predefinito", "DefaultCase": "Caso Predefinito",
"DeleteFilesHelpText": "Elimina i file e la cartella del film", "DeleteMovieFilesHelpText": "Elimina i file e la cartella del film",
"DeleteHeader": "Elimina - {0}", "DeleteHeader": "Elimina - {0}",
"DeleteMovieFolderHelpText": "Elimina la cartella del film e il suo contenuto", "DeleteMovieFolderHelpText": "Elimina la cartella del film e il suo contenuto",
"DeleteSelectedMovie": "Elimina Film Selezionato(i)", "DeleteSelectedMovie": "Elimina Film Selezionato(i)",
@ -958,7 +958,6 @@
"More": "Di più", "More": "Di più",
"Download": "Scarica", "Download": "Scarica",
"DownloadClientCheckDownloadingToRoot": "Il client di download {downloadClientName} colloca i download nella cartella radice {path}. Non dovresti scaricare in una cartella radice.", "DownloadClientCheckDownloadingToRoot": "Il client di download {downloadClientName} colloca i download nella cartella radice {path}. Non dovresti scaricare in una cartella radice.",
"DeleteFileLabel": "Elimina {0} file di film",
"Blocklist": "Lista dei Blocchi", "Blocklist": "Lista dei Blocchi",
"BlocklistRelease": "Release in Lista dei Blocchi", "BlocklistRelease": "Release in Lista dei Blocchi",
"RemoveFromBlocklist": "Rimuovi della blacklist", "RemoveFromBlocklist": "Rimuovi della blacklist",
@ -1088,5 +1087,87 @@
"AutoRedownloadFailed": "Download fallito", "AutoRedownloadFailed": "Download fallito",
"AddAutoTagError": "Impossibile aggiungere un nuovo tag automatico, riprova.", "AddAutoTagError": "Impossibile aggiungere un nuovo tag automatico, riprova.",
"AddDelayProfileError": "Impossibile aggiungere un nuovo profilo di ritardo, riprova.", "AddDelayProfileError": "Impossibile aggiungere un nuovo profilo di ritardo, riprova.",
"AddListExclusion": "Aggiungi elenco esclusioni" "AddListExclusion": "Aggiungi elenco esclusioni",
"Label": "Etichetta",
"QueueLoadError": "Impossibile caricare la coda",
"IncludeHealthWarnings": "Includi gli avvisi di salute",
"MustContainHelpText": "La liberatoria deve contenere almeno uno di questi termini (senza distinzione tra maiuscole e minuscole)",
"InteractiveImportLoadError": "Impossibile caricare gli elementi di importazione manuale",
"ChownGroup": "Gruppo chown",
"AutoTaggingSpecificationTag": "Etichetta",
"ConditionUsingRegularExpressions": "Questa condizione si applica usando espressione regolari. Nota che i caratteri {0} hanno significati speciali e devono essere evitati con un {1}",
"ConnectionLostToBackend": "Radarr ha perso la connessione al backend e dovrà essere ricaricato per ripristinare la funzionalità.",
"RemoveQueueItemConfirmation": "Sei sicuro di voler rimuovere {0} dalla coda?",
"FormatAgeMinutes": "Minuti",
"NotificationsDiscordSettingsAuthor": "Autore",
"TablePageSize": "Dimensione Pagina",
"QualitiesLoadError": "Non riesco a caricare le qualità",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Punteggio formato personalizzato minimo",
"Category": "Categoria",
"Clone": "Copia",
"ConnectionLostReconnect": "Radarr cercherà di connettersi automaticamente, oppure clicca su ricarica qui sotto.",
"DelayMinutes": "{delay} Minuti",
"DelayProfileMovieTagsHelpText": "Si applica ai film con almeno un tag corrispondente",
"DelayProfileProtocol": "Protocollo: {preferredProtocol}",
"EditImportListImplementation": "Aggiungi lista di importazione - {implementationName}",
"DeleteSpecification": "Cancella la Notifica",
"DeleteSpecificationHelpText": "Sei sicuro di voler eliminare la condizione '{name}'?",
"RetryingDownloadOn": "Riprovando il download {0} a {1}",
"DeletedReasonUpgrade": "Il file è stato eliminato per importare un aggiornamento",
"Directory": "Cartella",
"FormatAgeHours": "Ore",
"Lists": "Liste",
"NotificationStatusAllClientHealthCheckMessage": "Tutte le applicazioni non sono disponibili a causa di errori",
"SelectDropdown": "'Selezionare...",
"Yes": "Si",
"EditDownloadClientImplementation": "Aggiungi un Client di Download - {implementationName}",
"DisabledForLocalAddresses": "Disabilitato per Indirizzi Locali",
"EnableProfile": "Abilita Profilo",
"OrganizeNothingToRename": "Successo! Il mio lavoro è finito, nessun file da rinominare.",
"DownloadClientsLoadError": "Impossibile caricare i client di download",
"EditConditionImplementation": "Aggiungi Condizione - {implementationName}",
"HistoryLoadError": "Impossibile caricare la storia",
"InteractiveSearchModalHeader": "Ricerca interattiva",
"NotificationsSimplepushSettingsEvent": "Evento",
"TablePageSizeHelpText": "Numero di voci da mostrare in ogni pagina",
"BlocklistLoadError": "Non riesco a caricare la BlackList",
"EditReleaseProfile": "Aggiungi Profilo di Pubblicazione",
"AddReleaseProfile": "Aggiungi un Profilo Release",
"AppUpdatedVersion": "{appName} è stato aggiornato alla versione `{version}`, per vedere le modifiche devi ricaricare {appName}",
"RestartLater": "Riavvierò più tardi",
"DeleteAutoTagHelpText": "Sei sicuro di voler eliminare la condizione '{name}'?",
"OrganizeLoadError": "Errore nel caricare le anteprime",
"CustomFilter": "Filtri Personalizzati",
"EditIndexerImplementation": "Aggiungi indicizzatore - {implementationName}",
"No": "No",
"GrabId": "ID di Prelievo",
"NotificationStatusSingleClientHealthCheckMessage": "Applicazioni non disponibili a causa di errori: {notificationNames}",
"DeleteImportList": "Cancella la lista di importazione",
"DeleteRootFolder": "Cancella la cartella principale",
"Release": "release",
"DelayingDownloadUntil": "Ritardare il download fino al {0} a {1}",
"ReleaseProfiles": "profilo release",
"MustNotContainHelpText": "Questa release sarà respinta se contiene uno o più di questi termini (Sensibile al maiuscolo)",
"ApplyTagsHelpTextHowToApplyMovies": "Come applicare le etichette alle serie selezionate",
"SearchOnAddCollectionHelpText": "Cerca i film in questa lista quando aggiunti alla libreria",
"IMDbId": "ID di TMDb",
"MovieIsNotMonitored": "Il film è monitorato",
"ShowUnknownMovieItemsHelpText": "Mostra le voci senza un film nella coda. Ciò potrebbe include film spostati o altro nelle categorie di {appName}",
"DeleteImportListMessageText": "Sei sicuro di voler eliminare la condizione '{name}'?",
"DeleteReleaseProfile": "Cancellare il profilo di ritardo",
"EditConnectionImplementation": "Aggiungi Condizione - {implementationName}",
"FormatAgeHour": "Ore",
"DownloadClientSettingsRecentPriority": "Priorità Client",
"DeleteSelectedMovieFilesHelpText": "Sei sicuro di voler eliminare i file del film selezionato?",
"RemotePathMappingCheckLocalWrongOSPath": "Stai utilizzando docker; Il client di download {downloadClientName} mette i download in {path} ma questo non è un percorso valido {osName}. Controlla la mappa dei percorsi remoti e le impostazioni del client di download.",
"IndexerSettingsMultiLanguageRelease": "Multi lingua",
"MovieFileDeleted": "Su Elimina file filmato",
"FormatAgeMinute": "Minuti",
"MovieSearchResultsLoadError": "Impossibile caricare i risultati per questa ricerca di film. Riprovare più tardi",
"ReleaseProfilesLoadError": "Non riesco a caricare i profili di ritardo",
"ReleaseGroups": "Gruppo Release",
"DeleteReleaseProfileMessageText": "Sicuro di voler cancellare il profilo di qualità {0}",
"DeletedReasonMissingFromDisk": "Whisparr non è riuscito a trovare il file sul disco, quindi è stato rimosso",
"DeleteQualityProfileMessageText": "Sicuro di voler cancellare il profilo di qualità {0}",
"RemotePathMappingCheckFilesLocalWrongOSPath": "Stai utilizzando docker; Il client di download {downloadClientName} riporta files in {path} ma questo non è un percorso valido {osName}. Controlla la mappa dei percorsi remoti e le impostazioni del client di download."
} }

View File

@ -192,7 +192,7 @@
"MustNotContain": "含まれてはならない", "MustNotContain": "含まれてはならない",
"NamingSettings": "ネーミング設定", "NamingSettings": "ネーミング設定",
"DeleteDownloadClient": "ダウンロードクライアントを削除する", "DeleteDownloadClient": "ダウンロードクライアントを削除する",
"DeleteMovieFolderLabel": "ムービーフォルダを削除する", "DeleteMovieFolder": "ムービーフォルダを削除する",
"DockerUpdater": "Dockerコンテナを更新して、更新を受信します", "DockerUpdater": "Dockerコンテナを更新して、更新を受信します",
"DownloadClientStatusCheckAllClientMessage": "障害のため、すべてのダウンロードクライアントを利用できません", "DownloadClientStatusCheckAllClientMessage": "障害のため、すべてのダウンロードクライアントを利用できません",
"EditGroups": "グループの編集", "EditGroups": "グループの編集",
@ -464,8 +464,8 @@
"DeleteEmptyFolders": "空のフォルダを削除する", "DeleteEmptyFolders": "空のフォルダを削除する",
"DeleteEmptyFoldersHelpText": "ディスクスキャン中およびムービーファイルが削除されたときに空のムービーフォルダを削除します", "DeleteEmptyFoldersHelpText": "ディスクスキャン中およびムービーファイルが削除されたときに空のムービーフォルダを削除します",
"DeleteFile": "ファイルを削除する", "DeleteFile": "ファイルを削除する",
"DeleteFilesHelpText": "ムービーファイルとムービーフォルダを削除します", "DeleteMovieFilesHelpText": "ムービーファイルとムービーフォルダを削除します",
"DeleteFilesLabel": "{0}ムービーファイルを削除する", "DeleteMovieFiles": "{0}ムービーファイルを削除する",
"DeleteImportListExclusion": "インポートリストの除外を削除する", "DeleteImportListExclusion": "インポートリストの除外を削除する",
"DeleteIndexer": "インデクサーを削除する", "DeleteIndexer": "インデクサーを削除する",
"DeleteMovieFolderHelpText": "ムービーフォルダとその内容を削除します", "DeleteMovieFolderHelpText": "ムービーフォルダとその内容を削除します",
@ -475,7 +475,7 @@
"DeleteRestrictionHelpText": "この制限を削除してもよろしいですか?", "DeleteRestrictionHelpText": "この制限を削除してもよろしいですか?",
"DeleteSelectedMovie": "選択したムービーを削除する", "DeleteSelectedMovie": "選択したムービーを削除する",
"DeleteTagMessageText": "タグ「{0}」を削除してもよろしいですか?", "DeleteTagMessageText": "タグ「{0}」を削除してもよろしいですか?",
"DeleteTheMovieFolder": "ムービーフォルダ「{0}」とそのすべてのコンテンツが削除されます。", "DeleteMovieFolderConfirmation": "ムービーフォルダ「{0}」とそのすべてのコンテンツが削除されます。",
"DestinationPath": "宛先パス", "DestinationPath": "宛先パス",
"DestinationRelativePath": "宛先相対パス", "DestinationRelativePath": "宛先相対パス",
"DetailedProgressBar": "詳細なプログレスバー", "DetailedProgressBar": "詳細なプログレスバー",
@ -959,7 +959,6 @@
"More": "もっと", "More": "もっと",
"Download": "ダウンロード", "Download": "ダウンロード",
"DownloadClientCheckDownloadingToRoot": "ダウンロードクライアント{downloadClientName}は、ダウンロードをルートフォルダ{path}に配置します。ルートフォルダにダウンロードしないでください。", "DownloadClientCheckDownloadingToRoot": "ダウンロードクライアント{downloadClientName}は、ダウンロードをルートフォルダ{path}に配置します。ルートフォルダにダウンロードしないでください。",
"DeleteFileLabel": "{0}ムービーファイルを削除する",
"Blocklist": "ブラックリスト", "Blocklist": "ブラックリスト",
"BlocklistRelease": "ブラックリストリリース", "BlocklistRelease": "ブラックリストリリース",
"RemoveFromBlocklist": "ブラックリストから削除する", "RemoveFromBlocklist": "ブラックリストから削除する",
@ -977,5 +976,88 @@
"File": "ファイル", "File": "ファイル",
"ShowCinemaReleaseHelpText": "ポスターの下にリリース日を表示する", "ShowCinemaReleaseHelpText": "ポスターの下にリリース日を表示する",
"EditMovies": "映画の編集", "EditMovies": "映画の編集",
"DeleteRemotePathMapping": "リモートパスマッピングの編集" "DeleteRemotePathMapping": "リモートパスマッピングの編集",
"No": "番号",
"IncludeHealthWarnings": "健康上の警告を含める",
"OrganizeNothingToRename": "成功!私の仕事は終わりました。名前を変更するファイルはありません。",
"GrabId": "IDを取得",
"AddAutoTagError": "新しいリストを追加できません。もう一度やり直してください。",
"DeleteDelayProfileMessageText": "この遅延プロファイルを削除してもよろしいですか?",
"MoveAutomatically": "クイックインポート",
"DeleteQualityProfileMessageText": "品質プロファイル{0}を削除してもよろしいですか",
"RemoveSelectedItemsQueueMessageText": "キューから{0}アイテム{1}を削除してもよろしいですか?",
"ConnectionLostReconnect": "Radarrは自動的に接続を試みます。または、下の[再読み込み]をクリックしてください。",
"DeleteImportListMessageText": "タグ「{0}」を削除してもよろしいですか?",
"DisabledForLocalAddresses": "ローカルアドレスでは無効",
"FormatAgeMinute": "議事録",
"FormatAgeMinutes": "議事録",
"TablePageSize": "ページサイズ",
"RemoveSelectedBlocklistMessageText": "選択したアイテムをブラックリストから削除してもよろしいですか?",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "最小カスタムフォーマットスコア",
"ConditionUsingRegularExpressions": "この条件は、正規表現を使用して一致します。文字{0}には特別な意味があり、{1}でエスケープする必要があることに注意してください",
"DelayProfileMovieTagsHelpText": "一致するタグが少なくとも1つある映画に適用されます",
"DeleteAutoTagHelpText": "品質プロファイル{0}を削除してもよろしいですか",
"DeleteConditionMessageText": "品質プロファイル{0}を削除してもよろしいですか",
"DeleteReleaseProfileMessageText": "品質プロファイル{0}を削除してもよろしいですか",
"DeleteSelectedDownloadClients": "ダウンロードクライアントを削除する",
"DeleteSpecificationHelpText": "タグ「{0}」を削除してもよろしいですか?",
"ApplyTagsHelpTextAdd": "追加:既存のタグリストにタグを追加します",
"ApplyTagsHelpTextHowToApplyDownloadClients": "選択した映画にタグを適用する方法",
"DownloadClientsLoadError": "ダウンロードクライアントを読み込めません",
"FormatAgeHours": "時間",
"HistoryLoadError": "履歴を読み込めません",
"InteractiveImportLoadError": "手動インポートアイテムを読み込めません",
"MustContainHelpText": "リリースには、これらの用語の少なくとも1つが含まれている必要があります大文字と小文字は区別されません",
"MustNotContainHelpText": "1つ以上の用語が含まれている場合、リリースは拒否されます大文字と小文字は区別されません",
"NotificationStatusAllClientHealthCheckMessage": "障害のため、すべてのリストを利用できません",
"ReleaseGroups": "リリースグループ",
"ReleaseProfilesLoadError": "遅延プロファイルを読み込めません",
"AutoTaggingNegateHelpText": "オンにすると、この{0}条件が一致する場合、カスタム形式は適用されません。",
"DeleteSelectedIndexers": "インデクサーを削除する",
"RemoveSelectedItemQueueMessageText": "キューから{0}アイテム{1}を削除してもよろしいですか?",
"ResetAPIKeyMessageText": "APIキーをリセットしてもよろしいですか",
"RetryingDownloadOn": "{1}で{0}までダウンロードを遅らせる",
"NotificationStatusSingleClientHealthCheckMessage": "失敗のため利用できないリスト:{notificationNames}",
"BlocklistLoadError": "ブラックリストを読み込めません",
"SelectDropdown": "'選択する...",
"QueueLoadError": "キューのロードに失敗しました",
"InteractiveSearchModalHeader": "インタラクティブ検索",
"RemoveQueueItemConfirmation": "キューから{0}アイテム{1}を削除してもよろしいですか?",
"IndexerSettingsMultiLanguageRelease": "多言語",
"Release": "リリース済み",
"QualityCutoffNotMet": "品質カットオフが満たされていません",
"TablePageSizeHelpText": "各ページに表示するアイテムの数",
"AddRootFolderError": "ルートフォルダを読み込めません",
"RestartLater": "後で再起動します",
"AddListExclusion": "リストの除外を追加",
"AutoRedownloadFailed": "ダウンロードに失敗しました",
"ApplyTagsHelpTextHowToApplyImportLists": "選択した映画にタグを適用する方法",
"ApplyTagsHelpTextHowToApplyIndexers": "選択した映画にタグを適用する方法",
"ApplyTagsHelpTextRemove": "削除:入力したタグを削除します",
"ApplyTagsHelpTextReplace": "置換:タグを入力したタグに置き換えます(すべてのタグをクリアするには、タグを入力しないでください)",
"QualitiesLoadError": "品質をロードできません",
"Yes": "はい",
"CustomFilter": "カスタムフィルター",
"DelayingDownloadUntil": "{1}で{0}までダウンロードを遅らせる",
"DeleteImportListExclusionMessageText": "このインポートリストの除外を削除してもよろしいですか?",
"DeleteReleaseProfile": "遅延プロファイルの削除",
"DeleteSpecification": "通知を削除",
"DeletedReasonUpgrade": "アップグレードをインポートするためにファイルが削除されました",
"FormatAgeHour": "時間",
"Lists": "リスト",
"OrganizeLoadError": "プレビューの読み込みエラー",
"ApplyTagsHelpTextHowToApplyMovies": "選択した映画にタグを適用する方法",
"AddDelayProfileError": "新しい品質プロファイルを追加できません。再試行してください。",
"MovieSearchResultsLoadError": "この映画検索の結果を読み込めません。あとでもう一度試してみてください",
"MovieFileDeleted": "ムービーファイルの削除について",
"SearchOnAddCollectionHelpText": "{appName}に追加されたら、このリストで映画を検索します",
"MovieIsNotMonitored": "映画は監視されていません",
"DeletedReasonMissingFromDisk": "Whisparrはディスク上でファイルを見つけることができなかったため、削除されました",
"IMDbId": "TMDbID",
"DeleteSelectedMovieFilesHelpText": "選択したムービーファイルを削除してもよろしいですか?",
"NotificationsSimplepushSettingsEvent": "イベント",
"DeleteCustomFormatMessageText": "タグ「{0}」を削除してもよろしいですか?",
"DeleteFormatMessageText": "タグ「{0}」を削除してもよろしいですか?",
"DownloadClientSettingsRecentPriority": "クライアントの優先順位",
"ShowUnknownMovieItemsHelpText": "キューに映画がないアイテムを表示します。これには、削除された映画や、ラダーのカテゴリに含まれるその他のものが含まれる可能性があります"
} }

View File

@ -33,7 +33,7 @@
"DefaultDelayProfileMovie": "이것이 기본 프로필입니다. 명시적인 프로필이 없는 모든 영화에 적용됩니다.", "DefaultDelayProfileMovie": "이것이 기본 프로필입니다. 명시적인 프로필이 없는 모든 영화에 적용됩니다.",
"Deleted": "삭제됨", "Deleted": "삭제됨",
"DeleteEmptyFoldersHelpText": "디스크 스캔 중 및 동영상 파일 삭제 시 빈 동영상 폴더 삭제", "DeleteEmptyFoldersHelpText": "디스크 스캔 중 및 동영상 파일 삭제 시 빈 동영상 폴더 삭제",
"DeleteFilesLabel": "{0} 영화 파일 삭제", "DeleteMovieFiles": "{0} 영화 파일 삭제",
"DeleteNotification": "알림 삭제", "DeleteNotification": "알림 삭제",
"DestinationPath": "목적지 경로", "DestinationPath": "목적지 경로",
"DownloadWarning": "다운로드 경고 : {0}", "DownloadWarning": "다운로드 경고 : {0}",
@ -192,7 +192,7 @@
"DeletedMsg": "TMDb에서 영화가 삭제되었습니다.", "DeletedMsg": "TMDb에서 영화가 삭제되었습니다.",
"DeleteDownloadClient": "다운로드 클라이언트 삭제", "DeleteDownloadClient": "다운로드 클라이언트 삭제",
"AnalyticsEnabledHelpText": "익명의 사용 및 오류 정보를 {appName}의 서버에 보냅니다. 여기에는 브라우저에 대한 정보, 사용하는 {appName} WebUI 페이지, 오류 보고, OS 및 런타임 버전이 포함됩니다. 이 정보를 사용하여 기능 및 버그 수정의 우선 순위를 지정합니다.", "AnalyticsEnabledHelpText": "익명의 사용 및 오류 정보를 {appName}의 서버에 보냅니다. 여기에는 브라우저에 대한 정보, 사용하는 {appName} WebUI 페이지, 오류 보고, OS 및 런타임 버전이 포함됩니다. 이 정보를 사용하여 기능 및 버그 수정의 우선 순위를 지정합니다.",
"DeleteMovieFolderLabel": "영화 폴더 삭제", "DeleteMovieFolder": "영화 폴더 삭제",
"DockerUpdater": "Docker 컨테이너를 업데이트하여 업데이트를 받으십시오.", "DockerUpdater": "Docker 컨테이너를 업데이트하여 업데이트를 받으십시오.",
"Enabled": "활성화 됨", "Enabled": "활성화 됨",
"FailedDownloadHandling": "실패한 다운로드 처리", "FailedDownloadHandling": "실패한 다운로드 처리",
@ -469,7 +469,7 @@
"DeleteDownloadClientMessageText": "다운로드 클라이언트 '{0}'을(를) 삭제하시겠습니까?", "DeleteDownloadClientMessageText": "다운로드 클라이언트 '{0}'을(를) 삭제하시겠습니까?",
"DeleteEmptyFolders": "빈 폴더 삭제", "DeleteEmptyFolders": "빈 폴더 삭제",
"DeleteFile": "파일 삭제", "DeleteFile": "파일 삭제",
"DeleteFilesHelpText": "동영상 파일 및 동영상 폴더 삭제", "DeleteMovieFilesHelpText": "동영상 파일 및 동영상 폴더 삭제",
"DeleteHeader": "삭제-{0}", "DeleteHeader": "삭제-{0}",
"DeleteImportListExclusion": "가져오기 목록 제외 삭제", "DeleteImportListExclusion": "가져오기 목록 제외 삭제",
"DeleteIndexer": "인덱서 삭제", "DeleteIndexer": "인덱서 삭제",
@ -482,7 +482,7 @@
"DeleteSelectedMovie": "선택한 영화 삭제", "DeleteSelectedMovie": "선택한 영화 삭제",
"DeleteSelectedMovieFiles": "선택한 동영상 파일 삭제", "DeleteSelectedMovieFiles": "선택한 동영상 파일 삭제",
"DeleteTagMessageText": "'{0}' 태그를 삭제하시겠습니까?", "DeleteTagMessageText": "'{0}' 태그를 삭제하시겠습니까?",
"DeleteTheMovieFolder": "동영상 폴더 '{0}' 및 모든 콘텐츠가 삭제됩니다.", "DeleteMovieFolderConfirmation": "동영상 폴더 '{0}' 및 모든 콘텐츠가 삭제됩니다.",
"DestinationRelativePath": "대상 상대 경로", "DestinationRelativePath": "대상 상대 경로",
"DetailedProgressBar": "자세한 진행률 표시줄", "DetailedProgressBar": "자세한 진행률 표시줄",
"Details": "세부 정보", "Details": "세부 정보",
@ -959,7 +959,6 @@
"More": "더보기", "More": "더보기",
"Download": "다운로드", "Download": "다운로드",
"DownloadClientCheckDownloadingToRoot": "다운로드 클라이언트 {downloadClientName} 은(는) 루트 폴더 {path}에 다운로드를 저장합니다. 루트 폴더에 다운로드해서는 안됩니다.", "DownloadClientCheckDownloadingToRoot": "다운로드 클라이언트 {downloadClientName} 은(는) 루트 폴더 {path}에 다운로드를 저장합니다. 루트 폴더에 다운로드해서는 안됩니다.",
"DeleteFileLabel": "{0} 영화 파일 삭제",
"Blocklist": "블랙리스트", "Blocklist": "블랙리스트",
"BlocklistRelease": "블랙리스트 릴리스", "BlocklistRelease": "블랙리스트 릴리스",
"RemoveFromBlocklist": "블랙리스트에서 제거", "RemoveFromBlocklist": "블랙리스트에서 제거",
@ -992,5 +991,63 @@
"ApplyTagsHelpTextReplace": "바꾸기 : 태그를 입력 한 태그로 바꿉니다 (모든 태그를 지우려면 태그를 입력하지 않음)", "ApplyTagsHelpTextReplace": "바꾸기 : 태그를 입력 한 태그로 바꿉니다 (모든 태그를 지우려면 태그를 입력하지 않음)",
"StopSelecting": "선택 취소", "StopSelecting": "선택 취소",
"EditMovies": "일괄 수정하기", "EditMovies": "일괄 수정하기",
"EditSelectedMovies": "선택된 영화 수정하기" "EditSelectedMovies": "선택된 영화 수정하기",
"QueueLoadError": "대기열을 불러오지 못했습니다.",
"IncludeHealthWarnings": "건강 경고 포함",
"AutoRedownloadFailed": "다운로드 실패함",
"AddListExclusion": "목록 예외 추가",
"RestartLater": "나중에 다시 시작하겠습니다",
"DeleteSpecification": "알림 삭제",
"DeleteSpecificationHelpText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?",
"HistoryLoadError": "기록을로드 할 수 없습니다.",
"DeleteImportListMessageText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?",
"DeletedReasonUpgrade": "업그레이드를 가져오기 위해 파일이 삭제되었습니다.",
"MoveAutomatically": "빠른 가져오기",
"DelayingDownloadUntil": "{0}까지 {1}에 다운로드 지연",
"DisabledForLocalAddresses": "로컬 주소에 대해 비활성화됨",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "최소 사용자 지정 형식 점수",
"DeleteQualityProfileMessageText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?",
"InteractiveSearchModalHeader": "대화형 검색",
"NotificationStatusAllClientHealthCheckMessage": "실패로 인해 모든 목록을 사용할 수 없습니다.",
"ApplyTagsHelpTextHowToApplyDownloadClients": "선택한 동영상에 태그를 적용하는 방법",
"ConnectionLostReconnect": "Radarr가 자동으로 연결을 시도하거나 아래에서 새로고침을 클릭할 수 있습니다.",
"ConnectionLostToBackend": "Radarr는 백엔드와의 연결이 끊어졌으며 기능을 복원하려면 다시 로딩해야 합니다.",
"DeleteReleaseProfile": "지연 프로필 삭제",
"DeleteReleaseProfileMessageText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?",
"OrganizeNothingToRename": "성공! 내 작업이 완료되었으며 이름을 바꿀 파일이 없습니다.",
"ReleaseGroups": "릴리스 그룹",
"AutoTaggingNegateHelpText": "선택하면이 {0} 조건이 일치하면 맞춤 형식이 적용되지 않습니다.",
"DelayProfileMovieTagsHelpText": "일치하는 태그가 하나 이상있는 영화에 적용됩니다.",
"TablePageSizeHelpText": "각 페이지에 표시 할 항목 수",
"OrganizeLoadError": "미리보기를로드하는 중에 오류가 발생했습니다.",
"RetryingDownloadOn": "{1}에 {0} 다운로드 재시도",
"BlocklistLoadError": "블랙리스트를로드 할 수 없습니다.",
"NotificationStatusSingleClientHealthCheckMessage": "실패로 인해 사용할 수없는 목록 : {notificationNames}",
"GrabId": "ID 잡아",
"RemoveQueueItemConfirmation": "대기열에서 {0} 항목 {1}을 제거하시겠습니까?",
"ReleaseProfilesLoadError": "지연 프로필을로드 할 수 없습니다.",
"QualitiesLoadError": "품질을로드 할 수 없습니다.",
"TablePageSize": "페이지 크기",
"AddAutoTagError": "새 목록을 추가 할 수 없습니다. 다시 시도하십시오.",
"AddRootFolderError": "루트 폴더를로드 할 수 없습니다.",
"ApplyTagsHelpTextHowToApplyImportLists": "선택한 동영상에 태그를 적용하는 방법",
"MustNotContainHelpText": "하나 이상의 용어가 포함 된 경우 릴리스가 거부됩니다 (대소 문자 구분 안 함).",
"MustContainHelpText": "릴리스에는 다음 용어 중 하나 이상이 포함되어야합니다 (대소 문자 구분 안 함).",
"SelectDropdown": "'선택...",
"CustomFilter": "사용자 지정 필터",
"DeleteAutoTagHelpText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?",
"DownloadClientsLoadError": "다운로드 클라이언트를로드 할 수 없습니다.",
"Lists": "기울기",
"No": "아니",
"RemoveSelectedBlocklistMessageText": "블랙리스트에서 선택한 항목을 제거 하시겠습니까?",
"Yes": "예",
"ApplyTagsHelpTextHowToApplyMovies": "선택한 동영상에 태그를 적용하는 방법",
"DeletedReasonMissingFromDisk": "Whisparr가 디스크에서 파일을 찾을 수 없어 제거되었습니다.",
"ShowUnknownMovieItemsHelpText": "대기열에 영화가없는 항목을 표시합니다. 여기에는 제거 된 영화 또는 {appName} 카테고리의 다른 항목이 포함될 수 있습니다.",
"DeleteSelectedMovieFilesHelpText": "선택한 동영상 파일을 삭제 하시겠습니까?",
"DownloadClientSettingsRecentPriority": "클라이언트 우선 순위",
"MovieSearchResultsLoadError": "이 영화 검색 결과를 불러올 수 없습니다. 나중에 다시 시도",
"NotificationsSimplepushSettingsEvent": "이벤트",
"SearchOnAddCollectionHelpText": "{appName}에 추가되면이 목록에서 영화 검색",
"AddDelayProfileError": "새 품질 프로필을 추가 할 수 없습니다. 다시 시도하십시오."
} }

View File

@ -284,5 +284,27 @@
"ReleaseProfiles": "utgivelseprofil", "ReleaseProfiles": "utgivelseprofil",
"AddConditionImplementation": "Legg til betingelse - {implementationName}", "AddConditionImplementation": "Legg til betingelse - {implementationName}",
"AddAutoTagError": "Ikke mulig å legge til ny automatisk tagg, vennligst prøv igjen", "AddAutoTagError": "Ikke mulig å legge til ny automatisk tagg, vennligst prøv igjen",
"AddConditionError": "Ikke mulig å legge til ny betingelse, vennligst prøv igjen" "AddConditionError": "Ikke mulig å legge til ny betingelse, vennligst prøv igjen",
"AutoTaggingSpecificationTag": "Merke",
"DeleteReleaseProfileMessageText": "Er du sikker på at du vil slette denne forsinkelsesprofilen?",
"DeleteSpecificationHelpText": "Er du sikker på at du vil slette formattaggen {0}?",
"Release": "utgivelse",
"EditReleaseProfile": "Legg til utgivelseprofil",
"Directory": "Mappe",
"Docker": "Docker",
"Lists": "Liste",
"AddListExclusion": "Legg til listeekskludering",
"ImportListExclusions": "Legg til importeringsliste unntak",
"NotificationsSimplepushSettingsEvent": "Hendelse",
"AddReleaseProfile": "Legg til utgivelseprofil",
"Label": "Merke",
"DownloadClientSettingsRecentPriority": "Klientprioritet",
"AddConnectionImplementation": "Legg til betingelse - {implementationName}",
"AddIndexerImplementation": "Legg til betingelse - {implementationName}",
"EditConditionImplementation": "Legg til betingelse - {implementationName}",
"AddIndexerError": "Ikke mulig å legge til ny betingelse, vennligst prøv igjen",
"AddListError": "Ikke mulig å legge til ny automatisk tagg, vennligst prøv igjen",
"AddNotificationError": "Ikke mulig å legge til ny betingelse, vennligst prøv igjen",
"AddCustomFormatError": "Ikke mulig å legge til ny automatisk tagg, vennligst prøv igjen",
"AddDownloadClientError": "Ikke mulig å legge til ny betingelse, vennligst prøv igjen"
} }

View File

@ -814,13 +814,13 @@
"CouldNotConnectSignalR": "Kan geen verbinding maken met SignalR, gebruikersinterface wordt niet bijgewerkt", "CouldNotConnectSignalR": "Kan geen verbinding maken met SignalR, gebruikersinterface wordt niet bijgewerkt",
"Donations": "Donaties", "Donations": "Donaties",
"DockerUpdater": "Update de docker container om de update te ontvangen", "DockerUpdater": "Update de docker container om de update te ontvangen",
"DeleteTheMovieFolder": "De film map '{path}' en al zijn inhoud zal worden verwijderd.", "DeleteMovieFolderConfirmation": "De film map '{path}' en al zijn inhoud zal worden verwijderd.",
"DeleteSelectedMovie": "Verwijder Geselecteerde Film(s)", "DeleteSelectedMovie": "Verwijder Geselecteerde Film(s)",
"DeleteMovieFolderLabel": "Verwijder Film Map", "DeleteMovieFolder": "Verwijder Film Map",
"DeleteMovieFolderHelpText": "Verwijder de film map en zijn inhoud", "DeleteMovieFolderHelpText": "Verwijder de film map en zijn inhoud",
"DeleteHeader": "Verwijder - {0}", "DeleteHeader": "Verwijder - {0}",
"DeleteFilesLabel": "Verwijder {0} Film Bestanden", "DeleteMovieFiles": "Verwijder {0} Film Bestanden",
"DeleteFilesHelpText": "Verwijder de film bestanden en film map", "DeleteMovieFilesHelpText": "Verwijder de film bestanden en film map",
"DeletedMsg": "Film was verwijdert van TMDb", "DeletedMsg": "Film was verwijdert van TMDb",
"DefaultDelayProfileMovie": "Dit is het standaard profiel. Het wordt toegepast op alle films die geen specifiek profiel hebben.", "DefaultDelayProfileMovie": "Dit is het standaard profiel. Het wordt toegepast op alle films die geen specifiek profiel hebben.",
"DefaultCase": "Standaard Geval", "DefaultCase": "Standaard Geval",
@ -960,7 +960,6 @@
"More": "Meer", "More": "Meer",
"Download": "Downloaden", "Download": "Downloaden",
"DownloadClientCheckDownloadingToRoot": "Downloadclient {downloadClientName} plaatst downloads in de hoofdmap {path}. U mag niet naar een hoofdmap downloaden.", "DownloadClientCheckDownloadingToRoot": "Downloadclient {downloadClientName} plaatst downloads in de hoofdmap {path}. U mag niet naar een hoofdmap downloaden.",
"DeleteFileLabel": "Verwijder {0} Film Bestanden",
"UpdateAvailable": "Nieuwe update is beschikbaar", "UpdateAvailable": "Nieuwe update is beschikbaar",
"From": "van", "From": "van",
"RemotePathMappingCheckDownloadPermissions": "{appName} kan gedownloade film {path} zien, maar niet openen. Waarschijnlijk fout met machtigingen.", "RemotePathMappingCheckDownloadPermissions": "{appName} kan gedownloade film {path} zien, maar niet openen. Waarschijnlijk fout met machtigingen.",
@ -1130,5 +1129,76 @@
"Category": "Categorie", "Category": "Categorie",
"BlocklistLoadError": "Niet in staat om de blokkeerlijst te laden", "BlocklistLoadError": "Niet in staat om de blokkeerlijst te laden",
"BlocklistReleaseHelpText": "Voorkom dat deze release opnieuw wordt gedownload door {appName} door een RSS lijst of een automatische zoekopdracht", "BlocklistReleaseHelpText": "Voorkom dat deze release opnieuw wordt gedownload door {appName} door een RSS lijst of een automatische zoekopdracht",
"ChownGroup": "chown groep" "ChownGroup": "chown groep",
"ReleaseProfiles": "releaseprofiel",
"DeletedReasonUpgrade": "Bestand werd verwijderd om een upgrade te importeren",
"OrganizeNothingToRename": "Success! Mijn werk zit erop, geen bestanden te hernoemen.",
"Directory": "Map",
"IncludeHealthWarnings": "Voeg Gezondheidswaarschuwingen Toe",
"SelectDropdown": "'Selecteer...",
"AddListExclusion": "Lijst uitzondering toevoegen",
"DownloadClientsLoadError": "Downloaders kunnen niet worden geladen",
"Yes": "Ja",
"AutoTaggingSpecificationTag": "Tag",
"EditConditionImplementation": "Voeg connectie toe - {implementationName}",
"AutoTaggingNegateHelpText": "Als aangevinkt worden de automatisch taggen regels worden niet toegepast als {implementationName} condities overeen komen.",
"TablePageSize": "Pagina Grootte",
"TablePageSizeHelpText": "Aantal items om te tonen op iedere pagina",
"CountDownloadClientsSelected": "{count} download client(s) geselecteerd",
"DeleteAutoTagHelpText": "Bent u zeker dat u de lijst '{name}' wilt verwijderen?",
"MoveAutomatically": "Automatisch verplaatsen",
"NotificationsSimplepushSettingsEvent": "Evenement",
"ConnectionLostToBackend": "Radarr heeft zijn verbinding met de backend verloren en zal moeten worden herladen om de functionaliteit te kunnen herstellen.",
"DelayingDownloadUntil": "Vertraag download tot {0} op {1}",
"EditIndexerImplementation": "Indexeerder toevoegen - {implementationName}",
"FormatAgeHours": "Uren",
"HistoryLoadError": "Kon geschiedenis niet laden",
"NotificationStatusAllClientHealthCheckMessage": "Alle applicaties onbeschikbaar door fouten",
"OrganizeLoadError": "Fout bij laden van voorvertoningen",
"QualitiesLoadError": "Kon kwaliteitsprofielen niet inladen",
"RemoveQueueItemConfirmation": "Weet je zeker dat je {0} van de wachtrij wilt verwijderen?",
"ConnectionLostReconnect": "Radarr zal automatisch proberen te verbinden, of u kunt hieronder op herladen klikken.",
"DeleteSpecification": "Verwijder Notificatie",
"DeleteSpecificationHelpText": "Bent u zeker dat u de lijst '{name}' wilt verwijderen?",
"GrabId": "ID Ophalen",
"MustNotContainHelpText": "De uitgave zal worden afgekeurd als het één of meerdere van deze termen bevat (hoofdletter ongevoelig)",
"EditImportListImplementation": "Importlijst toevoegen - {implementationName}",
"EditDownloadClientImplementation": "Voeg Downloadclient toe - {implementationName}",
"RetryingDownloadOn": "Download opnieuw proberen {0} op {1}",
"InteractiveImportLoadError": "Kan items voor handmatig importeren niet laden",
"DelayProfileMovieTagsHelpText": "Is van toepassing op films met minstens één overeenkomende tag",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Minimum Eigen Formaat Score",
"DisabledForLocalAddresses": "Uitgeschakeld voor lokale adressen",
"EditReleaseProfile": "Voeg Releaseprofiel toe",
"Label": "Label",
"QueueLoadError": "Laden van de wachtrij is mislukt",
"InteractiveSearchModalHeader": "Interactief Zoeken",
"MustContainHelpText": "De release moet tenminste één van deze termen bevatten (hoofdletter gevoelig)",
"Lists": "Lijsten",
"AddReleaseProfile": "Voeg Releaseprofiel toe",
"AddAutoTagError": "Niet in staat een nieuw automatisch label toe te voegen, probeer het opnieuw.",
"AutoTaggingLoadError": "Laden van automatisch taggen is mislukt",
"No": "Nee",
"ConditionUsingRegularExpressions": "Deze conditie toont een overeenkomst vanwege Reguliere Expressie. Merk op dat de karakters {0} een speciale betekenis hebben en met {1} moeten worden voorgegaan om hun oorspronkelijke betekenis te krijgen",
"RestartLater": "Ik zal later herstarten",
"AddDelayProfileError": "Mislukt om vertragingsprofiel toe te voegen, probeer het later nog eens.",
"DeleteImportListMessageText": "Bent u zeker dat u de veiligheidskopie '{name}' wilt verwijderen?",
"IMDbId": "TMDb Id",
"MovieIsNotMonitored": "Film wordt gemonitord",
"FormatAgeMinute": "minuten",
"EditConnectionImplementation": "Voeg connectie toe - {implementationName}",
"FormatAgeHour": "Uren",
"DeletedReasonMissingFromDisk": "Whisparr kon het bestand niet vinden op de schijf dus werd het verwijderd",
"DeleteReleaseProfile": "Verwijder Vertragingsprofiel",
"DeleteReleaseProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {0} wilt verwijderen",
"DownloadClientSettingsRecentPriority": "Client Prioriteit",
"MovieSearchResultsLoadError": "Kan resultaten voor deze filmzoekopdracht niet laden. Probeer het later nogmaals",
"ReleaseProfilesLoadError": "Vertragingsprofielen kunnen niet worden geladen",
"DeleteSelectedMovieFilesHelpText": "Bent u zeker dat u de geselecteerde filmbestanden wilt verwijderen?",
"Release": "Uitgebracht",
"ReleaseGroups": "Uitgave Groep",
"IndexerSettingsMultiLanguageRelease": "Meertalig",
"ShowUnknownMovieItemsHelpText": "Toon items zonder een film in de wachtrij, dit kan verwijderde films, TV series of iets anders in {appName} zijn categorie omvatten",
"CustomFilter": "Aangepaste Filters",
"MovieFileDeleted": "Op filmbestand verwijderen"
} }

Some files were not shown because too many files have changed in this diff Show More