Compare commits

...

14 Commits

Author SHA1 Message Date
Bogdan
cfdf88a1e2 Add exceptions to logs for indexers and apps 2024-01-20 04:49:16 +02:00
bakerboy448
70a5dae293 Fixed: Don't lowercase UrlBase in ConfigFileProvider
UrlBase should honour the case it is given.

(cherry picked from commit e1de523c89f7649e64f520b090bbdb2f56cc4b85)
(cherry picked from commit 9ccefe00951d2959ef79bdaa5731d95f97162d46)

Co-authored-by: Marty Zalega <marty@zalega.me>
2024-01-20 01:34:20 +02:00
Bogdan
b53f8d4552 Bump version to 1.13.0 2024-01-18 05:23:29 +02:00
Weblate
9668e91b21 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: Deleted User <noreply+2593@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pl/
Translation: Servarr/Prowlarr
2024-01-17 23:01:59 +02:00
Bogdan
49857693c0 Fix count in GGn fixture after allowing only torrents 2024-01-17 11:14:00 +02:00
Bogdan
850315ad1c Fixed: (GGn) Improve titles and allow only torrents 2024-01-17 10:45:02 +02:00
Mark McDowall
86124d4319 New: Optional directory setting for Aria2
(cherry picked from commit fd17df0dd03a5feb088c3241a247eac20f0e8c6c)
2024-01-17 07:49:51 +02:00
Bogdan
4f28d583d7 Throw download as failed for invalid magnet links 2024-01-17 07:40:17 +02:00
Stevie Robinson
01f3930211 Sort Custom Filters
(cherry picked from commit e4b5d559df2d5f3d55e16aae5922509e84f31e64)
2024-01-17 07:38:23 +02:00
Weblate
7c7114c87a Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: Daniele Prevedello <dprevedello86@gmail.com>
Co-authored-by: DimitriDR <dimitridroeck@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Trooper57 <igorkcs@gmail.com>
Co-authored-by: Watashi <drazy24@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: crayon3shawn <crayon3shawn@gmail.com>
Co-authored-by: hansaudun <hans@n5.no>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/zh_TW/
Translation: Servarr/Prowlarr
2024-01-16 05:11:12 +02:00
Bogdan
ef8e6d774b Fix typo 2024-01-16 05:10:20 +02:00
Bogdan
2960fc37d9 Fixed: (FL) Improve error message for service unavailable 2024-01-16 04:58:17 +02:00
Qstick
8bddf753bb Bump Inno version to 6.2.2
(cherry picked from commit c5992ed944b2d4f2f41a08ac407c0f013da61ea6)

Build report can get sent before installer finished

(cherry picked from commit 60d9aacac64b39fd22d43e8b1ca4641bd60a9b48)
2024-01-14 21:44:58 +02:00
Bogdan
cff24b3fd4 Bump version to 1.12.2 2024-01-14 07:13:34 +02:00
25 changed files with 262 additions and 120 deletions

View File

@@ -9,7 +9,7 @@ variables:
testsFolder: './_tests'
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
majorVersion: '1.12.1'
majorVersion: '1.13.0'
minorVersion: $[counter('minorVersion', 1)]
prowlarrVersion: '$(majorVersion).$(minorVersion)'
buildName: '$(Build.SourceBranchName).$(prowlarrVersion)'
@@ -17,7 +17,7 @@ variables:
sentryUrl: 'https://sentry.servarr.com'
dotnetVersion: '6.0.417'
nodeVersion: '16.X'
innoVersion: '6.2.0'
innoVersion: '6.2.2'
windowsImage: 'windows-2022'
linuxImage: 'ubuntu-20.04'
macImage: 'macOS-11'
@@ -1206,6 +1206,7 @@ stages:
- stage: Report_Out
dependsOn:
- Analyze
- Installer
- Unit_Test
- Integration
- Automation

View File

@@ -254,7 +254,7 @@ InstallInno()
ProgressStart "Installing portable Inno Setup"
rm -rf _inno
curl -s --output innosetup.exe "https://files.jrsoftware.org/is/6/innosetup-${INNOVERSION:-6.2.0}.exe"
curl -s --output innosetup.exe "https://files.jrsoftware.org/is/6/innosetup-${INNOVERSION:-6.2.2}.exe"
mkdir _inno
./innosetup.exe //portable=1 //silent //currentuser //dir=.\\_inno
rm innosetup.exe

View File

@@ -30,22 +30,24 @@ function CustomFiltersModalContent(props) {
<ModalBody>
{
customFilters.map((customFilter) => {
return (
<CustomFilter
key={customFilter.id}
id={customFilter.id}
label={customFilter.label}
filters={customFilter.filters}
selectedFilterKey={selectedFilterKey}
isDeleting={isDeleting}
deleteError={deleteError}
dispatchSetFilter={dispatchSetFilter}
dispatchDeleteCustomFilter={dispatchDeleteCustomFilter}
onEditPress={onEditCustomFilter}
/>
);
})
customFilters
.sort((a, b) => a.label.localeCompare(b.label))
.map((customFilter) => {
return (
<CustomFilter
key={customFilter.id}
id={customFilter.id}
label={customFilter.label}
filters={customFilter.filters}
selectedFilterKey={selectedFilterKey}
isDeleting={isDeleting}
deleteError={deleteError}
dispatchSetFilter={dispatchSetFilter}
dispatchDeleteCustomFilter={dispatchDeleteCustomFilter}
onEditPress={onEditCustomFilter}
/>
);
})
}
<div className={styles.addButtonContainer}>

View File

@@ -40,18 +40,26 @@ class FilterMenuContent extends Component {
}
{
customFilters.map((filter) => {
return (
<FilterMenuItem
key={filter.id}
filterKey={filter.id}
selectedFilterKey={selectedFilterKey}
onPress={onFilterSelect}
>
{filter.label}
</FilterMenuItem>
);
})
customFilters.length > 0 ?
<MenuItemSeparator /> :
null
}
{
customFilters
.sort((a, b) => a.label.localeCompare(b.label))
.map((filter) => {
return (
<FilterMenuItem
key={filter.id}
filterKey={filter.id}
selectedFilterKey={selectedFilterKey}
onPress={onFilterSelect}
>
{filter.label}
</FilterMenuItem>
);
})
}
{

View File

@@ -92,6 +92,10 @@ namespace NzbDrone.Common.Http
{
data = new XElement("base64", Convert.ToBase64String(bytes));
}
else if (value is Dictionary<string, string> d)
{
data = new XElement("struct", d.Select(p => new XElement("member", new XElement("name", p.Key), new XElement("value", p.Value))));
}
else
{
throw new InvalidOperationException($"Unhandled argument type {value.GetType().Name}");

View File

@@ -40,7 +40,7 @@ namespace NzbDrone.Core.Test.IndexerTests.GazelleGamesTests
var releases = (await Subject.Fetch(new BasicSearchCriteria { Categories = new[] { 2000 } })).Releases;
releases.Should().HaveCount(1463);
releases.Should().HaveCount(1462);
releases.First().Should().BeOfType<TorrentInfo>();
var torrentInfo = releases.First() as TorrentInfo;

View File

@@ -252,11 +252,11 @@ namespace NzbDrone.Core.Applications
if (webException.Message.Contains("502") || webException.Message.Contains("503") ||
webException.Message.Contains("timed out"))
{
_logger.Warn("{0} server is currently unavailable. {1}", this, webException.Message);
_logger.Warn(webException, "{0} server is currently unavailable. {1}", this, webException.Message);
}
else
{
_logger.Warn("{0} {1}", this, webException.Message);
_logger.Warn(webException, "{0} {1}", this, webException.Message);
}
}
catch (TooManyRequestsException ex)
@@ -264,12 +264,12 @@ namespace NzbDrone.Core.Applications
var minimumBackOff = ex.RetryAfter != TimeSpan.Zero ? ex.RetryAfter : TimeSpan.FromHours(1);
_applicationStatusService.RecordFailure(application.Definition.Id, minimumBackOff);
_logger.Warn("API Request Limit reached for {0}", this);
_logger.Warn(ex, "API Request Limit reached for {0}", this);
}
catch (HttpException ex)
{
_applicationStatusService.RecordFailure(application.Definition.Id);
_logger.Warn("{0} {1}", this, ex.Message);
_logger.Warn(ex, "{0} {1}", this, ex.Message);
}
catch (Exception ex)
{
@@ -301,11 +301,11 @@ namespace NzbDrone.Core.Applications
if (webException.Message.Contains("502") || webException.Message.Contains("503") ||
webException.Message.Contains("timed out"))
{
_logger.Warn("{0} server is currently unavailable. {1}", this, webException.Message);
_logger.Warn(webException, "{0} server is currently unavailable. {1}", this, webException.Message);
}
else
{
_logger.Warn("{0} {1}", this, webException.Message);
_logger.Warn(webException, "{0} {1}", this, webException.Message);
}
}
catch (TooManyRequestsException ex)
@@ -313,12 +313,12 @@ namespace NzbDrone.Core.Applications
var minimumBackOff = ex.RetryAfter != TimeSpan.Zero ? ex.RetryAfter : TimeSpan.FromHours(1);
_applicationStatusService.RecordFailure(application.Definition.Id, minimumBackOff);
_logger.Warn("API Request Limit reached for {0}", this);
_logger.Warn(ex, "API Request Limit reached for {0}", this);
}
catch (HttpException ex)
{
_applicationStatusService.RecordFailure(application.Definition.Id);
_logger.Warn("{0} {1}", this, ex.Message);
_logger.Warn(ex, "{0} {1}", this, ex.Message);
}
catch (Exception ex)
{

View File

@@ -227,7 +227,7 @@ namespace NzbDrone.Core.Configuration
return urlBase;
}
return "/" + urlBase.Trim('/').ToLower();
return "/" + urlBase;
}
}

View File

@@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.Xml.XPath;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Download.Extensions;
@@ -95,8 +96,14 @@ namespace NzbDrone.Core.Download.Clients.Aria2
public string AddUri(Aria2Settings settings, string magnet)
{
var response = ExecuteRequest(settings, "aria2.addUri", GetToken(settings), new List<string> { magnet });
var options = new Dictionary<string, string>();
if (settings.Directory.IsNotNullOrWhiteSpace())
{
options.Add("dir", settings.Directory);
}
var response = ExecuteRequest(settings, "aria2.addUri", GetToken(settings), new List<string> { magnet }, options);
var gid = response.GetStringResponse();
return gid;
@@ -104,8 +111,16 @@ namespace NzbDrone.Core.Download.Clients.Aria2
public string AddTorrent(Aria2Settings settings, byte[] torrent)
{
var response = ExecuteRequest(settings, "aria2.addTorrent", GetToken(settings), torrent);
// Aria2's second parameter is an array of URIs and needs to be sent if options are provided, this satisfies that requirement.
var emptyListOfUris = new List<string>();
var options = new Dictionary<string, string>();
if (settings.Directory.IsNotNullOrWhiteSpace())
{
options.Add("dir", settings.Directory);
}
var response = ExecuteRequest(settings, "aria2.addTorrent", GetToken(settings), torrent, emptyListOfUris, options);
var gid = response.GetStringResponse();
return gid;

View File

@@ -41,6 +41,9 @@ namespace NzbDrone.Core.Download.Clients.Aria2
[FieldDefinition(4, Label = "Secret token", Type = FieldType.Password, Privacy = PrivacyLevel.Password)]
public string SecretToken { get; set; }
[FieldDefinition(5, Label = "Directory", Type = FieldType.Textbox, HelpText = "DownloadClientAriaSettingsDirectoryHelpText")]
public string Directory { get; set; }
public NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));

View File

@@ -171,9 +171,7 @@ namespace NzbDrone.Core.Download
}
catch (FormatException ex)
{
_logger.Error(ex, "Failed to parse magnetlink for release '{0}': '{1}'", release.Title, magnetUrl);
return null;
throw new ReleaseDownloadException("Failed to parse magnetlink for release '{0}': '{1}'", ex, release.Title, magnetUrl);
}
if (hash != null)

View File

@@ -38,3 +38,8 @@ public class FileListTorrent
[JsonPropertyName("small_description")]
public string SmallDescription { get; set; }
}
public class FileListErrorResponse
{
public string Error { get; set; }
}

View File

@@ -28,9 +28,14 @@ public class FileListParser : IParseIndexerResponse
throw new IndexerException(indexerResponse, "Unexpected response status {0} code from indexer request", indexerResponse.HttpResponse.StatusCode);
}
if (indexerResponse.Content.StartsWith("{\"error\"") && STJson.TryDeserialize<FileListErrorResponse>(indexerResponse.Content, out var errorResponse))
{
throw new IndexerException(indexerResponse, "Unexpected response from indexer request: {0}", errorResponse.Error);
}
if (!indexerResponse.HttpResponse.Headers.ContentType.Contains(HttpAccept.Json.Value))
{
throw new IndexerException(indexerResponse, $"Unexpected response header {indexerResponse.HttpResponse.Headers.ContentType} from indexer request, expected {HttpAccept.Json.Value}");
throw new IndexerException(indexerResponse, "Unexpected response header {0} from indexer request, expected {1}", indexerResponse.HttpResponse.Headers.ContentType, HttpAccept.Json.Value);
}
var releaseInfos = new List<ReleaseInfo>();

View File

@@ -394,7 +394,7 @@ namespace NzbDrone.Core.Indexers.Definitions
var torrents = groupTorrents
.ToObject<Dictionary<int, GazelleGamesTorrent>>(JsonSerializer.Create(Json.GetSerializerSettings()))
.Where(t => t.Value.TorrentType != "Link")
.Where(t => t.Value.TorrentType.ToUpperInvariant() == "TORRENT")
.ToList();
var categories = group.Value.Artists
@@ -470,6 +470,11 @@ namespace NzbDrone.Core.Indexers.Definitions
flags.AddIfNotNull(torrent.Region);
flags.AddIfNotNull(torrent.Miscellaneous);
if (torrent.Dupable == 1)
{
flags.Add("Trumpable");
}
flags = flags.Where(x => x.IsNotNullOrWhiteSpace()).ToList();
if (flags.Any())
@@ -477,6 +482,11 @@ namespace NzbDrone.Core.Indexers.Definitions
title += $" [{string.Join(" / ", flags)}]";
}
if (torrent.GameDoxType.IsNotNullOrWhiteSpace())
{
title += $" [{torrent.GameDoxType.Trim()}]";
}
return title;
}
@@ -570,6 +580,7 @@ namespace NzbDrone.Core.Indexers.Definitions
public string ReleaseTitle { get; set; }
public string Miscellaneous { get; set; }
public int Scene { get; set; }
public int Dupable { get; set; }
public DateTime Time { get; set; }
public string TorrentType { get; set; }
public int FileCount { get; set; }
@@ -580,6 +591,9 @@ namespace NzbDrone.Core.Indexers.Definitions
public GazelleGamesFreeTorrent FreeTorrent { get; set; }
public bool PersonalFL { get; set; }
public bool LowSeedFL { get; set; }
[JsonProperty("GameDOXType")]
public string GameDoxType { get; set; }
}
public class GazelleGamesUserResponse

View File

@@ -388,11 +388,11 @@ namespace NzbDrone.Core.Indexers
if (webException.Message.Contains("502") || webException.Message.Contains("503") ||
webException.Message.Contains("504") || webException.Message.Contains("timed out"))
{
_logger.Warn("{0} server is currently unavailable. {1} {2}", this, url, webException.Message);
_logger.Warn(webException, "{0} server is currently unavailable. {1} {2}", this, url, webException.Message);
}
else
{
_logger.Warn("{0} {1} {2}", this, url, webException.Message);
_logger.Warn(webException, "{0} {1} {2}", this, url, webException.Message);
}
}
catch (TooManyRequestsException ex)
@@ -402,7 +402,7 @@ namespace NzbDrone.Core.Indexers
var retryTime = ex.RetryAfter != TimeSpan.Zero ? ex.RetryAfter : minimumBackoff;
_indexerStatusService.RecordFailure(Definition.Id, retryTime);
_logger.Warn("Request Limit reached for {0}. Disabled for {1}", this, retryTime);
_logger.Warn(ex, "Request Limit reached for {0}. Disabled for {1}", this, retryTime);
}
catch (HttpException ex)
{
@@ -411,18 +411,18 @@ namespace NzbDrone.Core.Indexers
if (ex.Response.HasHttpServerError)
{
_logger.Warn("Unable to connect to {0} at [{1}]. Indexer's server is unavailable. Try again later. {2}", this, url, ex.Message);
_logger.Warn(ex, "Unable to connect to {0} at [{1}]. Indexer's server is unavailable. Try again later. {2}", this, url, ex.Message);
}
else
{
_logger.Warn("{0} {1}", this, ex.Message);
_logger.Warn(ex, "{0} {1}", this, ex.Message);
}
}
catch (RequestLimitReachedException ex)
{
result.Queries.Add(new IndexerQueryResult { Response = ex.Response.HttpResponse });
_indexerStatusService.RecordFailure(Definition.Id, minimumBackoff);
_logger.Warn("Request Limit reached for {0}. Disabled for {1}", this, minimumBackoff);
_logger.Warn(ex, "Request Limit reached for {0}. Disabled for {1}", this, minimumBackoff);
}
catch (IndexerAuthException ex)
{

View File

@@ -19,7 +19,7 @@
"ScriptPath": "Camí de l'script",
"Search": "Cerca",
"Files": "Fitxers",
"SettingsEnableColorImpairedModeHelpText": "Estil alternat per permetre als usuaris amb problemes de color distingir millor la informació codificada per colors",
"SettingsEnableColorImpairedModeHelpText": "Estil alternat per a permetre als usuaris amb problemes de color distingir millor la informació codificada per colors",
"TagIsNotUsedAndCanBeDeleted": "L'etiqueta no està en ús i es pot suprimir",
"TagsSettingsSummary": "Consulta totes les etiquetes i com s'utilitzen. Les etiquetes no utilitzades es poden eliminar",
"Tasks": "Tasques",
@@ -37,7 +37,7 @@
"Analytics": "Anàlisi",
"ApiKey": "Clau API",
"AppDataDirectory": "Directori AppData",
"AppDataLocationHealthCheckMessage": "No es podrà actualitzar per evitar que s'eliminin AppData a l'actualització",
"AppDataLocationHealthCheckMessage": "No es podrà actualitzar per a evitar que s'eliminin AppData a l'actualització",
"Authentication": "Autenticació",
"Torrents": "Torrents",
"Type": "Tipus",
@@ -78,7 +78,7 @@
"Reddit": "Reddit",
"System": "Sistema",
"Username": "Nom d'usuari",
"Duration": "durada",
"Duration": "Durada",
"EditIndexer": "Edita l'indexador",
"EnableAutomaticSearch": "Activa la cerca automàtica",
"Enabled": "Habilitat",
@@ -251,7 +251,7 @@
"Level": "Nivell",
"LogFiles": "Fitxers de registre",
"Logging": "Registre",
"MappedDrivesRunningAsService": "Les unitats de xarxa assignades no estan disponibles quan s'executen com a servei de Windows. Si us plau, consulteu les PMF per obtenir més informació",
"MappedDrivesRunningAsService": "Les unitats de xarxa assignades no estan disponibles quan s'executen com a servei de Windows. Si us plau, consulteu les PMF per a obtenir més informació",
"Mechanism": "Mecanisme",
"MIA": "MIA",
"Wiki": "Wiki",
@@ -300,7 +300,7 @@
"View": "Visualitza",
"Yesterday": "Ahir",
"ApplicationStatusCheckSingleClientMessage": "Llistes no disponibles a causa d'errors: {0}",
"AnalyticsEnabledHelpText": "Envieu informació anònima d'ús i errors als servidors de {appName}. Això inclou informació sobre el vostre navegador, quines pàgines {appName} WebUI feu servir, informes d'errors, així com el sistema operatiu i la versió de l'entorn d'execució. Utilitzarem aquesta informació per prioritzar les funcions i les correccions d'errors.",
"AnalyticsEnabledHelpText": "Envieu informació anònima d'ús i errors als servidors de {appName}. Això inclou informació sobre el vostre navegador, quines pàgines {appName} WebUI feu servir, informes d'errors, així com el sistema operatiu i la versió de l'entorn d'execució. Utilitzarem aquesta informació per a prioritzar les funcions i les correccions d'errors.",
"HistoryCleanupDaysHelpTextWarning": "Els fitxers de la paperera de reciclatge més antics que el nombre de dies seleccionat es netejaran automàticament",
"UnableToAddANewAppProfilePleaseTryAgain": "No es pot afegir un perfil de qualitat nou, torneu-ho a provar.",
"BackupFolderHelpText": "Els camins relatius estaran sota el directori AppData de {appName}",
@@ -312,11 +312,11 @@
"Application": "Aplicacions",
"Applications": "Aplicacions",
"ApplicationStatusCheckAllClientMessage": "Totes les llistes no estan disponibles a causa d'errors",
"AuthenticationMethodHelpText": "Es requereix nom d'usuari i contrasenya per accedir a {appName}",
"AuthenticationMethodHelpText": "Es requereix nom d'usuari i contrasenya per a accedir a {appName}",
"ApplicationLongTermStatusCheckAllClientMessage": "Tots els indexadors no estan disponibles a causa d'errors durant més de 6 hores",
"ApplicationLongTermStatusCheckSingleClientMessage": "Els indexadors no estan disponibles a causa d'errors durant més de 6 hores: {0}",
"BindAddressHelpText": "Adreça IP vàlida, localhost o '*' per a totes les interfícies",
"BranchUpdate": "Branca que s'utilitza per actualitzar {appName}",
"BranchUpdate": "Branca que s'utilitza per a actualitzar {appName}",
"Connect": "Notificacions",
"DeleteApplicationMessageText": "Esteu segur que voleu suprimir la notificació '{0}'?",
"DeleteIndexerProxyMessageText": "Esteu segur que voleu suprimir la llista '{0}'?",
@@ -351,7 +351,7 @@
"ApplyTagsHelpTextRemove": "Eliminar: elimina les etiquetes introduïdes",
"DeleteSelectedApplicationsMessageText": "Esteu segur que voleu suprimir l'indexador '{0}'?",
"Label": "Etiqueta",
"ApplyTagsHelpTextReplace": "Substitució: substituïu les etiquetes per les etiquetes introduïdes (no introduïu cap etiqueta per esborrar totes les etiquetes)",
"ApplyTagsHelpTextReplace": "Substitució: substituïu les etiquetes per les etiquetes introduïdes (no introduïu cap etiqueta per a esborrar totes les etiquetes)",
"DeleteSelectedDownloadClients": "Suprimeix el(s) client(s) de baixada",
"Genre": "Gèneres",
"DeleteSelectedDownloadClientsMessageText": "Esteu segur que voleu suprimir {count} client(s) de baixada seleccionat(s)?",
@@ -364,7 +364,7 @@
"Year": "Any",
"UpdateAvailable": "Nova actualització disponible",
"ConnectionLostReconnect": "{appName} intentarà connectar-se automàticament, o podeu fer clic a recarregar.",
"ConnectionLostToBackend": "{appName} ha perdut la connexió amb el backend i s'haurà de tornar a carregar per restaurar la funcionalitat.",
"ConnectionLostToBackend": "{appName} ha perdut la connexió amb el backend i s'haurà de tornar a carregar per a restaurar la funcionalitat.",
"RecentChanges": "Canvis recents",
"WhatsNew": "Que hi ha de nou?",
"minutes": "Minuts",
@@ -381,7 +381,7 @@
"AuthenticationRequired": "Autenticació necessària",
"CountDownloadClientsSelected": "{count} client(s) de baixada seleccionat(s)",
"NoDownloadClientsFound": "No s'han trobat clients de baixada",
"AuthenticationRequiredWarning": "Per evitar l'accés remot sense autenticació, ara {appName} requereix que l'autenticació estigui activada. Opcionalment, podeu desactivar l'autenticació des d'adreces locals.",
"AuthenticationRequiredWarning": "Per a evitar l'accés remot sense autenticació, ara {appName} requereix que l'autenticació estigui activada. Opcionalment, podeu desactivar l'autenticació des d'adreces locals.",
"AppUpdatedVersion": "{appName} s'ha actualitzat a la versió `{version}`, per tal d'obtenir els darrers canvis, haureu de tornar a carregar {appName}",
"AppUpdated": "{appName} Actualitzada",
"ApplyChanges": "Aplica els canvis",
@@ -423,5 +423,7 @@
"AddApplicationImplementation": "Afegeix una condició - {implementationName}",
"AddIndexerProxyImplementation": "Afegeix un indexador - {implementationName}",
"Category": "Categoria",
"Clone": "Clona"
"Clone": "Clona",
"Yes": "Si",
"No": "No"
}

View File

@@ -171,6 +171,7 @@
"Docker": "Docker",
"Donations": "Donations",
"DownloadClient": "Download Client",
"DownloadClientAriaSettingsDirectoryHelpText": "Optional location to put downloads in, leave blank to use the default Aria2 location",
"DownloadClientCategory": "Download Client Category",
"DownloadClientPriorityHelpText": "Prioritize multiple Download Clients. Round-Robin is used for clients with the same priority.",
"DownloadClientQbittorrentSettingsContentLayout": "Content Layout",

View File

@@ -1,6 +1,6 @@
{
"IndexerProxyStatusCheckSingleClientMessage": "Välityspalvelimet eivät ole käytettävissä virheiden vuoksi: {0}",
"Logging": "Kirjaus",
"Logging": "Lokikirjaus",
"LogLevel": "Lokikirjauksen laajuus",
"MovieIndexScrollTop": "Elokuvakirjasto: vieritä ylös",
"Apply": "Käytä",
@@ -25,11 +25,11 @@
"SettingsTimeFormat": "Kellonajan esitys",
"Message": "Viesti",
"Seeders": "Jakajat",
"TestAll": "Testaa kaikki",
"TestAll": "Kaikkien testaus",
"AddDownloadClient": "Lisää lataustyökalu",
"CustomFilters": "Omat suodattimet",
"DeleteTag": "Poista tunniste",
"EnableRss": "RSS-syöte",
"EnableRss": "Käytä RSS-syötettä",
"Filter": "Suodatus",
"Fixed": "Korjattu",
"FocusSearchBox": "Kohdista hakukenttä",
@@ -40,12 +40,12 @@
"New": "Uutta",
"PageSizeHelpText": "Sivukohtainen kohdemäärä.",
"Proxy": "Välityspalvelin",
"ProxyBypassFilterHelpText": "Käytä erottimena ',' ja '*.' jokerimerkkinä aliverkkotunnuksille (esim. www.esimerkki.fi,*.esimerkki.fi)",
"ProxyBypassFilterHelpText": "Käytä aliverkkotunnusten erottimena pilkkua (,) ja jokerimerkkinä tähteä ja pistettä (*.). Esimerkkejä: www.esimerkki.fi,*.esimerkki.fi.",
"Reddit": "Reddit",
"Refresh": "Päivitä",
"RefreshMovie": "Päivitä elokuva",
"ReleaseBranchCheckOfficialBranchMessage": "\"{0}\" ei ole kelvollinen {appName}-julkaisuhaara ja tämän vuoksi et saa päivityksiä.",
"RestartRequiredHelpTextWarning": "Käyttöönotto vaatii uudelleenkäynnistyksen",
"RestartRequiredHelpTextWarning": "Käyttöönotto vaatii {appName}in uudelleenkäynnistyksen.",
"Result": "Tulos",
"Settings": "Asetukset",
"SettingsLongDateFormat": "Pitkän päiväyksen esitys",
@@ -83,7 +83,7 @@
"InteractiveSearch": "Manuaalihaku",
"Interval": "Ajoitus",
"KeyboardShortcuts": "Pikanäppäimet",
"LastWriteTime": "Edellinen tallennusaika",
"LastWriteTime": "Viimeksi tallennettu",
"LogFiles": "Lokitiedostot",
"LogLevelTraceHelpTextWarning": "Jäljityskirjausta tulee käyttää vain tilapäisesti.",
"Logs": "Lokitiedot",
@@ -97,9 +97,9 @@
"ProxyCheckBadRequestMessage": "Välityspalvelintesti epäonnistui. Tilakoodi: {0}.",
"ProxyCheckFailedToTestMessage": "Välityspalvelintesti epäonnistui: {0}",
"ProxyCheckResolveIpMessage": "Määritetyn välityspalvelimen \"{0}\" IP-osoitteen selvitys epäonnistui.",
"ProxyPasswordHelpText": "Käyttäjätunnus ja salasana tulee syöttää vain tarvittaessa. Muussa tapauksessa jätä kentät tyhjiksi.",
"ProxyPasswordHelpText": "Käyttäjätunnus ja salasana tulee täyttää vain tarvittaessa. Mikäli näitä ei ole, tulee kentät jättää tyhjiksi.",
"ProxyType": "Välityspalvelimen tyyppi",
"ProxyUsernameHelpText": "Käyttäjätunnus ja salasana tulee syöttää vain tarvittaessa. Muussa tapauksessa jätä kentät tyhjiksi.",
"ProxyUsernameHelpText": "Käyttäjätunnus ja salasana tulee täyttää vain tarvittaessa. Mikäli näitä ei ole, tulee kentät jättää tyhjiksi.",
"Queue": "Jono",
"ReadTheWikiForMoreInformation": "Wikistä löydät lisää tietoja",
"ReleaseStatus": "Julkaisutila",
@@ -122,8 +122,8 @@
"TagIsNotUsedAndCanBeDeleted": "Tunnistetta ei ole määritetty millekään kohteelle, joten sen voi poistaa.",
"TagsSettingsSummary": "Täältä näet kaikki tunnisteet käyttökohteineen ja voit poistaa käyttämättömät tunnisteet.",
"Tasks": "Tehtävät",
"Test": "Kokeile",
"TestAllClients": "Testaa kaikki lataustyökalut",
"Test": "Testaa",
"TestAllClients": "Lataustyökalujen testaus",
"Time": "Aika",
"Title": "Nimike",
"Tomorrow": "Huomenna",
@@ -258,7 +258,7 @@
"Error": "Virhe",
"ErrorLoadingContents": "Virhe ladattaessa sisältöjä",
"Events": "Tapahtumat",
"ExistingTag": "Olemassa oleva tunniste",
"ExistingTag": "Tunniste on jo olemassa",
"Failed": "Epäonnistui",
"Filename": "Tiedostonimi",
"Files": "Tiedostot",
@@ -292,7 +292,7 @@
"NoUpdatesAreAvailable": "Päivityksiä ei ole saatavilla",
"OAuthPopupMessage": "Selaimesi estää ponnahdukset",
"Ok": "Ok",
"OnHealthIssueHelpText": "Kuntoon liittyvä ongelma",
"OnHealthIssueHelpText": "Vakausongelmat",
"OpenBrowserOnStart": "Avaa selain käynnistettäessä",
"OpenThisModal": "Avaa tämä ikkuna",
"Options": "Asetukset",
@@ -328,11 +328,11 @@
"UnableToLoadAppProfiles": "Sovellusprofiilien lataus epäonnistui",
"AppProfileSelectHelpText": "Sovellusprofiilieilla määritetään tietolähteelle sovellussynkronoinnin yhteydessä aktivoitavat hakutavat (RSS/automaatti/manuaali).",
"IndexerQuery": "Tietolähteen kysely",
"IndexerRss": "Tietolähteen RSS-syöte",
"IndexerRss": "Tietolähteen RSS",
"SearchIndexers": "Etsi tietolähteistä",
"AddRemoveOnly": "Ainoastaan lisää/poista",
"IndexerVipCheckExpiredClientMessage": "Tietolähteen VIP-edut ovat erääntyneet: {0}",
"MaintenanceRelease": "Huoltojulkaisu: Korjauksia ja muita parannuksia. Lue lisää Githubin historiasta muutoshistoriasta.",
"MaintenanceRelease": "Huoltojulkaisu: korjauksia ja muita parannuksia. Lue lisää Githubin muutoshistoriasta.",
"Query": "Kysely",
"Redirect": "Uudelleenohjaus",
"RestartProwlarr": "Käynnistä {appName} uudelleen",
@@ -355,7 +355,7 @@
"ConnectSettingsSummary": "Ilmoitukset, kuten viestintä mediapalvelimille ja soittimille, sekä omat komentosarjat.",
"DevelopmentSettings": "Kehittäjäasetukset",
"Description": "Kuvaus",
"Id": "Tunniste",
"Id": "ID",
"SettingsConsoleLogLevel": "Valvontalokin laajuus",
"SettingsFilterSentryEvents": "Suodata analytiikan tapahtumia",
"SettingsFilterSentryEventsHelpText": "Suodata tunnetut käyttäjävirheet pois analytiikkalähetyksistä",
@@ -373,7 +373,7 @@
"IndexerProxies": "Tiedonhaun välityspalvelimet",
"IndexerAuth": "Tietolähteen todennus",
"Notifications": "Kytkennät",
"NotificationTriggersHelpText": "Valitse tapahtumat, jotka aiheuttavat ilmoituksen.",
"NotificationTriggersHelpText": "Valitse tämän ilmoituksen laukaisevat tapahtumat.",
"Stats": "Tilastot",
"UnableToLoadDevelopmentSettings": "Kehittäjäasetusten lataus epäonnistui",
"AppSettingsSummary": "Sovellukset ja asetukset, joilla määritetään miten {appName} viestii PVR-sovellustesi kanssa.",
@@ -387,10 +387,10 @@
"TvSearch": "Etsi televisiosarjoja",
"Filters": "Suodattimet",
"OnGrab": "Kun julkaisu kaapataan",
"OnHealthIssue": "Kun havaitaan kuntoon liittyvä ongelma",
"OnHealthIssue": "Vakausongelmat",
"HistoryCleanupDaysHelpText": "Arvo \"0\" (nolla) poistaa automaattityhjennyksen käytöstä.",
"HistoryCleanupDaysHelpTextWarning": "Tässä määritettyä aikaa vanhemmat tiedostot poistetaan automaattisesti roskakorista pysyvästi.",
"TestAllIndexers": "Testaa tietolähteet",
"TestAllIndexers": "Tietolähteiden testaus",
"UserAgentProvidedByTheAppThatCalledTheAPI": "User-Agent-tiedon ilmoitti sovellus, joka kommunikoi API:n kanssa",
"Categories": "Kategoriat",
"Database": "Tietokanta",
@@ -434,12 +434,12 @@
"AddSyncProfile": "Lisää synkronointiprofiili",
"EditSyncProfile": "Muokkaa synkronointiprofiilia",
"InstanceName": "Instanssin nimi",
"InstanceNameHelpText": "Instanssin nimi välilehdellä ja järjestelmälokissa",
"InstanceNameHelpText": "Instanssin nimi välilehdellä ja järjestelmälokissa.",
"ThemeHelpText": "Vaihda sovelluksen käyttöliittymän ulkoasua. \"Automaattinen\" vaihtaa vaalean ja tumman tilan välillä järjestelmän teeman mukaan. Innoittanut Theme.Park.",
"Duration": "Kesto",
"ElapsedTime": "Kulunut aika",
"EnabledRedirected": "Kulunut, uudelleenohjattu",
"Ended": "Päättyi",
"Ended": "Päättynyt",
"GrabTitle": "Kaappaa nimike",
"LastExecution": "Edellinen suoritus",
"LastDuration": "Edellinen kesto",
@@ -496,7 +496,7 @@
"NotificationStatusSingleClientHealthCheckMessage": "Ilmoitukset eivät ole ongelmien vuoksi käytettävissä: {0}",
"AuthBasic": "Perus (ponnahdusikkuna)",
"AuthForm": "Lomake (kirjautumissivu)",
"DisabledForLocalAddresses": "Ei käytetä paikallisille osoitteille",
"DisabledForLocalAddresses": "Ei käytössä paikallisille osoitteille",
"None": "Ei mitään",
"ResetAPIKeyMessageText": "Haluatko varmasti uudistaa API-avaimesi?",
"TotalIndexerSuccessfulGrabs": "Onnistuneiden tietolähdekaappausten kokonaismäärä",
@@ -524,7 +524,7 @@
"StopSelecting": "Lopeta valitseminen",
"EditConnectionImplementation": "Muokataan kytköstä - {implementationName}",
"AddConnectionImplementation": "Lisätään kytköstä - {implementationName}",
"DownloadClientQbittorrentSettingsContentLayout": "Sisällön asettelu",
"DownloadClientQbittorrentSettingsContentLayout": "Sisällön rakenne",
"EditIndexerImplementation": "Muokataan tietolähdettä - {implementationName}",
"AuthenticationRequiredUsernameHelpTextWarning": "Syötä uusi käyttäjätunnus",
"DefaultNameCopiedProfile": "{name} - Kopioi",
@@ -534,14 +534,75 @@
"AuthenticationRequiredHelpText": "Valitse mitkä pyynnöt vaativat tunnistautumisen. Älä muuta, jos et ymmärrä riskejä.",
"TotalUserAgentGrabs": "Käyttäjäagentin kaappausten kokonaismäärä",
"AuthenticationMethodHelpTextWarning": "Valitse sopiva tunnistautumistapa",
"AuthenticationRequiredPasswordHelpTextWarning": "Syötä salasana",
"AuthenticationRequiredPasswordHelpTextWarning": "Syötä uusi salasana",
"AuthenticationMethod": "Tunnistautumistapa",
"Clone": "Monista",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Vahvista uusi salasana",
"EditApplicationImplementation": "Muokataan kytköstä - {implementationName}",
"AddApplicationImplementation": "Lisätään kytköstä - {implementationName}",
"EditApplicationImplementation": "Muokataan sovellusta - {implementationName}",
"AddApplicationImplementation": "Lisätään sovellusta - {implementationName}",
"InvalidUILanguage": "Käytöliittymän kielivalinta on virheellinen. Korjaa se ja tallenna asetukset.",
"SeedRatio": "Jakosuhde",
"SeedTime": "Jakoaika",
"days": "päivää"
"days": "päivää",
"HistoryDetails": "Historiatiedot",
"IndexerDisabled": "Tietolähde ei ole käytössä",
"AdvancedSettingsShownClickToHide": "Lisäasetukset näytetään, piilota painamalla tästä",
"AdvancedSettingsHiddenClickToShow": "Lisäasetukset on piilotettu, näytä painamalla tästä",
"AppsMinimumSeeders": "Sovellusten vähimmäisjakajat",
"BasicSearch": "Perushaku",
"CountApplicationsSelected": "{count} sovellus(ta) on valittu",
"DeleteSelectedApplications": "Poista valitut sovellukset",
"DeleteSelectedIndexer": "Poista valittu tietolähde",
"DeleteSelectedIndexers": "Poista valitut tietolähteet",
"Implementation": "Toteutus",
"IndexerCategories": "Tietolähdekategoriat",
"IndexerStatus": "Tietolähteen tila",
"ManageApplications": "Hallitse sovelluksia",
"NewznabUrl": "Newznab URL",
"PackSeedTime": "Koosteen jakoaika",
"PackSeedTimeHelpText": "Aika, joka koostepaketin (kuten sarjan tuotantokauden tai esittäjän diskografian) sisältävää torrentia tulee jakaa. Käytä sovelluksen oletusta jättämällä tyhjäksi.",
"QueryType": "Kyselyn tyyppi",
"SearchAllIndexers": "Etsi kaikista tietolähteistä",
"SeedRatioHelpText": "Jakosuhde, joka torrentin tulee saavuttaa ennen sen pysäytystä. Käytä sovelluksen oletusta jättämällä tyhjäksi.",
"TorznabUrl": "Torznab URL",
"ApiKeyValidationHealthCheckMessage": "Muuta API-avaimesi ainakin {0} merkin pituiseksi. Voit tehdä tämän asetuksista tai muokkaamalla asetustiedostoa.",
"OnHealthRestored": "Terveystilan vakautuessa",
"OnHealthRestoredHelpText": "Terveystilan vakautuessa",
"TotalHostQueries": "Isännän kyselyiden kokonaismäärä",
"TotalIndexerQueries": "Tietolähteen kyselyiden kokonaismäärä",
"GoToApplication": "Siirry sovellukseen",
"AreYouSureYouWantToDeleteIndexer": "Haluatko varmasti poistaa tietolähteen \"{name}\" sovelluksesta {appName}?",
"AuthQueries": "Todennuskyselyt",
"ApplicationTagsHelpText": "Sovellukseen synkronoidaan joko tunnisteettomat tietolähteet tai vastaavilla tunnisteilla merkityt tietolähteet.",
"ApplicationTagsHelpTextWarning": "Tunnisteita tulee käyttää harkiten, koska niillä voi olla odottamattomia vaikutuksia. Tunnisteella merkittyyn sovellukseen synkronoidaan vain samalla tunnisteella merkityt tietolähteet.",
"AverageResponseTimesMs": "Tietolähteiden keskimääräiset vasteajat (ms)",
"CountIndexersAvailable": "{count} tietolähde(ttä) on käytettävissä",
"FoundCountReleases": "Löytyi {itemCount} julkaisua",
"IndexerTagsHelpTextWarning": "Tunnisteita tulee käyttää harkiten, koska niillä voi olla odottamattomia vaikutuksia. Tunnisteella merkitty tietolähde synkronoidaan vain samalla tunnisteella merkittyyn sovellukseen.",
"LastFailure": "Edellinen virhe",
"SelectedCountOfCountReleases": "Valittu {selectedCount}/{itemCount} julkaisua",
"TotalQueries": "Kyselyiden kokonaismäärä",
"RssFeed": "RSS-syöte",
"VipExpiration": "VIP-erääntyy",
"DisabledUntil": "Poistettu käytöstä kunnes",
"AddApplication": "Lisää sovellus",
"AddCategory": "Lisää kategoria",
"EditCategory": "Muokkaa kategoriaa",
"IndexerId": "Tietolähteen ID",
"ActiveIndexers": "Aktiiviset tietolähteet",
"NoIndexerCategories": "Tietolähteelle ei löytynyt kategorioita",
"ActiveApps": "Aktiiviset sovellukset",
"NoIndexerHistory": "Tietolähteelle ei löytynyt historiaa",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Määrittää käytetäänkö qBittorrentista määritettyä rakennetta, torrentin alkuperäistä rakennetta vai luodaanko uusi alikansio (qBittorrent 4.3.2+).",
"External": "Ulkoinen",
"IndexerFailureRate": "Tietolähteen virhetaajuus",
"IndexerHistoryLoadError": "Virhe ladattaessa tietolähteen historiaa",
"InitialFailure": "Alkuperäinen virhe",
"PasswordConfirmation": "Salasanan vahvistus",
"RepeatSearch": "Toista haku",
"SearchCountIndexers": "Etsi {count} tietolähteestä",
"SearchQueries": "Hakukyselyt",
"SeedTimeHelpText": "Aika, joka torrentia tulee jakaa ennen sen pysäytystä. Käytä sovelluksen oletusta jättämällä tyhjäksi.",
"RssQueries": "RSS-kyselyt",
"TotalUserAgentQueries": "Käyttäjäagentin kyselyiden kokonaismäärä"
}

View File

@@ -158,7 +158,7 @@
"Enable": "Activer",
"DownloadClientSettings": "Télécharger les paramètres client",
"Docker": "Docker",
"DeleteTag": "Supprimer le tag",
"DeleteTag": "Supprimer l'étiquette",
"DeleteNotification": "Supprimer la notification",
"DeleteDownloadClient": "Supprimer le client de téléchargement",
"DeleteBackup": "Supprimer la sauvegarde",
@@ -602,5 +602,6 @@
"PasswordConfirmation": "Confirmation du mot de passe",
"NoIndexerCategories": "Aucune catégorie disponible pour cet indexeur",
"InvalidUILanguage": "Votre interface utilisateur est définie sur une langue non valide, corrigez-la et enregistrez vos paramètres",
"DownloadClientQbittorrentSettingsContentLayout": "Disposition du contenu"
"DownloadClientQbittorrentSettingsContentLayout": "Disposition du contenu",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Utiliser la disposition du contenu configurée par qBittorrent, la disposition originale du torrent ou toujours créer un sous-dossier (qBittorrent 4.3.2+)"
}

View File

@@ -17,7 +17,7 @@
"Grabbed": "Preso",
"Clear": "Cancella",
"AppDataLocationHealthCheckMessage": "L'aggiornamento non sarà possibile per evitare la cancellazione di AppData durante l'aggiornamento",
"Analytics": "Analitica",
"Analytics": "Statistiche",
"Added": "Aggiunto",
"About": "Info",
"Updates": "Aggiornamenti",
@@ -76,7 +76,7 @@
"Date": "Data",
"CustomFilters": "Filtri Personalizzati",
"Connect": "Notifiche",
"Connections": "Collegamenti",
"Connections": "Connessioni",
"ConnectSettingsSummary": "Notifiche e script personalizzati",
"BackupNow": "Esegui backup ora",
"Backup": "Backup",
@@ -84,28 +84,28 @@
"Actions": "Azioni",
"Age": "Età",
"Close": "Chiudi",
"CloneProfile": "Clona il Profilo",
"ClientPriority": "Priorità del Client",
"CloneProfile": "Copia Profilo",
"ClientPriority": "Priorità Client",
"ChangeHasNotBeenSavedYet": "Il cambio non è stato ancora salvato",
"CertificateValidationHelpText": "Cambia quanto è rigorosa la convalida del certificato HTTPS",
"CertificateValidation": "Convalida del Certificato",
"Cancel": "Annulla",
"BypassProxyForLocalAddresses": "Evita il Proxy per gli Indirizzi Locali",
"Branch": "Ramo",
"BindAddressHelpText": "Indirizzo IP valido, localhost o '*' per tutte le interfacce di rete",
"BindAddress": "Indirizzo di Bind",
"BindAddressHelpText": "Indirizzi IP validi, localhost o '*' per tutte le interfacce",
"BindAddress": "Indirizzo di Ascolto",
"Backups": "Backups",
"BackupRetentionHelpText": "I backup automatici più vecchi del periodo di conservazione verranno eliminati automaticamente",
"BackupIntervalHelpText": "Intervallo tra i backup automatici",
"BackupRetentionHelpText": "I backup più vecchi del periodo specificato saranno cancellati automaticamente",
"BackupIntervalHelpText": "Intervallo fra i backup automatici",
"BackupFolderHelpText": "I percorsi relativi saranno nella cartella AppData di {appName}",
"Automatic": "Automatico",
"AuthenticationMethodHelpText": "Richiedi Nome Utente e Password per accedere a {appName}",
"AuthenticationMethodHelpText": "Inserisci Username e Password per accedere a {appName}",
"Authentication": "Autenticazione",
"ApplyTags": "Applica Etichette",
"Apply": "Applica",
"AppDataDirectory": "Cartella AppData",
"ApiKey": "Chiave API",
"AnalyticsEnabledHelpText": "Invia informazioni anonime sull'uso e sugli errori ai server di {appName}. Questo include informazioni sul tuo browser, quali pagine della WebUI di {appName} utilizzi, la segnalazione di errori così come il sistema operativo e la versione di runtime. Useremo queste informazioni per dare priorità alle funzionalità e alle correzioni dei bug.",
"AnalyticsEnabledHelpText": "Inviare informazioni anonime sull'utilizzo e sugli errori ai server di {appName}. Ciò include informazioni sul tuo browser, quali pagine dell'interfaccia di {appName} usi, la segnalazione di errori così come la versione del sistema operativo e del runtime. Utilizzeremo queste informazioni per dare priorità alle nuove funzioni e alle correzioni di bug.",
"Warn": "Attenzione",
"Type": "Tipo",
"Title": "Titolo",
@@ -136,11 +136,11 @@
"DownloadClientSettings": "Impostazioni del Client di Download",
"Docker": "Docker",
"DeleteTag": "Elimina Etichetta",
"DeleteNotification": "Cancella la Notifica",
"DeleteDownloadClient": "Cancella il Client di Download",
"DeleteNotification": "Cancella Notifica",
"DeleteDownloadClient": "Cancella Client di Download",
"DeleteBackup": "Cancella Backup",
"DBMigration": "Migrazione DB",
"ConnectSettings": "Impostazioni di Connessione",
"ConnectSettings": "Impostazioni Collegamento",
"ConnectionLost": "Connessione Persa",
"Component": "Componente",
"Columns": "Colonne",
@@ -222,7 +222,7 @@
"DeleteTagMessageText": "Sei sicuro di voler eliminare l'etichetta '{0}'?",
"DeleteNotificationMessageText": "Sei sicuro di voler eliminare la notifica '{0}'?",
"DeleteDownloadClientMessageText": "Sei sicuro di voler eliminare il client di download '{0}'?",
"BeforeUpdate": "Prima di aggiornare",
"BeforeUpdate": "Prima dell'aggiornamento",
"Usenet": "Usenet",
"Uptime": "Tempo di attività",
"YesCancel": "Si, Cancella",
@@ -232,7 +232,7 @@
"UrlBaseHelpText": "Per il supporto al reverse proxy, di default è vuoto",
"URLBase": "Base Url",
"UpdateScriptPathHelpText": "Percorso verso uno script personalizzato che prende un pacchetto di aggiornamento estratto e gestisce il resto del processo di aggiornamento",
"UpdateMechanismHelpText": "Usa l'aggiornamento integrato in {appName} o uno script",
"UpdateMechanismHelpText": "Usa il sistema di aggiornamento interno di {appName} o uno script",
"UpdateAutomaticallyHelpText": "Scarica e installa automaticamente gli aggiornamenti. Sarai comunque in grado in installarli da Sistema: Aggiornamenti",
"UnsavedChanges": "Modifiche non salvate",
"UnableToLoadUISettings": "Impossibile caricare le impostazioni interfaccia",
@@ -293,7 +293,7 @@
"EnableIndexer": "Abilita Indicizzatore",
"AddNewIndexer": "Aggiungi nuovo Indicizzatore",
"IndexerAuth": "Autenticazione dell'Indicizzatore",
"AddDownloadClient": "Aggiungi Downloader",
"AddDownloadClient": "Aggiungi Client di Download",
"Category": "Categoria",
"ClearHistory": "Cancella cronologia",
"ClearHistoryMessageText": "Sei sicuro di voler cancellare tutta la cronologia di {appName}?",
@@ -451,8 +451,8 @@
"Started": "Iniziato",
"AreYouSureYouWantToDeleteCategory": "Vuoi davvero cancellare la categoria mappata?",
"AuthenticationRequired": "Autenticazione richiesta",
"AuthenticationRequiredHelpText": "Cambia a quali richieste l'autenticazione verrà richiesta. Non cambiare se non comprendi i rischi.",
"AuthenticationRequiredWarning": "Per impedire accessi remoti senza autenticazione, {appName} ora richiede che l'autenticazione venga attivata. Puoi disattivare l'autenticazione per indirizzi privati.",
"AuthenticationRequiredHelpText": "Cambia a quali richieste l'autenticazione verrà chiesta. Non cambiare se non comprendi i rischi.",
"AuthenticationRequiredWarning": "Per prevenire accessi remoti non autorizzati, {appName} da ora richiede che l'autenticazione sia abilitata. Opzionalmente puoi disabilitare l'autenticazione per gli indirizzi di rete locali.",
"DeleteClientCategory": "Cancella categoria del client di download",
"DownloadClientCategory": "Categoria client di download",
"MappedCategories": "Categorie mappate",
@@ -498,9 +498,22 @@
"AddConnection": "Aggiungi Connessione",
"NotificationStatusAllClientHealthCheckMessage": "Tutte le applicazioni non sono disponibili a causa di errori",
"NotificationStatusSingleClientHealthCheckMessage": "Applicazioni non disponibili a causa di errori: {0}",
"AuthForm": "Moduli (Pagina di Accesso)",
"AuthForm": "Form (Pagina di Login)",
"DisabledForLocalAddresses": "Disabilitato per Indirizzi Locali",
"None": "Nessuna",
"ResetAPIKeyMessageText": "Sei sicuro di voler reimpostare la tua chiave API?",
"AuthBasic": "Base (Popup del Browser)"
"AuthBasic": "Base (Popup del Browser)",
"EditSelectedDownloadClients": "Modifica i Client di Download Selezionati",
"AppUpdated": "{appName} Aggiornato",
"AddCustomFilter": "Aggiungi Filtro Personalizzato",
"AddConnectionImplementation": "Aggiungi Connessione - {implementationName}",
"AddDownloadClientImplementation": "Aggiungi un Client di Download - {implementationName}",
"AddIndexerImplementation": "Aggiungi indicizzatore - {implementationName}",
"AuthenticationRequiredUsernameHelpTextWarning": "Inserisci username",
"AuthenticationMethod": "Metodo di Autenticazione",
"AuthenticationMethodHelpTextWarning": "Selezione un metodo di autenticazione valido",
"AuthenticationRequiredPasswordHelpTextWarning": "Inserisci la nuova password",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Conferma la nuova password",
"Clone": "Copia",
"DefaultNameCopiedProfile": "{name} - Copia"
}

View File

@@ -1,5 +1,5 @@
{
"Add": "Legge til",
"Add": "Legg til",
"AddDownloadClient": "Legg til nedlastingsklient",
"Added": "La til",
"AddingTag": "Legger til tag",

View File

@@ -375,5 +375,7 @@
"None": "Żaden",
"AuthBasic": "Podstawowe (wyskakujące okienko przeglądarki)",
"ResetAPIKeyMessageText": "Czy na pewno chcesz zresetować swój klucz API?",
"RestartProwlarr": "Zrestartuj {appName}"
"RestartProwlarr": "Zrestartuj {appName}",
"AddConnectionImplementation": "Dodaj Connection - {implementationName}",
"AddDownloadClientImplementation": "Dodaj klienta pobierania - {implementationName}"
}

View File

@@ -473,5 +473,7 @@
"Album": "álbum",
"Artist": "artista",
"DefaultNameCopiedProfile": "{name} - Copiar",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Confirmar nova senha"
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Confirmar nova senha",
"AdvancedSettingsHiddenClickToShow": "Definições avançadas ocultas, clique para mostrar",
"AddCategory": "Adicionar Categoria"
}

View File

@@ -110,7 +110,7 @@
"DeleteIndexerProxyMessageText": "Tem certeza de que deseja excluir o proxy do indexador '{name}'?",
"DeleteNotification": "Excluir notificação",
"DeleteNotificationMessageText": "Tem certeza de que deseja excluir a notificação '{name}'?",
"DeleteTag": "Excluir tag",
"DeleteTag": "Excluir Etiqueta",
"DeleteTagMessageText": "Tem certeza de que deseja excluir a tag '{label}'?",
"Description": "Descrição",
"Details": "Detalhes",
@@ -139,7 +139,7 @@
"EnableInteractiveSearch": "Ativar pesquisa interativa",
"EnableInteractiveSearchHelpText": "Será usado com a pesquisa interativa",
"EnableRss": "Habilitar RSS",
"EnableRssHelpText": "Habilitar feed RSS para o indexador",
"EnableRssHelpText": "Habilitar feed RSS para indexador",
"EnableSSL": "Habilitar SSL",
"EnableSslHelpText": " Requer a reinicialização com a execução como administrador para fazer efeito",
"Enabled": "Habilitado",
@@ -603,5 +603,6 @@
"PasswordConfirmation": "Confirmação Da Senha",
"InvalidUILanguage": "Sua UI está definida com um idioma inválido, corrija-a e salve suas configurações",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Seja para usar o layout de conteúdo configurado do qBittorrent, o layout original do torrent ou sempre criar uma subpasta (qBittorrent 4.3.2+)",
"DownloadClientQbittorrentSettingsContentLayout": "Layout de Conteúdo"
"DownloadClientQbittorrentSettingsContentLayout": "Layout de Conteúdo",
"IndexerId": "ID do Indexador"
}

View File

@@ -121,5 +121,9 @@
"UnableToAddANewNotificationPleaseTryAgain": "無法加入新的條件,請重新嘗試。",
"EditIndexerImplementation": "新增索引 - {implementationName}",
"EditApplicationImplementation": "新增連接 - {implementationName}",
"EditIndexerProxyImplementation": "新增索引 - {implementationName}"
"EditIndexerProxyImplementation": "新增索引 - {implementationName}",
"ApplyTagsHelpTextAdd": "加入:將標籤加入已存在的標籤清單",
"AppUpdated": "{appName}已更新",
"AppUpdatedVersion": "重新載入",
"ApplyChanges": "應用"
}