mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-04-23 05:17:09 -04:00
Compare commits
13 commits
v1.33.3.50
...
develop
Author | SHA1 | Date | |
---|---|---|---|
|
c85f170d41 | ||
|
48a658571b | ||
|
0b3a5c9bc4 | ||
|
356d07ef34 | ||
|
0322d70d63 | ||
|
362f3fe223 | ||
|
075fd24f96 | ||
|
4ba72ea7f3 | ||
|
46f73c51bb | ||
|
3287d45661 | ||
|
71937fa44c | ||
|
6aefd46cd4 | ||
|
c8370c9e00 |
19 changed files with 270 additions and 37 deletions
|
@ -78,6 +78,6 @@ Thank you to [<img src="https://resources.jetbrains.com/storage/products/company
|
|||
### License
|
||||
|
||||
- [GNU GPL v3](http://www.gnu.org/licenses/gpl.html)
|
||||
- Copyright 2010-2024
|
||||
- Copyright 2010-2025
|
||||
|
||||
Icon Credit - [Box vector created by freepik - www.freepik.com](https://www.freepik.com/vectors/box)
|
||||
|
|
|
@ -9,7 +9,7 @@ variables:
|
|||
testsFolder: './_tests'
|
||||
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
||||
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
||||
majorVersion: '1.33.3'
|
||||
majorVersion: '1.35.0'
|
||||
minorVersion: $[counter('minorVersion', 1)]
|
||||
prowlarrVersion: '$(majorVersion).$(minorVersion)'
|
||||
buildName: '$(Build.SourceBranchName).$(prowlarrVersion)'
|
||||
|
|
2
docs.sh
2
docs.sh
|
@ -38,7 +38,7 @@ dotnet clean $slnFile -c Release
|
|||
dotnet msbuild -restore $slnFile -p:Configuration=Debug -p:Platform=$platform -p:RuntimeIdentifiers=$RUNTIME -t:PublishAllRids
|
||||
|
||||
dotnet new tool-manifest
|
||||
dotnet tool install --version 6.6.2 Swashbuckle.AspNetCore.Cli
|
||||
dotnet tool install --version 7.3.2 Swashbuckle.AspNetCore.Cli
|
||||
|
||||
dotnet tool run swagger tofile --output ./src/Prowlarr.Api.V1/openapi.json "$outputFolder/$FRAMEWORK/$RUNTIME/$application" v1 &
|
||||
|
||||
|
|
|
@ -5,21 +5,21 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
|
||||
<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="IPAddressRange" Version="6.2.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.3" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="NLog.Layouts.ClefJsonLayout" Version="1.0.3" />
|
||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.4.0" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.9" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.10" />
|
||||
<PackageReference Include="Sentry" Version="4.0.2" />
|
||||
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
|
||||
<PackageReference Include="SharpZipLib" Version="1.4.2" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.10" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.11" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.6.1" />
|
||||
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.1" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.2" />
|
||||
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
|
||||
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="6.0.1" />
|
||||
|
|
|
@ -51,7 +51,7 @@ namespace NzbDrone.Core.Test.IndexerTests.AvistazTests
|
|||
torrentInfo.InfoUrl.Should().Be("https://avistaz.to/torrent/187240-japan-sinks-people-of-hope-2021-s01e05-720p-nf-web-dl-ddp20-x264-seikel");
|
||||
torrentInfo.CommentUrl.Should().BeNullOrEmpty();
|
||||
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2021-11-14 22:26:21"));
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2021-11-14 21:26:21"));
|
||||
torrentInfo.Size.Should().Be(935127615);
|
||||
torrentInfo.InfoHash.Should().Be("a879261d4e6e792402f92401141a21de70d51bf2");
|
||||
torrentInfo.MagnetUrl.Should().Be(null);
|
||||
|
|
|
@ -51,7 +51,7 @@ namespace NzbDrone.Core.Test.IndexerTests.AvistazTests
|
|||
torrentInfo.InfoUrl.Should().Be("https://exoticaz.to/torrent/64040-ssis-419-my-first-experience-is-yua-mikami-from-the-day-i-lost-my-virginity-i-was-devoted-to-sex");
|
||||
torrentInfo.CommentUrl.Should().BeNullOrEmpty();
|
||||
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2022-06-11 10:04:50"));
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2022-06-11 09:04:50"));
|
||||
torrentInfo.Size.Should().Be(7085405541);
|
||||
torrentInfo.InfoHash.Should().Be("asdjfiasdf54asd7f4a2sdf544asdf");
|
||||
torrentInfo.MagnetUrl.Should().Be(null);
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests
|
|||
torrentInfo.InfoUrl.Should().Be("https://filelist.io/details.php?id=665873");
|
||||
torrentInfo.CommentUrl.Should().BeNullOrEmpty();
|
||||
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2020-01-25 20:20:19"));
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2020-01-25 19:20:19"));
|
||||
torrentInfo.Size.Should().Be(8300512414);
|
||||
torrentInfo.InfoHash.Should().Be(null);
|
||||
torrentInfo.MagnetUrl.Should().Be(null);
|
||||
|
|
|
@ -84,6 +84,6 @@ namespace NzbDrone.Core.Indexers.Definitions
|
|||
|
||||
public class AvistaZParser : AvistazParserBase
|
||||
{
|
||||
protected override string TimezoneOffset => "+01:00";
|
||||
protected override string TimezoneOffset => "+02:00";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ using System.Text;
|
|||
using System.Text.RegularExpressions;
|
||||
using AngleSharp.Dom;
|
||||
using Microsoft.AspNetCore.WebUtilities;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
|
@ -214,19 +215,19 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
|
|||
if (selector.Selector != null)
|
||||
{
|
||||
var selectorSelector = ApplyGoTemplateText(selector.Selector.TrimStart('.'), variables);
|
||||
selectorSelector = JsonParseFieldSelector(parentObj, selectorSelector);
|
||||
var fieldSelector = JsonParseFieldSelector(parentObj, selectorSelector);
|
||||
|
||||
JToken selection = null;
|
||||
if (selectorSelector != null)
|
||||
if (fieldSelector != null)
|
||||
{
|
||||
selection = parentObj.SelectToken(selectorSelector);
|
||||
selection = parentObj.SelectToken(fieldSelector);
|
||||
}
|
||||
|
||||
if (selection == null)
|
||||
{
|
||||
if (required)
|
||||
{
|
||||
throw new Exception(string.Format("Selector \"{0}\" didn't match {1}", selectorSelector, parentObj.ToString()));
|
||||
throw new Exception($"Selector \"{selectorSelector}\" didn't match {parentObj.ToString(Formatting.None)}");
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -234,7 +235,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
|
|||
|
||||
if (selection.Type is JTokenType.Array)
|
||||
{
|
||||
// turn this json array into a comma delimited string
|
||||
// turn this json array into a comma-delimited string
|
||||
var valueArray = selection.Value<JArray>();
|
||||
value = string.Join(",", valueArray);
|
||||
}
|
||||
|
@ -259,7 +260,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
|
|||
{
|
||||
if (required)
|
||||
{
|
||||
throw new Exception($"None of the case selectors \"{string.Join(",", selector.Case)}\" matched {parentObj}");
|
||||
throw new Exception($"None of the case selectors \"{string.Join(",", selector.Case)}\" matched {parentObj.ToString(Formatting.None)}");
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
|
@ -105,7 +105,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
|
|||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Trace(ex, "Failed to parse JSON rows count.");
|
||||
_logger.Debug(ex, "Failed to parse JSON rows count.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ namespace NzbDrone.Core.Indexers.Definitions
|
|||
{
|
||||
private readonly IndexerCapabilitiesCategories _categories;
|
||||
|
||||
protected override string TimezoneOffset => "+01:00";
|
||||
protected override string TimezoneOffset => "+02:00";
|
||||
|
||||
public ExoticaZParser(IndexerCapabilitiesCategories categories)
|
||||
{
|
||||
|
|
|
@ -77,7 +77,7 @@ public class FileListParser : IParseIndexerResponse
|
|||
InfoUrl = GetInfoUrl(id),
|
||||
Seeders = row.Seeders,
|
||||
Peers = row.Leechers + row.Seeders,
|
||||
PublishDate = DateTime.Parse(row.UploadDate + " +0200", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
|
||||
PublishDate = DateTime.Parse(row.UploadDate + " +0300", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
|
||||
Description = row.SmallDescription,
|
||||
Genres = row.SmallDescription.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).ToList(),
|
||||
ImdbId = imdbId,
|
||||
|
|
|
@ -20,7 +20,7 @@ public class SecretCinema : GazelleBase<GazelleSettings>
|
|||
{
|
||||
public override string Name => "Secret Cinema";
|
||||
public override string[] IndexerUrls => new[] { "https://secret-cinema.pw/" };
|
||||
public override string Description => "A tracker for rare movies.";
|
||||
public override string Description => "Secret Cinema is a Private ratioless site for rare MOVIES.";
|
||||
public override IndexerPrivacy Privacy => IndexerPrivacy.Private;
|
||||
public override IndexerCapabilities Capabilities => SetCapabilities();
|
||||
|
||||
|
@ -151,7 +151,7 @@ public class SecretCinemaParser : IParseIndexerResponse
|
|||
|
||||
if (torrent.RemasterTitle.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
release.Title += $" [{torrent.RemasterTitle.Trim()}]";
|
||||
release.Title += $" [{WebUtility.HtmlDecode(torrent.RemasterTitle).Trim()}]";
|
||||
}
|
||||
|
||||
// Replace media formats with standards
|
||||
|
|
|
@ -250,7 +250,11 @@ namespace NzbDrone.Core.Indexers
|
|||
{
|
||||
var response = await _httpClient.ExecuteProxiedAsync(request, Definition);
|
||||
|
||||
if (response.StatusCode is HttpStatusCode.MovedPermanently or HttpStatusCode.Found or HttpStatusCode.SeeOther)
|
||||
if (response.StatusCode is HttpStatusCode.MovedPermanently
|
||||
or HttpStatusCode.Found
|
||||
or HttpStatusCode.SeeOther
|
||||
or HttpStatusCode.TemporaryRedirect
|
||||
or HttpStatusCode.PermanentRedirect)
|
||||
{
|
||||
var autoRedirectChain = new List<string> { request.Url.ToString() };
|
||||
|
||||
|
|
|
@ -484,7 +484,7 @@
|
|||
"InfoUrl": "URL d'informació",
|
||||
"PublishedDate": "Data de publicació",
|
||||
"Redirected": "Redirecció",
|
||||
"AllSearchResultsHiddenByFilter": "Tots els resultats estan ocults pel filtre aplicat",
|
||||
"AllSearchResultsHiddenByFilter": "Tots els resultats estan ocults pel filtre aplicat.",
|
||||
"HealthMessagesInfoBox": "Podeu trobar més informació sobre la causa d'aquests missatges de comprovació de salut fent clic a l'enllaç wiki (icona del llibre) al final de la fila o consultant els vostres [registres]({link}). Si teniu problemes per a interpretar aquests missatges, podeu posar-vos en contacte amb el nostre suport als enllaços següents.",
|
||||
"AptUpdater": "Utilitzeu apt per a instal·lar l'actualització",
|
||||
"DockerUpdater": "actualitzeu el contenidor Docker per a rebre l'actualització",
|
||||
|
@ -512,5 +512,233 @@
|
|||
"MinimumSeeders": "Seeders mínims",
|
||||
"SeedRatio": "Ràtio de la llavor",
|
||||
"ApplicationSettingsSyncRejectBlocklistedTorrentHashesHelpText": "Si un torrent està bloquejat per un hash, pot ser que no es rebutgi correctament durant el RSS/Search per a alguns indexadors, habilitant això permetrà que es rebutgi després que s'agafi el torrent, però abans que s'enviï al client.",
|
||||
"SeedTime": "Temps de la llavor"
|
||||
"SeedTime": "Temps de la llavor",
|
||||
"DefaultCategory": "Categoria predeterminada",
|
||||
"IndexerVipExpiredHealthCheckMessage": "Els beneficis VIP de l'indexador han caducat: {indexerNames}",
|
||||
"MassEditor": "Editor de masses",
|
||||
"NoSearchResultsFound": "No s'han trobat resultats de cerca, proveu de realitzar una nova cerca a continuació.",
|
||||
"NotSupported": "No suportat",
|
||||
"OverrideAndAddToDownloadClient": "Sobreescriu i afegeix al client de baixada",
|
||||
"PackSeedTime": "Temps de la llavor del paquet",
|
||||
"SearchAllIndexers": "Cerca tots els indexadors",
|
||||
"SearchIndexers": "Cerca indexadors",
|
||||
"SeedTimeHelpText": "L'hora en què un torrent s'ha de sembrar abans d'aturar-se, buit és el predeterminat de l'aplicació",
|
||||
"SettingsIndexerLogging": "Registre de l'indexador millorat",
|
||||
"TotalIndexerSuccessfulGrabs": "Indexador total correcte",
|
||||
"BookSearch": "Cerca de llibres",
|
||||
"ClearHistoryMessageText": "Esteu segur que voleu netejar tot l'historial de {appName}?",
|
||||
"IndexerGazelleGamesSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"ClearHistory": "Neteja l'historial",
|
||||
"IndexerTorrentSyndikatSettingsApiKeyHelpText": "Clau de l'API del lloc",
|
||||
"IndexerGazelleGamesSettingsApiKeyHelpText": "Clau API del lloc (trobada a Configuració => Accés)",
|
||||
"IndexerBeyondHDSettingsRssKeyHelpText": "Clau RSS del lloc (trobada a Seguretat => Clau RSS)",
|
||||
"ApplicationsLoadError": "No s'ha pogut carregar la llista d'aplicacions",
|
||||
"BookSearchTypes": "Tipus de cerca de llibres",
|
||||
"DownloadClientCategory": "Baixa la categoria del client",
|
||||
"IndexerAuth": "Autor de l'indexador",
|
||||
"IndexerBeyondHDSettingsLimitedOnly": "Només limitat",
|
||||
"IndexerBeyondHDSettingsRefundOnly": "Només el reemborsament",
|
||||
"IndexerBeyondHDSettingsRefundOnlyHelpText": "Cerca només el reemborsament",
|
||||
"IndexerBeyondHDSettingsRewindOnlyHelpText": "Cerca només el rebobinat",
|
||||
"IndexerBeyondHDSettingsSearchTypes": "Tipus de cerca",
|
||||
"IndexerBeyondHDSettingsSearchTypesHelpText": "Seleccioneu els tipus de llançaments que us interessin. Si no hi ha cap seleccionat, s'utilitzen totes les opcions.",
|
||||
"IndexerDownloadClientHelpText": "Especifiqueu quin client de baixada s'utilitza per a les captures fetes a {appName} des d'aquest indexador",
|
||||
"IndexerGazelleGamesSettingsApiKeyHelpTextWarning": "Ha de tenir permisos d'usuari i torrents",
|
||||
"IndexerGazelleGamesSettingsSearchGroupNames": "Cerca noms de grup",
|
||||
"IndexerHDBitsSettingsFreeleechOnlyHelpText": "Mostra només els llançaments de freeleech",
|
||||
"IndexerHDBitsSettingsUseFilenames": "Utilitza els noms de fitxer",
|
||||
"IndexerHDBitsSettingsUseFilenamesHelpText": "Marqueu aquesta opció si voleu utilitzar noms de fitxer torrent com a títols de llançament",
|
||||
"IndexerHDBitsSettingsUsernameHelpText": "Nom d'usuari del lloc",
|
||||
"IndexerHealthCheckNoIndexers": "No hi ha indexadors activats, {appName} no retornarà els resultats de la cerca",
|
||||
"IndexerHistoryLoadError": "Error en carregar l'historial de l'indexador",
|
||||
"IndexerIPTorrentsSettingsCookieUserAgent": "Agent d'usuari de la galeta",
|
||||
"IndexerIPTorrentsSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"IndexerInfo": "Informació de l'indexador",
|
||||
"IndexerNebulanceSettingsApiKeyHelpText": "Clau API de la Configuració de l'usuari . Claus Api. La clau ha de tenir permisos de llista i baixada",
|
||||
"IndexerNewznabSettingsVipExpirationHelpText": "Data d'entrada (yyyy-mm-dd) per a la caducitat VIP o en blanc, {appName} notificarà 1 setmana des de la caducitat de VIP",
|
||||
"IndexerNoDefinitionCheckHealthCheckMessage": "Els indexadors no tenen definició i no funcionaran: {indexerNames}. Suprimiu i (o torneu a afegir) a {appName}.",
|
||||
"IndexerObsoleteCheckMessage": "Els indexadors estan obsolets o s'han actualitzat: {0}. Suprimiu i (o torneu a afegir) a {appName}",
|
||||
"IndexerPassThePopcornSettingsApiKeyHelpText": "Clau de l'API del lloc",
|
||||
"IndexerRss": "Indexador RSS",
|
||||
"IndexerSettingsGrabLimitHelpText": "El nombre màxim de captures especificat per la unitat respectiva que {appName} permetrà al lloc",
|
||||
"IndexerSettingsPackSeedTimeIndexerHelpText": "L'hora en què un paquet (temporada o discografia) s'ha de sembrar el torrent abans d'aturar-se, buit és el valor predeterminat de l'aplicació",
|
||||
"IndexerSettingsPreferMagnetUrl": "Prefereix l'URL de l'imant",
|
||||
"IndexerSettingsPreferMagnetUrlHelpText": "Quan està activat, aquest indexador preferirà l'ús d'URLs magnet per a les captures amb enllaços de reserva a torrents",
|
||||
"IndexerSettingsQueryLimitHelpText": "El nombre màxim de consultes especificat per la unitat respectiva que {appName} permetrà al lloc",
|
||||
"InitialFailure": "Fallada inicial",
|
||||
"NoIndexerCategories": "No s'ha trobat cap categoria per a aquest indexador",
|
||||
"RepeatSearch": "Cerca repetida",
|
||||
"SettingsLogRotateHelpText": "Nombre màxim de fitxers de registre a mantenir desats a la carpeta de registres",
|
||||
"SyncProfile": "Perfil de sincronització",
|
||||
"TotalUserAgentGrabs": "Total d'agents d'usuari",
|
||||
"UnableToLoadAppProfiles": "No s'han pogut carregar els perfils de l'aplicació",
|
||||
"VipExpiration": "Caducitat VIP",
|
||||
"IndexerOrpheusSettingsApiKeyHelpText": "Clau API del lloc (trobada a Configuració => Accés)",
|
||||
"IndexerRedactedSettingsApiKeyHelpText": "Clau API del lloc (trobada a Configuració => Accés)",
|
||||
"ProwlarrSupportsAnyIndexer": "{appName} admet molts indexadors, a més de qualsevol indexador que utilitzi l'estàndard Newznab/Torznab utilitzant 'Generic Newznab' (per usenet) o 'Generic Torznab' (per torrents). Cerca i selecciona el teu indexador des de sota.",
|
||||
"DownloadClientSettingsDefaultCategorySubFolderHelpText": "Categoria alternativa predeterminada si no hi ha cap categoria assignada per a un llançament. Afegir una categoria específica a {appName} evita conflictes amb baixades no relacionades amb {appName}. L'ús d'una categoria és opcional, però molt recomanable.",
|
||||
"AppProfileSelectHelpText": "Els perfils d'aplicació s'utilitzen per controlar RSS, la cerca automàtica i la configuració de cerca interactiva en sincronitzar aplicacions",
|
||||
"AudioSearch": "Cerca d'àudio",
|
||||
"IndexerSettingsAppsMinimumSeeders": "Aplicacions de cercadors mínims",
|
||||
"DeleteApplication": "Suprimeix l'aplicació",
|
||||
"DownloadClientSettingsPriorityItemHelpText": "Prioritat a usar en capturar elements",
|
||||
"DownloadClientSettingsDefaultCategoryHelpText": "Categoria alternativa predeterminada si no hi ha cap categoria assignada per a un llançament. Afegir una categoria específica a {appName} evita conflictes amb baixades no relacionades amb {appName}. L'ús d'una categoria és opcional, però molt recomanable.",
|
||||
"EditCategory": "Edita la categoria",
|
||||
"IndexerQuery": "Consulta de l'indexador",
|
||||
"IndexerSettingsBaseUrl": "Url base",
|
||||
"IndexerSettingsCookieHelpText": "Cookie del lloc",
|
||||
"IndexerSettingsLimitsUnitHelpText": "La unitat de temps per comptar els límits per indexador",
|
||||
"IndexerSettingsPackSeedTime": "Temps de la llavor del paquet",
|
||||
"IndexerSite": "Lloc indexador",
|
||||
"IndexerTagsHelpTextWarning": "Les etiquetes s'han d'utilitzar amb precaució, poden tenir efectes no desitjats. Un indexador amb una etiqueta només sincronitzarà amb aplicacions amb la mateixa etiqueta.",
|
||||
"IndexerSettingsSummary": "Configura diversos paràmetres globals de l'indexador.",
|
||||
"ManageApplications": "Gestiona les aplicacions",
|
||||
"PackSeedTimeHelpText": "L'hora en què un paquet (temporada o discografia) s'ha de sembrar el torrent abans d'aturar-se, buit és el valor predeterminat de l'aplicació",
|
||||
"PreferMagnetUrl": "Prefereix l'URL de l'imant",
|
||||
"PreferMagnetUrlHelpText": "Quan està activat, aquest indexador preferirà l'ús d'URLs magnet per a les captures amb enllaços de reserva a torrents",
|
||||
"ProwlarrDownloadClientsInAppOnlyAlert": "Els clients de baixada només són per a les cerques a l'aplicació {appName} i no sincronitzen amb les aplicacions. No hi ha plans per afegir aquesta funcionalitat.",
|
||||
"IndexerBeyondHDSettingsRewindOnly": "Només rebobina",
|
||||
"ProxyValidationUnableToConnect": "No s'ha pogut connectar al servidor intermediari: {exceptionMessage}. Comprova els detalls del registre que envolta aquest error",
|
||||
"QueryOptions": "Opcions de la consulta",
|
||||
"TestAllApps": "Prova totes les aplicacions",
|
||||
"TotalHostQueries": "Total de consultes de l'amfitrió",
|
||||
"AverageGrabs": "Mitjana d'herba",
|
||||
"AverageQueries": "Mitjana de consultes",
|
||||
"FilterPlaceHolder": "Cerca indexadors",
|
||||
"IndexerBeyondHDSettingsLimitedOnlyHelpText": "Cerca només freeleech (Limited UL)",
|
||||
"IndexerBeyondHDSettingsApiKeyHelpText": "Clau API del lloc (trobada a Seguretat => Clau API)",
|
||||
"IndexerSettingsVipExpiration": "Caducitat VIP",
|
||||
"IndexerVipExpiringHealthCheckMessage": "Els beneficis VIP de l'indexador expiraran aviat: {indexerNames}",
|
||||
"LastFailure": "Darrera fallada",
|
||||
"MovieSearch": "Cerca de pel·lícules",
|
||||
"MovieSearchTypes": "Tipus de cerca de pel·lícules",
|
||||
"MusicSearchTypes": "Tipus de cerca de música",
|
||||
"QueryType": "Tipus de consulta",
|
||||
"RssQueries": "Consultes RSS",
|
||||
"SyncLevelFull": "Sincronització completa: mantindrà els indexadors d'aquesta aplicació completament sincronitzats. Els canvis fets als indexadors a {appName} se sincronitzen amb aquesta aplicació. Qualsevol canvi fet a indexadors remotament dins d'aquesta aplicació serà anul·lat per {appName} en la següent sincronització.",
|
||||
"TotalHostGrabs": "Total d'amfitrions",
|
||||
"TotalQueries": "Total de consultes",
|
||||
"NoApplicationsFound": "No s'ha trobat cap aplicació",
|
||||
"SyncProfiles": "Sincronitza els perfils",
|
||||
"TorznabUrl": "Url Torznab",
|
||||
"TvSearch": "Cerca de TV",
|
||||
"DeleteIndexerProxy": "Suprimeix el servidor intermediari de l'indexador",
|
||||
"DisabledUntil": "Desactivat fins",
|
||||
"GrabTitle": "Captura el títol",
|
||||
"SettingsIndexerLoggingHelpText": "Registra dades addicionals de l'indexador",
|
||||
"SyncLevel": "Nivell de sincronització",
|
||||
"AdvancedSettingsHiddenClickToShow": "Configuració avançada oculta, feu clic per mostrar",
|
||||
"AdvancedSettingsShownClickToHide": "Configuració avançada mostrada, feu clic per amagar",
|
||||
"AppsMinimumSeeders": "Aplicacions de cercadors mínims",
|
||||
"AppsMinimumSeedersHelpText": "«Mínims filtradors requerits per les Aplicacions perquè l'indexador s'agafi",
|
||||
"CountIndexersAvailable": "{count} indexador(s) disponible",
|
||||
"HistoryCleanup": "Neteja de l'historial",
|
||||
"HistoryDetails": "Detalls de l'historial",
|
||||
"SettingsFilterSentryEventsHelpText": "Filtra els esdeveniments d'error d'usuari coneguts perquè s'enviïn com a Analytics",
|
||||
"MappedCategories": "Categories assignades",
|
||||
"AppSettingsSummary": "Aplicacions i paràmetres per configurar com {appName} interactua amb els vostres programes PVR",
|
||||
"ConnectSettingsSummary": "Notificacions i scripts personalitzats",
|
||||
"DeleteClientCategory": "Suprimeix la categoria del client de baixada",
|
||||
"FullSync": "Sincronització completa",
|
||||
"IndexerAlreadySetup": "Almenys una instància de l'indexador ja està configurada",
|
||||
"RawSearchSupported": "S'admet la cerca RAW",
|
||||
"RssFeed": "Canal RSS",
|
||||
"SearchTypes": "Tipus de cerca",
|
||||
"SeedRatioHelpText": "La relació a la qual ha d'arribar un torrent abans d'aturar-se, buida és la predeterminada de l'aplicació",
|
||||
"SemiPrivate": "Semi-Privada",
|
||||
"TotalIndexerQueries": "Total de consultes de l'indexador",
|
||||
"TotalUserAgentQueries": "Total de consultes d'agents d'usuari",
|
||||
"GoToApplication": "Ves a l'aplicació",
|
||||
"Url": "Url",
|
||||
"AreYouSureYouWantToDeleteIndexer": "Esteu segur que voleu suprimir '{name}' de {appName}?",
|
||||
"AverageResponseTimesMs": "Temps mitjà de resposta de l'indexador (ms)",
|
||||
"FoundCountReleases": "S'han trobat {itemCount} versions",
|
||||
"AuthQueries": "Consultes d'Autorització",
|
||||
"BasicSearch": "Cerca bàsica",
|
||||
"IndexerName": "Nom de l'indexador",
|
||||
"IndexerStatus": "Estat de l'indexador",
|
||||
"IndexerTagsHelpText": "Utilitzeu etiquetes per especificar els intermediaris de l'indexador o a quines aplicacions se sincronitza l'indexador.",
|
||||
"NewznabUrl": "Url Newznab",
|
||||
"SearchCountIndexers": "Cerca {count} indexador",
|
||||
"UnableToLoadDevelopmentSettings": "No s'han pogut carregar els paràmetres de desenvolupament",
|
||||
"SettingsFilterSentryEvents": "Filtra els esdeveniments d'anàlisi",
|
||||
"ApplicationTagsHelpText": "Sincronitza els indexadors d'aquesta aplicació que tenen una o més etiquetes coincidents. Si no es llisten etiquetes aquí, llavors no s'impedirà la sincronització d'indexadors a causa de les seves etiquetes.",
|
||||
"ApplicationTagsHelpTextWarning": "Les etiquetes s'han d'utilitzar amb precaució, poden tenir efectes no desitjats. Una aplicació amb una etiqueta només sincronitzarà amb els indexadors que tinguin la mateixa etiqueta.",
|
||||
"DeleteSelectedApplications": "Suprimeix les aplicacions seleccionades",
|
||||
"DownloadClientsSettingsSummary": "Baixa la configuració dels clients per a la integració a la cerca de la interfície d'usuari {appName}",
|
||||
"ElapsedTime": "Temps transcorregut",
|
||||
"EnableIndexer": "Habilita l'indexador",
|
||||
"EnableRssHelpText": "Habilita el canal RSS per a l'indexador",
|
||||
"IncludeManualGrabsHelpText": "Inclou les notes manuals fetes a {appName}",
|
||||
"IndexerFailureRate": "Taxa de fallada de l'indexador",
|
||||
"ProwlarrSupportsAnyDownloadClient": "{appName} admet qualsevol dels clients de baixada que es llisten a continuació.",
|
||||
"TotalGrabs": "Grabs totals",
|
||||
"IndexerDetails": "Detalls de l'indexador",
|
||||
"IndexerPriorityHelpText": "Prioritat de l'indexador des de l'1 (el més alt) fins al 50 (el més oest). Per defecte: 25.",
|
||||
"IndexerProxy": "Servidor intermediari de l'indexador",
|
||||
"UISettingsSummary": "Opcions de data, idioma i color defectuoses",
|
||||
"IndexerCategories": "Categories de l'indexador",
|
||||
"IndexerPassThePopcornSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"SearchCapabilities": "Capacitats de cerca",
|
||||
"SearchType": "Tipus de cerca",
|
||||
"SettingsLogSql": "Registre Sql",
|
||||
"SyncLevelAddRemove": "Afegeix i elimina només: quan s'afegeixen o s'eliminen els indexadors de {appName}, s'actualitzarà aquesta aplicació remota.",
|
||||
"IndexerProxies": "Propis de l'indexador",
|
||||
"ApplicationSettingsSyncRejectBlocklistedTorrentHashes": "Sincronitza les fulles del torrent de la llista de blocs en bloc mentre s'agafa",
|
||||
"CertificateValidationHelpText": "Canvia l'estricta validació de la certificació HTTPS",
|
||||
"IndexerDisabled": "Indexador desactivat",
|
||||
"IndexerFileListSettingsPasskeyHelpText": "Contrasenya del lloc (Aquesta és la cadena alfanumèrica a l'URL del seguidor que es mostra al client de baixada)",
|
||||
"IndexerSettingsQueryLimit": "Límit de consulta",
|
||||
"IndexerHDBitsSettingsPasskeyHelpText": "Contrasenya dels detalls de l'usuari",
|
||||
"IndexerSettingsPasskey": "Clau de pas",
|
||||
"ClickToChangeQueryOptions": "Feu clic per a canviar les opcions de consulta",
|
||||
"EnabledRedirected": "Activat, redirigit",
|
||||
"Parameters": "Paràmetres",
|
||||
"QueryResults": "Resultats de la consulta",
|
||||
"RedirectHelpText": "Redirigeix la sol·licitud de baixada entrant per a l'indexador i passa la captura directament en lloc de intermediaris a través de {appName}",
|
||||
"UnableToLoadIndexerProxies": "No s'han pogut carregar els intermediaris de l'indexador",
|
||||
"IndexerId": "ID de l'indexador",
|
||||
"IndexerAlphaRatioSettingsExcludeScene": "Exclou l'escena",
|
||||
"IndexerAlphaRatioSettingsExcludeSceneHelpText": "Exclou els llançaments d'escenes dels resultats",
|
||||
"IndexerAlphaRatioSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"IndexerBeyondHDSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"IndexerFileListSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"IndexerFileListSettingsUsernameHelpText": "Nom d'usuari del lloc",
|
||||
"IndexerGazelleGamesSettingsSearchGroupNamesHelpText": "Cerca publicacions per noms de grup",
|
||||
"IndexerHDBitsSettingsOrigins": "Orígens",
|
||||
"IndexerIPTorrentsSettingsCookieUserAgentHelpText": "Agent d'usuari associat a la cookie utilitzada des del navegador",
|
||||
"IndexerNewznabSettingsApiKeyHelpText": "Clau de l'API del lloc",
|
||||
"IndexerNzbIndexSettingsApiKeyHelpText": "Clau de l'API del lloc",
|
||||
"IndexerSettingsAppsMinimumSeedersHelpText": "«Mínims filtradors requerits per les Aplicacions perquè l'indexador s'agafi",
|
||||
"IndexerSettingsFreeleechOnly": "Només Freeleech",
|
||||
"IndexerSettingsGrabLimit": "Límit de captura",
|
||||
"IndexerSettingsLimitsUnit": "Unitats de límits",
|
||||
"IndexerSettingsRssKey": "Clau RSS",
|
||||
"SelectIndexers": "Selecciona els indexadors",
|
||||
"SettingsSqlLoggingHelpText": "Registra totes les consultes SQL de {appName}",
|
||||
"SyncAppIndexers": "Sincronitza els indexadors d'aplicacions",
|
||||
"AppProfileInUse": "Perfil d'aplicació en ús",
|
||||
"DeleteAppProfile": "Suprimeix el perfil de l'aplicació",
|
||||
"TVSearchTypes": "Tipus de cerca de TV",
|
||||
"IndexerMTeamTpSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"IndexerMTeamTpSettingsApiKeyHelpText": "Clau API del Lloc (trobada a Tauler de control de l'usuari => Seguretat => Laboratori)",
|
||||
"MinimumSeedersHelpText": "Visors mínims requerits per l'aplicació perquè l'indexador s'agafi",
|
||||
"NoIndexerHistory": "No s'ha trobat cap historial per a aquest indexador",
|
||||
"SearchQueries": "Cerca consultes",
|
||||
"SettingsConsoleLogLevel": "Nivell de registre de la consola",
|
||||
"IndexerPassThePopcornSettingsGoldenPopcornOnly": "Només blat de moro daurat",
|
||||
"IndexerPassThePopcornSettingsGoldenPopcornOnlyHelpText": "Cerca només els llançaments Golden Popcorn",
|
||||
"Open": "Obre",
|
||||
"ProwlarrDownloadClientsAlert": "Si voleu fer cerques directament dins de {appName}, heu d'afegir Clients de Baixades. En cas contrari, no cal afegir-les aquí. Per a les cerques des de les teves Apps, els clients de descàrrega configurats s'utilitzen en el seu lloc.",
|
||||
"Website": "Lloc web",
|
||||
"DownloadClientQbittorrentSettingsUseSslHelpText": "Utilitza una connexió segura. Vegeu Opcions -> Interfície web -> 'Utilitza HTTPS en comptes d'HTTP' a qBittorrent.",
|
||||
"IndexerAvistazSettingsFreeleechOnlyHelpText": "Cerca només els llançaments de freeleech",
|
||||
"IndexerAvistazSettingsPasswordHelpText": "Contrasenya del lloc",
|
||||
"IndexerAvistazSettingsPidHelpText": "PID de la pàgina del meu compte o del meu perfil",
|
||||
"IndexerAvistazSettingsUsernameHelpText": "Nom d'usuari del lloc",
|
||||
"IndexerAvistazSettingsUsernameHelpTextWarning": "Només el rang de membre i superior pot utilitzar l'API en aquest indexador.",
|
||||
"SelectedCountOfCountReleases": "S'han seleccionat {selectedCount} de les versions {itemCount}",
|
||||
"SettingsLogRotate": "Rotació del registre",
|
||||
"AreYouSureYouWantToDeleteCategory": "Esteu segur que voleu suprimir la categoria assignada?",
|
||||
"Book": "Llibre"
|
||||
}
|
||||
|
|
|
@ -207,7 +207,7 @@
|
|||
"StartTypingOrSelectAPathBelow": "Aloita kirjoitus tai valitse sijainti alta",
|
||||
"StartupDirectory": "Käynnistyskansio",
|
||||
"TableOptions": "Taulukkonäkymän asetukset",
|
||||
"TableOptionsColumnsMessage": "Valitse näytettävät sarakkeet ja niiden järjestys",
|
||||
"TableOptionsColumnsMessage": "Valitse näytettävät sarakkeet ja niiden järjestys.",
|
||||
"TagsHelpText": "Käytetään vähintään yhdellä täsmäävällä tunnisteella merkityille hakupalveluille.",
|
||||
"UnableToAddANewAppProfilePleaseTryAgain": "Virhe lisättäessä sovellusprofiilia. Yritä uudelleen.",
|
||||
"UnableToAddANewNotificationPleaseTryAgain": "Ilmoituspalvelun lisääminen epäonnistui. Yritä uudelleen.",
|
||||
|
@ -805,6 +805,6 @@
|
|||
"IndexerPassThePopcornSettingsGoldenPopcornOnly": "Vain \"Golden Popcorn\"",
|
||||
"IndexerPassThePopcornSettingsGoldenPopcornOnlyHelpText": "Etsi vain ns. kultaisella pocornilla merkittyjä julkaisuja.",
|
||||
"IndexerSettingsFreeleechOnly": "Vain \"Freeleech\"",
|
||||
"IndexerSettingsCookieHelpText": "Jos sivusto vaatii kirjautumisevästeen, se on noudettava selaimen kautta.",
|
||||
"IndexerSettingsCookieHelpText": "Jos sivusto vaatii kirjautumisevästeen, on se noudettava selaimen avulla.",
|
||||
"IndexerAvistazSettingsPasswordHelpText": "Sivuston salasana"
|
||||
}
|
||||
|
|
|
@ -11,18 +11,18 @@
|
|||
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="2.1.7" />
|
||||
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.9" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.10" />
|
||||
<PackageReference Include="Polly" Version="8.5.2" />
|
||||
<PackageReference Include="Servarr.FluentMigrator.Runner" Version="3.3.2.9" />
|
||||
<PackageReference Include="Servarr.FluentMigrator.Runner.Postgres" Version="3.3.2.9" />
|
||||
<PackageReference Include="Servarr.FluentMigrator.Runner.SQLite" Version="3.3.2.9" />
|
||||
<PackageReference Include="System.Memory" Version="4.6.0" />
|
||||
<PackageReference Include="System.Memory" Version="4.6.3" />
|
||||
<PackageReference Include="System.ServiceModel.Syndication" Version="6.0.0" />
|
||||
<PackageReference Include="FluentValidation" Version="9.5.4" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.10" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.11" />
|
||||
<PackageReference Include="MonoTorrent" Version="2.0.7" />
|
||||
<PackageReference Include="YamlDotNet" Version="13.1.1" />
|
||||
<PackageReference Include="AngleSharp" Version="1.2.0" />
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.4.0" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.2" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.3" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.3.2" />
|
||||
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
|
||||
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="6.2.0" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<ItemGroup>
|
||||
<PackageReference Include="FluentValidation" Version="9.5.4" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.3.2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Core\Prowlarr.Core.csproj" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue