mirror of
https://github.com/Readarr/Readarr.git
synced 2026-03-28 18:05:51 -04:00
Compare commits
24 Commits
v0.3.17.24
...
v0.3.19.24
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c77d820763 | ||
|
|
3327ed0f49 | ||
|
|
44009e980b | ||
|
|
02fd733223 | ||
|
|
2fa9576d05 | ||
|
|
c7ee278ee4 | ||
|
|
d72c27ceed | ||
|
|
7a20fe2288 | ||
|
|
042b62a2a5 | ||
|
|
88141e9d63 | ||
|
|
7fa1114edf | ||
|
|
d4262532e2 | ||
|
|
a21f83aae1 | ||
|
|
d659e86a7d | ||
|
|
0b924005ec | ||
|
|
ba2fad5d9c | ||
|
|
58416cee67 | ||
|
|
38124313c7 | ||
|
|
3fc9f6c0a4 | ||
|
|
79ce5abd53 | ||
|
|
7f01d597cb | ||
|
|
31f35df71d | ||
|
|
faeb78801c | ||
|
|
bd5695f2dd |
@@ -9,7 +9,7 @@ variables:
|
||||
testsFolder: './_tests'
|
||||
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
||||
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
||||
majorVersion: '0.3.17'
|
||||
majorVersion: '0.3.19'
|
||||
minorVersion: $[counter('minorVersion', 1)]
|
||||
readarrVersion: '$(majorVersion).$(minorVersion)'
|
||||
buildName: '$(Build.SourceBranchName).$(readarrVersion)'
|
||||
|
||||
@@ -90,7 +90,7 @@ class AuthorIndexOverview extends Component {
|
||||
status,
|
||||
titleSlug,
|
||||
nextAiring,
|
||||
statistics,
|
||||
statistics = {},
|
||||
images,
|
||||
posterWidth,
|
||||
posterHeight,
|
||||
@@ -113,10 +113,11 @@ class AuthorIndexOverview extends Component {
|
||||
} = this.props;
|
||||
|
||||
const {
|
||||
bookCount,
|
||||
sizeOnDisk,
|
||||
bookFileCount,
|
||||
totalBookCount
|
||||
bookCount = 0,
|
||||
availableBookCount = 0,
|
||||
bookFileCount = 0,
|
||||
totalBookCount = 0,
|
||||
sizeOnDisk = 0
|
||||
} = statistics;
|
||||
|
||||
const {
|
||||
@@ -179,6 +180,7 @@ class AuthorIndexOverview extends Component {
|
||||
monitored={monitored}
|
||||
status={status}
|
||||
bookCount={bookCount}
|
||||
availableBookCount={availableBookCount}
|
||||
bookFileCount={bookFileCount}
|
||||
totalBookCount={totalBookCount}
|
||||
posterWidth={posterWidth}
|
||||
|
||||
@@ -85,7 +85,7 @@ class AuthorIndexPoster extends Component {
|
||||
titleSlug,
|
||||
status,
|
||||
nextAiring,
|
||||
statistics,
|
||||
statistics = {},
|
||||
images,
|
||||
posterWidth,
|
||||
posterHeight,
|
||||
@@ -110,10 +110,11 @@ class AuthorIndexPoster extends Component {
|
||||
} = this.props;
|
||||
|
||||
const {
|
||||
bookCount,
|
||||
sizeOnDisk,
|
||||
bookFileCount,
|
||||
totalBookCount
|
||||
bookCount = 0,
|
||||
availableBookCount = 0,
|
||||
bookFileCount = 0,
|
||||
totalBookCount = 0,
|
||||
sizeOnDisk = 0
|
||||
} = statistics;
|
||||
|
||||
const {
|
||||
@@ -213,6 +214,7 @@ class AuthorIndexPoster extends Component {
|
||||
monitored={monitored}
|
||||
status={status}
|
||||
bookCount={bookCount}
|
||||
availableBookCount={availableBookCount}
|
||||
bookFileCount={bookFileCount}
|
||||
totalBookCount={totalBookCount}
|
||||
posterWidth={posterWidth}
|
||||
|
||||
@@ -11,14 +11,15 @@ function AuthorIndexProgressBar(props) {
|
||||
monitored,
|
||||
status,
|
||||
bookCount,
|
||||
availableBookCount,
|
||||
bookFileCount,
|
||||
totalBookCount,
|
||||
posterWidth,
|
||||
detailedProgressBar
|
||||
} = props;
|
||||
|
||||
const progress = bookCount ? bookCount / totalBookCount * 100 : 100;
|
||||
const text = `${bookCount} / ${totalBookCount}`;
|
||||
const progress = bookCount ? (availableBookCount / bookCount) * 100 : 100;
|
||||
const text = `${availableBookCount} / ${bookCount}`;
|
||||
|
||||
return (
|
||||
<ProgressBar
|
||||
@@ -29,7 +30,7 @@ function AuthorIndexProgressBar(props) {
|
||||
size={detailedProgressBar ? sizes.MEDIUM : sizes.SMALL}
|
||||
showText={detailedProgressBar}
|
||||
text={text}
|
||||
title={translate('BookFileCountBookCountTotalTotalBookCountInterp', [bookFileCount, bookCount, totalBookCount])}
|
||||
title={translate('AuthorProgressBarText', { bookCount, availableBookCount, bookFileCount, totalBookCount })}
|
||||
width={posterWidth}
|
||||
/>
|
||||
);
|
||||
@@ -39,6 +40,7 @@ AuthorIndexProgressBar.propTypes = {
|
||||
monitored: PropTypes.bool.isRequired,
|
||||
status: PropTypes.string.isRequired,
|
||||
bookCount: PropTypes.number.isRequired,
|
||||
availableBookCount: PropTypes.number.isRequired,
|
||||
bookFileCount: PropTypes.number.isRequired,
|
||||
totalBookCount: PropTypes.number.isRequired,
|
||||
posterWidth: PropTypes.number.isRequired,
|
||||
|
||||
@@ -90,7 +90,7 @@ class AuthorIndexRow extends Component {
|
||||
nextBook,
|
||||
lastBook,
|
||||
added,
|
||||
statistics,
|
||||
statistics = {},
|
||||
genres,
|
||||
ratings,
|
||||
path,
|
||||
@@ -110,10 +110,11 @@ class AuthorIndexRow extends Component {
|
||||
} = this.props;
|
||||
|
||||
const {
|
||||
bookCount,
|
||||
bookFileCount,
|
||||
totalBookCount,
|
||||
sizeOnDisk
|
||||
bookCount = 0,
|
||||
availableBookCount = 0,
|
||||
bookFileCount = 0,
|
||||
totalBookCount = 0,
|
||||
sizeOnDisk = 0
|
||||
} = statistics;
|
||||
|
||||
const {
|
||||
@@ -286,7 +287,7 @@ class AuthorIndexRow extends Component {
|
||||
}
|
||||
|
||||
if (name === 'bookProgress') {
|
||||
const progress = bookCount ? bookFileCount / bookCount * 100 : 100;
|
||||
const progress = bookCount ? (availableBookCount / bookCount) * 100 : 100;
|
||||
|
||||
return (
|
||||
<VirtualTableRowCell
|
||||
@@ -297,8 +298,8 @@ class AuthorIndexRow extends Component {
|
||||
progress={progress}
|
||||
kind={getProgressBarKind(status, monitored, progress)}
|
||||
showText={true}
|
||||
text={`${bookCount} / ${totalBookCount}`}
|
||||
title={translate('BookFileCountBookCountTotalTotalBookCountInterp', [bookFileCount, bookCount, totalBookCount])}
|
||||
text={`${availableBookCount} / ${bookCount}`}
|
||||
title={translate('AuthorProgressBarText', { bookCount, availableBookCount, bookFileCount, totalBookCount })}
|
||||
width={125}
|
||||
/>
|
||||
</VirtualTableRowCell>
|
||||
|
||||
@@ -16,8 +16,8 @@ function BookIndexProgressBar(props) {
|
||||
detailedProgressBar
|
||||
} = props;
|
||||
|
||||
const progress = bookCount ? bookFileCount / totalBookCount * 100 : 0;
|
||||
const text = `${bookFileCount} / ${bookCount}`;
|
||||
const progress = bookFileCount && bookCount ? (totalBookCount / bookCount) * 100 : 0;
|
||||
const text = `${bookFileCount ? bookCount : 0} / ${totalBookCount}`;
|
||||
|
||||
return (
|
||||
<ProgressBar
|
||||
@@ -28,7 +28,11 @@ function BookIndexProgressBar(props) {
|
||||
size={detailedProgressBar ? sizes.MEDIUM : sizes.SMALL}
|
||||
showText={detailedProgressBar}
|
||||
text={text}
|
||||
title={translate('BookFileCountBookCountTotalTotalBookCountInterp', [bookFileCount, bookCount, totalBookCount])}
|
||||
title={translate('BookProgressBarText', {
|
||||
bookCount: bookFileCount ? bookCount : 0,
|
||||
bookFileCount,
|
||||
totalBookCount
|
||||
})}
|
||||
width={posterWidth}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -27,14 +27,15 @@ class BookshelfBook extends Component {
|
||||
title,
|
||||
disambiguation,
|
||||
monitored,
|
||||
statistics,
|
||||
statistics = {},
|
||||
isSaving
|
||||
} = this.props;
|
||||
|
||||
const {
|
||||
bookFileCount,
|
||||
totalBookCount,
|
||||
percentOfBooks
|
||||
bookCount = 0,
|
||||
bookFileCount = 0,
|
||||
totalBookCount = 0,
|
||||
percentOfBooks = 0
|
||||
} = statistics;
|
||||
|
||||
return (
|
||||
@@ -59,10 +60,14 @@ class BookshelfBook extends Component {
|
||||
percentOfBooks < 100 && monitored && styles.missingWanted,
|
||||
percentOfBooks === 100 && styles.allBooks
|
||||
)}
|
||||
title={translate('BookFileCounttotalBookCountBooksDownloadedInterp', [bookFileCount, totalBookCount])}
|
||||
title={translate('BookProgressBarText', {
|
||||
bookCount: bookFileCount ? bookCount : 0,
|
||||
bookFileCount,
|
||||
totalBookCount
|
||||
})}
|
||||
>
|
||||
{
|
||||
totalBookCount === 0 ? '0/0' : `${bookFileCount}/${totalBookCount}`
|
||||
totalBookCount === 0 ? '0/0' : `${bookFileCount ? bookCount : 0}/${totalBookCount}`
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -25,7 +25,8 @@ function createMapStateToProps() {
|
||||
const values = _.map(filteredItems.sort(sortByName), (downloadClient) => {
|
||||
return {
|
||||
key: downloadClient.id,
|
||||
value: downloadClient.name
|
||||
value: downloadClient.name,
|
||||
hint: `(${downloadClient.id})`
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ class SelectAuthorModalContent extends Component {
|
||||
// Listeners
|
||||
|
||||
onFilterChange = ({ value }) => {
|
||||
this.setState({ filter: value.toLowerCase() });
|
||||
this.setState({ filter: value });
|
||||
};
|
||||
|
||||
//
|
||||
@@ -43,6 +43,7 @@ class SelectAuthorModalContent extends Component {
|
||||
} = this.props;
|
||||
|
||||
const filter = this.state.filter;
|
||||
const filterLower = filter.toLowerCase();
|
||||
|
||||
return (
|
||||
<ModalContent onModalClose={onModalClose}>
|
||||
@@ -66,7 +67,7 @@ class SelectAuthorModalContent extends Component {
|
||||
<Scroller className={styles.scroller}>
|
||||
{
|
||||
items.map((item) => {
|
||||
return item.authorName.toLowerCase().includes(filter) ?
|
||||
return item.authorName.toLowerCase().includes(filterLower) ?
|
||||
(
|
||||
<SelectAuthorRow
|
||||
key={item.id}
|
||||
|
||||
@@ -52,7 +52,7 @@ class SelectBookModalContent extends Component {
|
||||
// Listeners
|
||||
|
||||
onFilterChange = ({ value }) => {
|
||||
this.setState({ filter: value.toLowerCase() });
|
||||
this.setState({ filter: value });
|
||||
};
|
||||
|
||||
//
|
||||
@@ -68,6 +68,7 @@ class SelectBookModalContent extends Component {
|
||||
} = this.props;
|
||||
|
||||
const filter = this.state.filter;
|
||||
const filterLower = filter.toLowerCase();
|
||||
|
||||
return (
|
||||
<ModalContent onModalClose={onModalClose}>
|
||||
@@ -101,7 +102,7 @@ class SelectBookModalContent extends Component {
|
||||
<TableBody>
|
||||
{
|
||||
items.map((item) => {
|
||||
return item.title.toLowerCase().includes(filter) ?
|
||||
return item.title.toLowerCase().includes(filterLower) ?
|
||||
(
|
||||
<SelectBookRow
|
||||
key={item.id}
|
||||
|
||||
@@ -295,11 +295,11 @@ class InteractiveImportModalContent extends Component {
|
||||
const errorMessage = getErrorMessage(error, 'Unable to load manual import items');
|
||||
|
||||
const bulkSelectOptions = [
|
||||
{ key: SELECT, value: 'Select...', disabled: true },
|
||||
{ key: BOOK, value: 'Select Book' },
|
||||
{ key: EDITION, value: 'Select Edition' },
|
||||
{ key: QUALITY, value: 'Select Quality' },
|
||||
{ key: RELEASE_GROUP, value: 'Select ReleaseGroup' }
|
||||
{ key: SELECT, value: translate('SelectDropdown'), disabled: true },
|
||||
{ key: BOOK, value: translate('SelectBook') },
|
||||
{ key: EDITION, value: translate('SelectEdition') },
|
||||
{ key: QUALITY, value: translate('SelectQuality') },
|
||||
{ key: RELEASE_GROUP, value: translate('SelectReleaseGroup') }
|
||||
];
|
||||
|
||||
if (allowAuthorChange) {
|
||||
|
||||
@@ -14,12 +14,17 @@ function PendingChangesModal(props) {
|
||||
isOpen,
|
||||
onConfirm,
|
||||
onCancel,
|
||||
bindShortcut
|
||||
bindShortcut,
|
||||
unbindShortcut
|
||||
} = props;
|
||||
|
||||
useEffect(() => {
|
||||
bindShortcut('enter', onConfirm);
|
||||
}, [bindShortcut, onConfirm]);
|
||||
if (isOpen) {
|
||||
bindShortcut('enter', onConfirm);
|
||||
|
||||
return () => unbindShortcut('enter', onConfirm);
|
||||
}
|
||||
}, [bindShortcut, unbindShortcut, isOpen, onConfirm]);
|
||||
|
||||
return (
|
||||
<Modal
|
||||
@@ -60,7 +65,8 @@ PendingChangesModal.propTypes = {
|
||||
kind: PropTypes.oneOf(kinds.all),
|
||||
onConfirm: PropTypes.func.isRequired,
|
||||
onCancel: PropTypes.func.isRequired,
|
||||
bindShortcut: PropTypes.func.isRequired
|
||||
bindShortcut: PropTypes.func.isRequired,
|
||||
unbindShortcut: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
PendingChangesModal.defaultProps = {
|
||||
|
||||
@@ -3,7 +3,7 @@ import React, { Component } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { createSelector } from 'reselect';
|
||||
import { fetchDelayProfiles, fetchDownloadClients, fetchImportLists, fetchIndexers, fetchNotifications, fetchReleaseProfiles } from 'Store/Actions/settingsActions';
|
||||
import { fetchTagDetails } from 'Store/Actions/tagActions';
|
||||
import { fetchTagDetails, fetchTags } from 'Store/Actions/tagActions';
|
||||
import Tags from './Tags';
|
||||
|
||||
function createMapStateToProps() {
|
||||
@@ -25,6 +25,7 @@ function createMapStateToProps() {
|
||||
}
|
||||
|
||||
const mapDispatchToProps = {
|
||||
dispatchFetchTags: fetchTags,
|
||||
dispatchFetchTagDetails: fetchTagDetails,
|
||||
dispatchFetchDelayProfiles: fetchDelayProfiles,
|
||||
dispatchFetchImportLists: fetchImportLists,
|
||||
@@ -41,6 +42,7 @@ class MetadatasConnector extends Component {
|
||||
|
||||
componentDidMount() {
|
||||
const {
|
||||
dispatchFetchTags,
|
||||
dispatchFetchTagDetails,
|
||||
dispatchFetchDelayProfiles,
|
||||
dispatchFetchImportLists,
|
||||
@@ -50,6 +52,7 @@ class MetadatasConnector extends Component {
|
||||
dispatchFetchDownloadClients
|
||||
} = this.props;
|
||||
|
||||
dispatchFetchTags();
|
||||
dispatchFetchTagDetails();
|
||||
dispatchFetchDelayProfiles();
|
||||
dispatchFetchImportLists();
|
||||
@@ -72,6 +75,7 @@ class MetadatasConnector extends Component {
|
||||
}
|
||||
|
||||
MetadatasConnector.propTypes = {
|
||||
dispatchFetchTags: PropTypes.func.isRequired,
|
||||
dispatchFetchTagDetails: PropTypes.func.isRequired,
|
||||
dispatchFetchDelayProfiles: PropTypes.func.isRequired,
|
||||
dispatchFetchImportLists: PropTypes.func.isRequired,
|
||||
|
||||
@@ -21,19 +21,19 @@ export const firstDayOfWeekOptions = [
|
||||
];
|
||||
|
||||
export const weekColumnOptions = [
|
||||
{ key: 'ddd M/D', value: 'Tue 3/25' },
|
||||
{ key: 'ddd MM/DD', value: 'Tue 03/25' },
|
||||
{ key: 'ddd D/M', value: 'Tue 25/3' },
|
||||
{ key: 'ddd DD/MM', value: 'Tue 25/03' }
|
||||
{ key: 'ddd M/D', value: 'Tue 3/25', hint: 'ddd M/D' },
|
||||
{ key: 'ddd MM/DD', value: 'Tue 03/25', hint: 'ddd MM/DD' },
|
||||
{ key: 'ddd D/M', value: 'Tue 25/3', hint: 'ddd D/M' },
|
||||
{ key: 'ddd DD/MM', value: 'Tue 25/03', hint: 'ddd DD/MM' }
|
||||
];
|
||||
|
||||
const shortDateFormatOptions = [
|
||||
{ key: 'MMM D YYYY', value: 'Mar 25 2014' },
|
||||
{ key: 'DD MMM YYYY', value: '25 Mar 2014' },
|
||||
{ key: 'MM/D/YYYY', value: '03/25/2014' },
|
||||
{ key: 'MM/DD/YYYY', value: '03/25/2014' },
|
||||
{ key: 'DD/MM/YYYY', value: '25/03/2014' },
|
||||
{ key: 'YYYY-MM-DD', value: '2014-03-25' }
|
||||
{ key: 'MMM D YYYY', value: 'Mar 25 2014', hint: 'MMM D YYYY' },
|
||||
{ key: 'DD MMM YYYY', value: '25 Mar 2014', hint: 'DD MMM YYYY' },
|
||||
{ key: 'MM/D/YYYY', value: '03/25/2014', hint: 'MM/D/YYYY' },
|
||||
{ key: 'MM/DD/YYYY', value: '03/25/2014', hint: 'MM/DD/YYYY' },
|
||||
{ key: 'DD/MM/YYYY', value: '25/03/2014', hint: 'DD/MM/YYYY' },
|
||||
{ key: 'YYYY-MM-DD', value: '2014-03-25', hint: 'YYYY-MM-DD' }
|
||||
];
|
||||
|
||||
const longDateFormatOptions = [
|
||||
|
||||
@@ -13,7 +13,7 @@ using NzbDrone.Core.Test.Framework;
|
||||
namespace NzbDrone.Core.Test.MetadataSource.Goodreads
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class BookInfoProxyFixture : CoreTest<BookInfoProxy>
|
||||
{
|
||||
private MetadataProfile _metadataProfile;
|
||||
|
||||
@@ -15,7 +15,7 @@ using NzbDrone.Test.Common;
|
||||
namespace NzbDrone.Core.Test.MetadataSource.Goodreads
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class BookInfoProxySearchFixture : CoreTest<BookInfoProxy>
|
||||
{
|
||||
[SetUp]
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace NzbDrone.Core.Books
|
||||
public List<string> Genres { get; set; }
|
||||
public List<int> RelatedBooks { get; set; }
|
||||
public Ratings Ratings { get; set; }
|
||||
public DateTime? LastSearchTime { get; set; }
|
||||
|
||||
// These are Readarr generated/config
|
||||
public string CleanTitle { get; set; }
|
||||
@@ -90,6 +91,7 @@ namespace NzbDrone.Core.Books
|
||||
Monitored = other.Monitored;
|
||||
AnyEditionOk = other.AnyEditionOk;
|
||||
LastInfoSync = other.LastInfoSync;
|
||||
LastSearchTime = other.LastSearchTime;
|
||||
Added = other.Added;
|
||||
AddOptions = other.AddOptions;
|
||||
}
|
||||
|
||||
@@ -225,7 +225,12 @@ namespace NzbDrone.Core.Books
|
||||
public Author UpdateAuthor(Author author)
|
||||
{
|
||||
_cache.Clear();
|
||||
|
||||
var storedAuthor = GetAuthor(author.Id);
|
||||
|
||||
// Never update AddOptions when updating an author, keep it the same as the existing stored author.
|
||||
author.AddOptions = storedAuthor.AddOptions;
|
||||
|
||||
var updatedAuthor = _authorRepository.Update(author);
|
||||
_eventAggregator.PublishEvent(new AuthorEditedEvent(updatedAuthor, storedAuthor));
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace NzbDrone.Core.Books
|
||||
Book UpdateBook(Book book);
|
||||
void SetBookMonitored(int bookId, bool monitored);
|
||||
void SetMonitored(IEnumerable<int> ids, bool monitored);
|
||||
void UpdateLastSearchTime(List<Book> books);
|
||||
PagingSpec<Book> BooksWithoutFiles(PagingSpec<Book> pagingSpec);
|
||||
List<Book> BooksBetweenDates(DateTime start, DateTime end, bool includeUnmonitored);
|
||||
List<Book> AuthorBooksBetweenDates(Author author, DateTime start, DateTime end, bool includeUnmonitored);
|
||||
@@ -303,6 +304,11 @@ namespace NzbDrone.Core.Books
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateLastSearchTime(List<Book> books)
|
||||
{
|
||||
_bookRepository.SetFields(books, b => b.LastSearchTime);
|
||||
}
|
||||
|
||||
public void Handle(AuthorDeletedEvent message)
|
||||
{
|
||||
var books = GetBooksByAuthorMetadataId(message.Author.AuthorMetadataId);
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
using System.Data;
|
||||
using System.Text.RegularExpressions;
|
||||
using FluentMigrator;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Instrumentation;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Maintenance(MigrationStage.BeforeAll, TransactionBehavior.None)]
|
||||
public class DatabaseEngineVersionCheck : FluentMigrator.Migration
|
||||
{
|
||||
protected readonly Logger _logger;
|
||||
|
||||
public DatabaseEngineVersionCheck()
|
||||
{
|
||||
_logger = NzbDroneLogger.GetLogger(this);
|
||||
}
|
||||
|
||||
public override void Up()
|
||||
{
|
||||
IfDatabase("sqlite").Execute.WithConnection(LogSqliteVersion);
|
||||
IfDatabase("postgres").Execute.WithConnection(LogPostgresVersion);
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
// No-op
|
||||
}
|
||||
|
||||
private void LogSqliteVersion(IDbConnection conn, IDbTransaction tran)
|
||||
{
|
||||
using (var versionCmd = conn.CreateCommand())
|
||||
{
|
||||
versionCmd.Transaction = tran;
|
||||
versionCmd.CommandText = "SELECT sqlite_version();";
|
||||
|
||||
using (var reader = versionCmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var version = reader.GetString(0);
|
||||
|
||||
_logger.Info("SQLite {0}", version);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void LogPostgresVersion(IDbConnection conn, IDbTransaction tran)
|
||||
{
|
||||
using (var versionCmd = conn.CreateCommand())
|
||||
{
|
||||
versionCmd.Transaction = tran;
|
||||
versionCmd.CommandText = "SHOW server_version";
|
||||
|
||||
using (var reader = versionCmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var version = reader.GetString(0);
|
||||
var cleanVersion = Regex.Replace(version, @"\(.*?\)", "");
|
||||
|
||||
_logger.Info("Postgres {0}", cleanVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using FluentMigrator;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Migration(039)]
|
||||
public class book_last_searched_time : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
Alter.Table("Books").AddColumn("LastSearchTime").AsDateTimeOffset().Nullable();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -42,12 +42,13 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
|
||||
serviceProvider = new ServiceCollection()
|
||||
.AddLogging(b => b.AddNLog())
|
||||
.AddFluentMigratorCore()
|
||||
.Configure<RunnerOptions>(cfg => cfg.IncludeUntaggedMaintenances = true)
|
||||
.ConfigureRunner(
|
||||
builder => builder
|
||||
.AddPostgres()
|
||||
.AddNzbDroneSQLite()
|
||||
.WithGlobalConnectionString(connectionString)
|
||||
.WithMigrationsIn(Assembly.GetExecutingAssembly()))
|
||||
.ScanIn(Assembly.GetExecutingAssembly()).For.All())
|
||||
.Configure<TypeFilterOptions>(opt => opt.Namespace = "NzbDrone.Core.Datastore.Migration")
|
||||
.Configure<ProcessorOptions>(opt =>
|
||||
{
|
||||
|
||||
@@ -59,13 +59,18 @@ namespace NzbDrone.Core.Download
|
||||
{
|
||||
var indexer = _indexerFactory.Find(indexerId);
|
||||
|
||||
if (indexer != null && indexer.DownloadClientId > 0)
|
||||
if (indexer is { DownloadClientId: > 0 })
|
||||
{
|
||||
var client = availableProviders.SingleOrDefault(d => d.Definition.Id == indexer.DownloadClientId);
|
||||
|
||||
if (client == null || (filterBlockedClients && blockedProviders.Contains(client.Definition.Id)))
|
||||
if (client == null)
|
||||
{
|
||||
throw new DownloadClientUnavailableException($"Indexer specified download client is not available");
|
||||
throw new DownloadClientUnavailableException($"Indexer specified download client does not exist for {indexer.Name}");
|
||||
}
|
||||
|
||||
if (filterBlockedClients && blockedProviders.Contains(client.Definition.Id))
|
||||
{
|
||||
throw new DownloadClientUnavailableException($"Indexer specified download client is not available due to recent failures for {indexer.Name}");
|
||||
}
|
||||
|
||||
return client;
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace NzbDrone.Core.Extras.Files
|
||||
List<TExtraFile> GetFilesByAuthor(int authorId);
|
||||
List<TExtraFile> GetFilesByBook(int authorId, int bookId);
|
||||
List<TExtraFile> GetFilesByBookFile(int bookFileId);
|
||||
TExtraFile FindByPath(string path);
|
||||
TExtraFile FindByPath(int authorId, string path);
|
||||
}
|
||||
|
||||
public class ExtraFileRepository<TExtraFile> : BasicRepository<TExtraFile>, IExtraFileRepository<TExtraFile>
|
||||
@@ -55,9 +55,9 @@ namespace NzbDrone.Core.Extras.Files
|
||||
return Query(c => c.BookFileId == bookFileId);
|
||||
}
|
||||
|
||||
public TExtraFile FindByPath(string path)
|
||||
public TExtraFile FindByPath(int authorId, string path)
|
||||
{
|
||||
return Query(c => c.RelativePath == path).SingleOrDefault();
|
||||
return Query(c => c.AuthorId == authorId && c.RelativePath == path).SingleOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace NzbDrone.Core.Extras.Files
|
||||
{
|
||||
List<TExtraFile> GetFilesByAuthor(int authorId);
|
||||
List<TExtraFile> GetFilesByBookFile(int bookFileId);
|
||||
TExtraFile FindByPath(string path);
|
||||
TExtraFile FindByPath(int authorId, string path);
|
||||
void Upsert(TExtraFile extraFile);
|
||||
void Upsert(List<TExtraFile> extraFiles);
|
||||
void Delete(int id);
|
||||
@@ -59,9 +59,9 @@ namespace NzbDrone.Core.Extras.Files
|
||||
return _repository.GetFilesByBookFile(bookFileId);
|
||||
}
|
||||
|
||||
public TExtraFile FindByPath(string path)
|
||||
public TExtraFile FindByPath(int authorId, string path)
|
||||
{
|
||||
return _repository.FindByPath(path);
|
||||
return _repository.FindByPath(authorId, path);
|
||||
}
|
||||
|
||||
public void Upsert(TExtraFile extraFile)
|
||||
|
||||
@@ -41,8 +41,8 @@ namespace NzbDrone.Core.Extras.Others
|
||||
}
|
||||
|
||||
var relativePath = author.Path.GetRelativePath(path);
|
||||
var otherExtraFile = _otherExtraFileService.FindByPath(author.Id, relativePath);
|
||||
|
||||
var otherExtraFile = _otherExtraFileService.FindByPath(relativePath);
|
||||
if (otherExtraFile != null)
|
||||
{
|
||||
var newPath = path + "-orig";
|
||||
@@ -66,8 +66,8 @@ namespace NzbDrone.Core.Extras.Others
|
||||
}
|
||||
|
||||
var relativePath = author.Path.GetRelativePath(path);
|
||||
var otherExtraFile = _otherExtraFileService.FindByPath(author.Id, relativePath);
|
||||
|
||||
var otherExtraFile = _otherExtraFileService.FindByPath(relativePath);
|
||||
if (otherExtraFile != null)
|
||||
{
|
||||
var subfolder = Path.GetDirectoryName(relativePath);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Instrumentation.Extensions;
|
||||
using NzbDrone.Core.Books;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using NzbDrone.Core.DecisionEngine;
|
||||
using NzbDrone.Core.Download;
|
||||
using NzbDrone.Core.Messaging.Commands;
|
||||
using NzbDrone.Core.Queue;
|
||||
@@ -39,20 +39,31 @@ namespace NzbDrone.Core.IndexerSearch
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
private async Task SearchForMissingBooks(List<Book> books, bool userInvokedSearch)
|
||||
private async Task SearchForBulkBooks(List<Book> books, bool userInvokedSearch)
|
||||
{
|
||||
_logger.ProgressInfo("Performing missing search for {0} books", books.Count);
|
||||
var downloadedCount = 0;
|
||||
|
||||
foreach (var book in books)
|
||||
foreach (var book in books.OrderBy(a => a.LastSearchTime ?? DateTime.MinValue))
|
||||
{
|
||||
var decisions = await _releaseSearchService.BookSearch(book.Id, false, userInvokedSearch, false);
|
||||
List<DownloadDecision> decisions;
|
||||
|
||||
try
|
||||
{
|
||||
decisions = await _releaseSearchService.BookSearch(book.Id, false, userInvokedSearch, false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Error(ex, "Unable to search for book: [{0}]", book);
|
||||
continue;
|
||||
}
|
||||
|
||||
var processed = await _processDownloadDecisions.ProcessDecisions(decisions);
|
||||
|
||||
downloadedCount += processed.Grabbed.Count;
|
||||
}
|
||||
|
||||
_logger.ProgressInfo("Completed missing search for {0} books. {1} reports downloaded.", books.Count, downloadedCount);
|
||||
_logger.ProgressInfo("Completed search for {0} books. {1} reports downloaded.", books.Count, downloadedCount);
|
||||
}
|
||||
|
||||
public void Execute(BookSearchCommand message)
|
||||
@@ -104,17 +115,11 @@ namespace NzbDrone.Core.IndexerSearch
|
||||
var queue = _queueService.GetQueue().Where(q => q.Book != null).Select(q => q.Book.Id);
|
||||
var missing = books.Where(e => !queue.Contains(e.Id)).ToList();
|
||||
|
||||
SearchForMissingBooks(missing, message.Trigger == CommandTrigger.Manual).GetAwaiter().GetResult();
|
||||
SearchForBulkBooks(missing, message.Trigger == CommandTrigger.Manual).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
public void Execute(CutoffUnmetBookSearchCommand message)
|
||||
{
|
||||
Expression<Func<Book, bool>> filterExpression;
|
||||
|
||||
filterExpression = v =>
|
||||
v.Monitored == true &&
|
||||
v.Author.Value.Monitored == true;
|
||||
|
||||
var pagingSpec = new PagingSpec<Book>
|
||||
{
|
||||
Page = 1,
|
||||
@@ -123,14 +128,14 @@ namespace NzbDrone.Core.IndexerSearch
|
||||
SortKey = "Id"
|
||||
};
|
||||
|
||||
pagingSpec.FilterExpressions.Add(filterExpression);
|
||||
pagingSpec.FilterExpressions.Add(v => v.Monitored == true && v.Author.Value.Monitored == true);
|
||||
|
||||
var books = _bookCutoffService.BooksWhereCutoffUnmet(pagingSpec).Records.ToList();
|
||||
|
||||
var queue = _queueService.GetQueue().Where(q => q.Book != null).Select(q => q.Book.Id);
|
||||
var missing = books.Where(e => !queue.Contains(e.Id)).ToList();
|
||||
var cutoffUnmet = books.Where(e => !queue.Contains(e.Id)).ToList();
|
||||
|
||||
SearchForMissingBooks(missing, message.Trigger == CommandTrigger.Manual).GetAwaiter().GetResult();
|
||||
SearchForBulkBooks(cutoffUnmet, message.Trigger == CommandTrigger.Manual).GetAwaiter().GetResult();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,6 +136,16 @@ namespace NzbDrone.Core.IndexerSearch
|
||||
|
||||
_logger.Debug("Total of {0} reports were found for {1} from {2} indexers", reports.Count, criteriaBase, indexers.Count);
|
||||
|
||||
// Update the last search time for all albums if at least 1 indexer was searched.
|
||||
if (indexers.Any())
|
||||
{
|
||||
var lastSearchTime = DateTime.UtcNow;
|
||||
_logger.Debug("Setting last search time to: {0}", lastSearchTime);
|
||||
|
||||
criteriaBase.Books.ForEach(a => a.LastSearchTime = lastSearchTime);
|
||||
_bookService.UpdateLastSearchTime(criteriaBase.Books);
|
||||
}
|
||||
|
||||
return _makeDownloadDecision.GetSearchDecision(reports, criteriaBase).ToList();
|
||||
}
|
||||
|
||||
|
||||
@@ -449,8 +449,6 @@
|
||||
"AudioFileMetadata": "Metadaten in Audiodateien schreiben",
|
||||
"AuthorNameHelpText": "Der Name des auszuschließenden Autors/Buches (kann etwas Sinnvolles sein)",
|
||||
"AutomaticallySwitchEdition": "Edition automatisch wechseln",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Gesamt: {2})",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} Bücher heruntergeladen",
|
||||
"BookFilesCountMessage": "Keine Buchdateien",
|
||||
"BookNaming": "Buchbenennung",
|
||||
"Books": "Bücher",
|
||||
|
||||
@@ -734,7 +734,6 @@
|
||||
"WriteTagsAll": "Ολα τα αρχεία; μόνο αρχική εισαγωγή",
|
||||
"WriteTagsSync": "Ολα τα αρχεία; μείνετε σε συγχρονισμό με το Goodreads",
|
||||
"WriteMetadataTags": "Γράψτε ετικέτες μεταδεδομένων",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "Λήφθηκαν {0}/{1} βιβλία",
|
||||
"BookFilesCountMessage": "Δεν υπάρχουν αρχεία βιβλίων",
|
||||
"BookIndex": "ΠΕΡΙΕΧΟΜΕΝΑ ΒΙΒΛΙΟΥ",
|
||||
"OnImportFailureHelpText": "Σε περίπτωση αποτυχίας εισαγωγής",
|
||||
@@ -800,7 +799,6 @@
|
||||
"MetadataProviderSource": "Πηγή παρόχου μεταδεδομένων",
|
||||
"EnabledHelpText": "Επιλέξτε για να ενεργοποιήσετε το προφίλ απελευθέρωσης",
|
||||
"EnableProfile": "Ενεργοποίηση προφίλ",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "Βιβλίο {0} / {1} (Σύνολο: {2})",
|
||||
"BookStudio": "Στούντιο Βιβλίου",
|
||||
"CalibreContentServerText": "Η χρήση ενός Caliber Content Server (όχι Caliber Web) επιτρέπει στο Readarr να προσθέτει βιβλία στη βιβλιοθήκη Caliber και να ενεργοποιεί μετατροπές μεταξύ μορφών",
|
||||
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "Εάν δεν προσθέσετε εξαίρεση λίστας εισαγωγής και ο συγγραφέας έχει προφίλ μεταδεδομένων διαφορετικό από το \"Κανένα\", τότε αυτό το βιβλίο μπορεί να προστεθεί ξανά κατά την επόμενη ανανέωση του συγγραφέα.",
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
"AuthorFolderFormat": "Author Folder Format",
|
||||
"AuthorIndex": "Author Index",
|
||||
"AuthorNameHelpText": "The name of the author/book to exclude (can be anything meaningful)",
|
||||
"AuthorProgressBarText": "{availableBookCount} / {bookCount} (Total: {totalBookCount}, Files: {bookFileCount})",
|
||||
"Authors": "Authors",
|
||||
"AutoAdd": "Auto Add",
|
||||
"AutoRedownloadFailed": "Redownload Failed",
|
||||
@@ -92,8 +93,6 @@
|
||||
"Book": "Book",
|
||||
"BookAvailableButMissing": "Book Available, but Missing",
|
||||
"BookEditor": "Book Editor",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Total: {2})",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} books downloaded",
|
||||
"BookFilesCountMessage": "No book files",
|
||||
"BookIndex": "Book Index",
|
||||
"BookIsDownloading": "Book is downloading",
|
||||
@@ -101,6 +100,7 @@
|
||||
"BookList": "Book List",
|
||||
"BookMonitoring": "Book Monitoring",
|
||||
"BookNaming": "Book Naming",
|
||||
"BookProgressBarText": "{bookCount} / {totalBookCount} (Files: {bookFileCount})",
|
||||
"BookStudio": "Book Studio",
|
||||
"BookTitle": "Book Title",
|
||||
"Books": "Books",
|
||||
@@ -833,6 +833,11 @@
|
||||
"SearchSelected": "Search Selected",
|
||||
"Security": "Security",
|
||||
"SelectAll": "Select All",
|
||||
"SelectBook": "Select Book",
|
||||
"SelectDropdown": "Select...",
|
||||
"SelectEdition": "Select Edition",
|
||||
"SelectQuality": "Select Quality",
|
||||
"SelectReleaseGroup": "Select Release Group",
|
||||
"SelectedCountAuthorsSelectedInterp": "{0} Author(s) Selected",
|
||||
"SelectedCountBooksSelectedInterp": "{0} Book(s) Selected",
|
||||
"SendAnonymousUsageData": "Send Anonymous Usage Data",
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"CreateEmptyAuthorFoldersHelpText": "Crear carpetas de películas que faltan durante la exploración del disco",
|
||||
"CreateGroup": "Crear grupo",
|
||||
"CutoffHelpText": "Una vez que se alcanze esta calidad, Radarr no descargará películas",
|
||||
"CutoffUnmet": "Límite no alcanzado",
|
||||
"CutoffUnmet": "Umbrales no alcanzados",
|
||||
"DatabaseMigration": "Migración de la base de datos",
|
||||
"Dates": "Fechas",
|
||||
"DelayProfile": "Perfil de retardo",
|
||||
@@ -120,7 +120,7 @@
|
||||
"EnableRSS": "Habilitar RSS",
|
||||
"EnableSSL": "Habilitar SSL",
|
||||
"EnableSslHelpText": " Requiere reiniciar la aplicación como administrador para que surta efecto",
|
||||
"Ended": "Finalizado",
|
||||
"Ended": "Terminado",
|
||||
"ErrorLoadingContents": "Error cargando contenidos",
|
||||
"ErrorLoadingPreviews": "Error al cargar las previsualizaciones",
|
||||
"Exception": "Excepción",
|
||||
@@ -149,27 +149,27 @@
|
||||
"HasPendingChangesSaveChanges": "Guardar Cambios",
|
||||
"History": "Historial",
|
||||
"Host": "Host",
|
||||
"Hostname": "Nombre del Host",
|
||||
"ICalFeed": "iCal Feed",
|
||||
"Hostname": "Nombre de host",
|
||||
"ICalFeed": "Feed de iCal",
|
||||
"ICalHttpUrlHelpText": "Copia esta URL a tu gestor(es) o haz click en subscribir si tu navegador soporta webcal",
|
||||
"ICalLink": "iCal Link",
|
||||
"IconForCutoffUnmet": "Icono de Corte no alcanzado",
|
||||
"ICalLink": "Enlace de iCal",
|
||||
"IconForCutoffUnmet": "Icono para Umbrales no alcanzados",
|
||||
"IconTooltip": "Programado",
|
||||
"IgnoredAddresses": "Direcciones Ignoradas",
|
||||
"IgnoredAddresses": "Ignorar direcciones",
|
||||
"IgnoredHelpText": "Este lanzamiento será rechazado si contiene uno ó más de estos términos (mayúsculas ó minúsculas)",
|
||||
"IgnoredPlaceHolder": "Añadir nueva restricción",
|
||||
"IllRestartLater": "Lo reiniciaré más tarde",
|
||||
"ImportExtraFiles": "Importar Archivos Extra",
|
||||
"ImportExtraFiles": "Importar archivos adicionales",
|
||||
"ImportExtraFilesHelpText": "Importar archivos extra (subtítulos, info, etc) después de importar una película",
|
||||
"ImportFailedInterp": "Importación fallida: {0}",
|
||||
"ImportedTo": "Importado a",
|
||||
"ImportedTo": "Importar a",
|
||||
"Importing": "Importando",
|
||||
"IncludeHealthWarningsHelpText": "Incluir Alertas de Salud",
|
||||
"IncludeUnknownAuthorItemsHelpText": "Mostrar items sin ninguna película en la cola, esto incluye películas renombradas o cualquier otra cosa en la categoría de Radarr",
|
||||
"IncludeUnmonitored": "Icluir No Monitoreados",
|
||||
"IncludeUnmonitored": "Incluir sin monitorizar",
|
||||
"Indexer": "Indexador",
|
||||
"IndexerPriority": "Prioridad del Indexer",
|
||||
"IndexerSettings": "Ajustes de Indexer",
|
||||
"IndexerPriority": "Prioridad del indexador",
|
||||
"IndexerSettings": "Ajustes de Indexador",
|
||||
"Indexers": "Indexadores",
|
||||
"Interval": "Intervalo",
|
||||
"IsCutoffCutoff": "Corte",
|
||||
@@ -181,10 +181,10 @@
|
||||
"Local": "Local",
|
||||
"LogFiles": "Archivos de Registro",
|
||||
"LogLevel": "Nivel de Registro",
|
||||
"LogLevelvalueTraceTraceLoggingShouldOnlyBeEnabledTemporarily": "El registro de seguimiento se ha de habilitar solo temporalmente",
|
||||
"LogLevelvalueTraceTraceLoggingShouldOnlyBeEnabledTemporarily": "El registro de seguimiento sólo debe activarse temporalmente",
|
||||
"Logging": "Registro de eventos",
|
||||
"Logs": "Registros",
|
||||
"LongDateFormat": "Formato Largo de Fecha",
|
||||
"LongDateFormat": "Formato de Fecha Larga",
|
||||
"ManualImport": "Importar Manualmente",
|
||||
"MarkAsFailed": "Marcar como Fallida",
|
||||
"MarkAsFailedMessageText": "Seguro que quieres marcar '{0}' como fallida?",
|
||||
@@ -348,9 +348,9 @@
|
||||
"SslCertPathHelpText": "Ruta al archivo pfx",
|
||||
"StandardBookFormat": "Formato de Película Estándar",
|
||||
"StartTypingOrSelectAPathBelow": "Comienza a escribir o selecciona una ruta debajo",
|
||||
"StartupDirectory": "Directorio de arranque",
|
||||
"StartupDirectory": "Directorio de Arranque",
|
||||
"Status": "Estado",
|
||||
"StatusEndedEnded": "Terminó",
|
||||
"StatusEndedEnded": "Terminado",
|
||||
"Style": "Estilo",
|
||||
"SuccessMyWorkIsDoneNoFilesToRename": "Éxito! Mi trabajo está hecho, no hay archivos pendientes de renombrar.",
|
||||
"SuccessMyWorkIsDoneNoFilesToRetag": "Éxito! Mi trabajo está hecho, no hay archivos pendientes de renombrar.",
|
||||
@@ -393,8 +393,8 @@
|
||||
"UnableToLoadHistory": "No se ha podido cargar la historia",
|
||||
"UnableToLoadImportListExclusions": "No se pueden cargas las Excluidas de la Lista",
|
||||
"UnableToLoadIndexerOptions": "No se han podido cargar las opciones del indexer",
|
||||
"UnableToLoadIndexers": "No se pueden cargar los indexers",
|
||||
"UnableToLoadLists": "No se puden cargar las Listas",
|
||||
"UnableToLoadIndexers": "No se pueden cargar los indexadores",
|
||||
"UnableToLoadLists": "No se pueden cargar las Listas",
|
||||
"UnableToLoadMediaManagementSettings": "No se han podido cargar los ajustes de Manipulación multimedia",
|
||||
"UnableToLoadMetadata": "No se pueden cargar los Metadatos",
|
||||
"UnableToLoadNamingSettings": "No se han podido cargar los ajustes de renombrado",
|
||||
@@ -518,7 +518,7 @@
|
||||
"SettingsRemotePathMappingRemotePathHelpText": "Ruta de origen al directorio al que accede el Gestor de Descargas",
|
||||
"TimeLeft": "Tiempo restante",
|
||||
"DownloadClientCheckUnableToCommunicateMessage": "Incapaz de comunicarse con {0}.",
|
||||
"IndexerPriorityHelpText": "Prioridad del Indexer de 1 (La más alta) a 50 (La más baja). Por defecto: 25. Se utiliza cuando se toman las versiones como un criterio para las versiones que de otro modo serían iguales, Radarr seguirá utilizando todos los indexadores habilitados para la sincronización y la búsqueda de RSS",
|
||||
"IndexerPriorityHelpText": "Prioridad del Indexador de 1 (la más alta) a 50 (la más baja). Por defecto: 25. Usada para desempatar lanzamientos iguales cuando se capturan, Readarr seguirá usando todos los indexadores habilitados para Sincronización de RSS y Búsqueda.",
|
||||
"Monitor": "Monitorear",
|
||||
"MountCheckMessage": "El punto de montaje que contiene la ruta de una película es de read-only: ",
|
||||
"OnBookFileDelete": "Al eliminar archivo de película",
|
||||
@@ -533,7 +533,7 @@
|
||||
"IndexerLongTermStatusCheckSingleClientMessage": "Indexers no disponible por errores durando más de 6 horas: {0}",
|
||||
"IndexerRssHealthCheckNoAvailableIndexers": "Todos los indexers capaces de RSS están temporalmente desactivados debido a errores recientes con el indexer",
|
||||
"IndexerSearchCheckNoInteractiveMessage": "No hay Indexers con Búsqueda Interactiva activada, Readarr no obtendrá ningún resultado en las búsquedas",
|
||||
"IndexerStatusCheckSingleClientMessage": "Indexers no disponibles debido a errores: {0}",
|
||||
"IndexerStatusCheckSingleClientMessage": "Indexadores no disponibles debido a errores: {indexerNames}",
|
||||
"OnBookFileDeleteForUpgrade": "En archivo de película Eliminar para actualizar",
|
||||
"OnBookFileDeleteForUpgradeHelpText": "En archivo de película Eliminar para actualizar",
|
||||
"OnBookFileDeleteHelpText": "Al eliminar archivo de película",
|
||||
@@ -562,7 +562,7 @@
|
||||
"IndexerRssHealthCheckNoIndexers": "No hay indexers disponibles con sincronización RSS activada, Radarr no capturará nuevos estrenos automáticamente",
|
||||
"IndexerSearchCheckNoAutomaticMessage": "No hay indexers con Búsqueda Automática disponibles, Radarr no dará ningún resultado de búsquedas automáticas",
|
||||
"IndexerSearchCheckNoAvailableIndexersMessage": "Todos los indexers están temporalmente inactivos debido a errores recientes con ellos",
|
||||
"IndexerStatusCheckAllClientMessage": "Los indexers no están disponibles debido a errores",
|
||||
"IndexerStatusCheckAllClientMessage": "Todos los indexadores no están disponibles debido a errores",
|
||||
"Label": "Etiqueta",
|
||||
"MissingFromDisk": "Radarr no pudo encontrar el archivo en el disco, por lo que el archivo fue desvinculado de la película en la base de datos",
|
||||
"RemotePathMappingCheckDownloadPermissions": "Radarr puede ver pero no acceder a la película descargada {0}. Probablemente sea un error de permisos.",
|
||||
@@ -573,16 +573,16 @@
|
||||
"UserAgentProvidedByTheAppThatCalledTheAPI": "User-Agent proporcionado por la aplicación llamó a la API",
|
||||
"WriteTagsNo": "Nunca",
|
||||
"FileWasDeletedByUpgrade": "Se eliminó el archivo para importar una actualización",
|
||||
"IndexersSettingsSummary": "Indexers y restricciones de lanzamientos",
|
||||
"IndexersSettingsSummary": "Indexadores y restricciones de lanzamiento",
|
||||
"RestartRequiredHelpTextWarning": "Requiere reiniciar para que surta efecto",
|
||||
"AddList": "Añadir Lista",
|
||||
"RenameFiles": "Renombrar Archivos",
|
||||
"Test": "Test",
|
||||
"InstanceName": "Nombre de Instancia",
|
||||
"InstanceNameHelpText": "Nombre de instancia en pestaña y para nombre de aplicación en Syslog",
|
||||
"InstanceName": "Nombre de la Instancia",
|
||||
"InstanceNameHelpText": "Nombre de la instancia en la pestaña y para la aplicación Syslog",
|
||||
"Database": "Base de datos",
|
||||
"ManualImportSelectEdition": "Importar Manualmente - Seleccionar Película",
|
||||
"ImportListExclusions": "Borrar exclusión de lista de importación",
|
||||
"ImportListExclusions": "Importar lista de exclusiones",
|
||||
"ChooseImportMethod": "Elegir Modo de Importación",
|
||||
"ClickToChangeReleaseGroup": "Clic para cambiar el grupo de lanzamiento",
|
||||
"HardlinkCopyFiles": "Enlace permanente/Copiar archivos",
|
||||
@@ -617,9 +617,9 @@
|
||||
"IndexerTagsHelpText": "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.",
|
||||
"ImportListMissingRoot": "Falta la capeta raíz para las listas: {0}",
|
||||
"ImportListMultipleMissingRoots": "Múltiples carpetas raíz faltan para las listas de importación: {0}",
|
||||
"IndexerDownloadClientHelpText": "Especifica qué cliente de descargas se utiliza para las descargas de este indexador",
|
||||
"HiddenClickToShow": "Oculto, clic para mostrar",
|
||||
"HideAdvanced": "Ocultar Avanzado",
|
||||
"IndexerDownloadClientHelpText": "Especifica qué cliente de descarga es usado para capturas desde este indexador",
|
||||
"HiddenClickToShow": "Oculto, click para mostrar",
|
||||
"HideAdvanced": "Ocultar avanzado",
|
||||
"ShowAdvanced": "Mostrar Avanzado",
|
||||
"ShownClickToHide": "Mostrado, clic para ocultar",
|
||||
"ReplaceWithDash": "Reemplazar con Dash",
|
||||
@@ -646,13 +646,13 @@
|
||||
"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.",
|
||||
"RemoveFailed": "La eliminación falló",
|
||||
"ApplyTagsHelpTextAdd": "Añadir: Añadir las etiquetas la lista existente de etiquetas",
|
||||
"ApplyTagsHelpTextAdd": "Añadir: Añade las etiquetas a la lista de etiquetas existente",
|
||||
"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",
|
||||
"ApplyTagsHelpTextHowToApplyIndexers": "Cómo añadir etiquetas a los indexadores seleccionados",
|
||||
"ApplyTagsHelpTextRemove": "Eliminar: Eliminar las etiquetas introducidas",
|
||||
"ApplyTagsHelpTextReplace": "Reemplazar: Reemplazar las etiquetas con las etiquetas introducidas (no introducir etiquetas para eliminar todas las etiquetas)",
|
||||
"DeleteSelectedDownloadClients": "Borrar gestor de descarga(s)",
|
||||
"ApplyTagsHelpTextHowToApplyIndexers": "Cómo aplicar etiquetas a los indexadores seleccionados",
|
||||
"ApplyTagsHelpTextRemove": "Eliminar: Elimina las etiquetas introducidas",
|
||||
"ApplyTagsHelpTextReplace": "Reemplazar: Sustituye las etiquetas por las introducidas (introduce \"no tags\" para borrar todas las etiquetas)",
|
||||
"DeleteSelectedDownloadClients": "Borrar Cliente de Descarga(s)",
|
||||
"DeleteSelectedDownloadClientsMessageText": "¿Está seguro de querer eliminar {count} cliente(s) de descarga seleccionado(s)?",
|
||||
"DeleteSelectedImportListsMessageText": "Seguro que quieres eliminar {count} lista(s) de importación seleccionada(s)?",
|
||||
"DeleteSelectedIndexers": "Borrar indexer(s)",
|
||||
@@ -696,7 +696,7 @@
|
||||
"TotalSpace": "Espacio Total",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexadores con clientes de descarga inválidos: {0}.",
|
||||
"ManageImportLists": "Gestionar Listas de Importación",
|
||||
"ConnectionLostToBackend": "{appName} ha perdido su conexión con el backend y necesitará ser recargada para restaurar su funcionalidad.",
|
||||
"ConnectionLostToBackend": "{appName} ha perdido su conexión con el backend y tendrá que ser recargado para recuperar su funcionalidad.",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Listas no disponibles debido a errores: {0}",
|
||||
"NotificationStatusAllClientHealthCheckMessage": "Las listas no están disponibles debido a errores",
|
||||
"ReleaseProfiles": "perfil de lanzamiento",
|
||||
@@ -706,11 +706,11 @@
|
||||
"Library": "Biblioteca",
|
||||
"SomeResultsAreHiddenByTheAppliedFilter": "Algunos resultados están ocultos por el filtro aplicado",
|
||||
"FreeSpace": "Espacio libre",
|
||||
"LastDuration": "Duración",
|
||||
"LastExecution": "Última ejecución",
|
||||
"LastDuration": "Última Duración",
|
||||
"LastExecution": "Última Ejecución",
|
||||
"LastWriteTime": "Última Fecha de Escritura",
|
||||
"ConnectionLost": "Conexión perdida",
|
||||
"ConnectionLostReconnect": "Radarr intentará conectarse automáticamente, o haz clic en el botón de recarga abajo.",
|
||||
"ConnectionLostReconnect": "{appName} intentará conectarse automáticamente, o puede hacer clic en recargar abajo.",
|
||||
"NextExecution": "Siguiente ejecución",
|
||||
"NoResultsFound": "No se han encontrado resultados",
|
||||
"RecentChanges": "Cambios recientes",
|
||||
@@ -724,7 +724,6 @@
|
||||
"AuthorEditor": "Editor de Autor",
|
||||
"Author": "Autor",
|
||||
"BackupIntervalHelpText": "Intervalo para respaldar la base de datos y configuraciones de Readarr",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} libros descargados",
|
||||
"BookList": "Lista de libros",
|
||||
"BookFilesCountMessage": "No hay archivos de libros",
|
||||
"AllowFingerprintingHelpText": "Utilizar la huella digital para mejorar la precisión de la coincidencia de libros",
|
||||
@@ -736,13 +735,12 @@
|
||||
"BookEditor": "Editor de Libro",
|
||||
"ASIN": "ASIN",
|
||||
"AnyEditionOkHelpText": "Readarr cambiará automáticamente a la edición que mejor coincida con los archivos descargados",
|
||||
"AppUpdated": "{appName} Actualizada",
|
||||
"AppUpdatedVersion": "{appName} ha sido actualizado a la versión `{version}`, para obtener los cambios más recientes necesitará recargar {appName}",
|
||||
"AppUpdated": "{appName} Actualizado",
|
||||
"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",
|
||||
"AuthorNameHelpText": "El nombre del autor/libro a excluir (puede ser cualquier cosa significativa)",
|
||||
"BookMonitoring": "Monitoreo de libros",
|
||||
"AllowFingerprintingHelpTextWarning": "Esto requiere que Readarr lea partes del archivo, lo que ralentizará los escaneos y puede provocar una alta actividad en el disco o en la red.",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Total: {2})",
|
||||
"Book": "Libro",
|
||||
"AutomaticallySwitchEdition": "Cambiar edición automáticamente",
|
||||
"BookNaming": "Nombrado de libros",
|
||||
@@ -765,7 +763,7 @@
|
||||
"ListsSettingsSummary": "lista de importación",
|
||||
"ExtraFileExtensionsHelpText": "Lista de archivos adicionales separados por coma para importar (.nfo será importado como .nfo-orig)",
|
||||
"ExtraFileExtensionsHelpTextsExamples": "Ejemplos: '.sub, .nfo' o 'sub,nfo'",
|
||||
"ImportLists": "lista de importación",
|
||||
"ImportLists": "Importar listas",
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "El cliente de descarga {downloadClientName} esta configurado para eliminar las descargas completadas. Esto puede causar que las descargas sean eliminadas del cliente antes que {1} las pueda importar.",
|
||||
"Continuing": "Continua",
|
||||
"DownloadClientQbittorrentSettingsContentLayout": "Diseño del contenido",
|
||||
@@ -792,5 +790,11 @@
|
||||
"Country": "País",
|
||||
"AutoRedownloadFailed": "Descarga fallida",
|
||||
"AutoRedownloadFailedFromInteractiveSearch": "Fallo al volver a descargar desde la búsqueda interactiva",
|
||||
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Búsqueda automática e intento de descarga de una versión diferente cuando se obtiene una versión fallida de la búsqueda interactiva"
|
||||
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Búsqueda automática e intento de descarga de una versión diferente cuando se obtiene una versión fallida de la búsqueda interactiva",
|
||||
"IgnoreDownload": "Ignorar descarga",
|
||||
"IgnoreDownloads": "Ignorar descargas",
|
||||
"IgnoreDownloadHint": "Detiene {appName} de procesar esta descarga más adelante",
|
||||
"IgnoreDownloadsHint": "Detiene {appName} de procesar estas descargas más adelante",
|
||||
"NoDownloadClientsFound": "No se han encontrado clientes de descarga",
|
||||
"NoIndexersFound": "No se han encontrado indexadores"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"AnalyticsEnabledHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"AnalyticsEnabledHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"Delete": "Poista",
|
||||
"None": "Ei mitään",
|
||||
"RootFolder": "Juurikansio",
|
||||
"ShowPath": "Näytä tiedostosijainti",
|
||||
"SslCertPasswordHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"SslCertPasswordHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"20MinutesTwenty": "20 minuuttia: {0}",
|
||||
"45MinutesFourtyFive": "45 minuuttia: {0}",
|
||||
"60MinutesSixty": "60 minuuttia: {0}",
|
||||
"APIKey": "API-avain",
|
||||
"APIKey": "Rajapinnan avain",
|
||||
"About": "Tietoja",
|
||||
"AddListExclusion": "Lisää listapoikkeus",
|
||||
"AddingTag": "Tunniste lisätään",
|
||||
@@ -22,7 +22,7 @@
|
||||
"Authentication": "Tunnistautuminen",
|
||||
"AuthenticationMethodHelpText": "Vaadi {appName}in käyttöön käyttäjätunnus ja salasana.",
|
||||
"AuthorClickToChangeBook": "Vaihda kirjaa painamalla",
|
||||
"AutoRedownloadFailedHelpText": "Hae ja pyri laaamaan eri julkaisu automaattisesti.",
|
||||
"AutoRedownloadFailedHelpText": "Etsi ja pyri lataamaan eri julkaisu automaattisesti.",
|
||||
"AutoUnmonitorPreviouslyDownloadedBooksHelpText": "Levyltä poistettavien kirjojen valvonta lopetetaan automaattisesti.",
|
||||
"Automatic": "Automaattinen",
|
||||
"BackupFolderHelpText": "Suhteelliset tiedostosijainnit ovat {appName}in AppData-kansiossa.",
|
||||
@@ -31,7 +31,7 @@
|
||||
"Backups": "Varmuuskopiot",
|
||||
"BindAddress": "Sidososoite",
|
||||
"BindAddressHelpText": "Toimiva IP-osoite, localhost tai * (tähti) kaikille verkkoliitännöille.",
|
||||
"BindAddressHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"BindAddressHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"BookIsDownloading": "Kirjaa ladataan",
|
||||
"BookIsDownloadingInterp": "Kirjaa ladataan - {0} % {1}",
|
||||
"Branch": "Haara",
|
||||
@@ -61,7 +61,7 @@
|
||||
"Connections": "Yhteydet",
|
||||
"CopyUsingHardlinksHelpText": "Hardlink-kytkösten avulla {appName} voi tuoda jaettavat torrentit ilman niiden täyttä kopiointia ja levytilan kaksinkertaista varausta. Tämä toimii vain lähde- ja kohdesijaintien ollessa samalla tallennusmedialla.",
|
||||
"CopyUsingHardlinksHelpTextWarning": "Tiedostojen käsittelystä johtuvat lukitukset saattavat joskus estää jaettavien tiedostojen uudelleennimeämisen. Voit keskeyttää jakamisen väliaikaisesti ja käyttää {appName}in nimeämistoimintoa.",
|
||||
"CreateEmptyAuthorFoldersHelpText": "Luo puuttuvat kirjailijakansiot levyn tarkistuksen yhteydessä",
|
||||
"CreateEmptyAuthorFoldersHelpText": "Luo puuttuvat kirjailijakansiot kirjastotarkistusten yhteydessä",
|
||||
"CreateGroup": "Luo ryhmä",
|
||||
"CutoffHelpText": "Kun tämä laatu on saavutettu, Readarr ei enää lataa elokuvia",
|
||||
"CutoffUnmet": "Katkaisutasoa ei savutettu",
|
||||
@@ -115,7 +115,7 @@
|
||||
"EnableColorImpairedModeHelpText": "Vaihtoehtoinen tyyli, joka auttaa erottamaan värikoodatut tiedot paremmin.",
|
||||
"EnableCompletedDownloadHandlingHelpText": "Tuo valmistuneet lataukset lataustyökalusta automaattisesti.",
|
||||
"EnableHelpText": "Luo metatietotiedostot tälle metatietotyypille.",
|
||||
"EnableInteractiveSearch": "Käytä manuaalihakua",
|
||||
"EnableInteractiveSearch": "Käytä manuaalihakuun",
|
||||
"EnableRSS": "RSS-syöte",
|
||||
"EnableSSL": "SSL-salaus",
|
||||
"EnableSslHelpText": " Käyttöönotto vaatii uudelleenkäynnistyksen järjestelmänvavojan oikeuksilla.",
|
||||
@@ -124,7 +124,7 @@
|
||||
"ErrorLoadingPreviews": "Virhe ladattaessa esikatselua",
|
||||
"Exception": "Poikkeus",
|
||||
"FailedDownloadHandling": "Latauksen käsittely epäonnistui",
|
||||
"FileDateHelpText": "Muuta tiedoston päiväys tuonnin ja uudelleentarkistuksen yhteydessä.",
|
||||
"FileDateHelpText": "Muuta tiedoston päiväys tuonnin/kirjaston uudelleentarkistuksen yhteydessä.",
|
||||
"FileManagement": "Tiedostojen hallinta",
|
||||
"FileNames": "Tiedostonimet",
|
||||
"Filename": "Tiedostonimi",
|
||||
@@ -177,7 +177,7 @@
|
||||
"IsTagUsedCannotBeDeletedWhileInUse": "Tunnistetta ei voi poistaa, koska se on käytössä",
|
||||
"Language": "Kieli",
|
||||
"LaunchBrowserHelpText": " Avaa readarrin verkkokäyttöliittymä verkkoselaimeen sovelluksen käynnistyksen yhteydessä.",
|
||||
"LoadingBookFilesFailed": "Elokuvatiedostojen lataaminen epäonnistui",
|
||||
"LoadingBookFilesFailed": "Kirjatiedostojen lataus epäonnistui",
|
||||
"Local": "Paikalliset",
|
||||
"LogFiles": "Lokitiedostot",
|
||||
"LogLevel": "Lokikirjauksen laajuus",
|
||||
@@ -200,7 +200,7 @@
|
||||
"MinimumAge": "Vähimmäisikä",
|
||||
"MinimumAgeHelpText": "Vain Usenet: NZB:n vähimmäisikä minuutteina, ennen niiden kaappausta. Tämän avulla uusille julkaisuille voidaan antaa aikaa levitä Usenet-palveluntarjoajalle.",
|
||||
"MinimumFreeSpace": "Vapaan tilan vähimmäismäärä",
|
||||
"MinimumFreeSpaceWhenImportingHelpText": "Estä tuonti, jos sen jälkeinen vapaa levytila olisi tässä määritettyä arvoa pienempi.",
|
||||
"MinimumFreeSpaceWhenImportingHelpText": "Estä tuonti, jos sen jälkeinen vapaa levytila olisi tässä määritettyä pienempi.",
|
||||
"MinimumLimits": "Vähimmäisrajoitukset",
|
||||
"Missing": "Puuttuu",
|
||||
"Mode": "Tila",
|
||||
@@ -222,7 +222,7 @@
|
||||
"OnGrabHelpText": "Kun julkaisu kaapataan",
|
||||
"OnHealthIssueHelpText": "Vakausongelmat",
|
||||
"OnRenameHelpText": "Uudelleennimeäminen",
|
||||
"OnUpgradeHelpText": "Päivitys",
|
||||
"OnUpgradeHelpText": "Päivitettäessä",
|
||||
"OpenBrowserOnStart": "Avaa selain käynnistettäessä",
|
||||
"Options": "Asetukset",
|
||||
"Original": "Alkuperäiset",
|
||||
@@ -234,7 +234,7 @@
|
||||
"Path": "Tiedostosijainti",
|
||||
"Permissions": "Käyttöoikeudet",
|
||||
"Port": "Portti",
|
||||
"PortHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"PortHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"PortNumber": "Portin numero",
|
||||
"PosterSize": "Julisteiden koko",
|
||||
"PreviewRename": "Nimeämisen esikatselu",
|
||||
@@ -244,7 +244,7 @@
|
||||
"Protocol": "Protokolla",
|
||||
"ProtocolHelpText": "Valitse käytettävä(t) protokolla(t) ja mitä käytetään ensisijaisesti valittaessa muutoin tasaveroisista julkaisuista.",
|
||||
"Proxy": "Välityspalvelin",
|
||||
"ProxyBypassFilterHelpText": "Käytä aliverkkotunnusten erottimena pilkkua (,) ja jokerimerkkinä tähteä ja pistettä (*.). Esimerkkejä: www.esimerkki.fi,*.esimerkki.fi.",
|
||||
"ProxyBypassFilterHelpText": "Erota aliverkkotunnukset pilkuilla ja käytä jokerimerkkinä tähteä ja pistettä (*.). Esimerkki: www.esimerkki.fi,*.esimerkki.fi).",
|
||||
"ProxyType": "Välityspalvelimen tyyppi",
|
||||
"ProxyUsernameHelpText": "Käyttäjätunnus ja salasana tulee täyttää vain tarvittaessa. Mikäli näitä ei ole, tulee kentät jättää tyhjiksi.",
|
||||
"PublishedDate": "Julkaisupäivä",
|
||||
@@ -261,7 +261,7 @@
|
||||
"ReadarrTags": "Tunnisteet",
|
||||
"Real": "Todellinen",
|
||||
"Reason": "Syy",
|
||||
"RecycleBinCleanupDaysHelpText": "Arvo \"0\" (nolla) poistaa automaattityhjennyksen käytöstä.",
|
||||
"RecycleBinCleanupDaysHelpText": "Arvo \"0\" (nolla) poistaa automaattisen tyhjennyksen käytöstä.",
|
||||
"RecycleBinCleanupDaysHelpTextWarning": "Määritettyä päiväystä vanhemmat tiedostot poistetaan roskakorista automaattisesti.",
|
||||
"RecycleBinHelpText": "Pysyvän poiston sijaan kirjatiedostot siirretään tähän kansioon.",
|
||||
"RecyclingBin": "Roskakori",
|
||||
@@ -274,28 +274,28 @@
|
||||
"ReleaseRejected": "Vapautus hylätty",
|
||||
"ReleaseWillBeProcessedInterp": "Julkaisu käsitellään {0}",
|
||||
"Reload": "Lataa uudelleen",
|
||||
"RemotePathMappings": "Etäsijaintien kartoitukset",
|
||||
"RemotePathMappings": "Etäsijaintien kohdistukset",
|
||||
"Remove": "Poista",
|
||||
"RemoveCompletedDownloadsHelpText": "Poista tuodut lataukset lataustyökalun historiasta",
|
||||
"RemoveFailedDownloadsHelpText": "Poista epäonnistuneet lataukset lataustyökalun historiasta",
|
||||
"RemoveFailedDownloadsHelpText": "Poista epäonnistuneet lataukset lataustyökalun historiasta.",
|
||||
"RemoveFilter": "Poista suodatin",
|
||||
"RemoveFromDownloadClient": "Poista lataustyökalusta",
|
||||
"RemoveFromQueue": "Poista jonosta",
|
||||
"RemoveHelpTextWarning": "Poistaminen poistaa latauksen ja sen sisältämät tiedostot lataustyökalusta.",
|
||||
"RemoveSelected": "Poista valitut",
|
||||
"RemoveTagExistingTag": "Olemassa oleva tunniste",
|
||||
"RemoveTagExistingTag": "Tunniste on jo olemassa",
|
||||
"RemoveTagRemovingTag": "Tunniste poistetaan",
|
||||
"RemovedFromTaskQueue": "Poistettu tehtäväjonosta",
|
||||
"RenameBooksHelpText": "Jos uudelleennimeäminen ei ole käytössä, käytetään nykyistä tiedostonimeä.",
|
||||
"Reorder": "Järjestä uudelleen",
|
||||
"ReplaceIllegalCharacters": "Kiellettyjen merkkien korvaus",
|
||||
"ReplaceIllegalCharacters": "Korvaa kielletyt merkit",
|
||||
"RequiredHelpText": "Tämän \"{0}\" -ehdon on täsmättävä mukautetun muodon käyttämiseksi. Muutoin riittää yksi \"{0}\" -vastaavuus.",
|
||||
"RequiredPlaceHolder": "Lisää rajoitus",
|
||||
"RescanAfterRefreshHelpTextWarning": "{appName} ei tunnista tiedostomuutoksia automaattisesti, jos asetuksena ei ole \"Aina\".",
|
||||
"RescanAuthorFolderAfterRefresh": "Tutki kirjailijakansio päivityksen jälkeen uudelleen",
|
||||
"Reset": "Uudista",
|
||||
"ResetAPIKey": "Uudista API-avain",
|
||||
"ResetAPIKeyMessageText": "Haluatko varmasti uudistaa API-avaimesi?",
|
||||
"ResetAPIKey": "Korvaa rajapinnan avain",
|
||||
"ResetAPIKeyMessageText": "Haluatko varmasti korvata rajapinnan avaimen uudella?",
|
||||
"Restart": "Käynnistä uudelleen",
|
||||
"RestartNow": "Käynnistä uudelleen nyt",
|
||||
"RestartReadarr": "Käynnistä Radarr uudelleen",
|
||||
@@ -344,8 +344,8 @@
|
||||
"SourcePath": "Lähdesijainti",
|
||||
"SslCertPasswordHelpText": "Pfx-tiedoston salasana",
|
||||
"SslCertPathHelpText": "Polku pfx-tiedostoon",
|
||||
"SslPortHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"StandardBookFormat": "Elokuvan vakiomuoto",
|
||||
"SslPortHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"StandardBookFormat": "Tavallisten kirjojen kaava",
|
||||
"StartTypingOrSelectAPathBelow": "Aloita kirjoitus tai valitse sijainti alta",
|
||||
"StartupDirectory": "Käynnistyskansio",
|
||||
"Status": "Tila",
|
||||
@@ -383,31 +383,31 @@
|
||||
"UnableToAddANewMetadataProfilePleaseTryAgain": "Uutta laatuprofiilia ei voi lisätä, yritä uudelleen.",
|
||||
"UnableToAddANewNotificationPleaseTryAgain": "Kytköksen lisäys epäonnistui. Yritä uudelleen.",
|
||||
"UnableToAddANewQualityProfilePleaseTryAgain": "Laatuprofiilin lisäys epäonnistui. Yritä uudelleen.",
|
||||
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Etäsijainnin kartoituksen lisäys epäonnistui. Yritä uudelleen.",
|
||||
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Etäsijainnin kohdistuksen lisäys epäonnistui. Yritä uudelleen.",
|
||||
"UnableToAddANewRootFolderPleaseTryAgain": "Uutta mukautettua muotoa ei voi lisätä, yritä uudelleen.",
|
||||
"UnableToLoadBackups": "Varmuuskopioiden lataus epäonnistui",
|
||||
"UnableToLoadDelayProfiles": "Viiveprofiilien lataus epäonnistui.",
|
||||
"UnableToLoadDelayProfiles": "Virhe ladattaessa viiveprofiileja",
|
||||
"UnableToLoadDownloadClientOptions": "Lataustyökalun asetusten lataus epäonnistui",
|
||||
"UnableToLoadDownloadClients": "Lataustyökalujen lataus ei onistu",
|
||||
"UnableToLoadGeneralSettings": "Yleisten asetusten lataus epäonnistui.",
|
||||
"UnableToLoadGeneralSettings": "Virhe ladattaessa yleisiä asetuksia",
|
||||
"UnableToLoadHistory": "Historian lataus epäonnistui",
|
||||
"UnableToLoadImportListExclusions": "Tuontilistojen poikkeuksien lataus epäonnistui",
|
||||
"UnableToLoadIndexerOptions": "Tietolähdeasetusten lataus ei onnistu.",
|
||||
"UnableToLoadImportListExclusions": "Tuontilistapoikkeusten lataus epäonnistui",
|
||||
"UnableToLoadIndexerOptions": "Tietolähdeasetusten lataus ei onnistu",
|
||||
"UnableToLoadIndexers": "Tietolähteiden lataus epäonnistui",
|
||||
"UnableToLoadLists": "Tuontilistojen lataus epäonnistui.",
|
||||
"UnableToLoadMediaManagementSettings": "Medianhallinnan asetuksien lataus epäonnistui.",
|
||||
"UnableToLoadMetadata": "Metatietojen lataus epäonnistui.",
|
||||
"UnableToLoadNamingSettings": "Nimeämisen asetuksien lataus epäonnistui.",
|
||||
"UnableToLoadNotifications": "Kytkösten lataus epäonnistui.",
|
||||
"UnableToLoadMediaManagementSettings": "Virhe ladattaessa mediatiedostojen hallinta-asetuksia",
|
||||
"UnableToLoadMetadata": "Virhe ladattaessa metatietoja",
|
||||
"UnableToLoadNamingSettings": "Virhe ladattaessa nimeämisasetuksia",
|
||||
"UnableToLoadNotifications": "Virhe ladattaessa kytköksiä",
|
||||
"UnableToLoadQualities": "Laatujen lataus epäonnistui.",
|
||||
"UnableToLoadQualityDefinitions": "Laatumäärityksien lataus epäonnistui.",
|
||||
"UnableToLoadQualityProfiles": "Laatuprofiilien lataus epäonnistui.",
|
||||
"UnableToLoadQualityDefinitions": "Virhe ladattaessa laatumäärityksiä",
|
||||
"UnableToLoadQualityProfiles": "Virhe ladattaessa laatuprofiileja",
|
||||
"UnableToLoadReleaseProfiles": "Viiveprofiileja ei voi ladata",
|
||||
"UnableToLoadRemotePathMappings": "Etäsijaintien kartoitusten lataus epäonnistui",
|
||||
"UnableToLoadRemotePathMappings": "Etäsijaintien kohdistusten lataus epäonnistui",
|
||||
"UnableToLoadRootFolders": "Juurikansioiden lataus epäonnistui.",
|
||||
"UnableToLoadTags": "Tunnisteiden lataus ei onnistu",
|
||||
"UnableToLoadTheCalendar": "Kalenterin lataus epäonnistui.",
|
||||
"UnableToLoadUISettings": "Käyttöliittymän asetuksien lataus epäonnistui.",
|
||||
"UnableToLoadUISettings": "Virhe ladattaesssa käyttöliittymän asetuksia",
|
||||
"Ungroup": "Pura ryhmä",
|
||||
"Unmonitored": "Valvomattomat",
|
||||
"UnmonitoredHelpText": "Sisällytä ei-valvotut kirjat iCal-syötteeseen.",
|
||||
@@ -418,7 +418,7 @@
|
||||
"Updates": "Päivitykset",
|
||||
"UpgradeAllowedHelpText": "Jos käytöstä poistettuja laatuja ei päivitetä.",
|
||||
"Uptime": "Käyttöaika",
|
||||
"UrlBaseHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"UrlBaseHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"UseHardlinksInsteadOfCopy": "Käytä hardlink-kytköksiä",
|
||||
"UseProxy": "Käytä välityspalvelinta",
|
||||
"Usenet": "Usenet",
|
||||
@@ -431,12 +431,12 @@
|
||||
"WeekColumnHeader": "Viikkosarakkeen otsikko",
|
||||
"Year": "Vuosi",
|
||||
"YesCancel": "Kyllä, peru",
|
||||
"ApiKeyHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"ApiKeyHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"DeleteRootFolderMessageText": "Haluatko varmasti poistaa juurikansion \"{name}\"?",
|
||||
"LoadingBooksFailed": "Elokuvatiedostojen lataaminen epäonnistui",
|
||||
"LoadingBooksFailed": "Kirjojen lataus epäonnistui",
|
||||
"ProxyPasswordHelpText": "Käyttäjätunnus ja salasana tulee täyttää vain tarvittaessa. Mikäli näitä ei ole, tulee kentät jättää tyhjiksi.",
|
||||
"SslCertPathHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen.",
|
||||
"UnableToLoadMetadataProfiles": "Metatietoprofiileja ei voida ladata.",
|
||||
"SslCertPathHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"UnableToLoadMetadataProfiles": "Metatietoprofiilien lataus epäonnistui",
|
||||
"DownloadClientCheckDownloadingToRoot": "Lataustyökalu \"{0}\" tallentaa lataukset juurikansioon \"{1}\", mutta ne tulisi tallentaa muualle.",
|
||||
"ReplaceIllegalCharactersHelpText": "Korvaa laittomat merkit vaihtoehtoisella merkinnällä. Jos ei valittu, ne poistetaan.",
|
||||
"OutputPath": "Tallennussijainti",
|
||||
@@ -483,20 +483,20 @@
|
||||
"WriteTagsSync": "Kaikki tiedostot, Goodreads-synkronoinnilla",
|
||||
"WriteTagsAll": "Kaikki tiedostot, alkuperäisen tuonnin yhteydessä",
|
||||
"NoTagsHaveBeenAddedYet": "Tunnisteita ei ole vielä lisätty. Lisää tunnisteita määrittääksesi kirjailijoille viiveprofiileja, rajoituksia tai ilmoituksia. Paina '{0}' lukeaksesi lisää tunnisteista.",
|
||||
"EnabledHelpText": "Käytä julkaisuprofiilia valitsemalla tämä.",
|
||||
"EnabledHelpText": "Käytä julkaisuprofiilia merkitsemällä tämä.",
|
||||
"CreateEmptyAuthorFolders": "Luo kirjailijoille tyhjät kansiot",
|
||||
"RescanAfterRefreshHelpText": "Tutki kirjailijakansio uudelleen kirjailijan päivityksen jälkeen.",
|
||||
"ThisCannotBeCancelled": "Tämän peruminen on aloituksen jälkeen mahdollista vain poistamalla kaikki tietolähteet käytöstä.",
|
||||
"UnselectAll": "Tyhjennä valinnat",
|
||||
"DeleteFilesHelpText": "Poista kirjatiedostot ja kirjailijakansio",
|
||||
"MonitoredHelpText": "Kirjailijan kirjoja etsitään ja ne ladataan, jos ne ovat saatavilla.",
|
||||
"ShouldMonitorHelpText": "Tältä tuontilistalta lisätyt kirjailijat lisätään ja niitä valvotaan.",
|
||||
"ShouldMonitorHelpText": "Valvo tältä tuontilistalta lisättyjä uusia kirjailijoita ja kirjoja.",
|
||||
"AuthorIndex": "Kirjailijahakemisto",
|
||||
"BookEditor": "Kirjaeditori",
|
||||
"BookIndex": "Kirjahakemisto",
|
||||
"Book": "Kirja",
|
||||
"AddedAuthorSettings": "Uuden kirjailijan oletusasetukset",
|
||||
"AddImportListExclusionHelpText": "Estä kirjan lisäys Readarriin tuontilistoilta tai päivitettäessä kirjailijaa",
|
||||
"AddImportListExclusionHelpText": "Estä {appName}ia lisäämästä kirjaa listoilta tai kirjailipäivitysten yhteydessä.",
|
||||
"AddMissing": "Lisää puuttuvat",
|
||||
"AddNewItem": "Lisää uusi kohde",
|
||||
"AllAuthorBooks": "Kirjailijan kaikki kirjat",
|
||||
@@ -506,16 +506,16 @@
|
||||
"AllowAuthorChangeClickToChangeAuthor": "Paina vaihtaaksesi kirjailijaa",
|
||||
"AllowedLanguages": "Sallitut kielet",
|
||||
"AnyEditionOkHelpText": "Readarr vaihtaa automaattisesti versioon, joka vastaa ladattuja tiedostoja parhaiten",
|
||||
"AuthorEditor": "Kirjailijan muokkaus",
|
||||
"AuthorEditor": "Kirjailijaeditori",
|
||||
"AudioFileMetadata": "Kirjoita metatiedot äänitiedostoihin",
|
||||
"AuthorFolderFormat": "Kirjailijakansion muoto",
|
||||
"AuthorFolderFormat": "Kirjailijakansion kaava",
|
||||
"AuthorNameHelpText": "Poissuljettavan kirjailijan/kirjan nimi (voi olla mitä tahansa merkityksellistä)",
|
||||
"Authors": "Kirjailijat",
|
||||
"AutomaticallySwitchEdition": "Automaattinen version vaihto",
|
||||
"DefaultQualityProfileIdHelpText": "Kansiosta löydetyille kirjailijoille oletustusarvoisesti asetettava laatuprofiili.",
|
||||
"ConsoleLogLevel": "Valvontalokin laajuus",
|
||||
"FilterSentryEventsHelpText": "Suodata tunnetut käyttäjävirheet pois analytiikkalähetyksistä",
|
||||
"Label": "Tunniste",
|
||||
"Label": "Nimi",
|
||||
"LogRotateHelpText": "Lokien tallennuskansiossa säilytettävien lokitiedostojen enimmäismäärä",
|
||||
"LogRotation": "Lokitiedostojen kierrätys",
|
||||
"LogSqlHelpText": "Kirjaa kaikki SQL-kyselyt",
|
||||
@@ -598,12 +598,12 @@
|
||||
"PathHelpText": "Kirjakokoelmasi pääkansio.",
|
||||
"PathHelpTextWarning": "Tämä ei voi olla sama kansio, johon lataustyökalusi tallentaa tiedostot.",
|
||||
"DefaultMonitorOptionHelpText": "Kansiosta löydetyille kirjailijoille oletusarvoisesti asetettava kirjojen valvontataso.",
|
||||
"RemotePathMappingCheckFileRemoved": "Tiedosto '{0}' poistettiin kesken käsittelyn.",
|
||||
"RemotePathMappingCheckFileRemoved": "Tiedosto \"{0}\" poistettiin kesken käsittelyn.",
|
||||
"Other": "Muut",
|
||||
"RootFolderCheckSingleMessage": "Puuttuva juurikansio: {0}",
|
||||
"RootFolderCheckSingleMessage": "Juurikansio puuttuu: {0}.",
|
||||
"Save": "Tallenna",
|
||||
"UpdateCheckStartupNotWritableMessage": "Päivitystä ei voida asentaa, koska käyttäjällä \"{1}\" ei ole kirjoitusoikeutta käynnistyskansioon \"{0}\".",
|
||||
"UpdateCheckStartupTranslocationMessage": "Päivitystä ei voi asentaa, koska käynnistyskansio '{0}' sijaitsee 'App Translocation' -kansiossa.",
|
||||
"UpdateCheckStartupTranslocationMessage": "Päivitystä ei voida asentaa, koska käynnistyskansio \"{0}\" sijaitsee \"App Translocation\" -kansiossa.",
|
||||
"UpdateCheckUINotWritableMessage": "Päivityksen asennus ei onnistu, koska käyttäjällä \"{1}\" ei ole kirjoitusoikeutta käyttöliittymäkansioon \"{0}\".",
|
||||
"Yesterday": "Eilen",
|
||||
"UpdateAvailable": "Uusi päivitys on saatavilla",
|
||||
@@ -615,36 +615,36 @@
|
||||
"IndexerStatusCheckAllClientMessage": "Tietolähteet eivät ole käytettävissä virheiden vuoksi",
|
||||
"MediaManagement": "Median hallinta",
|
||||
"Metadata": "Metatiedot",
|
||||
"OnBookFileDeleteHelpText": "Kun elokuvatiedosto poistetaan",
|
||||
"OnBookFileDeleteHelpText": "Kun kirjatiedosto poistetaan",
|
||||
"ProxyCheckFailedToTestMessage": "Välityspalvelintesti epäonnistui: {0}",
|
||||
"Queued": "Lisätty jonoon",
|
||||
"SearchFiltered": "Etsi suodatettuja",
|
||||
"SearchFiltered": "Etsi suodatetuista",
|
||||
"RemotePathMappingCheckFilesGenericPermissions": "Lataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta {appName} ei näe sitä. Kansion käyttöoikeuksia on ehkä muokattava.",
|
||||
"RemotePathMappingCheckImportFailed": "Kirjan tuonti epäonnistui. Katso tarkemmat tiedot lokista.",
|
||||
"RemotePathMappingCheckImportFailed": "{appName} ei voinut tuoda julkaisua. Katso tarkemmat tiedot lokista.",
|
||||
"CouldntFindAnyResultsForTerm": "Haku '{0}' ei tuottanut tuloksia.",
|
||||
"IndexerSearchCheckNoAutomaticMessage": "Automaattihakua varten ei ole määritetty tietolähteitä ja tämän vuoksi {appName}in automaattihaku ei löydä tuloksia.",
|
||||
"IndexerSearchCheckNoAvailableIndexersMessage": "Kaikki hakukelpoiset tietolähteet ovat tilapaisesti tavoittamattomissa viimeaikaisten tietolähdevirheiden vuoksi.",
|
||||
"RemotePathMappingCheckDockerFolderMissing": "Käytät Dockeria ja lataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta sitä ei löydy Docker-säiliöstä. Tarkista etäsijaintien kartoitukset ja säiliön tallennusmedian asetukset.",
|
||||
"RemotePathMappingCheckDownloadPermissions": "Ladattu kirja \"{0}\" näkyy, mutta sitä ei voida käyttää. Todennäköinen syy on sijainnin käyttöoikeusvirhe.",
|
||||
"RemotePathMappingCheckFilesBadDockerPath": "Käytät Dockeria ja lataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etäsijaintien kartoitukset ja lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckFolderPermissions": "Ladatauskansio \"{1}\" näkyy, mutta sitä ei voida käyttää. Todennäköinen syy on sijainnin käyttöoikeusvirhe.",
|
||||
"RemotePathMappingCheckDockerFolderMissing": "Käytät Dockeria ja lataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta sitä ei löydy Docker-säiliöstä. Tarkista etäsijaintien kohdistukset ja säiliön tallennusmedian asetukset.",
|
||||
"RemotePathMappingCheckDownloadPermissions": "{appName} näkee ladatun kirjan \"{path}\", mutta ei voi avata sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RemotePathMappingCheckFilesBadDockerPath": "Käytät Dockeria ja lataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etäsijaintien kohdistukset ja lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckFolderPermissions": "{appName} näkee ladatun kansion \"{1}\", mutta ei voi avata sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
|
||||
"RemotePathMappingCheckFilesLocalWrongOSPath": "Paikallinen lataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckFilesWrongOSPath": "Etälataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etsijaintien kartoitukset lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckFilesWrongOSPath": "Etälataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etsijaintien kohdistukset lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckGenericPermissions": "Lataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta {appName} ei näe sitä. Kansion käyttöoikeuksia on ehkä muokattava.",
|
||||
"RemotePathMappingCheckLocalFolderMissing": "Etälataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta sitä ei näytä olevan olemassa. Todennäköinen syy on puuttuva tai virheellinen etäsijainnin kartoitus.",
|
||||
"RemotePathMappingCheckLocalFolderMissing": "Etälataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta sitä ei näytä olevan olemassa. Todennäköinen syy on puuttuva tai virheellinen etäsijainnin kohdistus.",
|
||||
"RemotePathMappingCheckLocalWrongOSPath": "Paikallinen lataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckRemoteDownloadClient": "Etälataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta sitä ei näytä olevan olemassa. Todennäköinen syy on puuttuva tai virheellinen etäsijainnin kartoitus.",
|
||||
"RemotePathMappingCheckWrongOSPath": "Etälataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etäsijaintien kartoitukset ja lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckRemoteDownloadClient": "Etälataustyökalu \"{0}\" ilmoitti tiedostosijainniksi \"{1}\", mutta sitä ei näytä olevan olemassa. Todennäköinen syy on puuttuva tai virheellinen etäsijainnin kohdistus.",
|
||||
"RemotePathMappingCheckWrongOSPath": "Etälataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etäsijaintien kohdistukset ja lataustyökalun asetukset.",
|
||||
"RestartReloadNote": "Huomioi: {appName} käynnistyy palautusprosessin aikana automaattisesti uudelleen.",
|
||||
"DownloadClientStatusCheckAllClientMessage": "Lataustyökaluja ei ole ongelmien vuoksi käytettävissä",
|
||||
"DownloadClientsSettingsSummary": "Lataustyökalut, latausten käsittely ja etäsijaintien kartoitukset.",
|
||||
"DownloadClientsSettingsSummary": "Lataustyökalut, latausten käsittely ja etäsijaintien kohdistukset.",
|
||||
"Connect": "Kytkökset",
|
||||
"TimeLeft": "Aikaa jäljellä",
|
||||
"ConnectSettingsSummary": "Ilmoitukset, kuten viestintä mediapalvelimille ja soittimille, sekä omat komentosarjat.",
|
||||
"DownloadClientCheckNoneAvailableMessage": "Lataustyökaluja ei ole käytettävissä",
|
||||
"DownloadClientCheckUnableToCommunicateMessage": "Viestintä lataustyökalun \"{0}\" kanssa ei onnistu.",
|
||||
"DownloadClientStatusCheckSingleClientMessage": "Lataustyökaluja ei ole ongelmien vuoksi käytettävissä: {0}",
|
||||
"FailedToLoadQueue": "Jonon lataus epäonnistui.",
|
||||
"FailedToLoadQueue": "Jonon lataus epäonnistui",
|
||||
"FileWasDeletedByUpgrade": "Tiedosto poistettiin päivityksen tuontia varten.",
|
||||
"HealthNoIssues": "Kokoonpanossasi ei ole ongelmia",
|
||||
"IndexerRssHealthCheckNoAvailableIndexers": "Kaikki RSS-tietolähteet ovat tilapaisesti tavoittamattomissa viimeaikaisten tietolähdevirheiden vuoksi.",
|
||||
@@ -652,10 +652,10 @@
|
||||
"IndexerStatusCheckSingleClientMessage": "Tietolähteet eivät ole käytettävissä virheiden vuoksi: {0}",
|
||||
"MissingFromDisk": "Koska tiedostoa ei löytynyt levyltä, sen kytkös kirjastossa olevaan kirjaan poistettiin.",
|
||||
"Monitor": "Valvonta",
|
||||
"MountCheckMessage": "Elokuvareitin sisältävä kiinnike on asennettu vain luku -tilaan: ",
|
||||
"OnBookFileDelete": "Kun elokuvatiedosto poistetaan",
|
||||
"OnBookFileDeleteForUpgrade": "Kun elokuvatiedosto poistetaan päivitystä varten",
|
||||
"OnBookFileDeleteForUpgradeHelpText": "Kun elokuvatiedosto poistetaan päivitystä varten",
|
||||
"MountCheckMessage": "Kirjailijan sijainnin sisältävä media on kytketty vain luku -tilassa: ",
|
||||
"OnBookFileDelete": "Kun kirjatiedosto poistetaan",
|
||||
"OnBookFileDeleteForUpgrade": "Kun kirjatiedosto poistetaan päivitystä varten",
|
||||
"OnBookFileDeleteForUpgradeHelpText": "Kun kirjatiedosto poistetaan päivitystä varten",
|
||||
"OnGrab": "Kun julkaisu kaapataan",
|
||||
"OnHealthIssue": "Vakausongelmat",
|
||||
"OnRename": "Uudelleennimeäminen",
|
||||
@@ -665,16 +665,16 @@
|
||||
"QueueIsEmpty": "Jono on tyhjä",
|
||||
"ReadarrSupportsAnyDownloadClient": "Monet torrent- ja Usenet-lataustyökalut ovat tuettuja.",
|
||||
"RefreshAndScan": "Päivitä ja tarkista",
|
||||
"RemotePathMappingCheckBadDockerPath": "Käytät Dockeria ja lataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etäsijaintien kartoitukset ja lataustyökalun asetukset.",
|
||||
"RemotePathMappingCheckBadDockerPath": "Käytät Dockeria ja lataustyökalu \"{0}\" tallentaa lataukset kohteeseen \"{1}\", mutta se ei ole kelvollinen {2}-sijainti. Tarkista etäsijaintien kohdistukset ja lataustyökalun asetukset.",
|
||||
"RootFolderCheckMultipleMessage": "Useita juurikansioita puuttuu: {0}",
|
||||
"SettingsRemotePathMappingLocalPath": "Paikallinen sijainti",
|
||||
"SettingsRemotePathMappingLocalPathHelpText": "Polku, jonka kautta etäsijaintia tulee käyttää paikallisesti.",
|
||||
"SettingsRemotePathMappingRemotePath": "Etäsijainti",
|
||||
"SettingsRemotePathMappingRemotePathHelpText": "Lataustyökalun käyttämän hakemiston juurisijainti",
|
||||
"SettingsRemotePathMappingRemotePathHelpText": "Lataustyökalun käyttämän kansion juurisijainti.",
|
||||
"SizeLimit": "Kokorajoitus",
|
||||
"SystemTimeCheckMessage": "Järjestelmän ajassa on ainakin vuorokauden heitto eivätkä ajoitetut tehtävät tämän vuoksi toimi oikein ennen kuin se on korjattu.",
|
||||
"UISettingsSummary": "Kalenterin, päiväyksen ja kellonajan sekä kielen ja heikentyneelle värinäölle sopivan tilan asetukset.",
|
||||
"UserAgentProvidedByTheAppThatCalledTheAPI": "User-Agent-tiedon ilmoitti sovellus, joka kommunikoi API:n kanssa",
|
||||
"UserAgentProvidedByTheAppThatCalledTheAPI": "User-Agent-tiedon ilmoitti rajapinnan kanssa viestinyt sovellus.",
|
||||
"WatchLibraryForChangesHelpText": "Suorita automaattinen uudelleentutkinta, kun juurikansiossa havaitaan tiedostomuutoksia.",
|
||||
"RestartRequiredHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
|
||||
"AddList": "Lisää lista",
|
||||
@@ -718,9 +718,9 @@
|
||||
"ShowBannersHelpText": "Korvaa nimet bannerikuvilla.",
|
||||
"StatusEndedContinuing": "Jatkuu",
|
||||
"UnableToLoadMetadataProviderSettings": "Metatietolähteen asetuksia ei voitu ladata",
|
||||
"UnmappedFiles": "Kartoittamattomat tiedostot",
|
||||
"UnmappedFiles": "Kohdistamattomat tiedostot",
|
||||
"UpdatingIsDisabledInsideADockerContainerUpdateTheContainerImageInstead": "Päivittäminen ei ole Docker-säiliössä käytettävissä. Päivitä sen sijaan säiliön kuva.",
|
||||
"WatchRootFoldersForFileChanges": "Seuraa juurikansioiden tiedostomuutoksia",
|
||||
"WatchRootFoldersForFileChanges": "Valvo juurikansioiden tiedostomuutoksia",
|
||||
"WriteMetadataTags": "Tallenna metatietotagit",
|
||||
"Country": "Maa",
|
||||
"MonitoringOptions": "Valvonta-asetukset",
|
||||
@@ -740,40 +740,38 @@
|
||||
"ForeignIdHelpText": "Ohitettavan kirjailijan/kirjan MusicBrainz-tunniste.",
|
||||
"IsExpandedShowFileInfo": "Näytä tiedostojen tiedot",
|
||||
"ApplicationUrlHelpText": "Tämän sovelluksen ulkoinen URL-osoite, johon sisältyy http(s)://, portti ja URL-perusta.",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0}/{1} (yhteensä: {2})",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} kappaletta ladattu",
|
||||
"CollapseMultipleBooksHelpText": "Supista useat samana päivänä julkaistavat albumit.",
|
||||
"DataFirstBook": "Seuraa ensimmäisiä albumeita. Muita albumeita ei huomioida.",
|
||||
"DataListMonitorSpecificBook": "Valvo esittäjiä, mutta valvo vain albumeita, jotka on erityisesti lisätty listalle.",
|
||||
"DataNone": "Albumeita ei valvota",
|
||||
"EndedAllBooksDownloaded": "Päättynyt (kaikki kappaleet on ladattu)",
|
||||
"GoToAuthorListing": "Avaa esittäjälistaus",
|
||||
"ListsSettingsSummary": "Tuotilistat",
|
||||
"CollapseMultipleBooksHelpText": "Tiivistä useat samana päivänä julkaistavat kirjat.",
|
||||
"DataFirstBook": "Seuraa ensimmäisiä kirjoja. Muita kirjoja ei huomioida.",
|
||||
"DataListMonitorSpecificBook": "Valvo kirjailijoita, mutta vain erikseen listalle lisättyjä kirjoja.",
|
||||
"DataNone": "Kirjoja ei valvota",
|
||||
"EndedAllBooksDownloaded": "Päättynyt (kaikki kirjat on ladattu)",
|
||||
"GoToAuthorListing": "Avaa kirjailijalistaus",
|
||||
"ListsSettingsSummary": "Tuontilistat",
|
||||
"MusicBrainzAuthorID": "MusicBrainzin kirjailija-ID",
|
||||
"SearchForNewItems": "Etsi uusia kohteita",
|
||||
"SelectedCountAuthorsSelectedInterp": "{0} kirjailija(a) valittu",
|
||||
"TheBooksFilesWillBeDeleted": "Albumin tiedostot poistetaan.",
|
||||
"TotalBookCountBooksTotalBookFileCountBooksWithFilesInterp": "Yhteensä {0} kappaletta. {1} kappaleelle on tiedostoja.",
|
||||
"ContinuingAllBooksDownloaded": "Jatkuva (kaikki kappaleet on ladattu)",
|
||||
"ContinuingNoAdditionalBooksAreExpected": "Abumeita ei odoteta lisää",
|
||||
"MusicBrainzBookID": "MusicBrainz-kappaletunniste",
|
||||
"SearchForAllCutoffUnmetBooks": "Etsi kaikkia albumeita, joiden katkaisutasoa ei ole savutettu",
|
||||
"SearchForMonitoredBooks": "Etsi valvottuja albumeita",
|
||||
"DataExistingBooks": "Valvo albumeita, joille on tiedostoja tai joita ei ole vielä julkaistu.",
|
||||
"DataMissingBooks": "Seuraa albumeita, joille ei ole tiedostoja tai joita ei ole vielä julkaistu.",
|
||||
"TheBooksFilesWillBeDeleted": "Kirjan tiedostot poistetaan.",
|
||||
"TotalBookCountBooksTotalBookFileCountBooksWithFilesInterp": "Yhteensä {0} kirjaa. {1} kirjalle on tiedostoja.",
|
||||
"ContinuingAllBooksDownloaded": "Jatkuva (kaikki kirjat on ladattu)",
|
||||
"ContinuingNoAdditionalBooksAreExpected": "Kirjoja ei odoteta lisää",
|
||||
"MusicBrainzBookID": "MusicBrainz-kirjatunniste",
|
||||
"SearchForAllCutoffUnmetBooks": "Etsi kaikkia kirjoja, joiden katkaisutasoa ei ole savutettu",
|
||||
"SearchForMonitoredBooks": "Etsi valvottuja kirjoja",
|
||||
"DataExistingBooks": "Valvo kirjoja, joille on tiedostoja tai joita ei ole vielä julkaistu.",
|
||||
"DataMissingBooks": "Valvo kirjoja, joille ei ole tiedostoja tai joita ei ole vielä julkaistu.",
|
||||
"EntityName": "Entiteetin nimi",
|
||||
"EnableAutomaticAddHelpText": "Lisää esittäjät/albumit {appName}iin kun synkronointi suoritetaan käyttöliittymästä tai {appName}in toimesta.",
|
||||
"IndexerIdHelpText": "Määritä mitä tietolähteitä proofiili koskee",
|
||||
"IndexerIdHelpText": "Määritä mitä tietolähdettä profiili koskee.",
|
||||
"IndexerIdHelpTextWarning": "Yksittäisen tietolähteen käyttö sanapainotuksen kanssa saattaa aiheuttaa julkaisujen kaksoiskappaleiden kaappauksia.",
|
||||
"ChooseImportMethod": "Valitse tuontitila",
|
||||
"ChooseImportMethod": "Valitse tuontitapa",
|
||||
"ClickToChangeReleaseGroup": "Vaihda julkaisuryhmää painamalla tästä",
|
||||
"HardlinkCopyFiles": "Hardlink/tiedostojen kopiointi",
|
||||
"MoveFiles": "Siirrä tiedostot",
|
||||
"DataListMonitorAll": "Valvo esittäjiä ja jokaisen esittäjän kaikkia tuontilistan sisältämiä albumeita",
|
||||
"DataListMonitorAll": "Valvo jokaista tuontilistalla olevaa kirjailijaa ja heidän kaikkia kirjojaan.",
|
||||
"OnApplicationUpdate": "Kun sovellus päivitetään",
|
||||
"OnApplicationUpdateHelpText": "Kun sovellus päivitetään",
|
||||
"Theme": "Teema",
|
||||
"ThemeHelpText": "Vaihda sovelluksen käyttöliittymän ulkoasua. \"Automaattinen\" vaihtaa vaalean ja tumman tilan välillä järjestelmän teeman mukaan. Innoittanut Theme.Park.",
|
||||
"ThemeHelpText": "Vaihda sovelluksen käyttöliittymän ulkoasua. \"Automaattinen\" vaihtaa vaalean ja tumman tilan välillä käyttöjärjestelmän teeman mukaan. Innoittanut Theme.Park.",
|
||||
"EnableRssHelpText": "Käytetään {appName}in etsiessä julkaisuja ajoitetusti RSS-synkronoinnilla.",
|
||||
"BypassIfHighestQuality": "Ohita, jos korkein laatu",
|
||||
"CustomFormatScore": "Mukautetun muodon pisteytys",
|
||||
@@ -784,7 +782,7 @@
|
||||
"CustomFormat": "Mukautettu muoto",
|
||||
"CustomFormatSettings": "Mukautettujen muotojen asetukset",
|
||||
"CustomFormats": "Mukautetut muodot",
|
||||
"DataFutureBooks": "Seuraa albumeita, joita ei ole vielä julkaistu.",
|
||||
"DataFutureBooks": "Valvo kirjoja, joita ei ole vielä julkaistu.",
|
||||
"DeleteCustomFormat": "Poista mukautettu muoto",
|
||||
"DeleteCustomFormatMessageText": "Haluatko varmasti poistaa mukautetun muodon \"{name}\"?",
|
||||
"DeleteFormatMessageText": "Haluatko varmasti poistaa muototunnisteen \"{0}\"?",
|
||||
@@ -793,14 +791,14 @@
|
||||
"IncludeCustomFormatWhenRenamingHelpText": "Mahdollista tämän muodon käyttö \"{Custom Formats}\" -nimeämiskaavan kanssa.",
|
||||
"MinFormatScoreHelpText": "Mukautetun muodon vähimmäispisteytys, jolla lataus sallitaan.",
|
||||
"NegateHelpText": "Jos käytössä, ei mukautettua muotoa sovelleta tämän \"{0}\" -ehdon täsmätessä.",
|
||||
"UnableToLoadCustomFormats": "Muokattuja muotoja ei voitu ladata.",
|
||||
"UnableToLoadCustomFormats": "Virhe ladattaessa mukautettuja muotoja",
|
||||
"UpgradesAllowed": "Päivitykset sallitaan",
|
||||
"CutoffFormatScoreHelpText": "Kun kirja saavuttaa laaturajoituksen tai tämän mukautetun muodon pisteytyksen, ei siihen enää kaapata uusia julkaisuja tai tuoda päivityksiä.",
|
||||
"ResetDefinitionTitlesHelpText": "Palauta määritysten nimet ja arvot.",
|
||||
"ResetDefinitions": "Palauta määritykset",
|
||||
"ResetTitles": "Palauta nimet",
|
||||
"ImportListMissingRoot": "Tuontilistalta tai -listoilta puuttuu juurikansio: {0}",
|
||||
"ImportListMultipleMissingRoots": "Tuontilistoilta puuttuu useita juurikansioita: {0}",
|
||||
"ImportListMissingRoot": "Tuontilistalta tai -listoilta puuttuu juurikansio: {0}.",
|
||||
"ImportListMultipleMissingRoots": "Useita tuontilistojen juurikansioita puuttuu: {0}",
|
||||
"IndexerDownloadClientHelpText": "Määritä tämän tietolähteen kanssa käytettävä lataustyökalu.",
|
||||
"IndexerTagsHelpText": "Tietolähdettä käytetään vain vähintään yhdellä täsmäävällä tunnisteella merkityille kirjailijoille. Käytä kaikille jättämällä tyhjäksi.",
|
||||
"HiddenClickToShow": "Piilotettu, näytä painalla",
|
||||
@@ -811,7 +809,7 @@
|
||||
"ReplaceWithDash": "Korvaa yhdysmerkillä",
|
||||
"ReplaceWithSpaceDash": "Korvaa yhdistelmällä \"välilyönti yhdysmerkki\"",
|
||||
"ReplaceWithSpaceDashSpace": "Korvaa yhdistelmällä \"välilyönti yhdysmerkki välilyönti\"",
|
||||
"DeleteRemotePathMapping": "Poista etäreittien kartoitus",
|
||||
"DeleteRemotePathMapping": "Poista etäsijainnin kohdistus",
|
||||
"BlocklistReleases": "Lisää julkaisut estolistalle",
|
||||
"DeleteConditionMessageText": "Haluatko varmasti poistaa ehdon \"{name}\"?",
|
||||
"Negated": "Kielletty",
|
||||
@@ -820,7 +818,7 @@
|
||||
"RemoveSelectedItemQueueMessageText": "Haluatko varmasti poistaa jonosta 1 kohteen?",
|
||||
"RemoveSelectedItems": "Poista valitut kohteet",
|
||||
"RemoveSelectedItemsQueueMessageText": "Haluatko varmasti poistaa jonosta {0} kohdetta?",
|
||||
"Required": "Vaaditaan",
|
||||
"Required": "Pakollinen",
|
||||
"ResetQualityDefinitions": "Palauta laatumääritykset",
|
||||
"ResetQualityDefinitionsMessageText": "Haluatko varmasti palauttaa laatumääritykset?",
|
||||
"NoEventsFound": "Tapahtumia ei löytynyt",
|
||||
@@ -829,7 +827,7 @@
|
||||
"ApplyTagsHelpTextHowToApplyAuthors": "Tunnisteisiin kohdistettavat toimenpiteet:",
|
||||
"DeleteSelectedImportLists": "Poista tuontilista(t)",
|
||||
"No": "Ei",
|
||||
"RedownloadFailed": "Lataus epäonnistui",
|
||||
"RedownloadFailed": "Uudelleenlataus epäonnistui",
|
||||
"Yes": "Kyllä",
|
||||
"DeleteSelectedImportListsMessageText": "Haluatko varmasti poistaa valitut {count} tuontilistaa?",
|
||||
"ApplyTagsHelpTextHowToApplyDownloadClients": "Tunnisteiden käyttö valituissa lataustyökaluissa",
|
||||
@@ -865,16 +863,16 @@
|
||||
"FreeSpace": "Vapaa tila",
|
||||
"ConnectionLost": "Ei yhteyttä",
|
||||
"ConnectionLostReconnect": "{appName} pyrkii ajoittain muodostamaan yhteyden automaattisesti tai voit painaa alta \"Lataa uudelleen\".",
|
||||
"RecentChanges": "Viimeisimmät muutokset",
|
||||
"WhatsNew": "Mitä uutta?",
|
||||
"RecentChanges": "Uusimmat muutokset",
|
||||
"WhatsNew": "Mikä on uutta?",
|
||||
"Large": "Suuri",
|
||||
"LastDuration": "Edellinen kesto",
|
||||
"LastExecution": "Edellinen suoritus",
|
||||
"LastWriteTime": "Viimeksi tallennettu",
|
||||
"LastWriteTime": "Edellinen tallennus",
|
||||
"Location": "Sijainti",
|
||||
"NoResultsFound": "Ei tuloksia",
|
||||
"SomeResultsAreHiddenByTheAppliedFilter": "Joitakin tuloksia piilottaa käytetty suodatin",
|
||||
"Activity": "Tapahtuma",
|
||||
"NoResultsFound": "Tuloksia ei löytynyt.",
|
||||
"SomeResultsAreHiddenByTheAppliedFilter": "Aktiivinen suodatin piilottaa joitakin tuloksia.",
|
||||
"Activity": "Tapahtumat",
|
||||
"AddNew": "Lisää uusi",
|
||||
"Backup": "Varmuuskopiointi",
|
||||
"NextExecution": "Seuraava suoritus",
|
||||
@@ -884,15 +882,15 @@
|
||||
"Iso639-3": "ISO 639-3 -kielikoodit tai \"null\" (pilkuin eroteltuna)",
|
||||
"ExtraFileExtensionsHelpText": "Pilkuin eroteltu listaus tuotavista oheistiedostoista (.nfo-tiedostot tuodaan \".nfo-orig\"-nimellä).",
|
||||
"ExtraFileExtensionsHelpTextsExamples": "Esimerkiksi '\"sub, .nfo\" tai \"sub,nfo\".",
|
||||
"NoCutoffUnmetItems": "Katkaisutasoa saavuttamattomia kohteita ei ole",
|
||||
"NoCutoffUnmetItems": "Katkaisutasoa saavuttamattomia kohteita ei ole.",
|
||||
"DeleteSelected": "Poista valitut",
|
||||
"CountAuthorsSelected": "{selectedCount} tietolähde(ttä) on valittu",
|
||||
"NoMissingItems": "Ei puuttuvia kohteita",
|
||||
"CountAuthorsSelected": "{selectedCount} kirjailija(a) on valittu",
|
||||
"NoMissingItems": "Puuttuvia kohteita ei ole.",
|
||||
"InvalidUILanguage": "Käytöliittymän kielivalinta on virheellinen. Korjaa se ja tallenna asetukset.",
|
||||
"MetadataSettingsSummary": "Luo metatietotiedostot kun jaksoja tuodaan tai sarjojen tietoja päivitetään.",
|
||||
"MetadataSettingsSummary": "Luo metatietotiedostot kun kirjoja tuodaan tai kirjailijoiden tietoja päivitetään.",
|
||||
"ThereWasAnErrorLoadingThisItem": "Virhe ladattaessa kohdetta",
|
||||
"ThereWasAnErrorLoadingThisPage": "Virhe ladattaessa sivua",
|
||||
"DeleteRemotePathMappingMessageText": "Haluatko varmasti poistaa tämä etäsijainnin kartoituksen?",
|
||||
"DeleteRemotePathMappingMessageText": "Haluatko varmasti poistaa tämän etäsijainnin kohdistuksen?",
|
||||
"ManageDownloadClients": "Hallitse lataustyökaluja",
|
||||
"ManageIndexers": "Hallitse tietolähteitä",
|
||||
"NoIndexersFound": "Tietolähteitä ei löytynyt",
|
||||
@@ -917,7 +915,7 @@
|
||||
"EditSelectedIndexers": "Muokkaa valittuja sisältölähteitä",
|
||||
"LogSQL": "Kirjaa SQL",
|
||||
"NoDownloadClientsFound": "Lataustyökaluja ei löytynyt",
|
||||
"RemotePathMappingsInfo": "Etäsijaintien kartoitusta tarvitaan harvoin ja jos {app} ja lataustyökalu suoritetaan samassa järjestelmässä, on parempi käyttää paikallisia polkuja. Lue lisää [wikistä]({wikiLink}).",
|
||||
"RemotePathMappingsInfo": "Etäsijaintien kohdistuksia tarvitaan harvoin ja jos {app} ja lataustyökalu suoritetaan samassa järjestelmässä, on parempi käyttää paikallisia polkuja. Lue lisää [wikistä]({wikiLink}).",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Tietolähteet virheellisillä lataustyökaluilla: {0}.",
|
||||
"NoHistoryBlocklist": "Estohistoriaa ei ole.",
|
||||
"ErrorLoadingContent": "Virhe ladattaessa tätä sisältöä",
|
||||
@@ -926,9 +924,9 @@
|
||||
"ASIN": "ASIN",
|
||||
"AutoAdd": "Automaattilisäys",
|
||||
"ManageImportLists": "Tuontilistojen hallinta",
|
||||
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Etsi automaattisesti ja pyri lataamaan eri julkaisu vaikka epäonnistunut julkaisu oli kaapattu manuaalihausta.",
|
||||
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Etsi ja pyri lataamaan eri julkaisu automaattisesti vaikka epäonnistunut julkaisu oli kaapattu manuaalihaun tuloksista.",
|
||||
"BypassIfAboveCustomFormatScoreHelpText": "Käytä ohitusta, kun julkaisun pisteytys on määritetyn mukautetun muodon vähimmäispisteytystä korkeampi.",
|
||||
"ApiKeyValidationHealthCheckMessage": "Muuta API-avaimesi ainakin {0} merkin pituiseksi. Voit tehdä tämän asetuksista tai muokkaamalla asetustiedostoa.",
|
||||
"ApiKeyValidationHealthCheckMessage": "Muuta rajapinnan (API) avain ainakin {0} merkin pituiseksi. Voit tehdä tämän asetuksista tai muokkaamalla asetustiedostoa.",
|
||||
"ManageLists": "Listojen hallunta",
|
||||
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Määrittää käytetäänkö qBittorrentista määritettyä rakennetta, torrentin alkuperäistä rakennetta vai luodaanko uusi alikansio (qBittorrent 4.3.2+).",
|
||||
"Implementation": "Toteutus",
|
||||
@@ -957,5 +955,26 @@
|
||||
"RemoveMultipleFromDownloadClientHint": "Poistaa latauksen ja ladatut tiedostot lataustyökalusta.",
|
||||
"RemoveQueueItemRemovalMethod": "Poistotapa",
|
||||
"RemoveQueueItemRemovalMethodHelpTextWarning": "\"Poista lataustyökalusta\" poistaa latauksen ja sen tiedostot.",
|
||||
"RemoveQueueItemsRemovalMethodHelpTextWarning": "\"Poista lataustyökalusta\" poistaa lataukset ja niiden tiedostot."
|
||||
"RemoveQueueItemsRemovalMethodHelpTextWarning": "\"Poista lataustyökalusta\" poistaa lataukset ja niiden tiedostot.",
|
||||
"AutoRedownloadFailedFromInteractiveSearch": "Uudelleenlataus manuaalihaun tuloksista epäonnistui",
|
||||
"NameFirstLast": "Etunimi sukunimi",
|
||||
"NameLastFirst": "Sukunimi, etunimi",
|
||||
"CustomFormatsSpecificationRegularExpressionHelpText": "Mukautetun muodon säännöllisen lausekkeen kirjainkokoa ei huomioida.",
|
||||
"BlocklistAndSearchHint": "Etsi korvaavaa kohdetta kun kohde lisätään estolistalle.",
|
||||
"BlocklistAndSearchMultipleHint": "Etsi korvaavia kohteita kun kohteita lisätään estolistalle.",
|
||||
"ChangeCategory": "Vaihda kategoria",
|
||||
"BlocklistMultipleOnlyHint": "Lisää estolistalle etsimättä korvaavia kohteita.",
|
||||
"BlocklistOnlyHint": "Lisää estolistalle etsimättä korvaavaa kohdetta.",
|
||||
"ChangeCategoryMultipleHint": "Vaihtaa latausten kategoriaksi lataustyökalun \"Tuonnin jälkeinen kategoria\" -asetuksen kategorian.",
|
||||
"DoNotBlocklistHint": "Poista lisäämättä estolistalle.",
|
||||
"IgnoreDownloadHint": "Estää {appName}ia käsittelemästä tätä latausta jatkossa.",
|
||||
"IgnoreDownloadsHint": "Estää {appName}ia käsittelemästä näitä latauksia jatkossa.",
|
||||
"ChangeCategoryHint": "Vaihtaa latauksen kategoriaksi lataustyökalun \"Tuonnin jälkeinen kategoria\" -asetuksen kategorian.",
|
||||
"DataLatestBook": "Valvo uusimpia ja tulevia kirjoja",
|
||||
"RootFolderPathHelpText": "Juurikansio, johon listan kohteet lisätään.",
|
||||
"AutoRedownloadFailed": "Uudelleenlataus epäonnistui",
|
||||
"LatestBook": "Uusin kirja",
|
||||
"TheFollowingFilesWillBeDeleted": "Seuraavat tiedostot poistetaan:",
|
||||
"CollapseMultipleBooks": "Tiivistä useat kirjat",
|
||||
"CustomFormatsSpecificationRegularExpression": "Säännöllinen lauseke"
|
||||
}
|
||||
|
||||
@@ -617,7 +617,6 @@
|
||||
"AuthorFolderFormat": "Format du dossier de l'auteur",
|
||||
"Authors": "Auteurs",
|
||||
"Book": "Livre",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} livres téléchargés",
|
||||
"BookFilesCountMessage": "Aucun fichiers de livre",
|
||||
"BookMonitoring": "Surveillance des livres",
|
||||
"BookNaming": "Nommage des livres",
|
||||
@@ -651,7 +650,6 @@
|
||||
"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",
|
||||
"AddMissing": "Ajouter manquant",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Total : {2})",
|
||||
"InstanceName": "Nom de l'instance",
|
||||
"InstanceNameHelpText": "Nom de l'instance dans l'onglet et pour le nom de l'application Syslog",
|
||||
"UseCalibreContentServer": "Serveur de contenu Calibre",
|
||||
@@ -944,5 +942,18 @@
|
||||
"ChangeCategoryHint": "Modifie le téléchargement dans la \"catégorie post-importation\" du client de téléchargement",
|
||||
"AutoRedownloadFailed": "Échec du retéléchargement",
|
||||
"AutoRedownloadFailedFromInteractiveSearch": "Échec du retéléchargement à partir de la recherche interactive",
|
||||
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Lance une recherche automatique et une tentative de téléchargement d'une version différente si la version trouvée automatiquement échoue"
|
||||
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Lance une recherche automatique et une tentative de téléchargement d'une version différente si la version trouvée automatiquement échoue",
|
||||
"DoNotBlocklist": "Ne pas mettre sur liste noire",
|
||||
"DoNotBlocklistHint": "Supprimer sans mettre sur liste noire",
|
||||
"IgnoreDownload": "Ignorer le téléchargement",
|
||||
"IgnoreDownloads": "Ignorer les téléchargements",
|
||||
"IgnoreDownloadHint": "Empêche {appName} de poursuivre le traitement de ce téléchargement",
|
||||
"IgnoreDownloadsHint": "Empêche {appName} de poursuivre le traitement de ces téléchargements",
|
||||
"RemoveMultipleFromDownloadClientHint": "Supprime les téléchargements et les fichiers du client de téléchargement",
|
||||
"RemoveFromDownloadClientHint": "Supprime le téléchargement et le(s) fichier(s) du client de téléchargement",
|
||||
"RemoveQueueItemRemovalMethod": "Méthode de suppression",
|
||||
"RemoveQueueItemRemovalMethodHelpTextWarning": "\"Supprimer du client de téléchargement\" supprimera le téléchargement et le(s) fichier(s) du client de téléchargement.",
|
||||
"RemoveQueueItem": "Retirer - {sourceTitle}",
|
||||
"RemoveQueueItemConfirmation": "Êtes-vous sûr de vouloir retirer '{sourceTitle}' de la file d'attente ?",
|
||||
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Supprimer du client de téléchargement\" supprimera les téléchargements et les fichiers du client de téléchargement."
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"BackupRetentionHelpText": "A megőrzési időszaknál régebbi automatikus biztonsági másolatok automatikusan törlődnek",
|
||||
"Backups": "Biztonsági mentések",
|
||||
"BindAddress": "Kötési cím",
|
||||
"BindAddressHelpText": "Érvényes IPv4-cím, vagy „*” minden interfészhez",
|
||||
"BindAddressHelpText": "Érvényes IP-cím, localhost vagy '*' minden interfészhez",
|
||||
"BindAddressHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
|
||||
"BookIsDownloading": "A film letöltés alatt",
|
||||
"BookIsDownloadingInterp": "A film letöltés alatt - {0}% {1}",
|
||||
@@ -44,13 +44,13 @@
|
||||
"CompletedDownloadHandling": "Befejezett letöltéskezelés",
|
||||
"ConnectSettings": "Csatlakozási beállítások",
|
||||
"Connections": "Kapcsolatok",
|
||||
"CopyUsingHardlinksHelpText": "Használj Hardlininket, amikor megpróbálsz fájlokat másolni a még Seedelt torrentekből",
|
||||
"CopyUsingHardlinksHelpText": "A merev hivatkozások lehetővé teszik a Readarr számára, hogy import torrenteket importáljon a sorozat mappájába anélkül, hogy extra lemezterületet foglalna el, vagy a fájl teljes tartalmát másolná. A merev hivatkozások csak akkor működnek, ha a forrás és a cél ugyanazon a köteten található",
|
||||
"CopyUsingHardlinksHelpTextWarning": "Esetenként az írásvédettség megakadályozza a Seedelt fájlok átnevezését. Ideiglenesen állítsd le a Seedelést, hogy a Radarr át tudja nevezni a fájlokat.",
|
||||
"CreateEmptyAuthorFoldersHelpText": "Hozzon létre mappákat a hiányzó filmeknek, filmkeresés közben",
|
||||
"CreateGroup": "Csoport létrehozása",
|
||||
"CutoffHelpText": "Amint ezt a minőséget eléri, a Radarr többé nem fog filmeket letölteni",
|
||||
"CutoffUnmet": "Küszöbszint nincs elérve",
|
||||
"DatabaseMigration": "DB Migráció",
|
||||
"DatabaseMigration": "Adatbázis-migráció",
|
||||
"Dates": "Dátumok",
|
||||
"DelayProfile": "Késleltetési Profil",
|
||||
"DelayProfiles": "Késleltetési Profilok",
|
||||
@@ -64,24 +64,24 @@
|
||||
"DeleteDownloadClientMessageText": "Biztosan törli a(z) \"{name}\" letöltési klienst?",
|
||||
"DeleteEmptyFolders": "Üres Mappa Törlése",
|
||||
"DeleteEmptyFoldersHelpText": "Törölje az üres könyvmappákat a lemezfrissítés és a könyvfájlokfájlok törlése során",
|
||||
"DeleteImportListExclusion": "Az importlista kizárásásainak törlése",
|
||||
"DeleteImportListExclusion": "Importálási lista kizárásának törlése",
|
||||
"DeleteImportListExclusionMessageText": "Biztosan törli ezt az importlista-kizárást?",
|
||||
"DeleteImportListMessageText": "Biztosan törli a(z) „{name}” listát?",
|
||||
"DeleteIndexer": "Indexer Törlése",
|
||||
"DeleteIndexer": "Indexelő törlése",
|
||||
"DeleteIndexerMessageText": "Biztosan törli a(z) \"{name}\" indexelőt?",
|
||||
"DeleteMetadataProfileMessageText": "Biztosan törli a {0} minőségi profilt?",
|
||||
"DeleteNotification": "Értesítés Törlése",
|
||||
"DeleteMetadataProfileMessageText": "Biztosan törli a(z) „{name}” metaadat-profilt?",
|
||||
"DeleteNotification": "Értesítés törlése",
|
||||
"DeleteNotificationMessageText": "Biztosan törli a(z) „{name}” értesítést?",
|
||||
"DeleteQualityProfile": "Minőségi Profil Törlése",
|
||||
"DeleteQualityProfile": "Törölje a minőségi profilt",
|
||||
"DeleteQualityProfileMessageText": "Biztosan törli a(z) „{name}” minőségi profilt?",
|
||||
"DeleteReleaseProfile": "Késleltetési Profil Törlése",
|
||||
"DeleteReleaseProfile": "Release profil törlése",
|
||||
"DeleteReleaseProfileMessageText": "Biztos hogy törölni szeretnéd ezt a késleltetési profilt?",
|
||||
"DeleteSelectedBookFiles": "Töröld a Kiválaszott Film Fájlokat",
|
||||
"DeleteSelectedBookFilesMessageText": "Biztosan törlöd a kijelölt filmfájlokat?",
|
||||
"DeleteTag": "Címke Törlése",
|
||||
"DeleteTag": "Címke törlése",
|
||||
"DeleteTagMessageText": "Biztosan törlöd a(z) „{0}” címkét?",
|
||||
"DestinationPath": "Célmappa Útvonala",
|
||||
"DetailedProgressBar": "Részletes Folyamat Sáv",
|
||||
"DestinationPath": "Cél útvonal",
|
||||
"DetailedProgressBar": "Részletes folyamatjelző sáv",
|
||||
"DetailedProgressBarHelpText": "Szöveg megjelenítése a folyamatjelző sávon",
|
||||
"DiskSpace": "Lemez terület",
|
||||
"Docker": "Docker",
|
||||
@@ -95,18 +95,18 @@
|
||||
"Edit": "Szerkeszt",
|
||||
"Edition": "Kiadás",
|
||||
"Enable": "Aktiválás",
|
||||
"EnableAutomaticAdd": "Engedélyezd az automatikus hozzáadást",
|
||||
"EnableAutomaticAdd": "Automatikus hozzáadás engedélyezése",
|
||||
"EnableAutomaticSearch": "Automatikus keresés engedélyezése",
|
||||
"EnableColorImpairedMode": "Engedélyezze a színtévesztő módot",
|
||||
"EnableColorImpairedModeHelpText": "Megváltoztatott színek, hogy a színvak felhasználók jobban meg tudják különböztetni a színkódolt információkat",
|
||||
"EnableCompletedDownloadHandlingHelpText": "A befejezett letöltések automatikus importálása a letöltési kliensből",
|
||||
"EnableHelpText": "Engedélyezze a metaadatfájlok létrehozását ehhez a metaadat típushoz",
|
||||
"EnableHelpText": "Metaadatfájl létrehozásának engedélyezése ehhez a metaadattípushoz",
|
||||
"EnableInteractiveSearch": "Interaktív keresés engedélyezése",
|
||||
"EnableRSS": "RSS Engedélyezése",
|
||||
"EnableSSL": "SSL Engedélyezése",
|
||||
"EnableSslHelpText": " A hatálybalépéshez újra kell indítani rendszergazdaként",
|
||||
"Ended": "Vége",
|
||||
"ErrorLoadingContents": "Hiba történt a tartalom betöltésekor",
|
||||
"ErrorLoadingContents": "Hiba a tartalom betöltésekor",
|
||||
"ErrorLoadingPreviews": "Hiba történt az előnézetek betöltése közben",
|
||||
"Exception": "Kivétel",
|
||||
"FailedDownloadHandling": "Nem sikerült a letöltés kezelése",
|
||||
@@ -115,7 +115,7 @@
|
||||
"FileNames": "Fájlnevek",
|
||||
"Filename": "Fájl név",
|
||||
"Files": "Fájlok",
|
||||
"FirstDayOfWeek": "A Hét Első Napja",
|
||||
"FirstDayOfWeek": "A hét első napja",
|
||||
"Fixed": "Rögzített",
|
||||
"Folder": "Mappa",
|
||||
"Folders": "Mappák",
|
||||
@@ -145,7 +145,7 @@
|
||||
"IgnoredHelpText": "A kiadás elutasításra kerül, ha egy vagy több kifejezést tartalmaz (A kis- és nagybetűket nem vesszük figyelembe)",
|
||||
"IgnoredPlaceHolder": "Új korlátozás hozzáadása",
|
||||
"IllRestartLater": "Később Újraindítom",
|
||||
"ImportExtraFiles": "Extra Fájlok Importálása",
|
||||
"ImportExtraFiles": "Extra fájlok importálása",
|
||||
"ImportExtraFilesHelpText": "A megfelelő extra fájlok importálása (feliratok, nfo stb.) a filmfájl importálása után",
|
||||
"ImportFailedInterp": "Importálás sikertelen: {0}",
|
||||
"ImportedTo": "Importálva Ide",
|
||||
@@ -265,7 +265,7 @@
|
||||
"RemoveCompletedDownloadsHelpText": "Távolítsa el az importált letöltéseket a letöltési kliens előzményeiből",
|
||||
"RemoveFailedDownloadsHelpText": "Távolítsa el a sikertelen letöltéseket a letöltési kliens előzményeiből",
|
||||
"RemoveFilter": "Szűrő törlése",
|
||||
"RemoveFromDownloadClient": "Eltávolítás a letöltési kliensből",
|
||||
"RemoveFromDownloadClient": "Eltávolítás a Letöltési kliensből",
|
||||
"RemoveFromQueue": "Eltávolítás a sorból",
|
||||
"RemoveHelpTextWarning": "Az eltávolítás eltávolítja a letöltést és a fájl(oka)t a letöltési kliensből.",
|
||||
"RemoveSelected": "Kiválaszottak törlése",
|
||||
@@ -275,7 +275,7 @@
|
||||
"RenameBooksHelpText": "A Radarr a meglévő fájlnevet fogja használni, ha az átnevezés le van tiltva",
|
||||
"Reorder": "Átrendezés",
|
||||
"ReplaceIllegalCharacters": "Az illegális karakterek cseréje",
|
||||
"RequiredHelpText": "A kiadásnak tartalmaznia kell legalább egy ilyen kifejezést (a kis- és nagybetűk nem számítanak)",
|
||||
"RequiredHelpText": "Ennek a {0} feltételnek meg kell egyeznie az egyéni formátum alkalmazásához. Ellenkező esetben egyetlen {0} egyezés elegendő.",
|
||||
"RequiredPlaceHolder": "Új korlátozás hozzáadása",
|
||||
"RescanAfterRefreshHelpTextWarning": "A Radarr nem érzékeli automatikusan a fájlok változását, ha nincs beállítva „Always”-re",
|
||||
"RescanAuthorFolderAfterRefresh": "Film mappa újraszkennelése a frissítés után",
|
||||
@@ -330,8 +330,8 @@
|
||||
"SorryThatBookCannotBeFound": "Sajnáljuk, ez a film nem található.",
|
||||
"Source": "Forrás",
|
||||
"SourcePath": "Forrás útvonala",
|
||||
"SslCertPasswordHelpText": "Jelszó a Pfx fájlhoz",
|
||||
"SslCertPathHelpText": "A PFX fájl elérési útvonala",
|
||||
"SslCertPasswordHelpText": "Jelszó a pfx fájlhoz",
|
||||
"SslCertPathHelpText": "A pfx fájl elérési útja",
|
||||
"SslPortHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
|
||||
"StandardBookFormat": "Normál filmformátum",
|
||||
"StartTypingOrSelectAPathBelow": "Kezdd el gépelni, vagy válassz az alábbi útvonalak közül",
|
||||
@@ -348,14 +348,14 @@
|
||||
"TagIsNotUsedAndCanBeDeleted": "A címke nincs használatban, törölhető",
|
||||
"Tasks": "Feladatok",
|
||||
"TestAll": "Összes Tesztelése",
|
||||
"TestAllClients": "Összes kliens tesztelése",
|
||||
"TestAllIndexers": "Indexerek tesztelése",
|
||||
"TestAllLists": "Összes lista tesztelése",
|
||||
"TestAllClients": "Minden ügyfél tesztelése",
|
||||
"TestAllIndexers": "Tesztelje az összes indexelőt",
|
||||
"TestAllLists": "Minden lista tesztelése",
|
||||
"ThisWillApplyToAllIndexersPleaseFollowTheRulesSetForthByThem": "Ez minden indexerre vonatkozni fog, kérjük, tartsa be az általuk meghatározott szabályokat",
|
||||
"TimeFormat": "Idő formátum",
|
||||
"Title": "Cím",
|
||||
"TorrentDelay": "Torrent késleltetés",
|
||||
"TorrentDelayHelpText": "Eltolás percekben, mielőtt a torrentkliens elkezdi a letöltést",
|
||||
"TorrentDelay": "Torrent Késleltetés",
|
||||
"TorrentDelayHelpText": "Percek késése, hogy várjon, mielőtt megragad egy torrentet",
|
||||
"Torrents": "Torrentek",
|
||||
"TotalFileSize": "Összesített fájlméret",
|
||||
"UILanguage": "Felület nyelve",
|
||||
@@ -451,8 +451,6 @@
|
||||
"AutomaticallySwitchEdition": "Kiadás automatikus váltása",
|
||||
"BackupIntervalHelpText": "Időköz a Readarr adatbázis és a beállítások biztonsági mentéséhez",
|
||||
"Book": "Könyv",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (összesen: {2})",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} könyv letöltve",
|
||||
"BookFilesCountMessage": "Nincsenek könyvfájlok",
|
||||
"BookNaming": "Könyvek elnevezése",
|
||||
"BookStudio": "Könyvstúdió",
|
||||
@@ -520,7 +518,7 @@
|
||||
"IfYouDontAddAnImportListExclusionAndTheAuthorHasAMetadataProfileOtherThanNoneThenThisBookMayBeReaddedDuringTheNextAuthorRefresh": "Ha nem ad hozzá importlista-kizárást, és a szerző metaadatprofillal rendelkezik, és nem a „Nincs”, akkor ezt a könyvet a következő szerzői frissítés során hozzá lehet adni.",
|
||||
"IgnoreDeletedBooks": "A törölt könyvek figyelmen kívül hagyása",
|
||||
"ImportFailures": "Importálási hibák",
|
||||
"ImportListExclusions": "Lista kizárások importálása",
|
||||
"ImportListExclusions": "Listakizárások importálása",
|
||||
"ImportListSettings": "Általános importálási lista beállításai",
|
||||
"ImportLists": "Listák importálása",
|
||||
"IndexerIdHelpText": "Adja meg, hogy a profil milyen indexelőre vonatkozik",
|
||||
@@ -568,7 +566,7 @@
|
||||
"NETCore": ".NET Mag",
|
||||
"ApiKeyHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
|
||||
"AnalyticsEnabledHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
|
||||
"DeleteRootFolderMessageText": "Biztosan törlöd a(z) „{0}” indexert?",
|
||||
"DeleteRootFolderMessageText": "Biztosan törli a(z) \"{name}\" gyökérmappát?",
|
||||
"LoadingBooksFailed": "A film fájljainak betöltése sikertelen",
|
||||
"ProxyPasswordHelpText": "Csak akkor kell megadnod felhasználónevet és jelszót, ha szükséges. Egyébként hagyd üresen.",
|
||||
"SslCertPathHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
|
||||
@@ -585,7 +583,7 @@
|
||||
"UpdatingIsDisabledInsideADockerContainerUpdateTheContainerImageInstead": "A frissítés le van tiltva a docker-tárolóban. A konténer képfájlját frissítsd.",
|
||||
"UpdateCoversHelpText": "Állítsa be a Calibre könyvborítóit, hogy azok megegyezzenek a Readarrban találhatóakkal",
|
||||
"UpdateCovers": "Borítók frissítése",
|
||||
"UnmappedFiles": "Feltérképezetlen fájlok",
|
||||
"UnmappedFiles": "Leképezés nélküli fájlok",
|
||||
"UnableToLoadMetadataProviderSettings": "Nem lehet betölteni a metaadat-szolgáltató beállításait",
|
||||
"TrackNumber": "Dal száma",
|
||||
"TrackTitle": "Dal címe",
|
||||
@@ -698,7 +696,7 @@
|
||||
"ShouldMonitorExistingHelpText": "A listán szereplő azon könyvek automatikus figyelése, amelyek már szerepelnek a Readarrban",
|
||||
"MassBookSearch": "Tömeges könyvkeresés",
|
||||
"MassBookSearchWarning": "Biztosan tömeges könyvkeresést kíván végrehajtani {0} könyveknél?",
|
||||
"SelectAll": "Összes kijelölése",
|
||||
"SelectAll": "Mindet kiválaszt",
|
||||
"TheFollowingFilesWillBeDeleted": "A következő fájlok törölve lesznek:",
|
||||
"UnselectAll": "Minden kijelölés megszüntetése",
|
||||
"AuthorIndex": "Szerzői Index",
|
||||
@@ -738,7 +736,7 @@
|
||||
"OnReleaseImport": "A kiadás importálásakor",
|
||||
"OnRename": "Átnevezés alatt",
|
||||
"OnUpgrade": "Minőségjavítás alatt",
|
||||
"GeneralSettingsSummary": "Port, SSL, felhasználónév / jelszó, proxy, elemzések és frissítések",
|
||||
"GeneralSettingsSummary": "Port, SSL, felhasználónév/jelszó, proxy, elemzések és frissítések",
|
||||
"IndexersSettingsSummary": "Letöltőkliensek, letöltések kezelése, és távoli elérési útvonalak",
|
||||
"MediaManagementSettingsSummary": "Elnevezések, fájlkezelési beállítások és gyökérmappák",
|
||||
"MissingFromDisk": "A Readarr nem találta a fájlt a lemezen, ezért a fájlt leválasztották az adatbázisban lévő könyvről",
|
||||
@@ -864,21 +862,21 @@
|
||||
"OnApplicationUpdate": "Alkalmazásfrissítésről",
|
||||
"OnApplicationUpdateHelpText": "Alkalmazásfrissítésről",
|
||||
"Theme": "Téma",
|
||||
"ThemeHelpText": "Változtasd meg az alkalmazás felhasználói felület témáját, az „Auto” téma az operációs rendszer témáját használja a Világos vagy Sötét mód beállításához. A Theme.Park ihlette",
|
||||
"ThemeHelpText": "Változtassa meg az alkalmazás felhasználói felület témáját, az \"Auto\" téma az operációs rendszer témáját használja a Világos vagy Sötét mód beállításához. A Theme.Park ihlette",
|
||||
"EnableRssHelpText": "Akkor használatos, amikor a Radarr rendszeresen keres kiadásokat az RSS Sync segítségével",
|
||||
"MinimumCustomFormatScore": "Minimális egyéni formátum pontszám",
|
||||
"BypassIfHighestQuality": "Kihagyás ha a legjobb minőség elérhető",
|
||||
"CustomFormatScore": "Egyéni formátum pontszám",
|
||||
"CustomFormatScore": "Egyéni formátum pontszáma",
|
||||
"CloneCustomFormat": "Egyéni formátum klónozása",
|
||||
"Conditions": "Állapot",
|
||||
"CopyToClipboard": "Másold a Vágólapra",
|
||||
"CustomFormat": "Egyéni formátum",
|
||||
"CustomFormatSettings": "Egyéni Formátum Beállításai",
|
||||
"CustomFormats": "Egyéni Formátumok",
|
||||
"CustomFormats": "Egyéni formátumok",
|
||||
"DataFutureBooks": "Figyelje meg azokat az albumokat, amelyek még nem jelentek meg",
|
||||
"DeleteCustomFormat": "Egyéni formátum törlése",
|
||||
"DeleteCustomFormatMessageText": "Biztosan törölni akarod a/az '{0}' egyéni formátumot?",
|
||||
"DeleteFormatMessageText": "Biztosan törlöd a(z) {0} formátumú címkét?",
|
||||
"DeleteCustomFormatMessageText": "Biztosan törli a(z) „{name}” egyéni formátumot?",
|
||||
"DeleteFormatMessageText": "Biztosan törölni szeretné a(z) \"{0}\" formátumcímkét?",
|
||||
"ExportCustomFormat": "Egyéni formátum exportálása",
|
||||
"Formats": "Formátum",
|
||||
"IncludeCustomFormatWhenRenamingHelpText": "Tartalmazza a(z) {Custom Formats} átnevezési formátumot",
|
||||
@@ -933,8 +931,8 @@
|
||||
"ApplyTagsHelpTextHowToApplyImportLists": "Címkék alkalmazása a kiválasztott importlistákra",
|
||||
"ApplyTagsHelpTextHowToApplyIndexers": "Címkék alkalmazása a kiválasztott indexelőkre",
|
||||
"ApplyTagsHelpTextRemove": "Eltávolítás: Távolítsa el a beírt címkéket",
|
||||
"CountIndexersSelected": "{0} Indexelő(k) kiválasztva",
|
||||
"DeleteConditionMessageText": "Biztosan törölni akarod a '{0}' feltételt?",
|
||||
"CountIndexersSelected": "{selectedCount} indexelő(k) kiválasztva",
|
||||
"DeleteConditionMessageText": "Biztosan törli a(z) „{name}” feltételt?",
|
||||
"DeleteSelectedDownloadClients": "Letöltési kliens(ek) törlése",
|
||||
"DeleteSelectedImportLists": "Importálási lista(k) törlése",
|
||||
"DeleteSelectedIndexers": "Indexelő(k) törlése",
|
||||
@@ -953,7 +951,7 @@
|
||||
"Small": "Kicsi",
|
||||
"SkipRedownloadHelpText": "Megakadályozza, hogy a Lidarr megpróbálja letölteni az eltávolított elemek alternatív kiadásait",
|
||||
"Events": "Események",
|
||||
"FreeSpace": "Szabad Tárhely",
|
||||
"FreeSpace": "Szabad hely",
|
||||
"NoResultsFound": "Nincs találat",
|
||||
"SomeResultsAreHiddenByTheAppliedFilter": "Néhány eredményt elrejtett az alkalmazott szűrő",
|
||||
"System": "Rendszer",
|
||||
@@ -1001,5 +999,55 @@
|
||||
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Függetlenül attól, hogy a qBittorrent konfigurált tartalomelrendezését használja, az eredeti elrendezést a torrentből, vagy mindig hozzon létre egy almappát (qBittorrent 4.3.2)",
|
||||
"InvalidUILanguage": "A felhasználói felület érvénytelen nyelvre van állítva, javítsa ki, és mentse el a beállításait",
|
||||
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Automatikusan keressen és kíséreljen meg egy másik kiadást letölteni, ha az interaktív keresésből sikertelen kiadást ragadtak meg",
|
||||
"AppUpdatedVersion": "{appName} frissítve lett `{version}` verzióra, ahhoz hogy a legutóbbi változtatások életbelépjenek, töltsd újra a {appName}-t"
|
||||
"AppUpdatedVersion": "{appName} frissítve lett `{version}` verzióra, ahhoz hogy a legutóbbi változtatások életbelépjenek, töltsd újra a {appName}-t",
|
||||
"CustomFormatsSpecificationRegularExpression": "Reguláris kifejezés",
|
||||
"SourceTitle": "Eredeti cím",
|
||||
"CustomFormatsSpecificationRegularExpressionHelpText": "Az egyéni formátumú reguláris kifejezés nem különbözteti meg a kis- és nagybetűket",
|
||||
"DoNotBlocklist": "Ne tiltsa le",
|
||||
"DoNotBlocklistHint": "Eltávolítás tiltólista nélkül",
|
||||
"IndexerDownloadClientHealthCheckMessage": "Indexelők érvénytelen letöltési kliensekkel: {0}.",
|
||||
"NoMissingItems": "Nincsenek hiányzó elemek",
|
||||
"ResetQualityDefinitionsMessageText": "Biztosan vissza szeretné állítani a minőségi definíciókat?",
|
||||
"DeleteSelected": "Kijelöltek eltávolítása",
|
||||
"OnAuthorAddedHelpText": "A szerző hozzáadva",
|
||||
"BypassIfAboveCustomFormatScore": "Kihagyás, ha az egyéni formátum pontszáma felett van",
|
||||
"Bookshelf": "Könyvespolc",
|
||||
"DeleteFormat": "Formátum Törlés",
|
||||
"Loading": "Betöltés",
|
||||
"CountAuthorsSelected": "{selectedCount} szerző kiválasztva",
|
||||
"WouldYouLikeToRestoreBackup": "Szeretné visszaállítani a(z) „{name}” biztonsági másolatot?",
|
||||
"CountDownloadClientsSelected": "{selectedCount} letöltési kliens kiválasztva",
|
||||
"CountImportListsSelected": "{selectedCount} importálási lista kiválasztva",
|
||||
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "A(z) {0} letöltési kliens a befejezett letöltések eltávolítására van beállítva. Ez azt eredményezheti, hogy a letöltések eltávolításra kerülnek az ügyfélprogramból, mielőtt {1} importálhatná őket.",
|
||||
"BypassIfAboveCustomFormatScoreHelpText": "Engedélyezze az áthidalást, ha a kiadás pontszáma magasabb, mint a konfigurált minimális egyéni formátum pontszám",
|
||||
"BypassIfHighestQualityHelpText": "Áthidalási késleltetés, amikor a kiadás a minőségi profilban a legmagasabb engedélyezett minőséggel rendelkezik",
|
||||
"ListWillRefreshEveryInterp": "A lista minden {0} napon frissül",
|
||||
"ListRefreshInterval": "Lista frissítési időköz",
|
||||
"ThereWasAnErrorLoadingThisPage": "Hiba történt az oldal betöltésekor",
|
||||
"RemotePathMappingsInfo": "Nagyon ritkán van szükség távoli útvonal-leképezésre, ha az {app} és a letöltési kliens ugyanazon a rendszeren van, jobb, ha megfeleltetjük az útvonalakat. További információért lásd: [wiki]({wikiLink}).",
|
||||
"RemoveSelectedItemBlocklistMessageText": "Biztosan eltávolítja a kijelölt elemeket a tiltólistáról?",
|
||||
"ThereWasAnErrorLoadingThisItem": "Hiba történt az elem betöltésekor",
|
||||
"ErrorLoadingContent": "Hiba történt a tartalom betöltésekor",
|
||||
"BlocklistAndSearch": "Feketelista és Keresés",
|
||||
"BlocklistAndSearchMultipleHint": "Indítsa el a helyettesítők keresését a tiltólistázás után",
|
||||
"BlocklistMultipleOnlyHint": "Blokklista helyettesítők keresése nélkül",
|
||||
"BlocklistOnly": "Csak blokklistára",
|
||||
"BlocklistOnlyHint": "Blokklista csere keresése nélkül",
|
||||
"ChangeCategory": "Kategória módosítása",
|
||||
"ChangeCategoryHint": "A módosítások letöltése az „Importálás utáni kategóriára” a Download Clientből",
|
||||
"ChangeCategoryMultipleHint": "Módosítja a letöltéseket az „Importálás utáni kategóriára” a Download Clientből",
|
||||
"IgnoreDownload": "Letöltés figyelmen kívül hagyása",
|
||||
"IgnoreDownloads": "Letöltések figyelmen kívül hagyása",
|
||||
"IgnoreDownloadHint": "Leállítja a(z) {appName} alkalmazásnak a letöltés további feldolgozását",
|
||||
"IgnoreDownloadsHint": "Leállítja a(z) {appName} alkalmazást, hogy feldolgozza ezeket a letöltéseket",
|
||||
"MinimumCustomFormatScoreHelpText": "Minimális egyéni formátum pontszám a preferált protokoll késleltetésének megkerüléséhez",
|
||||
"NoCutoffUnmetItems": "Nincsenek teljesítetlen elemek levágása",
|
||||
"RemoveMultipleFromDownloadClientHint": "Eltávolítja a letöltéseket és fájlokat a letöltési kliensből",
|
||||
"RemoveFromDownloadClientHint": "Távolítsa el a letöltést és a fájlokat) a letöltési kliensből",
|
||||
"RemoveQueueItem": "Eltávolítás – {sourceTitle}",
|
||||
"RemoveQueueItemConfirmation": "Biztosan eltávolítja a következőt a sorból: \"{sourceTitle}\"?",
|
||||
"RemoveQueueItemRemovalMethod": "Eltávolítási módszer",
|
||||
"RemoveQueueItemRemovalMethodHelpTextWarning": "Az „Eltávolítás a letöltési kliensből” eltávolítja a letöltést és a fájl(oka)t a letöltési kliensből.",
|
||||
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Az „Eltávolítás a letöltési kliensből” eltávolítja a letöltéseket és a fájlokat a letöltési kliensből.",
|
||||
"OnAuthorAdded": "A szerző hozzáadva"
|
||||
}
|
||||
|
||||
@@ -583,8 +583,6 @@
|
||||
"BookMonitoring": "Monitoraggio del libro",
|
||||
"BookNaming": "Nomenclatura del Libro",
|
||||
"Books": "Libri",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Totale: {2})",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} libri scaricati",
|
||||
"BookFilesCountMessage": "Nessun file di libri",
|
||||
"AudioFileMetadata": "Scrivi i Metadati sui File Audio",
|
||||
"Duration": "Durata",
|
||||
|
||||
@@ -438,7 +438,6 @@
|
||||
"SslPortHelpTextWarning": "Requer reinício para aplicar alterações",
|
||||
"AudioFileMetadata": "Escrever metadados em ficheiros de áudio",
|
||||
"AuthorNameHelpText": "O nome do autor/livro a eliminar (pode ser qualquer palavra)",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} livros transferidos",
|
||||
"CalibreOutputProfile": "Perfil de saída do Calibre",
|
||||
"ChownGroup": "Grupo chown",
|
||||
"CollapseMultipleBooks": "Fechar múltiplos livros",
|
||||
@@ -521,7 +520,6 @@
|
||||
"AuthorFolderFormat": "Formato da pasta do autor",
|
||||
"Authors": "Autores",
|
||||
"AutomaticallySwitchEdition": "Alternar edição automaticamente",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0}/{1} (Total: {2})",
|
||||
"BookNaming": "Nomenclatura de livros",
|
||||
"BookStudio": "Estúdio de livros",
|
||||
"Books": "Livros",
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
"DeleteNotificationMessageText": "Tem certeza de que deseja excluir a notificação '{name}'?",
|
||||
"DeleteQualityProfile": "Excluir perfil de qualidade",
|
||||
"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?",
|
||||
"DeleteRootFolderMessageText": "Tem certeza de que deseja excluir a pasta raiz '{name}'?",
|
||||
"DeleteSelectedBookFiles": "Excluir arquivos do livro selecionado",
|
||||
@@ -435,7 +435,6 @@
|
||||
"WeekColumnHeader": "Cabeçalho da Coluna da Semana",
|
||||
"Year": "Ano",
|
||||
"YesCancel": "Sim, Cancelar",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0}/{1} (Total: {2})",
|
||||
"WriteBookTagsHelpTextWarning": "Selecionar \"Todos os arquivos\" alterará os arquivos existentes quando forem importados.",
|
||||
"WatchRootFoldersForFileChanges": "Monitorar alterações nas pastas raiz",
|
||||
"WatchLibraryForChangesHelpText": "Verificar novamente quando houver alteração em arquivos de uma pasta raiz",
|
||||
@@ -606,7 +605,7 @@
|
||||
"ConsoleLogLevel": "Nível de log do console",
|
||||
"CollapseMultipleBooksHelpText": "Recolher vários livros lançados no mesmo dia",
|
||||
"CollapseMultipleBooks": "Recolher vários livros",
|
||||
"ChownGroup": "Fazer chown de grupo",
|
||||
"ChownGroup": "chown Grupo",
|
||||
"CatalogNumber": "Número do Catálogo",
|
||||
"CalibreUsername": "Nome de usuário do Calibre",
|
||||
"CalibreUrlBase": "URL base do Calibre",
|
||||
@@ -621,7 +620,6 @@
|
||||
"Books": "Livros",
|
||||
"BookNaming": "Nomenclatura de livros",
|
||||
"BookFilesCountMessage": "Nenhum arquivo de livro",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} livros baixados",
|
||||
"Book": "Livro",
|
||||
"BackupIntervalHelpText": "Intervalo para fazer backup das configurações e do banco de dados do Readarr",
|
||||
"AutomaticallySwitchEdition": "Alternar edição automaticamente",
|
||||
@@ -791,7 +789,7 @@
|
||||
"ProxyCheckResolveIpMessage": "Falha ao resolver o endereço IP do host de proxy configurado {0}",
|
||||
"ProxyCheckBadRequestMessage": "Falha ao testar o proxy. Código de status: {0}",
|
||||
"ProxyCheckFailedToTestMessage": "Falha ao testar o proxy: {0}",
|
||||
"QualitySettingsSummary": "Tamanhos de qualidade e nomenclatura",
|
||||
"QualitySettingsSummary": "Tamanhos e nomenclatura de qualidade",
|
||||
"Queued": "Na fila",
|
||||
"QueueIsEmpty": "A fila está vazia",
|
||||
"RefreshAndScan": "Atualizar & Escanear",
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"AlternateTitles": "Альтернативное название",
|
||||
"Analytics": "Аналитика",
|
||||
"AnalyticsEnabledHelpText": "Отправлять в Radarr информацию о использовании и ошибках. Анонимная статистика включает в себя информацию о браузере, какие страницы загружены, сообщения об ошибках, а так же операционной системе. Мы используем эту информацию для выявления ошибок, а так же для разработки нового функционала.",
|
||||
"AppDataDirectory": "AppData директория",
|
||||
"AppDataDirectory": "Директория AppData",
|
||||
"ApplyTags": "Применить тэги",
|
||||
"Authentication": "Аутентификация",
|
||||
"AuthenticationMethodHelpText": "Необходим логин и пароль для доступа в Radarr",
|
||||
@@ -725,5 +725,6 @@
|
||||
"ResetQualityDefinitionsMessageText": "Вы уверены, что хотите сбросить определения качества?",
|
||||
"DeleteRemotePathMappingMessageText": "Вы уверены, что хотите удалить это сопоставление удаленного пути?",
|
||||
"RemotePathMappingsInfo": "Сопоставление удаленных путей требуется крайне редко, если {app} и клиент загрузки находятся в одной системе, то лучше согласовать пути. Более подробную информацию можно найти в [wiki]({wikiLink}).",
|
||||
"WouldYouLikeToRestoreBackup": "Желаете восстановить резервную копию {name} ?"
|
||||
"WouldYouLikeToRestoreBackup": "Желаете восстановить резервную копию {name} ?",
|
||||
"CustomFormatsSpecificationRegularExpression": "Регулярное выражение"
|
||||
}
|
||||
|
||||
@@ -536,7 +536,6 @@
|
||||
"AudioFileMetadata": "Skriv Metadata till Ljudfiler",
|
||||
"BackupIntervalHelpText": "Intervall mellan automatiska säkerhetskopior",
|
||||
"Book": "Bok",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (Totalt: {2})",
|
||||
"AnyEditionOkHelpText": "Readarr kommer automatiskt byta till den versionen som matchar nedladdade filer",
|
||||
"AutomaticallySwitchEdition": "Automatiskt Byt Version",
|
||||
"HideBooks": "Dölj Böcker",
|
||||
@@ -550,7 +549,6 @@
|
||||
"OnBookRetagHelpText": "När Bok-Omtaggas",
|
||||
"SkipPartBooksAndSets": "Hoppa böcker som är i delar eller uppsättningar",
|
||||
"SkipRedownload": "Hoppa Åternedladdning",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} böcker nedladdade",
|
||||
"BookFilesCountMessage": "Inga bokfiler",
|
||||
"BookMonitoring": "Boken Bevakas",
|
||||
"BookNaming": "Bok Namngivning",
|
||||
|
||||
@@ -541,7 +541,7 @@
|
||||
"Yesterday": "Dün",
|
||||
"FailedToLoadQueue": "Sıra yüklenemedi",
|
||||
"RestartRequiredHelpTextWarning": "Etkili olması için yeniden başlatma gerektirir",
|
||||
"AddList": "Liste ekle",
|
||||
"AddList": "Liste Ekleyin",
|
||||
"RenameFiles": "Yeniden Adlandır",
|
||||
"Test": "Ölçek",
|
||||
"ImportListExclusions": "İçe Aktarma Listesi Hariç Tutmasını Sil",
|
||||
@@ -622,8 +622,8 @@
|
||||
"TotalSpace": "Toplam alan",
|
||||
"Backup": "Destek olmak",
|
||||
"Medium": "Orta",
|
||||
"Activity": "Aktivite",
|
||||
"AddNew": "Yeni ekle",
|
||||
"Activity": "Etkinlik",
|
||||
"AddNew": "Yeni Ekle",
|
||||
"Large": "Büyük",
|
||||
"LastDuration": "lastDuration",
|
||||
"AllResultsAreHiddenByTheAppliedFilter": "Tüm sonuçlar, uygulanan filtre tarafından gizlenir",
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"CloneProfile": "Клонувати профіль",
|
||||
"Close": "Закрити",
|
||||
"AddingTag": "Додавання тегу",
|
||||
"AddListExclusion": "Додати винятки списку",
|
||||
"AddListExclusion": "Додати виняток зі списку",
|
||||
"About": "Про нас",
|
||||
"Actions": "Дії",
|
||||
"All": "Всі",
|
||||
@@ -644,6 +644,6 @@
|
||||
"NoChange": "Без змін",
|
||||
"ResetQualityDefinitions": "Скинути визначення якості",
|
||||
"SetTags": "Встановити теги",
|
||||
"AddNew": "Додати новий",
|
||||
"AddNew": "Додати",
|
||||
"Activity": "Активність"
|
||||
}
|
||||
|
||||
@@ -591,8 +591,6 @@
|
||||
"AddList": "添加列表",
|
||||
"BookList": "书籍清单",
|
||||
"Books": "书籍",
|
||||
"BookFileCountBookCountTotalTotalBookCountInterp": "{0} / {1} (全部: {2})",
|
||||
"BookFileCounttotalBookCountBooksDownloadedInterp": "{0}/{1} 书籍已下载",
|
||||
"BookFilesCountMessage": "无书籍文件",
|
||||
"AutomaticallySwitchEdition": "自动切换版本",
|
||||
"AllAuthorBooks": "该作者所有书籍",
|
||||
@@ -1025,5 +1023,6 @@
|
||||
"DownloadClientQbittorrentSettingsContentLayout": "内容布局",
|
||||
"ExtraFileExtensionsHelpTextsExamples": "示例:’.sub,.nfo‘ 或 ’sub,nfo‘",
|
||||
"InvalidUILanguage": "您的UI设置为无效语言,请纠正并保存设置",
|
||||
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "是否使用 qBittorrent 配置的内容布局,使用种子的原始布局或始终创建子文件夹(qBittorrent 4.3.2+)"
|
||||
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "是否使用 qBittorrent 配置的内容布局,使用种子的原始布局或始终创建子文件夹(qBittorrent 4.3.2+)",
|
||||
"ChangeCategory": "改变分类"
|
||||
}
|
||||
|
||||
@@ -105,11 +105,12 @@ namespace NzbDrone.Core.Update
|
||||
return false;
|
||||
}
|
||||
|
||||
var tempFolder = _appFolderInfo.TempFolder;
|
||||
var updateSandboxFolder = _appFolderInfo.GetUpdateSandboxFolder();
|
||||
|
||||
if (_diskProvider.GetTotalSize(updateSandboxFolder) < 1.Gigabytes())
|
||||
if (_diskProvider.GetTotalSize(tempFolder) < 1.Gigabytes())
|
||||
{
|
||||
_logger.Warn("Temporary location '{0}' has less than 1 GB free space, Readarr may not be able to update itself.", updateSandboxFolder);
|
||||
_logger.Warn("Temporary location '{0}' has less than 1 GB free space, Readarr may not be able to update itself.", tempFolder);
|
||||
}
|
||||
|
||||
var packageDestination = Path.Combine(updateSandboxFolder, updatePackage.FileName);
|
||||
|
||||
@@ -7,7 +7,7 @@ using Readarr.Api.V1.Author;
|
||||
namespace NzbDrone.Integration.Test.ApiTests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class AuthorEditorFixture : IntegrationTest
|
||||
{
|
||||
private void GivenExistingAuthor()
|
||||
|
||||
@@ -7,7 +7,7 @@ using NUnit.Framework;
|
||||
namespace NzbDrone.Integration.Test.ApiTests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class AuthorFixture : IntegrationTest
|
||||
{
|
||||
[Test]
|
||||
|
||||
@@ -4,7 +4,7 @@ using NUnit.Framework;
|
||||
namespace NzbDrone.Integration.Test.ApiTests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class AuthorLookupFixture : IntegrationTest
|
||||
{
|
||||
[TestCase("Robert Harris", "Robert Harris")]
|
||||
|
||||
@@ -6,7 +6,7 @@ using Readarr.Api.V1.Blocklist;
|
||||
namespace NzbDrone.Integration.Test.ApiTests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class BlocklistFixture : IntegrationTest
|
||||
{
|
||||
private AuthorResource _author;
|
||||
|
||||
@@ -9,7 +9,7 @@ using Readarr.Api.V1.Books;
|
||||
namespace NzbDrone.Integration.Test.ApiTests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class CalendarFixture : IntegrationTest
|
||||
{
|
||||
public ClientBase<BookResource> Calendar;
|
||||
|
||||
@@ -8,7 +8,7 @@ using Readarr.Api.V1.RootFolders;
|
||||
namespace NzbDrone.Integration.Test.ApiTests.WantedTests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class CutoffUnmetFixture : IntegrationTest
|
||||
{
|
||||
[SetUp]
|
||||
|
||||
@@ -7,7 +7,7 @@ using Readarr.Api.V1.RootFolders;
|
||||
namespace NzbDrone.Integration.Test.ApiTests.WantedTests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-01-31 00:00:00Z")]
|
||||
[Ignore("Waiting for metadata to be back again", Until = "2024-03-15 00:00:00Z")]
|
||||
public class MissingFixture : IntegrationTest
|
||||
{
|
||||
[SetUp]
|
||||
|
||||
@@ -8968,6 +8968,11 @@
|
||||
"ratings": {
|
||||
"$ref": "#/components/schemas/Ratings"
|
||||
},
|
||||
"lastSearchTime": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"nullable": true
|
||||
},
|
||||
"cleanTitle": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Authentication;
|
||||
using NzbDrone.Core.Configuration;
|
||||
|
||||
@@ -46,7 +47,17 @@ namespace Readarr.Http.Authentication
|
||||
|
||||
await HttpContext.SignInAsync(AuthenticationType.Forms.ToString(), new ClaimsPrincipal(new ClaimsIdentity(claims, "Cookies", "user", "identifier")), authProperties);
|
||||
|
||||
return Redirect(_configFileProvider.UrlBase + "/");
|
||||
if (returnUrl.IsNullOrWhiteSpace())
|
||||
{
|
||||
return Redirect(_configFileProvider.UrlBase + "/");
|
||||
}
|
||||
|
||||
if (_configFileProvider.UrlBase.IsNullOrWhiteSpace() || returnUrl.StartsWith(_configFileProvider.UrlBase))
|
||||
{
|
||||
return Redirect(returnUrl);
|
||||
}
|
||||
|
||||
return Redirect(_configFileProvider.UrlBase + returnUrl);
|
||||
}
|
||||
|
||||
[HttpGet("logout")]
|
||||
|
||||
Reference in New Issue
Block a user