mirror of
https://github.com/Radarr/Radarr.git
synced 2026-03-23 17:14:46 -04:00
Compare commits
27 Commits
v4.4.2.695
...
v4.4.3.703
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b48eda95dd | ||
|
|
4627093616 | ||
|
|
a006984d5e | ||
|
|
7d9183ef12 | ||
|
|
d35c6683e9 | ||
|
|
ac26bcddd9 | ||
|
|
15bafce8cc | ||
|
|
2167da87ce | ||
|
|
926d37a572 | ||
|
|
42c9e4e3e5 | ||
|
|
89b609a221 | ||
|
|
dfc9f74116 | ||
|
|
189603c756 | ||
|
|
a78693a2f7 | ||
|
|
cea0c5033a | ||
|
|
1e3a42bf42 | ||
|
|
030744ab7b | ||
|
|
17fda02d8c | ||
|
|
aabf6b9ff8 | ||
|
|
7b2fd5140b | ||
|
|
b6b10d7c6f | ||
|
|
16fcf0b56b | ||
|
|
c222a1a434 | ||
|
|
c6e91e028b | ||
|
|
fcf5984944 | ||
|
|
fdfe8ca656 | ||
|
|
150a5c1fc6 |
@@ -19,10 +19,10 @@ indent_size = 4
|
||||
dotnet_sort_system_directives_first = true
|
||||
|
||||
# Avoid "this." and "Me." if not necessary
|
||||
dotnet_style_qualification_for_field = false:warning
|
||||
dotnet_style_qualification_for_property = false:warning
|
||||
dotnet_style_qualification_for_method = false:warning
|
||||
dotnet_style_qualification_for_event = false:warning
|
||||
dotnet_style_qualification_for_field = false:refactoring
|
||||
dotnet_style_qualification_for_property = false:refactoring
|
||||
dotnet_style_qualification_for_method = false:refactoring
|
||||
dotnet_style_qualification_for_event = false:refactoring
|
||||
|
||||
# Indentation preferences
|
||||
csharp_indent_block_contents = true
|
||||
@@ -32,6 +32,10 @@ csharp_indent_case_contents_when_block = true
|
||||
csharp_indent_switch_labels = true
|
||||
csharp_indent_labels = flush_left
|
||||
|
||||
dotnet_style_qualification_for_field = false:suggestion
|
||||
dotnet_style_qualification_for_property = false:suggestion
|
||||
dotnet_style_qualification_for_method = false:suggestion
|
||||
dotnet_style_qualification_for_event = false:suggestion
|
||||
dotnet_naming_style.instance_field_style.capitalization = camel_case
|
||||
dotnet_naming_style.instance_field_style.required_prefix = _
|
||||
|
||||
@@ -64,6 +68,7 @@ dotnet_diagnostic.SA1406.severity = suggestion
|
||||
dotnet_diagnostic.SA1410.severity = suggestion
|
||||
dotnet_diagnostic.SA1411.severity = suggestion
|
||||
dotnet_diagnostic.SA1413.severity = none
|
||||
dotnet_diagnostic.SA1512.severity = none
|
||||
dotnet_diagnostic.SA1516.severity = none
|
||||
dotnet_diagnostic.SA1600.severity = none
|
||||
dotnet_diagnostic.SA1601.severity = none
|
||||
@@ -162,6 +167,7 @@ dotnet_diagnostic.CA1309.severity = suggestion
|
||||
dotnet_diagnostic.CA1310.severity = suggestion
|
||||
dotnet_diagnostic.CA1401.severity = suggestion
|
||||
dotnet_diagnostic.CA1416.severity = suggestion
|
||||
dotnet_diagnostic.CA1419.severity = suggestion
|
||||
dotnet_diagnostic.CA1507.severity = suggestion
|
||||
dotnet_diagnostic.CA1508.severity = suggestion
|
||||
dotnet_diagnostic.CA1707.severity = suggestion
|
||||
@@ -177,9 +183,6 @@ dotnet_diagnostic.CA1720.severity = suggestion
|
||||
dotnet_diagnostic.CA1721.severity = suggestion
|
||||
dotnet_diagnostic.CA1724.severity = suggestion
|
||||
dotnet_diagnostic.CA1725.severity = suggestion
|
||||
dotnet_diagnostic.CA1801.severity = suggestion
|
||||
dotnet_diagnostic.CA1802.severity = suggestion
|
||||
dotnet_diagnostic.CA1805.severity = suggestion
|
||||
dotnet_diagnostic.CA1806.severity = suggestion
|
||||
dotnet_diagnostic.CA1810.severity = suggestion
|
||||
dotnet_diagnostic.CA1812.severity = suggestion
|
||||
@@ -191,13 +194,11 @@ dotnet_diagnostic.CA1819.severity = suggestion
|
||||
dotnet_diagnostic.CA1822.severity = suggestion
|
||||
dotnet_diagnostic.CA1823.severity = suggestion
|
||||
dotnet_diagnostic.CA1824.severity = suggestion
|
||||
dotnet_diagnostic.CA1848.severity = suggestion
|
||||
dotnet_diagnostic.CA2000.severity = suggestion
|
||||
dotnet_diagnostic.CA2002.severity = suggestion
|
||||
dotnet_diagnostic.CA2007.severity = suggestion
|
||||
dotnet_diagnostic.CA2008.severity = suggestion
|
||||
dotnet_diagnostic.CA2009.severity = suggestion
|
||||
dotnet_diagnostic.CA2010.severity = suggestion
|
||||
dotnet_diagnostic.CA2011.severity = suggestion
|
||||
dotnet_diagnostic.CA2012.severity = suggestion
|
||||
dotnet_diagnostic.CA2013.severity = suggestion
|
||||
dotnet_diagnostic.CA2100.severity = suggestion
|
||||
@@ -228,6 +229,9 @@ dotnet_diagnostic.CA2243.severity = suggestion
|
||||
dotnet_diagnostic.CA2244.severity = suggestion
|
||||
dotnet_diagnostic.CA2245.severity = suggestion
|
||||
dotnet_diagnostic.CA2246.severity = suggestion
|
||||
dotnet_diagnostic.CA2249.severity = suggestion
|
||||
dotnet_diagnostic.CA2251.severity = suggestion
|
||||
dotnet_diagnostic.CA2254.severity = suggestion
|
||||
dotnet_diagnostic.CA3061.severity = suggestion
|
||||
dotnet_diagnostic.CA3075.severity = suggestion
|
||||
dotnet_diagnostic.CA3076.severity = suggestion
|
||||
@@ -255,7 +259,7 @@ dotnet_diagnostic.CA5392.severity = suggestion
|
||||
dotnet_diagnostic.CA5394.severity = suggestion
|
||||
dotnet_diagnostic.CA5397.severity = suggestion
|
||||
|
||||
|
||||
dotnet_diagnostic.SYSLIB0006.severity = none
|
||||
|
||||
[*.{js,html,js,hbs,less,css}]
|
||||
charset = utf-8
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"paths": [
|
||||
"frontend/src/**/*.js"
|
||||
],
|
||||
"ignored": [
|
||||
"**/node_modules/**/*"
|
||||
],
|
||||
"port": 5004
|
||||
}
|
||||
@@ -9,7 +9,7 @@ variables:
|
||||
testsFolder: './_tests'
|
||||
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
||||
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
||||
majorVersion: '4.4.2'
|
||||
majorVersion: '4.4.3'
|
||||
minorVersion: $[counter('minorVersion', 2000)]
|
||||
radarrVersion: '$(majorVersion).$(minorVersion)'
|
||||
buildName: '$(Build.SourceBranchName).$(radarrVersion)'
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// eslint-disable-next-line filenames/match-exported
|
||||
const loaderUtils = require('loader-utils');
|
||||
|
||||
module.exports = function cssVariablesLoader(source) {
|
||||
|
||||
@@ -162,7 +162,7 @@ class CalendarOptionsModalContent extends Component {
|
||||
values={weekColumnOptions}
|
||||
value={calendarWeekColumnHeader}
|
||||
onChange={this.onGlobalInputChange}
|
||||
helpText={translate('HelpText')}
|
||||
helpText={translate('SettingsWeekColumnHeaderHelpText')}
|
||||
/>
|
||||
</FormGroup>
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/* eslint-disable no-bitwise */
|
||||
import PropTypes from 'prop-types';
|
||||
import React, { Component } from 'react';
|
||||
import translate from 'Utilities/String/translate';
|
||||
import EnhancedSelectInput from './EnhancedSelectInput';
|
||||
import styles from './UMaskInput.css';
|
||||
|
||||
@@ -101,16 +102,16 @@ class UMaskInput extends Component {
|
||||
</div>
|
||||
<div className={styles.details}>
|
||||
<div>
|
||||
<label>UMask</label>
|
||||
<label>{translate('UMask')}</label>
|
||||
<div className={styles.value}>{umask}</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Folder</label>
|
||||
<label>{translate('Folder')}</label>
|
||||
<div className={styles.value}>{folder}</div>
|
||||
<div className={styles.unit}>d{formatPermissions(folderNum)}</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>File</label>
|
||||
<label>{translate('File')}</label>
|
||||
<div className={styles.value}>{file}</div>
|
||||
<div className={styles.unit}>{formatPermissions(fileNum)}</div>
|
||||
</div>
|
||||
|
||||
@@ -73,7 +73,7 @@ function getInfoRowProps(row, props) {
|
||||
return {
|
||||
title: translate('Ratings'),
|
||||
iconName: icons.HEART,
|
||||
label: `${props.ratings.tmdb.value * 10}%`
|
||||
label: `${(props.ratings.tmdb.value * 10).toFixed()}%`
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,10 @@ export const possibleFilterTypes = {
|
||||
{ key: filterTypes.CONTAINS, value: 'contains' },
|
||||
{ key: filterTypes.NOT_CONTAINS, value: 'does not contain' },
|
||||
{ key: filterTypes.EQUAL, value: 'equal' },
|
||||
{ key: filterTypes.NOT_EQUAL, value: 'not equal' }
|
||||
{ key: filterTypes.NOT_EQUAL, value: 'not equal' },
|
||||
{ key: filterTypes.STARTS_WITH, value: 'starts with' },
|
||||
{ key: filterTypes.NOT_STARTS_WITH, value: 'does not start with' },
|
||||
{ key: filterTypes.ENDS_WITH, value: 'ends with' },
|
||||
{ key: filterTypes.NOT_ENDS_WITH, value: 'does not end with' }
|
||||
]
|
||||
};
|
||||
|
||||
@@ -39,6 +39,22 @@ const filterTypePredicates = {
|
||||
|
||||
[filterTypes.NOT_EQUAL]: function(itemValue, filterValue) {
|
||||
return itemValue !== filterValue;
|
||||
},
|
||||
|
||||
[filterTypes.STARTS_WITH]: function(itemValue, filterValue) {
|
||||
return itemValue.toLowerCase().startsWith(filterValue.toLowerCase());
|
||||
},
|
||||
|
||||
[filterTypes.NOT_STARTS_WITH]: function(itemValue, filterValue) {
|
||||
return !itemValue.toLowerCase().startsWith(filterValue.toLowerCase());
|
||||
},
|
||||
|
||||
[filterTypes.ENDS_WITH]: function(itemValue, filterValue) {
|
||||
return itemValue.toLowerCase().endsWith(filterValue.toLowerCase());
|
||||
},
|
||||
|
||||
[filterTypes.NOT_ENDS_WITH]: function(itemValue, filterValue) {
|
||||
return !itemValue.toLowerCase().endsWith(filterValue.toLowerCase());
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@ export const LESS_THAN = 'lessThan';
|
||||
export const LESS_THAN_OR_EQUAL = 'lessThanOrEqual';
|
||||
export const NOT_CONTAINS = 'notContains';
|
||||
export const NOT_EQUAL = 'notEqual';
|
||||
export const STARTS_WITH = 'startsWith';
|
||||
export const NOT_STARTS_WITH = 'notStartsWith';
|
||||
export const ENDS_WITH = 'endsWith';
|
||||
export const NOT_ENDS_WITH = 'notEndsWith';
|
||||
|
||||
export const all = [
|
||||
CONTAINS,
|
||||
@@ -23,5 +27,9 @@ export const all = [
|
||||
IN_LAST,
|
||||
NOT_IN_LAST,
|
||||
IN_NEXT,
|
||||
NOT_IN_NEXT
|
||||
NOT_IN_NEXT,
|
||||
STARTS_WITH,
|
||||
NOT_STARTS_WITH,
|
||||
ENDS_WITH,
|
||||
NOT_ENDS_WITH
|
||||
];
|
||||
|
||||
@@ -266,7 +266,7 @@ class InteractiveImportRow extends Component {
|
||||
anchor={
|
||||
<Icon name={icons.INTERACTIVE} />
|
||||
}
|
||||
title="Formats"
|
||||
title={translate('Formats')}
|
||||
body={
|
||||
<div className={styles.customFormatTooltip}>
|
||||
<MovieFormats formats={customFormats} />
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import React, { Component } from 'react';
|
||||
import { DndProvider } from 'react-dnd';
|
||||
import { HTML5Backend } from 'react-dnd-html5-backend';
|
||||
import { DndProvider } from 'react-dnd-multi-backend';
|
||||
import HTML5toTouch from 'react-dnd-multi-backend/dist/esm/HTML5toTouch';
|
||||
import Link from 'Components/Link/Link';
|
||||
import PageContent from 'Components/Page/PageContent';
|
||||
import PageContentBody from 'Components/Page/PageContentBody';
|
||||
@@ -25,7 +25,7 @@ class Profiles extends Component {
|
||||
/>
|
||||
|
||||
<PageContentBody>
|
||||
<DndProvider backend={HTML5Backend}>
|
||||
<DndProvider options={HTML5toTouch}>
|
||||
<QualityProfilesConnector />
|
||||
<DelayProfilesConnector />
|
||||
<div className={styles.addCustomFormatMessage}>
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
"clean": "rimraf ./_output/UI && rimraf \"**/*.js.map\"",
|
||||
"start": "webpack --watch --config ./frontend/build/webpack.config.js",
|
||||
"watch": "webpack --watch --config ./frontend/build/webpack.config.js",
|
||||
"lint": "esprint check",
|
||||
"lint-fix": "esprint check --fix",
|
||||
"lint": "eslint --config frontend/.eslintrc.js --ignore-path frontend/.eslintignore frontend/",
|
||||
"lint-fix": "yarn lint --fix",
|
||||
"stylelint-linux": "stylelint $(find frontend -name '*.css') --config frontend/.stylelintrc",
|
||||
"stylelint-windows": "stylelint frontend/**/*.css --config frontend/.stylelintrc"
|
||||
},
|
||||
@@ -108,8 +108,7 @@
|
||||
"eslint-plugin-json": "3.1.0",
|
||||
"eslint-plugin-react": "7.29.4",
|
||||
"eslint-plugin-react-hooks": "4.6.0",
|
||||
"eslint-plugin-simple-import-sort": "7.0.0",
|
||||
"esprint": "3.3.0",
|
||||
"eslint-plugin-simple-import-sort": "8.0.0",
|
||||
"file-loader": "6.2.0",
|
||||
"filemanager-webpack-plugin": "5.0.0",
|
||||
"html-webpack-plugin": "5.3.1",
|
||||
|
||||
3
src/.globalconfig
Normal file
3
src/.globalconfig
Normal file
@@ -0,0 +1,3 @@
|
||||
is_global = true
|
||||
|
||||
dotnet_diagnostic.CA1014.severity = none
|
||||
@@ -1,7 +1,9 @@
|
||||
<Project>
|
||||
<!-- Common to all Radarr Projects -->
|
||||
<PropertyGroup>
|
||||
<AnalysisLevel>6.0-all</AnalysisLevel>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
|
||||
<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
|
||||
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
|
||||
@@ -356,7 +356,7 @@ namespace NzbDrone.Common.Disk
|
||||
}
|
||||
}
|
||||
|
||||
public string GetPathRoot(string path)
|
||||
public virtual string GetPathRoot(string path)
|
||||
{
|
||||
Ensure.That(path, () => path).IsValidPath();
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||
public interface IAppFolderFactory
|
||||
{
|
||||
void Register();
|
||||
void SetPermissions();
|
||||
}
|
||||
|
||||
public class AppFolderFactory : IAppFolderFactory
|
||||
@@ -58,7 +59,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||
InitializeMonoApplicationData();
|
||||
}
|
||||
|
||||
private void SetPermissions()
|
||||
public void SetPermissions()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||
bool IsAdmin { get; }
|
||||
bool IsWindowsService { get; }
|
||||
bool IsWindowsTray { get; }
|
||||
bool IsStarting { get; set; }
|
||||
bool IsExiting { get; set; }
|
||||
bool IsTray { get; }
|
||||
RuntimeMode Mode { get; }
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||
_logger = logger;
|
||||
|
||||
IsWindowsService = hostLifetime is WindowsServiceLifetime;
|
||||
IsStarting = true;
|
||||
|
||||
// net6.0 will return Radarr.dll for entry assembly, we need the actual
|
||||
// executable name (Radarr on linux). On mono this will return the location of
|
||||
@@ -82,6 +83,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||
|
||||
public bool IsWindowsService { get; private set; }
|
||||
|
||||
public bool IsStarting { get; set; }
|
||||
public bool IsExiting { get; set; }
|
||||
public bool IsTray
|
||||
{
|
||||
|
||||
@@ -131,7 +131,7 @@ namespace NzbDrone.Common.Extensions
|
||||
|
||||
public static string WrapInQuotes(this string text)
|
||||
{
|
||||
if (!text.Contains(" "))
|
||||
if (!text.Contains(' '))
|
||||
{
|
||||
return text;
|
||||
}
|
||||
@@ -217,7 +217,7 @@ namespace NzbDrone.Common.Extensions
|
||||
|
||||
public static string ToUrlHost(this string input)
|
||||
{
|
||||
return input.Contains(":") ? $"[{input}]" : input;
|
||||
return input.Contains(':') ? $"[{input}]" : input;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ namespace NzbDrone.Common.Http.Dispatchers
|
||||
}
|
||||
}
|
||||
|
||||
private void AddContentHeader(HttpRequestMessage request, string header, string value)
|
||||
private static void AddContentHeader(HttpRequestMessage request, string header, string value)
|
||||
{
|
||||
var headers = request.Content?.Headers;
|
||||
if (headers == null)
|
||||
|
||||
@@ -170,7 +170,7 @@ namespace NzbDrone.Common.Http
|
||||
|
||||
if (baseSlashIndex >= 0)
|
||||
{
|
||||
return basePath.Substring(0, baseSlashIndex) + "/" + relativePath;
|
||||
return $"{basePath.AsSpan(0, baseSlashIndex)}/{relativePath}";
|
||||
}
|
||||
|
||||
return relativePath;
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace NzbDrone.Common
|
||||
|
||||
var args = $"create {serviceName} " +
|
||||
$"DisplayName= \"{serviceName}\" " +
|
||||
$"binpath= \"{Process.GetCurrentProcess().MainModule.FileName}\" " +
|
||||
$"binpath= \"{Environment.ProcessPath}\" " +
|
||||
"start= auto " +
|
||||
"depend= EventLog/Tcpip/http " +
|
||||
"obj= \"NT AUTHORITY\\LocalService\"";
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace NzbDrone.Common.TPL
|
||||
private readonly int _maxDegreeOfParallelism;
|
||||
|
||||
/// <summary>Whether the scheduler is currently processing work items.</summary>
|
||||
private int _delegatesQueuedOrRunning = 0;
|
||||
private int _delegatesQueuedOrRunning;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes an instance of the LimitedConcurrencyLevelTaskScheduler class with the
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace NzbDrone.Core.Test.Datastore.Migration
|
||||
[TestFixture]
|
||||
public class custom_formatsFixture : MigrationTest<add_custom_formats>
|
||||
{
|
||||
public static Dictionary<int, int> QualityToDefinition = null;
|
||||
public static Dictionary<int, int> QualityToDefinition;
|
||||
|
||||
public void AddDefaultProfile(add_custom_formats m, string name, Quality cutoff, params Quality[] allowed)
|
||||
{
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.FreeboxDownloadTests
|
||||
|
||||
Mocker.GetMock<IHttpClient>()
|
||||
.Setup(s => s.Get(It.IsAny<HttpRequest>()))
|
||||
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), new byte[0]));
|
||||
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), Array.Empty<byte>()));
|
||||
}
|
||||
|
||||
protected void GivenCategory()
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using FluentAssertions;
|
||||
@@ -275,7 +276,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
|
||||
|
||||
[TestCase(-1)] // Infinite/Unknown
|
||||
[TestCase(-2)] // Magnet Downloading
|
||||
public void should_ignore_negative_eta(int eta)
|
||||
public void should_ignore_negative_eta(long eta)
|
||||
{
|
||||
_completed.Eta = eta;
|
||||
|
||||
@@ -284,6 +285,26 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
|
||||
item.RemainingTime.Should().NotHaveValue();
|
||||
}
|
||||
|
||||
[TestCase(2147483648)] // 2038-01-19T03:14:08Z > int.MaxValue as unix timestamp can be either an int or a long
|
||||
public void should_support_long_values_for_eta_in_seconds(long eta)
|
||||
{
|
||||
_downloading.Eta = eta;
|
||||
|
||||
PrepareClientToReturnDownloadingItem();
|
||||
var item = Subject.GetItems().Single();
|
||||
item.RemainingTime.Should().Be(TimeSpan.FromSeconds(eta));
|
||||
}
|
||||
|
||||
[TestCase(2147483648000)] // works with milliseconds format too
|
||||
public void should_support_long_values_for_eta_in_milliseconds(long eta)
|
||||
{
|
||||
_downloading.Eta = eta;
|
||||
|
||||
PrepareClientToReturnDownloadingItem();
|
||||
var item = Subject.GetItems().Single();
|
||||
item.RemainingTime.Should().Be(TimeSpan.FromMilliseconds(eta));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_be_removable_and_should_not_allow_move_files_if_max_ratio_reached_and_not_stopped()
|
||||
{
|
||||
|
||||
@@ -271,7 +271,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.VuzeTests
|
||||
|
||||
[TestCase(-1)] // Infinite/Unknown
|
||||
[TestCase(-2)] // Magnet Downloading
|
||||
public void should_ignore_negative_eta(int eta)
|
||||
public void should_ignore_negative_eta(long eta)
|
||||
{
|
||||
_completed.Eta = eta;
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace NzbDrone.Core.Test.Extras.Others
|
||||
|
||||
var results = Subject.ImportFiles(_localMovie, _movieFile, files, true).ToList();
|
||||
|
||||
results.Count().Should().Be(1);
|
||||
results.Count.Should().Be(1);
|
||||
|
||||
results[0].RelativePath.AsOsAgnostic().PathEquals(expectedOutputPath.AsOsAgnostic()).Should().Be(true);
|
||||
}
|
||||
@@ -78,7 +78,7 @@ namespace NzbDrone.Core.Test.Extras.Others
|
||||
|
||||
var results = Subject.ImportFiles(_localMovie, _movieFile, files, true).ToList();
|
||||
|
||||
results.Count().Should().Be(1);
|
||||
results.Count.Should().Be(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace NzbDrone.Core.Test.Extras.Subtitles
|
||||
|
||||
var results = Subject.ImportFiles(_localMovie, _movieFile, files, true).ToList();
|
||||
|
||||
results.Count().Should().Be(0);
|
||||
results.Count.Should().Be(0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -84,7 +84,7 @@ namespace NzbDrone.Core.Test.Extras.Subtitles
|
||||
|
||||
var results = Subject.ImportFiles(_localMovie, _movieFile, files, true).ToList();
|
||||
|
||||
results.Count().Should().Be(1);
|
||||
results.Count.Should().Be(1);
|
||||
|
||||
results[0].RelativePath.AsOsAgnostic().PathEquals(expectedOutputPath.AsOsAgnostic()).Should().Be(true);
|
||||
}
|
||||
@@ -110,7 +110,7 @@ namespace NzbDrone.Core.Test.Extras.Subtitles
|
||||
|
||||
var results = Subject.ImportFiles(_localMovie, _movieFile, files, true).ToList();
|
||||
|
||||
results.Count().Should().Be(expectedOutputs.Length);
|
||||
results.Count.Should().Be(expectedOutputs.Length);
|
||||
|
||||
for (int i = 0; i < expectedOutputs.Length; i++)
|
||||
{
|
||||
@@ -139,7 +139,7 @@ namespace NzbDrone.Core.Test.Extras.Subtitles
|
||||
|
||||
var results = Subject.ImportFiles(_localMovie, _movieFile, files, true).ToList();
|
||||
|
||||
results.Count().Should().Be(expectedOutputs.Length);
|
||||
results.Count.Should().Be(expectedOutputs.Length);
|
||||
|
||||
for (int i = 0; i < expectedOutputs.Length; i++)
|
||||
{
|
||||
@@ -169,7 +169,7 @@ namespace NzbDrone.Core.Test.Extras.Subtitles
|
||||
|
||||
var results = Subject.ImportFiles(_localMovie, _movieFile, new List<string> { subtitleFile }, true).ToList();
|
||||
|
||||
results.Count().Should().Be(1);
|
||||
results.Count.Should().Be(1);
|
||||
|
||||
results[0].RelativePath.AsOsAgnostic().PathEquals(expectedOutputPath.AsOsAgnostic()).Should().Be(true);
|
||||
|
||||
|
||||
@@ -62,13 +62,21 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests
|
||||
releaseInfo.Size.Should().Be(1183105773);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_use_pagesize_reported_by_caps()
|
||||
public void should_use_best_pagesize_reported_by_caps()
|
||||
{
|
||||
_caps.MaxPageSize = 30;
|
||||
_caps.DefaultPageSize = 25;
|
||||
|
||||
Subject.PageSize.Should().Be(25);
|
||||
Subject.PageSize.Should().Be(30);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_use_pagesize_over_100_even_if_reported_in_caps()
|
||||
{
|
||||
_caps.MaxPageSize = 250;
|
||||
_caps.DefaultPageSize = 25;
|
||||
|
||||
Subject.PageSize.Should().Be(100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,12 +135,21 @@ namespace NzbDrone.Core.Test.IndexerTests.TorznabTests
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_use_pagesize_reported_by_caps()
|
||||
public void should_use_best_pagesize_reported_by_caps()
|
||||
{
|
||||
_caps.MaxPageSize = 30;
|
||||
_caps.DefaultPageSize = 25;
|
||||
|
||||
Subject.PageSize.Should().Be(25);
|
||||
Subject.PageSize.Should().Be(30);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_not_use_pagesize_over_100_even_if_reported_in_caps()
|
||||
{
|
||||
_caps.MaxPageSize = 250;
|
||||
_caps.DefaultPageSize = 25;
|
||||
|
||||
Subject.PageSize.Should().Be(100);
|
||||
}
|
||||
|
||||
[TestCase("http://localhost:9117/", "/api")]
|
||||
|
||||
@@ -49,7 +49,14 @@ namespace NzbDrone.Core.Test.Languages
|
||||
new object[] { 34, Language.Bengali },
|
||||
new object[] { 35, Language.Slovak },
|
||||
new object[] { 36, Language.Latvian },
|
||||
new object[] { 37, Language.SpanishLatino }
|
||||
new object[] { 37, Language.SpanishLatino },
|
||||
new object[] { 38, Language.Catalan },
|
||||
new object[] { 39, Language.Croatian },
|
||||
new object[] { 40, Language.Serbian },
|
||||
new object[] { 41, Language.Bosnian },
|
||||
new object[] { 42, Language.Estonian },
|
||||
new object[] { 43, Language.Tamil },
|
||||
new object[] { 44, Language.Indonesian }
|
||||
};
|
||||
|
||||
public static object[] ToIntCases =
|
||||
@@ -93,7 +100,14 @@ namespace NzbDrone.Core.Test.Languages
|
||||
new object[] { Language.Bengali, 34 },
|
||||
new object[] { Language.Slovak, 35 },
|
||||
new object[] { Language.Latvian, 36 },
|
||||
new object[] { Language.SpanishLatino, 37 }
|
||||
new object[] { Language.SpanishLatino, 37 },
|
||||
new object[] { Language.Catalan, 38 },
|
||||
new object[] { Language.Croatian, 39 },
|
||||
new object[] { Language.Serbian, 40 },
|
||||
new object[] { Language.Bosnian, 41 },
|
||||
new object[] { Language.Estonian, 42 },
|
||||
new object[] { Language.Tamil, 43 },
|
||||
new object[] { Language.Indonesian, 44 }
|
||||
};
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaFileDeletionService
|
||||
[TestFixture]
|
||||
public class DeleteMovieFileFixture : CoreTest<Core.MediaFiles.MediaFileDeletionService>
|
||||
{
|
||||
private static readonly string RootFolder = @"C:\Test\Movies";
|
||||
private const string RootFolder = @"C:\Test\Movies";
|
||||
private Movie _movie;
|
||||
private MovieFile _movieFile;
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
[TestCase("enus")]
|
||||
[TestCase("enusa")]
|
||||
[TestCase("wo")]
|
||||
[TestCase("ca-IT")]
|
||||
[TestCase("fr-CA")]
|
||||
public void unknown_or_invalid_code_should_return_null(string isoCode)
|
||||
{
|
||||
|
||||
@@ -147,6 +147,7 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
}
|
||||
|
||||
[TestCase("Movie.Title.1994.Romanian.1080p.XviD-LOL")]
|
||||
[TestCase("Movie.Title.1994.1080p.XviD.RoDubbed-LOL")]
|
||||
public void should_parse_language_romanian(string postTitle)
|
||||
{
|
||||
var result = Parser.Parser.ParseMovieTitle(postTitle, true);
|
||||
@@ -393,6 +394,14 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
result.First().Id.Should().Be(Language.SpanishLatino.Id);
|
||||
}
|
||||
|
||||
[TestCase("Movie.Title.1994.Catalan.1080p.XviD-LOL")]
|
||||
public void should_parse_language_catalan(string postTitle)
|
||||
{
|
||||
var result = Parser.Parser.ParseMovieTitle(postTitle, true);
|
||||
|
||||
result.Languages.Should().BeEquivalentTo(Language.Catalan);
|
||||
}
|
||||
|
||||
[TestCase("Movie.Title.en.sub")]
|
||||
[TestCase("Movie Title.eng.sub")]
|
||||
[TestCase("Movie.Title.eng.forced.sub")]
|
||||
|
||||
@@ -38,7 +38,8 @@ namespace NzbDrone.Core.CustomFormats
|
||||
MovieInfo = remoteMovie.ParsedMovieInfo,
|
||||
Movie = remoteMovie.Movie,
|
||||
Size = size,
|
||||
Languages = remoteMovie.Languages
|
||||
Languages = remoteMovie.Languages,
|
||||
IndexerFlags = remoteMovie.Release?.IndexerFlags ?? 0
|
||||
};
|
||||
|
||||
return ParseCustomFormat(input);
|
||||
|
||||
@@ -34,9 +34,10 @@ namespace NzbDrone.Core.CustomFormats
|
||||
|
||||
protected override bool IsSatisfiedByWithoutNegate(CustomFormatInput input)
|
||||
{
|
||||
var comparedLanguage = input.MovieInfo != null && Value == Language.Original.Id && input.Movie.MovieMetadata.Value.OriginalLanguage != Language.Unknown
|
||||
var comparedLanguage = input.MovieInfo != null && input.Movie != null && Value == Language.Original.Id && input.Movie.MovieMetadata.Value.OriginalLanguage != Language.Unknown
|
||||
? input.Movie.MovieMetadata.Value.OriginalLanguage
|
||||
: (Language)Value;
|
||||
|
||||
return input?.Languages?.Contains(comparedLanguage) ?? false;
|
||||
}
|
||||
|
||||
|
||||
@@ -627,13 +627,13 @@ namespace NzbDrone.Core.Datastore.Migration
|
||||
|
||||
try
|
||||
{
|
||||
if (audioChannelPositions.Contains("+"))
|
||||
if (audioChannelPositions.Contains('+'))
|
||||
{
|
||||
return audioChannelPositions.Split('+')
|
||||
.Sum(s => decimal.Parse(s.Trim(), CultureInfo.InvariantCulture));
|
||||
}
|
||||
|
||||
if (audioChannelPositions.Contains("/"))
|
||||
if (audioChannelPositions.Contains('/'))
|
||||
{
|
||||
var channelStringList = Regex.Replace(audioChannelPositions,
|
||||
@"^\d+\sobjects",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
@@ -250,7 +250,7 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
|
||||
}
|
||||
|
||||
Index = end + 1;
|
||||
identifier.Append(Buffer.Substring(start, end - start));
|
||||
identifier.Append(Buffer.AsSpan(start, end - start));
|
||||
|
||||
if (Buffer[Index] != escape)
|
||||
{
|
||||
|
||||
@@ -15,9 +15,9 @@ namespace NzbDrone.Core.Datastore
|
||||
|
||||
private const DbType EnumerableMultiParameter = (DbType)(-1);
|
||||
private readonly string _paramNamePrefix;
|
||||
private readonly bool _requireConcreteValue = false;
|
||||
private int _paramCount = 0;
|
||||
private bool _gotConcreteValue = false;
|
||||
private readonly bool _requireConcreteValue;
|
||||
private int _paramCount;
|
||||
private bool _gotConcreteValue;
|
||||
|
||||
public WhereBuilderPostgres(Expression filter, bool requireConcreteValue, int seq)
|
||||
{
|
||||
|
||||
@@ -15,9 +15,9 @@ namespace NzbDrone.Core.Datastore
|
||||
|
||||
private const DbType EnumerableMultiParameter = (DbType)(-1);
|
||||
private readonly string _paramNamePrefix;
|
||||
private readonly bool _requireConcreteValue = false;
|
||||
private int _paramCount = 0;
|
||||
private bool _gotConcreteValue = false;
|
||||
private readonly bool _requireConcreteValue;
|
||||
private int _paramCount;
|
||||
private bool _gotConcreteValue;
|
||||
|
||||
public WhereBuilderSqlite(Expression filter, bool requireConcreteValue, int seq)
|
||||
{
|
||||
|
||||
@@ -177,7 +177,7 @@ namespace NzbDrone.Core.Download.Clients.Deluge
|
||||
}
|
||||
|
||||
// Here we detect if Deluge is managing the torrent and whether the seed criteria has been met.
|
||||
// This allows drone to delete the torrent as appropriate.
|
||||
// This allows Radarr to delete the torrent as appropriate.
|
||||
item.CanMoveFiles = item.CanBeRemoved =
|
||||
torrent.IsAutoManaged &&
|
||||
torrent.StopAtRatio &&
|
||||
@@ -270,7 +270,7 @@ namespace NzbDrone.Core.Download.Clients.Deluge
|
||||
case WebExceptionStatus.SecureChannelFailure:
|
||||
return new NzbDroneValidationFailure("UseSsl", "Unable to connect through SSL")
|
||||
{
|
||||
DetailedDescription = "Drone is unable to connect to Deluge using SSL. This problem could be computer related. Please try to configure both Radarr and Deluge to not use SSL."
|
||||
DetailedDescription = "Radarr is unable to connect to Deluge using SSL. This problem could be computer related. Please try to configure both Radarr and Deluge to not use SSL."
|
||||
};
|
||||
default:
|
||||
return new NzbDroneValidationFailure(string.Empty, "Unknown exception: " + ex.Message);
|
||||
|
||||
@@ -82,7 +82,14 @@ namespace NzbDrone.Core.Download.Clients.Transmission
|
||||
|
||||
if (torrent.Eta >= 0)
|
||||
{
|
||||
item.RemainingTime = TimeSpan.FromSeconds(torrent.Eta);
|
||||
try
|
||||
{
|
||||
item.RemainingTime = TimeSpan.FromSeconds(torrent.Eta);
|
||||
}
|
||||
catch (OverflowException)
|
||||
{
|
||||
item.RemainingTime = TimeSpan.FromMilliseconds(torrent.Eta);
|
||||
}
|
||||
}
|
||||
|
||||
if (!torrent.ErrorString.IsNullOrWhiteSpace())
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
public long TotalSize { get; set; }
|
||||
public long LeftUntilDone { get; set; }
|
||||
public bool IsFinished { get; set; }
|
||||
public int Eta { get; set; }
|
||||
public long Eta { get; set; }
|
||||
public TransmissionTorrentStatus Status { get; set; }
|
||||
public int SecondsDownloading { get; set; }
|
||||
public int SecondsSeeding { get; set; }
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace NzbDrone.Core.Extras.Subtitles
|
||||
.Where(file => MediaFileExtensions.Extensions.Contains(Path.GetExtension(file)))
|
||||
.ToList();
|
||||
|
||||
if (videoFiles.Count() > 2)
|
||||
if (videoFiles.Count > 2)
|
||||
{
|
||||
return importedFiles;
|
||||
}
|
||||
@@ -246,7 +246,7 @@ namespace NzbDrone.Core.Extras.Subtitles
|
||||
|
||||
if (languageTags.Any())
|
||||
{
|
||||
suffixBuilder.Append(".");
|
||||
suffixBuilder.Append('.');
|
||||
suffixBuilder.Append(string.Join(".", languageTags));
|
||||
}
|
||||
|
||||
|
||||
@@ -34,8 +34,8 @@ namespace NzbDrone.Core.HealthCheck
|
||||
|
||||
private readonly ICached<HealthCheck> _healthCheckResults;
|
||||
|
||||
private bool _hasRunHealthChecksAfterGracePeriod = false;
|
||||
private bool _isRunningHealthChecksAfterGracePeriod = false;
|
||||
private bool _hasRunHealthChecksAfterGracePeriod;
|
||||
private bool _isRunningHealthChecksAfterGracePeriod;
|
||||
|
||||
public HealthCheckService(IEnumerable<IProvideHealthCheck> healthChecks,
|
||||
IServerSideNotificationService serverSideNotificationService,
|
||||
|
||||
@@ -189,7 +189,7 @@ namespace NzbDrone.Core.ImportLists
|
||||
if (releases.Empty())
|
||||
{
|
||||
return new NzbDroneValidationFailure(string.Empty,
|
||||
"No results were returned from your import list, please check your settings.")
|
||||
"No results were returned from your import list, please check your settings and the log for details.")
|
||||
{ IsWarning = true };
|
||||
}
|
||||
}
|
||||
@@ -199,21 +199,21 @@ namespace NzbDrone.Core.ImportLists
|
||||
}
|
||||
catch (UnsupportedFeedException ex)
|
||||
{
|
||||
_logger.Warn(ex, "Import List feed is not supported");
|
||||
_logger.Warn(ex, "Import list feed is not supported");
|
||||
|
||||
return new ValidationFailure(string.Empty, "Import List feed is not supported: " + ex.Message);
|
||||
return new ValidationFailure(string.Empty, "Import list feed is not supported: " + ex.Message);
|
||||
}
|
||||
catch (ImportListException ex)
|
||||
{
|
||||
_logger.Warn(ex, "Unable to connect to list");
|
||||
|
||||
return new ValidationFailure(string.Empty, "Unable to connect to list. " + ex.Message);
|
||||
return new ValidationFailure(string.Empty, $"Unable to connect to import list: {ex.Message}. Check the log surrounding this error for details.");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Warn(ex, "Unable to connect to list");
|
||||
_logger.Warn(ex, "Unable to connect to import list");
|
||||
|
||||
return new ValidationFailure(string.Empty, "Unable to connect to list, check the log for more details");
|
||||
return new ValidationFailure(string.Empty, $"Unable to connect to import list: {ex.Message}. Check the log surrounding this error for details.");
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace NzbDrone.Core.ImportLists.Plex
|
||||
}
|
||||
|
||||
public override string Name => "Plex Watchlist";
|
||||
public override int PageSize => 50;
|
||||
public override bool Enabled => true;
|
||||
public override bool EnableAuto => false;
|
||||
|
||||
@@ -46,7 +47,7 @@ namespace NzbDrone.Core.ImportLists.Plex
|
||||
|
||||
public override IImportListRequestGenerator GetRequestGenerator()
|
||||
{
|
||||
return new PlexListRequestGenerator(_plexTvService)
|
||||
return new PlexListRequestGenerator(_plexTvService, PageSize)
|
||||
{
|
||||
Settings = Settings
|
||||
};
|
||||
|
||||
@@ -6,11 +6,13 @@ namespace NzbDrone.Core.ImportLists.Plex
|
||||
public class PlexListRequestGenerator : IImportListRequestGenerator
|
||||
{
|
||||
private readonly IPlexTvService _plexTvService;
|
||||
private readonly int _pageSize;
|
||||
public PlexListSettings Settings { get; set; }
|
||||
|
||||
public PlexListRequestGenerator(IPlexTvService plexTvService)
|
||||
public PlexListRequestGenerator(IPlexTvService plexTvService, int pageSize)
|
||||
{
|
||||
_plexTvService = plexTvService;
|
||||
_pageSize = pageSize;
|
||||
}
|
||||
|
||||
public virtual ImportListPageableRequestChain GetMovies()
|
||||
@@ -24,9 +26,12 @@ namespace NzbDrone.Core.ImportLists.Plex
|
||||
|
||||
private IEnumerable<ImportListRequest> GetMoviesRequest()
|
||||
{
|
||||
var request = new ImportListRequest(_plexTvService.GetWatchlist(Settings.AccessToken));
|
||||
var maxPages = 10;
|
||||
|
||||
yield return request;
|
||||
for (var page = 0; page < maxPages; page++)
|
||||
{
|
||||
yield return new ImportListRequest(_plexTvService.GetWatchlist(Settings.AccessToken, _pageSize, page * _pageSize));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,13 +57,13 @@ namespace NzbDrone.Core.ImportLists.Radarr
|
||||
return new ValidationFailure("ApiKey", "API Key is invalid");
|
||||
}
|
||||
|
||||
_logger.Error(ex, "Unable to send test message");
|
||||
return new ValidationFailure("ApiKey", "Unable to send test message");
|
||||
_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.");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Error(ex, "Unable to send test message");
|
||||
return new ValidationFailure("", "Unable to send test message");
|
||||
_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.");
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -383,14 +383,14 @@ namespace NzbDrone.Core.Indexers
|
||||
{
|
||||
_logger.Warn(ex, "Unable to connect to indexer");
|
||||
|
||||
return new ValidationFailure(string.Empty, "Unable to connect to indexer, check the log for more details");
|
||||
return new ValidationFailure(string.Empty, "Unable to connect to indexer. " + ex.Message);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Warn(ex, "Unable to connect to indexer");
|
||||
|
||||
return new ValidationFailure(string.Empty, "Unable to connect to indexer, check the log for more details");
|
||||
return new ValidationFailure(string.Empty, $"Unable to connect to indexer: {ex.Message}. Check the log surrounding this error for details");
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace NzbDrone.Core.Indexers.Newznab
|
||||
|
||||
public override DownloadProtocol Protocol => DownloadProtocol.Usenet;
|
||||
|
||||
public override int PageSize => _capabilitiesProvider.GetCapabilities(Settings).DefaultPageSize;
|
||||
public override int PageSize => Math.Min(100, Math.Max(_capabilitiesProvider.GetCapabilities(Settings).DefaultPageSize, _capabilitiesProvider.GetCapabilities(Settings).MaxPageSize));
|
||||
|
||||
public override IIndexerRequestGenerator GetRequestGenerator()
|
||||
{
|
||||
@@ -155,7 +155,7 @@ namespace NzbDrone.Core.Indexers.Newznab
|
||||
{
|
||||
_logger.Warn(ex, "Unable to connect to indexer: " + ex.Message);
|
||||
|
||||
return new ValidationFailure(string.Empty, "Unable to connect to indexer, check the log for more details");
|
||||
return new ValidationFailure(string.Empty, $"Unable to connect to indexer: {ex.Message}. Check the log surrounding this error for details");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -124,12 +124,12 @@ namespace NzbDrone.Core.Indexers.Newznab
|
||||
|
||||
if (includeTmdbSearch)
|
||||
{
|
||||
ids += "&tmdbid=" + searchCriteria.Movie.MovieMetadata.Value.TmdbId;
|
||||
ids += $"&tmdbid={searchCriteria.Movie.MovieMetadata.Value.TmdbId}";
|
||||
}
|
||||
|
||||
if (includeImdbSearch)
|
||||
{
|
||||
ids += "&imdbid=" + searchCriteria.Movie.MovieMetadata.Value.ImdbId.Substring(2);
|
||||
ids += $"&imdbid={searchCriteria.Movie.MovieMetadata.Value.ImdbId.Substring(2)}";
|
||||
}
|
||||
|
||||
chain.Add(GetPagedRequests(maxPages, categories, "movie", ids));
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace NzbDrone.Core.Indexers
|
||||
public class TorrentRssParser : RssParser
|
||||
{
|
||||
// Use to sum/calculate Peers as Leechers+Seeders
|
||||
public bool CalculatePeersAsSum { get; set; } = false;
|
||||
public bool CalculatePeersAsSum { get; set; }
|
||||
|
||||
// Use the specified element name to determine the Infohash
|
||||
public string InfoHashElementName { get; set; }
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace NzbDrone.Core.Indexers.Torznab
|
||||
public override string Name => "Torznab";
|
||||
|
||||
public override DownloadProtocol Protocol => DownloadProtocol.Torrent;
|
||||
public override int PageSize => _capabilitiesProvider.GetCapabilities(Settings).DefaultPageSize;
|
||||
public override int PageSize => Math.Min(100, Math.Max(_capabilitiesProvider.GetCapabilities(Settings).DefaultPageSize, _capabilitiesProvider.GetCapabilities(Settings).MaxPageSize));
|
||||
|
||||
public override IIndexerRequestGenerator GetRequestGenerator()
|
||||
{
|
||||
@@ -146,7 +146,7 @@ namespace NzbDrone.Core.Indexers.Torznab
|
||||
{
|
||||
_logger.Warn(ex, "Unable to connect to indexer: " + ex.Message);
|
||||
|
||||
return new ValidationFailure(string.Empty, "Unable to connect to indexer, check the log for more details");
|
||||
return new ValidationFailure(string.Empty, $"Unable to connect to indexer: {ex.Message}. Check the log surrounding this error for details");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -108,6 +108,13 @@ namespace NzbDrone.Core.Languages
|
||||
public static Language Slovak => new Language(35, "Slovak");
|
||||
public static Language Latvian => new Language(36, "Latvian");
|
||||
public static Language SpanishLatino => new Language(37, "Spanish (Latino)");
|
||||
public static Language Catalan => new Language(38, "Catalan");
|
||||
public static Language Croatian => new Language(39, "Croatian");
|
||||
public static Language Serbian => new Language(40, "Serbian");
|
||||
public static Language Bosnian => new Language(41, "Bosnian");
|
||||
public static Language Estonian => new Language(42, "Estonian");
|
||||
public static Language Tamil => new Language(43, "Tamil");
|
||||
public static Language Indonesian => new Language(44, "Indonesian");
|
||||
public static Language Any => new Language(-1, "Any");
|
||||
public static Language Original => new Language(-2, "Original");
|
||||
|
||||
@@ -155,6 +162,13 @@ namespace NzbDrone.Core.Languages
|
||||
Slovak,
|
||||
Latvian,
|
||||
SpanishLatino,
|
||||
Catalan,
|
||||
Croatian,
|
||||
Serbian,
|
||||
Bosnian,
|
||||
Estonian,
|
||||
Tamil,
|
||||
Indonesian,
|
||||
Any,
|
||||
Original
|
||||
};
|
||||
|
||||
@@ -1063,5 +1063,6 @@
|
||||
"NoCollections": "لم يتم العثور على أفلام ، للبدء ، ستحتاج إلى إضافة فيلم جديد أو استيراد بعض الأفلام الموجودة.",
|
||||
"RssSyncHelpText": "الفاصل بالدقائق. اضبط على صفر للتعطيل (سيؤدي هذا إلى إيقاف كل عمليات الاستيلاء على التحرير التلقائي)",
|
||||
"AllCollectionsHiddenDueToFilter": "جميع الأفلام مخفية بسبب الفلتر المطبق.",
|
||||
"Collections": "مجموعة"
|
||||
"Collections": "مجموعة",
|
||||
"File": "الملفات"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"AllCollectionsHiddenDueToFilter": "Всички филми са скрити поради приложен филтър.",
|
||||
"Collections": "колекция",
|
||||
"NoCollections": "Не са намерени филми, за да започнете, ще искате да добавите нов филм или да импортирате някои съществуващи.",
|
||||
"RssSyncHelpText": "Интервал за минути. Задайте на нула, за да деактивирате (това ще спре всички автоматично хващане на освобождаване)"
|
||||
"RssSyncHelpText": "Интервал за минути. Задайте на нула, за да деактивирате (това ще спре всички автоматично хващане на освобождаване)",
|
||||
"File": "Файлове"
|
||||
}
|
||||
|
||||
1
src/NzbDrone.Core/Localization/Core/bs.json
Normal file
1
src/NzbDrone.Core/Localization/Core/bs.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -393,7 +393,7 @@
|
||||
"Backups": "Còpies de seguretat",
|
||||
"BeforeUpdate": "Abans de l'actualització",
|
||||
"BindAddress": "Adreça d'enllaç",
|
||||
"BindAddressHelpText": "Adreça IPv4 vàlida o '*' per a totes les interfícies",
|
||||
"BindAddressHelpText": "Adreça IP vàlida, localhost o '*' per a totes les interfícies",
|
||||
"BlocklistHelpText": "Impedeix que Radarr torni a capturar aquesta versió automàticament",
|
||||
"BlocklistReleases": "Publicacions de la llista de bloqueig",
|
||||
"Branch": "Branca",
|
||||
@@ -761,7 +761,7 @@
|
||||
"PtpOldSettingsCheckMessage": "Els següents indexadors de PassThePopcorn tenen configuracions obsoletes i s'han d'actualitzar: {0}",
|
||||
"PublishedDate": "Data de publicació",
|
||||
"Qualities": "Qualitats",
|
||||
"QualitiesHelpText": "Les qualitats més altes a la llista són més preferides. Les qualitats dins d'un mateix grup són iguals. Només es volen qualitats verificades",
|
||||
"QualitiesHelpText": "Les qualitats més altes a la llista són més preferides encara que no es comproven. Les qualitats dins d'un mateix grup són iguals. Només es volen qualitats verificades",
|
||||
"QualityCutoffHasNotBeenMet": "No s'ha assolit el tall de qualitat",
|
||||
"QualityDefinitions": "Definicions de qualitat",
|
||||
"QualityLimitsHelpText": "Els límits s'ajusten automàticament per al temps d'execució de la pel·lícula.",
|
||||
@@ -1146,5 +1146,16 @@
|
||||
"Info": "Informació",
|
||||
"ApplicationURL": "URL de l'aplicació",
|
||||
"ApplicationUrlHelpText": "URL extern d'aquesta aplicació, inclòs http(s)://, port i URL base",
|
||||
"PreferredProtocol": "Protocol preferit"
|
||||
"PreferredProtocol": "Protocol preferit",
|
||||
"File": "Fitxer",
|
||||
"DownloadClientSortingCheckMessage": "El client de baixada {0} té l'ordenació {1} activada per a la categoria de Radarr. Hauríeu de desactivar l'ordenació al vostre client de descàrrega per evitar problemes d'importació.",
|
||||
"SettingsThemeHelpText": "Canvieu el tema de la interfície d'usuari de l'aplicació, el tema \"Automàtic\" utilitzarà el tema del vostre sistema operatiu per configurar el mode clar o fosc. Inspirat en Theme.Park",
|
||||
"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?"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"Collections": "Sbírka",
|
||||
"MonitorMovies": "Monitorujte film",
|
||||
"NoCollections": "Nebyly nalezeny žádné kolekce, pro začátek budete chtít přidat nový film nebo importovat některé stávající",
|
||||
"RssSyncHelpText": "Interval v minutách. Nastavením na nulu deaktivujete (tím se zastaví veškeré automatické uvolnění uvolnění)"
|
||||
"RssSyncHelpText": "Interval v minutách. Nastavením na nulu deaktivujete (tím se zastaví veškeré automatické uvolnění uvolnění)",
|
||||
"File": "Soubory"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"MonitorMovies": "Overvåg film",
|
||||
"NoCollections": "Ingen film fundet. For at komme i gang vil du tilføje en ny film eller importere nogle eksisterende.",
|
||||
"AllCollectionsHiddenDueToFilter": "Alle film er gemt på grund af aktivt filter.",
|
||||
"Collections": "Samling"
|
||||
"Collections": "Samling",
|
||||
"File": "Filer"
|
||||
}
|
||||
|
||||
@@ -821,7 +821,7 @@
|
||||
"ListSyncLevelHelpTextWarning": "Filmdateien werden dauerhaft gelöcht, dies kann deine ganze Mediathek leeren wenn deine Listen leer sind",
|
||||
"ConsideredAvailable": "Verfügbarkeit angenommen",
|
||||
"Announced": "Angekündigt",
|
||||
"MappedDrivesRunningAsService": "Zugeordnete Netzlaufwerke sind nicht verfügbar, wenn Radarr als Windows-Dienst ausgeführt wird. Bitte lesen Sie die FAQ für weitere Informationen",
|
||||
"MappedDrivesRunningAsService": "Zugeordnete Netzlaufwerke sind nicht verfügbar, wenn Prowlarr als Windows-Dienst ausgeführt wird. Bitte lesen Sie die FAQ für weitere Informationen",
|
||||
"CouldNotConnectSignalR": "Es konnte keine Verbindung zu SignalR hergestellt werden, die Benutzeroberfläche wird nicht aktualisiert",
|
||||
"ChmodGroupHelpTextWarning": "Dies funktioniert nur, wenn der Benutzer, der Radarr ausführt, der Eigentümer der Datei ist. Es ist besser, sicherzustellen, dass der Download-Client die gleiche Gruppe wie Radarr verwendet.",
|
||||
"ChmodGroupHelpText": "Gruppenname oder gid. Verwenden Sie gid für entfernte Dateisysteme.",
|
||||
@@ -1155,5 +1155,6 @@
|
||||
"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."
|
||||
"DownloadClientSortingCheckMessage": "Downloader {0} hat die {1} Sortierung für Radarrs Kategorie aktiviert. Dies sollte deaktiviert werden, um Import-Probleme zu vermeiden.",
|
||||
"File": "Datei"
|
||||
}
|
||||
|
||||
@@ -1155,5 +1155,6 @@
|
||||
"TotalMovies": "Σύνολο ταινιών",
|
||||
"Waiting": "Αναμονή",
|
||||
"UpdateAvailable": "Νέα ενημέρωση είναι διαθέσιμη",
|
||||
"SizeLimit": "Όριο μεγέθους"
|
||||
"SizeLimit": "Όριο μεγέθους",
|
||||
"File": "Αρχεία"
|
||||
}
|
||||
|
||||
@@ -257,8 +257,8 @@
|
||||
"DownloadClientCheckUnableToCommunicateMessage": "Unable to communicate with {0}.",
|
||||
"DownloadClients": "Download Clients",
|
||||
"DownloadClientSettings": "Download Client Settings",
|
||||
"DownloadClientsSettingsSummary": "Download clients, download handling and remote path mappings",
|
||||
"DownloadClientSortingCheckMessage": "Download client {0} has {1} sorting enabled for Radarr's category. You should disable sorting in your download client to avoid import issues.",
|
||||
"DownloadClientsSettingsSummary": "Download clients, download handling and remote path mappings",
|
||||
"DownloadClientStatusCheckAllClientMessage": "All download clients are unavailable due to failures",
|
||||
"DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {0}",
|
||||
"DownloadClientUnavailable": "Download client is unavailable",
|
||||
@@ -334,6 +334,7 @@
|
||||
"FailedToLoadMovieFromAPI": "Failed to load movie from API",
|
||||
"FailedToLoadQueue": "Failed to load Queue",
|
||||
"FeatureRequests": "Feature Requests",
|
||||
"File": "File",
|
||||
"FileDateHelpText": "Change file date on import/rescan",
|
||||
"FileManagement": "File Management",
|
||||
"Filename": "Filename",
|
||||
@@ -1052,6 +1053,7 @@
|
||||
"UILanguageHelpTextWarning": "Browser Reload Required",
|
||||
"UISettings": "UI Settings",
|
||||
"UISettingsSummary": "Calendar, date and color impaired options",
|
||||
"UMask": "UMask",
|
||||
"UnableToAddANewConditionPleaseTryAgain": "Unable to add a new condition, please try again.",
|
||||
"UnableToAddANewCustomFormatPleaseTryAgain": "Unable to add a new custom format, please try again.",
|
||||
"UnableToAddANewDownloadClientPleaseTryAgain": "Unable to add a new download client, please try again.",
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"Calendar": "Calendario",
|
||||
"BackupNow": "Hacer copia de seguridad",
|
||||
"Backup": "Backup",
|
||||
"AppDataLocationHealthCheckMessage": "La actualización no será posible para evitar que se elimine AppData durante la actualización",
|
||||
"AppDataLocationHealthCheckMessage": "No será posible actualizar para prevenir que AppData se borre durante la actualización",
|
||||
"Analytics": "Analíticas",
|
||||
"All": "Todas",
|
||||
"Agenda": "Agenda",
|
||||
@@ -178,7 +178,7 @@
|
||||
"LastWriteTime": "Última Fecha de Escritura",
|
||||
"IndexerStatusCheckSingleClientMessage": "Indexers no disponibles debido a errores: {0}",
|
||||
"IndexersSettingsSummary": "Indexers y restricciones de lanzamientos",
|
||||
"IndexerSearchCheckNoInteractiveMessage": "No hay Indexers con Búsqueda Interactiva activada, Radarr no obtendrá ningún resultado en las búsquedas",
|
||||
"IndexerSearchCheckNoInteractiveMessage": "No hay indexadores disponibles con la búsqueda interactiva activada, Radarr no proporcionará ningún resultado con la búsqueda interactiva",
|
||||
"IndexerRssHealthCheckNoIndexers": "No hay indexers disponibles con sincronización RSS activada, Radarr no capturará nuevos estrenos automáticamente",
|
||||
"Indexer": "Indexador",
|
||||
"InCinemas": "En cines",
|
||||
@@ -369,7 +369,7 @@
|
||||
"CertificateValidation": "Validación del certificado",
|
||||
"BypassProxyForLocalAddresses": "Omitir Proxy para Direcciones Locales",
|
||||
"Branch": "Rama",
|
||||
"BindAddressHelpText": "Dirección IPv4 válida o '*' para todas las interfaces",
|
||||
"BindAddressHelpText": "Dirección IP4 válida o '*' para todas las interfaces",
|
||||
"Backups": "Copias de seguridad",
|
||||
"BackupRetentionHelpText": "Backups automáticos anteriores al período de retención serán borrados automáticamente",
|
||||
"BackupIntervalHelpText": "Intervalo entre backups automáticos",
|
||||
@@ -828,7 +828,7 @@
|
||||
"ImportLibrary": "Importar biblioteca",
|
||||
"ExcludeTitle": "¿Excluir {0}? Esto evitará que Radarr agregue automáticamente mediante la sincronización de listas.",
|
||||
"None": "Ninguna",
|
||||
"QualitiesHelpText": "Se prefieren las calidades más altas en la lista. Las cualidades dentro del mismo grupo son iguales. Solo se buscan cualidades comprobadas",
|
||||
"QualitiesHelpText": "Las calidades situadas mas arriba en la lista son las preferidas aunque no estén marcadas. Las calidades del mismo grupo son iguales. Sólo se buscarán las calidades marcadas",
|
||||
"DeleteFilesLabel": "Eliminar {0} archivos de película",
|
||||
"MappedDrivesRunningAsService": "Las unidades de red asignadas no están disponibles cuando se ejecutan como un servicio de Windows. Consulte las preguntas frecuentes para obtener más información",
|
||||
"RequiredRestrictionHelpText": "El comunicado debe contener al menos uno de estos términos (no distingue entre mayúsculas y minúsculas)",
|
||||
@@ -882,7 +882,7 @@
|
||||
"PreferTorrent": "Prefiero Torrent",
|
||||
"PreferUsenet": "Prefiero Usenet",
|
||||
"Presets": "Preajustes",
|
||||
"QualityProfileInUse": "No se puede eliminar un perfil de calidad adjunto a una película",
|
||||
"QualityProfileInUse": "No se puede eliminar un perfil de calidad asociado a una película, lista o colección",
|
||||
"QueueIsEmpty": "La cola está vacía",
|
||||
"RadarrCalendarFeed": "Feed de calendario de Radarr",
|
||||
"RadarrUpdated": "Radarr actualizado",
|
||||
@@ -1034,7 +1034,7 @@
|
||||
"OnMovieDelete": "Al Eliminar Película",
|
||||
"OnMovieDeleteHelpText": "Al Eliminar Película",
|
||||
"OnMovieFileDelete": "Al Eliminar Archivo De Película",
|
||||
"OnMovieFileDeleteHelpText": "Al Eliminar Archivo De Película",
|
||||
"OnMovieFileDeleteHelpText": "Al eliminar archivo de película",
|
||||
"OnMovieFileDeleteForUpgrade": "Al Eliminar Archivo De Pelicula Para Mejorar La Calidad",
|
||||
"OnMovieFileDeleteForUpgradeHelpText": "Al Eliminar Archivo De Pelicula Para Mejorar La Calidad",
|
||||
"OnUpgrade": "Al Mejorar La Calidad",
|
||||
@@ -1111,11 +1111,11 @@
|
||||
"SelectReleaseGroup": "Seleccionar Grupo De Lanzamiento",
|
||||
"SetReleaseGroup": "Configurar el grupo de lanzamiento",
|
||||
"TaskUserAgentTooltip": "User-Agent proporcionado por la aplicación llamó a la API",
|
||||
"RssSyncHelpText": "Intervalo en minutos. Ajustar a cero para inhabilitar (esto dentendrá toda captura de estrenos automática)",
|
||||
"AllCollectionsHiddenDueToFilter": "Todas las películas están ocultas debido al filtro aplicado.",
|
||||
"Collections": "Colección",
|
||||
"MonitorMovies": "Monitorear Película",
|
||||
"NoCollections": "No se encontraron películas, para comenzar, querrá agregar una nueva película o importar algunas existentes.",
|
||||
"RssSyncHelpText": "Intervalo en minutos. Ajustar a cero para inhabilitar (esto detendrá toda captura de estrenos automática)",
|
||||
"AllCollectionsHiddenDueToFilter": "Todas las colecciones están ocultas debido al filtro aplicado.",
|
||||
"Collections": "Colecciones",
|
||||
"MonitorMovies": "Monitorear Películas",
|
||||
"NoCollections": "No se han encontrado colecciones. Para empezar, añada una nueva película o importe algunas de las existentes",
|
||||
"ChooseImportMode": "Elegir Modo de Importación",
|
||||
"CollectionOptions": "Opciones de la Colección",
|
||||
"CollectionShowDetailsHelpText": "Mostrar el estado y propiedades de la colección",
|
||||
@@ -1136,11 +1136,26 @@
|
||||
"ShowCollectionDetails": "Mostrar Estado De Colección",
|
||||
"InstanceName": "Nombre de Instancia",
|
||||
"InstanceNameHelpText": "Nombre de instancia en pestaña y para nombre de aplicación en Syslog",
|
||||
"RottenTomatoesRating": "Tomato Rating",
|
||||
"RottenTomatoesRating": "Tomatómetro",
|
||||
"ScrollMovies": "Desplazar Películas",
|
||||
"ShowPosters": "Mostrar Posters",
|
||||
"UnableToLoadCollections": "No se han podido cargar las colecciones",
|
||||
"MovieCollectionMissingRoot": "Carpeta raíz faltante para colección de películas: {0}",
|
||||
"MovieOnly": "Solo Película",
|
||||
"Database": "Base de Datos"
|
||||
"Database": "Base de Datos",
|
||||
"File": "Archivo",
|
||||
"ApplicationURL": "78.30.42.111:7878",
|
||||
"ApplicationUrlHelpText": "78.30.42.111:7878",
|
||||
"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"
|
||||
}
|
||||
|
||||
1
src/NzbDrone.Core/Localization/Core/es_MX.json
Normal file
1
src/NzbDrone.Core/Localization/Core/es_MX.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
1
src/NzbDrone.Core/Localization/Core/et.json
Normal file
1
src/NzbDrone.Core/Localization/Core/et.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -1154,5 +1154,6 @@
|
||||
"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."
|
||||
"RSSHelpText": "Käytetään etsittäessä julkaisuja RSS-syötteistä ajoitetusti.",
|
||||
"File": "Tiedosto"
|
||||
}
|
||||
|
||||
@@ -1155,5 +1155,6 @@
|
||||
"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"
|
||||
"ShowPosters": "Montre les affiches",
|
||||
"File": "Fichier"
|
||||
}
|
||||
|
||||
@@ -1096,5 +1096,6 @@
|
||||
"RemotePathMappingCheckFilesWrongOSPath": "אתה משתמש בדוקר; קליינט ההורדות {0} שם הורדות ב-{1} אבל הנתיב לא תקין {2}. בחן מחדש את ניתוב התיקיות והגדרות קליינט ההורדות.",
|
||||
"RemotePathMappingCheckFolderPermissions": "ראדארר יכול לראות אבל לא לגשת לסרטים שירדו {0}. ככל הנראה בעיית הרשאות.",
|
||||
"RemotePathMappingCheckWrongOSPath": "אתה משתמש בדוקר; קליינט ההורדות {0} שם הורדות ב-{1} אבל הנתיב לא תקין {2}. בחן מחדש את ניתוב התיקיות והגדרות קליינט ההורדות.",
|
||||
"TmdbRating": "דירוג IMDB"
|
||||
"TmdbRating": "דירוג IMDB",
|
||||
"File": "קבצים"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"Collections": "संग्रह",
|
||||
"MonitorMovies": "मॉनिटर मूवी",
|
||||
"NoCollections": "कोई फ़िल्म नहीं मिली, आरंभ करने के लिए आप एक नई फ़िल्म जोड़ना चाहेंगे या कुछ मौजूदा चीज़ों को आयात करेंगे।",
|
||||
"RssSyncHelpText": "मिनटों में अंतराल। अक्षम करने के लिए शून्य पर सेट करें (यह सभी स्वचालित रिलीज़ हथियाने को रोक देगा)"
|
||||
"RssSyncHelpText": "मिनटों में अंतराल। अक्षम करने के लिए शून्य पर सेट करें (यह सभी स्वचालित रिलीज़ हथियाने को रोक देगा)",
|
||||
"File": "फ़ाइलें"
|
||||
}
|
||||
|
||||
231
src/NzbDrone.Core/Localization/Core/hr.json
Normal file
231
src/NzbDrone.Core/Localization/Core/hr.json
Normal file
@@ -0,0 +1,231 @@
|
||||
{
|
||||
"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",
|
||||
"AddDelayProfile": "Dodaj Profil Odgode",
|
||||
"AddDownloadClient": "Dodaj Klijenta za Preuzimanje",
|
||||
"Added": "Dodano",
|
||||
"AddExclusion": "Dodaj Iznimku",
|
||||
"AddImportExclusionHelpText": "Spriječi dodavanje ovog filma na Radarr preko listi",
|
||||
"AddIndexer": "Dodaj Indexer",
|
||||
"AddingTag": "Dodaj oznaku",
|
||||
"AddList": "Dodaj Listu",
|
||||
"AddListExclusion": "Dodaj na Listu Isključenja",
|
||||
"AddMovie": "Dodaj Film",
|
||||
"AddMovies": "Dodaj Filmove",
|
||||
"AddNew": "Dodaj Novo",
|
||||
"AddNewMessage": "Lako je dodati nove filmove, samo kreni upisivati ime filma kojeg želiš dodati",
|
||||
"AddNewMovie": "Dodaj Novi Film",
|
||||
"AddNewTmdbIdMessage": "Možeš pretraživati koristeći TMDb id filma. npr 'tmdb:71663'",
|
||||
"AddNotification": "Dodaj Obavijest",
|
||||
"AddQualityProfile": "Dodaj Profil Kvalitete",
|
||||
"AddRestriction": "Dodaj Ograničenje",
|
||||
"AddRootFolder": "asdf",
|
||||
"ApplicationUrlHelpText": "Vanjski URL ove aplikacije uključuje http(s)://, port i URL base",
|
||||
"ApplyTags": "Primjeni Oznake",
|
||||
"ApplyTagsHelpTexts1": "Kako primjeniti oznake za odabrane filmove",
|
||||
"ApplyTagsHelpTexts2": "Dodaj: Dodaj oznake u postojeću listu oznaka",
|
||||
"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)",
|
||||
"Always": "Uvijek",
|
||||
"Analytics": "Analitika",
|
||||
"ApiKey": "API ključ",
|
||||
"Apply": "Primjeni",
|
||||
"Authentication": "Autentikacija",
|
||||
"Backup": "Sigurnosna kopija",
|
||||
"BackupNow": "Napravi sigurnosnu kopiju sada",
|
||||
"Backups": "Sigurnosna kopija",
|
||||
"Blocklist": "Blok Lista",
|
||||
"Blocklisted": "Na Blok Listi",
|
||||
"Branch": "Grana",
|
||||
"Calendar": "Kalendar",
|
||||
"Cancel": "Otkaži",
|
||||
"Clear": "Očisti",
|
||||
"Collection": "Kolekcija",
|
||||
"Collections": "Kolekcija",
|
||||
"Connect": "Poveži",
|
||||
"Connection": "Veze",
|
||||
"Connections": "Veze",
|
||||
"Crew": "Tim",
|
||||
"Custom": "Prilagođeno",
|
||||
"CustomFormat": "Prilagođeni format",
|
||||
"CustomFormats": "Prilagođeni format",
|
||||
"Cutoff": "Prekid",
|
||||
"DelayProfile": "Profil Odgode",
|
||||
"DelayProfiles": "Profil Odgode",
|
||||
"Delete": "Obriši",
|
||||
"Deleted": "Obriši",
|
||||
"Details": "detalji",
|
||||
"Disabled": "onemogućeno",
|
||||
"Discord": "Discord",
|
||||
"Docker": "Docker",
|
||||
"DownloadClient": "Klijent za preuzimanje",
|
||||
"DownloadClients": "Klijent za preuzimanje",
|
||||
"Enable": "Omogući",
|
||||
"Enabled": "Omogući",
|
||||
"Events": "Događaj",
|
||||
"File": "Datoteka",
|
||||
"Files": "Datoteka",
|
||||
"Filter": "Filter",
|
||||
"Filters": "Filteri",
|
||||
"Formats": "Format",
|
||||
"Grab": "Dohvati",
|
||||
"Host": "Domaćin",
|
||||
"Hostname": "Ime Domaćina",
|
||||
"ICalFeed": "iCal Feed",
|
||||
"iCalLink": "iCal Link",
|
||||
"IMDb": "IMDb",
|
||||
"Indexer": "Indekser",
|
||||
"Indexers": "Indekseri",
|
||||
"Info": "Informacije",
|
||||
"Language": "jezik",
|
||||
"Metadata": "metapodaci",
|
||||
"NetCore": ".NET",
|
||||
"Quality": "kvalitet",
|
||||
"QualityProfile": "profil kvalitete",
|
||||
"QualityProfiles": "profil kvalitete",
|
||||
"Title": "naslov",
|
||||
"Lists": "Lista",
|
||||
"LocalPath": "Local Path",
|
||||
"Movie": "Film",
|
||||
"Movies": "Filmovi",
|
||||
"Password": "Lozinka",
|
||||
"Peers": "Peers",
|
||||
"Posters": "Naslovnice",
|
||||
"PreferredProtocol": "Preferirani protokol",
|
||||
"Protocol": "Protokol",
|
||||
"RecyclingBin": "Koš za Smeće",
|
||||
"Reddit": "Reddit",
|
||||
"Refresh": "Osvježi",
|
||||
"RemotePathMappings": "Daljinsko Mapiranje Portova",
|
||||
"Remove": "Ukloni",
|
||||
"Replace": "Zamijeni",
|
||||
"Required": "Zahtjevaj",
|
||||
"Reset": "Resetiraj",
|
||||
"Restrictions": "Zabrane",
|
||||
"RootFolder": "Korijenska Mapa",
|
||||
"RootFolders": "Korijenska Mapa",
|
||||
"RSS": "RSS",
|
||||
"Runtime": "Vrijeme Izvođenja",
|
||||
"Scheduled": "Zakazano",
|
||||
"Search": "Traži",
|
||||
"SettingsRemotePathMappingLocalPath": "Local Path",
|
||||
"SettingsTheme": "Tema",
|
||||
"TMDb": "TMDb",
|
||||
"Torrents": "Torrenti",
|
||||
"UI": "Korisničko Sučelje",
|
||||
"Add": "Dodaj",
|
||||
"Age": "Starost",
|
||||
"Agenda": "Agenda",
|
||||
"AddRemotePathMapping": "Daljinsko Mapiranje Portova",
|
||||
"EditRemotePathMapping": "Daljinsko Mapiranje Portova",
|
||||
"Letterboxd": "Letterboxd",
|
||||
"Languages": "jezik",
|
||||
"List": "Lista",
|
||||
"New": "Novo",
|
||||
"Port": "Port",
|
||||
"Queue": "Red",
|
||||
"Queued": "Red",
|
||||
"Rating": "Ocjena",
|
||||
"Ratings": "Ocjena",
|
||||
"Reload": "ponovno učitaj",
|
||||
"Seeders": "Seederi",
|
||||
"Settings": "Postavke",
|
||||
"Titles": "Naslovi",
|
||||
"Updates": "Ažuriraj",
|
||||
"URLBase": "URL Base",
|
||||
"Usenet": "Usenet",
|
||||
"Username": "Korisničko Ime",
|
||||
"AuthenticationMethodHelpText": "Zahtjevaj korisničko ime i lozinku za pristup Radarru",
|
||||
"AuthForm": "Forme (Login Stranica)",
|
||||
"Auto": "Automatski",
|
||||
"Automatic": "Automatski",
|
||||
"AutomaticSearch": "Automatska Pretraga",
|
||||
"AutoRedownloadFailedHelpText": "Automatski pretraži i pokušaj preuzeti drukčiju verziju",
|
||||
"AutoUnmonitorPreviouslyDownloadedMoviesHelpText": "U Radarru se automatski isključuje nadzor za filmove koji su izbrisani sa diska",
|
||||
"AvailabilityDelay": "Mogućnost Odgode",
|
||||
"AvailabilityDelayHelpText": "Vremenski iznos prije ili nakon dostupnog datuma za pretragu filma",
|
||||
"BackupFolderHelpText": "Relativne putanje će biti unutar Radarrovog AppData direktorija",
|
||||
"BackupIntervalHelpText": "Interval između automatskih sigurnosnih kopija",
|
||||
"BackupRetentionHelpText": "Automatske sigurnosne kopije starije od vremena zadržavanja će biti očišćene automatski",
|
||||
"BeforeUpdate": "Prije ažuriranja",
|
||||
"BindAddress": "Poveži Adrese",
|
||||
"BindAddressHelpText": "Ispravna IP adresa, localhost ili '*' za sva sučelja",
|
||||
"BlocklistHelpText": "Spriječi Radarr da automatski dohvaća ovu verziju ponovno",
|
||||
"BlocklistRelease": "Verzija Blok Liste",
|
||||
"BlocklistReleases": "Verzije Blok Liste",
|
||||
"BranchUpdate": "Grana korištena za ažuriranje Radarra",
|
||||
"BranchUpdateMechanism": "Grana korištena od strane vanjskog mehanizma za ažuriranje",
|
||||
"BuiltIn": "Ugrađeno",
|
||||
"BypassDelayIfHighestQuality": "Zaobiđi ako je Najviši Kvalitet",
|
||||
"BypassDelayIfHighestQualityHelpText": "Zaobiđi odgodu ako verzija ima omogućen najviši kvalitet u profilu kvalitete za vanjske protokole",
|
||||
"EditQualityProfile": "Dodaj Profil Kvalitete",
|
||||
"EditRestriction": "Dodaj Ograničenje",
|
||||
"ShowQualityProfile": "Dodaj Profil Kvalitete",
|
||||
"YouCanAlsoSearch": "Možeš pretraživati koristeći TMDb id filma. npr 'tmdb:71663'",
|
||||
"AddToDownloadQueue": "Dodano u red za preuzimanje",
|
||||
"DeleteTagMessageText": "Jeste li sigurni da želite obrisati oznaku formata {0}?",
|
||||
"EditCustomFormat": "Dodaj Prilagođeni Format",
|
||||
"EditDelayProfile": "Dodaj Profil Odgode",
|
||||
"EditListExclusion": "Dodaj na Listu Isključenja",
|
||||
"QualityProfileDeleteConfirm": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
|
||||
"RemoveFromQueueText": "Jeste li sigurni da želite izbrisati stavku {0} iz reda?",
|
||||
"ChmodGroupHelpTextWarning": "Ovo jedino radi ako je korisnik koji je pokrenuo Radarr vlasnik datoteke. Bolje je osigurati da klijent za preuzimanje koristi istu grupu kao Radarr.",
|
||||
"AfterManualRefresh": "Nakon Ručnog Osvježavanja",
|
||||
"AgeWhenGrabbed": "Starost (kada bude dohvaćeno)",
|
||||
"All": "Sve",
|
||||
"AllCollectionsHiddenDueToFilter": "Sve kolekcije su skrivene zbog primjenjenog filtera.",
|
||||
"AllFiles": "Sve Datoteke",
|
||||
"AllMoviesHiddenDueToFilter": "Svi filmovi su skriveni zbog primjenjenog filtera.",
|
||||
"AllMoviesInPathHaveBeenImported": "Svi filmovi u {0} su uvezeni",
|
||||
"AllowHardcodedSubs": "Dozvoli hardkodirane prijevode",
|
||||
"AllowHardcodedSubsHelpText": "Otkriveni hardkodirani prijevodi će biti automatski preuzeti",
|
||||
"AllResultsHiddenFilter": "Svi rezultati su skriveni zbog primjenjenog filtera",
|
||||
"AlreadyInYourLibrary": "Već je u Vašoj biblioteci",
|
||||
"AlternativeTitle": "Alternativni Naslov",
|
||||
"AnalyseVideoFiles": "Analiziraj video datoteke",
|
||||
"AnalyticsEnabledHelpText": "Pošalji anonimnu informaciju o uporabi i pogreškama Radarr serverima. Ovo uključuje informacije o Vašem pregledniku, koje Radarr WebUI stranice koristite, prijave o greškama kao i o OS i runtime verziji. Ove podatke koristimo kako bismo dali prioritet značajkama i popravili greške.",
|
||||
"Announced": "Najavljeno",
|
||||
"AnnouncedMsg": "Film je najavljen",
|
||||
"AppDataDirectory": "AppData direktorij",
|
||||
"ApplicationURL": "URL Aplikacije",
|
||||
"BypassProxyForLocalAddresses": "Zaobiđi Proxy za Lokalne Adrese",
|
||||
"CalendarOptions": "Opcije Kalendara",
|
||||
"CancelPendingTask": "Jeste li sigurni da želite otkazati ovaj zadatak na čekanju?",
|
||||
"CancelProcessing": "Otkaži Procesiranje",
|
||||
"CantFindMovie": "Zašto ne mogu pronaći moj film?",
|
||||
"Cast": "Filmska Postava",
|
||||
"CertificateValidation": "Potvrda Certifikata",
|
||||
"CertificateValidationHelpText": "Promijenite strogoću validacije HTTPS certifikata. Nemojte promijeniti ako ne razumijete rizik.",
|
||||
"Certification": "Certifikacija",
|
||||
"CertificationCountry": "Država Certifikacije",
|
||||
"CertificationCountryHelpText": "Odaberite Državu za Certfikaciju Filmova",
|
||||
"CertValidationNoLocal": "Onemogućeno za Lokalne Adrese",
|
||||
"ChangeFileDate": "Promijeni Datum Datoteke",
|
||||
"ChangeHasNotBeenSavedYet": "Promjene još nisu spremljene",
|
||||
"CheckDownloadClientForDetails": "provjerite klienta za preuzimanje za još detalja",
|
||||
"CheckForFinishedDownloadsInterval": "Interval Provjere Završenih Preuzimanja",
|
||||
"ChmodFolder": "chmod Mapa",
|
||||
"ChmodFolderHelpText": "Octal, primjenjeno na dokumentima i mapama tijekom uvoza/promjene imena (bez izvršnih bitova)",
|
||||
"ChmodFolderHelpTextWarning": "Ovo jedino radi ako je korisnik koji je pokrenuo Radarr vlasnik datoteke. Bolje je osigurati da klijent za preuzimanje postavi dozvolu ispravno.",
|
||||
"ChmodGroup": "chmod Grupa",
|
||||
"ChmodGroupHelpText": "Naziv grupe ili gid. Koristite gid za udaljene sustave datoteka.",
|
||||
"ChooseAnotherFolder": "Odaberite Drugu Mapu",
|
||||
"ChooseImportMode": "Odaberite Način Uvoza"
|
||||
}
|
||||
@@ -1155,5 +1155,7 @@
|
||||
"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."
|
||||
"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"
|
||||
}
|
||||
|
||||
1
src/NzbDrone.Core/Localization/Core/id.json
Normal file
1
src/NzbDrone.Core/Localization/Core/id.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"Collections": "Söfnun",
|
||||
"MonitorMovies": "Fylgstu með kvikmynd",
|
||||
"NoCollections": "Engar kvikmyndir fundust, til að byrja, þá viltu bæta við nýrri kvikmynd eða flytja inn þær sem fyrir eru.",
|
||||
"RssSyncHelpText": "Bil á nokkrum mínútum. Stillt á núll til að gera óvirkt (þetta stöðvar allan sjálfvirkan losunartak)"
|
||||
"RssSyncHelpText": "Bil á nokkrum mínútum. Stillt á núll til að gera óvirkt (þetta stöðvar allan sjálfvirkan losunartak)",
|
||||
"File": "Skrár"
|
||||
}
|
||||
|
||||
@@ -1107,5 +1107,6 @@
|
||||
"ChooseImportMode": "Selezionare Metodo di Importazione",
|
||||
"EditCollection": "Modifica Connessione",
|
||||
"SettingsThemeHelpText": "Cambia il Tema dell'interfaccia dell’applicazione, il Tema 'Auto' userà il suo Tema di Sistema per impostare la modalità Chiara o Scura. Ispirato da {0}",
|
||||
"PreferredProtocol": "Protocollo Preferito"
|
||||
"PreferredProtocol": "Protocollo Preferito",
|
||||
"File": "File"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"AllCollectionsHiddenDueToFilter": "フィルタが適用されているため、すべてのムービーが非表示になっています。",
|
||||
"Collections": "コレクション",
|
||||
"MonitorMovies": "モニタームービー",
|
||||
"NoCollections": "映画が見つかりません。開始するには、新しい映画を追加するか、既存の映画をインポートする必要があります。"
|
||||
"NoCollections": "映画が見つかりません。開始するには、新しい映画を追加するか、既存の映画をインポートする必要があります。",
|
||||
"File": "ファイル"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"MonitorMovies": "영화 모니터링",
|
||||
"Collections": "컬렉션",
|
||||
"NoCollections": "영화를 찾을 수 없습니다. 시작하려면 새 영화를 추가하거나 기존 영화를 가져와야합니다.",
|
||||
"RssSyncHelpText": "간격 (분)입니다. 사용하지 않으려면 0으로 설정합니다 (모든 자동 릴리스 잡기가 중지됨)."
|
||||
"RssSyncHelpText": "간격 (분)입니다. 사용하지 않으려면 0으로 설정합니다 (모든 자동 릴리스 잡기가 중지됨).",
|
||||
"File": "파일"
|
||||
}
|
||||
|
||||
@@ -255,5 +255,6 @@
|
||||
"List": "Liste",
|
||||
"New": "Ny",
|
||||
"RemotePathMappings": "Ekstern portmapping",
|
||||
"Languages": "språk"
|
||||
"Languages": "språk",
|
||||
"File": "Fil"
|
||||
}
|
||||
|
||||
@@ -829,7 +829,7 @@
|
||||
"MegabytesPerMinute": "Megabytes Per Minuut",
|
||||
"Medium": "Gemiddeld",
|
||||
"Max": "Max",
|
||||
"MappedDrivesRunningAsService": "Toegewezen netwerkstation is niet beschikbaar wanneer Radarr wordt uitgevoerd als een Windows Service. Bekijk de Veelgestelde Vragen voor meer informatie",
|
||||
"MappedDrivesRunningAsService": "Toegewezen netwerkstation is niet beschikbaar wanneer Prowlarr wordt uitgevoerd als een Windows Service. Bekijk de Veelgestelde Vragen voor meer informatie",
|
||||
"ManualImportSelectQuality": " Manuele Import - Selecteer Kwaliteit",
|
||||
"ManualImportSelectLanguage": "Manuele import - Selecteer Taal",
|
||||
"ManualImportSelectMovie": "Manuele import - Selecteer Film",
|
||||
@@ -1116,5 +1116,6 @@
|
||||
"CollectionShowOverviewsHelpText": "Collectieoverzicht weergeven",
|
||||
"EditCollection": "Bewerk collectie",
|
||||
"BypassDelayIfHighestQualityHelpText": "Vertraging negeren wanneer een release de hoogst mogelijke kwaliteit heeft in het kwaliteitsprofiel van het geprefereerde protocol",
|
||||
"CollectionShowPostersHelpText": "Posters van de collectie tonen"
|
||||
"CollectionShowPostersHelpText": "Posters van de collectie tonen",
|
||||
"File": "Bestand"
|
||||
}
|
||||
|
||||
@@ -1145,5 +1145,6 @@
|
||||
"TotalMovies": "Filmów całkowicie",
|
||||
"RottenTomatoesRating": "Ocena Tomato",
|
||||
"ApplicationUrlHelpText": "Zewnętrzny URL tej aplikacji zawiera http(s)://, port i adres URL",
|
||||
"ApplicationURL": "Link do aplikacji"
|
||||
"ApplicationURL": "Link do aplikacji",
|
||||
"File": "Plik"
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@
|
||||
"Added": "Adicionado",
|
||||
"Activity": "Atividade",
|
||||
"Actions": "Ações",
|
||||
"About": "Informações",
|
||||
"About": "Sobre",
|
||||
"AvailabilityDelay": "Atraso de disponibilidade",
|
||||
"AutoUnmonitorPreviouslyDownloadedMoviesHelpText": "Filmes eliminados do disco deixam automaticamente de ser monitorados no Radarr",
|
||||
"AutoRedownloadFailedHelpText": "Pesquisar e tentar transferir automaticamente uma versão diferente",
|
||||
@@ -1145,5 +1145,6 @@
|
||||
"MovieCollectionMissingRoot": "Falta a pasta base para a coleção de filmes: {0}",
|
||||
"MovieCollectionMultipleMissingRoots": "Faltam várias pastas base para as coleções de filmes: {0}",
|
||||
"MovieOnly": "Apenas filme",
|
||||
"ShowCollectionDetails": "Mostrar estado da coleção"
|
||||
"ShowCollectionDetails": "Mostrar estado da coleção",
|
||||
"File": "Ficheiro"
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"IndexerStatusCheckAllClientMessage": "Todos os indexadores estão indisponíveis devido a falhas",
|
||||
"IndexersSettingsSummary": "Indexadores e restrições de lançamento",
|
||||
"IndexerSettings": "Configurações do indexador",
|
||||
"IndexerSearchCheckNoInteractiveMessage": "Nenhum indexador disponível com a Pesquisa Interativa habilitada, o Radarr não fornecerá nenhum resultado de pesquisa interativa",
|
||||
"IndexerSearchCheckNoInteractiveMessage": "Nenhum indexador disponível com a Pesquisa Interativa habilitada, o Radarr não fornecerá nenhum resultado para a pesquisa interativa",
|
||||
"IndexerSearchCheckNoAvailableIndexersMessage": "Todos os indexadores com capacidade de pesquisa estão temporariamente indisponíveis devido a erros recentes do indexador",
|
||||
"IndexerSearchCheckNoAutomaticMessage": "Nenhum indexador disponível com a Pesquisa automática habilitada, o Radarr não fornecerá nenhum resultado de pesquisa automática",
|
||||
"Indexers": "Indexadores",
|
||||
@@ -961,7 +961,7 @@
|
||||
"UpdateSelected": "Atualizar selecionado(s)",
|
||||
"UpdateScriptPathHelpText": "Caminho para um script personalizado que usa um pacote de atualização extraído e lida com o restante do processo de atualização",
|
||||
"Updates": "Atualizações",
|
||||
"UpdateMechanismHelpText": "Use o atualizador integrado do Radarr ou um script",
|
||||
"UpdateMechanismHelpText": "Usar o atualizador integrado do Radarr ou um script",
|
||||
"UpdateCheckUINotWritableMessage": "Não é possível instalar a atualização porque a pasta de interface do usuário '{0}' não é gravável pelo usuário '{1}'.",
|
||||
"UpdateCheckStartupTranslocationMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{0}' está em uma pasta App Translocation.",
|
||||
"UpdateCheckStartupNotWritableMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{0}' não pode ser gravada pelo usuário '{1}'.",
|
||||
@@ -1078,7 +1078,7 @@
|
||||
"AreYouSureYouWantToRemoveSelectedItemFromQueue": "Você tem certeza de que deseja remover {0} item{1} da fila?",
|
||||
"BlocklistReleases": "Lançamento na lista de bloqueio",
|
||||
"RemoveSelectedItems": "Remover Itens Selecionados",
|
||||
"IndexerTagHelpText": "Use este indexador apenas para filmes com pelo menos uma etiqueta correspondente. Deixe em branco para usar com todos os filmes.",
|
||||
"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",
|
||||
"RemoveFailed": "Falha na Remoção",
|
||||
"RemoveCompleted": "Remover Completos",
|
||||
@@ -1155,5 +1155,7 @@
|
||||
"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."
|
||||
"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",
|
||||
"UMask": "Desmascarar"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"Collections": "Colecție",
|
||||
"MonitorMovies": "Monitorizați filmul",
|
||||
"NoCollections": "Nu s-au găsit filme, pentru a începe, va trebui să adăugați un film nou sau să importați unele existente.",
|
||||
"RssSyncHelpText": "Interval în minute. Setați la zero pentru a dezactiva (acest lucru va opri toate apucările de eliberare automată)"
|
||||
"RssSyncHelpText": "Interval în minute. Setați la zero pentru a dezactiva (acest lucru va opri toate apucările de eliberare automată)",
|
||||
"File": "Fișier"
|
||||
}
|
||||
|
||||
@@ -1155,5 +1155,7 @@
|
||||
"ApplicationURL": "URL-адрес приложения",
|
||||
"ApplicationUrlHelpText": "Внешний URL-адрес этого приложения, включая http(s)://, порт и базовый URL-адрес",
|
||||
"ScrollMovies": "Прокрутите фильмы",
|
||||
"DownloadClientSortingCheckMessage": "В загрузочном клиенте {0} включена {1} сортировка для категории Radarr. Вам следует отключить сортировку в вашем клиенте загрузки, чтобы избежать проблем с импортом."
|
||||
"DownloadClientSortingCheckMessage": "В загрузочном клиенте {0} включена {1} сортировка для категории Radarr. Вам следует отключить сортировку в вашем клиенте загрузки, чтобы избежать проблем с импортом.",
|
||||
"File": "Файл",
|
||||
"UMask": "UMask"
|
||||
}
|
||||
|
||||
@@ -250,5 +250,6 @@
|
||||
"RSS": "RSS",
|
||||
"Title": "Názov",
|
||||
"Titles": "Názov",
|
||||
"Username": "Používateľské meno"
|
||||
"Username": "Používateľské meno",
|
||||
"File": "Súbor"
|
||||
}
|
||||
|
||||
1
src/NzbDrone.Core/Localization/Core/sr.json
Normal file
1
src/NzbDrone.Core/Localization/Core/sr.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -1069,5 +1069,6 @@
|
||||
"RssSyncHelpText": "Intervall i minuter. Ställ in på noll för att inaktivera (detta kommer stoppa all automatisk hämntning av utgåvor)",
|
||||
"AnnouncedMsg": "Filmen tillkännages",
|
||||
"ApplicationURL": "Applikations-URL",
|
||||
"ApplicationUrlHelpText": "Denna applikations externa URL inklusive http(s)://, port och URL-bas"
|
||||
"ApplicationUrlHelpText": "Denna applikations externa URL inklusive http(s)://, port och URL-bas",
|
||||
"File": "Fil"
|
||||
}
|
||||
|
||||
1
src/NzbDrone.Core/Localization/Core/ta.json
Normal file
1
src/NzbDrone.Core/Localization/Core/ta.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"MonitorMovies": "ตรวจสอบภาพยนตร์",
|
||||
"Collections": "คอลเลกชัน",
|
||||
"NoCollections": "ไม่พบภาพยนตร์ในการเริ่มต้นคุณจะต้องเพิ่มภาพยนตร์ใหม่หรือนำเข้าภาพยนตร์ที่มีอยู่",
|
||||
"RssSyncHelpText": "ช่วงเวลาเป็นนาที ตั้งค่าเป็นศูนย์เพื่อปิดใช้งาน (สิ่งนี้จะหยุดการจับรุ่นอัตโนมัติทั้งหมด)"
|
||||
"RssSyncHelpText": "ช่วงเวลาเป็นนาที ตั้งค่าเป็นศูนย์เพื่อปิดใช้งาน (สิ่งนี้จะหยุดการจับรุ่นอัตโนมัติทั้งหมด)",
|
||||
"File": "ไฟล์"
|
||||
}
|
||||
|
||||
@@ -1063,5 +1063,6 @@
|
||||
"AllCollectionsHiddenDueToFilter": "Uygulanan filtre nedeniyle tüm filmler gizlendi.",
|
||||
"Collections": "Koleksiyon",
|
||||
"MonitorMovies": "Filmi İzle",
|
||||
"NoCollections": "Film bulunamadı, başlamak için yeni bir film eklemek veya mevcut filmlerden bazılarını içe aktarmak isteyeceksiniz."
|
||||
"NoCollections": "Film bulunamadı, başlamak için yeni bir film eklemek veya mevcut filmlerden bazılarını içe aktarmak isteyeceksiniz.",
|
||||
"File": "Dosyalar"
|
||||
}
|
||||
|
||||
@@ -1154,5 +1154,6 @@
|
||||
"GrabID": "Захопити ID",
|
||||
"GrabRelease": "Захопити реліз",
|
||||
"GrabReleaseMessageText": "Radarr не зміг визначити, для якого фільму цей випуск. Можливо, Radarr не зможе автоматично імпортувати цей випуск. Ви хочете взяти '{0}'?",
|
||||
"GrabSelected": "Захопити вибране"
|
||||
"GrabSelected": "Захопити вибране",
|
||||
"File": "Файл"
|
||||
}
|
||||
|
||||
@@ -1062,5 +1062,6 @@
|
||||
"Collections": "Bộ sưu tập",
|
||||
"MonitorMovies": "Theo dõi phim",
|
||||
"NoCollections": "Không tìm thấy phim nào, để bắt đầu, bạn sẽ muốn thêm phim mới hoặc nhập một số phim hiện có.",
|
||||
"RssSyncHelpText": "Khoảng thời gian tính bằng phút. Đặt thành 0 để tắt (điều này sẽ dừng tất cả việc lấy bản phát hành tự động)"
|
||||
"RssSyncHelpText": "Khoảng thời gian tính bằng phút. Đặt thành 0 để tắt (điều này sẽ dừng tất cả việc lấy bản phát hành tự động)",
|
||||
"File": "Các tập tin"
|
||||
}
|
||||
|
||||
@@ -636,7 +636,7 @@
|
||||
"InstallLatest": "安装最新版",
|
||||
"IndexerStatusCheckSingleClientMessage": "搜刮器因错误不可用:{0}",
|
||||
"IndexerStatusCheckAllClientMessage": "所有搜刮器都因错误不可用",
|
||||
"IndexerSearchCheckNoInteractiveMessage": "没有任何索引器开启了手动搜索,因此 Radarr 不会提供任何手动搜索的结果",
|
||||
"IndexerSearchCheckNoInteractiveMessage": "没有任何索引器开启了手动搜索,因此 Radarr不会提供任何手动搜索的结果",
|
||||
"IndexerRssHealthCheckNoIndexers": "没有任何索引器开启了RSS同步,Radarr不会自动抓取新发布的影片",
|
||||
"IndexerLongTermStatusCheckSingleClientMessage": "由于故障6小时,下列索引器都已不可用:{0}",
|
||||
"IndexerLongTermStatusCheckAllClientMessage": "由于故障超过6小时,所有索引器均不可用",
|
||||
@@ -1145,7 +1145,7 @@
|
||||
"TotalMovies": "电影总数",
|
||||
"ApplicationUrlHelpText": "此应用的外部URL,包含 http(s)://、端口和基本URL",
|
||||
"ApplicationURL": "程序URL",
|
||||
"BindAddressHelpText": "有效的 IP 地址,localhost,或以'*'代表所有地址",
|
||||
"BindAddressHelpText": "有效的 IPv4 地址、localhost、或以'*'代表所有接口",
|
||||
"PreferredProtocol": "首选协议",
|
||||
"AreYouSureYouWantToResetQualityDefinitions": "确定要重置质量定义吗?",
|
||||
"SettingsThemeHelpText": "更改程序界面主题,“自动”主题将根据您的操作系统主题来设置浅色或深色模式。灵感来自Theme.Park",
|
||||
@@ -1155,5 +1155,7 @@
|
||||
"ResetTitlesHelpText": "重置定义标题与参数值",
|
||||
"SettingsTheme": "主题",
|
||||
"RSSHelpText": "当Radarr定期通过RSS同步查找发布时使用",
|
||||
"DownloadClientSortingCheckMessage": "下载客户端 {0} 为 Radarr 的类别启用了 {1} 排序。 您应该在下载客户端中禁用排序以避免导入问题。"
|
||||
"DownloadClientSortingCheckMessage": "下载客户端 {0} 为 Radarr 的类别启用了 {1} 排序。 您应该在下载客户端中禁用排序以避免导入问题。",
|
||||
"File": "文件",
|
||||
"UMask": "UMask"
|
||||
}
|
||||
|
||||
@@ -17,5 +17,7 @@
|
||||
"AddedToDownloadQueue": "已添加到下載隊列",
|
||||
"EditCustomFormat": "新增自定義格式",
|
||||
"EditDelayProfile": "新增延時配置",
|
||||
"AddToDownloadQueue": "已添加到下載隊列"
|
||||
"AddToDownloadQueue": "已添加到下載隊列",
|
||||
"ExportCustomFormat": "新增自定義格式",
|
||||
"ImportCustomFormat": "新增自定義格式"
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ namespace NzbDrone.Core.Localization
|
||||
|
||||
await CopyInto(dictionary, baseFilenamePath).ConfigureAwait(false);
|
||||
|
||||
if (culture.Contains("_"))
|
||||
if (culture.Contains('_'))
|
||||
{
|
||||
var languageBaseFilenamePath = Path.Combine(prefix, GetResourceFilename(culture.Split('_')[0]));
|
||||
await CopyInto(dictionary, languageBaseFilenamePath).ConfigureAwait(false);
|
||||
|
||||
@@ -13,5 +13,7 @@ namespace NzbDrone.Core.MediaFiles.Commands
|
||||
public string Path { get; set; }
|
||||
public string DownloadClientId { get; set; }
|
||||
public ImportMode ImportMode { get; set; }
|
||||
public override bool RequiresDiskAccess => true;
|
||||
public override bool IsLongRunning => true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Manual
|
||||
// If the movie is unknown for the directory and there are more than 100 files in the folder don't process the items before returning.
|
||||
var files = _diskScanService.FilterPaths(rootFolder, _diskScanService.GetVideoFiles(baseFolder, false));
|
||||
|
||||
if (files.Count() > 100)
|
||||
if (files.Count > 100)
|
||||
{
|
||||
_logger.Warn("Unable to determine movie from folder name and found more than 100 files. Skipping parsing");
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user