1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-03-22 17:04:39 -04:00

Compare commits

..

74 Commits

Author SHA1 Message Date
Weblate
f1513ca39e Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Andreu Punsola Soler <andreu4ps@gmail.com>
Co-authored-by: ArLab1 <arnaud.laberge@hotmail.com>
Co-authored-by: Ardenet <1213193613@qq.com>
Co-authored-by: Dani Talens <databio@gmail.com>
Co-authored-by: FASTAWFUL <laochuang666@gmail.com>
Co-authored-by: Federico <fede.ferri2001@gmail.com>
Co-authored-by: FunThomasSVK <t.kandrac19@gmail.com>
Co-authored-by: Gallyam Biktashev <gallyamb@gmail.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: HanaO00 <lwin24452@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: Jonas <Sjokoladeergodt@gmail.com>
Co-authored-by: Jurrendel van Delden <wieiscool@hotmail.com>
Co-authored-by: Klein Moretti <computerunitad@hotmail.fr>
Co-authored-by: Lars <lars.erik.heloe@gmail.com>
Co-authored-by: Lizandra Candido da Silva <lizandra.c.s@gmail.com>
Co-authored-by: Lorenz <github.hatred879@passmail.net>
Co-authored-by: Marco Ciotola <github@ciotola.dev>
Co-authored-by: Mateusz Lesiak <mateusz.lesiak01@gmail.com>
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com>
Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
Co-authored-by: Simeon-byte <saimjen.duglas@gmail.com>
Co-authored-by: Surfoo <surfooo@gmail.com>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Whoman <whoman0981@proton.me>
Co-authored-by: Yuval Yaron <yuvalyaron2011@gmail.com>
Co-authored-by: ctrl2027 <ctrl5862@gmail.com>
Co-authored-by: dq8dmjw9s2-coder <dq8dmjw9s2@privaterelay.appleid.com>
Co-authored-by: filiphavlin <filip@havlin.cz>
Co-authored-by: foXaCe <foxace66@gmail.com>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: jeff20001204 <jeff20001204@gmail.com>
Co-authored-by: lalafei524 <kaba0524@qq.com>
Co-authored-by: mugantronix <mugantronix@gmail.com>
Co-authored-by: ole brum <wb@rebnord.org>
Co-authored-by: qq734231785 <734231785@qq.com>
Co-authored-by: ugyes <ferenc.bodi@live.com>
Co-authored-by: wangtelong777 <wangtelong777@gmail.com>
Co-authored-by: xveral <xaviveral@hotmail.com>
Co-authored-by: 康小广 <kenkangxgwe@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ar/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/bg/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ca/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/da/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/de/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/el/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/fa/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/fi/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/he/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/hi/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/hr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/hu/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/id/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/is/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/it/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ja/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ko/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/lv/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/nb_NO/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ro/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/sk/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/sv/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/th/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/tr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/uk/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/vi/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_CN/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_Hans/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_TW/
Translation: Servarr/Radarr
2026-03-22 00:41:39 +01:00
Auggie
7062b3a178 Bump MailKit to 4.15.1
Closes #11399
2026-03-19 21:16:02 +01:00
Auggie
7885404c2c Bump ImageSharp to 3.1.12
Closes #11397
2026-03-19 21:16:02 +01:00
Bogdan
1ce3783566 Fixed: Parsing URLs on some systems due to Locale 2026-03-19 20:14:41 +01:00
Mark McDowall
1a2b90bf36 Improve HTTP file mappers
(cherry picked from commit f30207c3d130c1a37f29e214101c8ec9613d18ee)
2026-03-19 20:13:40 +01:00
RobinDadswell
89110c2cc8 version bump to 6.1.1 2025-12-29 16:32:16 +00:00
TRaSH
a126835028 New: Parse Group GiLG 2025-12-25 11:54:17 +00:00
Erik Frantz
4c00729183 Fix: (#11303) collection API error when using Movie CollectionThe (#11304)
Co-authored-by: Bogdan <mynameisbogdan@users.noreply.github.com>
2025-12-10 20:56:11 +01:00
Robin Dadswell
b59ff0a3b1 Skip proxy tests on MacOsX 2025-11-27 10:14:47 +00:00
plz12345
b9c2563c9b Chore: Remove Readarr donation logo 2025-11-27 09:00:49 +00:00
Stevie Robinson
949922b9a1 New: add TTL setting for pushover notifications
(cherry picked from commit 317cdf15582746bd4e713d6b99e17a21dcb8abeb)
2025-11-19 08:10:22 +01:00
Robin Dadswell
1b9662d588 chore: updated build images 2025-11-14 23:14:05 +00:00
Robin Dadswell
005c870f69 bump to 6.1.0 2025-11-14 23:04:59 +00:00
Mark McDowall
90cd8df1ae Add private IPv6 networks
(cherry picked from commit 52972e7efcce800560cbbaa64f5f76aaef6cbe77)
2025-11-09 10:20:36 +00:00
Mark McDowall
7d8444c435 Set known networks to RFC 1918 ranges during startup
(cherry picked from commit d10107739b9ed6a50165e5dd1dfae15c7e8aea56)
2025-10-30 09:37:21 -05:00
Polgonite
1883ae52ac Fixed: qBittorrent /login API success check 2025-10-29 17:59:53 -05:00
bakerboy448
47d4ebbeac Bump to 6.0.4 2025-10-26 12:55:36 -05:00
Bogdan
ef9836d71d Fixed: Movie status on Wanted pages
(cherry picked from commit c9c8d4ad400f9e7066063236da180cf85ff63031)
2025-10-25 12:51:40 -05:00
Bogdan
955ee2f29b Switch to FluentMigrator.Runner.Core to avoid extranous platform runners
(cherry picked from commit f93100d9fd1deb2982dbd154dd05032b17099774)
2025-10-25 12:51:40 -05:00
Bogdan
abf3fc4557 Remove redundant code in selecting with click on poster
(cherry picked from commit b116f63a1d95a23a6f3684e6b60ead60c2584f0f)
2025-10-25 12:51:40 -05:00
bakerboy448
1e72cc6b5a Bump to 6.0.3 2025-10-05 18:37:06 -05:00
Bogdan
24639a7016 Pin System.Drawing.Common to 8.0.20
(cherry picked from commit b9a79c4225b85230b4fdec702621c7b0f41c6ae1)
2025-10-05 18:36:38 -05:00
bakerboy448
e52547fa37 chore: sync CONTRIBUTING.md from Servarr/wiki (#11207)
[skip-ci]
2025-10-04 15:23:05 -05:00
bakerboy448
ff6a69701f Bump to 6.0.2 2025-09-28 21:57:01 -05:00
Collin Heist
f6afbfa684 Fixed: Prevent modals from overflowing screen width
(cherry picked from commit 6c581b7e3c5c74db350d7ba2aad04f2df77c7671)
2025-09-28 21:57:01 -05:00
Stevie Robinson
b1b33e0dbf New: Switch theme automatically on system change
(cherry picked from commit 4904e85887b8455483e509b83abaa2c6517d45a0)
2025-09-28 21:57:01 -05:00
Bogdan
cf465899b4 New: Retry SQLite writes for database is locked errors
(cherry picked from commit 2e1289b9248a70ce50bde52a66d3a589f3dcb8f5)
2025-09-28 21:57:01 -05:00
Mark McDowall
e63691935d Upgrade MonoTorrent to 3.0.2
(cherry picked from commit b0224c1c5cf00c8959c67d9e61f3e932800060c4)
2025-09-28 21:57:01 -05:00
Bogdan
1bae9499e4 Bump System.Data.SQLite to official 2.0.2
(cherry picked from commit 89ed33e1ac10a8b50082e47c604501a848ece3ea)
2025-09-28 21:57:01 -05:00
Bogdan
c991a8927d Bump FluentMigrator to official 6.2.0
(cherry picked from commit 82299cfc04732371e6709612cdb7d8d4eaf6ead3)
2025-09-28 21:57:01 -05:00
Bogdan
3c75250c08 Bump postcss to 8.5.6
(cherry picked from commit f84650b6c04f01fd498f50403c83a2103cb75140)
2025-09-28 21:57:01 -05:00
Bogdan
1e06fc5b43 Switch HttpProxySettingsProviderFixture to test cases
(cherry picked from commit 4e8fe6e81b1ac3f53135ad2e2b95d7aae811b87e)
2025-09-28 21:57:01 -05:00
Bogdan
52307038af Bump Moq to 4.18.4
(cherry picked from commit 90bb9b513cb1ac874bfa9a0a7b12b7fa7b8ede5a)
2025-09-28 21:57:01 -05:00
Bogdan
0297dba7f9 Attempt to remove pid file only if config folder exists
(cherry picked from commit df4a56662f6870a194179ffc29c98dc64af9e07c)
2025-09-28 21:57:01 -05:00
Bogdan
554a54b009 Improve error tracing in migrate app data folder
(cherry picked from commit 5ef6145db350df36507b3efaf1f8f412c1a13779)
2025-09-28 21:57:01 -05:00
nuxen
64b2a10b3f Fixed: RlsGrp parser exeption for 126811 2025-09-27 19:39:59 -05:00
Bogdan
97c226c23c Fix code coverage on CI
Signed-off-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
2025-09-26 12:40:19 -05:00
Bogdan
9959c658be Avoid rewriting file names in builds
Signed-off-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
2025-09-26 12:40:19 -05:00
Bogdan
eaeb668eb5 Bump coverlet.collector to official 6.0.4
Signed-off-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
2025-09-26 12:40:19 -05:00
bakerboy448
bb6713f1d2 Fixed: Improve IMDb list logging 2025-09-23 17:59:37 -05:00
bakerboy448
9906b95893 New: Prioritize Exact Exception Release Group Matches over non-Exact Exception Groups 2025-09-23 17:47:36 -05:00
bakerboy448
8c94581cb6 Fixed: Treat TAoE and QxR as release groups
(cherry picked from commit b00229e53c7a4bcb8684fd0aa4f66650c64a9a20)

Co-Authored-By: Mark McDowall <mark@mcdowall.ca>
2025-09-23 17:47:36 -05:00
bakerboy448
6bdbc9c600 align parsing with upstream
Separate release group parsing logic into dedicated classes and update references throughout codebase.

(cherry picked from commit b00229e53c7a4bcb8684fd0aa4f66650c64a9a20)

Co-Authored-By: Mark McDowall <mark@mcdowall.ca>
2025-09-23 17:47:36 -05:00
Erik Frantz
f28691e48d New: Add MovieCollectionThe Naming Token (#11145) 2025-09-23 16:39:25 -05:00
Weblate
e7bddaeedd Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Jeremi Florczyk <j.m.florczyk@gmail.com>
Co-authored-by: Storm <storm47rus@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ru/
Translation: Servarr/Radarr
2025-09-23 08:04:14 -05:00
bakerboy448
94ced8cff9 Bump to 6.0.1 2025-09-21 14:54:50 -05:00
bakerboy448
3429fe0696 Fixed: Fix Indexer Flag color
Co-authored-by: Bogdan <mynameisbogdan@users.noreply.github.com>
2025-09-14 15:34:38 -05:00
Weblate
100e121afc Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/tr/
Translation: Servarr/Radarr
2025-09-13 15:32:39 -05:00
Servarr
24be516fdb Automated API Docs update 2025-09-11 12:59:19 -05:00
bakerboy448
f49c35563d Fix syntax 2025-09-10 07:47:39 -05:00
Bogdan
6e23750705 Fix clearing pending changes for First Run
`TypeError: can't access property "section", a is undefined`
2025-09-10 07:28:03 -05:00
bogdan
30fc50e049 Bump MailKit and Microsoft.Data.SqlClient 2025-09-09 16:56:04 -05:00
Mark McDowall
8000abc2be Change authentication to Forms if set to Basic
(cherry picked from commit dfb6fdfbeb7ce85b287b41fed80f2511727353e5)
2025-09-09 16:56:04 -05:00
Bogdan
62a05e2765 Fixed: Validation for tags label 2025-09-09 16:56:04 -05:00
Bogdan
f04bff8e91 Fixed: Removed support for movie file tokens in Movie Folder Format 2025-09-09 16:56:04 -05:00
Bogdan
84593502a3 New: Validation for movie file tokens in Movie Folder Format 2025-09-09 16:56:04 -05:00
Mark McDowall
d478b404df New: Remove Basic Auth
(cherry picked from commit 0f9e063e2146812f6e963363eee70a524612f354)
2025-09-09 16:56:04 -05:00
bakerboy448
80a9fa68de New: Default wanted language for quality profiles changed to Original 2025-09-09 16:56:04 -05:00
Bogdan
8eb9fc71b8 Bump Swashbuckle to 8.1.4 2025-09-09 16:56:04 -05:00
Bogdan
6b1567ddae Bump version to 6.0.0 2025-09-09 16:56:04 -05:00
Bogdan
265e931451 New: Support removed for linux-x86 2025-09-09 16:56:04 -05:00
Bogdan
2a886fb26a New: Migrate appdata folder for .NET 8 on OSX 2025-09-09 16:56:04 -05:00
Bogdan
2235823af3 New: Bump to .NET 8
Co-authored-by: Qstick <qstick@gmail.com>
2025-09-09 16:56:04 -05:00
Weblate
f99162b8ee Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: BoreasMun <duchpl665@gmail.com>
Co-authored-by: Havok Dan <havokdan@yahoo.com.br>
Co-authored-by: MJ <likadion@gmail.com>
Co-authored-by: Pazuzu6666 <fukscam978@gmail.com>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fordas <fordas15@gmail.com>
Co-authored-by: myrad2267 <37258280+myrad2267@users.noreply.github.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/es/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/fr/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/nl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pl/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/pt_BR/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_CN/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_TW/
Translation: Servarr/Radarr
2025-09-09 16:55:49 -05:00
bakerboy448
a00ee08750 Bump to 5.28.1 2025-09-07 00:31:28 -05:00
Michon van Dooren
54cbbe05d9 New: (NFO Metadata) Include the TMDB Collection ID (#11164) 2025-09-06 05:58:07 -05:00
Mark McDowall
57f602eb02 New: Changing icon during import to blue 2025-09-03 17:02:22 -05:00
bakerboy448
e841c9b764 Bump to 5.28.0 2025-09-03 07:07:57 -05:00
bakerboy448
81bbaf8946 Fixed: Add missing translation keys 2025-09-01 11:29:59 -05:00
bakerboy448
8b4288fa18 New: UI Note that Filters are for movie properties only
Co-authored-by: PearsonFlyer <john@theediguy.com>

Closes #11200
2025-09-01 11:29:59 -05:00
Weblate
9aa3061e8e Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: Gallyam Biktashev <gallyamb@gmail.com>
Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Xoores <servarr-35466@xoores.cz>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/cs/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ru/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/tr/
Translation: Servarr/Radarr
2025-08-30 12:09:23 -05:00
Weblate
308c58f729 Multiple Translations updated by Weblate
ignore-downstream

Co-authored-by: ReDFiRe <wwsoft@abv.bg>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: rtme <pps.kmg@gmail.com>
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/bg/
Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ru/
Translation: Servarr/Radarr
2025-08-21 21:39:34 +01:00
grapexy
d38492188a New: Georgian language support (#11209) 2025-08-17 22:11:49 -05:00
bakerboy448
50e75e1362 Bump to 5.27.5 2025-08-17 14:44:46 -04:00
180 changed files with 6770 additions and 1636 deletions

View File

@@ -2,7 +2,7 @@
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet
{
"name": "Radarr",
"image": "mcr.microsoft.com/devcontainers/dotnet:1-6.0",
"image": "mcr.microsoft.com/devcontainers/dotnet:1-8.0",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"nodeGypDependencies": true,

2
.vscode/launch.json vendored
View File

@@ -10,7 +10,7 @@
"request": "launch",
"preLaunchTask": "build dotnet",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/_output/net6.0/Radarr",
"program": "${workspaceFolder}/_output/net8.0/Radarr",
"args": [],
"cwd": "${workspaceFolder}",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console

View File

@@ -1,13 +1,186 @@
# How to Contribute
We're always looking for people to help make Radarr even better, there are a number of ways to contribute.
This file has been moved to the wiki for the latest details please see the [contributing wiki page](https://wiki.servarr.com/radarr/contributing).
# Documentation
## Documentation
Setup guides, [FAQ](/radarr/faq), the more information we have on the [wiki](https://wiki.servarr.com/radarr) the better.
Setup guides, [FAQ](https://wiki.servarr.com/radarr/faq), the more information we have on the [wiki](https://wiki.servarr.com/radarr) the better.
# Development
## Development
Radarr is written in C# (backend) and JS (frontend). The backend is built on the .NET6 (and _soon_ .NET8) framework, while the frontend utilizes Reactjs.
See the [Wiki Page](https://wiki.servarr.com/radarr/contributing)
## Tools required
- Visual Studio 2022 or higher is recommended (<https://www.visualstudio.com/vs/>). The community version is free and works (<https://www.visualstudio.com/downloads/>).
> VS 2022 V17.0 or higher is recommended as it includes the .NET6 SDK
{.is-info}
- HTML/Javascript editor of choice (VS Code/Sublime Text/Webstorm/Atom/etc)
- [Git](https://git-scm.com/downloads)
- The [Node.js](https://nodejs.org/) runtime is required. The following versions are supported:
- **20** (any minor or patch version within this)
{.grid-list}
> The Application will **NOT** run on older versions such as `18.x`, `16.x` or any version below 20.0! Due to a dependency issue, it will also not run on `21.x` and is untested on other verisons.
{.is-warning}
- [Yarn](https://yarnpkg.com/getting-started/install) is required to build the frontend
- Yarn is included with **Node 20**+ by default. Enable it with `corepack enable`
- For other Node versions, install it with `npm i -g corepack`
## Getting started
1. Fork Radarr
1. Clone the repository into your development machine. [*info*](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
> Be sure to run lint `yarn lint --fix` on your code for any front end changes before committing.
For css changes `yarn stylelint-windows --fix` {.is-info}
### Building the frontend
- Navigate to the cloned directory
- Install the required Node Packages
```bash
yarn install
```
- Start webpack to monitor your development environment for any changes that need post processing using:
```bash
yarn start
```
### Building the Backend
The backend solution is most easily built and ran in Visual Studio or Rider, however if the only priority is working on the frontend UI it can be built easily from command line as well when the correct SDK is installed.
#### Visual Studio
> Ensure startup project is set to `Radarr.Console` and framework to `net6.0`
{.is-info}
1. First `Build` the solution in Visual Studio, this will ensure all projects are correctly built and dependencies restored
1. Next `Debug/Run` the project in Visual Studio to start Radarr
1. Open <http://localhost:7878>
#### Command line
1. Clean solution
```shell
dotnet clean src/Radarr.sln -c Debug
```
1. Restore and Build debug configuration for the correct platform (Posix or Windows)
```shell
dotnet msbuild -restore src/Radarr.sln -p:Configuration=Debug -p:Platform=Posix -t:PublishAllRids
```
1. Run the produced executable from `/_output`
## Contributing Code
- If you're adding a new, already requested feature, please comment on [GitHub Issues](https://github.com/Radarr/Radarr/issues) so work is not duplicated (If you want to add something not already on there, please talk to us first)
- Rebase from Radarr's develop branch, do not merge
- Make meaningful commits, or squash them
- Feel free to make a pull request before work is complete, this will let us see where its at and make comments/suggest improvements
- Reach out to us on the discord if you have any questions
- Add tests (unit/integration)
- Commit with \*nix line endings for consistency (We checkout Windows and commit \*nix)
- One feature/bug fix per pull request to keep things clean and easy to understand
- Use 4 spaces instead of tabs, this is the default for VS 2022 and WebStorm
## Pull Requesting
- Only make pull requests to `develop`, never `master`, if you make a PR to `master` we will comment on it and close it
- You're probably going to get some comments or questions from us, they will be to ensure consistency and maintainability
- We'll try to respond to pull requests as soon as possible, if its been a day or two, please reach out to us, we may have missed it
- Each PR should come from its own [feature branch](http://martinfowler.com/bliki/FeatureBranch.html) not develop in your fork, it should have a meaningful branch name (what is being added/fixed)
- `new-feature` (Good)
- `fix-bug` (Good)
- `patch` (Bad)
- `develop` (Bad)
- Commits should be wrote as `New:` or `Fixed:` for changes that would not be considered a `maintenance release`
## Unit Testing
Radarr utilizes nunit for its unit, integration, and automation test suite.
### Running Tests
Tests can be run easily from within VS using the included nunit3testadapter nuget package or from the command line using the included bash script `test.sh`.
From VS simply navigate to Test Explorer and run or debug the tests you'd like to examine.
Tests can be run all at once or one at a time in VS.
From command line the `test.sh` script accepts 3 parameters
```bash
test.sh <PLATFORM> <TYPE> <COVERAGE>
```
### Writing Tests
While not always fun, we encourage writing unit tests for any backend code changes. This will ensure the change is functioning as you intended and that future changes dont break the expected behavior.
> We currently require 80% coverage on new code when submitting a PR
{.is-info}
If you have any questions about any of this, please let us know.
# Translation
Radarr uses a self hosted open access [Weblate](https://translate.servarr.com) instance to manage its json translation files. These files are stored in the repo at `src/NzbDrone.Core/Localization`
## Contributing to an Existing Translation
Weblate handles synchronization and translation of strings for all languages other than English. Editing of translated strings and translating existing strings for supported languages should be performed there for the Radarr project.
The English translation, `en.json`, serves as the source for all other translations and is managed on GitHub repo.
## Adding a Language
Adding translations to Radarr requires two steps
- Adding the Language to weblate
- Adding the Language to Radarr codebase
## Adding Translation Strings in Code
The English translation, `src/NzbDrone.Core/Localization/en.json`, serves as the source for all other translations and is managed on GitHub repo. When adding a new string to either the UI or backend a key must also be added to `en.json` along with the default value in English. This key may then be consumed as follows:
> PRs for translation of log messages will not be accepted
{.is-warning}
### Backend Strings
Backend strings may be added utilizing the Localization Service `GetLocalizedString` method
```dotnet
private readonly ILocalizationService _localizationService;
public IndexerCheck(ILocalizationService localizationService)
{
_localizationService = localizationService;
}
var translated = _localizationService.GetLocalizedString("IndexerHealthCheckNoIndexers")
```
### Frontend Strings
New strings can be added to the frontend by importing the translate function and using a key specified from `en.json`
```js
import translate from 'Utilities/String/translate';
<div>
{translate('UnableToAddANewIndexerPleaseTryAgain')}
</div>
```

View File

@@ -9,18 +9,18 @@ variables:
testsFolder: './_tests'
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
majorVersion: '5.27.4'
majorVersion: '6.1.1'
minorVersion: $[counter('minorVersion', 2000)]
radarrVersion: '$(majorVersion).$(minorVersion)'
buildName: '$(Build.SourceBranchName).$(radarrVersion)'
sentryOrg: 'servarr'
sentryUrl: 'https://sentry.servarr.com'
dotnetVersion: '6.0.427'
dotnetVersion: '8.0.405'
nodeVersion: '20.X'
innoVersion: '6.2.2'
windowsImage: 'windows-2022'
linuxImage: 'ubuntu-22.04'
macImage: 'macOS-13'
windowsImage: 'windows-2025'
linuxImage: 'ubuntu-24.04'
macImage: 'macOS-15'
trigger:
branches:
@@ -106,7 +106,7 @@ stages:
echo "Extra platforms already enabled"
else
echo "Enabling extra platform support"
sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64;linux-x86/' $BUNDLEDVERSIONS
sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64/' "$BUNDLEDVERSIONS"
fi
displayName: Enable Extra Platform Support
- bash: ./build.sh --backend --enable-extra-platforms
@@ -122,27 +122,23 @@ stages:
artifact: '$(osName)Backend'
displayName: Publish Backend
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net6.0/win-x64/publish'
- publish: '$(testsFolder)/net8.0/win-x64/publish'
artifact: win-x64-tests
displayName: Publish win-x64 Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net6.0/linux-x64/publish'
- publish: '$(testsFolder)/net8.0/linux-x64/publish'
artifact: linux-x64-tests
displayName: Publish linux-x64 Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net6.0/linux-x86/publish'
artifact: linux-x86-tests
displayName: Publish linux-x86 Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net6.0/linux-musl-x64/publish'
- publish: '$(testsFolder)/net8.0/linux-musl-x64/publish'
artifact: linux-musl-x64-tests
displayName: Publish linux-musl-x64 Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net6.0/freebsd-x64/publish'
- publish: '$(testsFolder)/net8.0/freebsd-x64/publish'
artifact: freebsd-x64-tests
displayName: Publish freebsd-x64 Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net6.0/osx-x64/publish'
- publish: '$(testsFolder)/net8.0/osx-x64/publish'
artifact: osx-x64-tests
displayName: Publish osx-x64 Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
@@ -189,7 +185,7 @@ stages:
artifact: '$(osName)Frontend'
displayName: Publish Frontend
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- stage: Installer
dependsOn:
- Build_Backend
@@ -260,21 +256,21 @@ stages:
archiveFile: '$(Build.ArtifactStagingDirectory)/Radarr.$(buildName).windows-core-x64.zip'
archiveType: 'zip'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/win-x64/net6.0
rootFolderOrFile: $(artifactsFolder)/win-x64/net8.0
- task: ArchiveFiles@2
displayName: Create win-x86 zip
inputs:
archiveFile: '$(Build.ArtifactStagingDirectory)/Radarr.$(buildName).windows-core-x86.zip'
archiveType: 'zip'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/win-x86/net6.0
rootFolderOrFile: $(artifactsFolder)/win-x86/net8.0
- task: ArchiveFiles@2
displayName: Create osx-x64 app
inputs:
archiveFile: '$(Build.ArtifactStagingDirectory)/Radarr.$(buildName).osx-app-core-x64.zip'
archiveType: 'zip'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/osx-x64-app/net6.0
rootFolderOrFile: $(artifactsFolder)/osx-x64-app/net8.0
- task: ArchiveFiles@2
displayName: Create osx-x64 tar
inputs:
@@ -282,14 +278,14 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/osx-x64/net6.0
rootFolderOrFile: $(artifactsFolder)/osx-x64/net8.0
- task: ArchiveFiles@2
displayName: Create osx-arm64 app
inputs:
archiveFile: '$(Build.ArtifactStagingDirectory)/Radarr.$(buildName).osx-app-core-arm64.zip'
archiveType: 'zip'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/osx-arm64-app/net6.0
rootFolderOrFile: $(artifactsFolder)/osx-arm64-app/net8.0
- task: ArchiveFiles@2
displayName: Create osx-arm64 tar
inputs:
@@ -297,7 +293,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/osx-arm64/net6.0
rootFolderOrFile: $(artifactsFolder)/osx-arm64/net8.0
- task: ArchiveFiles@2
displayName: Create linux-x64 tar
inputs:
@@ -305,7 +301,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-x64/net6.0
rootFolderOrFile: $(artifactsFolder)/linux-x64/net8.0
- task: ArchiveFiles@2
displayName: Create linux-musl-x64 tar
inputs:
@@ -313,15 +309,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-musl-x64/net6.0
- task: ArchiveFiles@2
displayName: Create linux-x86 tar
inputs:
archiveFile: '$(Build.ArtifactStagingDirectory)/Radarr.$(buildName).linux-core-x86.tar.gz'
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-x86/net6.0
rootFolderOrFile: $(artifactsFolder)/linux-musl-x64/net8.0
- task: ArchiveFiles@2
displayName: Create linux-arm tar
inputs:
@@ -329,7 +317,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-arm/net6.0
rootFolderOrFile: $(artifactsFolder)/linux-arm/net8.0
- task: ArchiveFiles@2
displayName: Create linux-musl-arm tar
inputs:
@@ -337,7 +325,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-musl-arm/net6.0
rootFolderOrFile: $(artifactsFolder)/linux-musl-arm/net8.0
- task: ArchiveFiles@2
displayName: Create linux-arm64 tar
inputs:
@@ -345,7 +333,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-arm64/net6.0
rootFolderOrFile: $(artifactsFolder)/linux-arm64/net8.0
- task: ArchiveFiles@2
displayName: Create linux-musl-arm64 tar
inputs:
@@ -353,7 +341,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-musl-arm64/net6.0
rootFolderOrFile: $(artifactsFolder)/linux-musl-arm64/net8.0
- task: ArchiveFiles@2
displayName: Create freebsd-x64 tar
inputs:
@@ -361,7 +349,7 @@ stages:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/freebsd-x64/net6.0
rootFolderOrFile: $(artifactsFolder)/freebsd-x64/net8.0
- publish: $(Build.ArtifactStagingDirectory)
artifact: 'Packages'
displayName: Publish Packages
@@ -392,7 +380,7 @@ stages:
SENTRY_AUTH_TOKEN: $(sentryAuthTokenServarr)
SENTRY_ORG: $(sentryOrg)
SENTRY_URL: $(sentryUrl)
- stage: Unit_Test
displayName: Unit Tests
dependsOn: Build_Backend
@@ -493,29 +481,19 @@ stages:
testName: 'Musl Net Core'
artifactName: linux-musl-x64-tests
containerImage: ghcr.io/servarr/testimages:alpine
linux-x86:
testName: 'linux-x86'
artifactName: linux-x86-tests
containerImage: ghcr.io/servarr/testimages:linux-x86
pool:
vmImage: ${{ variables.linuxImage }}
container: $[ variables['containerImage'] ]
timeoutInMinutes: 10
steps:
- task: UseDotNet@2
displayName: 'Install .NET'
inputs:
version: $(dotnetVersion)
condition: and(succeeded(), ne(variables['testName'], 'linux-x86'))
- bash: |
SDKURL=$(curl -s https://api.github.com/repos/Servarr/dotnet-linux-x86/releases | jq -rc '.[].assets[].browser_download_url' | grep sdk-${DOTNETVERSION}.*gz$)
curl -fsSL $SDKURL | tar xzf - -C /opt/dotnet
displayName: 'Install .NET'
condition: and(succeeded(), eq(variables['testName'], 'linux-x86'))
- checkout: none
- task: DownloadPipelineArtifact@2
displayName: Download Test Artifact
@@ -559,7 +537,7 @@ stages:
vmImage: ${{ variables.linuxImage }}
timeoutInMinutes: 10
steps:
- task: UseDotNet@2
displayName: 'Install .net core'
@@ -611,12 +589,12 @@ stages:
Radarr__Postgres__Port: '5432'
Radarr__Postgres__User: 'radarr'
Radarr__Postgres__Password: 'radarr'
pool:
vmImage: ${{ variables.linuxImage }}
timeoutInMinutes: 10
steps:
- task: UseDotNet@2
displayName: 'Install .net core'
@@ -699,7 +677,7 @@ stages:
pool:
vmImage: $(imageName)
steps:
- task: UseDotNet@2
displayName: 'Install .net core'
@@ -721,7 +699,7 @@ stages:
targetPath: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
displayName: Extract Package
- bash: |
@@ -776,7 +754,7 @@ stages:
targetPath: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
displayName: Extract Package
- bash: |
@@ -840,7 +818,7 @@ stages:
targetPath: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
displayName: Extract Package
- bash: |
@@ -926,29 +904,18 @@ stages:
artifactName: linux-musl-x64-tests
containerImage: ghcr.io/servarr/testimages:alpine
pattern: 'Radarr.*.linux-musl-core-x64.tar.gz'
linux-x86:
testName: 'linux-x86'
artifactName: linux-x86-tests
containerImage: ghcr.io/servarr/testimages:linux-x86
pattern: 'Radarr.*.linux-core-x86.tar.gz'
pool:
vmImage: ${{ variables.linuxImage }}
container: $[ variables['containerImage'] ]
timeoutInMinutes: 15
steps:
- task: UseDotNet@2
displayName: 'Install .NET'
inputs:
version: $(dotnetVersion)
condition: and(succeeded(), ne(variables['testName'], 'linux-x86'))
- bash: |
SDKURL=$(curl -s https://api.github.com/repos/Servarr/dotnet-linux-x86/releases | jq -rc '.[].assets[].browser_download_url' | grep sdk-${DOTNETVERSION}.*gz$)
curl -fsSL $SDKURL | tar xzf - -C /opt/dotnet
displayName: 'Install .NET'
condition: and(succeeded(), eq(variables['testName'], 'linux-x86'))
- checkout: none
- task: DownloadPipelineArtifact@2
displayName: Download Test Artifact
@@ -965,7 +932,7 @@ stages:
targetPath: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
displayName: Extract Package
- bash: |
@@ -988,7 +955,7 @@ stages:
- stage: Automation
displayName: Automation
dependsOn: Packages
jobs:
- job: Automation
strategy:
@@ -1014,7 +981,7 @@ stages:
pool:
vmImage: $(imageName)
steps:
- task: UseDotNet@2
displayName: 'Install .net core'
@@ -1036,7 +1003,7 @@ stages:
targetPath: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
displayName: Extract Package
- bash: |
@@ -1161,7 +1128,7 @@ stages:
- checkout: self
submodules: true
persistCredentials: true
fetchDepth: 1
fetchDepth: 1
- bash: ./docs.sh Windows
displayName: Create openapi.json
- bash: |
@@ -1227,22 +1194,23 @@ stages:
extraProperties: |
sonar.exclusions=**/obj/**,**/*.dll,**/NzbDrone.Core.Test/Files/**/*,./frontend/**,**/ExternalModules/**,./src/Libraries/**
sonar.coverage.exclusions=**/Radarr.Api.V3/**/*
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/CoverageResults/**/coverage.opencover.xml
sonar.cs.cobertura.reportsPaths=$(Build.SourcesDirectory)/CoverageResults/**/coverage.cobertura.xml
sonar.cs.nunit.reportsPaths=$(Build.SourcesDirectory)/TestResult.xml
- bash: |
./build.sh --backend -f net6.0 -r win-x64
TEST_DIR=_tests/net6.0/win-x64/publish/ ./test.sh Windows Unit Coverage
./build.sh --backend -f net8.0 -r win-x64
TEST_DIR=_tests/net8.0/win-x64/publish/ ./test.sh Windows Unit Coverage
displayName: Coverage Unit Tests
- task: SonarCloudAnalyze@3
condition: eq(variables['System.PullRequest.IsFork'], 'False')
displayName: Publish SonarCloud Results
- task: reportgenerator@5.3.11
- task: reportgenerator@5
displayName: Generate Coverage Report
inputs:
reports: '$(Build.SourcesDirectory)/CoverageResults/**/coverage.opencover.xml'
reports: '$(Build.SourcesDirectory)/CoverageResults/**/coverage.cobertura.xml'
targetdir: '$(Build.SourcesDirectory)/CoverageResults/combined'
reporttypes: 'HtmlInline_AzurePipelines;Cobertura;Badges'
publishCodeCoverageResults: true
sourcedirs: src
- stage: Report_Out
dependsOn:
@@ -1274,4 +1242,3 @@ stages:
DISCORDCHANNELID: $(discordChannelId)
DISCORDWEBHOOKKEY: $(discordWebhookKey)
DISCORDTHREADID: $(discordThreadId)

View File

@@ -33,14 +33,14 @@ EnableExtraPlatformsInSDK()
echo "Extra platforms already enabled"
else
echo "Enabling extra platform support"
sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64;linux-x86/' $BUNDLEDVERSIONS
sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64/' "$BUNDLEDVERSIONS"
fi
}
EnableExtraPlatforms()
{
if grep -qv freebsd-x64 src/Directory.Build.props; then
sed -i'' -e "s^<RuntimeIdentifiers>\(.*\)</RuntimeIdentifiers>^<RuntimeIdentifiers>\1;freebsd-x64;linux-x86</RuntimeIdentifiers>^g" src/Directory.Build.props
sed -i'' -e "s^<RuntimeIdentifiers>\(.*\)</RuntimeIdentifiers>^<RuntimeIdentifiers>\1;freebsd-x64</RuntimeIdentifiers>^g" src/Directory.Build.props
fi
}
@@ -79,9 +79,9 @@ Build()
if [[ -z "$RID" || -z "$FRAMEWORK" ]];
then
dotnet msbuild -restore $slnFile -p:Configuration=Release -p:Platform=$platform -t:PublishAllRids
dotnet msbuild -restore $slnFile -p:SelfContained=True -p:Configuration=Release -p:Platform=$platform -t:PublishAllRids
else
dotnet msbuild -restore $slnFile -p:Configuration=Release -p:Platform=$platform -p:RuntimeIdentifiers=$RID -t:PublishAllRids
dotnet msbuild -restore $slnFile -p:SelfContained=True -p:Configuration=Release -p:Platform=$platform -p:RuntimeIdentifiers=$RID -t:PublishAllRids
fi
ProgressEnd 'Build'
@@ -137,7 +137,7 @@ PackageLinux()
echo "Adding Radarr.Mono to UpdatePackage"
cp $folder/Radarr.Mono.* $folder/Radarr.Update
if [ "$framework" = "net6.0" ]; then
if [ "$framework" = "net8.0" ]; then
cp $folder/Mono.Posix.NETStandard.* $folder/Radarr.Update
cp $folder/libMonoPosixHelper.* $folder/Radarr.Update
fi
@@ -165,7 +165,7 @@ PackageMacOS()
echo "Adding Radarr.Mono to UpdatePackage"
cp $folder/Radarr.Mono.* $folder/Radarr.Update
if [ "$framework" = "net6.0" ]; then
if [ "$framework" = "net8.0" ]; then
cp $folder/Mono.Posix.NETStandard.* $folder/Radarr.Update
cp $folder/libMonoPosixHelper.* $folder/Radarr.Update
fi
@@ -377,15 +377,14 @@ then
Build
if [[ -z "$RID" || -z "$FRAMEWORK" ]];
then
PackageTests "net6.0" "win-x64"
PackageTests "net6.0" "win-x86"
PackageTests "net6.0" "linux-x64"
PackageTests "net6.0" "linux-musl-x64"
PackageTests "net6.0" "osx-x64"
PackageTests "net8.0" "win-x64"
PackageTests "net8.0" "win-x86"
PackageTests "net8.0" "linux-x64"
PackageTests "net8.0" "linux-musl-x64"
PackageTests "net8.0" "osx-x64"
if [ "$ENABLE_EXTRA_PLATFORMS" = "YES" ];
then
PackageTests "net6.0" "freebsd-x64"
PackageTests "net6.0" "linux-x86"
PackageTests "net8.0" "freebsd-x64"
fi
else
PackageTests "$FRAMEWORK" "$RID"
@@ -413,20 +412,19 @@ then
if [[ -z "$RID" || -z "$FRAMEWORK" ]];
then
Package "net6.0" "win-x64"
Package "net6.0" "win-x86"
Package "net6.0" "linux-x64"
Package "net6.0" "linux-musl-x64"
Package "net6.0" "linux-arm64"
Package "net6.0" "linux-musl-arm64"
Package "net6.0" "linux-arm"
Package "net6.0" "linux-musl-arm"
Package "net6.0" "osx-x64"
Package "net6.0" "osx-arm64"
Package "net8.0" "win-x64"
Package "net8.0" "win-x86"
Package "net8.0" "linux-x64"
Package "net8.0" "linux-musl-x64"
Package "net8.0" "linux-arm64"
Package "net8.0" "linux-musl-arm64"
Package "net8.0" "linux-arm"
Package "net8.0" "linux-musl-arm"
Package "net8.0" "osx-x64"
Package "net8.0" "osx-arm64"
if [ "$ENABLE_EXTRA_PLATFORMS" = "YES" ];
then
Package "net6.0" "freebsd-x64"
Package "net6.0" "linux-x86"
Package "net8.0" "freebsd-x64"
fi
else
Package "$FRAMEWORK" "$RID"
@@ -436,7 +434,7 @@ fi
if [ "$INSTALLER" = "YES" ];
then
InstallInno
BuildInstaller "net6.0" "win-x64"
BuildInstaller "net6.0" "win-x86"
BuildInstaller "net8.0" "win-x64"
BuildInstaller "net8.0" "win-x86"
RemoveInno
fi

View File

@@ -1,7 +1,7 @@
#!/bin/bash
set -e
FRAMEWORK="net6.0"
FRAMEWORK="net8.0"
PLATFORM=$1
ARCHITECTURE="${2:-x64}"
@@ -38,7 +38,7 @@ dotnet clean $slnFile -c Release
dotnet msbuild -restore $slnFile -p:Configuration=Debug -p:Platform=$platform -p:RuntimeIdentifiers=$RUNTIME -t:PublishAllRids
dotnet new tool-manifest
dotnet tool install --version 6.6.2 Swashbuckle.AspNetCore.Cli
dotnet tool install --version 8.1.4 Swashbuckle.AspNetCore.Cli
dotnet tool run swagger tofile --output ./src/Radarr.Api.V3/openapi.json "$outputFolder/$FRAMEWORK/$RUNTIME/$application" v3 &

View File

@@ -26,7 +26,7 @@ function BlocklistDetailsModal(props: BlocklistDetailsModalProps) {
return (
<Modal isOpen={isOpen} onModalClose={onModalClose}>
<ModalContent onModalClose={onModalClose}>
<ModalHeader>Details</ModalHeader>
<ModalHeader>{translate('Details')}</ModalHeader>
<ModalBody>
<DescriptionList>

View File

@@ -304,7 +304,7 @@ function Queue() {
<PageToolbar>
<PageToolbarSection>
<PageToolbarButton
label="Refresh"
label={translate('Refresh')}
iconName={icons.REFRESH}
isSpinning={isRefreshing}
onPress={handleRefreshPress}

View File

@@ -90,7 +90,7 @@ function QueueStatus(props: QueueStatusProps) {
if (trackedDownloadState === 'importing') {
title += ` - ${translate('Importing')}`;
iconKind = kinds.PURPLE;
iconKind = kinds.PRIMARY;
}
if (trackedDownloadState === 'failedPending') {

View File

@@ -56,6 +56,8 @@ function CustomFiltersModalContent(props) {
{translate('AddCustomFilter')}
</Button>
</div>
<br />
{translate('FilterMoviePropertiesOnlyNotFileWarning')}
</ModalBody>
<ModalFooter>

View File

@@ -26,6 +26,10 @@
color: var(--warningColor);
}
.primary {
color: var(--primaryColor);
}
.purple {
color: var(--purple);
}

View File

@@ -6,6 +6,7 @@ interface CssExports {
'disabled': string;
'info': string;
'pink': string;
'primary': string;
'purple': string;
'success': string;
'warning': string;

View File

@@ -19,6 +19,7 @@
.modal {
position: relative;
display: flex;
max-width: 90%;
max-height: 90%;
border-radius: 6px;
opacity: 1;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -54,7 +54,7 @@ export default function AuthenticationRequiredModalContent() {
dispatch(fetchGeneralSettings());
return () => {
dispatch(clearPendingChanges());
dispatch(clearPendingChanges({ section: `settings.${SECTION}` }));
};
}, [dispatch]);

View File

@@ -0,0 +1,56 @@
import { useEffect, useState } from 'react';
import { useSelector } from 'react-redux';
import { createSelector } from 'reselect';
import AppState from 'App/State/AppState';
import themes from 'Styles/Themes';
function createThemeSelector() {
return createSelector(
(state: AppState) => state.settings.ui.item.theme || window.Radarr.theme,
(theme) => theme
);
}
const useTheme = () => {
const selectedTheme = useSelector(createThemeSelector());
const [resolvedTheme, setResolvedTheme] = useState(selectedTheme);
useEffect(() => {
if (selectedTheme !== 'auto') {
setResolvedTheme(selectedTheme);
return;
}
const applySystemTheme = () => {
setResolvedTheme(
window.matchMedia('(prefers-color-scheme: dark)').matches
? 'dark'
: 'light'
);
};
applySystemTheme();
window
.matchMedia('(prefers-color-scheme: dark)')
.addEventListener('change', applySystemTheme);
return () => {
window
.matchMedia('(prefers-color-scheme: dark)')
.removeEventListener('change', applySystemTheme);
};
}, [selectedTheme]);
return resolvedTheme;
};
export default useTheme;
export const useThemeColor = (color: string) => {
const theme = useTheme();
const themeVariables = themes[theme];
// @ts-expect-error - themeVariables is a string indexable type
return themeVariables[color];
};

View File

@@ -284,7 +284,7 @@ const MovieIndex = withScrollPosition((props: MovieIndexProps) => {
/>
<MovieIndexSelectAllButton
label="SelectAll"
label={translate('SelectAll')}
isSelectMode={isSelectMode}
overflowComponent={MovieIndexSelectAllMenuItem}
/>

View File

@@ -67,6 +67,7 @@ function MovieIndexOverview(props: MovieIndexOverviewProps) {
monitored,
status,
path,
titleSlug,
overview,
statistics = {} as Statistics,
images,
@@ -141,7 +142,9 @@ function MovieIndexOverview(props: MovieIndexOverviewProps) {
<div className={styles.content}>
<div className={styles.poster}>
<div className={styles.posterContainer}>
{isSelectMode ? <MovieIndexPosterSelect movieId={movieId} /> : null}
{isSelectMode ? (
<MovieIndexPosterSelect movieId={movieId} titleSlug={titleSlug} />
) : null}
{status === 'deleted' ? (
<div className={styles.deleted} title={translate('Deleted')} />

View File

@@ -1,6 +1,5 @@
import React, { SyntheticEvent, useCallback, useState } from 'react';
import React, { useCallback, useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { useSelect } from 'App/SelectContext';
import { MOVIE_SEARCH, REFRESH_MOVIE } from 'Commands/commandNames';
import Icon from 'Components/Icon';
import ImdbRating from 'Components/ImdbRating';
@@ -70,6 +69,7 @@ function MovieIndexPoster(props: MovieIndexPosterProps) {
monitored,
status,
images,
titleSlug,
tmdbId,
imdbId,
youTubeTrailerId,
@@ -142,30 +142,7 @@ function MovieIndexPoster(props: MovieIndexPosterProps) {
setIsDeleteMovieModalOpen(false);
}, [setIsDeleteMovieModalOpen]);
const [selectState, selectDispatch] = useSelect();
const onSelectPress = useCallback(
(event: SyntheticEvent<HTMLElement, MouseEvent>) => {
if (event.nativeEvent.ctrlKey || event.nativeEvent.metaKey) {
window.open(`/movie/${tmdbId}`, '_blank');
return;
}
const shiftKey = event.nativeEvent.shiftKey;
selectDispatch({
type: 'toggleSelected',
id: movieId,
isSelected: !selectState.selectedState[movieId],
shiftKey,
});
},
[movieId, selectState.selectedState, selectDispatch, tmdbId]
);
const link = `/movie/${tmdbId}`;
const linkProps = isSelectMode ? { onPress: onSelectPress } : { to: link };
const link = `/movie/${titleSlug}`;
const elementStyle = {
width: `${posterWidth}px`,
@@ -175,7 +152,9 @@ function MovieIndexPoster(props: MovieIndexPosterProps) {
return (
<div className={styles.content}>
<div className={styles.posterContainer} title={title}>
{isSelectMode ? <MovieIndexPosterSelect movieId={movieId} /> : null}
{isSelectMode ? (
<MovieIndexPosterSelect movieId={movieId} titleSlug={titleSlug} />
) : null}
<Label className={styles.controls}>
<SpinnerIconButton
@@ -220,7 +199,7 @@ function MovieIndexPoster(props: MovieIndexPosterProps) {
<div className={styles.deleted} title={translate('Deleted')} />
) : null}
<Link className={styles.link} style={elementStyle} {...linkProps}>
<Link className={styles.link} style={elementStyle} to={link}>
<MoviePoster
style={elementStyle}
images={images}

View File

@@ -3,8 +3,8 @@
top: 0;
left: 0;
z-index: 3;
width: 36px;
height: 36px;
width: 100%;
height: 100%;
}
.checkContainer {

View File

@@ -7,15 +7,23 @@ import styles from './MovieIndexPosterSelect.css';
interface MovieIndexPosterSelectProps {
movieId: number;
titleSlug: string;
}
function MovieIndexPosterSelect(props: MovieIndexPosterSelectProps) {
const { movieId } = props;
function MovieIndexPosterSelect({
movieId,
titleSlug,
}: MovieIndexPosterSelectProps) {
const [selectState, selectDispatch] = useSelect();
const isSelected = selectState.selectedState[movieId];
const onSelectPress = useCallback(
(event: SyntheticEvent<HTMLElement, PointerEvent>) => {
if (event.nativeEvent.ctrlKey || event.nativeEvent.metaKey) {
window.open(`${window.Radarr.urlBase}/movie/${titleSlug}`, '_blank');
return;
}
const shiftKey = event.nativeEvent.shiftKey;
selectDispatch({
@@ -25,7 +33,7 @@ function MovieIndexPosterSelect(props: MovieIndexPosterSelectProps) {
shiftKey,
});
},
[movieId, isSelected, selectDispatch]
[movieId, titleSlug, isSelected, selectDispatch]
);
return (

View File

@@ -161,7 +161,7 @@ class MovieFileEditorRow extends Component {
>
{indexerFlags ? (
<Popover
anchor={<Icon name={icons.FLAG} kind={kinds.PRIMARY} />}
anchor={<Icon name={icons.FLAG} />}
title={translate('IndexerFlags')}
body={<IndexerFlags indexerFlags={indexerFlags} />}
position={tooltipPositions.LEFT}

View File

@@ -30,7 +30,9 @@ export const authenticationMethodOptions = [
key: 'basic',
get value() {
return translate('AuthBasic');
}
},
isDisabled: true,
isHidden: true
},
{
key: 'forms',

View File

@@ -100,7 +100,7 @@ function ImportList({
<TagList tags={tags} tagList={tagList} />
<div className={styles.enabled}>
<Label kind={kinds.DEFAULT} title="List Refresh Interval">
<Label kind={kinds.DEFAULT} title={translate('ListRefreshInterval')}>
{`${translate('Refresh')}: ${formatShortTimeSpan(
minRefreshInterval
)}`}

View File

@@ -114,6 +114,16 @@ const movieTokens = [
example: 'The Movie Collection',
footNotes: '1',
},
{
token: '{Movie CollectionThe}',
example: "Movie's Collection, The",
footNotes: '1',
},
{
token: '{Movie CleanCollectionThe}',
example: 'Movies Collection, The',
footNotes: '1',
},
{ token: '{Movie Certification}', example: 'R' },
{ token: '{Release Year}', example: '2009' },
];

View File

@@ -23,14 +23,6 @@ function Donations() {
/>
</Link>
</div>
<div className={styles.logoContainer} title="Readarr">
<Link to="https://readarr.com/donate">
<img
className={styles.logo}
src={`${window.Radarr.urlBase}/Content/Images/Icons/logo-readarr.png`}
/>
</Link>
</div>
<div className={styles.logoContainer} title="Prowlarr">
<Link to="https://prowlarr.com/donate">
<img

View File

@@ -18,9 +18,19 @@ import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptions
import TablePager from 'Components/Table/TablePager';
import usePaging from 'Components/Table/usePaging';
import useCurrentPage from 'Helpers/Hooks/useCurrentPage';
import usePrevious from 'Helpers/Hooks/usePrevious';
import useSelectState from 'Helpers/Hooks/useSelectState';
import { align, icons, kinds } from 'Helpers/Props';
import Movie from 'Movie/Movie';
import { executeCommand } from 'Store/Actions/commandActions';
import {
clearMovieFiles,
fetchMovieFiles,
} from 'Store/Actions/movieFileActions';
import {
clearQueueDetails,
fetchQueueDetails,
} from 'Store/Actions/queueActions';
import {
batchToggleCutoffUnmetMovies,
clearCutoffUnmet,
@@ -35,6 +45,8 @@ import { CheckInputChanged } from 'typings/inputs';
import { SelectStateInputProps } from 'typings/props';
import { TableOptionsChangePayload } from 'typings/Table';
import getFilterValue from 'Utilities/Filter/getFilterValue';
import hasDifferentItems from 'Utilities/Object/hasDifferentItems';
import selectUniqueIds from 'Utilities/Object/selectUniqueIds';
import {
registerPagePopulator,
unregisterPagePopulator,
@@ -108,6 +120,8 @@ function CutoffUnmet() {
const isSearchingForMovies =
isSearchingForAllMovies || isSearchingForSelectedMovies;
const previousItems = usePrevious(items);
const handleSelectAllChange = useCallback(
({ value }: CheckInputChanged) => {
setSelectState({ type: value ? 'selectAll' : 'unselectAll', items });
@@ -204,6 +218,8 @@ function CutoffUnmet() {
return () => {
dispatch(clearCutoffUnmet());
dispatch(clearQueueDetails());
dispatch(clearMovieFiles());
};
}, [requestCurrentPage, dispatch]);
@@ -223,6 +239,21 @@ function CutoffUnmet() {
};
}, [dispatch]);
useEffect(() => {
if (!previousItems || hasDifferentItems(items, previousItems)) {
const movieIds = selectUniqueIds<Movie, number>(items, 'id');
const movieFileIds = selectUniqueIds<Movie, number>(items, 'movieFileId');
if (movieIds.length) {
dispatch(fetchQueueDetails({ movieIds }));
}
if (movieFileIds.length) {
dispatch(fetchMovieFiles({ movieFileIds }));
}
}
}, [items, previousItems, dispatch]);
return (
<PageContent title={translate('CutoffUnmet')}>
<PageToolbar>

View File

@@ -18,10 +18,16 @@ import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptions
import TablePager from 'Components/Table/TablePager';
import usePaging from 'Components/Table/usePaging';
import useCurrentPage from 'Helpers/Hooks/useCurrentPage';
import usePrevious from 'Helpers/Hooks/usePrevious';
import useSelectState from 'Helpers/Hooks/useSelectState';
import { align, icons, kinds } from 'Helpers/Props';
import InteractiveImportModal from 'InteractiveImport/InteractiveImportModal';
import Movie from 'Movie/Movie';
import { executeCommand } from 'Store/Actions/commandActions';
import {
clearQueueDetails,
fetchQueueDetails,
} from 'Store/Actions/queueActions';
import {
batchToggleMissingMovies,
clearMissing,
@@ -36,6 +42,8 @@ import { CheckInputChanged } from 'typings/inputs';
import { SelectStateInputProps } from 'typings/props';
import { TableOptionsChangePayload } from 'typings/Table';
import getFilterValue from 'Utilities/Filter/getFilterValue';
import hasDifferentItems from 'Utilities/Object/hasDifferentItems';
import selectUniqueIds from 'Utilities/Object/selectUniqueIds';
import {
registerPagePopulator,
unregisterPagePopulator,
@@ -112,6 +120,8 @@ function Missing() {
const isSearchingForMovies =
isSearchingForAllMovies || isSearchingForSelectedMovies;
const previousItems = usePrevious(items);
const handleSelectAllChange = useCallback(
({ value }: CheckInputChanged) => {
setSelectState({ type: value ? 'selectAll' : 'unselectAll', items });
@@ -216,6 +226,7 @@ function Missing() {
return () => {
dispatch(clearMissing());
dispatch(clearQueueDetails());
};
}, [requestCurrentPage, dispatch]);
@@ -235,6 +246,16 @@ function Missing() {
};
}, [dispatch]);
useEffect(() => {
if (!previousItems || hasDifferentItems(items, previousItems)) {
const movieIds = selectUniqueIds<Movie, number>(items, 'id');
if (movieIds.length) {
dispatch(fetchQueueDetails({ movieIds }));
}
}
}, [items, previousItems, dispatch]);
return (
<PageContent title={translate('Missing')}>
<PageToolbar>

5
global.json Normal file
View File

@@ -0,0 +1,5 @@
{
"sdk": {
"version": "8.0.405"
}
}

View File

@@ -29,7 +29,7 @@
"@fortawesome/free-solid-svg-icons": "6.7.2",
"@fortawesome/react-fontawesome": "0.2.2",
"@juggle/resize-observer": "3.4.0",
"@microsoft/signalr": "6.0.25",
"@microsoft/signalr": "8.0.7",
"@sentry/browser": "7.119.1",
"@sentry/integrations": "7.119.1",
"@tanstack/react-query": "5.74.3",
@@ -131,7 +131,7 @@
"html-webpack-plugin": "5.6.0",
"loader-utils": "^3.2.1",
"mini-css-extract-plugin": "2.9.1",
"postcss": "8.4.47",
"postcss": "8.5.6",
"postcss-color-function": "4.1.0",
"postcss-loader": "7.3.0",
"postcss-mixins": "9.0.4",

View File

@@ -84,7 +84,7 @@
<Deterministic Condition="$(AssemblyVersion.EndsWith('*'))">False</Deterministic>
<PathMap>$(MSBuildProjectDirectory)=./$(MSBuildProjectName)/</PathMap>
<PathMap>$(MSBuildThisFileDirectory)=./</PathMap>
</PropertyGroup>
<!-- Set the AssemblyConfiguration attribute for projects -->
@@ -99,13 +99,6 @@
<RootNamespace Condition="'$(RadarrProject)'=='true'">$(MSBuildProjectName.Replace('Radarr','NzbDrone'))</RootNamespace>
</PropertyGroup>
<ItemGroup Condition="'$(TestProject)'!='true'">
<!-- Annotates .NET assemblies with repository information including SHA -->
<!-- Sentry uses this to link directly to GitHub at the exact version/file/line -->
<!-- This is built-in on .NET 8 and can be removed once the project is updated -->
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
</ItemGroup>
<!-- Sentry specific configuration: Only in Release mode -->
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<!-- https://docs.sentry.io/platforms/dotnet/configuration/msbuild/ -->
@@ -130,14 +123,11 @@
<!-- Standard testing packages -->
<ItemGroup Condition="'$(TestProject)'=='true'">
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageReference Include="NUnit" Version="3.14.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageReference Include="NunitXml.TestLogger" Version="3.0.131" />
</ItemGroup>
<ItemGroup Condition="'$(TestProject)'=='true' and '$(TargetFramework)'=='net6.0'">
<PackageReference Include="coverlet.collector" Version="3.0.4-preview.27.ge7cb7c3b40" />
<PackageReference Include="NUnit3TestAdapter" Version="5.1.0" />
<PackageReference Include="NunitXml.TestLogger" Version="3.1.20" />
</ItemGroup>
<PropertyGroup Condition="'$(RadarrProject)'=='true' and '$(EnableAnalyzers)'=='false'">

View File

@@ -5,9 +5,6 @@
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="dotnet-bsd-crossbuild" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/dotnet-bsd-crossbuild/nuget/v3/index.json" />
<add key="Mono.Posix.NETStandard" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/Mono.Posix.NETStandard/nuget/v3/index.json" />
<add key="SQLite" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/SQLite/nuget/v3/index.json" />
<add key="coverlet-nightly" value="https://pkgs.dev.azure.com/Servarr/coverlet/_packaging/coverlet-nightly/nuget/v3/index.json" />
<add key="FFMpegCore" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/FFMpegCore/nuget/v3/index.json" />
<add key="FluentMigrator" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/FluentMigrator/nuget/v3/index.json" />
</packageSources>
</configuration>

View File

@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<TargetFrameworks>net8.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NBuilder" Version="6.1.0" />

View File

@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<TargetFrameworks>net8.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Selenium.Support" Version="3.141.0" />

View File

@@ -10,7 +10,7 @@ namespace NzbDrone.Common.Test.EnvironmentInfo
[Test]
public void should_return_version()
{
BuildInfo.Version.Major.Should().BeOneOf(5, 10);
BuildInfo.Version.Major.Should().BeOneOf(6, 10);
}
[Test]

View File

@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<TargetFrameworks>net8.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Host\Radarr.Host.csproj" />

View File

@@ -1,6 +1,5 @@
using System;
using System.IO;
using System.Runtime.Serialization;
namespace NzbDrone.Common.Disk
{
@@ -24,10 +23,5 @@ namespace NzbDrone.Common.Disk
: base(message, innerException)
{
}
protected DestinationAlreadyExistsException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
}
}
}

View File

@@ -75,6 +75,17 @@ namespace NzbDrone.Common.EnvironmentInfo
{
try
{
if (OsInfo.IsOsx)
{
var userAppDataFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile, Environment.SpecialFolderOption.DoNotVerify), ".config", "Radarr");
if (_diskProvider.FolderExists(userAppDataFolder) && !_diskProvider.FileExists(_appFolderInfo.GetConfigPath()))
{
_diskTransferService.MirrorFolder(userAppDataFolder, _appFolderInfo.AppDataFolder);
_diskProvider.DeleteFolder(userAppDataFolder, true);
}
}
var oldDbFile = Path.Combine(_appFolderInfo.AppDataFolder, "nzbdrone.db");
if (_startupContext.Args.ContainsKey(StartupContext.APPDATA))
@@ -111,7 +122,7 @@ namespace NzbDrone.Common.EnvironmentInfo
catch (Exception ex)
{
_logger.Debug(ex, ex.Message);
throw new RadarrStartupException("Unable to migrate DB from nzbdrone.db to {0}. Migrate manually", _appFolderInfo.GetDatabase());
throw new RadarrStartupException(ex, "Unable to migrate DB from nzbdrone.db to {0}. Migrate manually", _appFolderInfo.GetDatabase());
}
}
@@ -188,7 +199,7 @@ namespace NzbDrone.Common.EnvironmentInfo
private void RemovePidFile()
{
if (OsInfo.IsNotWindows)
if (OsInfo.IsNotWindows && _diskProvider.FolderExists(_appFolderInfo.AppDataFolder))
{
_diskProvider.DeleteFile(Path.Combine(_appFolderInfo.AppDataFolder, "radarr.pid"));
}

View File

@@ -6,13 +6,14 @@ using NzbDrone.Common.Extensions;
namespace NzbDrone.Common.Http
{
public class HttpUri : IEquatable<HttpUri>
public partial class HttpUri : IEquatable<HttpUri>
{
private static readonly Regex RegexUri = new Regex(@"^(?:(?<scheme>[a-z]+):)?(?://(?<host>[-_A-Z0-9.]+|\[[[A-F0-9:]+\])(?::(?<port>[0-9]{1,5}))?)?(?<path>(?:(?:(?<=^)|/+)[^/?#\r\n]+)+/*|/+)?(?:\?(?<query>[^#\r\n]*))?(?:\#(?<fragment>.*))?$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
private readonly string _uri;
public string FullUri => _uri;
[GeneratedRegex(@"^(?:(?<scheme>[a-z]+):)?(?://(?<host>[-_A-Z0-9.]+|\[[[A-F0-9:]+\])(?::(?<port>[0-9]{1,5}))?)?(?<path>(?:(?:(?<=^)|/+)[^/?#\r\n]+)+/*|/+)?(?:\?(?<query>[^#\r\n]*))?(?:\#(?<fragment>.*))?$", RegexOptions.IgnoreCase | RegexOptions.Compiled)]
private static partial Regex UriRegex();
public HttpUri(string uri)
{
_uri = uri ?? string.Empty;
@@ -70,9 +71,9 @@ namespace NzbDrone.Common.Http
private void Parse()
{
var parseSuccess = Uri.TryCreate(_uri, UriKind.RelativeOrAbsolute, out var uri);
var parseSuccess = Uri.TryCreate(_uri, UriKind.RelativeOrAbsolute, out _);
var match = RegexUri.Match(_uri);
var match = UriRegex().Match(_uri);
var scheme = match.Groups["scheme"];
var host = match.Groups["host"];

View File

@@ -1,28 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<TargetFrameworks>net8.0</TargetFrameworks>
<DefineConstants Condition="'$(RuntimeIdentifier)' == 'linux-musl-x64' or '$(RuntimeIdentifier)' == 'linux-musl-arm64'">ISMUSL</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
<PackageReference Include="IPAddressRange" Version="6.2.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.4.0" />
<PackageReference Include="NLog.Layouts.ClefJsonLayout" Version="1.0.3" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.4.0" />
<PackageReference Include="Npgsql" Version="7.0.10" />
<PackageReference Include="Npgsql" Version="9.0.3" />
<PackageReference Include="Sentry" Version="4.0.2" />
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
<PackageReference Include="SharpZipLib" Version="1.4.2" />
<PackageReference Include="System.Text.Json" Version="6.0.10" />
<PackageReference Include="SourceGear.sqlite3" Version="3.50.4.2" />
<PackageReference Include="System.Data.SQLite" Version="2.0.2" />
<PackageReference Include="System.Text.Json" Version="8.0.5" />
<PackageReference Include="System.ValueTuple" Version="4.6.1" />
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.1" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="6.0.1" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="8.0.1" />
</ItemGroup>
<ItemGroup>
<Compile Update="EnsureThat\Resources\ExceptionMessages.Designer.cs">

View File

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net6.0</TargetFrameworks>
<TargetFrameworks>net8.0</TargetFrameworks>
<ApplicationIcon>..\NzbDrone.Host\Radarr.ico</ApplicationIcon>
</PropertyGroup>

View File

@@ -9,7 +9,7 @@ using NzbDrone.Core.Test.Framework;
namespace NzbDrone.Core.Test.Datastore.Migration
{
[TestFixture]
public class collectionsFixture : MigrationTest<collections>
public class collectionsFixture : MigrationTest<add_collections>
{
[Test]
public void should_add_collection_from_movie_and_link_back_to_movie()

View File

@@ -8,6 +8,7 @@ using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.Http
{
[TestFixture]
[Platform(Exclude = "MacOsX")]
public class HttpProxySettingsProviderFixture : TestBase<HttpProxySettingsProvider>
{
private HttpProxySettings GetProxySettings()
@@ -15,24 +16,24 @@ namespace NzbDrone.Core.Test.Http
return new HttpProxySettings(ProxyType.Socks5, "localhost", 8080, "*.httpbin.org,google.com,172.16.0.0/12", true, null, null);
}
[Test]
public void should_bypass_proxy()
[TestCase("http://eu.httpbin.org/get")]
[TestCase("http://google.com/get")]
[TestCase("http://localhost:8654/get")]
[TestCase("http://172.21.0.1:8989/api/v3/indexer/schema")]
public void should_bypass_proxy(string url)
{
var settings = GetProxySettings();
Subject.ShouldProxyBeBypassed(settings, new HttpUri("http://eu.httpbin.org/get")).Should().BeTrue();
Subject.ShouldProxyBeBypassed(settings, new HttpUri("http://google.com/get")).Should().BeTrue();
Subject.ShouldProxyBeBypassed(settings, new HttpUri("http://localhost:8654/get")).Should().BeTrue();
Subject.ShouldProxyBeBypassed(settings, new HttpUri("http://172.21.0.1:8989/api/v3/indexer/schema")).Should().BeTrue();
Subject.ShouldProxyBeBypassed(settings, new HttpUri(url)).Should().BeTrue();
}
[Test]
public void should_not_bypass_proxy()
[TestCase("http://bing.com/get")]
[TestCase("http://172.3.0.1:8989/api/v3/indexer/schema")]
public void should_not_bypass_proxy(string url)
{
var settings = GetProxySettings();
Subject.ShouldProxyBeBypassed(settings, new HttpUri("http://bing.com/get")).Should().BeFalse();
Subject.ShouldProxyBeBypassed(settings, new HttpUri("http://172.3.0.1:8989/api/v3/indexer/schema")).Should().BeFalse();
Subject.ShouldProxyBeBypassed(settings, new HttpUri(url)).Should().BeFalse();
}
}
}

View File

@@ -68,7 +68,8 @@ namespace NzbDrone.Core.Test.Languages
new object[] { 53, Language.Tagalog },
new object[] { 54, Language.Urdu },
new object[] { 55, Language.Romansh },
new object[] { 56, Language.Mongolian }
new object[] { 56, Language.Mongolian },
new object[] { 57, Language.Georgian }
};
public static object[] ToIntCases =
@@ -131,7 +132,8 @@ namespace NzbDrone.Core.Test.Languages
new object[] { Language.Tagalog, 53 },
new object[] { Language.Urdu, 54 },
new object[] { Language.Romansh, 55 },
new object[] { Language.Mongolian, 56 }
new object[] { Language.Mongolian, 56 },
new object[] { Language.Georgian, 57 }
};
[Test]

View File

@@ -0,0 +1,91 @@
using System.Collections.Generic;
using System.Linq;
using FizzWare.NBuilder;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Core.CustomFormats;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Movies;
using NzbDrone.Core.Organizer;
using NzbDrone.Core.Qualities;
using NzbDrone.Core.Test.Framework;
namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
{
[TestFixture]
public class CleanCollectionTheFixture : CoreTest<FileNameBuilder>
{
private Movie _movie;
private MovieFile _movieFile;
private NamingConfig _namingConfig;
[SetUp]
public void Setup()
{
_movie = Builder<Movie>
.CreateNew()
.With(e => e.Title = "Movie Title")
.Build();
_movieFile = new MovieFile { Quality = new QualityModel(Quality.HDTV720p), ReleaseGroup = "RadarrTest" };
_namingConfig = NamingConfig.Default;
_namingConfig.RenameMovies = true;
Mocker.GetMock<INamingConfigService>()
.Setup(c => c.GetConfig()).Returns(_namingConfig);
Mocker.GetMock<IQualityDefinitionService>()
.Setup(v => v.Get(Moq.It.IsAny<Quality>()))
.Returns<Quality>(v => Quality.DefaultQualityDefinitions.First(c => c.Quality == v));
Mocker.GetMock<ICustomFormatService>()
.Setup(v => v.All())
.Returns(new List<CustomFormat>());
}
[TestCase("The Badger's Collection", "Badgers Collection, The")]
[TestCase("@ The Movies Collection", "@ The Movies Collection")] // This doesn't seem right; see: FileNameBuilder.ScenifyRemoveChars, looks like it has the "at sign" in the regex
[TestCase("A Stupid/Idiotic Collection", "Stupid Idiotic Collection, A")]
[TestCase("An Astounding & Amazing Collection", "Astounding and Amazing Collection, An")]
[TestCase("The Amazing Animal-Hero's Collection (2001)", "Amazing Animal-Heros Collection, The 2001")]
[TestCase("A Different Movië (AU)", "Different Movie, A AU")]
[TestCase("The Repairër (ZH) (2015)", "Repairer, The ZH 2015")]
[TestCase("The Eighth Sensë 2 (Thai)", "Eighth Sense 2, The Thai")]
[TestCase("The Astonishing Jæg (Latin America)", "Astonishing Jaeg, The Latin America")]
[TestCase("The Hampster Pack (B&F)", "Hampster Pack, The BandF")]
[TestCase("The Gásm: I (Almost) Got Away With It (1900)", "Gasm I Almost Got Away With It, The 1900")]
[TestCase(null, "")]
public void should_get_expected_title_back(string collection, string expected)
{
SetCollectionName(_movie, collection);
_namingConfig.StandardMovieFormat = "{Movie CleanCollectionThe}";
Subject.BuildFileName(_movie, _movieFile)
.Should().Be(expected);
}
[TestCase("A")]
[TestCase("Anne")]
[TestCase("Theodore")]
[TestCase("3%")]
public void should_not_change_title(string collection)
{
SetCollectionName(_movie, collection);
_namingConfig.StandardMovieFormat = "{Movie CleanCollectionThe}";
Subject.BuildFileName(_movie, _movieFile)
.Should().Be(collection);
}
private void SetCollectionName(Movie movie, string collectionName)
{
var metadata = new MovieMetadata()
{
CollectionTitle = collectionName,
};
movie.MovieMetadata = new Core.Datastore.LazyLoaded<MovieMetadata>(metadata);
movie.MovieMetadata.Value.CollectionTitle = collectionName;
}
}
}

View File

@@ -53,6 +53,7 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
[TestCase("The Amazing Race (Latin America)", "Amazing Race, The Latin America")]
[TestCase("The Rat Pack (A&E)", "Rat Pack, The AandE")]
[TestCase("The Climax: I (Almost) Got Away With It (2016)", "Climax I Almost Got Away With It, The 2016")]
[TestCase(null, "")]
public void should_get_expected_title_back(string title, string expected)
{
_movie.Title = title;

View File

@@ -0,0 +1,90 @@
using System.Collections.Generic;
using System.Linq;
using FizzWare.NBuilder;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Core.CustomFormats;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Movies;
using NzbDrone.Core.Organizer;
using NzbDrone.Core.Qualities;
using NzbDrone.Core.Test.Framework;
namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
{
[TestFixture]
public class CollectionTheFixture : CoreTest<FileNameBuilder>
{
private Movie _movie;
private MovieFile _movieFile;
private NamingConfig _namingConfig;
[SetUp]
public void Setup()
{
_movie = Builder<Movie>
.CreateNew()
.With(e => e.Title = "Movie Title")
.Build();
_movieFile = new MovieFile { Quality = new QualityModel(Quality.HDTV720p), ReleaseGroup = "RadarrTest" };
_namingConfig = NamingConfig.Default;
_namingConfig.RenameMovies = true;
Mocker.GetMock<INamingConfigService>()
.Setup(c => c.GetConfig()).Returns(_namingConfig);
Mocker.GetMock<IQualityDefinitionService>()
.Setup(v => v.Get(Moq.It.IsAny<Quality>()))
.Returns<Quality>(v => Quality.DefaultQualityDefinitions.First(c => c.Quality == v));
Mocker.GetMock<ICustomFormatService>()
.Setup(v => v.All())
.Returns(new List<CustomFormat>());
}
[TestCase("The Badger Collection", "Badger Collection, The")]
[TestCase("The Mover Collection", "Mover Collection, The")]
[TestCase("A Stupid Collection", "Stupid Collection, A")]
[TestCase("An Astounding Collection", "Astounding Collection, An")]
[TestCase("The Amazing Animal-Hero Collection (2001)", "Amazing Animal-Hero Collection, The (2001)")]
[TestCase("A Different Movie (AU)", "Different Movie, A (AU)")]
[TestCase("The Repairer (ZH) (2015)", "Repairer, The (ZH) (2015)")]
[TestCase("The Eighth Sense 2 (Thai)", "Eighth Sense 2, The (Thai)")]
[TestCase("The Astonishing Jog (Latin America)", "Astonishing Jog, The (Latin America)")]
[TestCase("The Hampster Pack (B&F)", "Hampster Pack, The (B&F)")]
[TestCase("The Gasm: I (Almost) Got Away With It (1900)", "Gasm - I (Almost) Got Away With It, The (1900)")]
public void should_get_expected_title_back(string collection, string expected)
{
SetCollectionName(_movie, collection);
_namingConfig.StandardMovieFormat = "{Movie CollectionThe}";
Subject.BuildFileName(_movie, _movieFile)
.Should().Be(expected);
}
[TestCase("A")]
[TestCase("Anne")]
[TestCase("Theodore")]
[TestCase("3%")]
public void should_not_change_title(string collection)
{
SetCollectionName(_movie, collection);
_namingConfig.StandardMovieFormat = "{Movie CollectionThe}";
Subject.BuildFileName(_movie, _movieFile)
.Should().Be(collection);
}
private void SetCollectionName(Movie movie, string collectionName)
{
var metadata = new MovieMetadata()
{
CollectionTitle = collectionName,
};
movie.MovieMetadata = new Core.Datastore.LazyLoaded<MovieMetadata>(metadata);
movie.MovieMetadata.Value.CollectionTitle = collectionName;
}
}
}

View File

@@ -407,6 +407,8 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
[TestCase("nor", "NO")]
[TestCase("khk", "MN")]
[TestCase("mvf", "MN")]
[TestCase("geo", "KA")]
[TestCase("kat", "KA")]
public void should_format_languagecodes_properly(string language, string code)
{
_namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.FULL}";

View File

@@ -1,3 +1,4 @@
using System.IO;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Core.Movies;
@@ -32,5 +33,30 @@ namespace NzbDrone.Core.Test.OrganizerTests
Subject.GetMovieFolder(movie).Should().Be(expected);
}
[TestCase("The Y-Women Collection", "The Y-Women 14", 2005, "{Movie CollectionThe}/{Movie TitleThe} ({Release Year})", "Y-Women Collection, The", "Y-Women 14, The (2005)")]
[TestCase("A Decade's Worth of Changes", "The First Year", 1980, "{Movie CleanCollectionThe}/{Movie TitleThe} ({Release Year})", "Decades Worth of Changes, A", "First Year, The (1980)")]
[TestCase(null, "Just a Movie", 1999, "{Movie Title} ({Release Year})", null, "Just a Movie (1999)")]
[TestCase(null, "Collectionless Slop", 1949, "{Movie CollectionThe}/{Movie TitleThe} ({Release Year})", null, "Collectionless Slop (1949)")]
public void should_use_movieFolderFormat_and_CollectionFormat_to_build_folder_name(string collectionTitle, string movieTitle, int year, string format, string expectedCollection, string expectedTitle)
{
_namingConfig.MovieFolderFormat = format;
var movie = new Movie
{
MovieMetadata = new MovieMetadata
{
CollectionTitle = collectionTitle,
Title = movieTitle,
Year = year,
},
};
var result = Subject.GetMovieFolder(movie);
var expected = !string.IsNullOrWhiteSpace(expectedCollection)
? Path.Combine(expectedCollection, expectedTitle)
: expectedTitle;
result.Should().Be(expected);
}
}
}

View File

@@ -119,5 +119,15 @@ namespace NzbDrone.Core.Test.ParserTests
var result = IsoLanguages.Find(isoCode);
result.Language.Should().Be(Language.Bengali);
}
[TestCase("ka")]
[TestCase("geo")]
[TestCase("kat")]
[TestCase("ka-GE")]
public void should_return_georgian(string isoCode)
{
var result = IsoLanguages.Find(isoCode);
result.Language.Should().Be(Language.Georgian);
}
}
}

View File

@@ -521,6 +521,16 @@ namespace NzbDrone.Core.Test.ParserTests
result.Should().Contain(Language.Mongolian);
}
[TestCase("Movie.Title.1994.Georgian.WEB-DL.h264")]
[TestCase("Movie.Title.2016.Geo.WEB-DL.h264")]
[TestCase("Movie.Title.2016.KA.WEB-DL.h264")]
[TestCase("Movie.Title.2016.RU-KA.WEB-DL.h264")]
public void should_parse_language_georgian(string postTitle)
{
var result = LanguageParser.ParseLanguages(postTitle);
result.Should().Contain(Language.Georgian);
}
[TestCase("Movie.Title.en.sub")]
[TestCase("Movie Title.eng.sub")]
[TestCase("Movie.Title.eng.forced.sub")]

View File

@@ -55,14 +55,14 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Title.2019.1080p.AMZN.WEB-Rip.DDP.5.1.HEVC", null)]
[TestCase("Movie Name (2017) [2160p REMUX] [HEVC DV HYBRID HDR10+ Dolby TrueHD Atmos 7 1 24-bit Audio English] [Data Lass]", null)]
[TestCase("Movie Name (2017) [2160p REMUX] [HEVC DV HYBRID HDR10+ Dolby TrueHD Atmos 7 1 24-bit Audio English]-DataLass", "DataLass")]
[TestCase("Movie Name (2017) (Showtime) (1080p.BD.DD5.1.x265-TheSickle[TAoE])", "TheSickle")]
[TestCase("Movie Name (2017) (Showtime) (1080p.BD.DD5.1.x265-TheSickle[TAoE])", "TAoE")]
public void should_parse_release_group(string title, string expected)
{
Parser.Parser.ParseReleaseGroup(title).Should().Be(expected);
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().Be(expected);
}
[TestCase("Movie Name (2020) [2160p x265 10bit S82 Joy]", "Joy")]
[TestCase("Movie Name (2003) (2160p BluRay X265 HEVC 10bit HDR AAC 7.1 Tigole) [QxR]", "Tigole")]
[TestCase("Movie Name (2003) (2160p BluRay X265 HEVC 10bit HDR AAC 7.1 Tigole) [QxR]", "QxR")]
[TestCase("Ode To Joy (2009) (2160p BluRay x265 10bit HDR Joy)", "Joy")]
[TestCase("Movie Name (2001) 1080p NF WEB-DL DDP2.0 x264-E.N.D", "E.N.D")]
[TestCase("Movie Name (2020) [1080p] [WEBRip] [5.1] [YTS.MX]", "YTS.MX")]
@@ -108,8 +108,11 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("A Movie in the Name (1964) (1080p BluRay x265 r00t)", "r00t")]
[TestCase("Movie Title (2022) (2160p ATV WEB-DL Hybrid H265 DV HDR DDP Atmos 5.1 English - HONE)", "HONE")]
[TestCase("Movie Title (2009) (2160p PMTP WEB-DL Hybrid H265 DV HDR10+ DDP Atmos 5.1 English - HONE)", "HONE")]
[TestCase("Movie Title (2022) (1080p PCOK WEB-DL H265 DV HDR DDP Atmos 5.1 English - GiLG)", "GiLG")]
[TestCase("Movie Title (2022) Extended (2160p PCOK WEB-DL H265 DV HDR DDP Atmos 5.1 English - GiLG)", "GiLG")]
[TestCase("Why.Cant.You.Use.Normal.Characters.2021.2160p.UHD.HDR10+.BluRay.TrueHD.Atmos.7.1.x265-ZØNEHD", "ZØNEHD")]
[TestCase("Movie.Should.Not.Use.Dots.2022.1080p.BluRay.x265.10bit.Tigole", "Tigole")]
[TestCase("Movie.Should.Not.Use.Dots.2022.1080p.BluRay.x265.10bit.Tigole)", "Tigole")]
[TestCase("Movie.Should.Not.Use.Dots.2022.1080p.BluRay.x265.10bit.Tigole", null)]
[TestCase("Movie.Title.2005.2160p.UHD.BluRay.TrueHD 7.1.Atmos.x265 - HQMUX", "HQMUX")]
[TestCase("Movie.Name.2022.1080p.BluRay.x264-VARYG (Blue Lock, Multi-Subs)", "VARYG")]
[TestCase("Movie Title (2023) (1080p BluRay x265 SDR AAC 2.0 English Vyndros)", "Vyndros")]
@@ -117,8 +120,8 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie Title (2011) [BluRay] [1080p] [YTS.MX] [YIFY]", "YIFY")]
[TestCase("Movie Title (2014) [BluRay] [1080p] [YIFY] [YTS]", "YTS")]
[TestCase("Movie Title (2018) [BluRay] [1080p] [YIFY] [YTS.LT]", "YTS.LT")]
[TestCase("Movie Title (2016) (1080p AMZN WEB-DL x265 HEVC 10bit EAC3 5 1 RZeroX) QxR", "RZeroX")]
[TestCase("Movie Title (2016) (1080p AMZN WEB-DL x265 HEVC 10bit EAC3 5 1 Garshasp) QxR", "Garshasp")]
[TestCase("Movie Title (2016) (1080p AMZN WEB-DL x265 HEVC 10bit EAC3 5 1 RZeroX) QxR", "QxR")]
[TestCase("Movie Title (2016) (1080p AMZN WEB-DL x265 HEVC 10bit EAC3 5 1 Garshasp) QxR", "QxR")]
[TestCase("Movie Title 2024 mUHD 10Bits DoVi HDR10 2160p BluRay DD 5 1 x265 - TMd", "TMd")]
[TestCase("Movie Title 2024 mUHD 10Bits DoVi HDR10 2160p BluRay DD 5 1 x265 TMd", "TMd")]
[TestCase("Movie Title (2024) 2160p WEB-DL ESP DD+ 5.1 ING DD+ 5.1 Atmos DV HDR H.265-Eml HDTeam", "Eml HDTeam")]
@@ -126,15 +129,16 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie Title (2022) BDFull 1080p DTS-HD MA 5.1 AVC LMain", "LMain")]
[TestCase("Movie Title (2024) (1080p BluRay x265 SDR DDP 5.1 English - DarQ)", "DarQ")]
[TestCase("Movie Title (2024) (1080p BluRay x265 SDR DDP 5.1 English -BEN THE MEN", "BEN THE MEN")]
[TestCase("Movie Title 2024 2160p WEB-DL DoVi HDR10+ H265 DDP 5.1 Atmos-126811", "126811")]
public void should_parse_exception_release_group(string title, string expected)
{
Parser.Parser.ParseReleaseGroup(title).Should().Be(expected);
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().Be(expected);
}
[TestCase(@"C:\Test\Doctor.Series.2005.s01e01.internal.bdrip.x264-archivist.mkv", "archivist")]
public void should_not_include_extension_in_release_group(string title, string expected)
{
Parser.Parser.ParseReleaseGroup(title).Should().Be(expected);
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().Be(expected);
}
[TestCase("Some.Movie.S02E04.720p.WEBRip.x264-SKGTV English", "SKGTV")]
@@ -143,7 +147,7 @@ namespace NzbDrone.Core.Test.ParserTests
public void should_not_include_language_in_release_group(string title, string expected)
{
Parser.Parser.ParseReleaseGroup(title).Should().Be(expected);
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().Be(expected);
}
[TestCase("Some.Movie.2019.1080p.BDRip.X264.AC3-EVO-RP", "EVO")]
@@ -173,7 +177,7 @@ namespace NzbDrone.Core.Test.ParserTests
public void should_not_include_bad_suffix_in_release_group(string title, string expected)
{
Parser.Parser.ParseReleaseGroup(title).Should().Be(expected);
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().Be(expected);
}
[TestCase("[FFF] Invaders of the Movies!! - S01E11 - Someday, With Movies", "FFF")]
@@ -184,13 +188,13 @@ namespace NzbDrone.Core.Test.ParserTests
public void should_parse_anime_release_groups(string title, string expected)
{
Parser.Parser.ParseReleaseGroup(title).Should().Be(expected);
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().Be(expected);
}
[TestCase("Terrible.Anime.Title.2020.DBOX.480p.x264-iKaos [v3] [6AFFEF6B]")]
public void should_not_parse_anime_hash_as_release_group(string title)
{
Parser.Parser.ParseReleaseGroup(title).Should().BeNull();
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().BeNull();
}
}
}

View File

@@ -38,7 +38,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie Title Future 2023 DVDRip XviD RUNNER[www.allstate.net]", null)]
public void should_not_parse_url_in_group(string title, string expected)
{
Parser.Parser.ParseReleaseGroup(title).Should().Be(expected);
Parser.ReleaseGroupParser.ParseReleaseGroup(title).Should().Be(expected);
}
}
}

View File

@@ -1,11 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<TargetFrameworks>net8.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="2.0.151" />
<PackageReference Include="Dapper" Version="2.1.66" />
<PackageReference Include="NBuilder" Version="6.1.0" />
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Test.Common\Radarr.Test.Common.csproj" />

View File

@@ -1,8 +1,11 @@
using System;
namespace NzbDrone.Core.Authentication
{
public enum AuthenticationType
{
None = 0,
[Obsolete("Use Forms authentication instead")]
Basic = 1,
Forms = 2,
External = 3

View File

@@ -206,13 +206,24 @@ namespace NzbDrone.Core.Configuration
if (enabled)
{
SetValue("AuthenticationMethod", AuthenticationType.Basic);
return AuthenticationType.Basic;
SetValue("AuthenticationMethod", AuthenticationType.Forms);
return AuthenticationType.Forms;
}
return Enum.TryParse<AuthenticationType>(_authOptions.Method, out var enumValue)
var value = Enum.TryParse<AuthenticationType>(_authOptions.Method, out var enumValue)
? enumValue
: GetValueEnum("AuthenticationMethod", AuthenticationType.None);
#pragma warning disable CS0618 // Type or member is obsolete
if (value == AuthenticationType.Basic)
#pragma warning restore CS0618 // Type or member is obsolete
{
SetValue("AuthenticationMethod", AuthenticationType.Forms);
return AuthenticationType.Forms;
}
return value;
}
}
@@ -386,6 +397,12 @@ namespace NzbDrone.Core.Configuration
{
SetValue("EnableSsl", false);
}
#pragma warning disable CS0618 // Type or member is obsolete
if (AuthenticationMethod == AuthenticationType.Basic)
#pragma warning restore CS0618 // Type or member is obsolete
{
SetValue("AuthenticationMethod", AuthenticationType.Forms);
}
}
private void DeleteOldValues()

View File

@@ -1,13 +1,18 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Text;
using Dapper;
using NLog;
using NzbDrone.Common.Instrumentation;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Messaging.Events;
using Polly;
using Polly.Retry;
namespace NzbDrone.Core.Datastore
{
@@ -40,12 +45,31 @@ namespace NzbDrone.Core.Datastore
public class BasicRepository<TModel> : IBasicRepository<TModel>
where TModel : ModelBase, new()
{
private static readonly ILogger Logger = NzbDroneLogger.GetLogger(typeof(BasicRepository<TModel>));
private readonly IEventAggregator _eventAggregator;
private readonly PropertyInfo _keyProperty;
private readonly List<PropertyInfo> _properties;
private readonly string _updateSql;
private readonly string _insertSql;
private static ResiliencePipeline RetryStrategy => new ResiliencePipelineBuilder()
.AddRetry(new RetryStrategyOptions
{
ShouldHandle = new PredicateBuilder().Handle<SQLiteException>(ex => ex.ResultCode == SQLiteErrorCode.Busy),
Delay = TimeSpan.FromMilliseconds(100),
MaxRetryAttempts = 3,
BackoffType = DelayBackoffType.Exponential,
UseJitter = true,
OnRetry = args =>
{
Logger.Warn(args.Outcome.Exception, "Failed writing to database. Retry #{0}", args.AttemptNumber);
return default;
}
})
.Build();
protected readonly IDatabase _database;
protected readonly string _table;
@@ -186,7 +210,9 @@ namespace NzbDrone.Core.Datastore
private TModel Insert(IDbConnection connection, IDbTransaction transaction, TModel model)
{
SqlBuilderExtensions.LogQuery(_insertSql, model);
var multi = connection.QueryMultiple(_insertSql, model, transaction);
var multi = RetryStrategy.Execute(static (state, _) => state.connection.QueryMultiple(state._insertSql, state.model, state.transaction), (connection, _insertSql, model, transaction));
var multiRead = multi.Read();
var id = (int)(multiRead.First().id ?? multiRead.First().Id);
_keyProperty.SetValue(model, id);
@@ -381,7 +407,7 @@ namespace NzbDrone.Core.Datastore
SqlBuilderExtensions.LogQuery(sql, model);
connection.Execute(sql, model, transaction: transaction);
RetryStrategy.Execute(static (state, _) => state.connection.Execute(state.sql, state.model, transaction: state.transaction), (connection, sql, model, transaction));
}
private void UpdateFields(IDbConnection connection, IDbTransaction transaction, IList<TModel> models, List<PropertyInfo> propertiesToUpdate)
@@ -393,7 +419,7 @@ namespace NzbDrone.Core.Datastore
SqlBuilderExtensions.LogQuery(sql, model);
}
connection.Execute(sql, models, transaction: transaction);
RetryStrategy.Execute(static (state, _) => state.connection.Execute(state.sql, state.models, transaction: state.transaction), (connection, sql, models, transaction));
}
protected virtual SqlBuilder PagedBuilder() => Builder();

View File

@@ -7,7 +7,7 @@ using NzbDrone.Common.Instrumentation;
namespace NzbDrone.Core.Datastore.Migration
{
[Maintenance(MigrationStage.BeforeAll, TransactionBehavior.None)]
public class DatabaseEngineVersionCheck : FluentMigrator.Migration
public class DatabaseEngineVersionCheck : ForwardOnlyMigration
{
protected readonly Logger _logger;
@@ -22,11 +22,6 @@ namespace NzbDrone.Core.Datastore.Migration
IfDatabase("postgres").Execute.WithConnection(LogPostgresVersion);
}
public override void Down()
{
// No-op
}
private void LogSqliteVersion(IDbConnection conn, IDbTransaction tran)
{
using (var versionCmd = conn.CreateCommand())

View File

@@ -16,7 +16,7 @@ namespace NzbDrone.Core.Datastore.Migration
if (!Schema.Table("ImportExclusions").Exists())
{
Create.TableForModel("ImportExclusions")
.WithColumn("TmdbId").AsInt64().NotNullable().Unique().PrimaryKey()
.WithColumn("TmdbId").AsInt64().NotNullable().Unique()
.WithColumn("MovieTitle").AsString().Nullable()
.WithColumn("MovieYear").AsInt64().Nullable().WithDefaultValue(0);
}

View File

@@ -12,6 +12,7 @@ using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Serializer;
using NzbDrone.Core.Datastore.Migration.Framework;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.MediaFiles.MediaInfo;
namespace NzbDrone.Core.Datastore.Migration
@@ -809,7 +810,7 @@ namespace NzbDrone.Core.Datastore.Migration
private static string GetSceneNameMatch(string sceneName, params string[] tokens)
{
sceneName = sceneName.IsNotNullOrWhiteSpace() ? Parser.Parser.RemoveFileExtension(sceneName) : string.Empty;
sceneName = sceneName.IsNotNullOrWhiteSpace() ? FileExtensions.RemoveFileExtension(sceneName) : string.Empty;
foreach (var token in tokens)
{

View File

@@ -12,7 +12,7 @@ using NzbDrone.Core.Parser;
namespace NzbDrone.Core.Datastore.Migration
{
[Migration(208)]
public class collections : NzbDroneMigrationBase
public class add_collections : NzbDroneMigrationBase
{
protected override void MainDbUpgrade()
{

View File

@@ -6,7 +6,6 @@ using FluentMigrator.Runner.Generators;
using FluentMigrator.Runner.Initialization;
using FluentMigrator.Runner.Processors;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NLog;
using NLog.Extensions.Logging;
@@ -20,13 +19,10 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
public class MigrationController : IMigrationController
{
private readonly Logger _logger;
private readonly ILoggerProvider _migrationLoggerProvider;
public MigrationController(Logger logger,
ILoggerProvider migrationLoggerProvider)
public MigrationController(Logger logger)
{
_logger = logger;
_migrationLoggerProvider = migrationLoggerProvider;
}
public void Migrate(string connectionString, MigrationContext migrationContext, DatabaseType databaseType)
@@ -35,16 +31,13 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
_logger.Info("*** Migrating {0} ***", connectionString);
ServiceProvider serviceProvider;
var db = databaseType == DatabaseType.SQLite ? "sqlite" : "postgres";
serviceProvider = new ServiceCollection()
var serviceProvider = new ServiceCollection()
.AddLogging(b => b.AddNLog())
.AddFluentMigratorCore()
.Configure<RunnerOptions>(cfg => cfg.IncludeUntaggedMaintenances = true)
.ConfigureRunner(
builder => builder
.ConfigureRunner(builder => builder
.AddPostgres()
.AddNzbDroneSQLite()
.WithGlobalConnectionString(connectionString)

View File

@@ -4,9 +4,14 @@ using FluentMigrator.Builders.Create;
using FluentMigrator.Builders.Create.Table;
using FluentMigrator.Runner;
using FluentMigrator.Runner.BatchParser;
using FluentMigrator.Runner.Generators;
using FluentMigrator.Runner.Generators.SQLite;
using FluentMigrator.Runner.Initialization;
using FluentMigrator.Runner.Processors;
using FluentMigrator.Runner.Processors.SQLite;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace NzbDrone.Core.Datastore.Migration.Framework
{
@@ -26,23 +31,40 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
return command;
}
public static void AddParameter(this System.Data.IDbCommand command, object value)
public static void AddParameter(this IDbCommand command, object value)
{
var parameter = command.CreateParameter();
parameter.Value = value;
command.Parameters.Add(parameter);
}
public static IMigrationRunnerBuilder AddNzbDroneSQLite(this IMigrationRunnerBuilder builder)
public static IMigrationRunnerBuilder AddNzbDroneSQLite(this IMigrationRunnerBuilder builder, bool binaryGuid = false, bool useStrictTables = false)
{
builder.Services
.AddTransient<SQLiteBatchParser>()
.AddScoped<SQLiteDbFactory>()
.AddScoped<NzbDroneSQLiteProcessor>()
.AddScoped<NzbDroneSQLiteProcessor>(sp =>
{
var factory = sp.GetService<SQLiteDbFactory>();
var logger = sp.GetService<ILogger<NzbDroneSQLiteProcessor>>();
var options = sp.GetService<IOptionsSnapshot<ProcessorOptions>>();
var connectionStringAccessor = sp.GetService<IConnectionStringAccessor>();
var sqliteQuoter = new SQLiteQuoter(false);
return new NzbDroneSQLiteProcessor(factory, sp.GetService<SQLiteGenerator>(), logger, options, connectionStringAccessor, sp, sqliteQuoter);
})
.AddScoped<ISQLiteTypeMap>(_ => new NzbDroneSQLiteTypeMap(useStrictTables))
.AddScoped<IMigrationProcessor>(sp => sp.GetRequiredService<NzbDroneSQLiteProcessor>())
.AddScoped<SQLiteQuoter>()
.AddScoped<SQLiteGenerator>()
.AddScoped(
sp =>
{
var typeMap = sp.GetRequiredService<ISQLiteTypeMap>();
return new SQLiteGenerator(
new SQLiteQuoter(binaryGuid),
typeMap,
new OptionsWrapper<GeneratorOptions>(new GeneratorOptions()));
})
.AddScoped<IMigrationGenerator>(sp => sp.GetRequiredService<SQLiteGenerator>());
return builder;
}
}

View File

@@ -15,6 +15,8 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
{
public class NzbDroneSQLiteProcessor : SQLiteProcessor
{
private readonly SQLiteQuoter _quoter;
public NzbDroneSQLiteProcessor(SQLiteDbFactory factory,
SQLiteGenerator generator,
ILogger<NzbDroneSQLiteProcessor> logger,
@@ -24,6 +26,7 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
SQLiteQuoter quoter)
: base(factory, generator, logger, options, connectionStringAccessor, serviceProvider, quoter)
{
_quoter = quoter;
}
public override void Process(AlterColumnExpression expression)
@@ -35,7 +38,7 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
if (columnIndex == -1)
{
throw new ApplicationException(string.Format("Column {0} does not exist on table {1}.", expression.Column.Name, expression.TableName));
throw new ApplicationException($"Column {expression.Column.Name} does not exist on table {expression.TableName}.");
}
columnDefinitions[columnIndex] = expression.Column;
@@ -45,6 +48,28 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
ProcessAlterTable(tableDefinition);
}
public override void Process(AlterDefaultConstraintExpression expression)
{
var tableDefinition = GetTableSchema(expression.TableName);
var columnDefinitions = tableDefinition.Columns.ToList();
var columnIndex = columnDefinitions.FindIndex(c => c.Name == expression.ColumnName);
if (columnIndex == -1)
{
throw new ApplicationException($"Column {expression.ColumnName} does not exist on table {expression.TableName}.");
}
var changedColumn = columnDefinitions[columnIndex];
changedColumn.DefaultValue = expression.DefaultValue;
columnDefinitions[columnIndex] = changedColumn;
tableDefinition.Columns = columnDefinitions;
ProcessAlterTable(tableDefinition);
}
public override void Process(DeleteColumnExpression expression)
{
var tableDefinition = GetTableSchema(expression.TableName);
@@ -62,7 +87,7 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
if (columnsToRemove.Any())
{
throw new ApplicationException(string.Format("Column {0} does not exist on table {1}.", columnsToRemove.First(), expression.TableName));
throw new ApplicationException($"Column {columnsToRemove.First()} does not exist on table {expression.TableName}.");
}
ProcessAlterTable(tableDefinition);
@@ -78,12 +103,12 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
if (columnIndex == -1)
{
throw new ApplicationException(string.Format("Column {0} does not exist on table {1}.", expression.OldName, expression.TableName));
throw new ApplicationException($"Column {expression.OldName} does not exist on table {expression.TableName}.");
}
if (columnDefinitions.Any(c => c.Name == expression.NewName))
{
throw new ApplicationException(string.Format("Column {0} already exists on table {1}.", expression.NewName, expression.TableName));
throw new ApplicationException($"Column {expression.NewName} already exists on table {expression.TableName}.");
}
oldColumnDefinitions[columnIndex] = (ColumnDefinition)columnDefinitions[columnIndex].Clone();
@@ -128,21 +153,20 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
}
// What is the cleanest way to do this? Add function to Generator?
var quoter = new SQLiteQuoter();
var columnsToInsert = string.Join(", ", tableDefinition.Columns.Select(c => quoter.QuoteColumnName(c.Name)));
var columnsToFetch = string.Join(", ", (oldColumnDefinitions ?? tableDefinition.Columns).Select(c => quoter.QuoteColumnName(c.Name)));
var columnsToInsert = string.Join(", ", tableDefinition.Columns.Select(c => _quoter.QuoteColumnName(c.Name)));
var columnsToFetch = string.Join(", ", (oldColumnDefinitions ?? tableDefinition.Columns).Select(c => _quoter.QuoteColumnName(c.Name)));
Process(new CreateTableExpression() { TableName = tempTableName, Columns = tableDefinition.Columns.ToList() });
Process(new CreateTableExpression { TableName = tempTableName, Columns = tableDefinition.Columns.ToList() });
Process(string.Format("INSERT INTO {0} ({1}) SELECT {2} FROM {3}", quoter.QuoteTableName(tempTableName), columnsToInsert, columnsToFetch, quoter.QuoteTableName(tableName)));
Process($"INSERT INTO {_quoter.QuoteTableName(tempTableName)} ({columnsToInsert}) SELECT {columnsToFetch} FROM {_quoter.QuoteTableName(tableName)}");
Process(new DeleteTableExpression() { TableName = tableName });
Process(new DeleteTableExpression { TableName = tableName });
Process(new RenameTableExpression() { OldName = tempTableName, NewName = tableName });
Process(new RenameTableExpression { OldName = tempTableName, NewName = tableName });
foreach (var index in tableDefinition.Indexes)
{
Process(new CreateIndexExpression() { Index = index });
Process(new CreateIndexExpression { Index = index });
}
}
}

View File

@@ -0,0 +1,76 @@
using System.Data;
using FluentMigrator.Runner.Generators.Base;
using FluentMigrator.Runner.Generators.SQLite;
namespace NzbDrone.Core.Datastore.Migration.Framework;
// Based on https://github.com/fluentmigrator/fluentmigrator/blob/v6.2.0/src/FluentMigrator.Runner.SQLite/Generators/SQLite/SQLiteTypeMap.cs
public sealed class NzbDroneSQLiteTypeMap : TypeMapBase, ISQLiteTypeMap
{
public bool UseStrictTables { get; }
public NzbDroneSQLiteTypeMap(bool useStrictTables = false)
{
UseStrictTables = useStrictTables;
SetupTypeMaps();
}
// Must be kept in sync with upstream
protected override void SetupTypeMaps()
{
SetTypeMap(DbType.Binary, "BLOB");
SetTypeMap(DbType.Byte, "INTEGER");
SetTypeMap(DbType.Int16, "INTEGER");
SetTypeMap(DbType.Int32, "INTEGER");
SetTypeMap(DbType.Int64, "INTEGER");
SetTypeMap(DbType.SByte, "INTEGER");
SetTypeMap(DbType.UInt16, "INTEGER");
SetTypeMap(DbType.UInt32, "INTEGER");
SetTypeMap(DbType.UInt64, "INTEGER");
if (!UseStrictTables)
{
SetTypeMap(DbType.Currency, "NUMERIC");
SetTypeMap(DbType.Decimal, "NUMERIC");
SetTypeMap(DbType.Double, "NUMERIC");
SetTypeMap(DbType.Single, "NUMERIC");
SetTypeMap(DbType.VarNumeric, "NUMERIC");
SetTypeMap(DbType.Date, "DATETIME");
SetTypeMap(DbType.DateTime, "DATETIME");
SetTypeMap(DbType.DateTime2, "DATETIME");
SetTypeMap(DbType.Time, "DATETIME");
SetTypeMap(DbType.Guid, "UNIQUEIDENTIFIER");
// Custom so that we can use DateTimeOffset in Postgres for appropriate DB typing
SetTypeMap(DbType.DateTimeOffset, "DATETIME");
}
else
{
SetTypeMap(DbType.Currency, "TEXT");
SetTypeMap(DbType.Decimal, "TEXT");
SetTypeMap(DbType.Double, "REAL");
SetTypeMap(DbType.Single, "REAL");
SetTypeMap(DbType.VarNumeric, "TEXT");
SetTypeMap(DbType.Date, "TEXT");
SetTypeMap(DbType.DateTime, "TEXT");
SetTypeMap(DbType.DateTime2, "TEXT");
SetTypeMap(DbType.Time, "TEXT");
SetTypeMap(DbType.Guid, "TEXT");
// Custom so that we can use DateTimeOffset in Postgres for appropriate DB typing
SetTypeMap(DbType.DateTimeOffset, "TEXT");
}
SetTypeMap(DbType.AnsiString, "TEXT");
SetTypeMap(DbType.String, "TEXT");
SetTypeMap(DbType.AnsiStringFixedLength, "TEXT");
SetTypeMap(DbType.StringFixedLength, "TEXT");
SetTypeMap(DbType.Boolean, "INTEGER");
}
public override string GetTypeMap(DbType type, int? size, int? precision)
{
return base.GetTypeMap(type, size: null, precision: null);
}
}

View File

@@ -424,8 +424,8 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
}
catch (HttpException ex)
{
_logger.Debug("qbitTorrent authentication failed.");
if (ex.Response.StatusCode == HttpStatusCode.Forbidden)
_logger.Debug(ex, "qbitTorrent authentication failed.");
if (ex.Response.StatusCode is HttpStatusCode.Unauthorized or HttpStatusCode.Forbidden)
{
throw new DownloadClientAuthenticationException("Failed to authenticate with qBittorrent.", ex);
}
@@ -437,7 +437,7 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
throw new DownloadClientUnavailableException("Failed to connect to qBittorrent, please check your settings.", ex);
}
if (response.Content != "Ok.")
if (response.Content.IsNotNullOrWhiteSpace() && response.Content != "Ok.")
{
// returns "Fails." on bad login
_logger.Debug("qbitTorrent authentication failed.");

View File

@@ -221,7 +221,7 @@ namespace NzbDrone.Core.Download
try
{
hash = MagnetLink.Parse(magnetUrl).InfoHash.ToHex();
hash = MagnetLink.Parse(magnetUrl).InfoHashes.V1OrV2.ToHex();
}
catch (FormatException ex)
{

View File

@@ -280,6 +280,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
{
var setElement = new XElement("set");
setElement.SetAttributeValue("tmdbcolid", movie.MovieMetadata.Value.CollectionTmdbId);
setElement.Add(new XElement("name", movie.MovieMetadata.Value.CollectionTitle));
setElement.Add(new XElement("overview"));

View File

@@ -30,7 +30,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
return new HealthCheck(
GetType(),
HealthCheckResult.Warning,
HealthCheckResult.Error,
_localizationService.GetLocalizedString(
"NamingConfigMovieFolderFormatDeprecatedHealthCheckMessage", new Dictionary<string, object>
{

View File

@@ -76,7 +76,7 @@ namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList
public override IParseImportListResponse GetParser()
{
return new IMDbListParser(Settings);
return new IMDbListParser(Settings, _logger);
}
}
}

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using NLog;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.ImportLists.ImportListMovies;
using NzbDrone.Core.MetadataSource.SkyHook.Resource;
@@ -11,10 +12,12 @@ namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList
public class IMDbListParser : RadarrList2Parser
{
private readonly IMDbListSettings _settings;
private readonly Logger _logger;
public IMDbListParser(IMDbListSettings settings)
public IMDbListParser(IMDbListSettings settings, Logger logger)
{
_settings = settings;
_logger = logger;
}
public override IList<ImportListMovie> ParseResponse(ImportListResponse importListResponse)
@@ -25,6 +28,7 @@ namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList
if (!PreProcess(importResponse))
{
_logger.Debug("IMDb List {0}: Found {1} movies", _settings.ListId, movies.Count);
return movies;
}
@@ -34,20 +38,19 @@ namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList
var rows = importResponse.Content.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
movies = rows.Skip(1).SelectList(m => m.Split(',')).Where(m => m.Length > 5).SelectList(i => new ImportListMovie { ImdbId = i[1], Title = i[5] });
return movies;
}
else
{
var jsonResponse = JsonConvert.DeserializeObject<List<MovieResource>>(importResponse.Content);
if (jsonResponse == null)
if (jsonResponse != null)
{
return movies;
movies = jsonResponse.SelectList(m => new ImportListMovie { TmdbId = m.TmdbId });
}
return jsonResponse.SelectList(m => new ImportListMovie { TmdbId = m.TmdbId });
}
_logger.Debug("IMDb List {0}: Found {1} movies", _settings.ListId, movies.Count);
return movies;
}
}
}

View File

@@ -9,16 +9,22 @@ namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList
protected override HttpRequest GetHttpRequest()
{
Logger.Info("IMDb List {0}: Importing movies", Settings.ListId);
// Use IMDb list Export for user lists to bypass RadarrAPI caching
if (Settings.ListId.StartsWith("ls", StringComparison.OrdinalIgnoreCase))
{
throw new Exception("IMDb lists of the form 'ls12345678' are no longer supported. Feel free to remove this list after you review your Clean Library Level.");
}
return RequestBuilder.Create()
var request = RequestBuilder.Create()
.SetSegment("route", $"list/imdb/{Settings.ListId}")
.Accept(HttpAccept.Json)
.Build();
Logger.Trace("IMDb List {0}: Request URL: {1}", Settings.ListId, request.Url);
return request;
}
}
}

View File

@@ -75,6 +75,8 @@ namespace NzbDrone.Core.ImportLists.TMDb
[FieldOption(Hint = "Raeto-Romance")]
rm,
[FieldOption(Hint = "Mongolian")]
mn
mn,
[FieldOption(Hint = "Georgian")]
ka
}
}

View File

@@ -82,7 +82,7 @@ namespace NzbDrone.Core.Indexers
{
try
{
return MagnetLink.Parse(magnetUrl).InfoHash.ToHex();
return MagnetLink.Parse(magnetUrl).InfoHashes.V1OrV2.ToHex();
}
catch
{

View File

@@ -127,6 +127,7 @@ namespace NzbDrone.Core.Languages
public static Language Urdu => new Language(54, "Urdu");
public static Language Romansh => new Language(55, "Romansh");
public static Language Mongolian => new Language(56, "Mongolian");
public static Language Georgian => new Language(57, "Georgian");
public static Language Any => new Language(-1, "Any");
public static Language Original => new Language(-2, "Original");
@@ -193,6 +194,7 @@ namespace NzbDrone.Core.Languages
Urdu,
Romansh,
Mongolian,
Georgian,
Any,
Original
};

View File

@@ -1087,5 +1087,76 @@
"ImportListsTraktSettingsCertification": "شهادة",
"ImportListsTraktSettingsGenres": "الأنواع",
"ImportListsTraktSettingsRating": "التقييمات",
"IndexerHDBitsSettingsMediums": "متوسط"
"IndexerHDBitsSettingsMediums": "متوسط",
"AutoTaggingSpecificationTag": "العلامات",
"ReleaseProfile": "تحرير ملف تعريف التأخير",
"ShowPhysicalRelease": "تاريخ الإصدار المادي",
"ManageFormats": "تنسيقات مخصصة",
"NotificationsPushcutSettingsNotificationName": "شهادة",
"AuthenticationMethod": "المصادقة",
"OneMinute": "الدقائق",
"PendingDownloadClientUnavailable": "عميل التنزيل غير متوفر",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "ستؤدي الإزالة إلى إزالة التنزيل والملف (الملفات) من عميل التنزيل.",
"ResetDefinitions": "تعريفات الجودة",
"ShowCinemaRelease": "عرض تاريخ الإصدار السينمائي",
"Destination": "مسار الوجهة",
"FormatRuntimeMinutes": "الدقائق",
"SetIndexerFlags": "أعلام المفهرس",
"ImportListsTraktSettingsYears": "عام",
"ResetQualityDefinitions": "تعريفات الجودة",
"AddCustomFilter": "مرشحات مخصصة",
"DeleteMovieFolderCountConfirmation": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟",
"DownloadClientFloodSettingsStartOnAdd": "ابحث في Add",
"ShowDigitalRelease": "عرض تاريخ الإصدار السينمائي",
"LanguagesLoadError": "تعذر تحميل العلامات",
"ReleaseProfiles": "تحرير ملف تعريف التأخير",
"NotificationsEmbySettingsSendNotifications": "شهادة",
"ResetTitles": "عنوان الإصدار",
"SelectIndexerFlags": "حذف المفهرس",
"SkipRedownload": "إعادة التنزيل",
"Trending": "قيد الانتظار",
"ImportListMultipleMissingRoots": "عدة مجلدات جذر مفقودة: {0}",
"AddConnection": "الإتصال",
"AddImportList": "القوائم",
"AutoTaggingSpecificationGenre": "الأنواع",
"CustomFormatsSpecificationMinimumSize": "أكبر مقاس",
"DeleteAutoTag": "حذف العلامة",
"DeleteSelectedIndexersMessageText": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟",
"Donate": "تاريخ",
"DownloadClientSettingsOlderPriority": "أولوية المفهرس",
"EditCollection": "مجموعة",
"EditSelectedMovies": "حذف ملفات الأفلام المحددة",
"MassSearchCancelWarning": "لا يمكن إلغاء هذا بمجرد البدء دون إعادة تشغيل {appName}.",
"AutomaticAdd": "تلقائي",
"RemoveSelectedItem": "ازل المحدد",
"RemoveSelectedItems": "ازل المحدد",
"RootFolderPath": "المجلد الرئيسي",
"UnableToLoadCollections": "تعذر تحميل القيود",
"EditAutoTag": "أضف كلمات دلالية تلقائيا",
"RemoveQueueItemRemovalMethodHelpTextWarning": "ستؤدي الإزالة إلى إزالة التنزيل والملف (الملفات) من عميل التنزيل.",
"SetReleaseGroup": "مجموعة الإصدار",
"AutoTaggingSpecificationStudio": "ستوديو",
"DeleteSelected": "حذف ملفات الأفلام المحددة",
"DeleteSelectedCustomFormatsMessageText": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟",
"DeleteSelectedImportListsMessageText": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟",
"EditSelectedDownloadClients": "حذف Download Client",
"ManageCustomFormats": "تنسيقات مخصصة",
"ManageDownloadClients": "تحميل العملاء",
"MinimumCustomFormatScoreIncrement": "الحد الأدنى من نقاط التنسيق المخصص",
"NotificationsKodiSettingsCleanLibrary": "مستوى المكتبة النظيف",
"EditSelectedIndexers": "حذف المفهرس",
"AudioLanguages": "متعدد اللغات",
"OnFileUpgrade": "عند الترقية",
"ReleaseHash": "تواريخ الإصدار",
"NotificationsKodiSettingsGuiNotification": "شهادة",
"SearchForAllMissingMovies": "ابدأ البحث عن فيلم مفقود",
"ClearBlocklistMessageText": "هل أنت متأكد أنك تريد إزالة العناصر المحددة من القائمة السوداء؟",
"FavoriteFolderRemove": "قم بإزالة المجلد الجذر",
"CustomFormatJson": "تنسيق مخصص",
"DeleteMovieFolderCountWithFilesConfirmation": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟",
"DeleteSelectedDownloadClientsMessageText": "هل أنت متأكد أنك تريد حذف ملفات الأفلام المحددة؟",
"SelectReleaseGroup": "مجموعة الإصدار",
"MovieCollectionFolderMultipleMissingRootsHealthCheckMessage": "عدة مجلدات جذر مفقودة: {0}",
"ReleasePush": "تواريخ الإصدار",
"CinemaRelease": "عرض تاريخ الإصدار السينمائي"
}

View File

@@ -1204,5 +1204,92 @@
"IndexerHDBitsSettingsCategories": "Категории",
"IndexerHDBitsSettingsMediums": "Среден",
"IndexerSettingsCategories": "Категории",
"ReleaseProfile": "Профил за издания"
"ReleaseProfile": "Профил за издания",
"CinemaRelease": "Пуснат по кината",
"BlocklistedAt": "Блокиран на {date}",
"Complete": "Завърши",
"DeleteSelected": "Изтрийте избраните",
"CollectionShowDetailsHelpText": "Покажи статуса и свойствата на колекцията",
"AutoTaggingSpecificationStudio": "Студио(я)",
"Completed": "Завършено",
"DelayMinutes": "{delay} Минути",
"Category": "Категория",
"AutoTaggingSpecificationKeyword": "Ключова(и) дума(и)",
"ChangeCategory": "Промени категорията",
"DefaultNotFoundMessage": "Трябва да сте се изгубили, няма какво да видите тук.",
"ClearBlocklist": "Изчисти списъка с блокирани",
"CountMissingMoviesFromLibrary": "Липсващи филми от библеотеката : {count}",
"EditSelectedMovies": "Изтриване на избрани филмови файлове",
"EditAutoTag": "Добави автоматичен таг",
"EditConnectionImplementation": "Добави условие - {implementationName}",
"EditImportListImplementation": "Добави списък за импортиране - {implementationName}",
"EditIndexerImplementation": "Добави индексатор - {implementationName}",
"ReleaseProfiles": "Профил за издания",
"SearchForAllMissingMovies": "Започнете търсене на липсващ филм",
"ImportListMultipleMissingRoots": "Липсват множество коренни папки: {0}",
"NotificationsKodiSettingsGuiNotification": "Сертифициране",
"NotificationsPushcutSettingsNotificationName": "Сертифициране",
"IndexerHDBitsSettingsCodecs": "Кодек",
"ManageFormats": "Клониране на персонализиран формат",
"MassSearchCancelWarning": "Това не може да бъде отменено след стартиране без рестартиране на {appName}.",
"ResetQualityDefinitions": "Определения за качество",
"SetIndexerFlags": "Индексиращи знамена",
"ShowDigitalRelease": "Показване на датата на излизане на киното",
"TodayAt": "{day} в {time}",
"LanguagesLoadError": "Не може да се заредят маркери",
"NotificationsCustomScriptValidationFileDoesNotExist": "Папката не съществува",
"ClearBlocklistMessageText": "Наистина ли искате да премахнете избраните елементи от черния списък?",
"DeleteSelectedImportListsMessageText": "Наистина ли искате да изтриете избраните филмови файлове?",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Незадължително локация за изтеглянията, оставете празно, за да използвате локацията по подразбиране на Aria2",
"OnFileUpgrade": "При надстройка",
"ShowCinemaRelease": "Показване на датата на излизане на киното",
"ShowPhysicalRelease": "Дата на физическото издаване",
"DownloadClientValidationAuthenticationFailure": "Изисква се удостоверяване",
"DownloadClientSettingsOlderPriority": "Индексатор Приоритет",
"SetReleaseGroup": "Група за освобождаване",
"Trending": "В очакване",
"UnableToLoadCollections": "Ограниченията не могат да се заредят",
"NotificationsEmbySettingsSendNotifications": "Сертифициране",
"NotificationsKodiSettingsCleanLibrary": "Чисто ниво на библиотеката",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Премахването ще премахне изтеглянето и файловете от клиента за изтегляне.",
"RootFolderPath": "Основна директория",
"PendingDownloadClientUnavailable": "Клиентът за изтегляне не е наличен",
"DeleteMovieFolderCountConfirmation": "Наистина ли искате да изтриете избраните филмови файлове?",
"OneMinute": "Минути",
"ResetTitles": "Заглавие на изданието",
"RemoveSelectedItem": "Премахнете избраното",
"RemoveSelectedItems": "Премахнете избраното",
"EditDownloadClientImplementation": "Добави клиент за изтегляне - {implementationName}",
"MinimumCustomFormatScoreIncrement": "Минимален резултат от персонализиран формат",
"ReleaseHash": "Дати на издаване",
"EditSelectedIndexers": "Изтрийте Indexer",
"DeleteSelectedCustomFormatsMessageText": "Наистина ли искате да изтриете избраните филмови файлове?",
"DeleteSelectedIndexersMessageText": "Наистина ли искате да изтриете избраните филмови файлове?",
"DownloadClientQbittorrentValidationCategoryAddFailure": "Конфигурирането на етикета е неуспешно",
"DownloadClientQbittorrentValidationCategoryAddFailureDetail": "{appName} не успя да добави етикета към {clientName}.",
"EditConditionImplementation": "Добави условие - {implementationName}",
"FavoriteFolderRemove": "Премахнете основната папка",
"FormatRuntimeMinutes": "Минути",
"FormatTimeSpanDays": "{day} в {time}",
"ImportListsTraktSettingsYears": "Година",
"ManageDownloadClients": "Изтеглете клиенти",
"NotificationsDiscordSettingsAuthor": "Авто",
"ResetDefinitions": "Определения за качество",
"SelectIndexerFlags": "Изтрийте Indexer",
"SkipRedownload": "Презареждане",
"Mixed": "Фиксирана",
"DeleteSelectedDownloadClientsMessageText": "Наистина ли искате да изтриете избраните филмови файлове?",
"DownloadClientUTorrentTorrentStateError": "Deluge съобщава за грешка",
"EditSelectedDownloadClients": "Изтриване на клиент за изтегляне",
"DeleteAutoTag": "Изтриване на маркера",
"EditCollection": "колекция",
"ManageCustomFormats": "Клониране на персонализиран формат",
"RemoveQueueItemRemovalMethodHelpTextWarning": "Премахването ще премахне изтеглянето и файловете от клиента за изтегляне.",
"CustomFormatJson": "Персонализиран формат",
"DeleteMovieFolderCountWithFilesConfirmation": "Наистина ли искате да изтриете избраните филмови файлове?",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Незадължително локация за изтеглянията, оставете празно, за да използвате локацията по подразбиране на Aria2",
"SelectReleaseGroup": "Група за освобождаване",
"DownloadClientQbittorrentTorrentStateError": "Deluge съобщава за грешка",
"MovieCollectionFolderMultipleMissingRootsHealthCheckMessage": "Липсват множество коренни папки: {0}",
"ReleasePush": "Дати на издаване"
}

View File

@@ -15,7 +15,7 @@
"Refresh": "Actualitza",
"Reload": "Torna a carregar",
"Blocklist": "Llista de bloquejats",
"Blocklisted": "Bloquejats",
"Blocklisted": "Bloquejat per llista",
"BlocklistRelease": "Publicació de la llista de bloqueig",
"History": "Història",
"HomePage": "Pàgina d'inici",
@@ -1438,7 +1438,7 @@
"IndexerSettingsCategories": "Categories",
"IndexerHDBitsSettingsCodecs": "Còdecs",
"IndexerHDBitsSettingsMediums": "Mitjans",
"BlocklistedAt": "Blocat el {date}",
"BlocklistedAt": "Bloquejat per llista el {date}",
"AutoTaggingSpecificationMaximumRuntime": "Temps d'execució màxim",
"AutoTaggingSpecificationMinimumRuntime": "Temps d'execució mínim",
"NotificationsTagsMovieHelpText": "Envia només notificacions per a pel·lícules amb almenys una etiqueta coincident",
@@ -1629,7 +1629,7 @@
"NotificationsPushBulletSettingsAccessToken": "Testimoni d'accés",
"NotificationsPushBulletSettingsDeviceIds": "ID del dispositiu",
"NotificationsPushBulletSettingsDeviceIdsHelpText": "Llista d'identificadors de dispositiu (deixeu-lo en blanc per enviar-lo a tots els dispositius)",
"NotificationsPushoverSettingsExpireHelpText": "Temps màxim per tornar a provar les alertes d'emergència, màxim 86400 segons\"",
"NotificationsPushoverSettingsExpireHelpText": "Temps màxim per tornar a provar les alertes d'emergència, màxim 86400 segons",
"NotificationsSettingsWebhookMethodHelpText": "Quin mètode HTTP s'ha d'utilitzar per enviar al servei web",
"ManageFormats": "Gestiona formats",
"MassSearchCancelWarning": "Això no es pot cancel·lar un cop iniciat sense reiniciar {appName} o desactivar tots els vostres indexadors.",
@@ -1987,7 +1987,7 @@
"NotificationsSignalSettingsSenderNumber": "Número del remitent",
"NotificationsMailgunSettingsApiKeyHelpText": "La clau API generada des de MailGun",
"NotificationsPushcutSettingsApiKeyHelpText": "Les claus API es poden gestionar a la vista de compte de l'aplicació Pushcut",
"DownloadClientUTorrentProviderMessage": "uTorrent té un historial d'inclusió de criptominers, programari maliciós i anuncis, us animem a triar un client diferent.",
"DownloadClientUTorrentProviderMessage": "uTorrent té historial d'incloure criptominers, malware i anuncis, suggerim fortament que escolleixis un client diferent.",
"DownloadClientValidationCategoryMissing": "La categoria no existeix",
"DownloadClientValidationErrorVersion": "La versió de {clientName} hauria de ser com a mínim {requiredVersion}. La versió informada és {reportedVersion}",
"DownloadClientValidationSslConnectFailureDetail": "{appName} no es pot connectar a {clientName} utilitzant SSL. Aquest problema podria estar relacionat amb l'ordinador. Si us plau, intenteu configurar {appName} i {clientName} per no utilitzar SSL.",
@@ -2036,5 +2036,8 @@
"NotificationsPushcutSettingsIncludePoster": "Inclou el cartell",
"NotificationsPushcutSettingsIncludePosterHelpText": "Inclou el cartell amb notificació",
"NotificationsPushcutSettingsMetadataLinks": "Enllaços de metadades",
"NotificationsPushcutSettingsMetadataLinksHelpText": "Afegeix un enllaç a les metadades de les sèries quan s'enviïn notificacions"
"NotificationsPushcutSettingsMetadataLinksHelpText": "Afegeix un enllaç a les metadades de les sèries quan s'enviïn notificacions",
"NotificationsPushoverSettingsTtl": "Temps de vida",
"NotificationsPushoverSettingsTtlHelpText": "Temps en segons abans que el missatge caduqui. Establiu-lo a 0 per a una durada il·limitada",
"FilterMoviePropertiesOnlyNotFileWarning": "Els filtres només estan disponibles per a les propietats d'una pel·lícula, no estan disponibles per a les propietats dels fitxers d'aquesta pel·lícula."
}

View File

@@ -46,7 +46,7 @@
"DeleteRestrictionHelpText": "Opravdu chcete toto omezení smazat?",
"DeleteTagMessageText": "Opravdu chcete smazat značku „{0}“?",
"DetailedProgressBar": "Podrobný ukazatel průběhu",
"Discord": "Svár",
"Discord": "Discord",
"DownloadClients": "Stáhnout klienty",
"DownloadClientsSettingsSummary": "Stahování klientů, zpracování stahování a mapování vzdálených cest",
"DownloadPropersAndRepacks": "Sponzoři a přebalení",
@@ -190,7 +190,7 @@
"DeleteCustomFormat": "Odstranit vlastní formát",
"DeletedMovieDescription": "Film byl odstraněn z TMDb",
"DeleteMovieFolder": "Odstranit složku filmu",
"DockerUpdater": "aktualizujte kontejner dockeru, abyste aktualizaci obdrželi",
"DockerUpdater": "Pro získání aktualizace je třeba aktualizovat docker kontejner",
"AddToDownloadQueue": "Přidat stahování do fronty",
"AfterManualRefresh": "Po manuálním obnovení",
"AllFiles": "Všechny soubory",
@@ -347,12 +347,12 @@
"Local": "Místní",
"ManualImport": "Ruční import",
"MarkAsFailed": "Označit jako neúspěšné",
"MaximumSizeHelpText": "Maximální velikost uvolnění, která se má zachytit v MB. Nastavit na nulu nastavit na neomezený",
"MaximumSizeHelpText": "Maximální velikost vydání, která se mají stahovat v MB. Nula znamená bez omezení",
"Mechanism": "Mechanismus",
"MediaInfo": "Informace o médiích",
"MediaManagement": "Správa médií",
"MediaManagementSettings": "Nastavení správy médií",
"MediaManagementSettingsSummary": "Nastavení pojmenování a správy souborů",
"MediaManagementSettingsSummary": "Nastavení jmenné konvence a správy souborů",
"Hostname": "Název hostitele",
"Missing": "Chybějící",
"Month": "Měsíc",
@@ -436,7 +436,7 @@
"RestartRequiredHelpTextWarning": "Vyžaduje restart, aby se projevilo",
"Restore": "Obnovit",
"RestoreBackup": "Obnovit zálohu",
"RootFolder": "Kořenový adresář",
"RootFolder": "Kořenová složka",
"RootFolderCheckMultipleMessage": "Chybí více kořenových složek: {rootFolderPaths}",
"SendAnonymousUsageData": "Odesílejte anonymní údaje o používání",
"FileBrowserPlaceholderText": "Začněte psát nebo vyberte cestu níže",
@@ -495,7 +495,7 @@
"CustomFormatsSettingsSummary": "Vlastní formáty a nastavení",
"CustomFormatUnknownConditionOption": "Neznámá možnost „{key}“ pro podmínku „{implementation}“",
"Cutoff": "Odříznout",
"UpgradeUntilMovieHelpText": "Jakmile je této kvality dosaženo, {appName} již nebude stahovat filmy",
"UpgradeUntilMovieHelpText": "Jakmile stažený film dosáhne nebo překročí nastavenou kvalitu, {appName} nebude dále stahovat další vydání",
"CutoffUnmet": "Mezní hodnota nesplněna",
"Days": "Dny",
"Debug": "Ladit",
@@ -503,7 +503,7 @@
"DefaultDelayProfileMovie": "Toto je výchozí profil. Platí pro všechny filmy, které nemají explicitní profil.",
"DelayProfile": "Zpožděný profil",
"DelayProfiles": "Profily zpoždění",
"Delete": "Vymazat",
"Delete": "Smazat",
"DeleteBackupMessageText": "Opravdu chcete odstranit zálohu '{name}'?",
"Deleted": "Smazáno",
"DeleteDelayProfile": "Smazat profil zpoždění",
@@ -649,7 +649,7 @@
"LinkHere": "tady",
"Links": "Odkazy",
"ImportLists": "Seznamy",
"ImportListSettings": "Nastavení seznamu",
"ImportListSettings": "Nastavení seznamu pro import",
"ListSyncLevelHelpText": "Filmy v knihovně budou zpracovány na základě vašeho výběru, pokud vypadnou nebo se neobjeví na vašich seznamech",
"LogFiles": "Záznam souborů",
"Logging": "Protokolování",
@@ -802,13 +802,13 @@
"SetPermissionsLinuxHelpText": "Měl by se chmod spustit při importu / přejmenování souborů?",
"SetTags": "Nastavit značky",
"Settings": "Nastavení",
"LongDateFormat": "Long Date Format",
"LongDateFormat": "Dlouhý formát data",
"RemotePathMappingLocalPathHelpText": "Cesta, kterou by {appName} měl použít pro místní přístup ke vzdálené cestě",
"RemotePathMappingRemotePathHelpText": "Kořenová cesta k adresáři, do kterého stahovací klient přistupuje",
"RuntimeFormat": "Runtime Format",
"ShortDateFormat": "Formát krátkého data",
"ShowRelativeDates": "Zobrazit relativní data",
"ShowRelativeDatesHelpText": "Zobrazit relativní (dnes / včera / atd.) Nebo absolutní data",
"ShowRelativeDates": "Zobrazit aktuální datum",
"ShowRelativeDatesHelpText": "Zobrazit relevantní",
"WeekColumnHeaderHelpText": "Zobrazuje se nad každým sloupcem, když je aktivní zobrazení týden",
"ListMonitorMovieHelpText": "Pokud je povoleno, budou přidány a sledovány filmy přidané tímto seznamem",
"ICalShowAsAllDayEvents": "Zobrazit jako celodenní události",
@@ -836,7 +836,7 @@
"SourcePath": "Cesta zdroje",
"SourceRelativePath": "Cesta relativního zdroje",
"SourceTitle": "Název zdroje",
"SslCertPassword": "Heslo SSL Cert",
"SslCertPassword": "Heslo SSL Certifikátu",
"SslCertPasswordHelpText": "Heslo pro soubor pfx",
"SslCertPath": "Cesta certifikátu SSL",
"SslCertPathHelpText": "Cesta k souboru pfx",
@@ -979,7 +979,7 @@
"DeleteDelayProfileMessageText": "Opravdu chcete smazat tento profil zpoždění?",
"DeleteFormatMessageText": "Opravdu chcete smazat značku formátu {0}?",
"RemoveSelectedItemQueueMessageText": "Opravdu chcete odebrat {0} položku {1} z fronty?",
"RemoveSelectedItemsQueueMessageText": "Opravdu chcete odebrat {selectedCount} položky z fronty?",
"RemoveSelectedItemsQueueMessageText": "Opravdu chcete odebrat {selectedCount} položek z fronty?",
"ApplyTagsHelpTextAdd": "Přidat: Přidat štítky do existujícího seznamu štítků",
"ApplyTagsHelpTextHowToApplyIndexers": "Jak použít štítky na vybrané indexery",
"ApplyTagsHelpTextRemove": "Odebrat: Odebrat zadané štítky",
@@ -1037,7 +1037,7 @@
"CollectionShowPostersHelpText": "Zobrazit plakáty položek v kolekci",
"ConnectionLostReconnect": "{appName} se pokusí připojit automaticky, nebo můžete kliknout na tlačítko znovunačtení níže.",
"ConnectionLostToBackend": "{appName} ztratil spojení s backendem a pro obnovení funkčnosti bude potřeba ho znovu načíst.",
"CountDownloadClientsSelected": "{count} vybraných klientů pro stahování",
"CountDownloadClientsSelected": "{count} klientů ke stahování vybráno",
"DefaultNameCopiedProfile": "{name} - Kopírovat",
"DefaultNameCopiedSpecification": "{name} - Kopírovat",
"DelayingDownloadUntil": "Odložení stahování do {date} v {time}",
@@ -1078,7 +1078,7 @@
"CountImportListsSelected": "{count} vybraných seznamů pro import",
"CollectionShowDetailsHelpText": "Zobrazit stav a vlastnosti kolekce",
"AutoTaggingNegateHelpText": "Pokud je zaškrtnuto, pravidlo automatického označování se nepoužije, pokud odpovídá této podmínce {implementationName}.",
"DownloadClientSortingCheckMessage": "Klient pro stahování {downloadClientName} má nastaveno třídění {sortingMode} pro kategorii {appName}. Ve svém klientovi pro stahování byste měli třídění zakázat, abyste se vyhnuli problémům s importem.",
"DownloadClientSortingCheckMessage": "Klient pro stahování {downloadClientName} má nastaveno třídění {sortingMode} pro kategorie {appName}. Je doporučeno toto třídění vypnout, abyste se vyhli případným problémům s importem.",
"EditSelectedImportLists": "Upravit vybrané seznamy k importu",
"EditSelectedIndexers": "Upravit vybrané indexery",
"DisabledForLocalAddresses": "Zakázáno pro místní adresy",
@@ -1278,7 +1278,7 @@
"CutoffUnmetLoadError": "Chybné načítání nesplněných položek",
"CutoffUnmetNoItems": "Žádné neodpovídající nesplněné položky",
"ClickToChangeIndexerFlags": "Kliknutím změníte značky indexeru",
"RecycleBinUnableToWriteHealthCheck": "Nelze zapisovat do nakonfigurované složky koše: {path}. Ujistěte se, že tato cesta existuje a že do ní může zapisovat uživatel se spuštěnou {appName}",
"RecycleBinUnableToWriteHealthCheck": "Nelze zapisovat do nakonfigurované složky koše: {path}. Ujistěte se, že tato cesta existuje a že do ní může zapisovat uživatel, pod kterým běží {appName}",
"AutoTaggingSpecificationMaximumYear": "Maximální Rok",
"AutoTaggingSpecificationMinimumYear": "Minimální Rok",
"ChangeCategoryHint": "Změní stahování do kategorie „Post-Import“ z aplikace Download Client",
@@ -1367,5 +1367,212 @@
"CloneImportList": "Klonovat seznam Importu",
"DefaultNameCopiedImportList": "{name} - Kopírovat",
"ReleaseProfile": "profil vydání",
"NotificationsPushcutSettingsIncludePoster": "Zahrnout plakát"
"NotificationsPushcutSettingsIncludePoster": "Zahrnout plakát",
"RemotePathMappingCheckFilesLocalWrongOSPath": "Lokální klient pro stahování {downloadClientName} hlásí soubory v {path}, ale to není validní cesta pro {osName}. Zkontrolujte nastavení klienta pro stahování.",
"RemotePathMappingCheckLocalWrongOSPath": "Lokální klient pro stahování {downloadClientName} ukládá stažené soubory do {path}, ale vypadá to, že taková složka v {osName} neexistuje. Ověřte nastavení klienta pro stahování.",
"TaskUserAgentTooltip": "User-Agent je poskytován aplikací, která volá API",
"RemotePathMappingCheckFilesGenericPermissions": "Klient pro stahování {downloadClientName} hlásí soubory v {path}, ale {appName} tento adresář nevidí. Možná je nutné upravit práva této složky.",
"RemotePathMappingCheckGenericPermissions": "Klient pro stahování {downloadClientName} ukládá soubory do {path}, ale {appName} tento adresář nevidí. Možná je nutné upravit práva této složky.",
"RemotePathMappingCheckFileRemoved": "Soubor {path} byl smazán v průběhu zpracování.",
"RemotePathMappingCheckWrongOSPath": "Vzdálený klient pro stahování {downloadClientName}ukládá stažené soubory do {path}, ale toto není validní cesta pro {osName}. Ověřte nastavení mapování vzdálených cest a klientů pro stahování.",
"Loading": "Načítání",
"NotificationsEmbySettingsSendNotificationsHelpText": "Nechat Emby poslat notifikace nastaveným poskytovatelům. Nefunguje s Jellyfin.",
"RemotePathMappingCheckImportFailed": "{appName} nemohl importovat film. Detaily naleznete v logu.",
"RemotePathMappingCheckBadDockerPath": "Používáte docker; klient pro stahování {downloadClientName} ukládá stažené soubory do {path}, ale to není validní cesta pro {osName}. Ověřte nastavení mapování vzdálených cest a klientů pro stahování.",
"RemotePathMappingCheckFolderPermissions": "{appName} vidí, ale nemůže přistupovat do adresáře stahování {path}. Pravděpodobně jde o chybně nastavené oprávnění.{appName}.",
"RemotePathMappingCheckLocalFolderMissing": "Vzdálený klient pro stahování {downloadClientName} ukládá stažené soubory do {path}, ale vypadá to, že taková složka neexistuje. Ověřte nastavení mapování vzdálených cest a klientů pro stahování.",
"IndexerJackettAll": "Indexery, které používají nepodporovaný Jackett endpoint 'all': {indexerNames}",
"RemotePathMappingCheckFilesWrongOSPath": "Vzdálený klient pro stahování {downloadClientName} hlásí soubory v {path}, ale to není validní cesta pro {osName}. Zkontrolujte mapování vzdálených cest a nastavení klienta pro stahování.",
"RemotePathMappingCheckFilesBadDockerPath": "Používáte docker; klient pro stahování {downloadClientName} hlásí soubory v {path}, ale to není validní cesta pro {osName}. Ověřte nastavení mapování vzdálených cest a klientů pro stahování.",
"RemotePathMappingCheckDockerFolderMissing": "Používáte docker; klient pro stahování {downloadClientName} ukládá stažené soubory do {path}, ale vypadá to, že taková složka v tomto konejneru neexistuje. Ověřte nastavení mapování vzdálených cest a klientů pro stahování.",
"RemotePathMappingsInfo": "Mapování vzdálených cest je potřeba pouze ve výjimečných případech. Pokud {appName} a klient pro stahování je na stejném systému, je lepší cesty tak, aby byly všude stejné. Více informací naleznete na [wiki]({wikiLink}).",
"RemotePathMappingCheckRemoteDownloadClient": "Vzdálený klient pro stahování {downloadClientName} hlásí soubory v {path}, ale vypadá to, že taková složka neexistuje. Pravděpodobně chybí nastavení mapování vzdálených cest.",
"SmartReplaceHint": "Pomlčka nebo mezera pomlčka, podle jména",
"EnableProfileHelpText": "Zaškrnutím zapnete profil vydání",
"NotificationsEmbySettingsUpdateLibraryHelpText": "Aktualizovat knihovnu při importu, přejmenování nebo smazání?",
"NotificationsKodiSettingsDisplayTime": "Zobrazit čas",
"LogSizeLimit": "Limit velikosti logových souborů",
"LogSizeLimitHelpText": "Maximální velikost souboru s logy v MB před jeho archivací. Výchozí je 1MB.",
"Logout": "Odhlásit",
"NoCustomFormatsFound": "Nenalezeny žádné vlastní formáty",
"NotificationsKodiSettingsCleanLibrary": "Vyčistit knihovnu",
"RemoveQueueItem": "Odebrat - {sourceTitle}",
"RemoveSelectedItem": "Odebrat vybranou položku",
"Started": "Běží",
"UseSsl": "Použít SSL",
"LastSearched": "Poslední hledání",
"OnHealthRestored": "Při obnovení zdraví",
"InstanceName": "Jméno instance",
"InfoUrl": "Info URL",
"DownloadClientSettingsPostImportCategoryHelpText": "Kategorie, kterou {appName} nastaví po importu staženého souboru. {appName} nebude odebírat torrenty této kategorie i když už nebudou dále seedovány. Nechte prázdné pro ponechání stejné kategorie.",
"IgnoreDownloadHint": "Zabrání {appName} v dalším zpracování tohoto stahování",
"IndexerSettingsSeedRatio": "Poměr sdílení",
"NotificationsKodiSettingAlwaysUpdateHelpText": "Aktualizovat knihovnu i když se přehrává video?",
"NotificationsPlexSettingsAuthenticateWithPlexTv": "Autentizovat s Plex.tv",
"ParseModalHelpTextDetails": "{appName} se pokusí zpracovat název a ukáže vám výsledek",
"PendingDownloadClientUnavailable": "Čeká - klient pro stahování není dostupný",
"Period": "Období",
"ResetQualityDefinitions": "Obnovit definice kvality",
"SelectReleaseGroup": "Vybrat skupinu vydání",
"IgnoreDownload": "Ignorovat stažení",
"IndexerSettingsApiUrlHelpText": "Neměňte tohle, pokud nevíte, co děláte. Váš API klíč bude odeslán na toho hosta.",
"IndexerSettingsRejectBlocklistedTorrentHashes": "Odmítnout blacklistované hashe torrentů při stahování",
"MassSearchCancelWarning": "Akce nemůže být po spuštění zastavena jinak, než restartem {appName} nebo vypnutím všech indexerů.",
"MonitorSelected": "Monitorovat vybrané",
"NotificationsKodiSettingAlwaysUpdate": "Vždy aktualizovat",
"NotificationsKodiSettingsUpdateLibraryHelpText": "Aktualizovat knihovnu při importu a přejmenování?",
"NotificationsSettingsUseSslHelpText": "Připojovat se k {serviceName} pomocí HTTPS místo HTTP",
"Parse": "Zpracování",
"ParseModalHelpText": "Zadejte název vydání do pole výše",
"RemoveCompletedDownloads": "Odebrat dokončená stahování",
"SkipRedownloadHelpText": "Zabraňuje {appName} zkoušet stahovat alternativní vydání pro odebrané položky",
"SmartReplace": "Chytré nahrazení",
"NotificationsPlexSettingsAuthToken": "Autorizační token",
"NotificationsTelegramSettingsIncludeAppName": "Vložit {appName} do titulku",
"NotificationsTelegramSettingsIncludeAppNameHelpText": "Přidat {appName} před titulek zprávy pro odlišení notifikací z jiných aplikací",
"PostImportCategory": "Kategorie po importu",
"PreferProtocol": "Preferovat {preferredProtocol}",
"PreviouslyInstalled": "Minulá instalace",
"ListRefreshInterval": "Interval obnovení seznamu",
"NotificationsSettingsUpdateLibrary": "Aktualizovat knihovnu",
"NotificationsSettingsUpdateMapPathsTo": "Mapovat cestu na",
"RemoveCompleted": "Odebrat dokončené",
"NotificationsEmbySettingsSendNotifications": "Poslat notifikace",
"NotificationsKodiSettingsGuiNotification": "GUI notifikace",
"QueueFilterHasNoItems": "Vybraný filtr fronty nemá žádné položky",
"TestParsing": "Test parsování",
"MissingNoItems": "Žádné chybějící položky",
"SelectIndexerFlags": "Vybrat příznaky indexeru",
"RegularExpressionsTutorialLink": "Více detailů o regulárních výrazech naleznete [zde]({url}).",
"RemoveFailed": "Odebrání selhalo",
"RemoveQueueItemRemovalMethod": "Metoda odebrání",
"UnmonitorSelected": "Nemonitorovat vybrané",
"SizeLimit": "Limit velikosti",
"Space": "Mezera",
"False": "Nepravda",
"IgnoreDownloads": "Ignorovat stahování",
"NotificationsKodiSettingsCleanLibraryHelpText": "Vyčistit knihovnu po aktualizaci",
"DownloadClientSettingsOlderPriority": "Starší priorita",
"FormatShortTimeSpanHours": "{hours} hodin(a/y)",
"FormatRuntimeMinutes": "{minutes}m",
"FormatShortTimeSpanMinutes": "{minutes} minut(a/y)",
"OnApplicationUpdate": "Při aktualizaci aplikace",
"Rejections": "Odmítnutí",
"RemoveMultipleFromDownloadClientHint": "Odebrat stahování a soubory z klienta pro stahování",
"RemoveTagsAutomatically": "Automaticky odebrat tagy",
"RemoveTagsAutomaticallyHelpText": "Automaticky odebrat tagy, pokud podmínky nejsou splněny",
"Repack": "Repack",
"RootFolderPath": "Cesta kořenového adresáře",
"ManageClients": "Spravovat klienty",
"ErrorLoadingContent": "Nastala chyba při načítání obsahu",
"ErrorLoadingItem": "Nastala chyba při načítání této položky",
"ErrorLoadingPage": "Nastala chyba při načítání této stránky",
"IndexerSettingsSeedRatioHelpText": "Poměr, kterého by torrent měl dosáhnout před zastavením sdílení, prázdná hodnota použije výchozí hodnotu klienta stahování. Poměr sdílení by měl být alespoň 1.0 a měl by plnit pravidla indexeru",
"IndexerSettingsSeedTimeHelpText": "Doba, po kterou bude torrent sdílen před zastavením, prázdná hodnota použije výchozí hodnotu klienta stahování",
"Install": "Instalovat",
"InteractiveSearchModalHeaderTitle": "Interaktivní hledání - {title}",
"InvalidUILanguage": "Vaše UI má nastaveno neplatný jazyk, opravte jej a uložte nastavení",
"LabelIsRequired": "Název je vyžadován",
"LogFilesLocation": "Soubory s logy jsou uloževy v {location}",
"ManageCustomFormats": "Spravovat vlastní formáty",
"ManageDownloadClients": "Spravovat klienty stahování",
"ManageFormats": "Spravovat formáty",
"ManageImportLists": "Spravovat importní seznamy",
"ManageIndexers": "Spravovat indexery",
"ManageLists": "Spravovat seznamy",
"Menu": "Menu",
"NoDownloadClientsFound": "Nenalezen žádný klient stahování",
"NoImportListsFound": "Nenalezen žádný importní seznam",
"NoIndexersFound": "Nenalezen žádný indexer",
"NotificationsSettingsWebhookHeaders": "Hlavičky",
"RemoveFromDownloadClientHint": "Odebrat stahování a soubor(y) z klienta pro stahování",
"RemoveQueueItemRemovalMethodHelpTextWarning": "'Odebrat z klienta pro stahování' odebere stahování soubor(y) z klienta pro stahování.",
"RemoveSelectedItems": "Odebrat vybrané položky",
"ResetQualityDefinitionsMessageText": "Opravdu chcete obnovit definice kvality?",
"ResetTitles": "Obnovit názvy",
"ResetDefinitions": "Obnovit definice",
"UnableToImportAutomatically": "Automatický import se nezdařil",
"SkipRedownload": "Přeskočit opětovné stažení",
"FormatShortTimeSpanSeconds": "{seconds} vteřin(a/y)",
"Never": "Nikdy",
"True": "Pravda",
"EnableRssHelpText": "Bude použito, když {appName} pravidelně vyhledává vydání pomocí RSS",
"DownloadClientPriorityHelpText": "Priorita klienta pro stahování od 1 (nejvyšší) do 50 (nejnižší). Výchozí: 1. Pro klienty se stejnou prioritou se používá funkce Round-Robin.",
"IgnoreDownloadsHint": "Zabrání {appName} v dalším zpracování těchto stahování",
"ParseModalErrorParsing": "Chyba zpracování, zkuste to prosím znovu.",
"ParseModalUnableToParse": "Nepodařilo se zpracovat zadaný název, zkuste to prosím znovu.",
"PasswordConfirmation": "Potvrzení hesla",
"RemoveDownloadsAlert": "Natavení \"Odebrání\" byla přesunuta do jednotlivých klientů pro stahování v tabulce výše.",
"RemoveFailedDownloads": "Odebrat neúspěšná stahování",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "'Odebrat z klienta pro stahování' odebere stahování soubory z klienta pro stahování.",
"ResetDefinitionTitlesHelpText": "Obnovit názvy definice včetně jejich hodnot",
"ListRootFolderHelpText": "Kořenová složka, do které budou přidány položky seznamu",
"ThemeHelpText": "Změnit motiv UI, možnost „Auto“ kopíruje nastavení OS pro výběr tmavého nebo světlého režimu. Inspirováno theme.park",
"UpdateAvailableHealthCheckMessage": "Nová verze je k dispozici: {version}",
"SkipFreeSpaceCheckHelpText": "Použijte v případě, kdy {appName} správně nedetekuje volné místo vaší kořenové složky",
"UpdateFiltered": "Aktualizace filtrována",
"EditSelectedCustomFormats": "Upravit vybrané vlastní formáty",
"FormatDateTimeRelative": "{relativeDay}, {formattedDate} {formattedTime}",
"FormatRuntimeHours": "{hours}h",
"FormatTimeSpanDays": "{days}d {time}",
"NotificationsKodiSettingsDisplayTimeHelpText": "Jak dlouho má zůstat notifikace zobrazena (s)",
"IndexerSettingsSeedTime": "Doba sdílení",
"InstallMajorVersionUpdate": "Instalovat aktualizaci",
"InstallMajorVersionUpdateMessage": "Tato aktualizace nainstaluje novou major verzi, která nemusí být kompatibilní s vaším systémem. Pokračovat v instalaci?",
"InstallMajorVersionUpdateMessageLink": "Pro více informací prosím navštivte [{domain}]({url}).",
"InstanceNameHelpText": "Jméno instance v záložce a v syslogu",
"SetIndexerFlags": "Nastavit příznaky indexeru",
"ReleaseProfileIndexerHelpText": "Výběr, jakých indexerů se profil týká",
"DownloadClientQbittorrentValidationCategoryRecommended": "Kategorie je doporučená",
"DownloadClientQbittorrentValidationCategoryUnsupported": "Kategorie není podporována",
"DownloadClientNzbVortexMultipleFilesMessage": "Stažení obsahuje více souborů a nenachází se ve složce úlohy: {outputPath}",
"DownloadClientNzbgetValidationKeepHistoryOverMax": "Nastavení KeepHistory pro NzbGet by mělo být menší než 25000",
"DownloadClientNzbgetValidationKeepHistoryZero": "Nastavení NzbGet pro KeepHistory by mělo být větší než 0",
"SearchForAllMissingMovies": "Vyhledat všechna chybějící alba",
"DownloadClientSettingsOlderPriorityMovieHelpText": "Priorita, která se použije při stahování alb vydaných před více, než 14 dny",
"ImportListsTraktSettingsListType": "Typ umělce",
"DownloadClientQbittorrentValidationCategoryAddFailureDetail": "{appName} nemohl(a) přidat etiketu k {clientName}.",
"IndexerSettingsMinimumSeeders": "Minimální počet seederů aplikací",
"NotificationsGotifySettingsServerHelpText": "URL serveru Apprise, včetně http(s):// a portu, pokud je potřeba",
"ReleaseHash": "Datum vydání",
"SearchForCutoffUnmetMovies": "Vyhledat všechna alba, která nedosáhla nastavené hranice kvality",
"ShowCinemaRelease": "Zobrazit datum vydání kina",
"TodayAt": "{day} v {time}",
"NotificationsPushcutSettingsNotificationName": "Oznámení",
"NotificationsTagsMovieHelpText": "Posílat notifikace jen pro umělce, co mají alespoň jeden shodný tag",
"RemoveRootFolderMoviesMessageText": "OPravdu chcete odebrat kořenovou složku '{name}'? Soubory ani složky nebudou smazány a umělci v této složce nebudou odebrány z {appName}.",
"SearchForAllMissingMoviesConfirmationCount": "Opravdu chcete vyhledat všechna ({totalRecords}) chybějící alba?",
"ShowDigitalRelease": "Zobrazit datum vydání kina",
"ShowPhysicalRelease": "Datum fyzického vydání",
"Trending": "čekající",
"NotificationsGotifySettingIncludeMoviePoster": "Zahrnout plakát",
"NotificationsGotifySettingIncludeMoviePosterHelpText": "Zahrnout plakát do zprávy",
"NotificationsSettingsUpdateMapPathsFrom": "Mapovat cestu na",
"MinimumCustomFormatScoreIncrement": "Minimální skóre vlastního formátu",
"MovieCollectionRootFolderMissingRootHealthCheckMessage": "Chybí kořenový adresář pro import seznamu: {rootFolderInfo}",
"SetReleaseGroup": "Vybrat skupinu vydání",
"DownloadClientSettingsCategorySubFolderHelpText": "Výchozí záložní kategorie, pokud pro vydání neexistuje žádná namapovaná kategorie. Přidáním kategorie specifické pro {appName} se zabrání konfliktům s nesouvisejícími stahováními, která nejsou {appName}. Použití kategorie je nepovinné, ale důrazně se doporučuje. Vytvoří podadresář [kategorie] ve výstupním adresáři.",
"DownloadClientValidationAuthenticationFailure": "Vyžadováno ověření",
"InvalidMovieInfoLanguageLanguage": "Vaše UI má nastaveno neplatný jazyk, opravte jej a uložte nastavení",
"LanguagesLoadError": "Značky nelze načíst",
"OnFileUpgrade": "Při upgradu",
"OneMinute": "Minut",
"ReleaseProfileTagMovieHelpText": "Profily vydání se aplikují na umělce s alespoň jedním shodným tagem. Nechte prázdné pro aplikaci na všechny umělce",
"RemotePathMappingCheckDownloadPermissions": "{appName} sice vidí, ale nemůže přistupovat ke stažené hudbě {0}. Pravděpodobně chybně nastavené v oprávnění.",
"DownloadClientQbittorrentValidationCategoryAddFailure": "Konfigurace etikety selhala",
"DownloadClientUTorrentTorrentStateError": "Deluge hlásí chybu",
"DownloadIgnoredMovieTooltip": "Stahování ignorováno",
"ImportListsTraktSettingsAdditionalParametersHelpText": "Dodatečné parametry",
"ImportListsTraktSettingsYears": "Rok",
"ListQualityProfileHelpText": "Profil kvality se kterým by měly být přidány položky seznamu stahování",
"MovieEditRootFolderHelpText": "Přesun umělců do stejné kořenové složky může být použito k přejmenování složek umělců, takže budou odpovídat jmenné konvenci",
"DownloadClientSettingsCategoryHelpText": "Výchozí záložní kategorie, pokud pro vydání neexistuje žádná namapovaná kategorie. Přidáním kategorie specifické pro {appName} se zabrání konfliktům s nesouvisejícími stahováními, která nejsou {appName}. Použití kategorie je nepovinné, ale důrazně se doporučuje.",
"DownloadClientSettingsRecentPriorityMovieHelpText": "Priorita, která se použije při stahování alb vydaných v posledních 14 dnech",
"FavoriteFolderRemove": "Odeberte kořenovou složku",
"MovieMatchType": "Hledat typy",
"SearchForCutoffUnmetMoviesConfirmationCount": "Opravdu chcete vyhledat všechna alba ({totalRecords}), která nedosáhla nastavené hranice kvality?",
"DownloadClientQbittorrentTorrentStateError": "Deluge hlásí chybu",
"MovieDownloaded": "Stahování ignorováno",
"ReleasePush": "Datum vydání",
"CinemaRelease": "Zobrazit datum vydání kina"
}

View File

@@ -1116,5 +1116,74 @@
"IndexerHDBitsSettingsCodecs": "codec",
"IndexerHDBitsSettingsMediums": "Medium",
"IndexerSettingsCategories": "Kategorier",
"ReleaseProfile": "udgivelsesprofil"
"ReleaseProfile": "udgivelsesprofil",
"ResetDefinitions": "Kvalitetsdefinitioner",
"UnableToLoadCollections": "Kunne ikke indlæse begrænsninger",
"EditAutoTag": "Tilføj automatisk etiket",
"Trending": "Verserende",
"OneMinute": "Protokoller",
"ShowCinemaRelease": "Vis biografens udgivelsesdato",
"ShowDigitalRelease": "Vis biografens udgivelsesdato",
"RemoveQueueItemRemovalMethodHelpTextWarning": "Fjernelse fjerner download og fil (er) fra download-klienten.",
"ManageCustomFormats": "Bruger Tilpasset Formater",
"ManageDownloadClients": "Download Klienter",
"MinimumCustomFormatScoreIncrement": "Minimum tilpasset format score",
"NotificationsPushcutSettingsNotificationName": "Notifikationer",
"RemoveSelectedItems": "Fjern valgte",
"CustomFormatJson": "Bruger Tilpasset Formater",
"CustomFormatsSpecificationMinimumSize": "Maksimal størrelse",
"DownloadClientFloodSettingsStartOnAdd": "Søg på Tilføj",
"EditSelectedDownloadClients": "Slet Download Client",
"FavoriteFolderRemove": "Fjern rodmappen",
"FormatRuntimeMinutes": "Protokoller",
"NotificationsEmbySettingsSendNotifications": "Notifikationer",
"Category": "Tilføj Kategori",
"ClearBlocklistMessageText": "Er du sikker på, at du vil fjerne de valgte emner fra sortlisten?",
"PendingDownloadClientUnavailable": "Downloadklienten er ikke tilgængelig",
"ReleaseHash": "Slip datoer",
"RootFolderPath": "Rodmappe",
"SetIndexerFlags": "Indexer Flag",
"SetReleaseGroup": "Slip gruppe",
"ShowPhysicalRelease": "Fysisk udgivelsesdato",
"SelectIndexerFlags": "Slet Indexer",
"DeleteSelectedIndexersMessageText": "Er du sikker på, at du vil slette de valgte filmfiler?",
"DownloadClientSettingsOlderPriority": "Indekseringsprioritet",
"ApplicationURL": "Applikationer",
"AutomaticAdd": "Automatisk",
"EditSelectedIndexers": "Slet Indexer",
"EditSelectedMovies": "Slet valgte filmfiler",
"AudioLanguages": "Multi-sprog",
"AuthenticationMethod": "Godkendelse",
"ResetQualityDefinitions": "Kvalitetsdefinitioner",
"AutoTaggingRequiredHelpText": "Denne {implementationName}-betingelse skal matche for at det tilpassede format kan anvendes. Ellers er et enkelt {implementationName}-match tilstrækkeligt.",
"AutoTaggingSpecificationStudio": "Studio",
"AutoTaggingSpecificationGenre": "Genrer",
"DeleteSelected": "Slet valgte film",
"DeleteSelectedCustomFormatsMessageText": "Er du sikker på, at du vil slette de valgte filmfiler?",
"EditCollection": "Samling",
"CountIndexersSelected": "{count} film er valgt",
"DeleteAutoTag": "Slet tag",
"DeleteMovieFolderCountConfirmation": "Er du sikker på, at du vil slette de valgte filmfiler?",
"DeleteMovieFolderCountWithFilesConfirmation": "Er du sikker på, at du vil slette de valgte filmfiler?",
"DeleteSelectedDownloadClientsMessageText": "Er du sikker på, at du vil slette de valgte filmfiler?",
"DeleteSelectedImportListsMessageText": "Er du sikker på, at du vil slette de valgte filmfiler?",
"ImportListMultipleMissingRoots": "Der mangler flere rodmapper: {0}",
"LanguagesLoadError": "Kan ikke indlæse tags",
"ManageFormats": "Bruger Tilpasset Formater",
"MassSearchCancelWarning": "Dette kan ikke annulleres når først det er startet uden at du deaktiverer alle dine indeksører.",
"OnFileUpgrade": "Ved opgradering",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Fjernelse fjerner download og fil (er) fra download-klienten.",
"ResetTitles": "Udgiv titel",
"Destination": "Destinationssti",
"NotificationsKodiSettingsGuiNotification": "Notifikationer",
"SearchForAllMissingMovies": "Start søgning efter manglende film",
"NotificationsKodiSettingsCleanLibrary": "Rens biblioteksniveau",
"ImportListsTraktSettingsYears": "År",
"SkipRedownload": "Genindlæs",
"RemoveSelectedItem": "Fjern valgte",
"Donate": "Dato",
"SelectReleaseGroup": "Slip gruppe",
"MovieCollectionFolderMultipleMissingRootsHealthCheckMessage": "Der mangler flere rodmapper: {0}",
"ReleasePush": "Slip datoer",
"CinemaRelease": "Vis biografens udgivelsesdato"
}

View File

@@ -30,7 +30,7 @@
"Discover": "Entdecken",
"DiskSpace": "Festplattenplatz",
"DownloadClientCheckNoneAvailableMessage": "Kein Download Client verfügbar",
"DownloadClientCheckUnableToCommunicateMessage": "Kommunikation mit {downloadClientName} nicht möglich.",
"DownloadClientCheckUnableToCommunicateMessage": "Kommunikation mit {downloadClientName} nicht möglich. {errorMessage}",
"DownloadClientStatusCheckAllClientMessage": "Alle Download Clients sind aufgrund von Fehlern nicht verfügbar",
"DownloadClientStatusCheckSingleClientMessage": "Download Clients aufgrund von Fehlern nicht verfügbar: {downloadClientNames}",
"DownloadClients": "Download Clients",
@@ -155,7 +155,7 @@
"Timeleft": "Restzeit",
"TagsSettingsSummary": "Sehen Sie sich alle Tags und deren Verwendung an. Nicht verwendete Tags können entfernt werden",
"SourceTitle": "Quellentitel",
"SizeOnDisk": "Größe",
"SizeOnDisk": "Größe auf dem Laufwerk",
"Size": "Größe",
"Runtime": "Laufzeit",
"Renamed": "Umbenannt",
@@ -563,7 +563,7 @@
"RecyclingBinCleanupHelpTextWarning": "Datien im Papierkorb die älter sind als der gewählte Wert, werden endgültig gelöscht",
"RemotePathMappingsLoadError": "Kann Remote-Pfadzuordnungen nicht laden",
"DeleteEmptyMovieFoldersHelpText": "Lösche leere Filmeordner während des Scans oder wenn Filmdateien gelöscht werden",
"MaximumSizeHelpText": "Maximale Größe für einen Release, der heruntergeladen wird, in MB. Setze auf Null, um es auf unbegrenzt zu setzen.",
"MaximumSizeHelpText": "Maximale Größe für einen Release, der heruntergeladen wird, in MB. Setze auf Null, um es auf unbegrenzt zu setzen",
"ReleaseDates": "VÖ Termine",
"CertificationCountryHelpText": "Wähle ein Land für die Film Zertifizierungen",
"DeleteNotification": "Benachrichtigung löschen",
@@ -615,7 +615,7 @@
"ExcludeMovie": "Film ausschließen",
"SearchIsNotSupportedWithThisIndexer": "Suche wird von diesem Indexer nicht unterstützt",
"EnableInteractiveSearchHelpText": "Wird verwendet, wenn die interaktive Suche verwendet wird",
"EnableAutomaticSearchHelpText": "Wird verwendet, wenn die automatische Suche über die Benutzeroberfläche oder durch {appName} durchgeführt wird.",
"EnableAutomaticSearchHelpText": "Wird verwendet, wenn die automatische Suche über die Benutzeroberfläche oder durch {appName} durchgeführt wird",
"DownloadWarning": "Download Warnung: {warningMessage}",
"Downloading": "wird runtergeladen",
"DownloadFailed": "Download fehlgeschlagen",
@@ -877,7 +877,7 @@
"Hours": "Stunden",
"HomePage": "Hauptseite",
"MoveMovieFoldersRenameFolderWarning": "Dies wird auch den Filmordner nach dem Filmordnerformat aus den Einstellungen umbenennen.",
"FeatureRequests": "Feature Anfragen",
"FeatureRequests": "Funktion anfragen",
"ExternalUpdater": "{appName} ist so konfiguriert, dass es einen externen Aktualisierungsmechanismus verwendet",
"ExcludeTitle": "{0} ausschließen? Dies wird {appName} daran hindern, es automatisch beim Listen synchronisieren hinzuzufügen.",
"ErrorRestoringBackup": "Fehler beim Wiederherstellen der Sicherung",
@@ -1232,7 +1232,7 @@
"DownloadClientDownloadStationValidationSharedFolderMissing": "Der freigegebene Ordner existiert nicht",
"DownloadClientFloodSettingsPostImportTags": "Post-Import-Tags",
"DownloadClientFreeboxSettingsApiUrl": "API-URL",
"DownloadClientFreeboxSettingsApiUrlHelpText": "Definiere die Freebox-API-Basis-URL mit der API-Version, z. B. '{url}', standardmäßig '{defaultApiUrl}'.",
"DownloadClientFreeboxSettingsApiUrlHelpText": "Definiere die Freebox-API-Basis-URL mit der API-Version, z. B. '{url}', standardmäßig '{defaultApiUrl}'",
"DownloadClientNzbVortexMultipleFilesMessage": "Der Download enthält mehrere Dateien und befindet sich nicht in einem Jobordner: {outputPath}",
"DownloadClientQbittorrentSettingsFirstAndLastFirst": "Erster und Letzter Erster",
"DownloadClientQbittorrentSettingsFirstAndLastFirstHelpText": "Laden Sie zuerst das erste und das letzte Stück herunter (qBittorrent 4.1.0+)",
@@ -1304,7 +1304,7 @@
"DownloadClientQbittorrentValidationQueueingNotEnabled": "Warteschlangen nicht aktiviert",
"DownloadClientQbittorrentValidationQueueingNotEnabledDetail": "Torrent Warteschlange ist in Ihren qBittorrent-Einstellungen nicht aktiviert. Aktivieren Sie es in qBittorrent oder wählen Sie „Letzte“ als Priorität.",
"DownloadClientQbittorrentValidationRemovesAtRatioLimit": "qBittorrent ist so konfiguriert, dass Torrents entfernt werden, wenn sie ihr Share-Ratio-Limit erreichen",
"DownloadClientQbittorrentValidationRemovesAtRatioLimitDetail": "{appName} kann das Handling abgeschlossener Downloads wie konfiguriert nicht durchführen. Du kannst das in qBittorrent beheben ('Werkzeuge -> Optionen...' im Menü), indem du 'Optionen -> BitTorrent -> Share Ratio Limiting' von 'Entfernen' auf 'Pausieren' änderst.",
"DownloadClientQbittorrentValidationRemovesAtRatioLimitDetail": "{appName} kann das Handling abgeschlossener Downloads wie konfiguriert nicht durchführen. Du kannst das in qBittorrent beheben ('Werkzeuge -> Optionen...' im Menü), indem du 'Optionen -> BitTorrent -> Share Ratio Limiting' von 'Entfernen' auf 'Pausieren' änderst",
"DownloadClientRTorrentSettingsAddStopped": "Hinzufügen gestoppt",
"DownloadClientRTorrentSettingsAddStoppedHelpText": "Durch die Aktivierung werden Torrents und Magnete im gestoppten Zustand zu rTorrent hinzugefügt. Dadurch können Magnetdateien beschädigt werden.",
"DownloadClientRTorrentSettingsUrlPathHelpText": "Pfad zum XMLRPC-Endpunkt, siehe {url}. Dies ist normalerweise RPC2 oder [Pfad zu ruTorrent]{url2}, wenn ruTorrent verwendet wird.",
@@ -1975,7 +1975,7 @@
"ImportListsRadarrSettingsTagsHelpText": "Tags von der Quellinstanz zum Importieren",
"EditMovieCollectionModalHeader": "Bearbeiten - {title}",
"DownloadClientUTorrentProviderMessage": "uTorrent ist dafür bekannt, dass es Kryptominer, Malware und Werbung enthält. Wir empfehlen dringend einen anderen Client zu wählen.",
"DefaultNameCopiedImportList": "{name} Kopieren",
"DefaultNameCopiedImportList": "{name} - Kopieren",
"ReleaseProfile": "Release-Profil",
"ImportListsTraktSettingsCertificationMovieHelpText": "Filtriere Filme nach einem Zertifikat(NR,G,PG,PG-13,R,NC-17)(Beistrich getrennt)",
"ImportListsTraktSettingsRatingMovieHelpText": "Sortiere Filme nach Bewertung (0-100)",
@@ -2002,7 +2002,7 @@
"ImportListsRadarrSettingsFullUrlHelpText": "URL, mit Port von der {appName} Instanz für den Import von (Radarr 3.0 oder älter)",
"AutoTaggingSpecificationKeyword": "Schlüsselwort(e)",
"BlocklistedAt": "Zur Sperrliste hinzugefügt am {date}",
"CloneImportList": "Import Liste importieren",
"CloneImportList": "Import Liste duplizieren",
"FileSize": "Dateigröße",
"NotificationsPushcutSettingsMetadataLinks": "Metadaten-Links",
"NotificationsPushcutSettingsMetadataLinksHelpText": "Füge Links zu den Serienmetadaten hinzu, wenn Benachrichtigungen gesendet werden",
@@ -2013,5 +2013,21 @@
"ICalReleaseTypes": "Veröffentlichungstypen",
"ICalReleaseTypesMoviesHelpText": "Nur Filme mit bestimmten Veröffentlichungstypen im iCal-Feed einbeziehen. Wenn nicht angegeben, werden alle Optionen verwendet.",
"IndexerFileListSettingsCategoriesHelpText": "Kategorien zur Verwendung in Suche und Feeds. Wenn nicht angegeben, werden alle Optionen verwendet.",
"ImportListsTraktSettingsGenresMovieHelpText": "Filme nach Trakt-Genre-Slug filtern (durch Kommas getrennt) nur für beliebte Listen"
"ImportListsTraktSettingsGenresMovieHelpText": "Filme nach Trakt-Genre-Slug filtern (durch Kommas getrennt) nur für beliebte Listen",
"SelectMovieModalTitle": "{modalTitle} Ordner auswählen",
"MovieEditRootFolderHelpText": "Durch das Verschieben von Serien in denselben Stammordner können Serienordner umbenannt werden, um sie an den aktualisierten Titel oder das Benennungsformat anzupassen",
"UpdateMoviePath": "Update-Serie-Pfad",
"NotificationsAppriseSettingsIncludePoster": "Film-Poster einbeziehen",
"NotificationsAppriseSettingsIncludePosterHelpText": "Film-Poster in Nachricht einbeziehen",
"Keywords": "Schlüsselwort(e)",
"ShowCinemaRelease": "Erscheinungsdatum des Kinos anzeigen",
"ShowDigitalRelease": "Erscheinungsdatum des Kinos anzeigen",
"ShowPhysicalRelease": "Disc Veröffentlichungsdatum",
"RemoveRootFolderMoviesMessageText": "Sind sie sicher dass Sie den Stammordner '{name}' löschen möchten? Dateien und Ordner werden nicht gelöscht. Künstler in diesem Stammordner werden nicht von {appName} entfernt.",
"NotificationsPushcutSettingsIncludePoster": "Film-Poster einbeziehen",
"NotificationsPushoverSettingsTtl": "Lebenszeit",
"NotificationsPushoverSettingsTtlHelpText": "Zeit in Sekunden bevor die Nachricht abläuft. Auf 0 setzen für unendliche Dauer",
"FilterMoviePropertiesOnlyNotFileWarning": "Filter sind für die Eigenschaften eines Filmes verfügbar, sie sind nicht für die Eigenschaften von Dateien vorgesehen.",
"IndexerSettingsRemoveYearHelpText": "Soll {appName} das Jahr nach dem Filter entfernen wenn dieser Indexer durchsucht wird?",
"IndexerSettingsRequiredFlags": "Benötigte Markierungen"
}

View File

@@ -1250,5 +1250,72 @@
"IndexerHDBitsSettingsCategories": "Κατηγορίες",
"IndexerHDBitsSettingsMediums": "Μεσαίο",
"IndexerSettingsMinimumSeeders": "Ελάχιστοι σπαρτήρες",
"ReleaseProfile": "Προφίλ έκδοσης"
"ReleaseProfile": "Προφίλ έκδοσης",
"AutoTaggingSpecificationStudio": "Στούντιο",
"NotificationsKodiSettingsGuiNotification": "Ειδοποιήσ",
"RemoveQueueItemRemovalMethodHelpTextWarning": "Η κατάργηση θα καταργήσει τη λήψη και τα αρχεία από τον πελάτη λήψης.",
"SetIndexerFlags": "Σημαίες ευρετηρίου",
"ImportListsTraktSettingsListType": "Τύπος καλλιτέχνη",
"PendingDownloadClientUnavailable": "Ο πελάτης λήψης δεν είναι διαθέσιμος",
"ImportListsTraktSettingsYears": "Ετος",
"ManageCustomFormats": "Προσαρμοσμένη μορφή κλώνου",
"ManageDownloadClients": "Προγράμματα Λήψης",
"NotificationsPushcutSettingsNotificationName": "Ειδοποιήσ",
"OneMinute": "Λεπτά",
"ShowImdbRating": "Αξιολόγηση στο IMDb",
"AddCustomFilter": "Custom Φιλτρα",
"CustomFormatsSpecificationMinimumSize": "Μέγιστο μέγεθος",
"DeleteMovieFolderCountWithFilesConfirmation": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;",
"DeleteSelectedIndexersMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;",
"DownloadClientValidationAuthenticationFailure": "Απαιτείται πιστοποίηση",
"DownloadIgnoredMovieTooltip": "Λήψη Εισήχθη",
"EditDownloadClientImplementation": "Προσθήκη",
"EditImportListImplementation": "Προσθήκη",
"EditSelectedIndexers": "Αναζήτηση ευρετηρίων",
"FavoriteFolderRemove": "Κατάργηση ριζικού φακέλου",
"ShowDigitalRelease": "Εμφάνιση ημερομηνίας κυκλοφορίας κινηματογράφου",
"Donate": "Ημερομηνία",
"ShowTmdbRating": "Αξιολόγηση TMDb",
"SkipRedownloadHelpText": "Αποτρέπει το {appName} από το να δοκιμάσει τη λήψη εναλλακτικών εκδόσεων για τα αφαιρεμένα στοιχεία",
"Trending": "εκκρεμής",
"LanguagesLoadError": "Δεν είναι δυνατή η φόρτωση ετικετών",
"CustomFormatJson": "Προσαρμοσμένη μορφή",
"OnFileUpgrade": "Κατά την αναβάθμιση",
"ReleaseHash": "Ημερομηνίες κυκλοφορίας",
"ShowCinemaRelease": "Εμφάνιση ημερομηνίας κυκλοφορίας κινηματογράφου",
"TraktRating": "Βαθμολογία ντομάτας",
"NotificationsEmbySettingsSendNotifications": "Ειδοποιήσεις",
"MinimumCustomFormatScoreIncrement": "Ελάχιστη βαθμολογία προσαρμοσμένης μορφής",
"AddDownloadClientImplementation": "Προσθήκη - {implementationName}",
"AddImportList": "Τόπος αγώνων",
"AddImportListImplementation": "Προσθήκη - {implementationName}",
"AddCondition": "Προσθήκη Σύνδεσης",
"LogSizeLimit": "Όριο μεγέθους",
"ClearBlocklistMessageText": "Είστε σίγουροι πως θέλετε να διαγράψετε τα επιλεγμένα αντικείμενα από τη λίστα αποκλεισμού;",
"ManageFormats": "Προσαρμοσμένη μορφή κλώνου",
"DeleteSelectedCustomFormatsMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;",
"DeleteSelectedDownloadClientsMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;",
"AudioLanguages": "Πολλαπλών γλωσσών",
"DeleteSelectedImportListsMessageText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;",
"AuthenticationMethod": "Αυθεντικοποίηση",
"AutoTaggingSpecificationGenre": "Είδη",
"DeleteAutoTag": "Διαγραφή ετικέτας",
"DeleteMovieFolderCountConfirmation": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία ταινιών;",
"Destination": "Διαδρομή προορισμού",
"DownloadClientSettingsOlderPriority": "Προτεραιότητα ευρετηρίου",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Η κατάργηση θα καταργήσει τη λήψη και τα αρχεία από τον πελάτη λήψης.",
"SelectIndexerFlags": "Αναζήτηση ευρετηρίων",
"DownloadClientFloodSettingsStartOnAdd": "Αναζήτηση στο Προσθήκη",
"EditSelectedDownloadClients": "Διαγραφή προγράμματος-πελάτη λήψης",
"EditSelectedImportLists": "Διαγραφή επιλεγμένου καλλιτέχνη",
"NotificationsKodiSettingsCleanLibrary": "Καθαρό επίπεδο βιβλιοθήκης",
"CloneImportList": "Διαγραφή λίστας εισαγωγής",
"FormatRuntimeMinutes": "Λεπτά",
"MassSearchCancelWarning": "Αυτό δεν μπορεί να ακυρωθεί μόλις ξεκινήσει η απενεργοποίηση όλων των ευρετηριωτών σας.",
"ShowPhysicalRelease": "Ημερομηνία φυσικής κυκλοφορίας",
"ShowRottenTomatoesRating": "Βαθμολογία ντομάτας",
"MovieDownloaded": "Λήψη Εισήχθη",
"ShowTraktRating": "Βαθμολογία ντομάτας",
"ReleasePush": "Ημερομηνίες κυκλοφορίας",
"CinemaRelease": "Εμφάνιση ημερομηνίας κυκλοφορίας κινηματογράφου"
}

View File

@@ -698,6 +698,7 @@
"FilterNotInNext": "not in the next",
"FilterStartsWith": "starts with",
"Filters": "Filters",
"FilterMoviePropertiesOnlyNotFileWarning": "Filters are available only for the properties of a movie, they are not available for properties of the file(s) you may have for that movie.",
"FirstDayOfWeek": "First Day of Week",
"Fixed": "Fixed",
"Folder": "Folder",
@@ -1339,11 +1340,13 @@
"NotificationsPushoverSettingsDevices": "Devices",
"NotificationsPushoverSettingsDevicesHelpText": "List of device names (leave blank to send to all devices)",
"NotificationsPushoverSettingsExpire": "Expire",
"NotificationsPushoverSettingsExpireHelpText": "Maximum time to retry Emergency alerts, maximum 86400 seconds\"",
"NotificationsPushoverSettingsExpireHelpText": "Maximum time to retry Emergency alerts, maximum 86400 seconds",
"NotificationsPushoverSettingsRetry": "Retry",
"NotificationsPushoverSettingsRetryHelpText": "Interval to retry Emergency alerts, minimum 30 seconds",
"NotificationsPushoverSettingsSound": "Sound",
"NotificationsPushoverSettingsSoundHelpText": "Notification sound, leave blank to use the default",
"NotificationsPushoverSettingsTtl": "Time To Live",
"NotificationsPushoverSettingsTtlHelpText": "Time in seconds before the message expires. Set to 0 for unlimited duration",
"NotificationsPushoverSettingsUserKey": "User Key",
"NotificationsSendGridSettingsApiKeyHelpText": "The API Key generated by SendGrid",
"NotificationsSettingsUpdateLibrary": "Update Library",
@@ -2037,4 +2040,4 @@
"Yesterday": "Yesterday",
"YesterdayAt": "Yesterday at {time}",
"YouCanAlsoSearch": "You can also search using TMDb ID or IMDb ID of a movie. e.g. `tmdb:71663`"
}
}

View File

@@ -954,7 +954,7 @@
"Blocklist": "Lista de bloqueos",
"BlocklistRelease": "Lista de bloqueos de lanzamiento",
"RemoveFromBlocklist": "Eliminar de la lista de bloqueo",
"Blocklisted": "Bloqueados",
"Blocklisted": "Bloqueado",
"BlocklistReleases": "Lista de bloqueos de lanzamientos",
"RemotePathMappingCheckDownloadPermissions": "{appName} puede ver pero no acceder a la película descargada {path}. Probablemente sea un error de permisos.",
"RemotePathMappingCheckFilesGenericPermissions": "El cliente de descarga {downloadClientName} informó de la existencia de archivos en {path} pero {appName} no puede ver este directorio. Es posible que tengas que ajustar los permisos de la carpeta.",
@@ -2036,5 +2036,8 @@
"NotificationsPushcutSettingsIncludePoster": "Incluir póster",
"NotificationsPushcutSettingsIncludePosterHelpText": "Incluir póster con notificación",
"NotificationsPushcutSettingsMetadataLinks": "Enlaces de metadatos",
"NotificationsPushcutSettingsMetadataLinksHelpText": "Añade un enlace a los metadatos de las series cuando se envían notificaciones"
"NotificationsPushcutSettingsMetadataLinksHelpText": "Añade un enlace a los metadatos de las series cuando se envían notificaciones",
"FilterMoviePropertiesOnlyNotFileWarning": "Los filtros están disponibles solo para las propiedades de una película, no para las propiedades del archivo(s) que puedas tener para esa película.",
"NotificationsPushoverSettingsTtl": "Tiempo de vida",
"NotificationsPushoverSettingsTtlHelpText": "Tiempo en segundos antes de que el mensaje expire. Establecer en 0 para una duración ilimitada"
}

View File

@@ -19,5 +19,46 @@
"AddConditionImplementation": "افزودن شرط - {implementationName}",
"AddConnection": "افزودن پیوند",
"Actions": "اقدامات",
"Activity": "فعالیت"
"Activity": "فعالیت",
"ReleaseProfile": "افزودن نمایه تاخیر",
"AddListExclusion": "افزودن لیست واردات مستثنی",
"AddCustomFormatError": "افزودن برچسب خودکار جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"ImportList": "افزودن لیست واردات",
"ImportListExclusions": "افزودن لیست واردات مستثنی",
"ImportLists": "افزودن لیست واردات",
"MinutesSixty": "۶۰ دقیقه: {0}",
"AddDownloadClientError": "افزودن شرط جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"AddImportListExclusionError": "افزودن شرط جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"AddIndexerError": "افزودن شرط جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"AddListError": "افزودن شرط جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"Connection": "افزودن پیوند",
"Collection": "افزودن پیوند",
"ConnectionLost": "افزودن پیوند",
"AddExclusion": "افزودن لیست واردات مستثنی",
"AddImportListImplementation": "افزودن شرط - {implementationName}",
"AddIndexerImplementation": "افزودن شرط - {implementationName}",
"ReleaseProfiles": "افزودن نمایه تاخیر",
"AddNotificationError": "افزودن شرط جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"AddQualityProfileError": "افزودن نمایه تاخیر جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"AddReleaseProfile": "افزودن نمایه تاخیر",
"AddRemotePathMappingError": "افزودن برچسب خودکار جدید ناموفق بود، لطفا مجددا تلاش کنید.",
"Collections": "افزودن پیوند",
"Connect": "افزودن پیوند",
"Connections": "افزودن پیوند",
"DelayProfile": "افزودن نمایه تاخیر",
"DelayProfiles": "افزودن نمایه تاخیر",
"EditAutoTag": "افزودن برچسب خودکار",
"EditDownloadClientImplementation": "افزودن کلاینت دانلود - {implementationName}",
"EditImportListExclusion": "افزودن لیست واردات مستثنی",
"EditImportListImplementation": "افزودن پیوند - {implementationName}",
"EditDelayProfile": "افزودن نمایه تاخیر",
"EditIndexerImplementation": "افزودن شرط - {implementationName}",
"EditReleaseProfile": "افزودن نمایه تاخیر",
"EditConditionImplementation": "افزودن پیوند - {implementationName}",
"EditConnectionImplementation": "افزودن شرط - {implementationName}",
"DeleteImportListExclusion": "افزودن لیست واردات مستثنی",
"MinutesNinety": "۶۰ دقیقه: {0}",
"EditCollection": "افزودن پیوند",
"DeleteReleaseProfile": "افزودن نمایه تاخیر",
"DeleteDelayProfile": "افزودن نمایه تاخیر"
}

View File

@@ -819,7 +819,7 @@
"SslCertPassword": "SSL-varmenteen salasana",
"SslCertPasswordHelpText": "PFX-tiedoston salasana",
"SslCertPath": "SSL-varmenteen sijainti",
"SslCertPathHelpText": "Pfx-tiedoston sijainti",
"SslCertPathHelpText": "Pfx- tai pem-tiedoston sijainti.",
"SslPort": "SSL-portti",
"StandardMovieFormat": "Tavallisten elokuvien kaava",
"StartImport": "Aloita tuonti",
@@ -1562,7 +1562,7 @@
"TorrentBlackholeSaveMagnetFilesExtensionHelpText": "Magnet-linkeille käytettävä tiedostopääte. Oletus on \".magnet\".",
"DownloadClientDelugeValidationLabelPluginFailure": "Label-tunnisteen määritys epäonnistui.",
"DownloadClientDownloadStationProviderMessage": "{appName} ei voi muodostaa yhteyttä Download Stationiin, jos DSM-tili on määritetty käyttämään kaksivaiheista tunnistautumista.",
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Vaihtoehtoinen jaettu kansio latauksille. Käytä Download Stationin oletussijaintia jättämällä tyhjäksi.",
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Vaihtoehtoinen jaettu kansio latauksille. Käytä Download Stationin oletusta jättämällä tyhjäksi.",
"DownloadClientDownloadStationValidationApiVersion": "Download Stationin rajapinnan versiota ei tueta. Sen tulee olla vähintään {requiredVersion} (versioita {minVersion}{maxVersion} tuetaan).",
"DownloadClientDownloadStationValidationFolderMissingDetail": "Kansiota \"{downloadDir}\" ei ole olemassa. Se on luotava manuaalisesti jaettuun kansioon \"{sharedFolder}\".",
"DownloadClientDownloadStationValidationNoDefaultDestination": "Oletussijaintia ei ole",
@@ -1570,7 +1570,7 @@
"DownloadClientDownloadStationValidationSharedFolderMissing": "Jaettua kansiota ei ole olemassa",
"DownloadClientFloodSettingsAddPaused": "Lisää keskeytettynä",
"DownloadClientFloodSettingsAdditionalTags": "Lisätunnisteet",
"DownloadClientFloodSettingsPostImportTagsHelpText": "Lisää tunnisteet kun lataus on tuotu.",
"DownloadClientFloodSettingsPostImportTagsHelpText": "Lisää tunnisteet kun lataus on tuotu. Näillä kaikilla tunnisteilla merkityt torrentit suodatetaan jonosta, eikä niitä poisteta automaattisesti.",
"DownloadClientFloodSettingsStartOnAdd": "Käynnistä lisättäessä",
"DownloadClientFloodSettingsUrlBaseHelpText": "Lisää Flood-rajapintaan etuliitteen, esim. \"{url}\".",
"DownloadClientFreeboxApiError": "Freebox-rajapinta palautti virheen: {errorDescription}",
@@ -1720,13 +1720,13 @@
"DownloadClientValidationErrorVersion": "Latauspalvelun {clientName} version tulee olla vähintään {requiredVersion}. Ilmoitettu versio on {reportedVersion}.",
"AddListExclusion": "Lisää listapoikkeus",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Vaihtoehtoinen latausten tallennussijainti. Käytä rTorrentin oletusta jättämällä tyhjäksi.",
"ConnectionSettingsUrlBaseHelpText": "Lisää palvelimen {connectionName} URL-osoitteeseen etuliitteen, esim. \"{url}\".",
"ConnectionSettingsUrlBaseHelpText": "Lisää palvelimen {connectionName} URL-osoitteeseen etuliitteen, kuten \"{url}\".",
"UrlBaseHelpText": "Käänteisen välityspalvelimen tukea varten. Oletusarvo on tyhjä.",
"IndexerSettingsMultiLanguageRelease": "Useat kielet",
"IndexerSettingsSeedRatio": "Jakosuhde",
"IndexerSettingsSeedRatioHelpText": "Suhde, joka torrentin tulee saavuttaa ennen sen pysäytystä. Käytä latauspalvelun oletusta jättämällä tyhjäksi. Suhteen tulisi olla ainakin 1.0 ja noudattaa hakupalvelun sääntöjä.",
"IndexerSettingsSeedRatioHelpText": "Jakosuhde, joka torrentin tulee saavuttaa ennen kuin se pysäytetään. Käytä latauspalvelun oletusta jättämällä tyhjäksi. Suhteen tulisi olla vähintään 1.0 ja noudattaa hakupalvelun sääntöjä.",
"IndexerSettingsSeedTime": "Jakoaika",
"IndexerSettingsSeedTimeHelpText": "Aika, joka torrentia tulee jakaa ennen sen pysäytystä. Käytä latauspalvelun oletusta jättämällä tyhjäksi.",
"IndexerSettingsSeedTimeHelpText": "Aika, joka torrentia tulee jakaa ennen kuin se pysäytetään. Käytä latauspalvelun oletusta jättämällä tyhjäksi.",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Vaihtoehtoinen sijainti, johon valmistuneet lataukset siirretään. Käytä Delugen oletusta jättämällä tyhjäksi.",
"MovieIsNotMonitored": "Elokuvaa ei valvota",
"SearchForAllMissingMovies": "Etsi kaikkia puuttuvia elokuvia",
@@ -1786,7 +1786,7 @@
"DownloadClientRTorrentProviderMessage": "rTorrent ei pysäytä torrenteja niiden saavuttaessa jakomääritykset. {appName} suorittaa hakupalveluasetusten jakomäärityksiin perustuvan torrentien automaattisen poiston vain \"Poista valmistuneet\" -asetuksen ollessa käytössä. Tuonnin jälkeen se asettaa näkymän {importedView} rTorrent-näkymäksi, jota voidaan käyttää rTorrentin komentosarjojen kanssa.",
"DownloadClientRTorrentSettingsUrlPathHelpText": "Polku XMLRPC-päätteeseen, ks. \"{url}\". Käytettäessä ruTorrentia tämä on yleensä RPC2 tai [ruTorrentin sijainti]{url2}.",
"DownloadClientSabnzbdValidationCheckBeforeDownloadDetail": "\"Tarkista ennen lataamista\" vaikuttaa {appName}in kykyyn valvoa uusia latauksia. Lisäksi SABnzb suosittelee tämän sijaan \"Peru lataukset, jotka eivät voi valmistua\" -asetusta, koska se on varmatoimisempi.",
"DownloadClientValidationAuthenticationFailureDetail": "Vahvista käyttäjätunnuksesi ja salasanasi. Varmista myös, ettei latauspalveluun {clientName} ole määritetty sääntöjä, jotka estävät {appName}in suorittavaa laitetta tavoittamasta sitä.",
"DownloadClientValidationAuthenticationFailureDetail": "Vahvista kirjautumistietosi. Varmista myös, ettei latauspalveluun {clientName} ole määritetty sääntöjä, jotka estävät {appName}in suorittavaa laitetta tavoittamasta sitä.",
"InvalidMovieInfoLanguageLanguage": "Elokuvatietojen kieliasetus on virheellinen. Korjaa se ja tallenna asetukset.",
"EditionFootNote": "Vaihtoehtoisesti voit hallita lyhennystä tavujen enimmäismäärän perusteella, ellipsi (...) mukaan lukien. Sekä lyhennystä lopusta (esim. \"{versiotunnisteet:30}\"), että alusta (esim. \"{versiotunnisteet:-30}\") tuetaan.",
"EditSelectedCustomFormats": "Muokkaa valittuja mukautettuja muotoja",
@@ -1887,7 +1887,7 @@
"AutoTaggingSpecificationMaximumRuntime": "Enimmäiskesto",
"AutoTaggingSpecificationMinimumRuntime": "Vähimmäiskesto",
"CustomFormatsSpecificationQualityModifier": "Laatumuuttuja",
"ReleaseSource": "Julkaisulähde",
"ReleaseSource": "Julkaisun lähde",
"UserInvokedSearch": "Käyttäjä herätti haun",
"ReleasePush": "Julkaisun työntö",
"Mixed": "Sekoitettu",
@@ -2036,5 +2036,8 @@
"NotificationsPushcutSettingsIncludePoster": "Sisällytä juliste",
"NotificationsPushcutSettingsIncludePosterHelpText": "Näytä juliste ilmoituksessa.",
"NotificationsPushcutSettingsMetadataLinks": "Metatietolinkit",
"NotificationsPushcutSettingsMetadataLinksHelpText": "Lisää lähetettäviin ilmoituksiin linkit median metatietoihin."
"NotificationsPushcutSettingsMetadataLinksHelpText": "Lisää lähetettäviin ilmoituksiin linkit median metatietoihin.",
"FilterMoviePropertiesOnlyNotFileWarning": "Suodattimet koskevat vain itse elokuvan ominaisuuksia, eivät siihen liittyviä tiedostoja.",
"NotificationsPushoverSettingsTtl": "Elinaika",
"NotificationsPushoverSettingsTtlHelpText": "Viestin erääntymisaika sekunteina. Poista rajoitus asettamalla arvoksi 0."
}

View File

@@ -1,19 +1,19 @@
{
"IndexerStatusCheckAllClientMessage": "Tous les indexeurs sont indisponibles en raison d'échecs",
"IndexerSearchCheckNoInteractiveMessage": "Aucun indexeur n'est disponible avec la recherche interactive activée, {appName} ne fournira aucun résultats de recherche interactive",
"IndexerSearchCheckNoInteractiveMessage": "Aucun indexeur n'est disponible avec la recherche interactive activée. {appName} ne fournira aucun résultat de recherche interactive",
"IndexerSearchCheckNoAvailableIndexersMessage": "Tous les indexeurs compatibles avec la recherche sont temporairement indisponibles en raison d'erreurs d'indexation récentes",
"IndexerSearchCheckNoAutomaticMessage": "Aucun indexeur disponible avec la recherche automatique activée, {appName} ne fournira aucun résultat de recherche automatique",
"Indexers": "Indexeurs",
"ImportTipsMessage": "Quelques conseils pour assurer le bon déroulement de l'importation :",
"ImportMechanismHealthCheckMessage": "Activer la gestion des téléchargements terminés",
"ImportHeader": "Importer une bibliothèque organisée existante pour ajouter des films à {appName}",
"ImportHeader": "Importez une bibliothèque organisée pour ajouter des films à {appName}",
"Import": "Importer",
"ICalLink": "Lien iCal",
"Host": "Hôte",
"History": "Historique",
"HideAdvanced": "Masquer les Options Avancées",
"HideAdvanced": "Masquer les options avancées",
"Health": "Santé",
"GrabSelected": "Saisir la sélection",
"GrabSelected": "Récupérer la sélection",
"General": "Général",
"FreeSpace": "Espace libre",
"Formats": "Formats",
@@ -26,7 +26,7 @@
"Edit": "Modifier",
"Downloaded": "Téléchargé",
"DownloadClientStatusCheckAllClientMessage": "Aucun client de téléchargement n'est disponible en raison d'échecs",
"DownloadClients": "Clients de téléchargement",
"DownloadClients": "Téléchargement",
"DownloadClientCheckNoneAvailableMessage": "Aucun client de téléchargement n'est disponible",
"Dates": "Dates",
"Date": "Date",
@@ -36,7 +36,7 @@
"Delete": "Supprimer",
"DelayProfiles": "Profils de retard",
"Day": "Jour",
"CustomFormats": "Formats personnalisés",
"CustomFormats": "Formats perso",
"CustomFilters": "Filtres personnalisés",
"Crew": "Équipe",
"Connections": "Connexions",
@@ -48,7 +48,7 @@
"Calendar": "Calendrier",
"BackupNow": "Sauvegarder maintenant",
"Backup": "Sauvegarde",
"AppDataLocationHealthCheckMessage": "La mise à jour ne sera pas possible afin empêcher la suppression de AppData lors de la mise à jour",
"AppDataLocationHealthCheckMessage": "La mise à jour ne sera pas possible afin d'éviter la suppression des données d'application (AppData)",
"Analytics": "Statistiques",
"All": "Tout",
"AddNewTmdbIdMessage": "Vous pouvez aussi effectuer une recherche de film à l'aide de son identifiant TMDb, par exemple : « tmdb:71663 »",
@@ -61,17 +61,17 @@
"CustomFormatsSettingsSummary": "Formats et paramètres personnalisés",
"IndexerStatusCheckSingleClientMessage": "Indexeurs indisponibles en raison d'échecs : {indexerNames}",
"DownloadClientStatusCheckSingleClientMessage": "Clients de Téléchargement indisponibles en raison d'échecs: {downloadClientNames}",
"SetTags": "Définir des étiquettes",
"SetTags": "Définir les étiquettes",
"ReleaseTitle": "Titre de la version",
"ReleaseStatus": "Statut de la version",
"ReleaseGroup": "Groupe de versions",
"ReleaseGroup": "Groupe de release",
"UpdateCheckUINotWritableMessage": "Impossible d'installer la mise à jour car le dossier d'interface utilisateur '{uiFolder}' n'est pas accessible en écriture par l'utilisateur '{userName}'.",
"UpdateCheckStartupTranslocationMessage": "Impossible d'installer la mise à jour car le dossier de démarrage '{startupFolder}' se trouve dans un dossier App Translocation.",
"UpdateCheckStartupNotWritableMessage": "Impossible d'installer la mise à jour car le dossier de démarrage '{startupFolder}' n'est pas accessible en écriture par l'utilisateur '{userName}'.",
"UnselectAll": "Tout désélectionner",
"Unmonitored": "Non surveillé",
"UiSettingsSummary": "Calendrier, date et les options d'altération des couleurs",
"TagsSettingsSummary": "Voir toutes les étiquettes et comment elles sont utilisées. Les étiquettes inutilisées peuvent être supprimées",
"TagsSettingsSummary": "Voir toutes les étiquettes et leur utilisation. Les étiquettes inutilisées peuvent être supprimées",
"Style": "Style",
"Studio": "Studio",
"Status": "État",
@@ -91,7 +91,7 @@
"Scheduled": "Programmé",
"SaveChanges": "Sauvegarder les modifications",
"Runtime": "Durée",
"RssSync": "Synchro RSS",
"RssSync": "Synchronisation RSS",
"RootFolders": "Dossiers racine",
"RootFolderCheckSingleMessage": "Dossier racine manquant : {rootFolderPath}",
"RootFolderCheckMultipleMessage": "Plusieurs dossiers racine sont manquants : {rootFolderPaths}",
@@ -121,7 +121,7 @@
"Proxy": "Proxy",
"Protocol": "Protocole",
"Progress": "Progression",
"ProfilesSettingsSummary": "Profils de qualité, de langue, de délai et de release",
"ProfilesSettingsSummary": "Profils de qualité, de langue, de délai et de version",
"Profiles": "Profils",
"PreviewRename": "Aperçu Renommer",
"PhysicalRelease": "Sortie physique",
@@ -144,13 +144,13 @@
"ImportListsSettingsSummary": "Importer depuis une autre instance {appName} ou des listes Trakt et gérer les exclusions de listes",
"ImportListExclusions": "Liste des exclusions",
"IndexersSettingsSummary": "Indexeurs et restrictions de version",
"Grabbed": "Saisie",
"Grabbed": "Récupération",
"Genres": "Genres",
"Forecast": "Prévision",
"DownloadClientsSettingsSummary": "Clients de téléchargement, gestion des téléchargements et mappages de chemins d'accès à distance",
"DownloadClientCheckUnableToCommunicateMessage": "Impossible de communiquer avec {downloadClientName}. {errorMessage}",
"DownloadClient": "Client de téléchargement",
"CutoffUnmet": "Limite non satisfaite",
"CutoffUnmet": "Seuil non atteint",
"MonitoredOnly": "Surveillé uniquement",
"Monitor": "Surveiller",
"Missing": "Manquant",
@@ -165,7 +165,7 @@
"Logging": "Enregistrement",
"LogFiles": "Fichiers journaux",
"ImportLists": "Listes",
"IndexerRssHealthCheckNoIndexers": "Aucun indexeur disponible avec la synchronisation RSS activée, {appName} ne récupérera pas automatiquement les nouvelles versions",
"IndexerRssHealthCheckNoIndexers": "La synchronisation RSS n'est activée sur aucun indexeur. {appName} ne pourra pas effectuer de récupérations automatiques",
"IndexerRssHealthCheckNoAvailableIndexers": "Tous les indexeurs compatibles rss sont temporairement indisponibles en raison d'erreurs d'indexation récentes",
"Week": "Semaine",
"Wanted": "Recherché",
@@ -178,7 +178,7 @@
"Titles": "Titres",
"Timeleft": "Temps restant",
"Tasks": "Tâches",
"Tags": "Tags",
"Tags": "Étiquettes",
"System": "Système",
"Year": "Année",
"LastWriteTime": "Heure de la dernière écriture",
@@ -299,8 +299,8 @@
"Conditions": "Conditions",
"ColonReplacementFormatHelpText": "Changer la manière dont {appName} remplace les « deux-points »",
"ColonReplacement": "Remplacement pour le « deux-points »",
"CloneProfile": "Dupliqué le profil",
"CloneIndexer": "Dupliqué l'indexeur",
"CloneProfile": "Dupliquer le profil",
"CloneIndexer": "Dupliquer l'indexeur",
"ClientPriority": "Priorité du client",
"ClickToChangeQuality": "Cliquez pour changer la qualité",
"ClickToChangeLanguage": "Cliquez pour changer de langue",
@@ -332,17 +332,17 @@
"AlreadyInYourLibrary": "Déjà dans la bibliothèque",
"AllowHardcodedSubsHelpText": "Les sous-titres incrustés détectés seront automatiquement téléchargés",
"AllowHardcodedSubs": "Autoriser les sous-titres incrustés (Hardcoded)",
"AgeWhenGrabbed": "Âge (au moment de la saisie)",
"AgeWhenGrabbed": "Âge (au moment de la récupération)",
"AddImportListExclusion": "Ajouter une liste d'exclusion",
"UnmonitorDeletedMovies": "Annuler la surveillance des films supprimés",
"IgnoredAddresses": "Adresses ignorées",
"IconForCutoffUnmet": "Icône pour la date limite non respectée",
"IconForCutoffUnmet": "Icône pour seuil non atteint",
"ICalFeedHelpText": "Copiez cette URL dans votre/vos client(s) ou cliquez pour abonner si votre navigateur est compatible avec webcal",
"ICalFeed": "Flux iCal",
"Hostname": "Nom d'hôte",
"Group": "Groupe",
"GrabRelease": "Saisir Release",
"Grab": "Saisir",
"GrabRelease": "Récupérer la version",
"Grab": "Récupérer",
"Global": "Global",
"GeneralSettings": "Réglages généraux",
"FollowPerson": "Suivre la personne",
@@ -384,8 +384,8 @@
"DeleteCustomFormat": "Supprimer le format personnalisé",
"DeleteBackup": "Supprimer la sauvegarde",
"DatabaseMigration": "Migration des bases de données",
"UpgradeUntilMovieHelpText": "Quand cette qualité est atteinte, {appName} ne téléchargera plus de films",
"UpgradeUntilCustomFormatScoreMovieHelpText": "Quand ce score de format personnalisé est atteint, {appName} ne téléchargera plus de films",
"UpgradeUntilMovieHelpText": "Une fois que cette qualité est atteinte, {appName} ne téléchargera plus de films après que le seuil de score des formats personnalisés aura été atteint ou dépassé",
"UpgradeUntilCustomFormatScoreMovieHelpText": "Une fois que le seuil de qualité est atteint ou dépassé et que ce score de format personnalisé est atteint, {appName} ne récupérera et n'importera plus de mises à jour pour ces films",
"CustomFormatsSettings": "Paramètre des formats personnalisés",
"CreateGroup": "Créer un groupe",
"CreateEmptyMovieFoldersHelpText": "Créer les dossiers films manquants pendant le scan du disque",
@@ -403,7 +403,7 @@
"ImportedTo": "Importé vers",
"IllRestartLater": "Je redémarrerai plus tard",
"IgnoredHelpText": "La version sera rejetée si elle contient au moins l'un de ces termes (insensible à la casse)",
"Cutoff": "Couper",
"Cutoff": "Limite",
"CouldNotFindResults": "Aucun résultat pour « {term} »",
"ClickToChangeMovie": "Cliquer pour changer le film",
"CheckDownloadClientForDetails": "Pour plus de détails, consultez le client de téléchargement",
@@ -420,7 +420,7 @@
"EnableInteractiveSearchHelpText": "Sera utilisé lorsque la recherche interactive est utilisée",
"EnableAutomaticSearchHelpText": "Sera utilisé lorsque les recherches automatiques sont effectuées via l'interface utilisateur ou par {appName}",
"DownloadWarning": "Avertissement de téléchargement : {warningMessage}",
"Downloading": "Téléchargement",
"Downloading": "Téléchargement en cours",
"DeleteRestrictionHelpText": "Voulez-vous vraiment supprimer cette restriction ?",
"DeleteIndexerMessageText": "Voulez-vous vraiment supprimer l'indexeur « {name} » ?",
"CopyToClipboard": "Copier dans le presse-papier",
@@ -445,7 +445,7 @@
"Interval": "Intervalle",
"InteractiveSearch": "Recherche interactive",
"IndexerSettings": "Paramètres de l'indexeur",
"IndexerPriorityHelpText": "Priorité de l'indexeur de 1 (la plus élevée) à 50 (la plus basse). Par défaut : 25. Utilisé lors de la récupération de versions pour départager des versions égales, {appName} utilisera toujours tous les indexeurs activés pour la synchronisation et la recherche RSS",
"IndexerPriorityHelpText": "Priorité de l'indexeur de 1 (La plus haute) à 50 (La plus basse). Par défaut : 25. Utilisée lors de la récupération pour départager des versions identiques ; {appName} continuera d'utiliser tous les indexeurs activés pour la recherche et la synchronisation RSS",
"IndexerPriority": "Priorité de l'indexeur",
"IncludeUnmonitored": "Inclure les non surveillés",
"IncludeRecommendationsHelpText": "Inclure les films recommandés par {appName} dans la vue découverte",
@@ -462,7 +462,7 @@
"ExcludeMovie": "Exclure Film",
"CustomFormatUnknownConditionOption": "Option inconnue '{key}' pour la condition '{implementation}'",
"CustomFormatUnknownCondition": "Condition de format personnalisé inconnue '{implementation}'",
"CloneCustomFormat": "Dupliqué le format personnalisé",
"CloneCustomFormat": "Dupliquer le format personnalisé",
"RootFoldersLoadError": "Impossible de charger les dossiers racine",
"UnableToLoadRestrictions": "Impossible de charger les restrictions",
"RemotePathMappingsLoadError": "Impossible de charger les mappages de chemins distants",
@@ -511,7 +511,7 @@
"MediaManagementSettings": "Paramètres de gestion des médias",
"MediaInfo": "Informations médias",
"Mechanism": "Mécanisme",
"MaximumSizeHelpText": "Taille maximale d'une version à récupérer en Mo. Régler sur zéro pour définir sur illimité",
"MaximumSizeHelpText": "Taille maximale en Mo pour qu'une version soit récupérée. Réglez sur zéro pour une taille illimitée",
"MaximumSize": "Taille maximum",
"MaximumLimits": "Limites maximales",
"MarkAsFailed": "Marquer comme échec",
@@ -532,12 +532,12 @@
"NegateHelpText": "Si coché, le format personnalisé ne s'appliquera pas si cette condition {implementationName} correspond.",
"LastDuration": "Dernière durée",
"IncludeCustomFormatWhenRenamingHelpText": "Inclure dans le format de renommage {Formats personnalisés}",
"GrabReleaseMessageText": "{appName} n'a pas été en mesure de déterminer à quel film cette version était destinée. {appName} peut être incapable d'importer automatiquement cette version. Voulez-vous récupérer '{0}' ?",
"GrabReleaseMessageText": "{appName} n'a pas pu déterminer à quel film cette version correspond. {appName} pourrait être incapable d'importer automatiquement cette version. Voulez-vous récupérer '{0}' ?",
"ExtraFileExtensionsHelpText": "Liste séparée par des virgules des fichiers supplémentaires à importer (.nfo sera importé en tant que .nfo-orig)",
"YouCanAlsoSearch": "Vous pouvez également effectuer une recherche à l'aide de l'ID TMDb ou de l'ID IMDb d'un film. par exemple : `tmdb:71663`",
"WhitelistedSubtitleTags": "Étiquettes de sous-titres sur liste blanche",
"WhitelistedHardcodedSubsHelpText": "Les étiquettes de sous-titres définies ici ne seront pas considérées comme codées en dur",
"UsenetDelayHelpText": "Délai en minutes avant de récupérer une release de Usenet",
"WhitelistedSubtitleTags": "Étiquettes de sous-titres autorisées",
"WhitelistedHardcodedSubsHelpText": "Les étiquettes de sous-titres définies ici ne seront pas considérées comme intégrées",
"UsenetDelayHelpText": "Délai en minutes à attendre avant la récupération d'une version depuis Usenet",
"Uptime": "Disponibilité",
"UpgradeUntilThisQualityIsMetOrExceeded": "Mise à niveau jusqu'à ce que cette qualité soit atteinte ou dépassée",
"UpgradesAllowedHelpText": "Si désactivé, les qualités ne seront pas améliorées",
@@ -567,18 +567,18 @@
"AddDownloadClientError": "Impossible d'ajouter un nouveau client de téléchargement, veuillez réessayer.",
"AddCustomFormatError": "Impossible d'ajouter un nouveau format personnalisé, veuillez réessayer.",
"AddConditionError": "Impossible d'ajouter une nouvelle condition, veuillez réessayer.",
"TorrentDelayHelpText": "Délai en minutes avant de récupérer un torrent",
"TorrentDelayHelpText": "Délai en minutes à attendre avant la récupération d'un torrent",
"TorrentDelay": "Retard du torrent",
"TagIsNotUsedAndCanBeDeleted": "L'étiquette n'est pas utilisée et peut être supprimée",
"ICalTagsMoviesHelpText": "S'applique aux films avec au moins une balise correspondante",
"ICalTagsMoviesHelpText": "S'applique aux films possédant au moins une étiquette correspondante",
"FileBrowserPlaceholderText": "Commencer à écrire ou sélectionner un chemin ci-dessous",
"ProtocolHelpText": "Choisissez quel(s) protocole(s) utiliser et lequel est préféré lorsque vous choisissez entre des versions par ailleurs égales",
"PreferIndexerFlagsHelpText": "Prioriser les versions avec des indicateurs spéciaux",
"PreferIndexerFlags": "Préférer les indicateurs d'indexation",
"NoTagsHaveBeenAddedYet": "Aucune identification n'a été ajoutée pour l'instant",
"MinimumAgeHelpText": "Usenet uniquement : âge minimum en minutes des NZB avant leur saisie. Utilisez-le pour donner aux nouvelles versions le temps de se propager à votre fournisseur Usenet.",
"NoTagsHaveBeenAddedYet": "Aucune étiquette n'a encore été ajoutée",
"MinimumAgeHelpText": "Usenet uniquement : Âge minimum des NZB en minutes avant leur récupération. Utilisez cette option pour laisser le temps aux nouvelles versions de se propager chez votre fournisseur Usenet.",
"MinimumCustomFormatScoreHelpText": "Score de format personnalisé minimum autorisé à télécharger",
"IndexerFlags": "Drapeaux de l'indexeur",
"IndexerFlags": "Indicateurs de l'indexeur",
"IncludeCustomFormatWhenRenaming": "Inclure un format personnalisé lors du changement de nom",
"DeleteTagMessageText": "Voulez-vous vraiment supprimer l'étiquette '{label}' ?",
"DeleteDelayProfile": "Supprimer le profil de retard",
@@ -596,7 +596,7 @@
"TestAllClients": "Tester tous les clients",
"TagCannotBeDeletedWhileInUse": "Ne peut pas être supprimé pendant l'utilisation",
"SuggestTranslationChange": "Suggérer un changement de traduction",
"AddNewMovieRootFolderHelpText": "'{0}' le sous-dossier sera créé automatiquement",
"AddNewMovieRootFolderHelpText": "Le sous-dossier '{folder}' sera créé automatiquement",
"StartupDirectory": "Répertoire de démarrage",
"StandardMovieFormat": "Format de film standard",
"SslPort": "Port SSL",
@@ -618,7 +618,7 @@
"ShowMovieInformation": "Afficher les informations sur le film",
"ShowMonitoredHelpText": "Affiche l'état de surveillance sous le poster",
"ShowGenres": "Afficher les genres",
"IconForCutoffUnmetHelpText": "Afficher l'icône des fichiers lorsque la limite n'a pas été atteinte",
"IconForCutoffUnmetHelpText": "Afficher une icône pour les fichiers dont le seuil n'est pas atteint",
"ShowCertification": "Afficher la certification",
"ICalShowAsAllDayEvents": "Afficher comme événements d'une journée entière",
"ListMonitorMovieHelpText": "Les films ou les collections ajoutés par cette liste devraient-ils être ajoutés en tant que surveillés",
@@ -650,11 +650,11 @@
"ReplaceIllegalCharacters": "Remplacer les caractères illégaux",
"Reorder": "Réorganiser",
"RenameMoviesHelpText": "{appName} utilisera le nom de fichier existant si le changement de nom est désactivé",
"RemovingTag": "Supprimer la balise",
"RemovingTag": "Suppression de l'étiquette",
"RadarrTags": "Étiquettes {appName}",
"Paused": "En pause",
"MarkAsFailedConfirmation": "Voulez-vous vraiment marquer '{0}' comme échoué ?",
"ExistingTag": "Balise existante",
"MarkAsFailedConfirmation": "Voulez-vous vraiment marquer '{sourceTitle}' comme ayant échoué ?",
"ExistingTag": "Étiquette existante",
"DownloadPropersAndRepacksHelpTextWarning": "Utilisez des formats personnalisés pour les mises à niveau automatiques vers Propers/Repacks",
"DownloadPropersAndRepacksHelpTextCustomFormat": "Utiliser 'Ne pas préférer' pour trier par score de mot préféré par rapport aux propres/repacks",
"DownloadPropersAndRepacksHelpText": "S'il faut ou non mettre à niveau automatiquement vers Propres/Repacks",
@@ -668,7 +668,7 @@
"RemovedFromTaskQueue": "Supprimé de la file d'attente des tâches",
"RemoveCompletedDownloadsHelpText": "Supprimer les téléchargements importés de l'historique du client de téléchargement",
"Remove": "Retirer",
"ReleaseRejected": "Release rejetée",
"ReleaseRejected": "Version rejetée",
"ReleaseDates": "Date de sortie",
"RegularExpressionsCanBeTested": "Les expressions régulières peuvent être testées [ici]({url}).",
"RefreshMovie": "Actualiser le film",
@@ -689,8 +689,8 @@
"QualitySettings": "Paramètres de qualité",
"PublishedDate": "Date de publication",
"ProxyUsernameHelpText": "Il vous suffit de saisir un nom d'utilisateur et un mot de passe si nécessaire. Sinon, laissez-les vides.",
"ProxyType": "Type de mandataire",
"ProxyPasswordHelpText": "Il vous suffit de saisir un nom d'utilisateur et un mot de passe si nécessaire. Sinon, laissez-les vides.",
"ProxyType": "Type de proxy",
"ProxyPasswordHelpText": "Saisissez un nom d'utilisateur et un mot de passe uniquement s'ils sont requis. Sinon, laissez ces champs vides.",
"Proper": "Approprié",
"Priority": "Priorité",
"PreferredSize": "Taille préférée",
@@ -729,8 +729,8 @@
"MovieIsOnImportExclusionList": "Film sur la liste d'exclusion d'importation",
"MovieFolderFormat": "Format de dossier de film",
"MinimumFreeSpaceHelpText": "Empêcher l'importation si elle laisse moins d'espace disque disponible que cette quantité",
"MIA": "MIA",
"LaunchBrowserHelpText": " Ouvrer un navigateur et accéder à la page d'accueil de {appName} au démarrage de l'application.",
"MIA": "Indisponible",
"LaunchBrowserHelpText": " Ouvrir un navigateur Web et accéder à la page d'accueil de {appName} au démarrage de l'application.",
"KeyboardShortcutsCloseModal": "Fermer cette fenêtre modale",
"AddingTag": "Ajout d'une étiquette",
"KeyboardShortcutsConfirmModal": "Accepter les modalités d'utilisation",
@@ -793,7 +793,7 @@
"CurrentlyInstalled": "Actuellement installé",
"Custom": "Personnaliser",
"CustomFormat": "Format personnalisé",
"CustomFormatHelpText": "{appName} attribue un score pour chaque release en additionnant les scores des formats personnalisés correspondants. Si une nouvelle release permet d'améliorer le score, pour une qualité identique ou supérieure, alors {appName} la téléchargera.",
"CustomFormatHelpText": "{appName} attribue un score à chaque version en additionnant les points des formats personnalisés correspondants. Si une nouvelle version permet d'améliorer ce score, à qualité égale ou supérieure, {appName} la récupérera.",
"Days": "Jours",
"Debug": "Déboguer",
"DefaultCase": "Case par défaut",
@@ -842,7 +842,7 @@
"InvalidFormat": "Format invalide",
"LastExecution": "Dernière exécution",
"ListSyncLevelHelpTextWarning": "Les fichiers vidéo seront définitivement supprimés, cela peut entraîner l'effacement de votre bibliothèque si vos listes sont vides",
"ListTagsHelpText": "Les éléments de la liste de balises seront ajoutés avec",
"ListTagsHelpText": "Les éléments de la liste d'étiquettes seront ajoutés avec",
"Max": "Max",
"Medium": "Moyen",
"Minutes": "Minutes",
@@ -850,10 +850,10 @@
"MovieFilesTotaling": "Totalisation des fichiers vidéo",
"NextExecution": "Prochaine exécution",
"NoEventsFound": "Aucun événement trouvé",
"MoveMovieFoldersDontMoveFiles": " Non, je vais déplacer les fichiers moi-même",
"MoveMovieFoldersDontMoveFiles": "Non, je déplacerai les fichiers moi-même",
"None": "Aucun",
"NoResultsFound": "Aucun résultat trouvé",
"OnGrab": "Lors de la saisie",
"OnGrab": "Lors de la récupération",
"OnHealthIssue": "Lors de problème de santé",
"OnLatestVersion": "La dernière version de {appName} est déjà installée",
"OnlyTorrent": "Uniquement Torrent",
@@ -865,7 +865,7 @@
"ReleasedMovieDescription": "Le film est sorti",
"TMDb": "TMDb",
"ImportNotForDownloads": "Ne pas utiliser pour importer des téléchargements à partir de votre client de téléchargement, cela concerne uniquement les bibliothèques organisées existantes, pas les fichiers non triés.",
"PreferUsenet": "Préférer Usenet",
"PreferUsenet": "Préfère Usenet",
"ReplaceWithDash": "Remplacer par un tiret",
"InCinemasDate": "Dans les cinémas Date",
"InstallLatest": "Installer la dernière",
@@ -882,7 +882,7 @@
"MinimumCustomFormatScore": "Score minimum de format personnalisé",
"MonitoredStatus": "Surveillé/Statut",
"Months": "Mois",
"MoveMovieFoldersToRootFolder": "Souhaitez-vous déplacer les dossiers de films vers «{0}» ?",
"MoveMovieFoldersToRootFolder": "Voulez-vous déplacer les dossiers de films vers '{destinationRootFolder}' ?",
"MovieChat": "Movie Chat",
"MovieInvalidFormat": "Film : format non valide",
"MultiLanguage": "Multi-langue",
@@ -910,7 +910,7 @@
"Rss": "RSS",
"Score": "Score",
"Script": "Script",
"SearchCutoffUnmet": "Limite de recherche non satisfaite",
"SearchCutoffUnmet": "Rechercher seuils non atteints",
"SearchMissing": "Recherche manquante",
"Seconds": "Secondes",
"SelectLanguage": "Choisir la langue",
@@ -943,7 +943,7 @@
"Wiki": "Wiki",
"WouldYouLikeToRestoreBackup": "Souhaitez-vous restaurer la sauvegarde « {name} » ?",
"MoveMovieFoldersMoveFiles": "Oui, déplacez les fichiers",
"MoveMovieFoldersToNewPath": "Souhaitez-vous déplacer les fichiers vidéo de «{0}» vers «{1}» ?",
"MoveMovieFoldersToNewPath": "Voulez-vous déplacer les fichiers du film de '{originalPath}' vers '{destinationPath}' ?",
"SqliteVersionCheckUpgradeRequiredMessage": "La version {0} de SQLite actuellement installée n'est plus prise en charge. Veuillez mettre à niveau SQLite vers au moins la version {1}.",
"ShowCinemaReleaseDate": "Afficher la date de sortie au cinéma",
"ShowReleaseDate": "Afficher la date de sortie",
@@ -971,20 +971,20 @@
"BlocklistRelease": "Version sur liste noire",
"RemoveFromBlocklist": "Supprimer de la liste noire",
"Blocklisted": "Dans la liste noire",
"BlocklistReleases": "Publications de la liste de blocage",
"BlocklistReleases": "Liste de blocage des releases",
"RemotePathMappingCheckGenericPermissions": "Le client de téléchargement {downloadClientName} met les téléchargements dans {path} mais {appName} ne peut voir ce répertoire. Il est possible que vous ayez besoin d'ajuster les permissions de ce dossier.",
"RemotePathMappingCheckLocalWrongOSPath": "Le client de téléchargement {downloadClientName} met les téléchargements dans {path} mais il ne s'agit pas d'un chemin {osName} valide. Vérifiez les paramètres de votre client de téléchargement.",
"RemotePathMappingCheckFilesGenericPermissions": "Le client de téléchargement {downloadClientName} met les téléchargements dans {path} mais {appName} ne peut voir ce répertoire. Il est possible que vous ayez besoin d'ajuster les permissions de ce dossier.",
"RemotePathMappingCheckFilesLocalWrongOSPath": "Le client de téléchargement {downloadClientName} met les téléchargements dans {path} mais il ne s'agit pas d'un chemin {osName} valide. Vérifiez les paramètres de votre client de téléchargement.",
"BypassDelayIfHighestQualityHelpText": "Ignorer le délai lorsque la release a la qualité activée la plus élevée dans le profil de qualité avec le protocole préféré",
"ClickToChangeReleaseGroup": "Cliquez pour changer de groupe de diffusion",
"ClickToChangeReleaseGroup": "Cliquer pour changer le groupe de release",
"AnnouncedMovieDescription": "Le film est annoncé",
"Filters": "Filtres",
"IndexerDownloadClientHelpText": "Spécifiez quel client de téléchargement est utilisé pour les récupérations à partir de cet indexeur",
"IndexerDownloadClientHelpText": "Spécifiez quel client de téléchargement utiliser pour les récupérations depuis cet indexeur",
"TmdbRating": "Note TMDb",
"IndexerTagMovieHelpText": "Utiliser seulement cet indexeur pour les films avec au moins un tag correspondant. Laissez vide pour l'utiliser avec tous les films.",
"IndexerJackettAll": "Indexeurs utilisant le endpoint non supporté 'all' de Jackett : {indexerNames}",
"ManualImportSetReleaseGroup": "Import manuel - Spécifier le groupe de Release",
"ManualImportSetReleaseGroup": "Importation manuelle - Définir le groupe de release",
"TmdbVotes": "Votes TMDb",
"ImdbRating": "Note IMDb",
"ImdbVotes": "Votes IMDb",
@@ -1014,14 +1014,14 @@
"RemoveFailed": "Échec de la suppression",
"RemoveSelectedItem": "Supprimer l'élément sélectionné",
"RemoveSelectedItems": "Supprimer les éléments sélectionnés",
"SelectReleaseGroup": "Sélectionnez un groupe de versions",
"SetReleaseGroup": "Définir le groupe de versions",
"SelectReleaseGroup": "Sélectionner le groupe de release",
"SetReleaseGroup": "Définir le groupe de release",
"RefreshMonitoredIntervalHelpText": "Intervalle en minutes entre chaque vérification des téléchargements, minimum 1 minute",
"AllCollectionsHiddenDueToFilter": "Toutes les collections sont masquées en raison du filtre appliqué.",
"Collections": "Collections",
"MonitorMovies": "Surveiller les films",
"NoCollections": "Aucune collection n'a été trouvée. Pour commencer, vous devez ajouter un nouveau film ou importer des films existants",
"RssSyncIntervalHelpText": "Intervalle en minutes. Régler à zéro pour désactiver (cela arrêtera tous les déclenchements automatiques)",
"RssSyncIntervalHelpText": "Intervalle en minutes. Réglez sur zéro pour désactiver (cela arrêtera toute récupération automatique de versions)",
"CountCollectionsSelected": "{count} collection(s) sélectionnée(s)",
"ChooseImportMode": "Sélectionnez le mode d'importation",
"CollectionOptions": "Options de collection",
@@ -1090,8 +1090,8 @@
"DeleteSelectedDownloadClients": "Supprimer le(s) client(s) de téléchargement",
"ApplyTagsHelpTextAdd": "Ajouter : ajoute les étiquettes à la liste de étiquettes existantes",
"ApplyTagsHelpTextHowToApplyIndexers": "Comment appliquer des étiquettes aux indexeurs sélectionnés",
"ApplyTagsHelpTextRemove": "Supprimer : supprime les étiquettes renseignées",
"ApplyTagsHelpTextReplace": "Remplacer : remplace les étiquettes par les étiquettes renseignées (ne pas renseigner d'étiquette pour toutes les effacer)",
"ApplyTagsHelpTextRemove": "Supprimer : Supprimer les étiquettes saisies",
"ApplyTagsHelpTextReplace": "Remplacer : Remplacer les étiquettes par celles saisies (ne saisissez aucune étiquette pour tout effacer)",
"DeleteSelectedIndexers": "Supprimer un ou plusieurs indexeurs",
"RemoveSelectedItemsQueueMessageText": "Voulez-vous vraiment supprimer {selectedCount} éléments de la file d'attente ?",
"DeleteSelectedIndexersMessageText": "Voulez-vous vraiment supprimer les {count} indexeur(s) sélectionné(s) ?",
@@ -1116,7 +1116,7 @@
"IMDbId": "Identifiant TMDb",
"DisabledForLocalAddresses": "Désactivée pour les adresses IP locales",
"BypassDelayIfAboveCustomFormatScore": "Ignorer si le score du format personnalisé est supérieur",
"BypassDelayIfAboveCustomFormatScoreHelpText": "Activer le contournement lorsque la release a un score supérieur au score minimum configuré pour le format personnalisé",
"BypassDelayIfAboveCustomFormatScoreHelpText": "Activer le contournement si la version a un score supérieur au score minimum configuré pour les formats personnalisés",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Score minimum pour le format personnalisé",
"AuthenticationRequired": "Authentification requise",
"AuthenticationRequiredHelpText": "Modifier les demandes pour lesquelles l'authentification est requise. Ne rien modifier si vous n'en comprenez pas les risques.",
@@ -1201,12 +1201,12 @@
"MovieImported": "Film importé",
"SelectDropdown": "Sélectionner...",
"SelectLanguageModalTitle": "{modalTitle} Sélectionner la langue",
"RemoveTagsAutomatically": "Supprimer automatiquement les étiquettes",
"RemoveTagsAutomatically": "Supprimer les étiquettes automatiquement",
"TablePageSizeHelpText": "Nombre d'éléments à afficher sur chaque page",
"UnknownEventTooltip": "Événement inconnu",
"AppUpdated": "{appName} mis à jour",
"AppUpdatedVersion": "{appName} a été mis à jour vers la version `{version}`, pour profiter des derniers changements, vous devrez relancer {appName}",
"GrabId": "Saisir ID",
"GrabId": "ID de récupération",
"InteractiveImportNoMovie": "Une langue doit être choisie pour chacun des fichiers sélectionnés",
"InteractiveImportNoQuality": "La qualité doit être choisie pour chaque fichier sélectionné",
"AutoTaggingLoadError": "Impossible de charger le marquage automatique",
@@ -1236,7 +1236,7 @@
"HealthMessagesInfoBox": "Vous pouvez trouver plus d'informations sur la cause de ces messages de contrôle de santé en cliquant sur le lien wiki (icône de livre) à la fin de la ligne, ou en vérifiant vos [journaux]({link}). Si vous rencontrez des difficultés pour interpréter ces messages, vous pouvez contacter notre support, via les liens ci-dessous.",
"ManageImportLists": "Gérer les listes d'importation",
"ManageLists": "Gérer les listes",
"ManualGrab": "Saisie manuelle",
"ManualGrab": "Récupération manuelle",
"OrganizeModalHeader": "Organiser et renommer",
"ParseModalUnableToParse": "Impossible d'analyser le titre fourni, veuillez réessayer.",
"PendingDownloadClientUnavailable": "En attente Le client de téléchargement n'est pas disponible",
@@ -1247,7 +1247,7 @@
"TablePageSizeMinimum": "La taille de la page doit être d'au moins {minimumValue}",
"AutoRedownloadFailed": "Échec du retéléchargement",
"AutoRedownloadFailedFromInteractiveSearch": "Échec du retéléchargement à partir de la recherche interactive",
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Lance une recherche automatique et une tentative de téléchargement d'une version différente si la version trouvée automatiquement échoue",
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Rechercher et tenter de télécharger automatiquement une autre version lorsqu'une version récupérée via la recherche interactive a échoué",
"RemotePathMappingsInfo": "Les mappages de chemins distants sont très rarement requis. Si {appName} et votre client de téléchargement sont sur le même système, il est préférable de faire correspondre vos chemins. Pour plus d'informations, consultez le [wiki]({wikiLink}).",
"SkipRedownload": "Ignorer le nouveau téléchargement",
"Complete": "Complet",
@@ -1263,7 +1263,7 @@
"RootFolderPath": "Chemin du dossier racine",
"ImportScriptPathHelpText": "Le chemin d'accès au script à utiliser pour l'importation",
"ManageIndexers": "Gérer les indexeurs",
"OnHealthRestored": "Sur la santé restaurée",
"OnHealthRestored": "Quand le système redevient opérationnel",
"EditSelectedImportLists": "Modifier les listes d'importation sélectionnées",
"MatchedToMovie": "Correspond au film",
"CloneAutoTag": "Cloner la balise automatique",
@@ -1281,15 +1281,15 @@
"MovieFileRenamed": "Fichier vidéo renommé",
"MovieFileRenamedTooltip": "Fichier vidéo renommé",
"MovieFolderImportedTooltip": "Film importé du dossier de film",
"MovieGrabbedTooltip": "Film récupéré de {indexer} et envoyé à {downloadClient}",
"MovieGrabbedTooltip": "Film récupéré depuis {indexer} et envoyé à {downloadClient}",
"RemoveQueueItem": "Retirer - {sourceTitle}",
"OverrideGrabModalTitle": "Remplacer et récupérer - {title}",
"RemoveTagsAutomaticallyHelpText": "Supprimez automatiquement les étiquettes si les conditions ne sont pas remplies",
"RemoveTagsAutomaticallyHelpText": "Supprimer les étiquettes automatiquement si les conditions ne sont pas remplies",
"InfoUrl": "URL d'informations",
"ListRefreshInterval": "Intervalle d'actualisation de la liste",
"Parse": "Analyser",
"DownloadClientRemovesCompletedDownloadsHealthCheckMessage": "Le client de téléchargement {downloadClientName} est configuré pour supprimer les téléchargements terminés. Cela peut entraîner la suppression des téléchargements de votre client avant que {appName} puisse les importer.",
"SetReleaseGroupModalTitle": "{modalTitle} Définir le groupe de versions",
"SetReleaseGroupModalTitle": "{modalTitle} - Définir le groupe de release",
"CountImportListsSelected": "{count} liste(s) d'importation sélectionnée(s)",
"InteractiveSearchResultsFailedErrorMessage": "La recherche a échoué car il s'agit d'un {message}. Essayez d'actualiser les informations sur le film et vérifiez que les informations nécessaires sont présentes avant de lancer une nouvelle recherche.",
"DownloadFailedMovieTooltip": "Le téléchargement du film a échoué",
@@ -1320,7 +1320,7 @@
"NotificationsCustomScriptSettingsArgumentsHelpText": "Arguments passés au script",
"NotificationsCustomScriptSettingsArguments": "Arguments",
"NotificationsAppriseSettingsUsernameHelpText": "Nom d'utilisateur d'authentification HTTP basique",
"NotificationsAppriseSettingsTags": "Mentions Apprise",
"NotificationsAppriseSettingsTags": "Étiquettes Apprise",
"NotificationsAppriseSettingsStatelessUrls": "URL Stateless Apprise",
"NotificationsAppriseSettingsServerUrlHelpText": "URL du serveur Apprise, incluant http(s):// et le port si besoin",
"NotificationsAppriseSettingsServerUrl": "URL du serveur Apprise",
@@ -1394,8 +1394,8 @@
"NotificationsPushcutSettingsNotificationName": "Nom de la notification",
"NotificationsPushBulletSettingsDeviceIdsHelpText": "Liste des identifiants des appareils (laisser vide pour envoyer sur tous les appareils)",
"NotificationsPushBulletSettingsDeviceIds": "Identifiants des appareils",
"NotificationsPushBulletSettingsChannelTagsHelpText": "Liste des étiquettes des canaux sur lesquels envoyer les notifications",
"NotificationsPushBulletSettingsChannelTags": "Étiquettes des canaux",
"NotificationsPushBulletSettingsChannelTagsHelpText": "Liste des étiquettes de canal auxquelles envoyer les notifications",
"NotificationsPushBulletSettingsChannelTags": "Étiquettes de canal",
"NotificationsPushBulletSettingsAccessToken": "Jeton d'accès",
"NotificationsPushBulletSettingSenderId": "Identifiant de l'expéditeur",
"NotificationsPlexValidationNoMovieLibraryFound": "Au moins une bibliothèque de films est nécessaire",
@@ -1405,8 +1405,8 @@
"NotificationsNtfySettingsUsernameHelpText": "Nom d'utilisateur facultatif",
"NotificationsNtfySettingsTopicsHelpText": "Liste des sujets sur lesquels envoyer les notifications",
"NotificationsNtfySettingsTopics": "Sujets",
"NotificationsNtfySettingsTagsEmojisHelpText": "Liste optionnelle des étiquettes ou des émojis à utiliser",
"NotificationsNtfySettingsTagsEmojis": "Étiquettes Ntfy et Émojis",
"NotificationsNtfySettingsTagsEmojisHelpText": "Liste facultative d'étiquettes ou d'émojis à utiliser",
"NotificationsNtfySettingsTagsEmojis": "Étiquettes et émojis Ntfy",
"NotificationsSettingsUpdateMapPathsTo": "Mapper les chemins vers",
"NotificationsSignalSettingsSenderNumber": "Numéro de l'expéditeur",
"NotificationsSignalSettingsPasswordHelpText": "Mot de passe utilisé pour authentifier les requêtes vers signal-api",
@@ -1460,7 +1460,7 @@
"NotificationsNtfySettingsAccessTokenHelpText": "Autorisation basée sur jeton facultative. A la priorité sur le couple nom d'utilisateur / mot de passe",
"NotificationsValidationInvalidUsernamePassword": "Nom d'utilisateur ou mot de passe invalides",
"NotificationsKodiSettingsUpdateLibraryHelpText": "Mettre à jour la bibliothèque lors de l'importation et du renommage ?",
"NotificationsAppriseSettingsTagsHelpText": "Notifier facultativement uniquement ceux mentionnés.",
"NotificationsAppriseSettingsTagsHelpText": "Notifier facultativement uniquement les éléments étiquetés en conséquence.",
"NotificationsAppriseSettingsStatelessUrlsHelpText": "Une ou plusieurs URL séparées par des virgules identifiant où la notification doit être envoyée. Laisser vide si le stockage persistant est utilisé.",
"NotificationsValidationInvalidApiKey": "La clé d'API est invalide",
"NotificationsTwitterSettingsDirectMessageHelpText": "Envoyer un message privé au lieu d'un message public",
@@ -1496,14 +1496,14 @@
"DoNotBlocklist": "Ne pas mettre sur liste noire",
"DoNotBlocklistHint": "Supprimer sans mettre sur liste noire",
"IgnoreDownload": "Ignorer le téléchargement",
"IndexerSettingsRejectBlocklistedTorrentHashes": "Rejeter les hachages de torrent sur liste noir lors de la saisie",
"IndexerSettingsRejectBlocklistedTorrentHashes": "Rejeter les hashs de torrents en liste de blocage lors de la récupération",
"RemoveQueueItemRemovalMethod": "Méthode de suppression",
"RemoveMultipleFromDownloadClientHint": "Supprime les téléchargements et les fichiers du client de téléchargement",
"RemoveQueueItemRemovalMethodHelpTextWarning": "\"Supprimer du client de téléchargement\" supprimera le téléchargement et le(s) fichier(s) du client de téléchargement.",
"IgnoreDownloadHint": "Empêche {appName} de poursuivre le traitement de ce téléchargement",
"IgnoreDownloads": "Ignorer les téléchargements",
"IgnoreDownloadsHint": "Empêche {appName} de poursuivre le traitement de ces téléchargements",
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Si un torrent est bloqué par le hachage, il peut ne pas être correctement rejeté pendant le RSS/recherche pour certains indexeurs. L'activation de cette fonction permet de le rejeter après que le torrent a été saisi, mais avant qu'il ne soit envo au client.",
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Si un torrent est bloqué par son hash, il se peut qu'il ne soit pas correctement rejeté lors de la recherche ou du RSS pour certains indexeurs. Activer cette option permettra de le rejeter après la récupération du torrent, mais avant son envoi au client de téléchargement.",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "“Supprimer du client de téléchargement\" supprimera les téléchargements et les fichiers du client de téléchargement.",
"DownloadClientAriaSettingsDirectoryHelpText": "Emplacement facultatif pour les téléchargements, laisser vide pour utiliser l'emplacement par défaut Aria2",
"RemoveFromDownloadClientHint": "Supprime le téléchargement et le(s) fichier(s) du client de téléchargement",
@@ -1515,8 +1515,8 @@
"DownloadClientDelugeSettingsUrlBaseHelpText": "Ajoute un préfixe à l'URL json du déluge, voir {url}",
"DownloadClientDelugeTorrentStateError": "Deluge signale une erreur",
"DownloadClientDelugeValidationLabelPluginInactiveDetail": "Vous devez avoir activé le plug-in Label dans {clientName} pour utiliser les catégories.",
"ClickToChangeIndexerFlags": "Cliquez pour changer les drapeaux de l'indexeur",
"CustomFormatsSpecificationFlag": "Drapeau",
"ClickToChangeIndexerFlags": "Cliquez pour modifier les indicateurs de l'indexeur",
"CustomFormatsSpecificationFlag": "Indicateur",
"DelayMinutes": "{delay} minutes",
"DelayProfileProtocol": "Protocole : {preferredProtocol}",
"Donate": "Donation",
@@ -1528,7 +1528,7 @@
"DelayProfileMovieTagsHelpText": "S'applique aux films qui ont au moins une étiquette correspondante",
"DeleteReleaseProfile": "Supprimer le profil de version",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Destination pour les téléchargements terminés (facultative), laissez ce champ vide pour utiliser le répertoire par défaut de Deluge",
"CutoffNotMet": "Limite non satisfaite",
"CutoffNotMet": "Seuil non atteint",
"CustomFilter": "Filtre personnalisé",
"DownloadClientDelugeValidationLabelPluginFailure": "La configuration de l'étiquette a échoué",
"DownloadClientDelugeValidationLabelPluginFailureDetail": "{appName} n'a pas pu ajouter le libellé à {clientName}.",
@@ -1545,7 +1545,7 @@
"NotificationsEmailSettingsUseEncryption": "Utiliser le cryptage",
"BlackholeFolderHelpText": "Dossier dans lequel {appName} stockera le fichier {extension}",
"DownloadClientFloodSettingsAdditionalTags": "Étiquette supplémentaire",
"DownloadClientFloodSettingsAdditionalTagsHelpText": "Ajoute les propriétés des médias sous forme d'étiquette. Les conseils sont des exemples.",
"DownloadClientFloodSettingsAdditionalTagsHelpText": "Ajoute les propriétés du média sous forme d'étiquettes. Les indices sont donnés à titre d'exemple.",
"DownloadClientFreeboxSettingsAppIdHelpText": "L'ID de l'application donné lors de la création de l'accès à l'API Freebox (c'est-à-dire 'app_id')",
"DownloadClientFreeboxSettingsAppTokenHelpText": "Le jeton de l'application récupéré lors de la création de l'accès à l'API Freebox (c'est-à-dire 'app_token')",
"DownloadClientFreeboxSettingsPortHelpText": "Port utilisé pour accéder à l'interface de la Freebox, la valeur par défaut est '{port}'",
@@ -1579,7 +1579,7 @@
"UseSsl": "Utiliser SSL",
"TorrentBlackholeSaveMagnetFilesHelpText": "Enregistrer le lien magnétique si aucun fichier .torrent n'est disponible (utile uniquement si le client de téléchargement prend en charge les liens magnétiques enregistrés dans un fichier)",
"LabelIsRequired": "L'étiquette est requise",
"DownloadClientFloodSettingsTagsHelpText": "Étiquettes initiales d'un téléchargement. Pour être reconnu, un téléchargement doit avoir toutes les étiquettes initiales. Cela permet d'éviter les conflits avec des téléchargements non apparentés.",
"DownloadClientFloodSettingsTagsHelpText": "Étiquettes initiales d'un téléchargement. Pour être reconnu, un téléchargement doit posséder toutes les étiquettes initiales. Cela évite les conflits avec des téléchargements non liés.",
"DownloadClientQbittorrentSettingsUseSslHelpText": "Utilisez une connexion sécurisée. Voir Options -> UI Web -> 'Utiliser HTTPS au lieu de HTTP' dans qBittorrent.",
"DownloadClientFloodSettingsUrlBaseHelpText": "Ajoute d'un préfixe à l'API Flood, tel que {url}",
"DownloadClientFreeboxSettingsApiUrlHelpText": "Définir l'URL de base de l'API Freebox avec la version de l'API, par exemple '{url}', par défaut '{defaultApiUrl}'",
@@ -1596,9 +1596,9 @@
"Repack": "Repack",
"RestartRequiredWindowsService": "En fonction de l'utilisateur qui exécute le service {appName}, vous devrez peut-être redémarrer {appName} en tant qu'administrateur une fois avant que le service ne démarre automatiquement.",
"Menu": "Menu",
"ReleaseGroups": "Groupes de version",
"ReleaseGroups": "Groupes de release",
"DownloadClientFloodSettingsRemovalInfo": "{appName} gérera la suppression automatique des torrents sur la base des critères de semences actuels dans Paramètres -> Indexeurs",
"DownloadClientFloodSettingsPostImportTagsHelpText": "Ajoute des balises après l'importation d'un téléchargement.",
"DownloadClientFloodSettingsPostImportTagsHelpText": "Ajoute des étiquettes après l'importation d'un téléchargement.",
"DownloadClientFreeboxUnableToReachFreeboxApi": "Impossible d'accéder à l'API Freebox. Vérifiez le paramètre 'API URL' pour l'URL de base et la version.",
"DownloadClientNzbgetValidationKeepHistoryOverMax": "Le paramètre KeepHistory de NzbGet doit être inférieur à 25000",
"DownloadClientQbittorrentTorrentStateError": "qBittorrent signale une erreur",
@@ -1613,10 +1613,10 @@
"DownloadClientSabnzbdValidationDevelopVersionDetail": "{appName} peut ne pas être en mesure de prendre en charge les nouvelles fonctionnalités ajoutées à SABnzbd lors de l'exécution de versions développées.",
"DownloadClientSabnzbdValidationEnableJobFoldersDetail": "{appName} préfère que chaque téléchargement ait un dossier séparé. Avec * ajouté au dossier/chemin, Sabnzbd ne créera pas ces dossiers de travail. Allez sur Sabnzbd pour résoudre ce problème.",
"DownloadClientSettingsOlderPriority": "Priorité plus ancienne",
"DownloadClientSettingsOlderPriorityMovieHelpText": "Priorité à utiliser pour les films diffusés il y a plus de 21 jours",
"DownloadClientSettingsOlderPriorityMovieHelpText": "Priorité à utiliser pour la récupération de films diffusés il y a plus de 21 jours",
"DownloadClientSettingsPostImportCategoryHelpText": "Catégorie que {appName} doit définir après avoir importé le téléchargement. {appName} ne supprimera pas les torrents de cette catégorie même si l'ensemencement est terminé. Laisser vide pour conserver la même catégorie.",
"DownloadClientSettingsRecentPriority": "Priorité récente",
"DownloadClientSettingsRecentPriorityMovieHelpText": "Priorité à utiliser lors de la recherche de films diffusés au cours des 21 derniers jours",
"DownloadClientSettingsRecentPriorityMovieHelpText": "Priorité à utiliser pour la récupération de films diffusés au cours des 21 derniers jours",
"DownloadClientUTorrentTorrentStateError": "uTorrent signale une erreur",
"DownloadClientValidationAuthenticationFailureDetail": "Veuillez vérifier votre nom d'utilisateur et votre mot de passe. Vérifiez également que l'hôte qui exécute {appName} n'est pas empêché d'accéder à {clientName} par des limitations de la liste blanche dans la configuration de {clientName}.",
"DownloadClientValidationCategoryMissingDetail": "La catégorie que vous avez saisie n'existe pas dans {clientName}. Créez-la d'abord dans {clientName}.",
@@ -1708,7 +1708,7 @@
"DownloadClientDownloadStationValidationApiVersion": "La version de l'API de la station de téléchargement n'est pas prise en charge, elle doit être au moins {requiredVersion}. Elle est prise en charge de {minVersion} à {maxVersion}",
"DownloadClientDownloadStationValidationFolderMissingDetail": "Le dossier '{downloadDir}' n'existe pas, il doit être créé manuellement dans le dossier partagé '{sharedFolder}'.",
"DownloadClientFloodSettingsAddPaused": "Ajout en pause",
"DownloadClientFloodSettingsPostImportTags": "Balises post-importation",
"DownloadClientFloodSettingsPostImportTags": "Étiquettes post-importation",
"DownloadClientFloodSettingsStartOnAdd": "Démarrer l'ajout",
"DownloadClientFreeboxApiError": "L'API Freebox a renvoyé une erreur : {errorDescription}",
"DownloadClientNzbgetValidationKeepHistoryZero": "Le paramètre KeepHistory de NzbGet doit être supérieur à 0",
@@ -1724,10 +1724,10 @@
"DownloadClientValidationApiKeyRequired": "Clé API requise",
"DownloadClientValidationAuthenticationFailure": "Échec de l'authentification",
"MustContainHelpText": "La version doit contenir au moins l'un des termes suivants (insensible à la casse)",
"NotificationsTagsMovieHelpText": "N'envoyer des notifications que pour les films ayant au moins une étiquette correspondante",
"SelectIndexerFlags": "Sélectionner les drapeaux de l'indexeur",
"SetIndexerFlags": "Définir les drapeaux de l'indexeur",
"SetIndexerFlagsModalTitle": "{modalTitle} - Définir les drapeaux de l'indexeur",
"NotificationsTagsMovieHelpText": "Envoyer les notifications uniquement pour les films ayant au moins une étiquette correspondante",
"SelectIndexerFlags": "Sélectionner les indicateurs de l'indexeur",
"SetIndexerFlags": "Définir les indicateurs de l'indexeur",
"SetIndexerFlagsModalTitle": "{modalTitle} - Définir les indicateurs de l'indexeur",
"RestartRequiredToApplyChanges": "{appName} nécessite un redémarrage pour appliquer les changements, voulez-vous redémarrer maintenant ?",
"Yes": "Oui",
"ListQualityProfileHelpText": "Les éléments de la liste du profil de qualité seront ajoutés avec",
@@ -1762,17 +1762,17 @@
"IndexerSettingsSeedRatioHelpText": "Le ratio qu'un torrent doit atteindre avant de s'arrêter, vide utilise la valeur par défaut du client de téléchargement. Le ratio doit être d'au moins 1.0 et suivre les règles des indexeurs",
"IndexerSettingsSeedTime": "Temps d'envoi",
"IndexerSettingsSeedTimeHelpText": "Durée pendant laquelle un torrent doit être envoyé avant de s'arrêter, vide utilise la valeur par défaut du client de téléchargement",
"CutoffUnmetLoadError": "Erreur lors du chargement des éléments non satisfaits",
"CutoffUnmetNoItems": "Aucun élément non satisfait",
"CutoffUnmetLoadError": "Erreur lors du chargement des éléments dont le seuil n'est pas atteint",
"CutoffUnmetNoItems": "Aucun élément dont le seuil n'est pas atteint",
"External": "Externe",
"MassSearchCancelWarning": "Cette opération ne peut pas être annulée une fois démarrée sans redémarrer {appName} ou désactiver tous vos indexeurs.",
"MissingLoadError": "Erreur lors du chargement des éléments manquants",
"MissingNoItems": "Aucun élément manquant",
"MonitorSelected": "Surveillance sélectionnée",
"UnmonitorSelected": "Arrêter de surveiller la sélection",
"EditionFootNote": "Contrôlez éventuellement la troncature à un nombre maximum d'octets, y compris les points de suspension (`...`). La troncature à partir de la fin (par exemple `{Edition Tags:30}`) ou du début (par exemple `{Edition Tags:-30}`) sont toutes deux prises en charge.",
"SearchForCutoffUnmetMovies": "Rechercher tous les albums de Cutoff Unmet",
"SearchForCutoffUnmetMoviesConfirmationCount": "Êtes-vous sûr de vouloir rechercher tous les épisodes {totalRecords} Cutoff Unmet ?",
"EditionFootNote": "Permet de limiter facultativement la longueur à un nombre maximum d'octets, incluant les points de suspension (...). La troncature à partir de la fin (ex: {Edition Tags:30}) ou du début (ex: {Edition Tags:-30}) est prise en charge.",
"SearchForCutoffUnmetMovies": "Rechercher tous les films dont le seuil n'est pas atteint",
"SearchForCutoffUnmetMoviesConfirmationCount": "Voulez-vous vraiment rechercher les {totalRecords} films dont le seuil n'est pas atteint ?",
"MovieFootNote": "Contrôlez éventuellement la troncature à un nombre maximum d'octets, y compris les points de suspension (`...`). La troncature de la fin (par exemple `{Movie Title:30}`) ou du début (par exemple `{Movie Title:-30}`) sont toutes deux prises en charge.",
"DeleteMovieFolderCountConfirmation": "Voulez-vous vraiment supprimer {count} séries sélectionnées ?",
"DeleteMovieFolderCountWithFilesConfirmation": "Voulez-vous vraiment supprimer {count} séries sélectionnées et tous les contenus ?",
@@ -1784,8 +1784,8 @@
"DeleteMovieFolderMovieCount": "{movieFileCount} fichiers vidéo totalisant {size}",
"NotificationsPlexSettingsServerHelpText": "Sélectionnez le serveur à partir du compte plex.tv après l'authentification",
"Any": "Tous",
"ShowTags": "Afficher les labels",
"ShowTagsHelpText": "Affiche les labels sous l'affiche",
"ShowTags": "Afficher les étiquettes",
"ShowTagsHelpText": "Afficher les étiquettes sous l'affiche",
"DeleteSelected": "Supprimer la sélection",
"DeleteSelectedImportListExclusionsMessageText": "Êtes-vous sûr de vouloir supprimer les exclusions de la liste d'importation sélectionnée ?",
"ProgressBarProgress": "Barre de progression à {progress} %",
@@ -1824,7 +1824,7 @@
"InstallMajorVersionUpdateMessage": "Cette mise à jour installera une nouvelle version majeure et pourrait ne pas être compatible avec votre système. Êtes-vous sûr de vouloir installer cette mise à jour ?",
"InstallMajorVersionUpdateMessageLink": "Veuillez consulter [{domain}]({url}) pour plus d'informations.",
"DefaultNotFoundMessage": "Vous devez être perdu, rien à voir ici.",
"ToggleMonitoredToUnmonitored": "Surveillé, cliquez pour annuler la surveillance",
"ToggleMonitoredToUnmonitored": "Surveillé, cliquez pour arrêter la surveillance",
"ToggleUnmonitoredToMonitored": "Non surveillé, cliquez pour surveiller",
"OnFileImport": "Lors de l'importation du fichier",
"OnFileUpgrade": "Lors de la mise à jour du fichier",
@@ -1896,7 +1896,7 @@
"ImportListsTraktSettingsAdditionalParameters": "Paramètres supplémentaires",
"ImportListsTraktSettingsAdditionalParametersHelpText": "Paramètres supplémentaires de l'API Trakt",
"ImportListsTraktSettingsAuthenticateWithTrakt": "S'authentifier avec Trakt",
"ImportListsTraktSettingsCertification": "Certification",
"ImportListsTraktSettingsCertification": "Classification",
"ImportListsTraktSettingsGenres": "Genres",
"ImportListsTraktSettingsLimit": "Limite",
"ImportListsTraktSettingsListType": "Type de liste",
@@ -1960,7 +1960,7 @@
"IndexerHDBitsSettingsCodecs": "Codecs",
"IndexerHDBitsSettingsCodecsHelpText": "Si elle n'est pas spécifiée, toutes les options sont utilisées.",
"IndexerIPTorrentsSettingsFeedUrlHelpText": "URL complète du flux RSS généré par IPTorrents, en utilisant uniquement les catégories que vous avez sélectionnées (HD, SD, x264, etc...)",
"IndexerNyaaSettingsAdditionalParametersHelpText": "Veuillez noter que si vous modifiez la catégorie, vous devrez ajouter des règles requises/restrictives concernant les sous-groupes pour éviter les sorties en langues étrangères.",
"IndexerNyaaSettingsAdditionalParametersHelpText": "Veuillez noter que si vous changez de catégorie, vous devrez ajouter des règles de termes requis ou restreints sur les sous-groupes afin d'éviter les versions en langue étrangère.",
"IndexerPassThePopcornSettingsApiUserHelpText": "Ces paramètres se trouvent dans les paramètres de sécurité de PassThePopcorn (Modifier le profil > Sécurité).",
"IndexerSettingsAllowZeroSizeHelpText": "L'activation de cette option vous permettra d'utiliser des flux qui ne spécifient pas la taille de la version, mais soyez prudent, les vérifications liées à la taille ne seront pas effectuées.",
"IndexerSettingsApiUrl": "URL DE L'API",
@@ -1970,7 +1970,7 @@
"IndexerSettingsFailDownloads": "Échouer les téléchargements",
"FileSize": "Taille de fichier",
"DownloadClientItemErrorMessage": "{clientName} signale une erreur : {message}",
"GrabbedAt": "Capturé le {date}",
"GrabbedAt": "Récupéré le {date}",
"IndexerSettingsFailDownloadsHelpText": "Lors du traitement des téléchargements terminés, {appName} traitera ces types de fichiers sélectionnés comme des téléchargements ayant échoué.",
"DownloadClientUTorrentProviderMessage": "uTorrent a un historique d'inclusion de cryptomineurs, de logiciels malveillants et de publicités. Nous vous recommandons fortement de choisir un autre client.",
"MyComputer": "Mon ordinateur",
@@ -1990,7 +1990,7 @@
"CountMissingMoviesFromLibrary": "{count} film(s) manquant(s) dans la bibliothèque",
"ImportListsTraktSettingsYearsMovieHelpText": "Filtrer les films par année ou par tranche d'années",
"IndexerFileListSettingsCategoriesHelpText": "Catégories a utiliser pour la recherche et les flux. Si elle n'est pas spécifiée, toutes les options sont utilisées.",
"IndexerSettingsRequiredFlagsHelpText": "Sélectionner les drapeaux d'indexeur qui devraient être obligatoires. Laisser blanc pour utiliser avec tous les drapeaux.",
"IndexerSettingsRequiredFlagsHelpText": "Sélectionnez les indicateurs de l'indexeur qui doivent être obligatoires. Laissez vide pour autoriser tous les indicateurs.",
"Keywords": "Mots clés",
"ImportListsTraktSettingsPopularListTypeTopAnticipatedMovies": "Films les plus attendus",
"MovieFolderFormatHelpTextDeprecatedWarning": "Les jetons associés au propriétés de fichier du film sont obsolètes and ne seront plus supportés dans la prochaine mise à jour majeure.",
@@ -2036,5 +2036,8 @@
"NotificationsPushcutSettingsMetadataLinks": "Lien de métadonnées",
"NotificationsPushcutSettingsMetadataLinksHelpText": "Ajouter un lien vers les métadonnées de la série lors de l'envoi de notifications",
"ImportListsTraktSettingsGenresMovieHelpText": "Filtrer les films par genre Trakt (séparés par des virgules) Uniquement pour les listes populaires",
"ReleasePush": "Poussée de version"
"ReleasePush": "Poussée de version",
"FilterMoviePropertiesOnlyNotFileWarning": "Les filtres sont seulement disponibles pour les propriétés d'un film, ils ne sont pas disponibles pour les propriétés du ou des fichiers que vous pouvez avoir pour ce film.",
"NotificationsPushoverSettingsTtl": "Temps de vie",
"NotificationsPushoverSettingsTtlHelpText": "Temps en secondes avant que le message expire. Mettre à 0 pour illimité"
}

View File

@@ -1134,5 +1134,81 @@
"AddCustomFilter": "הוספת פילטר מותאם",
"IndexerHDBitsSettingsCategories": "קטגוריות",
"IndexerHDBitsSettingsMediums": "בינוני",
"IndexerSettingsCategories": "קטגוריות"
"IndexerSettingsCategories": "קטגוריות",
"AddConnection": "הוסף חיבור",
"ReleaseProfile": "ערוך פרופיל עיכוב",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "הסרה תסיר את ההורדה ואת הקבצים מלקוח ההורדה.",
"ShowPhysicalRelease": "תאריך שחרור פיזי",
"EditSelectedMovies": "מחק קבצי סרטים שנבחרו",
"ManageDownloadClients": "הורד לקוחות",
"MassSearchCancelWarning": "לא ניתן לבטל פעולה זו לאחר שהתחילה מבלי להפעיל מחדש את {appName}.",
"MovieMatchType": "סוגי חיפוש ספר",
"NotificationsEmbySettingsSendNotifications": "התראות",
"PendingDownloadClientUnavailable": "לקוח ההורדות אינו זמין",
"ResetDefinitions": "הגדרות איכות",
"ShowCinemaRelease": "הצג תאריך יציאה לקולנוע",
"OneMinute": "דקות",
"SelectIndexerFlags": "מחק את אינדקס",
"ShowDigitalRelease": "הצג תאריך יציאה לקולנוע",
"RemotePathMappingCheckDockerFolderMissing": "אתה משתמש בדוקר; קליינט ההורדות {0} שם הורדות ב-{1} אבל הנתיב לא תקין {2}. בחן מחדש את ניתוב התיקיות והגדרות קליינט ההורדות.",
"RemoveSelectedItems": "הסר פריטים שנבחרו",
"SearchForAllMissingMovies": "התחל לחפש סרט חסר",
"SetReleaseGroup": "קבוצת שחרור",
"SkipRedownload": "הורד מחדש",
"CustomFormatJson": "פורמט מותאם אישית",
"CustomFormatsSpecificationMinimumSize": "גודל מקסימלי",
"DeleteAutoTag": "מחק את התג",
"DeleteMovieFolderCountWithFilesConfirmation": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?",
"DeleteSelectedDownloadClientsMessageText": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?",
"DeleteSelectedImportListsMessageText": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?",
"DeleteSelectedIndexersMessageText": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?",
"Destination": "נתיב יעד",
"DownloadClientFloodSettingsStartOnAdd": "חפש ב הוסף",
"DownloadClientSettingsOlderPriority": "עדיפות אינדקס",
"EditAutoTag": "הוסף תג אוטומטית",
"FormatRuntimeMinutes": "דקות",
"ImportListsTraktSettingsYears": "שָׁנָה",
"ManageCustomFormats": "תבנית מותאמת אישית של שיבוט",
"ManageFormats": "תבנית מותאמת אישית של שיבוט",
"MinimumCustomFormatScoreIncrement": "ציון פורמט מותאם אישית מינימלי",
"MovieCollectionRootFolderMissingRootHealthCheckMessage": "תיקיית אב חסרה, לא ניתן לעשות ייבוא מרשימה(ות): {rootFolderInfo}",
"NotificationsDiscordSettingsAuthor": "אוטו'",
"OnFileUpgrade": "בשדרוג",
"ReleaseHash": "תאריכי שחרור",
"ReleaseProfiles": "ערוך פרופיל עיכוב",
"RemoveSelectedItem": "הסר פריטים שנבחרו",
"ResetQualityDefinitions": "הגדרות איכות",
"SetIndexerFlags": "אינדקס דגלים",
"ShowImdbRating": "דירוג IMDB",
"Trending": "ממתין ל",
"AddImportList": "רשימות",
"ResetTitles": "שחרר את הכותרת",
"RootFolderPath": "תיקיית שורש",
"UnableToLoadCollections": "לא ניתן לטעון את ההגבלות",
"ShowTmdbRating": "דירוג IMDB",
"AutomaticAdd": "אוֹטוֹמָטִי",
"NotificationsKodiSettingsGuiNotification": "התראות",
"NotificationsPushcutSettingsNotificationName": "התראות",
"ApplicationURL": "אפליקציה",
"AudioLanguages": "ריבוי שפות",
"AuthenticationMethod": "אימות",
"AutoTaggingSpecificationGenre": "ז'אנרים",
"DeleteSelected": "מחק קבצי סרטים שנבחרו",
"Donate": "תַאֲרִיך",
"RemoveQueueItemRemovalMethodHelpTextWarning": "הסרה תסיר את ההורדה ואת הקבצים מלקוח ההורדה.",
"DownloadClientValidationAuthenticationFailure": "נדרש אימות",
"EditCollection": "אוסף",
"NotificationsKodiSettingsCleanLibrary": "רמת ספריה נקייה",
"DeleteSelectedCustomFormatsMessageText": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?",
"AutoTaggingSpecificationStudio": "סטוּדִיוֹ",
"ClearBlocklistMessageText": "האם אתה בטוח שברצונך להסיר את הפריטים שנבחרו מהרשימה השחורה?",
"EditSelectedDownloadClients": "מחק את לקוח ההורדות",
"EditSelectedIndexers": "מחק את אינדקס",
"FavoriteFolderRemove": "הסר את תיקיית השורש",
"LanguagesLoadError": "לא ניתן לטעון תגים",
"DeleteMovieFolderCountConfirmation": "האם אתה בטוח שברצונך למחוק את קבצי הסרט שנבחרו?",
"SelectReleaseGroup": "קבוצת שחרור",
"ReleasePush": "תאריכי שחרור",
"CinemaRelease": "הצג תאריך יציאה לקולנוע",
"AddConnectionImplementation": "הוסף חיבור - {implementationName}"
}

View File

@@ -1082,5 +1082,76 @@
"ImportListsTraktSettingsCertification": "प्रमाणीकरण",
"ImportListsTraktSettingsGenres": "शैलियां",
"ImportListsTraktSettingsRating": "रेटिंग्स",
"IndexerHDBitsSettingsMediums": "मध्यम"
"IndexerHDBitsSettingsMediums": "मध्यम",
"AutoTaggingSpecificationTag": "टैग",
"ReleaseProfile": "देरी प्रोफ़ाइल संपादित करें",
"OneMinute": "मिनट",
"ResetQualityDefinitions": "गुणवत्ता परिभाषाएँ",
"ResetTitles": "रिलीज का शीर्षक",
"ShowCinemaRelease": "सिनेमा रिलीज की तारीख दिखाएँ",
"Trending": "विचाराधीन",
"FormatRuntimeMinutes": "मिनट",
"OnFileUpgrade": "अपग्रेड पर",
"CustomFormatJson": "कस्टम प्रारूप",
"ReleaseProfiles": "देरी प्रोफ़ाइल संपादित करें",
"RootFolderPath": "मूल फ़ोल्डर",
"SetReleaseGroup": "रिलीज समूह",
"ImportListMultipleMissingRoots": "एकाधिक रूट फ़ोल्डर गायब हैं: {0}",
"MinimumCustomFormatScoreIncrement": "न्यूनतम कस्टम प्रारूप स्कोर",
"AddImportList": "सूचियों",
"AddConnection": "संबंध",
"NotificationsKodiSettingsGuiNotification": "प्रमाणीकरण",
"NotificationsPushcutSettingsNotificationName": "प्रमाणीकरण",
"ShowPhysicalRelease": "शारीरिक रिलीज की तारीख",
"ReleaseHash": "रिलीज़ करने की तिथि",
"RemoveSelectedItems": "चुना हुआ हटाओ",
"SetIndexerFlags": "इंडेक्स फ्लैग",
"SkipRedownload": "redownload",
"AddCustomFilter": "कस्टम फ़िल्टर",
"ResetDefinitions": "गुणवत्ता परिभाषाएँ",
"SelectIndexerFlags": "अनुक्रमणिका हटाएं",
"AddCondition": "संबंध",
"ClearBlocklistMessageText": "क्या आप वाकई चयनित आइटम को ब्लैकलिस्ट से हटाना चाहते हैं?",
"DeleteMovieFolderCountWithFilesConfirmation": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?",
"DeleteSelected": "चयनित मूवी फ़ाइलें हटाएं",
"DeleteSelectedCustomFormatsMessageText": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?",
"DeleteSelectedDownloadClientsMessageText": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?",
"Destination": "गंतव्य पथ",
"Donate": "दिनांक",
"DownloadClientFloodSettingsStartOnAdd": "ऐड पर सर्च करें",
"FavoriteFolderRemove": "रूट फ़ोल्डर निकालें",
"LanguagesLoadError": "टैग लोड करने में असमर्थ",
"ManageDownloadClients": "ग्राहक डाउनलोड करें",
"ManageFormats": "क्लोन कस्टम प्रारूप",
"NotificationsEmbySettingsSendNotifications": "प्रमाणीकरण",
"PendingDownloadClientUnavailable": "डाउनलोड क्लाइंट अनुपलब्ध है",
"RemoveQueueItemRemovalMethodHelpTextWarning": "हटाने से डाउनलोड और फ़ाइल को डाउनलोड क्लाइंट से निकाल दिया जाएगा।",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "हटाने से डाउनलोड और फ़ाइल को डाउनलोड क्लाइंट से निकाल दिया जाएगा।",
"SearchForAllMissingMovies": "लापता फिल्म की खोज शुरू करें",
"ShowDigitalRelease": "सिनेमा रिलीज की तारीख दिखाएँ",
"UnableToLoadCollections": "प्रतिबंधों को लोड करने में असमर्थ",
"AudioLanguages": "बहु-भाषा",
"AuthenticationMethod": "प्रमाणीकरण",
"AutoTaggingSpecificationGenre": "शैलियां",
"EditSelectedIndexers": "अनुक्रमणिका हटाएं",
"EditSelectedMovies": "चयनित मूवी फ़ाइलें हटाएं",
"DeleteSelectedIndexersMessageText": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?",
"DownloadClientSettingsOlderPriority": "सूचकांक प्राथमिकता",
"EditCollection": "संग्रह",
"EditSelectedDownloadClients": "डाउनलोड क्लाइंट हटाएं",
"ManageCustomFormats": "क्लोन कस्टम प्रारूप",
"DeleteAutoTag": "टैग हटाएं",
"AutoTaggingSpecificationStudio": "स्टूडियो",
"AutomaticAdd": "स्वचालित",
"DeleteSelectedImportListsMessageText": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?",
"RemoveSelectedItem": "चुना हुआ हटाओ",
"CustomFormatsSpecificationMinimumSize": "अधिकतम आकार",
"DeleteMovieFolderCountConfirmation": "क्या आप वाकई चयनित मूवी फ़ाइलों को हटाना चाहते हैं?",
"DeleteRemotePathMappingMessageText": "क्या आप वाकई इस प्रतिबंध को हटाना चाहते हैं?",
"ImportListsTraktSettingsYears": "साल",
"NotificationsKodiSettingsCleanLibrary": "स्वच्छ पुस्तकालय स्तर",
"SelectReleaseGroup": "रिलीज समूह",
"MovieCollectionFolderMultipleMissingRootsHealthCheckMessage": "एकाधिक रूट फ़ोल्डर गायब हैं: {0}",
"ReleasePush": "रिलीज़ करने की तिथि",
"CinemaRelease": "सिनेमा रिलीज की तारीख दिखाएँ"
}

View File

@@ -381,5 +381,66 @@
"IndexerHDBitsSettingsCodecs": "Kodek",
"ReleaseProfile": "profil verzije",
"AddANewPath": "Dodaj novu putanju",
"AddCustomFilter": "Dodaj proizvoljan filter"
"AddCustomFilter": "Dodaj proizvoljan filter",
"FormatAgeDay": "dani",
"EditCollection": "Kolekcija",
"RemoveSelectedBlocklistMessageText": "Jeste li sigurni da želite izbrisati stavku {0} iz reda?",
"UiLanguage": "jezik",
"ImportListsTraktSettingsYears": "Godina",
"ManageCustomFormats": "Prilagođeni format",
"ManageDownloadClients": "Klijent za preuzimanje",
"ManageFormats": "Prilagođeni format",
"NoChanges": "Promijeni",
"NotificationsKodiSettingsCleanLibrary": "Očisti Razinu Biblioteke",
"OneMinute": "minute",
"Unreleased": "verzija",
"UnsavedChanges": "Spremi izmjene",
"AutomaticAdd": "Automatski",
"NotificationsEmbySettingsSendNotifications": "Obavijest",
"NotificationsKodiSettingsGuiNotification": "Obavijest",
"RootFolderPath": "Korijenska Mapa",
"ShowCertification": "Certifikacija",
"ClearBlocklistMessageText": "Jeste li sigurni da želite izbrisati stavku {0} iz reda?",
"ConnectionLost": "Veze",
"CustomFilters": "Dodaj proizvoljan filter",
"DeleteQualityProfile": "Profil Kvalitete",
"DeleteSelectedCustomFormatsMessageText": "Jeste li sigurni da želite izbrisati ovu uvoznu listu isključenja?",
"DeleteSelectedDownloadClientsMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"Discover": "Discord",
"DownloadClientValidationAuthenticationFailure": "Potrebna Autentikacija",
"FormatRuntimeMinutes": "minute",
"MinimumCustomFormatScore": "Prilagođeni format",
"NoChange": "Promijeni",
"NotificationsDiscordSettingsAuthor": "Automatski",
"NotificationsPushcutSettingsNotificationName": "Obavijest",
"Tags": "Oznaka",
"UiSettings": "Postavke",
"GrabRelease": "verzija",
"AutoTaggingSpecificationGenre": "Žanr",
"CustomFilter": "Dodaj proizvoljan filter",
"CountImportListsSelected": "{count} Kolekcija odabrano",
"DownloadClientSettings": "Klijent za preuzimanje",
"DeleteSelectedIndexersMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"Download": "Ponovno preuzimanje neuspješno",
"Downloaded": "Ponovno preuzimanje neuspješno",
"EditSelectedDownloadClients": "Klijent za preuzimanje",
"EnableAutomaticSearch": "Automatska Pretraga",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Prilagođeni format",
"DeleteDelayProfile": "profil verzije",
"DeleteMovieFolderCountConfirmation": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"DeleteMovieFolderCountWithFilesConfirmation": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"DeleteReleaseProfile": "profil verzije",
"DeleteRemotePathMappingMessageText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"DeleteRestrictionHelpText": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"IndexerSettingsMultiLanguageRelease": "Audio Jezici",
"DeleteDownloadClient": "Klijent za preuzimanje",
"CustomFormatJson": "Prilagođeni format",
"CustomFormatScore": "Prilagođeni format",
"DeleteSelectedDownloadClients": "Klijent za preuzimanje",
"DeleteSelectedImportListsMessageText": "Jeste li sigurni da želite izbrisati ovu uvoznu listu isključenja?",
"EditAutoTag": "Dodaj AutoOznaku",
"Downloading": "Ponovno preuzimanje neuspješno",
"MultiLanguage": "Audio Jezici",
"OrganizeConfirm": "Jeste li sigurni da želite obrisati ovaj profil odgode?",
"MinimumCustomFormatScoreIncrement": "Prilagođeni format"
}

File diff suppressed because it is too large Load Diff

View File

@@ -191,5 +191,81 @@
"AddCondition": "tambah persyaratan",
"AddConditionImplementation": "tambah persyaratan {implementationName}",
"AddConnection": "tambah koneksi",
"AddConnectionImplementation": "tambah koneksi - {implementationName}"
"AddConnectionImplementation": "tambah koneksi - {implementationName}",
"NotificationsDiscordSettingsAuthor": "Otomatis",
"ReleaseProfile": "Tambah Delay Profile",
"CustomFilters": "tambah filter khusus",
"AddImportListExclusionError": "tidak dapat menambahkan persyaratan baru, coba lagi..",
"AddImportListImplementation": "tambah persyaratan {implementationName}",
"AddIndexerError": "tidak dapat menambahkan persyaratan baru, coba lagi..",
"AddDelayProfileError": "tidak dapat menambahkan persyaratan baru, coba lagi..",
"AddDownloadClientError": "tidak dapat menambahkan persyaratan baru, coba lagi..",
"UiLanguage": "Bahasa",
"Filters": "File",
"MinimumCustomFormatScore": "Format Khusus",
"MonitoredOnly": "Tidak Dimonitor",
"NotMonitored": "Dimonitor",
"ReleaseProfiles": "Tambah Delay Profile",
"InteractiveSearch": "Aktifkan Penelusuran Interaktif",
"InteractiveSearchModalHeader": "Aktifkan Penelusuran Interaktif",
"Monitor": "Dimonitor",
"MoviesSelectedInterp": "{count} serial dipilih",
"AddIndexerImplementation": "tambah persyaratan {implementationName}",
"AddListError": "tidak dapat menambahkan persyaratan baru, coba lagi..",
"CountImportListsSelected": "{count} serial dipilih",
"OneMinute": "menit",
"ShowQualityProfile": "Profil Kualitas",
"AddDownloadClientImplementation": "tambah persyaratan {implementationName}",
"CloneCustomFormat": "Format Khusus",
"CountIndexersSelected": "{count} serial dipilih",
"CustomFilter": "tambah filter khusus",
"CustomFormatJson": "Format Khusus",
"CustomFormatScore": "Format Khusus",
"DeleteDelayProfile": "Profil Kualitas",
"DeleteDownloadClient": "Tambahkan Download Client",
"DownloadClients": "Tambahkan Download Client",
"EditAutoTag": "tambah label otomatis",
"EditCollection": "Koleksi",
"EditDownloadClientImplementation": "tambah persyaratan {implementationName}",
"EditQualityProfile": "Profil Kualitas",
"Filter": "File",
"FormatDateTime": "{relativeDay}, {formattedDate} {formattedTime}",
"AddNotificationError": "tidak dapat menambahkan persyaratan baru, coba lagi..",
"AddQualityProfile": "Profil Kualitas",
"AddQualityProfileError": "tidak dapat menambahkan persyaratan baru, coba lagi..",
"AddReleaseProfile": "Tambah Delay Profile",
"AddRemotePathMappingError": "tidak dapat menambahkan label otomatis, coba lagi..",
"DownloadClientValidationAuthenticationFailure": "Autentikasi Diperlukan",
"EditImportListImplementation": "tambah koneksi - {implementationName}",
"EditIndexerImplementation": "tambah persyaratan {implementationName}",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Format Khusus",
"DeleteCustomFormat": "Format Khusus",
"AutomaticAdd": "Otomatis",
"DelayProfile": "Tambah Delay Profile",
"DelayProfiles": "Tambah Delay Profile",
"DownloadClientSettings": "Tambahkan Download Client",
"Downloaded": "Pengunduhan Ulang Gagal",
"EditDelayProfile": "Tambah Delay Profile",
"ManageCustomFormats": "Format Khusus",
"ManageDownloadClients": "Tambahkan Download Client",
"ManageFormats": "Format Khusus",
"DayOfWeekAt": "{days}h {time}",
"Days": "Hari",
"DeleteQualityProfile": "Profil Kualitas",
"DeleteSelectedDownloadClients": "Tambahkan Download Client",
"Donate": "Tanggal",
"Download": "Pengunduhan Ulang Gagal",
"DownloadClient": "Tambahkan Download Client",
"EditConditionImplementation": "tambah persyaratan {implementationName}",
"EditConnectionImplementation": "tambah persyaratan {implementationName}",
"EditReleaseProfile": "Tambah Delay Profile",
"EditSelectedDownloadClients": "Tambahkan Download Client",
"IndexerSettingsMultiLanguageRelease": "Bahasa Audio",
"Downloading": "Pengunduhan Ulang Gagal",
"MultiLanguage": "Bahasa Audio",
"ShowMonitored": "Dimonitor",
"DeleteReleaseProfile": "Profil Kualitas",
"DeleteSelectedCustomFormats": "Format Khusus",
"TodayAt": "{days}h {time}",
"MinimumCustomFormatScoreIncrement": "Format Khusus"
}

View File

@@ -1084,5 +1084,76 @@
"ImportListsTraktSettingsCertification": "Vottun",
"ImportListsTraktSettingsGenres": "Tegundir",
"ImportListsTraktSettingsRating": "Einkunnir",
"IndexerHDBitsSettingsMediums": "Miðlungs"
"IndexerHDBitsSettingsMediums": "Miðlungs",
"AutoTaggingSpecificationTag": "Merkimiðar",
"ReleaseProfile": "Breyta seinkunarprófíl",
"SetIndexerFlags": "Indexer fánar",
"ShowCinemaRelease": "Sýna útgáfudag kvikmyndahússins",
"ShowDigitalRelease": "Sýna útgáfudag kvikmyndahússins",
"ShowPhysicalRelease": "Líkamlegur útgáfudagur",
"Trending": "Í bið",
"MassSearchCancelWarning": "Ekki er hægt að hætta við þetta þegar byrjað er án þess að endurræsa {appName}.",
"SetReleaseGroup": "Sleppihópur",
"SkipRedownload": "Endurhlaða",
"ResetQualityDefinitions": "Gæðaskilgreiningar",
"ResetTitles": "Slepptu titli",
"DeleteAutoTag": "Eyða tagi",
"Donate": "Dagsetning",
"FormatRuntimeMinutes": "Fundargerð",
"ImportListMultipleMissingRoots": "Margar rótarmöppur vantar: {0}",
"LanguagesLoadError": "Ekki er hægt að hlaða merkin",
"ManageFormats": "Klón sérsniðið snið",
"MinimumCustomFormatScoreIncrement": "Lágmarkseinkunn fyrir sérsniðið snið",
"NotificationsEmbySettingsSendNotifications": "Vottun",
"NotificationsKodiSettingsCleanLibrary": "Hreint bókasafnsstig",
"NotificationsPushcutSettingsNotificationName": "Vottun",
"ReleaseHash": "Slepptu dagsetningum",
"ReleaseProfiles": "Breyta seinkunarprófíl",
"OneMinute": "Fundargerð",
"PendingDownloadClientUnavailable": "Niðurhalsþjónn er ekki tiltækur",
"RemoveQueueItemRemovalMethodHelpTextWarning": "Fjarlæging fjarlægir niðurhalið og skrána / skrána úr niðurhalsviðskiptavininum.",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Fjarlæging fjarlægir niðurhalið og skrána / skrána úr niðurhalsviðskiptavininum.",
"RemoveSelectedItem": "Fjarlægja valið",
"RemoveSelectedItems": "Fjarlægja valið",
"AddCustomFilter": "Sérsniðin síur",
"OnFileUpgrade": "Við uppfærslu",
"Destination": "Áfangastaður Slóð",
"SelectIndexerFlags": "Eyða Indexer",
"AddCondition": "Tenging",
"AddConnection": "Tenging",
"AddImportList": "Listar",
"DeleteSelected": "Eyða völdum kvikmyndaskrám",
"DeleteSelectedIndexersMessageText": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?",
"DownloadClientSettingsOlderPriority": "Forgangur indexers",
"EditSelectedIndexers": "Eyða Indexer",
"NotificationsKodiSettingsGuiNotification": "Vottun",
"RootFolderPath": "Rótamappa",
"SearchForAllMissingMovies": "Byrjaðu að leita að kvikmynd sem vantar",
"UnableToLoadCollections": "Ekki er hægt að hlaða takmarkanir",
"AudioLanguages": "Fjöltyngt",
"AuthenticationMethod": "Auðkenning",
"AutoTaggingSpecificationGenre": "Tegundir",
"DeleteSelectedDownloadClientsMessageText": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?",
"DeleteSelectedImportListsMessageText": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?",
"DownloadClientFloodSettingsStartOnAdd": "Leitaðu á Add",
"EditSelectedDownloadClients": "Eyða niðurhals viðskiptavinur",
"EditSelectedMovies": "Eyða völdum kvikmyndaskrám",
"FavoriteFolderRemove": "Fjarlægðu rótarmöppuna",
"ImportListsTraktSettingsYears": "Ár",
"ClearBlocklistMessageText": "Ertu viss um að þú viljir fjarlægja valda hluti af svörtum lista?",
"AutoTaggingSpecificationStudio": "Stúdíó",
"AutomaticAdd": "Sjálfskiptur",
"CustomFormatJson": "Sérsniðið snið",
"CustomFormatsSpecificationMinimumSize": "Hámarksstærð",
"DeleteMovieFolderCountConfirmation": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?",
"DeleteMovieFolderCountWithFilesConfirmation": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?",
"DeleteSelectedCustomFormatsMessageText": "Ertu viss um að þú viljir eyða völdum kvikmyndaskrám?",
"EditCollection": "Söfnun",
"ManageCustomFormats": "Klón sérsniðið snið",
"ManageDownloadClients": "Sækja viðskiptavini",
"ResetDefinitions": "Gæðaskilgreiningar",
"SelectReleaseGroup": "Sleppihópur",
"MovieCollectionFolderMultipleMissingRootsHealthCheckMessage": "Margar rótarmöppur vantar: {0}",
"ReleasePush": "Slepptu dagsetningum",
"CinemaRelease": "Sýna útgáfudag kvikmyndahússins"
}

View File

@@ -26,9 +26,9 @@
"QualityProfiles": "Profili Qualità",
"QualityProfile": "Profilo Qualità",
"QualityDefinitions": "Definizioni delle Qualità",
"PtpOldSettingsCheckMessage": "I seguenti indicizzatori di PassThePopcorn hanno delle impostazioni obsolete e devono essere aggiornati: {0}",
"PtpOldSettingsCheckMessage": "I seguenti indici di PassThePopcorn hanno delle impostazioni obsolete e devono essere aggiornati: {0}",
"ProxyCheckResolveIpMessage": "Impossibile risolvere l'indirizzo IP per l'Host Configurato del Proxy {proxyHostName}",
"ProfilesSettingsSummary": "Qualità, Lingua e Profili di ritardo",
"ProfilesSettingsSummary": "Profili di Qualità, Lingua, Ritardo e Release",
"PhysicalRelease": "Release Fisica",
"Path": "Percorso",
"OutputPath": "Percorso di Destinazione",
@@ -43,9 +43,9 @@
"ImportListsSettingsSummary": "Liste di Importazione, esclusioni dalle liste",
"ImportListExclusions": "Esclusioni dalle Liste",
"LastWriteTime": "Orario di Ultima Scrittura",
"IndexerRssHealthCheckNoIndexers": "Non è disponibile nessun indexer con la sincronizzazione RSS attiva, {appName} non recupererà nuove release automaticamente",
"IndexerRssHealthCheckNoAvailableIndexers": "Tutti gli indexer RSS sono momentaneamente disabilitati a causa di errori",
"Indexer": "Indicizzatore",
"IndexerRssHealthCheckNoIndexers": "Non è disponibile nessun indice con la sincronizzazione RSS attiva, {appName} non recupererà nuove release automaticamente",
"IndexerRssHealthCheckNoAvailableIndexers": "Tutti gli indici con RSS sono temporaneamente non disponibili a causa di recenti errori negli indici",
"Indexer": "Indice",
"HideAdvanced": "Nascondi Avanzate",
"Health": "Salute",
"GrabSelected": "Recupera selezione",
@@ -129,13 +129,13 @@
"ImportLists": "Liste",
"Languages": "Lingue",
"Language": "Lingua",
"IndexerStatusCheckSingleClientMessage": "Indicizzatori non disponibili a causa di errori: {indexerNames}",
"IndexerStatusCheckAllClientMessage": "Nessun Indicizzatore disponibile a causa di errori",
"IndexerStatusCheckSingleClientMessage": "Indici non disponibili a causa di errori: {indexerNames}",
"IndexerStatusCheckAllClientMessage": "Nessun Indice disponibile a causa di errori",
"IndexersSettingsSummary": "Restrizioni per indexer e release",
"IndexerSearchCheckNoInteractiveMessage": "Non sono disponibili indicizzatori con abilitata la Ricerca Interattiva, {appName} non fornirà nessun risultato tramite la ricerca interattiva",
"IndexerSearchCheckNoAvailableIndexersMessage": "Tutti gli indexer abilitati alla ricerca sono momentaneamente non disponibili a causa di errori",
"IndexerSearchCheckNoAutomaticMessage": "Non è disponibile nessun indexer con abilitata la Ricerca Automatica, {appName} non fornirà nessun risultato tramite la ricerca automatica",
"Indexers": "Indicizzatori",
"IndexerSearchCheckNoInteractiveMessage": "Non sono disponibili indici con la Ricerca Interattiva abilitata, {appName} non fornirà alcun risultato tramite la ricerca interattiva",
"IndexerSearchCheckNoAvailableIndexersMessage": "Tutti gli indici che supportano la ricerca sono momentaneamente non disponibili a causa di errori",
"IndexerSearchCheckNoAutomaticMessage": "Non è disponibile nessun indice con la Ricerca Automatica abilitata, {appName} non fornirà nessun risultato tramite la ricerca automatica",
"Indexers": "Indici",
"InCinemas": "Nei Cinema",
"ImportTipsMessage": "Alcuni consigli affinché l'importazione vada a buon fine:",
"ImportMechanismHealthCheckMessage": "Abilita la Gestione dei Download Completati",
@@ -145,7 +145,7 @@
"Ignored": "Ignorato",
"ICalLink": "Link iCal",
"Host": "Host",
"History": "Storia",
"History": "Storico",
"Genres": "Generi",
"GeneralSettingsSummary": "Porta, SSL, Nome utente/password, proxy, statistiche e aggiornamenti",
"General": "Generale",
@@ -177,7 +177,7 @@
"Day": "Giorno",
"Dates": "Date",
"Date": "Data",
"CutoffUnmet": "Soglia Non Raggiunta",
"CutoffUnmet": "Soglia non raggiunta",
"CustomFormatsSettingsSummary": "Formati Personalizzati Impostazioni",
"CustomFormats": "Formati Personalizzati",
"CustomFilters": "Filtri Personalizzati",
@@ -208,7 +208,7 @@
"AddImportListExclusion": "Aggiungi Lista Esclusioni",
"Close": "Chiudi",
"CloneProfile": "Copia Profilo",
"CloneIndexer": "Copia Indicizzatore",
"CloneIndexer": "Copia Indice",
"ClientPriority": "Priorità Client",
"ClickToChangeQuality": "Click per cambiare qualità",
"ClickToChangeLanguage": "Click per cambiare lingua",
@@ -221,7 +221,7 @@
"CertificateValidationHelpText": "Cambia quanto rigorosamente vengono validati i certificati HTTPS. Non cambiare senza conoscerne i rischi.",
"CertificateValidation": "Convalida del Certificato",
"Cancel": "Annulla",
"BypassProxyForLocalAddresses": "Evita il Proxy per gli Indirizzi Locali",
"BypassProxyForLocalAddresses": "Ignora il Proxy per Indirizzi Locali",
"Branch": "Branca",
"BindAddressHelpText": "Indirizzi IP validi, localhost o '*' per tutte le interfacce",
"BindAddress": "Indirizzo di Ascolto",
@@ -232,7 +232,7 @@
"AvailabilityDelayHelpText": "Quantità di tempo prima o dopo la data di disponibità per la ricerca del Film",
"AvailabilityDelay": "Ritardo di Disponibilità",
"UnmonitorDeletedMoviesHelpText": "I film cancellati dal disco sono automaticamente non monitorati in {appName}",
"AutoRedownloadFailedHelpText": "Cerca e prova a scaricare automaticamente un'altra versione",
"AutoRedownloadFailedHelpText": "Cercare automaticamente e scaricare un'altra release",
"Automatic": "Automatico",
"AuthenticationMethodHelpText": "Utilizza nome utente e password per accedere a {appName}",
"Authentication": "Autenticazione",
@@ -301,7 +301,7 @@
"DeleteRestriction": "Cancella la Restrizione",
"DeleteQualityProfile": "Elimina Profilo Qualità",
"DeleteNotification": "Cancella Notifica",
"DeleteIndexer": "Cancella Indicizzatore",
"DeleteIndexer": "Cancella Indice",
"DeleteImportListExclusion": "Rimuovi Esclusione dalla Lista Importazioni",
"DeleteFile": "Cancella file",
"DeleteEmptyMovieFoldersHelpText": "Cancellare le cartelle vuote dei film durante la scansione del disco e quando i film vengono cancellati",
@@ -319,7 +319,7 @@
"CreateGroup": "Crea gruppo",
"CreateEmptyMovieFoldersHelpText": "Crea le cartelle dei film mancanti durante la scansione del disco",
"CreateEmptyMovieFolders": "Crea cartelle vuote per i film",
"CopyUsingHardlinksHelpTextWarning": "Occasionalmente i file bloccatti possono impedire la rinomina dei file in seeding. Puoi disattivare temporaneamente il seeding e utilizzare la funzione di rinomina di {appName} per evitare il problema.",
"CopyUsingHardlinksHelpTextWarning": "Occasionalmente, i lock dei file possono impedire di rinominare i file in fase di seeding. È possibile disattivare temporaneamente il seeding e utilizzare la funzione di rinomina di {appName} per evitare il problema.",
"CopyUsingHardlinksMovieHelpText": "Gli Hardlink permettono a {appName} di importare torrent in seeding nella cartella film senza occupare ulteriore spazio su disco o copiare l'intero contenuto del file. Gli Hardlink funzionano solo se il file sorgente e di destinazione sono sullo stesso volume",
"ConnectSettings": "Impostazioni Collegamento",
"ConnectionLost": "Connessione Persa",
@@ -355,7 +355,7 @@
"Grab": "Preleva",
"MIA": "MIA",
"MediaInfo": "Info Media",
"IndexerFlags": "Flags dell'Indicizzatore",
"IndexerFlags": "Etichette dell'Indice",
"IncludeCustomFormatWhenRenamingHelpText": "Includi {Custom Formats} nel formato di rinominazione",
"FileNames": "Nomi file",
"ExtraFileExtensionsHelpText": "Liste di file Extra da importare separate da virgola (.nfo saranno importate come .nfo-orig)",
@@ -376,9 +376,9 @@
"SearchMovie": "Trova Film",
"SearchForMovie": "Trova Film",
"ScriptPath": "Percorso dello script",
"RssSyncIntervalHelpTextWarning": "Questo verrà applicato a tutti gli indexer, segui le regole impostate da loro",
"RssSyncIntervalHelpTextWarning": "Questo verrà applicato a tutti gli indici, segui le regole decise da ciascuno",
"RssSyncInterval": "Intervallo Sincronizzazione RSS",
"RssIsNotSupportedWithThisIndexer": "RSS non è supportato con questo indicizzatore",
"RssIsNotSupportedWithThisIndexer": "RSS non supportato con questo indice",
"RetentionHelpText": "Solo Usenet: Imposta a zero per una conservazione illimitata",
"Retention": "Ritenzione",
"Result": "Risultato",
@@ -391,7 +391,7 @@
"RescanMovieFolderAfterRefresh": "Riscansiona la cartella del Film dopo il refresh",
"RescanAfterRefreshHelpTextWarning": "{appName} non identificherà in automatico i cambiamenti ai file quando non impostato a \"Sempre\"",
"RescanAfterRefreshMovieHelpText": "Riscansiona la cartella dopo aver ricaricato il film",
"RequiredHelpText": "Questa {0} condizione deve soddisfare il formato personalizzato per l'applicazione. Altrimenti una sola {1} corrispondenza è sufficiente.",
"RequiredHelpText": "Questa condizione per {implementationName} deve corrispondere perché si applichi il formato personalizzato. Altrimenti, è sufficiente una singola corrispondenza tra quelle per {implementationName}.",
"ReplaceIllegalCharactersHelpText": "Sostituisci i caratteri non consentiti. Se non selezionato, {appName} invece li rimuoverà",
"ReplaceIllegalCharacters": "Sostituisci i caratteri non consentiti",
"Reorder": "Riordina",
@@ -403,7 +403,7 @@
"RemoveFromDownloadClient": "Rimuovi dal client di download",
"RemoveFilter": "Rimuovi filtro",
"RemoveFailedDownloadsHelpText": "Rimuovi i download falliti dalla storia del client di download",
"RemovedFromTaskQueue": "Rimosso dalla coda lavori",
"RemovedFromTaskQueue": "Rimosso dalla coda",
"RemoveCompletedDownloadsHelpText": "Rimuovi i download importati dalla storia del client di download",
"Remove": "Rimuovi",
"ReleaseRejected": "Release rifiutata",
@@ -519,7 +519,7 @@
"LanguageHelpText": "Lingua dell'uscita",
"Interval": "Intervallo",
"InteractiveImport": "Importazione interattiva",
"IndexerSettings": "Impostazioni dell'Indexer",
"IndexerSettings": "Impostazioni dell'Indice",
"IncludeUnmonitored": "Includi non Monitorati",
"IncludeRecommendationsHelpText": "Includi le raccomandazioni di {appName} nella vista scoperta",
"IncludeRadarrRecommendations": "Includi le raccomandazioni di {appName}",
@@ -536,8 +536,8 @@
"IgnoredHelpText": "Questa release sarà respinta se contiene uno o più di questi termini (Sensibile al maiuscolo)",
"UnmonitorDeletedMovies": "Ignora i film cancellati",
"IgnoredAddresses": "Indirizzi Ignorati",
"IconForCutoffUnmet": "L'icona per il taglio non è soddisfatta",
"ICalFeedHelpText": "Copia questo URL sul tuo client o clicca per sottoscrivere se il tuo browser supporta Webcal",
"IconForCutoffUnmet": "Icona per Soglia non raggiunta",
"ICalFeedHelpText": "Copia questo URL sul tuo client o clicca per iscriverti se il tuo browser supporta Webcal",
"HiddenClickToShow": "Nascosto, premi per mostrare",
"HaveNotAddedMovies": "Non hai ancora aggiunto nessun film, vuoi prima importarne alcuni o tutti i tuoi film?",
"Group": "Gruppo",
@@ -555,7 +555,7 @@
"ExistingMovies": "Film esistente(i)",
"Excluded": "Escluso",
"Ended": "Finito",
"SearchIsNotSupportedWithThisIndexer": "Ricerca non supportata con questo indicizzatore",
"SearchIsNotSupportedWithThisIndexer": "Ricerca non supportata con questo indice",
"FilterMoviePlaceholder": "Cerca Films",
"ChangeFileDateHelpText": "Modifica la data dei file in importazione/rescan",
"ExtraFileExtensionsHelpTextsExamples": "Esempi: '.sub, .nfo' or 'sub,nfo'",
@@ -582,9 +582,9 @@
"DeleteTagMessageText": "Sei sicuro di voler eliminare l'etichetta '{label}'?",
"DeleteRestrictionHelpText": "Sei sicuro di voler eliminare questa restrizione?",
"DeleteNotificationMessageText": "Sei sicuro di voler eliminare la notifica '{name}'?",
"DeleteIndexerMessageText": "Sei sicuro di voler eliminare l'indicizzatore '{name}'?",
"DeleteIndexerMessageText": "Sei sicuro di voler eliminare l'indice '{name}'?",
"DeleteDownloadClientMessageText": "Sei sicuro di voler eliminare il client di download '{name}'?",
"Cutoff": "Taglio",
"Cutoff": "Soglia",
"CustomFormatUnknownConditionOption": "Opzione sconosciuta '{key}' per la condizione '{implementation}'",
"BeforeUpdate": "Prima dell'aggiornamento",
"Usenet": "Usenet",
@@ -629,11 +629,11 @@
"ImportListsLoadError": "Non riesco a caricare le liste",
"ListOptionsLoadError": "Non riesco a caricare le opzione delle liste",
"ImportListExclusionsLoadError": "Non riesco a caricare le liste di esclusione",
"IndexersLoadError": "Impossibile caricare gli Indicizzatori",
"IndexerOptionsLoadError": "Non riesco a caricare le opzioni dell'indexer",
"IndexersLoadError": "Impossibile caricare gli Indici",
"IndexerOptionsLoadError": "Impossibile caricare le opzioni dell'indice",
"GeneralSettingsLoadError": "Impossibile caricare le impostazioni Generali",
"DownloadClientOptionsLoadError": "Non riesco a caricare le opzioni del client di download",
"DelayProfilesLoadError": "Non riesco a caricare i profili di ritardo",
"DelayProfilesLoadError": "Impossibile caricare i Profili di ritardo",
"CustomFormatsLoadError": "Impossibile a caricare Formati Personalizzati",
"BackupsLoadError": "Impossibile caricare i backup",
"AddRemotePathMappingError": "Non riesco ad aggiungere la mappatura di un nuovo percorso remoto, riprova.",
@@ -641,14 +641,14 @@
"AddNotificationError": "Impossibile aggiungere una nuova notifica, riprova.",
"AddListError": "Non riesco ad aggiungere una nuova lista, riprova.",
"AddImportListExclusionError": "Non riesco ad aggiungere una nuova lista di esclusione, riprova.",
"AddIndexerError": "Impossibile aggiungere un nuovo Indicizzatore, riprova.",
"AddIndexerError": "Impossibile aggiungere un nuovo indice, riprova.",
"AddDownloadClientError": "Impossibile aggiungere un nuovo client di download, riprova.",
"AddCustomFormatError": "Impossibile aggiungere un nuovo formato personalizzato, riprova.",
"AddConditionError": "Non riesco ad aggiungere una nuova condizione, riprova.",
"UiSettings": "Impostazioni Interfaccia",
"BrowserReloadRequired": "Ricaricamento del browser richiesto",
"UiLanguageHelpText": "Lingua che {appName} userà per l'interfaccia",
"UiLanguage": "Lingua Interfaccia",
"UiLanguage": "Lingua dell'Interfaccia",
"TotalFileSize": "Totale Dimensione File",
"Torrents": "Torrents",
"TorrentDelayHelpText": "Ritardo in minuti da aspettare prima di prendere un torrent",
@@ -657,7 +657,7 @@
"TMDBId": "ID di TMDb",
"TimeFormat": "Formato Orario",
"TestAllLists": "Testa tutte le liste",
"TestAllIndexers": "Prova tutti gli indicizzatori",
"TestAllIndexers": "Prova tutti gli Indici",
"TestAllClients": "Testa tutti i client",
"ICalTagsMoviesHelpText": "Si applica ai film con almeno un tag corrispondente",
"TagIsNotUsedAndCanBeDeleted": "L'etichetta non è in uso e può essere eliminata",
@@ -696,7 +696,7 @@
"ShowMonitored": "Mostra i monitorati",
"ShowGenres": "Mostra generi",
"ShowDateAdded": "Mostra Data Aggiunta",
"IconForCutoffUnmetHelpText": "Mostra l'icona dei file quando il taglio non è stato raggiunto",
"IconForCutoffUnmetHelpText": "Mostra un'icona per i file che non raggiungono la soglia",
"ShowCertification": "Mostra certificato",
"ICalShowAsAllDayEvents": "Mostra come eventi di tutta la giornata",
"ListMonitorMovieHelpText": "Se abilitato, i film aggiunti da questa lista sono aggiunti e monitorati",
@@ -719,11 +719,11 @@
"CloneCustomFormat": "Copia Formato Personalizzato",
"Priority": "Priorità",
"InteractiveSearch": "Ricerca interattiva",
"IndexerPriorityHelpText": "Priorità dell'indexer da 1 (più alto) a 50 (più basso). Default: 25.",
"IndexerPriority": "Priorità dell'Indicizzatore",
"IndexerPriorityHelpText": "Priorità dell'indice da 1 (più alta) a 50 (più bassa). Predefinita: 25. Usata per scegliere tra release che sarebbero altrimenti equivalenti, {appName} userà comunque tutti gli indici abilitati per la sincronizzazione RSS e la ricerca",
"IndexerPriority": "Priorità dell'Indice",
"Disabled": "Disabilitato",
"AutomaticSearch": "Ricerca Automatica",
"AddIndexer": "Aggiungi Indicizzatore",
"AddIndexer": "Aggiungi Indice",
"KeyboardShortcutsSaveSettings": "Salva Impostazioni",
"KeyboardShortcutsOpenModal": "Apri questa Modale",
"KeyboardShortcutsMovieIndexScrollTop": "Indice film: scorri in alto",
@@ -749,8 +749,8 @@
"AddRestriction": "Aggiungi Restrizioni",
"AddMovie": "Aggiungi un FIlm",
"ListTagsHelpText": "Gli elementi dell'elenco dei tag saranno aggiunti con",
"IndexerLongTermStatusCheckSingleClientMessage": "Alcuni Indicizzatori non sono disponibili da più di 6 ore a causa di errori: {indexerNames}",
"IndexerLongTermStatusCheckAllClientMessage": "Nessun Indicizzatore è disponibile da più di 6 ore a causa di errori",
"IndexerLongTermStatusCheckSingleClientMessage": "Alcuni indici non sono disponibili da più di 6 ore a causa di errori: {indexerNames}",
"IndexerLongTermStatusCheckAllClientMessage": "Nessun indice è disponibile da più di 6 ore a causa di errori",
"EditMovieFile": "Modifica il File del Film",
"Yesterday": "Ieri",
"Tomorrow": "Domani",
@@ -793,7 +793,7 @@
"EditGroups": "Modifica Gruppi",
"HomePage": "Pagina Iniziale",
"Hours": "Ore",
"HttpHttps": "HTTP (S)",
"HttpHttps": "HTTP(S)",
"AuthBasic": "Base (Popup del Browser)",
"Monday": "Lunedì",
"AuthForm": "Form (Pagina di Login)",
@@ -902,7 +902,7 @@
"ReplaceWithSpaceDash": "Sostituisci con Space Dash",
"ReplaceWithSpaceDashSpace": "Sostituisci con Space Dash Space",
"Required": "necessario",
"RequiredRestrictionHelpText": "La liberatoria deve contenere almeno uno di questi termini (senza distinzione tra maiuscole e minuscole)",
"RequiredRestrictionHelpText": "La release deve contenere almeno uno di questi termini (senza distinzione tra maiuscole e minuscole)",
"RestartReloadNote": "Nota: {appName} si riavvierà automaticamente e ricaricherà l'interfaccia durante il processo di ripristino.",
"Rss": "RSS",
"Score": "Punteggio",
@@ -919,7 +919,7 @@
"SomeResultsHiddenFilter": "Tutti i risultati sono nascosti dai filtri applicati",
"Sunday": "Domenica",
"TagDetails": "Dettagli Etichetta - {label}",
"TheLogLevelDefault": "Il livello di registro predefinito è \"Info\" e può essere modificato in",
"TheLogLevelDefault": "Il livello di log predefinito è 'Debug' e può essere modificato nelle [Impostazioni Generali](settings/general)",
"ThisCannotBeCancelled": "Questo non può essere annullato una volta avviato senza disabilitare tutti i tuoi indexers.",
"TorrentDelayTime": "Ritardo torrent: {torrentDelay}",
"TorrentsDisabled": "Torrent Disattivati",
@@ -957,11 +957,11 @@
"RemoveFromBlocklist": "Rimuovi della blacklist",
"Blocklisted": "Lista dei Blocchi",
"BlocklistReleases": "Blocca questa Release",
"BypassDelayIfHighestQuality": "Aggira se è di Qualità Massima",
"BypassDelayIfHighestQuality": "Ignora se è alla qualità massima",
"ImportListMissingRoot": "Persa la cartella principale per limportazione delle liste : {rootFolderInfo}",
"ImportListMultipleMissingRoots": "Diverse cartelle principale sono perse per limportazione: {rootFoldersInfo}",
"From": "Da",
"IndexerTagMovieHelpText": "Usa questo indicizzatore per i film con almeno un tag corrispondente. Lascia in bianco per usarlo con tutti i film.",
"IndexerTagMovieHelpText": "Usa questo indice per i film con almeno un'etichetta corrispondente. Lascia in bianco per usarlo con tutti i film.",
"RemotePathMappingCheckFilesBadDockerPath": "Stai utilizzando docker; Il client di download {downloadClientName} riporta files in {path} ma questo non è un percorso valido {osName}. Controlla la mappa dei percorsi remoti e le impostazioni del client di download.",
"RemotePathMappingCheckFilesGenericPermissions": "Il download client {downloadClientName} riporta files in {path} ma {appName} non può vedere questa directory. Potrebbe essere necessario aggiustare i permessi della cartella.",
"OnApplicationUpdate": "All'aggiornamento dell'applicazione",
@@ -976,9 +976,9 @@
"RemotePathMappingCheckImportFailed": "{appName} ha fallito nell'importare un film. Controlla i logs per dettagli.",
"RemoveSelectedItem": "Rimuovi elemento selezionato",
"RemoveSelectedItems": "Rimuovi elementi selezionati",
"TaskUserAgentTooltip": "User-Agent esposto dalla app che ha chiamato la API",
"UpdateAvailableHealthCheckMessage": "É disponibile un nuovo aggiornamento",
"BypassDelayIfHighestQualityHelpText": "Evita il ritardo quando la release ha la qualità massima abilitata nel profilo qualità con il protocollo preferito",
"TaskUserAgentTooltip": "User-Agent fornito dalla app che ha chiamato la API",
"UpdateAvailableHealthCheckMessage": "Aggiornamento disponibile: {version}",
"BypassDelayIfHighestQualityHelpText": "Ignora il ritardo quando la release ha la massima qualità abilitata nel profilo qualità con il protocollo preferito",
"NotificationTriggersHelpText": "Seleziona quali eventi attiveranno questa notifica",
"Filters": "Filtri",
"ImportList": "Lista",
@@ -1023,22 +1023,22 @@
"EditMovies": "Modifica Film",
"DeleteRemotePathMapping": "Elimina la Mappatura dei Percorsi Remoti",
"ApplyTagsHelpTextReplace": "Sostituire: Sostituisce le etichette con quelle inserite (non inserire nessuna etichette per eliminarle tutte)",
"DownloadClientMovieTagHelpText": "Usa questo indicizzatore per i film con almeno un tag corrispondente. Lascia in bianco per usarlo con tutti i film.",
"DownloadClientMovieTagHelpText": "Usa questo client di download per i film con almeno un'etichetta corrispondente. Lascia in bianco per usarlo con tutti i film.",
"DeleteConditionMessageText": "Sei sicuro di voler eliminare la condizione '{name}'?",
"DeleteCustomFormatMessageText": "Sei sicuro di voler eliminare il formato personalizzato '{name}'?",
"DeleteDelayProfileMessageText": "Sei sicuro di volere eliminare questo profilo di ritardo?",
"DeleteFormatMessageText": "Sei sicuro di voler cancellare il formato etichetta {0} ?",
"DeleteImportListExclusionMessageText": "Sei sicuro di voler cancellare questa lista di esclusioni delle importazioni?",
"CountIndexersSelected": "{count} indicizzatore(i) selezionato(i)",
"CountIndexersSelected": "{count} indice/i selezionato/i",
"RemoveSelectedItemQueueMessageText": "Sei sicuro di voler rimuovere 1 elemento dalla coda?",
"RemoveSelectedItemsQueueMessageText": "Sei sicuro di voler rimuovere {selectedCount} elementi dalla coda?",
"ResetAPIKeyMessageText": "Sei sicuro di voler reimpostare la tua chiave API?",
"ApplyTagsHelpTextAdd": "Aggiungi: Aggiunge le etichette alla lista esistente di etichette",
"ApplyTagsHelpTextHowToApplyIndexers": "Come applicare etichette agli indicizzatori selezionati",
"ApplyTagsHelpTextHowToApplyIndexers": "Come applicare etichette agli indici selezionati",
"ApplyTagsHelpTextRemove": "Rimuovi: Rimuove le etichette inserite",
"DeleteSelectedDownloadClients": "Cancella i Client di Download",
"DeleteSelectedImportLists": "Cancella la lista di importazione",
"DeleteSelectedIndexers": "Elimina Indicizzatore/i",
"DeleteSelectedIndexers": "Elimina Indice/i",
"MoveAutomatically": "Sposta Automaticamente",
"UpdateFiltered": "Aggiorna Filtrati",
"ApplyChanges": "Applica Cambiamenti",
@@ -1061,7 +1061,7 @@
"AddConnection": "Aggiungi Connessione",
"AddConnectionImplementation": "Aggiungi Connessione - {implementationName}",
"AddDownloadClientImplementation": "Aggiungi un Client di Download - {implementationName}",
"AddIndexerImplementation": "Aggiungi indicizzatore - {implementationName}",
"AddIndexerImplementation": "Aggiungi Indice - {implementationName}",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Come applicare etichette ai client di download selezionati",
"ApplyTagsHelpTextHowToApplyImportLists": "Come applicare etichette alle liste di importazione selezionate",
"EditSelectedDownloadClients": "Modifica i Client di Download Selezionati",
@@ -1085,18 +1085,18 @@
"Label": "Etichetta",
"QueueLoadError": "Impossibile caricare la Coda",
"IncludeHealthWarnings": "Includi gli avvisi di salute",
"MustContainHelpText": "La liberatoria deve contenere almeno uno di questi termini (senza distinzione tra maiuscole e minuscole)",
"MustContainHelpText": "La release deve contenere almeno uno di questi termini (senza distinzione tra maiuscole e minuscole)",
"InteractiveImportLoadError": "Impossibile caricare gli elementi di importazione manuale",
"ChownGroup": "Gruppo chown",
"AutoTaggingSpecificationTag": "Etichetta",
"ConditionUsingRegularExpressions": "Questa condizione si applica usando espressione regolari. Nota che i caratteri {0} hanno significati speciali e devono essere evitati con un {1}",
"ConditionUsingRegularExpressions": "Questa condizione si applica usando espressione regolari. Nota che i caratteri `\\^$.|?*+()[{` hanno significati speciali e devono essere preceduti da un `\\`",
"ConnectionLostToBackend": "{appName} ha perso la connessione al backend e dovrà essere ricaricato per ripristinare la funzionalità.",
"RemoveQueueItemConfirmation": "Sei sicuro di voler rimuovere '{sourceTitle}' dalla coda?",
"FormatAgeMinutes": "minuti",
"NotificationsDiscordSettingsAuthor": "Autore",
"TablePageSize": "Dimensione Pagina",
"QualitiesLoadError": "Impossibile caricare qualità",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Punteggio formato personalizzato minimo",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Punteggio minimo del Formato Personalizzato",
"Category": "Categoria",
"Clone": "Copia",
"ConnectionLostReconnect": "{appName} cercherà di connettersi automaticamente, oppure clicca su ricarica qui sotto.",
@@ -1120,19 +1120,19 @@
"OrganizeNothingToRename": "Successo! Il mio lavoro è finito, nessun file da rinominare.",
"DownloadClientsLoadError": "Impossibile caricare i client di download",
"EditConditionImplementation": "Modifica Condizione - {implementationName}",
"HistoryLoadError": "Impossibile caricare la storia",
"HistoryLoadError": "Impossibile caricare lo storico",
"InteractiveSearchModalHeader": "Ricerca interattiva",
"NotificationsSimplepushSettingsEvent": "Evento",
"TablePageSizeHelpText": "Numero di elementi da mostrare in ogni pagina",
"BlocklistLoadError": "Non riesco a caricare la BlackList",
"BlocklistLoadError": "Impossibile caricare la lista dei blocchi",
"EditReleaseProfile": "Aggiungi Profilo di Pubblicazione",
"AddReleaseProfile": "Aggiungi un Profilo Release",
"AppUpdatedVersion": "{appName} è stato aggiornato alla versione `{version}`, per vedere le modifiche devi ricaricare {appName}",
"RestartLater": "Lo riavvierò dopo",
"DeleteAutoTagHelpText": "Sei sicuro di voler eliminare la condizione '{name}'?",
"DeleteAutoTagHelpText": "Sei sicuro di voler eliminare l'etichetta automatica '{name}'?",
"OrganizeLoadError": "Errore caricando le anteprime",
"CustomFilter": "Filtro Personalizzato",
"EditIndexerImplementation": "Modifica Indicizzatore - {implementationName}",
"EditIndexerImplementation": "Modifica Indice - {implementationName}",
"No": "No",
"GrabId": "ID di Prelievo",
"NotificationStatusSingleClientHealthCheckMessage": "Applicazioni non disponibili a causa di errori: {notificationNames}",
@@ -1146,10 +1146,10 @@
"MovieIsNotMonitored": "Il film è monitorato",
"ShowUnknownMovieItemsHelpText": "Mostra le voci senza un film nella coda. Ciò potrebbe include film spostati o altro nelle categorie di {appName}",
"DeleteImportListMessageText": "Sei sicuro di voler eliminare la lista '{name}'?",
"DeleteReleaseProfile": "Cancellare il profilo di ritardo",
"DeleteReleaseProfile": "Cancellare il profilo release",
"EditConnectionImplementation": "Aggiungi Condizione - {implementationName}",
"FormatAgeHour": "ora",
"DownloadClientSettingsRecentPriority": "Priorità Client",
"DownloadClientSettingsRecentPriority": "Priorità uscite recenti",
"DeleteSelectedMovieFilesHelpText": "Sei sicuro di voler eliminare i file del film selezionato?",
"RemotePathMappingCheckLocalWrongOSPath": "Stai utilizzando docker; Il client di download {downloadClientName} mette i download in {path} ma questo non è un percorso valido {osName}. Controlla la mappa dei percorsi remoti e le impostazioni del client di download.",
"IndexerSettingsMultiLanguageRelease": "Multi lingua",
@@ -1162,7 +1162,7 @@
"DeletedReasonMovieMissingFromDisk": "{appName} non è riuscito a trovare il file sul disco, quindi è stato rimosso",
"DeleteQualityProfileMessageText": "Sicuro di voler cancellare il profilo di qualità '{name}'?",
"RemotePathMappingCheckFilesLocalWrongOSPath": "Stai utilizzando docker; Il client di download {downloadClientName} riporta files in {path} ma questo non è un percorso valido {osName}. Controlla la mappa dei percorsi remoti e le impostazioni del client di download.",
"AutoTaggingNegateHelpText": "Se selezionato, il formato personalizzato non verrà applicato a questa {0} condizione.",
"AutoTaggingNegateHelpText": "Se selezionato, la regola di tagging automatico non si applicherà se questa condizione per {implementationName} corrisponde.",
"MovieFileDeletedTooltip": "Su Elimina file filmato",
"DeleteMovieFolders": "Elimina la Cartella del Film",
"DeleteSelectedMovies": "Cancellare i File dei Film Selezionati",
@@ -1225,7 +1225,7 @@
"NotificationsTwitterSettingsDirectMessage": "Messaggio Diretto",
"OverrideAndAddToDownloadQueue": "Sovrascrivi e aggiungi alla coda di download",
"OriginalTitle": "Titolo Originale",
"ManageIndexers": "Gestisci Indicizzatori",
"ManageIndexers": "Gestisci Indici",
"ManageLists": "Gestisci Liste",
"Menu": "Menu",
"DownloadFailedMovieTooltip": "Download del film fallito",
@@ -1265,7 +1265,7 @@
"NotificationsValidationUnableToConnectToService": "Impossibile connettersi a {serviceName}",
"NotificationsValidationUnableToSendTestMessage": "Impossibile inviare messaggio di prova: {exceptionMessage}",
"ListWillRefreshEveryInterval": "Le liste verranno aggiornate ogni {refreshInterval}",
"NoIndexersFound": "Nessun indicizzatore trovato",
"NoIndexersFound": "Nessun indice trovato",
"NotificationsTraktSettingsExpires": "Scadenze",
"OneMinute": "1 Minuto",
"OptionalName": "Nome opzionale",
@@ -1314,7 +1314,7 @@
"IncludeTrending": "Includi In Tendenza",
"IncludePopular": "Includi Popolari",
"DownloadClientDelugeValidationLabelPluginFailureDetail": "{appName} non è stato in grado di aggiungere l'etichetta a {clientName}.",
"HourShorthand": "h",
"HourShorthand": "o",
"ShowRottenTomatoesRating": "Mostra valutazione Tomato",
"NotificationsMailgunSettingsUseEuEndpointHelpText": "Abilita per usare l'endpoint EU di MailGun",
"NotificationsGotifySettingsServerHelpText": "URL server Gotify, includendo http(s):// e porta se necessario",
@@ -1366,7 +1366,7 @@
"MovieFileMissingTooltip": "File del film mancante",
"NotificationsEmailSettingsBccAddress": "Indirizzo/i BCC",
"NotificationsGotifySettingsServer": "Server Gotify",
"SubtitleLanguages": "Lingua Sottotitoli",
"SubtitleLanguages": "Lingue dei Sottotitoli",
"False": "Falso",
"SelectFolderModalTitle": "{modalTitle} - Seleziona Cartella",
"UnableToLoadCollections": "Impossibile caricare le collezioni",
@@ -1417,8 +1417,8 @@
"NotificationsPushBulletSettingsAccessToken": "Access Token",
"NotificationsNtfySettingsAccessToken": "Access Token",
"NotificationsTraktSettingsAccessToken": "Access Token",
"DeleteSelectedIndexersMessageText": "Sei sicuro di voler eliminare {count} applicazione(i) selezionata(e)?",
"DeleteSelectedImportListsMessageText": "Sei sicuro di voler eliminare {count} applicazione(i) selezionata(e)?",
"DeleteSelectedIndexersMessageText": "Confermi di voler eliminare i {count} indici selezionati?",
"DeleteSelectedImportListsMessageText": "Confermi di voler eliminare le {count} liste di importazione selezionate?",
"DeleteMovieFolderCountConfirmation": "Sei sicuro di voler eliminare {count} applicazione(i) selezionata(e)?",
"DeleteSelectedDownloadClientsMessageText": "Sei sicuro di voler eliminare i '{count}' client di download selezionato/i?",
"NoMovieFilesToManage": "Nessun file extra da gestire.",
@@ -1429,7 +1429,7 @@
"DownloadClientRTorrentSettingsAddStopped": "Aggiungi Fermato",
"DownloadClientSettingsUseSslHelpText": "Usa connessione sicura quando connetti a {clientName}",
"TablePageSizeMinimum": "La dimensione della pagina deve essere almeno {minimumValue}",
"EditSelectedIndexers": "Modifica Indicizzatori Selezionati",
"EditSelectedIndexers": "Modifica Indici Selezionati",
"ResetTitles": "Reimposta Titoli",
"DownloadClientSettingsAddPaused": "Aggiungi In Pausa",
"DownloadClientNzbgetSettingsAddPausedHelpText": "Questa opzione richiede almeno la versione 16.0 di NzbGet",
@@ -1437,14 +1437,14 @@
"DownloadClientSettingsDestinationHelpText": "Specifica manualmente la destinazione dei download, lascia vuoti per usare la predefinita",
"IndexerSettingsSeedRatio": "Rapporto Seed",
"TablePageSizeMaximum": "La dimensione della pagina non deve superare {maximumValue}",
"MassSearchCancelWarning": "Questo non può essere cancellato una volta avviato senza riavviare {appName} o disattivando tutti i tuoi indicizzatori.",
"MassSearchCancelWarning": "Questa non può essere annullata una volta avviata senza riavviare {appName} o disattivando tutti i tuoi indici.",
"Fixed": "Fissato",
"DownloadClientFloodSettingsAddPaused": "Aggiungi In Pausa",
"NotificationsAppriseSettingsServerUrlHelpText": "URL server Gotify, includendo http(s):// e porta se necessario",
"DownloadClientValidationGroupMissingDetail": "La categoria che ha inserito non esiste in {clientName}. Crealo prima su {clientName}.",
"SearchForCutoffUnmetMoviesConfirmationCount": "Sei sicuro di volere cercare tutti i {totalRecords} film mancanti?",
"Release": "release",
"IndexerDownloadClientHealthCheckMessage": "Indicizzatori con client di download non validi: {indexerNames}.",
"IndexerDownloadClientHealthCheckMessage": "Indici con client di download non validi: {indexerNames}.",
"Any": "Qualunque",
"DeleteSelected": "Elimina Selezionati",
"DeleteSelectedImportListExclusionsMessageText": "Sei sicuro di voler cancellare questa lista di esclusioni delle importazioni?",
@@ -1458,7 +1458,7 @@
"ShowPhysicalReleaseDatePosterHelpText": "Mostra la data di uscita sotto il poster",
"ShowDigitalReleaseDate": "Mostra la data di uscita del cinema",
"ShowDigitalReleaseDatePosterHelpText": "Mostra la data di uscita sotto il poster",
"CountImportListsSelected": "{count} artisti selezionati",
"CountImportListsSelected": "{count} liste di importazione selezionate",
"DayOfWeekAt": "{day} alle {time}",
"TodayAt": "Oggi alle {time}",
"TomorrowAt": "Domani alle {time}",
@@ -1467,7 +1467,7 @@
"ShowTraktRatingPosterHelpText": "Mostra valutazione Tomato sotta la locandina",
"FolderNameTokens": "Token nome file",
"DefaultNotFoundMessage": "Ti devi essere perso, non c'è nulla da vedere qui.",
"Completed": "Completo",
"Completed": "Completato",
"Delay": "Ritardo",
"DownloadClientUnavailable": "Il client di download non è disponibile",
"AutoTaggingSpecificationGenre": "Genere/i",
@@ -1491,7 +1491,7 @@
"AutoTaggingLoadError": "Impossibile caricare auto tagging",
"AnnouncedMovieAvailabilityDescription": "I film sono considerati disponibili non appena vengono aggiunti a {appName}.",
"AutoRedownloadFailedFromInteractiveSearch": "Riesecuzione del download non riuscita dalla ricerca interattiva",
"AutoTaggingRequiredHelpText": "Questa condizione {implementationName} deve corrispondere perché si applichi la regola di auto tagging. Altrimenti è sufficiente una singola corrispondenza {implementationName}.",
"AutoTaggingRequiredHelpText": "Questa condizione per {implementationName} deve corrispondere perché si applichi la regola di auto tagging. Altrimenti è sufficiente una singola corrispondenza tra quelle per {implementationName}.",
"ImportListsTraktSettingsAdditionalParameters": "Parametri Addizionali",
"ImportListsTraktSettingsAuthenticateWithTrakt": "Autentica con Trakt",
"ImportListsTraktSettingsRating": "Valutazione",
@@ -1539,11 +1539,91 @@
"MyComputer": "Mio Computer",
"ImportListsRadarrSettingsFullUrl": "URL Completo",
"EditMovieCollectionModalHeader": "Modifica - {title}",
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Se un torrent è bloccato tramite hash, potrebbe non essere correttamente rifiutato durante luso di RSS/Ricerca con alcuni indexer. Abilitando questa opzione, il torrent verrà rifiutato dopo essere stato acquisito, ma prima di essere inviato al client.",
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Se un torrent è bloccato tramite hash, potrebbe non essere correttamente rifiutato con l'RSS o la ricerca in alcuni indici. Abilitando questa opzione, il torrent verrà rifiutato dopo essere stato acquisito, ma prima di essere inviato al client.",
"DefaultNameCopiedImportList": "{name} - Copia",
"ReleaseProfile": "profilo release",
"BlocklistAndSearchHint": "Inizia una ricerca per sostituzioni dopo l'aggiunta alla lista dei blocchi",
"BlocklistMultipleOnlyHint": "Aggiungi alla blocklist senza ricerca di sostituti",
"BlocklistOnly": "Solo blocklist",
"AutomaticUpdatesDisabledDocker": "Gli aggiornamenti automatici non sono supportati direttamente quando si utilizza il meccanismo di aggiornamento Docker. Sarà necessario aggiornare l'immagine del contenitore al di fuori di {appName} o utilizzare uno script"
"BlocklistAndSearchHint": "Inizia la ricerca di un sostituto dopo l'aggiunta alla lista dei blocchi",
"BlocklistMultipleOnlyHint": "Aggiungi alla lista dei blocchi senza cercare sostituti",
"BlocklistOnly": "Solo lista dei blocchi",
"AutomaticUpdatesDisabledDocker": "Gli aggiornamenti automatici non sono supportati direttamente quando si utilizza il meccanismo di aggiornamento Docker. Sarà necessario aggiornare l'immagine del contenitore al di fuori di {appName} o utilizzare uno script",
"ManageCustomFormats": "Copia Formato Personalizzato",
"LogSizeLimit": "Limite Dimensione",
"NotificationsPushcutSettingsIncludePoster": "Includi Locandina del Film",
"RemoveSelectedBlocklistMessageText": "Sicuro di voler cancellare la Lista dei Blocchi?",
"AutoTaggingSpecificationStudio": "Studio",
"MinimumCustomFormatScoreIncrement": "Punteggio formato personalizzato minimo",
"IndexerSettingsSeedTimeHelpText": "Il rapporto che un torrent dovrebbe raggiungere prima di essere fermato, vuoto è il predefinito dell'app",
"InvalidMovieInfoLanguageLanguage": "L'interfaccia è impostata in una lingua non valida, correggi e salva le tue impostazioni",
"SkipRedownload": "Non riscaricare",
"ReleaseHash": "Date di rilascio",
"RottenTomatoesRating": "Mostra valutazione Tomato",
"ManageFormats": "Copia Formato Personalizzato",
"MovieMatchType": "Tipi di Ricerca Film",
"BlocklistOnlyHint": "Aggiungi alla lista dei blocchi senza cercare sostituti",
"RemoveQueueItemRemovalMethodHelpTextWarning": "La rimozione eliminerà il download e i file dal client di download.",
"SelectMovieModalTitle": "{modalTitle} - Seleziona Cartella",
"SelectReleaseGroup": "Seleziona Tipo Release",
"SetIndexerFlags": "Configura Etichette dell'Indice",
"ShowCinemaRelease": "Mostra la data di uscita del cinema",
"ShowDigitalRelease": "Mostra la data di uscita del cinema",
"ShowPhysicalRelease": "Data di rilascio fisico",
"NotificationsAppriseSettingsIncludePoster": "Includi Locandina del Film",
"NotificationsAppriseSettingsIncludePosterHelpText": "Includi locandina del film nel messaggio",
"NotificationsPushBulletSettingsDeviceIds": "Dispositivi",
"ResetQualityDefinitions": "Reimposta definizioni delle Qualità",
"DeleteAutoTag": "Elimina etichetta automatica",
"DeleteMovieFolderCountWithFilesConfirmation": "Sei sicuro di voler eliminare {count} applicazione(i) selezionata(e)?",
"DeleteRemotePathMappingMessageText": "Sei sicuro di voler eliminare questa restrizione?",
"DownloadClientFloodSettingsStartOnAdd": "Cerca dopo aggiunta",
"DownloadClientSettingsOlderPriority": "Priorità uscite più vecchie",
"FavoriteFolderRemove": "Rimuovi cartella radice",
"MovieCollectionRootFolderMissingRootHealthCheckMessage": "Persa la cartella principale per limportazione delle liste : {rootFolderInfo}",
"MovieEditRootFolderHelpText": "Lo spostamento degli artisti nella stessa cartella radice può essere utilizzato per rinominare le cartelle degli artisti in modo che corrispondano al nome aggiornato o al formato di denominazione",
"OnFileUpgrade": "In aggiornamento",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "La rimozione eliminerà il download e i file dal client di download.",
"ShowTagsHelpText": "Mostra valutazione Tomato sotta la locandina",
"ShowTraktRating": "Mostra valutazione Tomato",
"NotificationsJoinSettingsDeviceIds": "Dispositivi",
"RootFolderPath": "Cartella Radice",
"EditAutoTag": "Aggiungi Etichetta Automatica",
"ImportListsTraktSettingsAdditionalParametersHelpText": "Parametri Addizionali",
"NotificationsKodiSettingsGuiNotification": "Notifica",
"SelectIndexerFlags": "Seleziona Etichette degli Indici",
"BlocklistAndSearchMultipleHint": "Inizia la ricerca di un sostituto dopo l'aggiunta alla lista dei blocchi",
"CloneImportList": "Clona la lista di importazione",
"ImportListsTraktSettingsYears": "Anno",
"ResetDefinitions": "Definizioni delle Qualità",
"SetReleaseGroup": "Seleziona Tipo Release",
"BlocklistFilterHasNoItems": "Il filtro selezionato non contiene elementi nella lista dei blocchi",
"BlocklistReleaseHelpText": "Impedisci a {appName} di scaricare nuovamente questa release via RSS o Ricerca Automatica",
"BypassDelayIfAboveCustomFormatScore": "Salta se supera il punteggio del Formato Personalizzato",
"BypassDelayIfAboveCustomFormatScoreHelpText": "Abilita il bypass quando una release ottiene un punteggio più alto del minimo configurato nel formato personalizzato",
"BypassDelayIfAboveCustomFormatScoreMinimumScoreHelpText": "Punteggio minimo del Formato Personalizzato per ignorare il ritardo del protocollo preferito",
"ChangeCategoryHint": "Sposta il download nella 'Categoria Post-Importazione' del Download Client",
"ChangeCategoryMultipleHint": "Sposta i downloads nella 'Categoria Post-Importazione' del Download Client",
"ClickToChangeIndexerFlags": "Clicca per cambiare le etichette dell'indice",
"ConnectionSettingsUrlBaseHelpText": "Aggiunge un prefisso all'url della {connectionName}, come {url}",
"CountVotes": "{votes} voti",
"CustomFormatsSpecificationExceptLanguage": "Escludi lingua",
"CustomFormatsSpecificationExceptLanguageHelpText": "Si applica se qualsiasi lingua diversa da quella selezionata è presente",
"CustomFormatsSpecificationRegularExpressionHelpText": "L'espressione regolare del Formato Personalizzato ignora le maiuscole/minuscole",
"CutoffNotMet": "Soglia non raggiunta",
"CutoffUnmetLoadError": "Errore durante il caricamento degli elementi che non raggiungono la soglia",
"CutoffUnmetNoItems": "Nessun elemento che non raggiunge la soglia",
"BlackholeWatchFolder": "Cartella da monitorare",
"Dash": "Trattino lungo",
"IndexerSettingsMultiLanguageReleaseHelpText": "Quali lingue sono presenti di solito in una release multi lingua di questo indice?",
"DownloadClientSettingsOlderPriorityMovieHelpText": "Priorità da usare quando si recuperano film rilasciati oltre 21 giorni fa",
"DownloadClientSettingsRecentPriorityMovieHelpText": "Priorità da usare quando si recuperano film rilasciati negli ultimi 21 giorni",
"ResetQualityDefinitionsMessageText": "Confermi di voler reimpostare le definizioni delle qualità?",
"SkipRedownloadHelpText": "{appName} non proverà a scaricare una release alternativa per questo elemento",
"DownloadClientSettingsUrlBaseHelpText": "Aggiunge un prefisso all'url della {connectionName}, come {url}",
"TraktRating": "Mostra valutazione Tomato",
"ReleasePush": "Date di rilascio",
"CinemaRelease": "Mostra la data di uscita del cinema",
"BlocklistedAt": "In blacklist dal {date}",
"AutoTaggingSpecificationKeyword": "Parole Chiave",
"AutoTaggingSpecificationMaximumRuntime": "Tempo di esecuzione massimo",
"AutoTaggingSpecificationMinimumRuntime": "Tempo di esecuzione minimo",
"CountMissingMoviesFromLibrary": "{count} film mancanti dalla libreria"
}

View File

@@ -862,7 +862,7 @@
"UiSettings": "UI設定",
"UiSettingsSummary": "カレンダー、日付、色が損なわれたオプション",
"AddConditionError": "新しい条件を追加できません。再試行してください。",
"AddCustomFormatError": "新しいカスタムフォーマットを追加できません。もう一度試しください。",
"AddCustomFormatError": "カスタムフォーマットを追加できません。もう一度試しください。",
"AddDownloadClientError": "新しいダウンロードクライアントを追加できません。もう一度やり直してください。",
"AddImportListExclusionError": "新しいリストの除外を追加できません。再試行してください。",
"AddListError": "新しいリストを追加できません。もう一度やり直してください。",
@@ -1085,5 +1085,76 @@
"ImportListsTraktSettingsGenres": "ジャンル",
"ImportListsTraktSettingsRating": "評価",
"AddANewPath": "新しいパスを追加",
"IndexerHDBitsSettingsMediums": "中"
"IndexerHDBitsSettingsMediums": "中",
"AutoTaggingSpecificationTag": "タグ",
"ResetQualityDefinitions": "品質の定義",
"ShowCinemaRelease": "シネマのリリース日を表示",
"AutoTaggingSpecificationStudio": "スタジオ",
"CustomFormatJson": "カスタムフォーマット",
"Destination": "宛先パス",
"DownloadClientSettingsOlderPriority": "インデクサの優先順位",
"EditCollection": "コレクション",
"ManageCustomFormats": "カスタムフォーマット",
"ManageDownloadClients": "クライアントのダウンロード",
"ReleaseProfile": "遅延プロファイルの編集",
"AddImportList": "リスト",
"OnFileUpgrade": "アップグレード時",
"PendingDownloadClientUnavailable": "ダウンロードクライアントは利用できません",
"SetIndexerFlags": "インデクサフラグ",
"ShowPhysicalRelease": "物理的なリリース日",
"Trending": "保留中",
"DeleteRemotePathMappingMessageText": "この制限を削除してもよろしいですか?",
"MassSearchCancelWarning": "{appName}を再起動せずに一度開始すると、これをキャンセルすることはできません。",
"ReleaseProfiles": "遅延プロファイルの編集",
"UnableToLoadCollections": "制限を読み込めません",
"FormatRuntimeMinutes": "議事録",
"ImportListMultipleMissingRoots": "複数のルートフォルダがありません:{0}",
"ImportListsTraktSettingsYears": "年",
"ManageFormats": "カスタムフォーマット",
"MinimumCustomFormatScoreIncrement": "最小カスタムフォーマットスコア",
"NotificationsEmbySettingsSendNotifications": "認証",
"RemoveQueueItemRemovalMethodHelpTextWarning": "削除すると、ダウンロードとファイルがダウンロードクライアントから削除されます。",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "削除すると、ダウンロードとファイルがダウンロードクライアントから削除されます。",
"ReleaseHash": "リリース日",
"RemoveSelectedItem": "削除選択",
"RemoveSelectedItems": "削除選択",
"ResetTitles": "リリースタイトル",
"ShowDigitalRelease": "シネマのリリース日を表示",
"NotificationsKodiSettingsCleanLibrary": "クリーンライブラリレベル",
"ResetDefinitions": "品質の定義",
"AddCustomFilter": "カスタムフィルターを追加",
"AddConnection": "接続を追加",
"ClearBlocklistMessageText": "選択したアイテムをブラックリストから削除してもよろしいですか?",
"DeleteMovieFolderCountConfirmation": "選択したムービーファイルを削除してもよろしいですか?",
"DeleteMovieFolderCountWithFilesConfirmation": "選択したムービーファイルを削除してもよろしいですか?",
"DeleteSelected": "選択したムービーファイルを削除する",
"DeleteSelectedDownloadClientsMessageText": "選択したムービーファイルを削除してもよろしいですか?",
"DeleteSelectedIndexersMessageText": "選択したムービーファイルを削除してもよろしいですか?",
"Donate": "日付",
"DownloadClientFloodSettingsStartOnAdd": "追加で検索",
"EditSelectedMovies": "選択したムービーファイルを削除する",
"NotificationsKodiSettingsGuiNotification": "認証",
"NotificationsPushcutSettingsNotificationName": "認証",
"SelectIndexerFlags": "インデクサーを削除する",
"SetReleaseGroup": "リリースグループ",
"AudioLanguages": "多言語",
"AuthenticationMethod": "認証",
"AutomaticAdd": "自動",
"RootFolderPath": "ルートフォルダ",
"SkipRedownload": "再ダウンロード",
"AutoTaggingSpecificationGenre": "ジャンル",
"DeleteSelectedCustomFormatsMessageText": "選択したムービーファイルを削除してもよろしいですか?",
"DeleteSelectedImportListsMessageText": "選択したムービーファイルを削除してもよろしいですか?",
"EditSelectedDownloadClients": "ダウンロードクライアントを削除する",
"EditSelectedIndexers": "インデクサーを削除する",
"FavoriteFolderRemove": "ルートフォルダを削除します",
"CustomFormatsSpecificationMinimumSize": "最大サイズ",
"DeleteAutoTag": "タグを削除",
"LanguagesLoadError": "タグを読み込めません",
"OneMinute": "議事録",
"SearchForAllMissingMovies": "不足している映画の検索を開始します",
"SelectReleaseGroup": "リリースグループ",
"MovieCollectionFolderMultipleMissingRootsHealthCheckMessage": "複数のルートフォルダがありません:{0}",
"ReleasePush": "リリース日",
"CinemaRelease": "シネマのリリース日を表示"
}

View File

@@ -1932,5 +1932,16 @@
"IndexerSettingsFailDownloadsHelpText": "완료된 다운로드를 처리하는 동안 {appName}는 선택된 파일 유형을 실패한 다운로드로 처리합니다.",
"ImportListsRadarrSettingsFullUrl": "전체 URL",
"DefaultNameCopiedImportList": "{name} - 복사",
"NotificationsPushcutSettingsMetadataLinksHelpText": "알림을 보낼 때 시리즈 메타데이터에 대한 링크를 추가"
"NotificationsPushcutSettingsMetadataLinksHelpText": "알림을 보낼 때 시리즈 메타데이터에 대한 링크를 추가",
"ImportListsTraktSettingsLimitMovieHelpText": "가져올 때 시리즈 개수를 제한",
"SelectMovieModalTitle": "{modalTitle} - 폴더 선택",
"IndexerNewznabSettingsAdditionalParametersHelpText": "매개 변수 추가",
"AutoTaggingSpecificationStudio": "스튜디오",
"MovieEditRootFolderHelpText": "동일한 루트 폴더로 시리즈를 이동하면 업데이트된 제목이나 작명 형식과 일치하도록 시리즈 폴더의 이름을 바꿀 수 있습니다",
"ShowCinemaRelease": "영화 개봉일 표시",
"ShowDigitalRelease": "디지털 출시일 표시",
"ShowPhysicalRelease": "실제 출시일 표시",
"CloneImportList": "가져오기 목록 삭제",
"ReleaseProfile": "출시 프로필",
"CinemaRelease": "영화 개봉일 표시"
}

View File

@@ -24,5 +24,51 @@
"ExportCustomFormat": "Pievienot Pielāgotu Formātu",
"New": "Jauns",
"EditReleaseProfile": "Pievienot Aizkaves Profilu",
"AddReleaseProfile": "Pievienot Aizkaves Profilu"
"AddReleaseProfile": "Pievienot Aizkaves Profilu",
"EditDownloadClientImplementation": "Pievienot Nosacījumu - {implementationName}",
"EditSelectedDownloadClients": "Pievienot Lejupielādes Klientu",
"ImportListsTraktSettingsCertification": "Paziņojumi",
"NotificationsEmbySettingsSendNotifications": "Paziņojumi",
"ReleaseProfile": "Pievienot Aizkaves Profilu",
"CloneCustomFormat": "Pievienot Pielāgotu Formātu",
"Collection": "Pievienot Savienojumu",
"Collections": "Pievienot Savienojumu",
"Connect": "Pievienot Savienojumu",
"Connection": "Pievienot Savienojumu",
"ConnectionLost": "Pievienot Savienojumu",
"Connections": "Pievienot Savienojumu",
"CustomFormatJson": "Pievienot Pielāgotu Formātu",
"DelayProfiles": "Pievienot Aizkaves Profilu",
"DeleteReleaseProfile": "Pievienot Aizkaves Profilu",
"AddDownloadClientImplementation": "Pievienot Nosacījumu - {implementationName}",
"AddImportListImplementation": "Pievienot Nosacījumu - {implementationName}",
"EditAutoTag": "Pievienot Automātisko Tagu",
"ManageCustomFormats": "Pievienot Pielāgotu Formātu",
"NotificationsKodiSettingsGuiNotification": "Paziņojumi",
"Certification": "Paziņojumi",
"ManageDownloadClients": "Pievienot Lejupielādes Klientu",
"DownloadClient": "Pievienot Lejupielādes Klientu",
"DownloadClients": "Pievienot Lejupielādes Klientu",
"ReleaseProfiles": "Pievienot Aizkaves Profilu",
"DownloadClientSettings": "Pievienot Lejupielādes Klientu",
"EditImportListImplementation": "Pievienot Nosacījumu - {implementationName}",
"CustomFormat": "Pievienot Pielāgotu Formātu",
"CustomFormatScore": "Pievienot Pielāgotu Formātu",
"CustomFormats": "Pievienot Pielāgotu Formātu",
"DelayProfile": "Pievienot Aizkaves Profilu",
"DeleteDelayProfile": "Pievienot Aizkaves Profilu",
"DeleteDownloadClient": "Pievienot Lejupielādes Klientu",
"DeleteSelectedDownloadClients": "Pievienot Lejupielādes Klientu",
"NotificationsPushcutSettingsNotificationName": "Paziņojumi",
"DeleteCustomFormat": "Pievienot Pielāgotu Formātu",
"DeleteQualityProfile": "Pievienot Aizkaves Profilu",
"EditCollection": "Pievienot Savienojumu",
"MinimumCustomFormatScore": "Pievienot Pielāgotu Formātu",
"ShowCertification": "Paziņojumi",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Pievienot Pielāgotu Formātu",
"ManageFormats": "Pievienot Pielāgotu Formātu",
"EditQualityProfile": "Pievienot Aizkaves Profilu",
"QualityProfile": "Pievienot Aizkaves Profilu",
"DeleteSelectedCustomFormats": "Pievienot Pielāgotu Formātu",
"AutoTaggingSpecificationQualityProfile": "Pievienot Aizkaves Profilu"
}

View File

@@ -20,7 +20,7 @@
"Agenda": "Agenda",
"All": "Alle",
"AllFiles": "Alle filer",
"AllMoviesInPathHaveBeenImported": "Alle filmene i {0} er importert",
"AllMoviesInPathHaveBeenImported": "Alle filmene i {path} er importert",
"AllResultsHiddenFilter": "Alle resultatene er skjult av det anvendte filteret",
"AlreadyInYourLibrary": "Allerede i biblioteket ditt",
"AlternativeTitle": "Alternativ tittel",
@@ -29,7 +29,7 @@
"Analytics": "Analyse",
"Announced": "Kunngjort",
"ApiKey": "API Nøkkel",
"AppDataDirectory": "AppData -katalog",
"AppDataDirectory": "AppData Katalog",
"AppDataLocationHealthCheckMessage": "Oppdatering vil ikke være mulig for å forhindre sletting av AppData på oppdateringen",
"Apply": "Bruk",
"ApplyTags": "Bruk Tags",
@@ -342,5 +342,70 @@
"History": "Historikk",
"Tba": "Venter",
"AddNewMovieRootFolderHelpText": "Undermappa \"{folder}\" vil bli automatisk laget",
"ReleaseProfile": "utgivelseprofil"
"ReleaseProfile": "utgivelseprofil",
"DeleteSelectedDownloadClients": "Nedlastingsklient",
"DeleteSelectedMovieFilesHelpText": "Er du sikker på at du vil slette formattaggen {0}?",
"Discover": "Discord",
"DownloadClientSettings": "Nedlastingsklient",
"EditDownloadClientImplementation": "Ny Nedlastingsklient - {implementationName}",
"FailedDownloadHandling": "Fullført nedlastingshåndtering",
"EditSelectedDownloadClients": "Nedlastingsklient",
"StartSearchForMissingMovie": "Søk etter manglende episoder",
"AuthenticationMethod": "Godkjenning",
"CustomFilter": "Legg til eget filter",
"UiSettings": "Innstillinger",
"Unreleased": "utgivelse",
"EditAutoTag": "Legg til automatisk tagg",
"GrabRelease": "utgivelse",
"ImportMechanismHealthCheckMessage": "Fullført nedlastingshåndtering",
"ManageFormats": "Egendefinert format",
"MinimumCustomFormatScore": "Egendefinert format",
"NotificationsDiscordSettingsAuthor": "Auto",
"NotificationsPushcutSettingsNotificationName": "Varslinger",
"BypassDelayIfAboveCustomFormatScoreMinimumScore": "Egendefinert format",
"OrganizeConfirm": "Er du sikker på at du vil slette formattaggen {0}?",
"RootFolderPath": "Rotmappebane",
"RootFoldersLoadError": "Kunne ikke laste inn rotmapper",
"UiLanguage": "Grensesnittspråk",
"NotificationsEmbySettingsSendNotifications": "Send Varslinger",
"ClearBlocklistMessageText": "Er du sikker på at du vil fjerne alle elementer fra blokkeringslisten?",
"CountImportListsSelected": "{count} importliste(r) valgt",
"EnableAutomaticSearch": "Automatisk Søk",
"ManageCustomFormats": "Egendefinerte formater",
"ManageDownloadClients": "Nedlastingsklienter",
"ShowCertification": "Sertifisering",
"AutomaticAdd": "Legg til automatisk",
"Tags": "Merker",
"EditImportListImplementation": "Endre importliste - {implementationName}",
"CustomFilters": "Egne filter",
"CustomFormatJson": "Egendefinert format-JSON",
"CustomFormatScore": "Egendefinert format score",
"DeleteDelayProfile": "Slett Utsetningsprofil",
"DeleteDownloadClient": "Slett Nedlastingsklient",
"DeleteMovieFolderCountWithFilesConfirmation": "Er du sikker på at du vil slette {0} valgte filmer og alt innhold?",
"DeleteQualityProfile": "Slett Kvalitetsprofil",
"DeleteReleaseProfile": "Slett Release-profil",
"DeleteRemotePathMappingMessageText": "Er du sikker på at du vil slette denne eksterne stimappingen?",
"NoChange": "Ingen Endring",
"NoChanges": "Ingen Endringer",
"NotificationsKodiSettingsCleanLibrary": "Rensk Biblioteket",
"NotificationsKodiSettingsGuiNotification": "Varslinger",
"RemoveSelectedBlocklistMessageText": "Er du sikker på at du vil fjerne {0} elementet {1} fra blokkeringslisten?",
"SearchForAllMissingMovies": "Søk etter manglende episoder",
"MinimumCustomFormatScoreIncrement": "Egendefinert format",
"AlternativeTitlesLoadError": "Kan ikke laste alternative titler",
"AnalyseVideoFilesHelpText": "Trekke ut informasjon som oppløsning, kjøretid og kodek informasjon fra filer. Dette forutsetter att {appName}leser deler av filen. dette kan forutsake høy disk eller nettverks aktivitet når filer skannes.",
"AnnouncedMovieAvailabilityDescription": "Filmer anses tilgjengelige straks de er lagt til {appName}.",
"AppUpdated": "{appName} Oppdatert",
"AppUpdatedVersion": "{appName} er oppdatert til `{version}`, for å aktivere de siste endringene må du laste inn {appName} på ny.",
"AudioLanguages": "Flerspråklig",
"AuthenticationMethodHelpTextWarning": "Vennligst velg en valid autentiserings metode.",
"AuthenticationRequired": "Verefisering påkrevd",
"Any": "Hvilken som helst",
"AuthenticationRequiredHelpText": "Endre hvilke forespørsler som krever autentisering. Ikke endre dette med mindre du forstår risikoen.",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Gjenta nytt passord",
"AuthenticationRequiredPasswordHelpTextWarning": "Oppgi nytt passord",
"AuthenticationRequiredUsernameHelpTextWarning": "Oppgi nytt bruernavn",
"AuthenticationRequiredWarning": "For å forhindre ekstern tilgang uten pålogging, krever {appName} nå at autentisering er aktivert. Du kan velge å deaktivere autentisering for lokale adresser.",
"QualityDefinitions": "Kvalitetsdefinisjoner"
}

View File

@@ -348,8 +348,8 @@
"ColonReplacement": "Dubbelepunt Vervanging",
"CloneProfile": "Dupliceer Profiel",
"CloneIndexer": "Dupliceer Indexeerder",
"ClientPriority": "Client Prioriteit",
"ClickToChangeQuality": "Klik om kwaliteit te wijzigen",
"ClientPriority": "Client prioriteit",
"ClickToChangeQuality": "Klik om de kwaliteit aan te passen",
"ClickToChangeLanguage": "Klik om taal te wijzigen",
"ChangeHasNotBeenSavedYet": "Wijziging is nog niet opgeslagen",
"ChangeFileDate": "Wijzig Bestandsdatum",
@@ -1265,5 +1265,154 @@
"IndexerHDBitsSettingsCodecs": "Codec",
"IndexerHDBitsSettingsMediums": "Gemiddeld",
"IndexerSettingsCategories": "Categorieën",
"ReleaseProfile": "releaseprofiel"
"ReleaseProfile": "releaseprofiel",
"DownloadClientFloodSettingsAddPaused": "Toevoegen gepauzeerd",
"ImportListsTraktSettingsAdditionalParameters": "Aanvullende parameters",
"IndexerHDBitsSettingsCategoriesHelpText": "Als niet gespecificeerd, worden alle opties gebruikt.",
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Als een torrent wordt geblokkeerd op basis van de hash, kan het zijn dat deze niet correct wordt geweigerd tijdens RSS/Search bij sommige indexers. Als je deze optie inschakelt, wordt de torrent alsnog geweigerd nadat hij is opgehaald, maar voordat hij naar de client wordt gestuurd.",
"NotificationsDiscordSettingsAuthor": "Auteur",
"NotificationsGotifySettingsAppToken": "App Token",
"UsenetBlackholeNzbFolder": "Nzb map",
"IndexerSettingsApiUrl": "API URL",
"DefaultNameCopiedSpecification": "{name} - Kopie",
"DefaultNameCopiedImportList": "{name} - Kopie",
"DeleteSelectedDownloadClientsMessageText": "Bent u zeker dat u de indexeerder '{count}' wilt verwijderen?",
"DownloadClientFreeboxSettingsAppIdHelpText": "App ID die wordt gegeven bij het aanmaken van toegang tot de Freebox API (bijv. 'app_id')",
"DownloadClientFreeboxSettingsAppToken": "App Token",
"DownloadClientFreeboxSettingsAppTokenHelpText": "App token dat wordt verkregen bij het aanmaken van toegang tot de Freebox API (bijv. 'app_token')",
"DownloadClientPneumaticSettingsNzbFolderHelpText": "Deze map moet bereikbaar zijn vanuit XBMC",
"DownloadClientRTorrentSettingsAddStoppedHelpText": "Als je dit inschakelt, worden torrents en magnet-links in rTorrent in een gestopte staat toegevoegd. Dit kan magnet-bestanden laten mislukken.",
"DownloadClientSettingsUseSslHelpText": "Gebruik een beveiligde verbinding bij het verbinden met {clientName}",
"DownloadClientTransmissionSettingsUrlBaseHelpText": "Voegt een voorvoegsel toe aan de {clientName} RPC-URL, bijvoorbeeld {url}, standaard is '{defaultUrl}'",
"DownloadClientValidationSslConnectFailureDetail": "{appName} kan niet verbinden met {clientName} via SSL. Dit probleem kan computergerelateerd zijn. Probeer alstublieft om {appName} en {clientName} te configureren om geen SSL te gebruiken.",
"DownloadClientValidationTestTorrents": "Kon de lijst van torrents niet verkrijgen: {exceptionMessage}",
"External": "Extern",
"Implementation": "Implementatie",
"IndexerSettingsApiUser": "API Gebruiker",
"DownloadClientValidationCategoryMissingDetail": "De ingevoerde categorie bestaat niet in {clientName}. Voeg deze eerst toe in {clientName}.",
"FailedToFetchUpdates": "Updates ophalen mislukt",
"IndexerSettingsAdditionalParameters": "Aanvullende parameters",
"DownloadClientDelugeSettingsUrlBaseHelpText": "Voegt een voorvoegsel toe aan de Deluge JSON-URL, zie {url}",
"DownloadClientPneumaticSettingsStrmFolder": "Strm Map",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Of de ingestelde inhoudsindeling van qBittorrent gebruikt moet worden, de originele indeling van de torrent, of altijd een submap moet worden aangemaakt (qBittorrent 4.3.2+)",
"DownloadClientQbittorrentSettingsFirstAndLastFirst": "Eerste en laatste eerst",
"DownloadClientQbittorrentSettingsFirstAndLastFirstHelpText": "Download eerste en laatste stukjes eerst (qBittorrent 4.1.0+)",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Optionele locatie om downloads op te slaan, leeg laten om de standaardlocatie van rTorrent te gebruiken",
"DownloadClientRTorrentSettingsUrlPathHelpText": "Pad naar het XMLRPC-eindpunt, zie {url}. Dit is meestal RPC2 of [pad naar ruTorrent]{url2} bij gebruik van ruTorrent.",
"DownloadClientSettingsAddPaused": "Toevoegen gepauzeerd",
"DownloadClientValidationAuthenticationFailure": "Authenticatiefout",
"DownloadClientValidationAuthenticationFailureDetail": "Gelieve uw gebruikersnaam en wachtwoord te verifiëren. Verifieer ook of de host waar {appName} op draait niet geblokkeerd is voor toegang tot {clientName} door Whitelist limitaties in de {clientName} instellingen.",
"DownloadClientValidationCategoryMissing": "Categorie bestaat niet",
"DownloadClientValidationVerifySsl": "Verifieer SSL instellingen",
"DownloadClientValidationVerifySslDetail": "Gelieve uw SSL-configuratie te verifiëren in zowel {clientName} als {appName}",
"IndexerHDBitsSettingsCodecsHelpText": "Als niet gespecificeerd, worden alle opties gebruikt.",
"IndexerSettingsApiPath": "API pad",
"IndexerSettingsApiPathHelpText": "Pad naar de API, meestal {url}",
"DownloadClientFloodSettingsUrlBaseHelpText": "Voegt een voorvoegsel toe aan de Flood API, zoals {url}",
"DownloadClientFreeboxSettingsApiUrlHelpText": "Stel de basis-URL van de Freebox API in met API-versie, bijvoorbeeld '{url}', standaard is '{defaultApiUrl}'",
"DownloadClientFreeboxSettingsAppId": "App ID",
"DownloadClientFreeboxSettingsHostHelpText": "Hostnaam of IP-adres van de Freebox, standaard '{url}' (werkt alleen als je op hetzelfde netwerk zit)",
"DownloadClientFreeboxSettingsPortHelpText": "Poort die wordt gebruikt om toegang te krijgen tot de Freebox-interface, standaard '{port}'",
"DownloadClientNzbgetSettingsAddPausedHelpText": "Deze optie vereist minimaal NzbGet versie 16.0",
"DownloadClientQbittorrentSettingsUseSslHelpText": "Gebruik een beveiligde verbinding. Zie Opties -> Web UI -> 'Gebruik HTTPS in plaats van HTTP' in qBittorrent.",
"IndexerDownloadClientHealthCheckMessage": "Indexeerders met ongeldige downloadclients: {indexerNames}.",
"IndexerHDBitsSettingsMediumsHelpText": "Als niet gespecificeerd, worden alle opties gebruikt.",
"IndexerNewznabSettingsAdditionalParametersHelpText": "Aanvullende Newznab-parameters",
"Default": "Standaard",
"Destination": "Bestemming",
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Optionele gedeelde map om downloads in te plaatsen, leeg laten om de standaardlocatie van Download Station te gebruiken",
"DownloadClientFloodSettingsAdditionalTagsHelpText": "Voegt eigenschappen van media toe als tags. Hints zijn voorbeelden.",
"DownloadClientFloodSettingsTagsHelpText": "Initiële tags van een download. Om herkend te worden, moet een download alle initiële tags hebben. Dit voorkomt conflicten met niet-gerelateerde downloads.",
"DownloadClientFreeboxSettingsApiUrl": "API URL",
"DownloadClientRTorrentSettingsAddStopped": "Toevoegen gestopt",
"DownloadClientRTorrentSettingsUrlPath": "Url pad",
"DownloadClientSettingsInitialState": "Initiële staat",
"DownloadClientUTorrentTorrentStateError": "uTorrent rapporteert een fout",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Optionele locatie om downloads op te slaan, laat leeg om de standaardlocatie van Transmission te gebruiken",
"DownloadClientValidationGroupMissingDetail": "De ingevoerde groep bestaat niet in {clientName}. Voeg deze eerst toe in {clientName}.",
"DownloadClientValidationSslConnectFailure": "Kan niet verbinden via SSL",
"DownloadClientValidationTestNzbs": "Kon de lijst van NZBs niet verkrijgen: {exceptionMessage}",
"DownloadClientValidationUnableToConnectDetail": "Gelieve de hostnaam en poort te verifiëren.",
"DownloadClientVuzeValidationErrorVersion": "Protocolversie niet ondersteund, gebruik Vuze 5.0.0.0 of hoger met de Vuze Web Remote plugin.",
"IndexerSettingsCookie": "Cookie",
"DownloadClientAriaSettingsDirectoryHelpText": "Optionele locatie om downloads op te slaan, leeg laten om de standaardlocatie van Aria2 te gebruiken",
"DownloadClientFloodSettingsAdditionalTags": "Additionele Tags",
"DownloadClientPneumaticSettingsStrmFolderHelpText": ".strm-bestanden in deze map worden geïmporteerd door Drone",
"DefaultNameCopiedProfile": "{name} - Kopie",
"DeleteSelectedIndexersMessageText": "Bent u zeker dat u de indexeerder '{count}' wilt verwijderen?",
"DownloadClientSettingsDestinationHelpText": "Geef handmatig de downloadbestemming op, laat leeg om de standaardlocatie te gebruiken",
"DownloadClientSettingsInitialStateHelpText": "Begintoestand voor torrents die aan {clientName} worden toegevoegd",
"DownloadClientValidationErrorVersion": "{clientName} versie moet tenminste {requiredVersion} zijn. Gerapporteerde versie is {reportedVersion}",
"DownloadClientValidationGroupMissing": "Groep bestaat niet",
"DownloadClientValidationUnableToConnect": "Kon niet verbinden met {clientName}",
"DownloadClientUTorrentProviderMessage": "uTorrent heeft een geschiedenis van het bevatten van cryptominers, malware en advertenties. We raden je sterk aan om een andere client te kiezen.",
"DownloadClientValidationApiKeyIncorrect": "API-sleutel Incorrect",
"DownloadClientValidationApiKeyRequired": "API-sleutel Nodig",
"EditSelectedDownloadClients": "Geselecteerde downloadclients bewerken",
"EditSelectedIndexers": "Geselecteerde indexeerders bewerken",
"DownloadClientPneumaticSettingsNzbFolder": "Nzb map",
"DownloadClientQbittorrentSettingsInitialStateHelpText": "Begintoestand voor torrents die aan qBittorrent worden toegevoegd. Let op: Gedwongen torrents houden zich niet aan seeding-beperkingen",
"DownloadClientQbittorrentSettingsSequentialOrder": "Opeenvolgende volgorde",
"DownloadClientQbittorrentSettingsSequentialOrderHelpText": "Download in opeenvolgende volgorde (qBittorrent 4.1.0+)",
"DownloadClientValidationUnknownException": "Onbekende fout: {exception}",
"Donate": "Doneer",
"DeleteSelectedCustomFormatsMessageText": "Bent u zeker dat u de indexeerder '{count}' wilt verwijderen?",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Optionele locatie om downloads in te plaatsen, laat leeg om de standaard Tribler locatie te gebruiken",
"DownloadClientDelugeSettingsDirectoryHelpText": "Optionele locatie om downloads in te plaatsen, laat leeg om de standaard Tribler locatie te gebruiken",
"DownloadClientDelugeTorrentStateError": "uTorrent rapporteert een fout",
"DownloadClientQbittorrentTorrentStateError": "uTorrent rapporteert een fout",
"DownloadClientSettingsCategorySubFolderHelpText": "Standaard fallback-categorie als er geen gekoppelde categorie bestaat voor een release. Het toevoegen van een categorie specifiek voor {appName} voorkomt conflicten met niet-gerelateerde downloads die niet van {appName} zijn. Het gebruik van een categorie is optioneel, maar wordt sterk aanbevolen. Er wordt een [categorie]-submap aangemaakt in de uitvoermap.",
"NotificationsKodiSettingsGuiNotification": "Melding",
"NotificationsPushcutSettingsNotificationName": "Melding",
"NotificationsValidationUnableToConnectToService": "Kon niet verbinden met {clientName}",
"SelectIndexerFlags": "Zoek indexeerders",
"FailedToUpdateSettings": "Instellingen ophalen mislukt",
"FavoriteFolderRemove": "Verwijder hoofdmap",
"ManageCustomFormats": "Eigen Formaten",
"RootFolderPath": "Hoofdmap",
"AutoTaggingSpecificationStudio": "Studio",
"DeleteMovieFolderCountConfirmation": "Bent u zeker dat u de indexeerder '{count}' wilt verwijderen?",
"FormatRuntimeMinutes": "Minuten",
"ImportListsTraktSettingsAdditionalParametersHelpText": "Aanvullende parameters",
"ImportListsTraktSettingsYears": "Jaar",
"LanguagesLoadError": "Tags kunnen niet worden geladen",
"ManageDownloadClients": "Downloadprogramma's",
"ManageFormats": "Eigen Formaten",
"MassSearchCancelWarning": "Eenmaal gestart kan dit niet worden geannuleerd zonder al je indexeerders uit te schakelen.",
"MinimumCustomFormatScoreIncrement": "Minimum Aangepast Formaat Score",
"MovieMatchType": "Zoek types",
"NotificationStatusSingleClientHealthCheckMessage": "Applicaties onbeschikbaar door fouten",
"NotificationsEmbySettingsSendNotifications": "Meldingen",
"PendingDownloadClientUnavailable": "Downloader is onbeschikbaar",
"ReleaseHash": "Uitgave Datums",
"ShowCinemaRelease": "Show Cinema-releasedatum",
"ShowRottenTomatoesRating": "Tomato-score",
"OnFileUpgrade": "Bij Opwaarderen",
"RemoveQueueItemRemovalMethodHelpTextWarning": "Het verwijderen zal zowel de download als de bestanden verwijderen bij de downloader.",
"RemoveSelectedBlocklistMessageText": "Weet je zeker dat je de blokkeerlijst wil legen?",
"SearchForAllMissingMovies": "Begin met zoeken naar ontbrekende film",
"ShowDigitalRelease": "Show Cinema-releasedatum",
"ShowImdbRating": "IMDb beoordeling",
"SkipRedownload": "Opnieuw downloaden",
"Trending": "In afwachting",
"ShowTmdbRating": "TMDb-score",
"DeleteMovieFolderCountWithFilesConfirmation": "Bent u zeker dat u de indexeerder '{count}' wilt verwijderen?",
"DownloadClientFloodSettingsStartOnAdd": "Zoeken bij Toevoegen",
"DownloadClientSettingsOlderPriority": "Indexeerder Prioriteit",
"SetIndexerFlags": "Indexeerder Flags",
"ShowPhysicalRelease": "Fysieke Release Datum",
"TraktRating": "Tomato-score",
"OneMinute": "Minuten",
"DeleteSelected": "Verwijder Geselecteerde Filmbestanden",
"DeleteSelectedImportListsMessageText": "Bent u zeker dat u de indexeerder '{count}' wilt verwijderen?",
"DownloadClientSettingsCategoryHelpText": "Standaard fallback-categorie als er geen gekoppelde categorie bestaat voor een release. Het toevoegen van een categorie specifiek voor {appName} voorkomt conflicten met niet-gerelateerde downloads van andere applicaties dan {appName}. Het gebruik van een categorie is optioneel, maar wordt sterk aanbevolen.",
"NotificationsKodiSettingsCleanLibrary": "Bibliotheek Opschonen Niveau",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Het verwijderen zal zowel de download als de bestanden verwijderen bij de downloader.",
"EditAutoTag": "Voeg Automatische Tag toe",
"CustomFormatsSpecificationMinimumSize": "Maximum Grootte",
"DeleteAutoTag": "Verwijder Tag",
"DeleteRemotePathMappingMessageText": "Bent u zeker dat u deze restrictie wilt verwijderen?",
"ShowTraktRating": "Tomato-score",
"ReleasePush": "Uitgave Datums",
"CinemaRelease": "Show Cinema-releasedatum"
}

View File

@@ -10,16 +10,16 @@
"AppDataLocationHealthCheckMessage": "Aktualizacja nie będzie możliwa w celu uniknięcia usunięcia danych aplikacji",
"Analytics": "Analityka",
"All": "Wszystkie",
"Agenda": "Lista",
"Agenda": "Terminarz",
"AddNewTmdbIdMessage": "Możesz również użyć ID TMDb, np. 'tmdb:71663'",
"AddNewMessage": "Dodanie nowego filmu jest bardzo łatwe, po prostu zacznij wpisywać nazwę jakiegoś filmu",
"AddNewMessage": "Dodanie nowego filmu jest bardzo łatwe, po prostu zacznij wpisywać nazwę",
"AddNew": "Dodaj nowy",
"AddMovies": "Dodaj filmy",
"AddExclusion": "Dodaj wyjątek",
"Added": "Dodane",
"Activity": "Aktywność",
"Actions": "Akcje",
"About": "O",
"About": "Informacje",
"Component": "Składnik",
"DeleteMovieFolder": "Usuń folder filmu",
"FileNameTokens": "Tokeny nazw plików",
@@ -74,7 +74,7 @@
"CustomFormatHelpText": "{appName} ocenia każde wydanie, używając sumy wyników za dopasowanie niestandardowych formatów. Jeśli nowa wersja poprawiłaby wynik, przy tej samej lub lepszej jakości, {appName} ją złapie.",
"CustomFormats": "Formaty niestandardowe",
"Ended": "Zakończone",
"CutoffUnmet": "Odcięcie niespełnione",
"CutoffUnmet": "Nie spełnia wymagań",
"Deleted": "Usunięto",
"DeleteFile": "Usunąć plik",
"DeleteSelectedMovieFiles": "Usuń wybrane pliki filmowe",
@@ -85,7 +85,7 @@
"EditCustomFormat": "Edytuj format niestandardowy",
"EnableCompletedDownloadHandlingHelpText": "Automatycznie importuj ukończone pliki do pobrania z klienta pobierania",
"SearchIsNotSupportedWithThisIndexer": "Wyszukiwanie nie jest obsługiwane przez ten indeksator",
"AnalyseVideoFilesHelpText": "Wyodrębnij z plików informacje wideo, takie jak rozdzielczość, czas działania i kodeki. Wymaga to odczytu przez {appName} części pliku, które mogą powodować dużą aktywność dysku lub sieci podczas skanowania.",
"AnalyseVideoFilesHelpText": "Wyodrębnij z plików informacje o wideo, takie jak rozdzielczość, czas trwania i kodeki. Wymaga to odczytu przez {appName} części pliku, które mogą powodować dużą aktywność dysku lub sieci podczas skanowania.",
"ChangeFileDateHelpText": "Zmień datę pliku przy imporcie / ponownym skanowaniu",
"FollowPerson": "Śledź osobę",
"Genres": "Gatunki",
@@ -124,9 +124,9 @@
"TagsSettingsSummary": "Zobacz wszystkie tagi i sposób ich używania. Nieużywane tagi można usunąć",
"TheLogLevelDefault": "Poziom dziennika jest domyślnie ustawiony na „Informacje” i można go zmienić w",
"TorrentDelayTime": "Opóźnienie torrenta: {0}",
"AddIndexerError": "Nie można dodać nowego indeksatora, spróbuj ponownie.",
"AddQualityProfileError": "Nie udało się dodać nowego profilu jakości, spróbuj później.",
"AddRemotePathMappingError": "Nie można dodać nowego mapowania ścieżki zdalnej, spróbuj ponownie.",
"AddIndexerError": "Nie można dodać nowego indeksera, spróbuj ponownie.",
"AddQualityProfileError": "Nie udało się dodać nowego profilu jakości, spróbuj ponownie.",
"AddRemotePathMappingError": "Nie udało się dodać nowego mapowania ścieżki zdalnej, spróbuj ponownie.",
"BackupsLoadError": "Nie można załadować kopii zapasowych",
"ListOptionsLoadError": "Nie można załadować opcji listy",
"UnableToLoadRestrictions": "Nie można załadować ograniczeń",
@@ -153,11 +153,11 @@
"AddRootFolder": "Dodaj folder główny",
"AvailabilityDelay": "Opóźnienie dostępności",
"AvailabilityDelayHelpText": "Ilość czasu przed lub po dostępnej dacie, aby wyszukać film",
"CustomFormatUnknownCondition": "Nieznany warunek formatu niestandardowego „{0}”",
"CustomFormatUnknownCondition": "Nieznany warunek formatu niestandardowego „{implementation}\"",
"Date": "Data",
"AddToDownloadQueue": "Dodaj do kolejki pobierania",
"Add": "Dodaj",
"AddCustomFormat": "Dodaj format niestandardowy",
"AddCustomFormat": "Dodaj niestandardowy format",
"AddDelayProfile": "Dodaj profil opóźnienia",
"AddDownloadClient": "Dodaj klienta pobierania",
"AfterManualRefresh": "Po ręcznym odświeżeniu",
@@ -172,7 +172,7 @@
"EnableSsl": "Włącz SSL",
"EditGroups": "Edytuj grupy",
"AllMoviesInPathHaveBeenImported": "Wszystkie filmy w {path} zostały zaimportowane",
"AllResultsHiddenFilter": "Wszystkie wyniki są ukrywane przez zastosowany filtr",
"AllResultsHiddenFilter": "Wszystkie wyniki są ukryte przez zastosowany filtr",
"Always": "Zawsze",
"HomePage": "Strona główna",
"Hours": "godziny",
@@ -347,7 +347,7 @@
"NoHistory": "Żadnej historii",
"NoLogFiles": "Brak plików dziennika",
"AddNewMovie": "Dodaj nowy film",
"Movies": "Kino",
"Movies": "Filmy",
"NoMatchFound": "Nie znaleziono dopasowania!",
"NotMonitored": "Nie monitorowany",
"NoUpdatesAreAvailable": "Brak dostępnych aktualizacji",
@@ -389,7 +389,7 @@
"FileBrowserPlaceholderText": "Zacznij pisać lub wybierz ścieżkę poniżej",
"ApiKey": "Klucz API",
"StartupDirectory": "Katalog Startowy",
"AddImportListExclusion": "Dodaj wykluczenie z listy",
"AddImportListExclusion": "Dodaj wykluczenie z listy importu",
"AnalyseVideoFiles": "Analizuj pliki wideo",
"Age": "Wiek",
"AgeWhenGrabbed": "Wiek (przy złapaniu)",
@@ -397,7 +397,7 @@
"AllowHardcodedSubsHelpText": "Wykryte wbudowane napisy zostaną automatycznie pobrane",
"AlreadyInYourLibrary": "Już w Twojej bibliotece",
"SystemTimeHealthCheckMessage": "Czas systemowy jest wyłączony o więcej niż 1 dzień. Zaplanowane zadania mogą nie działać poprawnie, dopóki czas nie zostanie skorygowany",
"AnalyticsEnabledHelpText": "Wysyłaj anonimowe informacje o użytkowaniu i błędach do serwerów {appName}. Obejmuje to informacje o Twojej przeglądarce, z których stron {appName} WebUI korzystasz, raportowanie błędów, a także wersję systemu operacyjnego i środowiska wykonawczego. Wykorzystamy te informacje, aby nadać priorytet funkcjom i poprawkom błędów.",
"AnalyticsEnabledHelpText": "Wysyłaj anonimowe informacje o użytkowaniu i błędach do serwerów {appName}. Obejmuje to informacje o Twojej przeglądarce, których stron interfejsu webowego {appName} używasz, raportowanie błędów, a także wersję systemu operacyjnego i środowiska wykonawczego. Wykorzystamy te informacje, aby nadać priorytet funkcjom i poprawkom błędów.",
"MinimumFreeSpace": "Minimalna wolna przestrzeń",
"MinimumLimits": "Minimalne limity",
"ReleaseRejected": "Wersja odrzucona",
@@ -446,7 +446,7 @@
"TableColumns": "Kolumny",
"CompletedDownloadHandling": "Ukończono obsługę pobierania",
"Conditions": "Warunki",
"Connect": "Połącz",
"Connect": "Połączenia",
"Connection": "Połączenie",
"ConnectionLost": "Utracono połączenie",
"Connections": "Znajomości",
@@ -455,7 +455,7 @@
"ConsideredAvailable": "Uważany za dostępny",
"CopyToClipboard": "Skopiuj do schowka",
"CopyUsingHardlinksMovieHelpText": "Użyj twardych linków podczas próby kopiowania plików z torrentów, które wciąż są seedowane",
"CouldNotFindResults": "Nie można znaleźć żadnych wyników dla „{0}”",
"CouldNotFindResults": "Nie można znaleźć żadnych wyników dla „{term}”",
"CreateEmptyMovieFolders": "Utwórz puste foldery z filmami",
"CreateGroup": "Stworzyć grupę",
"CurrentlyInstalled": "Aktualnie zainstalowane",
@@ -464,7 +464,7 @@
"CustomFormatScore": "Wynik w formacie niestandardowym",
"CustomFormatsSettings": "Ustawienia niestandardowych formatów",
"CustomFormatsSettingsSummary": "Niestandardowe formaty i ustawienia",
"CustomFormatUnknownConditionOption": "Nieznana opcja „{0}” dla warunku „{1}”",
"CustomFormatUnknownConditionOption": "Nieznana opcja „{key}” dla warunku „{implementation}”",
"Cutoff": "Odciąć",
"UpgradeUntilCustomFormatScoreMovieHelpText": "Po osiągnięciu tego wyniku w niestandardowym formacie {appName} nie będzie już pobierał filmów",
"UpgradeUntilMovieHelpText": "Po osiągnięciu tej jakości {appName} nie będzie już pobierał filmów",
@@ -492,7 +492,7 @@
"DeleteQualityProfile": "Usuń profil jakości",
"DeleteRestriction": "Usuń ograniczenie",
"DeleteRestrictionHelpText": "Czy na pewno chcesz usunąć to ograniczenie?",
"DeleteSelectedMovie": "Usuń wybrane filmy",
"DeleteSelectedMovie": "Usuń wybrany film",
"DeleteTagMessageText": "Czy na pewno chcesz usunąć tag „{0}”?",
"DeleteMovieFolderConfirmation": "Folder '{0}' i cała jego zawartość zostaną usunięte.",
"DestinationPath": "Ścieżka docelowa",
@@ -500,7 +500,7 @@
"DetailedProgressBar": "Szczegółowy pasek postępu",
"Details": "Detale",
"Discord": "Niezgoda",
"Discover": "Odkryć",
"Discover": "Odkrywaj",
"DiskSpace": "Miejsca na dysku",
"Docker": "Doker",
"Donations": "Darowizny",
@@ -508,7 +508,7 @@
"DoNotUpgradeAutomatically": "Nie aktualizuj automatycznie",
"DownloadClient": "Pobierz klienta",
"DownloadClientCheckNoneAvailableMessage": "Żaden klient pobierania nie jest dostępny",
"DownloadClients": "Pobierz klientów",
"DownloadClients": "Klienci pobierania",
"DownloadClientSettings": "Pobierz ustawienia klienta",
"DownloadClientsSettingsSummary": "Pobieranie klientów, obsługa pobierania i mapowanie ścieżek zdalnych",
"DownloadClientStatusCheckSingleClientMessage": "Klienci pobierania niedostępni z powodu błędów: {downloadClientNames}",
@@ -572,7 +572,7 @@
"SupportedListsMoreInfo": "Aby uzyskać więcej informacji na temat poszczególnych list importu, kliknij przyciski informacyjne.",
"SupportedIndexersMoreInfo": "Aby uzyskać więcej informacji na temat poszczególnych indeksatorów, kliknij przyciski informacyjne.",
"FreeSpace": "Wolna przestrzeń",
"General": "Generał",
"General": "Ogólne",
"GeneralSettings": "Ustawienia główne",
"GeneralSettingsSummary": "Port, SSL, nazwa użytkownika / hasło, proxy, analizy i aktualizacje",
"Global": "Światowy",
@@ -591,7 +591,7 @@
"History": "Historia",
"Host": "Gospodarz",
"ICalLink": "Łącze do iCal",
"IconForCutoffUnmet": "Ikona Cutoff Unmet",
"IconForCutoffUnmet": "Ikona dla „Nie spełnia wymagań”",
"IgnoredAddresses": "Ignorowane adresy",
"UnmonitorDeletedMovies": "Nie monitoruj usuniętych filmów",
"IgnoredHelpText": "Zgoda zostanie odrzucona, jeśli zawiera co najmniej jeden termin (bez rozróżniania wielkości liter)",
@@ -765,7 +765,7 @@
"Script": "Scenariusz",
"ScriptPath": "Ścieżka do Skryptu",
"SearchAll": "Wyszukaj wszystko",
"SearchCutoffUnmet": "Niespełnione Parametry Wyszukiwania",
"SearchCutoffUnmet": "Szukaj pozycji niespełniających wymagań",
"SearchFailedPleaseTryAgainLater": "Wyszukiwanie nie powiodło się, spróbuj ponownie później.",
"SearchFiltered": "Szukaj przefiltrowane",
"SearchForMissing": "Wyszukaj brakujące",
@@ -797,7 +797,7 @@
"WeekColumnHeaderHelpText": "Wyświetlany nad każdą kolumną, gdy tydzień jest aktywnym widokiem",
"ListMonitorMovieHelpText": "Czy filmy dodane przez tę listę mają być dodawane i monitorowane",
"ICalShowAsAllDayEvents": "Pokaż jako wydarzenia całodniowe",
"IconForCutoffUnmetHelpText": "Pokaż ikonę dla plików, gdy odcięcie nie zostało osiągnięte",
"IconForCutoffUnmetHelpText": "Pokaż ikonę dla plików, które nie spełniają wymagań",
"ShowDateAdded": "Pokaż datę dodania",
"ShowMonitoredHelpText": "Pokaż monitorowany status pod plakatem",
"ShowMovieInformation": "Pokaż informacje o filmie",
@@ -838,7 +838,7 @@
"Status": "Status",
"Studio": "Studio",
"Style": "Styl",
"AddNewMovieRootFolderHelpText": "Podfolder „{0}” zostanie utworzony automatycznie",
"AddNewMovieRootFolderHelpText": "Podfolder '{folder}' zostanie utworzony automatycznie",
"Sunday": "niedziela",
"Table": "Stół",
"TableOptions": "Opcje tabeli",
@@ -875,9 +875,9 @@
"AddConditionError": "Nie można dodać nowego warunku, spróbuj ponownie.",
"AddCustomFormatError": "Nie można dodać nowego formatu niestandardowego, spróbuj ponownie.",
"AddDownloadClientError": "Nie można dodać nowego klienta pobierania, spróbuj ponownie.",
"AddImportListExclusionError": "Nie można dodać nowego wykluczenia listy, spróbuj ponownie.",
"AddImportListExclusionError": "Nie można dodać nowego wyjątku listy, spróbuj ponownie.",
"AddListError": "Nie można dodać nowej listy, spróbuj ponownie.",
"AddNotificationError": "Nie udało się dodać nowego powiadomienia, spróbuj później.",
"AddNotificationError": "Nie udało się dodać nowego powiadomienia, spróbuj ponownie.",
"CustomFormatsLoadError": "Nie można załadować formatów niestandardowych",
"DelayProfilesLoadError": "Nie można załadować profili opóźnień",
"DownloadClientOptionsLoadError": "Nie można załadować opcji klienta pobierania",
@@ -923,7 +923,7 @@
"Version": "Wersja",
"VisitTheWikiForMoreDetails": "Odwiedź wiki, aby uzyskać więcej informacji: ",
"WaitingToProcess": "Czekam na przetworzenie",
"Wanted": "Chciał",
"Wanted": "Poszukiwany",
"Warn": "Ostrzeż",
"Week": "Tydzień",
"Weeks": "Tygodni",
@@ -1045,7 +1045,7 @@
"CollectionShowOverviewsHelpText": "Pokaż przegląd kolekcji",
"TotalMovies": "Filmów całkowicie",
"RottenTomatoesRating": "Ocena Tomato",
"ApplicationUrlHelpText": "Zewnętrzny URL tej aplikacji zawierający http(s)://, port i adres URL",
"ApplicationUrlHelpText": "Zewnętrzny link tej aplikacji zawierający http(s)://, port i adres URL",
"ApplicationURL": "Link do aplikacji",
"File": "Plik",
"Language": "Język",
@@ -1058,29 +1058,29 @@
"RemoveSelectedItemsQueueMessageText": "Czy na pewno chcesz usunąć elementy ({0}) z kolejki?",
"DeleteSelectedDownloadClients": "Usuń klienta pobierania",
"DeleteSelectedIndexers": "Usuń indeksator",
"DeleteConditionMessageText": "Czy na pewno chcesz usunąć tag „{0}”?",
"DeleteConditionMessageText": "Czy na pewno chcesz usunąć tag „{name}”?",
"DeleteCustomFormatMessageText": "Czy na pewno chcesz usunąć indeksator „{name}”?",
"DeleteDelayProfileMessageText": "Czy na pewno chcesz usunąć ten profil opóźnienia?",
"DeleteFormatMessageText": "Czy na pewno chcesz usunąć tag formatu {0}?",
"DeleteImportListExclusionMessageText": "Czy na pewno chcesz usunąć to wykluczenie listy importu?",
"RemoveSelectedItemQueueMessageText": "Czy na pewno chcesz usunąć {0} element {1} z kolejki?",
"ApplyTagsHelpTextAdd": "Dodaj: dodaj tagi do istniejącej listy tagów",
"ApplyTagsHelpTextHowToApplyIndexers": "Jak zastosować tagi do wybranych indeksatorów",
"ApplyTagsHelpTextHowToApplyIndexers": "Jak stosować tagi do wybranych indekserów",
"ApplyTagsHelpTextRemove": "Usuń: usuń wprowadzone tagi",
"ApplyTagsHelpTextReplace": "Zastąp: Zastąp tagi wprowadzonymi tagami (nie wprowadzaj tagów, aby usunąć wszystkie tagi)",
"ApplyTagsHelpTextHowToApplyMovies": "Jak zastosować tagi do wybranych filmów",
"ApplyTagsHelpTextHowToApplyMovies": "Jak stosować tagi do wybranych filmów",
"ApplyChanges": "Zastosuj zmiany",
"AddCondition": "Dodaj warunek",
"AutoTagging": "Automatyczne tagowanie",
"AllTitles": "Wszystkie tytuły",
"ApplyTagsHelpTextHowToApplyImportLists": "Jak zastosować tagi do wybranych list",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Jak",
"ApplyTagsHelpTextHowToApplyImportLists": "Jak stosować tagi do wybranych list importu",
"ApplyTagsHelpTextHowToApplyDownloadClients": "Jak stosować tagi do wybranych klientów pobierania",
"ApiKeyValidationHealthCheckMessage": "Zaktualizuj swój klucz API aby był długi na co najmniej {length} znaków. Możesz to zrobić poprzez ustawienia lub plik konfiguracyjny",
"AddAutoTag": "Dodaj automatyczne tagi",
"AutoTaggingNegateHelpText": "Jeśli zaznaczone, zasada automatycznego tagowania nie będzie zastosowana, jeśli ten {0} warunek będzie spełniony",
"AutoTaggingNegateHelpText": "Jeśli zaznaczone, reguła automatycznego tagowania nie zostanie zastosowana, jeśli warunek {implementationName} zostanie spełniony.",
"AddConnection": "Dodaj połączenie",
"AddConditionImplementation": "Dodaj condition - {implementationName}",
"AddConnectionImplementation": "Dodaj Connection - {implementationName}",
"AddConditionImplementation": "Dodaj warunek {implementationName}",
"AddConnectionImplementation": "Dodaj połączenie - {implementationName}",
"AddDownloadClientImplementation": "Dodaj klienta pobierania - {implementationName}",
"No": "Nie",
"QueueLoadError": "Nie udało się załadować kolejki",
@@ -1094,11 +1094,11 @@
"BlocklistLoadError": "Nie można załadować czarnej listy",
"QualityCutoffNotMet": "Odcięcie jakości nie zostało osiągnięte",
"TablePageSizeHelpText": "Liczba elementów do pokazania na każdej stronie",
"AddIndexerImplementation": "Dodaj indeks - {implementationName}",
"AddIndexerImplementation": "Dodaj indekser - {implementationName}",
"RemoveQueueItemConfirmation": "Czy na pewno chcesz usunąć elementy ({0}) z kolejki?",
"Directory": "Folder",
"DeleteReleaseProfile": "Usuń profil opóźnienia",
"DeleteReleaseProfileMessageText": "Czy na pewno usunąć informacje dodatkowe '{0name}'?",
"DeleteReleaseProfileMessageText": "Czy na pewno usunąć informacje dodatkowe '{name}'?",
"DeleteSpecificationHelpText": "Czy na pewno chcesz usunąć tag „{0}”?",
"DisabledForLocalAddresses": "Wyłączone dla adresów lokalnych",
"DownloadClientsLoadError": "Nie można załadować klientów pobierania",
@@ -1128,9 +1128,9 @@
"NotificationStatusSingleClientHealthCheckMessage": "Listy niedostępne z powodu błędów: {notificationNames}",
"Lists": "Listy",
"Yes": "tak",
"AddRootFolderError": "Nie można dodać folderu głównego",
"AddRootFolderError": "Nie udało się dodać folderu głównego",
"DelayingDownloadUntil": "Opóźnianie pobierania do {0} o {1}",
"AddListExclusion": "Dodaj wykluczenie z listy",
"AddListExclusion": "Dodaj wyjątek z listy",
"ConditionUsingRegularExpressions": "Ten warunek pasuje przy użyciu wyrażeń regularnych. Zwróć uwagę, że znaki {0} mają specjalne znaczenie i muszą być poprzedzone znakiem {1}",
"CustomFilter": "Filtry niestandardowe",
"DeleteSpecification": "Usuń powiadomienie",
@@ -1152,7 +1152,7 @@
"DeletedReasonMovieMissingFromDisk": "{appName} nie mógł znaleźć pliku na dysku, więc został usunięty",
"DeleteSelectedMovieFilesHelpText": "Czy na pewno chcesz usunąć wybrane pliki filmowe?",
"IMDbId": "Identyfikator TMDb",
"AddDelayProfileError": "Nie można dodać nowego profilu opóźnienia, spróbuj później.",
"AddDelayProfileError": "Nie można dodać nowego profilu opóźnienia, spróbuj ponownie.",
"MovieFileDeletedTooltip": "Usuń plik filmowy",
"DeleteMovieFolders": "Usuń folder filmu",
"DeleteMovieFoldersHelpText": "Usuń folder z filmami i jego zawartość",
@@ -1160,14 +1160,14 @@
"DeleteSelectedImportListExclusionsMessageText": "Czy na pewno chcesz usunąć to wykluczenie listy importu?",
"Any": "Dowolny",
"AddImportList": "Dodaj listę importu",
"AddImportListImplementation": "Dodaj Listę Importu - {implementationName}",
"AddImportListImplementation": "Dodaj listę importu - {implementationName}",
"AuthenticationRequired": "Wymagana Autoryzacja",
"AudioLanguages": "Języki Dźwięku",
"AuthenticationMethodHelpTextWarning": "Wybierz prawidłową metodę autoryzacji",
"AuthenticationMethod": "Metoda Autoryzacji",
"AppUpdatedVersion": "{appName} został zaktualizowany do wersji `{version}`, by uzyskać nowe zmiany należy przeładować {appName}",
"AddReleaseProfile": "Dodaj Profil Wydania",
"AppUpdated": "{appName} Zaktualizowany",
"AddReleaseProfile": "Dodaj profil wydania",
"AppUpdated": "{appName} zaktualizowany",
"Theme": "Motyw",
"AutoTaggingSpecificationTag": "Etykieta",
"EditReleaseProfile": "Dodaj Profil Wydania",
@@ -1175,7 +1175,7 @@
"PreferredProtocol": "Preferowany protokół",
"ReleaseProfiles": "profil wydania",
"Label": "Etykieta",
"AutoTaggingRequiredHelpText": "Warunek {implementationName} musi być zgodny, aby format niestandardowy został zastosowany. W przeciwnym razie wystarczy jedno dopasowanie {implementationName}.",
"AutoTaggingRequiredHelpText": "Ten warunek {implementationName} musi zostać spełniony, aby reguła automatycznego tagowania została zastosowana. W przeciwnym razie wystarczy pojedyncze dopasowanie {implementationName}.",
"DeleteSelectedCustomFormats": "Usuń format niestandardowy",
"ReleaseDate": "Daty wydania",
"ShowDigitalReleaseDate": "Pokaż datę premiery w kinie",
@@ -1209,5 +1209,297 @@
"IndexerHDBitsSettingsCodecs": "Kodek",
"IndexerHDBitsSettingsMediums": "Średni",
"IndexerSettingsCategories": "Kategorie",
"ReleaseProfile": "profil wydania"
"ReleaseProfile": "profil wydania",
"IndexerSettingsRejectBlocklistedTorrentHashesHelpText": "Jeżeli torrent jest zablokowany przez hasha może zostać nieprawidłowo odrzucony podczas RSS/Szukania przez niektóre indeksery, włączenie tej opcji pozwoli na jego odrzucenie po zgarnięciu, ale przed wysłaniem do klienta.",
"FormatAgeDays": "dni",
"IndexerSettingsApiUrl": "Link API",
"NotificationsDiscordSettingsAuthor": "Autor",
"DefaultNameCopiedSpecification": "{name} - Kopia",
"DownloadClientFloodSettingsAddPaused": "Dodaj zapauzowany",
"ImportListsTraktSettingsAdditionalParameters": "Dodatkowe parametry",
"NotificationsGotifySettingsAppToken": "Token aplikacji",
"IndexerSettingsMinimumSeeders": "Minimalni seederzy",
"IndexerHDBitsSettingsCategoriesHelpText": "Jeżeli niesprecyzowano wszystkie opcje są wykorzystywane.",
"DefaultNameCopiedImportList": "{name} - Kopia",
"AnnouncedMovieAvailabilityDescription": "Filmy są uważane za dostępne od momentu dodania do {appName}.",
"AutoTaggingSpecificationKeyword": "Słowo(a) kluczowe",
"AutoTaggingSpecificationMaximumRuntime": "Maksymalny czas trwania",
"AutoTaggingSpecificationMaximumYear": "Maksymalny rok",
"AutoTaggingSpecificationMinimumRuntime": "Minimalny czas trwania",
"AutoTaggingSpecificationMinimumYear": "Minimalny rok",
"AutoTaggingSpecificationStudio": "Studio(a)",
"AutomaticAdd": "Automatyczne dodawanie",
"SearchForCutoffUnmetMovies": "Szukaj wszystkich filmów niespełniających wymagań",
"CutoffUnmetLoadError": "Błąd podczas ładowania pozycji niespełniających wymagań",
"SearchForCutoffUnmetMoviesConfirmationCount": "Czy na pewno chcesz wyszukać wszystkie filmy ({totalRecords}) niespełniające wymagań?",
"AutoRedownloadFailedFromInteractiveSearchHelpText": "Automatycznie wyszukaj i spróbuj pobrać inną wersję, jeśli nie udało się pobrać wersji z wyszukiwania interaktywnego",
"AutoTaggingLoadError": "Nie można załadować automatycznego tagowania",
"AutoTaggingSpecificationGenre": "Gatunek(i)",
"AutoRedownloadFailedFromInteractiveSearch": "Ponowne pobieranie z wyszukiwania interaktywnego nie powiodło się",
"AutomaticUpdatesDisabledDocker": "Automatyczne aktualizacje nie są bezpośrednio obsługiwane podczas korzystania z mechanizmu aktualizacji Docker. Konieczne będzie zaktualizowanie kontenera poza {appName} lub użycie skryptu",
"BlackholeWatchFolder": "Folder obserwowany",
"BlackholeWatchFolderHelpText": "Folder z którego {appName} powinien importować zakończone pobrania",
"CutoffUnmetNoItems": "Brak pozycji niespełniających wymagań",
"DeleteSelectedCustomFormatsMessageText": "Czy na pewno chcesz usunąć {count} wybranych niestandardowych formatów?",
"DeleteSelectedImportLists": "Usuń listy importu",
"DeleteSelectedImportListsMessageText": "Czy na pewno chcesz usunąć {count} wybranych list importu?",
"DoNotBlocklistHint": "Usuń bez blokowania",
"DownloadClientDelugeSettingsDirectoryCompleted": "Katalog do przenoszenia po zakończeniu",
"DownloadClientDelugeValidationLabelPluginFailure": "Konfiguracja etykiety nie powiodła się",
"DownloadClientDelugeValidationLabelPluginInactive": "Plugin etykiet nie jest aktywowany",
"BlocklistReleaseHelpText": "Blokuje tą premierę przed ponownym pobraniem przez {appName} poprzez RSS albo automatyczne wyszukiwanie",
"BypassDelayIfAboveCustomFormatScoreHelpText": "Włącz pomijanie kiedy premiera ma wagę wyższą niż skonfigurowane minimum niestandardowego formatu",
"BypassDelayIfAboveCustomFormatScoreMinimumScoreHelpText": "Minimalna waga niestandardowego formatu wymagana by pominąć opóźnienie dla preferowanego protokołu",
"ChangeCategory": "Zmień kategorię",
"ChangeCategoryMultipleHint": "Zmień pobierania na 'Kategorię po imporcie' z klienta pobierania",
"Complete": "Zakończone",
"Completed": "Zakończone",
"ConnectionSettingsUrlBaseHelpText": "Dodaj prefix do URL {connectionName}, np. {url}",
"CustomFormatsSpecificationExceptLanguage": "Wyklucz język",
"CustomFormatsSpecificationExceptLanguageHelpText": "Dopasowuje jeżeli występuje jakikolwiek inny język poza wybranym",
"CustomFormatsSpecificationFlag": "Flaga",
"DefaultNotFoundMessage": "Musiałeś się zgubić, nic tutaj nie ma.",
"DeleteAutoTag": "Usuń automatyczny tag",
"DeleteImportList": "Usuń listę importu",
"Disposition": "Stan",
"DoNotBlocklist": "Nie blokuj",
"DownloadClientDelugeSettingsDirectory": "Katalog pobierania",
"DownloadClientDelugeSettingsDirectoryHelpText": "Opcjonalna lokalizacja dla pobrań, pozostaw puste by korzystać z domyślnej lokalizacji Deluge",
"DownloadClientDelugeValidationLabelPluginFailureDetail": "{appName} nie mógł dodać etykiety do {clientName}.",
"DownloadClientDownloadStationProviderMessage": "{appName} nie jest w stanie połączyć się ze stacją pobierania jeżeli dwuetapowa autoryzacja nie jest włączona w Twoim koncie DSM",
"DownloadClientDelugeValidationLabelPluginInactiveDetail": "Musisz mieć włączony plugin etykiet w {clientName} by korzystać z kategorii.",
"CustomFormatsSpecificationMaximumYear": "Maksymalny rok",
"CustomFormatsSpecificationMinimumSize": "Minimalny rozmiar",
"CustomFormatsSpecificationRegularExpression": "Wyrażenie regularne",
"CustomFormatsSpecificationRegularExpressionHelpText": "RegEx niestandardowego formatu nie rozróżnia wielkości liter",
"CutoffNotMet": "Limit nieosiągnięty",
"CinemaRelease": "Premiera kinowa",
"ClearBlocklist": "Wyczyść listę blokowania",
"ClickToChangeIndexerFlags": "Kliknij aby zmienić flagi indeksera",
"ClearBlocklistMessageText": "Czy na pewno chcesz wyczyścić wszystkie elementy listy blokowania?",
"CloneCondition": "Klonuj warunek",
"CloneAutoTag": "Klonuj automatyczny tag",
"CountCustomFormatsSelected": "Wybrano {count} niestandardowych formatów",
"CountImportListsSelected": "Wybrano {count} list importu",
"CountVotes": "{votes} głosów",
"DeleteCondition": "Usuń warunek",
"DeleteMovieFolderCountWithFilesConfirmation": "Czy na pewno chcesz usunąć {count} wybranych filmów i całą zawartość?",
"DeletedReasonManual": "Plik został usunięty przez {appName}, ręcznie lub przez API",
"DownloadClientDelugeTorrentStateError": "Deluge zgłasza błąd",
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Opcjonalna lokalizacja do przenoszenia ukończonych pobrań, pozostaw puste by korzystać z domyślnej lokalizacji Deluge",
"BlocklistAndSearch": "Lista blokowania i wyszukiwanie",
"BlocklistAndSearchHint": "Rozpocznij wyszukiwanie po zamiennik po dodaniu do listy blokowania",
"BlocklistAndSearchMultipleHint": "Rozpocznij wyszukiwania po zamienniki po dodaniu do listy blokowania",
"BlocklistFilterHasNoItems": "Wybrane filtry listy blokowania nie zawierają pozycji",
"BlocklistMultipleOnlyHint": "Blokuj bez wyszukiwania zamienników",
"BlocklistOnly": "Tylko zablokuj",
"BlocklistOnlyHint": "Zablokuj bez szukania zamiennika",
"BlocklistedAt": "Zablokowany {date}",
"BypassDelayIfAboveCustomFormatScore": "Pomiń jeśli powyżej wagi niestandardowego formatu",
"ChangeCategoryHint": "Zmień pobieranie na 'Kategorię po imporcie' z klienta pobierania",
"ChownGroup": "Zmień grupę właściciela (chown)",
"CloneImportList": "Klonuj listę importu",
"CountMissingMoviesFromLibrary": "{count} brakujących filmów z biblioteki",
"CustomFormatJson": "JSON niestandardowego formatu",
"CustomFormatsSettingsTriggerInfo": "Niestandardowy format zostanie zastosowany do premiery lub pliku kiedy spełni co najmniej jeden z każdego typu wybranych warunków.",
"CustomFormatsSpecificationMaximumSizeHelpText": "Premiera musi mieć rozmiar mniejszy lub równy z tym",
"CustomFormatsSpecificationMinimumSizeHelpText": "Premiera musi być większa niż ten rozmiar",
"CustomFormatsSpecificationMinimumYear": "Minimalny rok",
"CustomFormatsSpecificationQualityModifier": "Modyfikator jakości",
"DayOfWeekAt": "{day} {time}",
"DelayMinutes": "{delay} minut",
"DelayProfileProtocol": "Protokół: {preferredProtocol}",
"DeleteMovieFolderCountConfirmation": "Czy na pewno chcesz usunąć {count} wybranych filmów?",
"DeleteMovieFolderMovieCount": "{movieFileCount} plików filmu o rozmiarze {size}",
"DeleteSelected": "Usuń wybrane",
"FormatAgeDay": "dni",
"DeleteSelectedIndexersMessageText": "Czy na pewno chcesz usunąć {count} wybranych indekserów?",
"DownloadClientAriaSettingsDirectoryHelpText": "Opcjonalna lokalizacja dla pobrań, pozostaw puste jeżeli chcesz używać domyślnej lokalizacji Aria2",
"DownloadClientFreeboxSettingsApiUrlHelpText": "Zdefiniuj bazowy link API Freebox z wersją API, np. '{url}, domyślna wartość to '{defaultApiUrl}'",
"DownloadClientFreeboxSettingsAppIdHelpText": "ID aplikacji przypisane podczas tworzenia dostępu do Freebox API ('app_id')",
"DownloadClientNzbgetSettingsAddPausedHelpText": "Ta opcja wymaga NzbGet w wersji minimum 16.0",
"DownloadClientQbittorrentValidationCategoryAddFailure": "Konfiguracja etykiety nie powiodła się",
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "Czy używać skonfigurowanego układu zawartości qBittorrent, oryginalnego układu z torrenta czy zawsze tworzyć podfolder (qBittorrent 4.3.2+)",
"DownloadClientRTorrentSettingsAddStopped": "Dodaj zatrzymany",
"DownloadClientSettingsCategoryHelpText": "Domyślna kategoria zapasowa jeżeli nie ma zmapowanej kategorii dla premiery. Dodawanie kategorii wyjątkowej dla {appName} pomaga uniknąć konfliktów z niezwiązanymi pobraniami spoza {appName}. Korzystanie z kategorii jest opcjonalne, ale mocno rekomendowane.",
"DownloadClientSettingsAddPaused": "Dodaj zapauzowany",
"EditSelectedDownloadClients": "Edytuj wybranych klientów pobierania",
"FavoriteFolderRemove": "Usuń folder główny",
"IndexerSettingsCookie": "Ciasteczko",
"ManageFormats": "Formaty niestandardowe",
"ManageDownloadClients": "Zarządzaj klientami pobierania",
"OverrideAndAddToDownloadQueue": "Nadpisz i dodaj do klienta pobierania",
"TorrentBlackholeSaveMagnetFiles": "Zapisz pliki magnet",
"BlackholeFolderHelpText": "Folder, w którym {appName} będzie przechowywać plik {extension}",
"CountIndexersSelected": "Wybrane indeksery: {count}",
"DefaultNameCopiedProfile": "{name} - Kopia",
"DownloadClientFloodSettingsAdditionalTags": "Dodatkowe tagi",
"DownloadClientFreeboxSettingsAppId": "ID aplikacji",
"DownloadClientFreeboxSettingsAppToken": "Token aplikacji",
"ImportListsTraktSettingsAdditionalParametersHelpText": "Dodatkowe parametry",
"IndexerDownloadClientHealthCheckMessage": "Indeksery z nieprawidłowymi klientami pobierania: {indexerNames}.",
"IndexerNewznabSettingsAdditionalParametersHelpText": "Dodatkowe parametry Newznab",
"IndexerSettingsApiPath": "Ścieżka API",
"IndexerSettingsRejectBlocklistedTorrentHashes": "Odrzucaj synchronizację zablokowanych hashów torrenta podczas zgarniania",
"Logout": "Wyloguj się",
"NoDownloadClientsFound": "Nie znaleziono klientów pobierania",
"NotificationsEmailSettingsUseEncryption": "Używaj szyfrowania",
"NotificationsEmbySettingsSendNotifications": "Powiadomienia",
"OverrideGrabModalTitle": "Nadpisz i zgarnij - {title}",
"SearchForAllMissingMovies": "Rozpocznij wyszukiwanie brakującego filmu",
"SelectFolderModalTitle": "{modalTitle} - wybierz klienta pobierania",
"SetIndexerFlags": "Flagi indeksujące",
"NoHistoryFound": "Nie znaleziono historii",
"NoIndexersFound": "Nie znaleziono indekserów",
"NotificationsKodiSettingsGuiNotification": "Powiadomienia",
"TodayAt": "{day} {time}",
"TorrentBlackholeSaveMagnetFilesExtension": "Zapisz rozszerzenie plików magnet",
"TorrentBlackholeSaveMagnetFilesExtensionHelpText": "Jakiego rozszerzenia używać do linków magnet, domyślnie '.magnet'",
"TorrentBlackholeTorrentFolder": "Folder torrenta",
"Trending": "W oczekiwaniu",
"OnFileUpgrade": "Przy aktualizacji",
"OnHealthRestored": "Na przywrócone zdrowie",
"OneMinute": "Minuty",
"PendingDownloadClientUnavailable": "Klient pobierania jest niedostępny",
"PreviouslyInstalled": "Poprzednio zainstalowany",
"ReleaseHash": "Daty wydania",
"RemoveQueueItemsRemovalMethodHelpTextWarning": "Usunięcie spowoduje usunięcie pobierania i plików z klienta pobierania.",
"ResetTitles": "Tytuł wydania",
"RootFolderPath": "Folder główny",
"ShowImdbRating": "Ocena IMDb",
"ShowPhysicalRelease": "Fizyczna data wydania",
"StopSelecting": "Przestań wybierać",
"TorrentBlackholeSaveMagnetFilesReadOnly": "Tylko zwroty",
"UseSsl": "Używaj SSL",
"UsenetBlackholeNzbFolder": "Folder Nzb",
"IndexerHDBitsSettingsMediumsHelpText": "Jeżeli niesprecyzowano wszystkie opcje są wykorzystywane.",
"DeleteSelectedDownloadClientsMessageText": "Czy na pewno chcesz usunąć indeksator „{0}”?",
"DownloadClientQbittorrentSettingsFirstAndLastFirstHelpText": "Pobierz pierwszy i ostatni fragment pierwszymi (qBittorrent 4.1.0+)",
"DownloadClientQbittorrentSettingsSequentialOrderHelpText": "Pobieraj w porządku sekwencyjnym (qBittorrent 4.1.0+)",
"DownloadClientQbittorrentSettingsUseSslHelpText": "Używaj bezpiecznego połączenia. Sprawdź Opcje -> Interfejs webowy -> 'Używaj HTTPS zamiast HTTP' w qBittorrent.",
"DownloadClientRTorrentSettingsDirectoryHelpText": "Opcjonalna lokalizacja do umieszczenia pobierań, pozostaw puste aby używać domyślnej lokalizacji rTorrenta",
"DownloadClientRTorrentSettingsUrlPathHelpText": "Ścieżka do punktu końcowego XMLRPC, sprawdź {url}. Zwykle jest to RPC2 lub [ścieżka do ruTorrenta]{url2} podczas korzystania z ruTorrenta.",
"DownloadClientSettingsDestinationHelpText": "Ręczne precyzowanie lokalizacji docelowej pobierań, zostaw puste aby korzystać z domyślnej",
"FormatRuntimeMinutes": "Minuty",
"FormatTimeSpanDays": "{day} {time}",
"Implementation": "Wdrożenie",
"IndexerSettingsApiUser": "Użytkonik API",
"IndexerSettingsSeedRatio": "Stosunek seedów",
"IndexerSettingsSeedRatioHelpText": "Stosunek jaki torrent powinien osiągnać przed zatrzymaniem, puste = wartość domyślna klienta pobierania. Stosunek powinien wynosić co najmniej 1.0 i podlegać zasadom indeksera",
"IndexerSettingsSeedTime": "Czas seedowania",
"InfoUrl": "Info URL",
"Install": "Instaluj",
"InstallMajorVersionUpdateMessage": "Ta aktualizacja zainstaluje nową dużą wersję i może nie być kompatybilna z Twoim systemem. Jesteś pewien, że chcesz ją kontynuować?",
"InstallMajorVersionUpdateMessageLink": "Więcej informacji: [{domain}]({url}).",
"InvalidUILanguage": "Twój interfejs użytkownika ma ustawiony nieprawidłowy język, popraw go i zapisz swoje ustawienia",
"LogSizeLimitHelpText": "Maksymalny rozmiar pliku logów (MB) przed archiwizacją. Domyślnie 1 MB.",
"ManageClients": "Zarządzaj klientami",
"ManageCustomFormats": "Formaty niestandardowe",
"ManualGrab": "Ręczne zgarnięcie",
"MassSearchCancelWarning": "Nie można tego anulować po uruchomieniu bez wyłączenia wszystkich indekserów.",
"MinimumCustomFormatScoreIncrement": "Minimalny wynik w formacie niestandardowym",
"MovieMatchType": "Rodzaje wyszukiwań filmów",
"NotificationsKodiSettingsCleanLibrary": "Czysty poziom biblioteki",
"PasswordConfirmation": "Potwierdzenie hasła",
"PreferProtocol": "Protokół: {preferredProtocol}",
"SearchForAllMissingMoviesConfirmationCount": "Czy na pewno chcesz wyszukać wszystkie filmy ({totalRecords}) niespełniające wymagań?",
"SelectDownloadClientModalTitle": "{modalTitle} - wybierz klienta pobierania",
"ShowDigitalRelease": "Pokaż datę premiery w kinie",
"ShowTmdbRating": "Ocena TMDb",
"TraktRating": "Ocena Tomato",
"XmlRpcPath": "Ścieżka RPC XML",
"NotificationsPushcutSettingsNotificationName": "Powiadomienia",
"NotificationsTelegramSettingsIncludeAppName": "Umieść {appName} w tytule",
"NotificationsTelegramSettingsIncludeAppNameHelpText": "Opcjonalny tytuł wiadomości poprzedzającej z {appName} by rozróżnić powiadomienia z różnych aplikacji",
"SecretToken": "Sekretny token",
"CountDownloadClientsSelected": "Wybrani klienci pobierania: {count}",
"Destination": "Lokalizacja docelowa",
"DownloadClientDelugeSettingsUrlBaseHelpText": "Dodaj prefiks do url json deluge, sprawdź {url}",
"DownloadClientFloodSettingsAdditionalTagsHelpText": "Dodaje atrybuty mediów jako tagi. Podpowiedzi są przykładami.",
"DownloadClientFreeboxSettingsApiUrl": "Link API",
"DownloadClientFreeboxSettingsAppTokenHelpText": "Token aplikacji otrzymany podczas tworzenia dostępu do Freebox API ('app_token')",
"DownloadClientFreeboxSettingsPortHelpText": "Port używany przez interfejs Freeboxa, domyślnie '{port}'",
"DownloadClientPneumaticSettingsNzbFolderHelpText": "Ten folder musi być dostępny z XBMC",
"DownloadClientPneumaticSettingsStrmFolder": "Folder Strm",
"DownloadClientQbittorrentSettingsContentLayout": "Układ zawartości",
"DownloadClientQbittorrentSettingsFirstAndLastFirst": "Pierwszy i ostatni pierwszym",
"DownloadClientQbittorrentSettingsSequentialOrder": "Porządek sekwencyjny",
"DownloadClientQbittorrentValidationCategoryAddFailureDetail": "{appName} nie mógł dodać etykiety do {clientName}.",
"DownloadClientRTorrentSettingsUrlPath": "Ścieżka URL",
"DownloadClientSettingsCategorySubFolderHelpText": "Domyślna kategoria zapasowa jeżeli nie ma zmapowanej kategorii dla premiery. Dodawanie kategorii wyjątkowej dla {appName} pomaga uniknąć konfliktów z niezwiązanymi pobraniami spoza {appName}. Korzystanie z kategorii jest opcjonalne, ale mocno rekomendowane.",
"DownloadClientSettingsOlderPriority": "Priorytet indeksatora",
"DownloadClientSettingsUseSslHelpText": "Użyj bezpiecznego połączenia podczas łączenia się z {clientName}",
"EditAutoTag": "Dodaj automatyczne tagi",
"External": "Zewnętrzny",
"FailedToFetchUpdates": "Nie udało się uzyskać aktualizacji",
"FailedToUpdateSettings": "Nie udało się uzyskać ustawień",
"IndexerSettingsApiPathHelpText": "Ścieżka do API, zwykle {url}",
"InstallMajorVersionUpdate": "Instaluj aktualizację",
"InvalidMovieInfoLanguageLanguage": "Twój interfejs użytkownika ma ustawiony nieprawidłowy język, popraw go i zapisz swoje ustawienia",
"Keywords": "Słowo(a) kluczowe",
"LanguagesLoadError": "Nie można załadować tagów",
"LogFilesLocation": "Logi znajdują się w: {location}",
"LogSizeLimit": "Limit rozmiaru logów",
"Menu": "Menu",
"SelectIndexerFlags": "Wybierz indeksery",
"ShowCinemaRelease": "Pokaż datę premiery w kinie",
"ShowRottenTomatoesRating": "Ocena Tomato",
"SkipRedownload": "Pobierz ponownie",
"UpdaterLogFiles": "Pliki logów aktualizatora",
"DownloadClientSettingsUrlBaseHelpText": "Dodaje prefiks to linka {clientName}, np. {url}",
"IndexerSettingsSeedTimeHelpText": "Czas przez jaki torrent powinien być seedowany przed zatrzymaniem, zostaw puste by używać domyślnej wartości klienta pobierania",
"AuthenticationRequiredWarning": "Aby zapobiec nieautoryzowanemu dostępowi zdalnemu, {appName} wymaga, aby autoryzacja była włączona. Możesz ją opcjonalnie wyłączyć dla lokalnych adresów.",
"IndexerSettingsAdditionalParameters": "Dodatkowe parametry",
"AuthenticationRequiredHelpText": "Wymagana jest zmiana, która żąda autoryzacji. Nie zatwierdzaj jej jeśli nie jesteś świadomy ryzyka.",
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Opcjonalny udostępniony folder dla pobrań, pozostaw puste aby korzystać z domyślnej lokalizacji stacji pobierań",
"DownloadClientSettingsInitialStateHelpText": "Stan początkowy torrentów dodanych do {clientName}",
"Default": "Domyślne",
"DownloadClientQbittorrentSettingsInitialStateHelpText": "Początkowy stan torrentów dodanych do qBittorrent. Zwróć uwagę, że wymuszone torrenty nie podlegają ograniczeniom seedowania",
"IndexerPassThePopcornSettingsApiUserHelpText": "Te ustawienia znajdują się w ustawieniach bezpieczeństwa PassThePopcorn (Edit Profile => Security).",
"DownloadClientSettingsInitialState": "Podstawowy stan",
"TorrentBlackholeSaveMagnetFilesHelpText": "Zapisz link magnet jeśli plik .torrent nie jest dostępny (przydatne tylko, jeżeli klient pobierania oferuje zapisywanie magnetów jako pliku)",
"NotificationsEmailSettingsUseEncryptionHelpText": "Czy: preferować korzystanie z szyfrowania jeśli jest skonfigurowane na serwerze; zawsze używać szyfrowanie przez SSL (tylko port 465) lub StartTLS (każdy inny port); nigdy nie korzystać z szyfrowania",
"HealthMessagesInfoBox": "Więcej informacji o tych komunikatach sprawdzania żywotności znajdziesz klikając w ikonkę książki (link do wiki) na końcu wiersza lub sprawdzając [logi]({link}). Jeżeli masz problem z interpretacją tych komunikatów, możesz zgłosić się do naszego wsparcie, pod linkami poniżej.",
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Potwierdź nowe hasło",
"AuthenticationRequiredPasswordHelpTextWarning": "Wprowadź nowe hasło",
"AuthenticationRequiredUsernameHelpTextWarning": "Wprowadź nową nazwę użytkownika",
"Donate": "Wesprzyj finansowo",
"DownloadClientFloodSettingsTagsHelpText": "Początkowe tagi pobierania. Aby zostać rozpoznanym, pobieranie musi mieć wszystkie początkowe tagi. To pozwala na uniknięcie konfliktów z niepowiązanymi pobraniami.",
"DownloadClientFloodSettingsUrlBaseHelpText": "Dodaj prefiks do Flood API, taki jak {url}",
"DownloadClientFloodSettingsStartOnAdd": "Wyszukaj w Dodaj",
"ImportListsTraktSettingsYears": "Rok",
"IndexerHDBitsSettingsCodecsHelpText": "Jeżeli niesprecyzowano wszystkie opcje są wykorzystywane.",
"LabelIsRequired": "Etykieta jest wymagana",
"Category": "Kategoria",
"ThemeHelpText": "Zmień motyw interfejsu użytkownika aplikacji, 'Auto' motyw będzie używał motywu Twojego systemu operacyjnego aby ustawić tryb Jasny lub Ciemny. Zainspirowane przez {inspiredBy}.",
"DownloadClientFreeboxSettingsHostHelpText": "Nazwa lub IP hosta Freeboxa, domyślnie '{url}' (zadziała tylko w tej samej sieci)",
"DownloadClientPneumaticSettingsNzbFolder": "Folder Nzb",
"DownloadClientPneumaticSettingsStrmFolderHelpText": "Pliki .strm w tym folderze będą importowane przez drone",
"PackageVersionInfo": "{packageVersion} od {packageAuthor}",
"DownloadClientUTorrentProviderMessage": "uTorrent ma długą historię z kopaczami krypto, malware i reklamami, bardzo mocno zachęcamy do korzystania z innego klienta.",
"RemoveQueueItemRemovalMethodHelpTextWarning": "Usunięcie spowoduje usunięcie pobierania i plików z klienta pobierania.",
"DownloadClientRTorrentSettingsAddStoppedHelpText": "Włączenie doda torrenty i magnety do rTorrenta w zatrzymanym stanie. To może uszkodzić pliki magnet.",
"DownloadClientTransmissionSettingsDirectoryHelpText": "Opcjonalna lokalizacja pobierań, zostaw puste aby użyć domyślnej lokalizacji Transmission",
"DownloadClientTransmissionSettingsUrlBaseHelpText": "Dodaje prefiks przed url RPC {clientName}, np. {url} domyślnie zmienia się na '{defaultUrl}'",
"DownloadClientUTorrentTorrentStateError": "Deluge zgłasza błąd",
"DownloadClientValidationAuthenticationFailure": "Wymagana Autoryzacja",
"EditSelectedMovies": "Usuń wybrane pliki filmowe",
"EditSelectedIndexers": "Edytuj wybrane indeksery",
"ResetDefinitions": "Definicje jakości",
"ResetQualityDefinitions": "Definicje jakości",
"IndexerSettingsPasskey": "Sekretny klucz",
"DownloadClientQbittorrentTorrentStateError": "Deluge zgłasza błąd",
"ShowTraktRating": "Ocena Tomato",
"ReleasePush": "Daty wydania",
"SelectMovieModalTitle": "{modalTitle} - wybierz klienta pobierania",
"DownloadClientDownloadStationValidationApiVersion": "Pobrana wersja Station API nie jest wspierana, minimalna wspierana wersja to {requiredVersion}. Powinna być między {minVersion} a {maxVersion}",
"DownloadClientDownloadStationValidationFolderMissing": "Folder nie istnieje",
"DownloadClientDownloadStationValidationFolderMissingDetail": "Folder \"{downloadDir}\" nie istnieje. Musi on zostać utworzony manualnie wewnątrz folderu współdzielonego \"{sharedFolder}\".",
"DownloadClientDownloadStationValidationNoDefaultDestination": "Nie zdefiniowano domyślne lokalizacji",
"DownloadClientDownloadStationValidationSharedFolderMissing": "Folder współdzielony nie istnieje",
"Dash": "Dash",
"DownloadClientDownloadStationValidationNoDefaultDestinationDetail": "Musisz zalogować się do swojej stacji DiskStation jako {username} i ręcznie skonfigurować to w ustawieniach DownloadStation w sekcji BT/HTTP/FTP/NZB -> Lokalizacja.",
"DownloadClientDownloadStationValidationSharedFolderMissingDetail": "Stacja DiskStation nie posiada folderu współdzielonego o nazwie „{sharedFolder}”. Czy na pewno podana nazwa jest poprawna?",
"DownloadClientFloodSettingsPostImportTags": "Tagi po imporcie",
"DownloadClientFloodSettingsPostImportTagsHelpText": "Dołącz tagi po imprezie z klienta pobierania"
}

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