Compare commits

...

52 Commits

Author SHA1 Message Date
Bogdan
02bc40b9b6 Translations for indexer settings 2024-02-10 21:29:01 +02:00
Weblate
83e7e30e4f Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Aitzol Garmendia <aitzolgarmendia@gmail.com>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: aghus <aghus.m@outlook.com>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/hu/
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/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/sk/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/tr/
Translation: Servarr/Prowlarr
2024-02-10 19:49:52 +02:00
bakerboy448
ae870fd46a Improve HDBits Settings Helptext 2024-02-09 21:31:15 +02:00
Weblate
33b7ba8725 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Fixer <ygj59783@zslsz.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Hicabi Erdem <bilgi@hicabierdem.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: aghus <aghus.m@outlook.com>
Co-authored-by: savin-msk <ns@a77.io>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/da/
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/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/uk/
Translation: Servarr/Prowlarr
2024-02-09 15:34:37 +02:00
Bogdan
dd2567a85f Fixed: Refresh tags state to clear removed tags by housekeeping 2024-02-07 23:24:25 +02:00
Bogdan
264ff8f885 Revert "Enable browser navigation buttons for PWA"
This reverts commit 1b36951879.
2024-02-07 18:29:27 +02:00
Mark McDowall
629c6a8891 Fixed: Redirecting after login with urlbase
(cherry picked from commit 745b92daf4bf4b9562ffe52dad84a12a5561add5)
2024-02-07 09:02:37 +02:00
Mark McDowall
0ce2f96789 New: Log database engine version on startup
(cherry picked from commit 6ab1d8e16b29e98b4d2ebb68e0356f6f2d3a2c10)
2024-02-07 09:02:19 +02:00
Mark McDowall
cd7d1571db Fixed: Don't use sub folder to check for free disk space for update
(cherry picked from commit f722d49b3a9efefa65bef1b24d90be9332ca62ea)
2024-02-07 09:01:59 +02:00
abcasada
4558f55282 Hints for week column and short dates in UI settings 2024-02-06 22:07:41 +02:00
Bogdan
21589fda57 Bump version to 1.13.3 2024-02-04 12:53:06 +02:00
Weblate
3496263cd2 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Alexander <a.burdun@gmail.com>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Crocmou <slaanesh8854@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Ole Nørby <ole@olenoerby.dk>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Stas Panasiuk <temnyip@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/da/
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/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/uk/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/zh_CN/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/zh_TW/
Translation: Servarr/Prowlarr
2024-02-03 22:46:02 +02:00
Bogdan
1bb1ec6106 Fixed: (IPTorrents) Include episodes in season search 2024-02-03 00:13:50 +02:00
Bogdan
2bfb838933 Bind shortcut for pending changes confirmation only when it's shown 2024-01-31 19:46:55 +02:00
Bogdan
9eb291f578 Fixed: Avoid trailing slash in Proxy Url sent to FlareSolverr 2024-01-31 15:26:26 +02:00
Servarr
8cf892124c Automated API Docs update 2024-01-28 10:08:24 +02:00
Mark McDowall
47fb886930 Don't clone indexer API Key
(cherry picked from commit d336aaf3f04136471970155b5a7cc876770c64ff)
2024-01-28 09:59:49 +02:00
Mark McDowall
5034a211cb New: Don't return API Keys and Passwords via the API
(cherry picked from commit 570be882154e73f8ad1de5b16b957bcb964697fd)

Don't replace private values that haven't been set

(cherry picked from commit 52760e0908fa9852ed8a770f1916bb582eb8c8b4)
2024-01-28 09:59:49 +02:00
Bogdan
ed1364b6ff Update magnet trackers 2024-01-28 09:08:55 +02:00
Bogdan
71e18b616d Bump version to 1.13.2 2024-01-28 09:07:13 +02:00
abcasada
f7bf21df68 Update help text for Tags usage in Applications 2024-01-26 19:13:12 +02:00
Bogdan
d764e3405d New: (Torznab) Internal and Scene tags 2024-01-26 09:58:22 +02:00
Bogdan
16baceb784 New: Option to disable Email encryption
* New: Option to disable Email encryption

(cherry picked from commit 7be5732a3a6679120b0f01bd1eb1207194f57f5e)

* Fix possible NullRef in Email Encryption migration

(cherry picked from commit 271266b10ac51ee6dd7a7024d346b631bd5397c2)
2024-01-24 11:37:01 +02:00
Bogdan
5d2b80d15a Fixed: (SubsPlease) Parse release size from magnet links 2024-01-23 10:59:59 +02:00
Bogdan
a20a81f424 New: Category filter for Indexers 2024-01-23 09:00:49 +02:00
Bogdan
ebb66e9086 Update database migration version translation token 2024-01-23 08:50:05 +02:00
Bogdan
cb8797693e Fixed: Sorting by name in Manage Applications and Download Client modals 2024-01-23 08:40:32 +02:00
Stevie Robinson
255c6335ae New: Add sorting to Manage Applications and Download Client modals
(cherry picked from commit 91053ca51ded804739f94ee936c1376a755dbe11)
2024-01-23 08:38:47 +02:00
Bogdan
155cd53dcd Fix translations for manage applications and download clients 2024-01-23 08:29:59 +02:00
Weblate
ae70a96c10 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Julian Baquero <julian-baquero@upc.edu.co>
Co-authored-by: MaddionMax <kovacs.tamas@ius.hu>
Co-authored-by: Magyar <kochnorbert@icloud.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: blabla <romcrack56@gmail.com>
Co-authored-by: brn <barantsenkul@gmail.com>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: horvi28 <horvi28@gmail.com>
Co-authored-by: wilfriedarma <wilfriedarma.collet@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/tr/
Translation: Servarr/Prowlarr
2024-01-23 08:15:51 +02:00
Bogdan
16c0daf090 Fix value types for EnhancedSelectInputConnector 2024-01-22 13:24:00 +02:00
Bogdan
34c78c5a9d Fixed: (BTN) Disable ID-based searches for episodes with absolute episode number
Release name searches are not supported, so it's better to prevent an useless request.
2024-01-22 11:48:32 +02:00
Bogdan
dd5b108ffd Fixed: (BTN) Allow ID-based with text search query 2024-01-21 17:13:12 +02:00
Servarr
0b83986255 Automated API Docs update 2024-01-21 07:54:16 +02:00
Bogdan
2bd25fb6f3 Reorder sync fields for App Profiles 2024-01-21 07:47:48 +02:00
Bogdan
0f5eb5d3a3 Bump version to 1.13.1 2024-01-21 07:47:48 +02:00
Bogdan
c9434c61e3 Transpile logical assignment operators with babel 2024-01-21 03:58:55 +02:00
Mark McDowall
ee969b7a06 New: Log warning if less than 1 GB free space during update
(cherry picked from commit e66ba84fc0b5b120dd4e87f6b8ae1b3c038ee72b)
2024-01-21 03:58:28 +02:00
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
117 changed files with 1719 additions and 692 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.3'
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

@@ -2,6 +2,8 @@ const loose = true;
module.exports = {
plugins: [
'@babel/plugin-transform-logical-assignment-operators',
// Stage 1
'@babel/plugin-proposal-export-default-from',
['@babel/plugin-transform-optional-chaining', { loose }],

View File

@@ -3,6 +3,7 @@ import AppSectionState, {
AppSectionItemState,
AppSectionSaveState,
} from 'App/State/AppSectionState';
import { IndexerCategory } from 'Indexer/Indexer';
import Application from 'typings/Application';
import DownloadClient from 'typings/DownloadClient';
import Notification from 'typings/Notification';
@@ -25,6 +26,11 @@ export interface DownloadClientAppState
AppSectionDeleteState,
AppSectionSaveState {}
export interface IndexerCategoryAppState
extends AppSectionState<IndexerCategory>,
AppSectionDeleteState,
AppSectionSaveState {}
export interface NotificationAppState
extends AppSectionState<Notification>,
AppSectionDeleteState {}
@@ -35,6 +41,7 @@ interface SettingsAppState {
appProfiles: AppProfileAppState;
applications: ApplicationAppState;
downloadClients: DownloadClientAppState;
indexerCategories: IndexerCategoryAppState;
notifications: NotificationAppState;
ui: UiSettingsAppState;
}

View File

@@ -0,0 +1,41 @@
import React from 'react';
import { useSelector } from 'react-redux';
import { createSelector } from 'reselect';
import AppState from 'App/State/AppState';
import { IndexerCategory } from 'Indexer/Indexer';
import FilterBuilderRowValue from './FilterBuilderRowValue';
import FilterBuilderRowValueProps from './FilterBuilderRowValueProps';
const indexerCategoriesSelector = createSelector(
(state: AppState) => state.settings.indexerCategories,
(categories) => categories.items
);
function CategoryFilterBuilderRowValue(props: FilterBuilderRowValueProps) {
const categories: IndexerCategory[] = useSelector(indexerCategoriesSelector);
const tagList = categories.reduce(
(acc: { id: number; name: string }[], element) => {
acc.push({
id: element.id,
name: `${element.name} (${element.id})`,
});
if (element.subCategories && element.subCategories.length > 0) {
element.subCategories.forEach((subCat) => {
acc.push({
id: subCat.id,
name: `${subCat.name} (${subCat.id})`,
});
});
}
return acc;
},
[]
);
return <FilterBuilderRowValue {...props} tagList={tagList} />;
}
export default CategoryFilterBuilderRowValue;

View File

@@ -5,6 +5,7 @@ import IconButton from 'Components/Link/IconButton';
import { filterBuilderTypes, filterBuilderValueTypes, icons } from 'Helpers/Props';
import AppProfileFilterBuilderRowValueConnector from './AppProfileFilterBuilderRowValueConnector';
import BoolFilterBuilderRowValue from './BoolFilterBuilderRowValue';
import CategoryFilterBuilderRowValue from './CategoryFilterBuilderRowValue';
import DateFilterBuilderRowValue from './DateFilterBuilderRowValue';
import FilterBuilderRowValueConnector from './FilterBuilderRowValueConnector';
import HistoryEventTypeFilterBuilderRowValue from './HistoryEventTypeFilterBuilderRowValue';
@@ -56,6 +57,9 @@ function getRowValueConnector(selectedFilterBuilderProp) {
case filterBuilderValueTypes.BOOL:
return BoolFilterBuilderRowValue;
case filterBuilderValueTypes.CATEGORY:
return CategoryFilterBuilderRowValue;
case filterBuilderValueTypes.DATE:
return DateFilterBuilderRowValue;

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

@@ -147,7 +147,7 @@ EnhancedSelectInputConnector.propTypes = {
provider: PropTypes.string.isRequired,
providerData: PropTypes.object.isRequired,
name: PropTypes.string.isRequired,
value: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).isRequired,
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.number)]).isRequired,
values: PropTypes.arrayOf(PropTypes.object).isRequired,
selectOptionsProviderAction: PropTypes.string,
onChange: PropTypes.func.isRequired,

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

@@ -15,5 +15,5 @@
"start_url": "../../../../",
"theme_color": "#3a3f51",
"background_color": "#3a3f51",
"display": "minimal-ui"
"display": "standalone"
}

View File

@@ -7,5 +7,5 @@ export const INDEXER = 'indexer';
export const PROTOCOL = 'protocol';
export const PRIVACY = 'privacy';
export const APP_PROFILE = 'appProfile';
export const MOVIE_STATUS = 'movieStatus';
export const CATEGORY = 'category';
export const TAG = 'tag';

View File

@@ -97,7 +97,7 @@ function EditIndexerModalContent(props) {
<FormInputGroup
type={inputTypes.CHECK}
name="enable"
helpTextWarning={supportsRss.value ? undefined : translate('RSSIsNotSupportedWithThisIndexer')}
helpTextWarning={supportsRss.value ? undefined : translate('RssIsNotSupportedWithThisIndexer')}
{...enable}
onChange={onInputChange}
/>

View File

@@ -62,7 +62,7 @@ class Applications extends Component {
return (
<FieldSet legend={translate('Applications')}>
<PageSectionContent
errorMessage={translate('UnableToLoadApplicationList')}
errorMessage={translate('ApplicationsLoadError')}
{...otherProps}
>
<div className={styles.applications}>

View File

@@ -14,9 +14,11 @@ import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import useSelectState from 'Helpers/Hooks/useSelectState';
import { kinds } from 'Helpers/Props';
import SortDirection from 'Helpers/Props/SortDirection';
import {
bulkDeleteApplications,
bulkEditApplications,
setManageApplicationsSort,
} from 'Store/Actions/settingsActions';
import createClientSideCollectionSelector from 'Store/Selectors/createClientSideCollectionSelector';
import { SelectStateInputProps } from 'typings/props';
@@ -62,6 +64,8 @@ const COLUMNS = [
interface ManageApplicationsModalContentProps {
onModalClose(): void;
sortKey?: string;
sortDirection?: SortDirection;
}
function ManageApplicationsModalContent(
@@ -76,6 +80,8 @@ function ManageApplicationsModalContent(
isSaving,
error,
items,
sortKey,
sortDirection,
}: ApplicationAppState = useSelector(
createClientSideCollectionSelector('settings.applications')
);
@@ -96,6 +102,13 @@ function ManageApplicationsModalContent(
const selectedCount = selectedIds.length;
const onSortPress = useCallback(
(value: string) => {
dispatch(setManageApplicationsSort({ sortKey: value }));
},
[dispatch]
);
const onDeletePress = useCallback(() => {
setIsDeleteModalOpen(true);
}, [setIsDeleteModalOpen]);
@@ -201,6 +214,9 @@ function ManageApplicationsModalContent(
allSelected={allSelected}
allUnselected={allUnselected}
onSelectAllChange={onSelectAllChange}
sortKey={sortKey}
sortDirection={sortDirection}
onSortPress={onSortPress}
>
<TableBody>
{items.map((item) => {

View File

@@ -84,7 +84,7 @@ class DownloadClientSettings extends Component {
/>
<PageToolbarButton
label={translate('ManageDownloadClients')}
label={translate('ManageClients')}
iconName={icons.MANAGE}
onPress={this.onManageDownloadClientsPress}
/>

View File

@@ -61,7 +61,7 @@ class DownloadClients extends Component {
return (
<FieldSet legend={translate('DownloadClients')}>
<PageSectionContent
errorMessage={translate('UnableToLoadDownloadClients')}
errorMessage={translate('DownloadClientsLoadError')}
{...otherProps}
>
<div className={styles.downloadClients}>

View File

@@ -14,9 +14,11 @@ import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import useSelectState from 'Helpers/Hooks/useSelectState';
import { kinds } from 'Helpers/Props';
import SortDirection from 'Helpers/Props/SortDirection';
import {
bulkDeleteDownloadClients,
bulkEditDownloadClients,
setManageDownloadClientsSort,
} from 'Store/Actions/settingsActions';
import createClientSideCollectionSelector from 'Store/Selectors/createClientSideCollectionSelector';
import { SelectStateInputProps } from 'typings/props';
@@ -61,6 +63,8 @@ const COLUMNS = [
interface ManageDownloadClientsModalContentProps {
onModalClose(): void;
sortKey?: string;
sortDirection?: SortDirection;
}
function ManageDownloadClientsModalContent(
@@ -75,6 +79,8 @@ function ManageDownloadClientsModalContent(
isSaving,
error,
items,
sortKey,
sortDirection,
}: DownloadClientAppState = useSelector(
createClientSideCollectionSelector('settings.downloadClients')
);
@@ -93,6 +99,13 @@ function ManageDownloadClientsModalContent(
const selectedCount = selectedIds.length;
const onSortPress = useCallback(
(value: string) => {
dispatch(setManageDownloadClientsSort({ sortKey: value }));
},
[dispatch]
);
const onDeletePress = useCallback(() => {
setIsDeleteModalOpen(true);
}, [setIsDeleteModalOpen]);
@@ -174,6 +187,9 @@ function ManageDownloadClientsModalContent(
allSelected={allSelected}
allUnselected={allUnselected}
onSelectAllChange={onSelectAllChange}
sortKey={sortKey}
sortDirection={sortDirection}
onSortPress={onSortPress}
>
<TableBody>
{items.map((item) => {

View File

@@ -15,12 +15,17 @@ function PendingChangesModal(props) {
isOpen,
onConfirm,
onCancel,
bindShortcut
bindShortcut,
unbindShortcut
} = props;
useEffect(() => {
bindShortcut('enter', onConfirm);
}, [bindShortcut, onConfirm]);
if (isOpen) {
bindShortcut('enter', onConfirm);
return () => unbindShortcut('enter', onConfirm);
}
}, [bindShortcut, unbindShortcut, isOpen, onConfirm]);
return (
<Modal
@@ -61,7 +66,8 @@ PendingChangesModal.propTypes = {
kind: PropTypes.oneOf(kinds.all),
onConfirm: PropTypes.func.isRequired,
onCancel: PropTypes.func.isRequired,
bindShortcut: PropTypes.func.isRequired
bindShortcut: PropTypes.func.isRequired,
unbindShortcut: PropTypes.func.isRequired
};
PendingChangesModal.defaultProps = {

View File

@@ -96,7 +96,7 @@ class AppProfile extends Component {
kind={enableRss ? kinds.SUCCESS : kinds.DISABLED}
outline={!enableRss}
>
{translate('RSS')}
{translate('Rss')}
</Label>
}

View File

@@ -97,20 +97,6 @@ class EditAppProfileModalContent extends Component {
/>
</FormGroup>
<FormGroup>
<FormLabel>
{translate('EnableInteractiveSearch')}
</FormLabel>
<FormInputGroup
type={inputTypes.CHECK}
name="enableInteractiveSearch"
{...enableInteractiveSearch}
helpText={translate('EnableInteractiveSearchHelpText')}
onChange={onInputChange}
/>
</FormGroup>
<FormGroup>
<FormLabel>
{translate('EnableAutomaticSearch')}
@@ -125,6 +111,20 @@ class EditAppProfileModalContent extends Component {
/>
</FormGroup>
<FormGroup>
<FormLabel>
{translate('EnableInteractiveSearch')}
</FormLabel>
<FormInputGroup
type={inputTypes.CHECK}
name="enableInteractiveSearch"
{...enableInteractiveSearch}
helpText={translate('EnableInteractiveSearchHelpText')}
onChange={onInputChange}
/>
</FormGroup>
<FormGroup>
<FormLabel>
{translate('MinimumSeeders')}

View File

@@ -3,7 +3,7 @@ import React, { Component } from 'react';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import { fetchApplications, fetchIndexerProxies, fetchNotifications } from 'Store/Actions/settingsActions';
import { fetchTagDetails } from 'Store/Actions/tagActions';
import { fetchTagDetails, fetchTags } from 'Store/Actions/tagActions';
import Tags from './Tags';
function createMapStateToProps() {
@@ -25,6 +25,7 @@ function createMapStateToProps() {
}
const mapDispatchToProps = {
dispatchFetchTags: fetchTags,
dispatchFetchTagDetails: fetchTagDetails,
dispatchFetchNotifications: fetchNotifications,
dispatchFetchIndexerProxies: fetchIndexerProxies,
@@ -38,12 +39,14 @@ class MetadatasConnector extends Component {
componentDidMount() {
const {
dispatchFetchTags,
dispatchFetchTagDetails,
dispatchFetchNotifications,
dispatchFetchIndexerProxies,
dispatchFetchApplications
} = this.props;
dispatchFetchTags();
dispatchFetchTagDetails();
dispatchFetchNotifications();
dispatchFetchIndexerProxies();
@@ -63,6 +66,7 @@ class MetadatasConnector extends Component {
}
MetadatasConnector.propTypes = {
dispatchFetchTags: PropTypes.func.isRequired,
dispatchFetchTagDetails: PropTypes.func.isRequired,
dispatchFetchNotifications: PropTypes.func.isRequired,
dispatchFetchIndexerProxies: PropTypes.func.isRequired,

View File

@@ -21,19 +21,19 @@ export const firstDayOfWeekOptions = [
];
export const weekColumnOptions = [
{ key: 'ddd M/D', value: 'Tue 3/25' },
{ key: 'ddd MM/DD', value: 'Tue 03/25' },
{ key: 'ddd D/M', value: 'Tue 25/3' },
{ key: 'ddd DD/MM', value: 'Tue 25/03' }
{ key: 'ddd M/D', value: 'Tue 3/25', hint: 'ddd M/D' },
{ key: 'ddd MM/DD', value: 'Tue 03/25', hint: 'ddd MM/DD' },
{ key: 'ddd D/M', value: 'Tue 25/3', hint: 'ddd D/M' },
{ key: 'ddd DD/MM', value: 'Tue 25/03', hint: 'ddd DD/MM' }
];
const shortDateFormatOptions = [
{ key: 'MMM D YYYY', value: 'Mar 25 2014' },
{ key: 'DD MMM YYYY', value: '25 Mar 2014' },
{ key: 'MM/D/YYYY', value: '03/25/2014' },
{ key: 'MM/DD/YYYY', value: '03/25/2014' },
{ key: 'DD/MM/YYYY', value: '25/03/2014' },
{ key: 'YYYY-MM-DD', value: '2014-03-25' }
{ key: 'MMM D YYYY', value: 'Mar 25 2014', hint: 'MMM D YYYY' },
{ key: 'DD MMM YYYY', value: '25 Mar 2014', hint: 'DD MMM YYYY' },
{ key: 'MM/D/YYYY', value: '03/25/2014', hint: 'MM/D/YYYY' },
{ key: 'MM/DD/YYYY', value: '03/25/2014', hint: 'MM/DD/YYYY' },
{ key: 'DD/MM/YYYY', value: '25/03/2014', hint: 'DD/MM/YYYY' },
{ key: 'YYYY-MM-DD', value: '2014-03-25', hint: 'YYYY-MM-DD' }
];
const longDateFormatOptions = [

View File

@@ -1,4 +1,5 @@
import { createAction } from 'redux-actions';
import { sortDirections } from 'Helpers/Props';
import createBulkEditItemHandler from 'Store/Actions/Creators/createBulkEditItemHandler';
import createBulkRemoveItemHandler from 'Store/Actions/Creators/createBulkRemoveItemHandler';
import createFetchHandler from 'Store/Actions/Creators/createFetchHandler';
@@ -7,6 +8,7 @@ import createRemoveItemHandler from 'Store/Actions/Creators/createRemoveItemHand
import createSaveProviderHandler, { createCancelSaveProviderHandler } from 'Store/Actions/Creators/createSaveProviderHandler';
import createTestAllProvidersHandler from 'Store/Actions/Creators/createTestAllProvidersHandler';
import createTestProviderHandler, { createCancelTestProviderHandler } from 'Store/Actions/Creators/createTestProviderHandler';
import createSetClientSideCollectionSortReducer from 'Store/Actions/Creators/Reducers/createSetClientSideCollectionSortReducer';
import createSetProviderFieldValueReducer from 'Store/Actions/Creators/Reducers/createSetProviderFieldValueReducer';
import createSetSettingValueReducer from 'Store/Actions/Creators/Reducers/createSetSettingValueReducer';
import { createThunk } from 'Store/thunks';
@@ -30,9 +32,10 @@ export const CANCEL_SAVE_APPLICATION = 'settings/applications/cancelSaveApplicat
export const DELETE_APPLICATION = 'settings/applications/deleteApplication';
export const TEST_APPLICATION = 'settings/applications/testApplication';
export const CANCEL_TEST_APPLICATION = 'settings/applications/cancelTestApplication';
export const TEST_ALL_APPLICATIONS = 'indexers/testAllApplications';
export const TEST_ALL_APPLICATIONS = 'settings/applications/testAllApplications';
export const BULK_EDIT_APPLICATIONS = 'settings/applications/bulkEditApplications';
export const BULK_DELETE_APPLICATIONS = 'settings/applications/bulkDeleteApplications';
export const SET_MANAGE_APPLICATIONS_SORT = 'settings/applications/setManageApplicationsSort';
//
// Action Creators
@@ -49,6 +52,7 @@ export const cancelTestApplication = createThunk(CANCEL_TEST_APPLICATION);
export const testAllApplications = createThunk(TEST_ALL_APPLICATIONS);
export const bulkEditApplications = createThunk(BULK_EDIT_APPLICATIONS);
export const bulkDeleteApplications = createThunk(BULK_DELETE_APPLICATIONS);
export const setManageApplicationsSort = createAction(SET_MANAGE_APPLICATIONS_SORT);
export const setApplicationValue = createAction(SET_APPLICATION_VALUE, (payload) => {
return {
@@ -88,7 +92,14 @@ export default {
isTesting: false,
isTestingAll: false,
items: [],
pendingChanges: {}
pendingChanges: {},
sortKey: 'name',
sortDirection: sortDirections.ASCENDING,
sortPredicates: {
name: function(item) {
return item.name.toLowerCase();
}
}
},
//
@@ -121,7 +132,10 @@ export default {
return selectedSchema;
});
}
},
[SET_MANAGE_APPLICATIONS_SORT]: createSetClientSideCollectionSortReducer(section)
}
};

View File

@@ -1,4 +1,5 @@
import { createAction } from 'redux-actions';
import { sortDirections } from 'Helpers/Props';
import createBulkEditItemHandler from 'Store/Actions/Creators/createBulkEditItemHandler';
import createBulkRemoveItemHandler from 'Store/Actions/Creators/createBulkRemoveItemHandler';
import createFetchHandler from 'Store/Actions/Creators/createFetchHandler';
@@ -7,6 +8,7 @@ import createRemoveItemHandler from 'Store/Actions/Creators/createRemoveItemHand
import createSaveProviderHandler, { createCancelSaveProviderHandler } from 'Store/Actions/Creators/createSaveProviderHandler';
import createTestAllProvidersHandler from 'Store/Actions/Creators/createTestAllProvidersHandler';
import createTestProviderHandler, { createCancelTestProviderHandler } from 'Store/Actions/Creators/createTestProviderHandler';
import createSetClientSideCollectionSortReducer from 'Store/Actions/Creators/Reducers/createSetClientSideCollectionSortReducer';
import createSetProviderFieldValueReducer from 'Store/Actions/Creators/Reducers/createSetProviderFieldValueReducer';
import createSetSettingValueReducer from 'Store/Actions/Creators/Reducers/createSetSettingValueReducer';
import { createThunk } from 'Store/thunks';
@@ -34,6 +36,7 @@ export const CANCEL_TEST_DOWNLOAD_CLIENT = 'settings/downloadClients/cancelTestD
export const TEST_ALL_DOWNLOAD_CLIENTS = 'settings/downloadClients/testAllDownloadClients';
export const BULK_EDIT_DOWNLOAD_CLIENTS = 'settings/downloadClients/bulkEditDownloadClients';
export const BULK_DELETE_DOWNLOAD_CLIENTS = 'settings/downloadClients/bulkDeleteDownloadClients';
export const SET_MANAGE_DOWNLOAD_CLIENTS_SORT = 'settings/downloadClients/setManageDownloadClientsSort';
//
// Action Creators
@@ -50,6 +53,7 @@ export const cancelTestDownloadClient = createThunk(CANCEL_TEST_DOWNLOAD_CLIENT)
export const testAllDownloadClients = createThunk(TEST_ALL_DOWNLOAD_CLIENTS);
export const bulkEditDownloadClients = createThunk(BULK_EDIT_DOWNLOAD_CLIENTS);
export const bulkDeleteDownloadClients = createThunk(BULK_DELETE_DOWNLOAD_CLIENTS);
export const setManageDownloadClientsSort = createAction(SET_MANAGE_DOWNLOAD_CLIENTS_SORT);
export const setDownloadClientValue = createAction(SET_DOWNLOAD_CLIENT_VALUE, (payload) => {
return {
@@ -89,7 +93,14 @@ export default {
isTesting: false,
isTestingAll: false,
items: [],
pendingChanges: {}
pendingChanges: {},
sortKey: 'name',
sortDirection: sortDirections.ASCENDING,
sortPredicates: {
name: function(item) {
return item.name.toLowerCase();
}
}
},
//
@@ -147,7 +158,10 @@ export default {
return selectedSchema;
});
}
},
[SET_MANAGE_DOWNLOAD_CLIENTS_SORT]: createSetClientSideCollectionSortReducer(section)
}
};

View File

@@ -1,6 +1,6 @@
import _ from 'lodash';
import { createAction } from 'redux-actions';
import { sortDirections } from 'Helpers/Props';
import { filterTypePredicates, sortDirections } from 'Helpers/Props';
import createFetchHandler from 'Store/Actions/Creators/createFetchHandler';
import createRemoveItemHandler from 'Store/Actions/Creators/createRemoveItemHandler';
import createSaveProviderHandler, { createCancelSaveProviderHandler } from 'Store/Actions/Creators/createSaveProviderHandler';
@@ -69,6 +69,28 @@ export const filterPredicates = {
item.fields.find((field) => field.name === 'vipExpiration')?.value ?? null;
return dateFilterPredicate(vipExpiration, filterValue, type);
},
categories: function(item, filterValue, type) {
const predicate = filterTypePredicates[type];
const { categories = [] } = item.capabilities || {};
const categoryList = categories
.filter((category) => category.id < 100000)
.reduce((acc, element) => {
acc.push(element.id);
if (element.subCategories && element.subCategories.length > 0) {
element.subCategories.forEach((subCat) => {
acc.push(subCat.id);
});
}
return acc;
}, []);
return predicate(categoryList, filterValue);
}
};
@@ -203,7 +225,13 @@ export const reducers = createHandleActions({
delete selectedSchema.name;
selectedSchema.fields = selectedSchema.fields.map((field) => {
return { ...field };
const newField = { ...field };
if (newField.privacy === 'apiKey' || newField.privacy === 'password') {
newField.value = '';
}
return newField;
});
newState.selectedSchema = selectedSchema;

View File

@@ -186,6 +186,12 @@ export const defaultState = {
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.APP_PROFILE
},
{
name: 'categories',
label: () => translate('Categories'),
type: filterBuilderTypes.ARRAY,
valueType: filterBuilderValueTypes.CATEGORY
},
{
name: 'tags',
label: () => translate('Tags'),

View File

@@ -22,9 +22,9 @@ class About extends Component {
isNetCore,
isDocker,
runtimeVersion,
migrationVersion,
databaseVersion,
databaseType,
migrationVersion,
appData,
startupPath,
mode,
@@ -66,13 +66,13 @@ class About extends Component {
}
<DescriptionListItem
title={translate('DBMigration')}
data={migrationVersion}
title={translate('Database')}
data={`${titleCase(databaseType)} ${databaseVersion}`}
/>
<DescriptionListItem
title={translate('Database')}
data={`${titleCase(databaseType)} ${databaseVersion}`}
title={translate('DatabaseMigration')}
data={migrationVersion}
/>
<DescriptionListItem

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

@@ -0,0 +1,151 @@
using System.Collections.Generic;
using System.Linq;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Common.Serializer;
using NzbDrone.Core.Datastore.Migration;
using NzbDrone.Core.Notifications.Email;
using NzbDrone.Core.Test.Framework;
namespace NzbDrone.Core.Test.Datastore.Migration
{
[TestFixture]
public class email_encryptionFixture : MigrationTest<email_encryption>
{
[Test]
public void should_convert_do_not_require_encryption_to_auto()
{
var db = WithMigrationTestDb(c =>
{
c.Insert.IntoTable("Notifications").Row(new
{
OnGrab = true,
OnHealthIssue = true,
IncludeHealthWarnings = true,
Name = "Mail Prowlarr",
Implementation = "Email",
Tags = "[]",
Settings = new EmailSettings38
{
Server = "smtp.gmail.com",
Port = 563,
To = new List<string> { "dont@email.me" },
RequireEncryption = false
}.ToJson(),
ConfigContract = "EmailSettings"
});
});
var items = db.Query<NotificationDefinition39>("SELECT * FROM \"Notifications\"");
items.Should().HaveCount(1);
items.First().Implementation.Should().Be("Email");
items.First().ConfigContract.Should().Be("EmailSettings");
items.First().Settings.UseEncryption.Should().Be((int)EmailEncryptionType.Preferred);
}
[Test]
public void should_convert_require_encryption_to_always()
{
var db = WithMigrationTestDb(c =>
{
c.Insert.IntoTable("Notifications").Row(new
{
OnGrab = true,
OnHealthIssue = true,
IncludeHealthWarnings = true,
Name = "Mail Prowlarr",
Implementation = "Email",
Tags = "[]",
Settings = new EmailSettings38
{
Server = "smtp.gmail.com",
Port = 563,
To = new List<string> { "dont@email.me" },
RequireEncryption = true
}.ToJson(),
ConfigContract = "EmailSettings"
});
});
var items = db.Query<NotificationDefinition39>("SELECT * FROM \"Notifications\"");
items.Should().HaveCount(1);
items.First().Implementation.Should().Be("Email");
items.First().ConfigContract.Should().Be("EmailSettings");
items.First().Settings.UseEncryption.Should().Be((int)EmailEncryptionType.Always);
}
[Test]
public void should_use_defaults_when_settings_are_empty()
{
var db = WithMigrationTestDb(c =>
{
c.Insert.IntoTable("Notifications").Row(new
{
OnGrab = true,
OnHealthIssue = true,
IncludeHealthWarnings = true,
Name = "Mail Prowlarr",
Implementation = "Email",
Tags = "[]",
Settings = new { }.ToJson(),
ConfigContract = "EmailSettings"
});
});
var items = db.Query<NotificationDefinition39>("SELECT * FROM \"Notifications\"");
items.Should().HaveCount(1);
items.First().Implementation.Should().Be("Email");
items.First().ConfigContract.Should().Be("EmailSettings");
items.First().Settings.UseEncryption.Should().Be((int)EmailEncryptionType.Preferred);
}
}
public class NotificationDefinition39
{
public int Id { get; set; }
public string Implementation { get; set; }
public string ConfigContract { get; set; }
public EmailSettings39 Settings { get; set; }
public string Name { get; set; }
public bool OnGrab { get; set; }
public bool OnHealthIssue { get; set; }
public bool OnHealthRestored { get; set; }
public bool OnApplicationUpdate { get; set; }
public bool SupportsOnGrab { get; set; }
public bool IncludeManualGrabs { get; set; }
public bool SupportsOnHealthIssue { get; set; }
public bool SupportsOnHealthRestored { get; set; }
public bool IncludeHealthWarnings { get; set; }
public bool SupportsOnApplicationUpdate { get; set; }
public List<int> Tags { get; set; }
}
public class EmailSettings38
{
public string Server { get; set; }
public int Port { get; set; }
public bool RequireEncryption { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string From { get; set; }
public IEnumerable<string> To { get; set; }
public IEnumerable<string> Cc { get; set; }
public IEnumerable<string> Bcc { get; set; }
}
public class EmailSettings39
{
public string Server { get; set; }
public int Port { get; set; }
public int UseEncryption { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string From { get; set; }
public IEnumerable<string> To { get; set; }
public IEnumerable<string> Cc { get; set; }
public IEnumerable<string> Bcc { get; set; }
}
}

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

@@ -0,0 +1,111 @@
using System;
using FizzWare.NBuilder;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Core.Notifications.Email;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.NotificationTests.EmailTests
{
[TestFixture]
public class EmailSettingsValidatorFixture : CoreTest<EmailSettingsValidator>
{
private EmailSettings _emailSettings;
private TestValidator<EmailSettings> _validator;
[SetUp]
public void Setup()
{
_validator = new TestValidator<EmailSettings>
{
v => v.RuleFor(s => s).SetValidator(Subject)
};
_emailSettings = Builder<EmailSettings>.CreateNew()
.With(s => s.Server = "someserver")
.With(s => s.Port = 567)
.With(s => s.UseEncryption = (int)EmailEncryptionType.Always)
.With(s => s.From = "dont@email.me")
.With(s => s.To = new string[] { "dont@email.me" })
.Build();
}
[Test]
public void should_be_valid_if_all_settings_valid()
{
_validator.Validate(_emailSettings).IsValid.Should().BeTrue();
}
[Test]
public void should_not_be_valid_if_port_is_out_of_range()
{
_emailSettings.Port = 900000;
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
[Test]
public void should_not_be_valid_if_server_is_empty()
{
_emailSettings.Server = "";
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
[Test]
public void should_not_be_valid_if_from_is_empty()
{
_emailSettings.From = "";
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
[TestCase("prowlarr")]
[TestCase("email.me")]
[Ignore("Allowed coz some email servers allow arbitrary source, we probably need to support 'Name <email>' syntax")]
public void should_not_be_valid_if_from_is_invalid(string email)
{
_emailSettings.From = email;
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
[TestCase("prowlarr")]
[TestCase("email.me")]
public void should_not_be_valid_if_to_is_invalid(string email)
{
_emailSettings.To = new string[] { email };
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
[TestCase("prowlarr")]
[TestCase("email.me")]
public void should_not_be_valid_if_cc_is_invalid(string email)
{
_emailSettings.Cc = new string[] { email };
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
[TestCase("prowlarr")]
[TestCase("email.me")]
public void should_not_be_valid_if_bcc_is_invalid(string email)
{
_emailSettings.Bcc = new string[] { email };
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
[Test]
public void should_not_be_valid_if_to_bcc_cc_are_all_empty()
{
_emailSettings.To = Array.Empty<string>();
_emailSettings.Cc = Array.Empty<string>();
_emailSettings.Bcc = Array.Empty<string>();
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
}
}
}

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

@@ -0,0 +1,69 @@
using System.Data;
using System.Text.RegularExpressions;
using FluentMigrator;
using NLog;
using NzbDrone.Common.Instrumentation;
namespace NzbDrone.Core.Datastore.Migration
{
[Maintenance(MigrationStage.BeforeAll, TransactionBehavior.None)]
public class DatabaseEngineVersionCheck : FluentMigrator.Migration
{
protected readonly Logger _logger;
public DatabaseEngineVersionCheck()
{
_logger = NzbDroneLogger.GetLogger(this);
}
public override void Up()
{
IfDatabase("sqlite").Execute.WithConnection(LogSqliteVersion);
IfDatabase("postgres").Execute.WithConnection(LogPostgresVersion);
}
public override void Down()
{
// No-op
}
private void LogSqliteVersion(IDbConnection conn, IDbTransaction tran)
{
using (var versionCmd = conn.CreateCommand())
{
versionCmd.Transaction = tran;
versionCmd.CommandText = "SELECT sqlite_version();";
using (var reader = versionCmd.ExecuteReader())
{
while (reader.Read())
{
var version = reader.GetString(0);
_logger.Info("SQLite {0}", version);
}
}
}
}
private void LogPostgresVersion(IDbConnection conn, IDbTransaction tran)
{
using (var versionCmd = conn.CreateCommand())
{
versionCmd.Transaction = tran;
versionCmd.CommandText = "SHOW server_version";
using (var reader = versionCmd.ExecuteReader())
{
while (reader.Read())
{
var version = reader.GetString(0);
var cleanVersion = Regex.Replace(version, @"\(.*?\)", "");
_logger.Info("Postgres {0}", cleanVersion);
}
}
}
}
}
}

View File

@@ -0,0 +1,50 @@
using System.Collections.Generic;
using System.Data;
using Dapper;
using FluentMigrator;
using Newtonsoft.Json.Linq;
using NzbDrone.Common.Serializer;
using NzbDrone.Core.Datastore.Migration.Framework;
namespace NzbDrone.Core.Datastore.Migration
{
[Migration(039)]
public class email_encryption : NzbDroneMigrationBase
{
protected override void MainDbUpgrade()
{
Execute.WithConnection(ChangeEncryption);
}
private void ChangeEncryption(IDbConnection conn, IDbTransaction tran)
{
var updated = new List<object>();
using (var getEmailCmd = conn.CreateCommand())
{
getEmailCmd.Transaction = tran;
getEmailCmd.CommandText = "SELECT \"Id\", \"Settings\" FROM \"Notifications\" WHERE \"Implementation\" = 'Email'";
using (var reader = getEmailCmd.ExecuteReader())
{
while (reader.Read())
{
var id = reader.GetInt32(0);
var settings = Json.Deserialize<JObject>(reader.GetString(1));
settings["useEncryption"] = settings.Value<bool?>("requireEncryption") ?? false ? 1 : 0;
settings["requireEncryption"] = null;
updated.Add(new
{
Settings = settings.ToJson(),
Id = id
});
}
}
}
var updateSql = "UPDATE \"Notifications\" SET \"Settings\" = @Settings WHERE \"Id\" = @Id";
conn.Execute(updateSql, updated, transaction: tran);
}
}
}

View File

@@ -42,12 +42,13 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
serviceProvider = new ServiceCollection()
.AddLogging(b => b.AddNLog())
.AddFluentMigratorCore()
.Configure<RunnerOptions>(cfg => cfg.IncludeUntaggedMaintenances = true)
.ConfigureRunner(
builder => builder
.AddPostgres()
.AddNzbDroneSQLite()
.WithGlobalConnectionString(connectionString)
.WithMigrationsIn(Assembly.GetExecutingAssembly()))
.ScanIn(Assembly.GetExecutingAssembly()).For.All())
.Configure<TypeFilterOptions>(opt => opt.Namespace = "NzbDrone.Core.Datastore.Migration")
.Configure<ProcessorOptions>(opt =>
{

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

@@ -115,7 +115,7 @@ namespace NzbDrone.Core.IndexerProxies.FlareSolverr
MaxTimeout = maxTimeout,
Proxy = new FlareSolverrProxy
{
Url = proxyUrl?.AbsoluteUri
Url = proxyUrl?.OriginalString
}
};
}
@@ -141,7 +141,7 @@ namespace NzbDrone.Core.IndexerProxies.FlareSolverr
MaxTimeout = maxTimeout,
Proxy = new FlareSolverrProxy
{
Url = proxyUrl?.AbsoluteUri
Url = proxyUrl?.OriginalString
}
};
}
@@ -206,17 +206,13 @@ namespace NzbDrone.Core.IndexerProxies.FlareSolverr
private Uri GetProxyUri(HttpProxySettings proxySettings)
{
switch (proxySettings.Type)
return proxySettings.Type switch
{
case ProxyType.Http:
return new Uri("http://" + proxySettings.Host + ":" + proxySettings.Port);
case ProxyType.Socks4:
return new Uri("socks4://" + proxySettings.Host + ":" + proxySettings.Port);
case ProxyType.Socks5:
return new Uri("socks5://" + proxySettings.Host + ":" + proxySettings.Port);
default:
return null;
}
ProxyType.Http => new Uri("http://" + proxySettings.Host + ":" + proxySettings.Port),
ProxyType.Socks4 => new Uri("socks4://" + proxySettings.Host + ":" + proxySettings.Port),
ProxyType.Socks5 => new Uri("socks5://" + proxySettings.Host + ":" + proxySettings.Port),
_ => null
};
}
private class FlareSolverrRequest

View File

@@ -154,9 +154,9 @@ public class AlphaRatioParser : GazelleParser
public class AlphaRatioSettings : GazelleSettings
{
[FieldDefinition(6, Label = "Freeleech Only", Type = FieldType.Checkbox, HelpText = "Search freeleech torrents only")]
[FieldDefinition(6, Label = "IndexerSettingsFreeleechOnly", Type = FieldType.Checkbox, HelpText = "IndexerAlphaRatioSettingsFreeleechOnlyHelpText")]
public bool FreeleechOnly { get; set; }
[FieldDefinition(7, Label = "Exclude Scene", Type = FieldType.Checkbox, HelpText = "Exclude Scene torrents from results")]
[FieldDefinition(7, Label = "IndexerAlphaRatioSettingsExcludeScene", Type = FieldType.Checkbox, HelpText = "IndexerAlphaRatioSettingsExcludeSceneHelpText")]
public bool ExcludeScene { get; set; }
}

View File

@@ -334,25 +334,25 @@ namespace NzbDrone.Core.Indexers.Definitions
SearchTypes = Array.Empty<int>();
}
[FieldDefinition(2, Label = "API Key", HelpText = "API Key from the Site (Found in My Security => API Key)", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(2, Label = "ApiKey", HelpText = "IndexerBeyondHDSettingsApiKeyHelpText", Privacy = PrivacyLevel.ApiKey)]
public string ApiKey { get; set; }
[FieldDefinition(3, Label = "RSS Key", HelpText = "RSS Key from the Site (Found in My Security => RSS Key)", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(3, Label = "IndexerSettingsRssKey", HelpText = "IndexerBeyondHDSettingsRssKeyHelpText", Privacy = PrivacyLevel.ApiKey)]
public string RssKey { get; set; }
[FieldDefinition(4, Label = "Freeleech Only", Type = FieldType.Checkbox, HelpText = "Search freeleech only")]
[FieldDefinition(4, Label = "IndexerSettingsFreeleechOnly", Type = FieldType.Checkbox, HelpText = "IndexerBeyondHDSettingsFreeleechOnlyHelpText")]
public bool FreeleechOnly { get; set; }
[FieldDefinition(5, Label = "Limited Only", Type = FieldType.Checkbox, HelpText = "Search freeleech only (Limited UL)")]
[FieldDefinition(5, Label = "IndexerBeyondHDSettingsLimitedOnly", Type = FieldType.Checkbox, HelpText = "IndexerBeyondHDSettingsLimitedOnlyHelpText")]
public bool LimitedOnly { get; set; }
[FieldDefinition(6, Label = "Refund Only", Type = FieldType.Checkbox, HelpText = "Search refund only")]
[FieldDefinition(6, Label = "IndexerBeyondHDSettingsRefundOnly", Type = FieldType.Checkbox, HelpText = "IndexerBeyondHDSettingsRefundOnlyHelpText")]
public bool RefundOnly { get; set; }
[FieldDefinition(7, Label = "Rewind Only", Type = FieldType.Checkbox, HelpText = "Search rewind only")]
[FieldDefinition(7, Label = "IndexerBeyondHDSettingsRewindOnly", Type = FieldType.Checkbox, HelpText = "IndexerBeyondHDSettingsRewindOnlyHelpText")]
public bool RewindOnly { get; set; }
[FieldDefinition(8, Label = "Search Types", Type = FieldType.TagSelect, SelectOptions = typeof(BeyondHDSearchType), Advanced = true, HelpText = "Select the types of releases that you are interested in. If none selected, all options are used.")]
[FieldDefinition(8, Label = "IndexerBeyondHDSettingsSearchTypes", Type = FieldType.TagSelect, SelectOptions = typeof(BeyondHDSearchType), HelpText = "IndexerBeyondHDSettingsSearchTypesHelpText", Advanced = true)]
public IEnumerable<int> SearchTypes { get; set; }
public override NzbDroneValidationResult Validate()

View File

@@ -32,7 +32,7 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
var parameters = new BroadcastheNetTorrentQuery();
var searchString = searchCriteria.SearchTerm ?? string.Empty;
var searchTerm = searchCriteria.SearchTerm ?? string.Empty;
var btnResults = searchCriteria.Limit.GetValueOrDefault();
if (btnResults == 0)
@@ -50,9 +50,10 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
{
parameters.Tvrage = $"{searchCriteria.RId}";
}
else if (searchString.IsNotNullOrWhiteSpace())
if (searchTerm.IsNotNullOrWhiteSpace())
{
parameters.Search = searchString.Replace(" ", "%");
parameters.Search = searchTerm.Replace(" ", "%");
}
// If only the season/episode is searched for then change format to match expected format
@@ -84,6 +85,11 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
parameters.Category = "Episode";
pageableRequests.Add(GetPagedRequests(parameters, btnResults, btnOffset));
}
else if (searchTerm.IsNotNullOrWhiteSpace() && int.TryParse(searchTerm, out _) && (searchCriteria.TvdbId > 0 || searchCriteria.RId > 0))
{
// Disable ID-based searches for episodes with absolute episode number
return new IndexerPageableRequestChain();
}
else
{
// Neither a season only search nor daily nor standard, fall back to query
@@ -104,7 +110,7 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
var parameters = new BroadcastheNetTorrentQuery();
var searchString = searchCriteria.SearchTerm ?? "";
var searchTerm = searchCriteria.SearchTerm ?? string.Empty;
var btnResults = searchCriteria.Limit.GetValueOrDefault();
if (btnResults == 0)
@@ -114,9 +120,9 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
var btnOffset = searchCriteria.Offset.GetValueOrDefault(0);
if (searchString.IsNotNullOrWhiteSpace())
if (searchTerm.IsNotNullOrWhiteSpace())
{
parameters.Search = searchString.Replace(" ", "%");
parameters.Search = searchTerm.Replace(" ", "%");
}
pageableRequests.Add(GetPagedRequests(parameters, btnResults, btnOffset));

View File

@@ -23,7 +23,7 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
BaseSettings.LimitsUnit = (int)IndexerLimitsUnit.Hour;
}
[FieldDefinition(2, Label = "API Key", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(2, Label = "ApiKey", Privacy = PrivacyLevel.ApiKey)]
public string ApiKey { get; set; }
public override NzbDroneValidationResult Validate()

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

@@ -24,13 +24,13 @@ public class FileListSettings : NoAuthTorrentBaseSettings
BaseSettings.LimitsUnit = (int)IndexerLimitsUnit.Hour;
}
[FieldDefinition(2, Label = "Username", HelpText = "Site Username", Privacy = PrivacyLevel.UserName)]
[FieldDefinition(2, Label = "Username", HelpText = "IndexerFileListSettingsUsernameHelpText", Privacy = PrivacyLevel.UserName)]
public string Username { get; set; }
[FieldDefinition(3, Label = "Passkey", HelpText = "Site Passkey (This is the alphanumeric string in the tracker url shown in your download client)", Privacy = PrivacyLevel.Password, Type = FieldType.Password)]
[FieldDefinition(3, Label = "IndexerSettingsPasskey", HelpText = "IndexerFileListSettingsPasskeyHelpText", Privacy = PrivacyLevel.Password, Type = FieldType.Password)]
public string Passkey { get; set; }
[FieldDefinition(4, Label = "Freeleech Only", HelpText = "Search Freeleech torrents only", Type = FieldType.Checkbox)]
[FieldDefinition(4, Label = "IndexerSettingsFreeleechOnly", HelpText = "IndexerFileListSettingsFreeleechOnlyHelpText", Type = FieldType.Checkbox)]
public bool FreeleechOnly { get; set; }
public override NzbDroneValidationResult Validate()

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;
}
@@ -525,10 +535,10 @@ namespace NzbDrone.Core.Indexers.Definitions
Passkey = "";
}
[FieldDefinition(2, Label = "API Key", HelpText = "API Key from the Site (Found in Settings => Access Settings)", HelpTextWarning = "Must have User and Torrents permissions", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(2, Label = "ApiKey", HelpText = "IndexerGazelleGamesSettingsApiKeyHelpText", HelpTextWarning = "IndexerGazelleGamesSettingsApiKeyHelpTextWarning", Privacy = PrivacyLevel.ApiKey)]
public string Apikey { get; set; }
[FieldDefinition(3, Label = "Search Group Names", Type = FieldType.Checkbox, HelpText = "Search Group Names Only")]
[FieldDefinition(3, Label = "IndexerGazelleGamesSettingsSearchGroupNames", Type = FieldType.Checkbox, HelpText = "IndexerGazelleGamesSettingsSearchGroupNamesHelpText")]
public bool SearchGroupNames { get; set; }
public string Passkey { get; set; }
@@ -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

@@ -29,25 +29,25 @@ namespace NzbDrone.Core.Indexers.Definitions.HDBits
UseFilenames = true;
}
[FieldDefinition(2, Label = "Username", HelpText = "Site Username", Privacy = PrivacyLevel.UserName)]
[FieldDefinition(2, Label = "Username", HelpText = "IndexerHDBitsSettingsUsernameHelpText", Privacy = PrivacyLevel.UserName)]
public string Username { get; set; }
[FieldDefinition(3, Label = "API Key", HelpText = "Site API Key", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(3, Label = "IndexerSettingsPasskey", HelpText = "IndexerHDBitsSettingsPasskeyHelpText", Privacy = PrivacyLevel.ApiKey)]
public string ApiKey { get; set; }
[FieldDefinition(4, Label = "Codecs", Type = FieldType.Select, SelectOptions = typeof(HdBitsCodec), HelpText = "If unspecified, all options are used.", Advanced = true)]
[FieldDefinition(4, Label = "IndexerHDBitsSettingsCodecs", Type = FieldType.Select, SelectOptions = typeof(HdBitsCodec), HelpText = "IndexerHDBitsSettingsCodecsHelpText", Advanced = true)]
public IEnumerable<int> Codecs { get; set; }
[FieldDefinition(5, Label = "Mediums", Type = FieldType.Select, SelectOptions = typeof(HdBitsMedium), HelpText = "If unspecified, all options are used.", Advanced = true)]
[FieldDefinition(5, Label = "IndexerHDBitsSettingsMediums", Type = FieldType.Select, SelectOptions = typeof(HdBitsMedium), HelpText = "IndexerHDBitsSettingsMediumsHelpText", Advanced = true)]
public IEnumerable<int> Mediums { get; set; }
[FieldDefinition(6, Label = "Origins", Type = FieldType.Select, SelectOptions = typeof(HdBitsOrigin), HelpText = "If unspecified, all options are used.", Advanced = true)]
[FieldDefinition(6, Label = "IndexerHDBitsSettingsOrigins", Type = FieldType.Select, SelectOptions = typeof(HdBitsOrigin), HelpText = "IndexerHDBitsSettingsOriginsHelpText", Advanced = true)]
public IEnumerable<int> Origins { get; set; }
[FieldDefinition(7, Label = "Freeleech Only", Type = FieldType.Checkbox, HelpText = "Show freeleech releases only", Advanced = true)]
[FieldDefinition(7, Label = "IndexerSettingsFreeleechOnly", Type = FieldType.Checkbox, HelpText = "IndexerHDBitsSettingsFreeleechOnlyHelpText", Advanced = true)]
public bool FreeleechOnly { get; set; }
[FieldDefinition(8, Label = "Use Filenames", Type = FieldType.Checkbox, HelpText = "Check this option if you want to use torrent filenames as release titles")]
[FieldDefinition(8, Label = "IndexerHDBitsSettingsUseFilenames", Type = FieldType.Checkbox, HelpText = "IndexerHDBitsSettingsUseFilenamesHelpText")]
public bool UseFilenames { get; set; }
public override NzbDroneValidationResult Validate()

View File

@@ -255,7 +255,14 @@ namespace NzbDrone.Core.Indexers.Definitions
{
var pageableRequests = new IndexerPageableRequestChain();
pageableRequests.Add(GetPagedRequests($"{searchCriteria.SanitizedTvSearchString}", searchCriteria, searchCriteria.FullImdbId));
var searchTerm = $"{searchCriteria.SanitizedTvSearchString}";
if (searchCriteria.Season > 0 && searchCriteria.Episode.IsNullOrWhiteSpace())
{
searchTerm += "*";
}
pageableRequests.Add(GetPagedRequests(searchTerm.Trim(), searchCriteria, searchCriteria.FullImdbId));
return pageableRequests;
}
@@ -413,10 +420,10 @@ namespace NzbDrone.Core.Indexers.Definitions
{
private static readonly IPTorrentsValidator Validator = new ();
[FieldDefinition(3, Label = "Cookie User-Agent", Type = FieldType.Textbox, HelpText = "User-Agent associated with cookie used from Browser")]
[FieldDefinition(3, Label = "IndexerIPTorrentsSettingsCookieUserAgent", Type = FieldType.Textbox, HelpText = "IndexerIPTorrentsSettingsCookieUserAgentHelpText")]
public string UserAgent { get; set; }
[FieldDefinition(4, Label = "FreeLeech Only", Type = FieldType.Checkbox, HelpText = "Search FreeLeech torrents only")]
[FieldDefinition(4, Label = "IndexerSettingsFreeleechOnly", Type = FieldType.Checkbox, HelpText = "IndexerIPTorrentsSettingsFreeleechOnlyHelpText")]
public bool FreeLeechOnly { get; set; }
public override NzbDroneValidationResult Validate()

View File

@@ -293,7 +293,7 @@ namespace NzbDrone.Core.Indexers.Definitions
ApiKey = "";
}
[FieldDefinition(4, Label = "API Key", HelpText = "API Key from User Settings > Api Keys. Key must have List and Download permissions")]
[FieldDefinition(4, Label = "ApiKey", HelpText = "IndexerNebulanceSettingsApiKeyHelpText")]
public string ApiKey { get; set; }
}

View File

@@ -60,16 +60,17 @@ namespace NzbDrone.Core.Indexers.Newznab
[FieldDefinition(0, Label = "URL")]
public string BaseUrl { get; set; }
[FieldDefinition(1, Label = "API Path", HelpText = "Path to the api, usually /api", Advanced = true)]
[FieldDefinition(1, Label = "IndexerSettingsApiPath", HelpText = "IndexerSettingsApiPathHelpText", Advanced = true)]
[FieldToken(TokenField.HelpText, "IndexerSettingsApiPath", "url", "/api")]
public string ApiPath { get; set; }
[FieldDefinition(2, Label = "API Key", HelpText = "Site API Key", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(2, Label = "ApiKey", HelpText = "IndexerNewznabSettingsApiKeyHelpText", Privacy = PrivacyLevel.ApiKey)]
public string ApiKey { get; set; }
[FieldDefinition(5, Label = "Additional Parameters", HelpText = "Additional Newznab parameters", Advanced = true)]
[FieldDefinition(5, Label = "IndexerSettingsAdditionalParameters", HelpText = "IndexerNewznabSettingsAdditionalParametersHelpText", Advanced = true)]
public string AdditionalParameters { get; set; }
[FieldDefinition(6, Label = "VIP Expiration", HelpText = "Enter date (yyyy-mm-dd) for VIP Expiration or blank, Prowlarr will notify 1 week from expiration of VIP")]
[FieldDefinition(6, Label = "IndexerSettingsVipExpiration", HelpText = "IndexerNewznabSettingsVipExpirationHelpText")]
public string VipExpiration { get; set; }
[FieldDefinition(7)]

View File

@@ -1187,10 +1187,10 @@ namespace NzbDrone.Core.Indexers.Definitions
ApiKey = "";
}
[FieldDefinition(1, Label = "Base Url", HelpText = "Select which baseurl Prowlarr will use for requests to the site", Type = FieldType.Select, SelectOptionsProviderAction = "getUrls")]
[FieldDefinition(1, Label = "IndexerSettingsBaseUrl", HelpText = "IndexerSettingsBaseUrlHelpText", Type = FieldType.Select, SelectOptionsProviderAction = "getUrls")]
public string BaseUrl { get; set; }
[FieldDefinition(2, Label = "API Key", Privacy = PrivacyLevel.ApiKey, HelpText = "Site API Key")]
[FieldDefinition(2, Label = "ApiKey", HelpText = "IndexerNzbIndexSettingsApiKeyHelpText", Privacy = PrivacyLevel.ApiKey)]
public string ApiKey { get; set; }
[FieldDefinition(3)]

View File

@@ -438,7 +438,7 @@ namespace NzbDrone.Core.Indexers.Definitions
UseFreeleechToken = false;
}
[FieldDefinition(2, Label = "API Key", HelpText = "API Key from the Site (Found in Settings => Access Settings)", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(2, Label = "ApiKey", HelpText = "IndexerOrpheusSettingsApiKeyHelpText", Privacy = PrivacyLevel.ApiKey)]
public string Apikey { get; set; }
[FieldDefinition(3, Label = "Use Freeleech Tokens", HelpText = "Use freeleech tokens when available", Type = FieldType.Checkbox)]

View File

@@ -18,13 +18,13 @@ namespace NzbDrone.Core.Indexers.Definitions.PassThePopcorn
{
private static readonly PassThePopcornSettingsValidator Validator = new ();
[FieldDefinition(2, Label = "API User", HelpText = "These settings are found in your PassThePopcorn security settings (Edit Profile > Security).", Privacy = PrivacyLevel.UserName)]
[FieldDefinition(2, Label = "IndexerSettingsApiUser", HelpText = "IndexerPassThePopcornSettingsApiUserHelpText", Privacy = PrivacyLevel.UserName)]
public string APIUser { get; set; }
[FieldDefinition(3, Label = "API Key", HelpText = "Site API Key", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(3, Label = "ApiKey", HelpText = "IndexerPassThePopcornSettingsApiKeyHelpText", Privacy = PrivacyLevel.ApiKey)]
public string APIKey { get; set; }
[FieldDefinition(4, Label = "Freeleech Only", HelpText = "Return only freeleech torrents", Type = FieldType.Checkbox)]
[FieldDefinition(4, Label = "IndexerSettingsFreeleechOnly", HelpText = "IndexerPassThePopcornSettingsFreeleechOnlyHelpText", Type = FieldType.Checkbox)]
public bool FreeleechOnly { get; set; }
public override NzbDroneValidationResult Validate()

View File

@@ -420,7 +420,7 @@ namespace NzbDrone.Core.Indexers.Definitions
UseFreeleechToken = false;
}
[FieldDefinition(2, Label = "API Key", Privacy = PrivacyLevel.ApiKey, HelpText = "API Key from the Site (Found in Settings => Access Settings)")]
[FieldDefinition(2, Label = "ApiKey", Privacy = PrivacyLevel.ApiKey, HelpText = "IndexerRedactedSettingsApiKeyHelpText")]
public string Apikey { get; set; }
[FieldDefinition(3, Label = "Use Freeleech Tokens", Type = FieldType.Checkbox, HelpText = "Use freeleech tokens when available")]

View File

@@ -316,7 +316,7 @@ namespace NzbDrone.Core.Indexers.Definitions
[FieldDefinition(3, Label = "Password", HelpText = "Site Password", Privacy = PrivacyLevel.Password, Type = FieldType.Password)]
public string Password { get; set; }
[FieldDefinition(4, Label = "API Key", Hidden = HiddenType.Hidden)]
[FieldDefinition(4, Label = "ApiKey", Hidden = HiddenType.Hidden)]
public string ApiKey { get; set; }
public override NzbDroneValidationResult Validate()

View File

@@ -6,6 +6,7 @@ using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using NLog;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers.Exceptions;
@@ -43,12 +44,12 @@ namespace NzbDrone.Core.Indexers.Definitions
public override IIndexerRequestGenerator GetRequestGenerator()
{
return new SubsPleaseRequestGenerator { Settings = Settings, Capabilities = Capabilities };
return new SubsPleaseRequestGenerator(Settings);
}
public override IParseIndexerResponse GetParser()
{
return new SubsPleaseParser(Settings, Capabilities.Categories);
return new SubsPleaseParser(Settings);
}
private IndexerCapabilities SetCapabilities()
@@ -74,12 +75,16 @@ namespace NzbDrone.Core.Indexers.Definitions
public class SubsPleaseRequestGenerator : IIndexerRequestGenerator
{
public NoAuthTorrentBaseSettings Settings { get; set; }
public IndexerCapabilities Capabilities { get; set; }
private readonly NoAuthTorrentBaseSettings _settings;
public SubsPleaseRequestGenerator(NoAuthTorrentBaseSettings settings)
{
_settings = settings;
}
private IEnumerable<IndexerRequest> GetSearchRequests(string term)
{
var searchUrl = $"{Settings.BaseUrl.TrimEnd('/')}/api/?";
var searchUrl = $"{_settings.BaseUrl.TrimEnd('/')}/api/?";
var searchTerm = Regex.Replace(term, "\\[?SubsPlease\\]?\\s*", string.Empty, RegexOptions.IgnoreCase).Trim();
@@ -104,7 +109,7 @@ namespace NzbDrone.Core.Indexers.Definitions
private IEnumerable<IndexerRequest> GetRssRequest()
{
var searchUrl = $"{Settings.BaseUrl.TrimEnd('/')}/api/?";
var searchUrl = $"{_settings.BaseUrl.TrimEnd('/')}/api/?";
var queryParameters = new NameValueCollection
{
@@ -119,16 +124,12 @@ namespace NzbDrone.Core.Indexers.Definitions
public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria)
{
var pageableRequests = new IndexerPageableRequestChain();
return pageableRequests;
return new IndexerPageableRequestChain();
}
public IndexerPageableRequestChain GetSearchRequests(MusicSearchCriteria searchCriteria)
{
var pageableRequests = new IndexerPageableRequestChain();
return pageableRequests;
return new IndexerPageableRequestChain();
}
public IndexerPageableRequestChain GetSearchRequests(TvSearchCriteria searchCriteria)
@@ -166,13 +167,13 @@ namespace NzbDrone.Core.Indexers.Definitions
public class SubsPleaseParser : IParseIndexerResponse
{
private readonly NoAuthTorrentBaseSettings _settings;
private readonly IndexerCapabilitiesCategories _categories;
private static readonly Regex RegexSize = new (@"\&xl=(?<size>\d+)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
public SubsPleaseParser(NoAuthTorrentBaseSettings settings, IndexerCapabilitiesCategories categories)
private readonly NoAuthTorrentBaseSettings _settings;
public SubsPleaseParser(NoAuthTorrentBaseSettings settings)
{
_settings = settings;
_categories = categories;
}
public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
@@ -216,28 +217,11 @@ namespace NzbDrone.Core.Indexers.Definitions
}
// Ex: [SubsPlease] Shingeki no Kyojin (The Final Season) - 64 (1080p)
release.Title += $"[SubsPlease] {value.Show} - {value.Episode} ({d.Res}p)";
release.Title += $"[SubsPlease] {value.Show} - {value.Episode} ({d.Resolution}p)";
release.MagnetUrl = d.Magnet;
release.DownloadUrl = null;
release.Guid = d.Magnet;
// The API doesn't tell us file size, so give an estimate based on resolution
if (string.Equals(d.Res, "1080"))
{
release.Size = 1395864371; // 1.3GB
}
else if (string.Equals(d.Res, "720"))
{
release.Size = 734003200; // 700MB
}
else if (string.Equals(d.Res, "480"))
{
release.Size = 367001600; // 350MB
}
else
{
release.Size = 1073741824; // 1GB
}
release.Size = GetReleaseSize(d);
torrentInfos.Add(release);
}
@@ -246,6 +230,30 @@ namespace NzbDrone.Core.Indexers.Definitions
return torrentInfos.ToArray();
}
private static long GetReleaseSize(SubPleaseDownloadInfo info)
{
if (info.Magnet.IsNotNullOrWhiteSpace())
{
var sizeMatch = RegexSize.Match(info.Magnet);
if (sizeMatch.Success &&
long.TryParse(sizeMatch.Groups["size"].Value, out var releaseSize)
&& releaseSize > 0)
{
return releaseSize;
}
}
// The API doesn't tell us file size, so give an estimate based on resolution
return info.Resolution switch
{
"1080" => 1.3.Gigabytes(),
"720" => 700.Megabytes(),
"480" => 350.Megabytes(),
_ => 1.Gigabytes()
};
}
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
}
@@ -265,7 +273,8 @@ namespace NzbDrone.Core.Indexers.Definitions
public class SubPleaseDownloadInfo
{
public string Res { get; set; }
[JsonProperty("res")]
public string Resolution { get; set; }
public string Magnet { get; set; }
}
}

View File

@@ -336,7 +336,7 @@ namespace NzbDrone.Core.Indexers.Definitions
ReleaseTypes = new List<int>();
}
[FieldDefinition(2, Label = "API Key", Privacy = PrivacyLevel.ApiKey, HelpText = "Site API Key")]
[FieldDefinition(2, Label = "ApiKey", Privacy = PrivacyLevel.ApiKey, HelpText = "IndexerTorrentSyndikatSettingsApiKeyHelpText")]
public string ApiKey { get; set; }
[FieldDefinition(3, Label = "Products Only", Type = FieldType.Checkbox, HelpText = "Limit search to torrents linked to a product")]

View File

@@ -277,6 +277,18 @@ namespace NzbDrone.Core.Indexers.Torznab
flags.Add(IndexerFlag.FreeLeech);
}
var tags = TryGetMultipleTorznabAttributes(item, "tag");
if (tags.Any(t => t.EqualsIgnoreCase("internal")))
{
flags.Add(IndexerFlag.Internal);
}
if (tags.Any(t => t.EqualsIgnoreCase("scene")))
{
flags.Add(IndexerFlag.Scene);
}
return flags;
}

View File

@@ -17,7 +17,7 @@ namespace NzbDrone.Core.Indexers.Definitions.UNIT3D
{
private static readonly Unit3dSettingsValidator Validator = new ();
[FieldDefinition(2, Label = "API Key", HelpText = "Site API Key generated in My Security", Privacy = PrivacyLevel.ApiKey)]
[FieldDefinition(2, Label = "ApiKey", HelpText = "Site API Key generated in My Security", Privacy = PrivacyLevel.ApiKey)]
public string ApiKey { get; set; }
public override NzbDroneValidationResult Validate()

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

@@ -21,13 +21,13 @@ namespace NzbDrone.Core.Indexers
public class IndexerBaseSettings
{
[FieldDefinition(1, Type = FieldType.Number, Label = "Query Limit", HelpText = "The number of max queries as specified by the respective unit that Prowlarr will allow to the site", Advanced = true)]
[FieldDefinition(1, Type = FieldType.Number, Label = "IndexerSettingsQueryLimit", HelpText = "IndexerSettingsQueryLimitHelpText", Advanced = true)]
public int? QueryLimit { get; set; }
[FieldDefinition(2, Type = FieldType.Number, Label = "Grab Limit", HelpText = "The number of max grabs as specified by the respective unit that Prowlarr will allow to the site", Advanced = true)]
[FieldDefinition(2, Type = FieldType.Number, Label = "IndexerSettingsGrabLimit", HelpText = "IndexerSettingsGrabLimitHelpText", Advanced = true)]
public int? GrabLimit { get; set; }
[FieldDefinition(3, Type = FieldType.Select, SelectOptions = typeof(IndexerLimitsUnit), Label = "Limits Unit", HelpText = "The unit of time for counting limits per indexer", Advanced = true)]
[FieldDefinition(3, Type = FieldType.Select, Label = "IndexerSettingsLimitsUnit", SelectOptions = typeof(IndexerLimitsUnit), HelpText = "IndexerSettingsLimitsUnitHelpText", Advanced = true)]
public int LimitsUnit { get; set; } = (int)IndexerLimitsUnit.Day;
}

View File

@@ -52,16 +52,16 @@ namespace NzbDrone.Core.Indexers
public class IndexerTorrentBaseSettings
{
[FieldDefinition(1, Type = FieldType.Number, Label = "Apps Minimum Seeders", HelpText = "Minimum seeders required by the Applications for the indexer to grab, empty is Sync profile's default", Advanced = true)]
[FieldDefinition(1, Type = FieldType.Number, Label = "IndexerSettingsAppsMinimumSeeders", HelpText = "IndexerSettingsAppsMinimumSeedersHelpText", Advanced = true)]
public int? AppMinimumSeeders { get; set; }
[FieldDefinition(2, Type = FieldType.Textbox, Label = "Seed Ratio", HelpText = "The ratio a torrent should reach before stopping, empty is app's default", Advanced = true)]
[FieldDefinition(2, Type = FieldType.Textbox, Label = "IndexerSettingsSeedRatio", HelpText = "IndexerSettingsSeedRatioHelpText")]
public double? SeedRatio { get; set; }
[FieldDefinition(3, Type = FieldType.Number, Label = "Seed Time", HelpText = "The time a torrent should be seeded before stopping, empty is app's default", Unit = "minutes", Advanced = true)]
[FieldDefinition(3, Type = FieldType.Number, Label = "IndexerSettingsSeedTime", Unit = "minutes", HelpText = "IndexerSettingsSeedTimeHelpText", Advanced = true)]
public int? SeedTime { get; set; }
[FieldDefinition(4, Type = FieldType.Number, Label = "Pack Seed Time", HelpText = "The time a pack (season or discography) torrent should be seeded before stopping, empty is app's default", Unit = "minutes", Advanced = true)]
[FieldDefinition(4, Type = FieldType.Number, Label = "IndexerSettingsPackSeedTime", HelpText = "IndexerSettingsPackSeedTimeIndexerHelpText", Unit = "minutes", Advanced = true)]
public int? PackSeedTime { get; set; }
}
}

View File

@@ -10,26 +10,26 @@ namespace NzbDrone.Core.Indexers
{
private static readonly List<string> Trackers = new ()
{
"udp://tracker.opentrackr.org:1337/announce",
"https://tracker2.ctix.cn:443/announce",
"https://tracker1.520.jp:443/announce",
"http://tracker.opentrackr.org:1337/announce",
"udp://tracker.auctor.tv:6969/announce",
"udp://opentracker.i2p.rocks:6969/announce",
"udp://open.tracker.cl:1337/announce",
"https://opentracker.i2p.rocks:443/announce",
"udp://open.demonii.com:1337/announce",
"udp://tracker.openbittorrent.com:6969/announce",
"http://tracker.openbittorrent.com:80/announce",
"udp://open.stealth.si:80/announce",
"udp://exodus.desync.com:6969/announce",
"udp://tracker.torrent.eu.org:451/announce",
"udp://tracker1.bt.moack.co.kr:80/announce",
"udp://tracker-udp.gbitt.info:80/announce",
"udp://tracker.moeking.me:6969/announce",
"udp://explodie.org:6969/announce",
"https://tracker.gbitt.info:443/announce",
"http://tracker.gbitt.info:80/announce",
"http://bt.endpot.com:80/announce",
"udp://exodus.desync.com:6969/announce",
"udp://uploads.gamecoast.net:6969/announce",
"udp://tracker1.bt.moack.co.kr:80/announce",
"udp://tracker.tiny-vps.com:6969/announce",
"udp://tracker.auctor.tv:6969/announce",
"udp://tk1.trackerservers.com:8080/announce"
"udp://tracker.theoks.net:6969/announce",
"udp://tracker.skyts.net:6969/announce",
"udp://tracker-udp.gbitt.info:80/announce",
"udp://open.tracker.ink:6969/announce",
"udp://movies.zsw.ca:6969/announce"
};
public static string BuildPublicMagnetLink(string infoHash, string releaseTitle)

View File

@@ -22,7 +22,7 @@ namespace NzbDrone.Core.Indexers.Settings
Cookie = "";
}
[FieldDefinition(2, Label = "Cookie", HelpText = "Site Cookie", HelpLink = "https://wiki.servarr.com/useful-tools#finding-cookies", Privacy = PrivacyLevel.Password)]
[FieldDefinition(2, Label = "IndexerSettingsCookie", HelpText = "IndexerSettingsCookieHelpText", HelpLink = "https://wiki.servarr.com/useful-tools#finding-cookies", Privacy = PrivacyLevel.Password)]
public string Cookie { get; set; }
public override NzbDroneValidationResult Validate()

View File

@@ -18,7 +18,7 @@ namespace NzbDrone.Core.Indexers.Settings
{
private static readonly NoAuthSettingsValidator<NoAuthTorrentBaseSettings> Validator = new ();
[FieldDefinition(1, Label = "Base Url", Type = FieldType.Select, SelectOptionsProviderAction = "getUrls", HelpText = "Select which baseurl Prowlarr will use for requests to the site")]
[FieldDefinition(1, Label = "IndexerSettingsBaseUrl", Type = FieldType.Select, SelectOptionsProviderAction = "getUrls", HelpText = "IndexerSettingsBaseUrlHelpText")]
public string BaseUrl { get; set; }
[FieldDefinition(20)]

View File

@@ -82,7 +82,7 @@
"ConnectSettings": "ربط الإعدادات",
"CouldNotConnectSignalR": "تعذر الاتصال بـ SignalR ، لن يتم تحديث واجهة المستخدم",
"Dates": "تواريخ",
"DBMigration": "ترحيل DB",
"DatabaseMigration": "ترحيل DB",
"Delete": "حذف",
"Details": "تفاصيل",
"Donations": "التبرعات",
@@ -150,7 +150,7 @@
"RemovingTag": "إزالة العلامة",
"Reset": "إعادة تعيين",
"ResetAPIKey": "إعادة تعيين مفتاح API",
"RSSIsNotSupportedWithThisIndexer": "لا يتم دعم RSS مع هذا المفهرس",
"RssIsNotSupportedWithThisIndexer": "لا يتم دعم RSS مع هذا المفهرس",
"Save": "حفظ",
"ScriptPath": "مسار البرنامج النصي",
"SettingsEnableColorImpairedMode": "تفعيل وضع ضعف الألوان",
@@ -251,13 +251,13 @@
"NoChanges": "لا تغيرات",
"NoLeaveIt": "لا ، اتركها",
"PendingChangesDiscardChanges": "تجاهل التغييرات واترك",
"RSS": "RSS",
"Rss": "RSS",
"System": "النظام",
"TagIsNotUsedAndCanBeDeleted": "العلامة غير مستخدمة ويمكن حذفها",
"Tags": "العلامات",
"TagsHelpText": "ينطبق على الأفلام التي تحتوي على علامة مطابقة واحدة على الأقل",
"UISettings": "إعدادات واجهة المستخدم",
"UnableToLoadDownloadClients": "تعذر تحميل عملاء التنزيل",
"DownloadClientsLoadError": "تعذر تحميل عملاء التنزيل",
"UnableToLoadTags": "تعذر تحميل العلامات",
"UnableToLoadUISettings": "تعذر تحميل إعدادات واجهة المستخدم",
"UpdateCheckStartupTranslocationMessage": "لا يمكن تثبيت التحديث لأن مجلد بدء التشغيل \"{0}\" موجود في مجلد App Translocation.",

View File

@@ -35,7 +35,7 @@
"CustomFilters": "Персонализирани филтри",
"Date": "Дата",
"Dates": "Дати",
"DBMigration": "DB миграция",
"DatabaseMigration": "DB миграция",
"Delete": "Изтрий",
"DeleteDownloadClient": "Изтриване на клиент за изтегляне",
"DeleteDownloadClientMessageText": "Наистина ли искате да изтриете клиента за изтегляне '{0}'?",
@@ -170,7 +170,7 @@
"RemovingTag": "Премахване на етикет",
"Reset": "Нулиране",
"Retention": "Задържане",
"RSS": "RSS",
"Rss": "RSS",
"Warn": "Предупреждавайте",
"NoTagsHaveBeenAddedYet": "Все още не са добавени етикети",
"NotificationTriggers": "Задействания за уведомяване",
@@ -188,7 +188,7 @@
"Priority": "Приоритет",
"SettingsLongDateFormat": "Формат с дълга дата",
"SettingsShowRelativeDates": "Показване на относителни дати",
"UnableToLoadDownloadClients": "Клиентите за изтегляне не могат да се заредят",
"DownloadClientsLoadError": "Клиентите за изтегляне не могат да се заредят",
"Logging": "Регистрация",
"Exception": "Изключение",
"MovieIndexScrollBottom": "Индекс на филма: Превъртане отдолу",
@@ -296,7 +296,7 @@
"Restart": "Рестартирам",
"RestartNow": "Рестартирай сега",
"Restore": "Възстанови",
"RSSIsNotSupportedWithThisIndexer": "RSS не се поддържа с този индексатор",
"RssIsNotSupportedWithThisIndexer": "RSS не се поддържа с този индексатор",
"Wiki": "Wiki",
"PageSizeHelpText": "Брой елементи за показване на всяка страница",
"Password": "Парола",

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,14 +37,14 @@
"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",
"UILanguageHelpTextWarning": "Es requereix una recàrrega del navegador",
"UISettings": "Configuració de la interfície",
"UnableToLoadBackups": "No es poden carregar còpies de seguretat",
"UnableToLoadDownloadClients": "No es poden carregar els clients de baixada",
"DownloadClientsLoadError": "No es poden carregar els clients de baixada",
"UnableToLoadTags": "No es poden carregar les etiquetes",
"UnableToLoadUISettings": "No es pot carregar la configuració de la IU",
"UnselectAll": "Desseleccioneu-ho tot",
@@ -78,11 +78,11 @@
"Reddit": "Reddit",
"System": "Sistema",
"Username": "Nom d'usuari",
"Duration": "durada",
"Duration": "Durada",
"EditIndexer": "Edita l'indexador",
"EnableAutomaticSearch": "Activa la cerca automàtica",
"Enabled": "Habilitat",
"Error": "error",
"Error": "Error",
"ErrorLoadingContents": "S'ha produït un error en carregar el contingut",
"Events": "Esdeveniments",
"ExistingTag": "Etiqueta existent",
@@ -168,7 +168,7 @@
"CustomFilters": "Filtres personalitzats",
"Date": "Data",
"Dates": "Dates",
"DBMigration": "Migració de BD",
"DatabaseMigration": "Migració de BD",
"Delete": "Suprimeix",
"DeleteNotificationMessageText": "Esteu segur que voleu suprimir la notificació '{name}'?",
"DeleteTag": "Suprimeix l'etiqueta",
@@ -205,7 +205,7 @@
"RestartRequiredHelpTextWarning": "Cal reiniciar perquè tingui efecte",
"Restore": "Restaura",
"RestoreBackup": "Restaura còpia de seguretat",
"RSS": "RSS",
"Rss": "RSS",
"Save": "Desa",
"SaveChanges": "Desa els canvis",
"Security": "Seguretat",
@@ -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",
@@ -274,7 +274,7 @@
"Hostname": "Nom d'amfitrió",
"IgnoredAddresses": "Adreces ignorades",
"ProxyUsernameHelpText": "Només cal que introduïu un nom d'usuari i una contrasenya si cal. Deixeu-los en blanc en cas contrari.",
"RSSIsNotSupportedWithThisIndexer": "RSS no és compatible amb aquest indexador",
"RssIsNotSupportedWithThisIndexer": "RSS no és compatible amb aquest indexador",
"SaveSettings": "Desa la configuració",
"Seeders": "Llavors",
"SelectAll": "Selecciona-ho tot",
@@ -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,20 +351,20 @@
"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)?",
"DeleteSelectedIndexersMessageText": "Esteu segur que voleu suprimir {count} indexador(s) seleccionat(s)?",
"DownloadClientPriorityHelpText": "Prioritzeu diversos clients de baixada. S'utilitza round-robin per a clients amb la mateixa prioritat.",
"More": "Més",
"Season": "temporada",
"Season": "Temporada",
"Theme": "Tema",
"Track": "Traça",
"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",
@@ -413,7 +413,7 @@
"AuthenticationRequiredUsernameHelpTextWarning": "Introduïu un nom d'usuari nou",
"Categories": "Categories",
"ApiKeyValidationHealthCheckMessage": "Actualitzeu la vostra clau de l'API perquè tingui almenys {length} caràcters. Podeu fer-ho mitjançant la configuració o el fitxer de configuració",
"Episode": "episodi",
"Episode": "Episodi",
"EditApplicationImplementation": "Edita la notificació - {implementationName}",
"EditConnectionImplementation": "Afegeix una connexió - {implementationName}",
"EditIndexerProxyImplementation": "Edita l'indexador - {implementationName}",
@@ -423,5 +423,13 @@
"AddApplicationImplementation": "Afegeix una condició - {implementationName}",
"AddIndexerProxyImplementation": "Afegeix un indexador - {implementationName}",
"Category": "Categoria",
"Clone": "Clona"
"Clone": "Clona",
"Yes": "Si",
"No": "No",
"StopSelecting": "Deixa de seleccionar",
"External": "Extern",
"Id": "ID",
"Author": "Autor",
"ManageClients": "Gestiona els clients",
"CountApplicationsSelected": "{count} Col·lecció(ns) seleccionades"
}

View File

@@ -193,13 +193,13 @@
"Restart": "Restartujte",
"RestartNow": "Restartovat nyní",
"RestoreBackup": "Obnovit zálohu",
"RSSIsNotSupportedWithThisIndexer": "RSS není u tohoto indexeru podporováno",
"RssIsNotSupportedWithThisIndexer": "RSS není u tohoto indexeru podporováno",
"Save": "Uložit",
"SSLCertPasswordHelpText": "Heslo pro soubor pfx",
"SSLCertPath": "Cesta certifikátu SSL",
"SSLCertPathHelpText": "Cesta k souboru pfx",
"UnableToLoadBackups": "Nelze načíst zálohy",
"UnableToLoadDownloadClients": "Nelze načíst klienty pro stahování",
"DownloadClientsLoadError": "Nelze načíst klienty pro stahování",
"UnableToLoadGeneralSettings": "Nelze načíst obecná nastavení",
"DeleteNotification": "Smazat oznámení",
"EnableAutomaticSearch": "Povolit automatické vyhledávání",
@@ -244,7 +244,7 @@
"CustomFilters": "Vlastní filtry",
"Date": "datum",
"Dates": "Termíny",
"DBMigration": "Migrace databáze",
"DatabaseMigration": "Migrace databáze",
"Delete": "Vymazat",
"DeleteApplicationMessageText": "Opravdu chcete smazat oznámení „{0}“?",
"DeleteBackup": "Odstranit zálohu",
@@ -288,7 +288,7 @@
"PortNumber": "Číslo portu",
"Result": "Výsledek",
"Retention": "Zadržení",
"RSS": "RSS",
"Rss": "RSS",
"TagsSettingsSummary": "Podívejte se na všechny značky a na to, jak se používají. Nepoužité značky lze odstranit",
"TestAll": "Vyzkoušet vše",
"TestAllClients": "Vyzkoušejte všechny klienty",
@@ -406,5 +406,7 @@
"AuthenticationRequiredUsernameHelpTextWarning": "Vložte nové uživatelské jméno",
"AuthenticationMethodHelpTextWarning": "Prosím vyberte platnou metodu ověřování",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Potvrďte nové heslo",
"days": "dnů"
"days": "dnů",
"Id": "ID",
"CountApplicationsSelected": "Vybráno {0} kolekcí"
}

View File

@@ -53,7 +53,7 @@
"Disabled": "deaktiveret",
"Add": "Tilføj",
"AddDownloadClient": "Tilføj downloadklient",
"DBMigration": "DB Migration",
"DatabaseMigration": "DB Migration",
"MIA": "MIA",
"ResetAPIKey": "Nulstil API-nøgle",
"SettingsTimeFormat": "Tidsformat",
@@ -254,8 +254,8 @@
"ReleaseStatus": "Frigør status",
"Restore": "Gendan",
"RestoreBackup": "Gendan sikkerhedskopi",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "RSS understøttes ikke med denne indekseringsenhed",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "RSS understøttes ikke med denne indekseringsenhed",
"Save": "Gemme",
"Scheduled": "Planlagt",
"ScriptPath": "Script sti",
@@ -264,7 +264,7 @@
"SSLPort": "SSL-port",
"StartupDirectory": "Startmappe",
"Status": "Status",
"UnableToLoadDownloadClients": "Kunne ikke indlæse downloadklienter",
"DownloadClientsLoadError": "Kunne ikke indlæse downloadklienter",
"UpdateCheckStartupTranslocationMessage": "Kan ikke installere opdatering, fordi startmappen '{0}' er i en App Translocation-mappe.",
"UpdateMechanismHelpText": "Brug den indbyggede opdateringsfunktion eller et script",
"View": "Udsigt",
@@ -369,5 +369,11 @@
"ResetAPIKeyMessageText": "Er du sikker på, at du vil nulstille din API-nøgle?",
"AuthBasic": "Grundlæggende (pop op-browser)",
"None": "Ingen",
"RestartProwlarr": "Genstart {appName}"
"RestartProwlarr": "Genstart {appName}",
"AddCustomFilter": "Tilføj tilpasset filter",
"AddConnectionImplementation": "Tilføj forbindelse - {implementationName}",
"AddConnection": "Tilføj forbindelse",
"EditConnectionImplementation": "Tilføj forbindelse - {implementationName}",
"AddApplicationImplementation": "Tilføj forbindelse - {implementationName}",
"AddIndexerImplementation": "Tilføj betingelse - {implementationName}"
}

View File

@@ -80,7 +80,7 @@
"CouldNotConnectSignalR": "Es konnte keine Verbindung zu SignalR hergestellt werden, die Benutzeroberfläche wird nicht aktualisiert",
"Custom": "Benutzerdefiniert",
"CustomFilters": "Benutzerdefinierte Filter",
"DBMigration": "DB Migration",
"DatabaseMigration": "DB Migration",
"Database": "Datenbank",
"Date": "Datum",
"Dates": "Termine",
@@ -293,8 +293,8 @@
"QueryResults": "Abfrageergebnisse",
"Queue": "Warteschlange",
"Queued": "In Warteschlange",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "RSS wird von diesem Indexer nicht unterstützt",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "RSS wird von diesem Indexer nicht unterstützt",
"RawSearchSupported": "Raw-Suche unterstützt",
"ReadTheWikiForMoreInformation": "Lesen Sie das Wiki für weitere Informationen",
"Reddit": "Reddit",
@@ -418,10 +418,10 @@
"UnableToAddANewIndexerProxyPleaseTryAgain": "Der neue Indexer konnte nicht hinzugefügt werden, bitte erneut probieren.",
"UnableToAddANewNotificationPleaseTryAgain": "Die neue Benachrichtigung konnte nicht hinzugefügt werden, bitte erneut probieren.",
"UnableToLoadAppProfiles": "App-Profile können nicht geladen werden",
"UnableToLoadApplicationList": "Anwendungsliste kann nicht geladen werden",
"ApplicationsLoadError": "Anwendungsliste kann nicht geladen werden",
"UnableToLoadBackups": "Sicherungen können nicht geladen werden",
"UnableToLoadDevelopmentSettings": "Entwicklereinstellungen konnten nicht geladen werden",
"UnableToLoadDownloadClients": "Downloader konnten nicht geladen werden",
"DownloadClientsLoadError": "Downloader konnten nicht geladen werden",
"UnableToLoadGeneralSettings": "Allgemeine Einstellungen konnten nicht geladen werden",
"UnableToLoadHistory": "Verlauf konnte nicht geladen werden",
"UnableToLoadIndexerProxies": "Indexer-Proxies können nicht geladen werden",
@@ -542,5 +542,8 @@
"IndexerTagsHelpTextWarning": "Tags sollten mit Vorsicht verwendet werden, da sie ungewollte Effekte haben können. Eine Anwendung mit einem Tag synchronisiert nur Indexer die den Gleichen Tag haben.",
"EditIndexerImplementation": "Indexer hinzufügen - {implementationName}",
"EditApplicationImplementation": "Anwendung hinzufügen - {implementationName}",
"EditIndexerProxyImplementation": "Indexer Proxy hinzufügen - {implementationName}"
"EditIndexerProxyImplementation": "Indexer Proxy hinzufügen - {implementationName}",
"CountApplicationsSelected": "{count} Ausgewählte Sammlung(en)",
"DownloadClientAriaSettingsDirectoryHelpText": "Optionaler Speicherort für Downloads. Lassen Sie das Feld leer, um den standardmäßigen rTorrent-Speicherort zu verwenden",
"ManageClients": "Verwalte Clienten"
}

View File

@@ -60,8 +60,8 @@
"Reddit": "Reddit",
"Result": "Αποτέλεσμα",
"Retention": "Κράτηση",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "Το RSS δεν υποστηρίζεται με αυτό το ευρετήριο",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "Το RSS δεν υποστηρίζεται με αυτό το ευρετήριο",
"Save": "Σώσει",
"SaveChanges": "Αποθήκευσε τις αλλαγές",
"SettingsEnableColorImpairedModeHelpText": "Τροποποιημένο στυλ για να επιτρέπεται στους χρήστες με προβλήματα χρώματος να διακρίνουν καλύτερα τις πληροφορίες με χρωματική κωδικοποίηση",
@@ -122,7 +122,7 @@
"ChangeHasNotBeenSavedYet": "Η αλλαγή δεν έχει αποθηκευτεί ακόμα",
"CloneProfile": "Προφίλ κλώνου",
"CloseCurrentModal": "Κλείσιμο τρέχοντος modal",
"DBMigration": "Μετεγκατάσταση DB",
"DatabaseMigration": "Μετεγκατάσταση DB",
"DeleteApplicationMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε την ειδοποίηση \"{0}\";",
"DeleteBackupMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το αντίγραφο ασφαλείας \"{0}\";",
"DeleteIndexerProxyMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τη λίστα \"{0}\";",
@@ -235,7 +235,7 @@
"Security": "Ασφάλεια",
"Tasks": "Καθήκοντα",
"UnableToLoadBackups": "Δεν είναι δυνατή η φόρτωση αντιγράφων ασφαλείας",
"UnableToLoadDownloadClients": "Δεν είναι δυνατή η φόρτωση πελατών λήψης",
"DownloadClientsLoadError": "Δεν είναι δυνατή η φόρτωση πελατών λήψης",
"UpdateMechanismHelpText": "Χρησιμοποιήστε το ενσωματωμένο πρόγραμμα ενημέρωσης του {appName} ή ένα script",
"AnalyticsEnabledHelpText": "Στείλτε ανώνυμες πληροφορίες χρήσης και σφάλματος στους διακομιστές του {appName}. Αυτό περιλαμβάνει πληροφορίες στο πρόγραμμα περιήγησής σας, ποιες σελίδες {appName} WebUI χρησιμοποιείτε, αναφορά σφαλμάτων καθώς και έκδοση λειτουργικού συστήματος και χρόνου εκτέλεσης. Θα χρησιμοποιήσουμε αυτές τις πληροφορίες για να δώσουμε προτεραιότητα σε λειτουργίες και διορθώσεις σφαλμάτων.",
"AppDataDirectory": "Κατάλογος AppData",
@@ -363,7 +363,7 @@
"QueryOptions": "Επιλογές ερωτήματος",
"SearchIndexers": "Αναζήτηση ευρετηρίων",
"SearchType": "Τύπος αναζήτησης",
"UnableToLoadApplicationList": "Δεν είναι δυνατή η φόρτωση της λίστας εφαρμογών",
"ApplicationsLoadError": "Δεν είναι δυνατή η φόρτωση της λίστας εφαρμογών",
"AddRemoveOnly": "Μόνο προσθήκη και αφαίρεση",
"ProwlarrSupportsAnyDownloadClient": "Το {appName} υποστηρίζει οποιοδήποτε από τα προγράμματα-πελάτες λήψης που αναφέρονται παρακάτω.",
"Query": "Ερώτηση",
@@ -517,5 +517,6 @@
"AddApplicationImplementation": "Προσθήκη",
"AddConnectionImplementation": "Προσθήκη",
"AddIndexerImplementation": "Προσθήκη",
"EditIndexerProxyImplementation": "Προσθήκη"
"EditIndexerProxyImplementation": "Προσθήκη",
"CountApplicationsSelected": "Επιλέχθηκαν {0} συλλογές"
}

View File

@@ -35,7 +35,7 @@
"AnalyticsEnabledHelpText": "Send anonymous usage and error information to {appName}'s servers. This includes information on your browser, which {appName} WebUI pages you use, error reporting as well as OS and runtime version. We will use this information to prioritize features and bug fixes.",
"ApiKey": "API Key",
"ApiKeyValidationHealthCheckMessage": "Please update your API key to be at least {0} characters long. You can do this via settings or the config file",
"AppDataDirectory": "AppData directory",
"AppDataDirectory": "AppData Directory",
"AppDataLocationHealthCheckMessage": "Updating will not be possible to prevent deleting AppData on Update",
"AppProfileInUse": "App Profile in Use",
"AppProfileSelectHelpText": "App profiles are used to control RSS, Automatic Search and Interactive Search settings on application sync",
@@ -47,11 +47,12 @@
"ApplicationLongTermStatusCheckSingleClientMessage": "Applications unavailable due to failures for more than 6 hours: {0}",
"ApplicationStatusCheckAllClientMessage": "All applications are unavailable due to failures",
"ApplicationStatusCheckSingleClientMessage": "Applications unavailable due to failures: {0}",
"ApplicationTagsHelpText": "Sync Indexers to this application that have no tags or that have 1 or more matching tags",
"ApplicationTagsHelpText": "Sync Indexers to this application that have one or more matching tags. If no tags are listed here, then no indexers will be prevented from syncing due to their tags.",
"ApplicationTagsHelpTextWarning": "Tags should be used with caution, they can have unintended effects. An app with a tag will only sync with indexers having the same tag.",
"ApplicationURL": "Application URL",
"ApplicationUrlHelpText": "This application's external URL including http(s)://, port and URL base",
"Applications": "Applications",
"ApplicationsLoadError": "Unable to load application list",
"Apply": "Apply",
"ApplyChanges": "Apply Changes",
"ApplyTags": "Apply Tags",
@@ -133,8 +134,8 @@
"CountIndexersSelected": "{count} indexer(s) selected",
"Custom": "Custom",
"CustomFilters": "Custom Filters",
"DBMigration": "DB Migration",
"Database": "Database",
"DatabaseMigration": "Database Migration",
"Date": "Date",
"Dates": "Dates",
"DefaultNameCopiedProfile": "{name} - Copy",
@@ -171,6 +172,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",
@@ -179,6 +181,7 @@
"DownloadClientStatusCheckAllClientMessage": "All download clients are unavailable due to failures",
"DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {0}",
"DownloadClients": "Download Clients",
"DownloadClientsLoadError": "Unable to load download clients",
"DownloadClientsSettingsSummary": "Download clients configuration for integration into {appName} UI search",
"Duration": "Duration",
"Edit": "Edit",
@@ -255,24 +258,68 @@
"IncludeHealthWarningsHelpText": "Include Health Warnings",
"IncludeManualGrabsHelpText": "Include Manual Grabs made within {appName}",
"Indexer": "Indexer",
"IndexerAlphaRatioSettingsExcludeScene": "Exclude SCENE",
"IndexerAlphaRatioSettingsExcludeSceneHelpText": "Exclude SCENE releases from results",
"IndexerAlphaRatioSettingsFreeleechOnlyHelpText": "Search freeleech releases only",
"IndexerAlreadySetup": "At least one instance of indexer is already setup",
"IndexerAuth": "Indexer Auth",
"IndexerBeyondHDSettingsApiKeyHelpText": "API Key from the Site (Found in My Security => API Key)",
"IndexerBeyondHDSettingsFreeleechOnlyHelpText": "Search freeleech releases only",
"IndexerBeyondHDSettingsLimitedOnly": "Limited Only",
"IndexerBeyondHDSettingsLimitedOnlyHelpText": "Search freeleech only (Limited UL)",
"IndexerBeyondHDSettingsRefundOnly": "Refund Only",
"IndexerBeyondHDSettingsRefundOnlyHelpText": "Search refund only",
"IndexerBeyondHDSettingsRewindOnly": "Rewind Only",
"IndexerBeyondHDSettingsRewindOnlyHelpText": "Search rewind only",
"IndexerBeyondHDSettingsRssKeyHelpText": "RSS Key from the Site (Found in My Security => RSS Key)",
"IndexerBeyondHDSettingsSearchTypes": "Search Types",
"IndexerBeyondHDSettingsSearchTypesHelpText": "Select the types of releases that you are interested in. If none selected, all options are used.",
"IndexerCategories": "Indexer Categories",
"IndexerDetails": "Indexer Details",
"IndexerDisabled": "Indexer Disabled",
"IndexerDownloadClientHealthCheckMessage": "Indexers with invalid download clients: {0}.",
"IndexerDownloadClientHelpText": "Specify which download client is used for grabs made within {appName} from this indexer",
"IndexerFailureRate": "Indexer Failure Rate",
"IndexerFileListSettingsFreeleechOnlyHelpText": "Search freeleech releases only",
"IndexerFileListSettingsPasskeyHelpText": "Site Passkey (This is the alphanumeric string in the tracker url shown in your download client)",
"IndexerFileListSettingsUsernameHelpText": "Site Username",
"IndexerFlags": "Indexer Flags",
"IndexerGazelleGamesSettingsApiKeyHelpText": "API Key from the Site (Found in Settings => Access Settings)",
"IndexerGazelleGamesSettingsApiKeyHelpTextWarning": "Must have User and Torrents permissions",
"IndexerGazelleGamesSettingsSearchGroupNames": "Search Group Names",
"IndexerGazelleGamesSettingsSearchGroupNamesHelpText": "Search releases by group names",
"IndexerHDBitsSettingsCodecs": "Codecs",
"IndexerHDBitsSettingsCodecsHelpText": "If unspecified, all options are used.",
"IndexerHDBitsSettingsFreeleechOnlyHelpText": "Show freeleech releases only",
"IndexerHDBitsSettingsMediums": "Mediums",
"IndexerHDBitsSettingsMediumsHelpText": "If unspecified, all options are used.",
"IndexerHDBitsSettingsOrigins": "Origins",
"IndexerHDBitsSettingsOriginsHelpText": "If unspecified, all options are used.",
"IndexerHDBitsSettingsPasskeyHelpText": "Passkey from User Details",
"IndexerHDBitsSettingsUseFilenames": "Use Filenames",
"IndexerHDBitsSettingsUseFilenamesHelpText": "Check this option if you want to use torrent filenames as release titles",
"IndexerHDBitsSettingsUsernameHelpText": "Site Username",
"IndexerHealthCheckNoIndexers": "No indexers enabled, {appName} will not return search results",
"IndexerHistoryLoadError": "Error loading indexer history",
"IndexerIPTorrentsSettingsCookieUserAgent": "Cookie User-Agent",
"IndexerIPTorrentsSettingsCookieUserAgentHelpText": "User-Agent associated with cookie used from Browser",
"IndexerIPTorrentsSettingsFreeleechOnlyHelpText": "Search freeleech releases only",
"IndexerId": "Indexer ID",
"IndexerInfo": "Indexer Info",
"IndexerLongTermStatusCheckAllClientMessage": "All indexers are unavailable due to failures for more than 6 hours",
"IndexerLongTermStatusCheckSingleClientMessage": "Indexers unavailable due to failures for more than 6 hours: {0}",
"IndexerName": "Indexer Name",
"IndexerNebulanceSettingsApiKeyHelpText": "API Key from User Settings > Api Keys. Key must have List and Download permissions",
"IndexerNewznabSettingsAdditionalParametersHelpText": "Additional Newznab parameters",
"IndexerNewznabSettingsApiKeyHelpText": "Site API Key",
"IndexerNewznabSettingsVipExpirationHelpText": "Enter date (yyyy-mm-dd) for VIP Expiration or blank, {appName} will notify 1 week from expiration of VIP",
"IndexerNoDefCheckMessage": "Indexers have no definition and will not work: {0}. Please remove and (or) re-add to {appName}",
"IndexerNzbIndexSettingsApiKeyHelpText": "Site API Key",
"IndexerObsoleteCheckMessage": "Indexers are obsolete or have been updated: {0}. Please remove and (or) re-add to {appName}",
"IndexerOrpheusSettingsApiKeyHelpText": "API Key from the Site (Found in Settings => Access Settings)",
"IndexerPassThePopcornSettingsApiKeyHelpText": "Site API Key",
"IndexerPassThePopcornSettingsApiUserHelpText": "These settings are found in your PassThePopcorn security settings (Edit Profile > Security).",
"IndexerPassThePopcornSettingsFreeleechOnlyHelpText": "Search freeleech releases only",
"IndexerPriority": "Indexer Priority",
"IndexerPriorityHelpText": "Indexer Priority from 1 (Highest) to 50 (Lowest). Default: 25.",
"IndexerProxies": "Indexer Proxies",
@@ -280,14 +327,42 @@
"IndexerProxyStatusCheckAllClientMessage": "All proxies are unavailable due to failures",
"IndexerProxyStatusCheckSingleClientMessage": "Proxies unavailable due to failures: {0}",
"IndexerQuery": "Indexer Query",
"IndexerRedactedSettingsApiKeyHelpText": "API Key from the Site (Found in Settings => Access Settings)",
"IndexerRss": "Indexer RSS",
"IndexerSettingsAdditionalParameters": "Additional Parameters",
"IndexerSettingsApiPath": "API Path",
"IndexerSettingsApiPathHelpText": "Path to the api, usually {url}",
"IndexerSettingsApiUser": "API User",
"IndexerSettingsAppsMinimumSeeders": "Apps Minimum Seeders",
"IndexerSettingsAppsMinimumSeedersHelpText": "Minimum seeders required by the Applications for the indexer to grab, empty is Sync profile's default",
"IndexerSettingsBaseUrl": "Base Url",
"IndexerSettingsBaseUrlHelpText": "Select which base url {appName} will use for requests to the site",
"IndexerSettingsCookie": "Cookie",
"IndexerSettingsCookieHelpText": "Site Cookie",
"IndexerSettingsFreeleechOnly": "Freeleech Only",
"IndexerSettingsGrabLimit": "Grab Limit",
"IndexerSettingsGrabLimitHelpText": "The number of max grabs as specified by the respective unit that {appName} will allow to the site",
"IndexerSettingsLimitsUnit": "Limits Unit",
"IndexerSettingsLimitsUnitHelpText": "The unit of time for counting limits per indexer",
"IndexerSettingsPackSeedTime": "Pack Seed Time",
"IndexerSettingsPackSeedTimeIndexerHelpText": "The time a pack (season or discography) torrent should be seeded before stopping, empty is app's default",
"IndexerSettingsPasskey": "Pass Key",
"IndexerSettingsQueryLimit": "Query Limit",
"IndexerSettingsQueryLimitHelpText": "The number of max queries as specified by the respective unit that {appName} will allow to the site",
"IndexerSettingsRssKey": "RSS Key",
"IndexerSettingsSeedRatio": "Seed Ratio",
"IndexerSettingsSeedRatioHelpText": "The ratio a torrent should reach before stopping, empty uses the download client's default. Ratio should be at least 1.0 and follow the indexers rules",
"IndexerSettingsSeedTime": "Seed Time",
"IndexerSettingsSeedTimeHelpText": "The time a torrent should be seeded before stopping, empty uses the download client's default",
"IndexerSettingsSummary": "Configure various global Indexer settings including Proxies.",
"IndexerSettingsVipExpiration": "VIP Expiration",
"IndexerSite": "Indexer Site",
"IndexerStatus": "Indexer Status",
"IndexerStatusCheckAllClientMessage": "All indexers are unavailable due to failures",
"IndexerStatusCheckSingleClientMessage": "Indexers unavailable due to failures: {0}",
"IndexerTagsHelpText": "Use tags to specify Indexer Proxies or which apps the indexer is synced to.",
"IndexerTagsHelpTextWarning": "Tags should be used with caution, they can have unintended effects. An indexer with a tag will only sync to apps with the same tag.",
"IndexerTorrentSyndikatSettingsApiKeyHelpText": "Site API Key",
"IndexerVipCheckExpiredClientMessage": "Indexer VIP benefits have expired: {0}",
"IndexerVipCheckExpiringClientMessage": "Indexer VIP benefits expiring soon: {0}",
"Indexers": "Indexers",
@@ -316,6 +391,7 @@
"MIA": "MIA",
"MaintenanceRelease": "Maintenance Release: bug fixes and other improvements. See Github Commit History for more details",
"ManageApplications": "Manage Applications",
"ManageClients": "Manage Clients",
"ManageDownloadClients": "Manage Download Clients",
"Manual": "Manual",
"MappedCategories": "Mapped Categories",
@@ -339,6 +415,7 @@
"NewznabUrl": "Newznab Url",
"NextExecution": "Next Execution",
"No": "No",
"NoApplicationsFound": "No applications found",
"NoBackupsAreAvailable": "No backups are available",
"NoChange": "No Change",
"NoChanges": "No Changes",
@@ -361,6 +438,8 @@
"NotificationTriggers": "Notification Triggers",
"NotificationTriggersHelpText": "Select which events should trigger this notification",
"Notifications": "Notifications",
"NotificationsEmailSettingsUseEncryption": "Use Encryption",
"NotificationsEmailSettingsUseEncryptionHelpText": "Whether to prefer using encryption if configured on the server, to always use encryption via SSL (Port 465 only) or StartTLS (any other port) or to never use encryption",
"OAuthPopupMessage": "Pop-ups are being blocked by your browser",
"Ok": "Ok",
"OnApplicationUpdate": "On Application Update",
@@ -412,8 +491,6 @@
"QueryType": "Query Type",
"Queue": "Queue",
"Queued": "Queued",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "RSS is not supported with this indexer",
"RawSearchSupported": "Raw Search Supported",
"ReadTheWikiForMoreInformation": "Read the Wiki for more information",
"RecentChanges": "Recent Changes",
@@ -442,7 +519,9 @@
"RestoreBackup": "Restore Backup",
"Result": "Result",
"Retention": "Retention",
"Rss": "RSS",
"RssFeed": "RSS Feed",
"RssIsNotSupportedWithThisIndexer": "RSS is not supported with this indexer",
"RssQueries": "RSS Queries",
"SSLCertPassword": "SSL Cert Password",
"SSLCertPasswordHelpText": "Password for pfx file",
@@ -501,7 +580,7 @@
"Source": "Source",
"StartTypingOrSelectAPathBelow": "Start typing or select a path below",
"Started": "Started",
"StartupDirectory": "Startup directory",
"StartupDirectory": "Startup Directory",
"Stats": "Stats",
"Status": "Status",
"StopSelecting": "Stop Selecting",
@@ -564,10 +643,8 @@
"UnableToAddANewIndexerProxyPleaseTryAgain": "Unable to add a new indexer proxy, please try again.",
"UnableToAddANewNotificationPleaseTryAgain": "Unable to add a new notification, please try again.",
"UnableToLoadAppProfiles": "Unable to load app profiles",
"UnableToLoadApplicationList": "Unable to load application list",
"UnableToLoadBackups": "Unable to load backups",
"UnableToLoadDevelopmentSettings": "Unable to load Development settings",
"UnableToLoadDownloadClients": "Unable to load download clients",
"UnableToLoadGeneralSettings": "Unable to load General settings",
"UnableToLoadHistory": "Unable to load history",
"UnableToLoadIndexerProxies": "Unable to load Indexer Proxies",

View File

@@ -2,7 +2,7 @@
"Indexers": "Indexadores",
"Host": "Host",
"History": "Historial",
"HideAdvanced": "Ocultar Avanzado",
"HideAdvanced": "Ocultar avanzado",
"Health": "Salud",
"General": "General",
"Folder": "Carpeta",
@@ -12,7 +12,7 @@
"Edit": "Editar",
"DownloadClientStatusCheckSingleClientMessage": "Gestores de descargas no disponibles debido a errores: {0}",
"DownloadClientStatusCheckAllClientMessage": "Los gestores de descargas no están disponibles debido a errores",
"DownloadClients": "Gestores de Descargas",
"DownloadClients": "Clientes de descarga",
"Delete": "Eliminar",
"Dates": "Fechas",
"Date": "Fecha",
@@ -62,7 +62,7 @@
"Logging": "Registro de eventos",
"LogFiles": "Archivos de Registro",
"Language": "Idioma",
"IndexerStatusCheckAllClientMessage": "Los indexers no están disponibles debido a errores",
"IndexerStatusCheckAllClientMessage": "Todos los indexadores no están disponibles debido a errores",
"Added": "Añadido",
"Actions": "Acciones",
"UISettingsSummary": "Fecha, idioma, y opciones de color deteriorado",
@@ -71,15 +71,15 @@
"ReleaseStatus": "Estado del Estreno",
"Protocol": "Protocolo",
"LastWriteTime": "Última Fecha de Escritura",
"IndexerStatusCheckSingleClientMessage": "Indexers no disponibles debido a errores: {0}",
"IndexerStatusCheckSingleClientMessage": "Indexadores no disponibles debido a errores: {indexerNames}",
"Indexer": "Indexador",
"Grabbed": "Añadido",
"GeneralSettingsSummary": "Puerto, SSL, nombre de usuario/contraseña , proxy, analíticas, y actualizaciones",
"Filename": "Nombre del archivo",
"Filename": "Nombre de archivo",
"Failed": "Fallido",
"EventType": "Tipo de Evento",
"EventType": "Tipo de evento",
"DownloadClientsSettingsSummary": "Configuración del cliente de descargas para la integración en {appName} UI search",
"DownloadClient": "Gestor de Descargas",
"DownloadClient": "Cliente de descarga",
"Details": "Detalles",
"ConnectSettingsSummary": "Notificaciones y scripts personalizados",
"Warn": "Advertencia",
@@ -128,17 +128,17 @@
"PendingChangesDiscardChanges": "Descartar cambios y salir",
"SettingsEnableColorImpairedModeHelpText": "Estilo modificado para permitir que usuarios con problemas de color distingan mejor la información codificada por colores",
"SettingsEnableColorImpairedMode": "Activar Modo De Color Degradado",
"GeneralSettings": "Ajustes Generales",
"GeneralSettings": "Opciones generales",
"Fixed": "Arreglado",
"EnableSslHelpText": " Requiere reiniciar la aplicación como administrador para que surta efecto",
"Enable": "Habilitar",
"DownloadClientSettings": "Ajustes de Gestor de Descargas",
"DownloadClientSettings": "Opciones del cliente de descarga",
"Docker": "Docker",
"DeleteTag": "Borrar Etiqueta",
"DeleteNotification": "Borrar Notificación",
"DeleteDownloadClient": "Borrar Gestor de Descargas",
"DeleteTag": "Eliminar Etiqueta",
"DeleteNotification": "Borrar Notificacion",
"DeleteDownloadClient": "Borrar cliente de descarga",
"DeleteBackup": "Eliminar copia de seguridad",
"DBMigration": "Migración de DB",
"DatabaseMigration": "Migración de la base de datos",
"CloneProfile": "Clonar Perfil",
"ClientPriority": "Prioridad del Cliente",
"ChangeHasNotBeenSavedYet": "El cambio aún no se ha guardado",
@@ -171,13 +171,13 @@
"UpdateAutomaticallyHelpText": "Descargar e instalar actualizaciones automáticamente. Se podrán instalar desde Sistema: Actualizaciones también",
"UnableToLoadTags": "No se pueden cargar las Etiquetas",
"UnableToLoadNotifications": "No se pueden cargar las Notificaciones",
"UnableToLoadDownloadClients": "No se puden cargar los gestores de descargas",
"DownloadClientsLoadError": "No se puden cargar los gestores de descargas",
"UISettings": "Ajustes del UI",
"Torrents": "Torrents",
"TestAllClients": "Comprobar Todos los Gestores",
"TagsHelpText": "Se aplica a películas con al menos una etiqueta coincidente",
"SuggestTranslationChange": "Sugerir un cambio en la traducción",
"StartupDirectory": "Directorio de arranque",
"StartupDirectory": "Directorio de Arranque",
"SSLPort": "Puerto SSL",
"SSLCertPath": "Ruta del Certificado SSL",
"SSLCertPassword": "Contraseña del Certificado SSL",
@@ -217,8 +217,8 @@
"IndexerFlags": "Marcas de Indexer",
"IncludeHealthWarningsHelpText": "Incluir Alertas de Salud",
"IllRestartLater": "Lo reiniciaré más tarde",
"IgnoredAddresses": "Direcciones Ignoradas",
"Hostname": "Nombre del Host",
"IgnoredAddresses": "Ignorar direcciones",
"Hostname": "Nombre de host",
"EnableSSL": "Habilitar SSL",
"EnableInteractiveSearch": "Habilitar Búsqueda Interactiva",
"EnableAutomaticSearch": "Habilitar Búsqueda Automática",
@@ -229,13 +229,13 @@
"TagCannotBeDeletedWhileInUse": "No se puede eliminar estando en uso",
"SSLCertPathHelpText": "Ruta al archivo pfx",
"SSLCertPasswordHelpText": "Contraseña para el archivo pfx",
"RSSIsNotSupportedWithThisIndexer": "RSS no son soportadas por este indexer",
"RssIsNotSupportedWithThisIndexer": "RSS no son soportadas por este indexer",
"RemovingTag": "Eliminando etiqueta",
"Manual": "Manual",
"LogLevelTraceHelpTextWarning": "El registro de seguimiento se ha de habilitar solo temporalmente",
"ExistingTag": "Etiqueta existente",
"LogLevelTraceHelpTextWarning": "El registro de seguimiento sólo debe activarse temporalmente",
"ExistingTag": "Etiquetas existentes",
"EnableInteractiveSearchHelpText": "Se usará cuando se utilice la búsqueda interactiva",
"EnableAutomaticSearchHelpText": "Se usa cuando las búsquedas automáticas se realicen desde el UI o por {appName}",
"EnableAutomaticSearchHelpText": "Se usado cuando las búsquedas automáticas sean realizadas por la interfaz de usuario o por {appName}",
"DeleteTagMessageText": "¿Está seguro de querer eliminar la etiqueta '{label}'?",
"DeleteNotificationMessageText": "¿Seguro que quieres eliminar la notificación '{name}'?",
"DeleteBackupMessageText": "Seguro que quieres eliminar la copia de seguridad '{name}'?",
@@ -265,25 +265,25 @@
"ForMoreInformationOnTheIndividualDownloadClients": "Para más información individual de los gestores de descarga, haz clic en lls botones de información.",
"FilterPlaceHolder": "Buscar películas",
"Exception": "Excepción",
"ErrorLoadingContents": "Error al cargar los contenidos",
"ErrorLoadingContents": "Error cargando contenidos",
"UILanguageHelpTextWarning": "Recargar el Navegador",
"UILanguageHelpText": "Lenguaje que {appName} usara para el UI",
"UILanguage": "Lenguaje de UI",
"Priority": "Prioridad",
"InteractiveSearch": "Búsqueda Interactiva",
"IndexerPriorityHelpText": "Prioridad del Indexer de 1 (La más alta) a 50 (La más baja). Por defecto: 25.",
"IndexerPriority": "Prioridad del Indexer",
"IndexerPriority": "Prioridad del indexador",
"EditIndexer": "Editar Indexer",
"Disabled": "Deshabilitado",
"AutomaticSearch": "Búsqueda Automática",
"AddIndexer": "Añadir Indexador",
"FocusSearchBox": "Enfocar Cuadro de búsqueda",
"SaveSettings": "Grabar Ajustes",
"OpenThisModal": "Abrir este Modal",
"FocusSearchBox": "Enfocar Campo de Búsqueda",
"SaveSettings": "Guardar ajustes",
"OpenThisModal": "Abrir esta Ventana Modal",
"MovieIndexScrollTop": "Indice de Películas: Desplazar hacia arriba",
"MovieIndexScrollBottom": "Indice de Películas: Desplazar hacia abajo",
"CloseCurrentModal": "Cerrar Modal Actual",
"AcceptConfirmationModal": "Aceptar la confirmación modal",
"CloseCurrentModal": "Cerrar esta Ventana Modal",
"AcceptConfirmationModal": "Aceptar Confirmación de esta Ventana Modal",
"IndexerLongTermStatusCheckSingleClientMessage": "Indexers no disponible por errores durando más de 6 horas: {0}",
"IndexerLongTermStatusCheckAllClientMessage": "Ningún indexer está disponible por errores durando más de 6 horas",
"Reddit": "Reddit",
@@ -297,7 +297,7 @@
"Enabled": "Habilitado",
"Grabs": "Capturar",
"Presets": "Preajustes",
"RSS": "RSS",
"Rss": "RSS",
"Today": "Hoy",
"Tomorrow": "mañana",
"Torrent": "Torrents",
@@ -315,7 +315,7 @@
"CouldNotConnectSignalR": "No se pudo conectar a SignalR, la interfaz de usuario no se actualiza",
"EnableRss": "Habilitar RSS",
"FeatureRequests": "Peticiones de características",
"HomePage": "Página de inicio",
"HomePage": "Página principal",
"UnableToAddANewApplicationPleaseTryAgain": "No se ha podido añadir una nueva notificación, prueba otra vez.",
"Filters": "Filtros",
"HistoryCleanupDaysHelpText": "Ajustar a 0 para desactivar la limpieza automática",
@@ -340,25 +340,25 @@
"Categories": "Categorías",
"AddIndexerProxy": "Añadir proxy del indexador",
"Encoding": "Codificación",
"GrabReleases": "Capturar Estreno",
"Link": "Enlaces",
"GrabReleases": "Capturar Lanzamiento(s)",
"Link": "Enlace",
"MappedDrivesRunningAsService": "Las unidades de red asignadas no están disponibles cuando se ejecutan como un servicio de Windows. Consulte las preguntas frecuentes para obtener más información",
"No": "No",
"Notification": "Notificaciones",
"Notifications": "Notificaciones",
"UnableToLoadIndexers": "No se pueden cargar los indexers",
"UnableToLoadIndexers": "No se pueden cargar los indexadores",
"Yes": "Sí",
"UserAgentProvidedByTheAppThatCalledTheAPI": "User-Agent proporcionado por la aplicación llamó a la API",
"InstanceName": "Nombre de Instancia",
"InstanceNameHelpText": "Nombre de instancia en pestaña y para nombre de aplicación en Syslog",
"InstanceName": "Nombre de la Instancia",
"InstanceNameHelpText": "Nombre de la instancia en la pestaña y para la aplicación Syslog",
"Database": "Base de datos",
"Duration": "Duración",
"LastDuration": "Duración",
"LastExecution": "Última ejecución",
"LastDuration": "Última Duración",
"LastExecution": "Última Ejecución",
"Queued": "Encolado",
"ApplicationLongTermStatusCheckAllClientMessage": "Ningún indexer está disponible por errores durando más de 6 horas",
"ApplicationLongTermStatusCheckSingleClientMessage": "Indexers no disponible por errores durando más de 6 horas: {0}",
"Ended": "Terminó",
"ApplicationLongTermStatusCheckAllClientMessage": "Todas las aplicaciones no están disponibles debido a fallos por más de 6 horas",
"ApplicationLongTermStatusCheckSingleClientMessage": "Aplicaciones no disponibles por fallos por más de 6 horas: {0}",
"Ended": "Terminado",
"NextExecution": "Siguiente ejecución",
"Started": "Iniciado",
"Remove": "Eliminar",
@@ -366,30 +366,30 @@
"TheLatestVersionIsAlreadyInstalled": "La última versión de {appName} ya está instalada",
"Apps": "Aplicaciones",
"AddApplication": "Añadir aplicación",
"AddCustomFilter": "Añadir filtro personalizado",
"AddCustomFilter": "Añadir Filtro Personalizado",
"Description": "Descripción",
"ApplicationURL": "URL de la aplicación",
"ApplicationUrlHelpText": "La URL externa de la aplicación incluyendo http(s)://, puerto y URL base",
"Label": "Etiqueta",
"Theme": "Tema",
"ApplyTagsHelpTextAdd": "Añadir: Añadir a las etiquetas la lista existente de etiquetas",
"DeleteSelectedApplicationsMessageText": "¿Estás seguro que quieres eliminar {count} aplicación(es) seleccionada(s)?",
"DeleteSelectedDownloadClients": "Borrar Gestor de Descargas",
"ApplyTagsHelpTextAdd": "Añadir: Añade las etiquetas a la lista de etiquetas existente",
"DeleteSelectedApplicationsMessageText": "¿Está seguro de querer eliminar {count} aplicación(es) de seleccionada(s)?",
"DeleteSelectedDownloadClients": "Borrar Cliente de Descarga(s)",
"DeleteSelectedIndexersMessageText": "¿Está seguro de querer eliminar {count} indexador(es) seleccionado(s)?",
"DeleteSelectedDownloadClientsMessageText": "¿Está seguro de querer eliminar {count} cliente(s) de descarga seleccionado(s)?",
"ApplyTagsHelpTextHowToApplyApplications": "Cómo añadir etiquetas a las películas seleccionadas",
"ApplyTagsHelpTextHowToApplyApplications": "Cómo aplicar etiquetas a las aplicaciones seleccionadas",
"SelectIndexers": "Buscar películas",
"ApplyTagsHelpTextHowToApplyIndexers": "Cómo añadir etiquetas a los indexadores seleccionados",
"ApplyTagsHelpTextRemove": "Eliminar: Eliminar las etiquetas introducidas",
"ApplyTagsHelpTextReplace": "Reemplazar: Reemplazar las etiquetas con las etiquetas introducidas (no introducir etiquetas para eliminar todas las etiquetas)",
"ApplyTagsHelpTextHowToApplyIndexers": "Cómo aplicar etiquetas a los indexadores seleccionados",
"ApplyTagsHelpTextRemove": "Eliminar: Elimina las etiquetas introducidas",
"ApplyTagsHelpTextReplace": "Reemplazar: Sustituye las etiquetas por las introducidas (introduce \"no tags\" para borrar todas las etiquetas)",
"ThemeHelpText": "Cambia el tema de la interfaz de usuario de la aplicación. El tema \"automático\" utilizará el tema de tu sistema operativo para establecer el modo claro u oscuro. Inspirado por {inspiredBy}.",
"DownloadClientPriorityHelpText": "Priorizar múltiples Gestores de Descargas. Se usa Round-Robin para gestores con la misma prioridad.",
"DownloadClientPriorityHelpText": "Priorizar varios Clientes de Descarga. Round-Robin se utiliza para clientes con la misma prioridad.",
"Season": "Temporada",
"More": "Más",
"Track": "Rastro",
"Year": "Año",
"UpdateAvailable": "La nueva actualización está disponible",
"Genre": "Géneros",
"Genre": "Género",
"Publisher": "Editor",
"AuthenticationRequired": "Autenticación requerida",
"ApplyChanges": "Aplicar Cambios",
@@ -402,36 +402,36 @@
"ApiKeyValidationHealthCheckMessage": "Actualice su clave de API para que tenga al menos {0} carácteres. Puede hacerlo en los ajustes o en el archivo de configuración",
"IndexerDownloadClientHealthCheckMessage": "Indexadores con clientes de descarga inválidos: {0}.",
"Episode": "Episodio",
"ConnectionLostReconnect": "Radarr intentará conectarse automáticamente, o haz clic en el botón de recarga abajo.",
"ConnectionLostToBackend": "Radarr ha perdido su conexión con el backend y tendrá que ser recargado para recuperar su funcionalidad.",
"ConnectionLostReconnect": "{appName} intentará conectarse automáticamente, o puede hacer clic en recargar abajo.",
"ConnectionLostToBackend": "{appName} ha perdido su conexión con el backend y tendrá que ser recargado para recuperar su funcionalidad.",
"RecentChanges": "Cambios recientes",
"WhatsNew": "Que es lo nuevo?",
"minutes": "Minutos",
"Album": "álbum",
"Artist": "artista",
"DeleteAppProfileMessageText": "Seguro que quieres eliminar el perfil de calidad {0}",
"Album": "Álbum",
"Artist": "Artista",
"DeleteAppProfileMessageText": "¿Estás seguro de que quieres eliminar el perfil de la aplicación '{name}'?",
"AddConnection": "Añadir Conexión",
"NotificationStatusAllClientHealthCheckMessage": "Las listas no están disponibles debido a errores",
"NotificationStatusSingleClientHealthCheckMessage": "Listas no disponibles debido a errores: {0}",
"EditIndexerImplementation": "Editar indexador - {implementationName}",
"EditIndexerImplementation": "Editar Indexador - {implementationName}",
"AuthBasic": "Básico (ventana emergente del navegador)",
"AuthForm": "Formularios (página de inicio de sesión)",
"AuthForm": "Formularios (Página de inicio de sesión)",
"Author": "Autor",
"Book": "Libro",
"Clone": "Clonar",
"DisabledForLocalAddresses": "Deshabilitado para direcciones locales",
"DisabledForLocalAddresses": "Deshabilitado para Direcciones Locales",
"External": "Externo",
"None": "Ninguna",
"ResetAPIKeyMessageText": "¿Está seguro de que desea restablecer su clave API?",
"EditIndexerProxyImplementation": "Agregar Condición - { implementationName}",
"AppUpdated": "{appName} Actualizada",
"AppUpdatedVersion": "{appName} ha sido actualizado a la versión `{version}`, para obtener los cambios más recientes, necesitaras recargar {appName}",
"EditIndexerProxyImplementation": "Editar Proxy de Indexador - { implementationName}",
"AppUpdated": "{appName} Actualizado",
"AppUpdatedVersion": "{appName} ha sido actualizado a la versión `{version}`, para obtener los cambios más recientes, necesitará recargar {appName}",
"AddApplicationImplementation": "Agregar aplicación - { implementationName}",
"AddConnectionImplementation": "Añadir Conexión - {implementationName}",
"AddIndexerImplementation": "Agregar Condición - { implementationName}",
"AddIndexerProxyImplementation": "Agregar Condición - { implementationName}",
"EditApplicationImplementation": "Agregar Condición - { implementationName}",
"EditConnectionImplementation": "Agregar Condición - { implementationName}",
"AddIndexerImplementation": "Agregar Indexador - {implementationName}",
"AddIndexerProxyImplementation": "Agregar Proxy de Indexador - { implementationName}",
"EditApplicationImplementation": "Editar Aplicación - { implementationName}",
"EditConnectionImplementation": "Editar Conexión - {implementationName}",
"AddDownloadClientImplementation": "Añadir Cliente de Descarga - {implementationName}",
"AuthenticationMethod": "Método de autenticación",
"AuthenticationMethodHelpTextWarning": "Por favor selecciona un método válido de autenticación",
@@ -439,7 +439,7 @@
"AuthenticationRequiredPasswordHelpTextWarning": "Introduzca una nueva contraseña",
"AuthenticationRequiredUsernameHelpTextWarning": "Introduzca un nuevo nombre de usuario",
"AuthenticationRequiredWarning": "Para evitar el acceso remoto sin autenticación, {appName} ahora requiere que la autenticación esté habilitada. Opcionalmente puede desactivar la autenticación desde una dirección local.",
"EditDownloadClientImplementation": "Añadir Cliente de Descarga - {implementationName}",
"EditDownloadClientImplementation": "Editar Cliente de Descarga - {implementationName}",
"DefaultNameCopiedProfile": "{name} - Copia",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Confirma la nueva contraseña",
"NoHistoryFound": "No se encontró historial",
@@ -452,7 +452,7 @@
"ClearHistory": "Borrar Historial",
"AreYouSureYouWantToDeleteIndexer": "Esta seguro que desea eliminar '{name}' de {appName}?",
"AuthQueries": "Consultas de Autorización",
"ApplicationTagsHelpText": "Sincronizar los Indexadores a esta aplicación que no tengan etiquetas o que tengan al menos una etiqueta coincidente",
"ApplicationTagsHelpText": "Sincronizar indexadores con esta aplicación que tengan una o más etiquetas coincidentes. Si no aparece ninguna etiqueta, no se impedirá la sincronización de ningún indexador debido a sus etiquetas.",
"ApplicationTagsHelpTextWarning": "Las etiquetas deben utilizarse con cuidado, pueden tener efectos involuntarios. Una aplicación con una etiqueta solo sincronizara con Indexadores que tengan la misma etiqueta.",
"AppsMinimumSeedersHelpText": "Cantidad mínima de semillas requerida por las Aplicaciones para que el Indexador capture, vacío aplica la configuración por defecto del perfil",
"AverageResponseTimesMs": "Tiempo promedio de respuesta del Indexador (ms)",
@@ -489,14 +489,14 @@
"DisabledUntil": "Deshabilitado hasta",
"DownloadClientCategory": "Categoría de cliente de descarga",
"HistoryCleanup": "Limpieza de historial",
"Id": "Id",
"Id": "ID",
"EditCategory": "Editar categoría",
"EditSyncProfile": "Editar perfil de sincronización",
"EnableIndexer": "Habilitar indexador",
"InvalidUILanguage": "Su interfaz de usuario está configurada en un idioma no válido, corríjalo y guarde la configuración",
"DownloadClientQbittorrentSettingsContentLayout": "Diseño del contenido",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Si usar el diseño de contenido configurado de qBittorrent, el diseño original del torrent o siempre crear una subcarpeta (qBittorrent 4.3.2+)",
"EnableRssHelpText": "Habilitar feed RSS para el indexador",
"EnableRssHelpText": "Habilitar feed RSS para el Indexador",
"days": "días",
"ElapsedTime": "Tiempo transcurrido",
"GrabTitle": "Capturar título",
@@ -504,16 +504,112 @@
"Website": "Sitio web",
"Redirect": "Redirección",
"RssQueries": "Consultas RSS",
"SeedRatio": "Ratio de siembra",
"SeedRatio": "Proporción de Semillado",
"RssFeed": "Feed RSS",
"SearchType": "Tipo de búsqueda",
"RepeatSearch": "Repetir búsqueda",
"SeedRatioHelpText": "El ratio que un torrent debe alcanzar antes de detenerse, si está vacío se usará el valor por defecto",
"SeedTime": "Tiempo de siembra",
"SeedTime": "Tiempo de Semillado",
"SearchTypes": "Tipos de búsquedas",
"DeleteIndexerProxy": "Eliminar proxy indexador",
"OnGrabHelpText": "Al Capturar lanzamiento",
"SeedTimeHelpText": "El ratio que un torrent debe alcanzar antes de detenerse, si está vacío se usará el valor por defecto",
"IndexerTagsHelpTextWarning": "Las etiquetas deben utilizarse con cuidado, pueden tener efectos involuntarios. Una aplicación con una etiqueta solo sincronizara con Indexadores que tengan la misma etiqueta.",
"TVSearchTypes": "Tipos de búsquedas"
"IndexerTagsHelpTextWarning": "Las etiquetas deben utilizarse con precaución, ya que pueden tener efectos no deseados. Un indexador con una etiqueta solo se sincronizará con aplicaciones que tengan la misma etiqueta.",
"TVSearchTypes": "Tipos de búsquedas",
"DownloadClientAriaSettingsDirectoryHelpText": "Ubicación opcional en la que poner las descargas, dejar en blanco para usar la ubicación de Aria2 predeterminada",
"IndexerNoDefCheckMessage": "Los indexadores no tienen definición y no funcionarán: {0}. Por favor elimínelos y (o) vuelva a añadirlos a {appName}",
"IndexerProxy": "Proxy del Indexador",
"IndexerObsoleteCheckMessage": "Los indexadores están obsoletos o se han actualizado: {0}. Por favor elimínelos y (o) vuelva a añadirlos a {appName}",
"IncludeManualGrabsHelpText": "Incluir las Capturas Manuales realizadas en {appName}",
"IndexerRss": "RSS del Indexador",
"IndexerSettingsSummary": "Configurar varios ajustes globales del Indexador, incluyendo Proxies.",
"IndexerName": "Nombre del Indexador",
"IndexerVipCheckExpiringClientMessage": "Las ventajas VIP de los indexadores expiran pronto: {0}",
"IndexerProxies": "Proxies del Indexador",
"IndexerHistoryLoadError": "Error al cargar el historial del Indexador",
"IndexerVipCheckExpiredClientMessage": "Las ventajas VIP del Indexador han caducado: {0}",
"IndexerQuery": "Consulta dedl Indexador",
"IndexerSite": "Sitio del Indexador",
"IndexerStatus": "Estado del indexador",
"LastFailure": "Último Fallo",
"InitialFailure": "Fallo Inicial",
"MappedCategories": "Categorías Mapeadas",
"IndexerTagsHelpText": "Utilice etiquetas para especificar los Proxies del Indexador o las aplicaciones con las que se sincroniza el indexador.",
"MassEditor": "Editor Masivo",
"ApplicationsLoadError": "No se puede cargar la lista de aplicaciones",
"ManageClients": "Gestionar Clientes",
"ManageApplications": "Gestionar Aplicaciones",
"IndexerId": "ID del Indexador",
"IndexerInfo": "Información del Indexador",
"SyncProfiles": "Sincronizar Perfiles",
"TestAllApps": "Comprobar Todas las Aplicaciones",
"Query": "Consulta",
"SettingsIndexerLogging": "Registro mejorado del Indexador",
"Private": "Privado",
"QueryOptions": "Opciones de Consulta",
"NewznabUrl": "Url Newznab",
"QueryType": "Tipo de Consulta",
"SearchCountIndexers": "Buscar {count} indexador(es)",
"SelectedCountOfCountReleases": "Seleccionados {selectedCount} de {itemCount} lanzamientos",
"SyncLevel": "Nivel de Sincronización",
"StopSelecting": "Detener la Selección",
"MinimumSeeders": "Semillas mínimas",
"QueryResults": "Resultados de la Consulta",
"SyncAppIndexers": "Sincronizar Indexadores de Aplicación",
"NotificationsEmailSettingsUseEncryption": "Usar Cifrado",
"OnHealthRestoredHelpText": "Al resolver las incidencias",
"OnHealthRestored": "Al resolver las incidencias",
"PackSeedTime": "Tiempo de Semillado del Pack",
"SearchCapabilities": "Capacidades de Búsqueda",
"SearchQueries": "Consultas de búsqueda",
"SettingsLogRotateHelpText": "Número máximo de archivos de registro que se guardan en la carpeta de registros",
"Stats": "Estadísticas",
"SyncLevelAddRemove": "Sólo Añadir y Eliminar: Cuando se añadan o eliminen indexadores de {appName}, se actualizará esta aplicación remota.",
"Public": "Publico",
"NotSupported": "No soportado",
"Proxies": "Proxies",
"SettingsConsoleLogLevel": "Nivel de Registro de la Consola",
"SettingsFilterSentryEvents": "Filtrar Eventos Analíticos",
"Parameters": "Parámetros",
"RedirectHelpText": "Redirigir la solicitud de descarga entrante para el indexador y pasar la captura directamente en lugar de delegar la solicitud a través de {appName}",
"SyncProfile": "Sincronizar Perfil",
"TorznabUrl": "Url Torznab",
"MovieSearchTypes": "Tipos de Búsqueda de Películas",
"NoDownloadClientsFound": "No se han encontrado clientes de descarga",
"NoIndexerHistory": "No se ha encontrado ningún historial para este indexador",
"PackSeedTimeHelpText": "El tiempo que un pack (temporada o discografía) debe ser sembrado antes de que se detenga, el valor vacío es el valor por defecto de la aplicación",
"SettingsLogSql": "Registrar Sql",
"SettingsSqlLoggingHelpText": "Registrar todas las consultas SQL de {appName}",
"SettingsLogRotate": "Rotación de Registros",
"TotalGrabs": "Capturas Totales",
"SettingsIndexerLoggingHelpText": "Registrar datos adicionales del Indexador, incluida la respuesta",
"MusicSearchTypes": "Tipos de Búsqueda de Música",
"TotalIndexerQueries": "Consultas Totales por Indexador",
"SyncLevelFull": "Sincronización completa: Se mantendrán los indexadores de esta aplicación totalmente sincronizados. Los cambios realizados en los indexadores de {appName} se sincronizarán con esta aplicación. Cualquier cambio realizado en los indexadores de forma remota dentro de esta aplicación será anulado por {appName} en la siguiente sincronización.",
"NoApplicationsFound": "No se han encontrado aplicaciones",
"RawSearchSupported": "Búsqueda en crudo soportada",
"SemiPrivate": "Semi-Privado",
"NoIndexerCategories": "No se han encontrado categorías para este indexador",
"MovieSearch": "Búsqueda de Películas",
"MinimumSeedersHelpText": "Mínimo de semillas requeridas por la Aplicación para que el Indexador coja la descarga",
"NoIndexersFound": "No se han encontrado indexadores",
"Privacy": "Privacidad",
"TotalHostQueries": "Consultas Totales por Host",
"PasswordConfirmation": "Confirmación de Contraseña",
"SettingsFilterSentryEventsHelpText": "Filtrar eventos de error de usuario conocidos para que no se envíen como Análisis",
"TotalHostGrabs": "Capturas Totales por Host",
"NoSearchResultsFound": "No se han encontrado resultados de búsqueda, intente realizar una nueva búsqueda abajo.",
"TotalUserAgentGrabs": "Capturas Totales Por Agente de Usuario",
"UnableToLoadIndexerProxies": "No se pueden cargar los Proxies de Indexador",
"UnableToLoadAppProfiles": "No se pueden cargar los perfiles de las aplicaciones",
"TotalUserAgentQueries": "Consultas Totales Por Agente de Usuario",
"TvSearch": "Buscar series de TV",
"UnableToLoadDevelopmentSettings": "No se pueden cargar los ajustes de Desarrollo",
"TotalQueries": "Consultas Totales",
"Url": "Url",
"VipExpiration": "Expiración VIP",
"TotalIndexerSuccessfulGrabs": "Capturas con Éxito Totales por Indexador",
"NotificationsEmailSettingsUseEncryptionHelpText": "Si prefiere utilizar el cifrado si está configurado en el servidor, utilizar siempre el cifrado mediante SSL (sólo puerto 465) o StartTLS (cualquier otro puerto) o no utilizar nunca el cifrado",
"IndexerHDBitsSettingsPasskeyHelpText": "Clave de acceso desde los Detalles de Usuario",
"IndexerSettingsPasskey": "Clave de Acceso"
}

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,18 +40,18 @@
"New": "Uutta",
"PageSizeHelpText": "Sivukohtainen kohdemäärä.",
"Proxy": "Välityspalvelin",
"ProxyBypassFilterHelpText": "Käytä erottimena ',' ja '*.' jokerimerkkinä aliverkkotunnuksille (esim. www.esimerkki.fi,*.esimerkki.fi)",
"ProxyBypassFilterHelpText": "Erota aliverkkotunnukset pilkuilla ja käytä jokerimerkkinä tähteä ja pistettä (*.). Esimerkki: 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",
"SettingsShortDateFormat": "Lyhyen päiväyksen esitys",
"UnselectAll": "Tyhjennä valinnat",
"UpdateCheckStartupTranslocationMessage": "Päivitystä ei voi asentaa, koska käynnistyskansio '{0}' sijaitsee 'App Translocation' -kansiossa.",
"UpdateCheckStartupTranslocationMessage": "Päivitystä ei voida asentaa, koska käynnistyskansio \"{0}\" sijaitsee \"App Translocation\" -kansiossa.",
"UpdateCheckUINotWritableMessage": "Päivityksen asennus ei onnistu, koska käyttäjällä \"{1}\" ei ole kirjoitusoikeutta käyttöliittymäkansioon \"{0}\".",
"UpdateMechanismHelpText": "Käytä {appName}in sisäänrakennettua päivitystoimintoa tai komentosarjaa.",
"Enable": "Käytä",
@@ -80,10 +80,10 @@
"Language": "Kieli",
"Search": "Haku",
"Details": "Tiedot",
"InteractiveSearch": "Manuaalihaku",
"InteractiveSearch": "Etsi manuaalisesti",
"Interval": "Ajoitus",
"KeyboardShortcuts": "Pikanäppäimet",
"LastWriteTime": "Edellinen tallennusaika",
"LastWriteTime": "Edellinen tallennus",
"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",
@@ -107,12 +107,12 @@
"RemoveFilter": "Poista suodatin",
"RemovingTag": "Tunniste poistetaan",
"Reset": "Uudista",
"ResetAPIKey": "Uudista API-avain",
"ResetAPIKey": "Korvaa rajapinnan avain",
"Restart": "Käynnistä uudelleen",
"RestartNow": "Käynnistä uudelleen nyt",
"Restore": "Palauta",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "RSS-syötettä ei ole käytettävissä tälle tietolähteelle",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "RSS-syötettä ei ole käytettävissä tälle tietolähteelle",
"ScriptPath": "Komentosarjan sijainti",
"Security": "Suojaus",
"SuggestTranslationChange": "Ehdota käännösmuutosta",
@@ -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",
@@ -135,8 +135,8 @@
"UnableToAddANewIndexerPleaseTryAgain": "Uuden tietolähteen lisäys epäonnistui. Yritä uudelleen.",
"UnableToAddANewIndexerProxyPleaseTryAgain": "Uuden tiedonhaun välityspalvelimen lisäys epäonnistui. Yritä uudelleen.",
"UnableToLoadBackups": "Varmuuskopioiden lataus epäonnistui",
"UnableToLoadDownloadClients": "Lataustyökalujen lataus ei onistu",
"UnableToLoadGeneralSettings": "Yleisten asetusten lataus epäonnistui.",
"DownloadClientsLoadError": "Lataustyökalujen lataus ei onistu",
"UnableToLoadGeneralSettings": "Virhe ladattaessa yleisiä asetuksia",
"UpdateAutomaticallyHelpText": "Lataa ja asenna päivitykset automaattisesti. Voit myös edelleen suorittaa asennuksen järjestelmäasetusten päivitykset-osiosta.",
"Added": "Lisäysaika",
"AddIndexer": "Lisää tietolähde",
@@ -146,9 +146,9 @@
"AllIndexersHiddenDueToFilter": "Aktiivinen suodatin on piilottanut kaikki tietolähteet.",
"Analytics": "Analytiikka",
"AnalyticsEnabledHelpText": "Lähetä nimettömiä käyttö- ja virhetietoja {appName}in palvelimille. Tämä sisältää tietoja selaimestasi, käyttöliittymän sivujen käytöstä, virheraportoinnista, käyttöjärjestelmästä ja suoritusalustasta. Käytämme näitä tietoja ominaisuuksien ja vikakorjausten painotukseen.",
"ApiKey": "API-avain",
"ApiKey": "Rajapinnan avain",
"AppDataDirectory": "AppData-kansio",
"DBMigration": "Tietokannan siirto",
"DatabaseMigration": "Tietokannan siirto",
"Delete": "Poista",
"DeleteIndexerProxyMessageText": "Haluatko varmasti poistaa tietolähdevälityspalvelimen \"{name}\"?",
"DeleteNotificationMessageText": "Haluatko varmasti poistaa ilmoituspalvelun \"{name}\"?",
@@ -170,9 +170,9 @@
"UnableToAddANewDownloadClientPleaseTryAgain": "Uuden lataustyökalun lisäys epäonnistui. Yitä uudelleen.",
"AppDataLocationHealthCheckMessage": "Päivityksiä ei sallita, jotta AppData-kansion poistaminen päivityksen yhteydessä voidaan estää.",
"UnableToLoadHistory": "Historian lataus epäonnistui.",
"UnableToLoadNotifications": "Kytkentöjen lataus epäonnistui.",
"UnableToLoadNotifications": "Virhe ladattaessa kytköksiä",
"UnableToLoadTags": "Tunnisteiden lataus ei onnistu",
"UnableToLoadUISettings": "Käyttöliittymän asetuksien lataus epäonnistui.",
"UnableToLoadUISettings": "Virhe ladattaesssa käyttöliittymän asetuksia",
"UnsavedChanges": "Muutoksia ei ole tallennettu",
"Yesterday": "Eilen",
"ConnectionLost": "Ei yhteyttä",
@@ -201,7 +201,7 @@
"Scheduled": "Ajoitukset",
"SettingsEnableColorImpairedModeHelpText": "Vaihtoehtoinen tyyli, joka auttaa erottamaan värikoodatut tiedot paremmin.",
"SettingsShowRelativeDates": "Suhteellisten päiväysten esitys",
"SettingsShowRelativeDatesHelpText": "Näytä suhteutetut (tänään/eilen/yms.) absoluuttisten sijaan",
"SettingsShowRelativeDatesHelpText": "Korvaa absoluuttiset päiväykset suhteellisilla päiväyksillä (tänään/eilen/yms.).",
"ShowSearch": "Näytä haku",
"Source": "Lähdekoodi",
"SSLPort": "SSL-portti",
@@ -211,7 +211,7 @@
"TableOptionsColumnsMessage": "Valitse näytettävät sarakkeet ja niiden järjestys",
"TagsHelpText": "Käytetään vähintään yhdellä täsmäävällä tunnisteella merkityille tietolähteille. Käytä kaikille jättämällä tyhjäksi.",
"UnableToAddANewAppProfilePleaseTryAgain": "Uuden sovellusprofiilin lisäys epäonnistui. Yritä uudelleen.",
"UnableToAddANewNotificationPleaseTryAgain": "Kytkennän lisäys epäonnistui. Yritä uudelleen.",
"UnableToAddANewNotificationPleaseTryAgain": "Kytköksen lisäys epäonnistui. Yritä uudelleen.",
"Version": "Versio",
"View": "Näkymä",
"Warn": "Varoitus",
@@ -251,14 +251,14 @@
"DownloadClientStatusCheckSingleClientMessage": "Lataustyökaluja ei ole ongelmien vuoksi käytettävissä: {0}",
"EditIndexer": "Muokkaa tietolähdettä",
"EnableAutomaticSearch": "Käytä automaattihakua",
"EnableInteractiveSearch": "Käytä manuaalihakua",
"EnableInteractiveSearch": "Käytä manuaalihakuun",
"EnableInteractiveSearchHelpText": "Profiilia käytetään manuaalihakuun.",
"EnableSSL": "SSL-salaus",
"EnableSslHelpText": " Käyttöönotto vaatii uudelleenkäynnistyksen järjestelmänvavojan oikeuksilla.",
"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",
@@ -288,11 +288,11 @@
"SSLCertPath": "SSL-varmenteen sijainti",
"SSLCertPathHelpText": "PFX-tiedoston sijainti",
"Status": "Tila",
"NotificationTriggers": "Laukaisijat",
"NotificationTriggers": "Laukaisimet",
"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ä",
@@ -366,14 +366,14 @@
"Category": "Kategoria",
"ClearHistory": "Tyhjennä historia",
"ClearHistoryMessageText": "Haluatko varmasti tyhjentää kaiken {appName}-historian?",
"Connect": "Kytkennät",
"Connect": "Kytkökset",
"EnableRssHelpText": "Käytä tietolähteelle RSS-syötettä.",
"DeleteApplication": "Poista sovellus",
"DeleteAppProfile": "Poista sovellusprofiili",
"IndexerProxies": "Tiedonhaun välityspalvelimet",
"IndexerAuth": "Tietolähteen todennus",
"Notifications": "Kytkennät",
"NotificationTriggersHelpText": "Valitse tapahtumat, jotka aiheuttavat ilmoituksen.",
"Notifications": "Kytkökset",
"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,23 +387,23 @@
"TvSearch": "Etsi televisiosarjoja",
"Filters": "Suodattimet",
"OnGrab": "Kun julkaisu kaapataan",
"OnHealthIssue": "Kun havaitaan kuntoon liittyvä ongelma",
"HistoryCleanupDaysHelpText": "Arvo \"0\" (nolla) poistaa automaattityhjennyksen käytöstä.",
"OnHealthIssue": "Vakausongelmat",
"HistoryCleanupDaysHelpText": "Arvo \"0\" (nolla) poistaa automaattisen tyhjennyksen käytöstä.",
"HistoryCleanupDaysHelpTextWarning": "Tässä määritettyä aikaa vanhemmat tiedostot poistetaan automaattisesti roskakorista pysyvästi.",
"TestAllIndexers": "Testaa tietolähteet",
"UserAgentProvidedByTheAppThatCalledTheAPI": "User-Agent-tiedon ilmoitti sovellus, joka kommunikoi API:n kanssa",
"TestAllIndexers": "Tietolähteiden testaus",
"UserAgentProvidedByTheAppThatCalledTheAPI": "User-Agent-tiedon ilmoitti rajapinnan kanssa viestinyt sovellus.",
"Categories": "Kategoriat",
"Database": "Tietokanta",
"HistoryCleanup": "Historian siivous",
"IndexerAlreadySetup": "Tietolähteestä on määritetty jo ainakin yksi instanssi",
"IndexerInfo": "Tietolähteen tiedot",
"MassEditor": "Massamuokkaus",
"OnApplicationUpdate": "Sovelluksen päivittyessä",
"OnApplicationUpdateHelpText": "Sovelluksen päivittyessä",
"MassEditor": "Joukkoeditori",
"OnApplicationUpdate": "Kun sovellus päivitetään",
"OnApplicationUpdateHelpText": "Kun sovellus päivitetään",
"Proxies": "Välityspalvelimet",
"Public": "Julkinen",
"SemiPrivate": "Osittain yksityinen",
"UnableToLoadApplicationList": "Sovelluslistausta ei voitu ladata",
"ApplicationsLoadError": "Sovelluslistausta ei voitu ladata",
"Url": "URL",
"Website": "Verkkosivusto",
"IndexerNoDefCheckMessage": "Tietolähteillä ei ole määritystä, eivätkä ne toimi: {0}. Poista ja/tai lisää {appName}iin uudelleen",
@@ -415,7 +415,7 @@
"SearchTypes": "Mitä etsitään",
"UnableToLoadIndexers": "Tietolähteiden lataus epäonnistui",
"Yes": "Kyllä",
"MappedDrivesRunningAsService": "Yhdistetyt verkkoasemat eivät ole käytettävissä, kun sovellus suoritetaan Windows-palveluna. Lisätietoja löydät UKK:stä.",
"MappedDrivesRunningAsService": "Yhdistetyt verkkoasemat eivät ole käytettävissä kun sovellus suoritetaan Windows-palveluna. Saat lisätietoja UKK:sta.",
"No": "Ei",
"BookSearchTypes": "Kirjojen hakutyypit",
"IndexerDetails": "Tietolähteen tiedot",
@@ -434,12 +434,12 @@
"AddSyncProfile": "Lisää synkronointiprofiili",
"EditSyncProfile": "Muokkaa synkronointiprofiilia",
"InstanceName": "Instanssin nimi",
"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.",
"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ä käyttö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",
@@ -449,10 +449,10 @@
"Started": "Alkoi",
"ApplicationLongTermStatusCheckAllClientMessage": "Sovellukset eivät ole käytettävissä yli 6 tuntia kestäneiden virheiden vuoksi.",
"ApplicationLongTermStatusCheckSingleClientMessage": "Sovellukset eivät ole käytettävissä yli 6 tuntia kestäneiden virheiden vuoksi: {0}",
"AreYouSureYouWantToDeleteCategory": "Haluatko varmasti poistaa kartoitetun kategorian?",
"AreYouSureYouWantToDeleteCategory": "Haluatko varmasti poistaa kohdistetun kategorian?",
"DeleteClientCategory": "Poista lataustyökalukategoria",
"DownloadClientCategory": "Lataustyökalukategoria",
"MappedCategories": "Kartoitetut kategoriat",
"MappedCategories": "Kohdistetut kategoriat",
"AuthenticationRequired": "Vaadi tunnistautuminen",
"Remove": "Poista",
"Replace": "Korvaa",
@@ -476,29 +476,29 @@
"ApplyTagsHelpTextHowToApplyIndexers": "Tunnisteiden käyttö valituissa tietolähteissä",
"ApplyTagsHelpTextRemove": "- \"Poista\" tyhjentää syötetyt tunnisteet",
"ApplyTagsHelpTextReplace": "- \"Korvaa\" nykyiset tunnisteet syötetyillä tai tyhjennä kaikki tunnisteet jättämällä tyhjäksi",
"DownloadClientPriorityHelpText": "Määritä useiden lataustyökalujen painotus. Tasaveroiset lataajat erotetaan Round-Robin-tekniikalla.",
"DownloadClientPriorityHelpText": "Lautaustyökalujen painotus, 1 50 (korkein-alin). Oletusarvo on 1 ja tasaveroiset erotetaan Round-Robin-tekniikalla.",
"Album": "Albumi",
"Artist": "Esittäjä",
"Author": "Kirjailija",
"Book": "Kirja",
"UpdateAvailable": "Uusi päivitys on saatavilla",
"Episode": "Jakso",
"Label": "Tunniste",
"Label": "Nimi",
"Theme": "Teema",
"ConnectionLostReconnect": "{appName} pyrkii ajoittain muodostamaan yhteyden automaattisesti tai voit painaa alta \"Lataa uudelleen\".",
"DeleteAppProfileMessageText": "Haluatko varmasti poistaa sovellusprofiilin \"{name}\"?",
"RecentChanges": "Viimeisimmät muutokset",
"WhatsNew": "Mi uutta?",
"RecentChanges": "Uusimmat muutokset",
"WhatsNew": "Mikä on uutta?",
"ConnectionLostToBackend": "{appName} kadotti yhteyden taustajärjestelmään ja se on käynnistettävä uudelleen.",
"minutes": "minuuttia",
"AddConnection": "Lisää yhteys",
"NotificationStatusAllClientHealthCheckMessage": "Kaikki ilmoitukset eivät ole ongelmien vuoksi käytettävissä",
"NotificationStatusAllClientHealthCheckMessage": "Mikään ilmoituspavelu ei ole ongelmien vuoksi käytettävissä.",
"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?",
"ResetAPIKeyMessageText": "Haluatko varmasti korvata rajapinnan avaimen uudella?",
"TotalIndexerSuccessfulGrabs": "Onnistuneiden tietolähdekaappausten kokonaismäärä",
"AppUpdated": "{appName} on päivitetty",
"AppUpdatedVersion": "{appName} on päivitetty versioon {version} ja muutosten käyttöönottamiseksi se on käynnistettävä uudelleen.",
@@ -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,80 @@
"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 rajapinnan (API) avain 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 yhdellä tai useammalla vastaavalla tunnisteella merkityt tietolähteet. Jos tässä ei ole tunnisteita, ei tietolähteitä synkronoida niiden tunnisteiden vuoksi.",
"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ä",
"NotificationsEmailSettingsUseEncryption": "Käytä salausta",
"NotificationsEmailSettingsUseEncryptionHelpText": "Määrittää suositaanko salausta, jos se on määritetty palvelimelle, käytetäänkö aina SSL- (vain portti 465) tai StartTLS-salausta (kaikki muut portit), voi käytetäänkö salausta lainkaan.",
"ManageClients": "Hallitse työkaluja",
"NoApplicationsFound": "Sovelluksia ei löytynyt",
"DownloadClientAriaSettingsDirectoryHelpText": "Valinnainen latuasten tallennussijainti. Käytä Aria2-oletusta jättämällä tyhjäksi."
}

View File

@@ -158,11 +158,11 @@
"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",
"DBMigration": "Migration de la base de données",
"DatabaseMigration": "Migration de la base de données",
"ConnectSettings": "Paramètres de connexion",
"BackupFolderHelpText": "Les chemins correspondants seront sous le répertoire AppData de {appName}",
"IllRestartLater": "Je redémarrerai plus tard",
@@ -213,7 +213,7 @@
"UnableToLoadTags": "Impossible de charger les étiquettes",
"UnableToLoadHistory": "Impossible de charger l'historique",
"UnableToLoadGeneralSettings": "Impossible de charger les paramètres généraux",
"UnableToLoadDownloadClients": "Impossible de charger les clients de téléchargement",
"DownloadClientsLoadError": "Impossible de charger les clients de téléchargement",
"UnableToLoadBackups": "Impossible de charger les sauvegardes",
"UnableToAddANewNotificationPleaseTryAgain": "Impossible d'ajouter une nouvelle notification, veuillez réessayer.",
"UnableToAddANewIndexerPleaseTryAgain": "Impossible d'ajouter un nouvel indexeur, veuillez réessayer.",
@@ -223,7 +223,7 @@
"StartTypingOrSelectAPathBelow": "Commencer à écrire ou sélectionner un chemin ci-dessous",
"NoTagsHaveBeenAddedYet": "Aucune identification n'a été ajoutée pour l'instant",
"IndexerFlags": "Indicateurs d'indexeur",
"DeleteTagMessageText": "Voulez-vous vraiment supprimer l'étiquette « {label} » ?",
"DeleteTagMessageText": "Voulez-vous vraiment supprimer l'étiquette '{label}' ?",
"UISettings": "Paramètres UI",
"UILanguageHelpTextWarning": "Rechargement du navigateur requis",
"UILanguageHelpText": "Langue que {appName} utilisera pour l'interface utilisateur",
@@ -241,7 +241,7 @@
"SendAnonymousUsageData": "Envoyer des données d'utilisation anonymes",
"ScriptPath": "Chemin du script",
"SaveSettings": "Enregistrer les paramètres",
"RSSIsNotSupportedWithThisIndexer": "RSS n'est pas pris en charge avec cet indexeur",
"RssIsNotSupportedWithThisIndexer": "RSS n'est pas pris en charge avec cet indexeur",
"Retention": "Rétention",
"Result": "Résultat",
"Restore": "Restaurer",
@@ -282,7 +282,7 @@
"CloseCurrentModal": "Fermer cette fenêtre modale",
"AddingTag": "Ajout d'une étiquette",
"OnHealthIssueHelpText": "Sur un problème de santé",
"AcceptConfirmationModal": "Accepter les modalités d'utilisations",
"AcceptConfirmationModal": "Accepter les modalités d'utilisation",
"OpenThisModal": "Ouvrir cette fenêtre modale",
"IndexerLongTermStatusCheckSingleClientMessage": "Indexeurs indisponibles en raison de pannes pendant plus de 6 heures : {0}",
"IndexerLongTermStatusCheckAllClientMessage": "Tous les indexeurs sont indisponibles en raison d'échecs de plus de 6 heures",
@@ -322,7 +322,7 @@
"AddedToDownloadClient": "Release ajoutée au client",
"AddNewIndexer": "Ajouter un nouvel indexeur",
"Wiki": "Wiki",
"RSS": "RSS",
"Rss": "RSS",
"RedirectHelpText": "Rediriger la demande de téléchargement entrante pour l'indexeur et transmettre la capture directement au lieu de transmettre la demande par proxy via {appName}",
"Redirect": "Rediriger",
"Reddit": "Reddit",
@@ -400,7 +400,7 @@
"SearchType": "Type de recherche",
"Categories": "Catégories",
"MassEditor": "Éditer en masse",
"UnableToLoadApplicationList": "Impossible de charger la liste des applications",
"ApplicationsLoadError": "Impossible de charger la liste des applications",
"Website": "Site internet",
"AudioSearch": "Recherche de musique",
"BookSearch": "Recherche de livres",
@@ -602,5 +602,8 @@
"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+)",
"DownloadClientAriaSettingsDirectoryHelpText": "Emplacement facultatif pour les téléchargements, laisser vide pour utiliser l'emplacement par défaut Aria2",
"ManageClients": "Gérer les clients"
}

View File

@@ -31,7 +31,7 @@
"SettingsEnableColorImpairedModeHelpText": "סגנון שונה כדי לאפשר למשתמשים לקויי צבע להבחין טוב יותר במידע המקודד בצבע",
"SettingsLongDateFormat": "פורמט תאריך ארוך",
"SettingsShortDateFormat": "פורמט תאריך קצר",
"UnableToLoadDownloadClients": "לא ניתן לטעון לקוחות הורדות",
"DownloadClientsLoadError": "לא ניתן לטעון לקוחות הורדות",
"UnableToAddANewNotificationPleaseTryAgain": "לא ניתן להוסיף התראה חדשה, נסה שוב.",
"UnableToLoadGeneralSettings": "לא ניתן לטעון את ההגדרות הכלליות",
"About": "אודות",
@@ -56,7 +56,7 @@
"Presets": "הגדרות קבועות מראש",
"Proxy": "פרוקסי",
"ProxyType": "סוג proxy",
"RSSIsNotSupportedWithThisIndexer": "RSS אינו נתמך עם אינדקס זה",
"RssIsNotSupportedWithThisIndexer": "RSS אינו נתמך עם אינדקס זה",
"SettingsShowRelativeDatesHelpText": "הצג תאריכים קרובים (היום / אתמול / וכו ') או תאריכים מוחלטים",
"TableOptions": "אפשרויות טבלה",
"Tasks": "משימות",
@@ -111,7 +111,7 @@
"Usenet": "Usenet",
"URLBase": "בסיס URL",
"Retention": "הַחזָקָה",
"RSS": "RSS",
"Rss": "RSS",
"Save": "להציל",
"SaveChanges": "שמור שינויים",
"SaveSettings": "שמור הגדרות",
@@ -272,7 +272,7 @@
"CloneProfile": "פרופיל שיבוט",
"Close": "סגור",
"CloseCurrentModal": "סגור את המודול הנוכחי",
"DBMigration": "הגירת DB",
"DatabaseMigration": "הגירת DB",
"Delete": "לִמְחוֹק",
"DeleteNotification": "מחק הודעה",
"DeleteNotificationMessageText": "האם אתה בטוח שברצונך למחוק את ההודעה '{0}'?",

View File

@@ -37,7 +37,7 @@
"Test": "परीक्षा",
"Port": "बंदरगाह",
"PortNumber": "पोर्ट संख्या",
"RSSIsNotSupportedWithThisIndexer": "RSS इस अनुक्रमणिका के साथ समर्थित नहीं है",
"RssIsNotSupportedWithThisIndexer": "RSS इस अनुक्रमणिका के साथ समर्थित नहीं है",
"SendAnonymousUsageData": "अनाम उपयोग डेटा भेजें",
"SetTags": "टैग सेट करें",
"About": "के बारे में",
@@ -120,7 +120,7 @@
"New": "नया",
"CustomFilters": "कस्टम फ़िल्टर",
"Dates": "खजूर",
"DBMigration": "DB प्रवासन",
"DatabaseMigration": "DB प्रवासन",
"DeleteApplicationMessageText": "क्या आप वाकई '{0}' की सूचना हटाना चाहते हैं?",
"DeleteBackup": "बैकअप हटाएं",
"DeleteBackupMessageText": "क्या आप वाकई '{0}' बैकअप हटाना चाहते हैं?",
@@ -192,7 +192,7 @@
"RestoreBackup": "बैकअप बहाल",
"Result": "परिणाम",
"Retention": "अवधारण",
"RSS": "आरएसएस",
"Rss": "आरएसएस",
"ScriptPath": "पटकथा पथ",
"Search": "खोज",
"SettingsTimeFormat": "समय प्रारूप",
@@ -294,7 +294,7 @@
"RestartNow": "अब पुनःचालू करें",
"SettingsEnableColorImpairedMode": "रंग-बिगड़ा मोड सक्षम करें",
"UnableToAddANewNotificationPleaseTryAgain": "नई अधिसूचना जोड़ने में असमर्थ, कृपया पुनः प्रयास करें।",
"UnableToLoadDownloadClients": "डाउनलोड क्लाइंट लोड करने में असमर्थ",
"DownloadClientsLoadError": "डाउनलोड क्लाइंट लोड करने में असमर्थ",
"UnableToLoadGeneralSettings": "सामान्य सेटिंग्स लोड करने में असमर्थ",
"UnableToLoadNotifications": "सूचनाएं लोड करने में असमर्थ",
"UpdateCheckStartupNotWritableMessage": "अपडेट स्थापित नहीं किया जा सकता क्योंकि स्टार्टअप फ़ोल्डर '{0}' उपयोगकर्ता '{1}' द्वारा लिखने योग्य नहीं है।",

View File

@@ -27,7 +27,7 @@
"Remove": "Ukloni",
"Replace": "Zamijeni",
"Reset": "Resetiraj",
"RSS": "RSS",
"Rss": "RSS",
"Scheduled": "Zakazano",
"Search": "Traži",
"Seeders": "Seederi",

View File

@@ -4,44 +4,44 @@
"AddIndexer": "Indexelő hozzáadása",
"AddingTag": "Címke hozzáadása",
"Error": "Hiba",
"DeleteTag": "Címke Törlése",
"DeleteTag": "Címke törlése",
"EnableAutomaticSearchHelpText": "Akkor kerül felhasználásra, ha az automatikus kereséseket a kezelőfelületen vagy a {appName}-on keresztül hajtják végre",
"EnableAutomaticSearch": "Engedélyezd az Automatikus Keresést",
"Enable": "Aktiválás",
"EditIndexer": "Indexer Szerkesztése",
"Edit": "szerkeszt",
"Edit": "Szerkeszt",
"DownloadClientStatusCheckSingleClientMessage": "Letöltőkliens hiba miatt nem elérhető: {0}",
"DownloadClientStatusCheckAllClientMessage": "Az összes letöltőkliens elérhetetlen, hiba miatt",
"DownloadClientsSettingsSummary": "Letöltőkliens konfigurációja a {appName} felhasználói felület keresésbe történő integráláshoz",
"DownloadClientSettings": "Letöltőkliens Beállítások",
"DownloadClients": "Letöltőkliensek",
"DownloadClient": "Letöltési Kliens",
"DownloadClients": "Letöltő kliensek",
"DownloadClient": "Letöltési kliens",
"Docker": "Docker",
"Disabled": "Tiltva",
"Details": "részletek",
"DeleteTagMessageText": "Biztosan törlöd a(z) „{0}” címkét?",
"DeleteNotificationMessageText": "Biztosan törlöd a(z) „{0}” értesítést?",
"DeleteNotification": "Értesítés Törlése",
"DeleteDownloadClientMessageText": "Biztosan törlöd a(z) „{0}” letöltő klienst?",
"DeleteTagMessageText": "Biztosan törli a „{label}” címkét?",
"DeleteNotificationMessageText": "Biztosan törli a(z) „{name}” értesítést?",
"DeleteNotification": "Értesítés törlése",
"DeleteDownloadClientMessageText": "Biztosan törli a(z) \"{name}\" letöltési klienst?",
"DeleteDownloadClient": "Letöltőkliens törlése",
"DeleteBackupMessageText": "Biztosan törli a '{name}' biztonsági mentést?",
"DeleteBackup": "Biztonsági Mentés törlése",
"Delete": "Törlés",
"DBMigration": "DB Migráció",
"DatabaseMigration": "Adatbázis-migráció",
"Dates": "Dátumok",
"Date": "Dátum",
"CustomFilters": "Egyéni Szűrők",
"CustomFilters": "Egyedi Szűrők",
"ConnectSettingsSummary": "Értesítések és egyéni szkriptek",
"ConnectSettings": "Kapcsolódási Beállítások",
"ConnectSettings": "Csatlakozási beállítások",
"Connections": "Kapcsolatok",
"ConnectionLost": "Kapcsolódás Elveszett",
"ConnectionLost": "A kapcsolat megszakadt",
"Connect": "Értesítések",
"Component": "Komponens",
"Component": "Összetevő",
"Columns": "Oszlopok",
"CloseCurrentModal": "Aktuális Mód Bezárása",
"Close": "Bezárás",
"CloneProfile": "Profil Klónozása",
"ClientPriority": "Kliens Prioritás",
"CloneProfile": "Profil klónozása",
"ClientPriority": "Kliens prioritás",
"Clear": "Törölni",
"ChangeHasNotBeenSavedYet": "A változások még nem lettek elmentve",
"CertificateValidationHelpText": "Módosítsa a HTTPS tanúsítás szigorúságát",
@@ -49,22 +49,22 @@
"CancelPendingTask": "Biztosan törölni szeretné ezt a függőben lévő feladatot?",
"Cancel": "Mégse",
"BypassProxyForLocalAddresses": "Proxy megkerülése a helyi hálózatos címekhez",
"BranchUpdateMechanism": "A külső frissítési mechanizmus által használt ágazat",
"BranchUpdate": "Ágazattípus a {appName} frissítéseihez",
"BranchUpdateMechanism": "Külső frissítési mechanizmus által használt ág",
"BranchUpdate": "A(z) {appName} frissítéséhez használt fiók",
"Branch": "Ágazat",
"BindAddressHelpText": "Érvényes IP-cím, localhost vagy '*' minden interfészhez",
"BindAddress": "Kapcsolási Cím",
"BindAddress": "Kötési cím",
"BeforeUpdate": "Frissítés előtt",
"Backups": "Biztonsági mentések",
"BackupRetentionHelpText": "A megőrzési időszaknál régebbi automatikus biztonsági másolatok automatikusan törlődnek",
"BackupNow": "Biztonsági Mentés",
"BackupIntervalHelpText": "Az automatikus biztonsági mentések közötti időköz",
"BackupFolderHelpText": "Az elérési útvonalak a {appName} AppData könyvtárában lesznek",
"Backup": "biztonsági mentés",
"BackupFolderHelpText": "A relatív elérési utak a(z) {appName} AppData könyvtárában találhatók",
"Backup": "Biztonsági mentés",
"AutomaticSearch": "Automatikus keresés",
"Automatic": "Automatikus",
"AnalyticsEnabledHelpText": "Küldjön névtelen használati és hibainformációkat a {appName} szervereire. Ez magában foglalja a böngészőjéről szóló információkat, mely {appName} WebUI oldalakat használja, a hibajelentést, valamint az operációs rendszer adatait. Ezeket az információkat a funkciók és a hibajavítások rangsorolására használjuk fel.",
"AuthenticationMethodHelpText": "Felhasználónév és Jelszó szükséges a {appName}-hoz való hozzáféréshez",
"AnalyticsEnabledHelpText": "Névtelen használati és hibainformáció küldése {appName} szervereinek. Ez magában foglalja a böngészővel kapcsolatos információkat, a használt {appName} WebUI oldalakat, a hibajelentéseket, valamint az operációs rendszert és a futásidejű verziót. Ezeket az információkat a funkciók és a hibajavítások fontossági sorrendjének meghatározására fogjuk használni.",
"AuthenticationMethodHelpText": "Felhasználónév és jelszó szükséges a(z) {appName} eléréséhez",
"Authentication": "Hitelesítés",
"ApplyTags": "Címkék alkalmazása",
"Age": "Kor",
@@ -72,14 +72,14 @@
"All": "Összes",
"AcceptConfirmationModal": "Változás Megerősítése",
"Apply": "Alkamaz",
"AppDataLocationHealthCheckMessage": "A frissítés nem lehetséges anélkül hogy az AppData ne törlődjön",
"AppDataLocationHealthCheckMessage": "A frissítés nem lehetséges az alkalmazás adatok törlése nélkül",
"AppDataDirectory": "AppData Könyvtár",
"Added": "Hozzáadva",
"Actions": "Teendők",
"History": "Előzmény",
"HideAdvanced": "Haladó Elrejtése",
"HealthNoIssues": "Nincs hiba a konfigurációval",
"Health": "Állapot",
"Health": "Egészség",
"GeneralSettingsSummary": "Port, SSL, felhasználónév / jelszó, proxy, elemzések, és frissítések",
"ForMoreInformationOnTheIndividualDownloadClients": "Ha többet szeretnél megtudni a különböző letöltési kliensekről, kattints az információs gombokra.",
"Folder": "Mappa",
@@ -87,10 +87,10 @@
"Fixed": "Rögzített",
"FilterPlaceHolder": "Filmek Keresése",
"Filter": "Szűrő",
"Files": "Fájl",
"Files": "Fájlok",
"Filename": "Fájl név",
"Failed": "Sikertelen",
"ExistingTag": "Meglévő Címke",
"Failed": "Nem sikerült",
"ExistingTag": "Létező címke",
"Exception": "Kivétel",
"EventType": "Események Típusa",
"Events": "Események",
@@ -111,10 +111,10 @@
"SSLCertPasswordHelpText": "Jelszó a Pfx fájlhoz",
"SSLCertPassword": "SSL Tanúsítvány jelszava",
"Source": "Forrás",
"Sort": "Rendezés",
"Sort": "Fajta",
"Size": "Méret",
"Shutdown": "Leállítás",
"ShowSearchHelpText": "A kereső gomb megjelenítése az egérrel",
"Shutdown": "Leállitás",
"ShowSearchHelpText": "Keresés gomb megjelenítése az egérrel",
"ShowAdvanced": "Haladó nézet",
"SettingsTimeFormat": "Időformátum",
"SettingsShowRelativeDatesHelpText": "Relatív (Ma / Tegnap / stb.) vagy valós dátumok megjelenítése",
@@ -125,7 +125,7 @@
"SettingsEnableColorImpairedMode": "Színtévesztő mód bekapcsolása",
"Settings": "Beállítások",
"SendAnonymousUsageData": "Névtelen használati adatok küldése",
"SelectAll": "Összes kijelölése",
"SelectAll": "Mindet kiválaszt",
"Seeders": "Seederek",
"Security": "Biztonság",
"Search": "Keresés",
@@ -134,26 +134,26 @@
"SaveSettings": "Beállítások mentése",
"SaveChanges": "Változtatások mentése",
"Save": "Mentés",
"RSSIsNotSupportedWithThisIndexer": "Az RSS nem támogatott ezzel az indexerrel",
"RssIsNotSupportedWithThisIndexer": "Az RSS nem támogatott ezzel az indexerrel",
"Retention": "Visszatartás",
"Result": "Eredmény",
"RestoreBackup": "Biztonsági mentés visszaállítása",
"Restore": "Visszaállítás",
"Restore": "Visszaállít",
"RestartRequiredHelpTextWarning": "Újraindítás szükséges a hatálybalépéshez",
"RestartProwlarr": "{appName} Újraindítása",
"RestartNow": "Újraindítás Most",
"Restart": "Újraindítás",
"Restart": "Újrakezd",
"ResetAPIKey": "API Kulcs visszaállítása",
"Reset": "Visszaállítás",
"RemovingTag": "Címke eltávolítása",
"RemoveFilter": "Szűrő törlése",
"RemovedFromTaskQueue": "Eltávolítva a feladatsorról",
"Reload": "Újratöltés",
"Reload": "Újratölt",
"ReleaseStatus": "Kiadás státusza",
"ReleaseBranchCheckOfficialBranchMessage": "A(z) {0} nem érvényes {appName} frissítési ágazat, ezért nem kap frissítéseket",
"RefreshMovie": "Film frissítése",
"Refresh": "Frissítés",
"ReadTheWikiForMoreInformation": "Olvasd el a Wiki-t további információkért",
"ReadTheWikiForMoreInformation": "További információkért olvassa el a Wikit",
"ProwlarrSupportsAnyIndexer": "A {appName} számos indexert támogat, minden olyan indexelő mellett, amely a Newznab / Torznab szabványt használja, valamint a 'Generic Newznab' (usenethez) vagy a 'Generic Torznab' (torrentekhez) használatával. Keresés és az alább felsorolt indexelők kiválasztása.",
"ProwlarrSupportsAnyDownloadClient": "A {appName} minden olyan letöltési klienst támogat, amely a Newznab szabványt használja, valamint az alább felsorolt letöltési klienseket.",
"Queue": "Várakozási sor",
@@ -183,47 +183,47 @@
"OnHealthIssueHelpText": "Állapotprobléma",
"Ok": "Ok",
"OAuthPopupMessage": "A böngésződ blokkolja az előugró ablakokat",
"NoUpdatesAreAvailable": "Nincsenek elérhető frissítések",
"NoTagsHaveBeenAddedYet": "Még nem adtál hozzá címkéket",
"NoLogFiles": "Nincsen log fájl",
"NoLeaveIt": "Nem, hagyd így",
"NoChanges": "Nincsenek változások",
"NoChange": "Nincs változtatás",
"NoBackupsAreAvailable": "Nincs elérhető biztonsági mentés",
"NoUpdatesAreAvailable": "Nem érhetők el frissítések",
"NoTagsHaveBeenAddedYet": "Még nem adtak hozzá címkéket",
"NoLogFiles": "Nincsenek naplófájlok",
"NoLeaveIt": "Nem, Hagyd",
"NoChanges": "Nincs változás",
"NoChange": "Nincs változás",
"NoBackupsAreAvailable": "Nincsenek biztonsági mentések",
"New": "Új",
"NetCore": ".NET",
"Name": "Név",
"MovieIndexScrollTop": "Film Index: Görgess fel",
"MovieIndexScrollBottom": "Film Index: Görgess le",
"MoreInfo": "Több Információ",
"MoreInfo": "Több információ",
"Mode": "Mód",
"MIA": "MIA",
"Message": "Üzenet",
"Mechanism": "Mechanizmus",
"Mechanism": "Gépezet",
"Manual": "Kézi",
"MaintenanceRelease": "Karbantartási frissítés: hibajavítások és egyéb fejlesztések. További részletekért lásd: Github Commit History",
"MaintenanceRelease": "Karbantartási kiadás: hibajavítások és egyéb fejlesztések. További részletekért lásd: Github Commit History",
"Logs": "Naplók",
"LogLevelTraceHelpTextWarning": "A nyomkövetést csak ideiglenesen szabad engedélyezni",
"LogLevel": "Log Szint",
"LogLevelTraceHelpTextWarning": "A nyomkövetési naplózást csak ideiglenesen szabad engedélyezni",
"LogLevel": "Napló szint",
"Logging": "Loggolás",
"LogFiles": "Log Fájlok",
"LogFiles": "Naplófájlok",
"Level": "Szint",
"LaunchBrowserHelpText": " Nyisson meg egy böngészőt, és az alkalmazás indításakor lépjen a {appName} kezdőlapjára.",
"LastWriteTime": "Utolsó írási idő",
"Language": "Nyelv",
"KeyboardShortcuts": "Gyorsbillentyűk",
"KeyboardShortcuts": "Gyorsbillentyűket",
"Interval": "Intervallum",
"InteractiveSearch": "Interaktív Keresés",
"Info": "Infó",
"IndexerStatusCheckSingleClientMessage": "Indexerek elérhetetlenek a következő hiba miatt: {0}",
"Hostname": "Hosztnév",
"Host": "Hoszt",
"Grabbed": "Megfogva",
"Grabbed": "Megragadta",
"GeneralSettings": "Általános Beállítások",
"General": "Általános",
"UnableToLoadHistory": "Nem sikerült betölteni az előzményeket",
"UnableToLoadGeneralSettings": "Nem sikerült betölteni az általános beállításokat",
"UnableToLoadDownloadClients": "Nem sikerült betölteni a letöltőkliens(eke)t",
"DownloadClientsLoadError": "Nem sikerült betölteni a letöltőkliens(eke)t",
"UnableToLoadBackups": "Biztonsági mentés(ek) betöltése sikertelen",
"UnableToAddANewNotificationPleaseTryAgain": "Nem lehet új értesítést hozzáadni, próbálkozz újra.",
"UnableToAddANewIndexerPleaseTryAgain": "Nem lehet új indexert hozzáadni, próbálkozz újra.",
@@ -238,11 +238,11 @@
"Torrents": "Torrentek",
"Title": "Cím",
"Time": "Idő",
"TestAllClients": "Összes kliens tesztelése",
"TestAllClients": "Minden ügyfél tesztelése",
"TestAll": "Összes Tesztelése",
"Test": "Teszt",
"Tasks": "Feladatok",
"TagsSettingsSummary": "Tekintse meg az összes címkét és azok használatát. A használatlan címkék eltávolíthatók",
"TagsSettingsSummary": "Tekintse meg az összes címkét és azok felhasználási módját. A fel nem használt címkék eltávolíthatók",
"TagsHelpText": "Legalább egy megfelelő címkével rendelkező filmekre vonatkozik",
"Tags": "Címkék",
"TagIsNotUsedAndCanBeDeleted": "A címke nincs használatban, törölhető",
@@ -258,8 +258,8 @@
"IncludeHealthWarningsHelpText": "Tartalmazza a Állapot Figyelmeztetéseket",
"IllRestartLater": "Később Újraindítom",
"IgnoredAddresses": "Ignorált címek",
"YesCancel": "Igen, Mégsem",
"Warn": "Figyelmeztet",
"YesCancel": "Igen, elvet",
"Warn": "Figyelmeztetés",
"View": "Nézet",
"Version": "Verzió",
"Username": "Felhasználónév",
@@ -270,7 +270,7 @@
"Uptime": "Üzemidő",
"UpdateScriptPathHelpText": "Keresse meg az egyéni parancsfájl elérési útját, amely kibontott frissítési csomagot vesz fel, és kezeli a frissítési folyamat fennmaradó részét",
"Updates": "Frissítések",
"UpdateMechanismHelpText": "Használja a {appName} beépített frissítőjét vagy egy szkriptet",
"UpdateMechanismHelpText": "Használja a {appName} beépített frissítőjét vagy szkriptt",
"UpdateCheckUINotWritableMessage": "Nem lehet telepíteni a frissítést, mert a(z) „{0}” felhasználói felület mappát nem írhatja a „{1}” felhasználó.",
"UpdateCheckStartupTranslocationMessage": "Nem lehet telepíteni a frissítést, mert a (z) „{0}” indítási mappa az Alkalmazások Transzlokációs mappájában található.",
"UpdateCheckStartupNotWritableMessage": "A frissítés nem telepíthető, mert a (z) „{0}” indítási mappát a „{1}” felhasználó nem írhatja.",
@@ -281,9 +281,9 @@
"UnableToLoadTags": "Nem sikerült betölteni a címkéket",
"UnableToLoadNotifications": "Nem sikerült betölteni az Értesítéseket",
"TableOptions": "Táblázat Beállítások",
"ShowSearch": "Keresés(ek) megjelenítése",
"ShowSearch": "Keresés mutatása",
"SetTags": "Címkék beállítása",
"NotificationTriggers": "Értesítés(ek) kiváltója",
"NotificationTriggers": "Értesítési triggerek",
"IndexerLongTermStatusCheckSingleClientMessage": "Az összes indexer elérhetetlen több mint 6 órája, meghibásodás miatt: {0}",
"IndexerLongTermStatusCheckAllClientMessage": "Az összes indexer elérhetetlen több mint 6 órája, meghibásodás miatt",
"SettingsLogSql": "SQL naplózás",
@@ -322,12 +322,12 @@
"EnableRssHelpText": "RSS Engedélyezése az Indexerekhez",
"EnableRss": "RSS Engedélyezése",
"Wiki": "Wiki",
"RSS": "RSS",
"Rss": "RSS",
"RedirectHelpText": "Átirányítja a bejövő letöltési kérelmet az indexelő számára, és közvetlenül adja át a fájlt ahelyett, hogy a kérést a {appName}-en keresztül proxyba tenné",
"Redirect": "Átirányítás",
"Reddit": "Reddit",
"HomePage": "Kezdőlap",
"FeatureRequests": "Funkció kérése",
"FeatureRequests": "Funkciókérés",
"Discord": "Discord",
"AppProfileSelectHelpText": "Az alkalmazásprofilok az RSS vezérlésére szolgálnak, Automatikus keresés és Interaktív keresés beállításai az alkalmazás szinkronizálásakor",
"UnableToAddANewApplicationPleaseTryAgain": "Nem lehet új alkalmazást hozzáadni, próbálkozzon újra.",
@@ -347,7 +347,7 @@
"Encoding": "Kódolás",
"Grabs": "Megfogások",
"Id": "Azonosító",
"NotificationTriggersHelpText": "Válaszd ki, hogy mely események indítsák el ezt az értesítést",
"NotificationTriggersHelpText": "Válassza ki, hogy mely események váltsák ki ezt az értesítést",
"Presets": "Előbeállítások",
"Privacy": "Titkosítás",
"Query": "Lekérdezés",
@@ -404,8 +404,8 @@
"Public": "Publikus",
"QueryResults": "Lekérdezési eredmények",
"SemiPrivate": "Fél-Privát",
"TestAllIndexers": "Indexerek tesztelése",
"UnableToLoadApplicationList": "Nem sikerült betölteni az alkalmazáslistát",
"TestAllIndexers": "Tesztelje az összes indexelőt",
"ApplicationsLoadError": "Nem sikerült betölteni az alkalmazáslistát",
"Url": "URL",
"UserAgentProvidedByTheAppThatCalledTheAPI": "Az API-t hívó alkalmazás biztosítja a User-Agent szolgáltatást",
"Website": "Weboldal",
@@ -444,8 +444,8 @@
"LastDuration": "Utolsó időtartam",
"LastExecution": "Utolsó végrehajtás",
"Parameters": "Paraméterek",
"Queued": "Sorba helyezve",
"Started": "Elkezdődött",
"Queued": "Sorban",
"Started": "Elindult",
"NextExecution": "Következő végrehajtás",
"ApplicationLongTermStatusCheckSingleClientMessage": "Az alkamazások elérhetetlenek több mint 6 órája az alábbi hiba miatt: {0}",
"ApplicationLongTermStatusCheckAllClientMessage": "Az összes alkalmazás elérhetetlen több mint 6 órája meghibásodás miatt",
@@ -454,26 +454,26 @@
"MappedCategories": "Térképezett kategóriák",
"DownloadClientCategory": "Letöltési kliens kategória",
"AuthenticationRequired": "Azonosítás szükséges",
"AuthenticationRequiredHelpText": "Módosítsd, hogy mely kérésekhez van szükség hitelesítésre. Ne változtasson, hacsak nem érti a kockázatokat.",
"AuthenticationRequiredWarning": "A hitelesítés nélküli távoli hozzáférés megakadályozása érdekében a {appName}nak mostantól engedélyezni kell a hitelesítést. Konfigurálja a hitelesítési módszert és a hitelesítési adatokat. Opcionálisan letilthatja a helyi címekről történő hitelesítést. További információkért tekintsd meg a GYIK-et.",
"AuthenticationRequiredHelpText": "Módosítsa, hogy mely kérésekhez van szükség hitelesítésre. Ne változtasson, hacsak nem érti a kockázatokat.",
"AuthenticationRequiredWarning": "A hitelesítés nélküli távoli hozzáférés megakadályozása érdekében a(z) {appName} alkalmazásnak engedélyeznie kell a hitelesítést. Opcionálisan letilthatja a helyi címekről történő hitelesítést.",
"TheLatestVersionIsAlreadyInstalled": "A {appName} legújabb verziója már telepítva van",
"Remove": "Eltávolítás",
"Replace": "Kicserél",
"ApplicationURL": "Alkalmazás URL",
"ApplicationUrlHelpText": "Az alkalmazás külső URL-címe, beleértve a http(s)://-t, a portot és az URL-alapot",
"ApplicationUrlHelpText": "Ennek az alkalmazásnak a külső URL-címe, beleértve a http-eket",
"More": "Több",
"Publisher": "Kiadó",
"ApplyChanges": "Változások alkalmazása",
"ApplyTagsHelpTextReplace": "Csere: Cserélje ki a címkéket a beírt címkékre (az összes címke törléséhez ne adjon meg címkéket)",
"ApplyTagsHelpTextReplace": "Csere: Cserélje ki a címkéket a megadott címkékkel (az összes címke törléséhez ne írjon be címkéket)",
"EditSelectedIndexers": "Kiválasztott indexelők szerkesztése",
"ApplyTagsHelpTextAdd": "Hozzáadás: Adja hozzá a címkéket a meglévő címkék listájához",
"ApplyTagsHelpTextHowToApplyApplications": "Hogyan adjunk hozzá címkéket a kiválasztott filmhez",
"ApplyTagsHelpTextHowToApplyIndexers": "Címkék alkalmazása a kiválasztott indexelőkre",
"ApplyTagsHelpTextRemove": "Eltávolítás: Távolítsa el a beírt címkéket",
"CountIndexersSelected": "{0} Indexelő(k) kiválasztva",
"DeleteSelectedDownloadClients": "Letöltőkliens Törlése",
"CountIndexersSelected": "{count} indexelő(k) kiválasztva",
"DeleteSelectedDownloadClients": "Letöltési kliens(ek) törlése",
"DownloadClientPriorityHelpText": "Priorizálj több letöltési klienst. A Round-Robint azonos prioritású letöltőkliensek használják.",
"EditSelectedDownloadClients": "Kiválasztott letöltési kliensek szerkesztése",
"EditSelectedDownloadClients": "Kijelölt letöltési kliensek szerkesztése",
"Label": "Címke",
"SelectIndexers": "Indexelők keresése",
"ApiKeyValidationHealthCheckMessage": "Kérlek frissítsd az API kulcsot, ami legalább {0} karakter hosszú. Ezt megteheted a Beállításokban, vagy a config file-ban",
@@ -488,19 +488,19 @@
"Album": "Album",
"Artist": "Előadó",
"Author": "Szerző",
"ConnectionLostReconnect": "A Radarr megpróbál automatikusan csatlakozni, vagy kattints a frissítés gombra.",
"ConnectionLostReconnect": "A(z) {appName} automatikusan megpróbál csatlakozni, vagy kattintson az újratöltés gombra lent.",
"DeleteAppProfileMessageText": "Biztosan törli a {0} minőségi profilt?",
"RecentChanges": "Friss változtatások",
"RecentChanges": "Friss változá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.",
"ConnectionLostToBackend": "A(z) {appName} megszakadt a kapcsolat a háttérrendszerrel, ezért újra kell tölteni a működés visszaállításához.",
"minutes": "percek",
"AddConnection": "Csatlakozás hozzáadása",
"NotificationStatusAllClientHealthCheckMessage": "Összes alkalmazás elérhetetlen hiba miatt",
"NotificationStatusAllClientHealthCheckMessage": "Az összes értesítés nem érhető el hibák miatt",
"NotificationStatusSingleClientHealthCheckMessage": "Az alkalmazás nem áll rendelkezésre az alábbi hibák miatt: {0}",
"AuthBasic": "Alap (böngésző előugró ablak)",
"AuthForm": "Űrlapok (bejelentkezési oldal)",
"DisabledForLocalAddresses": "Letiltva a helyi címeknél",
"None": "Nincs",
"DisabledForLocalAddresses": "Helyi címeknél letiltva",
"None": "Egyik sem",
"ResetAPIKeyMessageText": "Biztos hogy vissza szeretnéd állítani az API-Kulcsod?",
"AuthenticationRequiredPasswordHelpTextWarning": "Adjon meg új jelszót",
"AuthenticationRequiredUsernameHelpTextWarning": "Adjon meg új felhasználónevet",
@@ -518,11 +518,32 @@
"AuthenticationMethodHelpTextWarning": "Kérjük, válasszon érvényes hitelesítési módot",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Erősítsd meg az új jelszót",
"DefaultNameCopiedProfile": "{name} - Másolat",
"EditConnectionImplementation": "Csatlakozás hozzáadása - {megvalósítás neve}",
"EditConnectionImplementation": "Kapcsolat szerkesztése - {implementationName}",
"EditIndexerProxyImplementation": "Indexelő hozzáadása - {megvalósítás neve}",
"AddApplicationImplementation": "Csatlakozás hozzáadása - {implementationName}",
"AddIndexerProxyImplementation": "Indexelő hozzáadása - {implementationName}",
"EditIndexerImplementation": "Indexelő hozzáadása - {megvalósítás neve}",
"EditIndexerImplementation": "Indexelő szerkesztése {implementationName}",
"EditApplicationImplementation": "Csatlakozás hozzáadása - {megvalósítás neve}",
"EditDownloadClientImplementation": "Letöltési kliens hozzáadása {megvalósítási név}"
"EditDownloadClientImplementation": "Letöltési kliens szerkesztése {implementationName}",
"NoIndexersFound": "Nem található indexelő",
"NoDownloadClientsFound": "Nem találhatók letöltő kliensek",
"AdvancedSettingsShownClickToHide": "Haladó beállítások megjelenítve, kattints az elrejtéshez",
"AdvancedSettingsHiddenClickToShow": "Haladó beállítások rejtve, kattints a megjelenítéshez",
"AppUpdatedVersion": "{appName} frissítve lett `{version}` verzióra, ahhoz hogy a legutóbbi változtatások életbelépjenek, töltsd újra a {appName}-t",
"AddCategory": "Kategória hozzáadása",
"External": "Külső",
"NoHistoryFound": "Nem található előzmény",
"InvalidUILanguage": "A felhasználói felület érvénytelen nyelvre van állítva, javítsa ki, és mentse el a beállításait",
"ManageDownloadClients": "Letöltési kliensek kezelése",
"DownloadClientAriaSettingsDirectoryHelpText": "Választható hely a letöltések elhelyezéséhez, hagyja üresen az alapértelmezett Aria2 hely használatához",
"DeleteSelectedIndexersMessageText": "Biztosan törölni szeretne {count} kiválasztott indexelőt?",
"DownloadClientQbittorrentSettingsContentLayout": "Tartalom elrendezése",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Függetlenül attól, hogy a qBittorrent konfigurált tartalomelrendezését használja, az eredeti elrendezést a torrentből, vagy mindig hozzon létre egy almappát (qBittorrent 4.3.2)",
"DeleteSelectedDownloadClientsMessageText": "Biztosan törölni szeretné a kiválasztott {count} letöltési klienst?",
"CountDownloadClientsSelected": "{count} letöltési kliens kiválasztva",
"StopSelecting": "Kiválasztás leállítása",
"days": "napok",
"DeleteSelectedApplicationsMessageText": "Biztosan törölni szeretne {count} kiválasztott importlistát?",
"CountApplicationsSelected": "{count} Gyűjtemény(ek) kiválasztva",
"ManageClients": "Ügyfelek kezelése"
}

View File

@@ -65,7 +65,7 @@
"Type": "Tegund",
"UnableToAddANewApplicationPleaseTryAgain": "Ekki er hægt að bæta við nýrri tilkynningu. Reyndu aftur.",
"UnableToLoadBackups": "Ekki er hægt að hlaða afrit",
"UnableToLoadDownloadClients": "Ekki er hægt að hlaða niður viðskiptavinum",
"DownloadClientsLoadError": "Ekki er hægt að hlaða niður viðskiptavinum",
"UnableToLoadGeneralSettings": "Ekki er hægt að hlaða almennar stillingar",
"UnableToLoadHistory": "Ekki er hægt að hlaða sögu",
"UnableToLoadNotifications": "Ekki er hægt að hlaða tilkynningar",
@@ -199,7 +199,7 @@
"CouldNotConnectSignalR": "Gat ekki tengst SignalR, HÍ mun ekki uppfæra",
"CustomFilters": "Sérsniðin síur",
"Dates": "Dagsetningar",
"DBMigration": "DB fólksflutningar",
"DatabaseMigration": "DB fólksflutningar",
"Delete": "Eyða",
"DeleteApplicationMessageText": "Ertu viss um að þú viljir eyða tilkynningunni „{0}“?",
"DeleteBackup": "Eyða afritun",
@@ -282,8 +282,8 @@
"Restore": "Endurheimta",
"RestoreBackup": "Endurheimtu öryggisafrit",
"Retention": "Varðveisla",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "RSS er ekki studd með þessum flokkara",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "RSS er ekki studd með þessum flokkara",
"Save": "Vista",
"SaveSettings": "Vista stillingar",
"Scheduled": "Tímaáætlun",

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",
"DatabaseMigration": "Migrazione DB",
"ConnectSettings": "Impostazioni Collegamento",
"ConnectionLost": "Connessione Persa",
"Component": "Componente",
"Columns": "Colonne",
@@ -162,7 +162,7 @@
"SettingsEnableColorImpairedMode": "Abilità la Modalità Daltonica",
"SendAnonymousUsageData": "Invia dati anonimi sull'uso",
"ScriptPath": "Percorso dello script",
"RSSIsNotSupportedWithThisIndexer": "RSS non è supportato con questo Indicizzatore",
"RssIsNotSupportedWithThisIndexer": "RSS non è supportato con questo Indicizzatore",
"Retention": "Ritenzione",
"Result": "Risultato",
"Restore": "Ripristina",
@@ -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",
@@ -240,7 +240,7 @@
"UnableToLoadNotifications": "Impossibile caricare le Notifiche",
"UnableToLoadHistory": "Impossibile caricare la storia",
"UnableToLoadGeneralSettings": "Impossibile caricare le impostazioni Generali",
"UnableToLoadDownloadClients": "Impossibile caricare i client di download",
"DownloadClientsLoadError": "Impossibile caricare i client di download",
"UnableToLoadBackups": "Impossibile caricare i backup",
"UnableToAddANewNotificationPleaseTryAgain": "Impossibile aggiungere una nuova notifica, riprova.",
"UnableToAddANewIndexerPleaseTryAgain": "Impossibile aggiungere un nuovo Indicizzatore, riprova.",
@@ -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}?",
@@ -305,7 +305,7 @@
"IndexerHealthCheckNoIndexers": "Nessun Indicizzatore abilitato, {appName} non restituirà risultati di ricerca",
"EnableRss": "Abilita RSS",
"NoLinks": "Nessun Collegamento",
"RSS": "RSS",
"Rss": "RSS",
"Wiki": "Wiki",
"AllIndexersHiddenDueToFilter": "Tutti gli Indicizzatori sono nascosti a causa del filtro applicato.",
"DeleteApplicationMessageText": "Sei sicuro di voler eliminare l'applicazione '{0}'?",
@@ -374,7 +374,7 @@
"SyncLevel": "Livello Sincronizzazione",
"IndexerProxy": "Proxy dell'Indicizzatore",
"Proxies": "Proxy",
"UnableToLoadApplicationList": "Impossibile careicare la lista applicazioni",
"ApplicationsLoadError": "Impossibile careicare la lista applicazioni",
"Website": "Sito",
"Privacy": "Privacy",
"SettingsIndexerLogging": "Logging Migliorato dell'Indicizzatore",
@@ -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,31 @@
"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",
"AppUpdatedVersion": "{appName} è stato aggiornato alla versione `{version}`, per vedere le modifiche devi ricaricare {appName}",
"AddApplicationImplementation": "Aggiungi Connessione - {implementationName}",
"AddIndexerProxyImplementation": "Aggiungi indicizzatore - {implementationName}",
"EditApplicationImplementation": "Aggiungi Condizione - {implementationName}",
"CountApplicationsSelected": "{count} Collezione(i) Selezionate",
"EditConnectionImplementation": "Aggiungi Connessione - {implementationName}",
"EditDownloadClientImplementation": "Aggiungi un Client di Download - {implementationName}",
"EditIndexerImplementation": "Aggiungi indicizzatore - {implementationName}",
"EditIndexerProxyImplementation": "Aggiungi indicizzatore - {implementationName}"
}

View File

@@ -29,7 +29,7 @@
"OnHealthIssueHelpText": "健康問題について",
"Priority": "優先",
"Restart": "再起動",
"RSSIsNotSupportedWithThisIndexer": "RSSはこのインデクサーではサポートされていません",
"RssIsNotSupportedWithThisIndexer": "RSSはこのインデクサーではサポートされていません",
"ShowSearch": "検索を表示",
"SSLPort": "SSLポート",
"StartupDirectory": "スタートアップディレクトリ",
@@ -100,7 +100,7 @@
"TagCannotBeDeletedWhileInUse": "使用中は削除できません",
"TagIsNotUsedAndCanBeDeleted": "タグは使用されておらず、削除できます",
"TestAll": "すべてテスト",
"UnableToLoadDownloadClients": "ダウンロードクライアントを読み込めません",
"DownloadClientsLoadError": "ダウンロードクライアントを読み込めません",
"UnableToLoadGeneralSettings": "一般設定を読み込めません",
"UpdateAutomaticallyHelpText": "アップデートを自動的にダウンロードしてインストールします。 SystemUpdatesから引き続きインストールできます。",
"Updates": "更新",
@@ -141,7 +141,7 @@
"UI": "UI",
"CouldNotConnectSignalR": "SignalRに接続できませんでした。UIは更新されません",
"Custom": "カスタム",
"DBMigration": "DB移行",
"DatabaseMigration": "DB移行",
"Delete": "削除",
"DeleteApplicationMessageText": "通知「{0}」を削除してもよろしいですか?",
"DeleteBackup": "バックアップを削除する",
@@ -182,7 +182,7 @@
"RestartNow": "今すぐ再起動",
"Result": "結果",
"Retention": "保持",
"RSS": "RSS",
"Rss": "RSS",
"Save": "保存する",
"SaveChanges": "変更内容を保存",
"Scheduled": "予定",

View File

@@ -26,7 +26,7 @@
"Connections": "연결",
"CouldNotConnectSignalR": "SignalR에 연결할 수 없습니다. UI가 업데이트되지 않습니다.",
"Custom": "사용자 지정",
"DBMigration": "DB 마이그레이션",
"DatabaseMigration": "DB 마이그레이션",
"DeleteBackupMessageText": "백업 '{0}'을(를) 삭제하시겠습니까?",
"BackupNow": "지금 백업",
"Authentication": "인증",
@@ -142,7 +142,7 @@
"Restore": "복원",
"Result": "결과",
"Retention": "보유",
"RSSIsNotSupportedWithThisIndexer": "이 인덱서에서는 RSS가 지원되지 않습니다.",
"RssIsNotSupportedWithThisIndexer": "이 인덱서에서는 RSS가 지원되지 않습니다.",
"Scheduled": "예정",
"ScriptPath": "스크립트 경로",
"Search": "검색",
@@ -160,7 +160,7 @@
"Title": "표제",
"Today": "오늘",
"UILanguageHelpTextWarning": "브라우저 새로 고침 필요",
"UnableToLoadDownloadClients": "다운로드 클라이언트를로드 할 수 없습니다.",
"DownloadClientsLoadError": "다운로드 클라이언트를로드 할 수 없습니다.",
"UnableToLoadHistory": "기록을로드 할 수 없습니다.",
"UnableToLoadTags": "태그를로드 할 수 없습니다.",
"UnableToLoadUISettings": "UI 설정을로드 할 수 없습니다.",
@@ -258,7 +258,7 @@
"ProxyCheckBadRequestMessage": "프록시를 테스트하지 못했습니다. StatusCode : {0}",
"ProxyCheckFailedToTestMessage": "프록시 테스트 실패 : {0}",
"ReleaseStatus": "출시 상태",
"RSS": "RSS",
"Rss": "RSS",
"Sort": "종류",
"UnsavedChanges": "저장되지 않은 변경 사항",
"UnselectAll": "모두 선택 해제",

View File

@@ -1,5 +1,5 @@
{
"Add": "Legge til",
"Add": "Legg til",
"AddDownloadClient": "Legg til nedlastingsklient",
"Added": "La til",
"AddingTag": "Legger til tag",
@@ -54,7 +54,7 @@
"UI": "Grensesnitt",
"ConnectionLost": "Tilkobling mistet",
"New": "Ny",
"RSS": "RSS",
"Rss": "RSS",
"Applications": "Applikasjoner",
"Connections": "Tilkoblinger",
"Usenet": "Usenet",
@@ -135,5 +135,7 @@
"AuthBasic": "Grunnleggende (nettleser -popup)",
"AuthForm": "Skjemaer (påloggingsside)",
"DisabledForLocalAddresses": "Deaktivert for lokale adresser",
"ResetAPIKeyMessageText": "Er du sikker på at du vil tilbakestille API -nøkkelen din?"
"ResetAPIKeyMessageText": "Er du sikker på at du vil tilbakestille API -nøkkelen din?",
"CountApplicationsSelected": "{count} samling(er) valgt",
"Id": "ID"
}

View File

@@ -81,7 +81,7 @@
"CouldNotConnectSignalR": "Kan geen verbinding maken met SignalR, gebruikersinterface wordt niet bijgewerkt",
"Custom": "Aangepast",
"CustomFilters": "Aangepaste Filters",
"DBMigration": "DB Migratie",
"DatabaseMigration": "DB Migratie",
"Database": "Databasis",
"Date": "Datum",
"Dates": "Datum en tijd",
@@ -272,8 +272,8 @@
"Query": "Vraag",
"Queue": "Wachtrij",
"Queued": "Afwachtend",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "RSS wordt niet ondersteund door deze indexeerder",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "RSS wordt niet ondersteund door deze indexeerder",
"ReadTheWikiForMoreInformation": "Lees de Wiki voor meer informatie",
"Reddit": "Reddit",
"Redirect": "Omleiden",
@@ -388,7 +388,7 @@
"UnableToLoadAppProfiles": "Kan app-profielen niet laden",
"UnableToLoadBackups": "Kon geen veiligheidskopieën laden",
"UnableToLoadDevelopmentSettings": "Kan ontwikkelingsinstellingen niet laden",
"UnableToLoadDownloadClients": "Downloaders kunnen niet worden geladen",
"DownloadClientsLoadError": "Downloaders kunnen niet worden geladen",
"UnableToLoadGeneralSettings": "Kon Algemene instellingen niet inladen",
"UnableToLoadHistory": "Kon geschiedenis niet laden",
"UnableToLoadIndexerProxies": "Kan Indexeerder-proxy's niet laden",
@@ -482,5 +482,6 @@
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Bevestig het nieuwe wachtwoord",
"AuthenticationRequiredUsernameHelpTextWarning": "Voeg een nieuwe gebruikersnaam in",
"AuthenticationRequiredWarning": "Om toegang zonder authenticatie te voorkomen vereist {appName} nu verificatie. Je kan dit optioneel uitschakelen voor lokale adressen.",
"Episode": "aflevering"
"Episode": "aflevering",
"CountApplicationsSelected": "{count} Collectie(s) geselecteerd"
}

View File

@@ -86,7 +86,7 @@
"PageSize": "Rozmiar strony",
"PageSizeHelpText": "Liczba elementów do pokazania na każdej stronie",
"PendingChangesStayReview": "Zostań i przejrzyj zmiany",
"RSSIsNotSupportedWithThisIndexer": "RSS nie jest obsługiwany przez ten indeksator",
"RssIsNotSupportedWithThisIndexer": "RSS nie jest obsługiwany przez ten indeksator",
"Settings": "Ustawienia",
"ShowAdvanced": "Pokaż zaawansowane",
"Test": "Test",
@@ -121,7 +121,7 @@
"Custom": "Zwyczaj",
"Date": "Data",
"Dates": "Daktyle",
"DBMigration": "Migracja bazy danych",
"DatabaseMigration": "Migracja bazy danych",
"DeleteApplicationMessageText": "Czy na pewno chcesz usunąć powiadomienie „{0}”?",
"DeleteBackup": "Usuń kopię zapasową",
"DeleteBackupMessageText": "Czy na pewno chcesz usunąć kopię zapasową „{0}”?",
@@ -262,7 +262,7 @@
"UnableToAddANewIndexerProxyPleaseTryAgain": "Nie można dodać nowego indeksatora, spróbuj ponownie.",
"UnableToAddANewNotificationPleaseTryAgain": "Nie można dodać nowego powiadomienia, spróbuj ponownie.",
"UnableToLoadBackups": "Nie można załadować kopii zapasowych",
"UnableToLoadDownloadClients": "Nie można załadować klientów pobierania",
"DownloadClientsLoadError": "Nie można załadować klientów pobierania",
"UnableToLoadGeneralSettings": "Nie można załadować ustawień ogólnych",
"UnableToLoadHistory": "Nie można załadować historii",
"UnableToLoadTags": "Nie można załadować tagów",
@@ -304,7 +304,7 @@
"Indexers": "Indeksatory",
"IndexerStatusCheckAllClientMessage": "Wszystkie indeksatory są niedostępne z powodu błędów",
"RestartNow": "Zrestartuj teraz",
"RSS": "RSS",
"Rss": "RSS",
"Tasks": "Zadania",
"MaintenanceRelease": "Wersja konserwacyjna: poprawki błędów i inne ulepszenia. Aby uzyskać więcej informacji, zobacz historię zatwierdzeń na Github",
"HistoryCleanupDaysHelpTextWarning": "Pliki w koszu starsze niż wybrana liczba dni zostaną automatycznie wyczyszczone",
@@ -375,5 +375,16 @@
"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}",
"CountApplicationsSelected": "Wybrane kolekcje: {0}",
"EditDownloadClientImplementation": "Dodaj klienta pobierania - {implementationName}",
"Id": "Identyfikator",
"AddApplicationImplementation": "Dodaj Connection - {implementationName}",
"AddIndexerImplementation": "Dodaj condition - {implementationName}",
"AddIndexerProxyImplementation": "Dodaj condition - {implementationName}",
"EditConnectionImplementation": "Dodaj Connection - {implementationName}",
"EditApplicationImplementation": "Dodaj Connection - {implementationName}",
"EditIndexerImplementation": "Dodaj condition - {implementationName}"
}

View File

@@ -170,7 +170,7 @@
"DeleteNotification": "Eliminar notificação",
"DeleteDownloadClient": "Eliminar cliente de transferências",
"DeleteBackup": "Eliminar cópia de segurança",
"DBMigration": "Migração da base de dados",
"DatabaseMigration": "Migração da base de dados",
"ConnectSettings": "Definições de ligação",
"CloneProfile": "Clonar perfil",
"ChangeHasNotBeenSavedYet": "A mudança ainda não foi guardada",
@@ -192,7 +192,7 @@
"AddingTag": "A adicionar etiqueta",
"AutomaticSearch": "Pesquisa automática",
"UnableToAddANewIndexerPleaseTryAgain": "Não foi possível adicionar um novo indexador, tenta novamente.",
"RSSIsNotSupportedWithThisIndexer": "RSS não é suportado por esse indexador",
"RssIsNotSupportedWithThisIndexer": "RSS não é suportado por esse indexador",
"ProwlarrSupportsAnyIndexer": "O {appName} suporta vários indexadores, além de qualquer indexador que usa o padrão Newznab/Torznab como \"Newznab genérico\" (para Usenet) e \"Torznab genérico\" (para torrents). Pesquise e selecione os indexadores na listagem abaixo.",
"IndexerPriorityHelpText": "Prioridade do indexador de 1 (mais alta) a 50 (mais baixa). Padrão: 25.",
"IndexerPriority": "Prioridade do indexador",
@@ -268,7 +268,7 @@
"UnableToLoadNotifications": "Não foi possível carregar as notificações",
"UnableToLoadHistory": "Não foi possível carregar o histórico",
"UnableToLoadGeneralSettings": "Não foi possível carregar as definições gerais",
"UnableToLoadDownloadClients": "Não foi possível carregar os clientes de transferências",
"DownloadClientsLoadError": "Não foi possível carregar os clientes de transferências",
"UnableToAddANewDownloadClientPleaseTryAgain": "Não foi possível adicionar um novo cliente de transferências, tenta novamente.",
"UnableToLoadBackups": "Não foi possível carregar as cópias de segurança",
"UnableToAddANewNotificationPleaseTryAgain": "Não foi possível adicionar uma nova notificação, tenta novamente.",
@@ -322,7 +322,7 @@
"SettingsIndexerLoggingHelpText": "Registar dados adicionais do indexador, incluindo resposta",
"SettingsIndexerLogging": "Registo em log avançado do indexador",
"SettingsFilterSentryEvents": "Filtrar eventos de análise",
"RSS": "RSS",
"Rss": "RSS",
"RedirectHelpText": "Redireccionar as solicitações de transferência de entrada para o indexador e obter diretamente, em vez de por proxy usando o {appName}",
"Redirect": "Redireccionar",
"Reddit": "Reddit",
@@ -390,7 +390,7 @@
"InstanceName": "Nome da Instancia",
"InstanceNameHelpText": "Nome da instância na aba e nome da aplicação para Syslog",
"UnableToLoadIndexerProxies": "Incapaz de ler o indexador de proxies",
"UnableToLoadApplicationList": "Não foi possível carregar a lista de aplicações",
"ApplicationsLoadError": "Não foi possível carregar a lista de aplicações",
"ApplicationLongTermStatusCheckAllClientMessage": "Todos os indexadores estão indisponíveis devido a erros á mais de 6 horas",
"ApplicationLongTermStatusCheckSingleClientMessage": "Indexadores indisponíveis devido a erros à mais de 6 horas: {0}",
"Duration": "Duração",
@@ -473,5 +473,8 @@
"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",
"CountApplicationsSelected": "{count} Coleções Selecionadas"
}

View File

@@ -51,7 +51,7 @@
"AuthenticationRequiredWarning": "Para evitar o acesso remoto sem autenticação, {appName} agora exige que a autenticação esteja habilitada. Opcionalmente, você pode desabilitar a autenticação de endereços locais.",
"Author": "Autor",
"Automatic": "Automático",
"AutomaticSearch": "Pesquisa automática",
"AutomaticSearch": "Pesquisa Automática",
"AverageResponseTimesMs": "Tempos Médios de Resposta do Indexador (ms)",
"Backup": "Backup",
"BackupFolderHelpText": "Os caminhos relativos estarão no diretório AppData do {appName}",
@@ -93,7 +93,7 @@
"CouldNotConnectSignalR": "Não é possível conectar ao SignalR, a interface não atualizará",
"Custom": "Personalizado",
"CustomFilters": "Filtros personalizados",
"DBMigration": "Migração de banco de dados",
"DatabaseMigration": "Migração de Banco de Dados",
"Database": "Banco de dados",
"Date": "Data",
"Dates": "Datas",
@@ -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",
@@ -225,7 +225,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",
@@ -324,8 +324,8 @@
"QueryResults": "Resultados da Consulta",
"Queue": "Fila",
"Queued": "Na fila",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "O RSS não é compatível com este indexador",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "O RSS não é compatível com este indexador",
"RawSearchSupported": "Pesquisa Bruta Suportada",
"ReadTheWikiForMoreInformation": "Leia o Wiki para obter mais informações",
"Reddit": "Reddit",
@@ -401,7 +401,7 @@
"Source": "Origem",
"StartTypingOrSelectAPathBelow": "Comece a digitar ou selecione um caminho abaixo",
"Started": "Iniciado",
"StartupDirectory": "Diretório de inicialização",
"StartupDirectory": "Diretório de Inicialização",
"Stats": "Estatísticas",
"Status": "Status",
"StopSelecting": "Parar Seleção",
@@ -422,7 +422,7 @@
"TagIsNotUsedAndCanBeDeleted": "A tag não é usada e pode ser excluída",
"Tags": "Etiquetas",
"TagsHelpText": "Aplica-se a indexadores com pelo menos uma tag correspondente",
"TagsSettingsSummary": "Veja todas as tags e como elas são usadas. Tags não utilizadas podem ser removidas",
"TagsSettingsSummary": "Veja todas as etiquetas e como elas são usadas. Etiquetas não utilizadas podem ser removidas",
"Tasks": "Tarefas",
"Test": "Testar",
"TestAll": "Testar tudo",
@@ -461,10 +461,10 @@
"UnableToAddANewIndexerProxyPleaseTryAgain": "Não foi possível adicionar um novo proxy indexador, tente novamente.",
"UnableToAddANewNotificationPleaseTryAgain": "Não foi possível adicionar uma nova notificação. Tente novamente.",
"UnableToLoadAppProfiles": "Não foi possível carregar os perfis de aplicativos",
"UnableToLoadApplicationList": "Não é possível carregar a lista de aplicativos",
"ApplicationsLoadError": "Não é possível carregar a lista de aplicativos",
"UnableToLoadBackups": "Não foi possível carregar os backups",
"UnableToLoadDevelopmentSettings": "Não foi possível carregar as configurações de desenvolvimento",
"UnableToLoadDownloadClients": "Não foi possível carregar os clientes de download",
"DownloadClientsLoadError": "Não foi possível carregar os clientes de download",
"UnableToLoadGeneralSettings": "Não foi possível carregar as configurações gerais",
"UnableToLoadHistory": "Não foi possível carregar o histórico",
"UnableToLoadIndexerProxies": "Não foi possível carregar proxies do indexador",
@@ -595,7 +595,7 @@
"NoIndexerHistory": "Nenhum histórico encontrado para este indexador",
"TotalGrabs": "Total de Capturas",
"TotalQueries": "Total de Consultas",
"ApplicationTagsHelpText": "Sincronize indexadores com este aplicativo que não possuem tags ou que possuem 1 ou mais tags correspondentes",
"ApplicationTagsHelpText": "Sincronize indexadores com este aplicativo que possuem uma ou mais etiquetas correspondentes. Se nenhuma etiqueta estiver listada aqui, nenhum indexador será impedido de sincronizar devido às suas etiquetas.",
"ApplicationTagsHelpTextWarning": "As tags devem ser usadas com cautela, pois podem ter efeitos indesejados. Um aplicativo com uma tag só será sincronizado com indexadores que tenham a mesma tag.",
"IndexerTagsHelpTextWarning": "As tags devem ser usadas com cautela, pois podem ter efeitos indesejados. Um indexador com uma tag sincronizará apenas com aplicativos com a mesma tag.",
"NoIndexerCategories": "Nenhuma categoria encontrada para este indexador",
@@ -603,5 +603,13 @@
"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",
"DownloadClientAriaSettingsDirectoryHelpText": "Local opcional para colocar downloads, deixe em branco para usar o local padrão do Aria2",
"ManageClients": "Gerenciar Clientes",
"NoApplicationsFound": "Nenhum aplicativo encontrado",
"NotificationsEmailSettingsUseEncryptionHelpText": "Se preferir usar criptografia se configurado no servidor, usar sempre criptografia via SSL (somente porta 465) ou StartTLS (qualquer outra porta) ou nunca usar criptografia",
"NotificationsEmailSettingsUseEncryption": "Usar Criptografia",
"IndexerHDBitsSettingsPasskeyHelpText": "Chave de Acesso dos Detalhes do Usuário",
"IndexerSettingsPasskey": "Chave de Acesso"
}

View File

@@ -122,7 +122,7 @@
"SettingsLongDateFormat": "Format de dată lungă",
"SettingsShortDateFormat": "Format scurt de dată",
"SettingsTimeFormat": "Format ora",
"RSSIsNotSupportedWithThisIndexer": "RSS nu este suportat de acest indexator",
"RssIsNotSupportedWithThisIndexer": "RSS nu este suportat de acest indexator",
"ShowSearchHelpText": "Afișați butonul de căutare pe hover",
"UILanguageHelpText": "Limba pe care {appName} o va folosi pentru interfața de utilizare",
"UILanguageHelpTextWarning": "Reîncărcare browser necesară",
@@ -173,13 +173,13 @@
"Priority": "Prioritate",
"Reddit": "Reddit",
"Result": "Rezultat",
"RSS": "RSS",
"Rss": "RSS",
"SettingsShowRelativeDatesHelpText": "Afișați datele relative (Azi / Ieri / etc) sau absolute",
"TestAllClients": "Testați toți clienții",
"Today": "Astăzi",
"UnableToAddANewNotificationPleaseTryAgain": "Imposibil de adăugat o nouă notificare, încercați din nou.",
"UnableToLoadBackups": "Imposibil de încărcat copiile de rezervă",
"UnableToLoadDownloadClients": "Nu se pot încărca clienții de descărcare",
"DownloadClientsLoadError": "Nu se pot încărca clienții de descărcare",
"URLBase": "Baza URL",
"UrlBaseHelpText": "Pentru suport proxy invers, implicit este gol",
"Usenet": "Usenet",
@@ -228,7 +228,7 @@
"ChangeHasNotBeenSavedYet": "Modificarea nu a fost încă salvată",
"CloneProfile": "Clonați profil",
"NoLeaveIt": "Nu, lasă-l",
"DBMigration": "Migrarea BD",
"DatabaseMigration": "Migrarea BD",
"DeleteBackupMessageText": "Sigur doriți să ștergeți copia de siguranță „{0}”?",
"DeleteTagMessageText": "Sigur doriți să ștergeți eticheta '{label}'?",
"EnableInteractiveSearch": "Activați căutarea interactivă",

View File

@@ -24,7 +24,7 @@
"NoLinks": "Нет ссылок",
"Refresh": "Обновить",
"RefreshMovie": "Обновить фильм",
"RSS": "RSS",
"Rss": "RSS",
"SendAnonymousUsageData": "Отправить анонимные данные об использовании",
"UnableToLoadHistory": "Не удалось загрузить историю",
"MoreInfo": "Ещё инфо",
@@ -91,7 +91,7 @@
"IndexerStatusCheckSingleClientMessage": "Индексаторы недоступны из-за ошибок: {0}",
"NoTagsHaveBeenAddedYet": "Теги еще не добавлены",
"UnableToLoadTags": "Невозможно загрузить теги",
"AnalyticsEnabledHelpText": "Отправлять в {appName} информацию о использовании и ошибках. Анонимная статистика включает в себя информацию о браузере, какие страницы загружены, сообщения об ошибках, а так же операционной системе. Мы используем эту информацию для выявления ошибок, а так же для разработки нового функционала.",
"AnalyticsEnabledHelpText": "Отправлять в {appName} анонимную информацию об использовании и ошибках. Анонимная статистика включает в себя информацию о браузере, какие страницы веб-интерфейса {appName} загружены, сообщения об ошибках, а также операционной системе. Мы используем эту информацию для выявления ошибок, а также для разработки нового функционала.",
"AuthenticationMethodHelpText": "Необходим логин и пароль для доступа в {appName}",
"BackupFolderHelpText": "Относительные пути будут в каталоге AppData {appName}",
"BeforeUpdate": "До обновления",
@@ -118,7 +118,7 @@
"CustomFilters": "Настраиваемые фильтры",
"Date": "Дата",
"Dates": "Даты",
"DBMigration": "Перенос БД",
"DatabaseMigration": "Перенос БД",
"DeleteNotification": "Удалить уведомление",
"DeleteNotificationMessageText": "Вы уверены, что хотите удалить уведомление '{name}'?",
"DeleteTag": "Удалить тэг",
@@ -199,7 +199,7 @@
"RestoreBackup": "Восстановить из резервной копии",
"Result": "Результат",
"Retention": "Удержание",
"RSSIsNotSupportedWithThisIndexer": "RSS не поддерживается этим индексатором",
"RssIsNotSupportedWithThisIndexer": "RSS не поддерживается этим индексатором",
"Save": "Сохранить",
"SaveChanges": "Сохранить изменения",
"SaveSettings": "Сохранить настройки",
@@ -256,7 +256,7 @@
"UnableToAddANewIndexerProxyPleaseTryAgain": "Не удалось добавить новый индексатор, повторите попытку.",
"UnableToAddANewNotificationPleaseTryAgain": "Невозможно добавить новое уведомление, попробуйте еще раз.",
"UnableToLoadBackups": "Невозможно загрузить резервные копии",
"UnableToLoadDownloadClients": "Невозможно загрузить загрузчики",
"DownloadClientsLoadError": "Невозможно загрузить загрузчики",
"UnableToLoadGeneralSettings": "Невозможно загрузить общие настройки",
"UnableToLoadNotifications": "Невозможно загрузить уведомления",
"UnableToLoadUISettings": "Не удалось загрузить настройки пользовательского интерфейса",
@@ -298,7 +298,7 @@
"Age": "Возраст",
"All": "Все",
"AllIndexersHiddenDueToFilter": "Все фильмы спрятаны в соответствии с фильтром.",
"AppDataDirectory": "AppData директория",
"AppDataDirectory": "Директория AppData",
"Reddit": "Reddit",
"System": "Система",
"TableOptions": "Опции таблицы",
@@ -420,5 +420,8 @@
"AuthenticationRequiredPasswordHelpTextWarning": "Введите новый пароль",
"AuthenticationRequiredUsernameHelpTextWarning": "Введите новое имя пользователя",
"RestartProwlarr": "Перезапустить {appName}",
"AuthenticationRequiredWarning": "Чтобы предотвратить удаленный доступ без авторизации, {appName} теперь требует, чтобы авторизация была включена. При желании вы можете отключить авторизацию с локальных адресов."
"AuthenticationRequiredWarning": "Чтобы предотвратить удаленный доступ без авторизации, {appName} теперь требует, чтобы авторизация была включена. При желании вы можете отключить авторизацию с локальных адресов.",
"Id": "ID",
"ManageClients": "Управление клиентами",
"CountApplicationsSelected": "{count} коллекция(ий) выбрано"
}

View File

@@ -100,7 +100,7 @@
"Indexer": "Indexer",
"New": "Nový",
"Queued": "Fronta",
"RSS": "RSS",
"Rss": "RSS",
"Remove": "Odstrániť",
"Replace": "Nahradiť",
"ApplicationURL": "URL aplikácie",
@@ -117,5 +117,7 @@
"AuthBasic": "Základné (vyskakovacie okno prehliadača)",
"AuthForm": "Formuláre (prihlasovacia stránka)",
"DisabledForLocalAddresses": "Zakázané pre miestne adresy",
"ResetAPIKeyMessageText": "Naozaj chcete obnoviť kľúč API?"
"ResetAPIKeyMessageText": "Naozaj chcete obnoviť kľúč API?",
"CountApplicationsSelected": "{count} Označených kolekcií",
"Id": "ID"
}

View File

@@ -126,7 +126,7 @@
"RefreshMovie": "Uppdatera filmen",
"RemoveFilter": "Ta bort filter",
"ResetAPIKey": "Återställa API-nyckel",
"RSS": "RSS",
"Rss": "RSS",
"SettingsEnableColorImpairedMode": "Aktivera färgskadat läge",
"ClientPriority": "Klient prioritet",
"SettingsTimeFormat": "Tidsformat",
@@ -155,7 +155,7 @@
"Result": "Resultat",
"Retention": "Bibehållande",
"CertificateValidation": "Validering av Certifikat",
"RSSIsNotSupportedWithThisIndexer": "RSS stöds inte av denna indexerare",
"RssIsNotSupportedWithThisIndexer": "RSS stöds inte av denna indexerare",
"SaveSettings": "Spara inställningar",
"ScriptPath": "Skriptsökväg",
"CouldNotConnectSignalR": "Kunde inte ansluta till SignalR, UI uppdateras inte",
@@ -169,7 +169,7 @@
"BindAddress": "Bindningsadress",
"Branch": "Gren",
"CloseCurrentModal": "Stäng nuvarande modal",
"DBMigration": "DB Migration",
"DatabaseMigration": "DB Migration",
"DeleteApplicationMessageText": "Är du säker på att du vill radera aviseringen '{0}'?",
"Discord": "Discord",
"Donations": "Donationer",
@@ -308,7 +308,7 @@
"ApplicationStatusCheckAllClientMessage": "Samtliga listor otillgängliga på grund av fel",
"LogLevel": "Loggnivå",
"NoLogFiles": "Inga loggfiler",
"UnableToLoadDownloadClients": "Det gick inte att ladda nedladdningsklienter",
"DownloadClientsLoadError": "Det gick inte att ladda nedladdningsklienter",
"UpdateMechanismHelpText": "Använd {appName}s inbyggda uppdaterare eller ett skript",
"AddDownloadClientToProwlarr": "Lägg till en nedladdningsklient tillåter {appName} att sända nyutgåvor direkt från UI:t samtidigt som en manuell sökning genomförs.",
"UnableToLoadIndexerProxies": "Kunde inte ladda Indexer Proxies",

View File

@@ -58,7 +58,7 @@
"UILanguageHelpTextWarning": "จำเป็นต้องโหลดเบราว์เซอร์ใหม่",
"UnableToAddANewIndexerPleaseTryAgain": "ไม่สามารถเพิ่มตัวสร้างดัชนีใหม่ได้โปรดลองอีกครั้ง",
"UnableToAddANewIndexerProxyPleaseTryAgain": "ไม่สามารถเพิ่มตัวสร้างดัชนีใหม่ได้โปรดลองอีกครั้ง",
"UnableToLoadDownloadClients": "ไม่สามารถโหลดไคลเอนต์ดาวน์โหลด",
"DownloadClientsLoadError": "ไม่สามารถโหลดไคลเอนต์ดาวน์โหลด",
"UpdateCheckUINotWritableMessage": "ไม่สามารถติดตั้งการอัปเดตเนื่องจากโฟลเดอร์ UI \"{0}\" ไม่สามารถเขียนได้โดยผู้ใช้ \"{1}\"",
"Updates": "อัปเดต",
"UpdateScriptPathHelpText": "พา ธ ไปยังสคริปต์แบบกำหนดเองที่ใช้แพ็กเกจโปรแกรมปรับปรุงที่แยกออกมาและจัดการส่วนที่เหลือของกระบวนการอัพเดต",
@@ -139,7 +139,7 @@
"CustomFilters": "ตัวกรองที่กำหนดเอง",
"Date": "วันที่",
"Dates": "วันที่",
"DBMigration": "การย้ายฐานข้อมูล",
"DatabaseMigration": "การย้ายฐานข้อมูล",
"Delete": "ลบ",
"DeleteApplicationMessageText": "แน่ใจไหมว่าต้องการลบการแจ้งเตือน \"{0}\"",
"DeleteBackup": "ลบข้อมูลสำรอง",
@@ -199,7 +199,7 @@
"Restore": "คืนค่า",
"RestoreBackup": "คืนค่าการสำรองข้อมูล",
"Retention": "การเก็บรักษา",
"RSS": "RSS",
"Rss": "RSS",
"SendAnonymousUsageData": "ส่งข้อมูลการใช้งานแบบไม่ระบุตัวตน",
"SetTags": "ตั้งแท็ก",
"Settings": "การตั้งค่า",
@@ -274,7 +274,7 @@
"ResetAPIKey": "รีเซ็ตคีย์ API",
"RestartNow": "เริ่มต้นใหม่เดี๋ยวนี้",
"RestartRequiredHelpTextWarning": "ต้องรีสตาร์ทเพื่อให้มีผล",
"RSSIsNotSupportedWithThisIndexer": "RSS ไม่ได้รับการสนับสนุนกับตัวสร้างดัชนีนี้",
"RssIsNotSupportedWithThisIndexer": "RSS ไม่ได้รับการสนับสนุนกับตัวสร้างดัชนีนี้",
"Search": "ค้นหา",
"Security": "ความปลอดภัย",
"SSLCertPassword": "รหัสผ่านใบรับรอง SSL",

View File

@@ -21,7 +21,7 @@
"Files": "Dosyalar",
"Filename": "Dosya adı",
"AppDataLocationHealthCheckMessage": "Güncellemede AppData'nın silinmesini önlemek için güncelleme mümkün olmayacak",
"Actions": "Etkiler",
"Actions": "Eylemler",
"About": "Hakkında",
"View": "Görünüm",
"Updates": "Güncellemeler",
@@ -93,7 +93,7 @@
"Port": "Liman",
"PortNumber": "Port numarası",
"RestoreBackup": "Yedeği Geri Yükle",
"RSS": "RSS",
"Rss": "RSS",
"Save": "Kayıt etmek",
"SaveSettings": "Ayarları kaydet",
"ScriptPath": "Komut Dosyası Yolu",
@@ -106,7 +106,7 @@
"DeleteTag": "Etiketi Sil",
"BindAddressHelpText": "Tüm arayüzler için geçerli IP4 adresi veya '*'",
"ConnectSettings": "Bağlantı Ayarları",
"DBMigration": "DB Geçişi",
"DatabaseMigration": "DB Geçişi",
"DeleteApplicationMessageText": "'{0}' bildirimini silmek istediğinizden emin misiniz?",
"DeleteBackup": "Yedeklemeyi Sil",
"DeleteBackupMessageText": "'{0}' yedeğini silmek istediğinizden emin misiniz?",
@@ -145,7 +145,7 @@
"Close": "Kapat",
"ApplicationStatusCheckSingleClientMessage": "Hatalar nedeniyle kullanılamayan listeler: {0}",
"ApplyTags": "Etiketleri Uygula",
"RSSIsNotSupportedWithThisIndexer": "RSS, bu indeksleyici ile desteklenmiyor",
"RssIsNotSupportedWithThisIndexer": "RSS, bu indeksleyici ile desteklenmiyor",
"Interval": "Aralık",
"Logs": "Kütükler",
"Authentication": "Doğrulama",
@@ -301,7 +301,7 @@
"UpdateAutomaticallyHelpText": "Güncellemeleri otomatik olarak indirin ve yükleyin. Yine de Sistem'den yükleyebileceksiniz: Güncellemeler",
"UpdateMechanismHelpText": "{appName}'ın yerleşik güncelleyicisini veya bir komut dosyasını kullanın",
"ShowSearch": "Aramayı Göster",
"UnableToLoadDownloadClients": "İndirme istemcileri yüklenemiyor",
"DownloadClientsLoadError": "İndirme istemcileri yüklenemiyor",
"UnableToLoadGeneralSettings": "Genel ayarlar yüklenemiyor",
"Automatic": "Otomatik",
"AutomaticSearch": "Otomatik Arama",
@@ -362,12 +362,15 @@
"Episode": "bölüm",
"AddConnection": "Bağlantı Ekle",
"AddApplicationImplementation": "Koşul Ekle - {implementationName}",
"AddIndexerImplementation": "Koşul Ekle - {implementationName}",
"AddIndexerImplementation": "Yeni Dizin Ekle - {implementationName}",
"AddIndexerProxyImplementation": "Koşul Ekle - {implementationName}",
"EditConnectionImplementation": "Koşul Ekle - {implementationName}",
"AddConnectionImplementation": "Koşul Ekle - {implementationName}",
"RestartProwlarr": "{appName}'ı yeniden başlatın",
"EditApplicationImplementation": "Koşul Ekle - {implementationName}",
"EditIndexerImplementation": "Koşul Ekle - {implementationName}",
"EditIndexerProxyImplementation": "Koşul Ekle - {implementationName}"
"EditIndexerProxyImplementation": "Koşul Ekle - {implementationName}",
"AddCustomFilter": "Özel Filtre Ekleyin",
"AddDownloadClientImplementation": "İndirme İstemcisi Ekle - {implementationName}",
"EditDownloadClientImplementation": "İndirme İstemcisi Ekle - {implementationName}"
}

View File

@@ -1,7 +1,7 @@
{
"BranchUpdateMechanism": "Гілка, що використовується зовнішнім механізмом оновлення",
"CancelPendingTask": "Ви впевнені, що хочете скасувати це незавершене завдання?",
"About": "Деталі",
"About": "Про нас",
"AcceptConfirmationModal": "Вікно підтвердження",
"Actions": "Дії",
"Add": "Додати",
@@ -11,7 +11,7 @@
"Analytics": "Аналітика",
"ApiKey": "API Ключ",
"Added": "Додано",
"AddIndexer": "Додати індексатор",
"AddIndexer": "Додати Індексер",
"AddingTag": "Додавання тегу",
"AppDataDirectory": "Каталог AppData",
"AppDataLocationHealthCheckMessage": "Оновлення буде неможливим, щоб запобігти видаленню AppData під час оновлення",
@@ -29,7 +29,7 @@
"Database": "База даних",
"Date": "Дата",
"Dates": "Дати",
"DBMigration": "Міграція БД",
"DatabaseMigration": "Міграція БД",
"DeleteBackup": "Видалити резервну копію",
"DeleteBackupMessageText": "Ви впевнені, що хочете видалити резервну копію '{0}'?",
"DeleteDownloadClient": "Видалити клієнт завантаження",
@@ -72,7 +72,7 @@
"SSLCertPasswordHelpText": "Пароль для файлу pfx",
"TestAll": "Перевірити все",
"Type": "Тип",
"UnableToLoadDownloadClients": "Не вдалося завантажити клієнти для завантаження",
"DownloadClientsLoadError": "Не вдалося завантажити клієнти для завантаження",
"UnableToLoadGeneralSettings": "Не вдалося завантажити загальні налаштування",
"UnableToLoadHistory": "Не вдалося завантажити історію",
"UnableToLoadIndexers": "Не вдалося завантажити індексатори",
@@ -161,7 +161,7 @@
"Reload": "Перезавантажити",
"RemovedFromTaskQueue": "Видалено з черги завдань",
"Restore": "Відновлення",
"RSSIsNotSupportedWithThisIndexer": "Цей індексатор не підтримує RSS",
"RssIsNotSupportedWithThisIndexer": "Цей індексатор не підтримує RSS",
"Save": "Зберегти",
"SaveChanges": "Зберегти зміни",
"SaveSettings": "Зберегти зміни",
@@ -297,7 +297,7 @@
"SSLCertPath": "Шлях сертифіката SSL",
"UI": "Інтерфейс користувача",
"Reddit": "Reddit",
"RSS": "RSS",
"Rss": "RSS",
"Seeders": "Сиди",
"Wiki": "Wiki",
"Grabbed": "Захоплений",
@@ -309,7 +309,7 @@
"MaintenanceRelease": "Випуск для обслуговування: виправлення помилок та інші покращення. Щоб отримати докладнішу інформацію, перегляньте історію фіксації Github",
"ThemeHelpText": "Змініть тему інтерфейсу додатка, тема «Авто» використовуватиме вашу тему ОС, щоб установити світлий або темний режим. Натхненний Theme.Park",
"UILanguageHelpText": "Мова, яку {appName} використовуватиме для інтерфейсу користувача",
"UpdateMechanismHelpText": "Використовуйте вбудований засіб оновлення {appName} або скрипт",
"UpdateMechanismHelpText": "Використайте вбудоване оновлення {appName}'у або скрипт",
"ApplicationStatusCheckSingleClientMessage": "Списки недоступні через помилки: {0}",
"ApplicationStatusCheckAllClientMessage": "Усі списки недоступні через помилки",
"LaunchBrowserHelpText": " Відкрийте веб-браузер і перейдіть на домашню сторінку {appName} під час запуску програми.",
@@ -368,13 +368,21 @@
"DisabledForLocalAddresses": "Відключено для локальних адрес",
"None": "Жодного",
"ResetAPIKeyMessageText": "Ви впевнені, що хочете скинути свій ключ API?",
"AddConnection": "Редагувати колекцію",
"AddConnection": "Додати Підключення",
"RestartProwlarr": "Перезавантажити {appName}",
"EditApplicationImplementation": "Додати умому",
"EditConnectionImplementation": "Додати умому",
"EditIndexerImplementation": "Додати умому",
"AddConnectionImplementation": "Додати умому",
"AddConnectionImplementation": "Додати Підключення - {implementationName}",
"AddApplicationImplementation": "Додати умому",
"AddIndexerImplementation": "Додати умому",
"AddIndexerProxyImplementation": "Додати умому"
"AddIndexerImplementation": "Додати індексер - {implementationName}",
"AddIndexerProxyImplementation": "Додати умому",
"EditIndexerProxyImplementation": "Додати умому",
"AddCustomFilter": "Додати власний фільтр",
"AddDownloadClientImplementation": "Додати клієнт завантаження - {implementationName}",
"Application": "Додатки",
"CountApplicationsSelected": "Вибрано колекцій: {0}",
"Applications": "Додатки",
"Categories": "Категорії",
"EditDownloadClientImplementation": "Додати клієнт завантаження - {implementationName}"
}

View File

@@ -6,7 +6,7 @@
"CustomFilters": "Bộ lọc tùy chỉnh",
"Date": "Ngày",
"Dates": "ngày",
"DBMigration": "Di chuyển DB",
"DatabaseMigration": "Di chuyển DB",
"NoBackupsAreAvailable": "Không có bản sao lưu nào",
"NoChanges": "Không thay đổi",
"NoLeaveIt": "Không để nó",
@@ -108,7 +108,7 @@
"RestoreBackup": "Khôi phục lại bản sao lưu",
"Result": "Kết quả",
"Retention": "Giữ lại",
"RSS": "RSS",
"Rss": "RSS",
"SendAnonymousUsageData": "Gửi dữ liệu sử dụng ẩn danh",
"Settings": "Cài đặt",
"SettingsEnableColorImpairedModeHelpText": "Đã thay đổi kiểu để cho phép người dùng khiếm thị phân biệt rõ hơn thông tin mã màu",
@@ -143,7 +143,7 @@
"BindAddress": "Địa chỉ ràng buộc",
"BranchUpdate": "Nhánh sử dụng để cập nhật {appName}",
"CloseCurrentModal": "Đóng phương thức hiện tại",
"RSSIsNotSupportedWithThisIndexer": "RSS không được hỗ trợ với trình chỉ mục này",
"RssIsNotSupportedWithThisIndexer": "RSS không được hỗ trợ với trình chỉ mục này",
"SettingsEnableColorImpairedMode": "Bật Chế độ Khuyết màu",
"AnalyticsEnabledHelpText": "Gửi thông tin sử dụng và lỗi ẩn danh đến máy chủ của {appName}. Điều này bao gồm thông tin về trình duyệt của bạn, trang WebUI của {appName} mà bạn sử dụng, báo cáo lỗi cũng như hệ điều hành và phiên bản thời gian chạy. Chúng tôi sẽ sử dụng thông tin này để ưu tiên các tính năng và sửa lỗi.",
"ApiKey": "Mã API",
@@ -215,7 +215,7 @@
"UnableToAddANewIndexerProxyPleaseTryAgain": "Không thể thêm trình chỉ mục mới, vui lòng thử lại.",
"UnableToAddANewNotificationPleaseTryAgain": "Không thể thêm thông báo mới, vui lòng thử lại.",
"UnableToLoadBackups": "Không thể tải các bản sao lưu",
"UnableToLoadDownloadClients": "Không thể tải ứng dụng khách tải xuống",
"DownloadClientsLoadError": "Không thể tải ứng dụng khách tải xuống",
"UnableToLoadGeneralSettings": "Không thể tải Cài đặt chung",
"UnableToLoadHistory": "Không thể tải lịch sử",
"UnableToLoadNotifications": "Không thể tải thông báo",

View File

@@ -92,7 +92,7 @@
"CouldNotConnectSignalR": "无法连接至SignalR不会升级UI",
"Custom": "自定义",
"CustomFilters": "自定义过滤器",
"DBMigration": "数据库迁移版本",
"DatabaseMigration": "数据库迁移版本",
"Database": "数据库",
"Date": "日期",
"Dates": "日期",
@@ -321,8 +321,8 @@
"QueryResults": "查询结果",
"Queue": "队列",
"Queued": "队列中",
"RSS": "RSS",
"RSSIsNotSupportedWithThisIndexer": "该搜刮器不支持RSS",
"Rss": "RSS",
"RssIsNotSupportedWithThisIndexer": "该搜刮器不支持RSS",
"RawSearchSupported": "‎支持原始‎‎搜索‎",
"ReadTheWikiForMoreInformation": "查阅Wiki获得更多信息",
"Reddit": "Reddit",
@@ -451,10 +451,9 @@
"UnableToAddANewIndexerProxyPleaseTryAgain": "无法添加搜刮器,请稍后重试。",
"UnableToAddANewNotificationPleaseTryAgain": "无法添加新通知,请稍后重试。",
"UnableToLoadAppProfiles": "无法加载应用配置",
"UnableToLoadApplicationList": "123",
"UnableToLoadBackups": "无法加载备份",
"UnableToLoadDevelopmentSettings": "无法加载开发设置",
"UnableToLoadDownloadClients": "无法加载下载客户端",
"DownloadClientsLoadError": "无法加载下载客户端",
"UnableToLoadGeneralSettings": "无法加载通用设置",
"UnableToLoadHistory": "无法加载历史记录",
"UnableToLoadIndexerProxies": "无法加载索引器代理",
@@ -603,5 +602,7 @@
"InvalidUILanguage": "您的UI设置为无效语言请纠正并保存设置",
"NoIndexerCategories": "没有找到此索引器的分类",
"DownloadClientQbittorrentSettingsContentLayout": "内容布局",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "是否使用 qBittorrent 配置的内容布局使用种子的原始布局或始终创建子文件夹qBittorrent 4.3.2+"
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "是否使用 qBittorrent 配置的内容布局使用种子的原始布局或始终创建子文件夹qBittorrent 4.3.2+",
"DownloadClientAriaSettingsDirectoryHelpText": "可选的下载位置,留空使用 Aria2 默认位置",
"ManageClients": "管理客户端"
}

Some files were not shown because too many files have changed in this diff Show More