mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-18 21:34:28 -04:00
Compare commits
78 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 65ff890c74 | |||
| 50c0b0dbaa | |||
| d5f36d0144 | |||
| fab7558bd4 | |||
| 3dc86b3a01 | |||
| 24ad6134e3 | |||
| 033f8c40af | |||
| 4c73a619eb | |||
| 3ca798e983 | |||
| d9827fd6a6 | |||
| f4f03a853f | |||
| 4f4e4bf2ca | |||
| 413a70a312 | |||
| a8f2b91010 | |||
| 68a4ee6000 | |||
| 5196ce311b | |||
| ae92b22727 | |||
| 0bccffef01 | |||
| bca899b9c0 | |||
| 2bb576a94b | |||
| bb49949853 | |||
| a093061b29 | |||
| df876707c4 | |||
| 2af33143ba | |||
| c3c5a47776 | |||
| a21abe0838 | |||
| a32f5f6639 | |||
| 4cd45ecc21 | |||
| 2c8e0b1ca4 | |||
| bd25c9e3e0 | |||
| ee64b8788b | |||
| 7aeada2089 | |||
| e188c9aac0 | |||
| a3ae2359f5 | |||
| 5b92905dd4 | |||
| fc402743aa | |||
| b9d53ed732 | |||
| d248747635 | |||
| d70224c811 | |||
| acdf8c8aa8 | |||
| 3ed41554ce | |||
| ce808c6d7b | |||
| 63b1b56a4f | |||
| a5647bedc8 | |||
| fe659bb79d | |||
| 9918535509 | |||
| f9a6db40b8 | |||
| 6273d69ed6 | |||
| 7012380e95 | |||
| b001ecd698 | |||
| e28becdda4 | |||
| eae06695e8 | |||
| 54a9af2ced | |||
| c9b55266fc | |||
| 05b64406a4 | |||
| 1f37c5387b | |||
| 4a6c7042fe | |||
| d7305b9753 | |||
| bd56643eaa | |||
| 44e6de2e23 | |||
| b209d047fa | |||
| fd5ab27df6 | |||
| 4a89befd79 | |||
| 1a30293c33 | |||
| f5c2a6bf51 | |||
| f3d90fdaf1 | |||
| 04c5671a0a | |||
| 22cc88c5e7 | |||
| ca0c95a2d2 | |||
| 419f790d66 | |||
| 9fe08429bc | |||
| 71f4a88ab3 | |||
| 30b283eda3 | |||
| e23d0bbfa1 | |||
| 765a2aa01b | |||
| 64895c3210 | |||
| 03ab84a814 | |||
| b77e5b14e1 |
@@ -1,5 +1,5 @@
|
|||||||
name: Bug Report
|
name: Bug Report
|
||||||
description: 'Report a new bug, if you are not 100% certain this is a bug please go to our Reddit or Discord first'
|
description: 'Report a new bug, if you are not 100% certain this is a bug please go to our Discord first'
|
||||||
labels: ['Type: Bug', 'Status: Needs Triage']
|
labels: ['Type: Bug', 'Status: Needs Triage']
|
||||||
body:
|
body:
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
|
|||||||
@@ -3,6 +3,3 @@ contact_links:
|
|||||||
- name: Support via Discord
|
- name: Support via Discord
|
||||||
url: https://readarr.com/discord
|
url: https://readarr.com/discord
|
||||||
about: Chat with users and devs on support and setup related topics.
|
about: Chat with users and devs on support and setup related topics.
|
||||||
- name: Support via Reddit
|
|
||||||
url: https://reddit.com/r/Readarr
|
|
||||||
about: Discuss and search thru support topics.
|
|
||||||
|
|||||||
@@ -15,8 +15,7 @@ jobs:
|
|||||||
issue-comment: >
|
issue-comment: >
|
||||||
:wave: @{issue-author}, we use the issue tracker exclusively
|
:wave: @{issue-author}, we use the issue tracker exclusively
|
||||||
for bug reports and feature requests. However, this issue appears
|
for bug reports and feature requests. However, this issue appears
|
||||||
to be a support request. Please hop over onto our [Discord](https://readarr.com/discord)
|
to be a support request. Please hop over onto our [Discord](https://readarr.com/discord).
|
||||||
or [Subreddit](https://reddit.com/r/readarr)
|
|
||||||
close-issue: true
|
close-issue: true
|
||||||
lock-issue: false
|
lock-issue: false
|
||||||
- uses: dessant/support-requests@v3
|
- uses: dessant/support-requests@v3
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ variables:
|
|||||||
testsFolder: './_tests'
|
testsFolder: './_tests'
|
||||||
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
||||||
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
||||||
majorVersion: '0.3.4'
|
majorVersion: '0.3.11'
|
||||||
minorVersion: $[counter('minorVersion', 1)]
|
minorVersion: $[counter('minorVersion', 1)]
|
||||||
readarrVersion: '$(majorVersion).$(minorVersion)'
|
readarrVersion: '$(majorVersion).$(minorVersion)'
|
||||||
buildName: '$(Build.SourceBranchName).$(readarrVersion)'
|
buildName: '$(Build.SourceBranchName).$(readarrVersion)'
|
||||||
|
|||||||
@@ -338,4 +338,8 @@ Queue.propTypes = {
|
|||||||
onRemoveSelectedPress: PropTypes.func.isRequired
|
onRemoveSelectedPress: PropTypes.func.isRequired
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Queue.defaultProps = {
|
||||||
|
count: 0
|
||||||
|
};
|
||||||
|
|
||||||
export default Queue;
|
export default Queue;
|
||||||
|
|||||||
@@ -7,13 +7,10 @@ function findImage(images, coverType) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getUrl(image, coverType, size) {
|
function getUrl(image, coverType, size) {
|
||||||
if (image) {
|
const imageUrl = image?.url;
|
||||||
// Remove protocol
|
|
||||||
let url = image.url;
|
|
||||||
|
|
||||||
url = url.replace(`${coverType}.jpg`, `${coverType}-${size}.jpg`);
|
if (imageUrl) {
|
||||||
|
return imageUrl.replace(`${coverType}.jpg`, `${coverType}-${size}.jpg`);
|
||||||
return url;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,12 +25,7 @@ const defaultFontSize = parseInt(fonts.defaultFontSize);
|
|||||||
const lineHeight = parseFloat(fonts.lineHeight);
|
const lineHeight = parseFloat(fonts.lineHeight);
|
||||||
|
|
||||||
function getFanartUrl(images) {
|
function getFanartUrl(images) {
|
||||||
const fanartImage = images.find((x) => x.coverType === 'fanart');
|
return images.find((x) => x.coverType === 'fanart')?.url;
|
||||||
|
|
||||||
if (fanartImage) {
|
|
||||||
// Remove protocol
|
|
||||||
return fanartImage.url.replace(/^https?:/, '');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class AuthorDetailsHeader extends Component {
|
class AuthorDetailsHeader extends Component {
|
||||||
|
|||||||
@@ -21,12 +21,7 @@ const defaultFontSize = parseInt(fonts.defaultFontSize);
|
|||||||
const lineHeight = parseFloat(fonts.lineHeight);
|
const lineHeight = parseFloat(fonts.lineHeight);
|
||||||
|
|
||||||
function getFanartUrl(images) {
|
function getFanartUrl(images) {
|
||||||
const fanartImage = images.find((x) => x.coverType === 'fanart');
|
return images.find((x) => x.coverType === 'fanart')?.url;
|
||||||
|
|
||||||
if (fanartImage) {
|
|
||||||
// Remove protocol
|
|
||||||
return fanartImage.url.replace(/^https?:/, '');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class BookDetailsHeader extends Component {
|
class BookDetailsHeader extends Component {
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
.description {
|
|
||||||
line-height: $lineHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
.description {
|
.description {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
|
line-height: $lineHeight;
|
||||||
|
overflow-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
import createAjaxRequest from 'Utilities/createAjaxRequest';
|
||||||
|
|
||||||
|
// This file contains some helpers for power users in a browser console
|
||||||
|
|
||||||
|
let hasWarned = false;
|
||||||
|
|
||||||
|
function checkActivationWarning() {
|
||||||
|
if (!hasWarned) {
|
||||||
|
console.log('Activated ReadarrApi console helpers.');
|
||||||
|
console.warn('Be warned: There will be no further confirmation checks.');
|
||||||
|
hasWarned = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function attachAsyncActions(promise) {
|
||||||
|
promise.filter = function() {
|
||||||
|
const args = arguments;
|
||||||
|
const res = this.then((d) => d.filter(...args));
|
||||||
|
attachAsyncActions(res);
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
|
||||||
|
promise.map = function() {
|
||||||
|
const args = arguments;
|
||||||
|
const res = this.then((d) => d.map(...args));
|
||||||
|
attachAsyncActions(res);
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
|
||||||
|
promise.all = function() {
|
||||||
|
const res = this.then((d) => Promise.all(d));
|
||||||
|
attachAsyncActions(res);
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
|
||||||
|
promise.forEach = function(action) {
|
||||||
|
const res = this.then((d) => Promise.all(d.map(action)));
|
||||||
|
attachAsyncActions(res);
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class ResourceApi {
|
||||||
|
constructor(api, url) {
|
||||||
|
this.api = api;
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
single(id) {
|
||||||
|
return this.api.fetch(`${this.url}/${id}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
all() {
|
||||||
|
return this.api.fetch(this.url);
|
||||||
|
}
|
||||||
|
|
||||||
|
filter(pred) {
|
||||||
|
return this.all().filter(pred);
|
||||||
|
}
|
||||||
|
|
||||||
|
update(resource) {
|
||||||
|
return this.api.fetch(`${this.url}/${resource.id}`, { method: 'PUT', data: resource });
|
||||||
|
}
|
||||||
|
|
||||||
|
delete(resource) {
|
||||||
|
if (typeof resource === 'object' && resource !== null && resource.id) {
|
||||||
|
resource = resource.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!resource || !Number.isInteger(resource)) {
|
||||||
|
throw Error('Invalid resource', resource);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.api.fetch(`${this.url}/${resource}`, { method: 'DELETE' });
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch(url, options) {
|
||||||
|
return this.api.fetch(`${this.url}${url}`, options);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ConsoleApi {
|
||||||
|
constructor() {
|
||||||
|
this.author = new ResourceApi(this, '/author');
|
||||||
|
}
|
||||||
|
|
||||||
|
resource(url) {
|
||||||
|
return new ResourceApi(this, url);
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch(url, options) {
|
||||||
|
checkActivationWarning();
|
||||||
|
|
||||||
|
options = options || {};
|
||||||
|
|
||||||
|
const req = {
|
||||||
|
url,
|
||||||
|
method: options.method || 'GET'
|
||||||
|
};
|
||||||
|
|
||||||
|
if (options.data) {
|
||||||
|
req.dataType = 'json';
|
||||||
|
req.data = JSON.stringify(options.data);
|
||||||
|
}
|
||||||
|
|
||||||
|
const promise = createAjaxRequest(req).request;
|
||||||
|
|
||||||
|
promise.fail((xhr) => {
|
||||||
|
console.error(`Failed to fetch ${url}`, xhr);
|
||||||
|
});
|
||||||
|
|
||||||
|
attachAsyncActions(promise);
|
||||||
|
|
||||||
|
return promise;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.ReadarrApi = new ConsoleApi();
|
||||||
|
|
||||||
|
export default ConsoleApi;
|
||||||
@@ -60,6 +60,7 @@ class Notification extends Component {
|
|||||||
onReleaseImport,
|
onReleaseImport,
|
||||||
onUpgrade,
|
onUpgrade,
|
||||||
onRename,
|
onRename,
|
||||||
|
onAuthorAdded,
|
||||||
onAuthorDelete,
|
onAuthorDelete,
|
||||||
onBookDelete,
|
onBookDelete,
|
||||||
onBookFileDelete,
|
onBookFileDelete,
|
||||||
@@ -73,6 +74,7 @@ class Notification extends Component {
|
|||||||
supportsOnReleaseImport,
|
supportsOnReleaseImport,
|
||||||
supportsOnUpgrade,
|
supportsOnUpgrade,
|
||||||
supportsOnRename,
|
supportsOnRename,
|
||||||
|
supportsOnAuthorAdded,
|
||||||
supportsOnAuthorDelete,
|
supportsOnAuthorDelete,
|
||||||
supportsOnBookDelete,
|
supportsOnBookDelete,
|
||||||
supportsOnBookFileDelete,
|
supportsOnBookFileDelete,
|
||||||
@@ -136,6 +138,14 @@ class Notification extends Component {
|
|||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
supportsOnAuthorAdded && onAuthorAdded ?
|
||||||
|
<Label kind={kinds.SUCCESS}>
|
||||||
|
{translate('OnAuthorAdded')}
|
||||||
|
</Label> :
|
||||||
|
null
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
supportsOnAuthorDelete && onAuthorDelete ?
|
supportsOnAuthorDelete && onAuthorDelete ?
|
||||||
<Label kind={kinds.SUCCESS}>
|
<Label kind={kinds.SUCCESS}>
|
||||||
@@ -244,6 +254,7 @@ Notification.propTypes = {
|
|||||||
onReleaseImport: PropTypes.bool.isRequired,
|
onReleaseImport: PropTypes.bool.isRequired,
|
||||||
onUpgrade: PropTypes.bool.isRequired,
|
onUpgrade: PropTypes.bool.isRequired,
|
||||||
onRename: PropTypes.bool.isRequired,
|
onRename: PropTypes.bool.isRequired,
|
||||||
|
onAuthorAdded: PropTypes.bool.isRequired,
|
||||||
onAuthorDelete: PropTypes.bool.isRequired,
|
onAuthorDelete: PropTypes.bool.isRequired,
|
||||||
onBookDelete: PropTypes.bool.isRequired,
|
onBookDelete: PropTypes.bool.isRequired,
|
||||||
onBookFileDelete: PropTypes.bool.isRequired,
|
onBookFileDelete: PropTypes.bool.isRequired,
|
||||||
@@ -257,6 +268,7 @@ Notification.propTypes = {
|
|||||||
supportsOnReleaseImport: PropTypes.bool.isRequired,
|
supportsOnReleaseImport: PropTypes.bool.isRequired,
|
||||||
supportsOnUpgrade: PropTypes.bool.isRequired,
|
supportsOnUpgrade: PropTypes.bool.isRequired,
|
||||||
supportsOnRename: PropTypes.bool.isRequired,
|
supportsOnRename: PropTypes.bool.isRequired,
|
||||||
|
supportsOnAuthorAdded: PropTypes.bool.isRequired,
|
||||||
supportsOnAuthorDelete: PropTypes.bool.isRequired,
|
supportsOnAuthorDelete: PropTypes.bool.isRequired,
|
||||||
supportsOnBookDelete: PropTypes.bool.isRequired,
|
supportsOnBookDelete: PropTypes.bool.isRequired,
|
||||||
supportsOnBookFileDelete: PropTypes.bool.isRequired,
|
supportsOnBookFileDelete: PropTypes.bool.isRequired,
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ function NotificationEventItems(props) {
|
|||||||
onReleaseImport,
|
onReleaseImport,
|
||||||
onUpgrade,
|
onUpgrade,
|
||||||
onRename,
|
onRename,
|
||||||
|
onAuthorAdded,
|
||||||
onAuthorDelete,
|
onAuthorDelete,
|
||||||
onBookDelete,
|
onBookDelete,
|
||||||
onBookFileDelete,
|
onBookFileDelete,
|
||||||
@@ -32,6 +33,7 @@ function NotificationEventItems(props) {
|
|||||||
supportsOnReleaseImport,
|
supportsOnReleaseImport,
|
||||||
supportsOnUpgrade,
|
supportsOnUpgrade,
|
||||||
supportsOnRename,
|
supportsOnRename,
|
||||||
|
supportsOnAuthorAdded,
|
||||||
supportsOnAuthorDelete,
|
supportsOnAuthorDelete,
|
||||||
supportsOnBookDelete,
|
supportsOnBookDelete,
|
||||||
supportsOnBookFileDelete,
|
supportsOnBookFileDelete,
|
||||||
@@ -123,6 +125,17 @@ function NotificationEventItems(props) {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<FormInputGroup
|
||||||
|
type={inputTypes.CHECK}
|
||||||
|
name="onAuthorAdded"
|
||||||
|
helpText={translate('OnAuthorAddedHelpText')}
|
||||||
|
isDisabled={!supportsOnAuthorAdded.value}
|
||||||
|
{...onAuthorAdded}
|
||||||
|
onChange={onInputChange}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ export default {
|
|||||||
selectedSchema.onReleaseImport = selectedSchema.supportsOnReleaseImport;
|
selectedSchema.onReleaseImport = selectedSchema.supportsOnReleaseImport;
|
||||||
selectedSchema.onUpgrade = selectedSchema.supportsOnUpgrade;
|
selectedSchema.onUpgrade = selectedSchema.supportsOnUpgrade;
|
||||||
selectedSchema.onRename = selectedSchema.supportsOnRename;
|
selectedSchema.onRename = selectedSchema.supportsOnRename;
|
||||||
|
selectedSchema.onAuthorAdded = selectedSchema.supportsOnAuthorAdded;
|
||||||
selectedSchema.onAuthorDelete = selectedSchema.supportsOnAuthorDelete;
|
selectedSchema.onAuthorDelete = selectedSchema.supportsOnAuthorDelete;
|
||||||
selectedSchema.onBookDelete = selectedSchema.supportsOnBookDelete;
|
selectedSchema.onBookDelete = selectedSchema.supportsOnBookDelete;
|
||||||
selectedSchema.onBookFileDelete = selectedSchema.supportsOnBookFileDelete;
|
selectedSchema.onBookFileDelete = selectedSchema.supportsOnBookFileDelete;
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ function getInternalLink(source) {
|
|||||||
function getTestLink(source, props) {
|
function getTestLink(source, props) {
|
||||||
switch (source) {
|
switch (source) {
|
||||||
case 'IndexerStatusCheck':
|
case 'IndexerStatusCheck':
|
||||||
|
case 'IndexerLongTermStatusCheck':
|
||||||
return (
|
return (
|
||||||
<SpinnerIconButton
|
<SpinnerIconButton
|
||||||
name={icons.TEST}
|
name={icons.TEST}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export async function fetchTranslations(): Promise<boolean> {
|
|||||||
|
|
||||||
export default function translate(
|
export default function translate(
|
||||||
key: string,
|
key: string,
|
||||||
tokens?: Record<string, string | number | boolean>
|
tokens: Record<string, string | number | boolean> = { appName: 'Readarr' }
|
||||||
) {
|
) {
|
||||||
const translation = translations[key] || key;
|
const translation = translations[key] || key;
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import { render } from 'react-dom';
|
|||||||
import createAppStore from 'Store/createAppStore';
|
import createAppStore from 'Store/createAppStore';
|
||||||
import App from './App/App';
|
import App from './App/App';
|
||||||
|
|
||||||
|
import 'Diag/ConsoleApi';
|
||||||
|
|
||||||
export async function bootstrap() {
|
export async function bootstrap() {
|
||||||
const history = createBrowserHistory();
|
const history = createBrowserHistory();
|
||||||
const store = createAppStore(history);
|
const store = createAppStore(history);
|
||||||
|
|||||||
+2
-1
@@ -95,6 +95,7 @@
|
|||||||
"@babel/preset-react": "7.22.5",
|
"@babel/preset-react": "7.22.5",
|
||||||
"@babel/preset-typescript": "7.22.11",
|
"@babel/preset-typescript": "7.22.11",
|
||||||
"@types/lodash": "4.14.197",
|
"@types/lodash": "4.14.197",
|
||||||
|
"@types/react-lazyload": "3.2.1",
|
||||||
"@types/redux-actions": "2.6.2",
|
"@types/redux-actions": "2.6.2",
|
||||||
"@typescript-eslint/eslint-plugin": "6.5.0",
|
"@typescript-eslint/eslint-plugin": "6.5.0",
|
||||||
"@typescript-eslint/parser": "6.5.0",
|
"@typescript-eslint/parser": "6.5.0",
|
||||||
@@ -120,7 +121,7 @@
|
|||||||
"html-webpack-plugin": "5.5.3",
|
"html-webpack-plugin": "5.5.3",
|
||||||
"loader-utils": "^3.2.1",
|
"loader-utils": "^3.2.1",
|
||||||
"mini-css-extract-plugin": "2.7.6",
|
"mini-css-extract-plugin": "2.7.6",
|
||||||
"postcss": "8.4.23",
|
"postcss": "8.4.31",
|
||||||
"postcss-color-function": "4.1.0",
|
"postcss-color-function": "4.1.0",
|
||||||
"postcss-loader": "7.3.0",
|
"postcss-loader": "7.3.0",
|
||||||
"postcss-mixins": "9.0.4",
|
"postcss-mixins": "9.0.4",
|
||||||
|
|||||||
@@ -70,15 +70,15 @@ namespace NzbDrone.Common.Test.InstrumentationTests
|
|||||||
[TestCase(@"[Info] MigrationController: *** Migrating Database=readarr-main;Host=postgres14;Username=mySecret;Password=mySecret;Port=5432;token=mySecret;Enlist=False&username=mySecret;mypassword=mySecret;mypass=shouldkeep1;test_token=mySecret;password=123%@%_@!#^#@;use_password=mySecret;get_token=shouldkeep2;usetoken=shouldkeep3;passwrd=mySecret;")]
|
[TestCase(@"[Info] MigrationController: *** Migrating Database=readarr-main;Host=postgres14;Username=mySecret;Password=mySecret;Port=5432;token=mySecret;Enlist=False&username=mySecret;mypassword=mySecret;mypass=shouldkeep1;test_token=mySecret;password=123%@%_@!#^#@;use_password=mySecret;get_token=shouldkeep2;usetoken=shouldkeep3;passwrd=mySecret;")]
|
||||||
|
|
||||||
// Announce URLs (passkeys) Magnet & Tracker
|
// Announce URLs (passkeys) Magnet & Tracker
|
||||||
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2f9pr04sg601233210imaveql2tyu8xyui%2fannounce""}")]
|
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2f9pr04sg601233210IMAveQL2tyu8xyui%2fannounce""}")]
|
||||||
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2ftracker.php%2f9pr04sg601233210imaveql2tyu8xyui%2fannounce""}")]
|
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2ftracker.php%2f9pr04sg601233210IMAveQL2tyu8xyui%2fannounce""}")]
|
||||||
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2fannounce%2f9pr04sg601233210imaveql2tyu8xyui""}")]
|
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2fannounce%2f9pr04sg601233210IMAveQL2tyu8xyui""}")]
|
||||||
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2fannounce.php%3fpasskey%3d9pr04sg601233210imaveql2tyu8xyui""}")]
|
[TestCase(@"magnet_uri"":""magnet:?xt=urn:btih:9pr04sgkillroyimaveql2tyu8xyui&dn=&tr=https%3a%2f%2fxxx.yyy%2fannounce.php%3fpasskey%3d9pr04sg601233210IMAveQL2tyu8xyui""}")]
|
||||||
[TestCase(@"tracker"":""https://xxx.yyy/9pr04sg601233210imaveql2tyu8xyui/announce""}")]
|
[TestCase(@"tracker"":""https://xxx.yyy/9pr04sg601233210IMAveQL2tyu8xyui/announce""}")]
|
||||||
[TestCase(@"tracker"":""https://xxx.yyy/tracker.php/9pr04sg601233210imaveql2tyu8xyui/announce""}")]
|
[TestCase(@"tracker"":""https://xxx.yyy/tracker.php/9pr04sg601233210IMAveQL2tyu8xyui/announce""}")]
|
||||||
[TestCase(@"tracker"":""https://xxx.yyy/announce/9pr04sg601233210imaveql2tyu8xyui""}")]
|
[TestCase(@"tracker"":""https://xxx.yyy/announce/9pr04sg601233210IMAveQL2tyu8xyui""}")]
|
||||||
[TestCase(@"tracker"":""https://xxx.yyy/announce.php?passkey=9pr04sg601233210imaveql2tyu8xyui""}")]
|
[TestCase(@"tracker"":""https://xxx.yyy/announce.php?passkey=9pr04sg601233210IMAveQL2tyu8xyui""}")]
|
||||||
[TestCase(@"tracker"":""http://xxx.yyy/announce.php?passkey=9pr04sg601233210imaveql2tyu8xyui"",""info"":""http://xxx.yyy/info?a=b""")]
|
[TestCase(@"tracker"":""http://xxx.yyy/announce.php?passkey=9pr04sg601233210IMAveQL2tyu8xyui"",""info"":""http://xxx.yyy/info?a=b""")]
|
||||||
|
|
||||||
// Notifiarr
|
// Notifiarr
|
||||||
[TestCase(@"https://xxx.yyy/api/v1/notification/readarr/9pr04sg6-0123-3210-imav-eql2tyu8xyui")]
|
[TestCase(@"https://xxx.yyy/api/v1/notification/readarr/9pr04sg6-0123-3210-imav-eql2tyu8xyui")]
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ namespace NzbDrone.Common.Extensions
|
|||||||
{
|
{
|
||||||
if (text.IsNullOrWhiteSpace())
|
if (text.IsNullOrWhiteSpace())
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException("text");
|
throw new ArgumentNullException(nameof(text));
|
||||||
}
|
}
|
||||||
|
|
||||||
return text.IndexOfAny(Path.GetInvalidPathChars()) >= 0;
|
return text.IndexOfAny(Path.GetInvalidPathChars()) >= 0;
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ namespace NzbDrone.Common.Http.Dispatchers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
data = responseMessage.Content.ReadAsByteArrayAsync(cts.Token).GetAwaiter().GetResult();
|
data = await responseMessage.Content.ReadAsByteArrayAsync(cts.Token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace NzbDrone.Common.Instrumentation
|
|||||||
new (@"\b(\w*)?(_?(?<!use|get_)token|username|passwo?rd)=(?<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
|
// 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"),
|
new (@"announce(\.php)?(/|%2f|%3fpasskey%3d)(?<secret>[a-z0-9]{16,})|(?<secret>[a-z0-9]{16,})(/|%2f)announce", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
||||||
|
|
||||||
// Path
|
// Path
|
||||||
new (@"C:\\Users\\(?<secret>[^\""]+?)(\\|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
new (@"C:\\Users\\(?<secret>[^\""]+?)(\\|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
||||||
|
|||||||
+28
-2
@@ -1,9 +1,10 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FizzWare.NBuilder;
|
using FizzWare.NBuilder;
|
||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
using Moq;
|
using Moq;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Core.Books;
|
using NzbDrone.Core.Books;
|
||||||
|
using NzbDrone.Core.Datastore;
|
||||||
using NzbDrone.Core.DecisionEngine.Specifications.RssSync;
|
using NzbDrone.Core.DecisionEngine.Specifications.RssSync;
|
||||||
using NzbDrone.Core.Indexers;
|
using NzbDrone.Core.Indexers;
|
||||||
using NzbDrone.Core.IndexerSearch.Definitions;
|
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||||
@@ -33,8 +34,13 @@ namespace NzbDrone.Core.Test.DecisionEngineTests.RssSync
|
|||||||
};
|
};
|
||||||
|
|
||||||
Mocker
|
Mocker
|
||||||
.GetMock<IIndexerRepository>()
|
.GetMock<IIndexerFactory>()
|
||||||
.Setup(m => m.Get(It.IsAny<int>()))
|
.Setup(m => m.Get(It.IsAny<int>()))
|
||||||
|
.Throws(new ModelNotFoundException(typeof(IndexerDefinition), -1));
|
||||||
|
|
||||||
|
Mocker
|
||||||
|
.GetMock<IIndexerFactory>()
|
||||||
|
.Setup(m => m.Get(1))
|
||||||
.Returns(_fakeIndexerDefinition);
|
.Returns(_fakeIndexerDefinition);
|
||||||
|
|
||||||
_specification = Mocker.Resolve<IndexerTagSpecification>();
|
_specification = Mocker.Resolve<IndexerTagSpecification>();
|
||||||
@@ -106,5 +112,25 @@ namespace NzbDrone.Core.Test.DecisionEngineTests.RssSync
|
|||||||
|
|
||||||
_specification.IsSatisfiedBy(_parseResultMulti, new BookSearchCriteria { MonitoredBooksOnly = true }).Accepted.Should().BeFalse();
|
_specification.IsSatisfiedBy(_parseResultMulti, new BookSearchCriteria { MonitoredBooksOnly = true }).Accepted.Should().BeFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void release_without_indexerid_should_return_true()
|
||||||
|
{
|
||||||
|
_fakeIndexerDefinition.Tags = new HashSet<int> { 456 };
|
||||||
|
_fakeAuthor.Tags = new HashSet<int> { 123, 789 };
|
||||||
|
_fakeRelease.IndexerId = 0;
|
||||||
|
|
||||||
|
_specification.IsSatisfiedBy(_parseResultMulti, new BookSearchCriteria { MonitoredBooksOnly = true }).Accepted.Should().BeTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void release_with_invalid_indexerid_should_return_true()
|
||||||
|
{
|
||||||
|
_fakeIndexerDefinition.Tags = new HashSet<int> { 456 };
|
||||||
|
_fakeAuthor.Tags = new HashSet<int> { 123, 789 };
|
||||||
|
_fakeRelease.IndexerId = 2;
|
||||||
|
|
||||||
|
_specification.IsSatisfiedBy(_parseResultMulti, new BookSearchCriteria { MonitoredBooksOnly = true }).Accepted.Should().BeTrue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -405,7 +405,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.QBittorrentTests
|
|||||||
Size = 1000,
|
Size = 1000,
|
||||||
Progress = 0.7,
|
Progress = 0.7,
|
||||||
Eta = 8640000,
|
Eta = 8640000,
|
||||||
State = "stalledDL",
|
State = "pausedUP",
|
||||||
Label = "",
|
Label = "",
|
||||||
SavePath = @"C:\Torrents".AsOsAgnostic(),
|
SavePath = @"C:\Torrents".AsOsAgnostic(),
|
||||||
ContentPath = @"C:\Torrents\Droned.S01.12".AsOsAgnostic()
|
ContentPath = @"C:\Torrents\Droned.S01.12".AsOsAgnostic()
|
||||||
|
|||||||
@@ -452,6 +452,30 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.SabnzbdTests
|
|||||||
result.OutputRootFolders.First().Should().Be(fullCategoryDir);
|
result.OutputRootFolders.First().Should().Be(fullCategoryDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestCase("0")]
|
||||||
|
[TestCase("15d")]
|
||||||
|
public void should_set_history_removes_completed_downloads_false(string historyRetention)
|
||||||
|
{
|
||||||
|
_config.Misc.history_retention = historyRetention;
|
||||||
|
|
||||||
|
var downloadClientInfo = Subject.GetStatus();
|
||||||
|
|
||||||
|
downloadClientInfo.RemovesCompletedDownloads.Should().BeFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("-1")]
|
||||||
|
[TestCase("15")]
|
||||||
|
[TestCase("3")]
|
||||||
|
[TestCase("3d")]
|
||||||
|
public void should_set_history_removes_completed_downloads_true(string historyRetention)
|
||||||
|
{
|
||||||
|
_config.Misc.history_retention = historyRetention;
|
||||||
|
|
||||||
|
var downloadClientInfo = Subject.GetStatus();
|
||||||
|
|
||||||
|
downloadClientInfo.RemovesCompletedDownloads.Should().BeTrue();
|
||||||
|
}
|
||||||
|
|
||||||
[TestCase(@"Y:\nzbget\root", @"completed\downloads", @"vv", @"Y:\nzbget\root\completed\downloads", @"Y:\nzbget\root\completed\downloads\vv")]
|
[TestCase(@"Y:\nzbget\root", @"completed\downloads", @"vv", @"Y:\nzbget\root\completed\downloads", @"Y:\nzbget\root\completed\downloads\vv")]
|
||||||
[TestCase(@"Y:\nzbget\root", @"completed", @"vv", @"Y:\nzbget\root\completed", @"Y:\nzbget\root\completed\vv")]
|
[TestCase(@"Y:\nzbget\root", @"completed", @"vv", @"Y:\nzbget\root\completed", @"Y:\nzbget\root\completed\vv")]
|
||||||
[TestCase(@"/nzbget/root", @"completed/downloads", @"vv", @"/nzbget/root/completed/downloads", @"/nzbget/root/completed/downloads/vv")]
|
[TestCase(@"/nzbget/root", @"completed/downloads", @"vv", @"/nzbget/root/completed/downloads", @"/nzbget/root/completed/downloads/vv")]
|
||||||
|
|||||||
+78
@@ -0,0 +1,78 @@
|
|||||||
|
using System;
|
||||||
|
using Moq;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using NzbDrone.Core.Download;
|
||||||
|
using NzbDrone.Core.Download.Clients;
|
||||||
|
using NzbDrone.Core.HealthCheck.Checks;
|
||||||
|
using NzbDrone.Core.Localization;
|
||||||
|
using NzbDrone.Core.Test.Framework;
|
||||||
|
using NzbDrone.Test.Common;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
|
{
|
||||||
|
[TestFixture]
|
||||||
|
public class DownloadClientRemovesCompletedDownloadsCheckFixture : CoreTest<DownloadClientRemovesCompletedDownloadsCheck>
|
||||||
|
{
|
||||||
|
private DownloadClientInfo _clientStatus;
|
||||||
|
private Mock<IDownloadClient> _downloadClient;
|
||||||
|
|
||||||
|
private static Exception[] DownloadClientExceptions =
|
||||||
|
{
|
||||||
|
new DownloadClientUnavailableException("error"),
|
||||||
|
new DownloadClientAuthenticationException("error"),
|
||||||
|
new DownloadClientException("error")
|
||||||
|
};
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup()
|
||||||
|
{
|
||||||
|
_clientStatus = new DownloadClientInfo
|
||||||
|
{
|
||||||
|
IsLocalhost = true,
|
||||||
|
|
||||||
|
// SortingMode = null,
|
||||||
|
RemovesCompletedDownloads = true
|
||||||
|
};
|
||||||
|
|
||||||
|
_downloadClient = Mocker.GetMock<IDownloadClient>();
|
||||||
|
_downloadClient.Setup(s => s.Definition)
|
||||||
|
.Returns(new DownloadClientDefinition { Name = "Test" });
|
||||||
|
|
||||||
|
_downloadClient.Setup(s => s.GetStatus())
|
||||||
|
.Returns(_clientStatus);
|
||||||
|
|
||||||
|
Mocker.GetMock<IProvideDownloadClient>()
|
||||||
|
.Setup(s => s.GetDownloadClients(It.IsAny<bool>()))
|
||||||
|
.Returns(new IDownloadClient[] { _downloadClient.Object });
|
||||||
|
|
||||||
|
Mocker.GetMock<ILocalizationService>()
|
||||||
|
.Setup(s => s.GetLocalizedString(It.IsAny<string>()))
|
||||||
|
.Returns("Some Warning Message");
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_return_warning_if_removing_completed_downloads_is_enabled()
|
||||||
|
{
|
||||||
|
Subject.Check().ShouldBeWarning();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_return_ok_if_remove_completed_downloads_is_not_enabled()
|
||||||
|
{
|
||||||
|
_clientStatus.RemovesCompletedDownloads = false;
|
||||||
|
Subject.Check().ShouldBeOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[TestCaseSource(nameof(DownloadClientExceptions))]
|
||||||
|
public void should_return_ok_if_client_throws_downloadclientexception(Exception ex)
|
||||||
|
{
|
||||||
|
_downloadClient.Setup(s => s.GetStatus())
|
||||||
|
.Throws(ex);
|
||||||
|
|
||||||
|
Subject.Check().ShouldBeOk();
|
||||||
|
|
||||||
|
ExceptionVerification.ExpectedErrors(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -68,5 +68,16 @@ namespace NzbDrone.Core.Test.IndexerTests
|
|||||||
|
|
||||||
VerifyNoUpdate();
|
VerifyNoUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_not_record_failure_for_unknown_provider()
|
||||||
|
{
|
||||||
|
Subject.RecordFailure(0);
|
||||||
|
|
||||||
|
Mocker.GetMock<IIndexerStatusRepository>()
|
||||||
|
.Verify(v => v.FindByProviderId(1), Times.Never);
|
||||||
|
|
||||||
|
VerifyNoUpdate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,12 +5,15 @@ using System.IO;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using FizzWare.NBuilder;
|
using FizzWare.NBuilder;
|
||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
|
using Moq;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Common.Disk;
|
using NzbDrone.Common.Disk;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Core.Books;
|
using NzbDrone.Core.Books;
|
||||||
using NzbDrone.Core.Configuration;
|
using NzbDrone.Core.Configuration;
|
||||||
using NzbDrone.Core.MediaFiles;
|
using NzbDrone.Core.MediaFiles;
|
||||||
|
using NzbDrone.Core.MediaFiles.Events;
|
||||||
|
using NzbDrone.Core.Messaging.Events;
|
||||||
using NzbDrone.Core.Test.Framework;
|
using NzbDrone.Core.Test.Framework;
|
||||||
using NzbDrone.Test.Common;
|
using NzbDrone.Test.Common;
|
||||||
using NzbDrone.Test.Common.AutoMoq;
|
using NzbDrone.Test.Common.AutoMoq;
|
||||||
@@ -166,7 +169,7 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCaseSource(typeof(TestCaseFactory), "TestCases")]
|
[TestCaseSource(typeof(TestCaseFactory), nameof(TestCaseFactory.TestCases))]
|
||||||
public void should_read_duration(string filename, string[] ignored)
|
public void should_read_duration(string filename, string[] ignored)
|
||||||
{
|
{
|
||||||
var path = Path.Combine(_testdir, filename);
|
var path = Path.Combine(_testdir, filename);
|
||||||
@@ -177,7 +180,7 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCaseSource(typeof(TestCaseFactory), "TestCases")]
|
[TestCaseSource(typeof(TestCaseFactory), nameof(TestCaseFactory.TestCases))]
|
||||||
public void should_read_write_tags(string filename, string[] skipProperties)
|
public void should_read_write_tags(string filename, string[] skipProperties)
|
||||||
{
|
{
|
||||||
GivenFileCopy(filename);
|
GivenFileCopy(filename);
|
||||||
@@ -198,7 +201,7 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCaseSource(typeof(TestCaseFactory), "TestCases")]
|
[TestCaseSource(typeof(TestCaseFactory), nameof(TestCaseFactory.TestCases))]
|
||||||
public void should_read_audiotag_from_file_with_no_tags(string filename, string[] skipProperties)
|
public void should_read_audiotag_from_file_with_no_tags(string filename, string[] skipProperties)
|
||||||
{
|
{
|
||||||
GivenFileCopy(filename);
|
GivenFileCopy(filename);
|
||||||
@@ -220,7 +223,7 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCaseSource(typeof(TestCaseFactory), "TestCases")]
|
[TestCaseSource(typeof(TestCaseFactory), nameof(TestCaseFactory.TestCases))]
|
||||||
public void should_read_parsedtrackinfo_from_file_with_no_tags(string filename, string[] skipProperties)
|
public void should_read_parsedtrackinfo_from_file_with_no_tags(string filename, string[] skipProperties)
|
||||||
{
|
{
|
||||||
GivenFileCopy(filename);
|
GivenFileCopy(filename);
|
||||||
@@ -235,7 +238,7 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCaseSource(typeof(TestCaseFactory), "TestCases")]
|
[TestCaseSource(typeof(TestCaseFactory), nameof(TestCaseFactory.TestCases))]
|
||||||
public void should_set_quality_and_mediainfo_for_corrupt_file(string filename, string[] skipProperties)
|
public void should_set_quality_and_mediainfo_for_corrupt_file(string filename, string[] skipProperties)
|
||||||
{
|
{
|
||||||
// use missing to simulate corrupt
|
// use missing to simulate corrupt
|
||||||
@@ -250,7 +253,7 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCaseSource(typeof(TestCaseFactory), "TestCases")]
|
[TestCaseSource(typeof(TestCaseFactory), nameof(TestCaseFactory.TestCases))]
|
||||||
public void should_read_file_with_only_title_tag(string filename, string[] ignored)
|
public void should_read_file_with_only_title_tag(string filename, string[] ignored)
|
||||||
{
|
{
|
||||||
GivenFileCopy(filename);
|
GivenFileCopy(filename);
|
||||||
@@ -270,7 +273,7 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCaseSource(typeof(TestCaseFactory), "TestCases")]
|
[TestCaseSource(typeof(TestCaseFactory), nameof(TestCaseFactory.TestCases))]
|
||||||
public void should_remove_date_from_tags_when_not_in_metadata(string filename, string[] ignored)
|
public void should_remove_date_from_tags_when_not_in_metadata(string filename, string[] ignored)
|
||||||
{
|
{
|
||||||
GivenFileCopy(filename);
|
GivenFileCopy(filename);
|
||||||
@@ -365,6 +368,29 @@ namespace NzbDrone.Core.Test.MediaFiles.AudioTagServiceFixture
|
|||||||
var fileInfo = _diskProvider.GetFileInfo(file.Path);
|
var fileInfo = _diskProvider.GetFileInfo(file.Path);
|
||||||
file.Modified.Should().Be(fileInfo.LastWriteTimeUtc);
|
file.Modified.Should().Be(fileInfo.LastWriteTimeUtc);
|
||||||
file.Size.Should().Be(fileInfo.Length);
|
file.Size.Should().Be(fileInfo.Length);
|
||||||
|
|
||||||
|
Mocker.GetMock<IEventAggregator>()
|
||||||
|
.Verify(v => v.PublishEvent(It.IsAny<BookFileRetaggedEvent>()), Times.Once());
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("nin.mp3")]
|
||||||
|
public void write_tags_should_not_update_tags_if_already_updated(string filename)
|
||||||
|
{
|
||||||
|
Mocker.GetMock<IConfigService>()
|
||||||
|
.Setup(x => x.ScrubAudioTags)
|
||||||
|
.Returns(true);
|
||||||
|
|
||||||
|
GivenFileCopy(filename);
|
||||||
|
|
||||||
|
var file = GivenPopulatedTrackfile(0);
|
||||||
|
|
||||||
|
file.Path = _copiedFile;
|
||||||
|
Subject.WriteTags(file, false, true);
|
||||||
|
Subject.WriteTags(file, false, true);
|
||||||
|
Subject.WriteTags(file, false, true);
|
||||||
|
|
||||||
|
Mocker.GetMock<IEventAggregator>()
|
||||||
|
.Verify(v => v.PublishEvent(It.IsAny<BookFileRetaggedEvent>()), Times.Once());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ using NzbDrone.Core.Test.Framework;
|
|||||||
namespace NzbDrone.Core.Test.MetadataSource.Goodreads
|
namespace NzbDrone.Core.Test.MetadataSource.Goodreads
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
|
[Ignore("Waiting for metadata to be back again", Until = "2023-12-31 00:00:00Z")]
|
||||||
public class BookInfoProxyFixture : CoreTest<BookInfoProxy>
|
public class BookInfoProxyFixture : CoreTest<BookInfoProxy>
|
||||||
{
|
{
|
||||||
private MetadataProfile _metadataProfile;
|
private MetadataProfile _metadataProfile;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ using NzbDrone.Test.Common;
|
|||||||
namespace NzbDrone.Core.Test.MetadataSource.Goodreads
|
namespace NzbDrone.Core.Test.MetadataSource.Goodreads
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
|
[Ignore("Waiting for metadata to be back again", Until = "2023-12-31 00:00:00Z")]
|
||||||
public class BookInfoProxySearchFixture : CoreTest<BookInfoProxy>
|
public class BookInfoProxySearchFixture : CoreTest<BookInfoProxy>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
|
|||||||
@@ -64,6 +64,11 @@ namespace NzbDrone.Core.Test.NotificationTests
|
|||||||
TestLogger.Info("OnRename was called");
|
TestLogger.Info("OnRename was called");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
TestLogger.Info("OnAuthorAdded was called");
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage message)
|
public override void OnAuthorDelete(AuthorDeleteMessage message)
|
||||||
{
|
{
|
||||||
TestLogger.Info("OnAuthorDelete was called");
|
TestLogger.Info("OnAuthorDelete was called");
|
||||||
@@ -138,6 +143,7 @@ namespace NzbDrone.Core.Test.NotificationTests
|
|||||||
notification.SupportsOnUpgrade.Should().BeTrue();
|
notification.SupportsOnUpgrade.Should().BeTrue();
|
||||||
notification.SupportsOnRename.Should().BeTrue();
|
notification.SupportsOnRename.Should().BeTrue();
|
||||||
notification.SupportsOnHealthIssue.Should().BeTrue();
|
notification.SupportsOnHealthIssue.Should().BeTrue();
|
||||||
|
notification.SupportsOnAuthorAdded.Should().BeTrue();
|
||||||
notification.SupportsOnAuthorDelete.Should().BeTrue();
|
notification.SupportsOnAuthorDelete.Should().BeTrue();
|
||||||
notification.SupportsOnBookDelete.Should().BeTrue();
|
notification.SupportsOnBookDelete.Should().BeTrue();
|
||||||
notification.SupportsOnBookFileDelete.Should().BeTrue();
|
notification.SupportsOnBookFileDelete.Should().BeTrue();
|
||||||
@@ -157,6 +163,7 @@ namespace NzbDrone.Core.Test.NotificationTests
|
|||||||
notification.SupportsOnReleaseImport.Should().BeFalse();
|
notification.SupportsOnReleaseImport.Should().BeFalse();
|
||||||
notification.SupportsOnUpgrade.Should().BeFalse();
|
notification.SupportsOnUpgrade.Should().BeFalse();
|
||||||
notification.SupportsOnRename.Should().BeFalse();
|
notification.SupportsOnRename.Should().BeFalse();
|
||||||
|
notification.SupportsOnAuthorAdded.Should().BeFalse();
|
||||||
notification.SupportsOnAuthorDelete.Should().BeFalse();
|
notification.SupportsOnAuthorDelete.Should().BeFalse();
|
||||||
notification.SupportsOnBookDelete.Should().BeFalse();
|
notification.SupportsOnBookDelete.Should().BeFalse();
|
||||||
notification.SupportsOnBookFileDelete.Should().BeFalse();
|
notification.SupportsOnBookFileDelete.Should().BeFalse();
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ namespace NzbDrone.Core.Books.Calibre
|
|||||||
|
|
||||||
var updatedPath = GetOriginalFormat(updated.Formats);
|
var updatedPath = GetOriginalFormat(updated.Formats);
|
||||||
|
|
||||||
if (updatedPath != file.Path)
|
if (updatedPath != null && updatedPath != file.Path)
|
||||||
{
|
{
|
||||||
_rootFolderWatchingService.ReportFileSystemChangeBeginning(updatedPath);
|
_rootFolderWatchingService.ReportFileSystemChangeBeginning(updatedPath);
|
||||||
file.Path = updatedPath;
|
file.Path = updatedPath;
|
||||||
|
|||||||
@@ -322,6 +322,20 @@ namespace NzbDrone.Core.Configuration
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void MigrateConfigFile()
|
||||||
|
{
|
||||||
|
if (!File.Exists(_configFile))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If SSL is enabled and a cert hash is still in the config file disable SSL
|
||||||
|
if (EnableSsl && GetValue("SslCertHash", null).IsNotNullOrWhiteSpace())
|
||||||
|
{
|
||||||
|
SetValue("EnableSsl", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void DeleteOldValues()
|
private void DeleteOldValues()
|
||||||
{
|
{
|
||||||
var xDoc = LoadConfigFile();
|
var xDoc = LoadConfigFile();
|
||||||
@@ -404,6 +418,7 @@ namespace NzbDrone.Core.Configuration
|
|||||||
|
|
||||||
public void HandleAsync(ApplicationStartedEvent message)
|
public void HandleAsync(ApplicationStartedEvent message)
|
||||||
{
|
{
|
||||||
|
MigrateConfigFile();
|
||||||
EnsureDefaultConfigFile();
|
EnsureDefaultConfigFile();
|
||||||
DeleteOldValues();
|
DeleteOldValues();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ namespace NzbDrone.Core.CustomFormats
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return matches;
|
return matches.OrderBy(x => x.Name).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<CustomFormat> ParseCustomFormat(BookFile bookFile, Author author, List<CustomFormat> allCustomFormats)
|
private static List<CustomFormat> ParseCustomFormat(BookFile bookFile, Author author, List<CustomFormat> allCustomFormats)
|
||||||
|
|||||||
@@ -46,14 +46,16 @@ namespace NzbDrone.Core.Datastore
|
|||||||
|
|
||||||
private static string GetConnectionString(string dbPath)
|
private static string GetConnectionString(string dbPath)
|
||||||
{
|
{
|
||||||
var connectionBuilder = new SQLiteConnectionStringBuilder();
|
var connectionBuilder = new SQLiteConnectionStringBuilder
|
||||||
|
{
|
||||||
connectionBuilder.DataSource = dbPath;
|
DataSource = dbPath,
|
||||||
connectionBuilder.CacheSize = -10000;
|
CacheSize = -20000,
|
||||||
connectionBuilder.DateTimeKind = DateTimeKind.Utc;
|
DateTimeKind = DateTimeKind.Utc,
|
||||||
connectionBuilder.JournalMode = OsInfo.IsOsx ? SQLiteJournalModeEnum.Truncate : SQLiteJournalModeEnum.Wal;
|
JournalMode = OsInfo.IsOsx ? SQLiteJournalModeEnum.Truncate : SQLiteJournalModeEnum.Wal,
|
||||||
connectionBuilder.Pooling = true;
|
Pooling = true,
|
||||||
connectionBuilder.Version = 3;
|
Version = 3,
|
||||||
|
BusyTimeout = 100
|
||||||
|
};
|
||||||
|
|
||||||
if (OsInfo.IsOsx)
|
if (OsInfo.IsOsx)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using FluentMigrator;
|
||||||
|
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Datastore.Migration
|
||||||
|
{
|
||||||
|
[Migration(038)]
|
||||||
|
public class add_on_author_added_to_notifications : NzbDroneMigrationBase
|
||||||
|
{
|
||||||
|
protected override void MainDbUpgrade()
|
||||||
|
{
|
||||||
|
Alter.Table("Notifications").AddColumn("OnAuthorAdded").AsBoolean().WithDefaultValue(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -85,6 +85,7 @@ namespace NzbDrone.Core.Datastore
|
|||||||
.Ignore(i => i.SupportsOnReleaseImport)
|
.Ignore(i => i.SupportsOnReleaseImport)
|
||||||
.Ignore(i => i.SupportsOnUpgrade)
|
.Ignore(i => i.SupportsOnUpgrade)
|
||||||
.Ignore(i => i.SupportsOnRename)
|
.Ignore(i => i.SupportsOnRename)
|
||||||
|
.Ignore(i => i.SupportsOnAuthorAdded)
|
||||||
.Ignore(i => i.SupportsOnAuthorDelete)
|
.Ignore(i => i.SupportsOnAuthorDelete)
|
||||||
.Ignore(i => i.SupportsOnBookDelete)
|
.Ignore(i => i.SupportsOnBookDelete)
|
||||||
.Ignore(i => i.SupportsOnBookFileDelete)
|
.Ignore(i => i.SupportsOnBookFileDelete)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using NLog;
|
using NLog;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Datastore;
|
||||||
using NzbDrone.Core.Indexers;
|
using NzbDrone.Core.Indexers;
|
||||||
using NzbDrone.Core.IndexerSearch.Definitions;
|
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||||
using NzbDrone.Core.Parser.Model;
|
using NzbDrone.Core.Parser.Model;
|
||||||
@@ -10,12 +11,12 @@ namespace NzbDrone.Core.DecisionEngine.Specifications.RssSync
|
|||||||
public class IndexerTagSpecification : IDecisionEngineSpecification
|
public class IndexerTagSpecification : IDecisionEngineSpecification
|
||||||
{
|
{
|
||||||
private readonly Logger _logger;
|
private readonly Logger _logger;
|
||||||
private readonly IIndexerRepository _indexerRepository;
|
private readonly IIndexerFactory _indexerFactory;
|
||||||
|
|
||||||
public IndexerTagSpecification(Logger logger, IIndexerRepository indexerRepository)
|
public IndexerTagSpecification(Logger logger, IIndexerFactory indexerFactory)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_indexerRepository = indexerRepository;
|
_indexerFactory = indexerFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SpecificationPriority Priority => SpecificationPriority.Default;
|
public SpecificationPriority Priority => SpecificationPriority.Default;
|
||||||
@@ -23,8 +24,24 @@ namespace NzbDrone.Core.DecisionEngine.Specifications.RssSync
|
|||||||
|
|
||||||
public virtual Decision IsSatisfiedBy(RemoteBook subject, SearchCriteriaBase searchCriteria)
|
public virtual Decision IsSatisfiedBy(RemoteBook subject, SearchCriteriaBase searchCriteria)
|
||||||
{
|
{
|
||||||
// If indexer has tags, check that at least one of them is present on the author
|
if (subject.Release == null || subject.Author?.Tags == null || subject.Release.IndexerId == 0)
|
||||||
var indexerTags = _indexerRepository.Get(subject.Release.IndexerId).Tags;
|
{
|
||||||
|
return Decision.Accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
IndexerDefinition indexer;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
indexer = _indexerFactory.Get(subject.Release.IndexerId);
|
||||||
|
}
|
||||||
|
catch (ModelNotFoundException)
|
||||||
|
{
|
||||||
|
_logger.Debug("Indexer with id {0} does not exist, skipping indexer tags check", subject.Release.IndexerId);
|
||||||
|
return Decision.Accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
// If indexer has tags, check that at least one of them is present on the series
|
||||||
|
var indexerTags = indexer.Tags;
|
||||||
|
|
||||||
if (indexerTags.Any() && indexerTags.Intersect(subject.Author.Tags).Empty())
|
if (indexerTags.Any() && indexerTags.Intersect(subject.Author.Tags).Empty())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -304,13 +304,13 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version >= new Version("2.6.1"))
|
if (version >= new Version("2.6.1") && item.Status == DownloadItemStatus.Completed)
|
||||||
{
|
{
|
||||||
if (torrent.ContentPath != torrent.SavePath)
|
if (torrent.ContentPath != torrent.SavePath)
|
||||||
{
|
{
|
||||||
item.OutputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(torrent.ContentPath));
|
item.OutputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(torrent.ContentPath));
|
||||||
}
|
}
|
||||||
else if (item.Status == DownloadItemStatus.Completed)
|
else
|
||||||
{
|
{
|
||||||
item.Status = DownloadItemStatus.Warning;
|
item.Status = DownloadItemStatus.Warning;
|
||||||
item.Message = "Unable to Import. Path matches client base download directory, it's possible 'Keep top-level folder' is disabled for this torrent or 'Torrent Content Layout' is NOT set to 'Original' or 'Create Subfolder'?";
|
item.Message = "Unable to Import. Path matches client base download directory, it's possible 'Keep top-level folder' is disabled for this torrent or 'Torrent Content Layout' is NOT set to 'Original' or 'Create Subfolder'?";
|
||||||
@@ -386,10 +386,13 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var minimumRetention = 60 * 24 * 14;
|
||||||
|
|
||||||
return new DownloadClientInfo
|
return new DownloadClientInfo
|
||||||
{
|
{
|
||||||
IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost",
|
IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost",
|
||||||
OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, destDir) }
|
OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, destDir) },
|
||||||
|
RemovesCompletedDownloads = (config.MaxRatioEnabled || (config.MaxSeedingTimeEnabled && config.MaxSeedingTime < minimumRetention)) && (config.MaxRatioAction == QBittorrentMaxRatioAction.Remove || config.MaxRatioAction == QBittorrentMaxRatioAction.DeleteFiles)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -263,6 +263,17 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
|
|||||||
status.OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, category.FullPath) };
|
status.OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, category.FullPath) };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config.Misc.history_retention.IsNotNullOrWhiteSpace() && config.Misc.history_retention.EndsWith("d"))
|
||||||
|
{
|
||||||
|
int.TryParse(config.Misc.history_retention.AsSpan(0, config.Misc.history_retention.Length - 1),
|
||||||
|
out var daysRetention);
|
||||||
|
status.RemovesCompletedDownloads = daysRetention < 14;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
status.RemovesCompletedDownloads = config.Misc.history_retention != "0";
|
||||||
|
}
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
|
|||||||
public string[] date_categories { get; set; }
|
public string[] date_categories { get; set; }
|
||||||
public bool enable_date_sorting { get; set; }
|
public bool enable_date_sorting { get; set; }
|
||||||
public bool pre_check { get; set; }
|
public bool pre_check { get; set; }
|
||||||
|
public string history_retention { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SabnzbdCategory
|
public class SabnzbdCategory
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ namespace NzbDrone.Core.Download
|
|||||||
}
|
}
|
||||||
|
|
||||||
public bool IsLocalhost { get; set; }
|
public bool IsLocalhost { get; set; }
|
||||||
|
public bool RemovesCompletedDownloads { get; set; }
|
||||||
public List<OsPath> OutputRootFolders { get; set; }
|
public List<OsPath> OutputRootFolders { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -346,6 +346,7 @@ namespace NzbDrone.Core.Extras.Metadata
|
|||||||
private void DownloadImage(Author author, ImageFileResult image)
|
private void DownloadImage(Author author, ImageFileResult image)
|
||||||
{
|
{
|
||||||
var fullPath = Path.Combine(author.Path, image.RelativePath);
|
var fullPath = Path.Combine(author.Path, image.RelativePath);
|
||||||
|
var downloaded = true;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -353,12 +354,19 @@ namespace NzbDrone.Core.Extras.Metadata
|
|||||||
{
|
{
|
||||||
_httpClient.DownloadFile(image.Url, fullPath);
|
_httpClient.DownloadFile(image.Url, fullPath);
|
||||||
}
|
}
|
||||||
else
|
else if (_diskProvider.FileExists(image.Url))
|
||||||
{
|
{
|
||||||
_diskProvider.CopyFile(image.Url, fullPath);
|
_diskProvider.CopyFile(image.Url, fullPath);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
downloaded = false;
|
||||||
|
}
|
||||||
|
|
||||||
_mediaFileAttributeService.SetFilePermissions(fullPath);
|
if (downloaded)
|
||||||
|
{
|
||||||
|
_mediaFileAttributeService.SetFilePermissions(fullPath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (WebException ex)
|
catch (WebException ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
using System;
|
||||||
|
using NLog;
|
||||||
|
using NzbDrone.Core.Datastore.Events;
|
||||||
|
using NzbDrone.Core.Download;
|
||||||
|
using NzbDrone.Core.Download.Clients;
|
||||||
|
using NzbDrone.Core.Localization;
|
||||||
|
using NzbDrone.Core.RemotePathMappings;
|
||||||
|
using NzbDrone.Core.RootFolders;
|
||||||
|
using NzbDrone.Core.ThingiProvider.Events;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.HealthCheck.Checks
|
||||||
|
{
|
||||||
|
[CheckOn(typeof(ProviderUpdatedEvent<IDownloadClient>))]
|
||||||
|
[CheckOn(typeof(ProviderDeletedEvent<IDownloadClient>))]
|
||||||
|
[CheckOn(typeof(ModelEvent<RootFolder>))]
|
||||||
|
[CheckOn(typeof(ModelEvent<RemotePathMapping>))]
|
||||||
|
|
||||||
|
public class DownloadClientRemovesCompletedDownloadsCheck : HealthCheckBase, IProvideHealthCheck
|
||||||
|
{
|
||||||
|
private readonly IProvideDownloadClient _downloadClientProvider;
|
||||||
|
private readonly Logger _logger;
|
||||||
|
|
||||||
|
public DownloadClientRemovesCompletedDownloadsCheck(IProvideDownloadClient downloadClientProvider,
|
||||||
|
Logger logger,
|
||||||
|
ILocalizationService localizationService)
|
||||||
|
: base(localizationService)
|
||||||
|
{
|
||||||
|
_downloadClientProvider = downloadClientProvider;
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override HealthCheck Check()
|
||||||
|
{
|
||||||
|
var clients = _downloadClientProvider.GetDownloadClients(true);
|
||||||
|
|
||||||
|
foreach (var client in clients)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var clientName = client.Definition.Name;
|
||||||
|
var status = client.GetStatus();
|
||||||
|
|
||||||
|
if (status.RemovesCompletedDownloads)
|
||||||
|
{
|
||||||
|
return new HealthCheck(GetType(),
|
||||||
|
HealthCheckResult.Warning,
|
||||||
|
string.Format(_localizationService.GetLocalizedString("DownloadClientRemovesCompletedDownloadsHealthCheckMessage"), clientName, "Readarr"),
|
||||||
|
"#download-client-removes-completed-downloads");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (DownloadClientException ex)
|
||||||
|
{
|
||||||
|
_logger.Debug(ex, "Unable to communicate with {0}", client.Definition.Name);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.Error(ex, "Unknown error occurred in DownloadClientHistoryRetentionCheck HealthCheck");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return new HealthCheck(GetType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
using Dapper;
|
||||||
|
using NzbDrone.Core.Datastore;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Housekeeping.Housekeepers
|
||||||
|
{
|
||||||
|
public class FixMultipleMonitoredEditions : IHousekeepingTask
|
||||||
|
{
|
||||||
|
private readonly IMainDatabase _database;
|
||||||
|
|
||||||
|
public FixMultipleMonitoredEditions(IMainDatabase database)
|
||||||
|
{
|
||||||
|
_database = database;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Clean()
|
||||||
|
{
|
||||||
|
using var mapper = _database.OpenConnection();
|
||||||
|
|
||||||
|
if (_database.DatabaseType == DatabaseType.PostgreSQL)
|
||||||
|
{
|
||||||
|
mapper.Execute(@"UPDATE ""Editions""
|
||||||
|
SET ""Monitored"" = true
|
||||||
|
WHERE ""Id"" IN (
|
||||||
|
SELECT MIN(""Id"")
|
||||||
|
FROM ""Editions""
|
||||||
|
WHERE ""Monitored"" = true
|
||||||
|
GROUP BY ""BookId""
|
||||||
|
HAVING COUNT(""BookId"") > 1
|
||||||
|
)");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mapper.Execute(@"UPDATE ""Editions""
|
||||||
|
SET ""Monitored"" = 0
|
||||||
|
WHERE ""Id"" IN (
|
||||||
|
SELECT MIN(""Id"")
|
||||||
|
FROM ""Editions""
|
||||||
|
WHERE ""Monitored"" = 1
|
||||||
|
GROUP BY ""BookId""
|
||||||
|
HAVING COUNT(""BookId"") > 1
|
||||||
|
)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -257,9 +257,17 @@ namespace NzbDrone.Core.Indexers
|
|||||||
|
|
||||||
protected virtual bool IsValidRelease(ReleaseInfo release)
|
protected virtual bool IsValidRelease(ReleaseInfo release)
|
||||||
{
|
{
|
||||||
|
if (release.Title.IsNullOrWhiteSpace())
|
||||||
|
{
|
||||||
|
_logger.Trace("Invalid Release: '{0}' from indexer: {1}. No title provided.", release.InfoUrl, Definition.Name);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (release.DownloadUrl.IsNullOrWhiteSpace())
|
if (release.DownloadUrl.IsNullOrWhiteSpace())
|
||||||
{
|
{
|
||||||
_logger.Trace("Invalid Release: '{0}' from indexer: {1}. No Download URL provided.", release.Title, release.Indexer);
|
_logger.Trace("Invalid Release: '{0}' from indexer: {1}. No Download URL provided.", release.Title, Definition.Name);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ using NzbDrone.Common.Cache;
|
|||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Common.Http;
|
using NzbDrone.Common.Http;
|
||||||
using NzbDrone.Common.Serializer;
|
using NzbDrone.Common.Serializer;
|
||||||
|
using NzbDrone.Core.Indexers.Exceptions;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Indexers.Newznab
|
namespace NzbDrone.Core.Indexers.Newznab
|
||||||
{
|
{
|
||||||
@@ -73,6 +74,13 @@ namespace NzbDrone.Core.Indexers.Newznab
|
|||||||
_logger.Debug(ex, "Failed to parse newznab api capabilities for {0}", indexerSettings.BaseUrl);
|
_logger.Debug(ex, "Failed to parse newznab api capabilities for {0}", indexerSettings.BaseUrl);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
catch (ApiKeyException ex)
|
||||||
|
{
|
||||||
|
ex.WithData(response, 128 * 1024);
|
||||||
|
_logger.Trace("Unexpected Response content ({0} bytes): {1}", response.ResponseData.Length, response.Content);
|
||||||
|
_logger.Debug(ex, "Failed to parse newznab api capabilities for {0}, invalid API key", indexerSettings.BaseUrl);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
ex.WithData(response, 128 * 1024);
|
ex.WithData(response, 128 * 1024);
|
||||||
|
|||||||
@@ -626,5 +626,7 @@
|
|||||||
"AddNew": "Добави нов",
|
"AddNew": "Добави нов",
|
||||||
"NextExecution": "Следващо изпълнение",
|
"NextExecution": "Следващо изпълнение",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "Всички резултати са скрити от приложения филтър",
|
"AllResultsAreHiddenByTheAppliedFilter": "Всички резултати са скрити от приложения филтър",
|
||||||
"Backup": "Архивиране"
|
"Backup": "Архивиране",
|
||||||
|
"MetadataProfiles": "Добави профил на метадата",
|
||||||
|
"MetadataProfile": "Добави профил на метадата"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,19 +80,19 @@
|
|||||||
"DeleteDelayProfile": "Odstranění profilu zpoždění",
|
"DeleteDelayProfile": "Odstranění profilu zpoždění",
|
||||||
"DeleteDelayProfileMessageText": "Opravdu chcete smazat tento profil zpoždění?",
|
"DeleteDelayProfileMessageText": "Opravdu chcete smazat tento profil zpoždění?",
|
||||||
"DeleteDownloadClient": "Odstranění klienta pro stahování",
|
"DeleteDownloadClient": "Odstranění klienta pro stahování",
|
||||||
"DeleteDownloadClientMessageText": "Opravdu chcete odstranit klienta pro stahování „{0}“?",
|
"DeleteDownloadClientMessageText": "Opravdu chcete odstranit klienta pro stahování '{name}'?",
|
||||||
"DeleteEmptyFolders": "Odstraňte prázdné složky",
|
"DeleteEmptyFolders": "Odstraňte prázdné složky",
|
||||||
"DeleteEmptyFoldersHelpText": "Během skenování disku a při mazání filmových souborů odstraňte prázdné složky s filmy",
|
"DeleteEmptyFoldersHelpText": "Během skenování disku a při mazání filmových souborů odstraňte prázdné složky s filmy",
|
||||||
"DeleteImportListExclusion": "Odstranit vyloučení seznamu importů",
|
"DeleteImportListExclusion": "Odstranit vyloučení seznamu importů",
|
||||||
"DeleteImportListExclusionMessageText": "Opravdu chcete toto vyloučení importního seznamu smazat?",
|
"DeleteImportListExclusionMessageText": "Opravdu chcete toto vyloučení importního seznamu smazat?",
|
||||||
"DeleteImportListMessageText": "Opravdu chcete smazat seznam „{0}“?",
|
"DeleteImportListMessageText": "Opravdu chcete smazat seznam '{name}'?",
|
||||||
"DeleteIndexer": "Odstranit indexer",
|
"DeleteIndexer": "Odstranit indexer",
|
||||||
"DeleteIndexerMessageText": "Opravdu chcete odstranit indexer „{0}“?",
|
"DeleteIndexerMessageText": "Opravdu chcete odstranit indexer '{name}'?",
|
||||||
"DeleteMetadataProfileMessageText": "Opravdu chcete smazat kvalitní profil {0}",
|
"DeleteMetadataProfileMessageText": "Opravdu chcete smazat profil metadat '{name}'?",
|
||||||
"DeleteNotification": "Smazat oznámení",
|
"DeleteNotification": "Smazat oznámení",
|
||||||
"DeleteNotificationMessageText": "Opravdu chcete smazat oznámení „{0}“?",
|
"DeleteNotificationMessageText": "Opravdu chcete smazat oznámení '{name}'?",
|
||||||
"DeleteQualityProfile": "Smažte profil kvality",
|
"DeleteQualityProfile": "Smažte profil kvality",
|
||||||
"DeleteQualityProfileMessageText": "Opravdu chcete smazat kvalitní profil {0}",
|
"DeleteQualityProfileMessageText": "Opravdu chcete smazat profil kvality '{name}'?",
|
||||||
"DeleteReleaseProfile": "Smazat profil zpoždění",
|
"DeleteReleaseProfile": "Smazat profil zpoždění",
|
||||||
"DeleteReleaseProfileMessageText": "Opravdu chcete smazat tento profil zpoždění?",
|
"DeleteReleaseProfileMessageText": "Opravdu chcete smazat tento profil zpoždění?",
|
||||||
"DeleteSelectedBookFiles": "Odstranit vybrané filmové soubory",
|
"DeleteSelectedBookFiles": "Odstranit vybrané filmové soubory",
|
||||||
@@ -588,23 +588,23 @@
|
|||||||
"Required": "Požadované",
|
"Required": "Požadované",
|
||||||
"NoEventsFound": "Nebyly nalezeny žádné události",
|
"NoEventsFound": "Nebyly nalezeny žádné události",
|
||||||
"RedownloadFailed": "Stažení se nezdařilo",
|
"RedownloadFailed": "Stažení se nezdařilo",
|
||||||
"DeleteSelectedImportListsMessageText": "Opravdu chcete odstranit indexer „{0}“?",
|
"DeleteSelectedImportListsMessageText": "Opravdu chcete smazat {count} vybraných seznamů k importu?",
|
||||||
"DeleteSelectedIndexers": "Odstranit indexer",
|
"DeleteSelectedIndexers": "Odstranit indexer",
|
||||||
"ExistingTag": "Stávající značka",
|
"ExistingTag": "Stávající značka",
|
||||||
"ApplyTagsHelpTextHowToApplyAuthors": "Jak použít značky na vybrané filmy",
|
"ApplyTagsHelpTextHowToApplyAuthors": "Jak použít značky na vybrané filmy",
|
||||||
"DeleteSelectedDownloadClientsMessageText": "Opravdu chcete odstranit indexer „{0}“?",
|
"DeleteSelectedDownloadClientsMessageText": "Opravdu chcete smazat {count} vybraných klientů pro stahování?",
|
||||||
"No": "Ne",
|
"No": "Ne",
|
||||||
"NoChange": "Žádná změna",
|
"NoChange": "Žádná změna",
|
||||||
"RemovingTag": "Odebírání značky",
|
"RemovingTag": "Odebírání značky",
|
||||||
"SetTags": "Nastavit značky",
|
"SetTags": "Nastavit značky",
|
||||||
"ApplyTagsHelpTextAdd": "Přidat: Přidá značky k již existujícímu seznamu",
|
"ApplyTagsHelpTextAdd": "Přidat: Přidá značky k již existujícímu seznamu",
|
||||||
"ApplyTagsHelpTextHowToApplyDownloadClients": "Jak použít značky na vybrané klienty pro stahování",
|
"ApplyTagsHelpTextHowToApplyDownloadClients": "Jak použít značky na vybrané klienty pro stahování",
|
||||||
"ApplyTagsHelpTextHowToApplyImportLists": "Jak použít značky na vybrané importní seznamy",
|
"ApplyTagsHelpTextHowToApplyImportLists": "Jak použít značky na vybrané seznamy k importu",
|
||||||
"ApplyTagsHelpTextHowToApplyIndexers": "Jak použít značky na vybrané indexátory",
|
"ApplyTagsHelpTextHowToApplyIndexers": "Jak použít značky na vybrané indexery",
|
||||||
"ApplyTagsHelpTextRemove": "Odebrat: Odebrat zadané značky",
|
"ApplyTagsHelpTextRemove": "Odebrat: Odebrat zadané značky",
|
||||||
"ApplyTagsHelpTextReplace": "Nahradit: Nahradit značky zadanými značkami (zadáním žádné značky vymažete všechny značky)",
|
"ApplyTagsHelpTextReplace": "Nahradit: Nahradit značky zadanými značkami (prázdné pole vymaže všechny značky)",
|
||||||
"DeleteSelectedDownloadClients": "Odstranit staženého klienta",
|
"DeleteSelectedDownloadClients": "Odstranit klienta pro stahování",
|
||||||
"DeleteSelectedIndexersMessageText": "Opravdu chcete odstranit indexer „{0}“?",
|
"DeleteSelectedIndexersMessageText": "Opravdu chcete smazat {count} vybraný(ch) indexer(ů)?",
|
||||||
"Yes": "Ano",
|
"Yes": "Ano",
|
||||||
"NotificationStatusAllClientHealthCheckMessage": "Všechny seznamy nejsou k dispozici z důvodu selhání",
|
"NotificationStatusAllClientHealthCheckMessage": "Všechny seznamy nejsou k dispozici z důvodu selhání",
|
||||||
"Small": "Malý",
|
"Small": "Malý",
|
||||||
@@ -624,7 +624,7 @@
|
|||||||
"TotalSpace": "Celkový prostor",
|
"TotalSpace": "Celkový prostor",
|
||||||
"ConnectionLost": "Spojení ztraceno",
|
"ConnectionLost": "Spojení ztraceno",
|
||||||
"ConnectionLostReconnect": "{appName} se pokusí připojit automaticky, nebo můžete kliknout na tlačítko znovunačtení níže.",
|
"ConnectionLostReconnect": "{appName} se pokusí připojit automaticky, nebo můžete kliknout na tlačítko znovunačtení níže.",
|
||||||
"ConnectionLostToBackend": "{appName} ztratila spojení s backendem a pro obnovení funkčnosti bude třeba ji znovu načíst.",
|
"ConnectionLostToBackend": "{appName} ztratil spojení s backendem a pro obnovení funkčnosti bude třebaho znovu načíst.",
|
||||||
"Large": "Velký",
|
"Large": "Velký",
|
||||||
"LastDuration": "lastDuration",
|
"LastDuration": "lastDuration",
|
||||||
"Ui": "UI",
|
"Ui": "UI",
|
||||||
@@ -645,8 +645,8 @@
|
|||||||
"CloneCondition": "Klonovat podmínku",
|
"CloneCondition": "Klonovat podmínku",
|
||||||
"Clone": "Klonovat",
|
"Clone": "Klonovat",
|
||||||
"ApiKeyValidationHealthCheckMessage": "Aktualizujte svůj klíč API tak, aby měl alespoň {0} znaků. Můžete to provést prostřednictvím nastavení nebo konfiguračního souboru",
|
"ApiKeyValidationHealthCheckMessage": "Aktualizujte svůj klíč API tak, aby měl alespoň {0} znaků. Můžete to provést prostřednictvím nastavení nebo konfiguračního souboru",
|
||||||
"ChooseImportMethod": "Vyberte mód importu",
|
"ChooseImportMethod": "Vyberte způsob importu",
|
||||||
"CatalogNumber": "katalogové číslo",
|
"CatalogNumber": "Katalogové číslo",
|
||||||
"Publisher": "Vydavatel",
|
"Publisher": "Vydavatel",
|
||||||
"StatusEndedContinuing": "Pokračující",
|
"StatusEndedContinuing": "Pokračující",
|
||||||
"MetadataProfiles": "profil metadat",
|
"MetadataProfiles": "profil metadat",
|
||||||
@@ -655,12 +655,30 @@
|
|||||||
"Label": "Etiketa",
|
"Label": "Etiketa",
|
||||||
"Library": "Knihovna",
|
"Library": "Knihovna",
|
||||||
"BypassIfAboveCustomFormatScore": "Obejít, pokud je vyšší než skóre vlastního formátu",
|
"BypassIfAboveCustomFormatScore": "Obejít, pokud je vyšší než skóre vlastního formátu",
|
||||||
"AppUpdatedVersion": "{appName} byla aktualizována na verzi `{version}`, abyste získali nejnovější změny, musíte znovu načíst {appName}.",
|
"AppUpdatedVersion": "{appName} byl aktualizován na verzi `{version}`, abyste získali nejnovější změny, musíte znovu načíst {appName}",
|
||||||
"BypassIfAboveCustomFormatScoreHelpText": "Povolit obcházení, pokud má vydání vyšší skóre, než je nakonfigurované minimální skóre vlastního formátu",
|
"BypassIfAboveCustomFormatScoreHelpText": "Povolit obcházení, pokud má vydání vyšší skóre, než je nakonfigurované minimální skóre vlastního formátu",
|
||||||
"BypassIfHighestQuality": "Obejít v případě nejvyšší kvality",
|
"BypassIfHighestQuality": "Obejít v případě nejvyšší kvality",
|
||||||
"Theme": "Motiv",
|
"Theme": "Motiv",
|
||||||
"MinimumCustomFormatScoreHelpText": "Minimální skóre vlastního formátu požadované pro obejití zpoždění preferovaného protokolu",
|
"MinimumCustomFormatScoreHelpText": "Minimální skóre vlastního formátu požadované pro obejití zpoždění preferovaného protokolu",
|
||||||
"Series": "Seriál",
|
"Series": "Seriál",
|
||||||
"DeleteCondition": "Odstranit podmínku",
|
"DeleteCondition": "Odstranit podmínku",
|
||||||
"Database": "Databáze"
|
"Database": "Databáze",
|
||||||
|
"CountDownloadClientsSelected": "{count} vybraných klientů ke stahování",
|
||||||
|
"ImportListMissingRoot": "Chybí kořenový adresář pro import seznamu: {0}",
|
||||||
|
"IndexerDownloadClientHelpText": "Zvolte, který klient pro stahování bude použit pro zachytávání z toho indexeru",
|
||||||
|
"ImportListMultipleMissingRoots": "Několik kořenových adresářů chybí pro seznamy importu: {0}",
|
||||||
|
"EditSelectedDownloadClients": "Upravit vybrané klienty pro stahování",
|
||||||
|
"EditSelectedIndexers": "Upravit vybrané indexery",
|
||||||
|
"EnableProfile": "Povolit profil",
|
||||||
|
"DeleteImportList": "Smazat seznam importovaných položek",
|
||||||
|
"AddNewItem": "Přidat novou položku",
|
||||||
|
"AddMissing": "Přidat chybějící",
|
||||||
|
"EditSelectedImportLists": "Upravit vybrané seznamy k importu",
|
||||||
|
"DeleteSelectedImportLists": "Smazat seznam k importu",
|
||||||
|
"Duration": "Trvání",
|
||||||
|
"DeleteRootFolder": "Smazat kořenový adresář",
|
||||||
|
"DownloadClientTagHelpText": "Tohoto klienta pro stahování používat pouze pro filmy s alespoň jednou odpovídající značkou. Pro použití se všemi filmy ponechte prázdné pole.",
|
||||||
|
"AddedAuthorSettings": "Nastavení umělce přidáno",
|
||||||
|
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Klient stahování {downloadClientName} je nastaven na odstranění dokončených stahování. To může vést k tomu, že stahování budou z klienta odstraněna dříve, než je bude moci importovat {1}.",
|
||||||
|
"IndexerTagsHelpText": "Tohoto klienta pro stahování používat pouze pro filmy s alespoň jednou odpovídající značkou. Pro použití se všemi filmy ponechte prázdné pole."
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"20MinutesTwenty": "60 minutter: {0}",
|
"20MinutesTwenty": "20 minutter: {0}",
|
||||||
"45MinutesFourtyFive": "60 minutter: {0}",
|
"45MinutesFourtyFive": "45 minutter: {0}",
|
||||||
"60MinutesSixty": "60 minutter: {0}",
|
"60MinutesSixty": "60 minutter: {0}",
|
||||||
"APIKey": "API-nøgle",
|
"APIKey": "API-nøgle",
|
||||||
"About": "Om",
|
"About": "Om",
|
||||||
@@ -634,5 +634,6 @@
|
|||||||
"AddNew": "Tilføj Ny",
|
"AddNew": "Tilføj Ny",
|
||||||
"Large": "Stor",
|
"Large": "Stor",
|
||||||
"Library": "Bibliotek",
|
"Library": "Bibliotek",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "Alle resultater skjules af det anvendte filter"
|
"AllResultsAreHiddenByTheAppliedFilter": "Alle resultater skjules af det anvendte filter",
|
||||||
|
"AddNewItem": "Tilføj Ny Genstand"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -240,32 +240,32 @@
|
|||||||
"PortNumber": "Port Nummer",
|
"PortNumber": "Port Nummer",
|
||||||
"PosterSize": "Plakatgröße",
|
"PosterSize": "Plakatgröße",
|
||||||
"Profiles": "Profile",
|
"Profiles": "Profile",
|
||||||
"Proper": "Proper",
|
"Proper": "Korrekt",
|
||||||
"PropersAndRepacks": "Propers und Repacks",
|
"PropersAndRepacks": "Propers und Repacks",
|
||||||
"Protocol": "Protokoll",
|
"Protocol": "Protokoll",
|
||||||
"ProtocolHelpText": "Wählen Sie, welche(s) Protokoll(e) verwendet werden soll(en) und welches Protokoll bei der Wahl zwischen ansonsten gleichwertigen Releases bevorzugt wird",
|
"ProtocolHelpText": "Wählen Sie aus, welche(s) Protokoll(e) Sie verwenden möchten und welches Protokoll Sie bevorzugen, wenn Sie zwischen ansonsten gleichen Versionen wählen",
|
||||||
"Proxy": "Proxy",
|
"Proxy": "Proxy",
|
||||||
"ProxyBypassFilterHelpText": "Verwende ',' als Trennzeichen und '*.' als Platzhalter für Subdomains",
|
"ProxyBypassFilterHelpText": "Verwenden Sie ',' als Trennzeichen und '*.' als Wildcard für Subdomains",
|
||||||
"ProxyPasswordHelpText": "Nur wenn ein Benutzername und Passwort erforderlich ist, muss es eingegeben werden. Ansonsten leer lassen.",
|
"ProxyPasswordHelpText": "Sie müssen nur einen Benutzernamen und ein Passwort eingeben, wenn dies erforderlich ist. Andernfalls lassen Sie sie leer.",
|
||||||
"ProxyType": "Proxy Typ",
|
"ProxyType": "Proxy-Typ",
|
||||||
"PublishedDate": "Veröffentlichungs Datum",
|
"PublishedDate": "Veröffentlichungsdatum",
|
||||||
"Quality": "Qualität",
|
"Quality": "Qualität",
|
||||||
"QualityDefinitions": "Qualitätsdefinitionen",
|
"QualityDefinitions": "Qualitätsdefinitionen",
|
||||||
"QualityProfile": "Qualitätsprofil",
|
"QualityProfile": "Qualitätsprofil",
|
||||||
"QualityProfiles": "Qualitätsprofile",
|
"QualityProfiles": "Qualitätsprofile",
|
||||||
"QualitySettings": "Qualitäts Einstellungen",
|
"QualitySettings": "Qualitätseinstellungen",
|
||||||
"Queue": "Warteschlange",
|
"Queue": "Warteschlange",
|
||||||
"RSSSync": "RSS-Sync",
|
"RSSSync": "RSS-Sync",
|
||||||
"RSSSyncInterval": "RSS Synchronisierungs Intervall",
|
"RSSSyncInterval": "RSS Synchronisierungs Intervall",
|
||||||
"ReadTheWikiForMoreInformation": "Lese das Wiki für mehr Informationen",
|
"ReadTheWikiForMoreInformation": "Lesen Sie das Wiki für weitere Informationen",
|
||||||
"ReadarrSupportsAnyIndexerThatUsesTheNewznabStandardAsWellAsOtherIndexersListedBelow": "Jeder Indexer der den Newznab-Standard verwendet oder unten aufgelistet ist wird untertützt.",
|
"ReadarrSupportsAnyIndexerThatUsesTheNewznabStandardAsWellAsOtherIndexersListedBelow": "Jeder Indexer der den Newznab-Standard verwendet oder unten aufgelistet ist wird untertützt.",
|
||||||
"ReadarrTags": "Radarr Tags",
|
"ReadarrTags": "Radarr Tags",
|
||||||
"Real": "Echt",
|
"Real": "Real",
|
||||||
"Reason": "Grund",
|
"Reason": "Begründung",
|
||||||
"RecycleBinCleanupDaysHelpText": "Auf 0 setzen um das automatische leeren des Papierkorbs zu deaktivieren",
|
"RecycleBinCleanupDaysHelpText": "Auf 0 setzen um das automatische leeren des Papierkorbs zu deaktivieren",
|
||||||
"RecycleBinCleanupDaysHelpTextWarning": "Datien im Papierkorb die älter sind als der gewählte Wert, werden endgültig gelöscht",
|
"RecycleBinCleanupDaysHelpTextWarning": "Datien im Papierkorb die älter sind als der gewählte Wert, werden endgültig gelöscht",
|
||||||
"RecycleBinHelpText": "Gelöschte Filmdateien werden hierher verschoben anstatt sie direkt endgültig zu löschen",
|
"RecycleBinHelpText": "Gelöschte Filmdateien werden hierher verschoben anstatt sie direkt endgültig zu löschen",
|
||||||
"RecyclingBinCleanup": "Papierkorb aufräumen",
|
"RecyclingBinCleanup": "Papierkorb leeren",
|
||||||
"Redownload": "Nochmal herunterladen",
|
"Redownload": "Nochmal herunterladen",
|
||||||
"Refresh": "Aktualisieren",
|
"Refresh": "Aktualisieren",
|
||||||
"RefreshInformationAndScanDisk": "Metadaten aktualisieren und Festplatte scannen",
|
"RefreshInformationAndScanDisk": "Metadaten aktualisieren und Festplatte scannen",
|
||||||
@@ -338,7 +338,7 @@
|
|||||||
"ShowSizeOnDisk": "Belegter Speicherplatz anzeigen",
|
"ShowSizeOnDisk": "Belegter Speicherplatz anzeigen",
|
||||||
"ShownAboveEachColumnWhenWeekIsTheActiveView": "Wird in der Wochenansicht über jeder Spalte angezeigt",
|
"ShownAboveEachColumnWhenWeekIsTheActiveView": "Wird in der Wochenansicht über jeder Spalte angezeigt",
|
||||||
"Size": " Größe",
|
"Size": " Größe",
|
||||||
"SkipFreeSpaceCheck": "Pürfung des freien Speichers überspringen",
|
"SkipFreeSpaceCheck": "Prüfung des freien Speichers überspringen",
|
||||||
"SkipFreeSpaceCheckWhenImportingHelpText": "Aktiviere diese Option, wenn es Readarr nicht möglich ist, den freien Speicherplatz des Stammverzeichnisses für Autoren zu erkennen",
|
"SkipFreeSpaceCheckWhenImportingHelpText": "Aktiviere diese Option, wenn es Readarr nicht möglich ist, den freien Speicherplatz des Stammverzeichnisses für Autoren zu erkennen",
|
||||||
"SorryThatAuthorCannotBeFound": "Schade, dieser Film kann nicht gefunden werden.",
|
"SorryThatAuthorCannotBeFound": "Schade, dieser Film kann nicht gefunden werden.",
|
||||||
"SorryThatBookCannotBeFound": "Schade, dieser Film kann nicht gefunden werden.",
|
"SorryThatBookCannotBeFound": "Schade, dieser Film kann nicht gefunden werden.",
|
||||||
@@ -435,7 +435,7 @@
|
|||||||
"YesCancel": "Ja, abbrechen",
|
"YesCancel": "Ja, abbrechen",
|
||||||
"BindAddressHelpTextWarning": "Erfordert einen Neustart",
|
"BindAddressHelpTextWarning": "Erfordert einen Neustart",
|
||||||
"LoadingBooksFailed": "Laden der Film-Dateien fehlgeschlagen",
|
"LoadingBooksFailed": "Laden der Film-Dateien fehlgeschlagen",
|
||||||
"ProxyUsernameHelpText": "Nur wenn ein Benutzername und Passwort erforderlich ist, muss es eingegeben werden. Ansonsten leer lassen.",
|
"ProxyUsernameHelpText": "Sie müssen nur einen Benutzernamen und ein Passwort eingeben, wenn dies erforderlich ist. Andernfalls lassen Sie sie leer.",
|
||||||
"SslPortHelpTextWarning": "Erfordert einen Neustart",
|
"SslPortHelpTextWarning": "Erfordert einen Neustart",
|
||||||
"UnableToLoadMetadataProfiles": "Verzögerungsprofile konnten nicht geladen werden",
|
"UnableToLoadMetadataProfiles": "Verzögerungsprofile konnten nicht geladen werden",
|
||||||
"ApiKeyHelpTextWarning": "Erfordert einen Neustart",
|
"ApiKeyHelpTextWarning": "Erfordert einen Neustart",
|
||||||
@@ -694,8 +694,8 @@
|
|||||||
"PathHelpText": "Stammordner für die Musikbibliothek",
|
"PathHelpText": "Stammordner für die Musikbibliothek",
|
||||||
"ProxyCheckBadRequestMessage": "Proxy konnte nicht getestet werden. StatusCode: {0}",
|
"ProxyCheckBadRequestMessage": "Proxy konnte nicht getestet werden. StatusCode: {0}",
|
||||||
"ProxyCheckFailedToTestMessage": "Proxy konnte nicht getestet werden: {0}",
|
"ProxyCheckFailedToTestMessage": "Proxy konnte nicht getestet werden: {0}",
|
||||||
"Queued": "In der Warteschlange",
|
"Queued": "In Warteschlange",
|
||||||
"RefreshAndScan": "Aktualisieren",
|
"RefreshAndScan": "Aktualisieren und scannen",
|
||||||
"SettingsRemotePathMappingRemotePathHelpText": "Root-Pfad zum Verzeichnis, auf das der Download-Client zugreift",
|
"SettingsRemotePathMappingRemotePathHelpText": "Root-Pfad zum Verzeichnis, auf das der Download-Client zugreift",
|
||||||
"Yesterday": "Gestern",
|
"Yesterday": "Gestern",
|
||||||
"UpdateAvailable": "Neue Version verfügbar",
|
"UpdateAvailable": "Neue Version verfügbar",
|
||||||
@@ -750,8 +750,8 @@
|
|||||||
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "Wenn kein Ausschluss der Import Liste hinzugefügt wird und der Künstler ein anderes Metadaten Profil als 'Keine' hat, kann es passieren, dass dieses Album bei der nächsten Aktualisierung des Künstlers erneut hinzugefügt wird.",
|
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "Wenn kein Ausschluss der Import Liste hinzugefügt wird und der Künstler ein anderes Metadaten Profil als 'Keine' hat, kann es passieren, dass dieses Album bei der nächsten Aktualisierung des Künstlers erneut hinzugefügt wird.",
|
||||||
"MissingFromDisk": "Radarr konnte die Datei nicht auf der Festplatte finden, daher wurde die Verknüpfung auf die Datei aus der Datenbank entfernt",
|
"MissingFromDisk": "Radarr konnte die Datei nicht auf der Festplatte finden, daher wurde die Verknüpfung auf die Datei aus der Datenbank entfernt",
|
||||||
"ProxyCheckResolveIpMessage": "Fehler beim Auflösen der IP-Adresse für den konfigurierten Proxy-Host {0}",
|
"ProxyCheckResolveIpMessage": "Fehler beim Auflösen der IP-Adresse für den konfigurierten Proxy-Host {0}",
|
||||||
"QualitySettingsSummary": "Qualitätgrößen und Bennenung",
|
"QualitySettingsSummary": "Qualitätsgrößen und Namensgebung",
|
||||||
"QueueIsEmpty": "Warteschlange ist leer",
|
"QueueIsEmpty": "Die Warteschlange ist leer",
|
||||||
"ReadarrSupportsMultipleListsForImportingBooksAndAuthorsIntoTheDatabase": "Lidarr unterstützt mehrere Listen für den Import von Alben und Künstlern in die Datenbank.",
|
"ReadarrSupportsMultipleListsForImportingBooksAndAuthorsIntoTheDatabase": "Lidarr unterstützt mehrere Listen für den Import von Alben und Künstlern in die Datenbank.",
|
||||||
"TotalBookCountBooksTotalBookFileCountBooksWithFilesInterp": "{0} Titel insgesamt. {1} Titel mit Dateien.",
|
"TotalBookCountBooksTotalBookFileCountBooksWithFilesInterp": "{0} Titel insgesamt. {1} Titel mit Dateien.",
|
||||||
"SearchFiltered": "Suche gefilterte",
|
"SearchFiltered": "Suche gefilterte",
|
||||||
@@ -985,7 +985,7 @@
|
|||||||
"ConnectionLost": "Verbindung unterbrochen",
|
"ConnectionLost": "Verbindung unterbrochen",
|
||||||
"Events": "Events",
|
"Events": "Events",
|
||||||
"LastDuration": "Letzte Dauer",
|
"LastDuration": "Letzte Dauer",
|
||||||
"RecentChanges": "Neuste Änderungen",
|
"RecentChanges": "Kürzliche Änderungen",
|
||||||
"System": "System",
|
"System": "System",
|
||||||
"WhatsNew": "Was gibt's Neues?",
|
"WhatsNew": "Was gibt's Neues?",
|
||||||
"NextExecution": "Nächste Ausführung",
|
"NextExecution": "Nächste Ausführung",
|
||||||
@@ -993,7 +993,9 @@
|
|||||||
"SomeResultsAreHiddenByTheAppliedFilter": "Einige Ergebnisse werden wegen der aktiven Filter nicht angezeigt",
|
"SomeResultsAreHiddenByTheAppliedFilter": "Einige Ergebnisse werden wegen der aktiven Filter nicht angezeigt",
|
||||||
"Medium": "Medium",
|
"Medium": "Medium",
|
||||||
"Activity": "Aktivität",
|
"Activity": "Aktivität",
|
||||||
"AddNew": "Hinzufügen",
|
"AddNew": "Neue hinzufügen",
|
||||||
"Backup": "Backups",
|
"Backup": "Backups",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "Keine Ergebnisse mit den ausgewählten Filtern"
|
"AllResultsAreHiddenByTheAppliedFilter": "Keine Ergebnisse mit den ausgewählten Filtern",
|
||||||
|
"AppUpdated": "{appName} aktualisiert",
|
||||||
|
"AppUpdatedVersion": "{appName} wurde auf die Version `{version}` aktualisiert. Um die neusten Funktionen zu bekommen lade {appName} neu"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -993,5 +993,9 @@
|
|||||||
"AddNew": "Προσθήκη Νέων",
|
"AddNew": "Προσθήκη Νέων",
|
||||||
"Backup": "Αντίγραφο Ασφαλείας",
|
"Backup": "Αντίγραφο Ασφαλείας",
|
||||||
"NextExecution": "Επόμενη εκτέλεση",
|
"NextExecution": "Επόμενη εκτέλεση",
|
||||||
"Small": "Μικρό"
|
"Small": "Μικρό",
|
||||||
|
"AppUpdated": "{appName} Ενημερώθηκε",
|
||||||
|
"AppUpdatedVersion": "ξαναφορτωθεί",
|
||||||
|
"AutoAdd": "Προσθήκη",
|
||||||
|
"ErrorLoadingContent": "Υπήρξε ένα σφάλμα κατά τη φόρτωση του αρχείου"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -265,6 +265,7 @@
|
|||||||
"DownloadClientCheckDownloadingToRoot": "Download client {0} places downloads in the root folder {1}. You should not download to a root folder.",
|
"DownloadClientCheckDownloadingToRoot": "Download client {0} places downloads in the root folder {1}. You should not download to a root folder.",
|
||||||
"DownloadClientCheckNoneAvailableMessage": "No download client is available",
|
"DownloadClientCheckNoneAvailableMessage": "No download client is available",
|
||||||
"DownloadClientCheckUnableToCommunicateMessage": "Unable to communicate with {0}.",
|
"DownloadClientCheckUnableToCommunicateMessage": "Unable to communicate with {0}.",
|
||||||
|
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Download client {0} is set to remove completed downloads. This can result in downloads being removed from your client before {1} can import them.",
|
||||||
"DownloadClientSettings": "Download Client Settings",
|
"DownloadClientSettings": "Download Client Settings",
|
||||||
"DownloadClientStatusCheckAllClientMessage": "All download clients are unavailable due to failures",
|
"DownloadClientStatusCheckAllClientMessage": "All download clients are unavailable due to failures",
|
||||||
"DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {0}",
|
"DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {0}",
|
||||||
@@ -591,6 +592,8 @@
|
|||||||
"NotificationTriggers": "Notification Triggers",
|
"NotificationTriggers": "Notification Triggers",
|
||||||
"OnApplicationUpdate": "On Application Update",
|
"OnApplicationUpdate": "On Application Update",
|
||||||
"OnApplicationUpdateHelpText": "On Application Update",
|
"OnApplicationUpdateHelpText": "On Application Update",
|
||||||
|
"OnAuthorAdded": "On Author Added",
|
||||||
|
"OnAuthorAddedHelpText": "On Author Added",
|
||||||
"OnAuthorDelete": "On Author Delete",
|
"OnAuthorDelete": "On Author Delete",
|
||||||
"OnAuthorDeleteHelpText": "On Author Delete",
|
"OnAuthorDeleteHelpText": "On Author Delete",
|
||||||
"OnBookDelete": "On Book Delete",
|
"OnBookDelete": "On Book Delete",
|
||||||
|
|||||||
@@ -14,11 +14,11 @@
|
|||||||
"60MinutesSixty": "60 Minutos: {0}",
|
"60MinutesSixty": "60 Minutos: {0}",
|
||||||
"APIKey": "Clave API",
|
"APIKey": "Clave API",
|
||||||
"About": "Acerca de",
|
"About": "Acerca de",
|
||||||
"AddListExclusion": "Añadir Exclusión De Lista",
|
"AddListExclusion": "Agregar Lista de Exclusión",
|
||||||
"AddingTag": "Añadir etiqueta",
|
"AddingTag": "Añadir etiqueta",
|
||||||
"AgeWhenGrabbed": "Antigüedad (cuando se añadió)",
|
"AgeWhenGrabbed": "Antigüedad (cuando se añadió)",
|
||||||
"AlreadyInYourLibrary": "Ya en tu biblioteca",
|
"AlreadyInYourLibrary": "Ya en tu biblioteca",
|
||||||
"AlternateTitles": "Título alternativo",
|
"AlternateTitles": "Titulos alternativos",
|
||||||
"Analytics": "Analíticas",
|
"Analytics": "Analíticas",
|
||||||
"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.",
|
"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.",
|
||||||
"AnalyticsEnabledHelpTextWarning": "Requiere reiniciar para que surta efecto",
|
"AnalyticsEnabledHelpTextWarning": "Requiere reiniciar para que surta efecto",
|
||||||
@@ -45,9 +45,9 @@
|
|||||||
"CalendarWeekColumnHeaderHelpText": "Mostrado sobre cada columna cuando la vista activa es semana",
|
"CalendarWeekColumnHeaderHelpText": "Mostrado sobre cada columna cuando la vista activa es semana",
|
||||||
"Cancel": "Cancelar",
|
"Cancel": "Cancelar",
|
||||||
"CancelMessageText": "Seguro que quieres cancelar esta tarea pendiente?",
|
"CancelMessageText": "Seguro que quieres cancelar esta tarea pendiente?",
|
||||||
"CertificateValidation": "Validación del certificado",
|
"CertificateValidation": "Validacion de certificado",
|
||||||
"CertificateValidationHelpText": "Cambiar la rigidez de la validación de la certificación HTTPS",
|
"CertificateValidationHelpText": "Cambiar como es la validacion de la certificacion estricta de HTTPS. No cambiar a menos que entiendas las consecuencias.",
|
||||||
"ChangeFileDate": "Cambiar Fecha de Archivo",
|
"ChangeFileDate": "Cambiar fecha de archivo",
|
||||||
"ChangeHasNotBeenSavedYet": "El cambio aún no se ha guardado",
|
"ChangeHasNotBeenSavedYet": "El cambio aún no se ha guardado",
|
||||||
"ChmodFolder": "Carpeta chmod",
|
"ChmodFolder": "Carpeta chmod",
|
||||||
"ChmodFolderHelpText": "Octal, aplicado durante la importación / cambio de nombre a carpetas y archivos multimedia (sin bits de ejecución)",
|
"ChmodFolderHelpText": "Octal, aplicado durante la importación / cambio de nombre a carpetas y archivos multimedia (sin bits de ejecución)",
|
||||||
@@ -56,12 +56,7 @@
|
|||||||
"ChownGroupHelpTextWarning": "Esto solo funciona si el usuario que ejecuta Radarr es el propietario del archivo. Es mejor asegurarse de que el cliente de descarga use el mismo grupo que Radarr.",
|
"ChownGroupHelpTextWarning": "Esto solo funciona si el usuario que ejecuta Radarr es el propietario del archivo. Es mejor asegurarse de que el cliente de descarga use el mismo grupo que Radarr.",
|
||||||
"Clear": "Borrar",
|
"Clear": "Borrar",
|
||||||
"ClickToChangeQuality": "Clic para cambiar la calidad",
|
"ClickToChangeQuality": "Clic para cambiar la calidad",
|
||||||
"ClientPriority": "Prioridad de Cliente",
|
|
||||||
"CloneIndexer": "Clonar Indexer",
|
|
||||||
"CloneProfile": "Clonar Perfil",
|
|
||||||
"Close": "Cerrar",
|
|
||||||
"Columns": "Columnas",
|
"Columns": "Columnas",
|
||||||
"CompletedDownloadHandling": "Manipulación de descargas completas",
|
|
||||||
"ConnectSettings": "Conectar Ajustes",
|
"ConnectSettings": "Conectar Ajustes",
|
||||||
"Connections": "Conexiones",
|
"Connections": "Conexiones",
|
||||||
"CopyUsingHardlinksHelpText": "Usar Hardlinks al intentar copiar ficheros de los torrents que siguen seedeando",
|
"CopyUsingHardlinksHelpText": "Usar Hardlinks al intentar copiar ficheros de los torrents que siguen seedeando",
|
||||||
@@ -77,23 +72,23 @@
|
|||||||
"DelayingDownloadUntilInterp": "Retrasar descarga hasta {0} en {1}",
|
"DelayingDownloadUntilInterp": "Retrasar descarga hasta {0} en {1}",
|
||||||
"Delete": "Borrar",
|
"Delete": "Borrar",
|
||||||
"DeleteBackup": "Borrar Backup",
|
"DeleteBackup": "Borrar Backup",
|
||||||
"DeleteBackupMessageText": "Seguro que quieres eliminar la copia de seguridad '{0}'?",
|
"DeleteBackupMessageText": "Seguro que quieres eliminar la copia de seguridad '{name}'?",
|
||||||
"DeleteDelayProfile": "Borrar Perfil de Retraso",
|
"DeleteDelayProfile": "Borrar Perfil de Retraso",
|
||||||
"DeleteDelayProfileMessageText": "Está seguro que quieres borrar este perfil de retraso?",
|
"DeleteDelayProfileMessageText": "Está seguro que quieres borrar este perfil de retraso?",
|
||||||
"DeleteDownloadClient": "Borrar Gestor de Descargas",
|
"DeleteDownloadClient": "Borrar Gestor de Descargas",
|
||||||
"DeleteDownloadClientMessageText": "Seguro que quieres eliminar el gestor de descargas '{0}'?",
|
"DeleteDownloadClientMessageText": "¿Seguro que quieres eliminar el cliente de descargas '{name}'?",
|
||||||
"DeleteEmptyFolders": "Borrar carpetas vacías",
|
"DeleteEmptyFolders": "Borrar carpetas vacías",
|
||||||
"DeleteEmptyFoldersHelpText": "Borrar carpetas vacías durante la exploración del disco y cuando se eliminen archivos",
|
"DeleteEmptyFoldersHelpText": "Borrar carpetas vacías durante la exploración del disco y cuando se eliminen archivos",
|
||||||
"DeleteImportListExclusion": "Borrar exclusión de lista de importación",
|
"DeleteImportListExclusion": "Borrar exclusión de lista de importación",
|
||||||
"DeleteImportListExclusionMessageText": "Estás seguro de que quieres borrar esta exclusión de lista de importación?",
|
"DeleteImportListExclusionMessageText": "Estás seguro de que quieres borrar esta exclusión de lista de importación?",
|
||||||
"DeleteImportListMessageText": "Seguro que quieres eliminar la lista '{0}'?",
|
"DeleteImportListMessageText": "Seguro que quieres eliminar la lista '{name}'?",
|
||||||
"DeleteIndexer": "Borrar Indexer",
|
"DeleteIndexer": "Borrar Indexer",
|
||||||
"DeleteIndexerMessageText": "Seguro que quieres eliminar el indexer '{0}'?",
|
"DeleteIndexerMessageText": "Seguro que quieres eliminar el indexer '{name}'?",
|
||||||
"DeleteMetadataProfileMessageText": "Seguro que quieres eliminar el perfil de calidad {0}",
|
"DeleteMetadataProfileMessageText": "¿Seguro que quieres eliminar el perfil de metadatos '{name}'?",
|
||||||
"DeleteNotification": "Borrar Notificación",
|
"DeleteNotification": "Borrar Notificación",
|
||||||
"DeleteNotificationMessageText": "Seguro que quieres elminiar la notificación '{0}'?",
|
"DeleteNotificationMessageText": "¿Seguro que quieres eliminiar la notificación '{name}'?",
|
||||||
"DeleteQualityProfile": "Borrar Perfil de Calidad",
|
"DeleteQualityProfile": "Borrar Perfil de Calidad",
|
||||||
"DeleteQualityProfileMessageText": "Seguro que quieres eliminar el perfil de calidad {0}",
|
"DeleteQualityProfileMessageText": "¿Seguro que quieres eliminar el perfil de calidad {name}?",
|
||||||
"DeleteReleaseProfile": "Borrar Perfil de Retraso",
|
"DeleteReleaseProfile": "Borrar Perfil de Retraso",
|
||||||
"DeleteReleaseProfileMessageText": "Está seguro que quieres borrar este perfil de retraso?",
|
"DeleteReleaseProfileMessageText": "Está seguro que quieres borrar este perfil de retraso?",
|
||||||
"DeleteSelectedBookFiles": "Borrar Archivos Seleccionados",
|
"DeleteSelectedBookFiles": "Borrar Archivos Seleccionados",
|
||||||
@@ -154,7 +149,7 @@
|
|||||||
"GrabSelected": "Capturar Seleccionados",
|
"GrabSelected": "Capturar Seleccionados",
|
||||||
"HasPendingChangesNoChanges": "Sin Cambios",
|
"HasPendingChangesNoChanges": "Sin Cambios",
|
||||||
"HasPendingChangesSaveChanges": "Guardar Cambios",
|
"HasPendingChangesSaveChanges": "Guardar Cambios",
|
||||||
"History": "Historia",
|
"History": "Historial",
|
||||||
"Host": "Host",
|
"Host": "Host",
|
||||||
"Hostname": "Nombre del Host",
|
"Hostname": "Nombre del Host",
|
||||||
"ICalFeed": "iCal Feed",
|
"ICalFeed": "iCal Feed",
|
||||||
@@ -210,7 +205,7 @@
|
|||||||
"MinimumLimits": "Límites Mínimos",
|
"MinimumLimits": "Límites Mínimos",
|
||||||
"Missing": "Falta",
|
"Missing": "Falta",
|
||||||
"Mode": "Modo",
|
"Mode": "Modo",
|
||||||
"Monitored": "Monitoreada",
|
"Monitored": "Monitorizado",
|
||||||
"MoreInfo": "Más Información",
|
"MoreInfo": "Más Información",
|
||||||
"MustContain": "Debe Contener",
|
"MustContain": "Debe Contener",
|
||||||
"MustNotContain": "No Debe Contener",
|
"MustNotContain": "No Debe Contener",
|
||||||
@@ -462,7 +457,7 @@
|
|||||||
"Level": "Nivel",
|
"Level": "Nivel",
|
||||||
"ReleaseBranchCheckOfficialBranchMessage": "Las versión {0} no es una versión válida de Radarr, no recibirás actualizaciones",
|
"ReleaseBranchCheckOfficialBranchMessage": "Las versión {0} no es una versión válida de Radarr, no recibirás actualizaciones",
|
||||||
"Blocklist": "Bloqueadas",
|
"Blocklist": "Bloqueadas",
|
||||||
"BlocklistRelease": "Bloquear este Estreno",
|
"BlocklistRelease": "Lista de lanzamientos bloqueados",
|
||||||
"CreateEmptyAuthorFolders": "Crear carpetas de películas vacías",
|
"CreateEmptyAuthorFolders": "Crear carpetas de películas vacías",
|
||||||
"SelectAll": "Seleccionar Todas",
|
"SelectAll": "Seleccionar Todas",
|
||||||
"SelectedCountBooksSelectedInterp": "{0} Película(s) Seleccionada(s)",
|
"SelectedCountBooksSelectedInterp": "{0} Película(s) Seleccionada(s)",
|
||||||
@@ -599,7 +594,6 @@
|
|||||||
"BypassIfHighestQuality": "Pasar sí es la calidad más alta",
|
"BypassIfHighestQuality": "Pasar sí es la calidad más alta",
|
||||||
"CustomFormatScore": "Puntuación de Formato personalizado",
|
"CustomFormatScore": "Puntuación de Formato personalizado",
|
||||||
"MinimumCustomFormatScore": "Puntuación mínima de formato personalizado",
|
"MinimumCustomFormatScore": "Puntuación mínima de formato personalizado",
|
||||||
"CloneCustomFormat": "Clonar Formato Personalizado",
|
|
||||||
"Conditions": "Condiciones",
|
"Conditions": "Condiciones",
|
||||||
"CopyToClipboard": "Copiar al portapapeles",
|
"CopyToClipboard": "Copiar al portapapeles",
|
||||||
"CustomFormat": "Formatos Personalizados",
|
"CustomFormat": "Formatos Personalizados",
|
||||||
@@ -617,7 +611,7 @@
|
|||||||
"ThemeHelpText": "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",
|
"ThemeHelpText": "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",
|
||||||
"CustomFormatSettings": "Ajustes de Formatos Propios",
|
"CustomFormatSettings": "Ajustes de Formatos Propios",
|
||||||
"CutoffFormatScoreHelpText": "Una vez alcanzada esta puntuación del formato propio Radarr dejará de descargar películas",
|
"CutoffFormatScoreHelpText": "Una vez alcanzada esta puntuación del formato propio Radarr dejará de descargar películas",
|
||||||
"DeleteCustomFormatMessageText": "Seguro que quieres eliminar el indexer '{0}'?",
|
"DeleteCustomFormatMessageText": "Seguro que quieres eliminar el indexer '{name}'?",
|
||||||
"ExportCustomFormat": "Exportar Formato Personalizado",
|
"ExportCustomFormat": "Exportar Formato Personalizado",
|
||||||
"ResetTitles": "Restablecer títulos",
|
"ResetTitles": "Restablecer títulos",
|
||||||
"UpgradesAllowed": "Mejoras permitidas",
|
"UpgradesAllowed": "Mejoras permitidas",
|
||||||
@@ -630,12 +624,11 @@
|
|||||||
"HideAdvanced": "Ocultar Avanzado",
|
"HideAdvanced": "Ocultar Avanzado",
|
||||||
"ShowAdvanced": "Mostrar Avanzado",
|
"ShowAdvanced": "Mostrar Avanzado",
|
||||||
"ShownClickToHide": "Mostrado, clic para ocultar",
|
"ShownClickToHide": "Mostrado, clic para ocultar",
|
||||||
"ColonReplacement": "Reemplazo dos puntos",
|
|
||||||
"ReplaceWithDash": "Reemplazar con Dash",
|
"ReplaceWithDash": "Reemplazar con Dash",
|
||||||
"ReplaceWithSpaceDash": "Reemplazar con Space Dash",
|
"ReplaceWithSpaceDash": "Reemplazar con Space Dash",
|
||||||
"ReplaceWithSpaceDashSpace": "Reemplazar con Space Dash Space",
|
"ReplaceWithSpaceDashSpace": "Reemplazar con Space Dash Space",
|
||||||
"DeleteRemotePathMapping": "Editar Mapeo de Ruta Remota",
|
"DeleteRemotePathMapping": "Editar Mapeo de Ruta Remota",
|
||||||
"BlocklistReleases": "Bloquear este Estreno",
|
"BlocklistReleases": "Lista de lanzamientos bloqueados",
|
||||||
"DeleteConditionMessageText": "Seguro que quieres eliminar la etiqueta '{0}'?",
|
"DeleteConditionMessageText": "Seguro que quieres eliminar la etiqueta '{0}'?",
|
||||||
"Negated": "Negado",
|
"Negated": "Negado",
|
||||||
"RemoveSelectedItem": "Eliminar el elemento seleccionado",
|
"RemoveSelectedItem": "Eliminar el elemento seleccionado",
|
||||||
@@ -649,21 +642,21 @@
|
|||||||
"BlocklistReleaseHelpText": "Evita que Radarr vuelva a capturar esta película automáticamente",
|
"BlocklistReleaseHelpText": "Evita que Radarr vuelva a capturar esta película automáticamente",
|
||||||
"NoEventsFound": "No se encontraron eventos",
|
"NoEventsFound": "No se encontraron eventos",
|
||||||
"ApplyTagsHelpTextHowToApplyAuthors": "Cómo añadir etiquetas a las películas seleccionadas",
|
"ApplyTagsHelpTextHowToApplyAuthors": "Cómo añadir etiquetas a las películas seleccionadas",
|
||||||
"DeleteSelectedIndexersMessageText": "Seguro que quieres eliminar el indexer '{0}'?",
|
"DeleteSelectedIndexersMessageText": "Seguro que quieres eliminar {count} indexer seleccionado(s)?",
|
||||||
"Yes": "Sí",
|
"Yes": "Sí",
|
||||||
"RedownloadFailed": "La descarga ha fallado",
|
"RedownloadFailed": "La descarga ha fallado",
|
||||||
"RemoveCompleted": "Eliminación completada",
|
"RemoveCompleted": "Eliminación completada",
|
||||||
"RemoveDownloadsAlert": "Los ajustes de eliminación se han trasladado a los ajustes individuales del cliente de descarga en la tabla anterior.",
|
"RemoveDownloadsAlert": "Los ajustes de eliminación se han trasladado a los ajustes individuales del cliente de descarga en la tabla anterior.",
|
||||||
"RemoveFailed": "La eliminación falló",
|
"RemoveFailed": "La eliminación falló",
|
||||||
"ApplyTagsHelpTextAdd": "Añadir: Añadir a las etiquetas la lista existente de etiquetas",
|
"ApplyTagsHelpTextAdd": "Añadir: Añadir las etiquetas la lista existente de etiquetas",
|
||||||
"ApplyTagsHelpTextHowToApplyDownloadClients": "Cómo añadir etiquetas a los clientes de descargas seleccionados",
|
"ApplyTagsHelpTextHowToApplyDownloadClients": "Cómo añadir etiquetas a los clientes de descargas seleccionados",
|
||||||
"ApplyTagsHelpTextHowToApplyImportLists": "Cómo añadir etiquetas a las listas de importación seleccionadas",
|
"ApplyTagsHelpTextHowToApplyImportLists": "Cómo añadir etiquetas a las listas de importación seleccionadas",
|
||||||
"ApplyTagsHelpTextHowToApplyIndexers": "Cómo añadir etiquetas a los indexadores seleccionados",
|
"ApplyTagsHelpTextHowToApplyIndexers": "Cómo añadir etiquetas a los indexadores seleccionados",
|
||||||
"ApplyTagsHelpTextRemove": "Eliminar: Eliminar las etiquetas introducidas",
|
"ApplyTagsHelpTextRemove": "Eliminar: Eliminar las etiquetas introducidas",
|
||||||
"ApplyTagsHelpTextReplace": "Reemplazar: Reemplazar las etiquetas con las etiquetas introducidas (no introducir etiquetas para eliminar todas las etiquetas)",
|
"ApplyTagsHelpTextReplace": "Reemplazar: Reemplazar las etiquetas con las etiquetas introducidas (no introducir etiquetas para eliminar todas las etiquetas)",
|
||||||
"DeleteSelectedDownloadClients": "Borrar Gestor de Descargas",
|
"DeleteSelectedDownloadClients": "Borrar Gestor de Descargas",
|
||||||
"DeleteSelectedDownloadClientsMessageText": "¿Está seguro de querer eliminar {0} cliente(s) de descarga seleccionado(s)?",
|
"DeleteSelectedDownloadClientsMessageText": "¿Estas seguro que quieres eliminar {count} cliente(s) de descarga seleccionado(s)?",
|
||||||
"DeleteSelectedImportListsMessageText": "Seguro que quieres eliminar el indexer '{0}'?",
|
"DeleteSelectedImportListsMessageText": "Seguro que quieres eliminar {count} lista(s) de importación seleccionada(s)?",
|
||||||
"DeleteSelectedIndexers": "Borrar Indexer",
|
"DeleteSelectedIndexers": "Borrar Indexer",
|
||||||
"DownloadClientTagHelpText": "Solo utilizar este indexador para películas que coincidan con al menos una etiqueta. Déjelo en blanco para utilizarlo con todas las películas.",
|
"DownloadClientTagHelpText": "Solo utilizar este indexador para películas que coincidan con al menos una etiqueta. Déjelo en blanco para utilizarlo con todas las películas.",
|
||||||
"ExistingTag": "Etiqueta existente",
|
"ExistingTag": "Etiqueta existente",
|
||||||
@@ -705,7 +698,7 @@
|
|||||||
"TotalSpace": "Espacio Total",
|
"TotalSpace": "Espacio Total",
|
||||||
"IndexerDownloadClientHealthCheckMessage": "Indexadores con clientes de descarga inválidos: {0}.",
|
"IndexerDownloadClientHealthCheckMessage": "Indexadores con clientes de descarga inválidos: {0}.",
|
||||||
"ManageImportLists": "Gestionar Listas de Importación",
|
"ManageImportLists": "Gestionar Listas de Importación",
|
||||||
"ConnectionLostToBackend": "Radarr ha perdido su conexión con el backend y tendrá que ser recargado para recuperar su funcionalidad.",
|
"ConnectionLostToBackend": "{appName} ha perdido su conexión con el backend y necesitará ser recargada para restaurar su funcionalidad.",
|
||||||
"NotificationStatusSingleClientHealthCheckMessage": "Listas no disponibles debido a errores: {0}",
|
"NotificationStatusSingleClientHealthCheckMessage": "Listas no disponibles debido a errores: {0}",
|
||||||
"NotificationStatusAllClientHealthCheckMessage": "Las listas no están disponibles debido a errores",
|
"NotificationStatusAllClientHealthCheckMessage": "Las listas no están disponibles debido a errores",
|
||||||
"ReleaseProfiles": "perfil de lanzamiento",
|
"ReleaseProfiles": "perfil de lanzamiento",
|
||||||
@@ -723,7 +716,7 @@
|
|||||||
"NextExecution": "Siguiente ejecución",
|
"NextExecution": "Siguiente ejecución",
|
||||||
"NoResultsFound": "No se han encontrado resultados",
|
"NoResultsFound": "No se han encontrado resultados",
|
||||||
"RecentChanges": "Cambios recientes",
|
"RecentChanges": "Cambios recientes",
|
||||||
"WhatsNew": "¿Qué hay de nuevo?",
|
"WhatsNew": "Que es lo nuevo?",
|
||||||
"Loading": "Cargando",
|
"Loading": "Cargando",
|
||||||
"Events": "Eventos",
|
"Events": "Eventos",
|
||||||
"Medium": "Medio",
|
"Medium": "Medio",
|
||||||
@@ -738,15 +731,15 @@
|
|||||||
"BookFilesCountMessage": "No hay archivos de libros",
|
"BookFilesCountMessage": "No hay archivos de libros",
|
||||||
"AllowFingerprintingHelpText": "Utilizar la huella digital para mejorar la precisión de la coincidencia de libros",
|
"AllowFingerprintingHelpText": "Utilizar la huella digital para mejorar la precisión de la coincidencia de libros",
|
||||||
"BookStudio": "Estudio de libros",
|
"BookStudio": "Estudio de libros",
|
||||||
"AutomaticUpdatesDisabledDocker": "Las actualizaciones automáticas no son compatibles directamente al usar el mecanismo de actualización de Docker. Deberás actualizar la imagen del contenedor fuera de {appName} o utilizar un script",
|
"AutomaticUpdatesDisabledDocker": "Las actualizaciones automáticas no están soportadas directamente cuando se utiliza el mecanismo de actualización de Docker. Tendrá que actualizar la imagen del contenedor fuera de {appName} o utilizar un script",
|
||||||
"AuthorIndex": "Índice de autor",
|
"AuthorIndex": "Índice de autor",
|
||||||
"AudioFileMetadata": "Escribir metadatos en archivos de audio",
|
"AudioFileMetadata": "Escribir metadatos en archivos de audio",
|
||||||
"BookIndex": "Índice de libro",
|
"BookIndex": "Índice de libro",
|
||||||
"BookEditor": "Editor de Libro",
|
"BookEditor": "Editor de Libro",
|
||||||
"ASIN": "ASIN",
|
"ASIN": "ASIN",
|
||||||
"AnyEditionOkHelpText": "Readarr cambiará automáticamente a la edición que mejor coincida con los archivos descargados",
|
"AnyEditionOkHelpText": "Readarr cambiará automáticamente a la edición que mejor coincida con los archivos descargados",
|
||||||
"AppUpdated": "{appName} Actualizado",
|
"AppUpdated": "{appName} Actualizada",
|
||||||
"AppUpdatedVersion": "{appName} ha sido actualizado a la versión `{version}`, para obtener los cambios más recientes, necesitaras recargar {appName}",
|
"AppUpdatedVersion": "{appName} ha sido actualizado a la versión `{version}`, para obtener los cambios más recientes necesitará recargar {appName}",
|
||||||
"AuthorFolderFormat": "Formato de Carpeta de Autor",
|
"AuthorFolderFormat": "Formato de Carpeta de Autor",
|
||||||
"AuthorNameHelpText": "El nombre del autor/libro a excluir (puede ser cualquier cosa significativa)",
|
"AuthorNameHelpText": "El nombre del autor/libro a excluir (puede ser cualquier cosa significativa)",
|
||||||
"BookMonitoring": "Monitoreo de libros",
|
"BookMonitoring": "Monitoreo de libros",
|
||||||
@@ -754,5 +747,20 @@
|
|||||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Total: {2})",
|
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Total: {2})",
|
||||||
"Book": "Libro",
|
"Book": "Libro",
|
||||||
"AutomaticallySwitchEdition": "Cambiar edición automáticamente",
|
"AutomaticallySwitchEdition": "Cambiar edición automáticamente",
|
||||||
"BookNaming": "Nombrado de libros"
|
"BookNaming": "Nombrado de libros",
|
||||||
|
"Books": "Libro",
|
||||||
|
"NoHistoryBlocklist": "Sin lista de bloqueo de historial",
|
||||||
|
"WouldYouLikeToRestoreBackup": "Te gustaria restaurar la copia de seguridad '{name}'?",
|
||||||
|
"IsShowingMonitoredUnmonitorSelected": "Monitorizar Seleccionados",
|
||||||
|
"CloneCustomFormat": "Clonar formato personalizado",
|
||||||
|
"MinimumCustomFormatScoreHelpText": "Puntuación mínima de formato personalizado necesaria para evitar el retraso del protocolo preferido",
|
||||||
|
"BypassIfAboveCustomFormatScore": "Omitir si está por encima de la puntuación del formato personalizado",
|
||||||
|
"BypassIfAboveCustomFormatScoreHelpText": "Habilitar ignorar cuando la versión tenga una puntuación superior a la puntuación mínima configurada para el formato personalizado",
|
||||||
|
"IsShowingMonitoredMonitorSelected": "Monitorizar Seleccionados",
|
||||||
|
"ClientPriority": "Prioridad del Cliente",
|
||||||
|
"ColonReplacement": "Reemplazar dos puntos",
|
||||||
|
"CloneProfile": "Clonar Perfil",
|
||||||
|
"Close": "Cerrar",
|
||||||
|
"CloneIndexer": "Clonar Indexer",
|
||||||
|
"CompletedDownloadHandling": "Manipulación de descargas completas"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,15 +12,15 @@
|
|||||||
"About": "Tietoja",
|
"About": "Tietoja",
|
||||||
"AddListExclusion": "Lisää tuontilistojen poikkeussääntö",
|
"AddListExclusion": "Lisää tuontilistojen poikkeussääntö",
|
||||||
"AddingTag": "Tunniste lisätään",
|
"AddingTag": "Tunniste lisätään",
|
||||||
"AgeWhenGrabbed": "Ikä (siepatessa)",
|
"AgeWhenGrabbed": "Ikä (sieppaushetkellä)",
|
||||||
"AlreadyInYourLibrary": "Elokuva on jo kirjastossasi",
|
"AlreadyInYourLibrary": "Elokuva on jo kirjastossasi",
|
||||||
"AlternateTitles": "Vaihtoehtoiset nimet",
|
"AlternateTitles": "Vaihtoehtoiset nimet",
|
||||||
"Analytics": "Analytiikka",
|
"Analytics": "Analytiikka",
|
||||||
"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.",
|
"AnalyticsEnabledHelpText": "Lähetä nimettömiä käyttö- ja virhetietoja palvelimillemme. Tämä sisältää tietoja selaimestasi, käyttöliittymän sivujen käytöstä, virheraportoinnista, käyttöjärjestelmästä ja suoritusalustasta. Käytämme näitä tietoja ominaisuuksien ja vikakorjausten painotukseen.",
|
||||||
"AppDataDirectory": "AppData-kansio",
|
"AppDataDirectory": "AppData-kansio",
|
||||||
"ApplyTags": "Tunnistetoimenpide",
|
"ApplyTags": "Tunnistetoimenpide",
|
||||||
"Authentication": "Todennus",
|
"Authentication": "Todennus",
|
||||||
"AuthenticationMethodHelpText": "Vaadi käyttäjätunnus ja salasana.",
|
"AuthenticationMethodHelpText": "Vaadi käyttäjätunnus ja salasana {appName}in käyttöön.",
|
||||||
"AuthorClickToChangeBook": "Vaihda kirjaa painamalla",
|
"AuthorClickToChangeBook": "Vaihda kirjaa painamalla",
|
||||||
"AutoRedownloadFailedHelpText": "Etsi ja yritä ladata toinen julkaisu automaattisesti",
|
"AutoRedownloadFailedHelpText": "Etsi ja yritä ladata toinen julkaisu automaattisesti",
|
||||||
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Levyltä poistettavien kirjojen valvonta lopetetaan automaattisesti.",
|
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Levyltä poistettavien kirjojen valvonta lopetetaan automaattisesti.",
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
"BackupRetentionHelpText": "Säilytysjaksoa vanhemmat, automaattiset varmuuskopiot poistetaan automaattisesti.",
|
"BackupRetentionHelpText": "Säilytysjaksoa vanhemmat, automaattiset varmuuskopiot poistetaan automaattisesti.",
|
||||||
"Backups": "Varmuuskopiointi",
|
"Backups": "Varmuuskopiointi",
|
||||||
"BindAddress": "Sidososoite",
|
"BindAddress": "Sidososoite",
|
||||||
"BindAddressHelpText": "Toimiva IPv4-osoite tai '*' (tähti) kaikille yhteyksille.",
|
"BindAddressHelpText": "Toimiva IP-osoite, \"localhost\" tai \"*\" (tähti) kaikille verkkoliitännöille.",
|
||||||
"BindAddressHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
"BindAddressHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||||
"BookIsDownloading": "Kirjaa ladataan",
|
"BookIsDownloading": "Kirjaa ladataan",
|
||||||
"BookIsDownloadingInterp": "Kirjaa ladataan - {0} % {1}",
|
"BookIsDownloadingInterp": "Kirjaa ladataan - {0} % {1}",
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
"EnableAutomaticAdd": "Automaattilisäys",
|
"EnableAutomaticAdd": "Automaattilisäys",
|
||||||
"EnableAutomaticSearch": "Automaattihaku",
|
"EnableAutomaticSearch": "Automaattihaku",
|
||||||
"EnableColorImpairedMode": "Heikentyneen värinäön tila",
|
"EnableColorImpairedMode": "Heikentyneen värinäön tila",
|
||||||
"EnableColorImpairedModeHelpText": "Muokattu tyyli käyttäjille, joiden värinäkö on heikentynyt. Auttaa erottamaan värikoodatun tiedon.",
|
"EnableColorImpairedModeHelpText": "Vaihtoehtoinen tyyli, joka auttaa erottamaan värikoodatut tiedot paremmin",
|
||||||
"EnableCompletedDownloadHandlingHelpText": "Tuo valmistuneet lataukset lataustyökalusta automaattisesti.",
|
"EnableCompletedDownloadHandlingHelpText": "Tuo valmistuneet lataukset lataustyökalusta automaattisesti.",
|
||||||
"EnableHelpText": "Luo tälle metatietotyypille metatietotiedostot.",
|
"EnableHelpText": "Luo tälle metatietotyypille metatietotiedostot.",
|
||||||
"EnableInteractiveSearch": "Vuorovaikutteinen haku",
|
"EnableInteractiveSearch": "Vuorovaikutteinen haku",
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
"Global": "Järjestelmänlaajuiset",
|
"Global": "Järjestelmänlaajuiset",
|
||||||
"GoToInterp": "Siirry kohteeseen '{0}'",
|
"GoToInterp": "Siirry kohteeseen '{0}'",
|
||||||
"Grab": "Sieppaa",
|
"Grab": "Sieppaa",
|
||||||
"GrabID": "Sieppauksen ID",
|
"GrabID": "Sieppaustunniste",
|
||||||
"GrabRelease": "Sieppaa julkaisu",
|
"GrabRelease": "Sieppaa julkaisu",
|
||||||
"GrabReleaseMessageText": "Readarr ei tunnistanut, mille kirjailijalle ja kirjalle tämä julkaisu kuuluu, eikä julkaisun automaattinen tuonti onnistu. Haluatko siepata julkaisun '{0}'?",
|
"GrabReleaseMessageText": "Readarr ei tunnistanut, mille kirjailijalle ja kirjalle tämä julkaisu kuuluu, eikä julkaisun automaattinen tuonti onnistu. Haluatko siepata julkaisun '{0}'?",
|
||||||
"GrabSelected": "Sieppaa valitut",
|
"GrabSelected": "Sieppaa valitut",
|
||||||
@@ -320,9 +320,9 @@
|
|||||||
"SearchSelected": "Haku valittu",
|
"SearchSelected": "Haku valittu",
|
||||||
"Security": "Suojaus",
|
"Security": "Suojaus",
|
||||||
"SendAnonymousUsageData": "Lähetä nimettömiä käyttötietoja",
|
"SendAnonymousUsageData": "Lähetä nimettömiä käyttötietoja",
|
||||||
"SetPermissions": "Aseta käyttöoikeudet",
|
"SetPermissions": "Määritä käyttöoikeudet",
|
||||||
"SetPermissionsLinuxHelpText": "Pitäisikö chmod suorittaa, kun tiedostoja tuodaan / nimetään uudelleen?",
|
"SetPermissionsLinuxHelpText": "Tulisiko chmod suorittaa, kun tiedostoja tuodaan/nimetään uudelleen?",
|
||||||
"SetPermissionsLinuxHelpTextWarning": "Jos et ole varma näiden asetusten toiminnasta, älä muuta niitä.",
|
"SetPermissionsLinuxHelpTextWarning": "Jollet ole varma mitä nämä asetukset tekevät, älä muuta niitä.",
|
||||||
"Settings": "Asetukset",
|
"Settings": "Asetukset",
|
||||||
"ShortDateFormat": "Lyhyt päivämäärämuoto",
|
"ShortDateFormat": "Lyhyt päivämäärämuoto",
|
||||||
"ShowCutoffUnmetIconHelpText": "Näytä kuvake elokuville, joiden tiedostot eivät vastaa vielä määritettyä katkaisutasoa.",
|
"ShowCutoffUnmetIconHelpText": "Näytä kuvake elokuville, joiden tiedostot eivät vastaa vielä määritettyä katkaisutasoa.",
|
||||||
@@ -332,7 +332,7 @@
|
|||||||
"ShowQualityProfile": "Näytä laatuprofiili",
|
"ShowQualityProfile": "Näytä laatuprofiili",
|
||||||
"ShowQualityProfileHelpText": "Näytä laatuprofiili julisteen alla.",
|
"ShowQualityProfileHelpText": "Näytä laatuprofiili julisteen alla.",
|
||||||
"ShowRelativeDates": "Näytä suhteutetut päiväykset",
|
"ShowRelativeDates": "Näytä suhteutetut päiväykset",
|
||||||
"ShowRelativeDatesHelpText": "Näytä suhteutetut (tänään/eilen/yms.) tai absoluuttiset päiväykset.",
|
"ShowRelativeDatesHelpText": "Näytä suhteutetut (tänään/eilen/yms.) absoluuttisten sijaan",
|
||||||
"ShowSearch": "Näytä haku",
|
"ShowSearch": "Näytä haku",
|
||||||
"ShowSearchActionHelpText": "Näytä hakupainike osoitettaessa.",
|
"ShowSearchActionHelpText": "Näytä hakupainike osoitettaessa.",
|
||||||
"ShowSizeOnDisk": "Näytä tiedostokoko",
|
"ShowSizeOnDisk": "Näytä tiedostokoko",
|
||||||
@@ -352,12 +352,12 @@
|
|||||||
"StartupDirectory": "Käynnistyskansio",
|
"StartupDirectory": "Käynnistyskansio",
|
||||||
"Status": "Tila",
|
"Status": "Tila",
|
||||||
"StatusEndedEnded": "Päättynyt",
|
"StatusEndedEnded": "Päättynyt",
|
||||||
"Style": "Ulkoasun tyyli",
|
"Style": "Ulkoasu",
|
||||||
"SuccessMyWorkIsDoneNoFilesToRename": "Menestys! Työni on valmis, ei nimettäviä tiedostoja.",
|
"SuccessMyWorkIsDoneNoFilesToRename": "Menestys! Työni on valmis, ei nimettäviä tiedostoja.",
|
||||||
"SuccessMyWorkIsDoneNoFilesToRetag": "Menestys! Työni on valmis, ei nimettäviä tiedostoja.",
|
"SuccessMyWorkIsDoneNoFilesToRetag": "Menestys! Työni on valmis, ei nimettäviä tiedostoja.",
|
||||||
"SupportsRssvalueRSSIsNotSupportedWithThisIndexer": "RSS-syötettä ei ole käytettävissä tälle tietolähteelle",
|
"SupportsRssvalueRSSIsNotSupportedWithThisIndexer": "RSS-syötettä ei ole käytettävissä tälle tietolähteelle",
|
||||||
"SupportsSearchvalueSearchIsNotSupportedWithThisIndexer": "Hakemistoa ei tueta tällä hakemistolla",
|
"SupportsSearchvalueSearchIsNotSupportedWithThisIndexer": "Hakemistoa ei tueta tällä hakemistolla",
|
||||||
"SupportsSearchvalueWillBeUsedWhenAutomaticSearchesArePerformedViaTheUIOrByReadarr": "Profiilia käytetään automaattihaun yhteydessä, kun haku suoritetaan käyttöliittymästä tai Readarrin toimesta.",
|
"SupportsSearchvalueWillBeUsedWhenAutomaticSearchesArePerformedViaTheUIOrByReadarr": "Profiilia käytetään automaattihauille, jotka suoritetaan käyttöliittymästä tai Readarrin toimesta.",
|
||||||
"SupportsSearchvalueWillBeUsedWhenInteractiveSearchIsUsed": "Profiilia käytetään vuorovaikutteisen haun yhteydessä.",
|
"SupportsSearchvalueWillBeUsedWhenInteractiveSearchIsUsed": "Profiilia käytetään vuorovaikutteisen haun yhteydessä.",
|
||||||
"TagIsNotUsedAndCanBeDeleted": "Tunnistetta ei ole määritetty millekään kohteelle, joten sen voi poistaa.",
|
"TagIsNotUsedAndCanBeDeleted": "Tunnistetta ei ole määritetty millekään kohteelle, joten sen voi poistaa.",
|
||||||
"Tags": "Tunnisteet",
|
"Tags": "Tunnisteet",
|
||||||
@@ -367,7 +367,7 @@
|
|||||||
"TestAllIndexers": "Testaa tietolähteet",
|
"TestAllIndexers": "Testaa tietolähteet",
|
||||||
"TestAllLists": "Testaa listat",
|
"TestAllLists": "Testaa listat",
|
||||||
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Tämä koskee kaikkia tietolähteitä. Noudata niiden asettamia sääntöjä.",
|
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Tämä koskee kaikkia tietolähteitä. Noudata niiden asettamia sääntöjä.",
|
||||||
"TimeFormat": "Kellonajan esitystapa",
|
"TimeFormat": "Kellonajan esitys",
|
||||||
"Title": "Nimike",
|
"Title": "Nimike",
|
||||||
"TorrentDelay": "Torrent-viive",
|
"TorrentDelay": "Torrent-viive",
|
||||||
"TorrentDelayHelpText": "Viive minuutteina ennen kuin torrentia siepataan.",
|
"TorrentDelayHelpText": "Viive minuutteina ennen kuin torrentia siepataan.",
|
||||||
@@ -469,7 +469,7 @@
|
|||||||
"ShowTitleHelpText": "Näytä kirjailijan nimi julisteen alla",
|
"ShowTitleHelpText": "Näytä kirjailijan nimi julisteen alla",
|
||||||
"ShowUnknownAuthorItems": "Näytä 'Tuntemattomat kirjailijat' -kohde",
|
"ShowUnknownAuthorItems": "Näytä 'Tuntemattomat kirjailijat' -kohde",
|
||||||
"SkipBooksWithMissingReleaseDate": "Ohita kirjat, joilta puuttuu julkaisupäivä",
|
"SkipBooksWithMissingReleaseDate": "Ohita kirjat, joilta puuttuu julkaisupäivä",
|
||||||
"UrlBaseHelpText": "Lisää Calibren URL-osoitteeseen etuliitteen, (esim. 'http://[host]:[port]/[urlBase]').",
|
"UrlBaseHelpText": "Käänteisen välityspalvelimen tuki (esim. \"http://[host]:[port]/[urlBase]\"). Käytä oletusta jättämällä tyhjäksi.",
|
||||||
"Author": "Kirjailija",
|
"Author": "Kirjailija",
|
||||||
"BackupIntervalHelpText": "Tietokannan ja asetusten automaattisen varmuuskopioinnin ajoitus.",
|
"BackupIntervalHelpText": "Tietokannan ja asetusten automaattisen varmuuskopioinnin ajoitus.",
|
||||||
"TagsHelpText": "Käytetään vähintään yhdellä täsmäävällä tunnisteella merkityille kirjailijoille. Käytä kaikille jättämällä tyhjäksi.",
|
"TagsHelpText": "Käytetään vähintään yhdellä täsmäävällä tunnisteella merkityille kirjailijoille. Käytä kaikille jättämällä tyhjäksi.",
|
||||||
@@ -539,7 +539,7 @@
|
|||||||
"CalibreNotCalibreWeb": "Readarr voi käyttää Calibren omaa sisältöpalvelinta, muttei täysin erillistä Calibre-Web-sovellusta.",
|
"CalibreNotCalibreWeb": "Readarr voi käyttää Calibren omaa sisältöpalvelinta, muttei täysin erillistä Calibre-Web-sovellusta.",
|
||||||
"CalibreContentServer": "Calibre-sisältöpalvelin",
|
"CalibreContentServer": "Calibre-sisältöpalvelin",
|
||||||
"CalibreLibrary": "Calibre-kirjasto",
|
"CalibreLibrary": "Calibre-kirjasto",
|
||||||
"CalibreHost": "Calibren isäntä",
|
"CalibreHost": "Calibre-palvelin",
|
||||||
"CalibreMetadata": "Calibren metatiedot",
|
"CalibreMetadata": "Calibren metatiedot",
|
||||||
"CalibreOutputFormat": "Calibren kohdemuoto",
|
"CalibreOutputFormat": "Calibren kohdemuoto",
|
||||||
"CalibreOutputProfile": "Calibren kohdeprofiili",
|
"CalibreOutputProfile": "Calibren kohdeprofiili",
|
||||||
@@ -662,7 +662,7 @@
|
|||||||
"OnHealthIssue": "Kun havaitaan kuntoon liittyvä ongelma",
|
"OnHealthIssue": "Kun havaitaan kuntoon liittyvä ongelma",
|
||||||
"OnRename": "Kun elokuva nimetään uudelleen",
|
"OnRename": "Kun elokuva nimetään uudelleen",
|
||||||
"OnUpgrade": "Kun elokuva päivitetään",
|
"OnUpgrade": "Kun elokuva päivitetään",
|
||||||
"ProxyCheckResolveIpMessage": "Määritetyn välityspalvelimen '{0}' IP-osoitteen selvitys epäonnistui.",
|
"ProxyCheckResolveIpMessage": "Määritetyn välityspalvelimen \"{0}\" IP-osoitteen selvitys epäonnistui.",
|
||||||
"QualitySettingsSummary": "Laatumääritykset erilaisia sisältömuotoja ja tiedostokokoja varten.",
|
"QualitySettingsSummary": "Laatumääritykset erilaisia sisältömuotoja ja tiedostokokoja varten.",
|
||||||
"QueueIsEmpty": "Jono on tyhjä",
|
"QueueIsEmpty": "Jono on tyhjä",
|
||||||
"ReadarrSupportsAnyDownloadClient": "Monet torrent- ja Usenet-lataustyökalut ovat tuettuja.",
|
"ReadarrSupportsAnyDownloadClient": "Monet torrent- ja Usenet-lataustyökalut ovat tuettuja.",
|
||||||
@@ -775,7 +775,7 @@
|
|||||||
"OnApplicationUpdate": "Sovelluksen päivittyessä",
|
"OnApplicationUpdate": "Sovelluksen päivittyessä",
|
||||||
"OnApplicationUpdateHelpText": "Sovelluksen päivittyessä",
|
"OnApplicationUpdateHelpText": "Sovelluksen päivittyessä",
|
||||||
"Theme": "Teema",
|
"Theme": "Teema",
|
||||||
"ThemeHelpText": "Vaihda sovelluksen käyttöliittymän ulkoasua. \"Automaattinen\" vaihtaa vaalean ja tumman tilan käyttöjärjestelmäsi teemaa vastaavaksi. Innoittanut Theme.Park.",
|
"ThemeHelpText": "Vaihda sovelluksen käyttöliittymän ulkoasu. \"Automaattinen\" vaihtaa vaalean ja tumman tilan välillä järjestelmän teeman mukaan. Innoittanut Theme.Park.",
|
||||||
"EnableRssHelpText": "Käytetään etsittäessä julkaisuja RSS-syötteistä ajoitetusti.",
|
"EnableRssHelpText": "Käytetään etsittäessä julkaisuja RSS-syötteistä ajoitetusti.",
|
||||||
"BypassIfHighestQuality": "Ohita, jos korkein laatu",
|
"BypassIfHighestQuality": "Ohita, jos korkein laatu",
|
||||||
"CustomFormatScore": "Mukautetun muodon pisteytys",
|
"CustomFormatScore": "Mukautetun muodon pisteytys",
|
||||||
@@ -826,7 +826,7 @@
|
|||||||
"ResetQualityDefinitions": "Palauta laatumääritykset",
|
"ResetQualityDefinitions": "Palauta laatumääritykset",
|
||||||
"ResetQualityDefinitionsMessageText": "Haluatko varmasti palauttaa laatumääritykset?",
|
"ResetQualityDefinitionsMessageText": "Haluatko varmasti palauttaa laatumääritykset?",
|
||||||
"NoEventsFound": "Tapahtumia ei löytynyt",
|
"NoEventsFound": "Tapahtumia ei löytynyt",
|
||||||
"BlocklistReleaseHelpText": "Estää julkaisun automaattisen uudelleensieppauksen.",
|
"BlocklistReleaseHelpText": "Estää {appName}ia sieppaamasta näitä tiedostoja automaattisesti uudelleen.",
|
||||||
"RecycleBinUnableToWriteHealthCheck": "Määritettyyn roskakorikansioon ei voi tallentaa: {0}. Varmista, että sijainti on olemassa ja että käyttäjällä on kirjoitusoikeus kansioon.",
|
"RecycleBinUnableToWriteHealthCheck": "Määritettyyn roskakorikansioon ei voi tallentaa: {0}. Varmista, että sijainti on olemassa ja että käyttäjällä on kirjoitusoikeus kansioon.",
|
||||||
"ApplyTagsHelpTextHowToApplyAuthors": "Tunnisteisiin kohdistettavat toimenpiteet:",
|
"ApplyTagsHelpTextHowToApplyAuthors": "Tunnisteisiin kohdistettavat toimenpiteet:",
|
||||||
"DeleteSelectedImportLists": "Poista tuontilista",
|
"DeleteSelectedImportLists": "Poista tuontilista",
|
||||||
@@ -853,7 +853,7 @@
|
|||||||
"RemoveCompleted": "Poista valmistuneet",
|
"RemoveCompleted": "Poista valmistuneet",
|
||||||
"RemoveDownloadsAlert": "Poistoasetukset on siirretty yllä olevassa taulukossa yksittäisten lataustyökalujen alle.",
|
"RemoveDownloadsAlert": "Poistoasetukset on siirretty yllä olevassa taulukossa yksittäisten lataustyökalujen alle.",
|
||||||
"SetTags": "Tunnisteiden määritys",
|
"SetTags": "Tunnisteiden määritys",
|
||||||
"ConnectionLostToBackend": "Radarr on menettänyt yhteyden taustajärjestelmään ja sivu on päivitettävä toiminnallisuuden palauttamiseksi.",
|
"ConnectionLostToBackend": "{appName} kadotti yhteyden taustajärjestelmään ja käytettävyyden palauttamiseksi se on ladattava uudelleen.",
|
||||||
"NotificationStatusAllClientHealthCheckMessage": "Sovellukset eivät ole käytettävissä virheiden vuoksi",
|
"NotificationStatusAllClientHealthCheckMessage": "Sovellukset eivät ole käytettävissä virheiden vuoksi",
|
||||||
"NotificationStatusSingleClientHealthCheckMessage": "Sovellukset eivät ole käytettävissä virheiden vuoksi: {0}",
|
"NotificationStatusSingleClientHealthCheckMessage": "Sovellukset eivät ole käytettävissä virheiden vuoksi: {0}",
|
||||||
"System": "Järjestelmä",
|
"System": "Järjestelmä",
|
||||||
@@ -866,7 +866,7 @@
|
|||||||
"Events": "Tapahtumat",
|
"Events": "Tapahtumat",
|
||||||
"FreeSpace": "Vapaa tila",
|
"FreeSpace": "Vapaa tila",
|
||||||
"ConnectionLost": "Yhteys on katkennut",
|
"ConnectionLost": "Yhteys on katkennut",
|
||||||
"ConnectionLostReconnect": "Radarr pyrkii muodostamaan yhteyden automaattisesti tai voit painaa alta \"Lataa uudelleen\".",
|
"ConnectionLostReconnect": "{appName} pyrkii ajoittain muodostamaan yhteyden automaattisesti tai sitä voidaan yrittää manuaalisesti painamalla alta \"Lataa uudelleen\".",
|
||||||
"RecentChanges": "Viimeaikaiset muutokset",
|
"RecentChanges": "Viimeaikaiset muutokset",
|
||||||
"WhatsNew": "Mikä on uutta?",
|
"WhatsNew": "Mikä on uutta?",
|
||||||
"Large": "Suuri",
|
"Large": "Suuri",
|
||||||
@@ -879,5 +879,9 @@
|
|||||||
"Activity": "Tapahtumat",
|
"Activity": "Tapahtumat",
|
||||||
"AddNew": "Lisää uusi",
|
"AddNew": "Lisää uusi",
|
||||||
"Backup": "Varmuuskopio",
|
"Backup": "Varmuuskopio",
|
||||||
"NextExecution": "Seuraava suoritus"
|
"NextExecution": "Seuraava suoritus",
|
||||||
|
"AutomaticUpdatesDisabledDocker": "Suoraa automaattista päivitystä ei tueta käytettäessä Dockerin päivitysmekanismia. Joko Docker-säiliö on päivitettävä {appName}in ulkopuolella tai päivitys on suoritettava skriptillä.",
|
||||||
|
"AppUpdated": "{appName} on päivitetty",
|
||||||
|
"AppUpdatedVersion": "{appName} on päivitetty versioon {version} ja muutosten käyttöönottamiseksi se on ladattava uudelleen.",
|
||||||
|
"Iso639-3": "ISO 639-3 -kielikoodit tai \"null\" (pilkuin eroteltuna)"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,41 +9,41 @@
|
|||||||
"ApiKeyHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
"ApiKeyHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
||||||
"Branch": "Branche",
|
"Branch": "Branche",
|
||||||
"Docker": "Docker",
|
"Docker": "Docker",
|
||||||
"DeleteRootFolderMessageText": "Voulez-vous vraiment supprimer l'indexeur '{0}' ?",
|
"DeleteRootFolderMessageText": "Êtes-vous sûr de vouloir supprimer le dossier racine « {name} » ?",
|
||||||
"EnableCompletedDownloadHandlingHelpText": "Importer automatiquement les téléchargements terminés depuis le client de téléchargement",
|
"EnableCompletedDownloadHandlingHelpText": "Importer automatiquement les téléchargements terminés à partir du client de téléchargement",
|
||||||
"EnableRSS": "Activer le RSS",
|
"EnableRSS": "Activer le RSS",
|
||||||
"FileManagement": "Gestion de fichiers",
|
"FileManagement": "Gestion de fichiers",
|
||||||
"Host": "Hôte",
|
"Host": "Hôte",
|
||||||
"LoadingBooksFailed": "Le chargement des fichiers vidéo a échoué",
|
"LoadingBooksFailed": "Le chargement des fichiers vidéo a échoué",
|
||||||
"Logging": "Enregistrement",
|
"Logging": "Enregistrement",
|
||||||
"Mode": "Mode",
|
"Mode": "Mode",
|
||||||
"ProxyUsernameHelpText": "Il vous suffit de saisir un nom d'utilisateur et un mot de passe si vous en avez besoin. Sinon, laissez-les vides.",
|
"ProxyUsernameHelpText": "Il vous suffit de saisir un nom d'utilisateur et un mot de passe si nécessaire. Sinon, laissez-les vides.",
|
||||||
"QualityProfiles": "Profils qualité",
|
"QualityProfiles": "Profils de qualité",
|
||||||
"Security": "Sécurité",
|
"Security": "Sécurité",
|
||||||
"SslPortHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
"SslPortHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
||||||
"SslCertPathHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
"SslCertPathHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
||||||
"UnableToLoadMetadataProfiles": "Impossible de charger les profils de délai",
|
"UnableToLoadMetadataProfiles": "Impossible de charger les profils de délai",
|
||||||
"AddingTag": "Ajouter un tag",
|
"AddingTag": "Ajout d'une étiquette",
|
||||||
"AgeWhenGrabbed": "Age (au moment du téléchargement)",
|
"AgeWhenGrabbed": "Âge (au moment de la saisie)",
|
||||||
"AlreadyInYourLibrary": "Déjà disponible dans votre librairie",
|
"AlreadyInYourLibrary": "Déjà dans la bibliothèque",
|
||||||
"AlternateTitles": "Titre alternatif",
|
"AlternateTitles": "Titres alternatifs",
|
||||||
"Analytics": "Statistiques",
|
"Analytics": "Statistiques",
|
||||||
"AnalyticsEnabledHelpText": "Envoyer des informations anonymes sur l'utilisation et les erreurs vers les serveurs de Readarr. Cela inclut des informations sur votre navigateur, quelle page de l'interface web Readarr vous utilisez, les rapports d'erreur ainsi que le SE et sa version. Nous utiliserons ces informations pour prioriser les nouvelles fonctionnalités et les corrections de bugs.",
|
"AnalyticsEnabledHelpText": "Envoyer des informations anonymes sur l'utilisation et les erreurs vers les serveurs de Readarr. Cela inclut des informations sur votre navigateur, quelle page de l'interface web Readarr vous utilisez, les rapports d'erreur ainsi que le SE et sa version. Nous utiliserons ces informations pour prioriser les nouvelles fonctionnalités et les corrections de bugs.",
|
||||||
"AnalyticsEnabledHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
"AnalyticsEnabledHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
||||||
"AppDataDirectory": "Dossier AppData",
|
"AppDataDirectory": "Dossier AppData",
|
||||||
"ApplyTags": "Appliquer les tags",
|
"ApplyTags": "Appliquer les étiquettes",
|
||||||
"Authentication": "Authentification",
|
"Authentication": "Authentification",
|
||||||
"AuthenticationMethodHelpText": "Exiger un identifiant et un mot de passe pour accéder à Readarr",
|
"AuthenticationMethodHelpText": "Exiger un nom d'utilisateur et un mot de passe pour accéder à Readarr",
|
||||||
"AuthorClickToChangeBook": "Cliquer pour changer le livre",
|
"AuthorClickToChangeBook": "Cliquer pour changer le livre",
|
||||||
"AutoRedownloadFailedHelpText": "Chercher et essayer de télécharger une version différente automatiquement",
|
"AutoRedownloadFailedHelpText": "Recherche automatique et tentative de téléchargement d'une version différente",
|
||||||
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Les livres qui sont effacés du disque dur sont automatiquement non-surveillés dans Readarr",
|
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Les livres effacés du disque dur ne seront plus surveillés dans Readarr",
|
||||||
"Automatic": "Automatique",
|
"Automatic": "Automatique",
|
||||||
"BackupFolderHelpText": "Les chemins correspondants seront sous le répertoire AppData de Readarr",
|
"BackupFolderHelpText": "Les chemins correspondants seront sous le répertoire AppData de Readarr",
|
||||||
"BackupNow": "Sauvegarder maintenant",
|
"BackupNow": "Sauvegarder maintenant",
|
||||||
"BackupRetentionHelpText": "Les sauvegardes automatiques plus anciennes que la période de conservation seront automatiquement effacées",
|
"BackupRetentionHelpText": "Les sauvegardes automatiques plus anciennes que la période de rétention seront nettoyées automatiquement",
|
||||||
"Backups": "Sauvegardes",
|
"Backups": "Sauvegardes",
|
||||||
"BindAddress": "Adresse d'attache",
|
"BindAddress": "Adresse de liaison",
|
||||||
"BindAddressHelpText": "Adresse IP valide, localhost ou '*' pour toutes les interfaces",
|
"BindAddressHelpText": "Adresse IP valide, localhost ou « * » pour toutes les interfaces",
|
||||||
"BookIsDownloading": "Le livre est en cours de téléchargement",
|
"BookIsDownloading": "Le livre est en cours de téléchargement",
|
||||||
"BookIsDownloadingInterp": "Le livre est en cours de téléchargement - {0}% {1}",
|
"BookIsDownloadingInterp": "Le livre est en cours de téléchargement - {0}% {1}",
|
||||||
"BypassProxyForLocalAddresses": "Contourner le proxy pour les adresses locales",
|
"BypassProxyForLocalAddresses": "Contourner le proxy pour les adresses locales",
|
||||||
@@ -52,22 +52,22 @@
|
|||||||
"Cancel": "Annuler",
|
"Cancel": "Annuler",
|
||||||
"CancelMessageText": "Êtes-vous sur de vouloir annuler cette tâche en attente ?",
|
"CancelMessageText": "Êtes-vous sur de vouloir annuler cette tâche en attente ?",
|
||||||
"CertificateValidation": "Validation du certificat",
|
"CertificateValidation": "Validation du certificat",
|
||||||
"CertificateValidationHelpText": "Modifier le degré de rigueur de la validation de la certification HTTPS. Ne changez rien si vous ne comprenez pas les risques.",
|
"CertificateValidationHelpText": "Modifier le niveau de rigueur de la validation de la certification HTTPS. Ne pas modifier si vous ne maîtrisez pas les risques.",
|
||||||
"ChangeFileDate": "Changer la date du fichier",
|
"ChangeFileDate": "Changer la date du fichier",
|
||||||
"ChangeHasNotBeenSavedYet": "Les changements n'ont pas encore été sauvegardés",
|
"ChangeHasNotBeenSavedYet": "Les changements n'ont pas encore été sauvegardés",
|
||||||
"ChmodFolder": "chmod Dossier",
|
"ChmodFolder": "chmod Dossier",
|
||||||
"ChmodFolderHelpText": "Nombre, appliqué durant l'import/renommage vers les dossiers et fichiers multimédias (sans exécuter les bits)",
|
"ChmodFolderHelpText": "Octal, appliqué lors de l'importation/du renommage des dossiers et fichiers multimédias (sans bits d'exécution)",
|
||||||
"ChmodFolderHelpTextWarning": "Fonctionne uniquement si l'utilisateur exécutant Readarr est le propriétaire du fichier. Il est recommandé de vérifier les permissions du client de téléchargement.",
|
"ChmodFolderHelpTextWarning": "Fonctionne uniquement si l'utilisateur exécutant Readarr est le propriétaire du fichier. Il est recommandé de vérifier les permissions du client de téléchargement.",
|
||||||
"ChownGroupHelpText": "Nom du Groupe ou GID. Utiliser le GID pour les systèmes de fichier distants.",
|
"ChownGroupHelpText": "Nom du groupe ou gid. Utilisez gid pour les systèmes de fichiers distants.",
|
||||||
"ChownGroupHelpTextWarning": "Fonctionne uniquement si l'utilisateur exécutant Readarr est le propriétaire du fichier. Il est recommandé de vérifier que le client de téléchargement utilise le même Groupe que Readarr.",
|
"ChownGroupHelpTextWarning": "Fonctionne uniquement si l'utilisateur exécutant Readarr est le propriétaire du fichier. Il est recommandé de vérifier que le client de téléchargement utilise le même Groupe que Readarr.",
|
||||||
"Clear": "Effacer",
|
"Clear": "Effacer",
|
||||||
"ClickToChangeQuality": "Cliquer pour changer la qualité",
|
"ClickToChangeQuality": "Cliquez pour changer la qualité",
|
||||||
"ClientPriority": "Priorité du client",
|
"ClientPriority": "Priorité du client",
|
||||||
"CloneIndexer": "Dupliqué l'indexeur",
|
"CloneIndexer": "Dupliqué l'indexeur",
|
||||||
"CloneProfile": "Dupliqué le profil",
|
"CloneProfile": "Dupliqué le profil",
|
||||||
"Close": "Fermer",
|
"Close": "Fermer",
|
||||||
"Columns": "Colonnes",
|
"Columns": "Colonnes",
|
||||||
"CompletedDownloadHandling": "Gestion des téléchargements terminés",
|
"CompletedDownloadHandling": "Traitement du téléchargement terminé",
|
||||||
"ConnectSettings": "Paramètres de connexion",
|
"ConnectSettings": "Paramètres de connexion",
|
||||||
"Connections": "Connexions",
|
"Connections": "Connexions",
|
||||||
"CopyUsingHardlinksHelpText": "Les liens physiques permettent à Readarr d'importer des torrents en cours de partage sans utiliser d'espace disque supplémentaire et sans avoir à copier le contenu du fichier. Les liens physiques ne fonctionnent que si la source et la destination sont sur le même volume",
|
"CopyUsingHardlinksHelpText": "Les liens physiques permettent à Readarr d'importer des torrents en cours de partage sans utiliser d'espace disque supplémentaire et sans avoir à copier le contenu du fichier. Les liens physiques ne fonctionnent que si la source et la destination sont sur le même volume",
|
||||||
@@ -75,56 +75,56 @@
|
|||||||
"CreateEmptyAuthorFoldersHelpText": "Créer les dossiers auteurs manquants pendant le scan du disque",
|
"CreateEmptyAuthorFoldersHelpText": "Créer les dossiers auteurs manquants pendant le scan du disque",
|
||||||
"CreateGroup": "Créer un groupe",
|
"CreateGroup": "Créer un groupe",
|
||||||
"CutoffHelpText": "Quand cette qualité est atteinte, Readarr ne téléchargera plus de livres",
|
"CutoffHelpText": "Quand cette qualité est atteinte, Readarr ne téléchargera plus de livres",
|
||||||
"CutoffUnmet": "Limite non satisfaite",
|
"CutoffUnmet": "Seuil non atteint",
|
||||||
"DBMigration": "Migration de la base de données",
|
"DBMigration": "Migration de la base de données",
|
||||||
"Dates": "Dates",
|
"Dates": "Dates",
|
||||||
"DelayProfile": "Profil de delai",
|
"DelayProfile": "Profil de retard",
|
||||||
"DelayProfiles": "Profils de retard",
|
"DelayProfiles": "Profils de retard",
|
||||||
"DelayingDownloadUntilInterp": "Retarder le téléchargement jusqu'au {0} à {1}",
|
"DelayingDownloadUntilInterp": "Retarder le téléchargement jusqu'au {0} à {1}",
|
||||||
"Delete": "Supprimer",
|
"Delete": "Supprimer",
|
||||||
"DeleteBackup": "Supprimer la sauvegarde",
|
"DeleteBackup": "Supprimer la sauvegarde",
|
||||||
"DeleteBackupMessageText": "Êtes-vous sûr de vouloir supprimer la sauvegarde '{0}' ?",
|
"DeleteBackupMessageText": "Voulez-vous supprimer la sauvegarde « {name} » ?",
|
||||||
"DeleteDelayProfile": "Supprimer le profil de délai",
|
"DeleteDelayProfile": "Supprimer le profil de retard",
|
||||||
"DeleteDelayProfileMessageText": "Êtes vous sûr de vouloir effacer ce profil de délai ?",
|
"DeleteDelayProfileMessageText": "Êtes-vous sûr de vouloir supprimer ce profil de retard ?",
|
||||||
"DeleteDownloadClient": "Supprimer le client de téléchargement",
|
"DeleteDownloadClient": "Supprimer le client de téléchargement",
|
||||||
"DeleteDownloadClientMessageText": "Êtes-vous sûr de vouloir supprimer le client de téléchargement '{0}' ?",
|
"DeleteDownloadClientMessageText": "Voulez-vous supprimer le client de téléchargement « {name} » ?",
|
||||||
"DeleteEmptyFolders": "Supprimer les dossiers vides",
|
"DeleteEmptyFolders": "Supprimer les dossiers vides",
|
||||||
"DeleteEmptyFoldersHelpText": "Supprimer les dossiers auteurs vides pendant le scan du disque dur et quand les fichiers de livres sont supprimés",
|
"DeleteEmptyFoldersHelpText": "Supprimer les dossiers auteurs vides pendant le scan du disque dur et quand les fichiers de livres sont supprimés",
|
||||||
"DeleteImportListExclusion": "Supprimer les exclusions de liste d'imports",
|
"DeleteImportListExclusion": "Supprimer l'exclusion de la liste d'importation",
|
||||||
"DeleteImportListExclusionMessageText": "Êtes vous sûr de vouloir effacer cette exclusion de liste d'imports ?",
|
"DeleteImportListExclusionMessageText": "Êtes-vous sûr de vouloir supprimer cette exclusion de la liste d'importation ?",
|
||||||
"DeleteImportListMessageText": "Voulez-vous vraiment supprimer la liste '{0}' ?",
|
"DeleteImportListMessageText": "Êtes-vous sûr de vouloir supprimer cette exclusion de la liste d'importation ?",
|
||||||
"DeleteIndexer": "Supprimer l'indexeur",
|
"DeleteIndexer": "Supprimer l'indexeur",
|
||||||
"DeleteIndexerMessageText": "Voulez-vous vraiment supprimer l'indexeur '{0}' ?",
|
"DeleteIndexerMessageText": "Voulez-vous vraiment supprimer l'indexeur « {name} » ?",
|
||||||
"DeleteMetadataProfileMessageText": "Voulez-vous vraiment supprimer le profil de qualité {0} ?",
|
"DeleteMetadataProfileMessageText": "Êtes-vous sûr de vouloir supprimer le profil de métadonnées « {name} » ?",
|
||||||
"DeleteNotification": "Supprimer la notification",
|
"DeleteNotification": "Supprimer la notification",
|
||||||
"DeleteNotificationMessageText": "Êtes-vous sûr de vouloir supprimer la notification '{0}' ?",
|
"DeleteNotificationMessageText": "Voulez-vous supprimer la notification « {name} » ?",
|
||||||
"DeleteQualityProfile": "Supprimer le profil qualité",
|
"DeleteQualityProfile": "Supprimer le profil de qualité",
|
||||||
"DeleteQualityProfileMessageText": "Voulez-vous vraiment supprimer le profil de qualité {0} ?",
|
"DeleteQualityProfileMessageText": "Êtes-vous sûr de vouloir supprimer le profil de qualité « {name} » ?",
|
||||||
"DeleteReleaseProfile": "Supprimer le profil de version",
|
"DeleteReleaseProfile": "Supprimer le profil de version",
|
||||||
"DeleteReleaseProfileMessageText": "Êtes vous sûr de vouloir effacer ce profil de version ?",
|
"DeleteReleaseProfileMessageText": "Êtes vous sûr de vouloir effacer ce profil de version ?",
|
||||||
"DeleteSelectedBookFiles": "Supprimer les fichiers de livres sélectionnés",
|
"DeleteSelectedBookFiles": "Supprimer les fichiers de livres sélectionnés",
|
||||||
"DeleteSelectedBookFilesMessageText": "Voulez-vous vraiment supprimer les fichiers vidéo sélectionnés ?",
|
"DeleteSelectedBookFilesMessageText": "Voulez-vous vraiment supprimer les fichiers vidéo sélectionnés ?",
|
||||||
"DeleteTag": "Supprimer le tag",
|
"DeleteTag": "Supprimer le tag",
|
||||||
"DeleteTagMessageText": "Voulez-vous vraiment supprimer la balise '{0}' ?",
|
"DeleteTagMessageText": "Voulez-vous vraiment supprimer la balise '{0}' ?",
|
||||||
"DestinationPath": "Chemin de Destination",
|
"DestinationPath": "Chemin de destination",
|
||||||
"DetailedProgressBar": "Barre de progression détaillée",
|
"DetailedProgressBar": "Barre de progression détaillée",
|
||||||
"DetailedProgressBarHelpText": "Afficher le texte sur la barre de progression",
|
"DetailedProgressBarHelpText": "Afficher le texte sur la barre de progression",
|
||||||
"DiskSpace": "Espace disque",
|
"DiskSpace": "Espace disque",
|
||||||
"DownloadClient": "Client de Téléchargement",
|
"DownloadClient": "Client de téléchargement",
|
||||||
"DownloadClientSettings": "Réglages Clients de téléchargement",
|
"DownloadClientSettings": "Télécharger les paramètres client",
|
||||||
"DownloadClients": "Clients téléchargement",
|
"DownloadClients": "Clients de téléchargement",
|
||||||
"DownloadFailedCheckDownloadClientForMoreDetails": "Téléchargement échoué : voir le client de téléchargement pour plus de détails",
|
"DownloadFailedCheckDownloadClientForMoreDetails": "Téléchargement échoué : voir le client de téléchargement pour plus de détails",
|
||||||
"DownloadFailedInterp": "Échec du téléchargement : {0}",
|
"DownloadFailedInterp": "Échec du téléchargement : {0}",
|
||||||
"DownloadPropersAndRepacksHelpTexts1": "S'il faut ou non mettre à niveau automatiquement vers Propres/Repacks",
|
"DownloadPropersAndRepacksHelpTexts1": "S'il faut ou non mettre à niveau automatiquement vers Propres/Repacks",
|
||||||
"DownloadWarningCheckDownloadClientForMoreDetails": "Avertissement téléchargement : voir le client de téléchargement pour plus de détails",
|
"DownloadWarningCheckDownloadClientForMoreDetails": "Avertissement téléchargement : voir le client de téléchargement pour plus de détails",
|
||||||
"Edit": "Éditer",
|
"Edit": "Modifier",
|
||||||
"Edition": "Édition",
|
"Edition": "Édition",
|
||||||
"Enable": "Activer",
|
"Enable": "Activer",
|
||||||
"EnableAutomaticAdd": "Activer l'ajout automatique",
|
"EnableAutomaticAdd": "Activer l'ajout automatique",
|
||||||
"EnableAutomaticSearch": "Activer la recherche automatique",
|
"EnableAutomaticSearch": "Activer la recherche automatique",
|
||||||
"EnableColorImpairedMode": "Activer le mode daltonien",
|
"EnableColorImpairedMode": "Activer le mode de couleurs altérées",
|
||||||
"EnableColorImpairedModeHelpText": "Style modifié pour permettre aux utilisateurs daltoniens de distinguer les codes couleurs",
|
"EnableColorImpairedModeHelpText": "Style modifié pour permettre aux utilisateurs ayant des difficultés de couleur de mieux distinguer les informations codées par couleur",
|
||||||
"EnableHelpText": "Activer la création d'un fichier de métadonnées pour ce type de métadonnée",
|
"EnableHelpText": "Activer la création de fichiers de métadonnées pour ce type de métadonnées",
|
||||||
"EnableInteractiveSearch": "Activer la recherche interactive",
|
"EnableInteractiveSearch": "Activer la recherche interactive",
|
||||||
"EnableSSL": "Activer le SSL",
|
"EnableSSL": "Activer le SSL",
|
||||||
"EnableSslHelpText": " Nécessite un redémarrage en tant qu'administrateur pour être effectif",
|
"EnableSslHelpText": " Nécessite un redémarrage en tant qu'administrateur pour être effectif",
|
||||||
@@ -140,42 +140,42 @@
|
|||||||
"Filename": "Nom de fichier",
|
"Filename": "Nom de fichier",
|
||||||
"Files": "Fichiers",
|
"Files": "Fichiers",
|
||||||
"FirstDayOfWeek": "Premier jour de la semaine",
|
"FirstDayOfWeek": "Premier jour de la semaine",
|
||||||
"Fixed": "Corrigé",
|
"Fixed": "Corrigés",
|
||||||
"Folder": "Dossier",
|
"Folder": "Dossier",
|
||||||
"Folders": "Dossiers",
|
"Folders": "Dossiers",
|
||||||
"ForMoreInformationOnTheIndividualDownloadClientsClickOnTheInfoButtons": "Pour plus d'informations sur les clients de téléchargement individuels, cliquez sur les boutons d'information.",
|
"ForMoreInformationOnTheIndividualDownloadClientsClickOnTheInfoButtons": "Pour plus d'informations sur les clients de téléchargement individuels, cliquez sur les boutons d'information.",
|
||||||
"ForMoreInformationOnTheIndividualIndexersClickOnTheInfoButtons": "Pour plus d'informations sur les indexeurs individuels, cliquez sur les boutons info.",
|
"ForMoreInformationOnTheIndividualIndexersClickOnTheInfoButtons": "Pour plus d'informations sur les indexeurs individuels, cliquez sur les boutons info.",
|
||||||
"ForMoreInformationOnTheIndividualListsClickOnTheInfoButtons": "Pour plus d'informations sur les listes d'importation individuelles, cliquez sur les boutons d'information.",
|
"ForMoreInformationOnTheIndividualListsClickOnTheInfoButtons": "Pour plus d'informations sur les listes d'importation individuelles, cliquez sur les boutons d'information.",
|
||||||
"GeneralSettings": "Réglages Généraux",
|
"GeneralSettings": "Réglages généraux",
|
||||||
"Global": "Global",
|
"Global": "Global",
|
||||||
"GoToInterp": "Aller à {0}",
|
"GoToInterp": "Aller à {0}",
|
||||||
"Grab": "Télécharger",
|
"Grab": "Saisir",
|
||||||
"GrabID": "ID du grab",
|
"GrabID": "ID du grab",
|
||||||
"GrabRelease": "Télécharger la version",
|
"GrabRelease": "Saisir Release",
|
||||||
"GrabReleaseMessageText": "Readarr n'a pas été en mesure de déterminer à quel auteur et livre correspondait cette version. Readarr peut être incapable d'importer automatiquement cette version. Voulez-vous récupérer '{0}' ?",
|
"GrabReleaseMessageText": "Readarr n'a pas été en mesure de déterminer à quel auteur et livre correspondait cette version. Readarr peut être incapable d'importer automatiquement cette version. Voulez-vous récupérer '{0}' ?",
|
||||||
"GrabSelected": "Saisir la sélection",
|
"GrabSelected": "Saisir la sélection",
|
||||||
"Group": "Groupe",
|
"Group": "Groupe",
|
||||||
"HasPendingChangesNoChanges": "Aucun changement",
|
"HasPendingChangesNoChanges": "Aucune modification",
|
||||||
"HasPendingChangesSaveChanges": "Sauvegarder les modifications",
|
"HasPendingChangesSaveChanges": "Sauvegarder les modifications",
|
||||||
"History": "Historique",
|
"History": "Historique",
|
||||||
"Hostname": "Nom d'hôte",
|
"Hostname": "Nom d'hôte",
|
||||||
"ICalFeed": "Flux iCal",
|
"ICalFeed": "Flux iCal",
|
||||||
"ICalHttpUrlHelpText": "Copiez cette URL dans votre client ou cliquez pour souscrire si votre navigateur est compatible avec webcal",
|
"ICalHttpUrlHelpText": "Copiez cette URL dans votre/vos client(s) ou cliquez pour abonner si votre navigateur est compatible avec webcal",
|
||||||
"ICalLink": "Lien iCal",
|
"ICalLink": "Lien iCal",
|
||||||
"IconForCutoffUnmet": "Icône pour limite non atteinte",
|
"IconForCutoffUnmet": "Icône pour la date limite non respectée",
|
||||||
"IconTooltip": "Programmé",
|
"IconTooltip": "Programmé",
|
||||||
"IgnoredAddresses": "Adresses ignorées",
|
"IgnoredAddresses": "Adresses ignorées",
|
||||||
"IgnoredHelpText": "La version sera rejetée si elle contient au moins l'un de ces termes (insensible à la casse)",
|
"IgnoredHelpText": "La version sera rejetée si elle contient au moins l'un de ces termes (insensible à la casse)",
|
||||||
"IgnoredPlaceHolder": "Ajouter une nouvelle restriction",
|
"IgnoredPlaceHolder": "Ajouter une nouvelle restriction",
|
||||||
"IllRestartLater": "Je redémarrerai plus tard",
|
"IllRestartLater": "Je redémarrerai plus tard",
|
||||||
"ImportExtraFiles": "Importer les fichiers extra",
|
"ImportExtraFiles": "Importer des fichiers supplémentaires",
|
||||||
"ImportExtraFilesHelpText": "Importer les fichiers extra correspondants (sous-titres, .nfo etc.) après avoir importé un fichier de livre",
|
"ImportExtraFilesHelpText": "Importer les fichiers extra correspondants (sous-titres, .nfo etc.) après avoir importé un fichier de livre",
|
||||||
"ImportFailedInterp": "Importation a échoué : {0}",
|
"ImportFailedInterp": "Importation a échoué : {0}",
|
||||||
"ImportedTo": "Importé vers",
|
"ImportedTo": "Importé vers",
|
||||||
"Importing": "Importation",
|
"Importing": "Importation",
|
||||||
"IncludeHealthWarningsHelpText": "Inclure avertissements santé",
|
"IncludeHealthWarningsHelpText": "Inclure avertissements santé",
|
||||||
"IncludeUnknownAuthorItemsHelpText": "Afficher les éléments sans auteur dans la file d'attente. Cela peut inclure des auteurs, livres ou autres éléments supprimés de la catégorie de Readarr",
|
"IncludeUnknownAuthorItemsHelpText": "Afficher les éléments sans auteur dans la file d'attente. Cela peut inclure des auteurs, livres ou autres éléments supprimés de la catégorie de Readarr",
|
||||||
"IncludeUnmonitored": "Inclure non surveillé",
|
"IncludeUnmonitored": "Inclure les non surveillés",
|
||||||
"Indexer": "Indexeur",
|
"Indexer": "Indexeur",
|
||||||
"IndexerPriority": "Priorité de l'indexeur",
|
"IndexerPriority": "Priorité de l'indexeur",
|
||||||
"IndexerSettings": "Paramètres de l'indexeur",
|
"IndexerSettings": "Paramètres de l'indexeur",
|
||||||
@@ -187,26 +187,26 @@
|
|||||||
"Language": "Langue",
|
"Language": "Langue",
|
||||||
"LaunchBrowserHelpText": " Ouvrir un navigateur Web et accéder à la page d'accueil de Readarr au démarrage de l'application.",
|
"LaunchBrowserHelpText": " Ouvrir un navigateur Web et accéder à la page d'accueil de Readarr au démarrage de l'application.",
|
||||||
"LoadingBookFilesFailed": "Le chargement des fichiers vidéo a échoué",
|
"LoadingBookFilesFailed": "Le chargement des fichiers vidéo a échoué",
|
||||||
"Local": "Local",
|
"Local": "Locale",
|
||||||
"LogFiles": "Fichiers Log",
|
"LogFiles": "Fichiers journaux",
|
||||||
"LogLevel": "Niveau du journal",
|
"LogLevel": "Niveau de journalisation",
|
||||||
"LogLevelvalueTraceTraceLoggingShouldOnlyBeEnabledTemporarily": "La journalisation des traces ne doit être activée que temporairement",
|
"LogLevelvalueTraceTraceLoggingShouldOnlyBeEnabledTemporarily": "La journalisation des traces ne doit être activée que temporairement",
|
||||||
"Logs": "Journaux",
|
"Logs": "Journaux",
|
||||||
"LongDateFormat": "Format de date long",
|
"LongDateFormat": "Format de date longue",
|
||||||
"MIA": "MIA",
|
"MIA": "MIA",
|
||||||
"ManualImport": "Importation manuelle",
|
"ManualImport": "Importation manuelle",
|
||||||
"MarkAsFailed": "Marquer comme échoué",
|
"MarkAsFailed": "Marquer comme échec",
|
||||||
"MarkAsFailedMessageText": "Voulez-vous vraiment marquer '{0}' comme échoué ?",
|
"MarkAsFailedMessageText": "Voulez-vous vraiment marquer '{0}' comme échoué ?",
|
||||||
"MaximumLimits": "Limites maximales",
|
"MaximumLimits": "Limites maximales",
|
||||||
"MaximumSize": "Taille maximum",
|
"MaximumSize": "Taille maximum",
|
||||||
"MaximumSizeHelpText": "Taille maximale d'une version à saisir en Mo. Mettre à zéro pour définir sur illimité",
|
"MaximumSizeHelpText": "Taille maximale d'une release à récupérer en Mo. Mettre à zéro pour définir sur illimité.",
|
||||||
"Mechanism": "Mécanisme",
|
"Mechanism": "Mécanisme",
|
||||||
"MediaInfo": "Média Info",
|
"MediaInfo": "Informations médias",
|
||||||
"MediaManagementSettings": "Paramètres de gestion des médias",
|
"MediaManagementSettings": "Paramètres de gestion des médias",
|
||||||
"Message": "Message",
|
"Message": "Message",
|
||||||
"MetadataSettings": "Paramètres métadonnées",
|
"MetadataSettings": "Paramètres des métadonnées",
|
||||||
"MinimumAge": "Âge minimum",
|
"MinimumAge": "Âge minimum",
|
||||||
"MinimumAgeHelpText": "Usenet uniquement: âge minimum en minutes des NZB avant qu'ils ne soient saisis. Utiliser ceci pour donner aux nouvelles versions le temps de se propager à votre fournisseur usenet.",
|
"MinimumAgeHelpText": "Usenet uniquement : âge minimum en minutes des NZB avant leur saisie. Utilisez-le pour donner aux nouvelles versions le temps de se propager à votre fournisseur Usenet.",
|
||||||
"MinimumFreeSpace": "Espace libre minimum",
|
"MinimumFreeSpace": "Espace libre minimum",
|
||||||
"MinimumFreeSpaceWhenImportingHelpText": "Empêcher l'importation si elle laisse moins d'espace disque disponible que cette quantité",
|
"MinimumFreeSpaceWhenImportingHelpText": "Empêcher l'importation si elle laisse moins d'espace disque disponible que cette quantité",
|
||||||
"MinimumLimits": "Limites minimales",
|
"MinimumLimits": "Limites minimales",
|
||||||
@@ -216,17 +216,17 @@
|
|||||||
"MustContain": "Doit contenir",
|
"MustContain": "Doit contenir",
|
||||||
"MustNotContain": "Ne doit pas contenir",
|
"MustNotContain": "Ne doit pas contenir",
|
||||||
"Name": "Nom",
|
"Name": "Nom",
|
||||||
"NamingSettings": "Paramètres dénomination",
|
"NamingSettings": "Paramètres de dénomination",
|
||||||
"New": "Nouveau",
|
"New": "Nouveau",
|
||||||
"NoBackupsAreAvailable": "Aucune sauvegarde n'est disponible",
|
"NoBackupsAreAvailable": "Aucune sauvegarde n'est disponible",
|
||||||
"NoHistory": "Pas d'historique",
|
"NoHistory": "Aucun historique.",
|
||||||
"NoLeaveIt": "Non, laisse-le",
|
"NoLeaveIt": "Non, laisse tomber",
|
||||||
"NoLimitForAnyRuntime": "Aucune limite pour aucune durée",
|
"NoLimitForAnyRuntime": "Aucune limite pour aucune durée d'exécution",
|
||||||
"NoLogFiles": "Aucun fichier journal",
|
"NoLogFiles": "Aucun fichier journal",
|
||||||
"NoMinimumForAnyRuntime": "Aucun minimum pour n'importe quel durée",
|
"NoMinimumForAnyRuntime": "Aucun minimum pour aucune durée d'exécution",
|
||||||
"NoUpdatesAreAvailable": "Aucune mise à jour n'est disponible",
|
"NoUpdatesAreAvailable": "Aucune mise à jour n'est disponible",
|
||||||
"None": "Aucun",
|
"None": "Aucun",
|
||||||
"NotificationTriggers": "Déclencheurs de notification",
|
"NotificationTriggers": "Déclencheurs de notifications",
|
||||||
"OnGrabHelpText": "À la Récupération",
|
"OnGrabHelpText": "À la Récupération",
|
||||||
"OnHealthIssueHelpText": "Lors d'un problème de santé",
|
"OnHealthIssueHelpText": "Lors d'un problème de santé",
|
||||||
"OnRenameHelpText": "Lors du changement de nom",
|
"OnRenameHelpText": "Lors du changement de nom",
|
||||||
@@ -235,35 +235,35 @@
|
|||||||
"Options": "Options",
|
"Options": "Options",
|
||||||
"Original": "Original",
|
"Original": "Original",
|
||||||
"Overview": "Aperçu",
|
"Overview": "Aperçu",
|
||||||
"PackageVersion": "Version du package",
|
"PackageVersion": "Version du paquet",
|
||||||
"PageSize": "Pagination",
|
"PageSize": "Pagination",
|
||||||
"PageSizeHelpText": "Nombre d'éléments à afficher sur chaque page",
|
"PageSizeHelpText": "Nombre d'éléments à afficher sur chaque page",
|
||||||
"Password": "Mot de passe",
|
"Password": "Mot de passe",
|
||||||
"Path": "Chemin",
|
"Path": "Chemin",
|
||||||
"Permissions": "Autorisations",
|
"Permissions": "Permissions",
|
||||||
"Port": "Port",
|
"Port": "Port",
|
||||||
"PortHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
"PortHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
||||||
"PortNumber": "Numéro de port",
|
"PortNumber": "Numéro de port",
|
||||||
"PosterSize": "Taille des posters",
|
"PosterSize": "Poster taille",
|
||||||
"PreviewRename": "Aperçu Renommage",
|
"PreviewRename": "Aperçu Renommer",
|
||||||
"Profiles": "Profils",
|
"Profiles": "Profils",
|
||||||
"Proper": "Proper",
|
"Proper": "Approprié",
|
||||||
"PropersAndRepacks": "Propres et Repacks",
|
"PropersAndRepacks": "Propres et Repacks",
|
||||||
"Protocol": "Protocole",
|
"Protocol": "Protocole",
|
||||||
"ProtocolHelpText": "Choisissez le(s) protocole(s) à utiliser et celui qui est préféré lors du choix entre des versions par ailleurs égales",
|
"ProtocolHelpText": "Choisissez quel(s) protocole(s) utiliser et lequel est préféré lorsque vous choisissez entre des versions par ailleurs égales",
|
||||||
"Proxy": "Proxy",
|
"Proxy": "Proxy",
|
||||||
"ProxyBypassFilterHelpText": "Utiliser ',' comme séparateur et '*.' comme caractère générique pour les sous-domaines",
|
"ProxyBypassFilterHelpText": "Utilisez ',' comme séparateur et '*.' comme caractère générique pour les sous-domaines",
|
||||||
"ProxyPasswordHelpText": "Il vous suffit de saisir un nom d'utilisateur et un mot de passe si vous en avez besoin. Sinon, laissez-les vides.",
|
"ProxyPasswordHelpText": "Il vous suffit de saisir un nom d'utilisateur et un mot de passe si nécessaire. Sinon, laissez-les vides.",
|
||||||
"ProxyType": "Type de proxy",
|
"ProxyType": "Type de mandataire",
|
||||||
"PublishedDate": "Date de publication",
|
"PublishedDate": "Date de publication",
|
||||||
"Quality": "Qualité",
|
"Quality": "Qualité",
|
||||||
"QualityDefinitions": "Définitions qualité",
|
"QualityDefinitions": "Définitions de la qualité",
|
||||||
"QualityProfile": "Profil qualité",
|
"QualityProfile": "Profil de qualité",
|
||||||
"QualitySettings": "Paramètres Qualité",
|
"QualitySettings": "Paramètres de qualité",
|
||||||
"Queue": "File d'attente",
|
"Queue": "File d'attente",
|
||||||
"RSSSync": "Synchro RSS",
|
"RSSSync": "Synchro RSS",
|
||||||
"RSSSyncInterval": "Intervalle de synchronisation RSS",
|
"RSSSyncInterval": "Intervalle de synchronisation RSS",
|
||||||
"ReadTheWikiForMoreInformation": "Consultez le Wiki pour plus d'informations",
|
"ReadTheWikiForMoreInformation": "Lisez le wiki pour plus d'informations",
|
||||||
"ReadarrSupportsAnyIndexerThatUsesTheNewznabStandardAsWellAsOtherIndexersListedBelow": "Readarr prend en charge tout indexeur qui utilise le standard Newznab, ainsi que d'autres indexeurs répertoriés ci-dessous.",
|
"ReadarrSupportsAnyIndexerThatUsesTheNewznabStandardAsWellAsOtherIndexersListedBelow": "Readarr prend en charge tout indexeur qui utilise le standard Newznab, ainsi que d'autres indexeurs répertoriés ci-dessous.",
|
||||||
"ReadarrTags": "Readarr Tags",
|
"ReadarrTags": "Readarr Tags",
|
||||||
"Real": "Réel",
|
"Real": "Réel",
|
||||||
@@ -271,14 +271,14 @@
|
|||||||
"RecycleBinCleanupDaysHelpText": "Définir sur 0 pour désactiver le nettoyage automatique",
|
"RecycleBinCleanupDaysHelpText": "Définir sur 0 pour désactiver le nettoyage automatique",
|
||||||
"RecycleBinCleanupDaysHelpTextWarning": "Les fichiers dans la corbeille plus anciens que le nombre de jours sélectionné seront nettoyés automatiquement",
|
"RecycleBinCleanupDaysHelpTextWarning": "Les fichiers dans la corbeille plus anciens que le nombre de jours sélectionné seront nettoyés automatiquement",
|
||||||
"RecycleBinHelpText": "Les fichiers vidéo iront ici lorsqu'ils seront supprimés au lieu d'être supprimés définitivement",
|
"RecycleBinHelpText": "Les fichiers vidéo iront ici lorsqu'ils seront supprimés au lieu d'être supprimés définitivement",
|
||||||
"RecyclingBin": "Corbeille",
|
"RecyclingBin": "Poubelle de recyclage",
|
||||||
"RecyclingBinCleanup": "Nettoyage de la Corbeille",
|
"RecyclingBinCleanup": "Nettoyage du bac de recyclage",
|
||||||
"Redownload": "Télécharger à nouveau",
|
"Redownload": "Télécharger à nouveau",
|
||||||
"Refresh": "Actualiser",
|
"Refresh": "Rafraîchir",
|
||||||
"RefreshInformationAndScanDisk": "Actualiser les informations et analyser le disque",
|
"RefreshInformationAndScanDisk": "Actualiser les informations et analyser le disque",
|
||||||
"ReleaseDate": "Date de sortie",
|
"ReleaseDate": "Date de sortie",
|
||||||
"ReleaseGroup": "Groupe de versions",
|
"ReleaseGroup": "Groupe de versions",
|
||||||
"ReleaseRejected": "Version rejetée",
|
"ReleaseRejected": "Libération rejetée",
|
||||||
"ReleaseWillBeProcessedInterp": "La Version sera traitée {0}",
|
"ReleaseWillBeProcessedInterp": "La Version sera traitée {0}",
|
||||||
"Reload": "Recharger",
|
"Reload": "Recharger",
|
||||||
"RemotePathMappings": "Mappages de chemins distants",
|
"RemotePathMappings": "Mappages de chemins distants",
|
||||||
@@ -289,7 +289,7 @@
|
|||||||
"RemoveFromDownloadClient": "Supprimer du client de téléchargement",
|
"RemoveFromDownloadClient": "Supprimer du client de téléchargement",
|
||||||
"RemoveFromQueue": "Supprimer de la file d'attente",
|
"RemoveFromQueue": "Supprimer de la file d'attente",
|
||||||
"RemoveHelpTextWarning": "La suppression supprimera le téléchargement et le(s) fichier(s) du client de téléchargement.",
|
"RemoveHelpTextWarning": "La suppression supprimera le téléchargement et le(s) fichier(s) du client de téléchargement.",
|
||||||
"RemoveSelected": "Supprimer la sélection",
|
"RemoveSelected": "Enlever la sélection",
|
||||||
"RemoveTagExistingTag": "Tag existant",
|
"RemoveTagExistingTag": "Tag existant",
|
||||||
"RemoveTagRemovingTag": "Suppression du tag",
|
"RemoveTagRemovingTag": "Suppression du tag",
|
||||||
"RemovedFromTaskQueue": "Supprimé de la file d'attente des tâches",
|
"RemovedFromTaskQueue": "Supprimé de la file d'attente des tâches",
|
||||||
@@ -310,37 +310,37 @@
|
|||||||
"RestoreBackup": "Restaurer la sauvegarde",
|
"RestoreBackup": "Restaurer la sauvegarde",
|
||||||
"Result": "Résultat",
|
"Result": "Résultat",
|
||||||
"Retention": "Rétention",
|
"Retention": "Rétention",
|
||||||
"RetentionHelpText": "Usenet uniquement: définir sur zéro pour une rétention illimitée",
|
"RetentionHelpText": "Usenet uniquement : définissez-le sur zéro pour définir une rétention illimitée",
|
||||||
"RetryingDownloadInterp": "Nouvelle tentative de téléchargement {0} à {1}",
|
"RetryingDownloadInterp": "Nouvelle tentative de téléchargement {0} à {1}",
|
||||||
"RootFolder": "Dossier racine",
|
"RootFolder": "Dossier racine",
|
||||||
"RootFolders": "Dossiers racine",
|
"RootFolders": "Dossiers racine",
|
||||||
"RssSyncIntervalHelpText": "Intervalle en minutes. Mettre à zéro pour désactiver (cela arrêtera tous les téléchargements automatiques)",
|
"RssSyncIntervalHelpText": "Intervalle en minutes. Réglez sur zéro pour désactiver (cela arrêtera toute capture de libération automatique)",
|
||||||
"SSLCertPassword": "Mot de passe du certificat SSL",
|
"SSLCertPassword": "Mot de passe du certificat SSL",
|
||||||
"SSLCertPath": "Chemin du certificat SSL",
|
"SSLCertPath": "Chemin du certificat SSL",
|
||||||
"SSLPort": "Port SSL",
|
"SSLPort": "Port SSL",
|
||||||
"Scheduled": "Programmé",
|
"Scheduled": "Programmé",
|
||||||
"ScriptPath": "Chemin du script",
|
"ScriptPath": "Chemin du script",
|
||||||
"Search": "Rechercher",
|
"Search": "Rechercher",
|
||||||
"SearchAll": "Rechercher tout",
|
"SearchAll": "Tout rechercher",
|
||||||
"SearchForMissing": "Recherche les manquants",
|
"SearchForMissing": "Recherche des manquants",
|
||||||
"SearchSelected": "Recherche sélectionnée",
|
"SearchSelected": "Rechercher la sélection",
|
||||||
"SendAnonymousUsageData": "Envoyer des données d'utilisation anonymes",
|
"SendAnonymousUsageData": "Envoyer des données d'utilisation anonymes",
|
||||||
"SetPermissions": "Définir les autorisations",
|
"SetPermissions": "Définir les autorisations",
|
||||||
"SetPermissionsLinuxHelpText": "Chmod doit-il être exécuté lorsque les fichiers sont importés/renommés?",
|
"SetPermissionsLinuxHelpText": "Chmod doit-il être exécuté lorsque les fichiers sont importés/renommés ?",
|
||||||
"SetPermissionsLinuxHelpTextWarning": "Si vous ne savez pas ce que font ces paramètres, ne les modifiez pas.",
|
"SetPermissionsLinuxHelpTextWarning": "Si vous n'êtes pas sûr de l'utilité de ces paramètres, ne les modifiez pas.",
|
||||||
"Settings": "Paramètres",
|
"Settings": "Paramètres",
|
||||||
"ShortDateFormat": "Format de date court",
|
"ShortDateFormat": "Format de date courte",
|
||||||
"ShowCutoffUnmetIconHelpText": "Afficher l'icône des fichiers lorsque la limite n'a pas été atteinte",
|
"ShowCutoffUnmetIconHelpText": "Afficher l'icône des fichiers lorsque la limite n'a pas été atteinte",
|
||||||
"ShowDateAdded": "Afficher la date d'ajout",
|
"ShowDateAdded": "Afficher la date d'ajout",
|
||||||
"ShowMonitored": "Afficher les éléments surveillés",
|
"ShowMonitored": "Afficher le chemin",
|
||||||
"ShowMonitoredHelpText": "Afficher le statut surveillé sous l'affiche",
|
"ShowMonitoredHelpText": "Afficher l'état de surveillance sous le poster",
|
||||||
"ShowPath": "Afficher le chemin",
|
"ShowPath": "Afficher le chemin",
|
||||||
"ShowQualityProfile": "Afficher le profil de qualité",
|
"ShowQualityProfile": "Afficher le profil de qualité",
|
||||||
"ShowQualityProfileHelpText": "Afficher le profil de qualité sous l'affiche",
|
"ShowQualityProfileHelpText": "Afficher le profil de qualité sous l'affiche",
|
||||||
"ShowRelativeDates": "Afficher les dates relatives",
|
"ShowRelativeDates": "Afficher les dates relatives",
|
||||||
"ShowRelativeDatesHelpText": "Afficher les dates relatives (Aujourd'hui/ Hier/ etc) ou absolues",
|
"ShowRelativeDatesHelpText": "Afficher les dates relatives (Aujourd'hui/Hier/etc) ou absolues",
|
||||||
"ShowSearch": "Afficher la recherche",
|
"ShowSearch": "Afficher la recherche",
|
||||||
"ShowSearchActionHelpText": "Afficher le bouton de recherche au survol de la souris",
|
"ShowSearchActionHelpText": "Afficher le bouton de recherche au survol du curseur",
|
||||||
"ShowSizeOnDisk": "Afficher la taille sur le disque",
|
"ShowSizeOnDisk": "Afficher la taille sur le disque",
|
||||||
"ShownAboveEachColumnWhenWeekIsTheActiveView": "Affiché au dessus de chaque colonne quand \"Semaine\" est l'affichage actif",
|
"ShownAboveEachColumnWhenWeekIsTheActiveView": "Affiché au dessus de chaque colonne quand \"Semaine\" est l'affichage actif",
|
||||||
"Size": " Taille",
|
"Size": " Taille",
|
||||||
@@ -352,11 +352,11 @@
|
|||||||
"SourcePath": "Chemin source",
|
"SourcePath": "Chemin source",
|
||||||
"SslCertPasswordHelpText": "Mot de passe pour le fichier pfx",
|
"SslCertPasswordHelpText": "Mot de passe pour le fichier pfx",
|
||||||
"SslCertPasswordHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
"SslCertPasswordHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
||||||
"SslCertPathHelpText": "Chemin vers le fichier pfx",
|
"SslCertPathHelpText": "Chemin d'accès au fichier pfx",
|
||||||
"StandardBookFormat": "Format de livre standard",
|
"StandardBookFormat": "Format de livre standard",
|
||||||
"StartTypingOrSelectAPathBelow": "Commencer à taper ou sélectionner un chemin ci-dessous",
|
"StartTypingOrSelectAPathBelow": "Commencer à écrire ou sélectionner un chemin ci-dessous",
|
||||||
"StartupDirectory": "Répertoire de démarrage",
|
"StartupDirectory": "Répertoire de démarrage",
|
||||||
"Status": "Statut",
|
"Status": "État",
|
||||||
"StatusEndedEnded": "Terminé",
|
"StatusEndedEnded": "Terminé",
|
||||||
"Style": "Style",
|
"Style": "Style",
|
||||||
"SuccessMyWorkIsDoneNoFilesToRename": "Victoire ! Mon travail est terminé, aucun fichier à renommer.",
|
"SuccessMyWorkIsDoneNoFilesToRename": "Victoire ! Mon travail est terminé, aucun fichier à renommer.",
|
||||||
@@ -365,21 +365,21 @@
|
|||||||
"SupportsSearchvalueSearchIsNotSupportedWithThisIndexer": "La recherche n'est pas prise en charge avec cet indexeur",
|
"SupportsSearchvalueSearchIsNotSupportedWithThisIndexer": "La recherche n'est pas prise en charge avec cet indexeur",
|
||||||
"SupportsSearchvalueWillBeUsedWhenAutomaticSearchesArePerformedViaTheUIOrByReadarr": "Sera utilisé lorsque les recherches automatiques sont effectuées via l'interface utilisateur ou par Readarr",
|
"SupportsSearchvalueWillBeUsedWhenAutomaticSearchesArePerformedViaTheUIOrByReadarr": "Sera utilisé lorsque les recherches automatiques sont effectuées via l'interface utilisateur ou par Readarr",
|
||||||
"SupportsSearchvalueWillBeUsedWhenInteractiveSearchIsUsed": "Sera utilisé lorsque la recherche interactive est utilisée",
|
"SupportsSearchvalueWillBeUsedWhenInteractiveSearchIsUsed": "Sera utilisé lorsque la recherche interactive est utilisée",
|
||||||
"TagIsNotUsedAndCanBeDeleted": "La balise n'est pas utilisée et peut être supprimée",
|
"TagIsNotUsedAndCanBeDeleted": "L'étiquette n'est pas utilisée et peut être supprimée",
|
||||||
"Tags": "Tags",
|
"Tags": "Tags",
|
||||||
"Tasks": "Tâches",
|
"Tasks": "Tâches",
|
||||||
"TestAll": "Tout tester",
|
"TestAll": "Tout tester",
|
||||||
"TestAllClients": "Tester tous les clients",
|
"TestAllClients": "Tester tous les clients",
|
||||||
"TestAllIndexers": "Tester tous les indexeurs",
|
"TestAllIndexers": "Testez tous les indexeurs",
|
||||||
"TestAllLists": "Tester toutes les listes",
|
"TestAllLists": "Tester toutes les listes",
|
||||||
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Cela s'appliquera à tous les indexeurs, veuillez suivre les règles définies par eux",
|
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Cela s'appliquera à tous les indexeurs, veuillez suivre les règles définies par eux",
|
||||||
"TimeFormat": "Format de l'heure",
|
"TimeFormat": "Format de l'heure",
|
||||||
"Title": "Titre",
|
"Title": "Titre",
|
||||||
"TorrentDelay": "Torrent Délai",
|
"TorrentDelay": "Retard du torrent",
|
||||||
"TorrentDelayHelpText": "Délia en minutes avant de récupérer un torrent",
|
"TorrentDelayHelpText": "Délai en minutes avant de récupérer un torrent",
|
||||||
"Torrents": "Torrents",
|
"Torrents": "Torrents",
|
||||||
"TotalFileSize": "Taille totale du fichier",
|
"TotalFileSize": "Taille totale des fichiers",
|
||||||
"UILanguage": "UI Langue",
|
"UILanguage": "Langue de l'IU",
|
||||||
"UILanguageHelpText": "Langue que Readarr utilisera pour l'interface utilisateur",
|
"UILanguageHelpText": "Langue que Readarr utilisera pour l'interface utilisateur",
|
||||||
"UILanguageHelpTextWarning": "Rechargement du navigateur requis",
|
"UILanguageHelpTextWarning": "Rechargement du navigateur requis",
|
||||||
"UISettings": "Paramètres UI",
|
"UISettings": "Paramètres UI",
|
||||||
@@ -394,11 +394,11 @@
|
|||||||
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Impossible d'ajouter un nouveau mappage de chemin distant, veuillez réessayer.",
|
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Impossible d'ajouter un nouveau mappage de chemin distant, veuillez réessayer.",
|
||||||
"UnableToAddANewRootFolderPleaseTryAgain": "Impossible d'ajouter un nouveau format personnalisé, veuillez réessayer.",
|
"UnableToAddANewRootFolderPleaseTryAgain": "Impossible d'ajouter un nouveau format personnalisé, veuillez réessayer.",
|
||||||
"UnableToLoadBackups": "Impossible de charger les sauvegardes",
|
"UnableToLoadBackups": "Impossible de charger les sauvegardes",
|
||||||
"UnableToLoadDelayProfiles": "Impossible de charger les profils de délai",
|
"UnableToLoadDelayProfiles": "Impossible de charger les profils de retard",
|
||||||
"UnableToLoadDownloadClientOptions": "Impossible de charger les options du client de téléchargement",
|
"UnableToLoadDownloadClientOptions": "Impossible de charger les options du client de téléchargement",
|
||||||
"UnableToLoadDownloadClients": "Impossible de charger les clients de téléchargement",
|
"UnableToLoadDownloadClients": "Impossible de charger les clients de téléchargement",
|
||||||
"UnableToLoadGeneralSettings": "Impossible de charger les paramètres généraux",
|
"UnableToLoadGeneralSettings": "Impossible de charger les paramètres généraux",
|
||||||
"UnableToLoadHistory": "Impossible de charger l'historique",
|
"UnableToLoadHistory": "Impossible de charger l'historique.",
|
||||||
"UnableToLoadImportListExclusions": "Impossible de charger les exclusions de liste",
|
"UnableToLoadImportListExclusions": "Impossible de charger les exclusions de liste",
|
||||||
"UnableToLoadIndexerOptions": "Impossible de charger les options de l'indexeur",
|
"UnableToLoadIndexerOptions": "Impossible de charger les options de l'indexeur",
|
||||||
"UnableToLoadIndexers": "Impossible de charger les indexeurs",
|
"UnableToLoadIndexers": "Impossible de charger les indexeurs",
|
||||||
@@ -413,35 +413,35 @@
|
|||||||
"UnableToLoadReleaseProfiles": "Impossible de charger les profils de délai",
|
"UnableToLoadReleaseProfiles": "Impossible de charger les profils de délai",
|
||||||
"UnableToLoadRemotePathMappings": "Impossible de charger les mappages de chemins distants",
|
"UnableToLoadRemotePathMappings": "Impossible de charger les mappages de chemins distants",
|
||||||
"UnableToLoadRootFolders": "Impossible de charger les dossiers racine",
|
"UnableToLoadRootFolders": "Impossible de charger les dossiers racine",
|
||||||
"UnableToLoadTags": "Impossible de charger les balises",
|
"UnableToLoadTags": "Impossible de charger les étiquettes",
|
||||||
"UnableToLoadTheCalendar": "Impossible de charger le calendrier",
|
"UnableToLoadTheCalendar": "Impossible de charger le calendrier",
|
||||||
"UnableToLoadUISettings": "Impossible de charger les paramètres de l'interface utilisateur",
|
"UnableToLoadUISettings": "Impossible de charger les paramètres de l'interface utilisateur",
|
||||||
"Ungroup": "Dissocier",
|
"Ungroup": "Dissocier",
|
||||||
"Unmonitored": "Non surveillé",
|
"Unmonitored": "Non surveillé",
|
||||||
"UnmonitoredHelpText": "Inclure les livres non surveillés dans le flux iCal",
|
"UnmonitoredHelpText": "Inclure les livres non surveillés dans le flux iCal",
|
||||||
"UpdateAll": "Tout actualiser",
|
"UpdateAll": "Tout actualiser",
|
||||||
"UpdateAutomaticallyHelpText": "Télécharger et installer automatiquement les mises à jour. Vous pourrez toujours installer à partir de System : Updates",
|
"UpdateAutomaticallyHelpText": "Téléchargez et installez automatiquement les mises à jour. Vous pourrez toujours installer à partir du système : mises à jour",
|
||||||
"UpdateMechanismHelpText": "Utiliser le programme de mise à jour intégré de Readarr ou un script",
|
"UpdateMechanismHelpText": "Utiliser le programme de mise à jour intégré de Readarr ou un script",
|
||||||
"UpdateScriptPathHelpText": "Chemin vers un script personnalisé qui prend un package de mise à jour extraite et gère le reste du processus de mise à jour",
|
"UpdateScriptPathHelpText": "Chemin d'accès à un script personnalisé qui prend un package de mise à jour extrait et gère le reste du processus de mise à jour",
|
||||||
"Updates": "Mises à jour",
|
"Updates": "Mises à jour",
|
||||||
"UpgradeAllowedHelpText": "Si désactivé, la qualité ne sera pas améliorée",
|
"UpgradeAllowedHelpText": "Si désactivé, les qualités ne seront pas améliorées",
|
||||||
"Uptime": "Durée de fonctionnent",
|
"Uptime": "Disponibilité",
|
||||||
"UrlBaseHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
"UrlBaseHelpTextWarning": "Nécessite un redémarrage pour prendre effet",
|
||||||
"UseHardlinksInsteadOfCopy": "Utiliser des liens physiques au lieu de copier",
|
"UseHardlinksInsteadOfCopy": "Utiliser les liens durs au lieu de copier",
|
||||||
"UseProxy": "Utiliser un proxy",
|
"UseProxy": "Utiliser le proxy",
|
||||||
"Usenet": "Usenet",
|
"Usenet": "Usenet",
|
||||||
"UsenetDelay": "Délai Usenet",
|
"UsenetDelay": "Retard Usenet",
|
||||||
"UsenetDelayHelpText": "Délai en minutes avant de récupérer une version Usenet",
|
"UsenetDelayHelpText": "Délai en minutes avant de récupérer une release de Usenet",
|
||||||
"Username": "Nom d'utilisateur",
|
"Username": "Nom d'utilisateur",
|
||||||
"UsingExternalUpdateMechanismBranchToUseToUpdateReadarr": "Branche à utiliser pour mettre à jour Readarr",
|
"UsingExternalUpdateMechanismBranchToUseToUpdateReadarr": "Branche à utiliser pour mettre à jour Readarr",
|
||||||
"UsingExternalUpdateMechanismBranchUsedByExternalUpdateMechanism": "Branche utilisée par le mécanisme de mise à jour extérieur",
|
"UsingExternalUpdateMechanismBranchUsedByExternalUpdateMechanism": "Branche utilisée par le mécanisme de mise à jour extérieur",
|
||||||
"Version": "Version",
|
"Version": "Version",
|
||||||
"WeekColumnHeader": "En-tête de la colonne : Semaine",
|
"WeekColumnHeader": "En-tête de colonne de la semaine",
|
||||||
"Year": "Année",
|
"Year": "Année",
|
||||||
"YesCancel": "Oui, annuler",
|
"YesCancel": "Oui, annuler",
|
||||||
"DownloadClientCheckDownloadingToRoot": "Le client de téléchargement {0} place les téléchargements dans le dossier racine {1}. Vous ne devez pas télécharger dans un dossier racine.",
|
"DownloadClientCheckDownloadingToRoot": "Le client de téléchargement {0} place les téléchargements dans le dossier racine {1}. Vous ne devez pas télécharger dans un dossier racine.",
|
||||||
"Series": "Séries",
|
"Series": "Série",
|
||||||
"MaintenanceRelease": "Version de maintenance : corrections de bugs et autres améliorations. Voir historique des changements Github pour plus d'informations",
|
"MaintenanceRelease": "Version de maintenance : corrections de bugs et autres améliorations. Voir l'historique des validations Github pour plus de détails",
|
||||||
"LogRotation": "Rotation du journal",
|
"LogRotation": "Rotation du journal",
|
||||||
"LogRotateHelpText": "Nombre maximum de fichiers journaux à conserver dans le dossier des journaux",
|
"LogRotateHelpText": "Nombre maximum de fichiers journaux à conserver dans le dossier des journaux",
|
||||||
"FilterSentryEventsHelpText": "Filtrer les événements d'erreur utilisateur connus pour qu'ils ne soient pas envoyés en tant qu'Analytics",
|
"FilterSentryEventsHelpText": "Filtrer les événements d'erreur utilisateur connus pour qu'ils ne soient pas envoyés en tant qu'Analytics",
|
||||||
@@ -458,11 +458,11 @@
|
|||||||
"BookAvailableButMissing": "Livre disponible, mais manquant",
|
"BookAvailableButMissing": "Livre disponible, mais manquant",
|
||||||
"OutputPath": "Chemin de sortie",
|
"OutputPath": "Chemin de sortie",
|
||||||
"ReleaseTitle": "Titre de la version",
|
"ReleaseTitle": "Titre de la version",
|
||||||
"ShowBookTitleHelpText": "Afficher le titre du livre sous l'affiche",
|
"ShowBookTitleHelpText": "Affiche le titre du livre sous l'affiche",
|
||||||
"ShowReleaseDate": "Afficher la date de sortie",
|
"ShowReleaseDate": "Afficher la date de sortie",
|
||||||
"ShowTitle": "Afficher le titre",
|
"ShowTitle": "Montrer le titre",
|
||||||
"TheAuthorFolderAndAllOfItsContentWillBeDeleted": "Le dossier '{0}' et son contenu vont être supprimés.",
|
"TheAuthorFolderAndAllOfItsContentWillBeDeleted": "Le dossier '{0}' et son contenu vont être supprimés.",
|
||||||
"ReplaceIllegalCharactersHelpText": "Remplacer les caractères illégaux. Si non cochée, Readarr les supprimera à la place",
|
"ReplaceIllegalCharactersHelpText": "Remplacer les caractères illégaux. Si non coché, Readarr les supprimera",
|
||||||
"Level": "Niveau",
|
"Level": "Niveau",
|
||||||
"Publisher": "Éditeur",
|
"Publisher": "Éditeur",
|
||||||
"Label": "Label",
|
"Label": "Label",
|
||||||
@@ -478,7 +478,7 @@
|
|||||||
"SelectAll": "Tout sélectionner",
|
"SelectAll": "Tout sélectionner",
|
||||||
"SelectedCountBooksSelectedInterp": "{0} Livre(s) Sélectionné(s)",
|
"SelectedCountBooksSelectedInterp": "{0} Livre(s) Sélectionné(s)",
|
||||||
"ThisCannotBeCancelled": "Cela ne peut pas être annulé une fois démarré sans désactiver tous vos indexeurs.",
|
"ThisCannotBeCancelled": "Cela ne peut pas être annulé une fois démarré sans désactiver tous vos indexeurs.",
|
||||||
"UnselectAll": "Tout déselectionner",
|
"UnselectAll": "Tout désélectionner",
|
||||||
"UpdateSelected": "Mettre à jour la sélection",
|
"UpdateSelected": "Mettre à jour la sélection",
|
||||||
"All": "Tout",
|
"All": "Tout",
|
||||||
"Wanted": "Recherché",
|
"Wanted": "Recherché",
|
||||||
@@ -520,12 +520,12 @@
|
|||||||
"SearchFiltered": "Chercher les filtrés",
|
"SearchFiltered": "Chercher les filtrés",
|
||||||
"SettingsRemotePathMappingLocalPath": "Chemin local",
|
"SettingsRemotePathMappingLocalPath": "Chemin local",
|
||||||
"UpdateAvailable": "Une nouvelle mise à jour est disponible",
|
"UpdateAvailable": "Une nouvelle mise à jour est disponible",
|
||||||
"DownloadClientsSettingsSummary": "Clients de Téléchargement, la gestion des téléchargements et les mappages de chemins d'accès à distance",
|
"DownloadClientsSettingsSummary": "Clients de téléchargement, gestion des téléchargements et mappages de chemins distants",
|
||||||
"DownloadClientStatusCheckAllClientMessage": "Aucun client de téléchargement n'est disponible en raison d'échecs",
|
"DownloadClientStatusCheckAllClientMessage": "Aucun client de téléchargement n'est disponible en raison d'échecs",
|
||||||
"ImportListStatusCheckAllClientMessage": "Toutes les listes ne sont pas disponibles en raison d'échecs",
|
"ImportListStatusCheckAllClientMessage": "Toutes les listes ne sont pas disponibles en raison d'échecs",
|
||||||
"ImportMechanismHealthCheckMessage": "Activer la gestion des téléchargements terminés",
|
"ImportMechanismHealthCheckMessage": "Activer la gestion des téléchargements terminés",
|
||||||
"IndexerRssHealthCheckNoIndexers": "Aucun indexeur disponible avec la synchronisation RSS activée, Readarr ne récupérera pas automatiquement les nouvelles versions",
|
"IndexerRssHealthCheckNoIndexers": "Aucun indexeur disponible avec la synchronisation RSS activée, Readarr ne récupérera pas automatiquement les nouvelles versions",
|
||||||
"CouldntFindAnyResultsForTerm": "Pas de résultats pour '{0}'",
|
"CouldntFindAnyResultsForTerm": "Aucun résultat pour de résultats pour '{0}'",
|
||||||
"ReadarrSupportsAnyDownloadClient": "Readarr prend en charge de nombreux clients de téléchargement torrent et usenet.",
|
"ReadarrSupportsAnyDownloadClient": "Readarr prend en charge de nombreux clients de téléchargement torrent et usenet.",
|
||||||
"RefreshAndScan": "Actualiser et analyser",
|
"RefreshAndScan": "Actualiser et analyser",
|
||||||
"RemotePathMappingCheckFileRemoved": "Le fichier {0} a été supprimé pendant le processus.",
|
"RemotePathMappingCheckFileRemoved": "Le fichier {0} a été supprimé pendant le processus.",
|
||||||
@@ -542,25 +542,25 @@
|
|||||||
"FileWasDeletedByUpgrade": "Le fichier à été supprimé pour importer une version supérieure",
|
"FileWasDeletedByUpgrade": "Le fichier à été supprimé pour importer une version supérieure",
|
||||||
"Filters": "Filtres",
|
"Filters": "Filtres",
|
||||||
"General": "Général",
|
"General": "Général",
|
||||||
"GeneralSettingsSummary": "Port, SSL, nom d'utilisateur/mot de passe, proxy, analyses et mises à jour",
|
"GeneralSettingsSummary": "Port, SSL/TLS, nom d'utilisateur/mot de passe, proxy, analyses et mises à jour",
|
||||||
"HealthNoIssues": "Aucun problème avec votre configuration",
|
"HealthNoIssues": "Aucun problème avec votre configuration",
|
||||||
"ImportListStatusCheckSingleClientMessage": "Listes indisponibles en raison d'échecs : {0}",
|
"ImportListStatusCheckSingleClientMessage": "Listes indisponibles en raison d'échecs : {0}",
|
||||||
"IndexerLongTermStatusCheckAllClientMessage": "Tous les indexeurs sont indisponibles en raison d'échecs de plus de 6 heures",
|
"IndexerLongTermStatusCheckAllClientMessage": "Tous les indexeurs sont indisponibles en raison d'échecs de plus de 6 heures",
|
||||||
"Lists": "Listes",
|
"Lists": "Listes",
|
||||||
"Monitor": "Surveiller",
|
"Monitor": "Surveillé",
|
||||||
"MissingFromDisk": "Readarr n'a pas pu trouver le fichier sur le disque, il a donc été supprimé dans la base de données",
|
"MissingFromDisk": "Readarr n'a pas pu trouver le fichier sur le disque, il a donc été supprimé dans la base de données",
|
||||||
"MountCheckMessage": "Le montage contenant un chemin d'auteur est monté en lecture seule : ",
|
"MountCheckMessage": "Le montage contenant un chemin d'auteur est monté en lecture seule : ",
|
||||||
"OnBookFileDelete": "À la suppression d'un fichier vidéo",
|
"OnBookFileDelete": "À la suppression d'un fichier vidéo",
|
||||||
"OnBookFileDeleteForUpgrade": "À la suppression du fichier vidéo pour mise à niveau",
|
"OnBookFileDeleteForUpgrade": "À la suppression du fichier vidéo pour mise à niveau",
|
||||||
"OnBookFileDeleteForUpgradeHelpText": "À la suppression du fichier vidéo pour mise à niveau",
|
"OnBookFileDeleteForUpgradeHelpText": "À la suppression du fichier vidéo pour mise à niveau",
|
||||||
"OnBookFileDeleteHelpText": "À la suppression d'un fichier vidéo",
|
"OnBookFileDeleteHelpText": "À la suppression d'un fichier vidéo",
|
||||||
"OnGrab": "À la Récupération",
|
"OnGrab": "À saisir",
|
||||||
"OnHealthIssue": "Lors d'un problème de santé",
|
"OnHealthIssue": "Sur la question de la santé",
|
||||||
"OnRename": "Lors du changement de nom",
|
"OnRename": "Au renommage",
|
||||||
"ProxyCheckBadRequestMessage": "Échec du test du proxy. StatusCode : {0}",
|
"ProxyCheckBadRequestMessage": "Échec du test du proxy. StatusCode : {0}",
|
||||||
"ProxyCheckFailedToTestMessage": "Échec du test du proxy : {0}",
|
"ProxyCheckFailedToTestMessage": "Échec du test du proxy : {0}",
|
||||||
"ProxyCheckResolveIpMessage": "Impossible de résoudre l'adresse IP de l'hôte proxy configuré {0}",
|
"ProxyCheckResolveIpMessage": "Impossible de résoudre l'adresse IP de l'hôte proxy configuré {0}",
|
||||||
"QualitySettingsSummary": "Tailles qualité et dénomination",
|
"QualitySettingsSummary": "Tailles et dénomination de qualité",
|
||||||
"Queued": "En file d'attente",
|
"Queued": "En file d'attente",
|
||||||
"QueueIsEmpty": "La file d'attente est vide",
|
"QueueIsEmpty": "La file d'attente est vide",
|
||||||
"RemotePathMappingCheckDownloadPermissions": "Readarr peut voir mais ne peut accéder au livre téléchargé {0}. Il s'agit probablement d'une erreur de permissions.",
|
"RemotePathMappingCheckDownloadPermissions": "Readarr peut voir mais ne peut accéder au livre téléchargé {0}. Il s'agit probablement d'une erreur de permissions.",
|
||||||
@@ -599,7 +599,7 @@
|
|||||||
"CalibreUsername": "Nom d'utilisateur Calibre",
|
"CalibreUsername": "Nom d'utilisateur Calibre",
|
||||||
"ContinuingAllBooksDownloaded": "Continuation (Tous les livres téléchargés)",
|
"ContinuingAllBooksDownloaded": "Continuation (Tous les livres téléchargés)",
|
||||||
"CalibreContentServerText": "L'utilisation d'un serveur de contenu Calibre (et non Calibre Web) permet à Readarr d'ajouter des livres à votre bibliothèque Calibre et de déclencher des conversions entre les formats",
|
"CalibreContentServerText": "L'utilisation d'un serveur de contenu Calibre (et non Calibre Web) permet à Readarr d'ajouter des livres à votre bibliothèque Calibre et de déclencher des conversions entre les formats",
|
||||||
"Continuing": "Continuant",
|
"Continuing": "Continuer",
|
||||||
"ContinuingMoreBooksAreExpected": "D'autres livres sont attendus",
|
"ContinuingMoreBooksAreExpected": "D'autres livres sont attendus",
|
||||||
"ContinuingNoAdditionalBooksAreExpected": "Aucun livre supplémentaire n'est prévu",
|
"ContinuingNoAdditionalBooksAreExpected": "Aucun livre supplémentaire n'est prévu",
|
||||||
"AuthorIndex": "Index de l'auteur",
|
"AuthorIndex": "Index de l'auteur",
|
||||||
@@ -611,7 +611,7 @@
|
|||||||
"BookList": "Liste des livres",
|
"BookList": "Liste des livres",
|
||||||
"CalibreContentServer": "Serveur de contenu Calibre",
|
"CalibreContentServer": "Serveur de contenu Calibre",
|
||||||
"AllowedLanguages": "Langues autorisées",
|
"AllowedLanguages": "Langues autorisées",
|
||||||
"AllowFingerprinting": "Autoriser la prise d'empreinte (Fingerprinting)",
|
"AllowFingerprinting": "Autoriser le tracking audio",
|
||||||
"AllowFingerprintingHelpTextWarning": "Cela nécessite que Readarr lise certaines parties du fichier, ce qui ralentit les analyses et peut entraîner une forte activité du disque dur ou du réseau.",
|
"AllowFingerprintingHelpTextWarning": "Cela nécessite que Readarr lise certaines parties du fichier, ce qui ralentit les analyses et peut entraîner une forte activité du disque dur ou du réseau.",
|
||||||
"ASIN": "ASIN",
|
"ASIN": "ASIN",
|
||||||
"Author": "Auteur",
|
"Author": "Auteur",
|
||||||
@@ -634,7 +634,7 @@
|
|||||||
"CalibreOutputFormat": "Format de sortie de Calibre",
|
"CalibreOutputFormat": "Format de sortie de Calibre",
|
||||||
"CalibreOutputProfile": "Profil de sortie de Calibre",
|
"CalibreOutputProfile": "Profil de sortie de Calibre",
|
||||||
"CalibrePassword": "Mot de passe de Calibre",
|
"CalibrePassword": "Mot de passe de Calibre",
|
||||||
"ChownGroup": "Groupe chown",
|
"ChownGroup": "chown Groupe",
|
||||||
"CollapseMultipleBooks": "Regrouper plusieurs livres",
|
"CollapseMultipleBooks": "Regrouper plusieurs livres",
|
||||||
"CollapseMultipleBooksHelpText": "Regrouper les livres qui sortent le même jour",
|
"CollapseMultipleBooksHelpText": "Regrouper les livres qui sortent le même jour",
|
||||||
"ConvertToFormat": "Convertir au format",
|
"ConvertToFormat": "Convertir au format",
|
||||||
@@ -652,10 +652,10 @@
|
|||||||
"DefaultMetadataProfileIdHelpText": "Profil de métadonnées par défaut pour les auteurs détectés dans ce dossier",
|
"DefaultMetadataProfileIdHelpText": "Profil de métadonnées par défaut pour les auteurs détectés dans ce dossier",
|
||||||
"DefaultMonitorOptionHelpText": "Quels livres doivent être surveillés lors de l'ajout initial pour les auteurs détectés dans ce dossier",
|
"DefaultMonitorOptionHelpText": "Quels livres doivent être surveillés lors de l'ajout initial pour les auteurs détectés dans ce dossier",
|
||||||
"DefaultQualityProfileIdHelpText": "Profil de qualité par défaut pour les auteurs détectés dans ce dossier",
|
"DefaultQualityProfileIdHelpText": "Profil de qualité par défaut pour les auteurs détectés dans ce dossier",
|
||||||
"AddMissing": "Ajouter les manquants",
|
"AddMissing": "Ajouter manquant",
|
||||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Total : {2})",
|
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Total : {2})",
|
||||||
"InstanceName": "Nom de l'instance",
|
"InstanceName": "Nom de l'instance",
|
||||||
"InstanceNameHelpText": "Nom de l'instance dans l'onglet du navigateur et pour le nom d'application dans Syslog",
|
"InstanceNameHelpText": "Nom de l'instance dans l'onglet et pour le nom de l'application Syslog",
|
||||||
"UseCalibreContentServer": "Serveur de contenu Calibre",
|
"UseCalibreContentServer": "Serveur de contenu Calibre",
|
||||||
"DefaultTagsHelpText": "Profil de métadonnées par défaut pour les auteurs détectés dans ce dossier",
|
"DefaultTagsHelpText": "Profil de métadonnées par défaut pour les auteurs détectés dans ce dossier",
|
||||||
"MetadataProfiles": "profil de métadonnées",
|
"MetadataProfiles": "profil de métadonnées",
|
||||||
@@ -663,48 +663,48 @@
|
|||||||
"MetadataProfile": "profil de métadonnées",
|
"MetadataProfile": "profil de métadonnées",
|
||||||
"StatusEndedContinuing": "Continuant",
|
"StatusEndedContinuing": "Continuant",
|
||||||
"Database": "Base de données",
|
"Database": "Base de données",
|
||||||
"ApplicationUrlHelpText": "URL externe de cette application, y compris http(s)://, le port ainsi que la base de URL",
|
"ApplicationUrlHelpText": "L'URL externe de cette application, y compris http(s)://, le port ainsi que la base de URL",
|
||||||
"ApplicationURL": "URL de l'application",
|
"ApplicationURL": "URL de l'application",
|
||||||
"ImportListExclusions": "Supprimer les exclusions de liste d'imports",
|
"ImportListExclusions": "Exclusions de la liste d'importation",
|
||||||
"ChooseImportMethod": "Choisir une méthode d'importation",
|
"ChooseImportMethod": "Choisir une méthode d'importation",
|
||||||
"ClickToChangeReleaseGroup": "Cliquer pour changer le groupe de publication",
|
"ClickToChangeReleaseGroup": "Cliquez pour changer de groupe de diffusion",
|
||||||
"HardlinkCopyFiles": "Lier/copier les fichiers",
|
"HardlinkCopyFiles": "Lien physique/Copie de fichiers",
|
||||||
"MoveFiles": "Déplacer les fichiers",
|
"MoveFiles": "Déplacer des fichiers",
|
||||||
"OnApplicationUpdate": "Lors de la mise à jour de l'app",
|
"OnApplicationUpdate": "Sur la mise à jour de l'application",
|
||||||
"OnApplicationUpdateHelpText": "Lors de la mise à jour de l'app",
|
"OnApplicationUpdateHelpText": "Lors de la mise à jour de l'app",
|
||||||
"BypassIfAboveCustomFormatScore": "Contourner si au-dessus du score du format personnalisé",
|
"BypassIfAboveCustomFormatScore": "Contourner si au-dessus du score du format personnalisé",
|
||||||
"BypassIfHighestQuality": "Contourner si la qualité est la plus élevée",
|
"BypassIfHighestQuality": "Contourner si la qualité est la plus élevée",
|
||||||
"BypassIfAboveCustomFormatScoreHelpText": "Activez le contournement lorsque la version a un score supérieur au score minimum configuré pour le format personnalisé",
|
"BypassIfAboveCustomFormatScoreHelpText": "Activez le contournement lorsque la version a un score supérieur au score minimum configuré pour le format personnalisé",
|
||||||
"CustomFormatScore": "Score du format personnalisé",
|
"CustomFormatScore": "Partition au format personnalisé",
|
||||||
"MinimumCustomFormatScore": "Score de format personnalisé minimum",
|
"MinimumCustomFormatScore": "Score minimum de format personnalisé",
|
||||||
"Theme": "Thème",
|
"Theme": "Thème",
|
||||||
"ThemeHelpText": "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",
|
"ThemeHelpText": "Modifiez le thème de l'interface utilisateur de l'application, le thème « Auto » utilisera le thème de votre système d'exploitation pour définir le mode clair ou sombre. Inspiré par Theme.Park",
|
||||||
"EnableRssHelpText": "Sera utilisé lorsque Readarr recherche périodiquement des sorties via la synchronisation RSS",
|
"EnableRssHelpText": "Sera utilisé lorsque Readarr recherche périodiquement des sorties via la synchronisation RSS",
|
||||||
"CloneCustomFormat": "Dupliqué le format personnalisé",
|
"CloneCustomFormat": "Dupliqué le format personnalisé",
|
||||||
"Conditions": "Conditions",
|
"Conditions": "Conditions",
|
||||||
"CopyToClipboard": "Copier dans le presse-papier",
|
"CopyToClipboard": "Copier dans le presse-papier",
|
||||||
"CustomFormat": "Format Personnalisé",
|
"CustomFormat": "Format personnalisé",
|
||||||
"CustomFormatSettings": "Réglages Formats Personnalisés",
|
"CustomFormatSettings": "Réglages Formats Personnalisés",
|
||||||
"CustomFormats": "Formats perso.",
|
"CustomFormats": "Formats personnalisés",
|
||||||
"DeleteCustomFormat": "Supprimer le format personnalisé",
|
"DeleteCustomFormat": "Supprimer le format personnalisé",
|
||||||
"DeleteCustomFormatMessageText": "Voulez-vous vraiment supprimer l'indexeur '{0}' ?",
|
"DeleteCustomFormatMessageText": "Voulez-vous vraiment supprimer le format personnalisé « {name} » ?",
|
||||||
"DeleteFormatMessageText": "Êtes-vous sûr de vouloir supprimer le tag {0} ?",
|
"DeleteFormatMessageText": "Êtes-vous sûr de vouloir supprimer le tag « {0} » ?",
|
||||||
"ExportCustomFormat": "Exporter format personnalisé",
|
"ExportCustomFormat": "Exporter un format personnalisé",
|
||||||
"Formats": "Formats",
|
"Formats": "Formats",
|
||||||
"IncludeCustomFormatWhenRenamingHelpText": "Inclus dans {Custom Formats} renommer le format",
|
"IncludeCustomFormatWhenRenamingHelpText": "Inclus dans {Custom Formats} renommer le format",
|
||||||
"MinFormatScoreHelpText": "Score de format personnalisé minimum autorisé à télécharger",
|
"MinFormatScoreHelpText": "Score de format personnalisé minimum autorisé à télécharger",
|
||||||
"NegateHelpText": "Si coché, le format personnalisé ne s'appliquera pas si cette condition {0} correspond.",
|
"NegateHelpText": "Si coché, le format personnalisé ne s'appliquera pas si cette condition {0} correspond.",
|
||||||
"ResetDefinitionTitlesHelpText": "Réinitialiser les titres des définitions ainsi que les valeurs",
|
"ResetDefinitionTitlesHelpText": "Réinitialiser les titres de définition ainsi que les valeurs",
|
||||||
"UnableToLoadCustomFormats": "Impossible de charger les formats personnalisés",
|
"UnableToLoadCustomFormats": "Impossible de charger les formats personnalisés",
|
||||||
"UpgradesAllowed": "Mises à niveau autorisées",
|
"UpgradesAllowed": "Mises à niveau autorisées",
|
||||||
"ReleaseProfiles": "profil de version",
|
"ReleaseProfiles": "Profils de version",
|
||||||
"CutoffFormatScoreHelpText": "Quand ce score de format personnalisé est atteint, Readarr ne téléchargera plus de versions du livre",
|
"CutoffFormatScoreHelpText": "Quand ce score de format personnalisé est atteint, Readarr ne téléchargera plus de versions du livre",
|
||||||
"DataFutureBooks": "Surveiller les livres qui ne sont pas encore sortis",
|
"DataFutureBooks": "Surveiller les livres qui ne sont pas encore sortis",
|
||||||
"ResetDefinitions": "Réinitialiser les définitions",
|
"ResetDefinitions": "Réinitialiser les définitions",
|
||||||
"ResetTitles": "Réinitialiser les titres",
|
"ResetTitles": "Réinitialiser les titres",
|
||||||
"ImportListMissingRoot": "Le dossier racine est manquant pour importer la/les listes : {0}",
|
"ImportListMissingRoot": "Le dossier racine est manquant pour importer la/les listes : {0}",
|
||||||
"ImportListMultipleMissingRoots": "Plusieurs dossiers racines sont manquants pour importer les listes : {0}",
|
"ImportListMultipleMissingRoots": "Plusieurs dossiers racines sont manquants pour importer les listes : {0}",
|
||||||
"IndexerDownloadClientHelpText": "Spécifiez quel client de téléchargement est utilisé pour cet indexeur",
|
"IndexerDownloadClientHelpText": "Spécifiez quel client de téléchargement est utilisé pour les récupérations à partir de cet indexeur",
|
||||||
"IndexerTagsHelpText": "Utiliser seulement cet indexeur pour les auteurs avec au moins un tag correspondant. Laisser vide pour l'utiliser avec tous les auteurs.",
|
"IndexerTagsHelpText": "Utiliser seulement cet indexeur pour les auteurs avec au moins un tag correspondant. Laisser vide pour l'utiliser avec tous les auteurs.",
|
||||||
"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 Readarr",
|
"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 Readarr",
|
||||||
"Loading": "Chargement",
|
"Loading": "Chargement",
|
||||||
@@ -712,68 +712,68 @@
|
|||||||
"ThereWasAnErrorLoadingThisPage": "Une erreur s'est produite lors du chargement de cette page",
|
"ThereWasAnErrorLoadingThisPage": "Une erreur s'est produite lors du chargement de cette page",
|
||||||
"ApiKeyValidationHealthCheckMessage": "Veuillez mettre à jour votre clé API pour qu'elle contienne au moins {0} caractères. Vous pouvez le faire via les paramètres ou le fichier de configuration",
|
"ApiKeyValidationHealthCheckMessage": "Veuillez mettre à jour votre clé API pour qu'elle contienne au moins {0} caractères. Vous pouvez le faire via les paramètres ou le fichier de configuration",
|
||||||
"DeleteBookFile": "Effacer le fichier du livre",
|
"DeleteBookFile": "Effacer le fichier du livre",
|
||||||
"HiddenClickToShow": "Caché, cliquez pour afficher",
|
"HiddenClickToShow": "Masqué, cliquez pour afficher",
|
||||||
"HideAdvanced": "Masquer avancé",
|
"HideAdvanced": "Masquer param. av.",
|
||||||
"ShowAdvanced": "Afficher avancés",
|
"ShowAdvanced": "Afficher les paramètres avancés",
|
||||||
"ShownClickToHide": "Montré, cliquez pour masquer",
|
"ShownClickToHide": "Affiché, cliquez pour masquer",
|
||||||
"ColonReplacement": "Remplacement pour le 'deux-points'",
|
"ColonReplacement": "Remplacement pour le « deux-points »",
|
||||||
"ReplaceWithDash": "Remplacer par Dash",
|
"ReplaceWithDash": "Remplacer par un tiret",
|
||||||
"ReplaceWithSpaceDash": "Remplacer par Space Dash",
|
"ReplaceWithSpaceDash": "Remplacer par un espace puis un tiret",
|
||||||
"ReplaceWithSpaceDashSpace": "Remplacer par Space Dash Space",
|
"ReplaceWithSpaceDashSpace": "Remplacer par un espace, un tiret puis un espace",
|
||||||
"DeleteRemotePathMapping": "Éditer le chemin distant",
|
"DeleteRemotePathMapping": "Supprimer le mappage de chemin distant",
|
||||||
"DeleteRemotePathMappingMessageText": "Êtes-vous sûr de vouloir effacer ce chemin ?",
|
"DeleteRemotePathMappingMessageText": "Êtes-vous sûr de vouloir supprimer ce mappage de chemin distant ?",
|
||||||
"BlocklistReleases": "Mettre cette release sur la liste noire",
|
"BlocklistReleases": "Publications de la liste de blocage",
|
||||||
"DeleteConditionMessageText": "Voulez-vous vraiment supprimer la liste '{0}' ?",
|
"DeleteConditionMessageText": "Êtes-vous sûr de vouloir supprimer la condition « {name} » ?",
|
||||||
"Negated": "Inversé",
|
"Negated": "Nier",
|
||||||
"RemoveSelectedItem": "Supprimer l'élément sélectionné",
|
"RemoveSelectedItem": "Supprimer l'élément sélectionné",
|
||||||
"RemoveSelectedItemBlocklistMessageText": "Êtes-vous sûr de vouloir supprimer les films sélectionnés de la liste noire ?",
|
"RemoveSelectedItemBlocklistMessageText": "Êtes-vous sûr de vouloir supprimer les films sélectionnés de la liste noire ?",
|
||||||
"RemoveSelectedItemQueueMessageText": "Êtes-vous sûr de vouloir désinstaller {0} objet{1} de la file d'attente ?",
|
"RemoveSelectedItemQueueMessageText": "Êtes-vous sûr de vouloir supprimer 1 élément de la file d'attente ?",
|
||||||
"RemoveSelectedItems": "Supprimer les éléments sélectionnés",
|
"RemoveSelectedItems": "Supprimer les éléments sélectionnés",
|
||||||
"RemoveSelectedItemsQueueMessageText": "Êtes-vous sûr de vouloir supprimer {0} objet(s) de la file d'attente ?",
|
"RemoveSelectedItemsQueueMessageText": "Voulez-vous vraiment supprimer {0} éléments de la file d'attente ?",
|
||||||
"Required": "Obligatoire",
|
"Required": "Obligatoire",
|
||||||
"ResetQualityDefinitions": "Réinitialiser les définitions de qualité",
|
"ResetQualityDefinitions": "Réinitialiser les définitions de qualité",
|
||||||
"ResetQualityDefinitionsMessageText": "Êtes-vous sûr de vouloir réinitialiser les définitions de qualité ?",
|
"ResetQualityDefinitionsMessageText": "Voulez-vous vraiment réinitialiser les définitions de qualité ?",
|
||||||
"ApplyTagsHelpTextHowToApplyAuthors": "Comment appliquer des étiquettes aux indexeurs sélectionnés",
|
"ApplyTagsHelpTextHowToApplyAuthors": "Comment appliquer des étiquettes aux indexeurs sélectionnés",
|
||||||
"ApplyTagsHelpTextRemove": "Suprimer : Suprime les étiquettes renseignées",
|
"ApplyTagsHelpTextRemove": "Supprimer : supprime les étiquettes renseignées",
|
||||||
"AutomaticAdd": "Ajout automatique",
|
"AutomaticAdd": "Ajout automatique",
|
||||||
"BlocklistReleaseHelpText": "Empêche Lidarr de récupérer automatiquement cette version",
|
"BlocklistReleaseHelpText": "Empêche Lidarr de récupérer automatiquement cette version",
|
||||||
"NoChange": "Pas de changement",
|
"NoChange": "Pas de changement",
|
||||||
"NoEventsFound": "Aucun événement trouvé",
|
"NoEventsFound": "Aucun événement trouvé",
|
||||||
"RemoveDownloadsAlert": "Les paramètres de suppression ont été déplacés dans les réglages de chaque client de téléchargement dans le tableau ci-dessus.",
|
"RemoveDownloadsAlert": "Les paramètres de suppression ont été déplacés vers les paramètres individuels du client de téléchargement dans le tableau ci-dessus.",
|
||||||
"Yes": "Oui",
|
"Yes": "Oui",
|
||||||
"RedownloadFailed": "Échec du téléchargement",
|
"RedownloadFailed": "Échec du téléchargement",
|
||||||
"RemoveCompleted": "Supprimer les complétés",
|
"RemoveCompleted": "Supprimer terminé",
|
||||||
"RemoveFailed": "Echec de la suppression",
|
"RemoveFailed": "Échec de la suppression",
|
||||||
"ApplyTagsHelpTextHowToApplyDownloadClients": "Comment appliquer des tags au film sélectionné",
|
"ApplyTagsHelpTextHowToApplyDownloadClients": "Comment appliquer des étiquettes aux clients de téléchargement sélectionnés",
|
||||||
"ApplyChanges": "Appliquer les modifications",
|
"ApplyChanges": "Appliquer les modifications",
|
||||||
"ApplyTagsHelpTextAdd": "Ajouter : Ajouter les tags à la liste de tags existantes",
|
"ApplyTagsHelpTextAdd": "Ajouter : ajoute les étiquettes à la liste de étiquettes existantes",
|
||||||
"ApplyTagsHelpTextHowToApplyImportLists": "Comment appliquer des tags au film sélectionné",
|
"ApplyTagsHelpTextHowToApplyImportLists": "Comment appliquer des étiquettes aux listes d'importation sélectionnées",
|
||||||
"ApplyTagsHelpTextHowToApplyIndexers": "Comment appliquer des tags aux indexeurs sélectionnés",
|
"ApplyTagsHelpTextHowToApplyIndexers": "Comment appliquer des étiquettes aux indexeurs sélectionnés",
|
||||||
"ApplyTagsHelpTextReplace": "Remplacer : Remplace les tags par les tags renseignés (ne pas renseigner de tags pour effacer tous les tags)",
|
"ApplyTagsHelpTextReplace": "Remplacer : remplace les étiquettes par les étiquettes renseignées (ne pas renseigner d'étiquette pour toutes les effacer)",
|
||||||
"CountIndexersSelected": "{0} indexeur(s) sélectionné(s)",
|
"CountIndexersSelected": "{selectedCount} indexeur(s) sélectionné(s)",
|
||||||
"DeleteSelectedDownloadClients": "Supprimer le client de téléchargement",
|
"DeleteSelectedDownloadClients": "Supprimer le(s) client(s) de téléchargement",
|
||||||
"DeleteSelectedDownloadClientsMessageText": "Voulez-vous vraiment supprimer l'indexeur '{0}' ?",
|
"DeleteSelectedDownloadClientsMessageText": "Voulez-vous vraiment supprimer {count} client(s) de téléchargement sélectionné(s) ?",
|
||||||
"DeleteSelectedImportListsMessageText": "Voulez-vous vraiment supprimer l'indexeur '{0}' ?",
|
"DeleteSelectedImportListsMessageText": "Êtes-vous sûr de vouloir supprimer {count} liste(s) d'importation sélectionnée(s) ?",
|
||||||
"DeleteSelectedIndexers": "Supprimer l'indexeur",
|
"DeleteSelectedIndexers": "Supprimer un ou plusieurs indexeurs",
|
||||||
"DeleteSelectedIndexersMessageText": "Voulez-vous vraiment supprimer l'indexeur '{0}' ?",
|
"DeleteSelectedIndexersMessageText": "Voulez-vous vraiment supprimer les {count} indexeur(s) sélectionné(s) ?",
|
||||||
"DownloadClientTagHelpText": "Utiliser seulement cet indexeur pour les films avec au moins un tag correspondant. Laissez vide pour l'utiliser avec tous les films.",
|
"DownloadClientTagHelpText": "Utiliser seulement cet indexeur pour les films avec au moins un tag correspondant. Laissez vide pour l'utiliser avec tous les films.",
|
||||||
"ExistingTag": "Tag existant",
|
"ExistingTag": "Balise existante",
|
||||||
"No": "Non",
|
"No": "Non",
|
||||||
"RemovingTag": "Suppression du tag",
|
"RemovingTag": "Supprimer la balise",
|
||||||
"SetTags": "Définir Tags",
|
"SetTags": "Définir des balises",
|
||||||
"CountDownloadClientsSelected": "{0} client(s) de téléchargement sélectionné(s)",
|
"CountDownloadClientsSelected": "{selectedCount} client(s) de téléchargement sélectionné(s)",
|
||||||
"EditSelectedDownloadClients": "Modifier les clients de téléchargement sélectionnés",
|
"EditSelectedDownloadClients": "Modifier les clients de téléchargement sélectionnés",
|
||||||
"EditSelectedIndexers": "Modifier les indexeurs sélectionnés",
|
"EditSelectedIndexers": "Modifier les indexeurs sélectionnés",
|
||||||
"ConnectionLostReconnect": "Radarr essaiera de se connecter automatiquement, ou vous pouvez cliquer sur \"Recharger\" en bas.",
|
"ConnectionLostReconnect": "{appName} essaiera de se connecter automatiquement, ou vous pouvez cliquer sur « Recharger » en bas.",
|
||||||
"NotificationStatusAllClientHealthCheckMessage": "Toutes les applications sont indisponibles en raison de dysfonctionnements",
|
"NotificationStatusAllClientHealthCheckMessage": "Toutes les notifications ne sont pas disponibles en raison d'échecs",
|
||||||
"NotificationStatusSingleClientHealthCheckMessage": "Applications indisponibles en raison de dysfonctionnements : {0}",
|
"NotificationStatusSingleClientHealthCheckMessage": "Notifications indisponibles en raison d'échecs : {0}",
|
||||||
"SomeResultsAreHiddenByTheAppliedFilter": "Tous les résultats ont été dissimulés par le filtre actuellement appliqué",
|
"SomeResultsAreHiddenByTheAppliedFilter": "Certains résultats sont masqués par le filtre appliqué",
|
||||||
"ConnectionLost": "Connexion perdue",
|
"ConnectionLost": "Connexion perdue",
|
||||||
"ConnectionLostToBackend": "Radarr a perdu sa connexion au backend et devra être rechargé pour fonctionner à nouveau.",
|
"ConnectionLostToBackend": "{appName} a perdu sa connexion au backend et devra être rechargé pour fonctionner à nouveau.",
|
||||||
"RecentChanges": "Changements récents",
|
"RecentChanges": "Changements récents",
|
||||||
"System": "Système",
|
"System": "Système",
|
||||||
"WhatsNew": "Quoi de neuf ?",
|
"WhatsNew": "Quoi de neuf ?",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "Tous les résultats ont été dissimulés par le filtre actuellement appliqué",
|
"AllResultsAreHiddenByTheAppliedFilter": "Tous les résultats sont masqués par le filtre appliqué",
|
||||||
"Location": "Emplacement",
|
"Location": "Emplacement",
|
||||||
"NoResultsFound": "Aucun résultat trouvé",
|
"NoResultsFound": "Aucun résultat trouvé",
|
||||||
"Events": "Événements",
|
"Events": "Événements",
|
||||||
@@ -787,8 +787,143 @@
|
|||||||
"NextExecution": "Prochaine exécution",
|
"NextExecution": "Prochaine exécution",
|
||||||
"Small": "Petit",
|
"Small": "Petit",
|
||||||
"TotalSpace": "Espace total",
|
"TotalSpace": "Espace total",
|
||||||
"Ui": "UI",
|
"Ui": "Interface utilisateur",
|
||||||
"Activity": "Activité",
|
"Activity": "Activité",
|
||||||
"AddNew": "Ajouter un nouveau",
|
"AddNew": "Ajouter une nouvelle",
|
||||||
"Backup": "Sauvegarde"
|
"Backup": "Sauvegarde",
|
||||||
|
"AutoAdd": "Ajout automatique",
|
||||||
|
"AutomaticUpdatesDisabledDocker": "Les mises à jour automatiques ne sont pas directement prises en charge lors de l'utilisation du mécanisme de mise à jour de Docker. Vous devrez mettre à jour l'image du conteneur en dehors de {appName} ou utiliser un script",
|
||||||
|
"AppUpdated": "{appName} mis à jour",
|
||||||
|
"NoMissingItems": "Aucun élément manquant",
|
||||||
|
"MediaManagementSettingsSummary": "Nommage, paramètres de gestion de fichiers et dossiers racine",
|
||||||
|
"SmartReplace": "Remplacement intelligent",
|
||||||
|
"Clone": "Cloner",
|
||||||
|
"IsShowingMonitoredUnmonitorSelected": "Arrêter de surveiller la sélection",
|
||||||
|
"ItsEasyToAddANewAuthorOrBookJustStartTypingTheNameOfTheItemYouWantToAdd": "C'est facile d'ajouter un nouvel auteur ou livre, commencez simplement à saisir le nom de l'élément que vous souhaitez ajouter",
|
||||||
|
"DeleteRootFolder": "Supprimer le dossier racine",
|
||||||
|
"DeleteCondition": "Supprimer la condition",
|
||||||
|
"WouldYouLikeToRestoreBackup": "Souhaitez-vous restaurer la sauvegarde « {name} » ?",
|
||||||
|
"DashOrSpaceDashDependingOnName": "Tiret ou espace puis tiret selon le nom",
|
||||||
|
"Implementation": "Mise en œuvre",
|
||||||
|
"ManageDownloadClients": "Gérer les clients de téléchargement",
|
||||||
|
"ManageClients": "Gérer les clients",
|
||||||
|
"NoIndexersFound": "Aucun indexeur n'a été trouvé",
|
||||||
|
"ListWillRefreshEveryInterp": "La liste se rafraîchira tous/toutes la/les {0}",
|
||||||
|
"NoDownloadClientsFound": "Aucun client de téléchargement n'a été trouvé",
|
||||||
|
"MinimumPopularity": "Popularité minimum",
|
||||||
|
"NoHistoryBlocklist": "Pas d'historique de liste noire",
|
||||||
|
"AppUpdatedVersion": "{appName} a été mis à jour vers la version `{version}`, pour profiter des derniers changements, vous devrez relancer {appName}",
|
||||||
|
"IndexerDownloadClientHealthCheckMessage": "Indexeurs avec des clients de téléchargement invalides : {0].",
|
||||||
|
"MonitoringOptions": "Options de surveillance",
|
||||||
|
"OnDownloadFailure": "En cas d'échec de téléchargement",
|
||||||
|
"RootFolderPathHelpText": "Les éléments de la liste du dossier racine seront ajoutés à",
|
||||||
|
"WatchLibraryForChangesHelpText": "Réanalyser automatiquement lorsque les fichiers changent dans un dossier racine",
|
||||||
|
"SkipRedownload": "Ignorer le nouveau téléchargement",
|
||||||
|
"RemoveFailedDownloads": "Supprimer les téléchargements ayant échoué",
|
||||||
|
"ShowName": "Afficher le nom",
|
||||||
|
"RemotePathMappingsInfo": "Les mappages de chemins distants sont très rarement requis. Si {app} et votre client de téléchargement sont sur le même système, il est préférable de faire correspondre vos chemins. Pour plus d'informations, consultez le [wiki]({wikiLink}).",
|
||||||
|
"NoImportListsFound": "Aucune liste d'importation trouvée",
|
||||||
|
"BypassIfHighestQualityHelpText": "Délai de contournement lorsque la version a la qualité activée la plus élevée dans le profil de qualité",
|
||||||
|
"NoCutoffUnmetItems": "Aucun élément non satisfait",
|
||||||
|
"PathHelpTextWarning": "Cela doit être différent du répertoire dans lequel votre client de téléchargement place les fichiers",
|
||||||
|
"PreviewRetag": "Aperçu du réétiquetage",
|
||||||
|
"OnImportFailure": "En cas d'échec de l'importation",
|
||||||
|
"DiscCount": "Nombre de disques",
|
||||||
|
"IsExpandedHideFileInfo": "Masquer les informations sur le fichier",
|
||||||
|
"OnReleaseImport": "Lors de l'importation de la version",
|
||||||
|
"MetadataConsumers": "Consommateurs de métadonnées",
|
||||||
|
"MusicBrainzRecordingID": "Identifiant d'enregistrement MusicBrainz",
|
||||||
|
"OnDownloadFailureHelpText": "En cas d'échec de téléchargement",
|
||||||
|
"Other": "Autre",
|
||||||
|
"QualityProfileIdHelpText": "Les éléments de la liste du profil de qualité doivent être ajoutés avec",
|
||||||
|
"DeleteFormat": "Supprimer le format",
|
||||||
|
"DeleteImportList": "Supprimer la liste d'importation",
|
||||||
|
"DeleteMetadataProfile": "Supprimer le profil de métadonnées",
|
||||||
|
"ImportListSpecificSettings": "Paramètres spécifiques à la liste d'importation",
|
||||||
|
"MetadataSource": "Source des métadonnées",
|
||||||
|
"MetadataProfileIdHelpText": "Les éléments de la liste de profils de métadonnées doivent être ajoutés avec",
|
||||||
|
"EntityName": "Nom de l'entité",
|
||||||
|
"FutureDaysHelpText": "Journées pour le flux iCal pour regarder vers l'avenir",
|
||||||
|
"FutureDays": "Jours futurs",
|
||||||
|
"ImportLists": "Importer des listes",
|
||||||
|
"ImportListSettings": "Paramètres généraux de la liste d'importation",
|
||||||
|
"DiscNumber": "Numéro de disque",
|
||||||
|
"EnabledHelpText": "Cochez pour activer le profil de version",
|
||||||
|
"CloneCondition": "État du clone",
|
||||||
|
"MinimumCustomFormatScoreHelpText": "Score de format personnalisé minimum requis pour contourner le délai pour le protocole préféré",
|
||||||
|
"CountImportListsSelected": "{selectedCount} liste(s) d'importation sélectionnée(s)",
|
||||||
|
"ListRefreshInterval": "Intervalle d'actualisation de la liste",
|
||||||
|
"DeleteSelectedImportLists": "Supprimer la ou les listes d'importation",
|
||||||
|
"ManageImportLists": "Gérer les listes d'importation",
|
||||||
|
"MusicBrainzReleaseID": "ID de version MusicBrainz",
|
||||||
|
"MusicBrainzTrackID": "Identifiant de la piste MusicBrainz",
|
||||||
|
"RemoveCompletedDownloads": "Supprimer les téléchargements terminés",
|
||||||
|
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Le client de téléchargement {0} est configuré pour supprimer les téléchargements terminés. Cela peut entraîner la suppression des téléchargements de votre client avant que {1} puisse les importer.",
|
||||||
|
"DownloadPropersAndRepacksHelpTexts2": "Utilisez « Ne pas préférer » pour trier par score de mot préféré par rapport aux propriétés/repacks",
|
||||||
|
"EditSelectedImportLists": "Modifier les listes d'importation sélectionnées",
|
||||||
|
"ExistingTagsScrubbed": "Balises existantes supprimées",
|
||||||
|
"ImportFailures": "Échecs d’importation",
|
||||||
|
"IndexerIdHelpTextWarning": "L'utilisation d'un indexeur spécifique avec les mots préférés peut conduire à la saisie de versions en double",
|
||||||
|
"IsShowingMonitoredMonitorSelected": "Surveillance sélectionnée",
|
||||||
|
"ManageIndexers": "Gérer les indexeurs",
|
||||||
|
"ManageLists": "Gérer les listes",
|
||||||
|
"ManualDownload": "Téléchargement manuel",
|
||||||
|
"MusicbrainzId": "Identifiant Musicbrainz",
|
||||||
|
"PastDays": "Jours passés",
|
||||||
|
"TrackNumber": "Numéro de piste",
|
||||||
|
"IsExpandedShowFileInfo": "Afficher les informations sur le fichier",
|
||||||
|
"OnImportFailureHelpText": "En cas d'échec de l'importation",
|
||||||
|
"PastDaysHelpText": "Jours pour le flux iCal pour se pencher sur le passé",
|
||||||
|
"SearchMonitored": "Recherche surveillée",
|
||||||
|
"ShowBanners": "Afficher les bannières",
|
||||||
|
"ShouldSearchHelpText": "Recherchez dans les indexeurs les éléments nouvellement ajoutés. À utiliser avec prudence pour les grandes listes.",
|
||||||
|
"ShowBannersHelpText": "Afficher des bannières au lieu de noms",
|
||||||
|
"TrackTitle": "Titre de la piste",
|
||||||
|
"UpdatingIsDisabledInsideADockerContainerUpdateTheContainerImageInstead": "La mise à jour est désactivée dans un conteneur Docker. Mettez plutôt à jour l’image du conteneur.",
|
||||||
|
"WatchRootFoldersForFileChanges": "Surveillez les dossiers racine pour les modifications de fichiers",
|
||||||
|
"WriteMetadataTags": "Écrire des balises de métadonnées",
|
||||||
|
"IndexerIdHelpText": "Spécifiez à quel indexeur le profil s'applique",
|
||||||
|
"Monitoring": "Surveillance",
|
||||||
|
"UnmappedFiles": "Fichiers non mappés",
|
||||||
|
"Bookshelf": "Bibliothèque",
|
||||||
|
"ErrorLoadingContent": "Une erreur s'est produite lors du chargement de ce contenu",
|
||||||
|
"OnReleaseImportHelpText": "Lors de l'importation de la version",
|
||||||
|
"UnableToLoadMetadataProviderSettings": "Impossible de charger les paramètres du fournisseur de métadonnées",
|
||||||
|
"SearchForNewItems": "Rechercher de nouveaux éléments",
|
||||||
|
"MonitorBookExistingOnlyWarning": "Il s’agit d’un ajustement unique du paramètre surveillé pour chaque album. Utilisez l'option sous Artiste/Modifier pour contrôler ce qui se passe pour les albums nouvellement ajoutés",
|
||||||
|
"SearchForMonitoredBooks": "Rechercher des albums surveillés",
|
||||||
|
"WriteAudioTagsScrub": "Effacer les balises existantes",
|
||||||
|
"ShouldMonitorExistingHelpText": "Surveiller automatiquement les albums de cette liste qui sont déjà dans Lidarr",
|
||||||
|
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "Si vous n'ajoutez pas d'exclusion de liste d'importation et que l'artiste a un profil de métadonnées autre que « Aucun », cet album pourra être ajouté à nouveau lors de la prochaine actualisation de l'artiste.",
|
||||||
|
"MetadataSettingsSummary": "Créez des fichiers de métadonnées lorsque les épisodes sont importés ou que les sites sont actualisés",
|
||||||
|
"MonitoringOptionsHelpText": "Quels albums doivent être surveillés après l'ajout de l'artiste (ajustement unique)",
|
||||||
|
"EnableAutomaticAddHelpText": "Ajoutez des artistes/albums à Lidarr lorsque les synchronisations sont effectuées via l'interface utilisateur ou par Lidarr",
|
||||||
|
"IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnAuthorOrImportList": "Impossible de supprimer un profil de métadonnées associé à un artiste ou à une liste d'importation",
|
||||||
|
"ListsSettingsSummary": "Importer des listes",
|
||||||
|
"ProfilesSettingsSummary": "Profils de qualité, de langue, de délai et de release",
|
||||||
|
"SkipRedownloadHelpText": "Empêche Lidarr d'essayer de télécharger des versions alternatives pour les éléments supprimés",
|
||||||
|
"CountAuthorsSelected": "{selectedCount} artiste(s) sélectionné(s)",
|
||||||
|
"SearchForAllCutoffUnmetBooks": "Rechercher tous les albums de Cutoff Unmet",
|
||||||
|
"WriteAudioTagsScrubHelp": "Supprimez les balises existantes des fichiers, en ne laissant que celles ajoutées par Lidarr.",
|
||||||
|
"EndedAllBooksDownloaded": "Terminé (Toutes les pistes téléchargées)",
|
||||||
|
"ForeignId": "ID étranger",
|
||||||
|
"GoToAuthorListing": "Aller à la liste des artistes",
|
||||||
|
"WriteAudioTags": "Baliser les fichiers audio avec des métadonnées",
|
||||||
|
"TheBooksFilesWillBeDeleted": "Les fichiers de l'album seront supprimés.",
|
||||||
|
"MonitorNewItemsHelpText": "Quels nouveaux albums doivent être surveillés",
|
||||||
|
"MusicBrainzAuthorID": "Identifiant d'artiste MusicBrainz",
|
||||||
|
"MusicBrainzBookID": "Identifiant de la piste MusicBrainz",
|
||||||
|
"DeleteFilesHelpText": "Supprimez les fichiers de piste et le dossier de l'artiste",
|
||||||
|
"ShowTitleHelpText": "Afficher le nom de l'artiste sous l'affiche",
|
||||||
|
"WriteBookTagsHelpTextWarning": "La sélection de « Tous les fichiers » modifiera les fichiers existants lors de leur importation.",
|
||||||
|
"IsInUseCantDeleteAQualityProfileThatIsAttachedToAnAuthorOrImportList": "Impossible de supprimer un profil de qualité associé à un artiste ou à une liste d'importation",
|
||||||
|
"PathHelpText": "Dossier racine contenant votre bibliothèque musicale",
|
||||||
|
"ReadarrSupportsMultipleListsForImportingBooksAndAuthorsIntoTheDatabase": "Lidarr prend en charge plusieurs listes pour importer des albums et des artistes dans la base de données.",
|
||||||
|
"TotalBookCountBooksTotalBookFileCountBooksWithFilesInterp": "{0} pistes au total. {1} pistes avec fichiers.",
|
||||||
|
"SearchForAllMissingBooks": "Rechercher tous les albums manquants",
|
||||||
|
"ForeignIdHelpText": "L'identifiant Musicbrainz de l'artiste/album à exclure",
|
||||||
|
"EnableProfile": "Activer profil",
|
||||||
|
"Development": "Développement",
|
||||||
|
"FilesTotal": "Fichiers ({0})",
|
||||||
|
"SearchBoxPlaceHolder": "Par ex. Guerre et Paix, goodreads:656, isbn:067003469X, asin:B00JCDK5ME"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -656,5 +656,6 @@
|
|||||||
"Small": "קָטָן",
|
"Small": "קָטָן",
|
||||||
"System": "מערכת",
|
"System": "מערכת",
|
||||||
"Theme": "ערכת נושא",
|
"Theme": "ערכת נושא",
|
||||||
"TotalSpace": "השטח הכולל"
|
"TotalSpace": "השטח הכולל",
|
||||||
|
"Publisher": "מוציא לאור"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"BackupFolderHelpText": "Az elérési útvonalak a Readarr AppData könyvtárában lesznek",
|
"BackupFolderHelpText": "Az elérési útvonalak a Readarr AppData könyvtárában lesznek",
|
||||||
"BackupNow": "Biztonsági Mentés Most",
|
"BackupNow": "Biztonsági Mentés Most",
|
||||||
"BackupRetentionHelpText": "A megőrzési időnél régebbi automatikus biztonsági másolatok automatikusan törlésre kerülnek",
|
"BackupRetentionHelpText": "A megőrzési időnél régebbi automatikus biztonsági másolatok automatikusan törlésre kerülnek",
|
||||||
"Backups": "Biztonsági Mentés",
|
"Backups": "Biztonsági mentések",
|
||||||
"BindAddress": "Kapcsolási Cím",
|
"BindAddress": "Kapcsolási Cím",
|
||||||
"BindAddressHelpText": "Érvényes IPv4-cím, vagy „*” minden interfészhez",
|
"BindAddressHelpText": "Érvényes IPv4-cím, vagy „*” minden interfészhez",
|
||||||
"BindAddressHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
|
"BindAddressHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"BypassProxyForLocalAddresses": "Proxy megkerülése a helyi hálózatos címekhez",
|
"BypassProxyForLocalAddresses": "Proxy megkerülése a helyi hálózatos címekhez",
|
||||||
"Calendar": "Naptár",
|
"Calendar": "Naptár",
|
||||||
"CalendarWeekColumnHeaderHelpText": "Minden oszlop felett jelenjen meg, hogy melyik hét az aktuális",
|
"CalendarWeekColumnHeaderHelpText": "Minden oszlop felett jelenjen meg, hogy melyik hét az aktuális",
|
||||||
"Cancel": "Vissza",
|
"Cancel": "Mégse",
|
||||||
"CancelMessageText": "Biztosan törlöd ezt a függőben lévő feladatot?",
|
"CancelMessageText": "Biztosan törlöd ezt a függőben lévő feladatot?",
|
||||||
"CertificateValidation": "Tanúsítvány érvényesítése",
|
"CertificateValidation": "Tanúsítvány érvényesítése",
|
||||||
"CertificateValidationHelpText": "Módosítsa a HTTPS-tanúsítvány-ellenőrzés szigorúságát. Ne változtasson, hacsak nem érti a kockázatokat.",
|
"CertificateValidationHelpText": "Módosítsa a HTTPS-tanúsítvány-ellenőrzés szigorúságát. Ne változtasson, hacsak nem érti a kockázatokat.",
|
||||||
@@ -857,7 +857,7 @@
|
|||||||
"LoadingEditionsFailed": "A kiadások betöltése nem sikerült",
|
"LoadingEditionsFailed": "A kiadások betöltése nem sikerült",
|
||||||
"ManualImportSelectEdition": "Kézi importálás – Válaszd ki a Kiadást",
|
"ManualImportSelectEdition": "Kézi importálás – Válaszd ki a Kiadást",
|
||||||
"Database": "Adatbázis",
|
"Database": "Adatbázis",
|
||||||
"ApplicationURL": "Alkalmazás URL-je",
|
"ApplicationURL": "Alkalmazás URL",
|
||||||
"ApplicationUrlHelpText": "Az alkalmazás külső URL-címe, beleértve a http(s)://-t, a portot és az URL-alapot",
|
"ApplicationUrlHelpText": "Az alkalmazás külső URL-címe, beleértve a http(s)://-t, a portot és az URL-alapot",
|
||||||
"ChooseImportMethod": "Importálási mód kiválasztása",
|
"ChooseImportMethod": "Importálási mód kiválasztása",
|
||||||
"ClickToChangeReleaseGroup": "Kiadási csoport módosítása",
|
"ClickToChangeReleaseGroup": "Kiadási csoport módosítása",
|
||||||
@@ -976,5 +976,6 @@
|
|||||||
"Activity": "Aktivitás",
|
"Activity": "Aktivitás",
|
||||||
"AddNew": "Új hozzáadása",
|
"AddNew": "Új hozzáadása",
|
||||||
"Backup": "Biztonsági Mentés",
|
"Backup": "Biztonsági Mentés",
|
||||||
"Medium": "Közepes"
|
"Medium": "Közepes",
|
||||||
|
"AutoAdd": "Automatikus hozzáadás"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"Actions": "Tindakan",
|
"Actions": "Tindakan",
|
||||||
"AgeWhenGrabbed": "Usia (saat diperoleh)",
|
"AgeWhenGrabbed": "Usia (saat diperoleh)",
|
||||||
"All": "Semua",
|
"All": "Semua",
|
||||||
"AlreadyInYourLibrary": "Sudah ada di pustaka kamu",
|
"AlreadyInYourLibrary": "Sudah di pustakamu",
|
||||||
"Analytics": "Analitik",
|
"Analytics": "Analitik",
|
||||||
"AnalyticsEnabledHelpText": "Kirimkan informasi penggunaan secara anonim ke server Radarr. Informasi tersebut mengandung browser kamu, halaman WebUI Radarr yang kamu gunakan, pelaporan masalah serta OS dan versi runtime. Kami akan memanfaatkan informasi ini untuk memprioritaskan fitur dan perbaikan bug.",
|
"AnalyticsEnabledHelpText": "Kirimkan informasi penggunaan secara anonim ke server Radarr. Informasi tersebut mengandung browser kamu, halaman WebUI Radarr yang kamu gunakan, pelaporan masalah serta OS dan versi runtime. Kami akan memanfaatkan informasi ini untuk memprioritaskan fitur dan perbaikan bug.",
|
||||||
"ApplicationURL": "URL Aplikasi",
|
"ApplicationURL": "URL Aplikasi",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"ClickToChangeQuality": "Klik untuk mengubah kualitas",
|
"ClickToChangeQuality": "Klik untuk mengubah kualitas",
|
||||||
"AlternateTitles": "Judul Lain",
|
"AlternateTitles": "Judul Lain",
|
||||||
"AppDataDirectory": "Direktori AppData",
|
"AppDataDirectory": "Direktori AppData",
|
||||||
"Connections": "Koleksi",
|
"Connections": "Koneksi",
|
||||||
"ExportCustomFormat": "Tambahkan Format Khusus",
|
"ExportCustomFormat": "Tambahkan Format Khusus",
|
||||||
"AuthorClickToChangeBook": "Klik untuk mengubah film",
|
"AuthorClickToChangeBook": "Klik untuk mengubah film",
|
||||||
"Automatic": "Otomatis",
|
"Automatic": "Otomatis",
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"EnableRSS": "Aktifkan RSS",
|
"EnableRSS": "Aktifkan RSS",
|
||||||
"MetadataSource": "Sumber Metadata",
|
"MetadataSource": "Sumber Metadata",
|
||||||
"Language": "Bahasa",
|
"Language": "Bahasa",
|
||||||
"LogFiles": "Berkas Log",
|
"LogFiles": "File Log",
|
||||||
"MediaManagement": "Pengelolaan Media",
|
"MediaManagement": "Pengelolaan Media",
|
||||||
"Metadata": "Metadata",
|
"Metadata": "Metadata",
|
||||||
"Queue": "Antrean",
|
"Queue": "Antrean",
|
||||||
@@ -63,5 +63,27 @@
|
|||||||
"ProxyCheckFailedToTestMessage": "Gagal menguji proxy: {0}",
|
"ProxyCheckFailedToTestMessage": "Gagal menguji proxy: {0}",
|
||||||
"QualityProfiles": "Profil Kualitas",
|
"QualityProfiles": "Profil Kualitas",
|
||||||
"StatusEndedEnded": "Berakhir",
|
"StatusEndedEnded": "Berakhir",
|
||||||
"UILanguageHelpText": "Bahasa yang digunakan UI Sonarr"
|
"UILanguageHelpText": "Bahasa yang digunakan UI Sonarr",
|
||||||
|
"Activity": "Aktivitas",
|
||||||
|
"Backup": "Cadangan",
|
||||||
|
"ConnectionLost": "Koneksi Terputus",
|
||||||
|
"ConnectionLostReconnect": "{appName} akan mencoba untuk menghubungkan secara otomatis, atau silakan klik muat ulang di bawah.",
|
||||||
|
"SomeResultsAreHiddenByTheAppliedFilter": "Seluruh hasil disembunyikan karena penyaringan yang diterapkan",
|
||||||
|
"AllResultsAreHiddenByTheAppliedFilter": "Seluruh hasil disembunyikan karena penyaringan yang diterapkan",
|
||||||
|
"Today": "Hari Ini",
|
||||||
|
"TotalFileSize": "Jumlah Ukuran File",
|
||||||
|
"Unmonitored": "Tidak Dimonitor",
|
||||||
|
"ConnectSettings": "Pengaturan Koneksi",
|
||||||
|
"Yesterday": "Kemarin",
|
||||||
|
"ClickToChangeReleaseGroup": "Klik untuk mengubah rilis grup",
|
||||||
|
"Connect": "Koneksi",
|
||||||
|
"Continuing": "Berlanjut",
|
||||||
|
"Edit": "Edit",
|
||||||
|
"Files": "File",
|
||||||
|
"AddNew": "Tambah",
|
||||||
|
"Search": "Cari",
|
||||||
|
"Refresh": "Muat Ulang",
|
||||||
|
"ConnectionLostToBackend": "Koneksi {appName} telah terputus dari backend dan perlu dimuat ulang untuk dipulihkan.",
|
||||||
|
"ApplyChanges": "Terapkan Perubahan",
|
||||||
|
"History": "Riwayat"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
"DeleteReleaseProfile": "지연 프로필 삭제",
|
"DeleteReleaseProfile": "지연 프로필 삭제",
|
||||||
"DeleteIndexer": "인덱서 삭제",
|
"DeleteIndexer": "인덱서 삭제",
|
||||||
"HasPendingChangesSaveChanges": "변경 사항을 저장하다",
|
"HasPendingChangesSaveChanges": "변경 사항을 저장하다",
|
||||||
"History": "역사",
|
"History": "내역",
|
||||||
"DownloadClients": "클라이언트 다운로드",
|
"DownloadClients": "클라이언트 다운로드",
|
||||||
"Host": "주최자",
|
"Host": "주최자",
|
||||||
"GoToInterp": "{0}로 이동",
|
"GoToInterp": "{0}로 이동",
|
||||||
@@ -408,7 +408,7 @@
|
|||||||
"UnableToLoadRemotePathMappings": "원격 경로 매핑을로드 할 수 없습니다.",
|
"UnableToLoadRemotePathMappings": "원격 경로 매핑을로드 할 수 없습니다.",
|
||||||
"UnableToLoadRootFolders": "루트 폴더를로드 할 수 없습니다.",
|
"UnableToLoadRootFolders": "루트 폴더를로드 할 수 없습니다.",
|
||||||
"UnableToLoadTags": "태그를로드 할 수 없습니다.",
|
"UnableToLoadTags": "태그를로드 할 수 없습니다.",
|
||||||
"UnableToLoadTheCalendar": "캘린더를로드 할 수 없습니다.",
|
"UnableToLoadTheCalendar": "달력을 불러올 수 없습니다.",
|
||||||
"UnableToLoadUISettings": "UI 설정을로드 할 수 없습니다.",
|
"UnableToLoadUISettings": "UI 설정을로드 할 수 없습니다.",
|
||||||
"Ungroup": "그룹 해제",
|
"Ungroup": "그룹 해제",
|
||||||
"Unmonitored": "모니터링되지 않음",
|
"Unmonitored": "모니터링되지 않음",
|
||||||
@@ -608,7 +608,7 @@
|
|||||||
"FreeSpace": "여유 공간",
|
"FreeSpace": "여유 공간",
|
||||||
"NextExecution": "다음 실행",
|
"NextExecution": "다음 실행",
|
||||||
"SomeResultsAreHiddenByTheAppliedFilter": "적용된 필터에 의해 모든 결과가 숨겨집니다.",
|
"SomeResultsAreHiddenByTheAppliedFilter": "적용된 필터에 의해 모든 결과가 숨겨집니다.",
|
||||||
"System": "체계",
|
"System": "시스템",
|
||||||
"Medium": "매질",
|
"Medium": "매질",
|
||||||
"ConnectionLost": "연결이 끊어졌습니다.",
|
"ConnectionLost": "연결이 끊어졌습니다.",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "적용된 필터에 의해 모든 결과가 숨겨집니다.",
|
"AllResultsAreHiddenByTheAppliedFilter": "적용된 필터에 의해 모든 결과가 숨겨집니다.",
|
||||||
@@ -616,6 +616,6 @@
|
|||||||
"LastDuration": "lastDuration",
|
"LastDuration": "lastDuration",
|
||||||
"LastExecution": "마지막 실행",
|
"LastExecution": "마지막 실행",
|
||||||
"Activity": "활동",
|
"Activity": "활동",
|
||||||
"AddNew": "새로 추가",
|
"AddNew": "새로 추가하기",
|
||||||
"Backup": "백업"
|
"Backup": "백업"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"60MinutesSixty": "60 Minuten: {0}",
|
"60MinutesSixty": "60 Minuten: {0}",
|
||||||
"APIKey": "API-sleutel",
|
"APIKey": "API-sleutel",
|
||||||
"About": "Over",
|
"About": "Over",
|
||||||
"AddListExclusion": "Toevoegen aan Uitzonderingenlijst",
|
"AddListExclusion": "Lijst uitzondering toevoegen",
|
||||||
"AddingTag": "Tag wordt toegevoegd",
|
"AddingTag": "Tag wordt toegevoegd",
|
||||||
"AgeWhenGrabbed": "Leeftijd (op moment van ophalen)",
|
"AgeWhenGrabbed": "Leeftijd (op moment van ophalen)",
|
||||||
"AlreadyInYourLibrary": "Reeds in uw bibliotheek",
|
"AlreadyInYourLibrary": "Reeds in uw bibliotheek",
|
||||||
@@ -90,11 +90,11 @@
|
|||||||
"DeleteImportListMessageText": "Bent u zeker dat u de lijst '{0}' wilt verwijderen?",
|
"DeleteImportListMessageText": "Bent u zeker dat u de lijst '{0}' wilt verwijderen?",
|
||||||
"DeleteIndexer": "Verwijder Indexeerder",
|
"DeleteIndexer": "Verwijder Indexeerder",
|
||||||
"DeleteIndexerMessageText": "Bent u zeker dat u de indexeerder '{0}' wilt verwijderen?",
|
"DeleteIndexerMessageText": "Bent u zeker dat u de indexeerder '{0}' wilt verwijderen?",
|
||||||
"DeleteMetadataProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {0} wilt verwijderen",
|
"DeleteMetadataProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {name} wilt verwijderen?",
|
||||||
"DeleteNotification": "Verwijder Notificatie",
|
"DeleteNotification": "Verwijder Notificatie",
|
||||||
"DeleteNotificationMessageText": "Bent u zeker dat u de notificatie '{0}' wilt verwijderen?",
|
"DeleteNotificationMessageText": "Bent u zeker dat u de notificatie '{0}' wilt verwijderen?",
|
||||||
"DeleteQualityProfile": "Verwijder Kwaliteitsprofiel",
|
"DeleteQualityProfile": "Verwijder Kwaliteitsprofiel",
|
||||||
"DeleteQualityProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {0} wilt verwijderen",
|
"DeleteQualityProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {name} wilt verwijderen?",
|
||||||
"DeleteReleaseProfile": "Verwijder Vertragingsprofiel",
|
"DeleteReleaseProfile": "Verwijder Vertragingsprofiel",
|
||||||
"DeleteReleaseProfileMessageText": "Weet u zeker dat u dit vertragingsprofiel wilt verwijderen?",
|
"DeleteReleaseProfileMessageText": "Weet u zeker dat u dit vertragingsprofiel wilt verwijderen?",
|
||||||
"DeleteSelectedBookFiles": "Verwijder Geselecteerde Filmbestanden",
|
"DeleteSelectedBookFiles": "Verwijder Geselecteerde Filmbestanden",
|
||||||
@@ -648,5 +648,7 @@
|
|||||||
"ApplyTagsHelpTextReplace": "Vervangen: Vervang de tags met de ingevoerde tags (vul geen tags in om alle tags te wissen)",
|
"ApplyTagsHelpTextReplace": "Vervangen: Vervang de tags met de ingevoerde tags (vul geen tags in om alle tags te wissen)",
|
||||||
"AutoAdd": "Automatisch Toevoegen",
|
"AutoAdd": "Automatisch Toevoegen",
|
||||||
"Activity": "Activiteit",
|
"Activity": "Activiteit",
|
||||||
"AddNew": "Voeg Nieuwe Toe"
|
"AddNew": "Voeg Nieuwe Toe",
|
||||||
|
"AppUpdated": "{appName} is geüpdatet",
|
||||||
|
"AppUpdatedVersion": "{appName} is geüpdatet naar versie '{version}', om de laatste wijzigingen door te voeren moet je mogelijk {appName} herstarten"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,7 +125,7 @@
|
|||||||
"DeleteImportListMessageText": "Czy na pewno chcesz usunąć listę „{0}”?",
|
"DeleteImportListMessageText": "Czy na pewno chcesz usunąć listę „{0}”?",
|
||||||
"DeleteIndexer": "Usuń indeksator",
|
"DeleteIndexer": "Usuń indeksator",
|
||||||
"DeleteIndexerMessageText": "Czy na pewno chcesz usunąć indeksator „{0}”?",
|
"DeleteIndexerMessageText": "Czy na pewno chcesz usunąć indeksator „{0}”?",
|
||||||
"DeleteMetadataProfileMessageText": "Czy na pewno chcesz usunąć profil metadanych '{0}'?",
|
"DeleteMetadataProfileMessageText": "Czy na pewno usunąć informacje dodatkowe '{0name}'?",
|
||||||
"DeleteNotification": "Usuń powiadomienie",
|
"DeleteNotification": "Usuń powiadomienie",
|
||||||
"DeleteNotificationMessageText": "Czy na pewno chcesz usunąć powiadomienie „{0}”?",
|
"DeleteNotificationMessageText": "Czy na pewno chcesz usunąć powiadomienie „{0}”?",
|
||||||
"DeleteQualityProfile": "Usuń profil jakości",
|
"DeleteQualityProfile": "Usuń profil jakości",
|
||||||
|
|||||||
@@ -140,18 +140,18 @@
|
|||||||
"SearchAll": "Pesquisar todos",
|
"SearchAll": "Pesquisar todos",
|
||||||
"Source": "Origem",
|
"Source": "Origem",
|
||||||
"AddListExclusion": "Adicionar exclusão de lista",
|
"AddListExclusion": "Adicionar exclusão de lista",
|
||||||
"AddingTag": "A adicionar etiqueta",
|
"AddingTag": "Adicionando etiqueta",
|
||||||
"AgeWhenGrabbed": "Tempo de vida (quando capturado)",
|
"AgeWhenGrabbed": "Idade (quando capturada)",
|
||||||
"AlreadyInYourLibrary": "Já está na sua biblioteca",
|
"AlreadyInYourLibrary": "Já está na sua biblioteca",
|
||||||
"AlternateTitles": "Título alternativo",
|
"AlternateTitles": "Títulos Alternativos",
|
||||||
"Analytics": "Análises",
|
"Analytics": "Análise",
|
||||||
"AnalyticsEnabledHelpText": "Envia informações anônimas de uso e de erros aos servidores do Readarr. Isso inclui informações sobre seu browser, páginas utilizadas na WebUI do Readarr, relatórios de erros, bem como as versões do sistema operativo e da aplicação. Utilizaremos essas informações para priorizar funcionalidades e correções de bugs.",
|
"AnalyticsEnabledHelpText": "Envia informações anônimas de uso e de erros aos servidores do Readarr. Isso inclui informações sobre seu browser, páginas utilizadas na WebUI do Readarr, relatórios de erros, bem como as versões do sistema operativo e da aplicação. Utilizaremos essas informações para priorizar funcionalidades e correções de bugs.",
|
||||||
"AppDataDirectory": "Pasta AppData",
|
"AppDataDirectory": "Diretório AppData",
|
||||||
"ApplyTags": "Aplicar etiquetas",
|
"ApplyTags": "Aplicar etiquetas",
|
||||||
"Authentication": "Autenticação",
|
"Authentication": "Autenticação",
|
||||||
"AuthenticationMethodHelpText": "Solicitar nome de utilizador e palavra-passe para acessar ao Readarr",
|
"AuthenticationMethodHelpText": "Solicitar nome de utilizador e palavra-passe para acessar ao Readarr",
|
||||||
"AuthorClickToChangeBook": "Clique para mudar o livro",
|
"AuthorClickToChangeBook": "Clique para mudar o livro",
|
||||||
"AutoRedownloadFailedHelpText": "Pesquisar e tentar transferir automaticamente uma versão diferente",
|
"AutoRedownloadFailedHelpText": "Procurar automaticamente e tente baixar uma versão diferente",
|
||||||
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Livros eliminados do disco deixam automaticamente de ser monitorados no Readarr",
|
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Livros eliminados do disco deixam automaticamente de ser monitorados no Readarr",
|
||||||
"Automatic": "Automático",
|
"Automatic": "Automático",
|
||||||
"BackupFolderHelpText": "Caminhos relativos estarão na pasta AppData do Readarr",
|
"BackupFolderHelpText": "Caminhos relativos estarão na pasta AppData do Readarr",
|
||||||
@@ -193,23 +193,23 @@
|
|||||||
"CutoffUnmet": "Limite não-correspondido",
|
"CutoffUnmet": "Limite não-correspondido",
|
||||||
"DBMigration": "Migração da base de dados",
|
"DBMigration": "Migração da base de dados",
|
||||||
"DeleteBackup": "Eliminar cópia de segurança",
|
"DeleteBackup": "Eliminar cópia de segurança",
|
||||||
"DeleteBackupMessageText": "Tem a certeza que quer eliminar a cópia de segurança \"{0}\"?",
|
"DeleteBackupMessageText": "Tem a certeza que quer eliminar a cópia de segurança \"{name}\"?",
|
||||||
"DeleteDelayProfile": "Eliminar perfil de atraso",
|
"DeleteDelayProfile": "Eliminar perfil de atraso",
|
||||||
"DeleteDelayProfileMessageText": "Tem a certeza que quer eliminar este perfil de atraso?",
|
"DeleteDelayProfileMessageText": "Tem a certeza que quer eliminar este perfil de atraso?",
|
||||||
"DeleteDownloadClient": "Eliminar cliente de transferências",
|
"DeleteDownloadClient": "Eliminar cliente de transferências",
|
||||||
"DeleteDownloadClientMessageText": "Tem a certeza que quer eliminar o cliente de transferências \"{0}\"?",
|
"DeleteDownloadClientMessageText": "Tem a certeza que quer eliminar o cliente de transferências \"{name}\"?",
|
||||||
"DeleteEmptyFolders": "Eliminar pastas vazias",
|
"DeleteEmptyFolders": "Eliminar pastas vazias",
|
||||||
"DeleteEmptyFoldersHelpText": "Eliminar pastas de filmes vazias durante a análise do disco e quando ficheiros de filmes forem eliminados",
|
"DeleteEmptyFoldersHelpText": "Eliminar pastas de filmes vazias durante a análise do disco e quando ficheiros de filmes forem eliminados",
|
||||||
"DeleteImportListExclusion": "Eliminar exclusão da lista de importação",
|
"DeleteImportListExclusion": "Eliminar exclusão da lista de importação",
|
||||||
"DeleteImportListExclusionMessageText": "Tem a certeza que quer eliminar esta exclusão da lista de importação?",
|
"DeleteImportListExclusionMessageText": "Tem a certeza que quer eliminar esta exclusão da lista de importação?",
|
||||||
"DeleteImportListMessageText": "Tem a certeza que quer eliminar a lista \"{0}\"?",
|
"DeleteImportListMessageText": "Tem a certeza de que pretende eliminar a lista '{name}'?",
|
||||||
"DeleteIndexer": "Eliminar indexador",
|
"DeleteIndexer": "Eliminar indexador",
|
||||||
"DeleteIndexerMessageText": "Tem a certeza que quer eliminar o indexador \"{0}\"?",
|
"DeleteIndexerMessageText": "Tem a certeza de que pretende eliminar o indexador '{name}'?",
|
||||||
"DeleteMetadataProfileMessageText": "Tem a certeza que quer eliminar o perfil de qualidade \"{0}\"?",
|
"DeleteMetadataProfileMessageText": "Tem a certeza que quer eliminar o perfil de qualidade \"{0}\"?",
|
||||||
"DeleteNotification": "Eliminar notificação",
|
"DeleteNotification": "Eliminar notificação",
|
||||||
"DeleteNotificationMessageText": "Tem a certeza que quer eliminar a notificação \"{0}\"?",
|
"DeleteNotificationMessageText": "Tem a certeza que quer eliminar a notificação \"{name}\"?",
|
||||||
"DeleteQualityProfile": "Eliminar perfil de qualidade",
|
"DeleteQualityProfile": "Eliminar perfil de qualidade",
|
||||||
"DeleteQualityProfileMessageText": "Tem a certeza que quer eliminar o perfil de qualidade \"{0}\"?",
|
"DeleteQualityProfileMessageText": "Tem a certeza de que pretende eliminar o perfil de qualidade '{name}'?",
|
||||||
"DeleteReleaseProfile": "Eliminar perfil de versão",
|
"DeleteReleaseProfile": "Eliminar perfil de versão",
|
||||||
"DeleteReleaseProfileMessageText": "Tem a certeza que quer eliminar este perfil de versão?",
|
"DeleteReleaseProfileMessageText": "Tem a certeza que quer eliminar este perfil de versão?",
|
||||||
"DeleteSelectedBookFiles": "Eliminar ficheiros de livro selecionados",
|
"DeleteSelectedBookFiles": "Eliminar ficheiros de livro selecionados",
|
||||||
@@ -457,7 +457,7 @@
|
|||||||
"IsCalibreLibraryHelpText": "Usar o servidor de conteúdo do Calibre para gerir a biblioteca",
|
"IsCalibreLibraryHelpText": "Usar o servidor de conteúdo do Calibre para gerir a biblioteca",
|
||||||
"IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnAuthorOrImportList": "Não é possível eliminar um perfil de metadados anexado a um autor ou lista de importação",
|
"IsInUseCantDeleteAMetadataProfileThatIsAttachedToAnAuthorOrImportList": "Não é possível eliminar um perfil de metadados anexado a um autor ou lista de importação",
|
||||||
"LogRotation": "Rotação de logs",
|
"LogRotation": "Rotação de logs",
|
||||||
"MaintenanceRelease": "Versão de manutenção",
|
"MaintenanceRelease": "Versão de manutenção: reparações de erros e outras melhorias. Consulte o Histórico de Commits do Github para saber mais",
|
||||||
"MetadataSourceHelpText": "Origem alternativa de metadados (deixe em branco para usar o padrão)",
|
"MetadataSourceHelpText": "Origem alternativa de metadados (deixe em branco para usar o padrão)",
|
||||||
"MinimumPages": "Mínimo de páginas",
|
"MinimumPages": "Mínimo de páginas",
|
||||||
"MissingBooksAuthorNotMonitored": "Livros ausentes (autor não monitorado)",
|
"MissingBooksAuthorNotMonitored": "Livros ausentes (autor não monitorado)",
|
||||||
@@ -548,9 +548,9 @@
|
|||||||
"DeleteBookFileMessageText": "Tem a certeza que quer eliminar {0}?",
|
"DeleteBookFileMessageText": "Tem a certeza que quer eliminar {0}?",
|
||||||
"EndedAllBooksDownloaded": "Terminado (todos os livros transferidos)",
|
"EndedAllBooksDownloaded": "Terminado (todos os livros transferidos)",
|
||||||
"DeleteFilesHelpText": "Eliminar os ficheiros do livro e a pasta do autor",
|
"DeleteFilesHelpText": "Eliminar os ficheiros do livro e a pasta do autor",
|
||||||
"DeleteImportList": "Eliminar lista de importação",
|
"DeleteImportList": "Eliminar Lista de Importação",
|
||||||
"DeleteMetadataProfile": "Eliminar perfil de metadados",
|
"DeleteMetadataProfile": "Eliminar perfil de metadados",
|
||||||
"DeleteRootFolder": "Eliminar pasta raiz",
|
"DeleteRootFolder": "Eliminar a Pasta Raiz",
|
||||||
"EnableProfile": "Ativar perfil",
|
"EnableProfile": "Ativar perfil",
|
||||||
"EnabledHelpText": "Marque para ativar o perfil de versão",
|
"EnabledHelpText": "Marque para ativar o perfil de versão",
|
||||||
"FilterPlaceHolder": "Filtrar livro",
|
"FilterPlaceHolder": "Filtrar livro",
|
||||||
@@ -690,7 +690,7 @@
|
|||||||
"IndexerJackettAll": "Indexadores que usam o ponto de extremidade não suportado do Jackett 'all (tudo)' : {0}",
|
"IndexerJackettAll": "Indexadores que usam o ponto de extremidade não suportado do Jackett 'all (tudo)' : {0}",
|
||||||
"Duration": "Duração",
|
"Duration": "Duração",
|
||||||
"Filters": "Filtros",
|
"Filters": "Filtros",
|
||||||
"AppDataLocationHealthCheckMessage": "Não foi possivél actualizar para prevenir apagar a AppData durante a actualização",
|
"AppDataLocationHealthCheckMessage": "Não foi possível actualizar para prevenir apagar a AppData durante a actualização",
|
||||||
"FileWasDeletedByViaUI": "O ficheiro foi eliminado por meio da IU",
|
"FileWasDeletedByViaUI": "O ficheiro foi eliminado por meio da IU",
|
||||||
"SizeLimit": "Tamanho Limite",
|
"SizeLimit": "Tamanho Limite",
|
||||||
"Started": "Começado",
|
"Started": "Começado",
|
||||||
@@ -781,7 +781,7 @@
|
|||||||
"OnBookFileDelete": "Ao eliminar o ficheiro do filme",
|
"OnBookFileDelete": "Ao eliminar o ficheiro do filme",
|
||||||
"InstanceName": "Nome da Instancia",
|
"InstanceName": "Nome da Instancia",
|
||||||
"RestartRequiredHelpTextWarning": "Requer reinício para aplicar alterações",
|
"RestartRequiredHelpTextWarning": "Requer reinício para aplicar alterações",
|
||||||
"AddList": "Adicionar lista",
|
"AddList": "Adicionar Lista",
|
||||||
"RenameFiles": "Renomear ficheiros",
|
"RenameFiles": "Renomear ficheiros",
|
||||||
"Test": "Testar",
|
"Test": "Testar",
|
||||||
"InstanceNameHelpText": "Nome da instância na aba e nome da aplicação para Syslog",
|
"InstanceNameHelpText": "Nome da instância na aba e nome da aplicação para Syslog",
|
||||||
@@ -789,7 +789,7 @@
|
|||||||
"AddedAuthorSettings": "Definições de Autor adicionadas",
|
"AddedAuthorSettings": "Definições de Autor adicionadas",
|
||||||
"ManualImportSelectEdition": "Importação manual - Seleciona o filme",
|
"ManualImportSelectEdition": "Importação manual - Seleciona o filme",
|
||||||
"ApplicationUrlHelpText": "O URL desta aplicação externa, incluindo http(s)://, porta e URL base",
|
"ApplicationUrlHelpText": "O URL desta aplicação externa, incluindo http(s)://, porta e URL base",
|
||||||
"ApplicationURL": "URL da aplicação",
|
"ApplicationURL": "URL do Aplicativo",
|
||||||
"ChooseImportMethod": "Selecionar Modo de Importação",
|
"ChooseImportMethod": "Selecionar Modo de Importação",
|
||||||
"HardlinkCopyFiles": "Realizar ligação fixa/copiar ficheiros",
|
"HardlinkCopyFiles": "Realizar ligação fixa/copiar ficheiros",
|
||||||
"MoveFiles": "Mover ficheiros",
|
"MoveFiles": "Mover ficheiros",
|
||||||
@@ -815,7 +815,7 @@
|
|||||||
"UnableToLoadCustomFormats": "Não foi possível carregar os formatos personalizados",
|
"UnableToLoadCustomFormats": "Não foi possível carregar os formatos personalizados",
|
||||||
"CutoffFormatScoreHelpText": "Quando esta pontuação de formato personalizado for alcançada, o Radarr não transferirá mais filmes",
|
"CutoffFormatScoreHelpText": "Quando esta pontuação de formato personalizado for alcançada, o Radarr não transferirá mais filmes",
|
||||||
"DeleteCustomFormat": "Eliminar formato personalizado",
|
"DeleteCustomFormat": "Eliminar formato personalizado",
|
||||||
"DeleteCustomFormatMessageText": "Tem a certeza que quer eliminar a pasta raiz \"{0}\"?",
|
"DeleteCustomFormatMessageText": "Tem a certeza de que pretende eliminar o formato personalizado '{name}'?",
|
||||||
"Formats": "Formatos",
|
"Formats": "Formatos",
|
||||||
"ResetDefinitionTitlesHelpText": "Redefinir títulos de definição, bem como valores",
|
"ResetDefinitionTitlesHelpText": "Redefinir títulos de definição, bem como valores",
|
||||||
"ResetDefinitions": "Redefinir Definições",
|
"ResetDefinitions": "Redefinir Definições",
|
||||||
@@ -834,5 +834,29 @@
|
|||||||
"ReplaceWithDash": "Substituir por travessão",
|
"ReplaceWithDash": "Substituir por travessão",
|
||||||
"ReplaceWithSpaceDash": "Substituir por espaço e travessão",
|
"ReplaceWithSpaceDash": "Substituir por espaço e travessão",
|
||||||
"ReplaceWithSpaceDashSpace": "Substituir por espaço, travessão e espaço",
|
"ReplaceWithSpaceDashSpace": "Substituir por espaço, travessão e espaço",
|
||||||
"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"
|
"ApiKeyValidationHealthCheckMessage": "Por favor, atualize a sua API Key para ter no mínimo {0} caracteres. Pode fazer através das definições ou do ficheiro de configuração",
|
||||||
|
"AppUpdated": "{appName} Atualizado",
|
||||||
|
"ApplyTagsHelpTextAdd": "Adicionar: agregar as etiquetas à lista existente de etiquetas",
|
||||||
|
"ApplyTagsHelpTextRemove": "Remover: eliminar as etiquetas adicionadas",
|
||||||
|
"ApplyTagsHelpTextReplace": "Substituir: mudar as etiquetas pelas adicionadas (deixe em branco para limpar todas as etiquetas)",
|
||||||
|
"ApplyTagsHelpTextHowToApplyIndexers": "Como aplicar etiquetas aos indexadores selecionados",
|
||||||
|
"AutoAdd": "Adicionar automaticamente",
|
||||||
|
"AllResultsAreHiddenByTheAppliedFilter": "Todos os resultados foram ocultados pelo filtro aplicado",
|
||||||
|
"ApplyTagsHelpTextHowToApplyDownloadClients": "Como aplicar etiquetas aos clientes de download selecionados",
|
||||||
|
"Activity": "Atividade",
|
||||||
|
"AddNew": "Adicionar Novo",
|
||||||
|
"ApplyTagsHelpTextHowToApplyImportLists": "Como aplicar etiquetas às listas de importação selecionadas",
|
||||||
|
"DeleteSelectedDownloadClientsMessageText": "Tem a certeza de que pretende eliminar o(s) cliente(s) de transferência selecionado(s)?",
|
||||||
|
"DeleteSelectedIndexersMessageText": "Tem a certeza de que pretende eliminar {count} indexador(es) selecionado(s)?",
|
||||||
|
"DeleteSelectedImportListsMessageText": "Tem a certeza de que pretende eliminar a(s) lista(s) de importação selecionada(s)?",
|
||||||
|
"CloneCondition": "Clonar Condição",
|
||||||
|
"ConnectionLostReconnect": "O Radarr tentará ligar-se automaticamente, ou você pode clicar em Recarregar abaixo.",
|
||||||
|
"ConnectionLostToBackend": "O Radarr perdeu a ligação com o back-end e precisará ser recarregado para restaurar a funcionalidade.",
|
||||||
|
"EditSelectedImportLists": "Editar Listas de Importação Selecionadas",
|
||||||
|
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "O cliente de descarregamento {0} está definido para remover descarregamentos concluídos. Isto pode fazer com que as transferências sejam removidas do seu cliente antes de {1} as poder importar.",
|
||||||
|
"DeleteCondition": "Eliminar Condição",
|
||||||
|
"AppUpdatedVersion": "{appName} foi atualizado para a versão `{version}`, para obter as alterações mais recentes, você precisará recarregar {appName}",
|
||||||
|
"AutomaticUpdatesDisabledDocker": "As actualizações automáticas não são diretamente suportadas quando se utiliza o mecanismo de atualização do Docker. Terá de atualizar a imagem do contentor fora de {appName} ou utilizar um script",
|
||||||
|
"EditSelectedDownloadClients": "Editar Clientes de Transferência Selecionados",
|
||||||
|
"ApplyChanges": "Aplicar alterações"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,70 +2,70 @@
|
|||||||
"About": "Sobre",
|
"About": "Sobre",
|
||||||
"Monitored": "Monitorado",
|
"Monitored": "Monitorado",
|
||||||
"URLBase": "URL base",
|
"URLBase": "URL base",
|
||||||
"UnableToAddANewDownloadClientPleaseTryAgain": "Não foi possível adicionar um novo cliente de download, tente novamente.",
|
"UnableToAddANewDownloadClientPleaseTryAgain": "Não foi possível adicionar um novo cliente de download. Tente novamente.",
|
||||||
"UnableToAddANewImportListExclusionPleaseTryAgain": "Não foi possível adicionar uma nova exclusão da lista de importação, tente novamente.",
|
"UnableToAddANewImportListExclusionPleaseTryAgain": "Não foi possível adicionar uma nova exclusão da lista de importação. Tente novamente.",
|
||||||
"UnableToAddANewIndexerPleaseTryAgain": "Não foi possível adicionar um novo indexador, tente novamente.",
|
"UnableToAddANewIndexerPleaseTryAgain": "Não foi possível adicionar um novo indexador. Tente novamente.",
|
||||||
"UnableToAddANewListPleaseTryAgain": "Não foi possível adicionar uma nova lista, tente novamente.",
|
"UnableToAddANewListPleaseTryAgain": "Não foi possível adicionar uma nova lista. Tente novamente.",
|
||||||
"UnableToAddANewMetadataProfilePleaseTryAgain": "Não foi possível adicionar um novo perfil de metadados, tente novamente.",
|
"UnableToAddANewMetadataProfilePleaseTryAgain": "Não foi possível adicionar um novo perfil de metadados, tente novamente.",
|
||||||
"UnableToAddANewNotificationPleaseTryAgain": "Não foi possível adicionar uma nova notificação, tente novamente.",
|
"UnableToAddANewNotificationPleaseTryAgain": "Não foi possível adicionar uma nova notificação. Tente novamente.",
|
||||||
"UnableToAddANewQualityProfilePleaseTryAgain": "Não foi possível adicionar um novo perfil de qualidade, tente novamente.",
|
"UnableToAddANewQualityProfilePleaseTryAgain": "Não foi possível adicionar um novo perfil de qualidade. Tente novamente.",
|
||||||
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Não foi possível adicionar um novo mapeamento de caminho remoto, tente novamente.",
|
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Não foi possível adicionar um novo mapeamento de caminho remoto. Tente novamente.",
|
||||||
"20MinutesTwenty": "20 Minutos: {0}",
|
"20MinutesTwenty": "20 Minutos: {0}",
|
||||||
"45MinutesFourtyFive": "45 Minutos: {0}",
|
"45MinutesFourtyFive": "45 Minutos: {0}",
|
||||||
"60MinutesSixty": "60 Minutos: {0}",
|
"60MinutesSixty": "60 Minutos: {0}",
|
||||||
"APIKey": "Chave API",
|
"APIKey": "Chave API",
|
||||||
"AgeWhenGrabbed": "Idade (quando baixado)",
|
"AgeWhenGrabbed": "Tempo de vida (quando obtido)",
|
||||||
"ApiKeyHelpTextWarning": "Requer reinício para ter efeito",
|
"ApiKeyHelpTextWarning": "Requer reinício para ter efeito",
|
||||||
"LoadingBooksFailed": "Falha ao carregar livros",
|
"LoadingBooksFailed": "Falha ao carregar livros",
|
||||||
"Logs": "Registros",
|
"Logs": "Registros",
|
||||||
"MustContain": "Deve Conter",
|
"MustContain": "Deve conter",
|
||||||
"ProxyPasswordHelpText": "Você só precisa digitar um nome de usuário e senha se for necessário. Caso contrário, deixe-os em branco.",
|
"ProxyPasswordHelpText": "Você só precisa digitar um nome de usuário e senha se for necessário. Caso contrário, deixe-os em branco.",
|
||||||
"SslCertPathHelpTextWarning": "Requer reinício para ter efeito",
|
"SslCertPathHelpTextWarning": "Requer reinício para ter efeito",
|
||||||
"UnableToLoadMetadataProfiles": "Não foi possível carregar os perfis de metadados",
|
"UnableToLoadMetadataProfiles": "Não foi possível carregar os perfis de metadados",
|
||||||
"AddListExclusion": "Adicionar à Lista de Exclusão",
|
"AddListExclusion": "Adicionar exclusão à lista",
|
||||||
"AddingTag": "Adicionar tag",
|
"AddingTag": "Adicionar tag",
|
||||||
"AlreadyInYourLibrary": "Já está na sua biblioteca",
|
"AlreadyInYourLibrary": "Já está na sua biblioteca",
|
||||||
"AlternateTitles": "Títulos Alternativos",
|
"AlternateTitles": "Títulos alternativos",
|
||||||
"Analytics": "Analítica",
|
"Analytics": "Análises",
|
||||||
"AnalyticsEnabledHelpText": "Envie informações anônimas de uso e erro para os servidores do Readarr. Isso inclui informações sobre seu navegador, quais páginas da interface Web do Readarr você usa, relatórios de erros, e a versão do sistema operacional e do tempo de execução. Usaremos essas informações para priorizar recursos e correções de bugs.",
|
"AnalyticsEnabledHelpText": "Envie informações anônimas de uso e erro para os servidores do Readarr. Isso inclui informações sobre seu navegador, quais páginas da interface Web do Readarr você usa, relatórios de erros, e a versão do sistema operacional e do tempo de execução. Usaremos essas informações para priorizar recursos e correções de bugs.",
|
||||||
"AppDataDirectory": "Diretório AppData",
|
"AppDataDirectory": "Diretório AppData",
|
||||||
"ApplyTags": "Aplicar Tags",
|
"ApplyTags": "Aplicar Tags",
|
||||||
"Authentication": "Autenticação",
|
"Authentication": "Autenticação",
|
||||||
"AuthenticationMethodHelpText": "Exigir nome de usuário e senha para acessar o Readarr",
|
"AuthenticationMethodHelpText": "Exigir nome de usuário e senha para acessar o Readarr",
|
||||||
"AuthorClickToChangeBook": "Clique para alterar o livro",
|
"AuthorClickToChangeBook": "Clique para alterar o livro",
|
||||||
"AutoRedownloadFailedHelpText": "Procurar automaticamente e tente baixar uma versão diferente",
|
"AutoRedownloadFailedHelpText": "Procurar e tentar baixar automaticamente uma versão diferente",
|
||||||
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Livros excluídos do disco deixam de ser monitorados no Readarr automaticamente",
|
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Livros excluídos do disco deixam de ser monitorados no Readarr automaticamente",
|
||||||
"Automatic": "Automático",
|
"Automatic": "Automático",
|
||||||
"BackupFolderHelpText": "Os caminhos relativos estarão no diretório AppData do Readarr",
|
"BackupFolderHelpText": "Os caminhos relativos estarão no diretório AppData do Readarr",
|
||||||
"BackupNow": "Fazer backup agora",
|
"BackupNow": "Fazer backup agora",
|
||||||
"BackupRetentionHelpText": "Backups automáticos anteriores ao período de retenção serão limpos automaticamente",
|
"BackupRetentionHelpText": "Backups automáticos anteriores ao período de retenção serão limpos automaticamente",
|
||||||
"Backups": "Backups",
|
"Backups": "Backups",
|
||||||
"BindAddress": "Fixar Endereço",
|
"BindAddress": "Fixar endereço",
|
||||||
"BindAddressHelpText": "Endereço IP válido, localhost ou '*' para todas as interfaces",
|
"BindAddressHelpText": "Endereço IP válido, localhost ou '*' para todas as interfaces",
|
||||||
"BindAddressHelpTextWarning": "Requer reiniciar para ter efeito",
|
"BindAddressHelpTextWarning": "Requer reiniciar para ter efeito",
|
||||||
"BookIsDownloading": "O livro está baixando",
|
"BookIsDownloading": "O livro está baixando",
|
||||||
"DiskSpace": "Espaço em disco",
|
"DiskSpace": "Espaço em disco",
|
||||||
"Docker": "Docker",
|
"Docker": "Docker",
|
||||||
"DownloadClient": "Cliente de Download",
|
"DownloadClient": "Cliente de download",
|
||||||
"DownloadClientSettings": "Configurações do Cliente de Download",
|
"DownloadClientSettings": "Configurações do cliente de download",
|
||||||
"DownloadClients": "Clientes de download",
|
"DownloadClients": "Clientes de download",
|
||||||
"DownloadFailedCheckDownloadClientForMoreDetails": "Falha no download: verifique o cliente de download para saber mais",
|
"DownloadFailedCheckDownloadClientForMoreDetails": "Falha no download: verifique o cliente de download para saber mais",
|
||||||
"DownloadFailedInterp": "Falha no download: {0}",
|
"DownloadFailedInterp": "Falha no download: {0}",
|
||||||
"DetailedProgressBar": "Barra de progresso detalhada",
|
"DetailedProgressBar": "Barra de progresso detalhada",
|
||||||
"DownloadPropersAndRepacksHelpTexts1": "Se deve ou não atualizar automaticamente para Propers/Repacks",
|
"DownloadPropersAndRepacksHelpTexts1": "Se deve ou não atualizar automaticamente para propers/repacks",
|
||||||
"DownloadWarningCheckDownloadClientForMoreDetails": "Aviso de download: verifique o cliente de download para saber mais",
|
"DownloadWarningCheckDownloadClientForMoreDetails": "Aviso de download: verifique o cliente de download para saber mais",
|
||||||
"Edit": "Editar",
|
"Edit": "Editar",
|
||||||
"Edition": "Edição",
|
"Edition": "Edição",
|
||||||
"Enable": "Habilitar",
|
"Enable": "Habilitar",
|
||||||
"GrabRelease": "Obter Lançamento",
|
"GrabRelease": "Obter lançamento",
|
||||||
"GrabReleaseMessageText": "O Readarr não conseguiu determinar a qual autor e livro esse lançamento está relacionado. O Readarr pode não conseguir importar automaticamente este lançamento. Quer obter \"{0}\"?",
|
"GrabReleaseMessageText": "O Readarr não conseguiu determinar para qual autor e livro é este lançamento. O Readarr pode não conseguir importar automaticamente este lançamento. Deseja obter \"{0}\"?",
|
||||||
"GrabSelected": "Obter Selecionado",
|
"GrabSelected": "Obter selecionado",
|
||||||
"Group": "Grupo",
|
"Group": "Grupo",
|
||||||
"HasPendingChangesNoChanges": "Sem alterações",
|
"HasPendingChangesNoChanges": "Sem alterações",
|
||||||
"HasPendingChangesSaveChanges": "Salvar alterações",
|
"HasPendingChangesSaveChanges": "Salvar alterações",
|
||||||
"History": "Histórico",
|
"History": "Histórico",
|
||||||
"Host": "Host",
|
"Host": "Host",
|
||||||
"Hostname": "Hostname",
|
"Hostname": "Nome do host",
|
||||||
"ICalFeed": "Feed do iCal",
|
"ICalFeed": "Feed do iCal",
|
||||||
"ICalHttpUrlHelpText": "Copie este URL em seu(s) cliente(s) ou clique para se inscrever se o seu navegador é compatível com webcal",
|
"ICalHttpUrlHelpText": "Copie este URL em seu(s) cliente(s) ou clique para se inscrever se o seu navegador é compatível com webcal",
|
||||||
"ICalLink": "Link do iCal",
|
"ICalLink": "Link do iCal",
|
||||||
@@ -76,26 +76,26 @@
|
|||||||
"CalendarWeekColumnHeaderHelpText": "Mostrar acima de cada coluna quando a semana está na exibição ativa",
|
"CalendarWeekColumnHeaderHelpText": "Mostrar acima de cada coluna quando a semana está na exibição ativa",
|
||||||
"Cancel": "Cancelar",
|
"Cancel": "Cancelar",
|
||||||
"CancelMessageText": "Tem certeza que deseja cancelar esta tarefa pendente?",
|
"CancelMessageText": "Tem certeza que deseja cancelar esta tarefa pendente?",
|
||||||
"CertificateValidation": "Validação de Certificado",
|
"CertificateValidation": "Validação de certificado",
|
||||||
"CertificateValidationHelpText": "Altere a rigidez da validação da certificação HTTPS. Não mude a menos que você entenda os riscos.",
|
"CertificateValidationHelpText": "Altere a rigidez da validação da certificação HTTPS. Não mude a menos que você entenda os riscos.",
|
||||||
"ChangeFileDate": "Alterar Data do Arquivo",
|
"ChangeFileDate": "Alterar data do arquivo",
|
||||||
"ChangeHasNotBeenSavedYet": "Mudar o que não foi salvo ainda",
|
"ChangeHasNotBeenSavedYet": "Mudar o que não foi salvo ainda",
|
||||||
"ChmodFolder": "chmod Pasta",
|
"ChmodFolder": "Fazer chmod de pasta",
|
||||||
"ChmodFolderHelpText": "Octal, aplicado durante a importação/renomeação de pastas e arquivos de mídia (sem bits de execução)",
|
"ChmodFolderHelpText": "Octal, aplicado durante a importação/renomeação de pastas e arquivos de mídia (sem bits de execução)",
|
||||||
"ChmodFolderHelpTextWarning": "Isso só funciona se o usuário que está executando o Readarr for o proprietário do arquivo. É melhor garantir que o cliente de download defina as permissões corretamente.",
|
"ChmodFolderHelpTextWarning": "Isso só funciona se o usuário que está executando o Readarr for o proprietário do arquivo. É melhor garantir que o cliente de download defina as permissões corretamente.",
|
||||||
"ChownGroupHelpText": "Nome do grupo ou gid. Use gid para sistemas de arquivos remotos.",
|
"ChownGroupHelpText": "Nome do grupo ou gid. Use gid para sistemas de arquivos remotos.",
|
||||||
"ChownGroupHelpTextWarning": "Isso só funciona se o usuário que está executando o Readarr for o proprietário do arquivo. É melhor garantir que o cliente de download use o mesmo grupo que o Readarr.",
|
"ChownGroupHelpTextWarning": "Isso só funciona se o usuário que está executando o Readarr for o proprietário do arquivo. É melhor garantir que o cliente de download use o mesmo grupo que o Readarr.",
|
||||||
"Clear": "Limpar",
|
"Clear": "Limpar",
|
||||||
"ClickToChangeQuality": "Clique para alterar a qualidade",
|
"ClickToChangeQuality": "Clique para alterar a qualidade",
|
||||||
"ClientPriority": "Prioridade do Cliente",
|
"ClientPriority": "Prioridade do cliente",
|
||||||
"CloneIndexer": "Clonar Indexador",
|
"CloneIndexer": "Clonar indexador",
|
||||||
"CloneProfile": "Clonar Perfil",
|
"CloneProfile": "Clonar perfil",
|
||||||
"Close": "Fechar",
|
"Close": "Fechar",
|
||||||
"Columns": "Colunas",
|
"Columns": "Colunas",
|
||||||
"CompletedDownloadHandling": "Gerenciamento de Downloads Completos",
|
"CompletedDownloadHandling": "Gerenciamento de downloads concluídos",
|
||||||
"ConnectSettings": "Configurações de Conexão",
|
"ConnectSettings": "Configurações de conexão",
|
||||||
"Connections": "Conexões",
|
"Connections": "Conexões",
|
||||||
"CopyUsingHardlinksHelpText": "Os hardlinks permitem que o Readarr importe torrents para a pasta da série sem ocupar espaço extra em disco ou copiar todo o conteúdo do arquivo. Os hardlinks só funcionarão se a origem e o destino estiverem no mesmo volume",
|
"CopyUsingHardlinksHelpText": "Os hardlinks permitem que o Readarr importe torrents de propagação para a pasta da série sem ocupar espaço adicional em disco ou copiar todo o conteúdo do arquivo. Hardlinks só funcionarão se a origem e o destino estiverem no mesmo volume",
|
||||||
"CopyUsingHardlinksHelpTextWarning": "Ocasionalmente, os bloqueios de arquivo podem impedir a renomeação de arquivos que estão sendo semeados. Você pode desabilitar temporariamente a semeadura e usar a função de renomeação do Readarr como uma solução alternativa.",
|
"CopyUsingHardlinksHelpTextWarning": "Ocasionalmente, os bloqueios de arquivo podem impedir a renomeação de arquivos que estão sendo semeados. Você pode desabilitar temporariamente a semeadura e usar a função de renomeação do Readarr como uma solução alternativa.",
|
||||||
"CreateEmptyAuthorFoldersHelpText": "Criar pastas de autor ausente durante a verificação do disco",
|
"CreateEmptyAuthorFoldersHelpText": "Criar pastas de autor ausente durante a verificação do disco",
|
||||||
"CreateGroup": "Criar grupo",
|
"CreateGroup": "Criar grupo",
|
||||||
@@ -103,41 +103,41 @@
|
|||||||
"CutoffUnmet": "Corte não atendido",
|
"CutoffUnmet": "Corte não atendido",
|
||||||
"DBMigration": "Migração de banco de dados",
|
"DBMigration": "Migração de banco de dados",
|
||||||
"Dates": "Datas",
|
"Dates": "Datas",
|
||||||
"DelayProfile": "Perfil de Atraso",
|
"DelayProfile": "Perfil de atraso",
|
||||||
"DelayProfiles": "Perfis de Atraso",
|
"DelayProfiles": "Perfis de atraso",
|
||||||
"DelayingDownloadUntilInterp": "Atrasando o download até {0} às {1}",
|
"DelayingDownloadUntilInterp": "Atrasando o download até {0} às {1}",
|
||||||
"Delete": "Excluir",
|
"Delete": "Excluir",
|
||||||
"DeleteBackup": "Excluir Backup",
|
"DeleteBackup": "Excluir Backup",
|
||||||
"DeleteBackupMessageText": "Tem certeza de que deseja excluir o backup '{name}'?",
|
"DeleteBackupMessageText": "Tem certeza de que deseja excluir o backup '{name}'?",
|
||||||
"DeleteDelayProfile": "Excluir Perfil de Atraso",
|
"DeleteDelayProfile": "Excluir perfil de atraso",
|
||||||
"DeleteDelayProfileMessageText": "Tem certeza de que deseja excluir este perfil de atraso?",
|
"DeleteDelayProfileMessageText": "Tem certeza de que deseja excluir este perfil de atraso?",
|
||||||
"DeleteDownloadClient": "Excluir Cliente de Download",
|
"DeleteDownloadClient": "Excluir cliente de download",
|
||||||
"DeleteDownloadClientMessageText": "Tem certeza de que deseja excluir o cliente de download '{name}'?",
|
"DeleteDownloadClientMessageText": "Tem certeza de que deseja excluir o cliente de download '{name}'?",
|
||||||
"DeleteEmptyFolders": "Excluir pastas vazias",
|
"DeleteEmptyFolders": "Excluir pastas vazias",
|
||||||
"DeleteEmptyFoldersHelpText": "Excluir pastas de autor vazias durante a verificação do disco e quando os arquivos de livros forem excluídos",
|
"DeleteEmptyFoldersHelpText": "Excluir as pastas de autor vazias durante a verificação do disco e quando os arquivos de livros forem excluídos",
|
||||||
"DeleteImportListExclusion": "Excluir Exclusão da Lista de Importação",
|
"DeleteImportListExclusion": "Excluir exclusão da lista de importação",
|
||||||
"DeleteImportListExclusionMessageText": "Tem certeza de que deseja excluir esta exclusão da lista de importação?",
|
"DeleteImportListExclusionMessageText": "Tem certeza de que deseja excluir esta exclusão da lista de importação?",
|
||||||
"DeleteImportListMessageText": "Tem certeza de que deseja excluir a lista '{name}'?",
|
"DeleteImportListMessageText": "Tem certeza de que deseja excluir a lista '{name}'?",
|
||||||
"DeleteIndexer": "Excluir Indexador",
|
"DeleteIndexer": "Excluir indexador",
|
||||||
"DeleteIndexerMessageText": "Tem certeza de que deseja excluir o indexador '{name}'?",
|
"DeleteIndexerMessageText": "Tem certeza de que deseja excluir o indexador '{name}'?",
|
||||||
"DeleteMetadataProfileMessageText": "Tem certeza de que deseja excluir o perfil de metadados '{name}'?",
|
"DeleteMetadataProfileMessageText": "Tem certeza de que deseja excluir o perfil de metadados '{name}'?",
|
||||||
"DeleteNotification": "Excluir Notificação",
|
"DeleteNotification": "Excluir notificação",
|
||||||
"DeleteNotificationMessageText": "Tem certeza de que deseja excluir a notificação '{name}'?",
|
"DeleteNotificationMessageText": "Tem certeza de que deseja excluir a notificação '{name}'?",
|
||||||
"DeleteQualityProfile": "Excluir Perfil de Qualidade",
|
"DeleteQualityProfile": "Excluir perfil de qualidade",
|
||||||
"DeleteQualityProfileMessageText": "Tem certeza de que deseja excluir o perfil de qualidade '{name}'?",
|
"DeleteQualityProfileMessageText": "Tem certeza de que deseja excluir o perfil de qualidade '{name}'?",
|
||||||
"DeleteReleaseProfile": "Excluir Perfil de Lançamento",
|
"DeleteReleaseProfile": "Excluir perfil de lançamento",
|
||||||
"DeleteReleaseProfileMessageText": "Tem certeza de que deseja excluir este Perfil de Lançamento?",
|
"DeleteReleaseProfileMessageText": "Tem certeza de que deseja excluir este Perfil de Lançamento?",
|
||||||
"DeleteRootFolderMessageText": "Tem certeza de que deseja excluir a pasta raiz '{name}'?",
|
"DeleteRootFolderMessageText": "Tem certeza de que deseja excluir a pasta raiz '{name}'?",
|
||||||
"DeleteSelectedBookFiles": "Excluir arquivos do livro selecionado",
|
"DeleteSelectedBookFiles": "Excluir arquivos do livro selecionado",
|
||||||
"DeleteSelectedBookFilesMessageText": "Tem certeza de que deseja excluir os arquivos do livro selecionado?",
|
"DeleteSelectedBookFilesMessageText": "Tem certeza de que deseja excluir os arquivos do livro selecionado?",
|
||||||
"DeleteTag": "Excluir tag",
|
"DeleteTag": "Excluir tag",
|
||||||
"DeleteTagMessageText": "Tem certeza de que deseja excluir a tag \"{0}\"?",
|
"DeleteTagMessageText": "Tem certeza de que deseja excluir a tag \"{0}\"?",
|
||||||
"DestinationPath": "Caminho de Destino",
|
"DestinationPath": "Caminho de destino",
|
||||||
"DetailedProgressBarHelpText": "Mostrar texto na barra de progresso",
|
"DetailedProgressBarHelpText": "Mostrar texto na barra de progresso",
|
||||||
"EnableAutomaticAdd": "Habilitar Adição Automática",
|
"EnableAutomaticAdd": "Habilitar adição automática",
|
||||||
"EnableAutomaticSearch": "Ativar a pesquisa automática",
|
"EnableAutomaticSearch": "Ativar a pesquisa automática",
|
||||||
"EnableColorImpairedMode": "Habilitar Modo para Deficientes Visuais",
|
"EnableColorImpairedMode": "Habilitar modo para daltonismo",
|
||||||
"EnableColorImpairedModeHelpText": "Estilo alterado para permitir que usuários com deficiência de cor distingam melhor as informações codificadas por cores",
|
"EnableColorImpairedModeHelpText": "Estilo alterado para permitir que usuários com daltonismo distingam melhor as informações codificadas por cores",
|
||||||
"EnableCompletedDownloadHandlingHelpText": "Importar automaticamente downloads concluídos do cliente de download",
|
"EnableCompletedDownloadHandlingHelpText": "Importar automaticamente downloads concluídos do cliente de download",
|
||||||
"EnableHelpText": "Habilitar criação de arquivo de metadados para este tipo de metadados",
|
"EnableHelpText": "Habilitar criação de arquivo de metadados para este tipo de metadados",
|
||||||
"EnableInteractiveSearch": "Ativar pesquisa interativa",
|
"EnableInteractiveSearch": "Ativar pesquisa interativa",
|
||||||
@@ -152,11 +152,11 @@
|
|||||||
"ExtraFileExtensionsHelpTexts2": "Exemplos: \".sub, .nfo\" ou \"sub,nfo\"",
|
"ExtraFileExtensionsHelpTexts2": "Exemplos: \".sub, .nfo\" ou \"sub,nfo\"",
|
||||||
"FailedDownloadHandling": "Falha no gerenciamento de download",
|
"FailedDownloadHandling": "Falha no gerenciamento de download",
|
||||||
"FileDateHelpText": "Alterar a data do arquivo ao importar/verificar novamente",
|
"FileDateHelpText": "Alterar a data do arquivo ao importar/verificar novamente",
|
||||||
"FileManagement": "Gerenciamento de Arquivo",
|
"FileManagement": "Gerenciamento de arquivo",
|
||||||
"FileNames": "Nomes de Arquivo",
|
"FileNames": "Nomes de arquivo",
|
||||||
"Filename": "Nome do arquivo",
|
"Filename": "Nome do arquivo",
|
||||||
"Files": "Arquivos",
|
"Files": "Arquivos",
|
||||||
"FirstDayOfWeek": "Primeiro Dia da Semana",
|
"FirstDayOfWeek": "Primeiro dia da semana",
|
||||||
"Fixed": "Corrigido",
|
"Fixed": "Corrigido",
|
||||||
"Folder": "Pasta",
|
"Folder": "Pasta",
|
||||||
"Folders": "Pastas",
|
"Folders": "Pastas",
|
||||||
@@ -168,25 +168,25 @@
|
|||||||
"GoToInterp": "Ir para {0}",
|
"GoToInterp": "Ir para {0}",
|
||||||
"Grab": "Obter",
|
"Grab": "Obter",
|
||||||
"GrabID": "Obter ID",
|
"GrabID": "Obter ID",
|
||||||
"IconForCutoffUnmet": "Ícone para Corte Não Atendido",
|
"IconForCutoffUnmet": "Ícone para limite não atendido",
|
||||||
"IconTooltip": "Agendado",
|
"IconTooltip": "Agendado",
|
||||||
"IgnoredAddresses": "Endereços Ignorados",
|
"IgnoredAddresses": "Endereços ignorados",
|
||||||
"IgnoredHelpText": "O lançamento será rejeitado se contiver um ou mais desses termos (não diferencia maiúsculas de minúsculas)",
|
"IgnoredHelpText": "O lançamento será rejeitado se contiver um ou mais destes termos (sem distinção entre maiúsculas e minúsculas)",
|
||||||
"IgnoredPlaceHolder": "Adicionar nova restrição",
|
"IgnoredPlaceHolder": "Adicionar nova restrição",
|
||||||
"IllRestartLater": "Reiniciarei mais tarde",
|
"IllRestartLater": "Reiniciarei mais tarde",
|
||||||
"ImportExtraFiles": "Importar Arquivos Extras",
|
"ImportExtraFiles": "Importar arquivos adicionais",
|
||||||
"Missing": "Ausente",
|
"Missing": "Ausente",
|
||||||
"Mode": "Modo",
|
"Mode": "Modo",
|
||||||
"ImportExtraFilesHelpText": "Importar arquivos adicionais correspondentes (legendas, nfo, etc.) após importar um arquivo de livro",
|
"ImportExtraFilesHelpText": "Importar arquivos adicionais correspondentes (legendas, nfo, etc.) após importar um arquivo de livro",
|
||||||
"ImportFailedInterp": "Falha na importação: {0}",
|
"ImportFailedInterp": "Falha na importação: {0}",
|
||||||
"ImportedTo": "Importado Para",
|
"ImportedTo": "Importado para",
|
||||||
"Importing": "Importando",
|
"Importing": "Importando",
|
||||||
"IncludeHealthWarningsHelpText": "Incluir avisos de integridade",
|
"IncludeHealthWarningsHelpText": "Incluir avisos de integridade",
|
||||||
"IncludeUnknownAuthorItemsHelpText": "Mostrar itens sem autor na fila, isso pode incluir autores removidos, livros ou qualquer outra coisa na categoria de Readarr",
|
"IncludeUnknownAuthorItemsHelpText": "Mostrar itens sem autor na fila, isso pode incluir autores removidos, livros ou qualquer outra coisa na categoria de Readarr",
|
||||||
"IncludeUnmonitored": "Incluir não monitorado",
|
"IncludeUnmonitored": "Incluir não monitorados",
|
||||||
"Indexer": "Indexador",
|
"Indexer": "Indexador",
|
||||||
"IndexerPriority": "Prioridade do Indexador",
|
"IndexerPriority": "Prioridade do indexador",
|
||||||
"IndexerSettings": "Configurações do Indexador",
|
"IndexerSettings": "Configurações do indexador",
|
||||||
"Indexers": "Indexadores",
|
"Indexers": "Indexadores",
|
||||||
"Interval": "Intervalo",
|
"Interval": "Intervalo",
|
||||||
"IsCutoffCutoff": "Limite",
|
"IsCutoffCutoff": "Limite",
|
||||||
@@ -197,40 +197,40 @@
|
|||||||
"LoadingBookFilesFailed": "Falha ao carregar arquivos do livro",
|
"LoadingBookFilesFailed": "Falha ao carregar arquivos do livro",
|
||||||
"Local": "Local",
|
"Local": "Local",
|
||||||
"LogFiles": "Arquivos de registro",
|
"LogFiles": "Arquivos de registro",
|
||||||
"LogLevel": "Nível de Registro",
|
"LogLevel": "Nível de registro",
|
||||||
"LogLevelvalueTraceTraceLoggingShouldOnlyBeEnabledTemporarily": "O registro de rastreamento deve ser ativado apenas temporariamente",
|
"LogLevelvalueTraceTraceLoggingShouldOnlyBeEnabledTemporarily": "O registro em log deve ser habilitado apenas temporariamente",
|
||||||
"Logging": "Registrando",
|
"Logging": "Registro em log",
|
||||||
"LongDateFormat": "Formato de Data Longa",
|
"LongDateFormat": "Formato longo de data",
|
||||||
"MIA": "Desaparecidos",
|
"MIA": "Desaparecidos",
|
||||||
"ManualImport": "Importação Manual",
|
"ManualImport": "Importação manual",
|
||||||
"MarkAsFailed": "Marcar como Falha",
|
"MarkAsFailed": "Marcar como falha",
|
||||||
"MarkAsFailedMessageText": "Tem certeza que deseja marcar \"{0}\" como falhado?",
|
"MarkAsFailedMessageText": "Tem certeza que deseja marcar \"{0}\" como falhado?",
|
||||||
"MaximumLimits": "Limites Máximos",
|
"MaximumLimits": "Limites máximos",
|
||||||
"MaximumSize": "Tamanho Máximo",
|
"MaximumSize": "Tamanho máximo",
|
||||||
"MaximumSizeHelpText": "Tamanho máximo para um lançamento a ser obtido, em MB. Digite zero para definir como Ilimitado.",
|
"MaximumSizeHelpText": "Tamanho máximo para um lançamento ser baixado, em MB. Defina como zero para definir como ilimitado.",
|
||||||
"Mechanism": "Mecanismo",
|
"Mechanism": "Mecanismo",
|
||||||
"MediaInfo": "Informações da mídia",
|
"MediaInfo": "Informações da mídia",
|
||||||
"MediaManagementSettings": "Configurações de Gerenciamento de Mídia",
|
"MediaManagementSettings": "Configurações de gerenciamento de mídia",
|
||||||
"Message": "Mensagem",
|
"Message": "Mensagem",
|
||||||
"MetadataSettings": "Configurações de Metadados",
|
"MetadataSettings": "Configurações de metadados",
|
||||||
"MinimumAge": "Idade Miníma",
|
"MinimumAge": "Idade miníma",
|
||||||
"MinimumAgeHelpText": "Somente Usenet: Idade mínima em minutos dos NZBs antes de serem capturados. Use isso para dar aos novos lançamentos tempo para se propagar para seu provedor usenet.",
|
"MinimumAgeHelpText": "Somente Usenet: idade mínima, em minutos, dos NZBs antes de serem capturados. Use isso para dar aos novos lançamentos tempo para se propagar para seu provedor de Usenet.",
|
||||||
"MinimumFreeSpace": "Espaço Livre Mínimo",
|
"MinimumFreeSpace": "Mínimo de espaço livre",
|
||||||
"MinimumFreeSpaceWhenImportingHelpText": "Impedir a importação se deixar menos do que esta quantidade de espaço em disco disponível",
|
"MinimumFreeSpaceWhenImportingHelpText": "Impedir a importação se deixar menos do que esta quantidade de espaço em disco disponível",
|
||||||
"MinimumLimits": "Limites Mínimos",
|
"MinimumLimits": "Limites mínimos",
|
||||||
"MoreInfo": "Mais informações",
|
"MoreInfo": "Mais informações",
|
||||||
"MustNotContain": "Não Deve Conter",
|
"MustNotContain": "Não deve conter",
|
||||||
"Name": "Nome",
|
"Name": "Nome",
|
||||||
"NamingSettings": "Configurações de Nomes",
|
"NamingSettings": "Configurações de nomenclatura",
|
||||||
"New": "Novo",
|
"New": "Novo",
|
||||||
"NoBackupsAreAvailable": "Não há backups disponíveis",
|
"NoBackupsAreAvailable": "Não há backups disponíveis",
|
||||||
"NoHistory": "Sem histórico.",
|
"NoHistory": "Não há histórico.",
|
||||||
"NoLeaveIt": "Não, deixe",
|
"NoLeaveIt": "Não, deixe",
|
||||||
"NoLimitForAnyRuntime": "Sem limite para qualquer tempo de execução",
|
"NoLimitForAnyRuntime": "Sem limite para qualquer duração",
|
||||||
"NoLogFiles": "Nenhum arquivo de registro",
|
"NoLogFiles": "Nenhum arquivo de registro",
|
||||||
"NoMinimumForAnyRuntime": "Sem mínimo para qualquer tempo de execução",
|
"NoMinimumForAnyRuntime": "Sem mínimo para qualquer duração",
|
||||||
"NoUpdatesAreAvailable": "Não há atualizações disponíveis",
|
"NoUpdatesAreAvailable": "Não há atualizações disponíveis",
|
||||||
"None": "Vazio",
|
"None": "Nenhum",
|
||||||
"NotificationTriggers": "Gatilhos de Notificação",
|
"NotificationTriggers": "Gatilhos de Notificação",
|
||||||
"OnGrabHelpText": "Ao obter",
|
"OnGrabHelpText": "Ao obter",
|
||||||
"OnHealthIssueHelpText": "Ao ter problema de integridade",
|
"OnHealthIssueHelpText": "Ao ter problema de integridade",
|
||||||
@@ -239,7 +239,7 @@
|
|||||||
"OpenBrowserOnStart": "Abrir navegador ao iniciar",
|
"OpenBrowserOnStart": "Abrir navegador ao iniciar",
|
||||||
"Options": "Opções",
|
"Options": "Opções",
|
||||||
"Original": "Original",
|
"Original": "Original",
|
||||||
"Overview": "Visão Geral",
|
"Overview": "Visão geral",
|
||||||
"PackageVersion": "Versão do pacote",
|
"PackageVersion": "Versão do pacote",
|
||||||
"PageSize": "Tamanho da página",
|
"PageSize": "Tamanho da página",
|
||||||
"PageSizeHelpText": "Quantidade de itens a exibir em cada página",
|
"PageSizeHelpText": "Quantidade de itens a exibir em cada página",
|
||||||
@@ -302,7 +302,7 @@
|
|||||||
"RenameBooksHelpText": "O Readarr usará o nome de arquivo existente se a renomeação estiver desativada",
|
"RenameBooksHelpText": "O Readarr usará o nome de arquivo existente se a renomeação estiver desativada",
|
||||||
"Reorder": "Reordenar",
|
"Reorder": "Reordenar",
|
||||||
"ReplaceIllegalCharacters": "Substituir Caracteres Ilegais",
|
"ReplaceIllegalCharacters": "Substituir Caracteres Ilegais",
|
||||||
"RequiredHelpText": "Essa condição {0} deve corresponder para que o formato personalizado seja aplicado. Caso contrário, uma única partida {0} é suficiente.",
|
"RequiredHelpText": "Essa condição {0} deve corresponder para que o formato personalizado seja aplicado. Caso contrário, uma correspondência {0} é suficiente.",
|
||||||
"RequiredPlaceHolder": "Adicionar nova restrição",
|
"RequiredPlaceHolder": "Adicionar nova restrição",
|
||||||
"RescanAfterRefreshHelpTextWarning": "O Readarr não detectará automaticamente as alterações nos arquivos se não estiver definido como \"Sempre\"",
|
"RescanAfterRefreshHelpTextWarning": "O Readarr não detectará automaticamente as alterações nos arquivos se não estiver definido como \"Sempre\"",
|
||||||
"RescanAuthorFolderAfterRefresh": "Reescanear a pasta do autor após a atualização",
|
"RescanAuthorFolderAfterRefresh": "Reescanear a pasta do autor após a atualização",
|
||||||
@@ -373,7 +373,7 @@
|
|||||||
"SupportsSearchvalueWillBeUsedWhenAutomaticSearchesArePerformedViaTheUIOrByReadarr": "Será usado quando pesquisas automáticas forem realizadas pela interface ou pelo Readarr",
|
"SupportsSearchvalueWillBeUsedWhenAutomaticSearchesArePerformedViaTheUIOrByReadarr": "Será usado quando pesquisas automáticas forem realizadas pela interface ou pelo Readarr",
|
||||||
"SupportsSearchvalueWillBeUsedWhenInteractiveSearchIsUsed": "Será usado com a pesquisa interativa",
|
"SupportsSearchvalueWillBeUsedWhenInteractiveSearchIsUsed": "Será usado com a pesquisa interativa",
|
||||||
"TagIsNotUsedAndCanBeDeleted": "A tag não é usada e pode ser excluída",
|
"TagIsNotUsedAndCanBeDeleted": "A tag não é usada e pode ser excluída",
|
||||||
"Tags": "Etiquetas",
|
"Tags": "Tags",
|
||||||
"Tasks": "Tarefas",
|
"Tasks": "Tarefas",
|
||||||
"TestAll": "Testar tudo",
|
"TestAll": "Testar tudo",
|
||||||
"TestAllClients": "Testar todos os clientes",
|
"TestAllClients": "Testar todos os clientes",
|
||||||
@@ -391,14 +391,14 @@
|
|||||||
"UILanguageHelpTextWarning": "É necessário recarregar o navegador",
|
"UILanguageHelpTextWarning": "É necessário recarregar o navegador",
|
||||||
"UISettings": "Configurações da interface",
|
"UISettings": "Configurações da interface",
|
||||||
"UnableToAddANewRootFolderPleaseTryAgain": "Não foi possível adicionar uma nova pasta raiz, tente novamente.",
|
"UnableToAddANewRootFolderPleaseTryAgain": "Não foi possível adicionar uma nova pasta raiz, tente novamente.",
|
||||||
"UnableToLoadBackups": "Não é possível carregar backups",
|
"UnableToLoadBackups": "Não foi possível carregar os backups",
|
||||||
"UnableToLoadDelayProfiles": "Não foi possível carregar os perfis de atraso",
|
"UnableToLoadDelayProfiles": "Não foi possível carregar os perfis de atraso",
|
||||||
"UnableToLoadDownloadClientOptions": "Não foi possível carregar as opções do cliente de download",
|
"UnableToLoadDownloadClientOptions": "Não foi possível carregar as opções do cliente de download",
|
||||||
"UnableToLoadDownloadClients": "Não foi possível carregar os clientes de download",
|
"UnableToLoadDownloadClients": "Não foi possível carregar os clientes de download",
|
||||||
"UnableToLoadGeneralSettings": "Não foi possível carregar as configurações gerais",
|
"UnableToLoadGeneralSettings": "Não foi possível carregar as configurações gerais",
|
||||||
"UnableToLoadHistory": "Não foi possível carregar o histórico.",
|
"UnableToLoadHistory": "Não foi possível carregar o histórico.",
|
||||||
"UnableToLoadImportListExclusions": "Não foi possível carregar as exclusões de listas de importação",
|
"UnableToLoadImportListExclusions": "Não foi possível carregar Importar exclusões de lista",
|
||||||
"UnableToLoadIndexerOptions": "Não foi possível carregar as opções de indexador",
|
"UnableToLoadIndexerOptions": "Não foi possível carregar as opções do indexador",
|
||||||
"UnableToLoadIndexers": "Não foi possível carregar os indexadores",
|
"UnableToLoadIndexers": "Não foi possível carregar os indexadores",
|
||||||
"UnableToLoadLists": "Não foi possível carregar as listas",
|
"UnableToLoadLists": "Não foi possível carregar as listas",
|
||||||
"UnableToLoadMediaManagementSettings": "Não foi possível carregar as configurações de gerenciamento de mídia",
|
"UnableToLoadMediaManagementSettings": "Não foi possível carregar as configurações de gerenciamento de mídia",
|
||||||
@@ -419,7 +419,7 @@
|
|||||||
"UnmonitoredHelpText": "Incluir livros não monitorados no feed do iCal",
|
"UnmonitoredHelpText": "Incluir livros não monitorados no feed do iCal",
|
||||||
"UpdateAll": "Atualizar tudo",
|
"UpdateAll": "Atualizar tudo",
|
||||||
"UpdateAutomaticallyHelpText": "Baixe e instale atualizações automaticamente. Você ainda poderá instalar a partir do Sistema: Atualizações",
|
"UpdateAutomaticallyHelpText": "Baixe e instale atualizações automaticamente. Você ainda poderá instalar a partir do Sistema: Atualizações",
|
||||||
"UpdateMechanismHelpText": "Use o atualizador integrado do Readarr ou um script",
|
"UpdateMechanismHelpText": "Usar o atualizador integrado do Readarr ou um script",
|
||||||
"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",
|
"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",
|
"Updates": "Atualizações",
|
||||||
"UpgradeAllowedHelpText": "Se desabilitada, as qualidades não serão atualizadas",
|
"UpgradeAllowedHelpText": "Se desabilitada, as qualidades não serão atualizadas",
|
||||||
@@ -454,7 +454,7 @@
|
|||||||
"TrackNumber": "Número da faixa",
|
"TrackNumber": "Número da faixa",
|
||||||
"TotalBookCountBooksTotalBookFileCountBooksWithFilesInterp": "{0} livro(s) no total. {1} livro(s) com arquivos.",
|
"TotalBookCountBooksTotalBookFileCountBooksWithFilesInterp": "{0} livro(s) no total. {1} livro(s) com arquivos.",
|
||||||
"TheBooksFilesWillBeDeleted": "Os arquivos do livro serão excluídos.",
|
"TheBooksFilesWillBeDeleted": "Os arquivos do livro serão excluídos.",
|
||||||
"TagsHelpText": "Aplica-se a autores com pelo menos uma etiqueta correspondente. Deixe em branco para aplicar a todos os autores",
|
"TagsHelpText": "Aplica-se a autores com pelo menos uma tag correspondente. Deixe em branco para aplicar a todos os autores",
|
||||||
"StatusEndedDeceased": "Falecido",
|
"StatusEndedDeceased": "Falecido",
|
||||||
"StatusEndedContinuing": "Continuação",
|
"StatusEndedContinuing": "Continuação",
|
||||||
"SslCertPasswordHelpTextWarning": "Requer reinício para ter efeito",
|
"SslCertPasswordHelpTextWarning": "Requer reinício para ter efeito",
|
||||||
@@ -488,7 +488,7 @@
|
|||||||
"RescanAfterRefreshHelpText": "Verificar novamente a pasta de autor após atualizar o autor",
|
"RescanAfterRefreshHelpText": "Verificar novamente a pasta de autor após atualizar o autor",
|
||||||
"ReplaceIllegalCharactersHelpText": "Substituir caracteres ilegais. Se desmarcada, o Readarr irá removê-los",
|
"ReplaceIllegalCharactersHelpText": "Substituir caracteres ilegais. Se desmarcada, o Readarr irá removê-los",
|
||||||
"RenameBooks": "Renomear livros",
|
"RenameBooks": "Renomear livros",
|
||||||
"ReleaseProfiles": "Perfis de Lançamento",
|
"ReleaseProfiles": "Perfis de Lançamentos",
|
||||||
"RefreshInformation": "Atualizar informações",
|
"RefreshInformation": "Atualizar informações",
|
||||||
"RefreshAuthor": "Atualizar autor",
|
"RefreshAuthor": "Atualizar autor",
|
||||||
"ReadarrSupportsMultipleListsForImportingBooksAndAuthorsIntoTheDatabase": "O Readarr oferece suporte a várias listas para importar livros e autores para o banco de dados.",
|
"ReadarrSupportsMultipleListsForImportingBooksAndAuthorsIntoTheDatabase": "O Readarr oferece suporte a várias listas para importar livros e autores para o banco de dados.",
|
||||||
@@ -515,7 +515,7 @@
|
|||||||
"MusicBrainzRecordingID": "ID da gravação no MusicBrainz",
|
"MusicBrainzRecordingID": "ID da gravação no MusicBrainz",
|
||||||
"MusicBrainzBookID": "ID do livro no MusicBrainz",
|
"MusicBrainzBookID": "ID do livro no MusicBrainz",
|
||||||
"MusicBrainzAuthorID": "ID do autor no MusicBrainz",
|
"MusicBrainzAuthorID": "ID do autor no MusicBrainz",
|
||||||
"MonitoringOptions": "Opções de Monitoramento",
|
"MonitoringOptions": "Opções de monitoramento",
|
||||||
"MonitoredHelpText": "O Readarr pesquisará e baixará o livro",
|
"MonitoredHelpText": "O Readarr pesquisará e baixará o livro",
|
||||||
"MonitoredAuthorIsUnmonitored": "O autor não está sendo monitorado",
|
"MonitoredAuthorIsUnmonitored": "O autor não está sendo monitorado",
|
||||||
"MonitoredAuthorIsMonitored": "O autor está sendo monitorado",
|
"MonitoredAuthorIsMonitored": "O autor está sendo monitorado",
|
||||||
@@ -553,8 +553,8 @@
|
|||||||
"IsCalibreLibraryHelpText": "Usar o Servidor de Conteúdo do Calibre para gerenciar a biblioteca",
|
"IsCalibreLibraryHelpText": "Usar o Servidor de Conteúdo do Calibre para gerenciar a biblioteca",
|
||||||
"IndexerIdHelpText": "Especificar a qual indexador o perfil se aplica",
|
"IndexerIdHelpText": "Especificar a qual indexador o perfil se aplica",
|
||||||
"ImportLists": "Listas de importação",
|
"ImportLists": "Listas de importação",
|
||||||
"ImportListSettings": "Configurações Gerais da Lista de Importação",
|
"ImportListSettings": "Configurações gerais de Importar listas",
|
||||||
"ImportListExclusions": "Importar Lista de Exclusões",
|
"ImportListExclusions": "Importar exclusões de lista",
|
||||||
"ImportFailures": "Falhas na importação",
|
"ImportFailures": "Falhas na importação",
|
||||||
"IgnoreDeletedBooks": "Ignorar livros excluídos",
|
"IgnoreDeletedBooks": "Ignorar livros excluídos",
|
||||||
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "Se você não adicionar uma exclusão à lista de importação e o autor tiver um perfil de metadados diferente de \"Nenhum\", este livro poderá ser adicionado novamente durante a próxima atualização do autor.",
|
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "Se você não adicionar uma exclusão à lista de importação e o autor tiver um perfil de metadados diferente de \"Nenhum\", este livro poderá ser adicionado novamente durante a próxima atualização do autor.",
|
||||||
@@ -588,9 +588,9 @@
|
|||||||
"DiscNumber": "Número do disco",
|
"DiscNumber": "Número do disco",
|
||||||
"DiscCount": "Contagem de disco",
|
"DiscCount": "Contagem de disco",
|
||||||
"Development": "Desenvolvimento",
|
"Development": "Desenvolvimento",
|
||||||
"DeleteRootFolder": "Excluir Pasta Raiz",
|
"DeleteRootFolder": "Excluir pasta raiz",
|
||||||
"DeleteMetadataProfile": "Excluir perfil de metadados",
|
"DeleteMetadataProfile": "Excluir perfil de metadados",
|
||||||
"DeleteImportList": "Excluir Lista de Importação",
|
"DeleteImportList": "Excluir lista de importação",
|
||||||
"DeleteFilesHelpText": "Excluir arquivos do livro e pasta do autor",
|
"DeleteFilesHelpText": "Excluir arquivos do livro e pasta do autor",
|
||||||
"DeleteBookFileMessageText": "Tem certeza que deseja excluir {0}?",
|
"DeleteBookFileMessageText": "Tem certeza que deseja excluir {0}?",
|
||||||
"DeleteBookFile": "Excluir arquivo de livro",
|
"DeleteBookFile": "Excluir arquivo de livro",
|
||||||
@@ -608,7 +608,7 @@
|
|||||||
"ConsoleLogLevel": "Nível de log do console",
|
"ConsoleLogLevel": "Nível de log do console",
|
||||||
"CollapseMultipleBooksHelpText": "Recolher vários livros lançados no mesmo dia",
|
"CollapseMultipleBooksHelpText": "Recolher vários livros lançados no mesmo dia",
|
||||||
"CollapseMultipleBooks": "Recolher vários livros",
|
"CollapseMultipleBooks": "Recolher vários livros",
|
||||||
"ChownGroup": "chown Grupo",
|
"ChownGroup": "Fazer chown de grupo",
|
||||||
"CatalogNumber": "Número do Catálogo",
|
"CatalogNumber": "Número do Catálogo",
|
||||||
"CalibreUsername": "Nome de usuário do Calibre",
|
"CalibreUsername": "Nome de usuário do Calibre",
|
||||||
"CalibreUrlBase": "URL base do Calibre",
|
"CalibreUrlBase": "URL base do Calibre",
|
||||||
@@ -687,7 +687,7 @@
|
|||||||
"SeriesTotal": "Séries ({0})",
|
"SeriesTotal": "Séries ({0})",
|
||||||
"TooManyBooks": "Livros ausentes ou muitos? Modifique ou crie um novo",
|
"TooManyBooks": "Livros ausentes ou muitos? Modifique ou crie um novo",
|
||||||
"BlocklistRelease": "Lançamento na lista de bloqueio",
|
"BlocklistRelease": "Lançamento na lista de bloqueio",
|
||||||
"NoHistoryBlocklist": "Sem histórico na lista de bloqueio",
|
"NoHistoryBlocklist": "Não há lista de bloqueio no histórico",
|
||||||
"Blocklist": "Lista de Bloqueio",
|
"Blocklist": "Lista de Bloqueio",
|
||||||
"RemoveFromBlocklist": "Remover da lista de bloqueio",
|
"RemoveFromBlocklist": "Remover da lista de bloqueio",
|
||||||
"UnableToLoadBlocklist": "Incapaz de carregar a lista de bloqueio",
|
"UnableToLoadBlocklist": "Incapaz de carregar a lista de bloqueio",
|
||||||
@@ -734,20 +734,20 @@
|
|||||||
"OnBookFileDeleteHelpText": "Ao Excluir um Arquivo de Livro",
|
"OnBookFileDeleteHelpText": "Ao Excluir um Arquivo de Livro",
|
||||||
"OnBookTagUpdate": "Ao Atualizar Etiqueta de um Livro",
|
"OnBookTagUpdate": "Ao Atualizar Etiqueta de um Livro",
|
||||||
"OnDownloadFailure": "Na Falha do Download",
|
"OnDownloadFailure": "Na Falha do Download",
|
||||||
"OnGrab": "Ao Baixar",
|
"OnGrab": "Ao obter",
|
||||||
"OnHealthIssue": "Ao Problema de Saúde",
|
"OnHealthIssue": "Ao Problema de Saúde",
|
||||||
"OnImportFailure": "Em uma Falha de Importação",
|
"OnImportFailure": "Em uma Falha de Importação",
|
||||||
"OnReleaseImport": "Ao Importar Lançamento",
|
"OnReleaseImport": "Ao Importar Lançamento",
|
||||||
"OnRename": "Ao Renomear",
|
"OnRename": "Ao Renomear",
|
||||||
"OnUpgrade": "Ao Atualizar",
|
"OnUpgrade": "Ao Atualizar",
|
||||||
"AppDataLocationHealthCheckMessage": "A atualização não será possível para evitar a exclusão de AppData na atualização",
|
"AppDataLocationHealthCheckMessage": "A atualização não será possível para evitar a exclusão de AppData na atualização",
|
||||||
"IndexerSearchCheckNoInteractiveMessage": "Nenhum indexador disponível com a Pesquisa Interativa habilitada, o Readarr não fornecerá nenhum resultado de pesquisa interativa",
|
"IndexerSearchCheckNoInteractiveMessage": "Nenhum indexador disponível com a Pesquisa interativa habilitada, o Readarr não fornecerá nenhum resultado de pesquisa interativa",
|
||||||
"ConnectSettingsSummary": "Notificações, conexões com servidores/tocadores de mídia e scripts personalizados",
|
"ConnectSettingsSummary": "Notificações, conexões com servidores/tocadores de mídia e scripts personalizados",
|
||||||
"DownloadClientStatusCheckAllClientMessage": "Todos os clientes de download estão indisponíveis devido a falhas",
|
"DownloadClientStatusCheckAllClientMessage": "Todos os clientes de download estão indisponíveis devido a falhas",
|
||||||
"DownloadClientsSettingsSummary": "Clientes de download, gerenciamento de download e mapeamentos de caminhos remotos",
|
"DownloadClientsSettingsSummary": "Clientes de download, gerenciamento de download e mapeamentos de caminhos remotos",
|
||||||
"Yesterday": "Ontem",
|
"Yesterday": "Ontem",
|
||||||
"Connect": "Conectar",
|
"Connect": "Conectar",
|
||||||
"CouldntFindAnyResultsForTerm": "Não foi possível encontrar nenhum resultado para '{0}'",
|
"CouldntFindAnyResultsForTerm": "Não foi possível encontrar resultados para \"{0}\"",
|
||||||
"DownloadClientCheckNoneAvailableMessage": "Nenhum cliente de download está disponível",
|
"DownloadClientCheckNoneAvailableMessage": "Nenhum cliente de download está disponível",
|
||||||
"DownloadClientCheckUnableToCommunicateMessage": "Não é possível se comunicar com {0}.",
|
"DownloadClientCheckUnableToCommunicateMessage": "Não é possível se comunicar com {0}.",
|
||||||
"Duration": "Duração",
|
"Duration": "Duração",
|
||||||
@@ -759,9 +759,9 @@
|
|||||||
"FailedToLoadQueue": "Falha ao carregar a fila",
|
"FailedToLoadQueue": "Falha ao carregar a fila",
|
||||||
"DownloadClientStatusCheckSingleClientMessage": "Clientes de download indisponíveis devido a falhas: {0}",
|
"DownloadClientStatusCheckSingleClientMessage": "Clientes de download indisponíveis devido a falhas: {0}",
|
||||||
"EditBook": "Editar Livro",
|
"EditBook": "Editar Livro",
|
||||||
"FileWasDeletedByUpgrade": "Arquivo foi excluído para importar uma atualização",
|
"FileWasDeletedByUpgrade": "O arquivo foi excluído para importar uma atualização",
|
||||||
"Filters": "Filtros",
|
"Filters": "Filtros",
|
||||||
"ForeignId": "ID Estrangeiro",
|
"ForeignId": "ID estrangeiro",
|
||||||
"General": "Geral",
|
"General": "Geral",
|
||||||
"GeneralSettingsSummary": "Porta, SSL, nome de usuário/senha, proxy, análises e atualizações",
|
"GeneralSettingsSummary": "Porta, SSL, nome de usuário/senha, proxy, análises e atualizações",
|
||||||
"HealthNoIssues": "Nenhum problema com sua configuração",
|
"HealthNoIssues": "Nenhum problema com sua configuração",
|
||||||
@@ -769,7 +769,7 @@
|
|||||||
"IndexerRssHealthCheckNoAvailableIndexers": "Todos os indexadores compatíveis com rss estão temporariamente indisponíveis devido a erros recentes do indexador",
|
"IndexerRssHealthCheckNoAvailableIndexers": "Todos os indexadores compatíveis com rss estão temporariamente indisponíveis devido a erros recentes do indexador",
|
||||||
"IndexerSearchCheckNoAvailableIndexersMessage": "Todos os indexadores com capacidade de pesquisa estão temporariamente indisponíveis devido a erros recentes do indexador",
|
"IndexerSearchCheckNoAvailableIndexersMessage": "Todos os indexadores com capacidade de pesquisa estão temporariamente indisponíveis devido a erros recentes do indexador",
|
||||||
"ItsEasyToAddANewAuthorOrBookJustStartTypingTheNameOfTheItemYouWantToAdd": "É fácil adicionar um novo autor ou livro, basta começar a digitar o nome do item que deseja adicionar",
|
"ItsEasyToAddANewAuthorOrBookJustStartTypingTheNameOfTheItemYouWantToAdd": "É fácil adicionar um novo autor ou livro, basta começar a digitar o nome do item que deseja adicionar",
|
||||||
"MetadataSettingsSummary": "Criar arquivos de metadados quando os livros forem importados ou o autor for atualizado",
|
"MetadataSettingsSummary": "Criar arquivos de metadados ao importar livros ou atualizar o autor",
|
||||||
"ListsSettingsSummary": "Importar Listas",
|
"ListsSettingsSummary": "Importar Listas",
|
||||||
"ImportListStatusCheckSingleClientMessage": "Listas indisponíveis devido a falhas: {0}",
|
"ImportListStatusCheckSingleClientMessage": "Listas indisponíveis devido a falhas: {0}",
|
||||||
"ImportMechanismHealthCheckMessage": "Habilitar Gerenciamento de Download Concluído",
|
"ImportMechanismHealthCheckMessage": "Habilitar Gerenciamento de Download Concluído",
|
||||||
@@ -829,9 +829,9 @@
|
|||||||
"UISettingsSummary": "Opções de calendário, data e cores prejudicadas",
|
"UISettingsSummary": "Opções de calendário, data e cores prejudicadas",
|
||||||
"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}'.",
|
"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}'.",
|
||||||
"UpdateCheckStartupTranslocationMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{0}' está em uma pasta de translocação de aplicativo.",
|
"UpdateCheckStartupTranslocationMessage": "Não é possível instalar a atualização porque a pasta de inicialização '{0}' está em uma pasta de translocação de aplicativo.",
|
||||||
"TagsSettingsSummary": "Gerenciar etiquetas de autor, perfil, restrição e notificação",
|
"TagsSettingsSummary": "Gerenciar tags de autor, perfil, restrição e notificação",
|
||||||
"InstanceNameHelpText": "Nome da instância na aba e para o nome do aplicativo Syslog",
|
"InstanceNameHelpText": "Nome da instância na aba e para o nome do aplicativo Syslog",
|
||||||
"AddList": "Adicionar Lista",
|
"AddList": "Adicionar lista",
|
||||||
"DataExistingBooks": "Monitorar livros que você tem arquivos ou que não foram lançados ainda",
|
"DataExistingBooks": "Monitorar livros que você tem arquivos ou que não foram lançados ainda",
|
||||||
"DataListMonitorAll": "Monitorar autores e todos os livros para cada autor incluído na lista de importação",
|
"DataListMonitorAll": "Monitorar autores e todos os livros para cada autor incluído na lista de importação",
|
||||||
"DataListMonitorNone": "Não monitorar autores ou livros",
|
"DataListMonitorNone": "Não monitorar autores ou livros",
|
||||||
@@ -842,7 +842,7 @@
|
|||||||
"Test": "Teste",
|
"Test": "Teste",
|
||||||
"WriteMetadataTags": "Salvar tags de metadados",
|
"WriteMetadataTags": "Salvar tags de metadados",
|
||||||
"RestartRequiredHelpTextWarning": "Requer reinicialização para entrar em vigor",
|
"RestartRequiredHelpTextWarning": "Requer reinicialização para entrar em vigor",
|
||||||
"InstanceName": "Nome da Instância",
|
"InstanceName": "Nome da instância",
|
||||||
"ConvertToFormat": "Converter para o Formato",
|
"ConvertToFormat": "Converter para o Formato",
|
||||||
"DataAllBooks": "Monitorar todos os livros",
|
"DataAllBooks": "Monitorar todos os livros",
|
||||||
"DataFirstBook": "Monitorar o primeiro livro. Todos os outros livros serão ignorados",
|
"DataFirstBook": "Monitorar o primeiro livro. Todos os outros livros serão ignorados",
|
||||||
@@ -857,38 +857,38 @@
|
|||||||
"Database": "Banco de dados",
|
"Database": "Banco de dados",
|
||||||
"LoadingEditionsFailed": "Falha ao carregar edições",
|
"LoadingEditionsFailed": "Falha ao carregar edições",
|
||||||
"ManualImportSelectEdition": "Importação Manual - Selecionar Edição",
|
"ManualImportSelectEdition": "Importação Manual - Selecionar Edição",
|
||||||
"ApplicationURL": "URL do Aplicativo",
|
"ApplicationURL": "URL do aplicativo",
|
||||||
"ApplicationUrlHelpText": "A URL externa deste aplicativo, incluindo http(s)://, porta e base da URL",
|
"ApplicationUrlHelpText": "A URL externa deste aplicativo, incluindo http(s)://, porta e URL base",
|
||||||
"Theme": "Tema",
|
"Theme": "Tema",
|
||||||
"ThemeHelpText": "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",
|
"ThemeHelpText": "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",
|
||||||
"EnableRssHelpText": "Será usado quando o Readarr procurar periodicamente lançamentos via RSS Sync",
|
"EnableRssHelpText": "Será usado quando o Readarr procurar periodicamente lançamentos via RSS Sync",
|
||||||
"HardlinkCopyFiles": "Hardlink/Copiar Arquivos",
|
"HardlinkCopyFiles": "Criar hardlink/Copiar arquivos",
|
||||||
"MoveFiles": "Mover Arquivos",
|
"MoveFiles": "Mover arquivos",
|
||||||
"OnApplicationUpdate": "Na Atualização do Aplicativo",
|
"OnApplicationUpdate": "Na Atualização do Aplicativo",
|
||||||
"OnApplicationUpdateHelpText": "Ao atualizar o aplicativo",
|
"OnApplicationUpdateHelpText": "Ao atualizar o aplicativo",
|
||||||
"ChooseImportMethod": "Escolha o método de importação",
|
"ChooseImportMethod": "Escolha o método de importação",
|
||||||
"ClickToChangeReleaseGroup": "Clique para alterar o grupo de lançamento",
|
"ClickToChangeReleaseGroup": "Clique para alterar o grupo de lançamento",
|
||||||
"BypassIfAboveCustomFormatScore": "Ignorar se estiver acima da pontuação do formato personalizado",
|
"BypassIfAboveCustomFormatScore": "Ignorar se estiver acima da pontuação do formato personalizado",
|
||||||
"BypassIfAboveCustomFormatScoreHelpText": "Ativar ignorar quando a versão tiver uma pontuação maior que a pontuação mínima configurada do formato personalizado",
|
"BypassIfAboveCustomFormatScoreHelpText": "Ativar ignorar quando a versão tiver uma pontuação maior que a pontuação mínima configurada do formato personalizado",
|
||||||
"BypassIfHighestQuality": "Ignorar se a qualidade mais alta",
|
"BypassIfHighestQuality": "Ignorar se a qualidade é mais alta",
|
||||||
"BypassIfHighestQualityHelpText": "Ignorar o atraso quando o lançamento tiver a qualidade habilitada mais alta no perfil de qualidade",
|
"BypassIfHighestQualityHelpText": "Ignorar o atraso quando o lançamento tiver a qualidade habilitada mais alta no perfil de qualidade",
|
||||||
"CustomFormatScore": "Pontuação do formato personalizado",
|
"CustomFormatScore": "Pontuação do formato personalizado",
|
||||||
"MinimumCustomFormatScore": "Pontuação Mínima de Formato Personalizado",
|
"MinimumCustomFormatScore": "Pontuação mínima de formato personalizado",
|
||||||
"MinimumCustomFormatScoreHelpText": "Pontuação mínima de formato personalizado necessária para ignorar o atraso do protocolo preferido",
|
"MinimumCustomFormatScoreHelpText": "Pontuação mínima de formato personalizado necessária para ignorar o atraso do protocolo preferido",
|
||||||
"ApiKeyValidationHealthCheckMessage": "Atualize sua chave de API para ter pelo menos {0} caracteres. Você pode fazer isso através das configurações ou do arquivo de configuração",
|
"ApiKeyValidationHealthCheckMessage": "Atualize sua chave de API para ter pelo menos {0} caracteres. Você pode fazer isso através das configurações ou do arquivo de configuração",
|
||||||
"DeleteFormat": "Excluir Formato",
|
"DeleteFormat": "Excluir Formato",
|
||||||
"DataFutureBooks": "Monitorar livros que ainda não foram lançados",
|
"DataFutureBooks": "Monitorar livros que ainda não foram lançados",
|
||||||
"DeleteFormatMessageText": "Tem certeza de que deseja excluir a tag de formato '{0}'?",
|
"DeleteFormatMessageText": "Tem certeza de que deseja excluir a tag de formato '{0}'?",
|
||||||
"IncludeCustomFormatWhenRenamingHelpText": "'Incluir em {Formatos Personalizados} formato de renomeação'",
|
"IncludeCustomFormatWhenRenamingHelpText": "\"Incluir no formato de renomeação {Custom Formats}\"",
|
||||||
"IndexerTagsHelpText": "Use este indexador apenas para autores com pelo menos uma etiqueta correspondente. Deixe em branco para usar com todos os autores.",
|
"IndexerTagsHelpText": "Use este indexador apenas para autores com pelo menos uma tag correspondente. Deixe em branco para usar com todos os autores.",
|
||||||
"MinFormatScoreHelpText": "Pontuação mínima de formato personalizado permitida para download",
|
"MinFormatScoreHelpText": "Pontuação mínima de formato personalizado permitida para download",
|
||||||
"RecycleBinUnableToWriteHealthCheck": "Não é possível gravar na pasta da lixeira configurada: {0}. Certifique-se de que este caminho exista e seja gravável pelo usuário executando o Readarr",
|
"RecycleBinUnableToWriteHealthCheck": "Não é possível gravar na pasta da lixeira configurada: {0}. Certifique-se de que este caminho exista e seja gravável pelo usuário executando o Readarr",
|
||||||
"Clone": "Clonar",
|
"Clone": "Clonar",
|
||||||
"CloneCustomFormat": "Clonar formato personalizado",
|
"CloneCustomFormat": "Clonar formato personalizado",
|
||||||
"Conditions": "'Condições'",
|
"Conditions": "'Condições'",
|
||||||
"CopyToClipboard": "Copiar para área de transferência",
|
"CopyToClipboard": "Copiar para a área de transferência",
|
||||||
"CustomFormat": "Formato Personalizado",
|
"CustomFormat": "Formato personalizado",
|
||||||
"CustomFormatSettings": "Configurações do Formato Personalizado",
|
"CustomFormatSettings": "Configurações de formato personalizado",
|
||||||
"CustomFormats": "Formatos personalizados",
|
"CustomFormats": "Formatos personalizados",
|
||||||
"CutoffFormatScoreHelpText": "Depois que essa pontuação de formato personalizado for alcançada, Readarr não obterá mais lançamentos de livros",
|
"CutoffFormatScoreHelpText": "Depois que essa pontuação de formato personalizado for alcançada, Readarr não obterá mais lançamentos de livros",
|
||||||
"DeleteCustomFormat": "Excluir formato personalizado",
|
"DeleteCustomFormat": "Excluir formato personalizado",
|
||||||
@@ -906,20 +906,20 @@
|
|||||||
"ListRefreshInterval": "Intervalo de atualização da lista",
|
"ListRefreshInterval": "Intervalo de atualização da lista",
|
||||||
"ListWillRefreshEveryInterp": "A lista será atualizada a cada {0}",
|
"ListWillRefreshEveryInterp": "A lista será atualizada a cada {0}",
|
||||||
"ResetDefinitionTitlesHelpText": "Redefinir títulos de definição e valores",
|
"ResetDefinitionTitlesHelpText": "Redefinir títulos de definição e valores",
|
||||||
"ResetDefinitions": "Redefinir Definições",
|
"ResetDefinitions": "Redefinir definições",
|
||||||
"ResetTitles": "Redefinir títulos",
|
"ResetTitles": "Redefinir títulos",
|
||||||
"UnableToLoadCustomFormats": "Não foi possível carregar formatos personalizados",
|
"UnableToLoadCustomFormats": "Não foi possível carregar os formatos personalizados",
|
||||||
"HiddenClickToShow": "Oculto, clique para mostrar",
|
"HiddenClickToShow": "Oculto, clique para mostrar",
|
||||||
"HideAdvanced": "Ocultar Avançado",
|
"HideAdvanced": "Ocultar opções avançadas",
|
||||||
"ShowAdvanced": "Mostrar Avançado",
|
"ShowAdvanced": "Mostrar opções avançadas",
|
||||||
"ShownClickToHide": "Mostrado, clique para ocultar",
|
"ShownClickToHide": "Mostrado, clique para ocultar",
|
||||||
"ColonReplacement": "Substituto para dois-pontos",
|
"ColonReplacement": "Substituto para dois-pontos",
|
||||||
"DashOrSpaceDashDependingOnName": "Traço ou Traço e Espaço dependendo do nome",
|
"DashOrSpaceDashDependingOnName": "Traço ou Espaço e Traço, dependendo do nome",
|
||||||
"ReplaceWithDash": "Substituir por Traço",
|
"ReplaceWithDash": "Substituir por Traço",
|
||||||
"ReplaceWithSpaceDash": "Substituir por Espaço e Traço",
|
"ReplaceWithSpaceDash": "Substituir por Espaço e Traço",
|
||||||
"SmartReplace": "Substituição Inteligente",
|
"SmartReplace": "Substituição inteligente",
|
||||||
"ReplaceWithSpaceDashSpace": "Substituir com Espaço, Traço e Espaço",
|
"ReplaceWithSpaceDashSpace": "Substituir com Espaço, Traço e Espaço",
|
||||||
"DeleteRemotePathMapping": "Excluir Mapeamento de Caminho Remoto",
|
"DeleteRemotePathMapping": "Excluir mapeamento de caminho remoto",
|
||||||
"BlocklistReleases": "Lançamentos na lista de bloqueio",
|
"BlocklistReleases": "Lançamentos na lista de bloqueio",
|
||||||
"CloneCondition": "Clonar Condição",
|
"CloneCondition": "Clonar Condição",
|
||||||
"DeleteConditionMessageText": "Tem certeza de que deseja excluir a condição '{name}'?",
|
"DeleteConditionMessageText": "Tem certeza de que deseja excluir a condição '{name}'?",
|
||||||
@@ -934,10 +934,10 @@
|
|||||||
"Required": "Necessário",
|
"Required": "Necessário",
|
||||||
"ResetQualityDefinitions": "Redefinir definições de qualidade",
|
"ResetQualityDefinitions": "Redefinir definições de qualidade",
|
||||||
"ResetQualityDefinitionsMessageText": "Tem certeza de que deseja redefinir as definições de qualidade?",
|
"ResetQualityDefinitionsMessageText": "Tem certeza de que deseja redefinir as definições de qualidade?",
|
||||||
"BlocklistReleaseHelpText": "Evita que o Readarr pegue automaticamente esses arquivos novamente",
|
"BlocklistReleaseHelpText": "Impede que o Readarr obtenha automaticamente esses arquivos novamente",
|
||||||
"NoCutoffUnmetItems": "Nenhum item de corte não atendido",
|
"NoCutoffUnmetItems": "Nenhum item com limite não atendido",
|
||||||
"NoEventsFound": "Não foram encontrados eventos",
|
"NoEventsFound": "Não foram encontrados eventos",
|
||||||
"NoMissingItems": "Nenhum item faltando",
|
"NoMissingItems": "Nenhum item ausente",
|
||||||
"CountImportListsSelected": "{selectedCount} lista(s) de importação selecionada(s)",
|
"CountImportListsSelected": "{selectedCount} lista(s) de importação selecionada(s)",
|
||||||
"CountIndexersSelected": "{selectedCount} indexador(es) selecionado(s)",
|
"CountIndexersSelected": "{selectedCount} indexador(es) selecionado(s)",
|
||||||
"EditSelectedDownloadClients": "Editar clientes de download selecionados",
|
"EditSelectedDownloadClients": "Editar clientes de download selecionados",
|
||||||
@@ -955,18 +955,18 @@
|
|||||||
"RemoveFailedDownloads": "Remover downloads com falha",
|
"RemoveFailedDownloads": "Remover downloads com falha",
|
||||||
"RemoveDownloadsAlert": "As configurações de remoção foram movidas para as configurações individuais do cliente de download na tabela acima.",
|
"RemoveDownloadsAlert": "As configurações de remoção foram movidas para as configurações individuais do cliente de download na tabela acima.",
|
||||||
"RemoveFailed": "Falha na remoção",
|
"RemoveFailed": "Falha na remoção",
|
||||||
"SetTags": "Definir etiquetas",
|
"SetTags": "Definir tags",
|
||||||
"Yes": "Sim",
|
"Yes": "Sim",
|
||||||
"ApplyTagsHelpTextHowToApplyAuthors": "Como aplicar etiquetas aos autores selecionados",
|
"ApplyTagsHelpTextHowToApplyAuthors": "Como aplicar tags aos autores selecionados",
|
||||||
"ManageDownloadClients": "Gerenciar clientes de download",
|
"ManageDownloadClients": "Gerenciar clientes de download",
|
||||||
"ManageImportLists": "Gerenciar listas de importação",
|
"ManageImportLists": "Gerenciar listas de importação",
|
||||||
"RemoveCompleted": "Remoção Concluída",
|
"RemoveCompleted": "Remoção Concluída",
|
||||||
"AutoAdd": "Adicionar automaticamente",
|
"AutoAdd": "Adicionar automaticamente",
|
||||||
"AutomaticAdd": "Adição Automática",
|
"AutomaticAdd": "Adição Automática",
|
||||||
"ApplyChanges": "Aplicar Mudanças",
|
"ApplyChanges": "Aplicar Mudanças",
|
||||||
"ApplyTagsHelpTextAdd": "Adicionar: adicione as etiquetas à lista existente de etiquetas",
|
"ApplyTagsHelpTextAdd": "Adicionar: Adicione as tags à lista existente de tags",
|
||||||
"ApplyTagsHelpTextRemove": "Remover: remove as etiquetas inseridas",
|
"ApplyTagsHelpTextRemove": "Remover: Remove as tags inseridas",
|
||||||
"ApplyTagsHelpTextReplace": "Substituir: Substitua as etiquetas pelas etiquetas inseridas (não digite nenhuma etiqueta para limpar todas as etiquetas)",
|
"ApplyTagsHelpTextReplace": "Substituir: Substitua as tags pelas tags inseridas (não digite nenhuma tag para limpar todas as tags)",
|
||||||
"ApplyTagsHelpTextHowToApplyDownloadClients": "Como aplicar tags aos clientes de download selecionados",
|
"ApplyTagsHelpTextHowToApplyDownloadClients": "Como aplicar tags aos clientes de download selecionados",
|
||||||
"ApplyTagsHelpTextHowToApplyImportLists": "Como aplicar tags às listas de importação selecionadas",
|
"ApplyTagsHelpTextHowToApplyImportLists": "Como aplicar tags às listas de importação selecionadas",
|
||||||
"ApplyTagsHelpTextHowToApplyIndexers": "Como aplicar tags aos indexadores selecionados",
|
"ApplyTagsHelpTextHowToApplyIndexers": "Como aplicar tags aos indexadores selecionados",
|
||||||
@@ -977,11 +977,11 @@
|
|||||||
"DeleteSelectedImportLists": "Excluir lista(s) de importação",
|
"DeleteSelectedImportLists": "Excluir lista(s) de importação",
|
||||||
"DeleteSelectedImportListsMessageText": "Tem certeza de que deseja excluir {count} lista(s) de importação selecionada(s)?",
|
"DeleteSelectedImportListsMessageText": "Tem certeza de que deseja excluir {count} lista(s) de importação selecionada(s)?",
|
||||||
"DeleteSelectedIndexers": "Excluir indexador(es)",
|
"DeleteSelectedIndexers": "Excluir indexador(es)",
|
||||||
"DownloadClientTagHelpText": "Use este cliente de download apenas para autores com pelo menos uma etiqueta correspondente. Deixe em branco para usar com todos os autores.",
|
"DownloadClientTagHelpText": "Use este cliente de download apenas para autores com pelo menos uma tag correspondente. Deixe em branco para usar com todos os autores.",
|
||||||
"ExistingTag": "Etiqueta existente",
|
"ExistingTag": "Tag existente",
|
||||||
"No": "Não",
|
"No": "Não",
|
||||||
"RemoveCompletedDownloads": "Remover downloads concluídos",
|
"RemoveCompletedDownloads": "Remover downloads concluídos",
|
||||||
"RemovingTag": "Removendo etiqueta",
|
"RemovingTag": "Removendo a tag",
|
||||||
"SkipRedownloadHelpText": "Impede Readarr de tentar baixar versões alternativas para os itens removidos",
|
"SkipRedownloadHelpText": "Impede Readarr de tentar baixar versões alternativas para os itens removidos",
|
||||||
"IndexerDownloadClientHealthCheckMessage": "Indexadores com clientes de download inválidos: {0}.",
|
"IndexerDownloadClientHealthCheckMessage": "Indexadores com clientes de download inválidos: {0}.",
|
||||||
"Activity": "Atividade",
|
"Activity": "Atividade",
|
||||||
@@ -1004,19 +1004,22 @@
|
|||||||
"Ui": "IU",
|
"Ui": "IU",
|
||||||
"NotificationStatusAllClientHealthCheckMessage": "Todas as notificações estão indisponíveis devido a falhas",
|
"NotificationStatusAllClientHealthCheckMessage": "Todas as notificações estão indisponíveis devido a falhas",
|
||||||
"NotificationStatusSingleClientHealthCheckMessage": "Notificações indisponíveis devido a falhas: {0}",
|
"NotificationStatusSingleClientHealthCheckMessage": "Notificações indisponíveis devido a falhas: {0}",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "Todos os resultados são ocultados pelo filtro aplicado",
|
"AllResultsAreHiddenByTheAppliedFilter": "Todos os resultados estão ocultos pelo filtro aplicado",
|
||||||
"SomeResultsAreHiddenByTheAppliedFilter": "Alguns resultados estão ocultos pelo filtro aplicado",
|
"SomeResultsAreHiddenByTheAppliedFilter": "Alguns resultados estão ocultos pelo filtro aplicado",
|
||||||
"NoResultsFound": "Nenhum resultado encontrado",
|
"NoResultsFound": "Nenhum resultado encontrado",
|
||||||
"ConnectionLostReconnect": "{appName} tentará se conectar automaticamente ou você pode clicar em recarregar abaixo.",
|
"ConnectionLostReconnect": "{appName} tentará se conectar automaticamente ou você pode clicar em recarregar abaixo.",
|
||||||
"AutomaticUpdatesDisabledDocker": "As atualizações automáticas não têm suporte direto ao usar o mecanismo de atualização do Docker. Você precisará atualizar a imagem do contêiner fora de {appName} ou usar um script",
|
"AutomaticUpdatesDisabledDocker": "As atualizações automáticas não têm suporte direto ao usar o mecanismo de atualização do Docker. Você precisará atualizar a imagem do contêiner fora de {appName} ou usar um script",
|
||||||
"WouldYouLikeToRestoreBackup": "Gostaria de restaurar o backup '{name}'?",
|
"WouldYouLikeToRestoreBackup": "Gostaria de restaurar o backup '{name}'?",
|
||||||
"AppUpdated": "{appName} Atualizado",
|
"AppUpdated": "{appName} atualizado",
|
||||||
"AppUpdatedVersion": "{appName} foi atualizado para a versão `{version}`, para obter as alterações mais recentes, você precisará recarregar {appName}",
|
"AppUpdatedVersion": "{appName} foi atualizado para a versão `{version}`. Para obter as alterações mais recentes, você precisará recarregar {appName}",
|
||||||
"ConnectionLost": "Conexão Perdida",
|
"ConnectionLost": "Conexão perdida",
|
||||||
"ConnectionLostToBackend": "{appName} perdeu sua conexão com o backend e precisará ser recarregado para restaurar a funcionalidade.",
|
"ConnectionLostToBackend": "{appName} perdeu a conexão com o backend e precisará ser recarregado para restaurar a funcionalidade.",
|
||||||
"CountAuthorsSelected": "{selectedCount} autor(es) selecionado(s)",
|
"CountAuthorsSelected": "{selectedCount} autor(es) selecionado(s)",
|
||||||
"RecentChanges": "Mudanças Recentes",
|
"RecentChanges": "Mudanças Recentes",
|
||||||
"WhatsNew": "O que há de novo?",
|
"WhatsNew": "O que há de novo?",
|
||||||
"RemotePathMappingsInfo": "Raramente são necessários mapeamentos de caminho remoto, se {app} e seu cliente de download estiverem no mesmo sistema, é melhor combinar seus caminhos. Para obter mais informações, consulte o [wiki]({wikiLink}).",
|
"RemotePathMappingsInfo": "Raramente são necessários mapeamentos de caminho remoto, se {app} e seu cliente de download estiverem no mesmo sistema, é melhor combinar seus caminhos. Para obter mais informações, consulte o [wiki]({wikiLink}).",
|
||||||
"ErrorLoadingContent": "Ocorreu um erro ao carregar este conteúdo"
|
"ErrorLoadingContent": "Ocorreu um erro ao carregar este conteúdo",
|
||||||
|
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "O cliente de download {0} está configurado para remover downloads concluídos. Isso pode resultar na remoção dos downloads do seu cliente antes que {1} possa importá-los.",
|
||||||
|
"OnAuthorAdded": "Sobre o Autor Adicionado",
|
||||||
|
"OnAuthorAddedHelpText": "Sobre o Autor Adicionado"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -372,7 +372,7 @@
|
|||||||
"TestAllIndexers": "Testați toate indexatoarele",
|
"TestAllIndexers": "Testați toate indexatoarele",
|
||||||
"TestAllLists": "Testați toate listele",
|
"TestAllLists": "Testați toate listele",
|
||||||
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Acest lucru se va aplica tuturor indexatorilor, vă rugăm să urmați regulile stabilite de aceștia",
|
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Acest lucru se va aplica tuturor indexatorilor, vă rugăm să urmați regulile stabilite de aceștia",
|
||||||
"TimeFormat": "Format de timp",
|
"TimeFormat": "Format ora",
|
||||||
"Title": "Titlu",
|
"Title": "Titlu",
|
||||||
"TorrentDelay": "Întârziere Torrent",
|
"TorrentDelay": "Întârziere Torrent",
|
||||||
"TorrentDelayHelpText": "Întârziați în câteva minute pentru a aștepta înainte de a apuca un torent",
|
"TorrentDelayHelpText": "Întârziați în câteva minute pentru a aștepta înainte de a apuca un torent",
|
||||||
@@ -642,5 +642,7 @@
|
|||||||
"AddNew": "Adaugă nou",
|
"AddNew": "Adaugă nou",
|
||||||
"Medium": "Mediu",
|
"Medium": "Mediu",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "Toate rezultatele sunt ascunse de filtrul aplicat",
|
"AllResultsAreHiddenByTheAppliedFilter": "Toate rezultatele sunt ascunse de filtrul aplicat",
|
||||||
"Backup": "Copie de rezervă"
|
"Backup": "Copie de rezervă",
|
||||||
|
"AppUpdated": "{appName} actualizat",
|
||||||
|
"BlocklistReleaseHelpText": "Împiedică Radarr să apuce automat această versiune din nou"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"45MinutesFourtyFive": "60 минут: {0}",
|
"45MinutesFourtyFive": "60 минут: {0}",
|
||||||
"60MinutesSixty": "60 минут: {0}",
|
"60MinutesSixty": "60 минут: {0}",
|
||||||
"APIKey": "API ключ",
|
"APIKey": "API ключ",
|
||||||
"About": "Подробности",
|
"About": "Об",
|
||||||
"AddListExclusion": "Добавить исключения списка",
|
"AddListExclusion": "Добавить исключения списка",
|
||||||
"AddingTag": "Добавить ярлык",
|
"AddingTag": "Добавить ярлык",
|
||||||
"AgeWhenGrabbed": "Возраст (когда захвачен)",
|
"AgeWhenGrabbed": "Возраст (когда захвачен)",
|
||||||
|
|||||||
@@ -628,5 +628,8 @@
|
|||||||
"AddNew": "Yeni ekle",
|
"AddNew": "Yeni ekle",
|
||||||
"Large": "Büyük",
|
"Large": "Büyük",
|
||||||
"LastDuration": "lastDuration",
|
"LastDuration": "lastDuration",
|
||||||
"AllResultsAreHiddenByTheAppliedFilter": "Tüm sonuçlar, uygulanan filtre tarafından gizlenir"
|
"AllResultsAreHiddenByTheAppliedFilter": "Tüm sonuçlar, uygulanan filtre tarafından gizlenir",
|
||||||
|
"Library": "kütüphane",
|
||||||
|
"MetadataProfile": "üstveri profili",
|
||||||
|
"MetadataProfiles": "üstveri profili"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,30 +4,30 @@
|
|||||||
"History": "历史记录",
|
"History": "历史记录",
|
||||||
"Host": "主机",
|
"Host": "主机",
|
||||||
"PortNumber": "端口号",
|
"PortNumber": "端口号",
|
||||||
"PosterSize": "海报尺寸",
|
"PosterSize": "海报大小",
|
||||||
"AddingTag": "添加标签",
|
"AddingTag": "添加标签",
|
||||||
"AgeWhenGrabbed": "发布时长",
|
"AgeWhenGrabbed": "年龄(在被抓取后)",
|
||||||
"AlreadyInYourLibrary": "已经在你的库中",
|
"AlreadyInYourLibrary": "已经在你的库中",
|
||||||
"AlternateTitles": "备选标题",
|
"AlternateTitles": "别名",
|
||||||
"Analytics": "分析",
|
"Analytics": "分析",
|
||||||
"AnalyticsEnabledHelpText": "发送匿名使用信息和错误信息给我们,这些信息包括您的浏览器信息,使用的Web界面,错误报告,操作系统及运行版本。我们会根据这些信息来调整功能和修复问题的优先级。",
|
"AnalyticsEnabledHelpText": "发送匿名使用和错误信息到Readarr的服务器。这包括有关浏览器的信息、您使用的Readarr web页面、错误报告以及操作系统和运行时版本。我们将使用这些信息来确定功能和bug修复的优先级。",
|
||||||
"AnalyticsEnabledHelpTextWarning": "需要重启才能生效",
|
"AnalyticsEnabledHelpTextWarning": "需要重启生效",
|
||||||
"AppDataDirectory": "AppData目录",
|
"AppDataDirectory": "AppData目录",
|
||||||
"ApplyTags": "应用标签",
|
"ApplyTags": "应用标签",
|
||||||
"Authentication": "认证",
|
"Authentication": "认证",
|
||||||
"AuthenticationMethodHelpText": "您需要用户名和密码来访问Radarr",
|
"AuthenticationMethodHelpText": "您需要用户名和密码来访问Radarr",
|
||||||
"AuthorClickToChangeBook": "点击更改影片",
|
"AuthorClickToChangeBook": "点击更改图书",
|
||||||
"AutoRedownloadFailedHelpText": "自动搜索并尝试下载不同的版本",
|
"AutoRedownloadFailedHelpText": "自动搜索并尝试下载不同的版本",
|
||||||
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "从磁盘中删除的影片会自动在 Radarr 中取消监控",
|
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "从磁盘中删除的影片会自动在 Radarr 中取消监控",
|
||||||
"Automatic": "自动化",
|
"Automatic": "自动化",
|
||||||
"BackupFolderHelpText": "相对路径将在Radarr的AppData目录下",
|
"BackupFolderHelpText": "相对路径位于Readarr的AppData目录下",
|
||||||
"BackupNow": "马上备份",
|
"BackupNow": "马上备份",
|
||||||
"BackupRetentionHelpText": "早于保留周期的自动备份将被自动清除",
|
"BackupRetentionHelpText": "超过保留期限的自动备份将被自动清理",
|
||||||
"Backups": "历史备份",
|
"Backups": "历史备份",
|
||||||
"BindAddress": "绑定地址",
|
"BindAddress": "绑定地址",
|
||||||
"BindAddressHelpTextWarning": "需重启以生效",
|
"BindAddressHelpTextWarning": "需要重启生效",
|
||||||
"BookIsDownloading": "影片正在下载中",
|
"BookIsDownloading": "影片正在下载中",
|
||||||
"BookIsDownloadingInterp": "影片正在下载中 - {0}% {1}",
|
"BookIsDownloadingInterp": "书籍正在下载中 - {0}% {1}",
|
||||||
"Branch": "分支",
|
"Branch": "分支",
|
||||||
"BypassProxyForLocalAddresses": "对局域网地址不使用代理",
|
"BypassProxyForLocalAddresses": "对局域网地址不使用代理",
|
||||||
"Calendar": "日历",
|
"Calendar": "日历",
|
||||||
@@ -38,11 +38,11 @@
|
|||||||
"CertificateValidationHelpText": "改变HTTPS证书验证的严格程度。不要更改除非您了解风险。",
|
"CertificateValidationHelpText": "改变HTTPS证书验证的严格程度。不要更改除非您了解风险。",
|
||||||
"ChangeFileDate": "修改文件日期",
|
"ChangeFileDate": "修改文件日期",
|
||||||
"ChangeHasNotBeenSavedYet": "修改暂未保存",
|
"ChangeHasNotBeenSavedYet": "修改暂未保存",
|
||||||
"ChmodFolderHelpTextWarning": "这只在运行Radarr的用户是文件所有者的情况下才有效。最好确保下载客户端正确设置权限。",
|
"ChmodFolderHelpTextWarning": "只有当运行Readarr的用户是文件的所有者时,这才有效。最好确保下载客户端正确设置了权限。",
|
||||||
"ChownGroupHelpText": "组名称或GID。对于远程文件系统请使用GID。",
|
"ChownGroupHelpText": "组名称或GID。对于远程文件系统请使用GID。",
|
||||||
"ChownGroupHelpTextWarning": "这只在运行Radarr的用户是文件所有者的情况下才有效。最好确保下载客户端使用与Radarr相同的组。",
|
"ChownGroupHelpTextWarning": "这只在运行Radarr的用户是文件所有者的情况下才有效。最好确保下载客户端使用与Radarr相同的组。",
|
||||||
"Clear": "清除",
|
"Clear": "清除",
|
||||||
"ClickToChangeQuality": "点击修改质量",
|
"ClickToChangeQuality": "点击更改质量",
|
||||||
"ClientPriority": "客户端优先级",
|
"ClientPriority": "客户端优先级",
|
||||||
"CloneIndexer": "复制索引器",
|
"CloneIndexer": "复制索引器",
|
||||||
"CloneProfile": "复制配置",
|
"CloneProfile": "复制配置",
|
||||||
@@ -51,12 +51,12 @@
|
|||||||
"CompletedDownloadHandling": "完成下载处理",
|
"CompletedDownloadHandling": "完成下载处理",
|
||||||
"ConnectSettings": "连接设置",
|
"ConnectSettings": "连接设置",
|
||||||
"Connections": "连接",
|
"Connections": "连接",
|
||||||
"CopyUsingHardlinksHelpText": "拷贝文件时torrents文件还在做种中则使用硬链接",
|
"CopyUsingHardlinksHelpText": "硬链接允许Readarr导入播放种子到剧集文件夹,而无需占用额外的磁盘空间或复制文件的整个内容。只有当源和目标在同一卷上时,硬链接才会起作用",
|
||||||
"CopyUsingHardlinksHelpTextWarning": "有时候,文件锁可能会阻止对正在做种的文件进行重命名。您可以暂时禁用做种功能,并使用Radarr的重命名功能作为解决方案。",
|
"CopyUsingHardlinksHelpTextWarning": "有时候,文件锁可能会阻止对正在做种的文件进行重命名。您可以暂时禁用做种功能,并使用Radarr的重命名功能作为解决方案。",
|
||||||
"CreateEmptyAuthorFoldersHelpText": "硬盘扫描过程中创建缺失的电影目录",
|
"CreateEmptyAuthorFoldersHelpText": "硬盘扫描过程中创建缺失的电影目录",
|
||||||
"CreateGroup": "创建组",
|
"CreateGroup": "创建组",
|
||||||
"CutoffHelpText": "一旦质量满足则Radarr不会再下载影片",
|
"CutoffHelpText": "一旦质量满足则Radarr不会再下载影片",
|
||||||
"CutoffUnmet": "终止未满足",
|
"CutoffUnmet": "未达截止条件",
|
||||||
"DBMigration": "数据库迁移版本",
|
"DBMigration": "数据库迁移版本",
|
||||||
"Dates": "日期",
|
"Dates": "日期",
|
||||||
"DelayProfile": "延时配置",
|
"DelayProfile": "延时配置",
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
"DelayingDownloadUntilInterp": "延时下载直到 {1} 在 {0} 之前 Delaying download until {0} at {1}",
|
"DelayingDownloadUntilInterp": "延时下载直到 {1} 在 {0} 之前 Delaying download until {0} at {1}",
|
||||||
"Delete": "删除",
|
"Delete": "删除",
|
||||||
"DeleteBackup": "删除备份",
|
"DeleteBackup": "删除备份",
|
||||||
"DeleteBackupMessageText": "您确定要删除备份 '{0}' 吗?",
|
"DeleteBackupMessageText": "您确定要删除备份“{name}”吗?",
|
||||||
"DeleteDelayProfile": "删除延迟配置",
|
"DeleteDelayProfile": "删除延迟配置",
|
||||||
"DeleteDelayProfileMessageText": "你确定要删除此延迟配置吗?",
|
"DeleteDelayProfileMessageText": "你确定要删除此延迟配置吗?",
|
||||||
"DeleteDownloadClient": "删除下载客户端",
|
"DeleteDownloadClient": "删除下载客户端",
|
||||||
@@ -75,19 +75,19 @@
|
|||||||
"DeleteImportListExclusionMessageText": "你确定要删除这个导入排除列表吗?",
|
"DeleteImportListExclusionMessageText": "你确定要删除这个导入排除列表吗?",
|
||||||
"DeleteImportListMessageText": "您确定要删除列表 “{name}” 吗?",
|
"DeleteImportListMessageText": "您确定要删除列表 “{name}” 吗?",
|
||||||
"DeleteIndexer": "删除索引器",
|
"DeleteIndexer": "删除索引器",
|
||||||
"DeleteIndexerMessageText": "您确定要删除索引器 “{name}” 吗?",
|
"DeleteIndexerMessageText": "您确定要删除索引器“{name}”吗?",
|
||||||
"DeleteMetadataProfileMessageText": "确定要删除元数据配置吗‘{0}’?",
|
"DeleteMetadataProfileMessageText": "您确定要删除元数据配置文件“{name}”吗?",
|
||||||
"DeleteNotification": "删除消息推送",
|
"DeleteNotification": "删除消息推送",
|
||||||
"DeleteNotificationMessageText": "您确定要删除消息推送 “{name}” 吗?",
|
"DeleteNotificationMessageText": "您确定要删除通知“{name}”吗?",
|
||||||
"DeleteQualityProfile": "删除质量配置",
|
"DeleteQualityProfile": "删除质量配置",
|
||||||
"DeleteQualityProfileMessageText": "你确定要删除质量配置 “{name}” 吗?",
|
"DeleteQualityProfileMessageText": "您确定要删除质量配置“{name}”吗?",
|
||||||
"DeleteReleaseProfile": "删除发布组配置",
|
"DeleteReleaseProfile": "删除发布组配置",
|
||||||
"DeleteReleaseProfileMessageText": "您确定要删除这个发行配置?",
|
"DeleteReleaseProfileMessageText": "您确定要删除这个发行配置?",
|
||||||
"DeleteSelectedBookFiles": "删除选择的电影文件",
|
"DeleteSelectedBookFiles": "删除选择的电影文件",
|
||||||
"DeleteSelectedBookFilesMessageText": "您确定要删除选择的电影文件吗?",
|
"DeleteSelectedBookFilesMessageText": "您确定要删除选择的电影文件吗?",
|
||||||
"DeleteTagMessageText": "您确定要删除标签 '{0}' 吗?",
|
"DeleteTagMessageText": "您确定要删除标签 '{0}' 吗?",
|
||||||
"DestinationPath": "目的路径",
|
"DestinationPath": "目标路径",
|
||||||
"DetailedProgressBar": "详细的进度条",
|
"DetailedProgressBar": "详细进度条",
|
||||||
"DetailedProgressBarHelpText": "在进度条上显示文本",
|
"DetailedProgressBarHelpText": "在进度条上显示文本",
|
||||||
"DiskSpace": "硬盘空间",
|
"DiskSpace": "硬盘空间",
|
||||||
"Docker": "Docker",
|
"Docker": "Docker",
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
"EnableSSL": "启用SSL",
|
"EnableSSL": "启用SSL",
|
||||||
"EnableSslHelpText": " 重启生效",
|
"EnableSslHelpText": " 重启生效",
|
||||||
"Ended": "已完结",
|
"Ended": "已完结",
|
||||||
"ErrorLoadingContents": "读取内容错误",
|
"ErrorLoadingContents": "加载内容出错",
|
||||||
"ErrorLoadingPreviews": "读取预告片错误",
|
"ErrorLoadingPreviews": "读取预告片错误",
|
||||||
"Exception": "例外",
|
"Exception": "例外",
|
||||||
"ExtraFileExtensionsHelpTexts1": "导入逗号分隔其他文件(.nfo将做为.nfo-orig被导入)",
|
"ExtraFileExtensionsHelpTexts1": "导入逗号分隔其他文件(.nfo将做为.nfo-orig被导入)",
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
"ICalFeed": "iCal订阅地址",
|
"ICalFeed": "iCal订阅地址",
|
||||||
"ICalHttpUrlHelpText": "将此URL复制到您的客户端,如果您的浏览器支持webcal,请直接点击右侧订阅按钮",
|
"ICalHttpUrlHelpText": "将此URL复制到您的客户端,如果您的浏览器支持webcal,请直接点击右侧订阅按钮",
|
||||||
"ICalLink": "iCal链接",
|
"ICalLink": "iCal链接",
|
||||||
"IconForCutoffUnmet": "未满足停止监控的图标",
|
"IconForCutoffUnmet": "未达截止条件的图标",
|
||||||
"IconTooltip": "计划中",
|
"IconTooltip": "计划中",
|
||||||
"IgnoredAddresses": "已忽略地址",
|
"IgnoredAddresses": "已忽略地址",
|
||||||
"IgnoredHelpText": "如版本包含一个或多个条件则丢弃(无视大小写)",
|
"IgnoredHelpText": "如版本包含一个或多个条件则丢弃(无视大小写)",
|
||||||
@@ -161,7 +161,7 @@
|
|||||||
"IncludeUnmonitored": "包含未监控的",
|
"IncludeUnmonitored": "包含未监控的",
|
||||||
"Indexer": "索引器",
|
"Indexer": "索引器",
|
||||||
"IndexerPriority": "索引器优先级",
|
"IndexerPriority": "索引器优先级",
|
||||||
"IndexerSettings": "搜刮器设置",
|
"IndexerSettings": "索引器设置",
|
||||||
"Indexers": "索引器",
|
"Indexers": "索引器",
|
||||||
"Interval": "间隔",
|
"Interval": "间隔",
|
||||||
"IsCutoffCutoff": "截止",
|
"IsCutoffCutoff": "截止",
|
||||||
@@ -204,11 +204,11 @@
|
|||||||
"NamingSettings": "命名设置",
|
"NamingSettings": "命名设置",
|
||||||
"New": "新的",
|
"New": "新的",
|
||||||
"NoBackupsAreAvailable": "无备份可用",
|
"NoBackupsAreAvailable": "无备份可用",
|
||||||
"NoHistory": "无历史记录",
|
"NoHistory": "无历史记录。",
|
||||||
"NoLeaveIt": "不,就这样",
|
"NoLeaveIt": "不,就这样",
|
||||||
"NoLimitForAnyRuntime": "不限制任何歌曲时长",
|
"NoLimitForAnyRuntime": "不限制任何运行环境",
|
||||||
"NoLogFiles": "没有日志文件",
|
"NoLogFiles": "没有日志文件",
|
||||||
"NoMinimumForAnyRuntime": "歌曲时间没有最小限制",
|
"NoMinimumForAnyRuntime": "运行环境没有最小限制",
|
||||||
"NoUpdatesAreAvailable": "无可用更新",
|
"NoUpdatesAreAvailable": "无可用更新",
|
||||||
"None": "无",
|
"None": "无",
|
||||||
"NotificationTriggers": "通知触发器",
|
"NotificationTriggers": "通知触发器",
|
||||||
@@ -216,10 +216,10 @@
|
|||||||
"OnHealthIssueHelpText": "健康度异常",
|
"OnHealthIssueHelpText": "健康度异常",
|
||||||
"OnRenameHelpText": "重命名中",
|
"OnRenameHelpText": "重命名中",
|
||||||
"OnUpgradeHelpText": "升级中",
|
"OnUpgradeHelpText": "升级中",
|
||||||
"OpenBrowserOnStart": "打开浏览器时启动",
|
"OpenBrowserOnStart": "启动时打开浏览器",
|
||||||
"Options": "选项",
|
"Options": "选项",
|
||||||
"Original": "原始的",
|
"Original": "原始的",
|
||||||
"Overview": "概述",
|
"Overview": "概览",
|
||||||
"PackageVersion": "Package版本",
|
"PackageVersion": "Package版本",
|
||||||
"PageSize": "页面大小",
|
"PageSize": "页面大小",
|
||||||
"PageSizeHelpText": "每页显示的项目数",
|
"PageSizeHelpText": "每页显示的项目数",
|
||||||
@@ -228,7 +228,7 @@
|
|||||||
"Permissions": "权限",
|
"Permissions": "权限",
|
||||||
"Port": "端口",
|
"Port": "端口",
|
||||||
"PortHelpTextWarning": "重启生效",
|
"PortHelpTextWarning": "重启生效",
|
||||||
"PreviewRename": "预览重命名",
|
"PreviewRename": "重命名预览",
|
||||||
"Profiles": "配置",
|
"Profiles": "配置",
|
||||||
"Proper": "合适的",
|
"Proper": "合适的",
|
||||||
"PropersAndRepacks": "适合的和重封装的Propers and Repacks",
|
"PropersAndRepacks": "适合的和重封装的Propers and Repacks",
|
||||||
@@ -251,7 +251,7 @@
|
|||||||
"ReadarrSupportsAnyIndexerThatUsesTheNewznabStandardAsWellAsOtherIndexersListedBelow": "Radarr支持任何使用Newznab标准的搜刮器,以及下面列出的其他搜刮器。",
|
"ReadarrSupportsAnyIndexerThatUsesTheNewznabStandardAsWellAsOtherIndexersListedBelow": "Radarr支持任何使用Newznab标准的搜刮器,以及下面列出的其他搜刮器。",
|
||||||
"ReadarrTags": "Radarr标签",
|
"ReadarrTags": "Radarr标签",
|
||||||
"Real": "真的",
|
"Real": "真的",
|
||||||
"Reason": "季",
|
"Reason": "原因",
|
||||||
"RecycleBinCleanupDaysHelpText": "设置为0关闭自动清理",
|
"RecycleBinCleanupDaysHelpText": "设置为0关闭自动清理",
|
||||||
"RecycleBinCleanupDaysHelpTextWarning": "回收站中的文件在超出选择的天数后会被自动清理",
|
"RecycleBinCleanupDaysHelpTextWarning": "回收站中的文件在超出选择的天数后会被自动清理",
|
||||||
"RecycleBinHelpText": "影片文件会被移动到回收站以替代永久删除",
|
"RecycleBinHelpText": "影片文件会被移动到回收站以替代永久删除",
|
||||||
@@ -262,25 +262,25 @@
|
|||||||
"RefreshInformationAndScanDisk": "刷新信息并扫描磁盘",
|
"RefreshInformationAndScanDisk": "刷新信息并扫描磁盘",
|
||||||
"ReleaseDate": "发布日期",
|
"ReleaseDate": "发布日期",
|
||||||
"ReleaseGroup": "发布组",
|
"ReleaseGroup": "发布组",
|
||||||
"ReleaseRejected": "版本被拒绝",
|
"ReleaseRejected": "发布被拒绝",
|
||||||
"ReleaseWillBeProcessedInterp": "发布将被处理{0}",
|
"ReleaseWillBeProcessedInterp": "发布将被处理{0}",
|
||||||
"Reload": "重新加载",
|
"Reload": "重新加载",
|
||||||
"RemotePathMappings": "远程路径映射",
|
"RemotePathMappings": "远程路径映射",
|
||||||
"Remove": "移除",
|
"Remove": "移除",
|
||||||
"RemoveCompletedDownloadsHelpText": "从下载客户端记录中移除已导入的下载",
|
"RemoveCompletedDownloadsHelpText": "从下载客户端记录中移除已导入的下载",
|
||||||
"RemoveFailedDownloadsHelpText": "从下载客户端中删除已失败的下载",
|
"RemoveFailedDownloadsHelpText": "从下载客户端中删除已失败的下载",
|
||||||
"RemoveFilter": "移除过滤条件",
|
"RemoveFilter": "移除过滤器",
|
||||||
"RemoveFromDownloadClient": "从下载客户端中移除",
|
"RemoveFromDownloadClient": "从下载客户端中移除",
|
||||||
"RemoveFromQueue": "从队列中移除",
|
"RemoveFromQueue": "从队列中移除",
|
||||||
"RemoveHelpTextWarning": "移除操作会从下载客户端中删除任务和已下载文件。",
|
"RemoveHelpTextWarning": "移除操作会从下载客户端中删除任务和已下载文件。",
|
||||||
"RemoveSelected": "移除已选",
|
"RemoveSelected": "移除已选",
|
||||||
"RemoveTagExistingTag": "已有标签",
|
"RemoveTagExistingTag": "已有标签",
|
||||||
"RemoveTagRemovingTag": "移除标签",
|
"RemoveTagRemovingTag": "移除标签",
|
||||||
"RemovedFromTaskQueue": "从任务队列中移除",
|
"RemovedFromTaskQueue": "从任务队列中删除",
|
||||||
"RenameBooksHelpText": "如果重命名未启用,Radarr会使用现有文件名",
|
"RenameBooksHelpText": "如果重命名未启用,Radarr会使用现有文件名",
|
||||||
"Reorder": "重新排序Reorder",
|
"Reorder": "重新排序Reorder",
|
||||||
"ReplaceIllegalCharacters": "替换非法字符",
|
"ReplaceIllegalCharacters": "替换非法字符",
|
||||||
"RequiredHelpText": "发布的歌曲必须至少包含一个这些项目(不区分大小写)",
|
"RequiredHelpText": "这个{0}条件必须匹配自定义格式才能应用。否则,一个{0}匹配就足够了。",
|
||||||
"RequiredPlaceHolder": "添加新限制",
|
"RequiredPlaceHolder": "添加新限制",
|
||||||
"RescanAfterRefreshHelpTextWarning": "当没有设置为“总是”时,Radarr将不会自动检测文件的更改",
|
"RescanAfterRefreshHelpTextWarning": "当没有设置为“总是”时,Radarr将不会自动检测文件的更改",
|
||||||
"RescanAuthorFolderAfterRefresh": "刷新后重新扫描作者文件夹",
|
"RescanAuthorFolderAfterRefresh": "刷新后重新扫描作者文件夹",
|
||||||
@@ -298,7 +298,7 @@
|
|||||||
"RetryingDownloadInterp": "尝试重新下载“{0}”在“{1}”",
|
"RetryingDownloadInterp": "尝试重新下载“{0}”在“{1}”",
|
||||||
"RootFolder": "根目录",
|
"RootFolder": "根目录",
|
||||||
"RootFolders": "根目录",
|
"RootFolders": "根目录",
|
||||||
"RssSyncIntervalHelpText": "间隔时间以分钟为单位,设置为0则关闭该功能(会停止所有歌曲的自动抓取下载)",
|
"RssSyncIntervalHelpText": "间隔时间以分钟为单位,设置为0则关闭该功能(会停止所有剧集的自动抓取下载)",
|
||||||
"SSLCertPassword": "SSL证书密码",
|
"SSLCertPassword": "SSL证书密码",
|
||||||
"SSLCertPath": "SSL证书路径",
|
"SSLCertPath": "SSL证书路径",
|
||||||
"SSLPort": "SSL端口",
|
"SSLPort": "SSL端口",
|
||||||
@@ -316,24 +316,24 @@
|
|||||||
"Settings": "设置",
|
"Settings": "设置",
|
||||||
"ShortDateFormat": "短日期格式",
|
"ShortDateFormat": "短日期格式",
|
||||||
"ShowCutoffUnmetIconHelpText": "终止监控条件未满足前为文件显示图标",
|
"ShowCutoffUnmetIconHelpText": "终止监控条件未满足前为文件显示图标",
|
||||||
"ShowDateAdded": "显示添加日期",
|
"ShowDateAdded": "显示加入时间",
|
||||||
"ShowMonitored": "显示监控中的歌曲",
|
"ShowMonitored": "显示监控中的",
|
||||||
"ShowMonitoredHelpText": "在海报下显示监控状态",
|
"ShowMonitoredHelpText": "在海报下显示监控状态",
|
||||||
"ShowPath": "显示路径",
|
"ShowPath": "显示路径",
|
||||||
"ShowQualityProfile": "显示媒体质量配置",
|
"ShowQualityProfile": "显示质量配置文件",
|
||||||
"ShowQualityProfileHelpText": "在海报下方显示媒体质量配置",
|
"ShowQualityProfileHelpText": "在海报下方显示媒体质量配置",
|
||||||
"ShowRelativeDates": "显示相对日期",
|
"ShowRelativeDates": "显示相对日期",
|
||||||
"ShowRelativeDatesHelpText": "显示相对日期(今天昨天等)或绝对日期",
|
"ShowRelativeDatesHelpText": "显示相对日期(今天昨天等)或绝对日期",
|
||||||
"ShowSearch": "显示搜索按钮",
|
"ShowSearch": "显示搜索",
|
||||||
"ShowSearchActionHelpText": "在选项中显示搜索框",
|
"ShowSearchActionHelpText": "在选项中显示搜索框",
|
||||||
"ShowSizeOnDisk": "显示占用磁盘体积",
|
"ShowSizeOnDisk": "显示占用空间",
|
||||||
"ShownAboveEachColumnWhenWeekIsTheActiveView": "当使用周视图时显示上面的每一列",
|
"ShownAboveEachColumnWhenWeekIsTheActiveView": "当使用周视图时显示上面的每一列",
|
||||||
"Size": " 文件大小",
|
"Size": " 文件大小",
|
||||||
"SkipFreeSpaceCheck": "跳过剩余空间检查",
|
"SkipFreeSpaceCheck": "跳过剩余空间检查",
|
||||||
"SkipFreeSpaceCheckWhenImportingHelpText": "当 Readarr 无法从您的作者根文件夹中检测到空闲空间时使用",
|
"SkipFreeSpaceCheckWhenImportingHelpText": "当 Readarr 无法从您的作者根文件夹中检测到空闲空间时使用",
|
||||||
"SorryThatAuthorCannotBeFound": "对不起,未找到影片。",
|
"SorryThatAuthorCannotBeFound": "对不起,未找到影片。",
|
||||||
"SorryThatBookCannotBeFound": "对不起,未找到影片。",
|
"SorryThatBookCannotBeFound": "对不起,未找到影片。",
|
||||||
"Source": "源",
|
"Source": "来源",
|
||||||
"SourcePath": "来源路径",
|
"SourcePath": "来源路径",
|
||||||
"SslCertPasswordHelpText": "pfx文件密码",
|
"SslCertPasswordHelpText": "pfx文件密码",
|
||||||
"SslCertPasswordHelpTextWarning": "重启生效",
|
"SslCertPasswordHelpTextWarning": "重启生效",
|
||||||
@@ -355,15 +355,15 @@
|
|||||||
"Tasks": "任务",
|
"Tasks": "任务",
|
||||||
"TestAll": "测试全部",
|
"TestAll": "测试全部",
|
||||||
"TestAllClients": "测试全部客户端",
|
"TestAllClients": "测试全部客户端",
|
||||||
"TestAllIndexers": "测试全部搜刮器",
|
"TestAllIndexers": "测试全部索引器",
|
||||||
"TestAllLists": "测试全部列表",
|
"TestAllLists": "测试全部列表",
|
||||||
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "这将适用于所有搜刮器,请遵循他们所制定的规则",
|
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "这将适用于所有搜刮器,请遵循他们所制定的规则",
|
||||||
"TimeFormat": "时间格式",
|
"TimeFormat": "时间格式",
|
||||||
"Title": "标题",
|
"Title": "标题",
|
||||||
"TorrentDelay": "Torrent延时",
|
"TorrentDelay": "Torrent延时",
|
||||||
"TorrentDelayHelpText": "延迟几分钟等待获取洪流",
|
"TorrentDelayHelpText": "延迟几分钟等待获取torrent",
|
||||||
"Torrents": "种子",
|
"Torrents": "种子",
|
||||||
"TotalFileSize": "总文件体积",
|
"TotalFileSize": "文件总大小",
|
||||||
"UILanguage": "UI界面语言",
|
"UILanguage": "UI界面语言",
|
||||||
"UILanguageHelpText": "Radarr使用的UI界面语言",
|
"UILanguageHelpText": "Radarr使用的UI界面语言",
|
||||||
"UILanguageHelpTextWarning": "浏览器需重新加载",
|
"UILanguageHelpTextWarning": "浏览器需重新加载",
|
||||||
@@ -383,7 +383,7 @@
|
|||||||
"UnableToLoadDownloadClientOptions": "无法加载下载客户端选项",
|
"UnableToLoadDownloadClientOptions": "无法加载下载客户端选项",
|
||||||
"UnableToLoadDownloadClients": "无法加载下载客户端",
|
"UnableToLoadDownloadClients": "无法加载下载客户端",
|
||||||
"UnableToLoadGeneralSettings": "无法加载通用设置",
|
"UnableToLoadGeneralSettings": "无法加载通用设置",
|
||||||
"UnableToLoadHistory": "无法加载历史记录",
|
"UnableToLoadHistory": "无法加载历史记录。",
|
||||||
"UnableToLoadImportListExclusions": "无法加载排除列表",
|
"UnableToLoadImportListExclusions": "无法加载排除列表",
|
||||||
"UnableToLoadIndexerOptions": "无法加载搜刮器选项",
|
"UnableToLoadIndexerOptions": "无法加载搜刮器选项",
|
||||||
"UnableToLoadIndexers": "无法加载搜刮器",
|
"UnableToLoadIndexers": "无法加载搜刮器",
|
||||||
@@ -405,7 +405,7 @@
|
|||||||
"UnmonitoredHelpText": "在iCal订阅中包含未监控的电影",
|
"UnmonitoredHelpText": "在iCal订阅中包含未监控的电影",
|
||||||
"UpdateAll": "全部更新",
|
"UpdateAll": "全部更新",
|
||||||
"UpdateAutomaticallyHelpText": "自动下载并安装更新。你还可以在“系统:更新”中安装",
|
"UpdateAutomaticallyHelpText": "自动下载并安装更新。你还可以在“系统:更新”中安装",
|
||||||
"UpdateMechanismHelpText": "使用 Radarr 的内置更新程序或脚本",
|
"UpdateMechanismHelpText": "使用Readarr内置的更新程序或脚本",
|
||||||
"UpdateScriptPathHelpText": "自定义脚本的路径,该脚本处理获取的更新包并处理更新过程的其余部分",
|
"UpdateScriptPathHelpText": "自定义脚本的路径,该脚本处理获取的更新包并处理更新过程的其余部分",
|
||||||
"Updates": "更新",
|
"Updates": "更新",
|
||||||
"UpgradeAllowedHelpText": "如关闭,则质量不做升级",
|
"UpgradeAllowedHelpText": "如关闭,则质量不做升级",
|
||||||
@@ -428,25 +428,25 @@
|
|||||||
"60MinutesSixty": "60分钟: {0}",
|
"60MinutesSixty": "60分钟: {0}",
|
||||||
"APIKey": "API Key",
|
"APIKey": "API Key",
|
||||||
"About": "关于",
|
"About": "关于",
|
||||||
"AddListExclusion": "添加排除列表",
|
"AddListExclusion": "添加列表例外",
|
||||||
"DeleteTag": "删除标签",
|
"DeleteTag": "删除标签",
|
||||||
"UnableToLoadTags": "无法加载标签",
|
"UnableToLoadTags": "无法加载标签",
|
||||||
"DownloadClientCheckDownloadingToRoot": "下载客户端{0}将下载内容放在根文件夹{1}中。您不应该下载到根文件夹。",
|
"DownloadClientCheckDownloadingToRoot": "下载客户端{0}将下载内容放在根文件夹{1}中。您不应该下载到根文件夹。",
|
||||||
"SslPortHelpTextWarning": "重启生效",
|
"SslPortHelpTextWarning": "重启生效",
|
||||||
"SslCertPathHelpTextWarning": "重启生效",
|
"SslCertPathHelpTextWarning": "重启生效",
|
||||||
"ProxyUsernameHelpText": "如果需要,您只需要输入用户名和密码。否则就让它们为空。",
|
"ProxyUsernameHelpText": "如果需要,您只需要输入用户名和密码。否则就让它们为空。",
|
||||||
"MaintenanceRelease": "维护版本:修复错误及其他改进,参见Github提交 查看更多详情",
|
"MaintenanceRelease": "维护发布:bug修复和其他改进。更多细节请参见Github提交历史",
|
||||||
"DeleteBookFileMessageText": "您确认您想删除吗?",
|
"DeleteBookFileMessageText": "您确认您想删除吗?",
|
||||||
"ApiKeyHelpTextWarning": "需重启以生效",
|
"ApiKeyHelpTextWarning": "需要重启生效",
|
||||||
"Actions": "动作",
|
"Actions": "动作",
|
||||||
"AddMissing": "添加丢失项",
|
"AddMissing": "添加丢失项",
|
||||||
"AddNewItem": "添加新项目",
|
"AddNewItem": "添加新项目",
|
||||||
"DeleteRootFolderMessageText": "您确定要删除索引 '{0}'吗?",
|
"DeleteRootFolderMessageText": "您确定要删除根文件夹“{name}”吗?",
|
||||||
"Progress": "进度",
|
"Progress": "进度",
|
||||||
"Publisher": "发布者",
|
"Publisher": "发布者",
|
||||||
"Series": "节目",
|
"Series": "节目",
|
||||||
"ShowBookTitleHelpText": "在海报下显示电影标题",
|
"ShowBookTitleHelpText": "在海报下显示电影标题",
|
||||||
"BookAvailableButMissing": "影片可下载,但没有下载",
|
"BookAvailableButMissing": "本书可用,但失踪了",
|
||||||
"ShowReleaseDate": "显示发布日期",
|
"ShowReleaseDate": "显示发布日期",
|
||||||
"ShowTitle": "显示标题",
|
"ShowTitle": "显示标题",
|
||||||
"ReplaceIllegalCharactersHelpText": "替换非法字符,如未勾选,则会被Radarr移除",
|
"ReplaceIllegalCharactersHelpText": "替换非法字符,如未勾选,则会被Radarr移除",
|
||||||
@@ -454,7 +454,7 @@
|
|||||||
"NotAvailable": "不可用",
|
"NotAvailable": "不可用",
|
||||||
"NotMonitored": "未监控的",
|
"NotMonitored": "未监控的",
|
||||||
"OutputPath": "输出路径",
|
"OutputPath": "输出路径",
|
||||||
"ReleaseTitle": "发布标题",
|
"ReleaseTitle": "发行版标题",
|
||||||
"TheAuthorFolderAndAllOfItsContentWillBeDeleted": "电影目录 '{0}' 及所有内容都会被删除。",
|
"TheAuthorFolderAndAllOfItsContentWillBeDeleted": "电影目录 '{0}' 及所有内容都会被删除。",
|
||||||
"Today": "今天",
|
"Today": "今天",
|
||||||
"Tomorrow": "明天",
|
"Tomorrow": "明天",
|
||||||
@@ -473,7 +473,7 @@
|
|||||||
"ThisCannotBeCancelled": "在不禁用所有索引器的情况下,一旦启动就无法取消。",
|
"ThisCannotBeCancelled": "在不禁用所有索引器的情况下,一旦启动就无法取消。",
|
||||||
"Time": "时间",
|
"Time": "时间",
|
||||||
"UnableToLoadBlocklist": "无法加载黑名单",
|
"UnableToLoadBlocklist": "无法加载黑名单",
|
||||||
"UnselectAll": "全不选",
|
"UnselectAll": "取消选择全部",
|
||||||
"UpdateSelected": "更新已选",
|
"UpdateSelected": "更新已选",
|
||||||
"Wanted": "想要的",
|
"Wanted": "想要的",
|
||||||
"All": "全部",
|
"All": "全部",
|
||||||
@@ -492,7 +492,7 @@
|
|||||||
"SizeLimit": "尺寸限制",
|
"SizeLimit": "尺寸限制",
|
||||||
"Started": "已开始",
|
"Started": "已开始",
|
||||||
"AllowAuthorChangeClickToChangeAuthor": "点击更改作者",
|
"AllowAuthorChangeClickToChangeAuthor": "点击更改作者",
|
||||||
"AnyEditionOkHelpText": "Readarr 将会自动切换到与已下载文件最匹配的版本",
|
"AnyEditionOkHelpText": "Readarr将自动切换到最匹配下载文件的版本",
|
||||||
"Author": "作者",
|
"Author": "作者",
|
||||||
"Disabled": "禁用",
|
"Disabled": "禁用",
|
||||||
"OnBookFileDeleteHelpText": "关于电影文件删除",
|
"OnBookFileDeleteHelpText": "关于电影文件删除",
|
||||||
@@ -509,7 +509,7 @@
|
|||||||
"IndexerRssHealthCheckNoIndexers": "没有任何索引器开启了RSS同步,Radarr不会自动抓取新发布的影片",
|
"IndexerRssHealthCheckNoIndexers": "没有任何索引器开启了RSS同步,Radarr不会自动抓取新发布的影片",
|
||||||
"IndexerSearchCheckNoAutomaticMessage": "没有索引器开启自动搜索,Radarr不会提供任何自动搜索结果",
|
"IndexerSearchCheckNoAutomaticMessage": "没有索引器开启自动搜索,Radarr不会提供任何自动搜索结果",
|
||||||
"IndexerSearchCheckNoAvailableIndexersMessage": "由于最近的索引器错误,所有支持搜索的索引器暂时不可用",
|
"IndexerSearchCheckNoAvailableIndexersMessage": "由于最近的索引器错误,所有支持搜索的索引器暂时不可用",
|
||||||
"IndexerSearchCheckNoInteractiveMessage": "没有任何索引器开启了手动搜索,Radarr 不会提供任何手动搜索结果",
|
"IndexerSearchCheckNoInteractiveMessage": "没有启用交互式搜索的索引器,Readarr将不提供任何交互式搜索结果",
|
||||||
"IndexersSettingsSummary": "搜刮器和发布版本限制",
|
"IndexersSettingsSummary": "搜刮器和发布版本限制",
|
||||||
"IndexerStatusCheckAllClientMessage": "所有搜刮器都因错误不可用",
|
"IndexerStatusCheckAllClientMessage": "所有搜刮器都因错误不可用",
|
||||||
"IndexerStatusCheckSingleClientMessage": "搜刮器因错误不可用:{0}",
|
"IndexerStatusCheckSingleClientMessage": "搜刮器因错误不可用:{0}",
|
||||||
@@ -525,7 +525,7 @@
|
|||||||
"Queued": "队列中",
|
"Queued": "队列中",
|
||||||
"QueueIsEmpty": "空队列",
|
"QueueIsEmpty": "空队列",
|
||||||
"ReadarrSupportsAnyDownloadClient": "Radarr支持许多常用的的torrent和usenet下载客户端。",
|
"ReadarrSupportsAnyDownloadClient": "Radarr支持许多常用的的torrent和usenet下载客户端。",
|
||||||
"RefreshAndScan": "刷新&扫描",
|
"RefreshAndScan": "刷新并扫描",
|
||||||
"RemotePathMappingCheckBadDockerPath": "您正在使用docker;下载客户端 {0} 的下载目录为 {1} ,但是该地址 {2} 不合法。请检查您的远程地址映射和下载客户端设置。",
|
"RemotePathMappingCheckBadDockerPath": "您正在使用docker;下载客户端 {0} 的下载目录为 {1} ,但是该地址 {2} 不合法。请检查您的远程地址映射和下载客户端设置。",
|
||||||
"RemotePathMappingCheckDockerFolderMissing": "您正在使用docker;下载客户端 {0} 报告文件在 {1} 中,但是该目录似乎不存在docker容器中。请检查您的远程地址映射和容器的卷设置。",
|
"RemotePathMappingCheckDockerFolderMissing": "您正在使用docker;下载客户端 {0} 报告文件在 {1} 中,但是该目录似乎不存在docker容器中。请检查您的远程地址映射和容器的卷设置。",
|
||||||
"RemotePathMappingCheckDownloadPermissions": "Radarr可以找到但无法访问已下载的电影 {0} ,可能是权限错误。",
|
"RemotePathMappingCheckDownloadPermissions": "Radarr可以找到但无法访问已下载的电影 {0} ,可能是权限错误。",
|
||||||
@@ -563,7 +563,7 @@
|
|||||||
"General": "通用",
|
"General": "通用",
|
||||||
"HealthNoIssues": "您的设置没有问题",
|
"HealthNoIssues": "您的设置没有问题",
|
||||||
"ImportListStatusCheckSingleClientMessage": "列表因错误不可用:{0}",
|
"ImportListStatusCheckSingleClientMessage": "列表因错误不可用:{0}",
|
||||||
"IndexerPriorityHelpText": "索引器优先级从1(最高)到50(最低),默认25。当资源连接中断时寻找同等资源时使用,否则Radarr将依旧使用已启用的索引器进行RSS同步并搜索",
|
"IndexerPriorityHelpText": "索引器优先级从1(最高)到50(最低)。默认值:25。在抓取版本时,Readarr将使用所有启用的索引器进行RSS同步和搜索。",
|
||||||
"Lists": "列表",
|
"Lists": "列表",
|
||||||
"MediaManagement": "媒体管理",
|
"MediaManagement": "媒体管理",
|
||||||
"Metadata": "元数据",
|
"Metadata": "元数据",
|
||||||
@@ -581,14 +581,14 @@
|
|||||||
"OnGrab": "抓取中",
|
"OnGrab": "抓取中",
|
||||||
"OnHealthIssue": "健康度异常",
|
"OnHealthIssue": "健康度异常",
|
||||||
"ShowUnknownAuthorItems": "显示未知影片条目",
|
"ShowUnknownAuthorItems": "显示未知影片条目",
|
||||||
"AllowFingerprintingHelpText": "利用指纹技术提高航迹匹配的准确性",
|
"AllowFingerprintingHelpText": "利用指纹识别提高图书匹配的准确性",
|
||||||
"AllowFingerprintingHelpTextWarning": "这需要读取部分文件,这将减慢扫描速度,并可能导致磁盘或网络活动频繁。",
|
"AllowFingerprintingHelpTextWarning": "这需要Readarr读取文件的一部分,这会减慢扫描速度,并可能导致磁盘或网络活动频繁。",
|
||||||
"AuthorFolderFormat": "作者文件夹格式",
|
"AuthorFolderFormat": "作者文件夹格式",
|
||||||
"Authors": "作者",
|
"Authors": "作者",
|
||||||
"BackupIntervalHelpText": "备份 Lidarr 数据库和设置的时间间隔",
|
"BackupIntervalHelpText": "备份Readarr数据库和设置的间隔时间",
|
||||||
"MetadataProfile": "元数据配置",
|
"MetadataProfile": "元数据配置",
|
||||||
"MetadataProfiles": "元数据配置",
|
"MetadataProfiles": "元数据配置",
|
||||||
"InstanceName": "中文",
|
"InstanceName": "应用名称",
|
||||||
"InstanceNameHelpText": "选项卡及日志应用名称",
|
"InstanceNameHelpText": "选项卡及日志应用名称",
|
||||||
"AddList": "添加列表",
|
"AddList": "添加列表",
|
||||||
"BookList": "书籍清单",
|
"BookList": "书籍清单",
|
||||||
@@ -736,10 +736,10 @@
|
|||||||
"RefreshAuthor": "刷新作者",
|
"RefreshAuthor": "刷新作者",
|
||||||
"RefreshBook": "刷新书籍",
|
"RefreshBook": "刷新书籍",
|
||||||
"RefreshInformation": "刷新信息",
|
"RefreshInformation": "刷新信息",
|
||||||
"ReleaseProfiles": "刷新配置文件",
|
"ReleaseProfiles": "发行版概要",
|
||||||
"RenameBooks": "重命名书籍",
|
"RenameBooks": "重命名书籍",
|
||||||
"RenameFiles": "重命名文件",
|
"RenameFiles": "重命名文件",
|
||||||
"RestartRequiredHelpTextWarning": "需要重新启动才能生效",
|
"RestartRequiredHelpTextWarning": "需重启以生效",
|
||||||
"SearchForAllMissingBooks": "搜索所有丢失的书籍",
|
"SearchForAllMissingBooks": "搜索所有丢失的书籍",
|
||||||
"SendMetadataToCalibre": "发送元数据至Calibre",
|
"SendMetadataToCalibre": "发送元数据至Calibre",
|
||||||
"SeriesNumber": "系列编号",
|
"SeriesNumber": "系列编号",
|
||||||
@@ -775,12 +775,11 @@
|
|||||||
"ContinuingNoAdditionalBooksAreExpected": "预计不会有其他书籍",
|
"ContinuingNoAdditionalBooksAreExpected": "预计不会有其他书籍",
|
||||||
"ProfilesSettingsSummary": "质量、元数据、延迟、发行配置",
|
"ProfilesSettingsSummary": "质量、元数据、延迟、发行配置",
|
||||||
"AuthorIndex": "作者索引",
|
"AuthorIndex": "作者索引",
|
||||||
"BookEditor": "书籍编辑",
|
"BookEditor": "编辑书籍",
|
||||||
"CalibreUsername": "Calibre用户名",
|
"CalibreUsername": "Calibre用户名",
|
||||||
"ChownGroup": "修改组权限",
|
"ChownGroup": "修改组权限",
|
||||||
"ContinuingAllBooksDownloaded": "仍在继续(所有书籍已下载)",
|
"ContinuingAllBooksDownloaded": "仍在继续(所有书籍已下载)",
|
||||||
"EnableProfile": "启用配置文件",
|
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "如果您不添加导入列表排除,并且作者有除“无”之外的元数据配置文件,那么这本书可能会在下一次作者刷新期间重新添加。",
|
||||||
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "如果您不添加导入列表例外,并且作者元数据配置不是“无”,那这本书可能会在下次作者刷新是重新添加",
|
|
||||||
"IndexerIdHelpTextWarning": "使用带有首字母的特定索引器可能会导致复制版本被抓取",
|
"IndexerIdHelpTextWarning": "使用带有首字母的特定索引器可能会导致复制版本被抓取",
|
||||||
"MassBookSearchWarning": "您确定要对{0}本书进行批量书籍搜索吗?",
|
"MassBookSearchWarning": "您确定要对{0}本书进行批量书籍搜索吗?",
|
||||||
"MediaManagementSettingsSummary": "命名,文件管理和根文件夹设置",
|
"MediaManagementSettingsSummary": "命名,文件管理和根文件夹设置",
|
||||||
@@ -831,9 +830,9 @@
|
|||||||
"IsShowingMonitoredUnmonitorSelected": "未监控选中的",
|
"IsShowingMonitoredUnmonitorSelected": "未监控选中的",
|
||||||
"ItsEasyToAddANewAuthorOrBookJustStartTypingTheNameOfTheItemYouWantToAdd": "添加新作者或书籍很容易,只需开始输入要添加的条目的名称",
|
"ItsEasyToAddANewAuthorOrBookJustStartTypingTheNameOfTheItemYouWantToAdd": "添加新作者或书籍很容易,只需开始输入要添加的条目的名称",
|
||||||
"LatestBook": "最新书籍",
|
"LatestBook": "最新书籍",
|
||||||
"LibraryHelpText": "Calibre内容服务器库名 默认留空",
|
"LibraryHelpText": "校准内容服务器库名称。默认为空。",
|
||||||
"ListsSettingsSummary": "导入列表",
|
"ListsSettingsSummary": "导入列表",
|
||||||
"AddImportListExclusionHelpText": "通过导入列表或作者刷新 防止书籍添加到Readarr",
|
"AddImportListExclusionHelpText": "防止通过导入列表或作者刷新将图书添加到Readarr",
|
||||||
"ManualDownload": "手动下载",
|
"ManualDownload": "手动下载",
|
||||||
"BookMonitoring": "书籍监控",
|
"BookMonitoring": "书籍监控",
|
||||||
"BookNaming": "书籍命名",
|
"BookNaming": "书籍命名",
|
||||||
@@ -850,22 +849,22 @@
|
|||||||
"CalibreUrlBase": "Calibre基本URL",
|
"CalibreUrlBase": "Calibre基本URL",
|
||||||
"BookStudio": "书籍出版商",
|
"BookStudio": "书籍出版商",
|
||||||
"AudioFileMetadata": "将元数据写入音频文件",
|
"AudioFileMetadata": "将元数据写入音频文件",
|
||||||
"AuthorEditor": "作者编辑",
|
"AuthorEditor": "编辑作者",
|
||||||
"AuthorNameHelpText": "要排除的作者/书籍的名称(任何有涵义的均可)",
|
"AuthorNameHelpText": "要排除的作者/书籍的名称(可以是任何有意义的名称)",
|
||||||
"CollapseMultipleBooks": "折叠多本书籍",
|
"CollapseMultipleBooks": "折叠多本书籍",
|
||||||
"CollapseMultipleBooksHelpText": "折叠在同日发行的多本书籍",
|
"CollapseMultipleBooksHelpText": "折叠在同日发行的多本书籍",
|
||||||
"ASIN": "亚马逊标准识别码",
|
"ASIN": "ASIN",
|
||||||
"NoTagsHaveBeenAddedYet": "尚未添加标签,添加标签以链接具有延迟配置文件、限制或通知的作者。单击{0}以了解有关Readarr中标签的更多信息。",
|
"NoTagsHaveBeenAddedYet": "尚未添加标签,添加标签以链接具有延迟配置文件、限制或通知的作者。单击{0}以了解有关Readarr中标签的更多信息。",
|
||||||
"BindAddressHelpText": "有效的 IP 地址、localhost、或以'*'代表所有接口",
|
"BindAddressHelpText": "有效的 IP 地址、localhost、或以'*'代表所有接口",
|
||||||
"ApplicationURL": "应用程序 URL",
|
"ApplicationURL": "应用程序 URL",
|
||||||
"ApplicationUrlHelpText": "此应用的外部URL,包含 http(s)://、端口和基本URL",
|
"ApplicationUrlHelpText": "此应用的外部URL,包含 http(s)://、端口和基本URL",
|
||||||
"ClickToChangeReleaseGroup": "点击修改发布组",
|
"ClickToChangeReleaseGroup": "单击更改发布组",
|
||||||
"MoveFiles": "移动文件",
|
"MoveFiles": "移动文件",
|
||||||
"OnApplicationUpdate": "程序更新时",
|
"OnApplicationUpdate": "程序更新时",
|
||||||
"OnApplicationUpdateHelpText": "程序更新时",
|
"OnApplicationUpdateHelpText": "程序更新时",
|
||||||
"ChooseImportMethod": "选择导入模式",
|
"ChooseImportMethod": "选择导入模式",
|
||||||
"HardlinkCopyFiles": "硬链接/复制文件",
|
"HardlinkCopyFiles": "硬链接/复制文件",
|
||||||
"ThemeHelpText": "更改程序界面主题,“自动”主题将根据您的操作系统主题来设置浅色或深色模式。灵感来自Theme.Park",
|
"ThemeHelpText": "改变应用界面主题,选择“自动”主题会通过操作系统主题来自适应白天黑夜模式。(受Theme.Park启发)",
|
||||||
"Theme": "主题",
|
"Theme": "主题",
|
||||||
"EnableRssHelpText": "当Radarr定期通过RSS同步查找发布时使用",
|
"EnableRssHelpText": "当Radarr定期通过RSS同步查找发布时使用",
|
||||||
"BypassIfAboveCustomFormatScore": "若高于自定义格式分数则绕过",
|
"BypassIfAboveCustomFormatScore": "若高于自定义格式分数则绕过",
|
||||||
@@ -878,8 +877,8 @@
|
|||||||
"CustomFormats": "自定义命名格式",
|
"CustomFormats": "自定义命名格式",
|
||||||
"CutoffFormatScoreHelpText": "一旦自定义格式分数满足则Radarr不会再下载影片",
|
"CutoffFormatScoreHelpText": "一旦自定义格式分数满足则Radarr不会再下载影片",
|
||||||
"DeleteCustomFormat": "删除自定义命名格式",
|
"DeleteCustomFormat": "删除自定义命名格式",
|
||||||
"DeleteCustomFormatMessageText": "是否确实要删除条件“{0}”?",
|
"DeleteCustomFormatMessageText": "您确定要删除自定义格式“{name}”吗?",
|
||||||
"DeleteFormatMessageText": "你确定要删除格式标签 “{0}” 吗?",
|
"DeleteFormatMessageText": "您确定要删除格式标签 '{0}' 吗?",
|
||||||
"Formats": "格式",
|
"Formats": "格式",
|
||||||
"ImportListMissingRoot": "在导入列表中缺少根目录文件夹",
|
"ImportListMissingRoot": "在导入列表中缺少根目录文件夹",
|
||||||
"ImportListMultipleMissingRoots": "导入列表中缺失多个根目录文件夹",
|
"ImportListMultipleMissingRoots": "导入列表中缺失多个根目录文件夹",
|
||||||
@@ -911,9 +910,9 @@
|
|||||||
"ListWillRefreshEveryInterp": "列表将每 {0} 刷新一次",
|
"ListWillRefreshEveryInterp": "列表将每 {0} 刷新一次",
|
||||||
"ShowAdvanced": "显示高级",
|
"ShowAdvanced": "显示高级",
|
||||||
"ShownClickToHide": "显示,点击隐藏",
|
"ShownClickToHide": "显示,点击隐藏",
|
||||||
"RemoveSelectedItemQueueMessageText": "您确定要从队列中删除 1 项吗?",
|
"RemoveSelectedItemQueueMessageText": "您确定要从队列中删除一个项目吗?",
|
||||||
"RemoveSelectedItemBlocklistMessageText": "您确定要从阻止列表中删除所选项目吗?",
|
"RemoveSelectedItemBlocklistMessageText": "您确定要从阻止列表中删除所选项目吗?",
|
||||||
"RemoveSelectedItemsQueueMessageText": "您确定要从队列中删除 {0} 个项目吗?",
|
"RemoveSelectedItemsQueueMessageText": "您确定要从队列中删除{0}个项目吗?",
|
||||||
"ResetQualityDefinitionsMessageText": "您确定要重置质量定义吗?",
|
"ResetQualityDefinitionsMessageText": "您确定要重置质量定义吗?",
|
||||||
"ApplyTagsHelpTextHowToApplyDownloadClients": "如何将标签应用到已选择的下载客户端",
|
"ApplyTagsHelpTextHowToApplyDownloadClients": "如何将标签应用到已选择的下载客户端",
|
||||||
"ApplyTagsHelpTextHowToApplyImportLists": "如何将标签应用到已选择的导入列表",
|
"ApplyTagsHelpTextHowToApplyImportLists": "如何将标签应用到已选择的导入列表",
|
||||||
@@ -946,13 +945,80 @@
|
|||||||
"AppUpdated": "{appName} 升级",
|
"AppUpdated": "{appName} 升级",
|
||||||
"ConnectionLost": "连接丢失",
|
"ConnectionLost": "连接丢失",
|
||||||
"ConnectionLostReconnect": "{appName} 将会尝试自动连接,您也可以点击下方的重新加载。",
|
"ConnectionLostReconnect": "{appName} 将会尝试自动连接,您也可以点击下方的重新加载。",
|
||||||
"ConnectionLostToBackend": "{appName} 与后端的链接已断开,需要重新加载恢复功能。",
|
"ConnectionLostToBackend": "{appName}失去了与后端的连接,需要重新加载以恢复功能。",
|
||||||
"DeleteRemotePathMapping": "删除远程映射路径",
|
"DeleteRemotePathMapping": "删除远程路径映射",
|
||||||
"AutomaticUpdatesDisabledDocker": "不支持在使用 Docker 容器时直接升级。你需要升级 {appName} 容器镜像或使用脚本(script)",
|
"AutomaticUpdatesDisabledDocker": "不支持在使用 Docker 容器时直接升级。你需要升级 {appName} 容器镜像或使用脚本(script)",
|
||||||
"ColonReplacement": "替换冒号",
|
"ColonReplacement": "替换冒号",
|
||||||
"Clone": "复制",
|
"Clone": "复制",
|
||||||
"ErrorLoadingContent": "加载此内容时出错",
|
"ErrorLoadingContent": "加载此内容时出现错误",
|
||||||
"ReplaceWithSpaceDash": "替换为空格破折号",
|
"ReplaceWithSpaceDash": "替换为空格破折号",
|
||||||
"ReplaceWithDash": "替换为破折号",
|
"ReplaceWithDash": "替换为破折号",
|
||||||
"ReplaceWithSpaceDashSpace": "替换为空格破折号空格"
|
"ReplaceWithSpaceDashSpace": "替换为空格破折号空格",
|
||||||
|
"Large": "大",
|
||||||
|
"IndexerDownloadClientHealthCheckMessage": "有无效下载客户端的索引器:{0}。",
|
||||||
|
"RecentChanges": "最近修改",
|
||||||
|
"RedownloadFailed": "重新下载失败",
|
||||||
|
"SomeResultsAreHiddenByTheAppliedFilter": "部分结果已被过滤隐藏",
|
||||||
|
"NoResultsFound": "无结果",
|
||||||
|
"NotificationStatusAllClientHealthCheckMessage": "由于故障,所有通知都不可用",
|
||||||
|
"NotificationStatusSingleClientHealthCheckMessage": "由于失败导致通知不可用:{0}",
|
||||||
|
"Medium": "中",
|
||||||
|
"RemoveDownloadsAlert": "移除设置被移至上表中的单个下载客户端设置。",
|
||||||
|
"Small": "小",
|
||||||
|
"Ui": "UI",
|
||||||
|
"SmartReplace": "智能替换",
|
||||||
|
"WhatsNew": "什么是新的?",
|
||||||
|
"BlocklistReleaseHelpText": "阻止 Readarr 再次自动抓取这些文件",
|
||||||
|
"AppUpdatedVersion": "{appName}已更新为版本` {version}`,为了获得最新的更改,您需要重新加载{appName}",
|
||||||
|
"BypassIfAboveCustomFormatScoreHelpText": "当抓取发布版本的分数高于配置的最低自定义格式分数时跳过延时",
|
||||||
|
"CountAuthorsSelected": "已选择{selectedCount}个作者",
|
||||||
|
"CountDownloadClientsSelected": "{selectedCount}下载客户端已选中",
|
||||||
|
"CountImportListsSelected": "{selectedCount}导入列表已选中",
|
||||||
|
"DeleteSelectedDownloadClientsMessageText": "您确定要删除{count}选定的下载客户端吗?",
|
||||||
|
"FreeSpace": "剩余空间",
|
||||||
|
"Implementation": "执行",
|
||||||
|
"LastDuration": "上一次用时",
|
||||||
|
"NextExecution": "下一次执行",
|
||||||
|
"System": "系统",
|
||||||
|
"WouldYouLikeToRestoreBackup": "是否要还原备份“{name}”?",
|
||||||
|
"NoImportListsFound": "未找到导入列表",
|
||||||
|
"NoIndexersFound": "未找到索引器",
|
||||||
|
"NoMissingItems": "没有缺失的项目",
|
||||||
|
"SkipRedownloadHelpText": "阻止 Readarr 尝试下载已删除项目的替代版本",
|
||||||
|
"ApplyTagsHelpTextHowToApplyAuthors": "如何将标签应用到选定的作者",
|
||||||
|
"AutomaticAdd": "自动添加",
|
||||||
|
"BypassIfHighestQualityHelpText": "当发布版本在质量配置文件中具有最高启用质量时,跳过延迟",
|
||||||
|
"DeleteSelectedImportListsMessageText": "您确定要删除选定的{count}导入列表吗?",
|
||||||
|
"MinimumCustomFormatScoreHelpText": "跳过首选协议延迟所需的最低自定义格式分数",
|
||||||
|
"NoDownloadClientsFound": "找不到下载客户端",
|
||||||
|
"NoCutoffUnmetItems": "没有未满足的截止项目",
|
||||||
|
"RemoveCompletedDownloads": "删除已完成的下载",
|
||||||
|
"RemoveFailedDownloads": "删除失败的下载",
|
||||||
|
"TotalSpace": "总空间",
|
||||||
|
"DashOrSpaceDashDependingOnName": "破折号或空格破折号取决于名字",
|
||||||
|
"CountIndexersSelected": "{selectedCount}索引器已选中",
|
||||||
|
"DeleteConditionMessageText": "您确定要删除条件“{name}”吗?",
|
||||||
|
"DeleteFormat": "删除格式",
|
||||||
|
"DownloadClientTagHelpText": "仅对具有至少一个匹配标签的作者使用此下载客户端。留空以供所有作者使用。",
|
||||||
|
"DeleteSelectedIndexersMessageText": "您确定要删除{count}选定的索引器吗?",
|
||||||
|
"Events": "事件",
|
||||||
|
"Location": "位置",
|
||||||
|
"ManageLists": "管理列表",
|
||||||
|
"ManageClients": "管理客户端",
|
||||||
|
"ManageIndexers": "管理索引器",
|
||||||
|
"ManageImportLists": "管理导入列表",
|
||||||
|
"ManageDownloadClients": "管理下载客户端",
|
||||||
|
"RemotePathMappingsInfo": "很少需要远程路径映射,如果{app}和你的下载客户端在同一个系统上,最好匹配你的路径。有关更多信息,请参阅[wiki]({wikiink})。",
|
||||||
|
"Bookshelf": "书架",
|
||||||
|
"ApplyChanges": "应用更改",
|
||||||
|
"Activity": "活动",
|
||||||
|
"Backup": "备份",
|
||||||
|
"AddNew": "添加新的",
|
||||||
|
"AllResultsAreHiddenByTheAppliedFilter": "根据过滤条件所有结果已隐藏",
|
||||||
|
"LastWriteTime": "最后写入时间",
|
||||||
|
"LastExecution": "上一次执行",
|
||||||
|
"Library": "库",
|
||||||
|
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "下载客户端 {0} 已被设置为删除已完成的下载。这可能导致在 {1} 导入之前,已下载的文件会被从您的客户端中移除。",
|
||||||
|
"OnAuthorAddedHelpText": "作者添加时",
|
||||||
|
"OnAuthorAdded": "作者添加时"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -471,14 +471,14 @@ namespace NzbDrone.Core.MediaFiles
|
|||||||
output.Add("Media Format", Tuple.Create(Media, other.Media));
|
output.Add("Media Format", Tuple.Create(Media, other.Media));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Date != other.Date)
|
if (Date?.Date != other.Date?.Date)
|
||||||
{
|
{
|
||||||
var oldValue = Date.HasValue ? Date.Value.ToString("yyyy-MM-dd") : null;
|
var oldValue = Date.HasValue ? Date.Value.ToString("yyyy-MM-dd") : null;
|
||||||
var newValue = other.Date.HasValue ? other.Date.Value.ToString("yyyy-MM-dd") : null;
|
var newValue = other.Date.HasValue ? other.Date.Value.ToString("yyyy-MM-dd") : null;
|
||||||
output.Add("Date", Tuple.Create(oldValue, newValue));
|
output.Add("Date", Tuple.Create(oldValue, newValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OriginalReleaseDate != other.OriginalReleaseDate)
|
if (OriginalReleaseDate?.Date != other.OriginalReleaseDate?.Date)
|
||||||
{
|
{
|
||||||
// Id3v2.3 tags can only store the year, not the full date
|
// Id3v2.3 tags can only store the year, not the full date
|
||||||
if (OriginalReleaseDate.HasValue &&
|
if (OriginalReleaseDate.HasValue &&
|
||||||
|
|||||||
@@ -174,6 +174,12 @@ namespace NzbDrone.Core.MediaFiles
|
|||||||
|
|
||||||
var diff = ReadAudioTag(path).Diff(newTags);
|
var diff = ReadAudioTag(path).Diff(newTags);
|
||||||
|
|
||||||
|
if (!diff.Any())
|
||||||
|
{
|
||||||
|
_logger.Debug("No tags update for {0} due to no difference", trackfile);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_rootFolderWatchingService.ReportFileSystemChangeBeginning(path);
|
_rootFolderWatchingService.ReportFileSystemChangeBeginning(path);
|
||||||
|
|
||||||
if (_configService.ScrubAudioTags)
|
if (_configService.ScrubAudioTags)
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ namespace NzbDrone.Core.MediaFiles
|
|||||||
{
|
{
|
||||||
unwanted = combined
|
unwanted = combined
|
||||||
.Where(x => x.DiskFile.Length == x.DbFile.Size &&
|
.Where(x => x.DiskFile.Length == x.DbFile.Size &&
|
||||||
Math.Abs((x.DiskFile.LastWriteTimeUtc - x.DbFile.Modified).TotalSeconds) <= 1)
|
Math.Abs((x.DiskFile.LastWriteTimeUtc - x.DbFile.Modified.ToUniversalTime()).TotalSeconds) <= 1)
|
||||||
.Select(x => x.DiskFile)
|
.Select(x => x.DiskFile)
|
||||||
.ToList();
|
.ToList();
|
||||||
_logger.Trace($"{unwanted.Count} unchanged existing files");
|
_logger.Trace($"{unwanted.Count} unchanged existing files");
|
||||||
@@ -138,7 +138,7 @@ namespace NzbDrone.Core.MediaFiles
|
|||||||
{
|
{
|
||||||
unwanted = combined
|
unwanted = combined
|
||||||
.Where(x => x.DiskFile.Length == x.DbFile.Size &&
|
.Where(x => x.DiskFile.Length == x.DbFile.Size &&
|
||||||
Math.Abs((x.DiskFile.LastWriteTimeUtc - x.DbFile.Modified).TotalSeconds) <= 1 &&
|
Math.Abs((x.DiskFile.LastWriteTimeUtc - x.DbFile.Modified.ToUniversalTime()).TotalSeconds) <= 1 &&
|
||||||
(x.DbFile.Edition == null || (x.DbFile.Edition.IsLoaded && x.DbFile.Edition.Value != null)))
|
(x.DbFile.Edition == null || (x.DbFile.Edition.IsLoaded && x.DbFile.Edition.Value != null)))
|
||||||
.Select(x => x.DiskFile)
|
.Select(x => x.DiskFile)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ namespace NzbDrone.Core.MediaFiles
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_logger.Error(ex, "Error in Directory watcher for: {0}" + dw.Path);
|
_logger.Error(ex, "Error in Directory watcher for: {0}", dw.Path);
|
||||||
|
|
||||||
DisposeWatcher(dw, true);
|
DisposeWatcher(dw, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -507,12 +507,16 @@ namespace NzbDrone.Core.MetadataSource.BookInfo
|
|||||||
|
|
||||||
private List<Book> MapBulkBook(BulkBookResource resource)
|
private List<Book> MapBulkBook(BulkBookResource resource)
|
||||||
{
|
{
|
||||||
var authors = resource.Authors.Select(MapAuthorMetadata).ToDictionary(x => x.ForeignAuthorId, x => x);
|
|
||||||
|
|
||||||
var series = resource.Series.Select(MapSeries).ToList();
|
|
||||||
|
|
||||||
var books = new List<Book>();
|
var books = new List<Book>();
|
||||||
|
|
||||||
|
if (resource == null)
|
||||||
|
{
|
||||||
|
return books;
|
||||||
|
}
|
||||||
|
|
||||||
|
var authors = resource.Authors.Select(MapAuthorMetadata).ToDictionary(x => x.ForeignAuthorId, x => x);
|
||||||
|
var series = resource.Series.Select(MapSeries).ToList();
|
||||||
|
|
||||||
foreach (var work in resource.Works)
|
foreach (var work in resource.Works)
|
||||||
{
|
{
|
||||||
var book = MapBook(work);
|
var book = MapBook(work);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Apprise
|
namespace NzbDrone.Core.Notifications.Apprise
|
||||||
{
|
{
|
||||||
@@ -27,6 +28,11 @@ namespace NzbDrone.Core.Notifications.Apprise
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using FluentValidation.Results;
|
|
||||||
using NzbDrone.Common.Extensions;
|
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Boxcar
|
|
||||||
{
|
|
||||||
public class Boxcar : NotificationBase<BoxcarSettings>
|
|
||||||
{
|
|
||||||
private readonly IBoxcarProxy _proxy;
|
|
||||||
|
|
||||||
public Boxcar(IBoxcarProxy proxy)
|
|
||||||
{
|
|
||||||
_proxy = proxy;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override string Link => "https://boxcar.io/client";
|
|
||||||
public override string Name => "Boxcar";
|
|
||||||
|
|
||||||
public override void OnGrab(GrabMessage grabMessage)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(BOOK_GRABBED_TITLE, grabMessage.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnReleaseImport(BookDownloadMessage message)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnBookDelete(BookDeleteMessage deleteMessage)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(BOOK_DELETED_TITLE, deleteMessage.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnBookFileDelete(BookFileDeleteMessage deleteMessage)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(BOOK_FILE_DELETED_TITLE, deleteMessage.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnHealthIssue(HealthCheck.HealthCheck message)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(HEALTH_ISSUE_TITLE, message.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnDownloadFailure(DownloadFailedMessage message)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(DOWNLOAD_FAILURE_TITLE, message.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnImportFailure(BookDownloadMessage message)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(IMPORT_FAILURE_TITLE, message.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnApplicationUpdate(ApplicationUpdateMessage message)
|
|
||||||
{
|
|
||||||
_proxy.SendNotification(APPLICATION_UPDATE_TITLE, message.Message, Settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override ValidationResult Test()
|
|
||||||
{
|
|
||||||
var failures = new List<ValidationFailure>();
|
|
||||||
|
|
||||||
failures.AddIfNotNull(_proxy.Test(Settings));
|
|
||||||
|
|
||||||
return new ValidationResult(failures);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
using System;
|
|
||||||
using NzbDrone.Common.Exceptions;
|
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Boxcar
|
|
||||||
{
|
|
||||||
public class BoxcarException : NzbDroneException
|
|
||||||
{
|
|
||||||
public BoxcarException(string message)
|
|
||||||
: base(message)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public BoxcarException(string message, Exception innerException, params object[] args)
|
|
||||||
: base(message, innerException, args)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Net;
|
|
||||||
using FluentValidation.Results;
|
|
||||||
using NLog;
|
|
||||||
using NzbDrone.Common.EnvironmentInfo;
|
|
||||||
using NzbDrone.Common.Http;
|
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Boxcar
|
|
||||||
{
|
|
||||||
public interface IBoxcarProxy
|
|
||||||
{
|
|
||||||
void SendNotification(string title, string message, BoxcarSettings settings);
|
|
||||||
ValidationFailure Test(BoxcarSettings settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public class BoxcarProxy : IBoxcarProxy
|
|
||||||
{
|
|
||||||
private const string URL = "https://new.boxcar.io/api/notifications";
|
|
||||||
private readonly IHttpClient _httpClient;
|
|
||||||
private readonly Logger _logger;
|
|
||||||
|
|
||||||
public BoxcarProxy(IHttpClient httpClient, Logger logger)
|
|
||||||
{
|
|
||||||
_httpClient = httpClient;
|
|
||||||
_logger = logger;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SendNotification(string title, string message, BoxcarSettings settings)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
ProcessNotification(title, message, settings);
|
|
||||||
}
|
|
||||||
catch (BoxcarException ex)
|
|
||||||
{
|
|
||||||
_logger.Error(ex, "Unable to send message");
|
|
||||||
throw new BoxcarException("Unable to send Boxcar notifications");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ValidationFailure Test(BoxcarSettings settings)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
const string title = "Test Notification";
|
|
||||||
const string body = "This is a test message from Readarr";
|
|
||||||
|
|
||||||
SendNotification(title, body, settings);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
catch (HttpException ex)
|
|
||||||
{
|
|
||||||
if (ex.Response.StatusCode == HttpStatusCode.Unauthorized)
|
|
||||||
{
|
|
||||||
_logger.Error(ex, "Access Token is invalid");
|
|
||||||
return new ValidationFailure("Token", "Access Token is invalid");
|
|
||||||
}
|
|
||||||
|
|
||||||
_logger.Error(ex, "Unable to send test message");
|
|
||||||
return new ValidationFailure("Token", "Unable to send test message");
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
_logger.Error(ex, "Unable to send test message");
|
|
||||||
return new ValidationFailure("", "Unable to send test message");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ProcessNotification(string title, string message, BoxcarSettings settings)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var requestBuilder = new HttpRequestBuilder(URL).Post();
|
|
||||||
|
|
||||||
var request = requestBuilder.AddFormParameter("user_credentials", settings.Token)
|
|
||||||
.AddFormParameter("notification[title]", title)
|
|
||||||
.AddFormParameter("notification[long_message]", message)
|
|
||||||
.AddFormParameter("notification[source_name]", BuildInfo.AppName)
|
|
||||||
.AddFormParameter("notification[icon_url]", "https://github.com/readarr/Readarr/raw/develop/Logo/64.png")
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
_httpClient.Post(request);
|
|
||||||
}
|
|
||||||
catch (HttpException ex)
|
|
||||||
{
|
|
||||||
if (ex.Response.StatusCode == HttpStatusCode.Unauthorized)
|
|
||||||
{
|
|
||||||
_logger.Error(ex, "Access Token is invalid");
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new BoxcarException("Unable to send text message: " + ex.Message, ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
using FluentValidation;
|
|
||||||
using NzbDrone.Core.Annotations;
|
|
||||||
using NzbDrone.Core.ThingiProvider;
|
|
||||||
using NzbDrone.Core.Validation;
|
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Boxcar
|
|
||||||
{
|
|
||||||
public class BoxcarSettingsValidator : AbstractValidator<BoxcarSettings>
|
|
||||||
{
|
|
||||||
public BoxcarSettingsValidator()
|
|
||||||
{
|
|
||||||
RuleFor(c => c.Token).NotEmpty();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class BoxcarSettings : IProviderConfig
|
|
||||||
{
|
|
||||||
private static readonly BoxcarSettingsValidator Validator = new BoxcarSettingsValidator();
|
|
||||||
|
|
||||||
[FieldDefinition(0, Label = "Access Token", Privacy = PrivacyLevel.ApiKey, HelpText = "Your Access Token, from your Boxcar account settings: https://new.boxcar.io/account/edit", HelpLink = "https://new.boxcar.io/account/edit")]
|
|
||||||
public string Token { get; set; }
|
|
||||||
|
|
||||||
public NzbDroneValidationResult Validate()
|
|
||||||
{
|
|
||||||
return new NzbDroneValidationResult(Validator.Validate(this));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -110,6 +110,19 @@ namespace NzbDrone.Core.Notifications.CustomScript
|
|||||||
ExecuteScript(environmentVariables);
|
ExecuteScript(environmentVariables);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
var environmentVariables = new StringDictionary();
|
||||||
|
|
||||||
|
environmentVariables.Add("Readarr_EventType", "AuthorAdded");
|
||||||
|
environmentVariables.Add("Readarr_Author_Id", author.Id.ToString());
|
||||||
|
environmentVariables.Add("Readarr_Author_Name", author.Metadata.Value.Name);
|
||||||
|
environmentVariables.Add("Readarr_Author_Path", author.Path);
|
||||||
|
environmentVariables.Add("Readarr_Author_GRId", author.Metadata.Value.ForeignAuthorId);
|
||||||
|
|
||||||
|
ExecuteScript(environmentVariables);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
var author = deleteMessage.Author;
|
var author = deleteMessage.Author;
|
||||||
@@ -239,14 +252,6 @@ namespace NzbDrone.Core.Notifications.CustomScript
|
|||||||
failures.Add(new NzbDroneValidationFailure("Path", "File does not exist"));
|
failures.Add(new NzbDroneValidationFailure("Path", "File does not exist"));
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var systemFolder in SystemFolders.GetSystemFolders())
|
|
||||||
{
|
|
||||||
if (systemFolder.IsParentPath(Settings.Path))
|
|
||||||
{
|
|
||||||
failures.Add(new NzbDroneValidationFailure("Path", $"Must not be a descendant of '{systemFolder}'"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (failures.Empty())
|
if (failures.Empty())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
|
|||||||
public CustomScriptSettingsValidator()
|
public CustomScriptSettingsValidator()
|
||||||
{
|
{
|
||||||
RuleFor(c => c.Path).IsValidPath();
|
RuleFor(c => c.Path).IsValidPath();
|
||||||
|
RuleFor(c => c.Path).SetValidator(new SystemFolderValidator()).WithMessage("Must not be a descendant of '{systemFolder}'");
|
||||||
RuleFor(c => c.Arguments).Empty().WithMessage("Arguments are no longer supported for custom scripts");
|
RuleFor(c => c.Arguments).Empty().WithMessage("Arguments are no longer supported for custom scripts");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Core.Books;
|
using NzbDrone.Core.Books;
|
||||||
@@ -70,6 +71,28 @@ namespace NzbDrone.Core.Notifications.Discord
|
|||||||
_proxy.SendPayload(payload, Settings);
|
_proxy.SendPayload(payload, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
var attachments = new List<Embed>
|
||||||
|
{
|
||||||
|
new Embed
|
||||||
|
{
|
||||||
|
Title = author.Name,
|
||||||
|
Fields = new List<DiscordField>()
|
||||||
|
{
|
||||||
|
new DiscordField()
|
||||||
|
{
|
||||||
|
Name = "Links",
|
||||||
|
Value = string.Join(" / ", author.Metadata.Value.Links.Select(link => $"[{link.Name}]({link.Url})"))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var payload = CreatePayload($"Author Added", attachments);
|
||||||
|
|
||||||
|
_proxy.SendPayload(payload, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
var attachments = new List<Embed>
|
var attachments = new List<Embed>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using MimeKit;
|
|||||||
using NLog;
|
using NLog;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Common.Http.Dispatchers;
|
using NzbDrone.Common.Http.Dispatchers;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
using NzbDrone.Core.MediaFiles;
|
using NzbDrone.Core.MediaFiles;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Email
|
namespace NzbDrone.Core.Notifications.Email
|
||||||
@@ -43,6 +44,13 @@ namespace NzbDrone.Core.Notifications.Email
|
|||||||
SendEmail(Settings, BOOK_DOWNLOADED_TITLE_BRANDED, body, false, paths);
|
SendEmail(Settings, BOOK_DOWNLOADED_TITLE_BRANDED, body, false, paths);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
var body = $"{author.Name} added to library.";
|
||||||
|
|
||||||
|
SendEmail(Settings, AUTHOR_ADDED_TITLE_BRANDED, body);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
var body = deleteMessage.Message;
|
var body = deleteMessage.Message;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Gotify
|
namespace NzbDrone.Core.Notifications.Gotify
|
||||||
{
|
{
|
||||||
@@ -29,6 +30,11 @@ namespace NzbDrone.Core.Notifications.Gotify
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
void OnGrab(GrabMessage grabMessage);
|
void OnGrab(GrabMessage grabMessage);
|
||||||
void OnReleaseImport(BookDownloadMessage message);
|
void OnReleaseImport(BookDownloadMessage message);
|
||||||
void OnRename(Author author, List<RenamedBookFile> renamedFiles);
|
void OnRename(Author author, List<RenamedBookFile> renamedFiles);
|
||||||
|
void OnAuthorAdded(Author author);
|
||||||
void OnAuthorDelete(AuthorDeleteMessage deleteMessage);
|
void OnAuthorDelete(AuthorDeleteMessage deleteMessage);
|
||||||
void OnBookDelete(BookDeleteMessage deleteMessage);
|
void OnBookDelete(BookDeleteMessage deleteMessage);
|
||||||
void OnBookFileDelete(BookFileDeleteMessage deleteMessage);
|
void OnBookFileDelete(BookFileDeleteMessage deleteMessage);
|
||||||
@@ -25,6 +26,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
bool SupportsOnReleaseImport { get; }
|
bool SupportsOnReleaseImport { get; }
|
||||||
bool SupportsOnUpgrade { get; }
|
bool SupportsOnUpgrade { get; }
|
||||||
bool SupportsOnRename { get; }
|
bool SupportsOnRename { get; }
|
||||||
|
bool SupportsOnAuthorAdded { get; }
|
||||||
bool SupportsOnAuthorDelete { get; }
|
bool SupportsOnAuthorDelete { get; }
|
||||||
bool SupportsOnBookDelete { get; }
|
bool SupportsOnBookDelete { get; }
|
||||||
bool SupportsOnBookFileDelete { get; }
|
bool SupportsOnBookFileDelete { get; }
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Join
|
namespace NzbDrone.Core.Notifications.Join
|
||||||
{
|
{
|
||||||
@@ -27,6 +28,11 @@ namespace NzbDrone.Core.Notifications.Join
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE_BRANDED, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE_BRANDED, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE_BRANDED, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITlE_BRANDED, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITlE_BRANDED, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Mailgun
|
namespace NzbDrone.Core.Notifications.Mailgun
|
||||||
{
|
{
|
||||||
@@ -29,6 +30,11 @@ namespace NzbDrone.Core.Notifications.Mailgun
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, downloadMessage.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, downloadMessage.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
using NzbDrone.Core.Configuration;
|
using NzbDrone.Core.Configuration;
|
||||||
using NzbDrone.Core.Notifications.Webhook;
|
using NzbDrone.Core.Notifications.Webhook;
|
||||||
using NzbDrone.Core.Validation;
|
using NzbDrone.Core.Validation;
|
||||||
@@ -30,6 +31,11 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
|||||||
_proxy.SendNotification(BuildOnReleaseImportPayload(message), Settings);
|
_proxy.SendNotification(BuildOnReleaseImportPayload(message), Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(BuildOnAuthorAdded(author), Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(BuildOnAuthorDelete(deleteMessage), Settings);
|
_proxy.SendNotification(BuildOnAuthorDelete(deleteMessage), Settings);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
|
using NLog;
|
||||||
using NzbDrone.Common.Http;
|
using NzbDrone.Common.Http;
|
||||||
using NzbDrone.Common.Serializer;
|
using NzbDrone.Common.Serializer;
|
||||||
using NzbDrone.Core.Notifications.Webhook;
|
using NzbDrone.Core.Notifications.Webhook;
|
||||||
@@ -14,10 +15,12 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
|||||||
{
|
{
|
||||||
private const string URL = "https://notifiarr.com";
|
private const string URL = "https://notifiarr.com";
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
|
private readonly Logger _logger;
|
||||||
|
|
||||||
public NotifiarrProxy(IHttpClient httpClient)
|
public NotifiarrProxy(IHttpClient httpClient, Logger logger)
|
||||||
{
|
{
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendNotification(WebhookPayload payload, NotifiarrSettings settings)
|
public void SendNotification(WebhookPayload payload, NotifiarrSettings settings)
|
||||||
@@ -47,12 +50,17 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
|||||||
switch ((int)responseCode)
|
switch ((int)responseCode)
|
||||||
{
|
{
|
||||||
case 401:
|
case 401:
|
||||||
|
_logger.Warn("HTTP 401 - API key is invalid");
|
||||||
throw new NotifiarrException("API key is invalid");
|
throw new NotifiarrException("API key is invalid");
|
||||||
case 400:
|
case 400:
|
||||||
throw new NotifiarrException("Unable to send notification. Ensure Readarr Integration is enabled & assigned a channel on Notifiarr");
|
// 400 responses shouldn't be treated as an actual error because it's a misconfiguration
|
||||||
|
// between Readarr and Notifiarr for a specific event, but shouldn't stop all events.
|
||||||
|
_logger.Warn("HTTP 400 - Unable to send notification. Ensure Readarr Integration is enabled & assigned a channel on Notifiarr");
|
||||||
|
break;
|
||||||
case 502:
|
case 502:
|
||||||
case 503:
|
case 503:
|
||||||
case 504:
|
case 504:
|
||||||
|
_logger.Warn("Unable to send notification. Service Unavailable");
|
||||||
throw new NotifiarrException("Unable to send notification. Service Unavailable", ex);
|
throw new NotifiarrException("Unable to send notification. Service Unavailable", ex);
|
||||||
case 520:
|
case 520:
|
||||||
case 521:
|
case 521:
|
||||||
@@ -61,6 +69,7 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
|||||||
case 524:
|
case 524:
|
||||||
throw new NotifiarrException("Cloudflare Related HTTP Error - Unable to send notification", ex);
|
throw new NotifiarrException("Cloudflare Related HTTP Error - Unable to send notification", ex);
|
||||||
default:
|
default:
|
||||||
|
_logger.Error(ex, "Unknown HTTP Error - Unable to send notification");
|
||||||
throw new NotifiarrException("Unknown HTTP Error - Unable to send notification", ex);
|
throw new NotifiarrException("Unknown HTTP Error - Unable to send notification", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
{
|
{
|
||||||
protected const string BOOK_GRABBED_TITLE = "Book Grabbed";
|
protected const string BOOK_GRABBED_TITLE = "Book Grabbed";
|
||||||
protected const string BOOK_DOWNLOADED_TITLE = "Book Downloaded";
|
protected const string BOOK_DOWNLOADED_TITLE = "Book Downloaded";
|
||||||
|
protected const string AUTHOR_ADDED_TITLE = "Author Added";
|
||||||
protected const string AUTHOR_DELETED_TITLE = "Author Deleted";
|
protected const string AUTHOR_DELETED_TITLE = "Author Deleted";
|
||||||
protected const string BOOK_DELETED_TITLE = "Book Deleted";
|
protected const string BOOK_DELETED_TITLE = "Book Deleted";
|
||||||
protected const string BOOK_FILE_DELETED_TITLE = "Book File Deleted";
|
protected const string BOOK_FILE_DELETED_TITLE = "Book File Deleted";
|
||||||
@@ -23,6 +24,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
|
|
||||||
protected const string BOOK_GRABBED_TITLE_BRANDED = "Readarr - " + BOOK_GRABBED_TITLE;
|
protected const string BOOK_GRABBED_TITLE_BRANDED = "Readarr - " + BOOK_GRABBED_TITLE;
|
||||||
protected const string BOOK_DOWNLOADED_TITLE_BRANDED = "Readarr - " + BOOK_DOWNLOADED_TITLE;
|
protected const string BOOK_DOWNLOADED_TITLE_BRANDED = "Readarr - " + BOOK_DOWNLOADED_TITLE;
|
||||||
|
protected const string AUTHOR_ADDED_TITLE_BRANDED = "Readarr - " + AUTHOR_ADDED_TITLE;
|
||||||
protected const string AUTHOR_DELETED_TITlE_BRANDED = "Readarr - " + AUTHOR_DELETED_TITLE;
|
protected const string AUTHOR_DELETED_TITlE_BRANDED = "Readarr - " + AUTHOR_DELETED_TITLE;
|
||||||
protected const string BOOK_DELETED_TITLE_BRANDED = "Readarr - " + BOOK_DELETED_TITLE;
|
protected const string BOOK_DELETED_TITLE_BRANDED = "Readarr - " + BOOK_DELETED_TITLE;
|
||||||
protected const string BOOK_FILE_DELETED_TITLE_BRANDED = "Readarr - " + BOOK_FILE_DELETED_TITLE;
|
protected const string BOOK_FILE_DELETED_TITLE_BRANDED = "Readarr - " + BOOK_FILE_DELETED_TITLE;
|
||||||
@@ -57,6 +59,10 @@ namespace NzbDrone.Core.Notifications
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public virtual void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public virtual void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -95,6 +101,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
|
|
||||||
public bool SupportsOnGrab => HasConcreteImplementation("OnGrab");
|
public bool SupportsOnGrab => HasConcreteImplementation("OnGrab");
|
||||||
public bool SupportsOnRename => HasConcreteImplementation("OnRename");
|
public bool SupportsOnRename => HasConcreteImplementation("OnRename");
|
||||||
|
public bool SupportsOnAuthorAdded => HasConcreteImplementation("OnAuthorAdded");
|
||||||
public bool SupportsOnAuthorDelete => HasConcreteImplementation("OnAuthorDelete");
|
public bool SupportsOnAuthorDelete => HasConcreteImplementation("OnAuthorDelete");
|
||||||
public bool SupportsOnBookDelete => HasConcreteImplementation("OnBookDelete");
|
public bool SupportsOnBookDelete => HasConcreteImplementation("OnBookDelete");
|
||||||
public bool SupportsOnBookFileDelete => HasConcreteImplementation("OnBookFileDelete");
|
public bool SupportsOnBookFileDelete => HasConcreteImplementation("OnBookFileDelete");
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
public bool OnReleaseImport { get; set; }
|
public bool OnReleaseImport { get; set; }
|
||||||
public bool OnUpgrade { get; set; }
|
public bool OnUpgrade { get; set; }
|
||||||
public bool OnRename { get; set; }
|
public bool OnRename { get; set; }
|
||||||
|
public bool OnAuthorAdded { get; set; }
|
||||||
public bool OnAuthorDelete { get; set; }
|
public bool OnAuthorDelete { get; set; }
|
||||||
public bool OnBookDelete { get; set; }
|
public bool OnBookDelete { get; set; }
|
||||||
public bool OnBookFileDelete { get; set; }
|
public bool OnBookFileDelete { get; set; }
|
||||||
@@ -21,6 +22,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
public bool SupportsOnReleaseImport { get; set; }
|
public bool SupportsOnReleaseImport { get; set; }
|
||||||
public bool SupportsOnUpgrade { get; set; }
|
public bool SupportsOnUpgrade { get; set; }
|
||||||
public bool SupportsOnRename { get; set; }
|
public bool SupportsOnRename { get; set; }
|
||||||
|
public bool SupportsOnAuthorAdded { get; set; }
|
||||||
public bool SupportsOnAuthorDelete { get; set; }
|
public bool SupportsOnAuthorDelete { get; set; }
|
||||||
public bool SupportsOnBookDelete { get; set; }
|
public bool SupportsOnBookDelete { get; set; }
|
||||||
public bool SupportsOnBookFileDelete { get; set; }
|
public bool SupportsOnBookFileDelete { get; set; }
|
||||||
@@ -32,6 +34,6 @@ namespace NzbDrone.Core.Notifications
|
|||||||
public bool SupportsOnBookRetag { get; set; }
|
public bool SupportsOnBookRetag { get; set; }
|
||||||
public bool SupportsOnApplicationUpdate { get; set; }
|
public bool SupportsOnApplicationUpdate { get; set; }
|
||||||
|
|
||||||
public override bool Enable => OnGrab || OnReleaseImport || (OnReleaseImport && OnUpgrade) || OnAuthorDelete || OnBookDelete || OnBookFileDelete || OnBookFileDeleteForUpgrade || OnHealthIssue || OnDownloadFailure || OnImportFailure || OnBookRetag || OnApplicationUpdate;
|
public override bool Enable => OnGrab || OnReleaseImport || (OnReleaseImport && OnUpgrade) || OnAuthorAdded || OnAuthorDelete || OnBookDelete || OnBookFileDelete || OnBookFileDeleteForUpgrade || OnHealthIssue || OnDownloadFailure || OnImportFailure || OnBookRetag || OnApplicationUpdate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using FluentValidation.Results;
|
||||||
using NLog;
|
using NLog;
|
||||||
using NzbDrone.Core.Messaging.Events;
|
using NzbDrone.Core.Messaging.Events;
|
||||||
using NzbDrone.Core.ThingiProvider;
|
using NzbDrone.Core.ThingiProvider;
|
||||||
@@ -14,6 +15,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
List<INotification> OnUpgradeEnabled(bool filterBlockedNotifications = true);
|
List<INotification> OnUpgradeEnabled(bool filterBlockedNotifications = true);
|
||||||
List<INotification> OnRenameEnabled(bool filterBlockedNotifications = true);
|
List<INotification> OnRenameEnabled(bool filterBlockedNotifications = true);
|
||||||
List<INotification> OnHealthIssueEnabled(bool filterBlockedNotifications = true);
|
List<INotification> OnHealthIssueEnabled(bool filterBlockedNotifications = true);
|
||||||
|
List<INotification> OnAuthorAddedEnabled(bool filterBlockedNotifications = true);
|
||||||
List<INotification> OnAuthorDeleteEnabled(bool filterBlockedNotifications = true);
|
List<INotification> OnAuthorDeleteEnabled(bool filterBlockedNotifications = true);
|
||||||
List<INotification> OnBookDeleteEnabled(bool filterBlockedNotifications = true);
|
List<INotification> OnBookDeleteEnabled(bool filterBlockedNotifications = true);
|
||||||
List<INotification> OnBookFileDeleteEnabled(bool filterBlockedNotifications = true);
|
List<INotification> OnBookFileDeleteEnabled(bool filterBlockedNotifications = true);
|
||||||
@@ -81,6 +83,16 @@ namespace NzbDrone.Core.Notifications
|
|||||||
return GetAvailableProviders().Where(n => ((NotificationDefinition)n.Definition).OnRename).ToList();
|
return GetAvailableProviders().Where(n => ((NotificationDefinition)n.Definition).OnRename).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<INotification> OnAuthorAddedEnabled(bool filterBlockedNotifications = true)
|
||||||
|
{
|
||||||
|
if (filterBlockedNotifications)
|
||||||
|
{
|
||||||
|
return FilterBlockedNotifications(GetAvailableProviders().Where(n => ((NotificationDefinition)n.Definition).OnAuthorAdded)).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetAvailableProviders().Where(n => ((NotificationDefinition)n.Definition).OnAuthorAdded).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
public List<INotification> OnAuthorDeleteEnabled(bool filterBlockedNotifications = true)
|
public List<INotification> OnAuthorDeleteEnabled(bool filterBlockedNotifications = true)
|
||||||
{
|
{
|
||||||
if (filterBlockedNotifications)
|
if (filterBlockedNotifications)
|
||||||
@@ -195,6 +207,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
definition.SupportsOnReleaseImport = provider.SupportsOnReleaseImport;
|
definition.SupportsOnReleaseImport = provider.SupportsOnReleaseImport;
|
||||||
definition.SupportsOnUpgrade = provider.SupportsOnUpgrade;
|
definition.SupportsOnUpgrade = provider.SupportsOnUpgrade;
|
||||||
definition.SupportsOnRename = provider.SupportsOnRename;
|
definition.SupportsOnRename = provider.SupportsOnRename;
|
||||||
|
definition.SupportsOnAuthorAdded = provider.SupportsOnAuthorAdded;
|
||||||
definition.SupportsOnAuthorDelete = provider.SupportsOnAuthorDelete;
|
definition.SupportsOnAuthorDelete = provider.SupportsOnAuthorDelete;
|
||||||
definition.SupportsOnBookDelete = provider.SupportsOnBookDelete;
|
definition.SupportsOnBookDelete = provider.SupportsOnBookDelete;
|
||||||
definition.SupportsOnBookFileDelete = provider.SupportsOnBookFileDelete;
|
definition.SupportsOnBookFileDelete = provider.SupportsOnBookFileDelete;
|
||||||
@@ -205,5 +218,26 @@ namespace NzbDrone.Core.Notifications
|
|||||||
definition.SupportsOnBookRetag = provider.SupportsOnBookRetag;
|
definition.SupportsOnBookRetag = provider.SupportsOnBookRetag;
|
||||||
definition.SupportsOnApplicationUpdate = provider.SupportsOnApplicationUpdate;
|
definition.SupportsOnApplicationUpdate = provider.SupportsOnApplicationUpdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override ValidationResult Test(NotificationDefinition definition)
|
||||||
|
{
|
||||||
|
var result = base.Test(definition);
|
||||||
|
|
||||||
|
if (definition.Id == 0)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result == null || result.IsValid)
|
||||||
|
{
|
||||||
|
_notificationStatusService.RecordSuccess(definition.Id);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_notificationStatusService.RecordFailure(definition.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ namespace NzbDrone.Core.Notifications
|
|||||||
: IHandle<BookGrabbedEvent>,
|
: IHandle<BookGrabbedEvent>,
|
||||||
IHandle<BookImportedEvent>,
|
IHandle<BookImportedEvent>,
|
||||||
IHandle<AuthorRenamedEvent>,
|
IHandle<AuthorRenamedEvent>,
|
||||||
|
IHandle<AuthorAddedEvent>,
|
||||||
IHandle<AuthorDeletedEvent>,
|
IHandle<AuthorDeletedEvent>,
|
||||||
IHandle<BookDeletedEvent>,
|
IHandle<BookDeletedEvent>,
|
||||||
IHandle<BookFileDeletedEvent>,
|
IHandle<BookFileDeletedEvent>,
|
||||||
@@ -211,6 +212,26 @@ namespace NzbDrone.Core.Notifications
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Handle(AuthorAddedEvent message)
|
||||||
|
{
|
||||||
|
foreach (var notification in _notificationFactory.OnAuthorAddedEnabled())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (ShouldHandleAuthor(notification.Definition, message.Author))
|
||||||
|
{
|
||||||
|
notification.OnAuthorAdded(message.Author);
|
||||||
|
_notificationStatusService.RecordSuccess(notification.Definition.Id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_notificationStatusService.RecordFailure(notification.Definition.Id);
|
||||||
|
_logger.Warn(ex, "Unable to send OnAuthorAdded notification to: " + notification.Definition.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Handle(AuthorDeletedEvent message)
|
public void Handle(AuthorDeletedEvent message)
|
||||||
{
|
{
|
||||||
var deleteMessage = new AuthorDeleteMessage(message.Author, message.DeleteFiles);
|
var deleteMessage = new AuthorDeleteMessage(message.Author, message.DeleteFiles);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Ntfy
|
namespace NzbDrone.Core.Notifications.Ntfy
|
||||||
{
|
{
|
||||||
@@ -27,6 +28,11 @@ namespace NzbDrone.Core.Notifications.Ntfy
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE_BRANDED, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE_BRANDED, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Prowl
|
namespace NzbDrone.Core.Notifications.Prowl
|
||||||
{
|
{
|
||||||
@@ -26,6 +27,11 @@ namespace NzbDrone.Core.Notifications.Prowl
|
|||||||
_prowlProxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
_prowlProxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_prowlProxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_prowlProxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_prowlProxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
using NzbDrone.Core.Validation;
|
using NzbDrone.Core.Validation;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.PushBullet
|
namespace NzbDrone.Core.Notifications.PushBullet
|
||||||
@@ -29,6 +30,11 @@ namespace NzbDrone.Core.Notifications.PushBullet
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE_BRANDED, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE_BRANDED, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Pushover
|
namespace NzbDrone.Core.Notifications.Pushover
|
||||||
{
|
{
|
||||||
@@ -26,6 +27,11 @@ namespace NzbDrone.Core.Notifications.Pushover
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.SendGrid
|
namespace NzbDrone.Core.Notifications.SendGrid
|
||||||
{
|
{
|
||||||
@@ -29,6 +30,11 @@ namespace NzbDrone.Core.Notifications.SendGrid
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Signal
|
namespace NzbDrone.Core.Notifications.Signal
|
||||||
{
|
{
|
||||||
@@ -26,6 +27,11 @@ namespace NzbDrone.Core.Notifications.Signal
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Core.Books;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Simplepush
|
namespace NzbDrone.Core.Notifications.Simplepush
|
||||||
{
|
{
|
||||||
@@ -26,6 +27,11 @@ namespace NzbDrone.Core.Notifications.Simplepush
|
|||||||
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
_proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
_proxy.SendNotification(AUTHOR_ADDED_TITLE, author.Name, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
_proxy.SendNotification(AUTHOR_DELETED_TITLE, deleteMessage.Message, Settings);
|
||||||
|
|||||||
@@ -70,6 +70,21 @@ namespace NzbDrone.Core.Notifications.Slack
|
|||||||
_proxy.SendPayload(payload, Settings);
|
_proxy.SendPayload(payload, Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
var attachments = new List<Attachment>
|
||||||
|
{
|
||||||
|
new Attachment
|
||||||
|
{
|
||||||
|
Title = author.Name,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var payload = CreatePayload("Author Added", attachments);
|
||||||
|
|
||||||
|
_proxy.SendPayload(payload, Settings);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
var attachments = new List<Attachment>
|
var attachments = new List<Attachment>
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ namespace NzbDrone.Core.Notifications.Subsonic
|
|||||||
Update();
|
Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnAuthorAdded(Author author)
|
||||||
|
{
|
||||||
|
Notify(Settings, AUTHOR_ADDED_TITLE_BRANDED, author.Name);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
public override void OnAuthorDelete(AuthorDeleteMessage deleteMessage)
|
||||||
{
|
{
|
||||||
const string header = "Readarr - Author Deleted";
|
const string header = "Readarr - Author Deleted";
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user