1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-03-05 13:20:20 -05:00

Compare commits

...

12 Commits

Author SHA1 Message Date
Mark McDowall
fae24e98fb Don't send session information to Sentry
Closes #7518
2024-12-28 02:12:33 +01:00
Harry Pollard
c885fb81f9 Fixed: Searching by title not using all titles 2024-12-26 11:40:35 -08:00
Bogdan
514c04935f Fixed: Advanced settings for Metadata consumers 2024-12-26 11:39:59 -08:00
Weblate
4b14368736 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: 1 <1228553526@qq.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Tommy Au <smarttommyau@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: marapavelka <mara.pavelka@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ar/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_TW/
Translation: Servarr/Sonarr
2024-12-26 11:39:50 -08:00
Mark McDowall
1c30ecd66d Fixed: Series updated during Import List Sync not reflected in the UI
Closes #7511
2024-12-22 21:59:12 -08:00
Bogdan
f7b54f9d6b Fixed: Prevent exception for seed configuration provider with invalid indexer ID 2024-12-22 21:59:05 -08:00
Weblate
ce7d8a175e Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Tommy Au <smarttommyau@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/zh_TW/
Translation: Servarr/Sonarr
2024-12-22 21:58:44 -08:00
Bogdan
ab49268bac Bump NLog, IPAddressRange, Polly, ImageSharp, Npgsql, System.Memory, Ical.Net and Lib.Harmony 2024-12-20 16:15:58 -08:00
Bogdan
608f67a074 Bump MailKit to 4.8.0 and Microsoft.Data.SqlClient to 2.1.7 2024-12-20 16:15:58 -08:00
Mark McDowall
9a69222c9a Fixed: Prevent exception when grabbing unparsable release
Closes #7494
2024-12-20 16:15:48 -08:00
Weblate
82c526e15c Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/sonarr/tr/
Translation: Servarr/Sonarr
2024-12-20 16:13:47 -08:00
Stevie Robinson
983b079c82 Fix: Adding a new root folder from edit series modal
Closes #7497
2024-12-20 16:13:30 -08:00
28 changed files with 285 additions and 147 deletions

View File

@@ -134,7 +134,7 @@ function RootFolderSelectInput({
const handleNewRootFolderSelect = useCallback(
({ value: newValue }: InputChanged<string>) => {
setNewRootFolderPath(newValue);
dispatch(addRootFolder(newValue));
dispatch(addRootFolder({ path: newValue }));
},
[setNewRootFolderPath, dispatch]
);

View File

@@ -1,5 +1,6 @@
import React, { useCallback } from 'react';
import { useDispatch } from 'react-redux';
import { useDispatch, useSelector } from 'react-redux';
import AppState from 'App/State/AppState';
import Modal from 'Components/Modal/Modal';
import { sizes } from 'Helpers/Props';
import { clearPendingChanges } from 'Store/Actions/baseActions';
@@ -7,7 +8,8 @@ import EditMetadataModalContent, {
EditMetadataModalContentProps,
} from './EditMetadataModalContent';
interface EditMetadataModalProps extends EditMetadataModalContentProps {
interface EditMetadataModalProps
extends Omit<EditMetadataModalContentProps, 'advancedSettings'> {
isOpen: boolean;
}
@@ -18,6 +20,10 @@ function EditMetadataModal({
}: EditMetadataModalProps) {
const dispatch = useDispatch();
const advancedSettings = useSelector(
(state: AppState) => state.settings.advancedSettings
);
const handleModalClose = useCallback(() => {
dispatch(clearPendingChanges({ section: 'metadata' }));
onModalClose();
@@ -27,6 +33,7 @@ function EditMetadataModal({
<Modal size={sizes.MEDIUM} isOpen={isOpen} onModalClose={handleModalClose}>
<EditMetadataModalContent
{...otherProps}
advancedSettings={advancedSettings}
onModalClose={handleModalClose}
/>
</Modal>

View File

@@ -95,7 +95,6 @@ function Metadata({ id, name, enable, fields }: MetadataProps) {
) : null}
<EditMetadataModal
advancedSettings={false}
id={id}
isOpen={isEditMetadataModalOpen}
onModalClose={handleModalClose}

View File

@@ -110,7 +110,7 @@ namespace NzbDrone.Common.Instrumentation.Sentry
o.Environment = BuildInfo.Branch;
// Crash free run statistics (sends a ping for healthy and for crashes sessions)
o.AutoSessionTracking = true;
o.AutoSessionTracking = false;
// Caches files in the event device is offline
// Sentry creates a 'sentry' sub directory, no need to concat here

View File

@@ -5,14 +5,14 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
<PackageReference Include="IPAddressRange" Version="6.0.0" />
<PackageReference Include="IPAddressRange" Version="6.1.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.3.2" />
<PackageReference Include="NLog.Layouts.ClefJsonLayout" Version="1.0.0" />
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="NLog.Layouts.ClefJsonLayout" Version="1.0.2" />
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.11" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.15" />
<PackageReference Include="Sentry" Version="4.0.2" />
<PackageReference Include="SharpZipLib" Version="1.4.2" />
<PackageReference Include="System.Text.Json" Version="6.0.10" />

View File

@@ -22,7 +22,7 @@ namespace NzbDrone.Core.Test.IndexerTests
var result = Subject.GetSeedConfiguration(new RemoteEpisode
{
Release = new ReleaseInfo()
Release = new ReleaseInfo
{
DownloadProtocol = DownloadProtocol.Torrent,
IndexerId = 0
@@ -32,6 +32,29 @@ namespace NzbDrone.Core.Test.IndexerTests
result.Should().BeNull();
}
[Test]
public void should_not_return_config_for_invalid_indexer()
{
Mocker.GetMock<ICachedIndexerSettingsProvider>()
.Setup(v => v.GetSettings(It.IsAny<int>()))
.Returns<CachedIndexerSettings>(null);
var result = Subject.GetSeedConfiguration(new RemoteEpisode
{
Release = new ReleaseInfo
{
DownloadProtocol = DownloadProtocol.Torrent,
IndexerId = 1
},
ParsedEpisodeInfo = new ParsedEpisodeInfo
{
FullSeason = true
}
});
result.Should().BeNull();
}
[Test]
public void should_return_season_time_for_season_packs()
{
@@ -48,7 +71,7 @@ namespace NzbDrone.Core.Test.IndexerTests
var result = Subject.GetSeedConfiguration(new RemoteEpisode
{
Release = new ReleaseInfo()
Release = new ReleaseInfo
{
DownloadProtocol = DownloadProtocol.Torrent,
IndexerId = 1

View File

@@ -94,6 +94,11 @@ namespace NzbDrone.Core.DataAugmentation.Scene
public SceneMapping FindSceneMapping(string seriesTitle, string releaseTitle, int sceneSeasonNumber)
{
if (seriesTitle.IsNullOrWhiteSpace())
{
return null;
}
var mappings = FindMappings(seriesTitle, releaseTitle);
if (mappings == null)

View File

@@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using NLog;
using NzbDrone.Common.Cache;
using NzbDrone.Common.Instrumentation;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.ThingiProvider.Events;
@@ -12,8 +14,10 @@ public interface ICachedIndexerSettingsProvider
CachedIndexerSettings GetSettings(int indexerId);
}
public class CachedIndexerSettingsProvider : ICachedIndexerSettingsProvider, IHandle<ProviderUpdatedEvent<IIndexer>>
public class CachedIndexerSettingsProvider : ICachedIndexerSettingsProvider, IHandle<ProviderUpdatedEvent<IIndexer>>, IHandle<ProviderDeletedEvent<IIndexer>>
{
private static readonly Logger Logger = NzbDroneLogger.GetLogger(typeof(CachedIndexerSettingsProvider));
private readonly IIndexerFactory _indexerFactory;
private readonly ICached<CachedIndexerSettings> _cache;
@@ -35,11 +39,12 @@ public class CachedIndexerSettingsProvider : ICachedIndexerSettingsProvider, IHa
private CachedIndexerSettings FetchIndexerSettings(int indexerId)
{
var indexer = _indexerFactory.Get(indexerId);
var indexerSettings = indexer.Settings as IIndexerSettings;
var indexer = _indexerFactory.Find(indexerId);
if (indexerSettings == null)
if (indexer?.Settings is not IIndexerSettings indexerSettings)
{
Logger.Trace("Could not load settings for indexer ID: {0}", indexerId);
return null;
}
@@ -60,6 +65,11 @@ public class CachedIndexerSettingsProvider : ICachedIndexerSettingsProvider, IHa
{
_cache.Clear();
}
public void Handle(ProviderDeletedEvent<IIndexer> message)
{
_cache.Clear();
}
}
public class CachedIndexerSettings

View File

@@ -454,7 +454,7 @@ namespace NzbDrone.Core.Indexers.Newznab
searchCriteria,
$"&season={NewznabifySeasonNumber(searchCriteria.SeasonNumber)}");
var queryTitles = TextSearchEngine == "raw" ? searchCriteria.SceneTitles : searchCriteria.CleanSceneTitles;
var queryTitles = TextSearchEngine == "raw" ? searchCriteria.AllSceneTitles : searchCriteria.CleanSceneTitles;
foreach (var queryTitle in queryTitles)
{
@@ -582,7 +582,7 @@ namespace NzbDrone.Core.Indexers.Newznab
}
else if (SupportsTvQuerySearch)
{
var queryTitles = TvTextSearchEngine == "raw" ? searchCriteria.SceneTitles : searchCriteria.CleanSceneTitles;
var queryTitles = TvTextSearchEngine == "raw" ? searchCriteria.AllSceneTitles : searchCriteria.CleanSceneTitles;
foreach (var queryTitle in queryTitles)
{
chain.Add(GetPagedRequests(MaxPages,

View File

@@ -7,19 +7,19 @@
"AnalyseVideoFiles": "Analyzovat video soubory",
"AnalyseVideoFilesHelpText": "Extrahujte ze souborů informace o videu, jako je rozlišení, doba běhu a informace o kodeku. To vyžaduje, aby {appName} četl části souboru, což může způsobit vysokou aktivitu disku nebo sítě během skenování.",
"ApplicationURL": "URL aplikace",
"ApplicationUrlHelpText": "Externí adresa URL této aplikace včetně http(s)://, portu a základní adresy URL",
"ApplicationUrlHelpText": "Externí adresa URL této aplikace včetně http(s)://, portu a základu URL",
"AuthenticationMethodHelpText": "Vyžadovat uživatelské jméno a heslo pro přístup k {appName}u",
"AuthenticationRequired": "Vyžadované ověření",
"AuthenticationRequiredHelpText": "Změnit, pro které požadavky je vyžadováno ověření. Pokud nerozumíte rizikům, neměňte je.",
"AuthenticationRequiredWarning": "Aby se zabránilo vzdálenému přístupu bez ověření, vyžaduje nyní {appName} povolení ověření. Ověřování z místních adres můžete volitelně zakázat.",
"AuthenticationRequired": "Vyžadováno ověření",
"AuthenticationRequiredHelpText": "Změnit, pro které požadavky je vyžadováno ověření. Neměňte, pokud nerozumíte rizikům.",
"AuthenticationRequiredWarning": "Aby se zabránilo vzdálenému přístupu bez ověření, vyžaduje nyní {appName}, aby bylo povoleno ověřování. Volitelně můžete zakázat ověřování z místních adres.",
"AutoRedownloadFailedHelpText": "Automatické vyhledání a pokus o stažení jiného vydání",
"AutoTaggingLoadError": "Nepodařilo se načíst automatické značky",
"AutomaticAdd": "Přidat automaticky",
"BackupIntervalHelpText": "Interval mezi automatickými zálohami",
"BackupRetentionHelpText": "Automatické zálohy starší než doba uchovávání budou automaticky vyčištěny",
"BackupsLoadError": "Nelze načíst zálohy",
"BranchUpdate": "Větev, která se použije k aktualizaci {appName}u",
"BranchUpdateMechanism": "Větev používaná externím aktualizačním mechanismem",
"BranchUpdate": "Větev použi k aktualizaci {appName}u",
"BranchUpdateMechanism": "Větev použitá externím aktualizačním mechanismem",
"BrowserReloadRequired": "Vyžaduje se opětovné načtení prohlížeče",
"BuiltIn": "Vestavěný",
"BypassDelayIfHighestQualityHelpText": "Obejít zpoždění, když má vydání nejvyšší povolenou kvalitu v profilu kvality s preferovaným protokolem",
@@ -58,12 +58,12 @@
"Automatic": "Automatický",
"AutoTaggingNegateHelpText": "Pokud je zaškrtnuto, pravidlo automatického označování se nepoužije, pokud odpovídá této podmínce {implementationName}.",
"BindAddress": "Vázat adresu",
"BindAddressHelpText": "Platná IP adresa, localhost nebo '*' pro všechna rozhraní",
"BindAddressHelpText": "Platná IP adresa, localhost nebo * pro všechna rozhraní",
"BlocklistLoadError": "Nelze načíst černou listinu",
"BypassDelayIfHighestQuality": "Obejít v případě nejvyšší kvality",
"BypassDelayIfAboveCustomFormatScoreHelpText": "Povolit obcházení, pokud má vydání vyšší skóre, než je nakonfigurované minimální skóre vlastního formátu",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Minimální skóre vlastního formátu",
"CertificateValidation": "Ověření certifikátu",
"CertificateValidation": "Ověřování certifikátu",
"CalendarLoadError": "Nelze načíst kalendář",
"CertificateValidationHelpText": "Změňte přísnost ověřování certifikátů HTTPS. Neměňte, pokud nerozumíte rizikům.",
"ChownGroupHelpText": "Název skupiny nebo gid. Použijte gid pro vzdálené systémy souborů.",
@@ -86,19 +86,19 @@
"AbsoluteEpisodeNumbers": "Úplné číslo dílu(ů)",
"AddRootFolder": "Přidat kořenový adresář",
"Backups": "Zálohy",
"Clear": "Vyčistit",
"BeforeUpdate": "Před zálohováním",
"Clear": "Vymazat",
"BeforeUpdate": "Před aktualizací",
"CloneAutoTag": "Klonovat automatické značky",
"Conditions": "Podmínky",
"CancelPendingTask": "Opravdu chcete zrušit tento nevyřízený úkol?",
"CancelPendingTask": "Opravdu chcete zrušit tento úkol čekající na vyřízení?",
"Apply": "Použít",
"AddingTag": "Přidání značky",
"ApplyTags": "Použít značky",
"AddingTag": "Přidáštítku",
"ApplyTags": "Použít štítky",
"AutoAdd": "Přidat automaticky",
"Cancel": "Zrušit",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Jak použít značky na vybrané klienty pro stahování",
"ApplyTagsHelpTextHowToApplyImportLists": "Jak použít značky na vybrané seznamy k importu",
"ApplyTagsHelpTextHowToApplyIndexers": "Jak použít značky na vybrané indexery",
"ApplyTagsHelpTextHowToApplyIndexers": "Jak použít štítky na vybrané indexery",
"AudioInfo": "Audio informace",
"Age": "Stáří",
"AudioLanguages": "Jazyky zvuku",
@@ -114,22 +114,22 @@
"AllResultsAreHiddenByTheAppliedFilter": "Všechny výsledky jsou schovány použitým filtrem",
"AddANewPath": "Přidat novou cestu",
"AddCustomFormatError": "Nebylo možné přidat nový vlastní formát, prosím zkuste to později.",
"AddDownloadClientImplementation": "Přidat klienta pro stahování - {implementationName}",
"AddDownloadClientImplementation": "Přidat klienta pro stahování {implementationName}",
"AddImportListExclusionError": "Nebylo možné přidat nové importované položky, prosím zkuste to později.",
"ApplyTagsHelpTextRemove": "Odebrat: Odebrat zadané značky",
"ApplyTagsHelpTextAdd": "Přidat: Přidá značky k již existujícímu seznamu",
"ApplyTagsHelpTextReplace": "Nahradit: Nahradit značky zadanými značkami (prázdné pole vymaže všechny značky)",
"ApplyTagsHelpTextRemove": "Odebrat: Odebrat zadané štítky",
"ApplyTagsHelpTextAdd": "Přidat: Přidat štítky do existujícího seznamu štítků",
"ApplyTagsHelpTextReplace": "Nahradit: Nahradit štítky zadanými štítky (prázdné pole vymaže všechny štítky)",
"Backup": "Záloha",
"Activity": "Aktivita",
"Blocklist": "Blocklist",
"AddNew": "Přidat nové",
"About": "O aplikaci",
"Actions": "Akce",
"AptUpdater": "K instalaci aktualizace použijte apt",
"BackupNow": "Ihned zálohovat",
"AptUpdater": "K instalaci aktualizace používat apt",
"BackupNow": "Zálohovat nyní",
"AppDataDirectory": "Adresář AppData",
"ApplyTagsHelpTextHowToApplySeries": "Jak použít značky na vybrané seriály",
"BackupFolderHelpText": "Relativní cesty se budou nacházet v adresáři AppData systému {appName}",
"BackupFolderHelpText": "Relativní cesty budou v adresáři AppData {appName}u",
"BlocklistReleases": "Blocklist pro vydání",
"Agenda": "Agenda",
"AnEpisodeIsDownloading": "Epizoda se stahuje",
@@ -150,7 +150,7 @@
"ClickToChangeSeries": "Kliknutím změníte seriál",
"AddNotificationError": "Nebylo možné přidat nové oznámení, prosím zkuste to později.",
"AddConditionImplementation": "Přidat podmínku - {implementationName}",
"AddConnectionImplementation": "Přidat spojení - {implementationName}",
"AddConnectionImplementation": "Přidat spojení {implementationName}",
"AddCustomFilter": "Přidat vlastní filtr",
"AddDownloadClient": "Přidat klienta pro stahování",
"AddDelayProfile": "Přidat profil zpoždění",
@@ -159,7 +159,7 @@
"AddImportListExclusion": "Přidat výjimku ze seznamu k importu",
"AddImportList": "Přidat importované položky",
"AddImportListImplementation": "Přidat seznam k importu - {implementationName}",
"AddIndexerImplementation": "Přidat indexer - {implementationName}",
"AddIndexerImplementation": "Přidat indexer {implementationName}",
"AddQualityProfileError": "Nebylo možné přidat nový profil kvality, prosím zkuste to později.",
"AddToDownloadQueue": "Přidat stahování do fronty",
"Airs": "Vysíláno",
@@ -170,7 +170,7 @@
"CalendarOptions": "Možnosti kalendáře",
"AllFiles": "Všechny soubory",
"Analytics": "Analýzy",
"AnalyticsEnabledHelpText": "Odesílání anonymních informací o používání a chybách na servery společnosti {appName}. To zahrnuje informace o vašem prohlížeči, o tom, které stránky webového rozhraní {appName} používáte, hlášení chyb a také informace o verzi operačního systému a běhového prostředí. Tyto informace použijeme k určení priorit funkcí a oprav chyb.",
"AnalyticsEnabledHelpText": "Odesílejte anonymní informace o použití a chybách na servery {appName}u. To zahrnuje informace o vašem prohlížeči, které stránky webového rozhraní {appName}u používáte, hlášení chyb a také verzi operačního systému a běhového prostředí. Tyto informace použijeme k určení priorit funkcí a oprav chyb.",
"Anime": "Anime",
"AnimeEpisodeFormat": "Formát epizod pro Anime",
"AnimeEpisodeTypeDescription": "Epizody vydané s použitím absolutního čísla epizody",
@@ -182,7 +182,7 @@
"ChooseImportMode": "Vyberte mód importu",
"ClickToChangeEpisode": "Kliknutím změníte epizodu",
"ClickToChangeLanguage": "Kliknutím změníte jazyk",
"AutomaticSearch": "Vyhledat automaticky",
"AutomaticSearch": "Automatické vyhledávání",
"AutomaticUpdatesDisabledDocker": "Automatické aktualizace nejsou při použití aktualizačního mechanismu Docker přímo podporovány. Obraz kontejneru je nutné aktualizovat mimo {appName} nebo použít skript",
"Branch": "Větev",
"BypassDelayIfAboveCustomFormatScore": "Obejít, pokud je vyšší než skóre vlastního formátu",
@@ -202,9 +202,9 @@
"CloneProfile": "Klonovat profil",
"CollapseMultipleEpisodes": "Sbalení více epizod",
"CollapseMultipleEpisodesHelpText": "Sbalení více epizod vysílaných ve stejný den",
"ConnectionLost": "Spojení ztraceno",
"ConnectionLost": "Ztráta spojení",
"ConnectionLostReconnect": "{appName} se pokusí připojit automaticky, nebo můžete kliknout na tlačítko znovunačtení níže.",
"ConnectionLostToBackend": "{appName} ztratil spojení s backendem a pro obnovení funkčnosti bude třebaho znovu načíst.",
"ConnectionLostToBackend": "{appName} ztratil spojení s backendem a pro obnovení funkčnosti bude potřeba ho znovu načíst.",
"Continuing": "Pokračující",
"CountSeasons": "{count} Řad",
"CustomFormat": "Vlastní formát",
@@ -229,7 +229,7 @@
"CurrentlyInstalled": "Aktuálně nainstalováno",
"CountImportListsSelected": "{count} vybraných seznamů pro import",
"CustomFormatScore": "Skóre vlastního formátu",
"CountDownloadClientsSelected": "{count} vybraných klientů ke stahování",
"CountDownloadClientsSelected": "{count} vybraných klientů pro stahování",
"CouldNotFindResults": "Nepodařilo se najít žádné výsledky pro '{term}'",
"CustomFormatsSettings": "Nastavení vlastních formátů",
"CopyToClipboard": "Zkopírovat do schránky",
@@ -266,7 +266,7 @@
"Dash": "Pomlčka",
"Database": "Databáze",
"Date": "Datum",
"Dates": "Termíny",
"Dates": "Data",
"DefaultCase": "Výchozí případ",
"DailyEpisodeTypeFormat": "Datum ({format})",
"Default": "Výchozí",
@@ -303,10 +303,10 @@
"FormatAgeHour": "hodina",
"FormatAgeHours": "hodin",
"AuthenticationMethod": "Metoda ověřování",
"AuthenticationMethodHelpTextWarning": "Prosím vyberte platnou metodu ověřování",
"AuthenticationRequiredPasswordHelpTextWarning": "Vložte nové heslo",
"AuthenticationMethodHelpTextWarning": "Vyberte platnou metodu ověřování",
"AuthenticationRequiredPasswordHelpTextWarning": "Zadejte nové heslo",
"EditSelectedIndexers": "Upravit vybrané indexery",
"AuthenticationRequiredUsernameHelpTextWarning": "Vložte nové uživatelské jméno",
"AuthenticationRequiredUsernameHelpTextWarning": "Zadejte nové uživatelské jméno",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Potvrďte nové heslo",
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Automaticky vyhledat a pokusit se o stažení jiného vydání, pokud bylo neúspěšné vydání zachyceno z interaktivního vyhledávání",
"AutoRedownloadFailed": "Opětovné stažení se nezdařilo",
@@ -322,7 +322,7 @@
"ConnectionSettingsUrlBaseHelpText": "Přidá předponu do {connectionName} url, jako např. {url}",
"CustomFormatsSpecificationRegularExpressionHelpText": "Vlastní formát RegEx nerozlišuje velká a malá písmena",
"CustomFormatsSpecificationFlag": "Vlajka",
"BlackholeFolderHelpText": "Složka do které {appName} uloží {extension} soubor",
"BlackholeFolderHelpText": "Složka, do které {appName} uloží soubor {extension}",
"BlackholeWatchFolder": "Složka sledování",
"Category": "Kategorie",
"BlocklistAndSearch": "Seznam blokovaných a vyhledávání",
@@ -330,5 +330,6 @@
"BlocklistReleaseHelpText": "Zabránit {appName} v opětovném sebrání tohoto vydání pomocí RSS nebo automatického vyhledávání",
"BlocklistMultipleOnlyHint": "Blokovat a nehledat náhradu",
"CustomFormatsSettingsTriggerInfo": "Vlastní formát se použije na vydání nebo soubor, pokud odpovídá alespoň jednomu z různých typů zvolených podmínek.",
"ChangeCategory": "Změnit kategorii"
"ChangeCategory": "Změnit kategorii",
"CustomFilter": "Vlastní filtr"
}

View File

@@ -1,14 +1,14 @@
{
"RecycleBinUnableToWriteHealthCheckMessage": "Määritettyyn roskakorikansioon ei voida tallentaa: {path}. Varmista että sijainti on olemassa ja että sovelluksen suorittavalla käyttäjällä on siihen kirjoitusoikeus.",
"RecycleBinUnableToWriteHealthCheckMessage": "Roskakoriksi määritettyyn sijaintiin ei voida tallentaa: {path}. Varmista, että se on olemassa ja että {appName}in suorittavalla käyttäjällä on kirjoitusoikeus kansioon.",
"RemotePathMappingDownloadPermissionsEpisodeHealthCheckMessage": "{appName} näkee ladatun jakson \"{path}\", mutta ei voi avata sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
"Added": "Lisäysaika",
"AppDataLocationHealthCheckMessage": "Päivityksiä ei sallita, jotta AppData-kansion poistaminen päivityksen yhteydessä voidaan estää",
"DownloadClientSortingHealthCheckMessage": "Lataustyökalun \"{downloadClientName}\" {sortingMode} on kytketty käyttöön {appName}in kategorialle ja tuontiongelmien välttämiseksi se tulisi poistaa käytöstä.",
"IndexerRssNoIndexersEnabledHealthCheckMessage": "RSS-synkronointia varten ei ole määritetty tietolähteitä ja tämän vuoksi {appName} ei kaappaa uusia julkaisuja automaattisesti.",
"IndexerSearchNoInteractiveHealthCheckMessage": "Manuaalihaulle ei ole määritetty tietolähteitä, eikä se sen vuoksi löydä tuloksia.",
"IndexerSearchNoInteractiveHealthCheckMessage": "Manuaalihaulle ei ole määritetty tietolähteitä, eikä {appName} sen vuoksi löydä sillä tuloksia.",
"RemotePathMappingFilesGenericPermissionsHealthCheckMessage": "Lataustyökalu \"{downloadClientName}\" ilmoitti tiedostosijainniksi \"{path}\", mutta {appName} ei näe sitä. Kansion käyttöoikeuksia on ehkä muokattava.",
"RemotePathMappingFolderPermissionsHealthCheckMessage": "{appName} näkee ladatauskansion \"{downloadPath}\", mutta ei voi avata sitä. Tämä johtuu todennäköisesti liian rajallisista käyttöoikeuksista.",
"RemotePathMappingImportEpisodeFailedHealthCheckMessage": "Jaksojen tuonti epäonnistui. Katso tarkemmat tiedot lokista.",
"RemotePathMappingImportEpisodeFailedHealthCheckMessage": "{appName} ei voinut tuoda jaksoja. Katso tarkemmat tiedot lokista.",
"RemotePathMappingGenericPermissionsHealthCheckMessage": "Lataustyökalu \"{downloadClientName}\" tallentaa lataukset kohteeseen \"{path}\", mutta {appName} ei näe sitä. Kansion käyttöoikeuksia on ehkä muokattava.",
"IndexerSearchNoAutomaticHealthCheckMessage": "Automaattihakua varten ei ole määritetty tietolähteitä ja tämän vuoksi {appName}in automaattihaku ei löydä tuloksia.",
"AgeWhenGrabbed": "Ikä (kaappaushetkellä)",
@@ -46,7 +46,7 @@
"AutomaticUpdatesDisabledDocker": "Automaattisia päivityksiä ei tueta suoraan käytettäessä Dockerin päivitysmekanismia. Docker-säiliö on päivitettävä {appName}in ulkopuolella tai päivitys on suoritettava komentosarjalla.",
"AddListExclusionSeriesHelpText": "Estä {appName}ia lisäämästä sarjaa listoilta.",
"AppUpdated": "{appName} on päivitetty",
"AuthenticationMethodHelpText": "Vaadi {appName}in käyttöön käyttäjätunnus ja salasana",
"AuthenticationMethodHelpText": "Vaadi {appName}in käyttöön käyttäjätunnus ja salasana.",
"ConnectionLostToBackend": "{appName} kadotti yhteyden taustajärjestelmään ja se on käynnistettävä uudelleen.",
"DeleteTag": "Poista tunniste",
"AppUpdatedVersion": "{appName} on päivitetty versioon {version} ja muutosten käyttöönottamiseksi se on käynnistettävä uudelleen. ",
@@ -55,7 +55,7 @@
"EnableColorImpairedMode": "Heikentyneen värinäön tila",
"EnableAutomaticSearchHelpText": "Profiilia käytetään automaattihauille, jotka suoritetaan käyttöliittymästä tai {appName}in toimesta.",
"InvalidUILanguage": "Käytöliittymän kielivalinta on virheellinen. Korjaa se ja tallenna asetukset.",
"AuthenticationRequiredWarning": "Etäkäytön estämiseksi ilman tunnistautumista {appName} vaatii nyt todennuksen käyttöönoton. Todennus voidaan poistaa käytöstä paikallisille osoitteille.",
"AuthenticationRequiredWarning": "Etäkäytön estämiseksi ilman tunnistautumista {appName} vaatii nyt tunnistautumisen käyttöönoton. Paikallisilta osoitteilta se voidaan valinnaisesti poistaa käytöstä.",
"IndexerDownloadClientHelpText": "Määritä tämän tietolähteen kanssa käytettävä lataustyökalu.",
"ProfilesSettingsSummary": "Laatu-, kieli-, viive- ja julkaisuprofiilit.",
"ConnectionLostReconnect": "{appName} pyrkii ajoittain muodostamaan yhteyden automaattisesti tai voit painaa alta \"Lataa uudelleen\".",
@@ -132,7 +132,7 @@
"AfterManualRefresh": "Manuaalisen päivityksen jälkeen",
"AddRemotePathMappingError": "Etäsijainnin kohdistuksen lisäys epäonnistui. Yritä uudelleen.",
"ApplicationURL": "Sovelluksen URL",
"AuthBasic": "Perus (ponnahdusikkuna)",
"AuthBasic": "Perus (selaimen ponnahdus)",
"AuthForm": "Lomake (kirjautumissivu)",
"Backup": "Varmuuskopiointi",
"AutomaticSearch": "Automaattihaku",
@@ -193,7 +193,7 @@
"LibraryImportTipsQualityInEpisodeFilename": "Varmista, että tuotavien tiedostojen nimissä mainitaan laatutiedot, kuten esim. \"episode.s02e15.bluray.mkv\".",
"IndexerIPTorrentsSettingsFeedUrl": "Syötteen URL-osoite",
"IndexerSettingsAnimeStandardFormatSearch": "Animen vakiomuotohaku",
"IndexerSettingsApiPathHelpText": "Polku API:in (yleensä {url}).",
"IndexerSettingsApiPathHelpText": "Polku rajapintaan (yleensä {url}).",
"IndexerSettingsApiPath": "API:n polku",
"IndexerSettingsCategories": "Kategoriat",
"IndexerSettingsSeedRatio": "Jakosuhde",
@@ -230,7 +230,7 @@
"NoIndexersFound": "Tietolähteitä ei löytynyt",
"NamingSettingsLoadError": "Virhe ladattaessa nimeämisasetuksia",
"OnSeriesAdd": "Kun sarja lisätään",
"ParseModalHelpText": "Syötä julkaisunimike yllä olevaan kenttään.",
"ParseModalHelpText": "Syötä julkaisun nimi yllä olevaan kenttään.",
"Path": "Tiedostosijainti",
"PreviousAiring": "Edellinen esitys",
"NoIssuesWithYourConfiguration": "Kokoonpanossasi ei ole ongelmia.",
@@ -245,7 +245,7 @@
"RemoveFromBlocklist": "Poista estolistalta",
"RemoveQueueItem": "Poistetaan - {sourceTitle}",
"RemoveFromQueue": "Poista jonosta",
"RenameEpisodesHelpText": "Jos uudelleennimeäminen ei ole käytössä, käytetään nykyistä tiedostonimeä.",
"RenameEpisodesHelpText": "Jos uudelleennimeäminen ei ole käytössä, {appName} käyttää nykyistä tiedostonimeä.",
"RestoreBackup": "Palauta varmuuskopio",
"RestrictionsLoadError": "Virhe ladattaessa rajoituksia",
"SceneInfo": "Kohtaustiedot",
@@ -323,7 +323,7 @@
"SupportedIndexersMoreInfo": "Saat tietoja yksittäisistä tietolähteistä painamalla niiden ohessa olevia lisätietopainikkeita.",
"Status": "Tila",
"SupportedListsSeries": "{appName} tukee useita listoja, joilta sarjoja voidaan tuoda tietokantaan.",
"SystemTimeHealthCheckMessage": "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.",
"SystemTimeHealthCheckMessage": "Järjestelmän aika on ainakin vuorokauden pielessä, eivätkä ajoitetut tehtävät toimi oikein ennen kuin se on korjattu.",
"TagsLoadError": "Virhe ladattaessa tunnisteita",
"TagsSettingsSummary": "Täältä näet kaikki tunnisteet käyttökohteineen ja voit poistaa käyttämättömät tunnisteet.",
"Tomorrow": "Huomenna",
@@ -383,7 +383,7 @@
"ApplyTagsHelpTextReplace": "- \"Korvaa\" nykyiset tunnisteet syötetyillä tai tyhjennä kaikki tunnisteet jättämällä tyhjäksi",
"CustomFormatScore": "Mukautetun muodon pisteytys",
"SeriesMatchType": "Sarjan kohdistustyyppi",
"RemotePathMappingLocalPathHelpText": "Polku, jonka kautta etäsijaintia tulee käyttää paikallisesti.",
"RemotePathMappingLocalPathHelpText": "Sijainti, jonka kautta {appName}in tulee käyttää etäsijaintia paikallisesti.",
"SonarrTags": "{appName}in tunnisteet",
"CalendarLoadError": "Kalenterin lataus epäonnistui.",
"BeforeUpdate": "Ennen päivitystä",
@@ -414,7 +414,7 @@
"DownloadClientQbittorrentSettingsSequentialOrderHelpText": "Lataa tiedostot järjestyksessä (qBittorrent 4.1.0+).",
"DownloadClientSabnzbdValidationDevelopVersion": "Sabnzbd:n develop-versio, oletettavasti vähintään versio 3.0.0.",
"Daily": "Päivittäinen",
"CutoffUnmetNoItems": "Katkaisutasoa saavuttamattomia kohteita ei ole.",
"CutoffUnmetNoItems": "Katkaisutasoa saavuttamattomia kohteita ei ole",
"DailyEpisodeFormat": "Päivittäisjaksojen kaava",
"DelayProfileProtocol": "Protokolla: {preferredProtocol}",
"Day": "Päivä",
@@ -462,7 +462,7 @@
"ListWillRefreshEveryInterval": "Lista päivittyy {refreshInterval} välein",
"ListExclusionsLoadError": "Virhe ladattaessa listapoikkeuksia",
"ManualImportItemsLoadError": "Virhe ladattaessa manuaalisen tuonnin kohteita.",
"MediaManagementSettingsSummary": "Tiedostojen nimeämisen, hallinnan ja juurikansioiden asetukset.",
"MediaManagementSettingsSummary": "Tiedostojen nimeämis- ja hallinta-asetukset, sekä kirjaston juurikansiot.",
"Message": "Viesti",
"MetadataSettings": "Metatietoasetukset",
"MetadataLoadError": "Virhe ladattaessa metatietoja",
@@ -549,7 +549,7 @@
"ShowMonitored": "Näytä valvontatila",
"ShowEpisodeInformationHelpText": "Näytä jakson nimi ja numero.",
"ShowAdvanced": "Näytä lisäasetukset",
"ShowMonitoredHelpText": "Näytä valvonnan tila julisteen alla.",
"ShowMonitoredHelpText": "Näytä valvontatila julisteen alla.",
"ShowNetwork": "Näytä kanava/tuottaja",
"ShowPath": "Näytä tiedostosijainti",
"SkipFreeSpaceCheck": "Ohita vapaan tilan tarkastus",
@@ -600,8 +600,8 @@
"DownloadClientQbittorrentTorrentStateError": "qBittorrent ilmoittaa virheestä",
"RemotePath": "Etäsijainti",
"DownloadClientQbittorrentValidationQueueingNotEnabled": "Jonotus ei ole käytössä",
"DownloadClientValidationErrorVersion": "{clientName} version tulee olla vähintään {requiredVersion}. Ilmoitettu versio on {reportedVersion}.",
"DownloadClientVuzeValidationErrorVersion": "Protokollan versiota ei tueta. Käytä vähintään Vuze-versiota 5.0.0.0 sekä Vuze Web Remote -lisäosaa.",
"DownloadClientValidationErrorVersion": "Lataustyökalun {clientName} version tulee olla vähintään {requiredVersion}. Ilmoitettu versio on {reportedVersion}.",
"DownloadClientVuzeValidationErrorVersion": "Protokollaversiota ei tueta. Käytä vähintään Vuzen versiota 5.0.0.0 Vuze Web Remote -lisäosan kanssa.",
"DownloadStationStatusExtracting": "Puretaan: {progress} %",
"EditDelayProfile": "Muokkaa viiveprofiilia",
"EditConnectionImplementation": "Muokataan kytköstä - {implementationName}",
@@ -630,7 +630,7 @@
"CalendarFeed": "{appName}in kalenterisyöte",
"Agenda": "Agenda",
"AnEpisodeIsDownloading": "Jaksoa ladataan",
"ListOptionsLoadError": "Virhe ladattaessa tuontilista-asetuksia",
"ListOptionsLoadError": "Lista-asetuksia ei voida ladata.",
"RemoveCompleted": "Poisto on suoritettu",
"ICalShowAsAllDayEvents": "Näytä koko päivän tapahtumina",
"FailedToLoadTagsFromApi": "Tunnisteiden lataus rajapinnasta epäonnistui",
@@ -713,16 +713,16 @@
"ShowUnknownSeriesItems": "Näytä tuntemattomien sarjojen kohteet",
"TimeLeft": "Aikaa jäljellä",
"Time": "Aika",
"UpdateAvailableHealthCheckMessage": "Uusi päivitys on saatavilla",
"UpdateAvailableHealthCheckMessage": "Uusi päivitys on saatavilla: {version}",
"SupportedDownloadClientsMoreInfo": "Saat tietoja yksittäisistä lataustyökaluista painamalla niiden ohessa olevia lisätietopainikkeita.",
"SupportedDownloadClients": "Monet torrent- ja Usenet-lataajat ovat tuettuja.",
"SupportedDownloadClients": "{appName} tukee monia torrent- ja Usenet-lataajia.",
"SupportedImportListsMoreInfo": "Saat tietoja yksittäisistä tuontilistoista painamalla niiden ohessa olevia lisätietopainikkeita.",
"System": "Järjestelmä",
"TotalFileSize": "Kokonaistiedostokoko",
"UseSsl": "Käytä SSL-salausta",
"Yes": "Kyllä",
"AddNewSeries": "Lisää uusi sarja",
"MissingLoadError": "Virhe ladattaessa puuttuvia kohteita",
"MissingLoadError": "Virhe ladattaessa puuttuvia kohteita.",
"AuthenticationRequiredUsernameHelpTextWarning": "Syötä uusi käyttäjätunnus",
"BlocklistLoadError": "Virhe ladattaessa estolistaa",
"Database": "Tietokanta",
@@ -732,7 +732,7 @@
"ApplyTagsHelpTextAdd": " \"Lisää\" syötetyt tunnisteet aiempiin tunnisteisiin",
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "Käytät Dockeria ja lataustyökalu \"{downloadClientName}\" tallentaa lataukset kohteeseen \"{path}\", mutta sitä ei löydy Docker-säiliöstä. Tarkista etäsijaintien kohdistukset ja säiliön tallennusmedian asetukset.",
"TorrentBlackholeSaveMagnetFilesHelpText": "Tallenna magnet-linkki, jos .torrent-tiedostoa ei ole käytettävissä (hyödyllinen vain lataustyökalun tukiessa tiedostoon tallennettuja magnet-linkkejä).",
"IndexerPriorityHelpText": "Tietolähteen painotus, 1 50 (korkein-alin). Oletusarvo on 25. Käytetään muutoin tasaveroisten julkaisujen kaappauspäätökseen. Kaikkia käytössä olevia tietolähteitä käytetään edelleen RSS-synkronointiin ja hakuun.",
"IndexerPriorityHelpText": "Tietolähteen painotus, 1 50 (korkein-alin). Oletusarvo on 25. Käytetään muutoin tasaveroisten julkaisujen kaappauspäätökseen. {appName} käyttää edelleen kaikkia käytössä olevia tietolähteitä RSS-synkronointiin ja hakuun.",
"SeriesAndEpisodeInformationIsProvidedByTheTVDB": "Sarjojen ja jaksojen tiedot tarjoaa TheTVDB.com. [Harkitse palvelun tukemista]({url})",
"DownloadClientQbittorrentValidationRemovesAtRatioLimitDetail": "{appName} ei voi suorittaa valmistuneiden latausten hallintaa määritetyllä tavalla. Voit korjata tämän vaihtamalla qBittorentin asetusten \"BitTorrent\"-osion \"Jakosuhderajoitukset\"-osion toiminnoksi pysäytyksen poiston sijaan.",
"FullColorEventsHelpText": "Vaihtoehtoinen tyyli, jossa koko tapahtuma väritetään tilavärillä pelkän vasemman laidan sijaan. Ei vaikuta agendan esitykseen.",
@@ -814,7 +814,7 @@
"AnimeEpisodeTypeFormat": "Absoluuttinen jaksonumerointi ({format})",
"AnimeEpisodeTypeDescription": "Jaksot julkaistaan absoluuttisella numeroinnilla.",
"CalendarLegendEpisodeDownloadedTooltip": "Jakso on ladattu ja lajiteltu",
"BranchUpdate": "{appName}in versiopäivityksiin käytettävä kehityshaara",
"BranchUpdate": "{appName}in versiopäivityksiin käytettävä kehityshaara.",
"CollapseMultipleEpisodesHelpText": "Tiivistä useat samana päivänä esitettävät jaksot.",
"CalendarLegendSeriesFinaleTooltip": "Sarjan tai kauden päätösjakso",
"CalendarLegendSeriesPremiereTooltip": "Sarjan tai kauden pilottijakso",
@@ -832,8 +832,8 @@
"CutoffUnmetLoadError": "Virhe ladattaessa katkaisutasoa saavuttamattomia kohteita",
"CountSeriesSelected": "{count} sarjaa on valittu",
"CopyUsingHardlinksSeriesHelpText": "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.",
"CutoffUnmet": "Katkaisutasoa ei savutettu",
"CurrentlyInstalled": "Nykyinen asennettu versio",
"CutoffUnmet": "Katkaisutasoa ei saavutettu",
"CurrentlyInstalled": "Tällä hetkellä asennettu versio",
"DeleteSelectedDownloadClientsMessageText": "Haluatko varmasti poistaa {count} valit(n/tua) lataustyökalu(n/a)?",
"DeleteDownloadClientMessageText": "Haluatko varmasti poistaa lataustyökalun \"{name}\"?",
"DeleteSelectedDownloadClients": "Poista lataustyökalu(t)",
@@ -857,7 +857,7 @@
"DeletedReasonEpisodeMissingFromDisk": "{appName} ei löytänyt tiedostoa levyltä, joten sen kytkös tietokonnassa olevaan jaksoon purettiin.",
"Details": "Tiedot",
"DownloadClient": "Lataustyökalu",
"DisabledForLocalAddresses": "Ei käytössä paikallisille osoitteille",
"DisabledForLocalAddresses": "Ei käytössä paikallisissa osoitteissa",
"DownloadClientDelugeValidationLabelPluginFailure": "Label-tunnisteen määritys epäonnistui.",
"DownloadClientDelugeValidationLabelPluginInactiveDetail": "Kategorioiden käyttö edellyttää, että {clientName}n Label-tunnistelisäosa on käytössä.",
"DownloadClientFloodSettingsAdditionalTagsHelpText": "Lisää median ominaisuuksia tunnisteina. Vihjeet ovat esimerkkejä.",
@@ -917,17 +917,17 @@
"LibraryImport": "Kirjastoon tuonti",
"Logout": "Kirjaudu ulos",
"IndexerSettings": "Tietolähdeasetukset",
"IncludeHealthWarnings": "Sisällytä terveysvaroitukset",
"IncludeHealthWarnings": "Sisällytä kuntovaroitukset",
"ListsLoadError": "Virhe ladattaessa listoja",
"IndexerValidationUnableToConnect": "Tietolähdettä ei tavoiteta: {exceptionMessage}. Etsi tietoja tämän virheen lähellä olevista lokimerkinnöistä.",
"MetadataSettingsSeriesSummary": "Luo metatietotiedostot kun jaksoja tuodaan tai sarjojen tietoja päivitetään.",
"MassSearchCancelWarning": "Tätä ei ole mahdollista pysäyttää kuin käynnistämällä {appName}ia uudelleen tai poistamalla kaikki tietolähteet käytöstä.",
"MassSearchCancelWarning": "Tämä on mahdollista keskeyttää vain käynnistämällä {appName} uudelleen tai poistamalla kaikki tietolähteet käytöstä.",
"MetadataSourceSettingsSeriesSummary": "Tietoja siitä, mistä {appName} saa sarjojen ja jaksojen tiedot.",
"NoHistory": "Historiaa ei ole",
"MustContainHelpText": "Julkaisun on sisällettävä ainakin yksi näistä termeistä (kirjainkoolla ei ole merkitystä).",
"NoEpisodesFoundForSelectedSeason": "Valitulle tuotantokaudelle ei löytynyt jaksoja.",
"MonitorFutureEpisodesDescription": "Valvo jaksoja, joita ei ole vielä esitetty.",
"MissingNoItems": "Puuttuvia kohteita ei ole.",
"MissingNoItems": "Puuttuvia kohteita ei ole",
"Mode": "Tila",
"NextExecution": "Seuraava suoritus",
"PreviewRename": "Nimeämisen esikatselu",
@@ -1004,7 +1004,7 @@
"RemoveSelected": "Poista valitut",
"RemoveSelectedBlocklistMessageText": "Haluatko varmasti poistaa valitut kohteet estolistalta?",
"RemoveSelectedItemsQueueMessageText": "Haluatko varmasti poistaa jonosta {selectedCount} kohdetta?",
"ReplaceIllegalCharactersHelpText": "Korvaa laittomat merkit vaihtoehtoisella merkinnällä. Jos ei valittu, ne poistetaan.",
"ReplaceIllegalCharactersHelpText": "Korvaa laittomat merkit vaihtoehtoisella merkinnällä. Jos ei valittu, {appName} poistaa ne.",
"ResetQualityDefinitions": "Palauta laatumääritykset",
"RestartRequiredToApplyChanges": "{appName} on käynnistettävä uudelleen muutosten käyttöönottamiseksi. Haluatko tehdä sen nyt?",
"SearchForAllMissingEpisodes": "Etsi kaikkia puuttuvia jaksoja",
@@ -1016,7 +1016,7 @@
"Year": "Vuosi",
"WeekColumnHeader": "Viikkosarakkeen otsikko",
"UpdateStartupNotWritableHealthCheckMessage": "Päivitystä ei voida asentaa, koska käyttäjällä \"{userName}\" ei ole kirjoitusoikeutta käynnistyskansioon \"{startupFolder}\".",
"UpgradeUntilEpisodeHelpText": "Kun tämä laatutaso saavutetaan, {appName} ei enää lataa jakoja.",
"UpgradeUntilEpisodeHelpText": "Kun tämä laatutaso on saavutettu, ei {appName} enää kaappaa jaksoja.",
"No": "Ei",
"CustomFilters": "Omat suodattimet",
"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.",
@@ -1043,7 +1043,7 @@
"CertificateValidationHelpText": "Määritä HTTPS-varmennevahvistuksen tiukkuus. Älä muta, jos et ymmärrä riskejä.",
"Certification": "Varmennus",
"ChangeFileDate": "Muuta tiedoston päiväys",
"DelayingDownloadUntil": "Lataus on siirretty alkamaan {date} klo {time}.",
"DelayingDownloadUntil": "Lataus on lykätty alkamaan {date} klo {time}",
"DeleteImportListExclusion": "Poista tuontilistapoikkeus",
"Enabled": "Käytössä",
"Age": "Ikä",
@@ -1171,7 +1171,7 @@
"DownloadPropersAndRepacks": "Proper- ja repack-julkaisut",
"DownloadPropersAndRepacksHelpText": "Määrittää päivitetäänkö tiedostot automaattisesti Proper- ja Repack-julkaisuihin (kunnollinen/uudelleenpaketoitu).",
"SingleEpisode": "Yksittäinen jakso",
"SmartReplaceHint": "Yhdysmerkki tai välilyönti nimen perusteella",
"SmartReplaceHint": "\"Yhdysmerkki\" tai \"Välilyönti Yhdysmerkki\" nimen perusteella.",
"FormatAgeHour": "tunti",
"FormatAgeMinute": "minuutti",
"InteractiveImportNoSeries": "Jokaisen valitun tiedoston sarja on määritettävä.",
@@ -1193,7 +1193,7 @@
"AddListExclusion": "Lisää listapoikkeus",
"AddedDate": "Lisätty: {date}",
"Anime": "Anime",
"Any": "Mikä vain",
"Any": "Mikä tahansa",
"ClickToChangeSeason": "Vaihda tuotantokautta painamalla tästä",
"CountSelectedFile": "{selectedCount} tiedosto on valittu",
"SingleEpisodeInvalidFormat": "Yksittäinen jakso: virheellinen kaava",
@@ -1217,7 +1217,7 @@
"DelayProfiles": "Viiveprofiilit",
"DeleteRemotePathMappingMessageText": "Haluatko varmasti poistaa tämän etäsijainnin kohdistuksen?",
"Deleted": "Poistettu",
"DeletedReasonManual": "Tiedosto poistettiin käyttöliittymän kautta",
"DeletedReasonManual": "Tiedosto poistettiin {appName}illa, joko manuaalisesti tai rajapinnan välityksellä jonkin muun työkalun pyynnöstä.",
"DestinationPath": "Kohdesijainti",
"DestinationRelativePath": "Kohde suhteessa polkuun",
"Disabled": "Ei käytössä",
@@ -1262,12 +1262,12 @@
"BypassProxyForLocalAddresses": "Ohjaa paikalliset osoitteet välityspalvelimen ohi",
"DeleteSelectedEpisodeFilesHelpText": "Haluatko varmasti poistaa valitut jaksotiedostot?",
"ReplaceWithDash": "Korvaa yhdysmerkillä",
"ConnectSettingsSummary": "Ilmoitukset, kuten viestintä mediapalvelimille ja soittimille, sekä omat komentosarjat.",
"ConnectSettingsSummary": "Ilmoitukset, yhteydet mediapalvelimiin ja soittimiin, sekä mukautetut komentosarjat.",
"DockerUpdater": "Hanki päivitys päivittämällä Docker-säiliö",
"DownloadClientQbittorrentValidationCategoryRecommended": "Kategorian määritys on suositeltavaa",
"NoEpisodeInformation": "Jaksotietoja ei ole saatavilla.",
"ManualGrab": "Manuaalinen kaappaus",
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Valinnainen jaettu kansio latauksille. Jätä tyhjäksi käyttääksesi Download Stationin oletussijaintia.",
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Vaihtoehtoinen jaettu kansio latauksille. Käytä Download Stationin oletussijaintia jättämällä tyhjäksi.",
"DownloadClientDownloadStationValidationNoDefaultDestinationDetail": "Sinun on kirjauduttava Diskstationillesi tunnuksella {username} ja määritettävä se manuaalisesti Download Stationin \"BT/HTTP/FTP/NZB > Location\" -asetuksiin.",
"NoEpisodeOverview": "Jaksolle ei ole kuvausta.",
"Table": "Taulukko",
@@ -1428,7 +1428,7 @@
"Retention": "Säilytys",
"ShortDateFormat": "Lyhyen päiväyksen esitys",
"Unknown": "Tuntematon",
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "Tietolähteet eivät ole käytettävissä yli 6 tuntia kestäneiden virheiden vuoksi",
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "Mikään tietolähde ei ole käytettävissä yli 6 tuntia kestäneiden virheiden vuoksi.",
"OrganizeSelectedSeriesModalAlert": "Vinkki: Esikatsellaksesi nimeämistä, paina \"Peruuta\" ja valitse jokin sarjanimike ja paina tätä kuvaketta:",
"Socks5": "SOCKS5 (TOR-tuki)",
"EditMetadata": "Muokkaa metatietoa {metadataType}",
@@ -1492,7 +1492,7 @@
"Rejections": "Hylkäykset",
"NoImportListsFound": "Tuotilistoja ei löytynyt",
"OnManualInteractionRequired": "Kun tarvitaan manuaalisia toimenpiteitä",
"RetryingDownloadOn": "Latausta yritetään uudelleen {date} klo {time}.",
"RetryingDownloadOn": "Yritetään latausta uudelleen {date} klo {time}",
"BlocklistAndSearch": "Estolista ja haku",
"BlocklistAndSearchHint": "Etsi korvaavaa kohdetta kun kohde lisätään estolistalle.",
"BlocklistOnlyHint": "Lisää estolistalle etsimättä korvaavaa kohdetta.",
@@ -1517,7 +1517,7 @@
"NotificationsJoinSettingsDeviceIds": "Laite-ID:t",
"NotificationsJoinSettingsApiKeyHelpText": "Join-tilisi asetuksista löytyvä rajapinnan (API) avain (paina Join API -painiketta).",
"NotificationsJoinSettingsDeviceNames": "Laitenimet",
"NotificationsKodiSettingsUpdateLibraryHelpText": "Määrittää päivitetäänkö Kodin kirjasto tuonnin tai uudelleennimeämisen yhteydessä.",
"NotificationsKodiSettingsUpdateLibraryHelpText": "Määrittää päivitetäänkö Kodin kirjasto tuonnin ja uudelleennimeämisen yhteydessä.",
"NotificationsMailgunSettingsApiKeyHelpText": "MailGunissa luotu rajapinnan (API) avain.",
"NotificationsMailgunSettingsUseEuEndpoint": "Käytä EU-päätepistettä",
"NotificationsNtfySettingsAccessToken": "Käyttötunniste",
@@ -1584,7 +1584,7 @@
"NotificationsPushcutSettingsTimeSensitiveHelpText": "Merkitsee ilmoituksen kiireelliseksi (\"Time Sensitive\").",
"NotificationsPushcutSettingsNotificationNameHelpText": "Ilmoituksen nimi Pushcut-sovelluksen ilmoitusvälilehdeltä.",
"NotificationsPushoverSettingsSound": "Ääni",
"NotificationsSettingsUpdateMapPathsFromSeriesHelpText": "{appName}-sijainti, jonka mukaisesti sarjasijainteja muutetaan kun {serviceName} näkee kirjastosijainnin eri tavalla kuin {appName} (vaatii \"Päivitä kirjasto\" -asetuksen).",
"NotificationsSettingsUpdateMapPathsFromSeriesHelpText": "{appName}-sijainti, jonka perusteella sarjojen sijainteja muutetaan kun {serviceName} näke kirjastosijainti poikkeaa {appName}in sijainnista (vaatii \"Päivitä kirjasto\" -asetuksen).",
"NotificationsPushoverSettingsExpire": "Erääntyminen",
"NotificationsSendGridSettingsApiKeyHelpText": "SendGridin luoma rajapinnan (API) avain.",
"NotificationsSimplepushSettingsEventHelpText": "Mukauta push-ilmoitusten toimintaa.",
@@ -1603,7 +1603,7 @@
"Or": "tai",
"UpdateFiltered": "Päivitä suodatetut",
"DownloadClientPriorityHelpText": "Lautaustyökalujen painotus, 1 50 (korkein-alin). Oletusarvo on 1 ja tasaveroiset erotetaan Round-Robin-tekniikalla.",
"NotificationsEmbySettingsSendNotificationsHelpText": "Ohjeista palvelinta välittämään ilmoitukset sen määritettyihin kohteisiin.",
"NotificationsEmbySettingsSendNotificationsHelpText": "Ohjeista Embyä lähettämään ilmoitukset sen määritettyihin kohteisiin. Ei toimi Jellyfinin kanssa.",
"NotificationsEmbySettingsSendNotifications": "Lähetä ilmoitukset",
"NotificationsDiscordSettingsOnGrabFields": "Kaappausilmoitusten tietueet",
"NotificationsGotifySettingsAppTokenHelpText": "Gotifyn luoma sovellustunniste.",
@@ -1614,7 +1614,7 @@
"NotificationsKodiSettingsDisplayTime": "Näytä aika",
"NotificationsSettingsWebhookUrl": "Webhook-URL-osoite",
"NotificationsSettingsUseSslHelpText": "Muodosta yhteys sovellukseen {serviceName} SSL-protokollan välityksellä.",
"NotificationsSettingsUpdateMapPathsToSeriesHelpText": "{serviceName}-sijainti, jonka mukaisesti sarjasijainteja muutetaan kun {serviceName} näkee kirjastosijainnin eri tavalla kuin {appName} (vaatii \"Päivitä kirjasto\" -asetuksen).",
"NotificationsSettingsUpdateMapPathsToSeriesHelpText": "{serviceName}-sijainti, jonka perusteella sarjojen sijainteja muutetaan kun {serviceName} näke kirjastosijainti poikkeaa {appName}in sijainnista (vaatii \"Päivitä kirjasto\" -asetuksen).",
"NotificationsSettingsUpdateMapPathsTo": "Kohdista sijainnit kohteeseen",
"NotificationsTelegramSettingsChatIdHelpText": "Vastaanottaaksesi viestejä, sinun on aloitettava keskustelu botin kanssa tai lisättävä se ryhmääsi.",
"NotificationsTraktSettingsAccessToken": "Käyttötunniste",
@@ -1622,7 +1622,7 @@
"NotificationsValidationUnableToSendTestMessage": "Testiviestin lähetys ei onnistu: {exceptionMessage}",
"NotificationsValidationUnableToSendTestMessageApiResponse": "Testiviestin lähetys ei onnistu. API vastasi: {error}",
"NotificationsEmailSettingsUseEncryption": "Käytä salausta",
"ParseModalHelpTextDetails": "{appName} pyrkii jäsentämään nimikkeen ja näyttämään sen tiedot.",
"ParseModalHelpTextDetails": "{appName} pyrkii jäsentämään nimen ja näyttämään sen tiedot.",
"ImportScriptPathHelpText": "Tuontiin käytettävän komentosarjan sijainti.",
"NotificationsTwitterSettingsConsumerKeyHelpText": "Kuluttajan avain (consumer key) X (Twitter) -sovelluksesta.",
"NotificationsEmailSettingsUseEncryptionHelpText": "Määrittää suositaanko salausta, jos se on määritetty palvelimelle, käytetäänkö aina SSL- (vain portti 465) tai StartTLS-salausta (kaikki muut portit), voi käytetäänkö salausta lainkaan.",
@@ -1721,14 +1721,14 @@
"DownloadClientSettingsOlderPriorityEpisodeHelpText": "Yli 14 päivää sitten julkaistujen jaksojen kaappauksille käytettävä painotus.",
"ImportListsTraktSettingsGenresHelpText": "Suodata sarjoja Trakt-lajityyppien slug-arvoilla (pilkuin eroteltuna). Koskee vain suosituimpia listoja.",
"ImportListsTraktSettingsWatchedListFilterHelpText": "Jos \"Listan tyyppi\" on \"Valvottu\", valitse sarjatyyppi, jonka haluat tuoda.",
"MappedNetworkDrivesWindowsService": "Yhdistetyt verkkoasemat eivät ole käytettävissä kun sovellus suoritetaan Windows-palveluna. Saat lisätietoja [UKK:sta]({url}).",
"MappedNetworkDrivesWindowsService": "Yhdistetyt verkkoasemat eivät ole käytettävissä kun sovellus suoritetaan Windows-palveluna. Saat lisätietoja UKK:sta ({url}).",
"MetadataSettingsSeriesMetadata": "Sarjojen metatiedot",
"MetadataSettingsSeriesMetadataUrl": "Sarjojen metatietojen URL",
"MetadataSettingsSeriesMetadataEpisodeGuide": "Sarjojen metatietojen jakso-opas",
"SomeResultsAreHiddenByTheAppliedFilter": "Aktiivinen suodatin piilottaa joitakin tuloksia.",
"ChangeCategoryHint": "Vaihtaa latauksen kategoriaksi lataustyökalun \"Tuonnin jälkeinen kategoria\" -asetuksen kategorian.",
"ChangeCategoryMultipleHint": "Vaihtaa latausten kategoriaksi lataustyökalun \"Tuonnin jälkeinen kategoria\" -asetuksen kategorian.",
"DownloadClientAriaSettingsDirectoryHelpText": "Valinnainen latuasten tallennussijainti. Käytä Aria2-oletusta jättämällä tyhjäksi.",
"DownloadClientAriaSettingsDirectoryHelpText": "Vaihtoehtoinen latausten tallennussijainti. Käytä Aria2:n oletusta jättämällä tyhjäksi.",
"DownloadClientQbittorrentValidationQueueingNotEnabledDetail": "Torrentien jonotus ei ole käytössä qBittorent-asetuksissasi. Ota se käyttöön tai valitse painotukseksi \"Viimeiseksi\".",
"DownloadClientSettingsCategorySubFolderHelpText": "Luomalla {appName}ille oman kategorian, erottuvat sen lataukset muiden lähteiden latauksista. Kategorian määritys on valinnaista, mutta erittäin suositeltavaa. Tämä luo latauskansioon [kategoria]-alikansion.",
"ListQualityProfileHelpText": "Laatuprofiili, joka listalta lisätyille kohteille asetetaan.",
@@ -1784,7 +1784,7 @@
"DownloadClientValidationTestNzbs": "NZB-listausten nouto epäonnistui: {exceptionMessage}.",
"DownloadClientValidationUnableToConnect": "Lataustyökalua {clientName} ei tavoitettu",
"DownloadClientNzbgetValidationKeepHistoryZero": "NzbGetin \"KeepHistory\"-asetuksen tulee olla suurempi kuin 0.",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Vaihtoehtoinen latauskansio. Käytä Transmissionin oletusta jättämällä tyhjäksi.",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Vaihtoehtoinen latausten tallennussijainti. Käytä Transmissionin oletusta jättämällä tyhjäksi.",
"AddDelayProfileError": "Virhe lisättäessä viiveporofiilia. Yritä uudelleen.",
"DownloadClientPneumaticSettingsStrmFolderHelpText": "Tämän kansion .strm-tiedostot tuodaan droonilla.",
"DownloadClientSabnzbdValidationEnableDisableDateSorting": "Älä järjestele päiväyksellä",
@@ -1805,6 +1805,32 @@
"CustomFormatsSpecificationFlag": "Lippu",
"SelectIndexerFlags": "Valitse tietolähteen liput",
"SetIndexerFlagsModalTitle": "{modalTitle} - Aseta tietolähteen liput",
"CustomFilter": "Oma suodatin",
"Label": "Nimi"
"CustomFilter": "Mukautettu suodatin",
"Label": "Nimi",
"ShowTagsHelpText": "Näytä tunnisteet julisteen alla.",
"UpgradeUntilCustomFormatScoreEpisodeHelpText": "Kun tämä mukautetun muodon pisteytys on saavutettu, ei {appName} enää kaappaa jaksoja.",
"IndexerFlags": "Tietolähteen liput",
"AutoTaggingSpecificationTag": "Tunniste",
"ImportListsSimklSettingsUserListTypeCompleted": "Katseltu",
"UrlBaseHelpText": "Käänteisen välityspalvelimen tukea varten. Oletusarvo on tyhjä.",
"IndexerSettingsMultiLanguageRelease": "Useat kielet",
"ReleaseProfileIndexerHelpTextWarning": "Jos julkaisuprofiilille määritetään tietty tietolähde, koskee se vain kyseisen tietolähteen julkaisuja.",
"ConnectionSettingsUrlBaseHelpText": "Lisää palvelimen {connectionName} URL-osoitteeseen etuliite, kuten \"{url}\".",
"Script": "Skripti",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Vaihtoehtoinen sijainti, johon valmistuneet lataukset siirretään. Käytä Delugen oletusta jättämällä tyhjäksi.",
"DownloadClientDelugeSettingsDirectoryHelpText": "Vaihtoehtoinen latausten tallennussijainti. Käytä Delugen oletusta jättämällä tyhjäksi.",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Vaihtoehtoinen latausten tallennussijainti. Käytä rTorrentin oletusta jättämällä tyhjäksi.",
"DeleteSelected": "Poista valitut",
"NotificationsPlexSettingsServer": "Palvelin",
"Completed": "Katseltu",
"DeleteSelectedImportListExclusionsMessageText": "Haluatko varmasti poistaa valitut tuontilistapoikkeukset?",
"PublishedDate": "Julkaisupäivä",
"DeleteSelectedCustomFormatsMessageText": "Haluatko varmasti poistaa valitut {count} mukautettua muotoa?",
"DownloadClientValidationGroupMissingDetail": "Syötettyä ryhmää ei ole lautaustyökalussa {clientName}. Luo se sinne ensin.",
"ImportListsAniListSettingsImportCancelled": "Tuonti peruttiin",
"ImportListsAniListSettingsImportCancelledHelpText": "Media: sarja on lopetettu",
"FolderNameTokens": "Kansionimimuuttujat",
"Delay": "Viive",
"DeleteSelectedCustomFormats": "Poista mukautetut muodot",
"DownloadClientUnavailable": "Lataustyökalu ei ole käytettävissä"
}

View File

@@ -250,7 +250,7 @@
"AutoRedownloadFailed": "Download fallito",
"AddDelayProfileError": "Impossibile aggiungere un nuovo profilo di ritardo, riprova.",
"Cutoff": "Taglio",
"AddListExclusion": "Aggiungi Lista esclusioni",
"AddListExclusion": "Aggiungi elenco esclusioni",
"DownloadClientValidationApiKeyRequired": "API Key Richiesta",
"Donate": "Dona",
"DownloadClientDownloadStationValidationNoDefaultDestination": "Nessuna destinazione predefinita",

View File

@@ -209,5 +209,7 @@
"CloneIndexer": "Clonează Indexer",
"CloneProfile": "Clonează Profil",
"DownloadClientUnavailable": "Client de descărcare indisponibil",
"Clone": "Clonează"
"Clone": "Clonează",
"DownloadClientSettingsOlderPriority": "Prioritate mai vechi",
"DownloadClientSettingsRecentPriority": "Prioritate recente"
}

View File

@@ -129,9 +129,9 @@
"CloneCondition": "Klon Durumu",
"CountIndexersSelected": "{count} dizinleyici seçildi",
"CustomFormatsSpecificationRegularExpressionHelpText": "Özel Format RegEx Büyük/Küçük Harfe Duyarsızdır",
"AutoRedownloadFailed": "Yeniden İndirme Başarısız",
"AutoRedownloadFailedFromInteractiveSearch": "Etkileşimli Aramadan Yeniden İndirme Başarısız Oldu",
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Başarısız indirmeler, etkileşimli aramada bulunduğunda otomatik olarak farklı bir versiyonu arayın ve indirmeyi deneyin",
"AutoRedownloadFailed": "Başarısız İndirmeleri Yenile",
"AutoRedownloadFailedFromInteractiveSearch": "Etkileşimli Arama'dan Başarısız İndirmeleri Yenile",
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Etkileşimli aramadan başarısız bir sürüm alındığında otomatik olarak farklı bir sürümü arayın ve indirmeye çalışın",
"ApplyTagsHelpTextReplace": "Değiştir: Etiketleri girilen etiketlerle değiştirin (tüm etiketleri kaldırmak için etiket girmeyin)",
"AuthenticationMethod": "Kimlik Doğrulama Yöntemi",
"AuthenticationRequired": "Kimlik Doğrulama",
@@ -227,8 +227,8 @@
"DownloadClientFreeboxSettingsApiUrl": "API URL'si",
"DownloadClientFreeboxSettingsAppId": "Uygulama kimliği",
"DownloadClientFreeboxNotLoggedIn": "Giriş yapmadınız",
"DownloadClientFreeboxSettingsAppToken": "Uygulama Jetonu",
"DownloadClientFreeboxSettingsAppTokenHelpText": "Freebox API'sine erişim oluşturulurken alınan uygulama jetonu (ör. 'app_token')",
"DownloadClientFreeboxSettingsAppToken": "Uygulama Token'ı",
"DownloadClientFreeboxSettingsAppTokenHelpText": "Freebox API'sine erişim oluşturulurken alınan uygulama token'ı (ör. 'app_token')",
"Apply": "Uygula",
"DownloadClientFreeboxAuthenticationError": "Freebox API'sinde kimlik doğrulama başarısız oldu. Sebep: {errorDescription}",
"DownloadClientFreeboxSettingsAppIdHelpText": "Freebox API'sine erişim oluşturulurken verilen uygulama kimliği (ör. 'app_id')",
@@ -263,7 +263,7 @@
"DownloadClientSettingsAddPaused": "Duraklatılana Ekle",
"DownloadClientSettingsDestinationHelpText": "İndirme hedefini manuel olarak belirtir, varsayılanı kullanmak için boş bırakın",
"DownloadClientSettingsInitialState": "Başlangıç Durumu",
"DownloadClientSettingsPostImportCategoryHelpText": "{appName}'in indirmeyi içe aktardıktan sonra ayarlayacağı kategori. {appName}, tohumlama tamamlansa bile bu kategorideki torrentleri kaldırmaz. Aynı kategoriyi korumak için boş bırakın.",
"DownloadClientSettingsPostImportCategoryHelpText": "{appName}'in indirmeyi içe aktardıktan sonra ayarlayacağı kategori. {appName}, seed tamamlanmış olsa bile bu kategorideki torrentleri kaldırmayacaktır. Aynı kategoriyi korumak için boş bırakın.",
"DownloadClientSettingsUseSslHelpText": "{clientName} ile bağlantı kurulurken güvenli bağlantıyı kullan",
"DownloadClientSettingsUrlBaseHelpText": "{clientName} URL'sine {url} gibi bir önek ekler",
"DownloadClientValidationApiKeyRequired": "API Anahtarı Gerekli",
@@ -337,7 +337,7 @@
"Imported": "İçe aktarıldı",
"NotificationsAppriseSettingsTagsHelpText": "İsteğe bağlı olarak yalnızca uygun şekilde etiketlenenleri bilgilendirin.",
"NotificationsDiscordSettingsAvatar": "Avatar",
"NotificationsGotifySettingsAppTokenHelpText": "Gotify tarafından oluşturulan Uygulama Jetonu",
"NotificationsGotifySettingsAppTokenHelpText": "Gotify tarafından oluşturulan Uygulama Token'ı",
"ImportScriptPath": "Komut Dosyası Yolunu İçe Aktar",
"History": "Geçmiş",
"EditSelectedImportLists": "Seçilen İçe Aktarma Listelerini Düzenle",
@@ -373,8 +373,8 @@
"NotificationsKodiSettingsDisplayTimeHelpText": "Bildirimin ne kadar süreyle görüntüleneceği (Saniye cinsinden)",
"NotificationsMailgunSettingsUseEuEndpoint": "AB Uç Noktasını Kullan",
"NotificationsMailgunSettingsSenderDomain": "Gönderen Alanı",
"NotificationsNtfySettingsAccessToken": "Erişim Jetonu",
"NotificationsNtfySettingsAccessTokenHelpText": "İsteğe bağlı jeton tabanlı yetkilendirme. Kullanıcı adı/şifreye göre önceliklidir",
"NotificationsNtfySettingsAccessToken": "Erişim Token'ı",
"NotificationsNtfySettingsAccessTokenHelpText": "İsteğe bağlı token tabanlı yetkilendirme. Kullanıcı adı/şifreye göre önceliklidir",
"NotificationsNtfySettingsPasswordHelpText": "İsteğe bağlı şifre",
"NotificationsNtfySettingsTagsEmojisHelpText": "Kullanılacak etiketlerin veya emojilerin isteğe bağlı listesi",
"NotificationsNtfySettingsTopics": "Konular",
@@ -480,7 +480,7 @@
"NotificationsEmailSettingsCcAddress": "CC Adres(ler)i",
"NotificationsEmailSettingsRecipientAddress": "Alıcı Adres(ler)i",
"NotificationsEmbySettingsUpdateLibraryHelpText": "İçe Aktarma, Yeniden Adlandırma veya Silme sırasında Kitaplığı Güncelleyin",
"NotificationsGotifySettingsAppToken": "Uygulama Jetonu",
"NotificationsGotifySettingsAppToken": "Uygulama Token'ı",
"NotificationsJoinSettingsDeviceIds": "Cihaz Kimlikleri",
"NotificationsJoinSettingsNotificationPriority": "Bildirim Önceliği",
"Test": "Test Et",
@@ -508,7 +508,7 @@
"DeleteRemotePathMapping": "Uzak Yol Eşlemeyi Sil",
"LastDuration": "Yürütme Süresi",
"NotificationsSettingsUpdateMapPathsToSeriesHelpText": "{serviceName}, kitaplık yolu konumunu {appName}'den farklı gördüğünde seri yollarını değiştirmek için kullanılan {serviceName} yolu ('Kütüphaneyi Güncelle' gerektirir)",
"NotificationsPlexSettingsAuthToken": "Kimlik Doğrulama Jetonu",
"NotificationsPlexSettingsAuthToken": "Kimlik Doğrulama Token'ı",
"NotificationsSignalSettingsGroupIdPhoneNumberHelpText": "Alıcının Grup Kimliği / Telefon Numarası",
"NotificationsSignalSettingsUsernameHelpText": "Signal-api'ye yönelik istekleri doğrulamak için kullanılan kullanıcı adı",
"NotificationsTraktSettingsAuthenticateWithTrakt": "Trakt ile kimlik doğrulama",
@@ -564,7 +564,7 @@
"NotificationsNtfyValidationAuthorizationRequired": "Yetkilendirme gerekli",
"NotificationsPushBulletSettingSenderId": "Gönderen ID",
"NotificationsPushBulletSettingsChannelTags": "Kanal Etiketleri",
"NotificationsPushBulletSettingsAccessToken": "Erişim Jetonu",
"NotificationsPushBulletSettingsAccessToken": "Erişim Token'ı",
"NotificationsPushBulletSettingsChannelTagsHelpText": "Bildirimlerin gönderileceği Kanal Etiketleri Listesi",
"NotificationsPushBulletSettingsDeviceIdsHelpText": "Cihaz kimliklerinin listesi (tüm cihazlara göndermek için boş bırakın)",
"NotificationsPushcutSettingsNotificationName": "Bildirim Adı",
@@ -583,14 +583,14 @@
"NotificationsSlackSettingsIcon": "Simge",
"NotificationsSlackSettingsIconHelpText": "Slack'e gönderilen mesajlar için kullanılan simgeyi değiştirin (Emoji veya URL)",
"NotificationsSynologyValidationInvalidOs": "Bir Synology olmalı",
"NotificationsTelegramSettingsBotToken": "Bot Jetonu",
"NotificationsTelegramSettingsBotToken": "Bot Token'ı",
"NotificationsTelegramSettingsChatIdHelpText": "Mesaj almak için botla bir konuşma başlatmanız veya onu grubunuza eklemeniz gerekir",
"NotificationsTelegramSettingsTopicId": "Konu Kimliği",
"NotificationsTraktSettingsAuthUser": "Yetkilendirilmiş Kullanıcı",
"NotificationsTwitterSettingsConsumerKey": "Kullanıcı anahtarı",
"NotificationsTwitterSettingsConnectToTwitter": "Twitter / X'e bağlanın",
"NotificationsValidationInvalidAccessToken": "Erişim Jetonu geçersiz",
"NotificationsValidationInvalidAuthenticationToken": "Kimlik Doğrulama Jetonu geçersiz",
"NotificationsValidationInvalidAccessToken": "Erişim Token'ı geçersiz",
"NotificationsValidationInvalidAuthenticationToken": "Kimlik Doğrulama Token'ı geçersiz",
"OverrideAndAddToDownloadQueue": "Geçersiz kıl ve indirme kuyruğuna ekle",
"Parse": "Ayrıştır",
"PackageVersion": "Paket Versiyonu",
@@ -605,8 +605,8 @@
"StopSelecting": "Düzenlemeden Çık",
"TableOptionsButton": "Tablo Seçenekleri Butonu",
"TheLogLevelDefault": "Log seviyesi varsayılan olarak 'Bilgi' şeklindedir ve [Genel Ayarlar](/ayarlar/genel) bölümünden değiştirilebilir",
"NotificationsTwitterSettingsAccessToken": "Erişim Jetonu",
"AutoRedownloadFailedHelpText": "Otomatik olarak farklı bir Yayın arayın ve indirmeye çalışın",
"NotificationsTwitterSettingsAccessToken": "Erişim Token'ı",
"AutoRedownloadFailedHelpText": "Farklı bir sürümü otomatik olarak ara ve indirmeyi dene",
"Queue": "Kuyruk",
"RemoveFromQueue": "Kuyruktan kaldır",
"TorrentDelayTime": "Torrent Gecikmesi: {torrentDelay}",
@@ -706,7 +706,7 @@
"QueueIsEmpty": "Kuyruk boş",
"ReleaseProfileIndexerHelpTextWarning": "Bir sürüm profilinde belirli bir dizinleyicinin ayarlanması, bu profilin yalnızca söz konusu dizinleyicinin yayınlarına uygulanmasına neden olur.",
"ResetDefinitionTitlesHelpText": "Değerlerin yanı sıra tanım başlıklarını da sıfırlayın",
"SecretToken": "Gizlilik Jetonu",
"SecretToken": "Gizlilik Token'ı",
"SetReleaseGroupModalTitle": "{modalTitle} - Yayımlama Grubunu Ayarla",
"SslPort": "SSL Bağlantı Noktası",
"True": "Aktif",
@@ -723,7 +723,7 @@
"ReleaseProfileIndexerHelpText": "Profilin hangi dizinleyiciye uygulanacağını belirtin",
"TablePageSize": "Sayfa Boyutu",
"NotificationsSynologyValidationTestFailed": "Synology veya synoındex mevcut değil",
"NotificationsTwitterSettingsAccessTokenSecret": "Erişim Jetonu Gizliliği",
"NotificationsTwitterSettingsAccessTokenSecret": "Erişim Token Gizliliği",
"NotificationsSimplepushSettingsKey": "Anahtar",
"NotificationsPushBulletSettingsDeviceIds": "Cihaz Kimlikleri",
"NotificationsSendGridSettingsApiKeyHelpText": "SendGrid tarafından oluşturulan API Anahtar",
@@ -756,9 +756,9 @@
"TorrentBlackholeSaveMagnetFilesReadOnlyHelpText": "Bu, dosyaları taşımak yerine {appName}'e Kopyalama veya Sabit Bağlantı kurma talimatını verecektir (ayarlara/sistem yapılandırmasına bağlı olarak)",
"Interval": "Periyot",
"NotificationsTelegramSettingsSendSilentlyHelpText": "Mesajı sessizce gönderir. Kullanıcılar sessiz bir bildirim alacak",
"NotificationsTraktSettingsAccessToken": "Erişim Jetonu",
"NotificationsTraktSettingsAccessToken": "Erişim Token'ı",
"NotificationsTraktSettingsExpires": "Süresi doluyor",
"NotificationsTraktSettingsRefreshToken": "Jetonu Yenile",
"NotificationsTraktSettingsRefreshToken": "Token'ı Yenile",
"NotificationsTwitterSettingsConsumerKeyHelpText": "Twitter uygulamasından kullanıcı anahtarı",
"NotificationsTelegramSettingsChatId": "Sohbet Kimliği",
"NotificationsTwitterSettingsConsumerSecret": "Kullanıcı Gizliliği",
@@ -992,7 +992,7 @@
"MetadataSettings": "Meta Veri Ayarları",
"Negated": "Reddedildi",
"FileManagement": "Dosya Yönetimi",
"FirstDayOfWeek": "Haftanın ilk günü",
"FirstDayOfWeek": "Haftanın İlk Günü",
"Fixed": "Düzeltilen",
"InstallLatest": "En Sonu Yükle",
"RemotePathMappings": "Uzak Yol Eşlemeleri",
@@ -1269,7 +1269,7 @@
"DeleteSelectedCustomFormats": "Özel Formatı Sil",
"DeleteSelectedCustomFormatsMessageText": "Seçilen {count} içe aktarma listesini silmek istediğinizden emin misiniz?",
"DeleteSelectedImportListExclusionsMessageText": "Bu içe aktarma listesi hariç tutma işlemini silmek istediğinizden emin misiniz?",
"DestinationRelativePath": "Hedef Göreli Yol",
"DestinationRelativePath": "Hedef Göreceli Yol",
"DiskSpace": "Disk Alanı",
"DoNotUpgradeAutomatically": "Otomatik Olarak Yükseltme",
"Donations": "Bağış",
@@ -1464,8 +1464,8 @@
"Settings": "Ayarlar",
"ShowAdvanced": "Gelişmiş'i Göster",
"ShowQualityProfileHelpText": "Poster altında kalite profilini göster",
"ShowRelativeDates": "Göreli Tarihleri Göster",
"ShowRelativeDatesHelpText": "Göreli (Bugün / Dün / vb.) Veya mutlak tarihleri göster",
"ShowRelativeDates": "İlgili Tarihleri Göster",
"ShowRelativeDatesHelpText": "Göreceli (Bugün/Dün/vb.) veya mutlak tarihleri göster",
"ShowSearch": "Aramayı Göster",
"ShowSearchHelpText": "Fareyle üzerine gelindiğinde arama düğmesini göster",
"ShowTitle": "Başlığı göster",
@@ -1477,10 +1477,10 @@
"Socks5": "Socks5 (TOR Desteği)",
"Source": "Kaynak",
"SourcePath": "Kaynak Yolu",
"SourceRelativePath": "Kaynak Göreli Yol",
"SourceRelativePath": "Kaynak Göreceli Yol",
"SourceTitle": "Kaynak başlığı",
"StartProcessing": "İşlemeye Başla",
"Style": "Tarz",
"Style": "Stil",
"Sunday": "Pazar",
"SupportedDownloadClients": "{appName}, Newznab standardını kullanan herhangi bir indirme istemcisinin yanı sıra aşağıda listelenen diğer indirme istemcilerini de destekler.",
"SupportedDownloadClientsMoreInfo": "Bireysel indirme istemcileri hakkında daha fazla bilgi için bilgi düğmelerine tıklayın.",

View File

@@ -18,7 +18,7 @@
"AddListExclusion": "新增排除清單",
"Add": "新增",
"About": "關於",
"Actions": "執行",
"Actions": "動作",
"AddAutoTagError": "無法加入新的自動標籤,請重新嘗試。",
"AddAutoTag": "新增自動標籤",
"AddCondition": "新增條件",
@@ -36,5 +36,36 @@
"AddCustomFilter": "新增自定義過濾器",
"UnselectAll": "取消全選",
"Any": "任何",
"UpdateAvailableHealthCheckMessage": "可用的新版本: {version}"
"UpdateAvailableHealthCheckMessage": "可用的新版本: {version}",
"AutoRedownloadFailed": "失敗時重新下載",
"AutoRedownloadFailedFromInteractiveSearch": "失敗時重新下載來自手動搜索的資源",
"AuthenticationRequired": "需要驗證",
"AppDataDirectory": "AppData 路徑",
"AuthenticationMethod": "驗證方式",
"AuthenticationRequiredHelpText": "更改需要進行驗證的請求。除非你了解其中的風險,否則請勿修改。",
"AuthenticationRequiredPasswordHelpTextWarning": "請輸入新密碼",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "確認新密碼",
"AuthenticationMethodHelpTextWarning": "請選擇一個有效的驗證方式",
"AuthenticationRequiredUsernameHelpTextWarning": "請輸入新用戶名",
"AudioLanguages": "音頻語言",
"Activity": "‎活動‎",
"AddNewRestriction": "加入新的限制",
"AuthenticationRequiredWarning": "為防止未經認證的遠程訪問,{appName} 現需要啟用身份認證。您可以選擇禁用本地地址的身份認證。",
"AddRemotePathMappingError": "無法加入新的遠程路徑對應,請重試。",
"AnalyseVideoFilesHelpText": "從文件中提取影像資訊,如解析度、運行環境和編解碼器資訊。這需要 {appName} 在掃描期間讀取文件並可能導致高磁盤或網絡佔用。",
"AddDelayProfileError": "無法加入新的延遲配置,請重新嘗試。",
"AddImportListExclusionError": "無法加入新的導入列表排除,請重試。",
"AddIndexerError": "無法加入新的索引器,請重試。",
"AddList": "加入清單",
"AddListError": "無法加入新的清單,請重試。",
"AddANewPath": "新增新的路徑",
"AddCustomFormat": "加入自訂格式",
"AddCustomFormatError": "無法加入自訂格式,請重試。",
"AddDownloadClient": "加入下載用戶端",
"AddDownloadClientError": "無法加入下載用戶端,請重試。",
"AddExclusion": "加入排除",
"AbsoluteEpisodeNumbers": "絕對集數",
"AbsoluteEpisodeNumber": "絕對集數",
"AddListExclusionError": "無法加入新的清單排除,請重試。",
"AddNew": "加入新的"
}

View File

@@ -836,6 +836,11 @@ namespace NzbDrone.Core.Parser
public static string CleanSeriesTitle(this string title)
{
if (title.IsNullOrWhiteSpace())
{
return title;
}
// If Title only contains numbers return it as is.
if (long.TryParse(title, out _))
{

View File

@@ -6,12 +6,13 @@
<PackageReference Include="Dapper" Version="2.0.123" />
<PackageReference Include="Diacritical.Net" Version="1.0.4" />
<PackageReference Include="Equ" Version="2.3.0" />
<PackageReference Include="MailKit" Version="3.6.0" />
<PackageReference Include="MailKit" Version="4.8.0" />
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="6.0.21" />
<PackageReference Include="Polly" Version="8.3.1" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="2.1.7" />
<PackageReference Include="Polly" Version="8.5.0" />
<PackageReference Include="Servarr.FFMpegCore" Version="4.7.0-26" />
<PackageReference Include="Servarr.FFprobe" Version="5.1.4.112" />
<PackageReference Include="System.Memory" Version="4.5.5" />
<PackageReference Include="System.Memory" Version="4.6.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
@@ -19,13 +20,13 @@
<PackageReference Include="Servarr.FluentMigrator.Runner.SQLite" Version="3.3.2.9" />
<PackageReference Include="Servarr.FluentMigrator.Runner.Postgres" Version="3.3.2.9" />
<PackageReference Include="FluentValidation" Version="9.5.4" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.5" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.6" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.3.2" />
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="MonoTorrent" Version="2.0.7" />
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />
<PackageReference Include="System.Text.Json" Version="6.0.10" />
<PackageReference Include="Npgsql" Version="7.0.7" />
<PackageReference Include="Npgsql" Version="7.0.9" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Common\Sonarr.Common.csproj" />

View File

@@ -0,0 +1,15 @@
using System.Collections.Generic;
using NzbDrone.Common.Messaging;
namespace NzbDrone.Core.Tv.Events
{
public class SeriesBulkEditedEvent : IEvent
{
public List<Series> Series { get; private set; }
public SeriesBulkEditedEvent(List<Series> series)
{
Series = series;
}
}
}

View File

@@ -251,6 +251,7 @@ namespace NzbDrone.Core.Tv
_seriesRepository.UpdateMany(series);
_logger.Debug("{0} series updated", series.Count);
_eventAggregator.PublishEvent(new SeriesBulkEditedEvent(series));
return series;
}
@@ -298,6 +299,8 @@ namespace NzbDrone.Core.Tv
return true;
}
_logger.Debug("Tags not updated for '{0}'", series.Title);
return false;
}
}

View File

@@ -5,7 +5,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Owin" Version="6.0.21" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.11" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.15" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.2" />

View File

@@ -6,7 +6,7 @@
<PackageReference Include="FluentAssertions" Version="6.10.0" />
<PackageReference Include="FluentValidation" Version="9.5.4" />
<PackageReference Include="Moq" Version="4.18.4" />
<PackageReference Include="NLog" Version="5.3.2" />
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="RestSharp" Version="106.15.0" />
</ItemGroup>

View File

@@ -6,7 +6,7 @@
<ItemGroup>
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="6.2.0" />
<PackageReference Include="NLog" Version="5.3.2" />
<PackageReference Include="NLog" Version="5.3.4" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Common\Sonarr.Common.csproj" />

View File

@@ -4,7 +4,7 @@
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NLog" Version="5.3.2" />
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="6.0.0-preview.5.21301.5" />
</ItemGroup>
<ItemGroup>

View File

@@ -127,7 +127,7 @@ namespace Sonarr.Api.V3.Indexers
if (episodes.Empty())
{
throw new NzbDroneClientException(HttpStatusCode.NotFound, "Unable to parse episodes in the release");
throw new NzbDroneClientException(HttpStatusCode.NotFound, "Unable to parse episodes in the release, will need to be manually provided");
}
remoteEpisode.Series = series;
@@ -135,7 +135,7 @@ namespace Sonarr.Api.V3.Indexers
}
else
{
throw new NzbDroneClientException(HttpStatusCode.NotFound, "Unable to find matching series and episodes");
throw new NzbDroneClientException(HttpStatusCode.NotFound, "Unable to find matching series and episodes, will need to be manually provided");
}
}
else if (remoteEpisode.Episodes.Empty())
@@ -154,7 +154,7 @@ namespace Sonarr.Api.V3.Indexers
if (remoteEpisode.Episodes.Empty())
{
throw new NzbDroneClientException(HttpStatusCode.NotFound, "Unable to parse episodes in the release");
throw new NzbDroneClientException(HttpStatusCode.NotFound, "Unable to parse episodes in the release, will need to be manually provided");
}
await _downloadService.DownloadReport(remoteEpisode, release.DownloadClientId);

View File

@@ -34,6 +34,7 @@ namespace Sonarr.Api.V3.Series
IHandle<SeriesEditedEvent>,
IHandle<SeriesDeletedEvent>,
IHandle<SeriesRenamedEvent>,
IHandle<SeriesBulkEditedEvent>,
IHandle<MediaCoversUpdatedEvent>
{
private readonly ISeriesService _seriesService;
@@ -338,6 +339,15 @@ namespace Sonarr.Api.V3.Series
BroadcastResourceChange(ModelAction.Updated, message.Series.Id);
}
[NonAction]
public void Handle(SeriesBulkEditedEvent message)
{
foreach (var series in message.Series)
{
BroadcastResourceChange(ModelAction.Updated, series.ToResource());
}
}
[NonAction]
public void Handle(MediaCoversUpdatedEvent message)
{

View File

@@ -4,8 +4,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FluentValidation" Version="9.5.4" />
<PackageReference Include="Ical.Net" Version="4.2.0" />
<PackageReference Include="NLog" Version="5.3.2" />
<PackageReference Include="Ical.Net" Version="4.3.1" />
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="6.6.2" />
</ItemGroup>
<ItemGroup>

View File

@@ -5,7 +5,7 @@
<ItemGroup>
<PackageReference Include="FluentValidation" Version="9.5.4" />
<PackageReference Include="ImpromptuInterface" Version="7.0.1" />
<PackageReference Include="NLog" Version="5.3.2" />
<PackageReference Include="NLog" Version="5.3.4" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Core\Sonarr.Core.csproj" />

View File

@@ -3,6 +3,6 @@
<TargetFrameworks>net6.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Lib.Harmony" Version="2.0.1" />
<PackageReference Include="Lib.Harmony" Version="2.3.3" />
</ItemGroup>
</Project>