mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-17 21:26:13 -04:00
Compare commits
8 Commits
v4.0.4.165
...
v4.0.4.166
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
627b2a4289 | ||
|
|
9734c2d144 | ||
|
|
c7c1e3ac9e | ||
|
|
429444d085 | ||
|
|
5cb649e9d8 | ||
|
|
cac7d239ea | ||
|
|
3940059ea3 | ||
|
|
20d00fe88c |
@@ -1,5 +0,0 @@
|
||||
.input {
|
||||
composes: input from '~Components/Form/TextInput.css';
|
||||
|
||||
font-family: $passwordFamily;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
// This file is automatically generated.
|
||||
// Please do not change this file!
|
||||
interface CssExports {
|
||||
'input': string;
|
||||
}
|
||||
export const cssExports: CssExports;
|
||||
export default cssExports;
|
||||
@@ -1,7 +1,5 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React from 'react';
|
||||
import TextInput from './TextInput';
|
||||
import styles from './PasswordInput.css';
|
||||
|
||||
// Prevent a user from copying (or cutting) the password from the input
|
||||
function onCopy(e) {
|
||||
@@ -13,17 +11,14 @@ function PasswordInput(props) {
|
||||
return (
|
||||
<TextInput
|
||||
{...props}
|
||||
type="password"
|
||||
onCopy={onCopy}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
PasswordInput.propTypes = {
|
||||
className: PropTypes.string.isRequired
|
||||
};
|
||||
|
||||
PasswordInput.defaultProps = {
|
||||
className: styles.input
|
||||
...TextInput.props
|
||||
};
|
||||
|
||||
export default PasswordInput;
|
||||
|
||||
@@ -25,14 +25,3 @@
|
||||
font-family: 'Ubuntu Mono';
|
||||
src: url('UbuntuMono-Regular.eot?#iefix&v=1.3.0') format('embedded-opentype'), url('UbuntuMono-Regular.woff?v=1.3.0') format('woff'), url('UbuntuMono-Regular.ttf?v=1.3.0') format('truetype');
|
||||
}
|
||||
|
||||
/*
|
||||
* text-security-disc
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-family: 'text-security-disc';
|
||||
src: url('text-security-disc.woff?v=1.3.0') format('woff'), url('text-security-disc.ttf?v=1.3.0') format('truetype');
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -2,7 +2,6 @@ module.exports = {
|
||||
// Families
|
||||
defaultFontFamily: 'Roboto, "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif',
|
||||
monoSpaceFontFamily: '"Ubuntu Mono", Menlo, Monaco, Consolas, "Courier New", monospace;',
|
||||
passwordFamily: 'text-security-disc',
|
||||
|
||||
// Sizes
|
||||
extraSmallFontSize: '11px',
|
||||
|
||||
@@ -116,6 +116,7 @@
|
||||
border: 1px solid var(--inputBorderColor);
|
||||
border-radius: 4px;
|
||||
box-shadow: inset 0 1px 1px var(--inputBoxShadowColor);
|
||||
color: var(--textColor);
|
||||
}
|
||||
|
||||
.form-input:focus {
|
||||
@@ -296,7 +297,7 @@
|
||||
var light = {
|
||||
white: '#fff',
|
||||
pageBackground: '#f5f7fa',
|
||||
textColor: '#656565',
|
||||
textColor: '#515253',
|
||||
themeDarkColor: '#3a3f51',
|
||||
panelBackground: '#fff',
|
||||
inputBackgroundColor: '#fff',
|
||||
@@ -316,7 +317,7 @@
|
||||
var dark = {
|
||||
white: '#fff',
|
||||
pageBackground: '#202020',
|
||||
textColor: '#656565',
|
||||
textColor: '#ccc',
|
||||
themeDarkColor: '#494949',
|
||||
panelBackground: '#111',
|
||||
inputBackgroundColor: '#333',
|
||||
|
||||
@@ -33,6 +33,7 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
[TestCase("2019_08_20_1080_all.mp4", "", 2019, 8, 20)]
|
||||
[TestCase("Series and Title 20201013 Ep7432 [720p WebRip (x264)] [SUBS]", "Series and Title", 2020, 10, 13)]
|
||||
[TestCase("Series Title (1955) - 1954-01-23 05 00 00 - Cottage for Sale.ts", "Series Title (1955)", 1954, 1, 23)]
|
||||
[TestCase("Series Title - 30-04-2024 HDTV 1080p H264 AAC", "Series Title", 2024, 4, 30)]
|
||||
|
||||
// [TestCase("", "", 0, 0, 0)]
|
||||
public void should_parse_daily_episode(string postTitle, string title, int year, int month, int day)
|
||||
@@ -100,5 +101,13 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
|
||||
Parser.Parser.ParseTitle(title).Should().BeNull();
|
||||
}
|
||||
|
||||
[TestCase("Tmc - Quotidien - 05-06-2024 HDTV 1080p H264 AAC")]
|
||||
|
||||
// [TestCase("", "", 0, 0, 0)]
|
||||
public void should_not_parse_ambiguous_daily_episode(string postTitle)
|
||||
{
|
||||
Parser.Parser.ParseTitle(postTitle).Should().BeNull();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,6 +109,8 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
[TestCase("The.Series.S01E05.480p.BluRay.DD5.1.x264-HiSD", false)]
|
||||
[TestCase("The Series (BD)(640x480(RAW) (BATCH 1) (1-13)", false)]
|
||||
[TestCase("[Doki] Series - 02 (848x480 XviD BD MP3) [95360783]", false)]
|
||||
[TestCase("Adventures.of.Sonic.the.Hedgehog.S01.BluRay.480i.DD.2.0.AVC.REMUX-FraMeSToR", false)]
|
||||
[TestCase("Adventures.of.Sonic.the.Hedgehog.S01E01.Best.Hedgehog.480i.DD.2.0.AVC.REMUX-FraMeSToR", false)]
|
||||
public void should_parse_bluray480p_quality(string title, bool proper)
|
||||
{
|
||||
ParseAndVerifyQuality(title, Quality.Bluray480p, proper);
|
||||
@@ -309,6 +311,7 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
[TestCase("Sans.Series.De.Traces.FRENCH.720p.BluRay.x264-FHD", false)]
|
||||
[TestCase("Series.Black.1x01.Selezione.Naturale.ITA.720p.BDMux.x264-NovaRip", false)]
|
||||
[TestCase("Series.Hunter.S02.720p.Blu-ray.Remux.AVC.FLAC.2.0-SiCFoI", false)]
|
||||
[TestCase("Adventures.of.Sonic.the.Hedgehog.S01E01.Best.Hedgehog.720p.DD.2.0.AVC.REMUX-FraMeSToR", false)]
|
||||
public void should_parse_bluray720p_quality(string title, bool proper)
|
||||
{
|
||||
ParseAndVerifyQuality(title, Quality.Bluray720p, proper);
|
||||
@@ -340,6 +343,7 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
[TestCase("Series.Title.S03E01.The.Calm.1080p.DTS-HD.MA.5.1.AVC.REMUX-FraMeSToR", false)]
|
||||
[TestCase("Series Title Season 2 (BDRemux 1080p HEVC FLAC) [Netaro]", false)]
|
||||
[TestCase("[Vodes] Series Title - Other Title (2020) [BDRemux 1080p HEVC Dual-Audio]", false)]
|
||||
[TestCase("Adventures.of.Sonic.the.Hedgehog.S01E01.Best.Hedgehog.1080p.DD.2.0.AVC.REMUX-FraMeSToR", false)]
|
||||
public void should_parse_bluray1080p_remux_quality(string title, bool proper)
|
||||
{
|
||||
ParseAndVerifyQuality(title, Quality.Bluray1080pRemux, proper);
|
||||
@@ -360,6 +364,7 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
[TestCase("Series.Title.S01E08.The.Sonarr.BluRay.2160p.AVC.DTS-HD.MA.5.1.REMUX-FraMeSToR", false)]
|
||||
[TestCase("Series.Title.2x11.Nato.Per.The.Sonarr.Bluray.Remux.AVC.2160p.AC3.ITA", false)]
|
||||
[TestCase("[Dolby Vision] Sonarr.of.Series.S07.MULTi.UHD.BLURAY.REMUX.DV-NoTag", false)]
|
||||
[TestCase("Adventures.of.Sonic.the.Hedgehog.S01E01.Best.Hedgehog.2160p.DD.2.0.AVC.REMUX-FraMeSToR", false)]
|
||||
public void should_parse_bluray2160p_remux_quality(string title, bool proper)
|
||||
{
|
||||
ParseAndVerifyQuality(title, Quality.Bluray2160pRemux, proper);
|
||||
|
||||
@@ -75,6 +75,7 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
|
||||
[TestCase("The.Series.2016.S02.Part.1.1080p.NF.WEBRip.DD5.1.x264-NTb", "The Series 2016", 2, 1)]
|
||||
[TestCase("The.Series.S07.Vol.1.1080p.NF.WEBRip.DD5.1.x264-NTb", "The Series", 7, 1)]
|
||||
[TestCase("The.Series.S06.P1.1080p.Blu-Ray.10-Bit.Dual-Audio.TrueHD.x265-iAHD", "The Series", 6, 1)]
|
||||
public void should_parse_partial_season_release(string postTitle, string title, int season, int seasonPart)
|
||||
{
|
||||
var result = Parser.Parser.ParseTitle(postTitle);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"Added": "Afegit",
|
||||
"ApiKeyValidationHealthCheckMessage": "Actualitzeu la vostra clau de l'API perquè tingui almenys {length} caràcters. Podeu fer-ho mitjançant la configuració o el fitxer de configuració",
|
||||
"ApiKeyValidationHealthCheckMessage": "Actualitzeu la vostra clau API perquè tingui almenys {length} caràcters. Podeu fer-ho mitjançant la configuració o el fitxer de configuració",
|
||||
"AgeWhenGrabbed": "Edat (quan es captura)",
|
||||
"AuthenticationRequired": "Autenticació necessària",
|
||||
"AutomaticAdd": "Afegeix automàticament",
|
||||
@@ -49,7 +49,7 @@
|
||||
"Default": "Per defecte",
|
||||
"DeleteImportList": "Suprimeix la llista d'importació",
|
||||
"DeleteSelectedImportLists": "Suprimeix la(es) llista(es) d'importació",
|
||||
"DeletedReasonManual": "El fitxer va ser suprimit mitjançant la interfície d'usuari",
|
||||
"DeletedReasonManual": "El fitxer s'ha suprimit mitjançant {appName}, ja sigui manualment o amb una altra eina mitjançant l'API",
|
||||
"AbsoluteEpisodeNumbers": "Números d'episodis absoluts",
|
||||
"AirDate": "Data d'emissió",
|
||||
"DefaultNameCopiedProfile": "{name} - Còpia",
|
||||
@@ -225,8 +225,8 @@
|
||||
"BlocklistReleases": "Llista de llançaments bloquejats",
|
||||
"BuiltIn": "Integrat",
|
||||
"BrowserReloadRequired": "Es requereix una recàrrega del navegador",
|
||||
"ApplicationUrlHelpText": "URL extern d'aquesta aplicació, inclòs http(s)://, port i URL base",
|
||||
"AuthBasic": "Basic (finestra emergent del navegador)",
|
||||
"ApplicationUrlHelpText": "URL extern de l'aplicació, inclòs http(s)://, port i URL base",
|
||||
"AuthBasic": "Bàsic (finestra emergent del navegador)",
|
||||
"AutomaticSearch": "Cerca automàtica",
|
||||
"Automatic": "Automàtic",
|
||||
"BindAddress": "Adreça d'enllaç",
|
||||
@@ -239,13 +239,13 @@
|
||||
"BranchUpdate": "Branca que s'utilitza per a actualitzar {appName}",
|
||||
"CalendarLoadError": "No es pot carregar el calendari",
|
||||
"AudioInfo": "Informació d'àudio",
|
||||
"ApplyTagsHelpTextRemove": "Eliminar: elimina les etiquetes introduïdes",
|
||||
"ApplyTagsHelpTextRemove": "Eliminació: elimina les etiquetes introduïdes",
|
||||
"AutoAdd": "Afegeix automàticament",
|
||||
"Apply": "Aplica",
|
||||
"Backup": "Còpia de seguretat",
|
||||
"Blocklist": "Llista de bloquejats",
|
||||
"Calendar": "Calendari",
|
||||
"ApplyTagsHelpTextAdd": "Afegeix: afegeix les etiquetes a la llista d'etiquetes existent",
|
||||
"ApplyTagsHelpTextAdd": "Afegiment: afegeix les etiquetes a la llista d'etiquetes existent",
|
||||
"AptUpdater": "Utilitzeu apt per a instal·lar l'actualització",
|
||||
"BackupNow": "Fes ara la còpia de seguretat",
|
||||
"AppDataDirectory": "Directori AppData",
|
||||
@@ -411,7 +411,7 @@
|
||||
"PrioritySettings": "Prioritat: {priority}",
|
||||
"QualitiesLoadError": "No es poden carregar perfils de qualitat",
|
||||
"RemoveSelectedItemQueueMessageText": "Esteu segur que voleu eliminar 1 element de la cua?",
|
||||
"ResetAPIKeyMessageText": "Esteu segur que voleu restablir la clau de l'API?",
|
||||
"ResetAPIKeyMessageText": "Esteu segur que voleu restablir la clau API?",
|
||||
"TheLogLevelDefault": "El nivell de registre per defecte és \"Info\" i es pot canviar a [Configuració general](/configuració/general)",
|
||||
"ClickToChangeLanguage": "Feu clic per a canviar l'idioma",
|
||||
"ClickToChangeEpisode": "Feu clic per a canviar l'episodi",
|
||||
@@ -669,7 +669,7 @@
|
||||
"AutoTaggingSpecificationOriginalLanguage": "Llenguatge",
|
||||
"AutoTaggingSpecificationQualityProfile": "Perfil de Qualitat",
|
||||
"AutoTaggingSpecificationRootFolder": "Carpeta arrel",
|
||||
"AddDelayProfileError": "No s'ha pogut afegir un perfil realentit, torna-ho a probar",
|
||||
"AddDelayProfileError": "No s'ha pogut afegir un perfil de retard, torna-ho a provar.",
|
||||
"AutoTaggingSpecificationSeriesType": "Tipus de Sèries",
|
||||
"AutoTaggingSpecificationStatus": "Estat",
|
||||
"BlocklistAndSearch": "Llista de bloqueig i cerca",
|
||||
@@ -711,5 +711,37 @@
|
||||
"MinutesSixty": "60 minuts: {sixty}",
|
||||
"CustomFilter": "Filtres personalitzats",
|
||||
"CustomFormatsSpecificationRegularExpressionHelpText": "El format personalitzat RegEx no distingeix entre majúscules i minúscules",
|
||||
"CustomFormatsSpecificationFlag": "Bandera"
|
||||
"CustomFormatsSpecificationFlag": "Bandera",
|
||||
"DeleteSelectedSeries": "Suprimeix les sèries seleccionades",
|
||||
"DeleteSeriesFolder": "Suprimeix la carpeta de sèries",
|
||||
"DeleteSeriesFolderConfirmation": "La carpeta de sèries '{path}' i tot el seu contingut es suprimiran.",
|
||||
"File": "Fitxer",
|
||||
"FilterContains": "conté",
|
||||
"FilterIs": "és",
|
||||
"Ok": "D'acord",
|
||||
"Qualities": "Qualitats",
|
||||
"DeleteSeriesFolderCountConfirmation": "Esteu segur que voleu suprimir {count} sèries seleccionades?",
|
||||
"Forecast": "Previsió",
|
||||
"Paused": "En pausa",
|
||||
"Range": "Rang",
|
||||
"Today": "Avui",
|
||||
"Month": "Mes",
|
||||
"Reason": "Raó",
|
||||
"Pending": "Pendents",
|
||||
"FilterEqual": "igual",
|
||||
"Global": "Global",
|
||||
"Grab": "Captura",
|
||||
"Logout": "Tanca la sessió",
|
||||
"Filter": "Filtre",
|
||||
"Local": "Local",
|
||||
"Week": "Setmana",
|
||||
"AutoTaggingSpecificationTag": "Etiqueta",
|
||||
"WhatsNew": "Novetats",
|
||||
"DownloadClientSettingsUrlBaseHelpText": "Afegeix un prefix a l'URL {clientName}, com ara {url}",
|
||||
"IndexerHDBitsSettingsCodecs": "Còdecs",
|
||||
"DownloadClientRTorrentSettingsDirectoryHelpText": "Ubicació opcional de les baixades completades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de rTorrent",
|
||||
"IndexerHDBitsSettingsMediums": "Mitjans",
|
||||
"UpdateStartupTranslocationHealthCheckMessage": "No es pot instal·lar l'actualització perquè la carpeta d'inici '{startupFolder}' es troba en una carpeta de translocació d'aplicacions.",
|
||||
"UpdateStartupNotWritableHealthCheckMessage": "No es pot instal·lar l'actualització perquè l'usuari '{userName}' no té permisos d'escriptura de la carpeta d'inici '{startupFolder}'.",
|
||||
"DownloadClientTransmissionSettingsDirectoryHelpText": "Ubicació opcional per a les baixades, deixeu-lo en blanc per utilitzar la ubicació predeterminada de Transmission"
|
||||
}
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
"ConnectionLostToBackend": "{appName} ha perdido su conexión con el backend y tendrá que ser recargado para restaurar su funcionalidad.",
|
||||
"CalendarOptions": "Opciones de Calendario",
|
||||
"BypassDelayIfAboveCustomFormatScoreHelpText": "Habilitar ignorar cuando la versión tenga una puntuación superior a la puntuación mínima configurada para el formato personalizado",
|
||||
"Default": "Por defecto",
|
||||
"Default": "Predeterminado",
|
||||
"DeleteBackupMessageText": "Seguro que quieres eliminar la copia de seguridad '{name}'?",
|
||||
"DeleteAutoTagHelpText": "¿Está seguro de querer eliminar el etiquetado automático '{name}'?",
|
||||
"AddImportListImplementation": "Añadir lista de importación - {implementationName}",
|
||||
@@ -1964,7 +1964,7 @@
|
||||
"NotificationsValidationInvalidAuthenticationToken": "Token de autenticación inválido",
|
||||
"NotificationsValidationUnableToConnect": "No se pudo conectar: {exceptionMessage}",
|
||||
"NotificationsValidationUnableToSendTestMessageApiResponse": "No se pudo enviar un mensaje de prueba. Respuesta de la API: {error}",
|
||||
"OverrideGrabModalTitle": "Sobrescribe y captura - {title}",
|
||||
"OverrideGrabModalTitle": "Sobrescribir y capturar - {title}",
|
||||
"ReleaseProfileTagSeriesHelpText": "Los perfiles de lanzamientos se aplicarán a series con al menos una etiqueta coincidente. Deja en blanco para aplicar a todas las series",
|
||||
"ReleaseSceneIndicatorMappedNotRequested": "El episodio mapeado no fue solicitado en esta búsqueda.",
|
||||
"RemotePathMappingBadDockerPathHealthCheckMessage": "Estás usando docker; el cliente de descarga {downloadClientName} ubica las descargas en {path} pero esta no es una ruta {osName} válida. Revisa tus mapeos de ruta remotos y opciones del cliente de descarga.",
|
||||
@@ -2071,5 +2071,8 @@
|
||||
"NotificationsTelegramSettingsIncludeAppName": "Incluir {appName} en el título",
|
||||
"NotificationsTelegramSettingsIncludeAppNameHelpText": "Opcionalmente prefija el título del mensaje con {appName} para diferenciar las notificaciones de las diferentes aplicaciones",
|
||||
"IndexerSettingsMultiLanguageRelease": "Múltiples idiomas",
|
||||
"IndexerSettingsMultiLanguageReleaseHelpText": "¿Qué idiomas están normalmente en un lanzamiento múltiple en este indexador?"
|
||||
"IndexerSettingsMultiLanguageReleaseHelpText": "¿Qué idiomas están normalmente en un lanzamiento múltiple en este indexador?",
|
||||
"DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent está reportando archivos faltantes",
|
||||
"BlocklistFilterHasNoItems": "El filtro de lista de bloqueo seleccionado no contiene ningún elemento",
|
||||
"HasUnmonitoredSeason": "Tiene temporada sin monitorizar"
|
||||
}
|
||||
|
||||
@@ -1190,7 +1190,7 @@
|
||||
"FilterNotInNext": "não no próximo",
|
||||
"FilterSeriesPlaceholder": "Filtrar séries",
|
||||
"FilterStartsWith": "começa com",
|
||||
"GrabRelease": "Obter lançamento",
|
||||
"GrabRelease": "Baixar Lançamento",
|
||||
"HardlinkCopyFiles": "Hardlink/Copiar Arquivos",
|
||||
"InteractiveImportNoEpisode": "Escolha um ou mais episódios para cada arquivo selecionado",
|
||||
"InteractiveImportNoImportMode": "Defina um modo de importação",
|
||||
@@ -1203,7 +1203,7 @@
|
||||
"KeyboardShortcutsOpenModal": "Abrir este pop-up",
|
||||
"Local": "Local",
|
||||
"Logout": "Sair",
|
||||
"ManualGrab": "Obter manualmente",
|
||||
"ManualGrab": "Baixar Manualmente",
|
||||
"ManualImport": "Importação manual",
|
||||
"Mapping": "Mapeamento",
|
||||
"MarkAsFailedConfirmation": "Tem certeza de que deseja marcar \"{sourceTitle}\" como em falha?",
|
||||
@@ -1229,7 +1229,7 @@
|
||||
"RemoveFilter": "Remover filtro",
|
||||
"RootFolderSelectFreeSpace": "{freeSpace} Livre",
|
||||
"Search": "Pesquisar",
|
||||
"SelectDownloadClientModalTitle": "{modalTitle} - Selecione o Cliente de Download",
|
||||
"SelectDownloadClientModalTitle": "{modalTitle} - Selecionar Cliente de Download",
|
||||
"SelectReleaseGroup": "Selecionar um Grupo de Lançamento",
|
||||
"SelectSeason": "Selecionar Temporada",
|
||||
"SelectSeasonModalTitle": "{modalTitle} - Selecione a Temporada",
|
||||
@@ -2071,5 +2071,7 @@
|
||||
"SeriesFootNote": "Opcionalmente, controle o truncamento para um número máximo de bytes, incluindo reticências (`...`). Truncar do final (por exemplo, `{Series Title:30}`) ou do início (por exemplo, `{Series Title:-30}`) é suportado.",
|
||||
"IndexerSettingsMultiLanguageReleaseHelpText": "Quais idiomas normalmente estão em um lançamento multi neste indexador?",
|
||||
"AutoTaggingSpecificationTag": "Etiqueta",
|
||||
"IndexerSettingsMultiLanguageRelease": "Multi Idiomas"
|
||||
"IndexerSettingsMultiLanguageRelease": "Multi Idiomas",
|
||||
"DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent está relatando arquivos perdidos",
|
||||
"BlocklistFilterHasNoItems": "O filtro da lista de bloqueio selecionado não contém itens"
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
"AddImportListExclusion": "İçe Aktarma Listesi Hariç Tutma Ekle",
|
||||
"AddImportListExclusionError": "Yeni bir içe aktarım listesi dışlaması eklenemiyor, lütfen tekrar deneyin.",
|
||||
"AddImportListImplementation": "İçe Aktarım Listesi Ekle -{implementationName}",
|
||||
"AddIndexer": "Dizin Oluşturucu Ekle",
|
||||
"AddIndexer": "Dizinleyici Ekle",
|
||||
"AddNewSeriesSearchForMissingEpisodes": "Kayıp bölümleri aramaya başlayın",
|
||||
"AddNotificationError": "Yeni bir bildirim eklenemiyor, lütfen tekrar deneyin.",
|
||||
"AddReleaseProfile": "Yayın Profili Ekle",
|
||||
@@ -40,7 +40,7 @@
|
||||
"AddSeriesWithTitle": "{title} Ekleyin",
|
||||
"Agenda": "Ajanda",
|
||||
"Airs": "Yayınlar",
|
||||
"AddIndexerError": "Yeni dizin oluşturucu eklenemiyor, lütfen tekrar deneyin.",
|
||||
"AddIndexerError": "Yeni dizinleyici eklenemiyor, lütfen tekrar deneyin.",
|
||||
"AddNewSeriesSearchForCutoffUnmetEpisodes": "Karşılanmamış bölümleri aramaya başlayın",
|
||||
"AddQualityProfileError": "Yeni kalite profili eklenemiyor, lütfen tekrar deneyin.",
|
||||
"AddRemotePathMappingError": "Yeni bir uzak yol eşlemesi eklenemiyor, lütfen tekrar deneyin.",
|
||||
@@ -68,7 +68,7 @@
|
||||
"AddRootFolderError": "Kök klasör eklenemiyor",
|
||||
"CountImportListsSelected": "{count} içe aktarma listesi seçildi",
|
||||
"CustomFormatsSpecificationFlag": "Bayrak",
|
||||
"ClickToChangeIndexerFlags": "Dizin oluşturucu bayraklarını değiştirmek için tıklayın",
|
||||
"ClickToChangeIndexerFlags": "Dizinleyici bayraklarını değiştirmek için tıklayın",
|
||||
"ClickToChangeReleaseGroup": "Yayım grubunu değiştirmek için tıklayın",
|
||||
"AppUpdated": "{appName} Güncellendi",
|
||||
"ApplicationURL": "Uygulama URL'si",
|
||||
@@ -127,7 +127,7 @@
|
||||
"Category": "Kategori",
|
||||
"CertificateValidationHelpText": "HTTPS sertifika doğrulamasının sıkılığını değiştirin. Riskleri anlamadığınız sürece değişmeyin.",
|
||||
"CloneCondition": "Klon Durumu",
|
||||
"CountIndexersSelected": "{count} dizin oluşturucu seçildi",
|
||||
"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",
|
||||
@@ -155,7 +155,7 @@
|
||||
"DelayMinutes": "{delay} Dakika",
|
||||
"DeleteImportListMessageText": "'{name}' listesini silmek istediğinizden emin misiniz?",
|
||||
"DeleteReleaseProfile": "Yayımlama Profilini Sil",
|
||||
"DeleteSelectedIndexers": "Dizin Oluşturucuları Sil",
|
||||
"DeleteSelectedIndexers": "Dizinleyicileri Sil",
|
||||
"Directory": "Rehber",
|
||||
"Donate": "Bağış yap",
|
||||
"DownloadClientDownloadStationValidationFolderMissing": "Klasör mevcut değil",
|
||||
@@ -176,7 +176,7 @@
|
||||
"DeleteConditionMessageText": "'{name}' koşulunu silmek istediğinizden emin misiniz?",
|
||||
"DeleteImportListExclusionMessageText": "Bu içe aktarma listesi hariç tutma işlemini silmek istediğinizden emin misiniz?",
|
||||
"DeleteQualityProfileMessageText": "'{name}' kalite profilini silmek istediğinizden emin misiniz?",
|
||||
"DeleteSelectedIndexersMessageText": "Seçilen {count} dizin oluşturucuyu silmek istediğinizden emin misiniz?",
|
||||
"DeleteSelectedIndexersMessageText": "Seçilen {count} dizinleyiciyi silmek istediğinizden emin misiniz?",
|
||||
"DownloadClientDelugeValidationLabelPluginFailureDetail": "{appName}, etiketi {clientName} uygulamasına ekleyemedi.",
|
||||
"DownloadClientDownloadStationProviderMessage": "DSM hesabınızda 2 Faktörlü Kimlik Doğrulama etkinleştirilmişse {appName}, Download Station'a bağlanamaz",
|
||||
"DownloadClientDownloadStationValidationApiVersion": "Download Station API sürümü desteklenmiyor; en az {requiredVersion} olmalıdır. {minVersion}'dan {maxVersion}'a kadar destekler",
|
||||
@@ -195,13 +195,13 @@
|
||||
"DownloadClientDelugeValidationLabelPluginFailure": "Etiket yapılandırılması başarısız oldu",
|
||||
"DownloadClientDownloadStationValidationSharedFolderMissing": "Paylaşılan klasör mevcut değil",
|
||||
"DeleteImportList": "İçe Aktarma Listesini Sil",
|
||||
"IndexerPriorityHelpText": "Dizin Oluşturucu Önceliği (En Yüksek) 1'den (En Düşük) 50'ye kadar. Varsayılan: 25'dir. Eşit olmayan yayınlar için eşitlik bozucu olarak yayınlar alınırken kullanılan {appName}, RSS Senkronizasyonu ve Arama için etkinleştirilmiş tüm dizin oluşturucuları kullanmaya devam edecek",
|
||||
"IndexerPriorityHelpText": "Dizinleyici Önceliği (En Yüksek) 1'den (En Düşük) 50'ye kadar. Varsayılan: 25'dir. Eşit olmayan yayınlar için eşitlik bozucu olarak yayınlar alınırken kullanılan {appName}, RSS Senkronizasyonu ve Arama için etkinleştirilmiş tüm dizin oluşturucuları kullanmaya devam edecek",
|
||||
"DisabledForLocalAddresses": "Yerel Adresler için Devre Dışı Bırakıldı",
|
||||
"DownloadClientDelugeValidationLabelPluginInactive": "Etiket eklentisi etkinleştirilmedi",
|
||||
"DownloadClientDelugeValidationLabelPluginInactiveDetail": "Kategorileri kullanmak için {clientName} uygulamasında Etiket eklentisini etkinleştirmiş olmanız gerekir.",
|
||||
"DownloadClientDownloadStationValidationNoDefaultDestinationDetail": "Diskstation'ınızda {username} olarak oturum açmalı ve BT/HTTP/FTP/NZB -> Konum altında DownloadStation ayarlarında manuel olarak ayarlamalısınız.",
|
||||
"DownloadClientDownloadStationValidationSharedFolderMissingDetail": "Diskstation'da '{sharedFolder}' adında bir Paylaşımlı Klasör yok, bunu doğru belirttiğinizden emin misiniz?",
|
||||
"DownloadClientFloodSettingsRemovalInfo": "{appName}, Ayarlar -> Dizin Oluşturucular'daki mevcut tohum kriterlerine göre torrentlerin otomatik olarak kaldırılmasını gerçekleştirecek",
|
||||
"DownloadClientFloodSettingsRemovalInfo": "{appName}, Ayarlar -> Dizinleyiciler'deki geçerli başlangıç ölçütlerine göre torrentlerin otomatik olarak kaldırılmasını sağlar",
|
||||
"Database": "Veri tabanı",
|
||||
"DelayProfileProtocol": "Protokol: {preferredProtocol}",
|
||||
"DownloadClientDownloadStationValidationFolderMissingDetail": "'{downloadDir}' klasörü mevcut değil, '{sharedFolder}' Paylaşımlı Klasöründe manuel olarak oluşturulması gerekiyor.",
|
||||
@@ -390,9 +390,9 @@
|
||||
"FailedToFetchUpdates": "Güncellemeler getirilemedi",
|
||||
"InstanceName": "Örnek isim",
|
||||
"MoveAutomatically": "Otomatik Olarak Taşı",
|
||||
"MustContainHelpText": "İzin bu şartlardan en az birini içermelidir (büyük/küçük harfe duyarlı değildir)",
|
||||
"MustContainHelpText": "Yayın, bu terimlerden en az birini içermelidir (büyük / küçük harfe duyarsız)",
|
||||
"NotificationStatusAllClientHealthCheckMessage": "Arızalar nedeniyle tüm bildirimler kullanılamıyor",
|
||||
"EditSelectedIndexers": "Seçili Dizin Oluşturucuları Düzenle",
|
||||
"EditSelectedIndexers": "Seçili Dizinleyicileri Düzenle",
|
||||
"EnableProfileHelpText": "Yayımlama profilini etkinleştirmek için işaretleyin",
|
||||
"EnableRssHelpText": "{appName}, RSS Senkronizasyonu aracılığıyla düzenli periyotlarda yayın değişikliği aradığında kullanacak",
|
||||
"FormatTimeSpanDays": "{days}g {time}",
|
||||
@@ -407,13 +407,13 @@
|
||||
"FormatRuntimeHours": "{hours}s",
|
||||
"LanguagesLoadError": "Diller yüklenemiyor",
|
||||
"ListWillRefreshEveryInterval": "Liste her {refreshInterval} yenilenecektir",
|
||||
"ManageIndexers": "Dizin Oluşturucuları Yönet",
|
||||
"ManageIndexers": "Dizinleyicileri Yönet",
|
||||
"ManualGrab": "Manuel Yakalama",
|
||||
"DownloadClientsSettingsSummary": "İndirme İstemcileri, indirme işlemleri ve uzaktan yol eşlemeleri",
|
||||
"DownloadClients": "İndirme İstemcileri",
|
||||
"InteractiveImportNoFilesFound": "Seçilen klasörde video dosyası bulunamadı",
|
||||
"ListQualityProfileHelpText": "Kalite Profili listesi öğeleri şu şekilde eklenecektir:",
|
||||
"MustNotContainHelpText": "Bir veya daha fazla terimi içeriyorsa yayın reddedilecektir (büyük/küçük harfe duyarlı değildir)",
|
||||
"MustNotContainHelpText": "Yayın, bir veya daha fazla terim içeriyorsa reddedilir (büyük/ küçük harfe duyarsız)",
|
||||
"NoDownloadClientsFound": "İndirme istemcisi bulunamadı",
|
||||
"NotificationStatusSingleClientHealthCheckMessage": "Arızalar nedeniyle bildirimler kullanılamıyor: {notificationNames}",
|
||||
"NotificationsAppriseSettingsStatelessUrls": "Apprise Durum bilgisi olmayan URL'ler",
|
||||
@@ -446,7 +446,7 @@
|
||||
"MediaInfoFootNote": "Full/AudioLanguages/SubtitleLanguages, dosya adında yer alan dilleri filtrelemenize olanak tanıyan bir `:EN+DE` son ekini destekler. Belirli dilleri hariç tutmak için '-DE'yi kullanın. `+` (örneğin `:EN+`) eklenmesi, hariç tutulan dillere bağlı olarak `[EN]`/`[EN+--]`/`[--]` sonucunu verecektir. Örneğin `{MediaInfo Full:EN+DE}`.",
|
||||
"Never": "Asla",
|
||||
"NoHistoryBlocklist": "Geçmiş engellenenler listesi yok",
|
||||
"NoIndexersFound": "Dizin oluşturucu bulunamadı",
|
||||
"NoIndexersFound": "Dizinleyici bulunamadı",
|
||||
"NotificationsAppriseSettingsConfigurationKeyHelpText": "Kalıcı Depolama Çözümü için Yapılandırma Anahtarı. Durum Bilgisi Olmayan URL'ler kullanılıyorsa boş bırakın.",
|
||||
"NotificationsAppriseSettingsPasswordHelpText": "HTTP Temel Kimlik Doğrulama Parolası",
|
||||
"NotificationsAppriseSettingsUsernameHelpText": "HTTP Temel Kimlik Doğrulama Kullanıcı Adı",
|
||||
@@ -488,7 +488,7 @@
|
||||
"Test": "Sına",
|
||||
"HealthMessagesInfoBox": "Satırın sonundaki wiki bağlantısını (kitap simgesi) tıklayarak veya [günlüklerinizi]({link}) kontrol ederek bu durum kontrolü mesajlarının nedeni hakkında daha fazla bilgi bulabilirsiniz. Bu mesajları yorumlamakta zorluk yaşıyorsanız aşağıdaki bağlantılardan destek ekibimize ulaşabilirsiniz.",
|
||||
"IndexerSettingsRejectBlocklistedTorrentHashes": "Yakalarken Engellenen Torrent Karmalarını Reddet",
|
||||
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Bir torrent karma tarafından engellendiyse, RSS/Bazı dizin oluşturucuları arama sırasında düzgün şekilde reddedilmeyebilir; bunun etkinleştirilmesi, torrent yakalandıktan sonra ancak istemciye gönderilmeden önce reddedilmesine olanak tanır.",
|
||||
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Bir torrent hash tarafından engellenirse, bazı dizinleyiciler için RSS / Arama sırasında düzgün bir şekilde reddedilmeyebilir, bunun etkinleştirilmesi, torrent yakalandıktan sonra, ancak istemciye gönderilmeden önce reddedilmesine izin verecektir.",
|
||||
"NotificationsAppriseSettingsConfigurationKey": "Apprise Yapılandırma Anahtarı",
|
||||
"NotificationsAppriseSettingsNotificationType": "Apprise Bildirim Türü",
|
||||
"NotificationsGotifySettingsServerHelpText": "Gerekiyorsa http(s):// ve bağlantı noktası dahil olmak üzere Gotify sunucu URL'si",
|
||||
@@ -506,7 +506,7 @@
|
||||
"NotificationsKodiSettingsUpdateLibraryHelpText": "İçe Aktarma ve Yeniden Adlandırmada kitaplık güncellensin mi?",
|
||||
"NotificationsNtfySettingsServerUrlHelpText": "Genel sunucuyu ({url}) kullanmak için boş bırakın",
|
||||
"InteractiveImportLoadError": "Manuel içe aktarma öğeleri yüklenemiyor",
|
||||
"IndexerDownloadClientHelpText": "Bu dizin oluşturucudan yakalamak için hangi indirme istemcisinin kullanılacağını belirtin",
|
||||
"IndexerDownloadClientHelpText": "Bu dizinleyiciden yakalamak için hangi indirme istemcisinin kullanılacağını belirtin",
|
||||
"DeleteRemotePathMapping": "Uzak Yol Eşlemeyi Sil",
|
||||
"LastDuration": "Yürütme Süresi",
|
||||
"NotificationsSettingsUpdateMapPathsToHelpText": "{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)",
|
||||
@@ -557,9 +557,9 @@
|
||||
"RemoveFailedDownloads": "Başarısız İndirmeleri Kaldır",
|
||||
"Scheduled": "Planlı",
|
||||
"Underscore": "Vurgula",
|
||||
"SetIndexerFlags": "Dizin Oluşturucu Bayraklarını Ayarla",
|
||||
"SetIndexerFlags": "Dizinleyici Bayraklarını Ayarla",
|
||||
"SetReleaseGroup": "Yayımlama Grubunu Ayarla",
|
||||
"SetIndexerFlagsModalTitle": "{modalTitle} - Dizin Oluşturucu Bayraklarını Ayarla",
|
||||
"SetIndexerFlagsModalTitle": "{modalTitle} - Dizinleyici Bayraklarını Ayarla",
|
||||
"SslCertPassword": "SSL Sertifika Şifresi",
|
||||
"Rating": "Puan",
|
||||
"GrabRelease": "Yayın Yakalama",
|
||||
@@ -706,7 +706,7 @@
|
||||
"PreviouslyInstalled": "Önceden Yüklenmiş",
|
||||
"QualityCutoffNotMet": "Kalite sınırı karşılanmadı",
|
||||
"QueueIsEmpty": "Kuyruk boş",
|
||||
"ReleaseProfileIndexerHelpTextWarning": "Bir sürüm profilinde belirli bir dizin oluşturucunun ayarlanması, bu profilin yalnızca söz konusu dizin oluşturucunun sürümlerine uygulanmasına neden olur.",
|
||||
"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",
|
||||
"SetReleaseGroupModalTitle": "{modalTitle} - Yayımlama Grubunu Ayarla",
|
||||
@@ -722,7 +722,7 @@
|
||||
"Uptime": "Çalışma süresi",
|
||||
"RemotePath": "Uzak Yol",
|
||||
"File": "Dosya",
|
||||
"ReleaseProfileIndexerHelpText": "Profilin hangi dizin oluşturucuya uygulanacağını belirtin",
|
||||
"ReleaseProfileIndexerHelpText": "Profilin hangi dizinleyiciye uygulanacağını belirtin",
|
||||
"TablePageSize": "Sayfa Boyutu",
|
||||
"NotificationsSynologyValidationTestFailed": "Synology veya synoındex mevcut değil",
|
||||
"NotificationsTwitterSettingsAccessTokenSecret": "Erişim Jetonu Gizliliği",
|
||||
@@ -738,7 +738,7 @@
|
||||
"RemoveQueueItemRemovalMethod": "Kaldırma Yöntemi",
|
||||
"RemoveQueueItemRemovalMethodHelpTextWarning": "'İndirme İstemcisinden Kaldır', indirme işlemini ve dosyaları indirme istemcisinden kaldıracaktır.",
|
||||
"RemoveSelectedItems": "Seçili öğeleri kaldır",
|
||||
"SelectIndexerFlags": "Dizin Oluşturucu Bayraklarını Seçin",
|
||||
"SelectIndexerFlags": "Dizinleyici Bayraklarını Seçin",
|
||||
"Started": "Başlatıldı",
|
||||
"Size": "Boyut",
|
||||
"SupportedCustomConditions": "{appName}, aşağıdaki yayın özelliklerine göre özel koşulları destekler.",
|
||||
@@ -792,5 +792,15 @@
|
||||
"Logging": "Loglama",
|
||||
"MinutesSixty": "60 Dakika: {sixty}",
|
||||
"SelectDownloadClientModalTitle": "{modalTitle} - İndirme İstemcisini Seçin",
|
||||
"Repack": "Yeniden paketle"
|
||||
"Repack": "Yeniden paketle",
|
||||
"IndexerFlags": "Dizinleyici Bayrakları",
|
||||
"Indexer": "Dizinleyici",
|
||||
"Indexers": "Dizinleyiciler",
|
||||
"IndexerPriority": "Dizinleyici Önceliği",
|
||||
"IndexerOptionsLoadError": "Dizinleyici seçenekleri yüklenemiyor",
|
||||
"IndexerSettings": "Dizinleyici Ayarları",
|
||||
"MustContain": "İçermeli",
|
||||
"MustNotContain": "İçermemeli",
|
||||
"RssSyncIntervalHelpTextWarning": "Bu, tüm dizinleyiciler için geçerli olacaktır, lütfen onlar tarafından belirlenen kurallara uyun",
|
||||
"DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent eksik dosya raporluyor"
|
||||
}
|
||||
|
||||
@@ -104,5 +104,246 @@
|
||||
"AuthenticationRequiredWarning": "Щоб запобігти віддаленому доступу без автентифікації, {appName} тепер вимагає ввімкнення автентифікації. За бажанням можна вимкнути автентифікацію з локальних адрес.",
|
||||
"AutomaticUpdatesDisabledDocker": "Автоматичні оновлення не підтримуються безпосередньо під час використання механізму оновлення Docker. Вам потрібно буде оновити зображення контейнера за межами {appName} або скористатися сценарієм",
|
||||
"AuthenticationRequiredPasswordHelpTextWarning": "Введіть новий пароль",
|
||||
"AuthenticationRequiredUsernameHelpTextWarning": "Введіть нове ім'я користувача"
|
||||
"AuthenticationRequiredUsernameHelpTextWarning": "Введіть нове ім'я користувача",
|
||||
"DeleteSelectedEpisodeFiles": "Видалити вибрані файли серій",
|
||||
"DownloadClientQbittorrentTorrentStateUnknown": "Невідомий стан завантаження: {state}",
|
||||
"DownloadClientQbittorrentValidationCategoryRecommendedDetail": "{appName} не намагатиметься імпортувати завершені завантаження без категорії.",
|
||||
"AddedDate": "Додано: {date}",
|
||||
"AnEpisodeIsDownloading": "Виконується завантаження серії",
|
||||
"Blocklist": "Чорний список",
|
||||
"CalendarFeed": "Стрічка календаря {appName}",
|
||||
"CancelProcessing": "Скасувати обробку",
|
||||
"ChmodFolderHelpTextWarning": "Це працює лише в тому випадку, якщо власником файлу є користувач, на якому працює {appName}. Краще переконатися, що клієнт завантаження правильно встановлює дозволи.",
|
||||
"ChownGroupHelpTextWarning": "Це працює, лише якщо користувач, який запускає {appName}, є власником файлу. Краще переконатися, що клієнт завантаження використовує ту саму групу, що й {appName}.",
|
||||
"ClickToChangeSeries": "Натисніть, щоб змінити серіал",
|
||||
"ConnectSettings": "Налаштування підключення",
|
||||
"ConnectionLostReconnect": "{appName} спробує підключитися автоматично, або ви можете натиснути «Перезавантажити» нижче.",
|
||||
"ContinuingOnly": "Тільки продовження",
|
||||
"CustomFormatJson": "Спеціальний формат JSON",
|
||||
"DeleteSelectedEpisodeFilesHelpText": "Ви впевнені, що бажаєте видалити вибрані файли серії?",
|
||||
"DeleteSeriesFolderCountWithFilesConfirmation": "Ви впевнені, що хочете видалити {count} вибраних серіалів і весь вміст?",
|
||||
"DeleteSeriesFolderCountConfirmation": "Ви впевнені, що хочете видалити {count} вибраних серіалів?",
|
||||
"DeletedSeriesDescription": "Серіал видалено з TheTVDB",
|
||||
"DeleteSpecificationHelpText": "Ви впевнені, що хочете видалити специфікацію '{name}'?",
|
||||
"DoNotPrefer": "Не віддавати перевагу",
|
||||
"Disabled": "Вимкнено",
|
||||
"Added": "Додано",
|
||||
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Підтвердити новий пароль",
|
||||
"CancelPendingTask": "Ви впевнені, що хочете скасувати це незавершене завдання?",
|
||||
"Cancel": "Скасувати",
|
||||
"ChownGroupHelpText": "Назва групи або gid. Використовуйте gid для віддалених файлових систем.",
|
||||
"ClickToChangeQuality": "Натисніть, щоб змінити якість",
|
||||
"ChooseImportMode": "Виберіть режим імпорту",
|
||||
"Close": "Закрити",
|
||||
"ClickToChangeSeason": "Натисніть, щоб змінити сезон",
|
||||
"ConditionUsingRegularExpressions": "Ця умова відповідає використанню регулярних виразів. Зауважте, що символи `\\^$.|?*+()[{` мають спеціальні значення та потребують екранування за допомогою `\\`",
|
||||
"ConnectionLostToBackend": "{appName} втратив з’єднання з серверною частиною, і його потрібно перезавантажити, щоб відновити роботу.",
|
||||
"ConnectionLost": "Зв'язок втрачений",
|
||||
"ContinuingSeriesDescription": "Більше серій/очікується ще один сезон",
|
||||
"CreateGroup": "Створити групу",
|
||||
"CustomFormatUnknownConditionOption": "Невідомий параметр '{key}' для умови '{implementation}'",
|
||||
"Default": "За замовчуванням",
|
||||
"DelayProfile": "Профіль затримки",
|
||||
"DelayMinutes": "{delay} Хвилин",
|
||||
"DeleteEpisodeFile": "Видалити файл серії",
|
||||
"DeleteEpisodeFileMessage": "Ви впевнені, що хочете видалити '{path}'?",
|
||||
"DeleteIndexer": "Видалити індексатор",
|
||||
"DeleteIndexerMessageText": "Ви впевнені, що хочете видалити індексатор \"{name}\"?",
|
||||
"DeleteSelectedSeries": "Видалити вибраний серіал",
|
||||
"DeleteSeriesFolderHelpText": "Видалити папку серіалу та її вміст",
|
||||
"DeleteTag": "Видалити тег",
|
||||
"DeleteSeriesModalHeader": "Видалити - {title}",
|
||||
"DeleteSpecification": "Видалити специфікацію",
|
||||
"DeletedReasonManual": "Файл було видалено за допомогою {appName} вручну або іншим інструментом через API",
|
||||
"DestinationPath": "Шлях призначення",
|
||||
"DetailedProgressBar": "Детальний індикатор прогресу",
|
||||
"DetailedProgressBarHelpText": "Показати текст на панелі виконання",
|
||||
"DisabledForLocalAddresses": "Вимкнено для локальних адрес",
|
||||
"Discord": "Discord",
|
||||
"DoNotUpgradeAutomatically": "Не оновлювати автоматично",
|
||||
"DiskSpace": "Дисковий простір",
|
||||
"DoneEditingGroups": "Редагування груп завершено",
|
||||
"DownloadClientQbittorrentValidationCategoryUnsupported": "Категорія не підтримується",
|
||||
"DeleteImportList": "Видалити список імпорту",
|
||||
"DeleteReleaseProfile": "Видалити профіль випуску",
|
||||
"DeleteCustomFormatMessageText": "Ви впевнені, що хочете видалити спеціальний формат \"{name}\"?",
|
||||
"DeleteRootFolder": "Видалити кореневу папку",
|
||||
"DownloadClientQbittorrentValidationCategoryUnsupportedDetail": "Категорії не підтримуються до qBittorrent версії 3.3.0. Оновіть або повторіть спробу з пустою категорією.",
|
||||
"DownloadClientRootFolderHealthCheckMessage": "Клієнт завантаження {downloadClientName} розміщує завантаження в кореневій папці {rootFolderPath}. Ви не повинні завантажувати в кореневу папку.",
|
||||
"CopyToClipboard": "Копіювати в буфер обміну",
|
||||
"DeleteQualityProfile": "Видалити профіль якості",
|
||||
"Calendar": "Календар",
|
||||
"Daily": "Щодня",
|
||||
"CustomFormatScore": "Оцінка спеціального формату",
|
||||
"DotNetVersion": ".NET",
|
||||
"Download": "Завантажити",
|
||||
"DownloadClient": "Клієнт завантажувача",
|
||||
"Component": "Компонент",
|
||||
"AuthenticationMethodHelpText": "Вимагати ім’я користувача та пароль для доступу до {appName}",
|
||||
"AuthenticationRequiredHelpText": "Змінити запити, для яких потрібна автентифікація. Не змінюйте, якщо не розумієте ризики.",
|
||||
"BuiltIn": "Вбудований",
|
||||
"ChangeFileDate": "Змінити дату файлу",
|
||||
"ChooseAnotherFolder": "Виберіть іншу папку",
|
||||
"CloneAutoTag": "Клонувати автоматичний тег",
|
||||
"CollectionsLoadError": "Не вдалося завантажити колекції",
|
||||
"CountSeasons": "{count} Сезонів",
|
||||
"CustomFormatsLoadError": "Не вдалося завантажити спеціальні формати",
|
||||
"DelayProfilesLoadError": "Неможливо завантажити профілі затримки",
|
||||
"DelayProfileProtocol": "Протокол: {preferredProtocol}",
|
||||
"DeleteAutoTag": "Видалити автоматичний тег",
|
||||
"DeleteAutoTagHelpText": "Ви впевнені, що хочете видалити автоматичний тег \"{name}\"?",
|
||||
"DeleteDelayProfile": "Видалити профіль затримки",
|
||||
"DeleteDelayProfileMessageText": "Ви впевнені, що хочете видалити цей профіль затримки?",
|
||||
"DeleteDownloadClientMessageText": "Ви впевнені, що хочете видалити клієнт завантаження '{name}'?",
|
||||
"DeleteSelectedImportLists": "Видалити списки імпорту",
|
||||
"Deleted": "Видалено",
|
||||
"DeleteTagMessageText": "Ви впевнені, що хочете видалити тег '{label}'?",
|
||||
"DestinationRelativePath": "Відносний шлях призначення",
|
||||
"DownloadClientCheckNoneAvailableHealthCheckMessage": "Немає доступного клієнта для завантаження",
|
||||
"Connections": "З'єднання",
|
||||
"Docker": "Docker",
|
||||
"AddingTag": "Додавання тега",
|
||||
"AutomaticSearch": "Автоматичний пошук",
|
||||
"Backup": "Резервне копіювання",
|
||||
"Automatic": "Автоматично",
|
||||
"BackupFolderHelpText": "Відносні шляхи будуть у каталозі AppData {appName}",
|
||||
"CalendarLoadError": "Неможливо завантажити календар",
|
||||
"ConnectionSettingsUrlBaseHelpText": "Додає префікс до URL-адреси {connectionName}, наприклад {url}",
|
||||
"CustomFormatUnknownCondition": "Невідома умова спеціального формату '{implementation}'",
|
||||
"DelayingDownloadUntil": "Завантаження відкладається до {date} о {time}",
|
||||
"DownloadClientQbittorrentValidationCategoryAddFailureDetail": "{appName} не зміг додати мітку до qBittorrent.",
|
||||
"DownloadClientQbittorrentTorrentStateError": "qBittorrent повідомляє про помилку",
|
||||
"DownloadClientQbittorrentTorrentStateMetadata": "qBittorrent завантажує метадані",
|
||||
"Connection": "Підключення",
|
||||
"Continuing": "Продовження",
|
||||
"Database": "База даних",
|
||||
"AddSeriesWithTitle": "Додати {title}",
|
||||
"AddToDownloadQueue": "Додати до черги завантажень",
|
||||
"CalendarLegendEpisodeDownloadingTooltip": "Серія зараз завантажується",
|
||||
"CalendarLegendEpisodeUnmonitoredTooltip": "Серія не відстежується",
|
||||
"CalendarLegendEpisodeMissingTooltip": "Серія вийшла в ефір і відсутній на диску",
|
||||
"CalendarLegendEpisodeUnairedTooltip": "Серія ще не вийшла в ефір",
|
||||
"CalendarLegendSeriesFinaleTooltip": "Фінал серіалу або сезону",
|
||||
"CalendarLegendSeriesPremiereTooltip": "Прем'єра серіалу або сезону",
|
||||
"Category": "Категорія",
|
||||
"CertificateValidation": "Перевірка сертифіката",
|
||||
"CertificateValidationHelpText": "Змініть суворість перевірки сертифікації HTTPS. Не змінюйте, якщо не розумієте ризики.",
|
||||
"ChangeCategory": "Змінити категорію",
|
||||
"BlackholeFolderHelpText": "Папка, у якій {appName} зберігатиме файл {extension}",
|
||||
"ChangeFileDateHelpText": "Змінити дату файлу під час імпорту/повторного сканування",
|
||||
"Clear": "Очистити",
|
||||
"ClearBlocklist": "Очистити список блокувань",
|
||||
"CloneProfile": "Клонувати профіль",
|
||||
"DeleteBackup": "Видалити резервну копію",
|
||||
"DeleteBackupMessageText": "Ви впевнені, що хочете видалити резервну копію \"{name}\"?",
|
||||
"DeleteCustomFormat": "Видалити спеціальний формат",
|
||||
"DeleteDownloadClient": "Видалити клієнт завантаження",
|
||||
"DeleteEmptyFolders": "Видалити порожні папки",
|
||||
"DeleteImportListMessageText": "Ви впевнені, що хочете видалити список '{name}'?",
|
||||
"DeleteEpisodesFilesHelpText": "Видалити файли серій і папку серіалів",
|
||||
"DeleteEpisodesFiles": "Видалити файли епізодів ({episodeFileCount}).",
|
||||
"Details": "Подробиці",
|
||||
"DeleteSelectedIndexers": "Видалити індексатор(и)",
|
||||
"DownloadClientDelugeTorrentStateError": "Deluge повідомляє про помилку",
|
||||
"DownloadClientDelugeValidationLabelPluginFailure": "Помилка налаштування мітки",
|
||||
"DownloadClientDelugeValidationLabelPluginFailureDetail": "{appName} не зміг додати мітку до {clientName}.",
|
||||
"DownloadClientDownloadStationProviderMessage": "{appName} не може підключитися до Download Station, якщо у вашому обліковому записі DSM увімкнено 2-факторну автентифікацію",
|
||||
"DownloadClientDownloadStationValidationApiVersion": "Версія Download Station API не підтримується, має бути принаймні {requiredVersion}. Він підтримує від {minVersion} до {maxVersion}",
|
||||
"DownloadClientDownloadStationValidationFolderMissingDetail": "Папка '{downloadDir}' не існує, її потрібно створити вручну в спільній папці '{sharedFolder}'.",
|
||||
"DownloadClientDownloadStationValidationFolderMissing": "Папка не існує",
|
||||
"DownloadClientDownloadStationValidationNoDefaultDestinationDetail": "Ви повинні ввійти до свого Diskstation як {username} та вручну налаштувати його в налаштуваннях DownloadStation у розділі BT/HTTP/FTP/NZB -> Місцезнаходження.",
|
||||
"DownloadClientFloodSettingsAdditionalTags": "Додаткові теги",
|
||||
"DownloadClientDownloadStationValidationSharedFolderMissing": "Спільна папка не існує",
|
||||
"DownloadClientFloodSettingsRemovalInfo": "{appName} оброблятиме автоматичне видалення торрентів на основі поточних критеріїв заповнення в меню «Налаштування» -> «Індексатори»",
|
||||
"AutoTaggingSpecificationTag": "Тег",
|
||||
"BlocklistAndSearch": "Чорний список і пошук",
|
||||
"CalendarLegendEpisodeDownloadedTooltip": "Серія завантажена та відсортована",
|
||||
"ClickToChangeReleaseType": "Натисніть, щоб змінити тип випуску",
|
||||
"CustomFormatsSpecificationRegularExpressionHelpText": "Спеціальний формат RegEx не враховує регістр",
|
||||
"DailyEpisodeFormat": "Формат щоденних серій",
|
||||
"DailyEpisodeTypeDescription": "Серії, що випускаються щодня або рідше, у яких використовується рік-місяць-день (2023-08-04)",
|
||||
"DailyEpisodeTypeFormat": "Дата ({format})",
|
||||
"DatabaseMigration": "Міграція бази даних",
|
||||
"Dates": "Дати",
|
||||
"Day": "День",
|
||||
"DeleteEmptySeriesFoldersHelpText": "Видаліть порожні папки серіалів і сезонів під час сканування диска та під час видалення файлів серій",
|
||||
"DeleteEpisodeFromDisk": "Видалити серію з диска",
|
||||
"DeleteNotification": "Видалити сповіщення",
|
||||
"DeleteNotificationMessageText": "Ви впевнені, що хочете видалити сповіщення '{name}'?",
|
||||
"DeleteQualityProfileMessageText": "Ви впевнені, що хочете видалити профіль якості '{name}'?",
|
||||
"DownloadClientOptionsLoadError": "Не вдалося завантажити параметри клієнта завантаження",
|
||||
"DownloadClientSettingsRecentPriorityEpisodeHelpText": "Пріоритет для використання під час захоплення серій, які вийшли в ефір протягом останніх 14 днів",
|
||||
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Чи використовувати налаштований макет вмісту qBittorrent, оригінальний макет із торрента чи завжди створювати вкладену папку (qBittorrent 4.3.2+)",
|
||||
"DownloadClientSettingsInitialStateHelpText": "Початковий стан для торрентів, доданих до {clientName}",
|
||||
"CalendarLegendEpisodeOnAirTooltip": "Серія зараз в ефірі",
|
||||
"AutoRedownloadFailed": "Помилка повторного завантаження",
|
||||
"AutoRedownloadFailedFromInteractiveSearch": "Помилка повторного завантаження з інтерактивного пошуку",
|
||||
"BindAddress": "Прив'язати адресу",
|
||||
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Мінімальна оцінка спеціального формату",
|
||||
"CheckDownloadClientForDetails": "перевірте клієнт завантаження, щоб дізнатися більше",
|
||||
"BackupsLoadError": "Не вдалося завантажити резервні копії",
|
||||
"Date": "Дата",
|
||||
"AutoTaggingSpecificationStatus": "Статус",
|
||||
"AutoTaggingSpecificationGenre": "Жанр(и)",
|
||||
"AutoTaggingSpecificationMaximumYear": "Максимальний рік",
|
||||
"BlackholeWatchFolderHelpText": "Папка, з якої {appName} має імпортувати завершені завантаження",
|
||||
"BranchUpdate": "Гілка для оновлення {appName}",
|
||||
"BrowserReloadRequired": "Потрібно перезавантажити браузер",
|
||||
"AutoTaggingSpecificationMinimumYear": "Мінімальний рік",
|
||||
"AutoTaggingSpecificationOriginalLanguage": "Мова",
|
||||
"AutoTaggingSpecificationQualityProfile": "Профіль Якості",
|
||||
"CouldNotFindResults": "Не вдалося знайти жодних результатів для '{term}'",
|
||||
"CustomFormatsSpecificationLanguage": "Мова",
|
||||
"CustomFormatsSpecificationMaximumSize": "Максимальний розмір",
|
||||
"CustomFormatsSpecificationReleaseGroup": "Група випуску",
|
||||
"CustomFormatsSpecificationResolution": "Роздільна здатність",
|
||||
"CustomFormatsSpecificationSource": "Джерело",
|
||||
"DefaultNotFoundMessage": "Ви, мабуть, заблукали, тут нічого не видно.",
|
||||
"DeleteSeriesFolder": "Видалити папку серіалу",
|
||||
"DeleteSeriesFolderConfirmation": "Папку серіалу `{path}` і весь її вміст буде видалено.",
|
||||
"DownloadClientFloodSettingsUrlBaseHelpText": "Додає префікс до API Flood, наприклад {url}",
|
||||
"DownloadClientFreeboxApiError": "API Freebox повернув помилку: {errorDescription}",
|
||||
"DownloadClientFreeboxSettingsApiUrl": "API URL",
|
||||
"DownloadClientSettings": "Налаштування клієнта завантаження",
|
||||
"DownloadClientSettingsOlderPriorityEpisodeHelpText": "Пріоритет для використання під час захоплення серій, які вийшли в ефір понад 14 днів тому",
|
||||
"AddRootFolderError": "Не вдалося додати кореневу папку",
|
||||
"AppUpdatedVersion": "{appName} оновлено до версії `{version}`, щоб отримати останні зміни, вам потрібно перезавантажити {appName} ",
|
||||
"Backups": "Резервні копії",
|
||||
"AutoRedownloadFailedHelpText": "Автоматичний пошук і спроба завантажити інший випуск",
|
||||
"BackupIntervalHelpText": "Інтервал між автоматичним резервним копіюванням",
|
||||
"BeforeUpdate": "Перед оновленням",
|
||||
"DownloadClientDownloadStationValidationSharedFolderMissingDetail": "Diskstation не має спільної папки з назвою '{sharedFolder}', ви впевнені, що вказали її правильно?",
|
||||
"DownloadClientQbittorrentSettingsUseSslHelpText": "Використовувати безпечне з'єднання. Дивіться параметри -> Web UI -> 'Use HTTPS instead of HTTP' в qBittorrent.",
|
||||
"DownloadClientQbittorrentSettingsFirstAndLastFirstHelpText": "Спочатку завантажте першу та останню частини (qBittorrent 4.1.0+)",
|
||||
"DownloadClientQbittorrentSettingsSequentialOrderHelpText": "Завантаження в послідовному порядку (qBittorrent 4.1.0+)",
|
||||
"CustomFormatsSettingsTriggerInfo": "Спеціальний формат буде застосовано до випуску або файлу, якщо він відповідає принаймні одному з кожного з різних типів вибраних умов.",
|
||||
"CustomFormatsSpecificationMinimumSize": "Мінімальний розмір",
|
||||
"CustomFormatsSpecificationMaximumSizeHelpText": "Випуск повинен бути меншим або дорівнювати цьому розміру",
|
||||
"CustomFormatsSpecificationMinimumSizeHelpText": "Випуск повинен бути більше цього розміру",
|
||||
"Delete": "Видалити",
|
||||
"DeleteReleaseProfileMessageText": "Ви впевнені, що хочете видалити цей профіль випуску '{name}'?",
|
||||
"DeleteRootFolderMessageText": "Ви впевнені, що бажаєте видалити кореневу папку '{path}'?",
|
||||
"DeleteSelectedDownloadClients": "Видалити клієнт(и) завантаження",
|
||||
"DockerUpdater": "Оновіть контейнер docker, щоб отримати оновлення",
|
||||
"DownloadClientQbittorrentValidationCategoryAddFailure": "Помилка налаштування категорії",
|
||||
"ClearBlocklistMessageText": "Ви впевнені, що бажаєте очистити всі елементи зі списку блокування?",
|
||||
"ClickToChangeEpisode": "Натисніть, щоб змінити серію",
|
||||
"ClickToChangeLanguage": "Натисніть, щоб змінити мову",
|
||||
"CollapseAll": "Закрити все",
|
||||
"ConnectSettingsSummary": "Сповіщення, підключення до медіасерверів/програвачів і спеціальні сценарії",
|
||||
"CustomFormatsSettings": "Налаштування спеціальних форматів",
|
||||
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Необов’язкове розташування для переміщення завершених завантажень. Залиште поле порожнім, щоб використовувати стандартне розташування Deluge",
|
||||
"DownloadClientDelugeSettingsDirectoryHelpText": "Необов’язкове розташування для розміщення завантажень. Залиште поле порожнім, щоб використовувати стандартне розташування Deluge",
|
||||
"DownloadClientSettingsCategorySubFolderHelpText": "Додавання спеціальної категорії для {appName} дозволяє уникнути конфліктів із непов’язаними завантаженнями, не пов’язаними з {appName}. Використання категорії необов’язкове, але настійно рекомендується. Створює підкаталог [category] у вихідному каталозі.",
|
||||
"DownloadClientQbittorrentValidationCategoryRecommended": "Категорія рекомендована",
|
||||
"DownloadClientQbittorrentValidationRemovesAtRatioLimit": "qBittorrent налаштовано на видалення торрентів, коли вони досягають ліміту коефіцієнта спільного використання",
|
||||
"DownloadClientQbittorrentTorrentStateMissingFiles": "qBittorrent повідомляє про відсутність файлів",
|
||||
"DownloadClientSettingsCategoryHelpText": "Додавання спеціальної категорії для {appName} дозволяє уникнути конфліктів із непов’язаними завантаженнями, не пов’язаними з {appName}. Використання категорії необов’язкове, але настійно рекомендується.",
|
||||
"Donations": "Пожертви",
|
||||
"DownloadClientSeriesTagHelpText": "Використовуйте цей клієнт завантаження лише для серіалів із принаймні одним відповідним тегом. Залиште поле порожнім для використання з усіма серіалами.",
|
||||
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Не вдалося зв’язатися з {downloadClientName}. {errorMessage}",
|
||||
"DownloadClientDelugeValidationLabelPluginInactive": "Плагін міток не активовано",
|
||||
"DownloadClientAriaSettingsDirectoryHelpText": "Додаткове розташування для розміщення завантажень. Залиште поле порожнім, щоб використовувати стандартне розташування Aria2",
|
||||
"CustomFormatHelpText": "{appName} оцінює кожен випуск, використовуючи суму балів для відповідності користувацьких форматів. Якщо новий випуск покращить оцінку, з такою ж або кращою якістю, {appName} схопить його.",
|
||||
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Додаткова спільна папка для розміщення завантажень. Залиште поле порожнім, щоб використовувати стандартне розташування Download Station"
|
||||
}
|
||||
|
||||
@@ -30,6 +30,6 @@ namespace NzbDrone.Core.Notifications
|
||||
public bool SupportsOnApplicationUpdate { get; set; }
|
||||
public bool SupportsOnManualInteractionRequired { get; set; }
|
||||
|
||||
public override bool Enable => OnGrab || OnDownload || (OnDownload && OnUpgrade) || OnSeriesAdd || OnSeriesDelete || OnEpisodeFileDelete || (OnEpisodeFileDelete && OnEpisodeFileDeleteForUpgrade) || OnHealthIssue || OnHealthRestored || OnApplicationUpdate || OnManualInteractionRequired;
|
||||
public override bool Enable => OnGrab || OnDownload || (OnDownload && OnUpgrade) || OnRename || OnSeriesAdd || OnSeriesDelete || OnEpisodeFileDelete || (OnEpisodeFileDelete && OnEpisodeFileDeleteForUpgrade) || OnHealthIssue || OnHealthRestored || OnApplicationUpdate || OnManualInteractionRequired;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,7 +215,7 @@ namespace NzbDrone.Core.Parser
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Partial season pack
|
||||
new Regex(@"^(?<title>.+?)(?:\W+S(?<season>(?<!\d+)(?:\d{1,2})(?!\d+))\W+(?:(?:(?:Part|Vol)\W?|(?<!\d+\W+)e)(?<seasonpart>\d{1,2}(?!\d+)))+)",
|
||||
new Regex(@"^(?<title>.+?)(?:\W+S(?<season>(?<!\d+)(?:\d{1,2})(?!\d+))\W+(?:(?:(?:Part|Vol)\W?|(?<!\d+\W+)e|p)(?<seasonpart>\d{1,2}(?!\d+)))+)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Anime - 4 digit absolute episode number
|
||||
@@ -339,7 +339,7 @@ namespace NzbDrone.Core.Parser
|
||||
|
||||
// 4 digit episode number
|
||||
// Episodes with a title, Single episodes (S01E05, 1x05, etc) & Multi-episode (S01E05E06, S01E05-06, S01E05 E06, etc)
|
||||
new Regex(@"^(?<title>.+?)(?:(?:[-_\W](?<![()\[!]))+S?(?<season>(?<!\d+)\d{1,2}(?!\d+))(?:(?:\-|[ex]|\W[ex]|_){1,2}(?<episode>\d{4}(?!\d+|i|p)))+)\W?(?!\\)",
|
||||
new Regex(@"^(?<title>.+?)(?:(?:[-_\W](?<![()\[!]|\d{1,2}-))+S?(?<season>(?<!\d+)\d{1,2}(?!\d+))(?:(?:\-|[ex]|\W[ex]|_){1,2}(?<episode>\d{4}(?!\d+|i|p)))+)\W?(?!\\)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Episodes with airdate (2018.04.28)
|
||||
@@ -350,7 +350,11 @@ namespace NzbDrone.Core.Parser
|
||||
new Regex(@"^(?<title>.+?)[_. ](?<absoluteepisode>\d{1,4})(?:[_. ]+)(?:BLM|B[oö]l[uü]m)", RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Episodes with airdate (04.28.2018)
|
||||
new Regex(@"^(?<title>.+?)?\W*(?<airmonth>[0-1][0-9])[-_. ]+(?<airday>[0-3][0-9])[-_. ]+(?<airyear>\d{4})(?!\d+)",
|
||||
new Regex(@"^(?<title>.+?)?\W*(?<ambiguousairmonth>[0-1][0-9])[-_. ]+(?<ambiguousairday>[0-3][0-9])[-_. ]+(?<airyear>\d{4})(?!\d+)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Episodes with airdate (28.04.2018)
|
||||
new Regex(@"^(?<title>.+?)?\W*(?<ambiguousairday>[0-3][0-9])[-_. ]+(?<ambiguousairmonth>[0-1][0-9])[-_. ]+(?<airyear>\d{4})(?!\d+)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Episodes with airdate (20180428)
|
||||
@@ -362,7 +366,7 @@ namespace NzbDrone.Core.Parser
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Supports 1103/1113 naming
|
||||
new Regex(@"^(?<title>.+?)?(?:(?:[-_. ](?<![()\[!]))*(?<season>(?<!\d+|\(|\[|e|x)\d{2})(?<episode>(?<!e|x)(?:[1-9][0-9]|[0][1-9])(?!p|i|\d+|\)|\]|\W\d+|\W(?:e|ep|x)\d+)))+([-_. ]+|$)(?!\\)",
|
||||
new Regex(@"^(?<title>.+?)?(?:(?:[-_. ](?<![()\[!]))*(?<!\d{1,2}-)(?<season>(?<!\d+|\(|\[|e|x)\d{2})(?<episode>(?<!e|x)(?:[1-9][0-9]|[0][1-9])(?!p|i|\d+|\)|\]|\W\d+|\W(?:e|ep|x)\d+)))+([-_. ]+|$)(?!\\)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Dutch/Flemish release titles
|
||||
@@ -1128,15 +1132,36 @@ namespace NzbDrone.Core.Parser
|
||||
else
|
||||
{
|
||||
// Try to Parse as a daily show
|
||||
var airmonth = Convert.ToInt32(matchCollection[0].Groups["airmonth"].Value);
|
||||
var airday = Convert.ToInt32(matchCollection[0].Groups["airday"].Value);
|
||||
|
||||
// Swap day and month if month is bigger than 12 (scene fail)
|
||||
if (airmonth > 12)
|
||||
var airmonth = 0;
|
||||
var airday = 0;
|
||||
|
||||
if (matchCollection[0].Groups["ambiguousairmonth"].Success &&
|
||||
matchCollection[0].Groups["ambiguousairday"].Success)
|
||||
{
|
||||
var tempDay = airday;
|
||||
airday = airmonth;
|
||||
airmonth = tempDay;
|
||||
var ambiguousAirMonth = Convert.ToInt32(matchCollection[0].Groups["ambiguousairmonth"].Value);
|
||||
var ambiguousAirDay = Convert.ToInt32(matchCollection[0].Groups["ambiguousairday"].Value);
|
||||
|
||||
if (ambiguousAirDay <= 12 && ambiguousAirMonth <= 12)
|
||||
{
|
||||
throw new InvalidDateException("Ambiguous Date, cannot validate month and day with {0} and {1}", ambiguousAirMonth, ambiguousAirDay);
|
||||
}
|
||||
|
||||
airmonth = ambiguousAirMonth;
|
||||
airday = ambiguousAirDay;
|
||||
}
|
||||
else
|
||||
{
|
||||
airmonth = Convert.ToInt32(matchCollection[0].Groups["airmonth"].Value);
|
||||
airday = Convert.ToInt32(matchCollection[0].Groups["airday"].Value);
|
||||
|
||||
// Swap day and month if month is bigger than 12 (scene fail)
|
||||
if (airmonth > 12)
|
||||
{
|
||||
var tempDay = airday;
|
||||
airday = airmonth;
|
||||
airmonth = tempDay;
|
||||
}
|
||||
}
|
||||
|
||||
DateTime airDate;
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace NzbDrone.Core.Parser
|
||||
private static readonly Regex RealRegex = new (@"\b(?<real>REAL)\b",
|
||||
RegexOptions.Compiled);
|
||||
|
||||
private static readonly Regex ResolutionRegex = new (@"\b(?:(?<R360p>360p)|(?<R480p>480p|640x480|848x480)|(?<R540p>540p)|(?<R576p>576p)|(?<R720p>720p|1280x720|960p)|(?<R1080p>1080p|1920x1080|1440p|FHD|1080i|4kto1080p)|(?<R2160p>2160p|3840x2160|4k[-_. ](?:UHD|HEVC|BD|H265)|(?:UHD|HEVC|BD|H265)[-_. ]4k))\b",
|
||||
private static readonly Regex ResolutionRegex = new (@"\b(?:(?<R360p>360p)|(?<R480p>480p|480i|640x480|848x480)|(?<R540p>540p)|(?<R576p>576p)|(?<R720p>720p|1280x720|960p)|(?<R1080p>1080p|1920x1080|1440p|FHD|1080i|4kto1080p)|(?<R2160p>2160p|3840x2160|4k[-_. ](?:UHD|HEVC|BD|H265)|(?:UHD|HEVC|BD|H265)[-_. ]4k))\b",
|
||||
RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
||||
// Handle cases where no resolution is in the release name (assume if UHD then 4k) or resolution is non-standard
|
||||
@@ -311,6 +311,35 @@ namespace NzbDrone.Core.Parser
|
||||
}
|
||||
}
|
||||
|
||||
if (sourceMatch == null && remuxMatch && resolution != Resolution.Unknown)
|
||||
{
|
||||
result.SourceDetectionSource = QualityDetectionSource.Unknown;
|
||||
|
||||
if (resolution == Resolution.R480P)
|
||||
{
|
||||
result.Quality = Quality.Bluray480p;
|
||||
return result;
|
||||
}
|
||||
|
||||
if (resolution == Resolution.R720p)
|
||||
{
|
||||
result.Quality = Quality.Bluray720p;
|
||||
return result;
|
||||
}
|
||||
|
||||
if (resolution == Resolution.R2160p)
|
||||
{
|
||||
result.Quality = Quality.Bluray2160pRemux;
|
||||
return result;
|
||||
}
|
||||
|
||||
if (resolution == Resolution.R1080p)
|
||||
{
|
||||
result.Quality = Quality.Bluray1080pRemux;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// Anime Bluray matching
|
||||
if (AnimeBlurayRegex.Match(normalizedName).Success)
|
||||
{
|
||||
|
||||
@@ -413,6 +413,27 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/SortDirection"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "seriesIds",
|
||||
"in": "query",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "protocols",
|
||||
"in": "query",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/DownloadProtocol"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
||||
Reference in New Issue
Block a user