Compare commits

..

13 Commits

Author SHA1 Message Date
Bogdan
dee98ac46f Display a not allowed cursor for disabled select options 2023-09-02 03:47:07 +03:00
Bogdan
4267b8a244 Cleanse API Keys from sync requests sent to applications 2023-09-02 02:07:26 +03:00
Bogdan
00dc55996c Remove Label and Unit columns from Apps Fields 2023-09-02 01:59:11 +03:00
Bogdan
b912cc6110 Some logging improvements for filtered releases
Closes #1847
2023-09-02 00:47:47 +03:00
Bogdan
56f0c137f8 Fixed translations for history parameters 2023-09-01 15:50:22 +03:00
Bogdan
1b8ff9b989 Simplify user check in Authentication Required for newer installs 2023-08-29 19:12:06 +03:00
Bogdan
bfecf35a8b Fix user check in Authentication Required for newer installs 2023-08-29 18:56:21 +03:00
Bogdan
80da5ce165 Add missing app name token for translation 2023-08-29 03:18:11 +03:00
Bogdan
60ca0db26f Improve messaging in Authentication Required modal
Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
2023-08-29 03:09:42 +03:00
Bogdan
288a3d1495 Fix loading translations 2023-08-29 03:05:51 +03:00
Weblate
4c42907eb2 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: AlexR-sf <omg.portal.supp@gmail.com>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: ChewyGlitter <lulu3dddsss@gmail.com>
Co-authored-by: DavidJares <david.jares@me.com>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: He Zhu <zhuhe202@qq.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ar/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/bg/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/da/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/el/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/es/
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/he/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/hi/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/is/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ja/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ko/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pl/
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/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/sv/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/th/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/uk/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/vi/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/zh_CN/
Translation: Servarr/Prowlarr
2023-08-27 19:21:30 +03:00
Bogdan
6300eb1442 Bump version to 1.8.5 2023-08-27 08:00:53 +03:00
Bogdan
e4c0edf24c Remove Reddit from issue templates 2023-08-26 21:14:23 +03:00
50 changed files with 449 additions and 186 deletions

View File

@@ -1,5 +1,5 @@
name: Bug Report
description: 'Report a new bug, if you are not 100% certain this is a bug please go to our Reddit or Discord first'
description: 'Report a new bug, if you are not 100% certain this is a bug please go to our Discord first'
labels: ['Type: Bug', 'Status: Needs Triage']
body:
- type: checkboxes

View File

@@ -4,8 +4,7 @@
comment: >
:wave: @{issue-author}, we use the issue tracker exclusively
for bug reports and feature requests. However, this issue appears
to be a support request. Please hop over onto our [Discord](https://prowlarr.com/discord)
or [Subreddit](https://reddit.com/r/prowlarr)
to be a support request. Please hop over onto our [Discord](https://prowlarr.com/discord).
close: true
close-reason: 'not planned'

View File

@@ -9,7 +9,7 @@ variables:
testsFolder: './_tests'
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
majorVersion: '1.8.4'
majorVersion: '1.8.5'
minorVersion: $[counter('minorVersion', 1)]
prowlarrVersion: '$(majorVersion).$(minorVersion)'
buildName: '$(Build.SourceBranchName).$(prowlarrVersion)'

View File

@@ -3,9 +3,24 @@ import translate from 'Utilities/String/translate';
import FilterBuilderRowValue from './FilterBuilderRowValue';
const privacyTypes = [
{ id: 'public', name: translate('Public') },
{ id: 'private', name: translate('Private') },
{ id: 'semiPrivate', name: translate('SemiPrivate') }
{
id: 'public',
get name() {
return translate('Public');
}
},
{
id: 'private',
get name() {
return translate('Private');
}
},
{
id: 'semiPrivate',
get name() {
return translate('SemiPrivate');
}
}
];
function PrivacyFilterBuilderRowValue(props) {

View File

@@ -9,6 +9,10 @@
&:hover {
background-color: var(--inputHoverBackgroundColor);
}
&.isDisabled {
cursor: not-allowed;
}
}
.optionCheck {

View File

@@ -6,37 +6,51 @@ import translate from 'Utilities/String/translate';
export const shortcuts = {
OPEN_KEYBOARD_SHORTCUTS_MODAL: {
key: '?',
name: translate('OpenThisModal')
get name() {
return translate('OpenThisModal');
}
},
CLOSE_MODAL: {
key: 'Esc',
name: translate('CloseCurrentModal')
get name() {
return translate('CloseCurrentModal');
}
},
ACCEPT_CONFIRM_MODAL: {
key: 'Enter',
name: translate('AcceptConfirmationModal')
get name() {
return translate('AcceptConfirmationModal');
}
},
MOVIE_SEARCH_INPUT: {
key: 's',
name: translate('FocusSearchBox')
get name() {
return translate('FocusSearchBox');
}
},
SAVE_SETTINGS: {
key: 'mod+s',
name: translate('SaveSettings')
get name() {
return translate('SaveSettings');
}
},
SCROLL_TOP: {
key: 'mod+home',
name: translate('MovieIndexScrollTop')
get name() {
return translate('MovieIndexScrollTop');
}
},
SCROLL_BOTTOM: {
key: 'mod+end',
name: translate('MovieIndexScrollBottom')
get name() {
return translate('MovieIndexScrollBottom');
}
}
};

View File

@@ -11,7 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds } from 'Helpers/Props';
import { authenticationMethodOptions, authenticationRequiredOptions, authenticationRequiredWarning } from 'Settings/General/SecuritySettings';
import { authenticationMethodOptions, authenticationRequiredOptions } from 'Settings/General/SecuritySettings';
import translate from 'Utilities/String/translate';
import styles from './AuthenticationRequiredModalContent.css';
@@ -63,71 +63,63 @@ function AuthenticationRequiredModalContent(props) {
className={styles.authRequiredAlert}
kind={kinds.WARNING}
>
{authenticationRequiredWarning}
{translate('AuthenticationRequiredWarning', { appName: 'Prowlarr' })}
</Alert>
{
isPopulated && !error ?
<div>
<FormGroup>
<FormLabel>{translate('Authentication')}</FormLabel>
<FormLabel>{translate('AuthenticationMethod')}</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
name="authenticationMethod"
values={authenticationMethodOptions}
helpText={translate('AuthenticationMethodHelpText')}
helpText={translate('AuthenticationMethodHelpText', { appName: 'Prowlarr' })}
helpTextWarning={authenticationMethod.value === 'none' ? translate('AuthenticationMethodHelpTextWarning') : undefined}
helpLink="https://wiki.servarr.com/prowlarr/faq#forced-authentication"
onChange={onInputChange}
{...authenticationMethod}
/>
</FormGroup>
{
authenticationEnabled ?
<FormGroup>
<FormLabel>{translate('AuthenticationRequired')}</FormLabel>
<FormGroup>
<FormLabel>{translate('AuthenticationRequired')}</FormLabel>
<FormInputGroup
type={inputTypes.SELECT}
name="authenticationRequired"
values={authenticationRequiredOptions}
helpText={translate('AuthenticationRequiredHelpText')}
onChange={onInputChange}
{...authenticationRequired}
/>
</FormGroup> :
null
}
<FormInputGroup
type={inputTypes.SELECT}
name="authenticationRequired"
values={authenticationRequiredOptions}
helpText={translate('AuthenticationRequiredHelpText')}
onChange={onInputChange}
{...authenticationRequired}
/>
</FormGroup>
{
authenticationEnabled ?
<FormGroup>
<FormLabel>{translate('Username')}</FormLabel>
<FormGroup>
<FormLabel>{translate('Username')}</FormLabel>
<FormInputGroup
type={inputTypes.TEXT}
name="username"
onChange={onInputChange}
{...username}
/>
</FormGroup> :
null
}
<FormInputGroup
type={inputTypes.TEXT}
name="username"
onChange={onInputChange}
helpTextWarning={username?.value ? undefined : translate('AuthenticationRequiredUsernameHelpTextWarning')}
{...username}
/>
</FormGroup>
{
authenticationEnabled ?
<FormGroup>
<FormLabel>{translate('Password')}</FormLabel>
<FormGroup>
<FormLabel>{translate('Password')}</FormLabel>
<FormInputGroup
type={inputTypes.PASSWORD}
name="password"
onChange={onInputChange}
{...password}
/>
</FormGroup> :
null
}
<FormInputGroup
type={inputTypes.PASSWORD}
name="password"
onChange={onInputChange}
helpTextWarning={password?.value ? undefined : translate('AuthenticationRequiredPasswordHelpTextWarning')}
{...password}
/>
</FormGroup>
</div> :
null
}

View File

@@ -21,17 +21,72 @@ const historyParameters = [
{ key: historyDataTypes.TRAKT_ID, title: 'Trakt' },
{ key: historyDataTypes.R_ID, title: 'TvRage' },
{ key: historyDataTypes.TVMAZE_ID, title: 'TvMaze' },
{ key: historyDataTypes.SEASON, title: translate('Season') },
{ key: historyDataTypes.EPISODE, title: translate('Episode') },
{ key: historyDataTypes.ARTIST, title: translate('Artist') },
{ key: historyDataTypes.ALBUM, title: translate('Album') },
{ key: historyDataTypes.LABEL, title: translate('Label') },
{ key: historyDataTypes.TRACK, title: translate('Track') },
{ key: historyDataTypes.YEAR, title: translate('Year') },
{ key: historyDataTypes.GENRE, title: translate('Genre') },
{ key: historyDataTypes.AUTHOR, title: translate('Author') },
{ key: historyDataTypes.TITLE, title: translate('Title') },
{ key: historyDataTypes.PUBLISHER, title: translate('Publisher') }
{
key: historyDataTypes.SEASON,
get title() {
return translate('Season');
}
},
{
key: historyDataTypes.EPISODE,
get title() {
return translate('Episode');
}
},
{
key: historyDataTypes.ARTIST,
get title() {
return translate('Artist');
}
},
{
key: historyDataTypes.ALBUM,
get title() {
return translate('Album');
}
},
{
key: historyDataTypes.LABEL,
get title() {
return translate('Label');
}
},
{
key: historyDataTypes.TRACK,
get title() {
return translate('Track');
}
},
{
key: historyDataTypes.YEAR,
get title() {
return translate('Year');
}
},
{
key: historyDataTypes.GENRE,
get title() {
return translate('Genre');
}
},
{
key: historyDataTypes.AUTHOR,
get title() {
return translate('Author');
}
},
{
key: historyDataTypes.TITLE,
get title() {
return translate('Title');
}
},
{
key: historyDataTypes.PUBLISHER,
get title() {
return translate('Publisher');
}
}
];
class HistoryRow extends Component {

View File

@@ -11,24 +11,69 @@ import ConfirmModal from 'Components/Modal/ConfirmModal';
import { icons, inputTypes, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
export const authenticationRequiredWarning = translate('AuthenticationRequiredWarning');
export const authenticationMethodOptions = [
{ key: 'none', value: 'None', isDisabled: true },
{ key: 'external', value: 'External', isHidden: true },
{ key: 'basic', value: 'Basic (Browser Popup)' },
{ key: 'forms', value: 'Forms (Login Page)' }
{
key: 'none',
get value() {
return translate('None');
},
isDisabled: true
},
{
key: 'external',
get value() {
return translate('External');
},
isHidden: true
},
{
key: 'basic',
get value() {
return translate('AuthBasic');
}
},
{
key: 'forms',
get value() {
return translate('AuthForm');
}
}
];
export const authenticationRequiredOptions = [
{ key: 'enabled', value: 'Enabled' },
{ key: 'disabledForLocalAddresses', value: 'Disabled for Local Addresses' }
{
key: 'enabled',
get value() {
return translate('Enabled');
}
},
{
key: 'disabledForLocalAddresses',
get value() {
return translate('DisabledForLocalAddresses');
}
}
];
const certificateValidationOptions = [
{ key: 'enabled', value: 'Enabled' },
{ key: 'disabledForLocalAddresses', value: 'Disabled for Local Addresses' },
{ key: 'disabled', value: 'Disabled' }
{
key: 'enabled',
get value() {
return translate('Enabled');
}
},
{
key: 'disabledForLocalAddresses',
get value() {
return translate('DisabledForLocalAddresses');
}
},
{
key: 'disabled',
get value() {
return translate('Disabled');
}
}
];
class SecuritySettings extends Component {
@@ -94,8 +139,8 @@ class SecuritySettings extends Component {
type={inputTypes.SELECT}
name="authenticationMethod"
values={authenticationMethodOptions}
helpText={translate('AuthenticationMethodHelpText')}
helpTextWarning={authenticationRequiredWarning}
helpText={translate('AuthenticationMethodHelpText', { appName: 'Prowlarr' })}
helpTextWarning={translate('AuthenticationRequiredWarning', { appName: 'Prowlarr' })}
onChange={onInputChange}
{...authenticationMethod}
/>
@@ -155,6 +200,7 @@ class SecuritySettings extends Component {
type={inputTypes.TEXT}
name="apiKey"
readOnly={true}
helpTextWarning={translate('RestartRequiredHelpTextWarning')}
buttons={[
<ClipboardButton
key="copy"
@@ -196,7 +242,7 @@ class SecuritySettings extends Component {
isOpen={this.state.isConfirmApiKeyResetModalOpen}
kind={kinds.DANGER}
title={translate('ResetAPIKey')}
message={translate('AreYouSureYouWantToResetYourAPIKey')}
message={translate('ResetAPIKeyMessageText')}
confirmLabel={translate('Reset')}
onConfirm={this.onConfirmResetApiKey}
onCancel={this.onCloseResetApiKeyModal}

View File

@@ -104,6 +104,9 @@ namespace NzbDrone.Common.Test.InstrumentationTests
// RSS
[TestCase(@"<atom:link href = ""https://api.nzb.su/api?t=search&amp;extended=1&amp;cat=3030&apikey=mySecret&amp;q=Diggers"" rel=""self"" type=""application/rss+xml"" />")]
// Applications
[TestCase(@"""name"":""apiKey"",""value"":""mySecret""")]
// Internal
[TestCase(@"[Info] MigrationController: *** Migrating Database=prowlarr-main;Host=postgres14;Username=mySecret;Password=mySecret;Port=5432;Enlist=False ***")]
[TestCase("/readarr/signalr/messages/negotiate?access_token=1234530f422f4aacb6b301233210aaaa&negotiateVersion=1")]

View File

@@ -58,6 +58,9 @@ namespace NzbDrone.Common.Instrumentation
new (@"(?:avistaz|exoticaz|cinemaz|privatehd)\.[a-z]{2,3}/rss/download/(?<secret>[^&=]+?)/(?<secret>[^&=]+?)\.torrent", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"(?:animebytes)\.[a-z]{2,3}/torrent/[0-9]+/download/(?<secret>[^&=]+?)[""]", RegexOptions.Compiled | RegexOptions.IgnoreCase),
new (@"""(info_hash|token|((pass|rss)[- _]?key))"":""(?<secret>[^&=]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
// Applications
new (@"""name"":""apikey"",""value"":""(?<secret>[^&=]+?)""", RegexOptions.Compiled | RegexOptions.IgnoreCase),
};
private static readonly Regex CleanseRemoteIPRegex = new (@"(?:Auth-\w+(?<!Failure|Unauthorized) ip|from) (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", RegexOptions.Compiled);

View File

@@ -3,8 +3,6 @@ namespace NzbDrone.Core.Applications.Lidarr
public class LidarrField
{
public string Name { get; set; }
public string Label { get; set; }
public string Unit { get; set; }
public object Value { get; set; }
public string Type { get; set; }
public bool Advanced { get; set; }

View File

@@ -3,8 +3,6 @@ namespace NzbDrone.Core.Applications.Radarr
public class RadarrField
{
public string Name { get; set; }
public string Label { get; set; }
public string Unit { get; set; }
public object Value { get; set; }
public string Type { get; set; }
public bool Advanced { get; set; }

View File

@@ -3,8 +3,6 @@ namespace NzbDrone.Core.Applications.Readarr
public class ReadarrField
{
public string Name { get; set; }
public string Label { get; set; }
public string Unit { get; set; }
public object Value { get; set; }
public string Type { get; set; }
public bool Advanced { get; set; }

View File

@@ -3,8 +3,6 @@ namespace NzbDrone.Core.Applications.Sonarr
public class SonarrField
{
public string Name { get; set; }
public string Label { get; set; }
public string Unit { get; set; }
public object Value { get; set; }
public string Type { get; set; }
public bool Advanced { get; set; }

View File

@@ -3,8 +3,6 @@ namespace NzbDrone.Core.Applications.Whisparr
public class WhisparrField
{
public string Name { get; set; }
public string Label { get; set; }
public string Unit { get; set; }
public object Value { get; set; }
public string Type { get; set; }
public bool Advanced { get; set; }

View File

@@ -214,7 +214,7 @@ namespace NzbDrone.Core.IndexerSearch
if (releases.Count != indexerReports.Releases.Count)
{
_logger.Trace("{0} {1} Releases which didn't contain search categories [{2}] were filtered", indexerReports.Releases.Count - releases.Count, indexer.Name, string.Join(", ", expandedQueryCats));
_logger.Trace("{0} releases from {1} ({2}) which didn't contain search categories [{3}] were filtered", indexerReports.Releases.Count - releases.Count, ((IndexerDefinition)indexer.Definition).Name, indexer.Name, string.Join(", ", expandedQueryCats));
}
}

View File

@@ -287,7 +287,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
[".Today.Year"] = DateTime.Today.Year.ToString()
};
_logger.Debug("Populating config vars");
_logger.Trace("Populating config vars");
foreach (var setting in _definition.Settings)
{

View File

@@ -35,7 +35,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
{
var releases = new List<ReleaseInfo>();
_logger.Debug("Parsing");
_logger.Trace("Cardigann ({0}): Parsing response", _definition.Id);
var indexerLogging = _configService.LogIndexerResponse;
@@ -428,7 +428,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
}
});
_logger.Debug($"Got {releases.Count} releases");
_logger.Trace("Cardigann ({0}): Got {1} releases", _definition.Id, releases.Count);
return releases;
}

View File

@@ -346,5 +346,7 @@
"DeleteAppProfileMessageText": "هل أنت متأكد من أنك تريد حذف ملف تعريف الجودة {0}",
"RecentChanges": "التغييرات الأخيرة",
"WhatsNew": "ما هو الجديد؟",
"minutes": "الدقائق"
"minutes": "الدقائق",
"NotificationStatusAllClientHealthCheckMessage": "جميع القوائم غير متاحة بسبب الإخفاقات",
"NotificationStatusSingleClientHealthCheckMessage": "القوائم غير متاحة بسبب الإخفاقات: {0}"
}

View File

@@ -346,5 +346,7 @@
"DeleteAppProfileMessageText": "Наистина ли искате да изтриете качествения профил {0}",
"RecentChanges": "Последни промени",
"WhatsNew": "Какво ново?",
"minutes": "Минути"
"minutes": "Минути",
"NotificationStatusSingleClientHealthCheckMessage": "Списъци, недостъпни поради неуспехи: {0}",
"NotificationStatusAllClientHealthCheckMessage": "Всички списъци са недостъпни поради неуспехи"
}

View File

@@ -369,5 +369,8 @@
"RecentChanges": "Canvis recents",
"WhatsNew": "Que hi ha de nou?",
"minutes": "Minuts",
"DeleteAppProfileMessageText": "Esteu segur que voleu suprimir el perfil de qualitat {0}"
"DeleteAppProfileMessageText": "Esteu segur que voleu suprimir el perfil de qualitat {0}",
"NotificationStatusSingleClientHealthCheckMessage": "Llistes no disponibles a causa d'errors: {0}",
"AddConnection": "Edita la col·lecció",
"NotificationStatusAllClientHealthCheckMessage": "Totes les llistes no estan disponibles a causa d'errors"
}

View File

@@ -3,8 +3,8 @@
"CertificateValidation": "Ověření certifikátu",
"DeleteBackupMessageText": "Opravdu chcete smazat zálohu „{0}“?",
"YesCancel": "Ano, zrušit",
"About": "O",
"Component": "Součástka",
"About": "O aplikaci",
"Component": "Komponenta",
"Info": "Info",
"LogFiles": "Záznam souborů",
"Logs": "Protokoly",
@@ -72,10 +72,10 @@
"AnalyticsEnabledHelpText": "Odesílejte anonymní informace o použití a chybách na servery Prowlarru. To zahrnuje informace o vašem prohlížeči, které stránky Prowlarr WebUI používáte, hlášení chyb a také verzi operačního systému a běhového prostředí. Tyto informace použijeme k upřednostnění funkcí a oprav chyb.",
"ApiKey": "Klíč API",
"AppDataDirectory": "Adresář AppData",
"AppDataLocationHealthCheckMessage": "Aktualizace nebude možné zabránit smazání AppData při aktualizaci",
"AppDataLocationHealthCheckMessage": "Aktualizace nebude možná, aby se zabránilo odstranění AppData při aktualizaci",
"ApplicationStatusCheckAllClientMessage": "Všechny seznamy nejsou k dispozici z důvodu selhání",
"ApplicationStatusCheckSingleClientMessage": "Seznamy nejsou k dispozici z důvodu selhání: {0}",
"Apply": "Aplikovat",
"Apply": "Použít",
"Branch": "Větev",
"BranchUpdate": "Pobočka, která se má použít k aktualizaci Prowlarr",
"EditIndexer": "Upravit indexátor",
@@ -84,7 +84,7 @@
"CloseCurrentModal": "Zavřít aktuální modální",
"Columns": "Sloupce",
"ConnectionLost": "Spojení ztraceno",
"ConnectSettings": "Připojit nastavení",
"ConnectSettings": "Nastavení připojení",
"Custom": "Zvyk",
"Error": "Chyba",
"Failed": "Selhalo",
@@ -113,7 +113,7 @@
"IgnoredAddresses": "Ignorované adresy",
"AcceptConfirmationModal": "Přijměte potvrzovací modální okno",
"Actions": "Akce",
"Added": "Přidané",
"Added": "Přidáno",
"AddIndexer": "Přidat indexátor",
"LaunchBrowserHelpText": " Otevřete webový prohlížeč a při spuštění aplikace přejděte na domovskou stránku Prowlarr.",
"Logging": "Protokolování",
@@ -171,16 +171,16 @@
"UseProxy": "Použij proxy",
"Username": "Uživatelské jméno",
"Yesterday": "Včera",
"AutomaticSearch": "Automatické vyhledávání",
"AutomaticSearch": "Vyhledat automaticky",
"BackupFolderHelpText": "Relativní cesty budou v adresáři AppData společnosti Prowlarr",
"BackupIntervalHelpText": "Interval mezi automatickými zálohami",
"BackupNow": "Zálohovat hned",
"BackupRetentionHelpText": "Automatické zálohy starší než doba uchování budou automaticky vyčištěny",
"BeforeUpdate": "Před aktualizací",
"BindAddress": "Vazba adresy",
"BindAddressHelpText": "Platná adresa IP4 nebo '*' pro všechna rozhraní",
"BranchUpdateMechanism": "Pobočka používaná mechanismem externí aktualizace",
"BypassProxyForLocalAddresses": "Obejít proxy pro místní adresy",
"BackupNow": "Ihned zálohovat",
"BackupRetentionHelpText": "Automatické zálohy starší než doba uchování budou automaticky vyčištěny",
"BeforeUpdate": "Před zálohováním",
"BindAddress": "Vázat adresu",
"BindAddressHelpText": "Platná IP adresa, localhost nebo '*' pro všechna rozhraní",
"BranchUpdateMechanism": "Větev používaná externím aktualizačním mechanismem",
"BypassProxyForLocalAddresses": "Obcházení proxy serveru pro místní adresy",
"DeleteIndexerProxyMessageText": "Opravdu chcete smazat značku „{0}“?",
"DeleteTag": "Smazat značku",
"IndexerProxyStatusCheckSingleClientMessage": "Indexery nedostupné z důvodu selhání: {0}",
@@ -222,22 +222,22 @@
"SettingsShowRelativeDates": "Zobrazit relativní data",
"SettingsShowRelativeDatesHelpText": "Zobrazit relativní (dnes / včera / atd.) Nebo absolutní data",
"SystemTimeCheckMessage": "Systémový čas je vypnutý o více než 1 den. Naplánované úlohy nemusí fungovat správně, dokud nebude čas opraven",
"AddingTag": "Přidání značky",
"AddingTag": "Přidání značky",
"Age": "Stáří",
"All": "Vše",
"AllIndexersHiddenDueToFilter": "Všechny filmy jsou skryty kvůli použitému filtru.",
"Analytics": "Analytics",
"Analytics": "Analýzy",
"EnableRss": "Povolit RSS",
"NoChange": "Žádná změna",
"AreYouSureYouWantToResetYourAPIKey": "Opravdu chcete resetovat klíč API?",
"Authentication": "Ověření",
"Authentication": "Ověřování",
"AuthenticationMethodHelpText": "Vyžadovat uživatelské jméno a heslo pro přístup k Prowlarr",
"Automatic": "Automatický",
"Backup": "Záloha",
"Cancel": "zrušení",
"Cancel": "Zrušit",
"CertificateValidationHelpText": "Změňte, jak přísné je ověření certifikace HTTPS",
"ChangeHasNotBeenSavedYet": "Změna ještě nebyla uložena",
"Clear": "Průhledná",
"Clear": "Vyčistit",
"ClientPriority": "Priorita klienta",
"CloneProfile": "Klonovat profil",
"Close": "Zavřít",
@@ -332,23 +332,57 @@
"Replace": "Nahradit",
"TheLatestVersionIsAlreadyInstalled": "Nejnovější verze aplikace Prowlarr je již nainstalována",
"More": "Více",
"ApplyTagsHelpTextAdd": "Přidat: Přidejte značky do existujícího seznamu značek",
"ApplyTagsHelpTextAdd": "Přidat: Přidá značky k již existujícímu seznamu",
"ApplyTagsHelpTextHowToApplyApplications": "Jak použít značky na vybrané filmy",
"DeleteSelectedDownloadClients": "Odstranit staženého klienta",
"DeleteSelectedIndexersMessageText": "Opravdu chcete odstranit indexer „{0}“?",
"DeleteSelectedApplicationsMessageText": "Opravdu chcete odstranit indexer „{0}“?",
"DeleteSelectedDownloadClientsMessageText": "Opravdu chcete odstranit indexer „{0}“?",
"Year": "Rok",
"ApplyTagsHelpTextRemove": "Odebrat: Odebere zadané značky",
"ApplyTagsHelpTextRemove": "Odebrat: Odebrat zadané značky",
"DownloadClientPriorityHelpText": "Upřednostněte více klientů pro stahování. Round-Robin se používá pro klienty se stejnou prioritou.",
"ApplyTagsHelpTextHowToApplyIndexers": "Jak použít značky na vybrané filmy",
"ApplyTagsHelpTextReplace": "Nahradit: Nahradit tagy zadanými tagy (pro vymazání všech tagů zadejte žádné tagy)",
"ApplyTagsHelpTextHowToApplyIndexers": "Jak použít značky na vybrané indexátory",
"ApplyTagsHelpTextReplace": "Nahradit: Nahradit značky zadanými značkami (zadáním žádné značky vymažete všechny značky)",
"Track": "Stopa",
"Genre": "Žánry",
"ConnectionLostReconnect": "Radarr se pokusí připojit automaticky, nebo můžete kliknout na znovu načíst níže.",
"ConnectionLostReconnect": "{appName} se pokusí připojit automaticky, nebo můžete kliknout na tlačítko znovunačtení níže.",
"RecentChanges": "Nedávné změny",
"WhatsNew": "Co je nového?",
"DeleteAppProfileMessageText": "Opravdu chcete smazat kvalitní profil {0}",
"ConnectionLostToBackend": "Radarr ztratil spojení s back-endem a pro obnovení funkčnosti bude nutné jej znovu načíst.",
"minutes": "Minut"
"ConnectionLostToBackend": "{appName} ztratila spojení s backendem a pro obnovení funkčnosti bude třeba ji znovu načíst.",
"minutes": "Minut",
"ApplicationURL": "URL aplikace",
"ApplicationUrlHelpText": "Externí adresa URL této aplikace včetně http(s)://, portu a základní adresy URL",
"ApplyChanges": "Použít změny",
"ApiKeyValidationHealthCheckMessage": "Aktualizujte svůj klíč API tak, aby měl alespoň {0} znaků. Můžete to provést prostřednictvím nastavení nebo konfiguračního souboru",
"AppUpdated": "{appName} aktualizován",
"AddDownloadClientImplementation": "Přidat klienta pro stahování - {implementationName}",
"AuthenticationRequired": "Vyžadované ověření",
"AuthenticationRequiredHelpText": "Změnit, pro které požadavky je vyžadováno ověření. Pokud nerozumíte rizikům, neměňte je.",
"AddCustomFilter": "Přidat vlastní filtr",
"AddConnection": "Přidat spojení",
"AddConnectionImplementation": "Přidat spojení - {implementationName}",
"AddIndexerImplementation": "Přidat indexátor - {implementationName}",
"Publisher": "Vydavatel",
"Categories": "Kategorie",
"Notification": "Oznámení",
"AddApplicationImplementation": "Přidat spojení - {implementationName}",
"AddIndexerProxyImplementation": "Přidat indexátor - {implementationName}",
"Artist": "umělec",
"EditIndexerImplementation": "Přidat indexátor - {implementationName}",
"Episode": "epizoda",
"NotificationStatusAllClientHealthCheckMessage": "Všechny seznamy nejsou k dispozici z důvodu selhání",
"NotificationStatusSingleClientHealthCheckMessage": "Seznamy nejsou k dispozici z důvodu selhání: {0}",
"Application": "Aplikace",
"AppUpdatedVersion": "{appName} byla aktualizována na verzi `{version}`, abyste získali nejnovější změny, musíte znovu načíst {appName}.",
"Encoding": "Kódování",
"Notifications": "Oznámení",
"Season": "Řada",
"Theme": "Motiv",
"Label": "Etiketa",
"Album": "album",
"Applications": "Aplikace",
"Connect": "Oznámení",
"EditConnectionImplementation": "Přidat spojení - {implementationName}",
"EditDownloadClientImplementation": "Přidat klienta pro stahování - {implementationName}"
}

View File

@@ -362,5 +362,7 @@
"RecentChanges": "Seneste ændringer",
"WhatsNew": "Hvad er nyt?",
"ConnectionLostReconnect": "Radarr vil prøve at tilslutte automatisk, eller du kan klikke genindlæs forneden.",
"minutes": "Protokoller"
"minutes": "Protokoller",
"NotificationStatusAllClientHealthCheckMessage": "Alle lister er utilgængelige på grund af fejl",
"NotificationStatusSingleClientHealthCheckMessage": "Lister utilgængelige på grund af fejl: {0}"
}

View File

@@ -497,5 +497,8 @@
"RecentChanges": "Neuste Änderungen",
"WhatsNew": "Was gibt's Neues?",
"minutes": "Minuten",
"DeleteAppProfileMessageText": "Qualitätsprofil '{0}' wirklich löschen?"
"DeleteAppProfileMessageText": "Qualitätsprofil '{0}' wirklich löschen?",
"AddConnection": "Sammlung bearbeiten",
"NotificationStatusAllClientHealthCheckMessage": "Wegen Fehlern sind keine Applikationen verfügbar",
"NotificationStatusSingleClientHealthCheckMessage": "Applikationen wegen folgender Fehler nicht verfügbar: {0}"
}

View File

@@ -499,5 +499,8 @@
"WhatsNew": "Τι νέα?",
"ConnectionLostToBackend": "Το Radarr έχασε τη σύνδεσή του με το backend και θα χρειαστεί να επαναφορτωθεί για να αποκαταστήσει τη λειτουργικότητά του.",
"minutes": "Λεπτά",
"DeleteAppProfileMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το προφίλ ποιότητας '{0}'?"
"DeleteAppProfileMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το προφίλ ποιότητας '{0}'?",
"AddConnection": "Προσθήκη Σύνδεσης",
"NotificationStatusAllClientHealthCheckMessage": "Όλες οι λίστες δεν είναι διαθέσιμες λόγω αστοχιών",
"NotificationStatusSingleClientHealthCheckMessage": "Μη διαθέσιμες λίστες λόγω αποτυχιών: {0}"
}

View File

@@ -61,16 +61,21 @@
"AppsMinimumSeedersHelpText": "Minimum seeders required by the Applications for the indexer to grab, empty is Sync profile's default",
"AreYouSureYouWantToDeleteCategory": "Are you sure you want to delete mapped category?",
"AreYouSureYouWantToDeleteIndexer": "Are you sure you want to delete '{name}' from Prowlarr?",
"AreYouSureYouWantToResetYourAPIKey": "Are you sure you want to reset your API Key?",
"Artist": "Artist",
"AudioSearch": "Audio Search",
"Auth": "Auth",
"AuthBasic": "Basic (Browser Popup)",
"AuthForm": "Forms (Login Page)",
"AuthQueries": "Auth Queries",
"Authentication": "Authentication",
"AuthenticationMethodHelpText": "Require Username and Password to access Prowlarr",
"AuthenticationMethod": "Authentication Method",
"AuthenticationMethodHelpText": "Require Username and Password to access {appName}",
"AuthenticationMethodHelpTextWarning": "Please select a valid authentication method",
"AuthenticationRequired": "Authentication Required",
"AuthenticationRequiredHelpText": "Change which requests authentication is required for. Do not change unless you understand the risks.",
"AuthenticationRequiredWarning": "To prevent remote access without authentication, Prowlarr now requires authentication to be enabled. Configure your authentication method and credentials. You can optionally disable authentication from local addresses. Refer to the FAQ for additional information.",
"AuthenticationRequiredPasswordHelpTextWarning": "Enter a new password",
"AuthenticationRequiredUsernameHelpTextWarning": "Enter a new username",
"AuthenticationRequiredWarning": "To prevent remote access without authentication, {appName} now requires authentication to be enabled. You can optionally disable authentication from local addresses.",
"Author": "Author",
"Automatic": "Automatic",
"AutomaticSearch": "Automatic Search",
@@ -153,6 +158,7 @@
"Details": "Details",
"DevelopmentSettings": "Development Settings",
"Disabled": "Disabled",
"DisabledForLocalAddresses": "Disabled for Local Addresses",
"DisabledUntil": "Disabled Until",
"Discord": "Discord",
"Docker": "Docker",
@@ -199,6 +205,7 @@
"Events": "Events",
"Exception": "Exception",
"ExistingTag": "Existing tag",
"External": "External",
"Failed": "Failed",
"FeatureRequests": "Feature Requests",
"Filename": "Filename",
@@ -331,6 +338,7 @@
"NoSearchResultsFound": "No search results found, try performing a new search below.",
"NoTagsHaveBeenAddedYet": "No tags have been added yet",
"NoUpdatesAreAvailable": "No updates are available",
"None": "None",
"NotSupported": "Not Supported",
"Notification": "Notification",
"NotificationStatusAllClientHealthCheckMessage": "All notifications are unavailable due to failures",
@@ -409,6 +417,7 @@
"Replace": "Replace",
"Reset": "Reset",
"ResetAPIKey": "Reset API Key",
"ResetAPIKeyMessageText": "Are you sure you want to reset your API Key?",
"Restart": "Restart",
"RestartNow": "Restart Now",
"RestartProwlarr": "Restart Prowlarr",

View File

@@ -410,5 +410,8 @@
"minutes": "Minutos",
"Album": "álbum",
"Artist": "artista",
"DeleteAppProfileMessageText": "Seguro que quieres eliminar el perfil de calidad {0}"
"DeleteAppProfileMessageText": "Seguro que quieres eliminar el perfil de calidad {0}",
"AddConnection": "Añadir Conexión",
"NotificationStatusAllClientHealthCheckMessage": "Las listas no están disponibles debido a errores",
"NotificationStatusSingleClientHealthCheckMessage": "Listas no disponibles debido a errores: {0}"
}

View File

@@ -491,5 +491,8 @@
"RecentChanges": "Viimeaikaiset muutokset",
"WhatsNew": "Mikä on uutta?",
"ConnectionLostToBackend": "Radarr on menettänyt yhteyden taustajärjestelmään ja sivu on päivitettävä toiminnallisuuden palauttamiseksi.",
"minutes": "Minuuttia"
"minutes": "Minuuttia",
"AddConnection": "Lisää yhteys",
"NotificationStatusAllClientHealthCheckMessage": "Sovellukset eivät ole käytettävissä virheiden vuoksi",
"NotificationStatusSingleClientHealthCheckMessage": "Sovellukset eivät ole käytettävissä virheiden vuoksi: {0}"
}

View File

@@ -531,5 +531,12 @@
"RecentChanges": "Changements récents",
"WhatsNew": "Quoi de neuf ?",
"minutes": "Minutes",
"DeleteAppProfileMessageText": "Voulez-vous vraiment supprimer le profil de qualité {0} ?"
"DeleteAppProfileMessageText": "Voulez-vous vraiment supprimer le profil de qualité {0} ?",
"AddConnection": "Ajouter une connexion",
"AddConnectionImplementation": "Ajouter une connexion - {implementationName}",
"AddApplicationImplementation": "Ajouter une condition - {implementationName}",
"AddIndexerImplementation": "Ajouter une condition - {implementationName}",
"EditConnectionImplementation": "Ajouter une connexion - {implementationName}",
"NotificationStatusAllClientHealthCheckMessage": "Toutes les applications sont indisponibles en raison de dysfonctionnements",
"NotificationStatusSingleClientHealthCheckMessage": "Applications indisponibles en raison de dysfonctionnements : {0}"
}

View File

@@ -400,5 +400,7 @@
"Theme": "ערכת נושא",
"ConnectionLostReconnect": "Radarr ינסה להתחבר אוטומטית, או שתלחץ על טען מחדש למטה.",
"Album": "אלבום",
"Artist": "אמן"
"Artist": "אמן",
"NotificationStatusAllClientHealthCheckMessage": "כל הרשימות אינן זמינות בגלל כשלים",
"NotificationStatusSingleClientHealthCheckMessage": "רשימות לא זמינות בגלל כשלים: {0}"
}

View File

@@ -346,5 +346,7 @@
"RecentChanges": "हाल में हुए बदलाव",
"WhatsNew": "नया क्या है?",
"minutes": "मिनट",
"DeleteAppProfileMessageText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं"
"DeleteAppProfileMessageText": "क्या आप वाकई गुणवत्ता प्रोफ़ाइल {0} को हटाना चाहते हैं",
"NotificationStatusAllClientHealthCheckMessage": "सभी सूचियाँ विफल होने के कारण अनुपलब्ध हैं",
"NotificationStatusSingleClientHealthCheckMessage": "विफलताओं के कारण अनुपलब्ध सूची: {0}"
}

View File

@@ -494,5 +494,8 @@
"RecentChanges": "Friss változtatások",
"WhatsNew": "Mi az újdonság?",
"ConnectionLostToBackend": "A Radarr elvesztette kapcsolatát a háttérrendszerrel, a funkciók helyreállításához frissíts.",
"minutes": "percek"
"minutes": "percek",
"AddConnection": "Gyűjtemény módosítása",
"NotificationStatusAllClientHealthCheckMessage": "Összes alkalmazás elérhetetlen hiba miatt",
"NotificationStatusSingleClientHealthCheckMessage": "Az alkalmazás nem áll rendelkezésre az alábbi hibák miatt: {0}"
}

View File

@@ -346,5 +346,7 @@
"RecentChanges": "Nýlegar breytingar",
"WhatsNew": "Hvað er nýtt?",
"ConnectionLostReconnect": "Radarr mun reyna að tengjast sjálfkrafa eða þú getur smellt á endurhlaða hér að neðan.",
"minutes": "Fundargerð"
"minutes": "Fundargerð",
"NotificationStatusAllClientHealthCheckMessage": "Allir listar eru ekki tiltækir vegna bilana",
"NotificationStatusSingleClientHealthCheckMessage": "Listar ekki tiltækir vegna bilana: {0}"
}

View File

@@ -495,5 +495,8 @@
"WhatsNew": "Cosa c'è di nuovo?",
"ConnectionLostReconnect": "Radarr cercherà di connettersi automaticamente, oppure clicca su ricarica qui sotto.",
"ConnectionLostToBackend": "Radarr ha perso la connessione al backend e dovrà essere ricaricato per ripristinare la funzionalità.",
"minutes": "Minuti"
"minutes": "Minuti",
"AddConnection": "Aggiungi Connessione",
"NotificationStatusAllClientHealthCheckMessage": "Tutte le applicazioni non sono disponibili a causa di errori",
"NotificationStatusSingleClientHealthCheckMessage": "Applicazioni non disponibili a causa di errori: {0}"
}

View File

@@ -346,5 +346,7 @@
"DeleteAppProfileMessageText": "品質プロファイル{0}を削除してもよろしいですか",
"RecentChanges": "最近の変化",
"WhatsNew": "新着情報?",
"minutes": "議事録"
"minutes": "議事録",
"NotificationStatusSingleClientHealthCheckMessage": "失敗のため利用できないリスト:{0}",
"NotificationStatusAllClientHealthCheckMessage": "障害のため、すべてのリストを利用できません"
}

View File

@@ -345,5 +345,7 @@
"Year": "년",
"ConnectionLostReconnect": "Radarr가 자동으로 연결을 시도하거나 아래에서 새로고침을 클릭할 수 있습니다.",
"ConnectionLostToBackend": "Radarr는 백엔드와의 연결이 끊어졌으며 기능을 복원하려면 다시 로딩해야 합니다.",
"DeleteAppProfileMessageText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?"
"DeleteAppProfileMessageText": "품질 프로필 {0}을 (를) 삭제 하시겠습니까?",
"NotificationStatusAllClientHealthCheckMessage": "실패로 인해 모든 목록을 사용할 수 없습니다.",
"NotificationStatusSingleClientHealthCheckMessage": "실패로 인해 사용할 수없는 목록 : {0}"
}

View File

@@ -131,5 +131,6 @@
"ApiKeyValidationHealthCheckMessage": "Vennligst oppdater din API-nøkkel til å være minst {0} tegn lang. Du kan gjøre dette via innstillinger eller konfigurasjonsfilen",
"ConnectionLostReconnect": "Radarr vil forsøke å koble til automatisk, eller du kan klikke oppdater nedenfor.",
"ConnectionLostToBackend": "Radarr har mistet tilkoblingen til baksystemet og må lastes inn på nytt for å gjenopprette funksjonalitet.",
"DeleteAppProfileMessageText": "Er du sikker på at du vil slette denne forsinkelsesprofilen?"
"DeleteAppProfileMessageText": "Er du sikker på at du vil slette denne forsinkelsesprofilen?",
"AddConnection": "Legg til kobling"
}

View File

@@ -449,5 +449,8 @@
"WhatsNew": "Wat is er nieuw?",
"ConnectionLostToBackend": "Radarr heeft zijn verbinding met de backend verloren en zal moeten worden herladen om de functionaliteit te kunnen herstellen.",
"minutes": "Minuten",
"DeleteAppProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {0} wilt verwijderen"
"DeleteAppProfileMessageText": "Bent u zeker dat u het kwaliteitsprofiel {0} wilt verwijderen",
"NotificationStatusSingleClientHealthCheckMessage": "Applicaties onbeschikbaar door fouten",
"AddConnection": "Bewerk collectie",
"NotificationStatusAllClientHealthCheckMessage": "Alle applicaties onbeschikbaar door fouten"
}

View File

@@ -367,5 +367,8 @@
"RecentChanges": "Ostatnie zmiany",
"WhatsNew": "Co nowego?",
"ConnectionLostToBackend": "Radarr utracił połączenie z silnikiem programu, aby przywrócić funkcjonalność musi zostać zrestartowany.",
"minutes": "Minuty"
"minutes": "Minuty",
"NotificationStatusSingleClientHealthCheckMessage": "Listy niedostępne z powodu błędów: {0}",
"AddConnection": "Edytuj kolekcję",
"NotificationStatusAllClientHealthCheckMessage": "Wszystkie listy są niedostępne z powodu błędów"
}

View File

@@ -439,5 +439,6 @@
"WhatsNew": "O que há de novo?",
"RecentChanges": "Mudanças recentes",
"minutes": "Minutos",
"DeleteAppProfileMessageText": "Tem a certeza que quer eliminar o perfil de qualidade \"{0}\"?"
"DeleteAppProfileMessageText": "Tem a certeza que quer eliminar o perfil de qualidade \"{0}\"?",
"AddConnection": "Editar Coleção"
}

View File

@@ -110,7 +110,7 @@
"DeleteIndexerProxy": "Apagar Proxy do Indexador",
"DeleteIndexerProxyMessageText": "Tem certeza de que deseja excluir o proxy do indexador '{name}'?",
"DeleteNotification": "Excluir Notificação",
"DeleteNotificationMessageText": "Tem certeza de que deseja excluir o perfil de metadados '{name}'?",
"DeleteNotificationMessageText": "Tem certeza de que deseja excluir a notificação '{name}'?",
"DeleteTag": "Excluir tag",
"DeleteTagMessageText": "Tem certeza de que deseja excluir a tag '{label}'?",
"Description": "Descrição",
@@ -149,7 +149,7 @@
"Ended": "Terminou",
"Episode": "Episódio",
"Error": "Erro",
"ErrorLoadingContents": "Erro ao carregar conteúdo",
"ErrorLoadingContents": "Erro ao carregar o conteúdo",
"EventType": "Tipo de Evento",
"Events": "Eventos",
"Exception": "Exceção",
@@ -158,7 +158,7 @@
"FeatureRequests": "Solicitação de recursos",
"Filename": "Nome do arquivo",
"Files": "Arquivos",
"Filter": "Filtrar",
"Filter": "Filtro",
"FilterPlaceHolder": "Pesquisar indexadores",
"Filters": "Filtros",
"Fixed": "Corrigido",
@@ -226,7 +226,7 @@
"InstanceNameHelpText": "Nome da instância na aba e para o nome do aplicativo Syslog",
"InteractiveSearch": "Pesquisa Interativa",
"Interval": "Intervalo",
"KeyboardShortcuts": "Atalhos de teclado",
"KeyboardShortcuts": "Atalhos do Teclado",
"Label": "Rótulo",
"Language": "Idioma",
"LastDuration": "Última Duração",
@@ -398,7 +398,7 @@
"ShowSearchHelpText": "Mostrar botão de pesquisa ao passar o mouse",
"Shutdown": "Desligar",
"Size": "Tamanho",
"Sort": "Classificar",
"Sort": "Ordenar",
"Source": "Origem",
"StartTypingOrSelectAPathBelow": "Comece a digitar ou selecione um caminho abaixo",
"Started": "Iniciado",
@@ -417,7 +417,7 @@
"System": "Sistema",
"SystemTimeCheckMessage": "A hora do sistema está desligada por mais de 1 dia. Tarefas agendadas podem não ser executadas corretamente até que o horário seja corrigido",
"TVSearchTypes": "Tipos de Pesquisa de Seriados",
"TableOptions": "Opções da tabela",
"TableOptions": "Opções de Tabela",
"TableOptionsColumnsMessage": "Escolha quais colunas são visíveis e em que ordem aparecem",
"TagCannotBeDeletedWhileInUse": "Não pode ser excluído durante o uso",
"TagIsNotUsedAndCanBeDeleted": "A tag não é usada e pode ser excluída",
@@ -561,7 +561,7 @@
"AppUpdatedVersion": "{appName} foi atualizado para a versão `{version}`, para obter as alterações mais recentes, você precisará recarregar {appName}",
"ConnectionLostToBackend": "{appName} perdeu sua conexão com o backend e precisará ser recarregado para restaurar a funcionalidade.",
"RecentChanges": "Mudanças Recentes",
"WhatsNew": "O quê há de novo?",
"WhatsNew": "O que há de novo?",
"ConnectionLostReconnect": "{appName} tentará se conectar automaticamente ou você pode clicar em recarregar abaixo.",
"AddApplicationImplementation": "Adicionar Aplicativo - {implementationName}",
"AddConnectionImplementation": "Adicionar Conexão - {implementationName}",

View File

@@ -438,5 +438,6 @@
"ConnectionLostToBackend": "{appName} a pierdut conexiunea cu backend-ul și trebuie reîncărcat pentru a restabili funcționalitatea.",
"RecentChanges": "Schimbări recente",
"WhatsNew": "Ce mai e nou?",
"DeleteAppProfileMessageText": "Sigur doriți să ștergeți profilul de aplicație '{0}'?"
"DeleteAppProfileMessageText": "Sigur doriți să ștergeți profilul de aplicație '{0}'?",
"NotificationStatusSingleClientHealthCheckMessage": "Aplicații indisponibile datorită erorilor: {0}"
}

View File

@@ -19,7 +19,7 @@
"Added": "Добавлено",
"Actions": "Действия",
"About": "Подробности",
"DeleteBackupMessageText": "Вы уверены, что хотите удалить резервную копию '{0}'?",
"DeleteBackupMessageText": "Вы уверены, что хотите удалить резервную копию '{name}'?",
"DeleteBackup": "Удалить резервную копию",
"Delete": "Удалить",
"NoLinks": "Нет ссылок",
@@ -56,7 +56,7 @@
"Manual": "Ручной",
"Mechanism": "Механизм",
"NoBackupsAreAvailable": "Нет резервных копий",
"DeleteDownloadClientMessageText": "Вы уверены, что хотите удалить программу для скачивания '{0}'?",
"DeleteDownloadClientMessageText": "Вы уверены, что хотите удалить клиент загрузки '{name}'?",
"Edit": "Редактирование",
"Enable": "Включить",
"Indexer": "Индексатор",
@@ -121,9 +121,9 @@
"Dates": "Даты",
"DBMigration": "Перенос БД",
"DeleteNotification": "Удалить уведомление",
"DeleteNotificationMessageText": "Вы уверены, что хотите удалить уведомление '{0}'?",
"DeleteNotificationMessageText": "Вы уверены, что хотите удалить уведомление '{name}'?",
"DeleteTag": "Удалить тэг",
"DeleteTagMessageText": "Вы уверены, что хотите удалить тэг '{0}'?",
"DeleteTagMessageText": "Вы уверены, что хотите удалить тэг '{label}'?",
"Disabled": "Выключено",
"Discord": "Discord",
"Donations": "Пожертвования",
@@ -356,22 +356,22 @@
"ApplicationURL": "URL-адрес приложения",
"ApplicationUrlHelpText": "Внешний URL-адрес этого приложения, включая http(s)://, порт и базовый URL-адрес",
"Label": "Ярлык",
"ApplyChanges": "Применять изменения",
"ApplyTagsHelpTextRemove": "Убрать: Убрать введенные тэги",
"ApplyChanges": "Применить изменения",
"ApplyTagsHelpTextRemove": "Удалить: удалить введенные теги",
"DeleteSelectedApplicationsMessageText": "Вы уверены что хотите удалить индексер '{0}'?",
"DeleteSelectedDownloadClients": "Удалить программу для скачивания",
"DeleteSelectedDownloadClientsMessageText": "Вы уверены что хотите удалить индексер '{0}'?",
"DeleteSelectedIndexersMessageText": "Вы уверены что хотите удалить индексер '{0}'?",
"DeleteSelectedDownloadClients": "Удалить клиент(ы) загрузки",
"DeleteSelectedDownloadClientsMessageText": "Вы уверены, что хотите удалить {count} выбранных клиента загрузки?",
"DeleteSelectedIndexersMessageText": "Вы уверены, что хотите удалить {count} выбранных индексатора?",
"DownloadClientPriorityHelpText": "Установите приоритет нескольких клиентов загрузки. Круговой алгоритм используется для клиентов с таким же приоритетом.",
"EditSelectedDownloadClients": "Редактировать выбранные клиенты загрузки",
"ApiKeyValidationHealthCheckMessage": "Пожалуйста, обновите свой ключ API, чтобы он был длиной не менее {0} символов. Вы можете сделать это через настройки или файл конфигурации",
"Genre": "Жанры",
"Theme": "Тема",
"Year": "Год",
"ApplyTagsHelpTextAdd": "Добавить: добавить ярлыки к существующему списку",
"ApplyTagsHelpTextAdd": "Добавить: Добавьте теги в существующий список тегов",
"ApplyTagsHelpTextHowToApplyApplications": "Как добавить ярлыки к выбранным фильмам",
"ApplyTagsHelpTextHowToApplyIndexers": "Как добавить ярлыки к выбранным фильмам",
"ApplyTagsHelpTextReplace": "Заменить: Изменить существующие тэги на введенные тэги (оставьте пустым чтобы очистить все тэги)",
"ApplyTagsHelpTextHowToApplyIndexers": "Как применить теги к выбранным индексаторам",
"ApplyTagsHelpTextReplace": "Заменить: заменить теги введенными тегами (оставьте поле пустым, чтобы удалить все теги)",
"Track": "След",
"UpdateAvailable": "Доступно новое обновление",
"More": "Более",
@@ -381,5 +381,32 @@
"RecentChanges": "Последние изменения",
"WhatsNew": "Что нового?",
"minutes": "Минуты",
"DeleteAppProfileMessageText": "Вы действительно хотите удалить профиль качества {0}"
"DeleteAppProfileMessageText": "Вы действительно хотите удалить профиль качества {0}",
"EditDownloadClientImplementation": "Редактировать клиент загрузки - {implementationName}",
"EditIndexerImplementation": "Редактировать индексатор - {implementationName}",
"NoIndexersFound": "Индексаторы не найдены",
"AuthenticationRequiredHelpText": "Отредактируйте, для каких запросов требуется аутентификация. Не меняйте, пока не поймете все риски.",
"AuthenticationRequired": "Требуется авторизация",
"CountDownloadClientsSelected": "{count} выбранных клиентов загрузки",
"CountIndexersSelected": "{count} выбранных индексаторов",
"EditSelectedIndexers": "Редактировать выбранный индексатор",
"OnHealthRestored": "При восстановлении работоспособности",
"OnHealthRestoredHelpText": "При восстановлении работоспособности",
"Implementation": "Реализация",
"NoDownloadClientsFound": "Клиенты для загрузки не найдены",
"IndexerDownloadClientHealthCheckMessage": "Индексаторы с недопустимыми клиентами загрузки: {0}.",
"StopSelecting": "Прекратить выбор",
"AddDownloadClientImplementation": "Добавить клиент загрузки - {implementationName}",
"AddConnection": "Добавить соединение",
"AddConnectionImplementation": "Добавить соединение - {implementationName}",
"ManageDownloadClients": "Менеджер клиентов загрузки",
"NotificationStatusAllClientHealthCheckMessage": "Все уведомления недоступны из-за сбоев",
"NotificationStatusSingleClientHealthCheckMessage": "Уведомления недоступны из-за сбоев: {0}",
"AddIndexerImplementation": "Добавить индексатор - {implementationName}",
"AddIndexerProxyImplementation": "Добавить индексатор - {implementationName}",
"EditConnectionImplementation": "Добавить соединение - {implementationName}",
"EditIndexerProxyImplementation": "Редактировать индексатор - {implementationName}",
"Season": "Сезон",
"AddApplicationImplementation": "Добавить соединение - {implementationName}",
"EditApplicationImplementation": "Редактировать уведомление - {implementationName}"
}

View File

@@ -431,5 +431,7 @@
"DeleteAppProfileMessageText": "Är du säker på att du vill ta bort kvalitetsprofilen '{0}'?",
"RecentChanges": "Senaste ändringar",
"WhatsNew": "Vad är nytt?",
"minutes": "Minuter"
"minutes": "Minuter",
"NotificationStatusSingleClientHealthCheckMessage": "Listor otillgängliga på grund av fel: {0}",
"NotificationStatusAllClientHealthCheckMessage": "Samtliga listor otillgängliga på grund av fel"
}

View File

@@ -349,5 +349,7 @@
"DeleteAppProfileMessageText": "แน่ใจไหมว่าต้องการลบโปรไฟล์คุณภาพ {0}",
"minutes": "นาที",
"WhatsNew": "มีอะไรใหม่",
"RecentChanges": "การเปลี่ยนแปลงล่าสุด"
"RecentChanges": "การเปลี่ยนแปลงล่าสุด",
"NotificationStatusAllClientHealthCheckMessage": "รายการทั้งหมดไม่พร้อมใช้งานเนื่องจากความล้มเหลว",
"NotificationStatusSingleClientHealthCheckMessage": "รายการไม่พร้อมใช้งานเนื่องจากความล้มเหลว: {0}"
}

View File

@@ -349,5 +349,7 @@
"RecentChanges": "Son değişiklikler",
"minutes": "Dakika",
"WhatsNew": "Ne var ne yok?",
"ConnectionLostReconnect": "Radarr otomatik olarak bağlanmayı deneyecek veya aşağıdan yeniden yükle'yi tıklayabilirsiniz."
"ConnectionLostReconnect": "Radarr otomatik olarak bağlanmayı deneyecek veya aşağıdan yeniden yükle'yi tıklayabilirsiniz.",
"NotificationStatusAllClientHealthCheckMessage": "Hatalar nedeniyle tüm listeler kullanılamıyor",
"NotificationStatusSingleClientHealthCheckMessage": "Hatalar nedeniyle kullanılamayan listeler: {0}"
}

View File

@@ -361,5 +361,7 @@
"DeleteAppProfileMessageText": "Ви впевнені, що хочете видалити цей профіль затримки?",
"RecentChanges": "Останні зміни",
"minutes": "Хвилин",
"WhatsNew": "Що нового?"
"WhatsNew": "Що нового?",
"NotificationStatusAllClientHealthCheckMessage": "Усі списки недоступні через помилки",
"NotificationStatusSingleClientHealthCheckMessage": "Списки недоступні через помилки: {0}"
}

View File

@@ -347,5 +347,7 @@
"RecentChanges": "Những thay đổi gần đây",
"minutes": "Phút",
"ConnectionLostReconnect": "Radarr sẽ cố gắng kết nối tự động hoặc bạn có thể nhấp vào tải lại bên dưới.",
"WhatsNew": "Có gì mới?"
"WhatsNew": "Có gì mới?",
"NotificationStatusAllClientHealthCheckMessage": "Tất cả danh sách không có sẵn do lỗi",
"NotificationStatusSingleClientHealthCheckMessage": "Danh sách không có sẵn do lỗi: {0}"
}

View File

@@ -34,7 +34,7 @@
"ApplicationStatusCheckAllClientMessage": "由于故障所用应用程序都不可用",
"ApplicationStatusCheckSingleClientMessage": "由于故障应用程序不可用",
"ApplicationURL": "应用程序 URL",
"ApplicationUrlHelpText": "此应用程序的外部URLhttp(s)://端口和基本URL",
"ApplicationUrlHelpText": "此应用的外部URLhttp(s)://端口和基本URL",
"Applications": "程序",
"Apply": "应用",
"ApplyTags": "应用标签",
@@ -61,7 +61,7 @@
"Backups": "历史备份",
"BeforeUpdate": "更新前",
"BindAddress": "绑定地址",
"BindAddressHelpText": "有效的 IPv4 地址、localhost、或以'*'代表所有接口",
"BindAddressHelpText": "有效的 IP 地址、localhost、或以'*'代表所有接口",
"Book": "图书",
"BookSearch": "图书搜索",
"BookSearchTypes": "搜索图书类型",
@@ -105,13 +105,13 @@
"DeleteBackupMessageText": "您确定要删除备份 '{0}' 吗?",
"DeleteClientCategory": "删除下载客户端类别",
"DeleteDownloadClient": "删除下载客户端",
"DeleteDownloadClientMessageText": "确定要删除下载客户端 '{0}' 吗?",
"DeleteDownloadClientMessageText": "确定要删除下载客户端 “{name}” 吗?",
"DeleteIndexerProxy": "删除搜刮器代理",
"DeleteIndexerProxyMessageText": "您确定要删除列表 '{0}'",
"DeleteNotification": "删除消息推送",
"DeleteNotificationMessageText": "您确定要删除推送 '{0}' 吗?",
"DeleteNotificationMessageText": "您确定要删除消息推送 “{name}” 吗?",
"DeleteTag": "删除标签",
"DeleteTagMessageText": "您确定要删除标签 '{0}' 吗?",
"DeleteTagMessageText": "您确定要删除标签 '{label}' 吗?",
"Description": "描述",
"Details": "详情",
"DevelopmentSettings": "开发设置",
@@ -494,8 +494,8 @@
"Track": "追踪",
"ApplyChanges": "应用更改",
"ApplyTagsHelpTextAdd": "添加: 添加标签至已有的标签列表中",
"CountDownloadClientsSelected": "已选择 {0} 个下载客户端",
"CountIndexersSelected": "已选择 {0} 个索引器",
"CountDownloadClientsSelected": "已选择 {count} 个下载客户端",
"CountIndexersSelected": "已选择 {count} 个索引器",
"DeleteSelectedDownloadClientsMessageText": "您确定要删除 {0} 个选定的下载客户端吗?",
"DeleteSelectedIndexersMessageText": "您确定要删除 {0} 个选定的索引器吗?",
"EditSelectedDownloadClients": "编辑选定的下载客户端",
@@ -549,16 +549,25 @@
"TorznabUrl": "Torznab链接",
"days": "天",
"minutes": "分钟",
"ConnectionLostReconnect": "Radarr将会尝试自动连接,您也可以点击下方的重新加载。",
"ConnectionLostReconnect": "{appName} 将会尝试自动连接,您也可以点击下方的重新加载。",
"DeleteAppProfileMessageText": "您确定要删除备份“{name}”吗?",
"RecentChanges": "最近修改",
"ConnectionLostToBackend": "Radarr与后端的链接已断开,需要重新加载恢复功能。",
"ConnectionLostToBackend": "{appName} 与后端的链接已断开,需要重新加载恢复功能。",
"WhatsNew": "什么是新的?",
"AddApplicationImplementation": "添加应用-{实体名称}",
"AddConnection": "添加连接",
"AddIndexerImplementation": "添加索引器-{实体名称}",
"AddIndexerImplementation": "添加索引器 - {implementationName}",
"AddCategory": "添加目录",
"AddConnectionImplementation": "添加连接-{实体名称}",
"AddDownloadClientImplementation": "添加下载客户端-{实体名称}",
"AddIndexerProxyImplementation": "添加搜刮器代理-{实体名称}"
"AddConnectionImplementation": "添加集合 - {implementationName}",
"AddDownloadClientImplementation": "添加下载客户端 - {implementationName}",
"AddIndexerProxyImplementation": "添加搜刮器代理-{实体名称}",
"AppUpdated": "{appName} 升级",
"EditDownloadClientImplementation": "添加下载客户端 - {implementationName}",
"EditIndexerImplementation": "添加索引器 - {implementationName}",
"EditIndexerProxyImplementation": "添加搜刮器代理-{实体名称}",
"AppUpdatedVersion": "{appName} 已经更新到 {version} 版本,重新加载 {appName} 使更新生效",
"EditApplicationImplementation": "添加应用-{实体名称}",
"EditConnectionImplementation": "添加集合 - {implementationName}",
"NotificationStatusAllClientHealthCheckMessage": "由于故障所用应用程序都不可用",
"NotificationStatusSingleClientHealthCheckMessage": "由于故障应用程序不可用"
}