1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-03-23 17:14:46 -04:00

Compare commits

...

30 Commits

Author SHA1 Message Date
Márki-Zay Ferenc
e4429d2919 Fixed: Close database connection in housekeeping tasks 2023-06-17 03:52:12 +03:00
Bogdan
7052a7a5ec New: Improved page loading errors
Closes #8706
2023-06-16 23:45:26 +03:00
Weblate
b38912851b Translated using Weblate (Portuguese (Brazil)) [skip ci]
Currently translated at 100.0% (1184 of 1184 strings)

Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt_BR/
Translation: Servarr/Radarr
2023-06-16 02:21:40 +03:00
Bogdan
1354c2c337 Fix sorting history items by movie titles 2023-06-15 23:21:16 +03:00
Servarr
e259235df6 Automated API Docs update 2023-06-14 09:17:16 +03:00
Bogdan
0cc1fe8308 Add HelpTextWarning support in FieldDefinition
(cherry picked from commit 0e07d54ee77d5f83716e17b6757e23f38ff73694)

Closes #8687
2023-06-14 07:55:44 +03:00
Bogdan
f4fe18a440 Require ApiKey for all actions in RadarrImport
(cherry picked from commit 19b8fbe13bf584b915a05fe9fc87622adbaee0b7)

Closes #8692
2023-06-14 07:50:53 +03:00
Bogdan
eeed935e3a Update cleansing rules for RSS TL feed and homedir for Mac
(cherry picked from commit e5ff4aafa3f0b855fec332788e9fc490a03dfce3)

Closes #8684
2023-06-14 07:48:26 +03:00
Bogdan
1b3701371a Fixed: Treat redirects as errors in Radarr Import List
(cherry picked from commit 059a156f4a34c6b9cbe139fa1973b814e8a534ae)
2023-06-14 07:40:06 +03:00
Qstick
d56f3ec2e7 Fixed: Correctly handle 302 and 303 redirects in HttpClient
(cherry picked from commit ed7c5a937f4b50fcdf819e8fe347c8c0bc6bd2e7)

(cherry picked from commit 11bd764a75d3b97117098738d3489c4b3329738f)
2023-06-14 07:37:37 +03:00
Weblate
e7e3aac971 Update translation files [skip ci]
Updated by "Cleanup translation files" hook in Weblate.

Update translation files  [skip ci]

Updated by "Cleanup translation files" hook in Weblate.

Translated using Weblate (Ukrainian) [skip ci]

Currently translated at 97.5% (1155 of 1184 strings)

Translated using Weblate (Norwegian Bokmål) [skip ci]

Currently translated at 22.1% (262 of 1184 strings)

Translated using Weblate (Catalan) [skip ci]

Currently translated at 97.8% (1158 of 1184 strings)

Translated using Weblate (Portuguese (Brazil)) [skip ci]

Currently translated at 100.0% (1184 of 1184 strings)

Translated using Weblate (German) [skip ci]

Currently translated at 99.5% (1179 of 1184 strings)

Update translation files  [skip ci]

Updated by "Cleanup translation files" hook in Weblate.

Translated using Weblate (Indonesian) [skip ci]

Currently translated at 7.5% (89 of 1180 strings)

Translated using Weblate (Croatian) [skip ci]

Currently translated at 21.8% (258 of 1180 strings)

Translated using Weblate (Ukrainian) [skip ci]

Currently translated at 97.9% (1156 of 1180 strings)

Translated using Weblate (Slovak) [skip ci]

Currently translated at 21.1% (249 of 1180 strings)

Translated using Weblate (Norwegian Bokmål) [skip ci]

Currently translated at 22.2% (263 of 1180 strings)

Translated using Weblate (Catalan) [skip ci]

Currently translated at 98.2% (1159 of 1180 strings)

Translated using Weblate (Arabic) [skip ci]

Currently translated at 88.8% (1048 of 1180 strings)

Translated using Weblate (Chinese (Simplified) (zh_CN)) [skip ci]

Currently translated at 98.8% (1166 of 1180 strings)

Translated using Weblate (Portuguese (Brazil)) [skip ci]

Currently translated at 99.9% (1179 of 1180 strings)

Translated using Weblate (Thai) [skip ci]

Currently translated at 88.2% (1041 of 1180 strings)

Translated using Weblate (Bulgarian) [skip ci]

Currently translated at 86.2% (1018 of 1180 strings)

Translated using Weblate (Hindi) [skip ci]

Currently translated at 88.2% (1041 of 1180 strings)

Translated using Weblate (Romanian) [skip ci]

Currently translated at 85.9% (1014 of 1180 strings)

Translated using Weblate (Vietnamese) [skip ci]

Currently translated at 88.2% (1041 of 1180 strings)

Translated using Weblate (Turkish) [skip ci]

Currently translated at 88.1% (1040 of 1180 strings)

Translated using Weblate (Swedish) [skip ci]

Currently translated at 89.0% (1051 of 1180 strings)

Translated using Weblate (Russian) [skip ci]

Currently translated at 98.2% (1159 of 1180 strings)

Translated using Weblate (Portuguese) [skip ci]

Currently translated at 98.3% (1160 of 1180 strings)

Translated using Weblate (Polish) [skip ci]

Currently translated at 97.1% (1146 of 1180 strings)

Translated using Weblate (Dutch) [skip ci]

Currently translated at 98.4% (1162 of 1180 strings)

Translated using Weblate (Korean) [skip ci]

Currently translated at 21.3% (252 of 1180 strings)

Translated using Weblate (Japanese) [skip ci]

Currently translated at 88.2% (1041 of 1180 strings)

Translated using Weblate (Icelandic) [skip ci]

Currently translated at 88.3% (1042 of 1180 strings)

Translated using Weblate (Hungarian) [skip ci]

Currently translated at 98.1% (1158 of 1180 strings)

Translated using Weblate (Hebrew) [skip ci]

Currently translated at 91.2% (1077 of 1180 strings)

Translated using Weblate (Finnish) [skip ci]

Currently translated at 97.9% (1156 of 1180 strings)

Translated using Weblate (Greek) [skip ci]

Currently translated at 99.6% (1176 of 1180 strings)

Translated using Weblate (Danish) [skip ci]

Currently translated at 88.3% (1042 of 1180 strings)

Translated using Weblate (Czech) [skip ci]

Currently translated at 89.1% (1052 of 1180 strings)

Translated using Weblate (Italian) [skip ci]

Currently translated at 93.8% (1107 of 1180 strings)

Translated using Weblate (Spanish) [skip ci]

Currently translated at 98.2% (1159 of 1180 strings)

Translated using Weblate (French) [skip ci]

Currently translated at 99.4% (1173 of 1180 strings)

Translated using Weblate (German) [skip ci]

Currently translated at 99.9% (1179 of 1180 strings)

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
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/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/
Translation: Servarr/Radarr
2023-06-14 07:37:13 +03:00
Bogdan
d2cb36c88a Check only clients not in failure status in DownloadClientSortingCheck
(cherry picked from commit 0b872803358bac1297cc7618ea3c13a32a92b5a4)
2023-06-14 07:34:21 +03:00
bakerboy448
2fe28cb1dc Fixed: Handle checkingResumeData state form qBittorrent
(cherry picked from commit 8d8a16225ff7772ccb57784f272ca31e28bb8455)
2023-06-14 07:33:55 +03:00
Bogdan
5d65b4cae4 Fix sorting queue items by size 2023-06-14 04:46:19 +03:00
Bogdan
b0f56e2840 Update translations 2023-06-13 02:03:51 +03:00
Weblate
5593837482 Update translation files [skip ci]
Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/
Translation: Servarr/Radarr
2023-06-13 01:40:09 +03:00
Qstick
8231290c7b Update Remote Path Mapping delete modal title
(cherry picked from commit 18716a00516a971f7f2eb369b920266bea24fe08)

Closes #8675
2023-06-12 22:52:50 +03:00
Weblate
0c1b88c60a Translated using Weblate (Indonesian) [skip ci]
Currently translated at 7.3% (87 of 1179 strings)

Co-authored-by: liimee <git.taaa@fedora.email>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/id/
Translation: Servarr/Radarr
2023-06-12 11:49:17 +03:00
Qstick
0b8478e4a1 Bump version to 4.6.2 2023-06-11 09:39:17 -05:00
Weblate
69e09c8687 Translated using Weblate (Russian) [skip ci]
Currently translated at 98.3% (1159 of 1179 strings)

Co-authored-by: Андрей <andryfly7@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ru/
Translation: Servarr/Radarr
2023-06-10 22:43:53 +03:00
Bogdan
3f2ea49023 Add style for default kind in ProgressBar 2023-06-10 03:13:47 +03:00
Bogdan
32f09633e9 Use more specific styling for kinds in ProgressBar
(cherry picked from commit dd31c913d2a974d95f3be251714ce749cfd99a72)

Fixes #8669
2023-06-10 01:45:40 +03:00
Qstick
3542b263c7 Fixed: Don't die on movie refresh when collection has been deleted from TMDB
Fixes #8664
2023-06-07 20:12:59 -05:00
Weblate
d5cc84d8c8 Translated using Weblate (Greek) [skip ci]
Currently translated at 99.5% (1174 of 1179 strings)

Translated using Weblate (French) [skip ci]

Currently translated at 99.4% (1172 of 1179 strings)

Translated using Weblate (Portuguese) [skip ci]

Currently translated at 98.3% (1159 of 1179 strings)

Translated using Weblate (German) [skip ci]

Currently translated at 100.0% (1179 of 1179 strings)

Translated using Weblate (German) [skip ci]

Currently translated at 100.0% (1179 of 1179 strings)

Co-authored-by: MoowGlax <matthieu.derouet.pro@gmail.com>
Co-authored-by: Thodoris Kalatzis <teo.kal@hotmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: emacsdias <emacs.dias@gmail.com>
Co-authored-by: reloxx <reloxx@interia.pl>
Co-authored-by: splifter <a.strahlke@gmail.com>
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/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt/
Translation: Servarr/Radarr
2023-06-07 17:57:09 +03:00
Bogdan
c0790060fb Fixed: (UI) Sort last movies with no release dates
Towards #8662
2023-06-07 06:52:12 +03:00
Bogdan
5ec7e86488 Add language names as hints in TMDbSettings
Add Romanian in TMDb Language Codes
Move DateTime.TryParse to if condition in TMDbParser
2023-06-05 22:17:32 +03:00
Qstick
b8abafd72f Bump version to 4.6.1 2023-06-04 11:43:43 -05:00
Bogdan
a471f1b44f Bump NLog to 5.2.0 2023-06-02 07:50:34 +03:00
Weblate
7fe34be789 Update translation files [skip ci]
Updated by "Remove blank strings" hook in Weblate.

Translated using Weblate (Chinese (Simplified) (zh_CN)) [skip ci]

Currently translated at 98.8% (1166 of 1179 strings)

Translated using Weblate (Portuguese (Brazil)) [skip ci]

Currently translated at 100.0% (1179 of 1179 strings)

Translated using Weblate (Dutch) [skip ci]

Currently translated at 98.5% (1162 of 1179 strings)

Translated using Weblate (French) [skip ci]

Currently translated at 99.3% (1171 of 1179 strings)

Translated using Weblate (German) [skip ci]

Currently translated at 98.6% (1163 of 1179 strings)

Co-authored-by: Cc95459 <954591059@qq.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Jens <jensmahnke@me.com>
Co-authored-by: Thijs Waalen <contact@thijswaalen.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: foXaCe <foxace66@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_CN/
Translation: Servarr/Radarr
2023-06-01 02:00:11 +03:00
Zak Saunders
471a34eabf New: Remove Rarbg Indexer due to site shutdown 2023-05-31 16:20:11 +01:00
115 changed files with 724 additions and 1472 deletions

View File

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

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import ConfirmModal from 'Components/Modal/ConfirmModal';
import PageContent from 'Components/Page/PageContent';
@@ -156,16 +157,16 @@ class Blocklist extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadBlocklist')}
</div>
</Alert>
}
{
isPopulated && !error && !items.length &&
<div>
{translate('NoHistory')}
</div>
<Alert kind={kinds.INFO}>
{translate('NoHistoryBlocklist')}
</Alert>
}
{
@@ -209,7 +210,7 @@ class Blocklist extends Component {
isOpen={isConfirmRemoveModalOpen}
kind={kinds.DANGER}
title={translate('RemoveSelected')}
message={translate('AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist')}
message={translate('RemoveSelectedItemBlocklistMessageText')}
confirmLabel={translate('RemoveSelected')}
onConfirm={this.onRemoveSelectedConfirmed}
onCancel={this.onConfirmRemoveModalClose}

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import FilterMenu from 'Components/Menu/FilterMenu';
import PageContent from 'Components/Page/PageContent';
@@ -11,7 +12,7 @@ import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptionsModalWrapper';
import TablePager from 'Components/Table/TablePager';
import { align, icons } from 'Helpers/Props';
import { align, icons, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import HistoryRowConnector from './HistoryRowConnector';
@@ -83,9 +84,9 @@ class History extends Component {
{
!isFetchingAny && hasError &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadHistory')}
</div>
</Alert>
}
{
@@ -93,9 +94,9 @@ class History extends Component {
// wait for the episodes to populate because they are never coming.
isPopulated && !hasError && !items.length &&
<div>
<Alert kind={kinds.INFO}>
{translate('NoHistory')}
</div>
</Alert>
}
{

View File

@@ -1,6 +1,7 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
@@ -12,7 +13,7 @@ import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptionsModalWrapper';
import TablePager from 'Components/Table/TablePager';
import { align, icons } from 'Helpers/Props';
import { align, icons, kinds } from 'Helpers/Props';
import getRemovedItems from 'Utilities/Object/getRemovedItems';
import hasDifferentItems from 'Utilities/Object/hasDifferentItems';
import translate from 'Utilities/String/translate';
@@ -231,17 +232,17 @@ class Queue extends Component {
{
!isRefreshing && hasError ?
<div>
<Alert kind={kinds.DANGER}>
{translate('FailedToLoadQueue')}
</div> :
</Alert> :
null
}
{
isAllPopulated && !hasError && !items.length ?
<div>
<Alert kind={kinds.INFO}>
{translate('QueueIsEmpty')}
</div> :
</Alert> :
null
}

View File

@@ -88,7 +88,7 @@ class RemoveQueueItemsModal extends Component {
<ModalBody>
<div className={styles.message}>
{selectedCount > 1 ? translate('AreYouSureYouWantToRemoveSelectedItemsFromQueue', selectedCount) : translate('AreYouSureYouWantToRemoveSelectedItemFromQueue')}
{selectedCount > 1 ? translate('RemoveSelectedItemsQueueMessageText', selectedCount) : translate('RemoveSelectedItemQueueMessageText')}
</div>
{
@@ -133,7 +133,7 @@ class RemoveQueueItemsModal extends Component {
kind={kinds.DANGER}
onPress={this.onRemoveConfirmed}
>
Remove
{translate('Remove')}
</Button>
</ModalFooter>
</ModalContent>

View File

@@ -1,9 +1,11 @@
import { reduce } from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import selectAll from 'Utilities/Table/selectAll';
import toggleSelected from 'Utilities/Table/toggleSelected';
@@ -105,9 +107,9 @@ class ImportMovie extends Component {
{
!rootFoldersFetching && !!rootFoldersError ?
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadRootFolders')}
</div> :
</Alert> :
null
}
@@ -116,9 +118,9 @@ class ImportMovie extends Component {
!rootFoldersFetching &&
rootFoldersPopulated &&
!unmappedFolders.length ?
<div>
<Alert kind={kinds.INFO}>
{translate('AllMoviesInPathHaveBeenImported', [path])}
</div> :
</Alert> :
null
}

View File

@@ -92,9 +92,9 @@ class ImportMovieSelectFolder extends Component {
{
!isFetching && error ?
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadRootFolders')}
</div> :
</Alert> :
null
}

View File

@@ -1,6 +1,8 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AgendaConnector from './Agenda/AgendaConnector';
import * as calendarViews from './calendarViews';
@@ -31,9 +33,9 @@ class Calendar extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadTheCalendar')}
</div>
</Alert>
}
{

View File

@@ -1,6 +1,7 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
@@ -9,7 +10,7 @@ import PageToolbar from 'Components/Page/Toolbar/PageToolbar';
import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton';
import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection';
import PageToolbarSeparator from 'Components/Page/Toolbar/PageToolbarSeparator';
import { align, icons, sortDirections } from 'Helpers/Props';
import { align, icons, kinds, sortDirections } from 'Helpers/Props';
import styles from 'Movie/Index/MovieIndex.css';
import hasDifferentItemsOrOrder from 'Utilities/Object/hasDifferentItemsOrOrder';
import translate from 'Utilities/String/translate';
@@ -313,9 +314,9 @@ class Collection extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadCollections')}
</div>
</Alert>
}
{

View File

@@ -63,6 +63,7 @@ function ProviderFieldFormGroup(props) {
name,
label,
helpText,
helpTextWarning,
helpLink,
placeholder,
value,
@@ -96,6 +97,7 @@ function ProviderFieldFormGroup(props) {
name={name}
label={label}
helpText={helpText}
helpTextWarning={helpTextWarning}
helpLink={helpLink}
placeholder={placeholder}
value={value}
@@ -122,6 +124,7 @@ ProviderFieldFormGroup.propTypes = {
name: PropTypes.string.isRequired,
label: PropTypes.string.isRequired,
helpText: PropTypes.string,
helpTextWarning: PropTypes.string,
helpLink: PropTypes.string,
placeholder: PropTypes.string,
value: PropTypes.any,

View File

@@ -1,6 +1,8 @@
import PropTypes from 'prop-types';
import React from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import { kinds } from 'Helpers/Props';
function PageSectionContent(props) {
const {
@@ -17,7 +19,7 @@ function PageSectionContent(props) {
);
} else if (!isFetching && !!error) {
return (
<div>{errorMessage}</div>
<Alert kind={kinds.DANGER}>{errorMessage}</Alert>
);
} else if (isPopulated && !error) {
return (

View File

@@ -16,6 +16,46 @@
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
color: var(--white);
transition: width 0.6s ease;
&.default {
background-color: var(--darkGray);
}
&.primary {
background-color: var(--primaryColor);
}
&.danger {
background-color: var(--dangerColor);
&:global(.colorImpaired) {
background: repeating-linear-gradient(90deg, color(#f05050 shade(5%)), color(#f05050 shade(5%)) 5px, color(#f05050 shade(15%)) 5px, color(#f05050 shade(15%)) 10px);
}
}
&.success {
background-color: var(--successColor);
}
&.purple {
background-color: var(--purple);
}
&.warning {
background-color: var(--warningColor);
&:global(.colorImpaired) {
background: repeating-linear-gradient(45deg, #ffa500, #ffa500 5px, color(#ffa500 tint(15%)) 5px, color(#ffa500 tint(15%)) 10px);
}
}
&.info {
background-color: var(--infoColor);
}
&.queue {
background-color: var(--queueColor);
}
}
.frontTextContainer {
@@ -45,46 +85,6 @@
cursor: default;
}
.default {
background-color: var(--darkGray);
}
.primary {
background-color: var(--primaryColor);
}
.danger {
background-color: var(--dangerColor);
&:global(.colorImpaired) {
background: repeating-linear-gradient(90deg, color(#f05050 shade(5%)), color(#f05050 shade(5%)) 5px, color(#f05050 shade(15%)) 5px, color(#f05050 shade(15%)) 10px);
}
}
.success {
background-color: var(--successColor);
}
.purple {
background-color: var(--purple);
}
.warning {
background-color: var(--warningColor);
&:global(.colorImpaired) {
background: repeating-linear-gradient(45deg, #ffa500, #ffa500 5px, color(#ffa500 tint(15%)) 5px, color(#ffa500 tint(15%)) 10px);
}
}
.info {
background-color: var(--infoColor);
}
.queue {
background-color: var(--queueColor);
}
.small {
height: $progressBarSmallHeight;

View File

@@ -38,7 +38,7 @@ function ProgressBar(props) {
{
showText && width ?
<div
className={styles.backTextContainer}
className={classNames(styles.backTextContainer, styles[kind])}
style={{ width: actualWidth }}
>
<div className={styles.backText}>
@@ -67,7 +67,7 @@ function ProgressBar(props) {
{
showText ?
<div
className={styles.frontTextContainer}
className={classNames(styles.frontTextContainer, styles[kind])}
style={{ width: progressPercent }}
>
<div

View File

@@ -1,6 +1,7 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
@@ -10,7 +11,7 @@ import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton';
import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection';
import PageToolbarSeparator from 'Components/Page/Toolbar/PageToolbarSeparator';
import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptionsModalWrapper';
import { align, icons, sortDirections } from 'Helpers/Props';
import { align, icons, kinds, sortDirections } from 'Helpers/Props';
import styles from 'Movie/Index/MovieIndex.css';
import hasDifferentItemsOrOrder from 'Utilities/Object/hasDifferentItemsOrOrder';
import translate from 'Utilities/String/translate';
@@ -369,9 +370,9 @@ class DiscoverMovie extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadMovies')}
</div>
</Alert>
}
{

View File

@@ -2,6 +2,7 @@ import React, { useCallback, useState } from 'react';
import { useSelector } from 'react-redux';
import { createSelector } from 'reselect';
import { LanguageSettingsAppState } from 'App/State/SettingsAppState';
import Alert from 'Components/Alert';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
@@ -86,7 +87,9 @@ function SelectLanguageModalContent(props: SelectLanguageModalContentProps) {
{isFetching ? <LoadingIndicator /> : null}
{!isFetching && error ? (
<div>{translate('UnableToLoadLanguages')}</div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadLanguages')}
</Alert>
) : null}
{isPopulated && !error ? (

View File

@@ -3,6 +3,7 @@ import { useDispatch, useSelector } from 'react-redux';
import { createSelector } from 'reselect';
import { Error } from 'App/State/AppSectionState';
import AppState from 'App/State/AppState';
import Alert from 'Components/Alert';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
@@ -130,7 +131,9 @@ function SelectQualityModalContent(props: SelectQualityModalContentProps) {
{isFetching && <LoadingIndicator />}
{!isFetching && error ? (
<div>{translate('UnableToLoadQualities')}</div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadQualities')}
</Alert>
) : null}
{isPopulated && !error ? (

View File

@@ -10,6 +10,7 @@ import { SelectProvider } from 'App/SelectContext';
import ClientSideCollectionAppState from 'App/State/ClientSideCollectionAppState';
import MoviesAppState, { MovieIndexAppState } from 'App/State/MoviesAppState';
import { RSS_SYNC } from 'Commands/commandNames';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
@@ -20,7 +21,7 @@ import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection';
import PageToolbarSeparator from 'Components/Page/Toolbar/PageToolbarSeparator';
import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptionsModalWrapper';
import withScrollPosition from 'Components/withScrollPosition';
import { align, icons } from 'Helpers/Props';
import { align, icons, kinds } from 'Helpers/Props';
import SortDirection from 'Helpers/Props/SortDirection';
import InteractiveImportModal from 'InteractiveImport/InteractiveImportModal';
import NoMovie from 'Movie/NoMovie';
@@ -337,7 +338,9 @@ const MovieIndex = withScrollPosition((props: MovieIndexProps) => {
{isFetching && !isPopulated ? <LoadingIndicator /> : null}
{!isFetching && !!error ? (
<div>{translate('UnableToLoadMovies')}</div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadMovies')}
</Alert>
) : null}
{isLoaded ? (

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
@@ -109,9 +110,9 @@ class FileEditModalContent extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadQualities')}
</div>
</Alert>
}
{

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
@@ -92,9 +93,9 @@ class SelectQualityModalContent extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadQualities')}
</div>
</Alert>
}
{

View File

@@ -1,8 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import RootFolderRowConnector from './RootFolderRowConnector';
@@ -44,9 +46,9 @@ function RootFolders(props) {
if (!isFetching && !!error) {
return (
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadRootFolders')}
</div>
</Alert>
);
}

View File

@@ -155,7 +155,7 @@ class CustomFormat extends Component {
message={
<div>
<div>
{translate('AreYouSureYouWantToDeleteFormat', [name])}
{translate('DeleteCustomFormatMessageText', [name])}
</div>
</div>
}

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import Button from 'Components/Link/Button';
import ClipboardButton from 'Components/Link/ClipboardButton';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
@@ -41,9 +42,9 @@ class ExportCustomFormatModalContent extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadCustomFormats')}
</div>
</Alert>
}
{

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
@@ -11,7 +12,7 @@ import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, sizes } from 'Helpers/Props';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './ImportCustomFormatModalContent.css';
@@ -95,9 +96,9 @@ class ImportCustomFormatModalContent extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadCustomFormats')}
</div>
</Alert>
}
{

View File

@@ -78,7 +78,7 @@ class Specification extends Component {
<IconButton
className={styles.cloneButton}
title={translate('CloneFormatTag')}
title={translate('CloneCondition')}
name={icons.CLONE}
onPress={this.onCloneSpecificationPress}
/>
@@ -114,14 +114,8 @@ class Specification extends Component {
<ConfirmModal
isOpen={this.state.isDeleteSpecificationModalOpen}
kind={kinds.DANGER}
title={translate('DeleteCustomFormat')}
message={
<div>
<div>
{translate('AreYouSureYouWantToDeleteFormat', [name])}
</div>
</div>
}
title={translate('DeleteCondition')}
message={translate('DeleteConditionMessageText', [name])}
confirmLabel={translate('Delete')}
onConfirm={this.onConfirmDeleteSpecification}
onCancel={this.onDeleteSpecificationModalClose}

View File

@@ -29,9 +29,9 @@ function DownloadClientOptions(props) {
{
!isFetching && error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadDownloadClientOptions')}
</div>
</Alert>
}
{

View File

@@ -88,8 +88,8 @@ class RemotePathMapping extends Component {
<ConfirmModal
isOpen={this.state.isDeleteRemotePathMappingModalOpen}
kind={kinds.DANGER}
title={translate('DeleteDelayProfile')}
message={translate('AreYouSureYouWantToDeleteThisRemotePathMapping')}
title={translate('DeleteRemotePathMapping')}
message={translate('DeleteRemotePathMappingMessageText')}
confirmLabel={translate('Delete')}
onConfirm={this.onConfirmDeleteRemotePathMapping}
onCancel={this.onDeleteRemotePathMappingModalClose}

View File

@@ -1,6 +1,7 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import Form from 'Components/Form/Form';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import ConfirmModal from 'Components/Modal/ConfirmModal';
@@ -123,9 +124,9 @@ class GeneralSettings extends Component {
{
!isFetching && error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadGeneralSettings')}
</div>
</Alert>
}
{

View File

@@ -168,7 +168,7 @@ class SecuritySettings extends Component {
isOpen={this.state.isConfirmApiKeyResetModalOpen}
kind={kinds.DANGER}
title={translate('ResetAPIKey')}
message={translate('AreYouSureYouWantToResetYourAPIKey')}
message={translate('ResetAPIKeyMessageText')}
confirmLabel={translate('Reset')}
onConfirm={this.onConfirmResetApiKey}
onCancel={this.onCloseResetApiKeyModal}

View File

@@ -89,7 +89,7 @@ class ImportListExclusion extends Component {
isOpen={this.state.isDeleteImportExclusionModalOpen}
kind={kinds.DANGER}
title={translate('DeleteImportListExclusion')}
message={translate('AreYouSureYouWantToDeleteThisImportListExclusion')}
message={translate('DeleteImportListExclusionMessageText')}
confirmLabel={translate('Delete')}
onConfirm={this.onConfirmDeleteImportExclusion}
onCancel={this.onDeleteImportExclusionModalClose}

View File

@@ -1,12 +1,13 @@
import PropTypes from 'prop-types';
import React from 'react';
import Alert from 'Components/Alert';
import FieldSet from 'Components/FieldSet';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
import FormLabel from 'Components/Form/FormLabel';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import { inputTypes } from 'Helpers/Props';
import { inputTypes, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
function ImportListOptions(props) {
@@ -37,9 +38,9 @@ function ImportListOptions(props) {
{
!isFetching && error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadListOptions')}
</div>
</Alert>
}
{

View File

@@ -1,12 +1,13 @@
import PropTypes from 'prop-types';
import React from 'react';
import Alert from 'Components/Alert';
import FieldSet from 'Components/FieldSet';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
import FormLabel from 'Components/Form/FormLabel';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import { inputTypes } from 'Helpers/Props';
import { inputTypes, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
function IndexerOptions(props) {
@@ -28,9 +29,9 @@ function IndexerOptions(props) {
{
!isFetching && error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadIndexerOptions')}
</div>
</Alert>
}
{

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import FieldSet from 'Components/FieldSet';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
@@ -8,7 +9,7 @@ import FormLabel from 'Components/Form/FormLabel';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
import { inputTypes, sizes } from 'Helpers/Props';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import RootFoldersConnector from 'RootFolder/RootFoldersConnector';
import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector';
import translate from 'Utilities/String/translate';
@@ -72,9 +73,9 @@ class MediaManagement extends Component {
{
!isFetching && error ?
<FieldSet legend={translate('NamingSettings')}>
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadMediaManagementSettings')}
</div>
</Alert>
</FieldSet> : null
}

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import FieldSet from 'Components/FieldSet';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
@@ -7,7 +8,7 @@ import FormInputButton from 'Components/Form/FormInputButton';
import FormInputGroup from 'Components/Form/FormInputGroup';
import FormLabel from 'Components/Form/FormLabel';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import { inputTypes, sizes } from 'Helpers/Props';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import NamingModal from './NamingModal';
import styles from './Naming.css';
@@ -110,9 +111,9 @@ class Naming extends Component {
{
!isFetching && error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadNamingSettings')}
</div>
</Alert>
}
{

View File

@@ -6,8 +6,9 @@ import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
import FormLabel from 'Components/Form/FormLabel';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import { inputTypes } from 'Helpers/Props';
import { inputTypes, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import Alert from '../../../Components/Alert';
// Note: Do Not Translate Certification Countries
@@ -43,9 +44,9 @@ function MetadataOptions(props) {
{
!isFetching && error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadIndexerOptions')}
</div>
</Alert>
}
{

View File

@@ -141,7 +141,7 @@ class DelayProfile extends Component {
isOpen={this.state.isDeleteDelayProfileModalOpen}
kind={kinds.DANGER}
title={translate('DeleteDelayProfile')}
message={translate('AreYouSureYouWantToDeleteThisDelayProfile')}
message={translate('DeleteDelayProfileMessageText')}
confirmLabel={translate('Delete')}
onConfirm={this.onConfirmDeleteDelayProfile}
onCancel={this.onDeleteDelayProfileModalClose}

View File

@@ -60,17 +60,19 @@ class ResetQualityDefinitionsModalContent extends Component {
<ModalBody>
<div className={styles.messageContainer}>
{translate('AreYouSureYouWantToResetQualityDefinitions')}
{translate('ResetQualityDefinitionsMessageText')}
</div>
<FormGroup>
<FormLabel>{translate('ResetTitles')}</FormLabel>
<FormLabel>
{translate('ResetTitles')}
</FormLabel>
<FormInputGroup
type={inputTypes.CHECK}
name="resetDefinitionTitles"
value={resetDefinitionTitles}
helpText={translate('ResetTitlesHelpText')}
helpText={translate('ResetDefinitionTitlesHelpText')}
onChange={this.onResetDefinitionTitlesChange}
/>
</FormGroup>

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import FieldSet from 'Components/FieldSet';
import Form from 'Components/Form/Form';
import FormGroup from 'Components/Form/FormGroup';
@@ -8,7 +9,7 @@ import FormLabel from 'Components/Form/FormLabel';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
import { inputTypes } from 'Helpers/Props';
import { inputTypes, kinds } from 'Helpers/Props';
import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector';
import themes from 'Styles/Themes';
import titleCase from 'Utilities/String/titleCase';
@@ -87,9 +88,9 @@ class UISettings extends Component {
{
!isFetching && error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadUISettings')}
</div>
</Alert>
}
{

View File

@@ -234,6 +234,18 @@ export const sortPredicates = {
}
return padNumber(result.toString(), 2) + qualityName;
},
inCinemas: function(item) {
return item.inCinemas || '';
},
physicalRelease: function(item) {
return item.physicalRelease || '';
},
digitalRelease: function(item) {
return item.digitalRelease || '';
}
};

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Alert from 'Components/Alert';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
@@ -8,7 +9,7 @@ import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton';
import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { icons } from 'Helpers/Props';
import { icons, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import BackupRow from './BackupRow';
import RestoreBackupModalConnector from './RestoreBackupModalConnector';
@@ -107,16 +108,16 @@ class Backups extends Component {
{
!isFetching && !!error &&
<div>
<Alert kind={kinds.DANGER}>
{translate('UnableToLoadBackups')}
</div>
</Alert>
}
{
noBackups &&
<div>
<Alert kind={kinds.INFO}>
{translate('NoBackupsAreAvailable')}
</div>
</Alert>
}
{

View File

@@ -104,7 +104,7 @@
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="NUnit" Version="3.13.2" />
<PackageReference Include="NUnit3TestAdapter" Version="4.1.0" />
<PackageReference Include="NunitXml.TestLogger" Version="3.0.117" />
<PackageReference Include="NunitXml.TestLogger" Version="3.0.131" />
</ItemGroup>
<ItemGroup Condition="'$(TestProject)'=='true' and '$(TargetFramework)'=='net6.0'">

View File

@@ -27,19 +27,47 @@ namespace NzbDrone.Api.Test.ClientSchemaTests
var schema = SchemaBuilder.ToSchema(model);
schema.Should().Contain(c => c.Order == 1 && c.Name == "lastName" && c.Label == "Last Name" && c.HelpText == "Your Last Name" && (string)c.Value == "Poop");
schema.Should().Contain(c => c.Order == 0 && c.Name == "firstName" && c.Label == "First Name" && c.HelpText == "Your First Name" && (string)c.Value == "Bob");
schema.Should().Contain(c => c.Order == 1 && c.Name == "lastName" && c.Label == "Last Name" && c.HelpText == "Your Last Name" && c.HelpTextWarning == "Mandatory Last Name" && (string)c.Value == "Poop");
schema.Should().Contain(c => c.Order == 0 && c.Name == "firstName" && c.Label == "First Name" && c.HelpText == "Your First Name" && c.HelpTextWarning == "Mandatory First Name" && (string)c.Value == "Bob");
}
[Test]
public void schema_should_have_nested_fields()
{
var model = new NestedTestModel
{
Name =
{
FirstName = "Bob",
LastName = "Poop"
}
};
var schema = SchemaBuilder.ToSchema(model);
schema.Should().Contain(c => c.Order == 0 && c.Name == "name.firstName" && c.Label == "First Name" && c.HelpText == "Your First Name" && c.HelpTextWarning == "Mandatory First Name" && (string)c.Value == "Bob");
schema.Should().Contain(c => c.Order == 1 && c.Name == "name.lastName" && c.Label == "Last Name" && c.HelpText == "Your Last Name" && c.HelpTextWarning == "Mandatory Last Name" && (string)c.Value == "Poop");
schema.Should().Contain(c => c.Order == 2 && c.Name == "quote" && c.Label == "Quote" && c.HelpText == "Your Favorite Quote");
}
}
public class TestModel
{
[FieldDefinition(0, Label = "First Name", HelpText = "Your First Name")]
[FieldDefinition(0, Label = "First Name", HelpText = "Your First Name", HelpTextWarning = "Mandatory First Name")]
public string FirstName { get; set; }
[FieldDefinition(1, Label = "Last Name", HelpText = "Your Last Name")]
[FieldDefinition(1, Label = "Last Name", HelpText = "Your Last Name", HelpTextWarning = "Mandatory Last Name")]
public string LastName { get; set; }
public string Other { get; set; }
}
public class NestedTestModel
{
[FieldDefinition(0)]
public TestModel Name { get; set; } = new TestModel();
[FieldDefinition(1, Label = "Quote", HelpText = "Your Favorite Quote")]
public string Quote { get; set; }
}
}

View File

@@ -10,7 +10,9 @@ namespace NzbDrone.Common.Test.InstrumentationTests
// Indexer Urls
[TestCase(@"https://iptorrents.com/torrents/rss?u=mySecret;tp=mySecret;l5;download")]
[TestCase(@"http://rss.torrentleech.org/mySecret")]
[TestCase(@"http://rss.torrentleech.org/rss/download/12345/01233210/filename.torrent")]
[TestCase(@"https://rss24h.torrentleech.org/mySecret")]
[TestCase(@"http://rss.torrentleech.org/rss/download/12345/01233210/file.name-RLSGRP.torrent")]
[TestCase(@"https://www.torrentleech.org/rss/download/12345/01233210/file.name-RLSGRP.torrent")]
[TestCase(@"http://www.bitmetv.org/rss.php?uid=mySecret&passkey=mySecret")]
[TestCase(@"https://rss.omgwtfnzbs.org/rss-search.php?catid=19,20&user=sonarr&api=mySecret&eng=1")]
[TestCase(@"https://dognzb.cr/fetch/2b51db35e1912ffc138825a12b9933d2/2b51db35e1910123321025a12b9933d2")]
@@ -44,6 +46,7 @@ namespace NzbDrone.Common.Test.InstrumentationTests
// Deluge
[TestCase(@",{""download_location"": ""C:\Users\\mySecret mySecret\\Downloads""}")]
[TestCase(@",{""download_location"": ""/home/mySecret/Downloads""}")]
[TestCase(@",{""download_location"": ""/Users/mySecret/Downloads""}")]
[TestCase(@"auth.login(""mySecret"")")]
// Download Station
@@ -59,8 +62,11 @@ namespace NzbDrone.Common.Test.InstrumentationTests
// Internal
[TestCase(@"OutputPath=/home/mySecret/Downloads")]
[TestCase(@"OutputPath=/Users/mySecret/Downloads")]
[TestCase("Hardlinking episode file: /home/mySecret/Downloads to /media/abc.mkv")]
[TestCase("Hardlinking episode file: /Users/mySecret/Downloads to /media/abc.mkv")]
[TestCase("Hardlink '/home/mySecret/Downloads/abs.mkv' to '/media/abc.mkv' failed.")]
[TestCase("Hardlink '/Users/mySecret/Downloads/abs.mkv' to '/media/abc.mkv' failed.")]
[TestCase("https://notifiarr.com/notifier.php: api=1234530f-422f-4aac-b6b3-01233210aaaa&radarr_health_issue_message=Download")]
[TestCase("/readarr/signalr/messages/negotiate?access_token=1234530f422f4aacb6b301233210aaaa&negotiateVersion=1")]
[TestCase(@"[Info] MigrationController: *** Migrating Database=radarr-main;Host=postgres14;Username=mySecret;Password=mySecret;Port=5432;Enlist=False ***")]

View File

@@ -60,8 +60,7 @@ namespace NzbDrone.Common.Http
if (request.AllowAutoRedirect && response.HasHttpRedirect)
{
var autoRedirectChain = new List<string>();
autoRedirectChain.Add(request.Url.ToString());
var autoRedirectChain = new List<string> { request.Url.ToString() };
do
{
@@ -75,6 +74,14 @@ namespace NzbDrone.Common.Http
throw new WebException($"Too many automatic redirections were attempted for {autoRedirectChain.Join(" -> ")}", WebExceptionStatus.ProtocolError);
}
// 302 or 303 should default to GET on redirect even if POST on original
if (RequestRequiresForceGet(response.StatusCode, response.Request.Method))
{
request.Method = HttpMethod.Get;
request.ContentData = null;
request.ContentSummary = null;
}
response = ExecuteRequest(request, cookieContainer);
}
while (response.HasHttpRedirect);
@@ -105,6 +112,16 @@ namespace NzbDrone.Common.Http
return response;
}
private static bool RequestRequiresForceGet(HttpStatusCode statusCode, HttpMethod requestMethod)
{
return statusCode switch
{
HttpStatusCode.Moved or HttpStatusCode.Found or HttpStatusCode.MultipleChoices => requestMethod == HttpMethod.Post,
HttpStatusCode.SeeOther => requestMethod != HttpMethod.Get && requestMethod != HttpMethod.Head,
_ => false,
};
}
private HttpResponse ExecuteRequest(HttpRequest request, CookieContainer cookieContainer)
{
foreach (var interceptor in _requestInterceptors)

View File

@@ -7,55 +7,55 @@ namespace NzbDrone.Common.Instrumentation
{
public class CleanseLogMessage
{
private static readonly Regex[] CleansingRules = new[]
{
// Url
new Regex(@"(?<=\?|&|: )(apikey|(?:access[-_]?)?token|passkey|auth|authkey|user|uid|api|[a-z_]*apikey|account|passwd)=(?<secret>[^&=]+?)(?=[ ""&=]|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"(?<=\?|&)[^=]*?(username|password)=(?<secret>[^&=]+?)(?= |&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"torrentleech\.org/(?!rss)(?<secret>[0-9a-z]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"torrentleech\.org/rss/download/[0-9]+/(?<secret>[0-9a-z]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"iptorrents\.com/[/a-z0-9?&;]*?(?:[?&;](u|tp)=(?<secret>[^&=;]+?))+(?= |;|&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"/fetch/[a-z0-9]{32}/(?<secret>[a-z0-9]{32})", RegexOptions.Compiled),
new Regex(@"getnzb.*?(?<=\?|&)(r)=(?<secret>[^&=]+?)(?= |&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"\b(\w*)?(_?(?<!use|get_)token|username|passwo?rd)=(?<secret>[^&=]+?)(?= |&|$|;)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
private static readonly Regex[] CleansingRules =
{
// Url
new (@"(?<=\?|&|: )(apikey|(?:access[-_]?)?token|passkey|auth|authkey|user|uid|api|[a-z_]*apikey|account|passwd)=(?<secret>[^&=]+?)(?=[ ""&=]|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"(?<=\?|&)[^=]*?(username|password)=(?<secret>[^&=]+?)(?= |&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"rss(24h)?\.torrentleech\.org/(?!rss)(?<secret>[0-9a-z]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"torrentleech\.org/rss/download/[0-9]+/(?<secret>[0-9a-z]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"iptorrents\.com/[/a-z0-9?&;]*?(?:[?&;](u|tp)=(?<secret>[^&=;]+?))+(?= |;|&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"/fetch/[a-z0-9]{32}/(?<secret>[a-z0-9]{32})", RegexOptions.Compiled),
new (@"getnzb.*?(?<=\?|&)(r)=(?<secret>[^&=]+?)(?= |&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"\b(\w*)?(_?(?<!use|get_)token|username|passwo?rd)=(?<secret>[^&=]+?)(?= |&|$|;)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Trackers Announce Keys; Designed for Qbit Json; should work for all in theory
new Regex(@"announce(\.php)?(/|%2f|%3fpasskey%3d)(?<secret>[a-z0-9]{16,})|(?<secret>[a-z0-9]{16,})(/|%2f)announce"),
// Trackers Announce Keys; Designed for Qbit Json; should work for all in theory
new (@"announce(\.php)?(/|%2f|%3fpasskey%3d)(?<secret>[a-z0-9]{16,})|(?<secret>[a-z0-9]{16,})(/|%2f)announce"),
// Path
new Regex(@"C:\\Users\\(?<secret>[^\""]+?)(\\|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"/home/(?<secret>[^/""]+?)(/|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Path
new (@"C:\\Users\\(?<secret>[^\""]+?)(\\|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"/(home|Users)/(?<secret>[^/""]+?)(/|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// NzbGet
new Regex(@"""Name""\s*:\s*""[^""]*(username|password)""\s*,\s*""Value""\s*:\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// NzbGet
new (@"""Name""\s*:\s*""[^""]*(username|password)""\s*,\s*""Value""\s*:\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Sabnzbd
new Regex(@"""[^""]*(username|password|api_?key|nzb_key)""\s*:\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"""email_(account|to|from|pwd)""\s*:\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Sabnzbd
new (@"""[^""]*(username|password|api_?key|nzb_key)""\s*:\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"""email_(account|to|from|pwd)""\s*:\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// uTorrent
new Regex(@"\[""[a-z._]*(username|password)"",\d,""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"\[""(boss_key|boss_key_salt|proxy\.proxy)"",\d,""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// uTorrent
new (@"\[""[a-z._]*(username|password)"",\d,""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"\[""(boss_key|boss_key_salt|proxy\.proxy)"",\d,""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Deluge
new Regex(@"auth.login\(""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Deluge
new (@"auth.login\(""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// BroadcastheNet
new Regex(@"""?method""?\s*:\s*""(getTorrents)"",\s*""?params""?\s*:\s*\[\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"getTorrents\(""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new Regex(@"(?<=\?|&)(authkey|torrent_pass)=(?<secret>[^&=]+?)(?=""|&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// BroadcastheNet
new (@"""?method""?\s*:\s*""(getTorrents)"",\s*""?params""?\s*:\s*\[\s*""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"getTorrents\(""(?<secret>[^""]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"(?<=\?|&)(authkey|torrent_pass)=(?<secret>[^&=]+?)(?=""|&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Plex
new Regex(@"(?<=\?|&)(X-Plex-Client-Identifier|X-Plex-Token)=(?<secret>[^&=]+?)(?= |&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Plex
new (@"(?<=\?|&)(X-Plex-Client-Identifier|X-Plex-Token)=(?<secret>[^&=]+?)(?= |&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Notifiarr
new Regex(@"api/v[0-9]/notification/radarr/(?<secret>[\w-]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Notifiarr
new (@"api/v[0-9]/notification/radarr/(?<secret>[\w-]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Discord
new Regex(@"discord.com/api/webhooks/((?<secret>[\w-]+)/)?(?<secret>[\w-]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase)
};
// Discord
new (@"discord.com/api/webhooks/((?<secret>[\w-]+)/)?(?<secret>[\w-]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase)
};
private static readonly Regex CleanseRemoteIPRegex = new Regex(@"(?:Auth-\w+(?<!Failure|Unauthorized) ip|from) (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", RegexOptions.Compiled);
private static readonly Regex CleanseRemoteIPRegex = new (@"(?:Auth-\w+(?<!Failure|Unauthorized) ip|from) (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", RegexOptions.Compiled);
public static string Cleanse(string message)
{
@@ -67,15 +67,15 @@ namespace NzbDrone.Common.Instrumentation
foreach (var regex in CleansingRules)
{
message = regex.Replace(message, m =>
{
var value = m.Value;
foreach (var capture in m.Groups["secret"].Captures.OfType<Capture>().Reverse())
{
var value = m.Value;
foreach (var capture in m.Groups["secret"].Captures.OfType<Capture>().Reverse())
{
value = value.Replace(capture.Index - m.Index, capture.Length, "(removed)");
}
value = value.Replace(capture.Index - m.Index, capture.Length, "(removed)");
}
return value;
});
return value;
});
}
message = CleanseRemoteIPRegex.Replace(message, CleanseRemoteIP);
@@ -86,7 +86,6 @@ namespace NzbDrone.Common.Instrumentation
private static string CleanseRemoteIP(Match match)
{
var group = match.Groups[1];
var valueAll = match.Value;
var valueIP = group.Value;
if (IPAddress.TryParse(valueIP, out var address) && !address.IsLocalAddress())

View File

@@ -8,8 +8,8 @@
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="NLog" Version="5.0.1" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.0.0" />
<PackageReference Include="NLog" Version="5.2.0" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.0" />
<PackageReference Include="Npgsql" Version="5.0.11" />
<PackageReference Include="Sentry" Version="3.23.1" />
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />

View File

@@ -225,6 +225,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.QBittorrentTests
[TestCase("checkingDL")]
[TestCase("checkingUP")]
[TestCase("metaDL")]
[TestCase("checkingResumeData")]
public void queued_item_should_have_required_properties(string state)
{
var torrent = new QBittorrentTorrent

View File

@@ -1,29 +0,0 @@
[
{
"f": "Thunderbirds.Are.Go.S01E09.Slingshot.1080p.WEB-DL.AAC2.0.H.264-Coo7[rartv]",
"c": "TV HD Episodes",
"d": "magnet:?xt=urn:btih:ff4737b5230307836ec8abce6ab73727f1358bf3&dn=Thunderbirds.Are.Go.S01E09.Slingshot.1080p.WEB-DL.AAC2.0.H.264-Coo7%5Brartv%5D&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce",
"s": "44",
"l": "19",
"t": "896238116",
"u": "2015-05-24 19:36:09"
},
{
"f": "Thunderbirds.Are.Go.S01E10.Tunnels.Of.Time.720p.HDTV.x264-RDVAS[rartv]",
"c": "TV HD Episodes",
"d": "magnet:?xt=urn:btih:47bf1d7bfb72a83300bbe68d0b6aa09591e7a0a1&dn=Thunderbirds.Are.Go.S01E10.Tunnels.Of.Time.720p.HDTV.x264-RDVAS%5Brartv%5D&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce",
"s": "179",
"l": "125",
"t": "556055350",
"u": "2015-05-24 19:07:59"
},
{
"f": "Tatau.S01E06.1080p.WEB-DL.AAC2.0.H.264-BS[rartv]",
"c": "TV HD Episodes",
"d": "magnet:?xt=urn:btih:8857e9b011c7a0483351371721fa9f3ba356dd73&dn=Tatau.S01E06.1080p.WEB-DL.AAC2.0.H.264-BS%5Brartv%5D&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce",
"s": "27",
"l": "22",
"t": "1652442143",
"u": "2015-05-24 18:54:49"
}
]

View File

@@ -1,84 +0,0 @@
{
"torrent_results": [
{
"title": "Sense8.S01E01.WEBRip.x264-FGT",
"category": "TV Episodes",
"download": "magnet:?xt=urn:btih:d8bde635f573acb390c7d7e7efc1556965fdc802&dn=Sense8.S01E01.WEBRip.x264-FGT&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce",
"seeders": 304,
"leechers": 200,
"size": 564198371,
"pubdate": "2015-06-05 16:58:11 +0000",
"episode_info": {
"imdb": "tt2431438",
"tvrage": "35197",
"tvdb": "268156",
"airdate": "2015-06-05",
"epnum": "01",
"seasonnum": "1",
"title": "Limbic Resonance"
},
"ranked": 1,
"info_page": "https:\/\/torrentapi.org\/redirect_to_info.php?token=i5cx7b9agd&p=8_6_4_4_5_6__d8bde635f5"
},
{
"title": "Sense8.S01E02.WEBRip.x264-FGT",
"category": "TV Episodes",
"download": "magnet:?xt=urn:btih:e5ab5f398d929c791ac4f1d5bb2fba0997372a91&dn=Sense8.S01E02.WEBRip.x264-FGT&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce",
"seeders": 299,
"leechers": 209,
"size": 486918696,
"pubdate": "2015-06-05 16:58:23 +0000",
"episode_info": {
"imdb": "tt2431438",
"tvrage": "35197",
"tvdb": "268156",
"airdate": "2015-06-05",
"epnum": "02",
"seasonnum": "1",
"title": "I Am Also A We"
},
"ranked": 1,
"info_page": "https:\/\/torrentapi.org\/redirect_to_info.php?token=i5cx7b9agd&p=8_6_4_4_5_7__e5ab5f398d"
},
{
"title": "Comedy.Bang.Bang.S04E20.HDTV.x264-YesTV[rartv]",
"category": "TV Episodes",
"download": "magnet:?xt=urn:btih:0ed8bd14206e211eef9d3d36a48b038f280ef20c&dn=Comedy.Bang.Bang.S04E20.HDTV.x264-YesTV%5Brartv%5D&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce",
"seeders": 45,
"leechers": 15,
"size": 154208067,
"pubdate": "2015-06-05 17:33:37 +0000",
"episode_info": {
"imdb": "tt2176287",
"tvrage": "31483",
"tvdb": "258310",
"airdate": "2015-06-05",
"epnum": "20",
"seasonnum": "4",
"title": "Judd Apatow Wears a Polo and Blue Suede Shoes"
},
"ranked": 1,
"info_page": "https:\/\/torrentapi.org\/redirect_to_info.php?token=i5cx7b9agd&p=8_6_4_4_6_7__0ed8bd1420"
},
{
"title": "Comedy.Bang.Bang.S04E20.720p.HDTV.x264-YesTV[rartv]",
"category": "TV HD Episodes",
"download": "magnet:?xt=urn:btih:10257dee06327ba66cc2674e08d71b3bb2089b06&dn=Comedy.Bang.Bang.S04E20.720p.HDTV.x264-YesTV%5Brartv%5D&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce",
"seeders": 22,
"leechers": 6,
"size": 514574549,
"pubdate": "2015-06-05 17:33:49 +0000",
"episode_info": {
"imdb": "tt2176287",
"tvrage": "31483",
"tvdb": "258310",
"airdate": "2015-06-05",
"epnum": "20",
"seasonnum": "4",
"title": "Judd Apatow Wears a Polo and Blue Suede Shoes"
},
"ranked": 1,
"info_page": "https:\/\/torrentapi.org\/redirect_to_info.php?token=i5cx7b9agd&p=8_6_4_4_6_8__10257dee06"
}
]
}

View File

@@ -1,141 +0,0 @@
using System;
using System.Linq;
using System.Net;
using System.Net.Http;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Common.Http;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Indexers.Rarbg;
using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.IndexerTests.RarbgTests
{
[TestFixture]
public class RarbgFixture : CoreTest<Rarbg>
{
[SetUp]
public void Setup()
{
Subject.Definition = new IndexerDefinition()
{
Name = "Rarbg",
Settings = new RarbgSettings()
};
Mocker.GetMock<IRarbgTokenProvider>()
.Setup(v => v.GetToken(It.IsAny<RarbgSettings>()))
.Returns("validtoken");
}
[Test]
public void should_parse_recent_feed_from_Rarbg()
{
var recentFeed = ReadAllText(@"Files/Indexers/Rarbg/RecentFeed_v2.json");
Mocker.GetMock<IHttpClient>()
.Setup(o => o.Execute(It.Is<HttpRequest>(v => v.Method == HttpMethod.Get)))
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), recentFeed));
var releases = Subject.FetchRecent();
releases.Should().HaveCount(4);
releases.First().Should().BeOfType<TorrentInfo>();
var torrentInfo = releases.First() as TorrentInfo;
torrentInfo.Title.Should().Be("Sense8.S01E01.WEBRip.x264-FGT");
torrentInfo.DownloadProtocol.Should().Be(DownloadProtocol.Torrent);
torrentInfo.DownloadUrl.Should().Be("magnet:?xt=urn:btih:d8bde635f573acb390c7d7e7efc1556965fdc802&dn=Sense8.S01E01.WEBRip.x264-FGT&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce");
torrentInfo.InfoUrl.Should().Be("https://torrentapi.org/redirect_to_info.php?token=i5cx7b9agd&p=8_6_4_4_5_6__d8bde635f5&app_id=Radarr");
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2015-06-05 16:58:11 +0000").ToUniversalTime());
torrentInfo.Size.Should().Be(564198371);
torrentInfo.InfoHash.Should().BeNull();
torrentInfo.MagnetUrl.Should().BeNull();
torrentInfo.Peers.Should().Be(304 + 200);
torrentInfo.Seeders.Should().Be(304);
}
[Test]
public void should_parse_error_20_as_empty_results()
{
Mocker.GetMock<IHttpClient>()
.Setup(o => o.Execute(It.Is<HttpRequest>(v => v.Method == HttpMethod.Get)))
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), "{ error_code: 20, error: \"some message\" }"));
var releases = Subject.FetchRecent();
releases.Should().HaveCount(0);
}
[Test]
public void should_warn_on_unknown_error()
{
Mocker.GetMock<IHttpClient>()
.Setup(o => o.Execute(It.Is<HttpRequest>(v => v.Method == HttpMethod.Get)))
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), "{ error_code: 25, error: \"some message\" }"));
var releases = Subject.FetchRecent();
releases.Should().HaveCount(0);
ExceptionVerification.ExpectedWarns(1);
}
[Test]
public void should_warn_and_record_failure_on_429_response()
{
Mocker.GetMock<IHttpClient>()
.Setup(o => o.Execute(It.Is<HttpRequest>(v => v.Method == HttpMethod.Get)))
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), "", HttpStatusCode.TooManyRequests));
var releases = Subject.FetchRecent();
releases.Should().HaveCount(0);
ExceptionVerification.ExpectedWarns(1);
Mocker.GetMock<IIndexerStatusService>()
.Verify(v => v.RecordFailure(It.IsAny<int>(), It.Is<TimeSpan>(t => t == TimeSpan.FromMinutes(2))));
}
[Test]
public void should_warn_and_record_failure_on_520_response()
{
Mocker.GetMock<IHttpClient>()
.Setup(o => o.Execute(It.Is<HttpRequest>(v => v.Method == HttpMethod.Get)))
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), "", (HttpStatusCode)520));
var releases = Subject.FetchRecent();
releases.Should().HaveCount(0);
ExceptionVerification.ExpectedWarns(1);
Mocker.GetMock<IIndexerStatusService>()
.Verify(v => v.RecordFailure(It.IsAny<int>(), It.Is<TimeSpan>(t => t == TimeSpan.FromMinutes(3))));
}
// Uncomment when RarbgParser is updated
// [Test]
// public void should_warn_and_record_failure_on_200_response_with_rate_limit()
// {
// Mocker.GetMock<IHttpClient>()
// .Setup(o => o.Execute(It.Is<HttpRequest>(v => v.Method == HttpMethod.Get)))
// .Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), "{ rate_limit: 1 }"));
//
// var releases = Subject.FetchRecent();
//
// releases.Should().HaveCount(0);
//
// ExceptionVerification.ExpectedWarns(1);
//
// Mocker.GetMock<IIndexerStatusService>()
// .Verify(v => v.RecordFailure(It.IsAny<int>(), It.Is<TimeSpan>(t => t == TimeSpan.FromMinutes(5))));
// }
}
}

View File

@@ -15,6 +15,7 @@ namespace NzbDrone.Core.Annotations
public string Label { get; set; }
public string Unit { get; set; }
public string HelpText { get; set; }
public string HelpTextWarning { get; set; }
public string HelpLink { get; set; }
public FieldType Type { get; set; }
public bool Advanced { get; set; }

View File

@@ -0,0 +1,14 @@
using FluentMigrator;
using NzbDrone.Core.Datastore.Migration.Framework;
namespace NzbDrone.Core.Datastore.Migration
{
[Migration(222)]
public class remove_rarbg : NzbDroneMigrationBase
{
protected override void MainDbUpgrade()
{
Delete.FromTable("Indexers").Row(new { Implementation = "Rarbg" });
}
}
}

View File

@@ -251,6 +251,7 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
case "queuedDL": // queuing is enabled and torrent is queued for download
case "checkingDL": // same as checkingUP, but torrent has NOT finished downloading
case "checkingUP": // torrent has finished downloading and is being checked. Set when `recheck torrent on completion` is enabled. In the event the check fails we shouldn't treat it as completed.
case "checkingResumeData": // torrent is checking resume data on load
item.Status = DownloadItemStatus.Queued;
break;

View File

@@ -32,7 +32,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
public override HealthCheck Check()
{
var clients = _downloadClientProvider.GetDownloadClients();
var clients = _downloadClientProvider.GetDownloadClients(true);
foreach (var client in clients)
{

View File

@@ -76,7 +76,8 @@ namespace NzbDrone.Core.History
protected override SqlBuilder PagedBuilder() => new SqlBuilder(_database.DatabaseType)
.Join<MovieHistory, Movie>((h, m) => h.MovieId == m.Id)
.Join<Movie, Profile>((m, p) => m.ProfileId == p.Id);
.Join<Movie, Profile>((m, p) => m.ProfileId == p.Id)
.LeftJoin<Movie, MovieMetadata>((m, mm) => m.MovieMetadataId == mm.Id);
protected override IEnumerable<MovieHistory> PagedQuery(SqlBuilder sql) =>
_database.QueryJoined<MovieHistory, Movie, Profile>(sql, (hist, movie, profile) =>

View File

@@ -16,29 +16,30 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers
public void Clean()
{
var mapper = _database.OpenConnection();
if (_database.DatabaseType == DatabaseType.PostgreSQL)
using (var mapper = _database.OpenConnection())
{
if (_database.DatabaseType == DatabaseType.PostgreSQL)
{
mapper.Execute(@"DELETE FROM ""PendingReleases""
WHERE ""Added"" < @TwoWeeksAgo
AND ""Reason"" = ANY (@Reasons)",
new
{
TwoWeeksAgo = DateTime.UtcNow.AddDays(-14),
Reasons = new[] { (int)PendingReleaseReason.DownloadClientUnavailable, (int)PendingReleaseReason.Fallback }
});
}
else
{
mapper.Execute(@"DELETE FROM ""PendingReleases""
WHERE ""Added"" < @TwoWeeksAgo
AND ""Reason"" = ANY (@Reasons)",
new
{
TwoWeeksAgo = DateTime.UtcNow.AddDays(-14),
Reasons = new[] { (int)PendingReleaseReason.DownloadClientUnavailable, (int)PendingReleaseReason.Fallback }
});
}
else
{
mapper.Execute(@"DELETE FROM ""PendingReleases""
WHERE ""Added"" < @TwoWeeksAgo
AND ""REASON"" IN @Reasons",
new
{
TwoWeeksAgo = DateTime.UtcNow.AddDays(-14),
Reasons = new[] { (int)PendingReleaseReason.DownloadClientUnavailable, (int)PendingReleaseReason.Fallback }
});
WHERE ""Added"" < @TwoWeeksAgo
AND ""REASON"" IN @Reasons",
new
{
TwoWeeksAgo = DateTime.UtcNow.AddDays(-14),
Reasons = new[] { (int)PendingReleaseReason.DownloadClientUnavailable, (int)PendingReleaseReason.Fallback }
});
}
}
}
}

View File

@@ -14,14 +14,15 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers
public void Clean()
{
var mapper = _database.OpenConnection();
mapper.Execute(@"DELETE FROM ""DownloadClientStatus""
WHERE ""Id"" IN (
SELECT ""DownloadClientStatus"".""Id"" FROM ""DownloadClientStatus""
LEFT OUTER JOIN ""DownloadClients""
ON ""DownloadClientStatus"".""ProviderId"" = ""DownloadClients"".""Id""
WHERE ""DownloadClients"".""Id"" IS NULL)");
using (var mapper = _database.OpenConnection())
{
mapper.Execute(@"DELETE FROM ""DownloadClientStatus""
WHERE ""Id"" IN (
SELECT ""DownloadClientStatus"".""Id"" FROM ""DownloadClientStatus""
LEFT OUTER JOIN ""DownloadClients""
ON ""DownloadClientStatus"".""ProviderId"" = ""DownloadClients"".""Id""
WHERE ""DownloadClients"".""Id"" IS NULL)");
}
}
}
}

View File

@@ -18,30 +18,31 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers
public void Clean()
{
var mapper = _database.OpenConnection();
var usedTags = new[] { "Movies", "Notifications", "DelayProfiles", "Restrictions", "ImportLists", "Indexers" }
.SelectMany(v => GetUsedTags(v, mapper))
.Distinct()
.ToList();
if (usedTags.Any())
using (var mapper = _database.OpenConnection())
{
var usedTagsList = usedTags.Select(d => d.ToString()).Join(",");
var usedTags = new[] { "Movies", "Notifications", "DelayProfiles", "Restrictions", "ImportLists", "Indexers" }
.SelectMany(v => GetUsedTags(v, mapper))
.Distinct()
.ToList();
if (_database.DatabaseType == DatabaseType.PostgreSQL)
if (usedTags.Any())
{
mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" = ANY (\'{{{usedTagsList}}}\'::int[])");
var usedTagsList = usedTags.Select(d => d.ToString()).Join(",");
if (_database.DatabaseType == DatabaseType.PostgreSQL)
{
mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" = ANY (\'{{{usedTagsList}}}\'::int[])");
}
else
{
mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" IN ({usedTagsList})");
}
}
else
{
mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" IN ({usedTagsList})");
mapper.Execute("DELETE FROM \"Tags\"");
}
}
else
{
mapper.Execute("DELETE FROM \"Tags\"");
}
}
private int[] GetUsedTags(string table, IDbConnection mapper)

View File

@@ -95,11 +95,11 @@ namespace NzbDrone.Core.ImportLists.Radarr
return new
{
options = devices.OrderBy(d => d.Name, StringComparer.InvariantCultureIgnoreCase)
.Select(d => new
{
Value = d.Id,
Name = d.Name
})
.Select(d => new
{
Value = d.Id,
Name = d.Name
})
};
}
@@ -110,23 +110,21 @@ namespace NzbDrone.Core.ImportLists.Radarr
return new
{
options = devices.OrderBy(d => d.Label, StringComparer.InvariantCultureIgnoreCase)
.Select(d => new
{
Value = d.Id,
Name = d.Label
})
.Select(d => new
{
Value = d.Id,
Name = d.Label
})
};
}
if (action == "getRootFolders")
{
Settings.Validate().Filter("ApiKey").ThrowOnError();
var remoteRootfolders = _radarrV3Proxy.GetRootFolders(Settings);
var remoteRootFolders = _radarrV3Proxy.GetRootFolders(Settings);
return new
{
options = remoteRootfolders.OrderBy(d => d.Path, StringComparer.InvariantCultureIgnoreCase)
options = remoteRootFolders.OrderBy(d => d.Path, StringComparer.InvariantCultureIgnoreCase)
.Select(d => new
{
Value = d.Path,

View File

@@ -63,6 +63,12 @@ namespace NzbDrone.Core.ImportLists.Radarr
return new ValidationFailure("ApiKey", "API Key is invalid");
}
if (ex.Response.HasHttpRedirect)
{
_logger.Error(ex, "Radarr returned redirect and is invalid");
return new ValidationFailure("BaseUrl", "Radarr URL is invalid, are you missing a URL base?");
}
_logger.Error(ex, "Unable to connect to import list.");
return new ValidationFailure(string.Empty, $"Unable to connect to import list: {ex.Message}. Check the log surrounding this error for details.");
}
@@ -84,11 +90,18 @@ namespace NzbDrone.Core.ImportLists.Radarr
var baseUrl = settings.BaseUrl.TrimEnd('/');
var request = new HttpRequestBuilder(baseUrl).Resource(resource).Accept(HttpAccept.Json)
.SetHeader("X-Api-Key", settings.ApiKey).Build();
var request = new HttpRequestBuilder(baseUrl).Resource(resource)
.Accept(HttpAccept.Json)
.SetHeader("X-Api-Key", settings.ApiKey)
.Build();
var response = _httpClient.Get(request);
if ((int)response.StatusCode >= 300)
{
throw new HttpException(response);
}
var results = JsonConvert.DeserializeObject<List<TResource>>(response.Content);
return results;

View File

@@ -1,30 +1,58 @@
using NzbDrone.Core.Annotations;
namespace NzbDrone.Core.ImportLists.TMDb
{
public enum TMDbLanguageCodes
{
[FieldOption(Hint = "Danish")]
da,
[FieldOption(Hint = "Dutch")]
nl,
[FieldOption(Hint = "English")]
en,
[FieldOption(Hint = "Finnish")]
fi,
[FieldOption(Hint = "French")]
fr,
[FieldOption(Hint = "German")]
de,
[FieldOption(Hint = "Greek")]
el,
[FieldOption(Hint = "Hungarian")]
hu,
[FieldOption(Hint = "Italian")]
it,
[FieldOption(Hint = "Japanese")]
ja,
[FieldOption(Hint = "Korean")]
ko,
[FieldOption(Hint = "Norwegian")]
no,
[FieldOption(Hint = "Polish")]
pl,
[FieldOption(Hint = "Portuguese")]
pt,
[FieldOption(Hint = "Russian")]
ru,
[FieldOption(Hint = "Spanish")]
es,
[FieldOption(Hint = "Swedish")]
sv,
[FieldOption(Hint = "Turkish")]
tr,
[FieldOption(Hint = "Vietnamese")]
vi,
[FieldOption(Hint = "Chinese")]
zh,
[FieldOption(Hint = "Tamil")]
ta,
[FieldOption(Hint = "Telugu")]
te,
[FieldOption(Hint = "Hindi")]
hi,
bn
[FieldOption(Hint = "Bengali")]
bn,
[FieldOption(Hint = "Romanian")]
ro
}
}

View File

@@ -39,9 +39,8 @@ namespace NzbDrone.Core.ImportLists.TMDb
Title = movieResult.Title,
};
if (movieResult.ReleaseDate.IsNotNullOrWhiteSpace())
if (movieResult.ReleaseDate.IsNotNullOrWhiteSpace() && DateTime.TryParse(movieResult.ReleaseDate, out var releaseDate))
{
DateTime.TryParse(movieResult.ReleaseDate, out var releaseDate);
movie.Year = releaseDate.Year;
}

View File

@@ -1,113 +0,0 @@
using System;
using System.Collections.Generic;
using NLog;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Exceptions;
using NzbDrone.Core.Http.CloudFlare;
using NzbDrone.Core.Parser;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Indexers.Rarbg
{
public class Rarbg : HttpIndexerBase<RarbgSettings>
{
private readonly IRarbgTokenProvider _tokenProvider;
public override string Name => "Rarbg";
public override DownloadProtocol Protocol => DownloadProtocol.Torrent;
public override TimeSpan RateLimit => TimeSpan.FromSeconds(4);
public Rarbg(IRarbgTokenProvider tokenProvider, IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
: base(httpClient, indexerStatusService, configService, parsingService, logger)
{
_tokenProvider = tokenProvider;
}
public override IIndexerRequestGenerator GetRequestGenerator()
{
return new RarbgRequestGenerator(_tokenProvider) { Settings = Settings };
}
public override IParseIndexerResponse GetParser()
{
return new RarbgParser();
}
public override object RequestAction(string action, IDictionary<string, string> query)
{
if (action == "checkCaptcha")
{
Settings.Validate().Filter("BaseUrl").ThrowOnError();
try
{
var request = new HttpRequestBuilder(Settings.BaseUrl.Trim('/'))
.Resource($"/pubapi_v2.php?get_token=get_token&app_id={BuildInfo.AppName}")
.Accept(HttpAccept.Json)
.Build();
_httpClient.Get(request);
}
catch (CloudFlareCaptchaException ex)
{
return new
{
captchaRequest = new
{
host = ex.CaptchaRequest.Host,
ray = ex.CaptchaRequest.Ray,
siteKey = ex.CaptchaRequest.SiteKey,
secretToken = ex.CaptchaRequest.SecretToken,
responseUrl = ex.CaptchaRequest.ResponseUrl.FullUri,
}
};
}
return new
{
captchaToken = ""
};
}
else if (action == "getCaptchaCookie")
{
if (query["responseUrl"].IsNullOrWhiteSpace())
{
throw new BadRequestException("QueryParam responseUrl invalid.");
}
if (query["ray"].IsNullOrWhiteSpace())
{
throw new BadRequestException("QueryParam ray invalid.");
}
if (query["captchaResponse"].IsNullOrWhiteSpace())
{
throw new BadRequestException("QueryParam captchaResponse invalid.");
}
var request = new HttpRequestBuilder(query["responseUrl"])
.AddQueryParam("id", query["ray"])
.AddQueryParam("g-recaptcha-response", query["captchaResponse"])
.Build();
request.UseSimplifiedUserAgent = true;
request.AllowAutoRedirect = false;
var response = _httpClient.Get(request);
var cfClearanceCookie = response.GetCookies()["cf_clearance"];
return new
{
captchaToken = cfClearanceCookie
};
}
return new { };
}
}
}

View File

@@ -1,110 +0,0 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Text.RegularExpressions;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Http;
using NzbDrone.Core.Indexers.Exceptions;
using NzbDrone.Core.Parser.Model;
namespace NzbDrone.Core.Indexers.Rarbg
{
public class RarbgParser : IParseIndexerResponse
{
private static readonly Regex RegexGuid = new Regex(@"^magnet:\?xt=urn:btih:([a-f0-9]+)", RegexOptions.Compiled);
public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
{
var results = new List<ReleaseInfo>();
switch (indexerResponse.HttpResponse.StatusCode)
{
case HttpStatusCode.TooManyRequests:
throw new RequestLimitReachedException("Indexer API limit reached", TimeSpan.FromMinutes(2));
case (HttpStatusCode)520:
throw new RequestLimitReachedException("Indexer API error. Likely rate limited by origin server", TimeSpan.FromMinutes(3));
default:
if (indexerResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
{
throw new IndexerException(indexerResponse, "Indexer API call returned an unexpected status code [{0}]", indexerResponse.HttpResponse.StatusCode);
}
break;
}
var jsonResponse = new HttpResponse<RarbgResponse>(indexerResponse.HttpResponse);
if (jsonResponse.Resource.error_code.HasValue)
{
if (jsonResponse.Resource.error_code == 5 || jsonResponse.Resource.error_code == 8
|| jsonResponse.Resource.error_code == 9 || jsonResponse.Resource.error_code == 10
|| jsonResponse.Resource.error_code == 13 || jsonResponse.Resource.error_code == 14
|| jsonResponse.Resource.error_code == 20)
{
// No results, rate limit, tmdbid not found/invalid, or imdbid not found/invalid
return results;
}
throw new IndexerException(indexerResponse, "Indexer API call returned error {0}: {1}", jsonResponse.Resource.error_code, jsonResponse.Resource.error);
}
if (jsonResponse.Resource.torrent_results == null)
{
// Despite this being the requested behaviour it appears to be problematic, commenting it out for now
// if (jsonResponse.Resource.rate_limit == 1)
// {
// throw new RequestLimitReachedException("Indexer API limit reached", TimeSpan.FromMinutes(5));
// }
return results;
}
foreach (var torrent in jsonResponse.Resource.torrent_results)
{
var torrentInfo = new TorrentInfo();
torrentInfo.Guid = GetGuid(torrent);
torrentInfo.Title = torrent.title;
torrentInfo.Size = torrent.size;
torrentInfo.DownloadUrl = torrent.download;
torrentInfo.InfoUrl = $"{torrent.info_page}&app_id={BuildInfo.AppName}";
torrentInfo.PublishDate = torrent.pubdate.ToUniversalTime();
torrentInfo.Seeders = torrent.seeders;
torrentInfo.Peers = torrent.leechers + torrent.seeders;
if (torrent.episode_info != null)
{
if (torrent.episode_info.imdb != null)
{
torrentInfo.ImdbId = int.Parse(torrent.episode_info.imdb.Substring(2));
}
if (torrent.episode_info.themoviedb != null)
{
torrentInfo.TmdbId = torrent.episode_info.themoviedb.Value;
}
}
results.Add(torrentInfo);
}
return results;
}
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
private string GetGuid(RarbgTorrent torrent)
{
var match = RegexGuid.Match(torrent.download);
if (match.Success)
{
return string.Format("rarbg-{0}", match.Groups[1].Value);
}
else
{
return string.Format("rarbg-{0}", torrent.download);
}
}
}
}

View File

@@ -1,125 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.IndexerSearch.Definitions;
namespace NzbDrone.Core.Indexers.Rarbg
{
public class RarbgRequestGenerator : IIndexerRequestGenerator
{
private readonly IRarbgTokenProvider _tokenProvider;
public RarbgSettings Settings { get; set; }
public RarbgRequestGenerator(IRarbgTokenProvider tokenProvider)
{
_tokenProvider = tokenProvider;
}
public virtual IndexerPageableRequestChain GetRecentRequests()
{
var pageableRequests = new IndexerPageableRequestChain();
pageableRequests.Add(GetPagedRequests("list", null, null));
return pageableRequests;
}
public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria)
{
var pageableRequests = new IndexerPageableRequestChain();
pageableRequests.Add(GetMovieRequest(searchCriteria));
return pageableRequests;
}
private IEnumerable<IndexerRequest> GetPagedRequests(string mode, int? imdbId, string query, params object[] args)
{
var requestBuilder = new HttpRequestBuilder(Settings.BaseUrl)
.Resource("/pubapi_v2.php")
.Accept(HttpAccept.Json);
requestBuilder.SuppressHttpErrorStatusCodes = new[] { HttpStatusCode.TooManyRequests, (HttpStatusCode)520 };
if (Settings.CaptchaToken.IsNotNullOrWhiteSpace())
{
requestBuilder.UseSimplifiedUserAgent = true;
requestBuilder.SetCookie("cf_clearance", Settings.CaptchaToken);
}
requestBuilder.AddQueryParam("mode", mode);
if (imdbId.HasValue)
{
requestBuilder.AddQueryParam("search_imdb", imdbId.Value);
}
if (query.IsNotNullOrWhiteSpace())
{
requestBuilder.AddQueryParam("search_string", string.Format(query, args));
}
if (!Settings.RankedOnly)
{
requestBuilder.AddQueryParam("ranked", "0");
}
var categoryParam = string.Join(";", Settings.Categories.Distinct());
requestBuilder.AddQueryParam("category", categoryParam);
requestBuilder.AddQueryParam("limit", "100");
requestBuilder.AddQueryParam("token", _tokenProvider.GetToken(Settings));
requestBuilder.AddQueryParam("format", "json_extended");
requestBuilder.AddQueryParam("app_id", BuildInfo.AppName);
yield return new IndexerRequest(requestBuilder.Build());
}
private IEnumerable<IndexerRequest> GetMovieRequest(MovieSearchCriteria searchCriteria)
{
var requestBuilder = new HttpRequestBuilder(Settings.BaseUrl)
.Resource("/pubapi_v2.php")
.Accept(HttpAccept.Json);
if (Settings.CaptchaToken.IsNotNullOrWhiteSpace())
{
requestBuilder.UseSimplifiedUserAgent = true;
requestBuilder.SetCookie("cf_clearance", Settings.CaptchaToken);
}
requestBuilder.AddQueryParam("mode", "search");
if (searchCriteria.Movie.MovieMetadata.Value.ImdbId.IsNotNullOrWhiteSpace())
{
requestBuilder.AddQueryParam("search_imdb", searchCriteria.Movie.MovieMetadata.Value.ImdbId);
}
else if (searchCriteria.Movie.MovieMetadata.Value.TmdbId > 0)
{
requestBuilder.AddQueryParam("search_themoviedb", searchCriteria.Movie.TmdbId);
}
else
{
requestBuilder.AddQueryParam("search_string", $"{searchCriteria.Movie.Title} {searchCriteria.Movie.Year}");
}
if (!Settings.RankedOnly)
{
requestBuilder.AddQueryParam("ranked", "0");
}
var categoryParam = string.Join(";", Settings.Categories.Distinct());
requestBuilder.AddQueryParam("category", categoryParam);
requestBuilder.AddQueryParam("limit", "100");
requestBuilder.AddQueryParam("token", _tokenProvider.GetToken(Settings));
requestBuilder.AddQueryParam("format", "json_extended");
requestBuilder.AddQueryParam("app_id", BuildInfo.AppName);
yield return new IndexerRequest(requestBuilder.Build());
}
public Func<IDictionary<string, string>> GetCookies { get; set; }
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
}
}

View File

@@ -1,37 +0,0 @@
using System;
using System.Collections.Generic;
namespace NzbDrone.Core.Indexers.Rarbg
{
public class RarbgResponse
{
public string error { get; set; }
public int? error_code { get; set; }
public int? rate_limit { get; set; }
public List<RarbgTorrent> torrent_results { get; set; }
}
public class RarbgTorrent
{
public string title { get; set; }
public string category { get; set; }
public string download { get; set; }
public int? seeders { get; set; }
public int? leechers { get; set; }
public long size { get; set; }
public DateTime pubdate { get; set; }
// This is named episode_info for movies as well as shows
public RarbgTorrentInfo episode_info { get; set; }
public int? ranked { get; set; }
public string info_page { get; set; }
}
public class RarbgTorrentInfo
{
public string imdb { get; set; }
public int? tvrage { get; set; }
public int? tvdb { get; set; }
public int? themoviedb { get; set; }
}
}

View File

@@ -1,107 +0,0 @@
using System.Collections.Generic;
using FluentValidation;
using NzbDrone.Core.Annotations;
using NzbDrone.Core.Languages;
using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Indexers.Rarbg
{
public class RarbgSettingsValidator : AbstractValidator<RarbgSettings>
{
public RarbgSettingsValidator()
{
RuleFor(c => c.BaseUrl).ValidRootUrl();
RuleFor(c => c.Categories).NotEmpty();
RuleFor(c => c.SeedCriteria).SetValidator(_ => new SeedCriteriaSettingsValidator());
}
}
public class RarbgSettings : ITorrentIndexerSettings
{
private static readonly RarbgSettingsValidator Validator = new RarbgSettingsValidator();
public RarbgSettings()
{
BaseUrl = "https://torrentapi.org";
RankedOnly = false;
MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS;
Categories = new int[]
{
(int)RarbgCategories.Movie_Xvid,
(int)RarbgCategories.Movie_Xvid_720p,
(int)RarbgCategories.Movie_x264,
(int)RarbgCategories.Movie_x264_720p,
(int)RarbgCategories.Movie_x264_1080p,
(int)RarbgCategories.Movie_x264_4K,
(int)RarbgCategories.Movie_x265_1080p,
(int)RarbgCategories.Movie_x265_4K,
(int)RarbgCategories.Movie_x265_4K_HDR,
(int)RarbgCategories.Movie_BD_Remux
};
MultiLanguages = new List<int>();
RequiredFlags = new List<int>();
}
[FieldDefinition(0, Label = "API URL", HelpText = "URL to Rarbg api, not the website.")]
public string BaseUrl { get; set; }
[FieldDefinition(1, Type = FieldType.Checkbox, Label = "Ranked Only", HelpText = "Only include ranked results.")]
public bool RankedOnly { get; set; }
[FieldDefinition(2, Type = FieldType.Captcha, Label = "CAPTCHA Token", HelpText = "CAPTCHA Clearance token used to handle CloudFlare Anti-DDOS measures on shared-ip VPNs.")]
public string CaptchaToken { get; set; }
[FieldDefinition(3, Type = FieldType.Select, SelectOptions = typeof(RealLanguageFieldConverter), Label = "Multi Languages", HelpText = "What languages are normally in a multi release on this indexer?", Advanced = true)]
public IEnumerable<int> MultiLanguages { get; set; }
[FieldDefinition(4, Type = FieldType.Number, Label = "Minimum Seeders", HelpText = "Minimum number of seeders required.", Advanced = true)]
public int MinimumSeeders { get; set; }
[FieldDefinition(5, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)]
public IEnumerable<int> RequiredFlags { get; set; }
[FieldDefinition(6, Type = FieldType.Select, Label = "Categories", SelectOptions = typeof(RarbgCategories), HelpText = "Categories for use in search and feeds. If unspecified, all options are used.")]
public IEnumerable<int> Categories { get; set; }
[FieldDefinition(7)]
public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings();
public NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
public enum RarbgCategories
{
[FieldOption]
Movie_Xvid = 14,
[FieldOption]
Movie_Xvid_720p = 48,
[FieldOption]
Movie_x264 = 17,
[FieldOption]
Movie_x264_720p = 45,
[FieldOption]
Movie_x264_1080p = 44,
[FieldOption]
Movie_x264_4K = 50,
[FieldOption]
Movie_x264_3D = 47,
[FieldOption]
Movie_x265_1080p = 54,
[FieldOption]
Movie_x265_4K = 51,
[FieldOption]
Movie_x265_4K_HDR = 52,
[FieldOption]
Movie_BD_Remux = 46,
[FieldOption]
Movie_Full_BD = 42,
[FieldOption]
XXX = 4,
}
}

View File

@@ -1,51 +0,0 @@
using System;
using Newtonsoft.Json.Linq;
using NLog;
using NzbDrone.Common.Cache;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
namespace NzbDrone.Core.Indexers.Rarbg
{
public interface IRarbgTokenProvider
{
string GetToken(RarbgSettings settings);
}
public class RarbgTokenProvider : IRarbgTokenProvider
{
private readonly IHttpClient _httpClient;
private readonly ICached<string> _tokenCache;
private readonly Logger _logger;
public RarbgTokenProvider(IHttpClient httpClient, ICacheManager cacheManager, Logger logger)
{
_httpClient = httpClient;
_tokenCache = cacheManager.GetCache<string>(GetType());
_logger = logger;
}
public string GetToken(RarbgSettings settings)
{
return _tokenCache.Get(settings.BaseUrl,
() =>
{
var requestBuilder = new HttpRequestBuilder(settings.BaseUrl.Trim('/'))
.WithRateLimit(3.0)
.Resource($"/pubapi_v2.php?get_token=get_token&app_id={BuildInfo.AppName}")
.Accept(HttpAccept.Json);
if (settings.CaptchaToken.IsNotNullOrWhiteSpace())
{
requestBuilder.UseSimplifiedUserAgent = true;
requestBuilder.SetCookie("cf_clearance", settings.CaptchaToken);
}
var response = _httpClient.Get<JObject>(requestBuilder.Build());
return response.Resource["token"].ToString();
}, TimeSpan.FromMinutes(14.0));
}
}
}

View File

@@ -33,22 +33,25 @@ namespace NzbDrone.Core.Instrumentation
LogManager.Configuration.AddTarget("DbLogger", target);
LogManager.Configuration.LoggingRules.Add(Rule);
LogManager.ConfigurationReloaded += OnLogManagerOnConfigurationReloaded;
LogManager.ConfigurationChanged += OnLogManagerOnConfigurationChanged;
LogManager.ReconfigExistingLoggers();
}
public void UnRegister()
{
LogManager.ConfigurationReloaded -= OnLogManagerOnConfigurationReloaded;
LogManager.ConfigurationChanged -= OnLogManagerOnConfigurationChanged;
LogManager.Configuration.RemoveTarget("DbLogger");
LogManager.Configuration.LoggingRules.Remove(Rule);
LogManager.ReconfigExistingLoggers();
Dispose();
}
private void OnLogManagerOnConfigurationReloaded(object sender, LoggingConfigurationReloadedEventArgs args)
private void OnLogManagerOnConfigurationChanged(object sender, LoggingConfigurationChangedEventArgs args)
{
Register();
if (args.ActivatedConfiguration != null)
{
Register();
}
}
public LoggingRule Rule { get; set; }

View File

@@ -825,7 +825,6 @@
"Close": "قريب",
"CloneProfile": "الملف الشخصي استنساخ",
"CloneIndexer": "مفهرس استنساخ",
"CloneFormatTag": "علامة تنسيق استنساخ",
"CloneCustomFormat": "استنساخ تنسيق مخصص",
"ClientPriority": "أولوية العميل",
"ClickToChangeQuality": "انقر لتغيير الجودة",
@@ -883,12 +882,6 @@
"AuthBasic": "أساسي (المتصفح المنبثق)",
"AudioInfo": "معلومات الصوت",
"AsAllDayHelpText": "ستظهر الأحداث كأحداث طوال اليوم في التقويم الخاص بك",
"AreYouSureYouWantToResetYourAPIKey": "هل أنت متأكد أنك تريد إعادة تعيين مفتاح API الخاص بك؟",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "هل تريد بالتأكيد إزالة {0} عنصر {1} من قائمة الانتظار؟",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "هل أنت متأكد أنك تريد حذف تعيين المسار البعيد هذا؟",
"AreYouSureYouWantToDeleteThisImportListExclusion": "هل أنت متأكد أنك تريد حذف استثناء قائمة الاستيراد؟",
"AreYouSureYouWantToDeleteThisDelayProfile": "هل أنت متأكد أنك تريد حذف ملف تعريف التأخير هذا؟",
"AreYouSureYouWantToDeleteFormat": "هل تريد بالتأكيد حذف علامة التنسيق {0}؟",
"AptUpdater": "استخدم apt لتثبيت التحديث",
"ApplyTagsHelpTexts4": "استبدال: استبدل العلامات بالعلامات التي تم إدخالها (لا تدخل أي علامات لمسح جميع العلامات)",
"ApplyTagsHelpTexts3": "إزالة: قم بإزالة العلامات التي تم إدخالها",
@@ -1043,14 +1036,12 @@
"DownloadClientCheckDownloadingToRoot": "يقوم برنامج التنزيل {0} بوضع التنزيلات في المجلد الجذر {1}. يجب ألا تقوم بالتنزيل إلى مجلد جذر.",
"DeleteFileLabel": "احذف {0} ملفات الأفلام",
"UnableToAddRootFolder": "تعذر تحميل مجلدات الجذر",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "هل أنت متأكد أنك تريد إزالة العناصر المحددة من القائمة السوداء؟",
"Blocklist": "القائمة السوداء",
"BlocklistHelpText": "يمنع Radarr من الاستيلاء على هذا الإصدار تلقائيًا مرة أخرى",
"BlocklistRelease": "إصدار القائمة السوداء",
"RemoveFromBlocklist": "إزالة من القائمة السوداء",
"UnableToLoadBlocklist": "تعذر تحميل القائمة السوداء",
"Blocklisted": "القائمة السوداء",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "هل تريد بالتأكيد إزالة {0} عنصر {1} من قائمة الانتظار؟",
"BlocklistReleases": "إصدار القائمة السوداء",
"SelectLanguages": "اختار اللغة",
"List": "القوائم",
@@ -1066,5 +1057,7 @@
"File": "الملفات",
"AnnouncedMsg": "تم اعلان الفيلم",
"ShowCinemaReleaseHelpText": "عرض تاريخ الإصدار تحت الملصق",
"EditMovies": "تحرير الفيلم"
"EditMovies": "تحرير الفيلم",
"DeleteRemotePathMapping": "تحرير تعيين المسار البعيد",
"DeleteRemotePathMappingMessageText": "هل أنت متأكد أنك تريد حذف تعيين المسار البعيد هذا؟"
}

View File

@@ -91,7 +91,6 @@
"UpdateCheckStartupNotWritableMessage": "Не може да се инсталира актуализация, тъй като стартовата папка „{0}“ не може да се записва от потребителя „{1}“.",
"UpgradeAllowedHelpText": "Ако инвалидните качества няма да бъдат надградени",
"ApplyTagsHelpTexts4": "Замяна: Заменете маркерите с въведените маркери (не въвеждайте маркери, за да изчистите всички маркери)",
"AreYouSureYouWantToDeleteThisDelayProfile": "Наистина ли искате да изтриете този профил за забавяне?",
"Username": "Потребителско име",
"WaitingToImport": "Изчаква се импортиране",
"BackupFolderHelpText": "Относителните пътища ще бъдат в директорията AppData на Radarr",
@@ -746,11 +745,7 @@
"AppDataDirectory": "Директория на AppData",
"Apply": "Приложи",
"AptUpdater": "Използвайте apt, за да инсталирате актуализацията",
"AreYouSureYouWantToDeleteFormat": "Наистина ли искате да изтриете маркер за формат {0}?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Наистина ли искате да изтриете това изключване от списъка за импортиране?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Наистина ли искате да изтриете това отдалечено картографиране на пътя?",
"AudioInfo": "Аудио информация",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Наистина ли искате да премахнете {0} елемент {1} от опашката?",
"AsAllDayHelpText": "Събитията ще се показват като събития през целия ден във вашия календар",
"AutoRedownloadFailedHelpText": "Автоматично търсете и се опитвайте да изтеглите различна версия",
"AvailabilityDelay": "Забавяне на наличността",
@@ -789,7 +784,6 @@
"ChmodFolderHelpTextWarning": "Това работи само ако потребителят, работещ с Radarr, е собственик на файла. По-добре е да се уверите, че клиентът за изтегляне правилно задава разрешенията.",
"ChmodGroup": "chmod група",
"ChmodGroupHelpText": "Име на група или gid. Използвайте gid за отдалечени файлови системи.",
"AreYouSureYouWantToResetYourAPIKey": "Наистина ли искате да нулирате своя API ключ?",
"AuthBasic": "Основно (изскачащ прозорец на браузъра)",
"Authentication": "Удостоверяване",
"Announced": "Обявен",
@@ -1009,7 +1003,6 @@
"Backup": "Архивиране",
"View": "Изглед",
"Real": "Истински",
"CloneFormatTag": "Клониране на етикет за форматиране",
"Close": "Близо",
"CloseCurrentModal": "Затворете текущия режим",
"Connection": "Връзка",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "Клиентът за изтегляне {0} поставя изтеглянията в основната папка {1}. Не трябва да изтегляте в основна папка.",
"DeleteFileLabel": "Изтрийте {0} филмови файлове",
"UnableToAddRootFolder": "Не може да се заредят коренови папки",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Наистина ли искате да премахнете избраните елементи от черния списък?",
"Blocklist": "Черен списък",
"BlocklistRelease": "Освобождаване на черния списък",
"RemoveFromBlocklist": "Премахване от черния списък",
"UnableToLoadBlocklist": "Черният списък не може да се зареди",
"Blocklisted": "Черен списък",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Наистина ли искате да премахнете {0} елемент {1} от опашката?",
"BlocklistReleases": "Освобождаване на черния списък",
"Filters": "Филтър",
"Rating": "Оценки",
@@ -1064,5 +1055,7 @@
"RssSyncHelpText": "Интервал за минути. Задайте на нула, за да деактивирате (това ще спре всички автоматично хващане на освобождаване)",
"File": "Файлове",
"ShowCinemaReleaseHelpText": "Показване на датата на пускане под постер",
"EditMovies": "Редактиране на филм"
"EditMovies": "Редактиране на филм",
"DeleteRemotePathMapping": "Редактиране на отдалечено картографиране на пътя",
"DeleteRemotePathMappingMessageText": "Наистина ли искате да изтриете това отдалечено картографиране на пътя?"
}

View File

@@ -14,7 +14,6 @@
"RecyclingBin": "Paperera de reciclatge",
"Refresh": "Actualitza",
"Reload": "Torna a carregar",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Esteu segur que voleu suprimir els elements seleccionats de la llista de blocs?",
"Blocklist": "Llista de bloquejats",
"Blocklisted": "Bloquejats",
"BlocklistRelease": "Publicació de la llista de bloqueig",
@@ -59,7 +58,6 @@
"ClickToChangeQuality": "Feu clic per canviar la qualitat",
"ClickToChangeReleaseGroup": "Feu clic per canviar el grup de llançaments",
"CloneCustomFormat": "Clona el format personalitzat",
"CloneFormatTag": "Clona l'etiqueta de format",
"CloneProfile": "Clona el perfil",
"ConnectSettings": "Configuració de connexió",
"ConnectSettingsSummary": "Notificacions, connexions a servidors/reproductors multimèdia i scripts personalitzats",
@@ -369,14 +367,7 @@
"ApplyTagsHelpTexts2": "Afegeix: afegeix les etiquetes a la llista d'etiquetes existent",
"ApplyTagsHelpTexts3": "Eliminar: elimina les etiquetes introduïdes",
"AptUpdater": "Utilitzeu apt per instal·lar l'actualització",
"AreYouSureYouWantToDeleteFormat": "Esteu segur que voleu suprimir l'etiqueta de format {0} ?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Esteu segur que voleu suprimir aquest perfil de retard?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Esteu segur que voleu suprimir aquesta exclusió de la llista d'importació?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Esteu segur que voleu suprimir aquesta assignació remota de camins?",
"ApplyTagsHelpTexts4": "Substituïu: substituïu les etiquetes per les etiquetes introduïdes (no introduïu cap etiqueta per esborrar totes les etiquetes)",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Esteu segur que voleu suprimir 1 element de la cua?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Esteu segur que voleu suprimir elements de {0} de la cua?",
"AreYouSureYouWantToResetYourAPIKey": "Esteu segur que voleu restablir la clau de l'API?",
"AsAllDayHelpText": "Els esdeveniments es mostraran com a esdeveniments durant tot el dia al calendari",
"AuthBasic": "Basic (finestra emergent del navegador)",
"Authentication": "Autenticació",
@@ -1152,11 +1143,20 @@
"ResetDefinitions": "Restableix definicions",
"ResetQualityDefinitions": "Restableix les definicions de qualitat",
"ResetTitles": "Restableix els títols",
"ResetTitlesHelpText": "Restableix els títols de definició i els valors",
"SettingsTheme": "Tema",
"UMask": "Umask",
"RSSHelpText": "S'utilitzarà quan Radarr cerqui publicacions periòdicament mitjançant RSS Sync",
"AreYouSureYouWantToResetQualityDefinitions": "Esteu segur que voleu restablir les definicions de qualitat?",
"EditMovies": "Edita pel·lícula",
"ShowCinemaReleaseHelpText": "Mostra la data de llançament sota el cartell"
"ShowCinemaReleaseHelpText": "Mostra la data de llançament sota el cartell",
"DeleteRemotePathMapping": "Editeu el mapa de camins remots",
"DeleteRemotePathMappingMessageText": "Esteu segur que voleu suprimir aquesta assignació remota de camins?",
"DeleteImportListExclusionMessageText": "Esteu segur que voleu suprimir aquesta exclusió de la llista d'importació?",
"DeleteConditionMessageText": "Esteu segur que voleu suprimir la notificació '{0}'?",
"DeleteCustomFormatMessageText": "Esteu segur que voleu suprimir l'indexador '{0}'?",
"DeleteDelayProfileMessageText": "Esteu segur que voleu suprimir aquest perfil de retard?",
"DeleteFormatMessageText": "Esteu segur que voleu suprimir l'etiqueta de format {0} ?",
"RemoveSelectedItemQueueMessageText": "Esteu segur que voleu eliminar {0} de la cua?",
"RemoveSelectedItemsQueueMessageText": "Esteu segur que voleu eliminar {0} de la cua?",
"ResetAPIKeyMessageText": "Esteu segur que voleu restablir la clau de l'API?",
"ResetDefinitionTitlesHelpText": "Restableix els títols de definició i els valors"
}

View File

@@ -167,12 +167,8 @@
"Always": "Vždy",
"AnalyticsEnabledHelpText": "Odesílejte anonymní informace o použití a chybách na servery Radarru. To zahrnuje informace o vašem prohlížeči, které stránky Radarr WebUI používáte, hlášení chyb a také verzi operačního systému a běhového prostředí. Tyto informace použijeme k upřednostnění funkcí a oprav chyb.",
"AptUpdater": "Nainstalujte aktualizaci pomocí apt",
"AreYouSureYouWantToDeleteFormat": "Opravdu chcete smazat značku formátu {0}?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Opravdu chcete toto vzdálené mapování cesty odstranit?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Opravdu chcete odebrat {0} položku {1} z fronty?",
"ApplyTagsHelpTexts2": "Přidat: Přidejte značky do existujícího seznamu značek",
"AudioInfo": "Zvukové informace",
"AreYouSureYouWantToResetYourAPIKey": "Opravdu chcete resetovat klíč API?",
"AsAllDayHelpText": "Události se ve vašem kalendáři zobrazí jako celodenní události",
"AuthBasic": "Základní (vyskakovací okno prohlížeče)",
"Authentication": "Ověření",
@@ -239,7 +235,6 @@
"ImportListStatusCheckSingleClientMessage": "Seznamy nejsou k dispozici z důvodu selhání: {0}",
"ChmodFolderHelpText": "Octal, aplikováno během importu / přejmenování na mediální složky a soubory (bez provádění bitů)",
"AgeWhenGrabbed": "Stáří (při zachycení)",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Opravdu chcete toto vyloučení importního seznamu smazat?",
"ChmodFolderHelpTextWarning": "Funguje to pouze v případě, že je uživatel souboru Radarr vlastníkem souboru. Je lepší zajistit, aby stahovací klient správně nastavil oprávnění.",
"ChmodGroup": "chmod Group",
"Updates": "Aktualizace",
@@ -496,7 +491,6 @@
"TotalSpace": "Celkový prostor",
"UpdateCheckStartupNotWritableMessage": "Aktualizaci nelze nainstalovat, protože spouštěcí složku „{0}“ nelze zapisovat uživatelem „{1}“.",
"UpgradeAllowedHelpText": "Pokud budou deaktivovány vlastnosti, nebudou upgradovány",
"AreYouSureYouWantToDeleteThisDelayProfile": "Opravdu chcete smazat tento profil zpoždění?",
"WaitingToImport": "Čekání na import",
"DigitalRelease": "Digitální vydání",
"Disabled": "Zakázáno",
@@ -513,7 +507,6 @@
"ChooseAnotherFolder": "Vyberte jinou složku",
"ClickToChangeLanguage": "Klepnutím změníte jazyk",
"CloneCustomFormat": "Klonovat vlastní formát",
"CloneFormatTag": "Značka formátu klonování",
"CloneIndexer": "Klonovat indexátor",
"CloneProfile": "Klonovat profil",
"Close": "Zavřít",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "Stahovací klient {0} umístí stažené soubory do kořenové složky {1}. Neměli byste stahovat do kořenové složky.",
"DeleteFileLabel": "Smažte {0} filmové soubory",
"UnableToAddRootFolder": "Nelze načíst kořenové složky",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Opravdu chcete odebrat vybrané položky z černé listiny?",
"Blocklist": "Černá listina",
"BlocklistRelease": "Vydání černé listiny",
"RemoveFromBlocklist": "Odebrat z černé listiny",
"UnableToLoadBlocklist": "Nelze načíst černou listinu",
"Blocklisted": "Černá listina",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Opravdu chcete odebrat {0} položku {1} z fronty?",
"BlocklistReleases": "Vydání černé listiny",
"Filters": "Filtr",
"LocalPath": "Místní cesta",
@@ -1064,5 +1055,7 @@
"RssSyncHelpText": "Interval v minutách. Nastavením na nulu deaktivujete (tím se zastaví veškeré automatické uvolnění uvolnění)",
"File": "Soubory",
"EditMovies": "Upravit film",
"ShowCinemaReleaseHelpText": "Zobrazit datum vydání pod plakátem"
"ShowCinemaReleaseHelpText": "Zobrazit datum vydání pod plakátem",
"DeleteRemotePathMapping": "Upravit vzdálené mapování cesty",
"DeleteRemotePathMappingMessageText": "Opravdu chcete toto vzdálené mapování cesty odstranit?"
}

View File

@@ -190,7 +190,6 @@
"Always": "Altid",
"AnalyticsEnabledHelpText": "Send anonym brugs- og fejlinformation til Radarrs servere. Dette inkluderer information i din browser, hvilke Radarr WebUI-sider du bruger, fejlrapportering samt OS og runtime-version. Vi bruger disse oplysninger til at prioritere funktioner og fejlrettelser.",
"AppDataDirectory": "AppData-bibliotek",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Er du sikker på, at du vil slette denne kortlægning af fjernstien?",
"AuthBasic": "Grundlæggende (pop op-browser)",
"Authentication": "Godkendelse",
"ApplyTags": "Anvend tags",
@@ -225,11 +224,7 @@
"AfterManualRefresh": "Efter manuel opdatering",
"ApiKey": "API-nøgle",
"AptUpdater": "Brug apt til at installere opdateringen",
"AreYouSureYouWantToDeleteFormat": "Er du sikker på, at du vil slette formattag {0}?",
"ApplyTagsHelpTexts1": "Sådan anvendes tags på de valgte film",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Er du sikker på, at du vil slette denne undtagelse fra importlisten?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Er du sikker på, at du vil fjerne {0} element {1} fra køen?",
"AreYouSureYouWantToResetYourAPIKey": "Er du sikker på, at du vil nulstille din API-nøgle?",
"AsAllDayHelpText": "Begivenheder vises som begivenheder hele dagen i din kalender",
"AuthenticationMethodHelpText": "Kræv brugernavn og adgangskode for at få adgang til Radarr",
"AvailabilityDelay": "Tilgængelighed forsinkelse",
@@ -488,7 +483,6 @@
"TotalSpace": "Samlet plads",
"UpdateCheckStartupNotWritableMessage": "Kan ikke installere opdatering, fordi startmappen '{0}' ikke kan skrives af brugeren '{1}'.",
"ApplyTagsHelpTexts4": "Erstat: Udskift tags med de indtastede tags (indtast ingen tags for at rydde alle tags)",
"AreYouSureYouWantToDeleteThisDelayProfile": "Er du sikker på, at du vil slette denne forsinkelsesprofil?",
"Username": "Brugernavn",
"WaitingToImport": "Venter på at importere",
"BackupFolderHelpText": "Relative stier vil være under Radarrs AppData-bibliotek",
@@ -508,7 +502,6 @@
"ClickToChangeMovie": "Klik for at skifte film",
"ClickToChangeQuality": "Klik for at ændre kvalitet",
"CloneCustomFormat": "Klon brugerdefineret format",
"CloneFormatTag": "Klonformat-tag",
"CloneIndexer": "Klonindekser",
"CloneProfile": "Klonprofil",
"CloseCurrentModal": "Luk Nuværende Modal",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "Download klient {0} placerer downloads i rodmappen {1}. Du skal ikke downloade til en rodmappe.",
"DeleteFileLabel": "Slet {0} filmfiler",
"UnableToAddRootFolder": "Kan ikke indlæse rodmapper",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Er du sikker på, at du vil fjerne de valgte emner fra sortlisten?",
"Blocklist": "Blacklist",
"BlocklistRelease": "Udgivelse af sortliste",
"RemoveFromBlocklist": "Fjern fra sortlisten",
"UnableToLoadBlocklist": "Kunne ikke indlæse sortliste",
"Blocklisted": "Blacklist",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Er du sikker på, at du vil fjerne {0} element {1} fra køen?",
"BlocklistReleases": "Udgivelse af sortliste",
"Filters": "Filter",
"LocalPath": "Lokal sti",
@@ -1064,5 +1055,7 @@
"Collections": "Samling",
"File": "Filer",
"EditMovies": "Rediger film",
"ShowCinemaReleaseHelpText": "Vis udgivelsesdato under plakat"
"ShowCinemaReleaseHelpText": "Vis udgivelsesdato under plakat",
"DeleteRemotePathMapping": "Rediger kortlægning af fjernsti",
"DeleteRemotePathMappingMessageText": "Er du sikker på, at du vil slette denne kortlægning af fjernstien?"
}

View File

@@ -20,7 +20,7 @@
"Connect": "Verbinden",
"Connections": "Verbindungen",
"Crew": "Besatzung",
"CustomFilters": "Filter anpassen",
"CustomFilters": "Eigene Filter",
"CustomFormats": "Eigene Formate",
"Date": "Datum",
"Dates": "Termine",
@@ -317,8 +317,6 @@
"AnalyseVideoFiles": "Video Dateien analysieren",
"AppDataDirectory": "AppData Ordner",
"ApplyTags": "Tags setzen",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Bist du sicher, dass du diesen Importlisten Ausschluss löschen willst?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Bist du sicher, dass du diese entfernte Pfadzuordnung löschen willst?",
"AsAllDayHelpText": "Events werden als ganztags Event in deinem Kalender angezeigt",
"Authentication": "Authentifizierung",
"Automatic": "Automatisch",
@@ -342,7 +340,6 @@
"ClickToChangeLanguage": "Sprache ändern",
"ClickToChangeQuality": "Hier klicken um die Qualität zu ändern",
"ClientPriority": "Priorität",
"CloneFormatTag": "Format Tag kopieren",
"CloneProfile": "Profil kopieren",
"ColonReplacement": "Doppelpunkt-Ersatz",
"ColonReplacementFormatHelpText": "Ändere wie Radarr Doppelpunkte ersetzt",
@@ -375,12 +372,12 @@
"EditPerson": "Schausteller bearbeiten",
"Enable": "Aktivieren",
"EnableAutomaticAdd": "Automatisch hinzufügen",
"EnableAutomaticSearch": "Automatisch suchen",
"EnableAutomaticSearch": "Automatische Suche einschalten",
"EnableColorImpairedMode": "Farbbeeinträchtigter Modus aktivieren",
"EnableCompletedDownloadHandlingHelpText": "Importiere fertige Downloads vom Downloader automatisch",
"EnabledHelpText": "Aktiviere diese Liste",
"EnableHelpText": "Metadaten Dateien erstellen für diesen Metadata Typ",
"EnableInteractiveSearch": "Interaktive Suche",
"EnableInteractiveSearch": "Interaktive Suche einschalten",
"EnableRSS": "RSS aktivieren",
"EnableSSL": "SSL",
"EnableSslHelpText": " Erfordert einen Neustart als Administrator",
@@ -415,7 +412,7 @@
"LanguageHelpText": "Sprache für Releases",
"Links": "Links",
"ListSettings": "Listen Einstellungen",
"ListSyncLevelHelpText": "Die Filme in der Bibliothek werden auf der Grundlage Ihrer Auswahl behandelt, wenn sie nicht auf Ihrer Liste auftauchen",
"ListSyncLevelHelpText": "Die Filme in der Bibliothek werden auf der Grundlage dieser Auswahl behandelt, wenn sie nicht auf einer Liste auftauchen",
"ListUpdateInterval": "Aktualisierungs Intervall der Listen",
"Local": "Lokal",
"LogLevel": "Log Level",
@@ -583,10 +580,8 @@
"ApiKey": "API-Schlüssel",
"ImportedTo": "Importiert nach",
"Permissions": "Rechte",
"AreYouSureYouWantToDeleteThisDelayProfile": "Bist du sicher, dass du dieses Verzögerungs-Profil löschen willst?",
"ImportExtraFilesHelpText": "Importiere zutreffende Extra Dateien (Untertitel, nfo, etc.) nach dem Importieren einer Filmdatei",
"PreferIndexerFlags": "Bevorzugte Indexer Flags",
"AreYouSureYouWantToResetYourAPIKey": "Bist du sicher, dass du den API-Schlüssel zurücksetzen willst?",
"CopyUsingHardlinksHelpText": "Hardlinks erlauben es Radarr, Torrents zu importieren die derzeit geseeded werden, ohne dabei weiteren Speicherplatz zu belegen oder die Datei vollständig zu kopieren. Hardlinks funktionieren nur, wenn sich die Quelle und das Ziel auf dem selben Volume befinden",
"IncludeUnknownMovieItemsHelpText": "Einträge ohne eine Zuordnung in der Warteschlange anzeigen. Dies könnten gelöschte Filme oder alles andere mit Radarrs Downloadkategorie sein",
"PriorityHelpText": "Priorisiere mehrere Downloader. Rundlauf-Verfahren wird für Downloader mit der gleichen Priorität verwendet.",
@@ -1005,8 +1000,6 @@
"BuiltIn": "Integriert",
"AuthForm": "Formular (Login Seite)",
"AuthBasic": "Einfach (Browser Popup)",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Bist du sicher, dass du {0} Einträge aus der Warteschlange löschen willst?",
"AreYouSureYouWantToDeleteFormat": "Bist du sicher, dass du das Formatierungstag {0} löschen willst ?",
"AptUpdater": "Benutze 'apt' um das Update zu installieren",
"Always": "Immer",
"AllResultsHiddenFilter": "Keine Ergebnisse mit den ausgewählten Filtern",
@@ -1067,14 +1060,12 @@
"From": "von",
"NotificationTriggersHelpText": "Auslöser für diese Benachrichtigung auswählen",
"UnableToAddRootFolder": "Stammverzeichnis konnte nicht hinzugefügt werden",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Bist du icher, dass du die ausgewählten Einträge aus der Sperrliste entfernen willst?",
"Blocklist": "Sperrliste",
"BlocklistHelpText": "Dieses Release nicht automatisch erneut erfassen",
"BlocklistRelease": "Release sperren",
"RemoveFromBlocklist": "Aus der Sperrliste entfernen",
"UnableToLoadBlocklist": "Sperrliste konnte nicht geladen werden",
"Blocklisted": "Gesperrt",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Bist du sicher, dass du {0} Einträge aus der Warteschlange löschen willst?",
"BlocklistReleases": "Release sperren",
"IndexerTagHelpText": "Benutze den Indexer nur für Filme mit mindesens einen zutreffenden Tag. Leer lassen für alle Filme.",
"RemoveSelectedItem": "Entferne ausgewählten Eintrag",
@@ -1146,12 +1137,10 @@
"ApplicationURL": "Anwendungs-URL",
"ApplicationUrlHelpText": "Die externe URL der Anwendung inklusive http(s)://, Port und URL-Basis",
"PreferredProtocol": "Bevorzugtes Protokoll",
"AreYouSureYouWantToResetQualityDefinitions": "Sicher, dass die Qualitätsdefinitionen zurückgesetzt werden sollen?",
"ResetDefinitions": "Definitionen zurücksetzen",
"ResetQualityDefinitions": "Qualitätsdefinitionen zurücksetzen",
"SettingsThemeHelpText": "Anwendungsdesign ändern, das 'Auto' Design passt sich an den Light/Dark-Mode deines Systems an. Inspiriert von Theme.Park",
"ResetTitles": "Titel zurücksetzen",
"ResetTitlesHelpText": "Definitionstitel und Werte zurücksetzen",
"SettingsTheme": "Design",
"RSSHelpText": "Wird benutzt, wenn Radarr mittels RSS-Sync regelmäßig nach Releases schaut",
"DownloadClientSortingCheckMessage": "Downloader {0} hat die {1} Sortierung für Radarrs Kategorie aktiviert. Dies sollte deaktiviert werden, um Import-Probleme zu vermeiden.",
@@ -1161,5 +1150,32 @@
"EditSelectedMovies": "Bearbeite ausgewählte Filme",
"EditMovies": "Filme bearbeiten",
"RecycleBinUnableToWriteHealthCheck": "Schreiben in konfigurierten Papierkorbordner nicht möglich: {0}. Stelle sicher, dass dieser Pfad existiert und von dem Benutzer, der Radarr ausführt, beschreibbar ist",
"ShowCinemaReleaseHelpText": "Erscheinungsdatum unter Poster anzeigen"
"ShowCinemaReleaseHelpText": "Kino-Erscheinungsdatum unter Poster anzeigen",
"ApiKeyValidationHealthCheckMessage": "Bitte den API Schlüssel korrigieren, dieser muss mindestens {0} Zeichen lang sein. Die Änderung kann über die Einstellungen oder die Konfigurationsdatei erfolgen",
"StopSelecting": "Auswahl stoppen",
"ImportScriptPath": "Pfad zum Importscript",
"ImportUsingScript": "Import per Script",
"OnManualInteractionRequired": "Wenn manuelles Eingreifen erforderlich ist",
"OnManualInteractionRequiredHelpText": "Wenn manuelles Eingreifen erforderlich ist",
"RemoveCompletedDownloads": "Entferne abgeschlossene Downloads",
"RemoveFailedDownloads": "Entferne fehlgeschlagene Downloads",
"ScriptImportPathHelpText": "Pfad zum Script für den Import",
"UseScriptImportHelpText": "Kopiere Dateien zum Import mithilfe eines Scripts (z.B.: für Transkodierungen)",
"OnHealthRestoredHelpText": "Bei Wiederherstellung des Zustands",
"OnHealthRestored": "Bei Wiederherstellung des Zustands",
"Loading": "Lade",
"UpdateFiltered": "Gefilterte updaten",
"ThereWasAnErrorLoadingThisItem": "Beim Laden des Eintrags ist ein Fehler aufgetreten",
"ThereWasAnErrorLoadingThisPage": "Beim Laden der Seite ist ein Fehler aufgetreten",
"DeleteRemotePathMapping": "Entfernte Pfadzuordnung bearbeiten",
"NoHistoryBlocklist": "Keine History Blockliste",
"RemoveSelectedItemQueueMessageText": "Bist du sicher, dass du {0} aus der Warteschlange entfernen willst?",
"RemoveSelectedItemsQueueMessageText": "Bist du sicher, dass du {0} aus der Warteschlange entfernen willst?",
"ResetDefinitionTitlesHelpText": "Definitionstitel und Werte zurücksetzen",
"DeleteConditionMessageText": "Benachrichtigung '{0}' wirklich löschen?",
"DeleteCustomFormatMessageText": "Indexer '{0}' wirklich löschen?",
"DeleteDelayProfileMessageText": "Bist du sicher, dass du dieses Verzögerungs-Profil löschen willst?",
"DeleteFormatMessageText": "Bist du sicher, dass du das Formatierungstag {0} löschen willst ?",
"DeleteImportListExclusionMessageText": "Bist du sicher, dass du diesen Importlisten Ausschluss löschen willst?",
"ResetAPIKeyMessageText": "Bist du sicher, dass du den API-Schlüssel zurücksetzen willst?"
}

View File

@@ -62,7 +62,7 @@
"CustomFilters": "Custom Φιλτρα",
"Crew": "Ομάδα",
"ConnectSettingsSummary": "Ειδοποιήσεις, συνδέσεις με διακομιστές πολυμέσων/προγράμματα αναπαραγωγής και προσαρμοσμένα σενάρια",
"AppDataLocationHealthCheckMessage": "Η αναβάθμιση δεν είναι πιθανό να αποτρέψει την διαγραφή των AppData κατά την αναβάθμιση",
"AppDataLocationHealthCheckMessage": "Η ενημέρωση δεν θα είναι δυνατή για να αποτραπεί η διαγραφή των δεδομένων εφαρμογής κατά την ενημέρωση",
"AddNewTmdbIdMessage": "Μπορείτε επίσης να ψάξετε μέσω του TMDB Id της ταινίας. π.χ. tmdb:71663",
"AddNewMessage": "Είναι εύκολο να προσθέσετε μια καινούρια ταινία, απλά πληκτρολογήστε το όνομα της ταινίας",
"ConnectionLostAutomaticMessage": "Το Radarr θα προσπαθήσει να συνδεθεί αυτόματα, αλλιώς μπορείτε να κάνετε reload απο κάτω.",
@@ -91,7 +91,7 @@
"NoLimitForAnyRuntime": "Δεν υπάρχει όριο για οποιοδήποτε χρόνο εκτέλεσης",
"NotificationTriggers": "Ενεργοποιήσεις ειδοποίησης",
"ColonReplacementFormatHelpText": "Αλλάξτε τον τρόπο με τον οποίο το Radarr χειρίζεται την αντικατάσταση του παχέος εντέρου",
"CopyUsingHardlinksHelpText": "Χρησιμοποιήστε σκληρούς συνδέσμους όταν προσπαθείτε να αντιγράψετε αρχεία από torrents που εξακολουθούν να σπέρνονται",
"CopyUsingHardlinksHelpText": "Οι σκληροί σύνδεσμοι επιτρέπουν στο Radarr να εισαγάγει τα torrents που έχουν κατέβει, στον φάκελο της ταινίας χωρίς να καταλαμβάνει περισσότερο χώρο στον δίσκο ή να αντιγράφει ολόκληρο το περιεχόμενο του αρχείου. Οι σκληροί σύνδεσμοι θα λειτουργήσουν μόνο αν η πηγή και ο προορισμός βρίσκονται στον ίδιο τόμο δίσκου",
"CopyUsingHardlinksHelpTextWarning": "Περιστασιακά, τα κλειδώματα αρχείων ενδέχεται να αποτρέψουν τη μετονομασία αρχείων που έχουν σπαρθεί. Μπορείτε προσωρινά να απενεργοποιήσετε τη σπορά και να χρησιμοποιήσετε τη λειτουργία μετονομασίας Radarr ως εργασία.",
"CustomFormatsSettings": "Ρυθμίσεις προσαρμοσμένων μορφών",
"CutoffFormatScoreHelpText": "Μόλις επιτευχθεί αυτό το σκορ προσαρμοσμένης μορφής, το Radarr δεν θα κατεβάζει πλέον ταινίες",
@@ -170,13 +170,8 @@
"AnalyticsEnabledHelpText": "Στείλτε ανώνυμες πληροφορίες χρήσης και σφάλματος στους διακομιστές του Radarr. Αυτό περιλαμβάνει πληροφορίες στο πρόγραμμα περιήγησής σας, ποιες σελίδες Radarr WebUI χρησιμοποιείτε, αναφορά σφαλμάτων καθώς και έκδοση λειτουργικού συστήματος και χρόνου εκτέλεσης. Θα χρησιμοποιήσουμε αυτές τις πληροφορίες για να δώσουμε προτεραιότητα σε λειτουργίες και διορθώσεις σφαλμάτων.",
"AppDataDirectory": "Κατάλογος AppData",
"AptUpdater": "Χρησιμοποιήστε το apt για να εγκαταστήσετε την ενημέρωση",
"AreYouSureYouWantToDeleteFormat": "Είστε βέβαιοι ότι θέλετε να διαγράψετε την ετικέτα μορφής {0};",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την εξαίρεση λίστας εισαγωγής;",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την αντιστοίχιση απομακρυσμένης διαδρομής;",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Είστε βέβαιοι ότι θέλετε να καταργήσετε το {0} στοιχείο {1} από την ουρά;",
"CustomFormatUnknownCondition": "Άγνωστη συνθήκη προσαρμοσμένης μορφής \"{0}\"",
"AddRemotePathMapping": "Προσθήκη απομακρυσμένης αντιστοίχισης διαδρομής",
"AreYouSureYouWantToResetYourAPIKey": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε το κλειδί API σας;",
"AsAllDayHelpText": "Οι εκδηλώσεις θα εμφανίζονται ως ολοήμερα συμβάντα στο ημερολόγιό σας",
"AuthBasic": "Βασικό (Αναδυόμενο παράθυρο προγράμματος περιήγησης)",
"Authentication": "Αυθεντικοποίηση",
@@ -484,7 +479,6 @@
"TotalSpace": "Συνολικός χώρος",
"UpgradeAllowedHelpText": "Εάν οι ιδιότητες με ειδικές ανάγκες δεν θα αναβαθμιστούν",
"ApplyTagsHelpTexts4": "Αντικατάσταση: Αντικαταστήστε τις ετικέτες με τις εισαγόμενες ετικέτες (μην εισάγετε ετικέτες για να διαγράψετε όλες τις ετικέτες)",
"AreYouSureYouWantToDeleteThisDelayProfile": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το προφίλ καθυστέρησης;",
"Username": "Όνομα χρήστη",
"WaitingToImport": "Αναμονή για εισαγωγή",
"Disabled": "άτομα με ειδικές ανάγκες",
@@ -502,7 +496,6 @@
"ClickToChangeMovie": "Κάντε κλικ για να αλλάξετε ταινία",
"ClickToChangeQuality": "Κάντε κλικ για να αλλάξετε την ποιότητα",
"CloneCustomFormat": "Προσαρμοσμένη μορφή κλώνου",
"CloneFormatTag": "Ετικέτα μορφής κλώνου",
"CloneIndexer": "Δείκτης κλώνου",
"CloneProfile": "Προφίλ κλώνου",
"CloseCurrentModal": "Κλείσιμο τρέχοντος modal",
@@ -520,7 +513,7 @@
"CurrentlyInstalled": "Εγκατεστημένο αυτήν τη στιγμή",
"Custom": "Εθιμο",
"CustomFormat": "Προσαρμοσμένη μορφή",
"CustomFormatHelpText": "Ο Radarr βαθμολογεί κάθε κυκλοφορία χρησιμοποιώντας το άθροισμα των βαθμολογιών για προσαρμοσμένες προσαρμοσμένες μορφές. Εάν μια νέα κυκλοφορία βελτιώσει το σκορ, στην ίδια ή καλύτερη ποιότητα, τότε ο Radarr θα το πιάσει.",
"CustomFormatHelpText": "Το Radarr βαθμολογεί κάθε κυκλοφορία χρησιμοποιώντας το άθροισμα των βαθμολογιών για προσαρμοσμένες μορφές. Εάν μια νέα κυκλοφορία βελτιώσει το σκορ, στην ίδια ή καλύτερη ποιότητα, τότε το Radarr θα το πιάσει.",
"CustomFormatJSON": "Προσαρμοσμένη μορφή JSON",
"CustomFormatScore": "Βαθμολογία προσαρμοσμένης μορφής",
"CustomFormatUnknownConditionOption": "Άγνωστη επιλογή \"{0}\" για συνθήκη \"{1}\"",
@@ -665,7 +658,7 @@
"Links": "Συνδέσεις",
"Lists": "Τόπος αγώνων",
"ListSettings": "Ρυθμίσεις λίστας",
"ListSyncLevelHelpText": "Οι ταινίες στη βιβλιοθήκη θα καταργηθούν ή θα παρακολουθούνται, εάν δεν βρίσκονται στη λίστα σας",
"ListSyncLevelHelpText": "Οι ταινίες στη βιβλιοθήκη θα χειριστούνε ανάλογα με την επιλογή σας, εάν θα απομακρυνθούν ή δεν θα εμφανιστούν στη λίστα ή τις λίστες σας",
"LogFiles": "Αρχεία καταγραφής",
"Logging": "Ξύλευση",
"LogLevel": "Επίπεδο καταγραφής",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "Λήψη προγράμματος-πελάτη {0} τοποθετεί λήψεις στον ριζικό φάκελο {1}. Δεν πρέπει να κάνετε λήψη σε έναν ριζικό φάκελο.",
"DeleteFileLabel": "Διαγραφή {0} Αρχείων ταινιών",
"UnableToAddRootFolder": "Δεν είναι δυνατή η φόρτωση ριζικών φακέλων",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Είστε βέβαιοι ότι θέλετε να καταργήσετε τα επιλεγμένα στοιχεία από τη μαύρη λίστα;",
"Blocklist": "Αποριφθέντα",
"BlocklistRelease": "Έκδοση μαύρης λίστας",
"RemoveFromBlocklist": "Κατάργηση από μαύρη λίστα",
"UnableToLoadBlocklist": "Δεν είναι δυνατή η φόρτωση της μαύρης λίστας",
"Blocklisted": "Αποριφθέντα",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Είστε βέβαιοι ότι θέλετε να καταργήσετε το {0} στοιχείο {1} από την ουρά;",
"BlocklistReleases": "Έκδοση μαύρης λίστας",
"LocalPath": "Τοπικό μονοπάτι",
"RemotePath": "Απομακρυσμένη διαδρομή",
@@ -1094,7 +1085,6 @@
"ManualImportSetReleaseGroup": "Μη αυτόματη εισαγωγή - Ορισμός ομάδας απελευθέρωσης",
"OriginalLanguage": "Γλώσσα Πρωτότυπου",
"OriginalTitle": "Πρωτότυπος τίτλος",
"AreYouSureYouWantToResetQualityDefinitions": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε τους ορισμούς ποιότητας;",
"CollectionOptions": "Επιλογές συλλογής",
"CollectionShowDetailsHelpText": "Εμφάνιση κατάστασης και ιδιοτήτων συλλογής",
"CollectionShowOverviewsHelpText": "Εμφάνιση επισκοπήσεων συλλογής",
@@ -1140,7 +1130,6 @@
"RemotePathMappingCheckWrongOSPath": "Το πρόγραμμα-πελάτης απομακρυσμένης λήψης {0} τοποθετεί λήψεις στο {1} αλλά αυτή δεν είναι έγκυρη διαδρομή {2}. Ελέγξτε τις απομακρυσμένες αντιστοιχίσεις διαδρομής και κατεβάστε τις ρυθμίσεις πελάτη.",
"RemoveDownloadsAlert": "Οι ρυθμίσεις κατάργησης μετακινήθηκαν στις μεμονωμένες ρυθμίσεις Download Client στον παραπάνω πίνακα.",
"RemoveSelectedItem": "Αφαίρεση επιλεγμένου αντικειμένου",
"ResetTitlesHelpText": "Επαναφέρετε τίτλους ορισμού καθώς και τιμές",
"RSSHelpText": "Θα χρησιμοποιηθεί όταν το Radarr αναζητά περιοδικά εκδόσεις μέσω RSS Sync",
"SearchOnAddCollectionHelpText": "Αναζητήστε ταινίες σε αυτήν τη συλλογή όταν προστεθούν στη βιβλιοθήκη",
"SelectReleaseGroup": "Επιλέξτε Ομάδα έκδοσης",
@@ -1158,5 +1147,22 @@
"File": "Αρχεία",
"UMask": "UMask",
"EditMovies": "Επεξεργασία ταινίας",
"ShowCinemaReleaseHelpText": "Εμφάνιση ημερομηνίας κυκλοφορίας στην αφίσα"
"ShowCinemaReleaseHelpText": "Εμφάνιση ημερομηνίας κυκλοφορίας στην αφίσα",
"RecycleBinUnableToWriteHealthCheck": "Δεν είναι δυνατή η εγγραφή στον επιλεγμένο φάκελο ανακύκλωσης: {0}. Ελέγξτε ότι ο φάκελος υπάρχει και είναι εγγράψιμος από τον χρήστη που τρέχει το Radarr",
"UpdateFiltered": "Ενημέρωση Φιλτραρισμένων",
"OnHealthRestored": "Στην Αποκατάσταση Υγείας",
"RemoveCompletedDownloads": "Αφαίρεση Ολοκληρωμένων Λήψεων",
"RemoveFailedDownloads": "Αφαίρεση Αποτυχημένων Λήψεων",
"ImportScriptPath": "Εισαγωγή Μονοπατιού Script",
"ImportUsingScript": "Εισαγωγή με χρήση Script",
"ScriptImportPathHelpText": "Μονοπάτι για το script που θα χρησιμοποιηθεί για την εισαγωγή",
"ThereWasAnErrorLoadingThisItem": "Υπήρξε ένα σφάλμα κατά τη φόρτωση του αρχείου",
"Loading": "Φόρτωση",
"EditSelectedMovies": "Επεξεργασία Επιλεγμένων Ταινιών",
"ApiKeyValidationHealthCheckMessage": "Παρακαλούμε ενημερώστε το κλείδι API ώστε να έχει τουλάχιστον {0} χαρακτήρες. Μπορείτε να το κάνετε αυτό μέσα από τις ρυθμίσεις ή το αρχείο ρυθμίσεων",
"StopSelecting": "Διακοπή Επιλογής",
"ThereWasAnErrorLoadingThisPage": "Υπήρξε ένα σφάλμα κατά τη φόρτωση της σελίδας",
"DeleteRemotePathMapping": "Επεξεργασία αντιστοίχισης απομακρυσμένης διαδρομής",
"DeleteRemotePathMappingMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την αντιστοίχιση απομακρυσμένης διαδρομής;",
"OnHealthRestoredHelpText": "Στην Αποκατάσταση Υγείας"
}

View File

@@ -60,15 +60,6 @@
"ApplyTagsHelpTexts3": "Remove: Remove the entered tags",
"ApplyTagsHelpTexts4": "Replace: Replace the tags with the entered tags (enter no tags to clear all tags)",
"AptUpdater": "Use apt to install the update",
"AreYouSureYouWantToDeleteFormat": "Are you sure you want to delete format tag {0} ?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Are you sure you want to delete this delay profile?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Are you sure you want to delete this import list exclusion?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Are you sure you want to delete this remote path mapping?",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Are you sure you want to remove 1 item from the queue?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Are you sure you want to remove {0} items from the queue?",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Are you sure you want to remove the selected items from the blocklist?",
"AreYouSureYouWantToResetQualityDefinitions": "Are you sure you want to reset quality definitions?",
"AreYouSureYouWantToResetYourAPIKey": "Are you sure you want to reset your API Key?",
"AsAllDayHelpText": "Events will appear as all-day events in your calendar",
"AudioInfo": "Audio Info",
"AuthBasic": "Basic (Browser Popup)",
@@ -135,8 +126,8 @@
"ClickToChangeQuality": "Click to change quality",
"ClickToChangeReleaseGroup": "Click to change release group",
"ClientPriority": "Client Priority",
"CloneCondition": "Clone Condition",
"CloneCustomFormat": "Clone Custom Format",
"CloneFormatTag": "Clone Format Tag",
"CloneIndexer": "Clone Indexer",
"CloneProfile": "Clone Profile",
"Close": "Close",
@@ -203,8 +194,12 @@
"Delete": "Delete",
"DeleteBackup": "Delete Backup",
"DeleteBackupMessageText": "Are you sure you want to delete the backup '{0}'?",
"DeleteCondition": "Delete Condition",
"DeleteConditionMessageText": "Are you sure you want to delete the condition '{0}'?",
"DeleteCustomFormat": "Delete Custom Format",
"DeleteCustomFormatMessageText": "Are you sure you want to delete the custom format '{0}'?",
"DeleteDelayProfile": "Delete Delay Profile",
"DeleteDelayProfileMessageText": "Are you sure you want to delete this delay profile?",
"DeleteDownloadClient": "Delete Download Client",
"DeleteDownloadClientMessageText": "Are you sure you want to delete the download client '{0}'?",
"DeleteEmptyFolders": "Delete empty folders",
@@ -213,8 +208,10 @@
"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} ?",
"DeleteHeader": "Delete - {0}",
"DeleteImportListExclusion": "Delete Import List Exclusion",
"DeleteImportListExclusionMessageText": "Are you sure you want to delete this import list exclusion?",
"DeleteIndexer": "Delete Indexer",
"DeleteIndexerMessageText": "Are you sure you want to delete the indexer '{0}'?",
"DeleteList": "Delete List",
@@ -224,6 +221,8 @@
"DeleteNotification": "Delete Notification",
"DeleteNotificationMessageText": "Are you sure you want to delete the notification '{0}'?",
"DeleteQualityProfile": "Delete Quality Profile",
"DeleteRemotePathMapping": "Delete Remote Path Mapping",
"DeleteRemotePathMappingMessageText": "Are you sure you want to delete this remote path mapping?",
"DeleteRestriction": "Delete Restriction",
"DeleteRestrictionHelpText": "Are you sure you want to delete this restriction?",
"DeleteSelectedMovie": "Delete Selected Movie(s)",
@@ -628,6 +627,7 @@
"NoCollections": "No collections found, to get started you'll want to add a new movie, or import some existing ones",
"NoEventsFound": "No events found",
"NoHistory": "No history",
"NoHistoryBlocklist": "No history blocklist",
"NoLeaveIt": "No, Leave It",
"NoLimitForAnyRuntime": "No limit for any runtime",
"NoLinks": "No Links",
@@ -843,7 +843,10 @@
"RemoveRootFolder": "Remove root folder",
"RemoveSelected": "Remove Selected",
"RemoveSelectedItem": "Remove Selected Item",
"RemoveSelectedItemBlocklistMessageText": "Are you sure you want to remove the selected items from the blocklist?",
"RemoveSelectedItemQueueMessageText": "Are you sure you want to remove 1 item from the queue?",
"RemoveSelectedItems": "Remove Selected Items",
"RemoveSelectedItemsQueueMessageText": "Are you sure you want to remove {0} items from the queue?",
"RemovedFromTaskQueue": "Removed from task queue",
"RemovedMovieCheckMultipleMessage": "Movies {0} were removed from TMDb",
"RemovedMovieCheckSingleMessage": "Movie {0} was removed from TMDb",
@@ -868,10 +871,12 @@
"RescanMovieFolderAfterRefresh": "Rescan Movie Folder after Refresh",
"Reset": "Reset",
"ResetAPIKey": "Reset API Key",
"ResetAPIKeyMessageText": "Are you sure you want to reset your API Key?",
"ResetDefinitionTitlesHelpText": "Reset definition titles as well as values",
"ResetDefinitions": "Reset Definitions",
"ResetQualityDefinitions": "Reset Quality Definitions",
"ResetQualityDefinitionsMessageText": "Are you sure you want to reset quality definitions?",
"ResetTitles": "Reset Titles",
"ResetTitlesHelpText": "Reset definition titles as well as values",
"Restart": "Restart",
"RestartNow": "Restart Now",
"RestartRadarr": "Restart Radarr",

View File

@@ -356,7 +356,6 @@
"ColonReplacement": "Reemplazo dos puntos",
"CloneProfile": "Clonar Perfil",
"CloneIndexer": "Clonar Indexer",
"CloneFormatTag": "Clonar Format Tag",
"ClientPriority": "Prioridad de Cliente",
"ClickToChangeQuality": "Clic para cambiar la calidad",
"ClickToChangeLanguage": "Clic para cambiar el idioma",
@@ -382,11 +381,7 @@
"AuthenticationMethodHelpText": "Requerir nombre de usuario y contraseña para acceder Radarr",
"Authentication": "Autenticación",
"AsAllDayHelpText": "Los eventos aparecerán como eventos del día entero en su calendario",
"AreYouSureYouWantToResetYourAPIKey": "¿Está seguro de que desea restablecer su clave API?",
"ApiKey": "Clave API",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "¿Está seguro de que desea eliminar esta ruta remota?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Estás seguro de que quieres borrar esta exclusión de lista de importación?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Está seguro que quieres borrar este perfil de retraso?",
"ApplyTags": "Aplicar Etiquetas",
"AppDataDirectory": "Directorio de AppData",
"AnalyticsEnabledHelpText": "Envíe información anónima de uso y error a los servidores de Radarr. Esto incluye información sobre su navegador, qué páginas de Radarr 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.",
@@ -851,8 +846,6 @@
"AllResultsHiddenFilter": "Todos los resultados están ocultos por el filtro aplicado",
"Always": "Siempre",
"AptUpdater": "Use apt para instalar la actualización",
"AreYouSureYouWantToDeleteFormat": "¿Está seguro de que desea eliminar la etiqueta de formato {0}?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "¿Estás seguro de que quieres eliminar {0} elementos de la cola?",
"AuthBasic": "Básico (ventana emergente del navegador)",
"AuthForm": "Formularios (página de inicio de sesión)",
"Enabled": "Habilitado",
@@ -1047,14 +1040,12 @@
"From": "de",
"BypassDelayIfHighestQuality": "Pasar sí es la calidad más alta",
"UnableToAddRootFolder": "No se han podido cargar las carpetas raiz",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "¿Está seguro de que desea eliminar los elementos seleccionados de la lista negra?",
"Blocklist": "Bloqueadas",
"BlocklistHelpText": "Evita que Radarr vuelva a capturar esta película automáticamente",
"BlocklistRelease": "Bloquear este Estreno",
"RemoveFromBlocklist": "Eliminar de lista de bloqueados",
"UnableToLoadBlocklist": "No se han podido cargar las bloqueadas",
"Blocklisted": "Bloqueados",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "¿Está seguro de que desea eliminar el {0} elemento {1} de la cola?",
"BlocklistReleases": "Bloquear este Estreno",
"RemotePathMappingCheckDownloadPermissions": "Radarr puede ver pero no acceder a la película descargada {0}. Probablemente sea un error de permisos.",
"RemotePathMappingCheckFilesGenericPermissions": "El cliente de descarga {0} informó de la existencia de archivos en {1} pero Radarr no puede ver este directorio. Es posible que tenga que ajustar los permisos de la carpeta.",
@@ -1148,16 +1139,15 @@
"ResetDefinitions": "Restablecer definiciones",
"ResetQualityDefinitions": "Restablecer definiciones de calidad",
"ResetTitles": "Restablecer títulos",
"ResetTitlesHelpText": "Restablecer los títulos y valores de las definiciones",
"SettingsThemeHelpText": "Cambia el tema de la interfaz de usuario de la aplicación. El tema \"automático\" utilizará el tema de tu sistema operativo para establecer el modo claro u oscuro. Inspirado por Theme.Park",
"UMask": "Máscara",
"DownloadClientSortingCheckMessage": "El cliente de descarga {0} tiene activada la clasificación {1} para la categoría de Radarr. Debe desactivar la clasificación en su cliente de descarga para evitar problemas de importación.",
"RSSHelpText": "Se utilizará cuando Radarr busque periódicamente publicaciones a través de RSS Sync",
"ShowOverview": "Presentación",
"AreYouSureYouWantToResetQualityDefinitions": "¿Está seguro de que desea restablecer las definiciones de calidad?",
"SettingsTheme": "Tema",
"PreferredProtocol": "Protocolo preferido",
"EditMovies": "Editar peliculas",
"EditSelectedMovies": "Editar Peliculas Seleccionadas",
"ShowCinemaReleaseHelpText": "Mostrar la fecha de lanzamiento debajo del cartel"
"ShowCinemaReleaseHelpText": "Mostrar la fecha de lanzamiento debajo del cartel",
"DeleteRemotePathMapping": "Editar Mapeo de Ruta Remota"
}

View File

@@ -109,8 +109,6 @@
"AddIndexer": "Lisää tietolähde",
"CheckForFinishedDownloadsInterval": "Valmistuneiden latausten takistusväli",
"AutomaticSearch": "Automaattihaku",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Haluatko varmasti poistaa tämän etäsijainnin kartoituksen?",
"AreYouSureYouWantToResetYourAPIKey": "Haluatko varmasti uudistaa API-avaimesi?",
"Announced": "Julkistettu",
"CleanLibraryLevel": "Kirjaston siivoustaso",
"Clear": "Tyhjennä",
@@ -166,9 +164,6 @@
"AnalyseVideoFiles": "Analysoi videotiedostot",
"AnalyticsEnabledHelpText": "Lähetä nimettömiä käyttö- ja virhetietoja sovelluksen palvelimille. Tämä sisältää tietoja selaimestasi, verkkokäyttöliittymän sivujen käytöstä, virheraportoinnista sekä käyttöjärjestelmästäsi ja versiosta. Käytämme näitä tietoja ominaisuuksien ja virhekorjauksien painotukseen.",
"AptUpdater": "Käytä APT:ta päivityksen asennukseen",
"AreYouSureYouWantToDeleteFormat": "Haluatko varmasti poistaa muotoilutunnisteen \"{0}\"?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Haluatko varmasti poistaa tämän poikkeussäännön?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Haluatko varmasti poistaa jonosta {0} kohdetta?",
"ApplyTags": "Tunnistetoimenpide",
"AuthBasic": "Perus (selaimen ponnahdus)",
"AuthenticationMethodHelpText": "Vaadi käyttäjätunnus ja salasana.",
@@ -191,7 +186,6 @@
"Dates": "Päiväykset",
"ClientPriority": "Lataustyökalun painotus",
"Component": "Komponentti",
"CloneFormatTag": "Kloonaa muotoilutagi",
"ColonReplacement": "Kaksoispisteen käsittely",
"ColonReplacementFormatHelpText": "Määritä, miten Radarr korvaa kaksoispisteen.",
"Columns": "Sarakkeet",
@@ -443,7 +437,6 @@
"TotalFileSize": "Tiedoston koko",
"TotalSpace": "Kokonaistila",
"UpgradeAllowedHelpText": "Jos käytöstä poistettuja laatuja ei päivitetä.",
"AreYouSureYouWantToDeleteThisDelayProfile": "Haluatko varmasti poistaa tämän viiveprofiilin?",
"Username": "Käyttäjätunnus",
"WaitingToImport": "Odottaa tuontia",
"DigitalRelease": "Digitaalinen julkaisu",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "Lataustyökalu '{0}' sijoittaa lataukset juurikansioon '{1}' ja näin ei pitäisi tehdä, vaan lataukset tulee tallentaa erilliseen sijaintiin.",
"DeleteFileLabel": "Poista {0} elokuvatiedosto",
"UnableToAddRootFolder": "Juurikansioiden lataus epäonnistui.",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Haluatko varmasti poistaa valitut kohteet estolistalta?",
"Blocklist": "Estolista",
"BlocklistRelease": "Lisää julkaisu estolistalle",
"RemoveFromBlocklist": "Poista estolistalta",
"UnableToLoadBlocklist": "Estonlistan lataus epäonnistui.",
"Blocklisted": "Estolistalla",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Haluatko varmasti poistaa jonosta 1 kohteen?",
"BlocklistReleases": "Lisää julkaisut estolistalle",
"BypassDelayIfHighestQualityHelpText": "Ohitusviive, kun julkaisun laatu vastaa korkeinta käytössä olevaa laatuprofiilin laatua halutulla protokollalla.",
"RemotePathMappingCheckBadDockerPath": "Käytät Dockeria ja lataustyökalu '{0}' sijoittaa lataukset kohteeseen '{1}', mutta se ei ole kelvollinen '{2}' -sijainti. Tarkista etäsijaintiesi kartoitukset ja lataustyökalun asetukset.",
@@ -1150,11 +1141,10 @@
"ResetTitles": "Palauta nimet",
"SettingsTheme": "Teema",
"SettingsThemeHelpText": "Vaihda sovelluksen käyttöliittymän ulkoasua. \"Automaattinen\" vaihtaa vaalean ja tumman tilan käyttöjärjestelmäsi teemaa vastaavaksi. Innoittanut Theme.Park.",
"AreYouSureYouWantToResetQualityDefinitions": "Haluatko varmasti palauttaa laatumääritykset?",
"ResetDefinitions": "Palauta määritykset",
"ResetTitlesHelpText": "Palauta määritysten nimet ja arvot.",
"RSSHelpText": "Käytetään etsittäessä julkaisuja RSS-syötteistä ajoitetusti.",
"File": "Tiedosto",
"EditMovies": "Muokkaa elokuvaa",
"ShowCinemaReleaseHelpText": "Näytä fyysisen julkaisun päivämäärä julisteen alla."
"ShowCinemaReleaseHelpText": "Näytä fyysisen julkaisun päivämäärä julisteen alla.",
"DeleteRemotePathMapping": "Muokkaa etäreittien kartoitusta"
}

View File

@@ -36,7 +36,7 @@
"Delete": "Supprimer",
"DelayProfiles": "Profils de retard",
"Day": "Jour",
"CustomFormats": "Formats Perso.",
"CustomFormats": "Formats perso.",
"CustomFilters": "Filtres personnalisés",
"Crew": "Équipe",
"Connections": "Connexions",
@@ -48,7 +48,7 @@
"Calendar": "Calendrier",
"BackupNow": "Sauvegarder maintenant",
"Backup": "Sauvegarde",
"AppDataLocationHealthCheckMessage": "Mettre à jour ne sera pas possible afin d'éviter de supprimer le dossier AppData lors de la mise à jour",
"AppDataLocationHealthCheckMessage": "La mise à jour ne sera pas possible pour empêcher la suppression de AppData lors de la mise à jour",
"Analytics": "Analytique",
"All": "Tout",
"AddNewTmdbIdMessage": "Vous pouvez également effectuer une recherche à l'aide de l'identifiant TMDb d'un film. exemple. tmdb:71663",
@@ -198,7 +198,7 @@
"ConnectSettingsSummary": "Notifications, connexions aux serveurs/lecteurs multimédias et scripts personnalisés",
"Collection": "Collection",
"Certification": "Certification",
"Added": "Ajoutée",
"Added": "Ajouter",
"Actions": "Actions",
"Info": "Info",
"Error": "Erreur",
@@ -310,7 +310,6 @@
"ColonReplacement": "Remplacement pour le 'deux-points'",
"CloneProfile": "Cloner le profil",
"CloneIndexer": "Cloner l'indexeur",
"CloneFormatTag": "Cloner le Tag de format",
"ClientPriority": "Priorité du client",
"ClickToChangeQuality": "Cliquer pour changer la qualité",
"ClickToChangeLanguage": "Cliquer pour changer la langue",
@@ -334,10 +333,6 @@
"AuthenticationMethodHelpText": "Exiger un identifiant et un mot de passe pour accéder à Radarr",
"Authentication": "Authentification",
"AsAllDayHelpText": "Les événements apparaîtront comme des événements journaliers dans votre calendrier",
"AreYouSureYouWantToResetYourAPIKey": "Êtes vous sûr de vouloir réinitialiser votre clé API ?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Êtes-vous sûr de vouloir effacer ce chemin ?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Êtes vous sûr de vouloir effacer cette exclusion de liste d'imports ?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Êtes vous sûr de vouloir effacer ce profil de délai ?",
"ApplyTags": "Appliquer les Tags",
"AppDataDirectory": "Dossier AppData",
"ApiKey": "Clé API",
@@ -846,10 +841,8 @@
"AllResultsHiddenFilter": "Tous les résultats ont été dissimulés par le filtre actuellement appliqué",
"Always": "Toujours",
"AptUpdater": "Utiliser apt pour installer la mise à jour",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Êtes-vous sûr de vouloir supprimer {0} objet(s) de la file d'attente ?",
"AuthBasic": "Authentification de base (popup)",
"AuthForm": "Authentification par formulaire (page de connexion)",
"AreYouSureYouWantToDeleteFormat": "Êtes-vous sûr de vouloir supprimer le tag {0} ?",
"BuiltIn": "Natif",
"CalendarOptions": "Options du calendrier",
"CertValidationNoLocal": "Désactivé pour les adresses IP locales",
@@ -1055,14 +1048,12 @@
"RemotePathMappingCheckFolderPermissions": "Radarr peut voir mais pas accéder au répertoire de téléchargement {0}. Erreur d'autorisations probable.",
"RemotePathMappingCheckFileRemoved": "Le fichier {0} a été supprimé pendant le processus.",
"UnableToAddRootFolder": "Impossible de charger les dossiers racine",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Êtes-vous sûr de vouloir supprimer les films sélectionnés de la liste noire ?",
"Blocklist": "Liste noire",
"BlocklistHelpText": "Empêche Radarr de récupérer automatiquement cette version",
"BlocklistRelease": "Mettre cette release sur la liste noire",
"RemoveFromBlocklist": "Supprimer de la liste noire",
"UnableToLoadBlocklist": "Impossible de charger la liste noire",
"Blocklisted": "Liste noire",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Êtes-vous sûr de vouloir désinstaller {0} objet{1} de la file d'attente ?",
"BlocklistReleases": "Mettre cette release sur la liste noire",
"RemotePathMappingCheckGenericPermissions": "Le client de téléchargement {0} met les téléchargements dans {1} mais Radarr ne peut voir ce répertoire. Il est possible que vous ayez besoin d'ajuster les permissions de ce dossier.",
"RemotePathMappingCheckLocalWrongOSPath": "Le client de téléchargement {0} met les téléchargements dans {1} mais il ne s'agit pas d'un chemin {2} valide. Vérifiez les paramètres de votre client de téléchargement.",
@@ -1145,14 +1136,12 @@
"PreferredProtocol": "Protocole préféré",
"TotalMovies": "Total des films",
"ScrollMovies": "Parcourir les films",
"AreYouSureYouWantToResetQualityDefinitions": "Êtes-vous sûr de vouloir réinitialiser les définitions de qualité ?",
"SettingsTheme": "Thème",
"RSSHelpText": "Sera utilisé lorsque Radarr recherche périodiquement des sorties via la synchronisation RSS",
"DownloadClientSortingCheckMessage": "Le client de téléchargement {0} a activé le tri {1} pour la catégorie de Radarr. Vous devez désactiver le tri dans votre client de téléchargement pour éviter les problèmes d'importation.",
"ResetDefinitions": "Réinitialiser les définitions",
"ResetQualityDefinitions": "Réinitialiser les définitions de qualité",
"ResetTitles": "Réinitialiser les titres",
"ResetTitlesHelpText": "Réinitialiser les titres des définitions ainsi que les valeurs",
"SettingsThemeHelpText": "Changez le thème de l'interface de l'application. Le thème \"Auto\" utilisera celui de votre système d'exploitation pour définir le mode clair ou foncé. Inspiré par Theme.Park",
"ShowPosters": "Montre les affiches",
"File": "Fichier",
@@ -1166,8 +1155,11 @@
"StopSelecting": "Arrêtez la sélection",
"UpdateFiltered": "Mettre à jour les filtres",
"RecycleBinUnableToWriteHealthCheck": "Impossible d'écrire dans le dossier de corbeille configuré : {0}. Assurez vous que ce chemin existe et est accessible en écriture par l'utilisateur exécutant Radarr",
"ApiKeyValidationHealthCheckMessage": "Merci de mettre à jour votre clé API afin qu'elle fasse plus de 20 caractères. Rendez vous dans les paramètres ou dans le fichier de configuration",
"ApiKeyValidationHealthCheckMessage": "Veuillez mettre à jour votre clé API pour qu'elle contienne au moins {0} caractères. Vous pouvez le faire via les paramètres ou le fichier de configuration",
"OnManualInteractionRequired": "Interaction manuelle requise",
"OnManualInteractionRequiredHelpText": "Interaction manuelle requise",
"ShowCinemaReleaseHelpText": "Afficher la date de sortie au cinéma sous l'affiche"
"ShowCinemaReleaseHelpText": "Afficher la date de sortie au cinéma sous l'affiche",
"ImportScriptPath": "Importer chemin du script",
"DeleteRemotePathMapping": "Éditer le chemin distant",
"DeleteRemotePathMappingMessageText": "Êtes-vous sûr de vouloir effacer ce chemin ?"
}

View File

@@ -6,7 +6,6 @@
"AddDownloadClient": "הוסף לקוח הורדות",
"AddRootFolder": "הוסף תיקיית שורש",
"AptUpdater": "השתמש ב- apt כדי להתקין את העדכון",
"AreYouSureYouWantToDeleteFormat": "האם אתה בטוח שברצונך למחוק את תג הפורמט {0}?",
"AvailabilityDelayHelpText": "משך הזמן לפני או אחרי התאריך הזמין לחיפוש הסרט",
"BackupNow": "גיבוי עכשיו",
"ChmodGroup": "קבוצת chmod",
@@ -27,7 +26,6 @@
"Restore": "לשחזר",
"SendAnonymousUsageData": "שלח נתוני שימוש אנונימיים",
"UpgradeAllowedHelpText": "אם תכונות הנכים לא ישודרגו",
"AreYouSureYouWantToDeleteThisDelayProfile": "האם אתה בטוח שברצונך למחוק פרופיל עיכוב זה?",
"WaitingToImport": "ממתין לייבוא",
"Peers": "עמיתים",
"ClickToChangeLanguage": "לחץ כדי לשנות שפה",
@@ -125,11 +123,7 @@
"MovieIsMonitored": "הסרט מנוטר",
"AppDataDirectory": "ספריית AppData",
"Apply": "להגיש מועמדות",
"AreYouSureYouWantToDeleteThisImportListExclusion": "האם אתה בטוח שברצונך למחוק אי הכללה זו של רשימת הייבוא?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "האם אתה בטוח שברצונך למחוק את מיפוי הנתיבים המרוחק הזה?",
"AudioInfo": "מידע שמע",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "האם אתה בטוח שברצונך להסיר את {0} פריט {1} מהתור?",
"AreYouSureYouWantToResetYourAPIKey": "האם אתה בטוח שברצונך לאפס את מפתח ה- API שלך?",
"AsAllDayHelpText": "אירועים יופיעו כאירועים כל היום בלוח השנה שלך",
"AuthBasic": "בסיסי (חלון קופץ לדפדפן)",
"Announced": "הוכרז",
@@ -462,7 +456,6 @@
"ClickToChangeMovie": "לחץ כדי לשנות סרט",
"ClickToChangeQuality": "לחץ כדי לשנות את האיכות",
"CloneCustomFormat": "תבנית מותאמת אישית של שיבוט",
"CloneFormatTag": "תג פורמט שיבוט",
"CloneProfile": "פרופיל שיבוט",
"Close": "סגור",
"CloseCurrentModal": "סגור את המודול הנוכחי",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "הורד לקוח {0} ממקם הורדות בתיקיית הבסיס {1}. אתה לא צריך להוריד לתיקיית שורש.",
"DeleteFileLabel": "מחק {0} קבצי סרט",
"UnableToAddRootFolder": "לא ניתן לטעון תיקיות שורש",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "האם אתה בטוח שברצונך להסיר את הפריטים שנבחרו מהרשימה השחורה?",
"Blocklist": "רשימה שחורה",
"BlocklistRelease": "שחרור הרשימה השחורה",
"RemoveFromBlocklist": "הסר מהרשימה השחורה",
"UnableToLoadBlocklist": "לא ניתן לטעון את הרשימה השחורה",
"Blocklisted": "רשימה שחורה",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "האם אתה בטוח שברצונך להסיר את {0} פריט {1} מהתור?",
"BlocklistReleases": "שחרור הרשימה השחורה",
"Filters": "לְסַנֵן",
"LocalPath": "נתיב מקומי",
@@ -1098,5 +1089,7 @@
"TmdbRating": "דירוג IMDB",
"File": "קבצים",
"EditMovies": "ערוך את הסרט",
"ShowCinemaReleaseHelpText": "הצג תאריך יציאה תחת הכרזה"
"ShowCinemaReleaseHelpText": "הצג תאריך יציאה תחת הכרזה",
"DeleteRemotePathMapping": "ערוך מיפוי נתיבים מרחוק",
"DeleteRemotePathMappingMessageText": "האם אתה בטוח שברצונך למחוק את מיפוי הנתיבים המרוחק הזה?"
}

View File

@@ -50,15 +50,12 @@
"DefaultDelayProfile": "यह डिफ़ॉल्ट प्रोफ़ाइल है। यह उन सभी फिल्मों पर लागू होता है जिनमें स्पष्ट प्रोफ़ाइल नहीं है।",
"DelayProfile": "देरी प्रोफ़ाइल",
"DeleteEmptyFolders": "खाली फ़ोल्डर हटाएँ",
"AreYouSureYouWantToDeleteThisImportListExclusion": "क्या आप वाकई इस आयात सूची बहिष्करण को हटाना चाहते हैं?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "क्या आप वाकई इस दूरस्थ पथ मैपिंग को हटाना चाहते हैं?",
"Age": "उम्र",
"Agenda": "कार्यसूची",
"AgeWhenGrabbed": "आयु (जब पकड़ा गया)",
"AllowHardcodedSubs": "हार्डकोडेड सब्सक्रिप्शन की अनुमति दें",
"AllowHardcodedSubsHelpText": "पता लगाया गया हार्डकोड सब्मिट अपने आप डाउनलोड हो जाएगा",
"AlreadyInYourLibrary": "पहले से ही आपकी लाइब्रेरी में",
"AreYouSureYouWantToDeleteThisDelayProfile": "क्या आप वाकई इस विलंब प्रोफ़ाइल को हटाना चाहते हैं?",
"DeleteEmptyFoldersHelpText": "डिस्क स्कैन के दौरान और मूवी फ़ाइलों को हटाए जाने के दौरान खाली मूवी फ़ोल्डर हटाएं",
"DeleteFilesLabel": "{0} मूवी फ़ाइलें हटाएं",
"DeleteImportListExclusion": "आयात सूची बहिष्करण हटाएं",
@@ -362,10 +359,7 @@
"DeleteListMessageText": "क्या आप वाकई '{0}' सूची को हटाना चाहते हैं?",
"Apply": "लागू",
"AptUpdater": "अद्यतन स्थापित करने के लिए उपयुक्त का उपयोग करें",
"AreYouSureYouWantToDeleteFormat": "क्या आप वाकई {0} प्रारूप टैग को हटाना चाहते हैं?",
"IncludeHealthWarningsHelpText": "स्वास्थ्य चेतावनी शामिल करें",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "क्या आप वाकई {0} आइटम {1} को कतार से हटाना चाहते हैं?",
"AreYouSureYouWantToResetYourAPIKey": "क्या आप वाकई अपनी API कुंजी को रीसेट करना चाहते हैं?",
"AuthBasic": "बेसिक (ब्राउज़र पॉपअप)",
"Authentication": "प्रमाणीकरण",
"ApplyTagsHelpTexts1": "चयनित फिल्मों के लिए टैग कैसे लागू करें",
@@ -657,7 +651,6 @@
"ChooseAnotherFolder": "एक और फ़ोल्डर चुनें",
"ClickToChangeLanguage": "भाषा बदलने के लिए क्लिक करें",
"ClickToChangeMovie": "फिल्म बदलने के लिए क्लिक करें",
"CloneFormatTag": "क्लोन प्रारूप टैग",
"CloneProfile": "क्लोन प्रोफ़ाइल",
"CloseCurrentModal": "वर्तमान मोडल को बंद करें",
"Collection": "संग्रह",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "डाउनलोड क्लाइंट {0} रूट फ़ोल्डर में डाउनलोड करता है {1}। आपको रूट फ़ोल्डर में डाउनलोड नहीं करना चाहिए।",
"DeleteFileLabel": "{0} मूवी फ़ाइलें हटाएं",
"UnableToAddRootFolder": "रूट फ़ोल्डर लोड करने में असमर्थ",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "क्या आप वाकई चयनित आइटम को ब्लैकलिस्ट से हटाना चाहते हैं?",
"Blocklist": "काला सूची में डालना",
"BlocklistRelease": "ब्लैकलिस्ट रिलीज़",
"RemoveFromBlocklist": "ब्लैकलिस्ट से निकालें",
"UnableToLoadBlocklist": "ब्लैकलिस्ट लोड करने में असमर्थ",
"Blocklisted": "काला सूची में डालना",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "क्या आप वाकई {0} आइटम {1} को कतार से हटाना चाहते हैं?",
"BlocklistReleases": "ब्लैकलिस्ट रिलीज़",
"Filters": "फ़िल्टर",
"LocalPath": "स्थानीय पथ",
@@ -1064,5 +1055,6 @@
"RssSyncHelpText": "मिनटों में अंतराल। अक्षम करने के लिए शून्य पर सेट करें (यह सभी स्वचालित रिलीज़ हथियाने को रोक देगा)",
"File": "फ़ाइलें",
"ShowCinemaReleaseHelpText": "पोस्टर के तहत रिलीज की तारीख दिखाएं",
"EditMovies": "मूवी संपादित करें"
"EditMovies": "मूवी संपादित करें",
"DeleteRemotePathMapping": "दूरस्थ पथ मानचित्रण संपादित करें"
}

View File

@@ -2,8 +2,6 @@
"About": "O",
"Actions": "Akcije",
"AddedToDownloadQueue": "Dodano u red za preuzimanje",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Jeste li sigurni da želite izbrisati ovu uvoznu listu isključenja?",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Jeste li sigurni da želite izbrisati odabrane stavke iz blok liste?",
"Activity": "Aktivnost",
"AcceptConfirmationModal": "Prihvati Modal Potvrde",
"AddCustomFormat": "Dodaj Prilagođeni Format",
@@ -33,13 +31,6 @@
"ApplyTagsHelpTexts3": "Ukloni: Ukloni unešene oznake",
"ApplyTagsHelpTexts4": "Zamijeni: Zamijeni oznake sa unešenim oznakama (ostavi prazno kako bi poništio oznake)",
"AptUpdater": "Koristi apt kako bi instalirao ažuriranje",
"AreYouSureYouWantToDeleteFormat": "Jeste li sigurni da želite obrisati oznaku formata {0}?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Jeste li sigurni da želite obrisati ovo daljinsko mapiranje portova?",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Jeste li sigurni da želite izbrisati 1 stavku iz reda?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Jeste li sigurni da želite izbrisati stavku {0} iz reda?",
"AreYouSureYouWantToResetQualityDefinitions": "Jeste li sigurni da želite resetirati definicije kvaliteta?",
"AreYouSureYouWantToResetYourAPIKey": "Jeste li sigurni da želite resetirati vaš API Ključ?",
"AsAllDayHelpText": "Događaji će se pojaviti kao cjelodnevni događaji u Vašem kalendaru",
"AudioInfo": "Informacije o Zvuku",
"AuthBasic": "Osnovno (Skočni prozor preglednika)",
@@ -236,7 +227,6 @@
"ClickToChangeReleaseGroup": "Klikni za promjenu grupe verzije",
"ClientPriority": "Prioritet Klijenata",
"CloneCustomFormat": "Kloniraj Prilagođeni Format",
"CloneFormatTag": "Kloniraj Oznaku Formata",
"CloneIndexer": "Kloniraj Indekser",
"CloneProfile": "Kloniraj Profil",
"Close": "Zatvori",
@@ -257,5 +247,6 @@
"DeleteNotificationMessageText": "Jeste li sigurni da želite obrisati oznaku formata {0}?",
"ExportCustomFormat": "Dodaj Prilagođeni Format",
"ImportCustomFormat": "Dodaj Prilagođeni Format",
"SomeResultsHiddenFilter": "Svi rezultati su skriveni zbog primjenjenog filtera"
"SomeResultsHiddenFilter": "Svi rezultati su skriveni zbog primjenjenog filtera",
"DeleteRemotePathMapping": "Daljinsko Mapiranje Portova"
}

View File

@@ -132,7 +132,6 @@
"Close": "Bezárás",
"CloneProfile": "Profil Klónozása",
"CloneIndexer": "Indexer Klónozása",
"CloneFormatTag": "Címke Formázásának Klónozása",
"CloneCustomFormat": "Egyéni Formátum Klónozása",
"ClientPriority": "Kliens Prioritás",
"ClickToChangeQuality": "Kattints a minőség módosításához",
@@ -181,10 +180,6 @@
"Authentication": "Hitelesítés",
"AudioInfo": "Hang Infó",
"AsAllDayHelpText": "Az események egész napos eseményként jelennek meg a naptáradban",
"AreYouSureYouWantToResetYourAPIKey": "Biztos hogy vissza szeretnéd állítani az API-Kulcsod?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Biztos, hogy törölni szeretnéd a távoli elérési útvonalat?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Biztos, hogy törölni szeretnéd az importálási lista kivételeit?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Biztos hogy törölni szeretnéd ezt a késleltetési profilt?",
"ApplyTagsHelpTexts2": "Hozzáadás: Új címkék hozzáadása a meglévő címkékhez",
"ApplyTagsHelpTexts1": "Hogyan adjunk hozzá címkéket a kiválasztott filmhez",
"ApplyTags": "Címkék alkalmazása",
@@ -864,8 +859,6 @@
"BuiltIn": "Beépített",
"AuthForm": "Felhasználó (Bejelentkezési oldal)",
"AuthBasic": "Alap (Böngésző felugró ablak)",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Biztosan eltávolítja az {0} elemet {1} a sorból?",
"AreYouSureYouWantToDeleteFormat": "Biztosan törlöd a(z) {0} formátumú címkét?",
"AptUpdater": "Az apt használatával telepítsd a frissítést",
"Always": "Mindig",
"AllResultsHiddenFilter": "Az alkalmazott szűrők miatt, az összes keresési eredmény rejtve marad",
@@ -1068,13 +1061,11 @@
"NotificationTriggersHelpText": "Válaszd ki, hogy mely események indítsák el ezt az értesítést",
"UnableToAddRootFolder": "Nem sikerült hozzáadni a gyökérmappát",
"Blocklisted": "Blokkolt",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Biztosan eltávolítja a kijelölt elemeket a feketelistáról?",
"Blocklist": "Feketelista",
"BlocklistHelpText": "Megakadályozza, hogy a Radarr automatikusan letöltse újra",
"BlocklistRelease": "Feketelistás Kiadás",
"RemoveFromBlocklist": "Eltávolítás a feketelistáról",
"UnableToLoadBlocklist": "Nem sikerült betölteni a feketelistát",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Biztosan eltávolítja az {0} elemet {1} a sorból?",
"BlocklistReleases": "Feketelistás Kiadás",
"IndexerTagHelpText": "Csak olyan filmekhez használja ezt az indexelőt, amelyek legalább egy megfelelő címkével rendelkeznek. Hagyja üresen az összes filmhez való használathoz.",
"RemoveSelectedItem": "A kiválasztott elem eltávolítása",
@@ -1146,17 +1137,16 @@
"ApplicationUrlHelpText": "Az alkalmazás külső URL-címe, beleértve a http(s)://-t, a portot és az URL-alapot",
"ApplicationURL": "Alkalmazás URL-je",
"PreferredProtocol": "Preferált protokoll",
"AreYouSureYouWantToResetQualityDefinitions": "Biztos visszaállítod a minőségi definíciókat?",
"SettingsTheme": "Téma",
"SettingsThemeHelpText": "Változtasd meg az alkalmazás felhasználói felület témáját, az „Auto” téma az operációs rendszer témáját használja a Világos vagy Sötét mód beállításához. A Theme.Park ihlette",
"ResetDefinitions": "Definíciók visszaállítása",
"ResetQualityDefinitions": "Állítsd vissza a minőségi meghatározásokat",
"ResetTitles": "Címek visszaállítása",
"ResetTitlesHelpText": "A definíciócímek és értékek visszaállítása",
"RSSHelpText": "Akkor használatos, amikor a Radarr rendszeresen keres kiadásokat az RSS Sync segítségével",
"DownloadClientSortingCheckMessage": "A(z) {0} letöltési kliensben engedélyezve van a(z) {1} rendezés a Radarr kategóriájához. Az importálási problémák elkerülése érdekében le kell tiltania a rendezést a letöltési kliensben.",
"File": "Fájl",
"UMask": "UMask",
"EditMovies": "Film Szerkesztése",
"ShowCinemaReleaseHelpText": "Mutasd a megjelenés dátumát a poszter alatt"
"ShowCinemaReleaseHelpText": "Mutasd a megjelenés dátumát a poszter alatt",
"DeleteRemotePathMapping": "Távoli Elérési Útvonal Módosítása"
}

View File

@@ -77,5 +77,15 @@
"IMDb": "IMDb",
"NetCore": ".NET",
"Connection": "Koleksi",
"ImportCustomFormat": "Tambahkan Format Khusus"
"ImportCustomFormat": "Tambahkan Format Khusus",
"ConnectionLost": "Koneksi Terputus",
"ConnectionLostAutomaticMessage": "Radarr akan mencoba untuk menghubungi secara otomatis, atau klik muat ulang di bawah.",
"CopyToClipboard": "Salin ke Papan Klip",
"Date": "Tanggal",
"Close": "Tutup",
"Crew": "Kru",
"CurrentlyInstalled": "Saat Ini Terpasang",
"Delete": "Hapus",
"Dates": "Tanggal",
"Deleted": "Hapus"
}

View File

@@ -185,9 +185,7 @@
"MovieYear": "Kvikmyndaár",
"Apply": "Sækja um",
"AptUpdater": "Notaðu apt til að setja uppfærsluna upp",
"AreYouSureYouWantToDeleteFormat": "Ertu viss um að þú viljir eyða sniðmerkinu {0}?",
"Updates": "Uppfærslur",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Ertu viss um að þú viljir fjarlægja {0} hlut {1} úr biðröðinni?",
"Component": "Hluti",
"AuthBasic": "Grunn (sprettiglugga vafra)",
"Authentication": "Auðkenning",
@@ -231,7 +229,6 @@
"CertificationCountryHelpText": "Veldu land fyrir kvikmyndavottun",
"ImportExtraFilesHelpText": "Flyttu inn samsvarandi auka skrár (texta, nfo, etc) eftir að hafa flutt inn kvikmyndaskrá",
"ImportFailed": "Innflutningur mistókst: {0}",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Ertu viss um að þú viljir eyða þessari útilokun innflutningslista?",
"ApplyTagsHelpTexts3": "Fjarlægja: Fjarlægðu innsláttarmerkin",
"AddIndexer": "Bættu við Indexer",
"ImportHeader": "Flyttu inn skipulagt bókasafn sem fyrir er til að bæta kvikmyndum við Radarr",
@@ -252,9 +249,7 @@
"ICalFeed": "iCal straumur",
"Imported": "Innflutt",
"ImportFailedInterp": "Innflutningur mistókst: {0}",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Ertu viss um að þú viljir eyða þessari ytri slóðakortun?",
"AudioInfo": "Hljóðupplýsingar",
"AreYouSureYouWantToResetYourAPIKey": "Ertu viss um að þú viljir endurstilla API lykilinn þinn?",
"AsAllDayHelpText": "Viðburðir munu birtast sem viðburðir allan daginn í dagatalinu þínu",
"ImportMechanismHealthCheckMessage": "Virkja lokið niðurhalshöndlun",
"IllRestartLater": "Ég byrja aftur seinna",
@@ -487,7 +482,6 @@
"SettingsTimeFormat": "Tímasnið",
"TotalFileSize": "Heildarstærð skráar",
"UpgradeAllowedHelpText": "Ef fatlaðir eiginleikar verða ekki uppfærðir",
"AreYouSureYouWantToDeleteThisDelayProfile": "Ertu viss um að þú viljir eyða þessum seinkunarprófíl?",
"Backup": "Afritun",
"WaitingToImport": "Bið eftir að flytja inn",
"BackupFolderHelpText": "Hlutfallslegir slóðir verða undir AppData skránni hjá Radarr",
@@ -505,7 +499,6 @@
"Real": "Alvöru",
"ClickToChangeMovie": "Smelltu til að breyta kvikmynd",
"CloneCustomFormat": "Klón sérsniðið snið",
"CloneFormatTag": "Klónasnið",
"CloneIndexer": "Clone Indexer",
"CloneProfile": "Klónasnið",
"Close": "Lokaðu",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "Sæktu viðskiptavinur {0} setur niðurhal í rótarmöppuna {1}. Þú ættir ekki að hlaða niður í rótarmöppu.",
"DeleteFileLabel": "Eyða {0} kvikmyndaskrám",
"UnableToAddRootFolder": "Ekki er hægt að hlaða rótarmöppum",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Ertu viss um að þú viljir fjarlægja valda hluti af svörtum lista?",
"Blocklist": "Svartur listi",
"BlocklistRelease": "Útgáfa svartalista",
"RemoveFromBlocklist": "Fjarlægja af svörtum lista",
"UnableToLoadBlocklist": "Ekki er hægt að hlaða svartan lista",
"Blocklisted": "Svartur listi",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Ertu viss um að þú viljir fjarlægja {0} hlut {1} úr biðröðinni?",
"BlocklistReleases": "Útgáfa svartalista",
"SelectLanguages": "Veldu tungumál",
"List": "Listar",
@@ -1064,5 +1055,7 @@
"RssSyncHelpText": "Bil á nokkrum mínútum. Stillt á núll til að gera óvirkt (þetta stöðvar allan sjálfvirkan losunartak)",
"File": "Skrár",
"ShowCinemaReleaseHelpText": "Sýnið útgáfudagsetningu undir veggspjaldi",
"EditMovies": "Breyta kvikmynd"
"EditMovies": "Breyta kvikmynd",
"DeleteRemotePathMapping": "Breyta kortlagningu fjarstígs",
"DeleteRemotePathMappingMessageText": "Ertu viss um að þú viljir eyða þessari ytri slóðakortun?"
}

View File

@@ -210,7 +210,6 @@
"Close": "Chiudi",
"CloneProfile": "Clona il Profilo",
"CloneIndexer": "Clona Indicizzatore",
"CloneFormatTag": "Clona l'Etichetta di Formato",
"ClientPriority": "Priorità del Client",
"ClickToChangeQuality": "Clicca per cambiare qualità",
"ClickToChangeLanguage": "Clicca per cambiare lingua",
@@ -240,10 +239,6 @@
"Authentication": "Autenticazione",
"AudioInfo": "Informazioni Audio",
"AsAllDayHelpText": "Gli eventi appariranno come eventi di un giorno intero nel tuo calendario",
"AreYouSureYouWantToResetYourAPIKey": "Sei sicuro di voler reimpostare la tua Chiave API?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Sei sicuro di voler cancellare questa mappatura del percorso remoto?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Sei sicuro di voler cancellare questa lista di esclusioni delle importazioni?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Sei sicuro di voler cancellare questo profilo di ritardo?",
"ApplyTags": "Applica Etichette",
"Apply": "Applica",
"AppDataDirectory": "Cartella AppData",
@@ -829,8 +824,6 @@
"ChmodFolderHelpTextWarning": "Funziona solo se l'utente di Radarr è il proprietario del file. E' meglio assicurarsi che il client di download imposti i permessi correttamente.",
"ChmodFolderHelpText": "Octal, applicato durante l'importazione/rinomina verso cartelle e file (senza bits di esecuzione)",
"ChmodFolder": "Permessi Cartella",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Sei sicuro di voler cancellare {0} elementi dalla coda?",
"AreYouSureYouWantToDeleteFormat": "Sei sicuro di voler cancellare il formato etichetta {0} ?",
"AptUpdater": "Usa apt per installare l'aggiornamento",
"Always": "Sempre",
"AllResultsHiddenFilter": "Tutti i risultati sono nascosti dal filtro applicato",
@@ -1043,14 +1036,12 @@
"DownloadClientCheckDownloadingToRoot": "Il client di download {0} colloca i download nella cartella radice {1}. Non dovresti scaricare in una cartella radice.",
"DeleteFileLabel": "Elimina {0} file di film",
"UnableToAddRootFolder": "Non riesco a caricare la cartella root",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Sei sicuro di voler rimuovere gli elementi selezionati dalla blacklist?",
"Blocklist": "Lista dei Blocchi",
"BlocklistHelpText": "Impedisci a Radarr di re-acquisire automaticamente questa versione",
"BlocklistRelease": "Release in Lista dei Blocchi",
"RemoveFromBlocklist": "Rimuovi della blacklist",
"UnableToLoadBlocklist": "Non riesco a caricare la BlackList",
"Blocklisted": "Lista dei Blocchi",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Sei sicuro di voler cancellare un elemento dalla coda?",
"BlocklistReleases": "Blocca questa Release",
"BypassDelayIfHighestQuality": "Aggira se è di Qualità Massima",
"ImportListMissingRoot": "Persa la cartella principale per limportazione delle liste : {0}",
@@ -1102,7 +1093,6 @@
"CollectionOptions": "Opzioni della Collezione",
"CollectionShowDetailsHelpText": "Mostra lo stato e le proprietà della collezione",
"Started": "Iniziato",
"AreYouSureYouWantToResetQualityDefinitions": "Sei sicuro di voler ripristinare le definizioni della qualità?",
"ChooseImportMode": "Selezionare Metodo di Importazione",
"EditCollection": "Modifica Connessione",
"SettingsThemeHelpText": "Cambia il Tema dell'interfaccia dellapplicazione, il Tema 'Auto' userà il suo Tema di Sistema per impostare la modalità Chiara o Scura. Ispirato da {0}",
@@ -1119,5 +1109,6 @@
"ShowCinemaReleaseHelpText": "Mostra la data di uscita sotto il poster",
"TmdbRating": "Valutazione IMDb",
"TmdbVotes": "Voti IMDb",
"EditMovies": "Modifica Film"
"EditMovies": "Modifica Film",
"DeleteRemotePathMapping": "Modifica la Mappatura dei Percorsi Remoti"
}

View File

@@ -109,7 +109,6 @@
"AudioInfo": "オーディオ情報",
"Agenda": "議題",
"All": "すべて",
"AreYouSureYouWantToResetYourAPIKey": "APIキーをリセットしてもよろしいですか",
"AsAllDayHelpText": "イベントは、カレンダーに終日のイベントとして表示されます",
"AuthBasic": "基本(ブラウザポップアップ)",
"ApplyTagsHelpTexts3": "削除:入力したタグを削除します",
@@ -137,10 +136,6 @@
"AlternativeTitle": "代替タイトル",
"Always": "常に",
"AptUpdater": "aptを使用してアップデートをインストールします",
"AreYouSureYouWantToDeleteFormat": "フォーマットタグ{0}を削除してもよろしいですか?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "このインポートリストの除外を削除してもよろしいですか?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "このリモートパスマッピングを削除してもよろしいですか?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "キューから{0}アイテム{1}を削除してもよろしいですか?",
"AvailabilityDelay": "可用性の遅延",
"AvailabilityDelayHelpText": "映画を検索できる日付の前後の時間",
"BackupIntervalHelpText": "自動バックアップの間隔",
@@ -445,7 +440,6 @@
"ImportListStatusCheckAllClientMessage": "障害のため、すべてのリストを利用できません",
"ImportListStatusCheckSingleClientMessage": "失敗のため利用できないリスト:{0}",
"UpgradeAllowedHelpText": "無効にされた品質がアップグレードされない場合",
"AreYouSureYouWantToDeleteThisDelayProfile": "この遅延プロファイルを削除してもよろしいですか?",
"Backup": "バックアップ",
"WaitingToImport": "インポートを待機中",
"BackupFolderHelpText": "相対パスはRadarrのAppDataディレクトリの下にあります",
@@ -465,7 +459,6 @@
"ChooseAnotherFolder": "別のフォルダを選択",
"ClickToChangeLanguage": "クリックして言語を変更",
"ClickToChangeQuality": "クリックして品質を変更",
"CloneFormatTag": "クローンフォーマットタグ",
"CloneIndexer": "クローンインデクサー",
"CloneProfile": "クローンプロファイル",
"Close": "閉じる",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "ダウンロードクライアント{0}は、ダウンロードをルートフォルダ{1}に配置します。ルートフォルダにダウンロードしないでください。",
"DeleteFileLabel": "{0}ムービーファイルを削除する",
"UnableToAddRootFolder": "ルートフォルダを読み込めません",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "選択したアイテムをブラックリストから削除してもよろしいですか?",
"Blocklist": "ブラックリスト",
"BlocklistRelease": "ブラックリストリリース",
"RemoveFromBlocklist": "ブラックリストから削除する",
"UnableToLoadBlocklist": "ブラックリストを読み込めません",
"Blocklisted": "ブラックリスト",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "キューから{0}アイテム{1}を削除してもよろしいですか?",
"BlocklistReleases": "ブラックリストリリース",
"Filters": "フィルタ",
"RemotePath": "リモートパス",
@@ -1064,5 +1055,6 @@
"NoCollections": "映画が見つかりません。開始するには、新しい映画を追加するか、既存の映画をインポートする必要があります。",
"File": "ファイル",
"ShowCinemaReleaseHelpText": "ポスターの下にリリース日を表示する",
"EditMovies": "映画の編集"
"EditMovies": "映画の編集",
"DeleteRemotePathMapping": "リモートパスマッピングの編集"
}

View File

@@ -11,7 +11,6 @@
"AddingTag": "태그 추가",
"ApiKey": "API 키",
"Analytics": "분석",
"AreYouSureYouWantToResetYourAPIKey": "API 키를 재설정하시겠습니까?",
"BackupNow": "지금 백업",
"BackupRetentionHelpText": "보존 기간보다 오래된 자동 백업은 자동으로 정리됩니다.",
"Backups": "백업",
@@ -166,13 +165,9 @@
"AfterManualRefresh": "수동 새로 고침 후",
"AllResultsHiddenFilter": "적용된 필터에 의해 모든 결과가 숨겨집니다.",
"AptUpdater": "apt를 사용하여 업데이트 설치",
"AreYouSureYouWantToDeleteFormat": "형식 태그 {0}을(를) 삭제하시겠습니까?",
"ApplyTagsHelpTexts2": "추가 : 기존 태그 목록에 태그를 추가합니다.",
"ApplyTagsHelpTexts3": "제거 : 입력한 태그를 제거합니다.",
"AreYouSureYouWantToDeleteThisImportListExclusion": "이 가져오기 목록 제외를 삭제하시겠습니까?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "이 원격 경로 매핑을 삭제하시겠습니까?",
"AudioInfo": "오디오 정보",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "대기열에서 {0} 항목 {1}을 제거하시겠습니까?",
"BuiltIn": "내장",
"CalendarOptions": "캘린더 옵션",
"CancelProcessing": "처리 취소",
@@ -446,7 +441,6 @@
"UpdateCheckStartupNotWritableMessage": "'{1}'사용자가 '{0}'시작 폴더에 쓸 수 없기 때문에 업데이트를 설치할 수 없습니다.",
"UpgradeAllowedHelpText": "비활성화 된 자질은 업그레이드되지 않습니다.",
"ApplyTagsHelpTexts4": "바꾸기 : 태그를 입력 한 태그로 바꿉니다 (모든 태그를 지우려면 태그를 입력하지 않음)",
"AreYouSureYouWantToDeleteThisDelayProfile": "이 지연 프로필을 삭제하시겠습니까?",
"Backup": "백업",
"Username": "사용자 이름",
"WaitingToImport": "가져오기를 기다리는 중",
@@ -466,7 +460,6 @@
"ChooseAnotherFolder": "다른 폴더 선택",
"ClickToChangeLanguage": "언어를 변경하려면 클릭하세요",
"CloneCustomFormat": "사용자 지정 형식 복제",
"CloneFormatTag": "형식 태그 복제",
"CloneIndexer": "인덱서 복제",
"CloneProfile": "프로필 복제",
"Close": "닫기",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "다운로드 클라이언트 {0} 은(는) 루트 폴더 {1}에 다운로드를 저장합니다. 루트 폴더에 다운로드해서는 안됩니다.",
"DeleteFileLabel": "{0} 영화 파일 삭제",
"UnableToAddRootFolder": "루트 폴더를 불러올 수 없습니다.",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "블랙리스트에서 선택한 항목을 제거 하시겠습니까?",
"Blocklist": "블랙리스트",
"BlocklistRelease": "블랙리스트 릴리스",
"RemoveFromBlocklist": "블랙리스트에서 제거",
"UnableToLoadBlocklist": "블랙리스트를로드 할 수 없습니다.",
"Blocklisted": "블랙리스트",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "대기열에서 {0} 항목 {1}을 제거하시겠습니까?",
"BlocklistReleases": "블랙리스트 릴리스",
"SelectLanguages": "언어 선택",
"Rating": "등급",
@@ -1062,5 +1053,6 @@
"Collections": "컬렉션",
"NoCollections": "영화를 찾을 수 없습니다. 시작하려면 새 영화를 추가하거나 기존 영화를 가져와야합니다.",
"RssSyncHelpText": "간격 (분)입니다. 사용하지 않으려면 0으로 설정합니다 (모든 자동 릴리스 잡기가 중지됨).",
"File": "파일"
"File": "파일",
"DeleteRemotePathMapping": "원격 경로 매핑 편집"
}

View File

@@ -40,10 +40,6 @@
"ApplyTagsHelpTexts3": "Fjern: Fjern de angitte kodene",
"ApplyTagsHelpTexts4": "Erstatt: Erstatt taggene med de angitte kodene (skriv inn ingen tagger for å slette alle taggene)",
"AptUpdater": "Bruk apt til å installere oppdateringen",
"AreYouSureYouWantToDeleteThisDelayProfile": "Er du sikker på at du vil slette denne forsinkelsesprofilen?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Er du sikker på at du vil slette denne ekskluderingen av importlister?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Er du sikker på at du vil fjerne {0} elementer fra køen?",
"AreYouSureYouWantToResetYourAPIKey": "Er du sikker på at du vil tilbakestille API -nøkkelen din?",
"AsAllDayHelpText": "Hendelser vil vises som heldagshendelser i kalenderen din",
"AudioInfo": "Audio Info",
"AuthBasic": "Grunnleggende (nettleser -popup)",
@@ -104,8 +100,6 @@
"AllowHardcodedSubs": "Tillat Hardcoded Subs",
"AllowHardcodedSubsHelpText": "Oppdagede hardkodede subs blir automatisk lastet ned",
"AnalyticsEnabledHelpText": "Send anonym bruk og feilinformasjon til Radarrs servere. Dette inkluderer informasjon om nettleseren din, hvilke Radarr WebUI -sider du bruker, feilrapportering samt OS og kjøretidsversjon. Vi vil bruke denne informasjonen til å prioritere funksjoner og feilrettinger.",
"AreYouSureYouWantToDeleteFormat": "Er du sikker på at du vil slette formattaggen {0}?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Er du sikker på at du vil slette denne eksterne banetilordningen?",
"AutoRedownloadFailedHelpText": "Søk etter eller prøv å laste ned en annen versjon automatisk",
"BackupFolderHelpText": "Relative stier vil være under Radarr's AppData -katalog",
"BindAddressHelpText": "Gyldig IPv4 -adresse, localhost eller \"*\" for alle grensesnitt",
@@ -118,7 +112,6 @@
"DeleteIndexerMessageText": "Er du sikker på at du vil slette formattaggen {0}?",
"EditListExclusion": "Legg til listeekskludering",
"EditQualityProfile": "Legg til kvalitetsprofil",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Er du sikker på at du vil fjerne de valgte elementene fra svartelisten?",
"Blocklist": "Svarteliste",
"BlocklistHelpText": "Hindrer Radarr i å automatisk gripe denne utgivelsen igjen",
"BlocklistRelease": "Blacklist -utgivelse",
@@ -141,7 +134,6 @@
"DeleteDownloadClientMessageText": "Er du sikker på at du vil slette formattaggen {0}?",
"Blocklisted": "Svarteliste",
"ImportCustomFormat": "Legg til egendefinert format",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Er du sikker på at du vil fjerne {0} elementet {1} fra køen?",
"BlocklistReleases": "Blacklist -utgivelse",
"AllCollectionsHiddenDueToFilter": "Alle filmer er skjult på grunn av påført filter.",
"ClickToChangeReleaseGroup": "Klikk for å endre utgivelsegruppe",
@@ -152,7 +144,6 @@
"ClickToChangeLanguage": "Klikk for å endre språk",
"ClickToChangeQuality": "Klikk for å endre kvalitet",
"ClientPriority": "Klientprioritet",
"CloneFormatTag": "Klon format tag",
"CloneIndexer": "Klon indekser",
"CloneProfile": "Klon profil",
"Close": "Lukk",
@@ -260,5 +251,16 @@
"ApplicationURL": "Applikasjon URL",
"ApplicationUrlHelpText": "Denne applikasjonens eksterne URL inkludert http(s)://, port og URL base",
"CollectionOptions": "Innstillinger for Samling",
"AreYouSureYouWantToResetQualityDefinitions": "Er du sikker på at du vil nullstille kvalitetsdefinisjonene?"
"DeleteRemotePathMapping": "Legg til ekstern kartlegging",
"SettingsTheme": "Tema",
"PreferredProtocol": "Foretrukket Protokoll",
"Reset": "Tilbakestill",
"DeleteConditionMessageText": "Er du sikker på at du vil slette formattaggen {0}?",
"DeleteCustomFormatMessageText": "Er du sikker på at du vil slette formattaggen {0}?",
"DeleteDelayProfileMessageText": "Er du sikker på at du vil slette denne forsinkelsesprofilen?",
"DeleteFormatMessageText": "Er du sikker på at du vil slette formattaggen {0}?",
"DeleteImportListExclusionMessageText": "Er du sikker på at du vil slette denne ekskluderingen av importlister?",
"RemoveSelectedItemsQueueMessageText": "Er du sikker på at du vil fjerne {0} elementet {1} fra køen?",
"ResetAPIKeyMessageText": "Er du sikker på at du vil tilbakestille API -nøkkelen din?",
"RemoveSelectedItemQueueMessageText": "Er du sikker på at du vil fjerne {0} elementet {1} fra køen?"
}

View File

@@ -311,7 +311,6 @@
"Automatic": "Automatisch",
"AuthenticationMethodHelpText": "Gebruikersnaam en wachtwoord nodig voor toegang tot Radarr",
"Authentication": "Authenticatie",
"AreYouSureYouWantToDeleteThisDelayProfile": "Weet u zeker dat u dit vertragingsprofiel wilt verwijderen?",
"AppDataDirectory": "AppData map",
"AddImportExclusionHelpText": "Voorkom dat een film wordt toegevoegd door een lijst",
"AgeWhenGrabbed": "Leeftijd (op moment van ophalen)",
@@ -360,7 +359,6 @@
"ColonReplacement": "Dubbelepunt Vervanging",
"CloneProfile": "Dupliceer Profiel",
"CloneIndexer": "Dupliceer Indexeerder",
"CloneFormatTag": "Dupliceer Formaat Tag",
"ClientPriority": "Client Prioriteit",
"ClickToChangeQuality": "Klik om kwaliteit te wijzigen",
"ClickToChangeLanguage": "Klik om taal te wijzigen",
@@ -383,9 +381,6 @@
"AutoUnmonitorPreviouslyDownloadedMoviesHelpText": "Verwijderde films zullen automatisch als onbewaakt worden gemarkeerd in Radarr",
"AutoRedownloadFailedHelpText": "Automatisch zoeken en probeer een andere release te downloaden",
"AsAllDayHelpText": "Gebeurtenissen zullen als hele-dag gebeurtenissen verschijnen in uw kalender",
"AreYouSureYouWantToResetYourAPIKey": "Bent u zeker dat u uw API-sleutel wilt resetten?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Bent u zeker dat u deze externe pad verwijzing wilt verwijderen?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Bent u zeker dat u dit van de uitzonderingenlijst wilt verwijderen?",
"ApplyTags": "Tags Toepassen",
"ApiKey": "API-sleutel",
"IncludeCustomFormatWhenRenaming": "Eigen Formaat toevoegen bij het hernoemen",
@@ -569,7 +564,7 @@
"ResetAPIKey": "Reset API-sleutel",
"SetPermissions": "Stel Machtigingen In",
"SetPermissionsLinuxHelpTextWarning": "Als je onzeker bent over deze instellingen en hun functie, pas ze dan niet aan.",
"ShouldMonitorHelpText": "Indien ingeschakeld, worden films van deze lijst toegevoegd en bewaakt",
"ShouldMonitorHelpText": "Of films of collecties die door deze lijst toegevoegd worden als gemonitord worden toegevoegd",
"ShowAsAllDayEvents": "Weergeven als evenementen die de hele dag duren",
"ShowMonitoredHelpText": "Toon bewakingsstatus onder de poster",
"ShowMovieInformation": "Toon film informatie",
@@ -633,7 +628,7 @@
"ShownClickToHide": "Getoond, klik om te verbergen",
"ShowGenres": "Toon Genres",
"ShowCertification": "Toon Certificatie",
"SearchOnAddHelpText": "Zoek naar films op deze lijst wanneer toegevoegd aan Radarr",
"SearchOnAddHelpText": "Zoek naar films op deze lijst na toevoeging aan de bibliotheek",
"RSSSyncIntervalHelpTextWarning": "Dit zal van toepassing zijn op alle indexeerders, gelieve de door hen opgelegde regels te volgen",
"RSSIsNotSupportedWithThisIndexer": "RSS wordt niet ondersteund door deze indexeerder",
"RetryingDownloadInterp": "Download opnieuw proberen {0} op {1}",
@@ -717,7 +712,7 @@
"RadarrSupportsCustomConditionsAgainstTheReleasePropertiesBelow": "Radarr ondersteunt aangepaste condities tegenover de uitgave eigenschappen hieronder.",
"RadarrSupportsAnyRSSMovieListsAsWellAsTheOneStatedBelow": "Radarr ondersteunt elke RSS filmlijst, tevens ook de ander hieronder weergegeven lijsten.",
"RadarrSupportsAnyIndexer": "Radarr ondersteund elke indexeerder die gebruik maakt van de Newznab standaard, tevens ook de ander hieronder weergegeven indexeerders.",
"RadarrSupportsAnyDownloadClient": "Radarr ondersteund elke downloader die gebruik maakt van de Newznab standaard, tevens ook de ander hieronder weergegeven downloaders.",
"RadarrSupportsAnyDownloadClient": "Radarr ondersteunt veel populaire downloadprogramma's voor torrents en nieuwsgroepen.",
"NoTagsHaveBeenAddedYet": "Er zijn nog geen tags toegevoegd",
"MissingMonitoredAndConsideredAvailable": "Ontbrekend (Bewaakt)",
"HaveNotAddedMovies": "U heeft nog geen films toegevoegd, wilt u eerst enkele of al uw films importeren?",
@@ -779,7 +774,7 @@
"CloneCustomFormat": "Dupliceer Eigen Formaat",
"Priority": "Prioriteit",
"InteractiveSearch": "Interactief Zoeken",
"IndexerPriorityHelpText": "Indexeerder Prioriteit van 1 (Hoogste) tot 50 (Laagste). Standaard: 25.",
"IndexerPriorityHelpText": "Indexeerder Prioriteit van 1 (Hoogste) tot 50 (Laagste). Standaard: 25. Wordt gebruikt als tiebreaker voor anderszins gelijke uitgaves, Radarr zal nog steeds alle ingeschakelde indexeerderders gebruiken voor RSS synchronisate en zoekopdrachten",
"IndexerPriority": "Indexeerder Prioriteit",
"EditIndexer": "Bewerk Indexeerder",
"Disabled": "Uitgeschakeld",
@@ -798,7 +793,6 @@
"AddCustomFormat": "Voeg aangepast formaat toe",
"BuiltIn": "Ingebouwd",
"AuthBasic": "Basis (Browser Pop-up)",
"AreYouSureYouWantToDeleteFormat": "Weet je zeker dat je formaat tag {0} wilt verwijderen?",
"AptUpdater": "Gebruik apt om update te installeren",
"Announced": "Aangekondigd",
"Always": "Altijd",
@@ -877,7 +871,6 @@
"EditDelayProfile": "Bewerk Vertraginsprofiel",
"EditCustomFormat": "Bewerk Eigen Formaat",
"Debug": "Fouten Opsporen",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Ben je zeker dat je {1} item{2} uit de wachtrij wilt verwijderen?",
"Discord": "Discord",
"CouldNotConnectSignalR": "Kan geen verbinding maken met SignalR, gebruikersinterface wordt niet bijgewerkt",
"Donations": "Donaties",
@@ -917,7 +910,7 @@
"SelectQuality": "Selecteer Kwaliteit",
"SelectMovie": "Selecteer Film",
"SelectLanguage": "Selecteer Taal",
"SelectDotDot": "'Selecteer...",
"SelectDotDot": "Selecteer...",
"Seconds": "Seconden",
"SearchMissing": "Missende zoeken",
"SearchFailedPleaseTryAgainLater": "Zoeken mislukt, probeer het later opnieuw.",
@@ -944,7 +937,7 @@
"RadarrUpdated": "Radarr geüpdatet",
"RadarrCalendarFeed": "Radarr kalender feed",
"QueueIsEmpty": "Wachtrij is leeg",
"QualityProfileInUse": "Kan een kwaliteitsprofiel dat aan een film is gekoppeld niet verwijderen",
"QualityProfileInUse": "Kan een kwaliteitsprofiel dat aan een film, lijst, of collectie is gekoppeld niet verwijderen",
"QualityOrLangCutoffHasNotBeenMet": "Kwaliteit of taal cutoff is niet bereikt",
"QualityLimitsHelpText": "Limieten zijn automatisch aangepast voor de tijdsduur van de film.",
"QualitiesHelpText": "Kwaliteiten hoger in de lijst krijgen meer voorkeur. Kwaliteiten in dezelfde groep zijn gelijk. Enkel geselecteerde kwaliteiten zijn gewenst",
@@ -1001,7 +994,7 @@
"Sunday": "zondag",
"TagDetails": "Tagdetails - {0}",
"TheLogLevelDefault": "Het logniveau staat standaard op 'Info' en kan worden gewijzigd in",
"ThisCannotBeCancelled": "Eenmaal gestart kan dit niet worden geannuleerd zonder Radarr opnieuw te starten.",
"ThisCannotBeCancelled": "Eenmaal gestart kan dit niet worden geannuleerd zonder al je indexeerders uit te schakelen.",
"Today": "Vandaag",
"TorrentDelayTime": "Torrent-vertraging: {0}",
"TorrentsDisabled": "Torrents uitgeschakeld",
@@ -1065,18 +1058,16 @@
"RemotePathMappingCheckGenericPermissions": "Downloadclient {0} plaatst downloads in {1} maar Radarr kan deze map niet zien. Mogelijk moet u de machtigingen van de map aanpassen.",
"RemotePathMappingCheckLocalWrongOSPath": "Lokale downloadclient {0} plaatst downloads in {1}, maar dit is geen geldig {2}-pad. Controleer de instellingen van uw downloadclient.",
"TaskUserAgentTooltip": "User-Agent geleverd door de app die de API heeft aangeroepen",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Ben je zeker dat je de geselecteerde items wil verwijderen van de uitzonderingslijst?",
"Blocklist": "Blokkeerlijst",
"BlocklistHelpText": "Voorkom dat Radarr deze release nogmaals automatisch ophaalt",
"BlocklistRelease": "Uitgave op blokkeerlijst zetten",
"RemoveFromBlocklist": "Verwijder van zwarte lijst",
"UnableToLoadBlocklist": "Kon zwarte lijst niet laden",
"Blocklisted": "Geblokeerde lijst",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Ben je zeker dat je {1} item{2} uit de wachtrij wilt verwijderen?",
"BlocklistReleases": "Uitgave op blokkeerlijst zetten",
"LocalPath": "Lokaal Pad",
"SelectLanguages": "Selecteer Taal",
"Rating": "Waardering",
"SelectLanguages": "Selecteer talen",
"Rating": "Score",
"List": "Lijst",
"Filters": "Filters",
"RemotePath": "Extern Pad",
@@ -1098,17 +1089,16 @@
"Database": "Databasis",
"ImdbRating": "IMDb beoordeling",
"ImdbVotes": "IMDb stemmen",
"TmdbVotes": "IMDb stemmen",
"TmdbRating": "IMDb beoordeling",
"TmdbVotes": "TMDb stemmen",
"TmdbRating": "TMDb-score",
"AllCollectionsHiddenDueToFilter": "Alle films zijn verborgen wegens de toegepaste filter.",
"RssSyncHelpText": "Tussentijd in minuten. Schakel uit met 0 (dit stopt het automatisch ophalen van uitgaves)",
"NoCollections": "Geen films gevonden, om te beginnen, voeg een nieuwe film toe of importeer bestaande films.",
"NoCollections": "Geen films gevonden, begin door een nieuwe film toe te voegen of bestaande films te importeren",
"Collections": "Collectie",
"MonitorMovies": "Bewaak Film",
"MonitorMovies": "Monitor film",
"ApplicationURL": "Applicatie URL",
"ApplicationUrlHelpText": "De externe URL van deze applicatie inclusief http(s)://,Port en URL base",
"CollectionsSelectedInterp": "{0} Collectie(s) geselecteerd",
"AreYouSureYouWantToResetQualityDefinitions": "Weet je zeker dat je de kwaliteitsdefinities wilt resetten?",
"ChooseImportMode": "Kies Importmodus",
"CollectionOptions": "Collectieopties",
"CollectionShowDetailsHelpText": "Collectie status en details weergeven",
@@ -1121,7 +1111,47 @@
"EditSelectedMovies": "Bewerk Geselecteerde Films",
"IndexerJackettAll": "Indexeerders die het niet ondersteunde 'all' endpoint van Jacket gebruiken: {0}",
"DownloadClientSortingCheckMessage": "Download cliënt {0} heeft {1} sortering aanstaan voor Radarr's categorie. U zou sortering uit moeten zetten in uw download cliënt om importeerproblemen te voorkomen.",
"ApiKeyValidationHealthCheckMessage": "Maak je API sleutel alsjeblieft minimaal 20 karakters lang. Dit kan gedaan worden via de instellingen of het configuratiebestand",
"ApiKeyValidationHealthCheckMessage": "Maak je API sleutel alsjeblieft minimaal {0} karakters lang. Dit kan gedaan worden via de instellingen of het configuratiebestand",
"EditMovies": "Bewerk Films",
"ShowCinemaReleaseHelpText": "Laat releasedatum zien onder poster"
"ShowCinemaReleaseHelpText": "Laat releasedatum zien onder poster",
"OnMovieAdded": "Bij toegevoegde film",
"RemoveFailed": "Verwijderen mislukt",
"ResetTitles": "Reset titels",
"SettingsTheme": "Thema",
"MovieOnly": "Alleen film",
"RemoveCompletedDownloads": "Verwijder voltooide downloads",
"RSSHelpText": "Wordt gebruikt wanneer Radarr periodiek zoekt naar uitgaven via RSS synchronisatie",
"RemoveFailedDownloads": "Verwijder mislukte downloads",
"ImportScriptPath": "Pad naar importeerscript",
"ImportUsingScript": "Gebruik importeerscript",
"ScriptImportPathHelpText": "Het pad naar het importeerscript",
"ShowOverview": "Toon overzicht",
"RefreshMonitoredIntervalHelpText": "Hoe vaak gemonitorde downloads ververst moeten worden vanuit downloadprogramma's, minimaal 1 minuut",
"ResetDefinitions": "Reset definities",
"ResetQualityDefinitions": "Reset kwaliteitsdefinities",
"TotalMovies": "Totaal aantal films",
"ShowCollectionDetails": "Toon collectiestatus",
"Loading": "Laden",
"MovieCollectionMissingRoot": "Missende hoofdmap voor filmcollectie: {0}",
"MovieCollectionMultipleMissingRoots": "Meerdere hoofdmappen missen voor filmcollecties: {0}",
"MovieAndCollection": "Film en Collectie",
"UMask": "UMask",
"PreferredProtocol": "Voorkeursprotocol",
"InstanceName": "Naam van de instantie",
"MonitorCollection": "Monitor Collectie",
"OnHealthRestored": "Bij opgelost gezondheidsprobleem",
"OnHealthRestoredHelpText": "Bij opgelost gezondheidsprobleem",
"OnMovieAddedHelpText": "Bij toegevoegde film",
"RemoveDownloadsAlert": "De verwijderopties zijn verplaatst naar de opties voor de individuele downloadprogramma's in de tabel hierboven.",
"RemoveSelectedItem": "Verwijder geselecteerde item",
"RemoveSelectedItems": "Verwijder geselecteerde items",
"RottenTomatoesRating": "Tomato-score",
"SearchOnAddCollectionHelpText": "Zoek naar films in deze collectie na toevoeging aan de bibliotheek",
"ShowPosters": "Toon posters",
"ThereWasAnErrorLoadingThisPage": "Er ging iets fout bij het laden van deze pagina",
"UnableToLoadCollections": "Kon collecties niet laden",
"RefreshCollections": "Ververs collecties",
"RecycleBinUnableToWriteHealthCheck": "Kan niet schrijven naar prullenbak: {0}. Zorg dat dit pad bestaat en schrijfbaar is voor de gebruiker waaronder Radarr draait",
"ThereWasAnErrorLoadingThisItem": "Er ging iets fout bij het laden van dit item",
"DeleteRemotePathMapping": "Bewerk Externe Pad Verwijzing"
}

View File

@@ -200,16 +200,11 @@
"AppDataDirectory": "Katalog AppData",
"Apply": "Zastosować",
"AptUpdater": "Użyj apt, aby zainstalować aktualizację",
"AreYouSureYouWantToDeleteFormat": "Czy na pewno chcesz usunąć tag formatu {0}?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Czy na pewno chcesz usunąć to wykluczenie listy importu?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Czy na pewno chcesz usunąć to mapowanie zdalnej ścieżki?",
"AudioInfo": "Informacje audio",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Czy na pewno chcesz usunąć elementy ({0}) z kolejki?",
"OnLatestVersion": "Najnowsza wersja Radarr jest już zainstalowana",
"OnlyTorrent": "Tylko Torrent",
"OnlyUsenet": "Tylko Usenet",
"OnRename": "Zmiana nazwy",
"AreYouSureYouWantToResetYourAPIKey": "Czy na pewno chcesz zresetować swój klucz API?",
"AuthBasic": "Podstawowe (wyskakujące okienko przeglądarki)",
"DeleteCustomFormat": "Usuń format niestandardowy",
"ApplyTags": "Zastosuj tagi",
@@ -462,7 +457,6 @@
"TotalSpace": "Powierzchnia całkowita",
"UpdateCheckStartupNotWritableMessage": "Nie można zainstalować aktualizacji, ponieważ użytkownik „{1}” nie ma prawa zapisu do folderu startowego „{0}”.",
"ApplyTagsHelpTexts4": "Zastąp: Zastąp tagi wprowadzonymi tagami (nie wprowadzaj tagów, aby usunąć wszystkie tagi)",
"AreYouSureYouWantToDeleteThisDelayProfile": "Czy na pewno chcesz usunąć ten profil opóźnienia?",
"Username": "Nazwa Użytkownika",
"WaitingToImport": "Czekam na import",
"BackupFolderHelpText": "Względne ścieżki będą znajdować się w katalogu AppData Radarr",
@@ -484,7 +478,6 @@
"ClickToChangeMovie": "Kliknij, aby zmienić film",
"ClickToChangeQuality": "Kliknij, aby zmienić jakość",
"CloneCustomFormat": "Klonuj format niestandardowy",
"CloneFormatTag": "Klonuj Tag Formatu",
"CloneIndexer": "Sklonuj Indekser",
"CloneProfile": "Klonuj profil",
"Close": "Blisko",
@@ -1042,13 +1035,11 @@
"DownloadClientCheckDownloadingToRoot": "Klient pobierania {0} umieszcza pliki do pobrania w folderze głównym {1}. Nie należy pobierać do folderu głównego.",
"DeleteFileLabel": "Usuń {0} pliki filmowe",
"UnableToAddRootFolder": "Nie można dodać folderu głównego",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Czy na pewno chcesz usunąć wybrane elementy z czarnej listy?",
"Blocklist": "Czarna lista",
"BlocklistRelease": "Wydanie czarnej listy",
"RemoveFromBlocklist": "Usuń z czarnej listy",
"UnableToLoadBlocklist": "Nie można załadować listy blokowania",
"Blocklisted": "Czarna lista",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Czy na pewno chcesz usunąć {0} element {1} z kolejki?",
"BlocklistReleases": "Wydanie czarnej listy",
"Filters": "Filtry",
"LocalPath": "Ścieżka lokalna",
@@ -1147,5 +1138,7 @@
"File": "Plik",
"Language": "Język",
"ShowCinemaReleaseHelpText": "Pokaż datę premiery pod plakatem",
"EditMovies": "Edytuj film"
"EditMovies": "Edytuj film",
"DeleteRemotePathMapping": "Edytuj zdalne mapowanie ścieżki",
"DeleteRemotePathMappingMessageText": "Czy na pewno chcesz usunąć to mapowanie zdalnej ścieżki?"
}

View File

@@ -1,6 +1,6 @@
{
"Peers": "Elementos",
"AppDataLocationHealthCheckMessage": "Não será possível atualizar para evitar a exclusão da pasta AppData durante a atualização",
"AppDataLocationHealthCheckMessage": "Não foi possivél actualizar para prevenir apagar a AppData durante a actualização",
"Year": "Ano",
"Week": "Semana",
"Warn": "Avisar",
@@ -310,10 +310,6 @@
"AuthenticationMethodHelpText": "Solicitar nome de utilizador e palavra-passe para acessar ao Radarr",
"Authentication": "Autenticação",
"AsAllDayHelpText": "Eventos aparecerão como eventos de dia inteiro em seu calendário",
"AreYouSureYouWantToResetYourAPIKey": "Tem a certeza que quer repor a Chave da API?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Tem a certeza que quer eliminar este mapeamento de caminho remoto?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Tem a certeza que quer eliminar esta exclusão da lista de importação?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Tem a certeza que quer eliminar este perfil de atraso?",
"ApplyTags": "Aplicar etiquetas",
"AppDataDirectory": "Pasta AppData",
"ApiKey": "Chave da API",
@@ -473,7 +469,6 @@
"ColonReplacement": "Substituição de dois-pontos",
"CloneProfile": "Clonar perfil",
"CloneIndexer": "Clonar indexador",
"CloneFormatTag": "Clonar etiqueta de formato",
"ClickToChangeQuality": "Clique para mudar a qualidade",
"ClickToChangeLanguage": "Clique para mudar o idioma",
"CleanLibraryLevel": "Limpar nível da biblioteca",
@@ -850,8 +845,6 @@
"AllResultsHiddenFilter": "Todos os resultados estão ocultos pelo filtro aplicado",
"Always": "Sempre",
"AptUpdater": "Utilizar apt para instalar a atualização",
"AreYouSureYouWantToDeleteFormat": "Tem a certeza que quer eliminar a etiqueta de formato {0}?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Tem a certeza que deseja remover {0} itens da fila?",
"AuthBasic": "Básico (pop-up do browser)",
"AuthForm": "Formulários (página de início de sessão)",
"CalendarOptions": "Opções do calendário",
@@ -1067,14 +1060,12 @@
"BypassDelayIfHighestQuality": "Ignorar se a qualidade for mais alta",
"NotificationTriggersHelpText": "Seleciona quais eventos acionam esta notificação",
"UnableToAddRootFolder": "Não foi possível carregar as pastas raiz",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Tem a certeza que quer remover os itens selecionados da lista de bloqueio?",
"Blocklist": "Lista de bloqueio",
"BlocklistHelpText": "Impede o Readarr de capturar automaticamente estes ficheiros novamente",
"BlocklistRelease": "Bloquear versão",
"RemoveFromBlocklist": "Remover da lista de bloqueio",
"UnableToLoadBlocklist": "Não foi possível carregar a lista de bloqueio",
"Blocklisted": "Lista de bloqueio",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Tem a certeza que quer remover {0} item{1} da fila?",
"BlocklistReleases": "Bloquear versão",
"IndexerTagHelpText": "Só use este indexador para filmes com pelo menos uma etiqueta correspondente. Deixe em branco para usar com todos os filmes.",
"Auto": "Automático",
@@ -1149,14 +1140,15 @@
"ResetDefinitions": "Redefinir Definições",
"ResetQualityDefinitions": "Redefinir Qualidade de Definições",
"ResetTitles": "Redefinir Títulos",
"ResetTitlesHelpText": "Redefinir títulos de definição, bem como valores",
"SettingsThemeHelpText": "Alterar o tema da interface do usuário. O tema 'Auto' usará o tema do sistema operacional para definir o modo Claro ou Escuro. Inspirado por Theme.Park",
"UMask": "UMask",
"RSSHelpText": "Será usado quando o Radarr procurar periodicamente releases via RSS Sync",
"SettingsTheme": "Tema",
"AreYouSureYouWantToResetQualityDefinitions": "Tem certeza de que deseja redefinir as definições de qualidade?",
"DownloadClientSortingCheckMessage": "O cliente de download {0} tem {1} classificação habilitada para a categoria do Radarr. Você deve desativar a classificação em seu cliente de download para evitar problemas de importação.",
"PreferredProtocol": "Protocolo Preferido",
"ShowCinemaReleaseHelpText": "Mostrar data de lançamento abaixo do cartaz",
"EditMovies": "Editar filme"
"EditMovies": "Editar filme",
"ApiKeyValidationHealthCheckMessage": "Por favor, actualize a sua API Key para ter no minimo {0} caracteres. Pode fazer através das definições ou do ficheiro de configuração",
"DeleteRemotePathMapping": "Editar mapeamento de caminho remoto",
"DeleteRemotePathMappingMessageText": "Tem a certeza que quer eliminar este mapeamento de caminho remoto?"
}

View File

@@ -79,7 +79,7 @@
"Host": "Host",
"HomePage": "Página inicial",
"History": "Histórico",
"HideAdvanced": "Ocultar avançado",
"HideAdvanced": "Ocultar Avançado",
"HiddenClickToShow": "Oculto, clique para mostrar",
"HealthNoIssues": "Nenhum problema com sua configuração",
"Health": "Integridade",
@@ -145,14 +145,14 @@
"ErrorLoadingPreviews": "Erro ao carregar as visualizações",
"ErrorLoadingContents": "Erro ao carregar conteúdo",
"Error": "Erro",
"Ended": "Terminado",
"Ended": "Terminou",
"EnableSslHelpText": " Requer a reinicialização com a execução como administrador para fazer efeito",
"EnableSSL": "Habilitar SSL",
"EnableRSS": "Habilitar RSS",
"EnableMediaInfoHelpText": "Extrair informações do vídeo, como resolução, duração e informações do codec de arquivos. Isso requer que o Radarr leia partes do arquivo que podem causar alta atividade no disco ou na rede durante as verificações.",
"EnableInteractiveSearchHelpTextWarning": "A pesquisa não é compatível com este indexador",
"EnableInteractiveSearchHelpText": "Será usado com a pesquisa interativa",
"EnableInteractiveSearch": "Habilitar pesquisa interativa",
"EnableInteractiveSearch": "Ativar pesquisa interativa",
"EnableHelpText": "Habilitar a criação de um arquivo de metadados para este tipo de metadados",
"EnabledHelpText": "Habilitar esta lista para uso no Radarr",
"Enabled": "Habilitado",
@@ -161,7 +161,7 @@
"EnableColorImpairedMode": "Habilitar modo para daltonismo",
"EnableAutomaticSearchHelpTextWarning": "Será usado com a pesquisa interativa",
"EnableAutomaticSearchHelpText": "Será usado ao realizar pesquisas automáticas pela interface ou pelo Radarr",
"EnableAutomaticSearch": "Habilitar pesquisa automática",
"EnableAutomaticSearch": "Ativar pesquisa automática",
"EnableAutomaticAdd": "Habilitar adição automática",
"EnableAutoHelpText": "Se habilitada, os filmes serão automaticamente adicionados ao Radarr a partir desta lista",
"Enable": "Habilitar",
@@ -304,7 +304,6 @@
"Close": "Fechar",
"CloneProfile": "Clonar perfil",
"CloneIndexer": "Clonar indexador",
"CloneFormatTag": "Clonar tag de formatação",
"CloneCustomFormat": "Clonar Formato Personalizado",
"ClientPriority": "Prioridade do cliente",
"ClickToChangeQuality": "Clique para alterar a qualidade",
@@ -361,12 +360,6 @@
"AuthBasic": "Básico (pop-up do navegador)",
"AudioInfo": "Informações do áudio",
"AsAllDayHelpText": "Eventos aparecerão como eventos de dia inteiro em seu calendário",
"AreYouSureYouWantToResetYourAPIKey": "Tem certeza de que deseja redefinir sua chave da API?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Tem certeza de que deseja remover {0} itens da fila?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Tem certeza de que deseja excluir este mapeamento de caminho remoto?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Tem certeza de que deseja remover esta exclusão da lista de importação?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Tem certeza de que deseja excluir este perfil de atraso?",
"AreYouSureYouWantToDeleteFormat": "Tem certeza de que deseja excluir a tag de formatação {0}?",
"AptUpdater": "Usar apt para instalar a atualização",
"ApplyTagsHelpTexts4": "Substituir: sobrepor as tags existentes pelas inseridas (deixe em branco para limpar todas as tags)",
"ApplyTagsHelpTexts3": "Remover: excluir as tags inseridas",
@@ -693,7 +686,7 @@
"ShowDateAdded": "Mostrar data de adição",
"ShowCutoffUnmetIconHelpText": "Mostrar ícone para arquivos quando o limite não foi atingindo",
"ShowCertification": "Mostrar certificação",
"ShowAdvanced": "Mostrar opções avançadas",
"ShowAdvanced": "Mostrar Avançado",
"ShouldMonitorHelpText": "Os filmes ou coleções adicionados por esta lista devem ser adicionados como monitorados",
"SettingsWeekColumnHeader": "Cabeçalho da coluna da semana",
"SettingsTimeFormat": "Formato de hora",
@@ -746,7 +739,7 @@
"RSSIsNotSupportedWithThisIndexer": "O RSS não é compatível com este indexador",
"RSS": "RSS",
"RootFolders": "Pastas raiz",
"RootFolder": "Pasta raiz",
"RootFolder": "Pasta Raiz",
"Retention": "Retenção",
"Result": "Resultado",
"Restrictions": "Restrições",
@@ -763,7 +756,7 @@
"RescanAfterRefreshHelpText": "Verificar novamente a pasta de filmes após atualizar o filme",
"RequiredRestrictionPlaceHolder": "Adicionar nova restrição",
"RequiredRestrictionHelpText": "A versão deve conter pelo menos um desses termos (não diferencia maiúsculas de minúsculas)",
"Required": "Obrigatório",
"Required": "Requerido",
"ReplaceIllegalCharactersHelpText": "Substituir caracteres ilegais. Se desmarcada, o Radarr irá removê-los",
"ReplaceIllegalCharacters": "Substituir caracteres ilegais",
"Replace": "Substituir",
@@ -780,7 +773,7 @@
"RemoveHelpTextWarning": "Isso removerá o download e o(s) arquivo(s) do cliente de download.",
"RemoveFromQueueText": "Tem certeza que deseja remover {0} da fila?",
"RemoveFromQueue": "Remover da fila",
"RemoveFromDownloadClient": "Remover do cliente de download",
"RemoveFromDownloadClient": "Remover Do Cliente de Download",
"RemoveFilter": "Remover filtro",
"RemoveFailedDownloadsHelpText": "Remover downloads com falha do histórico do cliente de download",
"RemovedMovieCheckSingleMessage": "O filme {0} foi removido do TMDb",
@@ -823,7 +816,7 @@
"SSLCertPasswordHelpText": "Senha para arquivo pfx",
"SSLCertPassword": "Senha do certificado SSL",
"Socks4": "Socks4",
"ShownClickToHide": "Exibido, clique para ocultar",
"ShownClickToHide": "Mostrado, clique para ocultar",
"OrganizeModalSuccess": "Êba, já terminei! Não há arquivos a renomear.",
"RecycleBinCleanupDaysHelpText": "Defina como 0 para desabilitar a limpeza automática",
"RecentFolders": "Pastas recentes",
@@ -848,7 +841,7 @@
"QualityProfiles": "Perfis de qualidade",
"QualityProfileInUse": "Não é possível excluir um perfil de qualidade anexado a um filme, lista ou coleção",
"QualityProfileDeleteConfirm": "Tem certeza que deseja excluir o perfil de qualidade {0}",
"QualityProfile": "Perfil de qualidade",
"QualityProfile": "Perfil de Qualidade",
"QualityOrLangCutoffHasNotBeenMet": "Limite de qualidade ou de idioma não atingido",
"QualityLimitsHelpText": "Os limites são ajustados automaticamente para o tempo de execução do filme.",
"QualityDefinitions": "Definições de qualidade",
@@ -1068,14 +1061,12 @@
"NotificationTriggersHelpText": "Selecionar quais eventos devem acionar esta notificação",
"UnableToAddRootFolder": "Incapaz de adicionar pasta raiz",
"Blocklisted": "Bloqueado",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Tem certeza de que deseja remover os itens selecionados da lista de bloqueio?",
"Blocklist": "Lista de bloqueio",
"BlocklistHelpText": "Impede que o Radarr obtenha este lançamento novamente de forma automática",
"BlocklistRelease": "Lista de Bloqueio de Lançamentos",
"RemoveFromBlocklist": "Remover da lista de bloqueio",
"UnableToLoadBlocklist": "Não foi possível carregar a lista de bloqueio",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Você tem certeza de que deseja remover {0} item{1} da fila?",
"BlocklistReleases": "Lançamento na lista de bloqueio",
"BlocklistReleases": "Lista de Bloqueio de Lançamentos",
"RemoveSelectedItems": "Remover Itens Selecionados",
"IndexerTagHelpText": "Usar este indexador apenas para filmes com pelo menos uma etiqueta correspondente. Deixe em branco para usar em todos os filmes.",
"RemoveSelectedItem": "Remover Item Selecionado",
@@ -1148,11 +1139,9 @@
"PreferredProtocol": "Protocolo Preferido",
"SettingsThemeHelpText": "Alterar o tema da interface do usuário do aplicativo, o tema 'Auto' usará o tema do sistema operacional para definir o modo Claro ou Escuro. Inspirado por Theme.Park",
"ResetDefinitions": "Redefinir Definições",
"ResetQualityDefinitions": "Redefinir Definições de Qualidade",
"ResetQualityDefinitions": "Redefinir Configurações de Qualidade",
"ResetTitles": "Redefinir Títulos",
"ResetTitlesHelpText": "Redefinir títulos de definição, bem como valores",
"SettingsTheme": "Tema",
"AreYouSureYouWantToResetQualityDefinitions": "Tem certeza de que deseja redefinir as definições de qualidade?",
"RSSHelpText": "Será usado quando o Radarr procurar periodicamente lançamentos via RSS Sync",
"DownloadClientSortingCheckMessage": "O cliente de download {0} tem classificação {1} habilitada para a categoria do Radarr. Você deve desativar a classificação em seu cliente de download para evitar problemas de importação.",
"File": "Arquivo",
@@ -1171,5 +1160,27 @@
"OnHealthRestoredHelpText": "Com a Saúde Restaurada",
"OnManualInteractionRequired": "Uma Interação Manual é Necessária",
"OnManualInteractionRequiredHelpText": "Uma Interação Manual é Necessária",
"ApiKeyValidationHealthCheckMessage": "Atualize sua chave de API para ter pelo menos 20 caracteres. Você pode fazer isso através das configurações ou do arquivo de configuração"
"ApiKeyValidationHealthCheckMessage": "Atualize sua chave de API para ter pelo menos {0} caracteres. Você pode fazer isso através das configurações ou do arquivo de configuração",
"ImportScriptPath": "Caminho do script de importação",
"ImportUsingScript": "Importar usando script",
"RemoveCompletedDownloads": "Remover downloads concluídos",
"RemoveFailedDownloads": "Remover downloads com falha",
"ScriptImportPathHelpText": "O caminho para o script a ser usado para importar",
"UseScriptImportHelpText": "Copiar arquivos para importar usando um script (ex. para transcodificação)",
"DeleteRemotePathMapping": "Excluir Mapeamento de Caminho Remoto",
"NoHistoryBlocklist": "Nenhum histórico na lista de bloqueio",
"DeleteConditionMessageText": "Tem certeza de que deseja excluir a condição '{0}'?",
"DeleteImportListExclusionMessageText": "Tem certeza de que deseja excluir esta exclusão da lista de importação?",
"DeleteRemotePathMappingMessageText": "Tem certeza de que deseja excluir este mapeamento de caminho remoto?",
"DeleteCondition": "Excluir Condição",
"CloneCondition": "Condição de Clone",
"DeleteCustomFormatMessageText": "Tem certeza de que deseja excluir o formato personalizado '{0}'?",
"DeleteDelayProfileMessageText": "Tem certeza de que deseja excluir este perfil de atraso?",
"DeleteFormatMessageText": "Tem certeza de que deseja excluir a etiqueta de formato {0} ?",
"RemoveSelectedItemBlocklistMessageText": "Tem certeza de que deseja remover os itens selecionados da lista de bloqueio?",
"RemoveSelectedItemQueueMessageText": "Tem certeza de que deseja remover 1 item da fila?",
"RemoveSelectedItemsQueueMessageText": "Tem certeza de que deseja remover {0} itens da fila?",
"ResetAPIKeyMessageText": "Tem certeza de que deseja redefinir sua chave de API?",
"ResetDefinitionTitlesHelpText": "Redefinir títulos da configuração, bem como valores",
"ResetQualityDefinitionsMessageText": "Tem certeza de que deseja redefinir as configurações de qualidade?"
}

View File

@@ -428,9 +428,7 @@
"AllResultsHiddenFilter": "Toate rezultatele sunt ascunse de filtrul aplicat",
"Always": "Mereu",
"AptUpdater": "Utilizați apt pentru a instala actualizarea",
"AreYouSureYouWantToDeleteFormat": "Sigur doriți să ștergeți eticheta format {0}?",
"ApplyTagsHelpTexts2": "Adăugare: adăugați etichetele la lista de etichete existentă",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Sigur doriți să eliminați {0} elementul {1} din coadă?",
"AuthBasic": "De bază (fereastră pop-up browser)",
"AuthForm": "Formulare (Pagina de autentificare)",
"Automatic": "Automat",
@@ -613,9 +611,6 @@
"AnalyseVideoFiles": "Analizați fișierele video",
"AnalyticsEnabledHelpText": "Trimiteți informații anonime privind utilizarea și erorile către serverele Radarr. Aceasta include informații despre browserul dvs., ce pagini WebUI Radarr utilizați, raportarea erorilor, precum și sistemul de operare și versiunea de execuție. Vom folosi aceste informații pentru a acorda prioritate caracteristicilor și remedierilor de erori.",
"AppDataDirectory": "Directorul AppData",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Sigur doriți să ștergeți această excludere din lista de importuri?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Sigur doriți să ștergeți această mapare a căilor la distanță?",
"AreYouSureYouWantToResetYourAPIKey": "Sigur doriți să vă resetați cheia API?",
"AsAllDayHelpText": "Evenimentele vor apărea ca evenimente pe tot parcursul zilei în calendarul dvs.",
"ApplyTags": "Aplicați etichete",
"AvailabilityDelay": "Întârziere disponibilitate",
@@ -627,7 +622,6 @@
"TotalFileSize": "Dimensiunea totală a fișierului",
"UpgradeAllowedHelpText": "Dacă calitățile cu handicap nu vor fi actualizate",
"ApplyTagsHelpTexts4": "Înlocuire: înlocuiți etichetele cu etichetele introduse (nu introduceți etichete pentru a șterge toate etichetele)",
"AreYouSureYouWantToDeleteThisDelayProfile": "Sigur doriți să ștergeți acest profil de întârziere?",
"Username": "Nume de utilizator",
"WaitingToImport": "Se așteaptă importul",
"Disabled": "Dezactivat",
@@ -639,7 +633,6 @@
"Real": "Real",
"ClickToChangeLanguage": "Faceți clic pentru a schimba limba",
"ClickToChangeQuality": "Faceți clic pentru a schimba calitatea",
"CloneFormatTag": "Etichetă de format clonare",
"CloneIndexer": "Clonă Indexer",
"CloneProfile": "Clonați profil",
"CloseCurrentModal": "Închideți modul curent",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "Clientul de descărcare {0} plasează descărcările în folderul rădăcină {1}. Nu trebuie să descărcați într-un folder rădăcină.",
"DeleteFileLabel": "Ștergeți {0} Fișiere de filme",
"UnableToAddRootFolder": "Imposibil de încărcat folderele rădăcină",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Sigur doriți să eliminați elementele selectate din lista neagră?",
"Blocklist": "Listă Neagră",
"BlocklistRelease": "Lansare pe lista neagră",
"RemoveFromBlocklist": "Eliminați de pe lista neagră",
"UnableToLoadBlocklist": "Imposibil de încărcat lista neagră",
"Blocklisted": "Listă Neagră",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Sigur doriți să eliminați {0} elementul {1} din coadă?",
"BlocklistReleases": "Lansare pe lista neagră",
"Filters": "Filtre",
"List": "Liste",
@@ -1064,5 +1055,6 @@
"RssSyncHelpText": "Interval în minute. Setați la zero pentru a dezactiva (acest lucru va opri toate apucările de eliberare automată)",
"File": "Fișier",
"EditMovies": "Editați filmul",
"ShowCinemaReleaseHelpText": "Afișați data lansării sub afiș"
"ShowCinemaReleaseHelpText": "Afișați data lansării sub afiș",
"DeleteRemotePathMapping": "Editați maparea căilor la distanță"
}

View File

@@ -3,7 +3,6 @@
"Close": "Закрыть",
"CloneProfile": "Клонировать профиль",
"CloneIndexer": "Клонировать индексер",
"CloneFormatTag": "Клонировать тэг формата",
"CloneCustomFormat": "Клонировать пользовательский формат",
"ClientPriority": "Приоритет клиента",
"ClickToChangeQuality": "Нажмите чтобы изменить качество",
@@ -21,7 +20,6 @@
"Authentication": "Аутентификация",
"AudioInfo": "Информация о аудио",
"AsAllDayHelpText": "События появятся как события на весь день в Вашем календаре",
"AreYouSureYouWantToResetYourAPIKey": "Вы уверены, что хотите сбросить Ваш API ключ?",
"ApplyTagsHelpTexts3": "Убрать: Убрать введенные тэги",
"ApplyTags": "Применить тэги",
"Apply": "Применить",
@@ -133,7 +131,6 @@
"InteractiveImport": "Интерактивный импорт",
"Always": "Всегда",
"ApplyTagsHelpTexts1": "Как добавить ярлыки к выбранным фильмам",
"AreYouSureYouWantToDeleteFormat": "Вы уверены, что хотите удалить тэг {0} ?",
"ApplyTagsHelpTexts4": "Заменить: Изменить существующие тэги на введенные тэги (оставьте пустым чтобы очистить все тэги)",
"CertificationCountryHelpText": "Выбрать страну для сертификации фильмов",
"Unreleased": "Недоступен",
@@ -205,7 +202,6 @@
"HealthNoIssues": "С вашей конфигурацией нет проблем",
"IncludeUnmonitored": "Включая неотслеживаемые",
"Announced": "Анонсировано",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Вы уверены, что хотите удалить этот лист исключений?",
"ChangeFileDate": "Изменить дату файла",
"CreateEmptyMovieFolders": "Создать пустые папки для фильмов",
"CreateEmptyMovieFoldersHelpText": "Создать папки для не найденных фильмов при сканировании",
@@ -244,7 +240,6 @@
"ApplyTagsHelpTexts2": "Добавить: добавить ярлыки к существующему списку",
"AptUpdater": "Используйте apt для установки обновления",
"AuthForm": "Формы (Страница авторизации)",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Вы уверены, что хотите удалить {0} элемент из очереди?",
"BeforeUpdate": "До обновления",
"BuiltIn": "Встроено",
"CalendarOptions": "Настройки календаря",
@@ -752,8 +747,6 @@
"AvailabilityDelayHelpText": "Время до или после доступной даты для поиска фильма",
"AvailabilityDelay": "Задержка доступности",
"AuthBasic": "Базовый (всплывающее окно браузера)",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Вы уверены, что хотите удалить это отображение удаленного пути?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Вы уверены, что хотите удалить этот профиль задержки?",
"AgeWhenGrabbed": "Возраст (когда захвачен)",
"AddQualityProfile": "Добавить профиль качества",
"AcceptConfirmationModal": "Окно подтверждения",
@@ -1058,13 +1051,11 @@
"Letterboxd": "Letterboxd",
"UnableToAddRootFolder": "Невозможно загрузить корневые папки",
"RemotePathMappingCheckBadDockerPath": "Вы используете docker; клиент загрузки {0} сообщил о файлах в {1}, но это не корректный путь {2}. Проверьте правильность указанного пути и настройки клиента загрузки.",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Удалить выбранные элементы из черного списка?",
"Blocklist": "Черный список",
"BlocklistRelease": "Релиз из черного списка",
"RemoveFromBlocklist": "Удалить из черного списка",
"UnableToLoadBlocklist": "Не удалось загрузить черный список",
"Blocklisted": "Черный список",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Вы действительно хотите удалить {0} из очереди?",
"BlocklistReleases": "Релиз из черного списка",
"RemoveFailed": "Удаление не удалось",
"RemoveSelectedItem": "Удалить выбранный элемент",
@@ -1142,11 +1133,9 @@
"Started": "Запущено",
"Database": "База данных",
"From": "из",
"AreYouSureYouWantToResetQualityDefinitions": "Вы уверены, что хотите сбросить определения качества?",
"ResetDefinitions": "Сбросить определения",
"ResetQualityDefinitions": "Сбросить определения качества",
"ResetTitles": "Сбросить заголовки",
"ResetTitlesHelpText": "Сбросить заголовки определений, а также значения",
"RSSHelpText": "Будет использоваться, когда Radarr будет периодически искать выпуски через RSS Sync",
"SettingsTheme": "Тема",
"SettingsThemeHelpText": "Измените тему пользовательского интерфейса приложения, тема «Авто» будет использовать тему вашей ОС для установки светлого или темного режима. Вдохновленный Theme.Park",
@@ -1158,5 +1147,7 @@
"File": "Файл",
"UMask": "UMask",
"ShowCinemaReleaseHelpText": "Показать дату выпуска под плакатом",
"EditMovies": "Редактировать фильм"
"EditMovies": "Редактировать фильм",
"ApiKeyValidationHealthCheckMessage": "Пожалуйста, обновите свой ключ API, чтобы он был длиной не менее {0} символов. Вы можете сделать это через настройки или файл конфигурации",
"DeleteRemotePathMapping": "Редактировать расположение подключенной папки"
}

View File

@@ -43,10 +43,6 @@
"ApplyTagsHelpTexts2": "Pridať: Pridajte značky do existujúceho zoznamu značiek",
"ApplyTagsHelpTexts3": "Odobrať: Odoberie zadané značky",
"AptUpdater": "Použiť apt pre inštaláciu aktualizácie",
"AreYouSureYouWantToDeleteFormat": "Naozaj chcete zmazať značku formátu {0} ?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Naozaj chcete zmazať tento profil oneskorenia?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Naozaj chcete toto vzdialené mapovanie cesty odstrániť?",
"AreYouSureYouWantToResetYourAPIKey": "Naozaj chcete obnoviť kľúč API?",
"AsAllDayHelpText": "Udalosti vo vašom kalendári sa zobrazia ako celodenné udalosti",
"AudioInfo": "Informácie o zvuku",
"AuthBasic": "Základné (vyskakovacie okno prehliadača)",
@@ -80,8 +76,6 @@
"AnalyticsEnabledHelpText": "Odosielajte anonymné informácie o používaní a chybách na servery Readarru. To zahŕňa informácie o vašom prehliadači, ktoré stránky Radarr WebUI používate, hlásenia chýb a taktiež verziu operačného systému a spúšťacieho prostredia. Tieto informácie použijeme k uprednostňovaniu funkcií a oprav chýb.",
"ApplyTagsHelpTexts1": "Ako použiť značky na vybrané filmy",
"ApplyTagsHelpTexts4": "Nahradiť: Nahradí značky zadanými značkami (pre vymazanie všetkých značiek, nezadávajte žiadne)",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Naozaj chcete toto vylúčenie importného zoznamu zmazať?",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Naozaj chcete odobrať {0} položku {1} z fronty?",
"AutomaticSearch": "Automatické vyhľadávanie",
"AutoUnmonitorPreviouslyDownloadedMoviesHelpText": "Filmy odstránené z disku sa automaticky prestanú v Radarre sledovať",
"BackupFolderHelpText": "Relatívne cesty budú v priečinku AppData Radarru",
@@ -108,7 +102,6 @@
"DeleteIndexerMessageText": "Naozaj chcete zmazať značku formátu {0} ?",
"DeleteListMessageText": "Naozaj chcete zmazať značku formátu {0} ?",
"DeleteNotificationMessageText": "Naozaj chcete zmazať značku formátu {0} ?",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Naozaj chcete odobrať {0} položku {1} z fronty?",
"ImportCustomFormat": "Pridať vlastný formát",
"DeleteRestrictionHelpText": "Naozaj chcete zmazať tento profil oneskorenia?",
"AllCollectionsHiddenDueToFilter": "Všetky filmy sú skryté kvôli použitému filtru.",
@@ -143,7 +136,6 @@
"Collections": "Kolekcie",
"CollectionsSelectedInterp": "{0} Označených kolekcií",
"AnnouncedMsg": "Film je ohlásený",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Naozaj si prajete odstrániť označené položky z blocklistu?",
"ChooseImportMode": "Zvoliť Import mód",
"ApplicationURL": "URL aplikácie",
"Auto": "Automaticky",
@@ -166,7 +158,6 @@
"ClickToChangeQuality": "Kliknutím zmeníte kvalitu",
"ClientPriority": "Priorita klienta",
"CloneCustomFormat": "Klonovať vlastný formát",
"CloneFormatTag": "Klonovať značku formátu",
"CloneIndexer": "Klonovať indexer",
"CloneProfile": "Klonovať profil",
"Close": "Zatvoriť",
@@ -251,5 +242,6 @@
"Title": "Názov",
"Titles": "Názov",
"Username": "Používateľské meno",
"File": "Súbor"
"File": "Súbor",
"DeleteRemotePathMapping": "Pridajte vzdialené mapovanie ciest"
}

View File

@@ -341,7 +341,6 @@
"Conditions": "Villkor",
"CloneProfile": "Klona profil",
"CloneIndexer": "Klona indexerare",
"CloneFormatTag": "Klona format tagg",
"ClientPriority": "Klient prioritet",
"ClickToChangeQuality": "Klicka för att ändra kvalitet",
"ClickToChangeMovie": "Klicka för att ändra film",
@@ -361,7 +360,6 @@
"AutomaticSearch": "Automatisk sökning",
"Automatic": "Automatiskt",
"Authentication": "Autentisera",
"AreYouSureYouWantToResetYourAPIKey": "Är du säker på att du vill nollställa din API-nyckel?",
"ApplyTags": "Tillämpa taggar",
"AllowHardcodedSubs": "Tillåt hårdkodade undertexter",
"ApiKey": "API-nyckel",
@@ -402,7 +400,6 @@
"EnableRSS": "Aktivera RSS",
"DeleteDelayProfile": "Radera fördröjande profil",
"DeleteDownloadClient": "Radera nedladdningsklient",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Är du säker på att du vill radera den här fjärrsökvägen?",
"AddRemotePathMapping": "Lägg till fjärrsökväg",
"ShowTitle": "Visa titel",
"SourceRelativePath": "Relativ källsökväg",
@@ -502,13 +499,11 @@
"AddQualityProfile": "Lägg till kvalitetsprofil",
"AddNotification": "Lägg till avisering",
"AddDownloadClient": "Lägg till nedladdningsklient",
"AreYouSureYouWantToDeleteThisDelayProfile": "Är du säker på att du vill ta bort den här fördröjnings profilen?",
"AddDelayProfile": "Lägg till fördröjnings profil",
"AddCustomFormat": "Lägg till anpassat format",
"Add": "Lägg till",
"CertValidationNoLocal": "Inaktiverad för lokala adresser",
"BindAddress": "Bindningsadress",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Är du säker på vill ta bort {0} föremål från kön?",
"Announced": "Utannonserad",
"Always": "Alltid",
"AddToDownloadQueue": "Lägg till i nedladdningskö",
@@ -724,8 +719,6 @@
"NextExecution": "Nästa utförande",
"NoResultsFound": "Inga resultat funna",
"AllResultsHiddenFilter": "Alla resultat döljs av det tillämpade filtret",
"AreYouSureYouWantToDeleteFormat": "Är du säker på att du vill ta bort formattaggen {0}?",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Är du säker på att du vill ta bort detta undantag från importlistan?",
"ChmodGroup": "chmod grupp",
"ChmodGroupHelpText": "Gruppnamn eller gid. Använd gid för fjärrfilsystem.",
"ChmodGroupHelpTextWarning": "Detta fungerar bara om användaren som kör Radarr är ägaren till filen. Det är bättre att se till att nedladdningsklienten använder samma grupp som Radarr.",
@@ -1043,7 +1036,6 @@
"DownloadClientCheckDownloadingToRoot": "Ladda ner klient {0} placerar nedladdningar i rotmappen {1}. Du bör inte ladda ner till en rotmapp.",
"DeleteFileLabel": "Ta bort {0} filmfiler",
"UnableToAddRootFolder": "Det gick inte att ladda rotmappar",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Är du säker på att du vill ta bort de markerade objekten från svartlistan?",
"Blocklist": "Svartlista",
"BlocklistHelpText": "Förhindra Radarr att automatiskt hämta denna utgåva igen",
"BlocklistRelease": "Svartlista utgåva",
@@ -1051,7 +1043,6 @@
"UnableToLoadBlocklist": "Det gick inte att ladda svartlistan",
"Blocklisted": "Svartlista",
"NotificationTriggersHelpText": "Markera vilka event som ska utlösa den här notifikationen",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Är du säker på vill ta bort {0} föremål{1} från kön?",
"BlocklistReleases": "Svartlista Utgåva",
"Duration": "Tid",
"Never": "Aldrig",
@@ -1071,5 +1062,6 @@
"ApplicationUrlHelpText": "Denna applikations externa URL inklusive http(s)://, port och URL-bas",
"File": "Fil",
"EditMovies": "Redigera film",
"ShowCinemaReleaseHelpText": "Visa släppdatum under affischen"
"ShowCinemaReleaseHelpText": "Visa släppdatum under affischen",
"DeleteRemotePathMapping": "Redigera fjärrsökväg"
}

View File

@@ -256,12 +256,7 @@
"AppDataDirectory": "ไดเรกทอรี AppData",
"Apply": "สมัคร",
"AptUpdater": "ใช้ apt เพื่อติดตั้งการอัปเดต",
"AreYouSureYouWantToDeleteFormat": "แน่ใจไหมว่าต้องการลบแท็กรูปแบบ {0}",
"AreYouSureYouWantToDeleteThisImportListExclusion": "แน่ใจไหมว่าต้องการลบการยกเว้นรายการนำเข้านี้",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "แน่ใจไหมว่าต้องการลบการแมปเส้นทางระยะไกลนี้",
"AudioInfo": "ข้อมูลเสียง",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "แน่ใจไหมว่าต้องการลบ {0} รายการ {1} ออกจากคิว",
"AreYouSureYouWantToResetYourAPIKey": "แน่ใจไหมว่าต้องการรีเซ็ตคีย์ API",
"AsAllDayHelpText": "กิจกรรมจะปรากฏเป็นกิจกรรมตลอดทั้งวันในปฏิทินของคุณ",
"AuthBasic": "พื้นฐาน (เบราว์เซอร์ป๊อปอัพ)",
"Authentication": "การรับรองความถูกต้อง",
@@ -544,7 +539,6 @@
"TotalFileSize": "ขนาดไฟล์ทั้งหมด",
"TotalSpace": "พื้นที่ทั้งหมด",
"ApplyTagsHelpTexts4": "แทนที่: แทนที่แท็กด้วยแท็กที่ป้อน (ป้อนไม่มีแท็กเพื่อล้างแท็กทั้งหมด)",
"AreYouSureYouWantToDeleteThisDelayProfile": "แน่ใจไหมว่าต้องการลบโปรไฟล์การหน่วงเวลานี้",
"Backup": "การสำรองข้อมูล",
"Username": "ชื่อผู้ใช้",
"WaitingToImport": "กำลังรอการนำเข้า",
@@ -565,7 +559,6 @@
"ClickToChangeMovie": "คลิกเพื่อเปลี่ยนภาพยนตร์",
"ClickToChangeQuality": "คลิกเพื่อเปลี่ยนคุณภาพ",
"CloneCustomFormat": "รูปแบบที่กำหนดเองโคลน",
"CloneFormatTag": "แท็กรูปแบบโคลน",
"CloneIndexer": "Clone Indexer",
"CloneProfile": "โปรไฟล์โคลน",
"Close": "ปิด",
@@ -1043,13 +1036,11 @@
"DownloadClientCheckDownloadingToRoot": "ดาวน์โหลดไคลเอนต์ {0} จะทำการดาวน์โหลดในโฟลเดอร์รูท {1} คุณไม่ควรดาวน์โหลดไปยังโฟลเดอร์รูท",
"DeleteFileLabel": "ลบ {0} ไฟล์ภาพยนตร์",
"UnableToAddRootFolder": "ไม่สามารถโหลดโฟลเดอร์รูท",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "แน่ใจหรือไม่ว่าต้องการลบรายการที่เลือกออกจากบัญชีดำ?",
"Blocklist": "บัญชีดำ",
"BlocklistRelease": "Blacklist Release",
"RemoveFromBlocklist": "ลบออกจากบัญชีดำ",
"UnableToLoadBlocklist": "ไม่สามารถโหลดบัญชีดำ",
"Blocklisted": "บัญชีดำ",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "แน่ใจไหมว่าต้องการลบ {0} รายการ {1} ออกจากคิว",
"BlocklistReleases": "Blacklist Release",
"SelectLanguages": "เลือกภาษา",
"Filters": "กรอง",
@@ -1064,5 +1055,6 @@
"RssSyncHelpText": "ช่วงเวลาเป็นนาที ตั้งค่าเป็นศูนย์เพื่อปิดใช้งาน (สิ่งนี้จะหยุดการจับรุ่นอัตโนมัติทั้งหมด)",
"File": "ไฟล์",
"ShowCinemaReleaseHelpText": "แสดงวันที่วางจำหน่ายใต้โปสเตอร์",
"EditMovies": "แก้ไขภาพยนตร์"
"EditMovies": "แก้ไขภาพยนตร์",
"DeleteRemotePathMapping": "แก้ไขการแมปเส้นทางระยะไกล"
}

View File

@@ -219,7 +219,6 @@
"VideoCodec": "Video Codec",
"NoLimitForAnyRuntime": "Herhangi bir çalışma zamanı için sınır yok",
"CloneCustomFormat": "Özel Formatı Klonla",
"CloneFormatTag": "Klon Biçim Etiketi",
"Columns": "Sütunlar",
"ConnectionLostAutomaticMessage": "Radarr otomatik olarak bağlanmayı deneyecek veya aşağıdan yeniden yükle'yi tıklayabilirsiniz.",
"CopyUsingHardlinksHelpTextWarning": "Bazen, dosya kilitleri, başlatılan dosyaların yeniden adlandırılmasını engelleyebilir. Tohumlamayı geçici olarak devre dışı bırakabilir ve geçici olarak Radarr'ın yeniden adlandırma işlevini kullanabilirsiniz.",
@@ -404,7 +403,6 @@
"Always": "Her zaman",
"ApplyTagsHelpTexts3": "Kaldır: Girilen etiketleri kaldırın",
"AptUpdater": "Güncellemeyi yüklemek için apt kullanın",
"AreYouSureYouWantToDeleteFormat": "{0} biçim etiketini silmek istediğinizden emin misiniz?",
"CancelProcessing": "İşlemeyi İptal Et",
"CantFindMovie": "Filmimi neden bulamıyorum?",
"CertValidationNoLocal": "Yerel Adresler için Devre Dışı Bırakıldı",
@@ -449,7 +447,6 @@
"AnalyseVideoFiles": "Video dosyalarını analiz edin",
"AppDataDirectory": "AppData dizini",
"CustomFormatUnknownCondition": "Bilinmeyen Özel Biçim koşulu '{0}'",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Sıradan {0} öğeyi {1} kaldırmak istediğinizden emin misiniz?",
"AuthBasic": "Temel (Tarayıcıılır Penceresi)",
"ApplyTagsHelpTexts1": "Seçilen filmlere etiketler nasıl uygulanır",
"ApplyTagsHelpTexts2": "Ekle: Etiketleri mevcut etiket listesine ekleyin",
@@ -552,9 +549,6 @@
"AgeWhenGrabbed": "Yaş (yakalandığında)",
"AnalyticsEnabledHelpText": "Anonim kullanım ve hata bilgilerini Radarr sunucularına gönderin. Bu, tarayıcınızla ilgili bilgileri, kullandığınız Radarr WebUI sayfalarını, hata raporlamasının yanı sıra işletim sistemi ve çalışma zamanı sürümünü içerir. Bu bilgileri, özellikleri ve hata düzeltmelerini önceliklendirmek için kullanacağız.",
"Apply": "Uygulamak",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Bu içe aktarma listesi dışlamasını silmek istediğinizden emin misiniz?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Bu uzak yol eşlemesini silmek istediğinizden emin misiniz?",
"AreYouSureYouWantToResetYourAPIKey": "API Anahtarınızı sıfırlamak istediğinizden emin misiniz?",
"AsAllDayHelpText": "Etkinlikler, takviminizde tüm gün süren etkinlikler olarak görünecek",
"Authentication": "Doğrulama",
"ApplyTags": "Etiketleri Uygula",
@@ -672,7 +666,6 @@
"TotalSpace": "Toplam alan",
"UpgradeAllowedHelpText": "Devre dışı bırakılırsa nitelikler yükseltilmez",
"ApplyTagsHelpTexts4": "Değiştir: Etiketleri girilen etiketlerle değiştirin (tüm etiketleri temizlemek için hiçbir etiket girmeyin)",
"AreYouSureYouWantToDeleteThisDelayProfile": "Bu gecikme profilini silmek istediğinizden emin misiniz?",
"Backup": "Destek olmak",
"Username": "Kullanıcı adı",
"WaitingToImport": "İçe Aktarma Bekleniyor",
@@ -1043,14 +1036,12 @@
"DownloadClientCheckDownloadingToRoot": "İndirme istemcisi {0}, indirmeleri kök klasöre yerleştirir {1}. Bir kök klasöre indirmemelisiniz.",
"DeleteFileLabel": "{0} Film Dosyasını Sil",
"UnableToAddRootFolder": "Kök klasörler yüklenemiyor",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Kara listeden seçili öğeleri kaldırmak istediğinizden emin misiniz?",
"Blocklist": "Kara liste",
"BlocklistHelpText": "Radarr'ın bu sürümü otomatik olarak tekrar yakalamasını engeller",
"BlocklistRelease": "Kara Liste Yayını",
"RemoveFromBlocklist": "Kara listeden kaldır",
"UnableToLoadBlocklist": "Kara liste yüklenemiyor",
"Blocklisted": "Kara liste",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Sıradan {0} öğeyi {1} kaldırmak istediğinizden emin misiniz?",
"BlocklistReleases": "Kara Liste Yayını",
"RemotePath": "Uzak Yol",
"List": "Listeler",
@@ -1065,5 +1056,7 @@
"NoCollections": "Film bulunamadı, başlamak için yeni bir film eklemek veya mevcut filmlerden bazılarını içe aktarmak isteyeceksiniz.",
"File": "Dosyalar",
"ShowCinemaReleaseHelpText": "Posterin altında çıkış tarihini göster",
"EditMovies": "Filmi Düzenle"
"EditMovies": "Filmi Düzenle",
"DeleteRemotePathMapping": "Uzak Yol Eşlemeyi Düzenle",
"DeleteRemotePathMappingMessageText": "Bu uzak yol eşlemesini silmek istediğinizden emin misiniz?"
}

View File

@@ -17,7 +17,6 @@
"AddListExclusion": "Додати винятки списку",
"AddMovie": "Додати фільм",
"AddMovies": "Додати фільми",
"AreYouSureYouWantToDeleteThisImportListExclusion": "Ви впевнені, що хочете видалити це виключення зі списку імпорту?",
"BlocklistHelpText": "Забороняє Radarr знову автоматично захопити цей випуск",
"ChmodGroupHelpTextWarning": "Це працює лише в тому випадку, якщо власником файлу є користувач, на якому працює Radarr. Краще переконатися, що клієнт для завантаження використовує ту саму групу, що й Radarr.",
"ClickToChangeQuality": "Натисніть, щоб змінити якість",
@@ -68,7 +67,6 @@
"ClickToChangeMovie": "Натисніть, щоб змінити фільм",
"ClientPriority": "Пріоритет клієнта",
"CloneCustomFormat": "Клонувати користувацький формат",
"CloneFormatTag": "Клонувати тэг формату",
"CloneProfile": "Клонувати профіль",
"Close": "Закрити",
"CloseCurrentModal": "Закрити поточне вікно",
@@ -116,7 +114,6 @@
"AllowHardcodedSubsHelpText": "Виявлені вбудовані підписки будуть завантажені автоматично",
"AllResultsHiddenFilter": "Всі результати приховані фільтром",
"AlreadyInYourLibrary": "Вже у вашій бібліотеці",
"AreYouSureYouWantToRemoveSelectedItemsFromQueue": "Ви впевнені, що хочете видалити {0} елементів із черги?",
"BlocklistReleases": "Релізи з чорного списку",
"Branch": "Гілка",
"ConnectionLostMessage": "Radarr втратив зв’язок із бекендом, і його потрібно перезавантажити, щоб відновити функціональність.",
@@ -141,12 +138,6 @@
"ApplyTagsHelpTexts3": "Видалити: видалити введені теги",
"ApplyTagsHelpTexts4": "Замінити: Змінити наявні теги на введені теги (залишіть порожнім, щоб очистити всі теги)",
"AptUpdater": "Використовуйте apt для інсталяції оновлення",
"AreYouSureYouWantToDeleteFormat": "Ви впевнені, що хочете видалити тег {0} ?",
"AreYouSureYouWantToDeleteThisDelayProfile": "Ви впевнені, що хочете видалити цей профіль затримки?",
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Ви впевнені, що хочете видалити це відображення віддаленого шляху?",
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Ви впевнені, що хочете видалити 1 елемент із черги?",
"AreYouSureYouWantToRemoveTheSelectedItemsFromBlocklist": "Ви впевнені, що хочете видалити вибрані елементи зі списку блокування?",
"AreYouSureYouWantToResetYourAPIKey": "Ви впевнені, що хочете скинути свій ключ API?",
"AsAllDayHelpText": "Події відображатимуться у вашому календарі як події на весь день",
"AudioInfo": "Аудіо інформація",
"AuthBasic": "Основний (спливаюче вікно браузера)",
@@ -617,7 +608,6 @@
"SearchMissing": "Пошук відсутній",
"StartImport": "Розпочати імпорт",
"System": "Система",
"AreYouSureYouWantToResetQualityDefinitions": "Ви впевнені, що бажаєте скинути визначення якості?",
"CollectionsSelectedInterp": "Вибрано колекцій: {0}",
"DeleteNotification": "Видалити сповіщення",
"DeleteFileLabel": "Видалити файл фільму {0}",
@@ -867,7 +857,6 @@
"ResetDefinitions": "Скинути визначення",
"ResetQualityDefinitions": "Скинути визначення якості",
"ResetTitles": "Скинути заголовки",
"ResetTitlesHelpText": "Скинути заголовки визначень, а також значення",
"RestartNow": "Перезавантажити зараз",
"Restore": "Відновлення",
"RootFolderCheckSingleMessage": "Відсутня коренева папка: {0}",
@@ -1156,5 +1145,15 @@
"GrabSelected": "Захопити вибране",
"File": "Файл",
"ShowCinemaReleaseHelpText": "Показати дату випуску під плакатом",
"EditMovies": "Редагувати фільм"
"EditMovies": "Редагувати фільм",
"DeleteRemotePathMapping": "Додати віддалений шлях",
"DeleteCustomFormatMessageText": "Ви впевнені, що хочете видалити тег {0} ?",
"DeleteDelayProfileMessageText": "Ви впевнені, що хочете видалити цей профіль затримки?",
"DeleteFormatMessageText": "Ви впевнені, що хочете видалити тег {0} ?",
"DeleteImportListExclusionMessageText": "Ви впевнені, що хочете видалити це виключення зі списку імпорту?",
"RemoveSelectedItemsQueueMessageText": "Ви впевнені, що хочете видалити {0} елементів із черги?",
"ResetAPIKeyMessageText": "Ви впевнені, що хочете скинути свій ключ API?",
"ResetDefinitionTitlesHelpText": "Скинути заголовки визначень, а також значення",
"DeleteConditionMessageText": "Ви впевнені, що хочете видалити клієнт завантаження '{0}'?",
"RemoveSelectedItemQueueMessageText": "Ви впевнені, що хочете видалити {0} елементів із черги?"
}

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