Compare commits

...

450 Commits

Author SHA1 Message Date
Safihre
b6fd915365 Set version to 3.7.0 2022-11-04 10:36:24 +01:00
Safihre
fecae72267 Merge branch '3.7.x' 2022-11-04 10:23:22 +01:00
Safihre
7bffd91e3f Update text files for 3.7.0 2022-11-04 10:18:37 +01:00
Safihre
f859521a7e Replace apple-actions/import-codesign-certs 2022-11-04 10:17:28 +01:00
renovate[bot]
a869386fac Update dependency cryptography to v38.0.3 [SECURITY] 2022-11-04 09:30:25 +01:00
Safihre
8bc7885b7a Update translatable texts
[skip ci]
2022-11-04 09:29:14 +01:00
Safihre
78be46738d Correct typo of Python 3.11 version 2022-10-27 10:07:01 +02:00
Safihre
6fce73855c Update text files for 3.7.0RC1 2022-10-27 09:08:20 +02:00
Safihre
5fa7bea885 Update (almost) all Python versions to 3.11 2022-10-27 08:58:28 +02:00
Safihre
62fb85a94b Update Transifex client to supported version 2022-10-25 20:16:55 +02:00
dependabot[bot]
c840e3485e Bump stefanzweifel/git-auto-commit-action from 4.15.1 to 4.15.2 (#2317)
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4.15.1 to 4.15.2.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.15.1...v4.15.2)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 13:01:11 +02:00
renovate[bot]
04c72d51fd Update all dependencies 2022-10-24 01:02:55 +00:00
renovate[bot]
eae1250cac Update all dependencies 2022-10-24 00:48:19 +00:00
dependabot[bot]
634801431d Bump stefanzweifel/git-auto-commit-action from 4.15.0 to 4.15.1 (#2313)
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4.15.0 to 4.15.1.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.15.0...v4.15.1)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 13:12:04 +02:00
dependabot[bot]
e9a884ab39 Bump syphar/restore-virtualenv from 1.2 to 1.3 (#2312)
Bumps [syphar/restore-virtualenv](https://github.com/syphar/restore-virtualenv) from 1.2 to 1.3.
- [Release notes](https://github.com/syphar/restore-virtualenv/releases)
- [Commits](https://github.com/syphar/restore-virtualenv/compare/v1.2...v1.3)

---
updated-dependencies:
- dependency-name: syphar/restore-virtualenv
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 13:11:23 +02:00
renovate[bot]
40fc1511d0 Update all dependencies 2022-10-17 02:00:09 +00:00
SABnzbd Automation
8642723c77 Update translatable texts
[skip ci]
2022-10-11 18:16:02 +00:00
Safihre
15ac97e41a Update text files for 3.7.0Beta1 2022-10-11 20:15:14 +02:00
Safihre
8202ae7cf6 PyInstaller now supports Python 3.11 2022-10-10 09:27:26 +02:00
renovate[bot]
1b459460dc Update dependency pyinstaller to v5.5 2022-10-10 01:01:04 +00:00
Safihre
bdf7df9ecd Fix importlib_metadata testing-requirement 2022-10-07 21:10:31 +00:00
renovate[bot]
7e55c6a79d Update all dependencies 2022-10-07 21:10:31 +00:00
thezoggy
183570aaa5 WIN: multipar 1.3.2.5 (#2308) 2022-10-05 13:21:43 +02:00
Safihre
de1d66d4dd Console logging directed to stdout
Closes #2302
2022-09-26 22:21:21 +02:00
dependabot[bot]
0b27e57ad7 Bump stefanzweifel/git-auto-commit-action from 4.14.1 to 4.15.0 (#2303)
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4.14.1 to 4.15.0.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.14.1...v4.15.0)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-26 12:59:18 +02:00
renovate[bot]
182bbd43c5 Update all dependencies 2022-09-26 01:33:43 +00:00
Safihre
cdf4d6c5fd Update README badges, include Discord 2022-09-24 22:46:13 +02:00
SABnzbd Automation
86db74c394 Update translatable texts
[skip ci]
2022-09-24 19:44:02 +00:00
Safihre
856e63794b Small refactor of database.py 2022-09-24 21:40:49 +02:00
Safihre
c29a57445a Sanitize RSS-feed name when renaming
Closes #2300
2022-09-23 09:45:20 +02:00
SABnzbd Automation
4aba90ad3f Update translatable texts
[skip ci]
2022-09-22 12:53:52 +00:00
Safihre
4f2b6d4cd7 Update text files for 3.7.0Alpha1 2022-09-22 14:52:44 +02:00
Safihre
92067fa3f3 Build release using Python 3.11 RC 2
Set PYTHONNODEBUGRANGES
Use main pyinstaller branch
rustup target add aarch64-apple-darwin
2022-09-22 14:19:32 +02:00
SABnzbd Automation
c26ea4ceeb Update translatable texts
[skip ci]
2022-09-22 12:13:12 +00:00
Safihre
35ccbff5b9 Update label for System load 2022-09-22 14:12:29 +02:00
SABnzbd Automation
1a265a5176 Update translatable texts 2022-09-22 10:49:38 +00:00
Safihre
ef2d243fa8 Move sysload indicator to status window 2022-09-22 12:48:58 +02:00
Safihre
c2b8fa59a6 Update sabyenc3 to 5.4.4
Only adds Python 3.11 wheels
2022-09-22 12:35:10 +02:00
Safihre
a85f9e39bd Force-downloads can result in extra data downloaded of other jobs 2022-09-22 12:12:42 +02:00
Safihre
a13f8828fb Move Server - Port setting to Advanced settings 2022-09-22 12:02:32 +02:00
Safihre
7d391b8465 Small improvement of BPSMeter.get_sums
Leftover of Python 2 days
2022-09-21 23:06:50 +02:00
Safihre
dbfa7cc4eb Refactor Downloader.bandwidth_perc and bandwidth_limit usage 2022-09-21 22:49:41 +02:00
Safihre
66e99df303 Free Space Detection too strict when using Direct Unpack
Closes #2299
2022-09-21 21:41:24 +02:00
Safihre
77ecf64443 Prevent crash on disappearing Article
Closes #2295
2022-09-21 21:31:02 +02:00
Safihre
f7060804b2 Set logging to info when no file given to deobfuscate
Closes #2297
2022-09-20 10:22:00 +02:00
renovate[bot]
a44a1269c0 Update all dependencies 2022-09-19 01:53:27 +00:00
Safihre
ac6fc37c7d Small improvements of to_units and opts_to_pp 2022-09-16 06:50:48 +02:00
Safihre
9472d65af9 Update output tests to match removed API fields 2022-09-15 22:49:36 +02:00
Safihre
1b4c07f229 Remove categories and scripts from queue-API-call
So we don't check the disk for available scripts every second
2022-09-15 14:49:20 +02:00
Safihre
a645058ae1 Update Snapcraft release process 2022-09-13 16:48:28 +02:00
Safihre
edec6defbb Show the custom job name in case of fetch-failure
Closes #2294
2022-09-12 22:52:44 +02:00
SABnzbd Automation
27b3a3ddef Update translatable texts 2022-09-12 13:58:44 +00:00
Safihre
da0903b8a6 Link to Not-complete info on low article availability 2022-09-12 15:57:57 +02:00
renovate[bot]
a49a3b45e5 Update dependency cryptography to v38 2022-09-12 05:08:14 +00:00
SABnzbd Automation
b9225fb153 Update translatable texts 2022-09-12 03:09:18 +00:00
renovate[bot]
656b7f0948 Update dependency pyinstaller to v5.4.1 2022-09-12 03:08:39 +00:00
SABnzbd Automation
08b249ee09 Update translatable texts 2022-09-08 15:15:35 +00:00
Safihre
5d76ebfe6e Force push requires automation token 2022-09-08 17:14:40 +02:00
Safihre
0d53b12ade Force-push updates to translation files 2022-09-08 17:01:54 +02:00
Safihre
f403e12a2a Add option to specify Backup Folder and clarify scheduler usage
Closes #2288
2022-09-08 16:54:13 +02:00
Safihre
5abce26309 Update build_release.yml
Update the actual macOS build code
2022-09-06 12:35:44 +00:00
Safihre
e73cb0958f Update macOS build script 2022-09-06 12:35:44 +00:00
renovate[bot]
70070e2f1c Update dependency pyinstaller-hooks-contrib to v2022.10 2022-09-06 12:35:44 +00:00
Sander
2685f9adab more some extensions that are non-mainstream (#2285)
Co-authored-by: sander <san.d.erjonkers+github@gmail.com>
2022-09-03 16:20:59 +02:00
renovate[bot]
c43e74eabd Update all dependencies 2022-08-29 01:51:48 +00:00
m0vie
b0d3306209 Determine password from <meta> before running preprocessing script (#2282)
This way the environment variable SAB_PASSWORD (whose documentation
says is supplied by user OR the nzb) is filled properly and the
password is available in a preprocessing script.
2022-08-27 20:08:08 +02:00
Safihre
4aaabae109 Pin jaraco.text to lower version due to irrelevant extra dependencies 2022-08-26 11:32:02 +02:00
Safihre
b8188f999e Prevent failure in TestPar2Repair if it takes more than 0 seconds
Closes #2273
2022-08-25 20:28:39 +02:00
Safihre
4dc5ceb9b1 Delete .pyup.yml 2022-08-25 13:20:50 +02:00
Safihre
4f8e5053f7 Update renovate.json (#2280) 2022-08-25 07:23:48 +00:00
renovate[bot]
3d97ce99e1 Update all dependencies 2022-08-24 16:34:41 +00:00
renovate[bot]
8620412b3a Configure Renovate (#2277)
* Add renovate.json

* Create renovate.json

* Delete renovate.json

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Safihre <safihre@sabnzbd.org>
2022-08-24 14:25:35 +00:00
SABnzbd Automation
a6d07d89d0 Update translatable texts 2022-08-22 17:55:36 +00:00
Safihre
a63efcefd6 Make sure also short-dates are detected as YY-MM-DD in Sorting 2022-08-22 19:54:49 +02:00
Safihre
bce9207161 Update backup tests 2022-08-22 10:40:45 +02:00
SABnzbd Automation
12670dedbe Update translatable texts 2022-08-21 20:14:14 +00:00
Safihre
40393f9548 Add Create Backup to Scheduler 2022-08-21 22:13:31 +02:00
Safihre
94cae5f015 Only allow Config-backup to the Complete Folder
Closes #2261
2022-08-21 22:05:42 +02:00
Safihre
8353227f9d No longer install builder requirements during CI 2022-08-20 23:13:38 +02:00
Safihre
5c1d69b934 Run Linux CI tests on Python 3.11 2022-08-20 23:03:40 +02:00
thezoggy
fb04b58b57 selenium syntax update (#2271)
* handle sab path with spaces

* fix py3.10 win "Unable to remove cache dir"

* remove unused imports

* update selenium find_element(s) syntax

* Fix selenium_wrapper usage

Co-authored-by: Safihre <safihre@sabnzbd.org>
2022-08-19 22:25:48 +02:00
Safihre
2bb14bba2a Correct: Compressed NZB filename could exceed OS limitation 2022-08-19 13:31:33 +02:00
Safihre
91195eb21b Compressed NZB filename could exceed OS limitation
See https://www.reddit.com/r/SABnzbd/comments/wrserd/importing_nzb_files/
2022-08-19 13:15:38 +02:00
Safihre
fa844a6223 Update Release Notes with right version 2022-08-18 10:46:08 +02:00
Safihre
906379dd09 Set all versions to 3.6.1 2022-08-18 09:52:31 +02:00
Safihre
37cded612f Set version to 3.6.1 2022-08-18 08:48:09 +02:00
Safihre
73e8fade61 Merge branch '3.6.x' 2022-08-18 08:47:17 +02:00
Sander
3b8d6dd3c8 detect and log fully encrypted (obfuscated) rars (#2266)
* detect fully encrypted rars

* debug.warning working, nzo.fail_msg alas is overwritten

* a bit of clean-up

* a bit of clean-up

* the real clean-up

* no intermediate variable

Co-authored-by: Safihre <safihre@sabnzbd.org>

* Shorter message

Co-authored-by: Safihre <safihre@sabnzbd.org>

* more clean-up

* unittest

Co-authored-by: sander <san.d.erjonkers+github@gmail.com>
Co-authored-by: Safihre <safihre@sabnzbd.org>
2022-08-17 02:00:26 +02:00
Safihre
ff2ab2da8d Pyup/scheduled update 2022 08 15 (#2270)
* Update setuptools from 63.4.2 to 65.0.0

* Update orjson from 3.7.11 to 3.7.12

* Update jaraco.text from 3.8.1 to 3.9.0

* Update more-itertools from 8.13.0 to 8.14.0

* Update pytz from 2022.1 to 2022.2.1

Co-authored-by: pyup-bot <github-bot@pyup.io>
2022-08-16 20:20:07 +02:00
Sander
85aed457b2 Handle Unicoded filenames add via SAB GUI (cherrypy) (#2268)
* Linux: handle Unicoded filenames add via SAB GUI

* Unittest

* Unittest

* Unittest

* Unittest

* Unittest

* Unittest more

* naming, less code

* even less code

* better unittests

* and less, less code

Closes #2267

Co-authored-by: sander <san.d.erjonkers+github@gmail.com>
2022-08-15 19:57:58 +02:00
Safihre
d624d1d5b6 Do not repeatedly add password to meta-password list 2022-08-14 11:36:55 +02:00
Safihre
758cc7afab Update text files for 3.6.1RC2 2022-08-12 20:18:11 +02:00
Safihre
d74b7b06d2 Update Unrar to 6.11/6.12
Closes #2265
2022-08-12 20:16:34 +02:00
Safihre
6c6a1049ea Validation error would not be shown on Config General page
Due to #2253
2022-08-12 16:48:30 +02:00
SABnzbd Automation
f380889d98 Update translatable texts 2022-08-12 14:44:22 +00:00
Sander
f61df0e126 Check if host is valid: an IP address, or a name/FQDN that resolves (#2253)
* Check if host is valid: an IP address, or a name/FQDN that resolves

* Check if host is valid: an IP address, or a name/FQDN that resolves

* default to "127.0.0.1"

* default to "127.0.0.1"

* manual black

* manual black

* manual black

* based on feedback, plus back-to-basics

* based on feedback, plus back-to-basics, plus debug logging

* based on feedback, plus back-to-basics, plus debug logging

* based on feedback, plus back-to-basics, plus debug logging

* clean formatting

* clean formatting

Co-authored-by: sander <san.d.erjonkers+github@gmail.com>
2022-08-12 16:43:40 +02:00
Safihre
ffca12123f Update Unrar to 6.11/6.12
Closes #2265
2022-08-12 10:49:10 +02:00
SABnzbd Automation
1077ca3753 Update translatable texts 2022-08-12 08:45:59 +00:00
Safihre
c7189dbceb Graceful log sabyenc decoding (CRC/formatting) errors
Closes sabnzbd/sabyenc#62
2022-08-12 10:43:59 +02:00
SABnzbd Automation
f2361c49b4 Update translatable texts 2022-08-10 06:54:38 +00:00
thezoggy
f84cbb66c3 Add option to replace underscores in folder name. (#2263) 2022-08-10 08:53:54 +02:00
Safihre
e45f254d19 strftime does not require explicit call to localtime 2022-08-09 21:54:04 +02:00
Safihre
b6cd3c0bae Config backup filename in same format as *arr apps
See #2261
2022-08-09 21:51:58 +02:00
pyup.io bot
4a98724a35 Update setuptools from 63.3.0 to 63.4.2 (#2262) 2022-08-09 07:39:49 +02:00
SABnzbd Automation
4680fa5ae9 Update translatable texts 2022-08-05 19:19:00 +00:00
Safihre
458f4e2bdc Remove deprecation notices 2022-08-05 21:18:12 +02:00
Safihre
3357fd81c7 Add Filter and Age columns to Downloaded RSS-feed tab
Closes #2257
2022-08-03 21:58:40 +02:00
Safihre
39009f2f71 Update text files for 3.6.1RC1 2022-08-03 21:44:29 +02:00
jcfp
9fdc1c6813 use OSType in pyfakefs instead of setting separate properties (#2243) 2022-08-03 21:44:29 +02:00
Safihre
c5568fe830 Remove deprecation notices 2022-08-02 22:31:49 +02:00
Safihre
3ebe277303 Update macOS Python version to 3.10.6 2022-08-02 22:30:26 +02:00
Safihre
bad81f84b9 Update dependencies and Python version 2022-08-02 22:29:58 +02:00
Safihre
2ac08dd0e6 Remove new QuickCheck implementation
See https://github.com/sabnzbd/sabnzbd/discussions/2160
And https://github.com/sabnzbd/sabnzbd/issues/2251
2022-08-02 22:21:12 +02:00
Safihre
29c57dce0f Remove new QuickCheck implementation
See https://github.com/sabnzbd/sabnzbd/discussions/2160
And https://github.com/sabnzbd/sabnzbd/issues/2251
2022-08-02 22:16:21 +02:00
Safihre
27a9330638 Pyup/scheduled update 2022 08 01 (#2260)
* Update pyinstaller from 5.2 to 5.3

* Update setuptools from 63.2.0 to 63.3.0

* Update orjson from 3.7.8 to 3.7.11

Co-authored-by: pyup-bot <github-bot@pyup.io>
2022-08-02 20:25:31 +02:00
Safihre
4b42b1f55d Upgrade pip/wheel before installing requirements
Closes #2244
2022-07-26 09:52:58 +02:00
pyup.io bot
db761395e5 Update orjson from 3.7.7 to 3.7.8 (#2250) 2022-07-26 09:51:09 +02:00
Sander
249d73e270 Deobfuscation: comments and logging (#2246)
* Comment block that explains what deobfuscation does

* get better logging (with reason of no deobfuscation), leading to other code structure

* get better logging (with reason of no deobfuscation), leading to other code structure

* get better logging (with reason of no deobfuscation), leading to other code structure

* based on feedback: comment with typical cases to the beginning of function, error logging if file is not given/found, other logical notation in if-statement
2022-07-25 22:19:11 +02:00
Safihre
408ffc4539 Downloads in Checking-status were not displayed correctly
Closes #2249
2022-07-25 11:02:50 +02:00
Safihre
5d359afedb Downloads in Checking-status were not displayed correctly
Closes #2249
2022-07-25 11:02:26 +02:00
Safihre
5e8e37e6a2 Correctly remove disable_api_key 2022-07-21 21:39:07 +02:00
SABnzbd Automation
a74df6f04f Update translatable texts 2022-07-21 19:30:52 +00:00
Safihre
10991d5472 Remove replace_illegal option 2022-07-21 21:26:30 +02:00
Safihre
b3206fe1db Remove enable_meta option 2022-07-21 21:24:29 +02:00
Safihre
70391ea055 Remove disable_key option 2022-07-21 21:22:19 +02:00
thezoggy
5b69155d49 Tweak hotkeys, add pagination navigation, use jquery.hotkeys (#2235) 2022-07-20 13:38:11 +02:00
pyup.io bot
941bb8adca Scheduled weekly dependency update for week 29 (#2242)
* Update setuptools from 63.1.0 to 63.2.0

* Update cherrypy from 18.7.0 to 18.8.0

* Update jaraco.functools from 3.5.0 to 3.5.1

* Update jaraco.collections from 3.5.1 to 3.5.2

* Update jaraco.text from 3.8.0 to 3.8.1

* Update jaraco.classes from 3.2.1 to 3.2.2

* Update jaraco.context from 4.1.1 to 4.1.2

* Update tempora from 5.0.1 to 5.0.2
2022-07-20 13:36:55 +02:00
Sander
b5eb014084 Only pick biggest file for deobfuscation (#2241)
* Only pick biggest file for deobfuscation

* unit tests working again

* unit tests working again

* get counter nr_files_renamed right

* also deobfuscate sample and other files with same basename

* also deobfuscate sample and other files with same basename

* naming, comments

* unit test with just one small file (should get deobfuscated). Plus improved text/names.

* Moved most typical unit test (test_deobfuscate_big_file_small_accompanying_files() ) more to the top

* Moved most typical unit test (test_deobfuscate_big_file_small_accompanying_files() ) more to the top
2022-07-20 13:36:40 +02:00
jcfp
ee4b9339a7 use OSType in pyfakefs instead of setting separate properties (#2243) 2022-07-19 22:36:44 +02:00
pyup.io bot
3acfe19499 Scheduled weekly dependency update for week 28 (#2239)
* Update cryptography from 37.0.3 to 37.0.4

* Update cryptography from 37.0.3 to 37.0.4

* Update pyinstaller from 5.1 to 5.2

* Update pyinstaller-hooks-contrib from 2022.7 to 2022.8

* Update orjson from 3.7.6 to 3.7.7

* Update cherrypy from 18.6.1 to 18.7.0
2022-07-12 08:09:54 +02:00
pyup.io bot
9bac23b38f Scheduled weekly dependency update for week 27 (#2237)
* Update setuptools from 62.6.0 to 63.1.0

* Update orjson from 3.7.3 to 3.7.6

* Update cffi from 1.15 to 1.15.1

* Update ujson from 5.3.0 to 5.4.0
2022-07-04 23:20:33 +02:00
Safihre
b028258cbd Pyup/scheduled update 2022 06 27 (#2226)
* Update cryptography from 37.0.2 to 37.0.3

* Update cryptography from 37.0.2 to 37.0.3

* Update orjson from 3.7.2 to 3.7.3

* Update chardet from 4.0.0 to 5.0.0

* Force selenium<4.3.0

Co-authored-by: pyup-bot <github-bot@pyup.io>
2022-06-28 08:48:45 +02:00
Safihre
4d442159cb Remove unused code 2022-06-22 20:17:29 +02:00
Safihre
181a91ccf6 Prevent crash if DNS lookup fails for external IPv4
Closes #2217
2022-06-21 22:31:01 +02:00
SABnzbd Automation
1c6f2e9d10 Update translatable texts 2022-06-21 07:54:26 +00:00
Safihre
244fe3b116 Remove unused translations from Glitter 2022-06-21 09:52:41 +02:00
Safihre
9ee7391918 Pyup/scheduled update 2022 06 20 (#2215)
* Update setuptools from 62.4.0 to 62.6.0

* Update charset-normalizer from 2.0.12 to 2.1.0

Co-authored-by: pyup-bot <github-bot@pyup.io>
2022-06-21 08:32:28 +02:00
Safihre
2eadc3ace6 Merge osx_menu, osx_speed and win_menu into tray_icon
See also #2214
2022-06-21 08:28:09 +02:00
SABnzbd Automation
786b29c18d Update translatable texts 2022-06-19 18:38:48 +00:00
Safihre
315f787d20 Prevent scheduler crash if event is canceled that was no longer queued
https://www.reddit.com/r/SABnzbd/comments/vfa1fr/what_is_causing_this_error_its_not_harming/
2022-06-19 20:38:04 +02:00
Safihre
eb958327c5 Prevent scheduler crash if event is canceled that was no longer queued
https://www.reddit.com/r/SABnzbd/comments/vfa1fr/what_is_causing_this_error_its_not_harming/
2022-06-19 20:37:14 +02:00
Safihre
e157d77a1e Prevent crash in new Quick-check if file was already moved 2022-06-16 13:54:19 +02:00
Safihre
0347907044 Prevent crash in new Quick-check if file was already moved 2022-06-16 13:53:54 +02:00
Joulinar
e961c9ea8f Update sabyenc3 to 5.4.3 (#2209)
* Update requirements.txt

Update requirements sabyenc3 to new version

* Update sabyenc3 to 5.4.3

Update sabyenc3 to 5.4.2
2022-06-15 13:25:27 +02:00
Joulinar
f2ae281195 Update sabyenc3 to 5.4.3 (#2209)
* Update requirements.txt

Update requirements sabyenc3 to new version

* Update sabyenc3 to 5.4.3

Update sabyenc3 to 5.4.2
2022-06-15 13:24:12 +02:00
Safihre
258c4f769d Prevent showing crash on Status window during Shutdown 2022-06-14 14:59:06 +02:00
Safihre
a4f76d59b0 Prevent showing crash on Status window during Shutdown 2022-06-14 11:36:00 +02:00
Safihre
52a3e04eae Fix macOS cffi version and test orjson by installing build requirements 2022-06-14 11:26:25 +02:00
pyup.io bot
390abb00df Scheduled weekly dependency update for week 24 (#2208)
* Update pyinstaller-hooks-contrib from 2022.6 to 2022.7

* Update setuptools from 62.3.2 to 62.4.0

* Update pkginfo from 1.8.2 to 1.8.3

* Update orjson from 3.7.1 to 3.7.2
2022-06-14 10:58:38 +02:00
dependabot[bot]
02c50e4b17 Bump actions/setup-python from 3 to 4 (#2207)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-13 13:35:42 +02:00
Sander
8c8a78c0ab Less narrow exception handling with publicipv4 (#2202)
* wider exception handling

* Easier coding for easier reading

* Easier coding for easier reading

* except Exception:
2022-06-09 20:05:25 +02:00
Safihre
fb75cde710 Print hashes for Synology release 2022-06-09 08:47:17 +02:00
Safihre
b31fedd857 Set version to 3.6.0 2022-06-07 12:23:13 +02:00
Safihre
eafe69500b Merge branch '3.6.x' 2022-06-07 12:22:36 +02:00
Safihre
ae09990c43 Update text files for 3.6.0 2022-06-07 12:20:28 +02:00
Safihre
fc855dccff Remove enable_https_verification from possible deprecation list 2022-06-07 09:31:22 +02:00
Safihre
cf54b65c32 Remove enable_https_verification from possible deprecation list 2022-06-07 09:29:09 +02:00
pyup.io bot
3d57def676 Scheduled weekly dependency update for week 23 (#2198)
* Update orjson from 3.6.8 to 3.7.1

* Update jaraco.text from 3.7.0 to 3.8.0
2022-06-06 22:51:42 +02:00
pyup.io bot
74d2da8857 Update pyinstaller-hooks-contrib from 2022.5 to 2022.6 (#2195) 2022-05-31 00:12:43 +02:00
Safihre
8cfd721ef6 Prevent unnecessary update API-calls when searching 2022-05-30 14:48:30 +02:00
Safihre
d4e10f32e7 Added filtering for Queue (category, priority) and History (category)
Closes #1158
2022-05-30 10:55:19 +02:00
Safihre
7974421fa1 Update text files for 3.6.0RC3 2022-05-29 14:34:48 +02:00
Safihre
5a7cff491d Update sabyenc3 to 5.4.2 2022-05-29 14:29:09 +02:00
Safihre
847a098d4e Update sabyenc3 to 5.4.2 2022-05-29 14:28:55 +02:00
puzzledsab
392ae695d0 Change variable names from completed to remaining for consistency and fix sort order (#2194) 2022-05-29 13:01:15 +02:00
SABnzbd Automation
b39effc067 Update translatable texts 2022-05-28 18:23:22 +00:00
Safihre
908f4f01cf Update develop branch to 3.7.0-develop 2022-05-28 20:22:43 +02:00
Safihre
eb4de0ae0f Remove helpful warning about new quick-check for release 2022-05-28 20:19:59 +02:00
Safihre
8baab13192 Additional refactor of queue sorting 2022-05-27 22:17:05 +02:00
SABnzbd Automation
abb38d3e49 Update translatable texts 2022-05-27 17:50:11 +00:00
puzzledsab
d0016e390a Optimize sort_queue_function (#2192) 2022-05-27 19:49:33 +02:00
puzzledsab
c80012e367 Remove redundant if in _nzo_completed_cmp (#2191) 2022-05-26 22:19:31 +02:00
SABnzbd Automation
19fc60a1d8 Update translatable texts 2022-05-26 09:58:29 +00:00
puzzledsab
487c9e96ce Add sort by completedness (#2186)
* Add sort by completedness

* Change sortCompleted text and move resort code

* Update explain-auto_sort

* Split explain-auto_sort for easier translation update
2022-05-26 11:57:46 +02:00
Safihre
cd337cb164 NZB files not removed when rejected by pre-queue script
Closes #2188
2022-05-24 17:25:47 +02:00
Safihre
5c15747d62 Also check for writing of special characters even if sanitize_safe is on
Relates to #2165
2022-05-24 10:39:35 +02:00
Safihre
7f11e6946b Scheduled weekly dependency update for week 21 (#2189)
* Update pyinstaller from 5.0.1 to 5.1

* Update pyinstaller-hooks-contrib from 2022.4 to 2022.5

* Update setuptools from 62.2.0 to 62.3.2

* Update sabyenc3 from 5.3.0 to 5.4.0

* Update feedparser from 6.0.8 to 6.0.10

* Update ujson from 5.2.0 to 5.3.0

* Update sabyenc3 to 5.4.1

Co-authored-by: pyup-bot <github-bot@pyup.io>
2022-05-24 10:16:31 +02:00
SABnzbd Automation
8fa77691d0 Update translatable texts 2022-05-23 14:41:12 +00:00
Safihre
894e5910c3 Also allow "cat" to filter categories on history call 2022-05-23 16:40:16 +02:00
SABnzbd Automation
54f33a72c4 Update translatable texts 2022-05-23 09:26:34 +00:00
Safihre
566f90ff30 Switched noslots and noslots_total
Closes #2187
2022-05-23 11:25:57 +02:00
SABnzbd Automation
debc59744f Update translatable texts 2022-05-19 10:31:16 +00:00
Safihre
33c6ac813c Update text files for 3.6.0RC2 2022-05-19 12:30:35 +02:00
Safihre
04875d07c5 Update sabyenc3 to 5.3.0 2022-05-19 12:20:01 +02:00
SABnzbd Automation
39eb594e12 Update translatable texts 2022-05-18 11:56:30 +00:00
Safihre
2561182126 Remove unused and undocumented API-calls 2022-05-18 13:46:58 +02:00
SABnzbd Automation
a68ab27bac Update translatable texts 2022-05-17 08:33:00 +00:00
Safihre
c27acb0e90 Warn users that we want to remove some settings 2022-05-17 10:32:02 +02:00
SABnzbd Automation
875d1ab952 Update translatable texts 2022-05-17 08:30:21 +00:00
Safihre
3496480254 Remove unused option movie_extra_folder 2022-05-17 10:29:27 +02:00
pyup.io bot
2ca79ab3b9 Scheduled weekly dependency update for week 20 (#2181)
* Update setuptools from 62.1.0 to 62.2.0

* Update puremagic from 1.12 to 1.14
2022-05-17 07:42:11 +02:00
Safihre
51ce7b657c Use directory of Default Category if the NZB-Category doesn't have one
Closes #2179
2022-05-16 13:45:31 +02:00
Safihre
67a34dcc78 Test for consistency of sabyenc3 version between code and requirements 2022-05-16 13:42:20 +02:00
Safihre
81d27ece54 Update BPS when we delay the Downloader due to full queues
Prevents "constant" speed that users see
2022-05-13 16:08:29 +02:00
Koen van Wijngaarden
f3a2e54e61 Disable password manager autofill on socks5 field (#2177)
* disable password manager autofill on socks5 field

* autocomplete="off" in socks5 field
2022-05-12 23:04:59 +02:00
Safihre
1894ed72e3 Move the building of source distribution to macOS job 2022-05-12 16:51:29 +02:00
SABnzbd Automation
64bf7d541e Update translatable texts 2022-05-12 09:33:36 +00:00
Safihre
8beba13430 Update text files for 3.6.0RC1 2022-05-12 11:32:40 +02:00
Safihre
6379869d41 Also create complete directory, if it does not exists 2022-05-12 10:52:28 +02:00
Safihre
5a666a28ef Remove tr language files (empty) 2022-05-12 09:56:54 +02:00
SABnzbd Automation
3c80053010 Update translatable texts 2022-05-12 06:37:57 +00:00
jcfp
7fd4941923 Add bash completion (#2175)
* add bash completion

* restore missing return for --server
2022-05-12 08:37:15 +02:00
SABnzbd Automation
b42e600285 Update translatable texts 2022-05-11 17:41:00 +00:00
Sander
df8859d49e Check filesystem capability for writing and writing filenames with special characters (#2167)
* functions to test directory for writing capabilities

* functions to test directory for writing capabilities

* use checking in postproc, and give warning if needed

* use checking in postproc, and give warning if needed

* put into function, with translatable folder names

* remove test file if still there

* better message formatting

* remove friendly directory name. Less comments

* move stuff into filesystem.py

* clean it up

* unit test for check_directory_writing_capability on tempdir

* unit test for check_directory_writing_capability on tempdir

* unit test for check_directory_writing_capability on tempdir

* unit test for check_directory_writing_capability on tempdir

* unit test for check_directory_writing_capability on tempdir

* Update sabnzbd/filesystem.py

Co-authored-by: Safihre <safihre@sabnzbd.org>

* feedback processed

* feedback processed

* feedback processed

* Merge remote-tracking branch 'origin/check_filesystem_capabilty' into check_filesystem_capabilty

# Conflicts:
#	sabnzbd/filesystem.py

* typo: uniformed on "writable"

Co-authored-by: Safihre <safihre@sabnzbd.org>
2022-05-11 19:40:19 +02:00
Safihre
d62d006398 Do not show extrapar files twice in get_files API-call
Regression from the removal of QNFO tuples.
2022-05-11 14:17:03 +02:00
Safihre
dadf1bdcc1 Use orjson with fallback to ujson/json 2022-05-10 15:04:30 +02:00
pyup.io bot
da961b7722 Scheduled weekly dependency update for week 19 (#2174)
* Update cryptography from 37.0.1 to 37.0.2

* Update cryptography from 37.0.1 to 37.0.2

* Update more-itertools from 8.12.0 to 8.13.0
2022-05-10 03:14:53 +02:00
SABnzbd Automation
087326ed32 Update translatable texts 2022-05-06 18:59:46 +00:00
Safihre
fc9f66e3e2 Update test_par2file 2022-05-06 20:59:02 +02:00
Safihre
cb25e0dcb3 Add test to see if every option has a Wiki-entry
Maybe annoying, but needed.
2022-05-05 12:54:09 +02:00
Safihre
88da458c2b Allow multiple parameters to be passed to par2cmdline/Multipar
Closes #2172
2022-05-05 08:39:09 +02:00
SABnzbd Automation
705b3aa74e Update translatable texts 2022-05-04 14:30:21 +00:00
Safihre
f35bfa45db Update text files for 3.6.0Beta6 2022-05-04 16:29:09 +02:00
SABnzbd Automation
cc59037fbc Update translatable texts 2022-05-04 11:44:09 +00:00
Safihre
1c442128dd Small changes to osxmenu 2022-05-04 13:40:25 +02:00
Safihre
d70d8d34dc Delay in test_adding_nzbs_nzoids to allow transition to History 2022-05-03 09:30:14 +02:00
Safihre
2c972995d3 UnRar on Windows escapes quotes by double quoting them 2022-05-03 09:30:14 +02:00
Safihre
794f6239bb Pyup/scheduled update 2022 05 02 (#2168)
* Update cryptography from 36.0.2 to 37.0.1

* Update cryptography from 36.0.2 to 37.0.1

* Update wrapt from 1.14.0 to 1.14.1

* Update pywin32 from 303 to 304

Co-authored-by: pyup-bot <github-bot@pyup.io>
2022-05-03 08:46:31 +02:00
SABnzbd Automation
5f498c3bb1 Update translatable texts 2022-05-02 10:52:58 +00:00
Safihre
8efce7430f Refactor queue-API data collection and XML output changes 2022-05-02 12:51:56 +02:00
SABnzbd Automation
fa3bf93464 Update translatable texts 2022-04-28 20:12:24 +00:00
Safihre
ff1f0986cf Remove "eta" API-fields from main queue and slots
Please let me know if this is a problem.
2022-04-28 22:11:33 +02:00
SABnzbd Automation
a1601a0c1f Update translatable texts 2022-04-28 20:03:12 +00:00
Safihre
2f457c2721 Remove unused texts from skintext and add test for it 2022-04-28 22:02:31 +02:00
Safihre
02c9d0d387 Keep nzo.md5packs for backwards compatibility 2022-04-28 20:18:31 +02:00
Safihre
9b002fe568 Set minval for num_simd_decoders 2022-04-28 20:15:53 +02:00
Safihre
73ec5df88d Move test_adding_nzbs_nzoids to separate module to have a clean instance 2022-04-28 11:08:50 +02:00
Safihre
82e0635995 Previous tests could break nzo_ids test 2022-04-27 14:30:53 +02:00
SABnzbd Automation
da0ff7be27 Update translatable texts 2022-04-27 06:54:31 +00:00
Safihre
bca9f3b753 Set version to 3.5.3 2022-03-17 14:29:50 +01:00
Safihre
cad8a9a5d3 Merge branch '3.5.x' 2022-03-17 14:12:55 +01:00
Safihre
f5f36d21e8 Update text files 3.5.3 2022-03-17 14:12:40 +01:00
Safihre
c51435c114 Revert "Notify users of Prowl/Pushover/Pushbullet to switch to nzb-notify"
This reverts commit 56fe140ebf.
2022-03-15 21:52:16 +01:00
Safihre
2a7f1780b4 Update text files for 3.5.3RC1 2022-03-13 13:26:18 +01:00
Safihre
98a44e40fb Jobs waiting to fetch get stuck indefinitely upon restart
Closes #2114
2022-03-11 16:29:28 +01:00
Safihre
65cf6fa9a1 Prevent Direct Unpack proceeding faster than it should, locking files
Relates to #2113
2022-03-11 16:29:19 +01:00
Safihre
b2e32d1720 Log also the OSError.winerror just to be sure 2022-03-11 16:29:11 +01:00
Safihre
f0bfedbe8e Revert "Revert "Disable buffering when writing files in assembler""
This reverts commit 03b380f90b.
2022-03-11 16:29:04 +01:00
Safihre
fd4e059c13 Set version to 3.5.2 2022-03-09 14:33:48 +01:00
Safihre
a53575e154 Merge branch '3.5.x' 2022-03-09 14:24:26 +01:00
Safihre
4a73484603 Update text files for 3.5.2 2022-03-09 14:24:13 +01:00
Safihre
03b380f90b Revert "Disable buffering when writing files in assembler"
This reverts commit 3c3aeac93c.

It turns out this causes problems!
2022-03-03 15:44:15 +01:00
Safihre
a2bd3b2dfe RSS filters At most/least were broken 2022-03-01 08:42:31 +01:00
Safihre
56fe140ebf Notify users of Prowl/Pushover/Pushbullet to switch to nzb-notify
Relates to #2093
2022-02-24 16:47:44 +01:00
Safihre
4fafcce740 Set version to 3.5.1 2022-02-20 19:47:55 +01:00
Safihre
02352c4ae6 Merge branch '3.5.x' 2022-02-20 19:37:50 +01:00
Safihre
4b74aab335 Update text files for 3.5.1 2022-02-20 19:36:51 +01:00
Safihre
2d67ac189d Add Debug logging when applying permissions failed 2022-02-16 13:08:12 +01:00
Safihre
8ece62e23d Add small delay to test_download check of result file
To prevent zip-test-failures on Windows.
2022-02-16 12:48:53 +01:00
Safihre
56c2bdd77d Allow chmod failures if no custom permissions are set
This is the same as before 3.5.0!
2022-02-16 11:32:15 +01:00
Safihre
1f555f1930 Update text files for 3.5.1RC2 2022-02-14 09:22:45 +01:00
Wolfgang Scherer
8496432c14 Do not fail if attribute subject is missing in NZB file-section (#2075)
* Use attribute poster of file element, if attribute subject ist missing

* Don't fail, if subject is missing.

* Textual change

Co-authored-by: Safihre <safihre@sabnzbd.org>
2022-02-14 09:16:29 +01:00
jcfp
1672ffa670 set log level of "completed not on fat" to debug 2022-02-14 09:16:23 +01:00
Safihre
6aab199f12 Wait before removing the temporary directory in binary test 2022-02-09 14:58:17 +01:00
Safihre
46d0c379a4 Fix version of more dependencies 2022-02-09 14:58:12 +01:00
Safihre
99240f145a Restore correct display of Direct Unpack progress 2022-02-07 15:27:54 +01:00
Safihre
3c9079d73c Correctly handle the transition from download to active post-processing 2022-02-07 15:22:58 +01:00
Safihre
0eb98b9a6c Use nzo.deleted instead of nzo.is_gone to prevent assembly during pp
Relates to #2059, #2054 and #1509.
2022-02-07 12:14:00 +01:00
Safihre
76bfd98b77 Prevent Direct Unpack crash on obfuscated posts
Closes #2060
2022-02-07 11:57:55 +01:00
Safihre
3348640c88 Correct undefined function remove_data 2022-02-05 09:51:36 +01:00
Safihre
d81c64fd2b Use notarytool on macOS to do notarization 2022-02-04 22:28:46 +01:00
Safihre
8b4c919617 Test starting of binary during release building 2022-02-04 21:53:04 +01:00
Safihre
76c58953df Pin even more requirements
Closes #2056
2022-02-04 10:09:53 +01:00
thezoggy
4ddc5caa49 pin builder setuptools to deal with breakage on pyinstaller 4.8 2022-02-04 09:08:51 +01:00
Safihre
694663bd95 Update text files for 3.5.1RC1 2022-02-03 20:09:38 +01:00
Safihre
62aba5844e Add small delay between volumes in Direct Unpack to prevent UnRar error 2022-01-31 12:23:38 +01:00
Safihre
d0d60cef05 Disable buffering when writing files in assembler 2022-01-31 12:23:31 +01:00
Safihre
3d293fdcb0 RSS feeds with HTML-chars in the feed name would result in crash 2022-01-31 12:23:23 +01:00
Safihre
96e9528046 Fix dependencies in requirements.txt and configure dependabot 2022-01-30 10:52:52 +01:00
Safihre
4ea24b3203 Black formatting update 2022-01-30 09:43:31 +01:00
Safihre
a756eea25a Set version to 3.5.0 2022-01-28 11:47:15 +01:00
Safihre
210020e489 Merge branch '3.5.x' 2022-01-28 11:42:22 +01:00
Safihre
e586ead024 Update text files for 3.5.0 2022-01-28 11:39:21 +01:00
Safihre
14c80bf1dc Reduce par2cmdline output log in Debug mode 2022-01-28 11:35:59 +01:00
Safihre
bdd56e794a Prevent extra error when no 7zip is available
Closes #2036, #2035
2022-01-23 13:41:26 +01:00
Safihre
a544548934 Set Python for macOS release to 3.10.2 2022-01-21 16:53:29 +01:00
Safihre
e06c1d61fb Update text files for 3.5.0RC4 2022-01-18 09:41:26 +01:00
Safihre
600c5209c6 HTML-sanitizer would sanitize the source data
Closes #2026
2022-01-17 14:08:08 +01:00
Safihre
bee90366ee Update text files for 3.5.0RC3 2022-01-16 19:02:50 +01:00
Safihre
e9bc4e9417 Sort sevenset so x.7z.001 is always the first file 2022-01-15 17:09:21 +01:00
Safihre
f01ff15761 Failed 7zip unpack was not reported in the history 2022-01-15 17:05:03 +01:00
Safihre
356ada159d Update text files for 3.5.0RC2 2022-01-13 14:48:30 +01:00
Safihre
cc831e16d8 Set version to 3.4.2 2021-10-15 08:28:14 +02:00
Safihre
b8dc46ad01 Merge branch '3.4.x' 2021-10-15 08:24:21 +02:00
Safihre
d8ab19087d Update text files for 3.4.2 2021-10-15 08:19:00 +02:00
Safihre
ec8a79eedd Revert to using regex based sample detection
Closes #1964
2021-10-13 18:24:48 +02:00
Safihre
f1e2a8e9d8 Prevent double guessit parsing 2021-10-12 09:02:03 +02:00
Safihre
4042a5fe5d Update text files for 3.4.2RC3 2021-10-08 10:41:27 +02:00
Safihre
a4752751ed Fix tavern for Python 3.6 and run tests on Python 3.10 (Linux-only) 2021-10-08 10:34:14 +02:00
Safihre
e23ecf46d1 Correct behavior of Sorter when no filename and/or extension is supplied
Closes #1962, #1957
2021-10-08 10:24:44 +02:00
Safihre
70a8c597a6 Only fail jobs if the sorter should have renamed 2021-10-08 09:58:17 +02:00
Safihre
fa639bdb53 Use general detection of RAR-files in file-extension correction
Correct file_extension test
2021-10-08 09:58:17 +02:00
Safihre
233bdd5b1d Update text files for 3.4.2RC2 2021-10-06 15:00:44 +02:00
Safihre
a0ab6d35c7 Require at least 1 category to be set for Sorting and warn if not set
Before 3.4.0, only for TV sorting we allowed to set 0 categories. But for Movies and Date Sorting we did require at least 1 category to be set. This was harmonized in 3.4.0, breaking existing setups. Added warning for those users.
The Sorting behavior is different from Notifications: in Notifications selecting Default only(!) means to apply it to all categories.
However, that has never been the case for Sorting. So for now added a bit more help texts to the Affected categories box on both pages.
2021-10-06 14:50:00 +02:00
Sander
bd29680ce7 make .cbz a well-known extension, so that no extension is added (#1960) 2021-10-06 14:49:54 +02:00
Sander
7139e92554 make .cbr a well-known extension, so that no extension (".rar") is added (#1959) 2021-10-05 12:19:55 +02:00
Safihre
897df53466 Check for puremagic and guessit first and add comments about cherrypy 2021-10-04 08:57:58 +02:00
Safihre
58281711f6 Always show number of MB missing
https://forums.sabnzbd.org/viewtopic.php?f=2&t=25573
2021-10-04 08:57:51 +02:00
Safihre
b524383aa3 Job failure due to Sorting-problems was not shown in the interface 2021-10-01 15:35:09 +02:00
Safihre
75a16e3588 Update text files for 3.4.2RC1 2021-09-30 09:04:12 +02:00
Safihre
1453032ad6 rXX files are popular extensions and don't need renames
Closes #1955
2021-09-29 13:53:47 +02:00
Safihre
824ab4afad Do not search whole file when checking if txt or nzb file 2021-09-29 13:53:37 +02:00
Safihre
73dd41c67f Only run process_unpacked_par2 when cleanup happened
Relates to https://forums.sabnzbd.org/viewtopic.php?f=1&t=25552
2021-09-29 13:53:32 +02:00
Safihre
59ee77355d Make add_parfile return if it could actually add the file
Maybe it was long finished, which could result in crashes.
Closes #1953
2021-09-29 13:53:20 +02:00
Safihre
5c758773ad Do not rename in decode_par2 if the filename didn't change
Closes #1952
2021-09-29 13:53:14 +02:00
Safihre
46de49df06 Set version to 3.4.1 2021-09-23 09:21:11 +02:00
Safihre
d1c54a9a74 Merge branch 'develop' 2021-09-23 08:50:17 +02:00
Safihre
e7527c45cd Set version to 3.4.0 2021-09-17 22:01:19 +02:00
Safihre
7d5207aa67 Merge branch 'develop' 2021-09-17 20:46:31 +02:00
Safihre
654302e691 Set version to 3.3.1 2021-06-18 13:52:58 +02:00
Safihre
ee673b57fd Merge branch '3.3.x' 2021-06-18 13:51:48 +02:00
Safihre
2be374b841 Update text files for 3.3.1 2021-06-18 13:51:33 +02:00
puzzledsab
906e1eda89 Keep password order 2021-06-13 16:21:41 +02:00
Safihre
ece02cc4fa Automatically publish release when all files are present 2021-06-11 17:39:30 +02:00
Safihre
876ad60ddf Update text files for 3.3.1RC1 2021-06-11 14:59:25 +02:00
Safihre
862da354ac Add direct opening of tabs by URL to Glitter tab-layout 2021-06-11 14:28:31 +02:00
Safihre
8fd477b979 Include wiki URL in Internal internet access denied message 2021-06-05 15:56:20 +02:00
Safihre
2d7005655c Clean timeline_total of BPSMeter
Received multiple reports that somehow it could get corrupt values in there
2021-06-05 15:56:16 +02:00
Safihre
7322f8348a Filtering active post-proc queue by category was broken 2021-06-05 15:56:09 +02:00
Safihre
e3e3a12e73 Correct example in test_name_extractor 2021-06-05 15:56:04 +02:00
Safihre
77cdd057a4 Filenames should end after the extension 2021-06-01 11:19:49 +02:00
Safihre
e8206fbdd9 Set version to 3.3.0 2021-06-01 07:35:13 +02:00
Jiri van Bergen
589f15a77b Merge branch '3.3.x' 2021-06-01 07:34:59 +02:00
Safihre
7bb443678a Build release when creating the tag 2021-06-01 07:18:41 +02:00
Safihre
6390415101 Update text files for 3.3.0 2021-06-01 07:16:42 +02:00
Sander
4abf192e11 deobfuscate: bugfix for collections if extension in CAPITALS (#1904) 2021-06-01 07:06:21 +02:00
Safihre
1fed37f9da Notify users that Plush will be removed in 3.4.0
Relates to #1902
2021-05-25 09:28:10 +02:00
Safihre
a9d86a7447 Set version to 3.2.1 2021-03-31 10:24:42 +02:00
Safihre
2abe4c3cef Merge branch '3.2.x' 2021-03-31 09:25:49 +02:00
Safihre
0542c25003 Update text files for 3.2.1
draft release
2021-03-31 09:24:31 +02:00
puzzledsab
1b8ee4e290 Show server expiration date in server summary (#1841) 2021-03-31 08:57:38 +02:00
Safihre
51128cba55 Do not notify warning/errors from same source twice
Closes #1842
2021-03-30 17:30:07 +02:00
Safihre
3612432581 Do not discard data for CrcError's
https://forums.sabnzbd.org/viewtopic.php?f=11&t=25278
2021-03-30 16:05:04 +02:00
Safihre
deca000a1b Revert some improvements to the encrypted RAR-detection
Closes #1840
2021-03-29 14:05:52 +02:00
Safihre
39cccb5653 Update text files for 3.2.1RC2
draft release
2021-03-24 10:13:43 +01:00
Safihre
f6838dc985 Improvements to the encrypted RAR-detection 2021-03-20 18:32:11 +01:00
Safihre
8cd4d92395 Make get_all_passwords return only unique passwords
If the filename and the NZB specified the same one it could occur 2 or 3 times.
2021-03-20 18:32:05 +01:00
Safihre
3bf9906f45 Update text files for 3.2.1RC1
draft release
2021-03-18 10:30:05 +01:00
Safihre
9f7daf96ef Update URL for Python 3 information 2021-03-18 09:10:39 +01:00
Sander
67de4df155 deobfuscate: no globber, but use given filelist (#1830) 2021-03-18 09:10:31 +01:00
Safihre
bc51a4bd1c Remove old compatibility code from BPSMeter that causes crash on startup
Closes #1827
2021-03-18 09:10:23 +01:00
Sander
bb54616018 deobfuscate: rename accompanying (smaller) files with same basename, and no renaming of collections with same extension (#1826)
* deobfuscate: rename accompanying (smaller) files with same basename

* deobfuscate: do not rename collections of same extension

* deobfuscate: collection ... much easier with one loop, thanks safihre.

* deobfuscate: globber_full, and cleanup

* deobfuscate: unittest test_deobfuscate_big_file_small_accompanying_files

* deobfuscate: unittest test_deobfuscate_collection_with_same_extension

* deobfuscate: unittest test_deobfuscate_collection_with_same_extension
2021-03-18 09:10:18 +01:00
Safihre
6bcff5e014 More space for the RSS table
Closes #1824
2021-03-18 09:10:09 +01:00
puzzledsab
8970a03a9a Use binary mode to make write test more accurate on Windows (#1815) 2021-03-10 22:23:10 +01:00
Safihre
3ad717ca35 Single indexer categories would be saved with "," between each letter 2021-03-10 22:23:10 +01:00
jcfp
b14f72c67a fix config auto_sort setting, broken by #1666 (#1813)
* fix config auto_sort setting, broken by #1666

* oops I did it again
2021-03-10 22:23:10 +01:00
Safihre
45d036804f Show name of item to be deleted from queue/history in confirm dialog 2021-03-10 22:23:10 +01:00
Safihre
8f606db233 Add traceback when failing to read the password file
Closes #1810
2021-03-10 22:23:10 +01:00
Safihre
3766ba5402 pre-create subdir if needed (POSIX, par2) (#1802)
* pre-create subdir it needed

* pre-create subdir it needed: check if already exists

* use os.makedirs() to handle subdir1/subdir2/blabla

* protect against malicous "..", and better naming

* check for Windows \ and POSIX /

* check again within path, typo and formatting

* regex: square brackets

* cleanup: only "/" can occur in par2

* cleanup: better logging

* unit test: testing of filesystem.renamer()

* if subdir specified in par2: let filesystem.renamer() do all the work

* if create_local_directories=True, then renamer() must stay within specified directory. Plus unittest for that.

* if create_local_directories=True, then renamer() must stay within specified directory. Plus unittest for that.

* more comments in code

* use filesystem.create_all_dirs(), less logging, clearer "..", and other feedback from Safihre

* make remote black happy too

* Small changes in wording of comments and error

Co-authored-by: Safihre <safihre@sabnzbd.org>
2021-03-10 22:23:10 +01:00
jxyzn
e851813cef Sanitize names possibly derived from X-DNZB-EpisodeName (#1806) 2021-03-10 22:15:23 +01:00
thezoggy
4d49ad9141 3.2.x cleanup (#1808)
* Update uni_config bootstrap css to same version of js (3.3.7).
* small accessibility change, removed thin dot border on focus

* Ignore VS Code settings folder

* cherry picked 'Fix disabled select for Glitter Night'

* glitter night - fix search border color
2021-02-27 14:47:44 +01:00
Safihre
16618b3af2 Set version to 3.2.0 2021-02-26 10:30:00 +01:00
Safihre
0e5c0f664f Merge branch '3.2.x' 2021-02-26 10:29:39 +01:00
Safihre
7be9281431 Update text files for 3.2.0
draft release
2021-02-26 09:56:47 +01:00
Safihre
ee0327fac1 Update macOS build Python to 3.9.2 2021-02-26 09:44:51 +01:00
Safihre
9930de3e7f Log all nzo_info when adding NZB's
Relates to #1806
2021-02-26 09:18:14 +01:00
Sander
e8503e89c6 handle gracefully if no malloc_trim() available (#1800) 2021-02-26 09:18:00 +01:00
puzzledsab
1d9ed419eb Remove some redundant ifs (#1791) 2021-02-26 09:17:29 +01:00
Safihre
0207652e3e Update text files for 3.2.0RC2
draft release
2021-02-08 21:02:38 +01:00
Safihre
0f1e99c5cb Update translatable texts 2021-02-08 13:29:16 +01:00
puzzledsab
f134bc7efb Right-to-Left support for Glitter and Config (#1776)
* Add rtl on main page

* Adjustments to rtl

* Forgot to add black check for this checkout

* Remove unnecessary style

* Remove more redundant attributes

* Some more reordering and alignment

* Align sorting and nzb drop downs

* Update NZB details and shutdown page

* Fix format

* Fix SABnzbd Config title tag

* Change file list header direction

* Set rtl variables in build_header instead and test dir="rtl" in config pages

* Revert some changes and handle styling using CSS

* Move more items to CSS

* Config RTL

* Move even more to CSS

* Small tweak

Co-authored-by: Safihre <safihre@sabnzbd.org>
2021-02-08 13:23:03 +01:00
puzzledsab
dcd7c7180e Do full server check when there are busy_threads (#1786)
* Do full server check when there are busy_threads

* Reduce next_article_search delay to 0.5s
2021-02-08 13:19:38 +01:00
jcfp
fbbfcd075b fix bonjour with localhost, retire LOCALHOSTS constant (#1782)
* fix bonjour with localhost, retire LOCALHOSTS constant

* rename probablyipv[46] functions to is_ipv[46]_addr

* refuse to send ssdp description_xml to outsiders
2021-02-08 13:19:30 +01:00
Safihre
f42d2e4140 Rename Glitter Default to Light and make Auto the new Default 2021-02-05 15:01:28 +01:00
Sam Edwards
88882cebbc Support for auto night mode switching in Glitter (#1783) 2021-02-05 15:01:13 +01:00
Safihre
17a979675c Do not re-release from GA when the release tag is pushed 2021-02-05 15:01:04 +01:00
Safihre
4642850c79 Set macOS Python installer target to "/" 2021-02-05 15:01:00 +01:00
Safihre
e8d6eebb04 Set version to 3.1.1 2020-11-11 22:04:44 +01:00
Safihre
864c5160c0 Merge branch '3.1.x' 2020-11-11 22:01:20 +01:00
Safihre
99b5a00c12 Update text files for 3.1.1 2020-11-11 21:56:15 +01:00
Safihre
85ee1f07d7 Do not crash if we cannot format the error message 2020-11-08 15:06:50 +01:00
exizak42
e58b4394e0 Separate email message lines are with CRLF (#1671)
SMTP protocol dictates that all lines are supposed to be separated
with CRLF and not LF (even on LF-based systems). This change ensures
that even if the original byte string message is using `\n` for line
separators, the SMTP protocol will still work properly.

This resolves sabnzbd#1669

Fix code formatting
2020-11-08 14:44:44 +01:00
Safihre
1e91a57bf1 It was not possible to set directory-settings to empty values 2020-11-06 16:14:53 +01:00
Safihre
39cee52a7e Update text files for 3.1.1RC1 2020-11-02 20:03:43 +01:00
Safihre
72068f939d Improve handling of binary restarts (macOS / Windows) 2020-11-02 19:57:57 +01:00
Safihre
096d0d3cad Deobfuscate-during-download did not work
https://forums.sabnzbd.org/viewtopic.php?f=3&t=25037
2020-11-01 15:35:09 +01:00
Safihre
2472ab0121 Python 3.5 does not know ssl.PROTOCOL_TLS_SERVER
Closes #1658
2020-10-27 15:52:28 +01:00
Safihre
00421717b8 Queue Repair would fail if Rating is enabled
Closes #1649
2020-10-24 11:10:03 +02:00
Safihre
ae96d93f94 Set version to 3.1.0 2020-10-16 17:02:28 +02:00
Safihre
8522c40c8f Merge branch '3.1.x' 2020-10-16 16:58:58 +02:00
Safihre
23f86e95f1 Update text files for 3.1.0 2020-10-16 16:42:35 +02:00
Safihre
eed2045189 After pre-check the job was not restored to the original spot 2020-10-16 16:27:51 +02:00
Safihre
217785bf0f Applying Filters to a feed would result in crash
Closes #1634
2020-10-15 18:07:06 +02:00
Safihre
6aef50dc5d Update text files for 3.1.0RC3 2020-10-02 11:34:21 +02:00
Safihre
16b6e3caa7 Notify users of Deobfuscate.py that it is now part of SABnzbd 2020-09-29 14:08:51 +02:00
Safihre
3de4c99a8a Only set the "Waiting" status when the job hits post-processing
https://forums.sabnzbd.org/viewtopic.php?f=11&t=24969
2020-09-29 13:51:15 +02:00
Safihre
980aa19a75 Only run Windows Service code when executed from the executables
Could be made to work with the from-sources code.. But seems like very small usecase.
Closes #1623
2020-09-29 10:42:23 +02:00
Safihre
fb4b57e056 Update text files for 3.1.0RC2 2020-09-27 17:19:34 +02:00
Safihre
03638365ea Set execute bit on Deobfuscate.py 2020-09-27 17:17:30 +02:00
Safihre
157cb1c83d Handle failing RSS-feeds for feedparser 6.0.0+
Closes #1621
Now throws warnings (that can be disabled, helpfull_warnings) if readout failed.
2020-09-27 13:32:38 +02:00
Safihre
e51f11c2b1 Do not crash if attributes file is not present 2020-09-25 10:50:19 +02:00
Safihre
1ad0961dd8 Existing files were not parsed when re-adding a job 2020-09-25 10:49:50 +02:00
Safihre
46ff7dd4e2 Do not crash if we can't save attributes, the job might be gone 2020-09-25 10:03:05 +02:00
Safihre
8b067df914 Correctly parse failed_only for Plush 2020-09-23 16:56:57 +02:00
Safihre
ef43b13272 Assume RarFile parses the correct filepaths for the RAR-volumes
Parsing UTF8 from command-line still fails.
https://forums.sabnzbd.org/viewtopic.php?p=122267#p122267
2020-09-21 22:12:43 +02:00
Safihre
e8e9974224 work_name would not be sanatized when adding NZB's
Closes #1615
Now with tests, yeah.
2020-09-21 22:12:34 +02:00
Safihre
feebbb9f04 Merge branch '3.0.x' 2020-09-13 16:40:43 +02:00
Safihre
bc4f06dd1d Limit feedparser<6.0.0 for 3.0.x 2020-09-13 16:40:14 +02:00
Safihre
971e4fc909 Merge branch '3.0.x' 2020-08-30 20:58:31 +02:00
Safihre
51cc765949 Update text files for 3.0.2 2020-08-30 20:50:45 +02:00
Safihre
19c6a4fffa Propagation delay label was shown even if no delay was activated 2020-08-29 16:46:16 +02:00
Safihre
105ac32d2f Reading RSS feed with no categories set could result in crash
Closes #1589
2020-08-28 10:16:49 +02:00
Safihre
57550675d2 Removed logging in macOS sabApp that resulted in double logging 2020-08-28 10:16:41 +02:00
Safihre
e674abc5c0 Update text files for 3.0.2RC2 2020-08-26 08:56:29 +02:00
Safihre
f965c96f51 Change the macOS power assertion to NoIdleSleep 2020-08-26 08:50:54 +02:00
Safihre
c76b8ed9e0 End-of-queue-script did not run on Windows due to long-path
https://forums.sabnzbd.org/viewtopic.php?f=3&t=24918

Will refactor this so they all call 1 function.
2020-08-24 11:28:14 +02:00
Safihre
4fbd0d8a7b Check if name is a string before switching to nzbfile in addfile
Closes #1584
2020-08-24 09:05:25 +02:00
Safihre
2186c0fff6 Update text files for 3.0.2 RC 1 2020-08-21 15:42:35 +02:00
Safihre
1adca9a9c1 Do not crash if certifi certificates are not available
This could happen on Windows, due to overactive virus scanners
2020-08-21 15:26:06 +02:00
Safihre
9408353f2b Priority was not parsed correctly if supplied as string 2020-08-21 15:12:09 +02:00
Safihre
84f4d453d2 Permissions would be set even if user didn't set any
Windows developers like me shouldn't do permissions stuff..
2020-08-21 15:12:01 +02:00
Safihre
d10209f2a1 Extend tests of create_all_dirs to cover apply_umask=False 2020-08-21 15:11:53 +02:00
Safihre
3ae149c72f Split the make_mo.py command for NSIS 2020-08-19 22:21:02 +02:00
Safihre
47385acc3b Make sure we force the final_name to string on legacy get_attrib_file 2020-08-19 16:21:13 +02:00
Safihre
814eeaa900 Redesigned the saving of attributes
Now uses pickle, so that the type of the property is preserved.
Made flexible, so that more properties can be easily added later.
Closes #1575
2020-08-19 16:21:07 +02:00
Safihre
5f2ea13aad NzbFile comparison could crash when comparing finished_files
https://forums.sabnzbd.org/viewtopic.php?f=3&t=24902&p=121748
2020-08-19 08:50:06 +02:00
Safihre
41ca217931 Merge branch '3.0.x' 2020-08-18 11:05:50 +02:00
Safihre
b57d36e8dd Set version information to 3.0.1 2020-08-18 11:05:36 +02:00
Safihre
9a4be70734 List Cheetah minimal version in requirements.txt 2020-08-18 08:21:20 +02:00
Safihre
a8443595a6 Generalize use of certifi module 2020-08-18 08:20:47 +02:00
Safihre
fd0a70ac58 Update text files for 3.0.1 2020-08-17 16:52:23 +02:00
Safihre
8a8685c968 Permissions should only be applied if requested
Corrects 050b925f7b
2020-08-16 18:28:39 +02:00
Safihre
9e6cb8da8e Temporarily set cheroot version due to it breaking our tests
cherrypy/cheroot/issues/312
2020-08-16 18:28:13 +02:00
Safihre
054ec54d51 Basic authentication option was broken
Closes #1571
2020-08-10 15:34:01 +02:00
Safihre
272ce773cb Update text files for 3.0.1RC1 2020-08-07 15:28:11 +02:00
Safihre
050b925f7b Permissions were not set correctly when creating directories (#1568)
Restores changes made in d2e0ebe
2020-08-07 15:22:53 +02:00
Safihre
0087940898 Merge branch '3.0.x' into master 2020-08-02 09:46:41 +02:00
Safihre
e323c014f9 Set version information to 3.0.0 2020-08-01 16:17:08 +02:00
Safihre
cc465c7554 Update text files for 3.0.0
🎉🎉
2020-08-01 15:59:30 +02:00
Safihre
14cb37564f Update translate-link in SABnzbd 2020-07-19 13:01:39 +02:00
Safihre
094db56c3b Default-text for Automatically sort queue 2020-07-16 22:29:02 +02:00
Safihre
aabb709b8b Update text files for 3.0.0 RC 2 2020-07-15 14:10:35 +02:00
Safihre
0833dd2db9 Update translatable texts in 3.0.x branch 2020-07-15 14:07:21 +02:00
Safihre
cd3f912be4 RAR-renamer should be run on badly named RAR-files
https://forums.sabnzbd.org/viewtopic.php?f=2&t=24514&p=121433
2020-07-15 14:01:48 +02:00
Safihre
665c516db6 Only really run pre-script when it is set 2020-07-12 14:20:18 +02:00
Safihre
b670da9fa0 Always use Default-priority when creating NZB-objects
Closes #1552
2020-07-12 14:03:07 +02:00
Safihre
80bee9bffe Search-icon would be shown on top of drop-downs
Closes #1545
2020-06-30 12:57:28 +02:00
Safihre
d85a70e8ad Always report API paused status as a boolean
Closes #1542
2020-06-30 10:26:34 +02:00
Safihre
8f21533e76 Set version to 2.3.9 2019-05-24 11:39:14 +02:00
Safihre
89996482a1 Merge branch '2.3.x' 2019-05-24 09:33:12 +02:00
Safihre
03c10dce91 Update text files for 2.3.9 2019-05-24 09:32:34 +02:00
Safihre
bd5331be05 Merge branch 'develop' into 2.3.x 2019-05-24 09:12:02 +02:00
Safihre
46e1645289 Correct typo in release notes 2019-05-18 10:56:39 +02:00
Safihre
4ce3965747 Update text files for 2.3.9RC2 2019-05-18 09:56:05 +02:00
Safihre
9d4af19db3 Merge branch 'develop' into 2.3.x 2019-05-18 09:45:20 +02:00
Safihre
48e034f4be Update text files for 2.3.9RC1 2019-05-07 13:50:20 +02:00
Safihre
f8959baa2f Revert "Notify develop-users that we will switch to Python 3"
This reverts commit fb238af7de.
2019-05-07 13:35:13 +02:00
Safihre
8ed5997eae Merge branch 'develop' into 2.3.x 2019-05-07 13:10:10 +02:00
Safihre
daf9f50ac8 Set version to 2.3.8 2019-03-18 11:10:56 +01:00
Safihre
6b11013c1a Merge branch '2.3.x' 2019-03-18 11:09:35 +01:00
162 changed files with 4248 additions and 8819 deletions

36
.github/renovate.json vendored Normal file
View File

@@ -0,0 +1,36 @@
{
"$schema":"https://docs.renovatebot.com/renovate-schema.json",
"extends":[
"config:base",
":disableDependencyDashboard"
],
"schedule":[
"before 3am on Monday"
],
"ignorePaths":[
"tests/**",
".github/workflows/**"
],
"pip_requirements":{
"fileMatch":[
"requirements.txt",
"builder/requirements.txt",
"builder/osx/requirements.txt"
]
},
"ignoreDeps":[
"jaraco.text"
],
"packageRules":[
{
"matchPackagePatterns":[
"*"
],
"groupName":"all dependencies",
"groupSlug":"all",
"automerge":true
}
],
"automergeStrategy":"squash",
"platformAutomerge":true
}

View File

@@ -2,8 +2,10 @@ name: Build binaries and source distribution
on: [push, pull_request]
# Setting PYTHONNODEBUGRANGES reduces binary size
env:
AUTOMATION_GITHUB_TOKEN: ${{ secrets.AUTOMATION_GITHUB_TOKEN }}
PYTHONNODEBUGRANGES: 1
jobs:
build_windows:
@@ -12,13 +14,13 @@ jobs:
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10 (64bit)
uses: actions/setup-python@v3
- name: Set up Python 3.11 (64bit)
uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.11"
architecture: "x64"
- name: Cache Python virtualenv (64bit)
uses: syphar/restore-virtualenv@v1.2
uses: syphar/restore-virtualenv@v1.3
id: cache-virtualenv-64bit
with:
custom_virtualenv_dir: "venv64"
@@ -33,13 +35,6 @@ jobs:
pip install --upgrade pip wheel
pip install --upgrade -r requirements.txt
pip install --upgrade -r builder/requirements.txt
- name: Build source distribution
run: python builder/package.py source
- name: Upload source distribution
uses: actions/upload-artifact@v3
with:
path: "*-src.tar.gz"
name: Source distribution
- name: Build Windows standalone binary and installer (64bit)
run: python builder/package.py installer
- name: Upload Windows standalone binary (64bit)
@@ -53,12 +48,12 @@ jobs:
path: "*-win-setup.exe"
name: Windows installer
- name: Set up Python 3.8 (32bit and legacy)
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: "3.8"
architecture: "x86"
- name: Cache Python virtualenv (32bit and legacy)
uses: syphar/restore-virtualenv@v1.2
uses: syphar/restore-virtualenv@v1.3
id: cache-virtualenv-32bit
with:
custom_virtualenv_dir: "venv32"
@@ -89,16 +84,14 @@ jobs:
runs-on: macos-11
timeout-minutes: 30
env:
SIGNING_AUTH: ${{ secrets.SIGNING_AUTH }}
NOTARIZATION_USER: ${{ secrets.NOTARIZATION_USER }}
NOTARIZATION_PASS: ${{ secrets.NOTARIZATION_PASS }}
# We need the official Python, because the GA ones only support newer macOS versions
# The deployment target is picked up by the Python build tools automatically
# If updated, make sure to also set LSMinimumSystemVersion in SABnzbd.spec
PYTHON_VERSION: "3.10.4"
PYTHON_VERSION: "3.11.0"
MACOSX_DEPLOYMENT_TARGET: "10.9"
# We need to force compile for universal2 support
CFLAGS: -arch arm64 -arch x86_64
CFLAGS: -arch x86_64 -arch arm64
ARCHFLAGS: -arch x86_64 -arch arm64
steps:
- uses: actions/checkout@v3
- name: Cache Python download
@@ -106,7 +99,7 @@ jobs:
uses: actions/cache@v3
with:
path: ~/python.pkg
key: macOS-Python-${{ env.PYTHON_VERSION }}
key: cache-macOS-Python-${{ env.PYTHON_VERSION }}
- name: Get Python
if: steps.cache-python-download.outputs.cache-hit != 'true'
run: curl https://www.python.org/ftp/python/${PYTHON_VERSION}/python-${PYTHON_VERSION}-macos11.pkg -o ~/python.pkg
@@ -116,7 +109,7 @@ jobs:
unlink /usr/local/bin/python
ln -s /usr/local/bin/python3 /usr/local/bin/python
- name: Cache Python virtualenv
uses: syphar/restore-virtualenv@v1.2
uses: syphar/restore-virtualenv@v1.3
id: cache-virtualenv
with:
custom_cache_key_element: "release"
@@ -124,35 +117,54 @@ jobs:
**/requirements.txt
PKG-INFO
- name: Install Python dependencies
# We have to manually install a few packages:
# 1. cffi will pick up the single-arch libffi from Homebrew, while Apple provides universal2-version
# of libffi with XCode. So we forcefully have to remove the Homebrew one.
# 2. Because building cryptography is hard, and we cannot force pip to fetch universal2 version we
# We have to manually take a few steps:
# 1. Because building cryptography is hard, and we cannot force pip to fetch universal2 version we
# first install the x86 version (and it's dependencies) and then manually fetch the universal2 build
# https://github.com/pyca/cryptography/issues/5918
# 3. We need to build the PyInstaller bootloader from sources:
# 2. We need to build the PyInstaller bootloader:
# https://github.com/pyinstaller/pyinstaller/issues/6235
# 3. TEMPORARY: Add aarch64 for orjson universal2 build, until they provide a wheel
if: steps.cache-virtualenv.outputs.cache-hit != 'true'
run: |
python3 --version
pip3 install --upgrade pip wheel
brew uninstall libffi --ignore-dependencies
ARCHFLAGS="-arch x86_64 -arch arm64" pip3 install --upgrade cffi --no-binary cffi
pip3 install --upgrade -r requirements.txt
pip3 install --upgrade -r requirements.txt --no-binary cffi
pip3 uninstall cryptography -y
pip3 download -r builder/osx/requirements.txt --platform macosx_10_10_universal2 --only-binary :all: --no-deps --dest .
pip3 install -r builder/osx/requirements.txt --no-cache-dir --no-index --find-links .
rustup target add aarch64-apple-darwin
PYINSTALLER_COMPILE_BOOTLOADER=1 pip3 install --upgrade -r builder/requirements.txt --no-binary pyinstaller
- name: Import macOS codesign certificates
uses: apple-actions/import-codesign-certs@v1
if: env.SIGNING_AUTH
# Taken from https://github.com/Apple-Actions/import-codesign-certs/pull/27 (comments)
env:
CERTIFICATES_P12: ${{ secrets.CERTIFICATES_P12 }}
CERTIFICATES_P12_PASSWORD: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
MACOS_KEYCHAIN_TEMP_PASSWORD: ${{ secrets.MACOS_KEYCHAIN_TEMP_PASSWORD }}
run: |
echo $CERTIFICATES_P12 | base64 --decode > certificate.p12
security create-keychain -p "$MACOS_KEYCHAIN_TEMP_PASSWORD" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "$MACOS_KEYCHAIN_TEMP_PASSWORD" build.keychain
security set-keychain-settings -lut 21600 build.keychain
security import certificate.p12 -k build.keychain -P "$CERTIFICATES_P12_PASSWORD" -T /usr/bin/codesign -T /usr/bin/productsign -T /usr/bin/xcrun
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$MACOS_KEYCHAIN_TEMP_PASSWORD" build.keychain
- name: Build source distribution
# Run this on macOS so the line endings are correct by default
run: python builder/package.py source
- name: Upload source distribution
uses: actions/upload-artifact@v3
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
path: "*-src.tar.gz"
name: Source distribution
- name: Build macOS binary
env:
SIGNING_AUTH: ${{ secrets.SIGNING_AUTH }}
NOTARIZATION_USER: ${{ secrets.NOTARIZATION_USER }}
NOTARIZATION_PASS: ${{ secrets.NOTARIZATION_PASS }}
run: |
python3 builder/package.py app
python3 builder/make_dmg.py
@@ -170,15 +182,14 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
env:
SNAP_TOKEN: ${{ secrets.SNAP_TOKEN }}
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Release latest available Snap
run: |
sudo snap install snapcraft --classic
echo "${SNAP_TOKEN}" | snapcraft login --with -
python3 snap/local/release_snap.py

View File

@@ -31,27 +31,29 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
os: [ubuntu-20.04]
include:
- name: macOS
os: macos-latest
python-version: "3.10"
python-version: "3.11"
- name: Windows
os: windows-latest
# lxml is not yet available for Python 3.11, so CI is stuck on 3.10 for now
python-version: "3.10"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: "x64"
- name: Install system dependencies
if: runner.os == 'Linux'
run: sudo apt-get install unrar p7zip-full par2
- name: Cache Python virtualenv
uses: syphar/restore-virtualenv@v1.2
uses: syphar/restore-virtualenv@v1.3
id: cache-virtualenv
with:
custom_cache_key_element: "ci"
@@ -62,6 +64,7 @@ jobs:
if: steps.cache-virtualenv.outputs.cache-hit != 'true'
run: |
python --version
pip install --upgrade pip wheel
pip install --upgrade -r requirements.txt
pip install --upgrade -r tests/requirements.txt
- name: Test SABnzbd

View File

@@ -13,28 +13,29 @@ jobs:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.AUTOMATION_GITHUB_TOKEN }}
- name: Generate translatable texts
run: |
python3 tools/extract_pot.py
- name: Install Transifex client
if: env.TX_TOKEN
# Sudo is needed to link the "tx"-command
run: |
sudo -H python3 -m pip install setuptools wheel
sudo -H python3 -m pip install transifex-client
- name: Push/pull Transifex translations
if: env.TX_TOKEN
run: |
tx push --source --parallel
tx pull --all --force --parallel
curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash
./tx push --source
./tx pull --all --force
- name: Compile translations to validate them
run: |
python3 tools/make_mo.py
- name: Push translatable and translated texts back to repo
uses: stefanzweifel/git-auto-commit-action@v4.14.1
uses: stefanzweifel/git-auto-commit-action@v4.15.2
if: env.TX_TOKEN
with:
commit_message: Update translatable texts
commit_message: |
Update translatable texts
[skip ci]
commit_user_name: SABnzbd Automation
commit_user_email: bugs@sabnzbd.org
commit_author: SABnzbd Automation <bugs@sabnzbd.org>
file_pattern: "po/*.pot po/*.po"
push_options: --force

View File

@@ -1,6 +0,0 @@
branch: develop
schedule: every week
update: all
pin: False
label_prs: dependencies
branch_prefix: pyup/

View File

@@ -1,21 +1,21 @@
[main]
host = https://www.transifex.com
[sabnzbd-translations.po-main-sabnzbd-pot--develop]
[o:sabnzbd:p:sabnzbd-translations:r:po-main-sabnzbd-pot--develop]
file_filter = po/main/<lang>.po
minimum_perc = 0
source_file = po/main/SABnzbd.pot
source_lang = en
type = PO
[sabnzbd-translations.po-email-sabemail-pot--develop]
[o:sabnzbd:p:sabnzbd-translations:r:po-email-sabemail-pot--develop]
file_filter = po/email/<lang>.po
minimum_perc = 0
source_file = po/email/SABemail.pot
source_lang = en
type = PO
[sabnzbd-translations.po-nsis-sabnsis-pot--develop]
[o:sabnzbd:p:sabnzbd-translations:r:po-nsis-sabnsis-pot--develop]
file_filter = po/nsis/<lang>.po
minimum_perc = 0
source_file = po/nsis/SABnsis.pot

View File

@@ -53,3 +53,6 @@
to your servers to a total of 7. There is a CPU-usage reduction feature in SABnzbd that
gets confused by the way some VPN's handle the state of a connection. Below 8 connections
this feature is not active.
- If the queue is paused but one or more jobs have the Force priority, SABnzbd might still
download some data from other jobs in the queue if active servers have unused connections.

View File

@@ -1,7 +1,7 @@
Metadata-Version: 1.0
Name: SABnzbd
Version: 3.6.0Beta5
Summary: SABnzbd-3.6.0Beta5
Version: 3.7.0
Summary: SABnzbd-3.7.0
Home-page: https://sabnzbd.org
Author: The SABnzbd Team
Author-email: team@sabnzbd.org

View File

@@ -1,10 +1,8 @@
SABnzbd - The automated Usenet download tool
============================================
![CI tests](https://github.com/sabnzbd/sabnzbd/workflows/CI%20Tests/badge.svg)
![Build binaries](https://github.com/sabnzbd/sabnzbd/workflows/Build%20binaries%20and%20source%20distribution/badge.svg)
[![License](https://img.shields.io/badge/license-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
[![License](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
[![Join our Discord](https://img.shields.io/discord/976737547558461480?color=7289DA&label=Discord&logo=Discord&logoColor=white)](https://discord.gg/KQzDe7fvNU)
SABnzbd is an Open Source Binary Newsreader written in Python.

View File

@@ -1,55 +1,39 @@
Release Notes - SABnzbd 3.6.0 Beta 5
Release Notes - SABnzbd 3.7.0
=========================================================
## Changes and bugfixes since 3.6.0 Beta 4
- Improve new Quick-check method.
- Remove undocumented `xcat` API-parameter.
- Prevent traceback when status functions timeout.
- API calls to add NZB's would not always return `nzo_ids`.
- Correctly default to `Glitter - Auto` on new installs.
- Show warning when there are no valid news servers active.
- Prevent crash when there is an unknown `language` setting.
## Changes since 3.6.1
- The queue and history can be filtered using keywords:
`cat` and `priority`. For example: `show name cat:tv`.
- Use shortcut `shift + arrow-key` to navigate the queue/history pages.
- The backup is now created in a local folder for security.
- Recurring backups can be configured using the scheduler.
- Improvements to Deobfuscate Final Filenames.
- RSS overview shows the rule that accepted the job.
- Added option to sort the queue by `% downloaded`.
- Added option to replace underscores with dots in folder names.
- SABnzbd Host input will be validated before being applied.
- Moved system load information from the main page to the Status window.
- Console logging is now written to `stdout` instead of `stderr`.
- Removed Special settings `enable_meta`, `disable_key`,
`replace_illegal`, `osx_speed` and `show_sysload`.
- Merged Special settings `win_menu` and `osx_menu` into `tray_icon`.
- macOS/Windows: Use Python 3.11, slightly boosting overall performance.
- macOS/Windows: Updated UnRar to 6.12.
- Windows: Updated MultiPar to 1.3.2.5.
## Changes and bugfixes since 3.6.0 Beta 3
- Reverted changes to file assembly.
- Implemented new Quick-check method.
# API changes since 3.6.1
- Minor improvements in API performance.
- Removed fields `scripts` and `categories` from `queue` API call.
- Moved `loadavg` from `queue` to `status` API call.
## Changes and bugfixes since 3.6.0 Beta 2
- Removed Indexer Feedback Integration.
- Removed included `Deobfuscate.py` as it is outdated.
- In case SIMD is available, multiple files will be assembled
simultaneously. This further improves performance.
## Changes and bugfixes since 3.6.0 Beta 1
- Updates to `sabyenc3` to support more compiler setups.
- Optimization to the writing of partially downloaded data.
- Added `ext_rename_ignore` to add custom extensions that should
be ignored during the `Deobfuscate` step.
- Prevent crash in API `history` call during post-processing.
- Ignore `.par2` files that could not be parsed.
## Changes since 3.5.3
- Significantly increased performance by using the yEnc-decoding
library of @animetosho. Usenet articles are now decoded using
specialized CPU instructions (SIMD) on x86 and ARM systems.
- Create and restore backup of configuration and database.
- Show source of lower download speed (CPU or disk).
- Added keyboard shortcuts (Pause, Add, Status, Config).
- Results of `Deobfuscate` step listed in History.
- Disable `api_warnings` to prevent showing `Access Denied`
information to the external client.
- Jobs with `Force` priority always skip duplicate check.
- Removed several status items from the `queue` API-call.
- Linux: Added AppStream metadata, desktop shortcut and MimeInfo.
- macOS: Application and included tools fully native on M1 systems.
- macOS/Windows: Updated UnRar to 6.10 and 7-Zip to 21.07.
- Windows: Updated MultiPar to v1.3.2.3.
# Bugfixes since 3.5.3
- Extended timeout when measuring system performance.
- Interface settings were sometimes reset on page reload.
- Par2 sets with duplicate names could skip verification and repair.
- Prevent crash if not enough repair blocks are available.
# Bugfixes since 3.6.1
- Free Space Detection was too strict when using Direct Unpack.
- File uploads with special characters would be parsed incorrectly.
- Passwords from NZB meta-data were tried multiple times.
- Passwords were not always supplied to the pre-queue script.
- RSS-feed names were not sanitized when renamed.
- Make sure short-dates are detected as `YY-MM-DD` in Sorting.
- Show the custom job name in History when the NZB could not be fetched.
## Upgrade notices
- The download statistics file `totals10.sab` is updated in 3.2.x

View File

@@ -1156,7 +1156,7 @@ def main():
daemonize()
else:
if console_logging:
console = logging.StreamHandler()
console = logging.StreamHandler(stream=sys.stdout)
console.setLevel(LOGLEVELS[logging_level + 1])
console.setFormatter(logging.Formatter(logformat))
logger.addHandler(console)
@@ -1208,6 +1208,9 @@ def main():
sabnzbd.ORG_UMASK,
)
# Log JSON module in case of problems
logging.debug("JSON-module = %s %s", sabnzbd.api.json.__name__, sabnzbd.api.json.__version__)
# SSL Information
logging.info("SSL version = %s", ssl.OPENSSL_VERSION)
@@ -1257,7 +1260,7 @@ def main():
sabnzbd.cfg.web_color.set(sabnzbd.WEB_COLOR)
# Handle the several tray icons
if sabnzbd.cfg.win_menu() and not sabnzbd.DAEMON and not sabnzbd.WIN_SERVICE:
if sabnzbd.cfg.tray_icon() and not sabnzbd.DAEMON and not sabnzbd.WIN_SERVICE:
if sabnzbd.WIN32:
sabnzbd.WINTRAY = sabnzbd.sabtray.SABTrayThread()
elif sabnzbd.LINUX_POWER and os.environ.get("DISPLAY"):
@@ -1268,7 +1271,7 @@ def main():
from gi.repository import Gtk
import sabnzbd.sabtraylinux
sabnzbd.LINUXTRAY = sabnzbd.sabtraylinux.StatusIcon()
sabnzbd.sabtraylinux.StatusIcon()
except:
logging.info("python3-gi not found, no SysTray.")

View File

@@ -122,7 +122,7 @@ pyi_analysis = Analysis(
["SABnzbd.py"],
datas=extra_pyinstaller_files,
hiddenimports=extra_hiddenimports,
excludes=["FixTk", "tcl", "tk", "_tkinter", "tkinter", "Tkinter"],
excludes=["ujson", "FixTk", "tcl", "tk", "_tkinter", "tkinter", "Tkinter"],
)
pyz = PYZ(pyi_analysis.pure, pyi_analysis.zipped_data)

View File

@@ -1,3 +1,3 @@
# Special requirements for macOS universal2 binary release
# This way dependabot can auto-update them
cryptography==36.0.2
cryptography==38.0.3

View File

@@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
import glob
import hashlib
import platform
import re
import sys
@@ -482,6 +483,16 @@ if __name__ == "__main__":
# Remove source folder
safe_remove(src_folder)
# Calculate hashes for Synology release
with open(RELEASE_SRC, "rb") as inp_file:
source_data = inp_file.read()
print("----")
print(RELEASE_SRC, "SHA1", hashlib.sha1(source_data).hexdigest())
print(RELEASE_SRC, "SHA256", hashlib.sha256(source_data).hexdigest())
print(RELEASE_SRC, "MD5", hashlib.md5(source_data).hexdigest())
print("----")
# Release to github
if "release" in sys.argv:
# Check if tagged as release and check for token

View File

@@ -1,18 +1,22 @@
# Basic build requirements
# Note that not all sub-dependencies are listed, but only ones we know could cause trouble
pyinstaller==5.0.1
pyinstaller-hooks-contrib==2022.4
altgraph==0.17.2
wrapt==1.14.0
setuptools==62.1.0
pkginfo==1.8.2
PyGithub==1.55
charset-normalizer==2.0.12
pyinstaller==5.6.1
pyinstaller-hooks-contrib==2022.10
altgraph==0.17.3
wrapt==1.14.1
setuptools==65.5.0
pkginfo==1.8.3
PyGithub==1.56
charset-normalizer==3.0.0
certifi
# orjson does not support 32bit Windows, exclude it based on Python-version
# This way we also test ujson on Python 3.7 and 3.8 in the CI-tests
orjson==3.8.0; python_version > '3.8'
# For the macOS build
dmgbuild==1.5.2; sys_platform == 'darwin'
mac-alias==2.2.0; sys_platform == 'darwin'
macholib==1.16; sys_platform == 'darwin'
macholib==1.16.2; sys_platform == 'darwin'
ds-store==1.3.0; sys_platform == 'darwin'
PyNaCl==1.5.0; sys_platform == 'darwin'
PyNaCl==1.5.0; sys_platform == 'darwin'

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Config"#-->
<!--#set global $help_uri="configuration/3.6/configure"#-->
<!--#set global $help_uri="configuration/3.7/configure"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<!--#from sabnzbd.encoding import CODEPAGE#-->

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Categories"#-->
<!--#set global $help_uri="configuration/3.6/categories"#-->
<!--#set global $help_uri="configuration/3.7/categories"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<div class="colmask">
<div class="section">

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Folders"#-->
<!--#set global $help_uri="configuration/3.6/folders"#-->
<!--#set global $help_uri="configuration/3.7/folders"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<div class="colmask">
@@ -104,6 +104,11 @@
<span class="desc">$T('explain-admin_dir1')</span>
<span class="desc">$T('explain-admin_dir2')</span>
</div>
<div class="field-pair">
<label class="config" for="backup_dir">$T('opt-backup_dir')</label>
<input type="text" name="backup_dir" id="backup_dir" value="$backup_dir" data-initialdir="$my_home" />
<span class="desc">$T('explain-backup_dir')</span>
</div>
<div class="field-pair">
<label class="config" for="log_dir">$T('opt-log_dir')</label>
<input type="text" name="log_dir" id="log_dir" value="$log_dir" data-initialdir="$my_lcldata" />

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="General"#-->
<!--#set global $help_uri="configuration/3.6/general"#-->
<!--#set global $help_uri="configuration/3.7/general"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<div class="colmask">
@@ -181,7 +181,7 @@
</div>
<div class="field-pair advanced-settings">
<label class="config" for="socks5_proxy_url">$T('opt-socks5_proxy_url')</label>
<input type="text" name="socks5_proxy_url" id="socks5_proxy_url" value="$socks5_proxy_url" placeholder="socks5://username:password@hostname:port" />
<input type="text" name="socks5_proxy_url" id="socks5_proxy_url" value="$socks5_proxy_url" autocomplete="off" placeholder="socks5://user:pass@hostname:port" />
<span class="desc">$T('explain-socks5_proxy_url') <br/>$T('readwiki')</span>
</div>
<div class="field-pair">
@@ -231,18 +231,18 @@
<div class="section">
<div class="col2">
<h3>$T('backup') <a href="$helpuri$help_uri#toc3" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
<p><b>$T('restartRequired')</b></p>
</div><!-- /col2 -->
<div class="col1">
<fieldset>
<div class="field-pair">
<label class="config" for="download_backup">$T('download-backup')</label>
<span class="desc"><a class="btn btn-default" href="../backup/?apikey=$apikey" target="_blank" id="download_backup"><span class="glyphicon glyphicon-download-alt"></span> $T('download-backup')</a></span>
<label class="config" for="create_backup">$T('create-backup')</label>
<span class="desc"><button class="btn btn-default createBackup" type="button" id="create_backup"><span class="glyphicon glyphicon glyphicon-import"></span> $T('create-backup')</button></span>
<span class="desc">$T('explain-create_backup')</span>
</div>
<div class="field-pair">
<label class="config" for="config_backup_file">$T('restore-backup')</label>
<input type="file" accept=".zip" name="config_backup_file" id="config_backup_file" />
<span class="desc">$T('explain-admin_backup')</span>
<span class="desc">$T('restartRequired')</span>
</div>
<div class="field-pair">
<button class="btn btn-default saveButton"><span class="glyphicon glyphicon-open"></span> $T('restore-backup')</button>
@@ -399,6 +399,20 @@
}
})
\$('#create_backup').click(function () {
$.ajax({
type: "POST",
url: "../../api",
data: {mode:'config', name:'create_backup', output:'json', apikey: \$('#apikey').val()},
success: function(data) {
if(data.value.result) {
alert("$T('backup'):\n" + data.value.message)
} else {
alert("$T('button-failed')")
}
}
});
});
});
</script>

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Email"#-->
<!--#set global $help_uri="configuration/3.6/notifications"#-->
<!--#set global $help_uri="configuration/3.7/notifications"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<!--#def show_notify_checkboxes($section_label)#-->

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="RSS"#-->
<!--#set global $help_uri="configuration/3.6/rss"#-->
<!--#set global $help_uri="configuration/3.7/rss"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<!--#import html#-->
<div class="colmask">
@@ -481,18 +481,22 @@
<thead>
<tr>
<th class="default-sort">$T('rss-added')</th>
<th>$T('rss-filter')</th>
<th>$T('size')</th>
<th width="60%">$T('sort-title')</th>
<th>$T('category')</th>
<th>$T('nzo-age')</th>
<th>$T('source')</th>
</tr>
</thead>
<!--#for $job in $downloaded#-->
<tr class="infoTableSeperator">
<td data-sort-value="$job['time_downloaded_ms']">$job['time_downloaded']</td>
<td>$job['rule'] $job['skip']</td>
<td data-sort-value="$job['size']">$job['size_units']</td>
<td>$job['title']</td>
<td>$job['cat']</td>
<td data-sort-value="$job['age_ms']">$job['age']</td>
<td data-sort-value="$job['baselink']" title="$job['baselink']">
<!--#if not $job['infourl']#-->
<div class="favicon source-icon" style="background-image: url(//$job['baselink']/favicon.ico);" data-domain="$job['baselink']"></div>

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Scheduling"#-->
<!--#set global $help_uri="configuration/3.6/scheduling"#-->
<!--#set global $help_uri="configuration/3.7/scheduling"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<%

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Servers"#-->
<!--#set global $help_uri="configuration/3.6/servers"#-->
<!--#set global $help_uri="configuration/3.7/servers"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<!--#import json#-->
@@ -49,7 +49,7 @@
<label class="config" for="host">$T('srv-host')</label>
<input type="text" name="host" id="host" required />
</div>
<div class="field-pair">
<div class="field-pair advanced-settings">
<label class="config" for="port">$T('srv-port')</label>
<input type="number" name="port" id="port" size="8" value="119" min="0" />
</div>
@@ -180,7 +180,7 @@
<label class="config" for="host$cur">$T('srv-host')</label>
<input type="text" name="host" id="host$cur" value="$server['host']" required />
</div>
<div class="field-pair">
<div class="field-pair advanced-settings">
<label class="config" for="port$cur">$T('srv-port')</label>
<input type="number" name="port" id="port$cur" value="$server['port']" size="8" min="0" required />
</div>
@@ -259,7 +259,7 @@
<label class="config" for="notes$cur">$T('srv-notes')</label>
<textarea name="notes" id="notes$cur" rows="3" cols="50">$server['notes']</textarea>
</div>
<div class="field-pair">
<div class="field-pair no-field-pair-bg">
<button class="btn btn-default saveButton"><span class="glyphicon glyphicon-ok"></span> $T('button-saveChanges')</button>
<button class="btn btn-default testServer" type="button"><span class="glyphicon glyphicon-sort"></span> $T('button-testServer')</button>
<button class="btn btn-default delServer"><span class="glyphicon glyphicon-trash"></span> $T('button-delServer')</button>
@@ -283,7 +283,8 @@
<p title="$T('readwiki')">
<b>$T('srv-article-availability'):</b><br/>
$T('selectedDates'): <span id="server-article-value-${cur}"></span>
$T('selectedDates'): <span id="server-article-value-${cur}"></span><br/>
<a href="https://sabnzbd.org/not-complete" id="server-article-not-complete-${cur}" target="_blank">https://sabnzbd.org/not-complete</a>
</p>
<!--#if $server['expire_date']#-->
<p><b>$T('srv-expire_date'):</b> $(server['expire_date'])</p>
@@ -402,8 +403,11 @@
if(!isNaN(articleRatio)) {
// Use filesize to convert to unit-display
\$('#server-article-value-' + server_id).text('$T("srv-articles-tried")'.replace('%f', articleRatio).replace('%d', filesize(totalArticlesTriedThisRange, {unix: true, round: 0, spacer: "", base: 1})))
// If we have a low value, we link them to the website
if(articleRatio > 60) \$('#server-article-not-complete-' + server_id).hide()
} else {
\$('#server-article-value-' + server_id).text('$T("notAvailable")')
\$('#server-article-not-complete-' + server_id).hide()
}
// Save bandwidth data in a very ugly way, but we need to do this

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Sorting"#-->
<!--#set global $help_uri="configuration/3.6/sorting"#-->
<!--#set global $help_uri="configuration/3.7/sorting"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<div class="colmask">
@@ -242,10 +242,6 @@
<label class="config wide" for="enable_movie_sorting">$T('opt-movieSort')</label>
<input type="checkbox" name="enable_movie_sorting" id="enable_movie_sorting" value="1" <!--#if int($enable_movie_sorting)> 0 then 'checked="checked"' else ""#--> />
</div>
<div class="field-pair">
<label class="config wide" for="movie_extra_folder">$T('opt-movieExtra')</label>
<input type="checkbox" name="movie_extra_folder" id="movie_extra_folder" value="1" <!--#if int($movie_extra_folder)> 0 then 'checked="checked"' else ""#--> />
</div>
<div class="field-pair">
<label class="config" for="moviefoldername">$T('sortString')</label>
<input type="text" name="movie_sort_string" id="moviefoldername" value="$movie_sort_string" /><button class="btn btn-default clearBtn" type="button"><span class="glyphicon glyphicon-remove"></span> $T('button-clear')</button>
@@ -257,9 +253,9 @@
<div class="field-pair">
<label class="config">$T('presetSort')</label>
<div class="presets float-left">
<input type="button" class="btn btn-default" onclick="movieSet('%title (%y)/%title (%y).%ext',' CD%1');movieExtraFolder(false)" value="$T('button-inFolders')" />
<input type="button" class="btn btn-default" onclick="movieSet('%title (%y).%ext',' CD%1');movieExtraFolder(true)" value="$T('button-noFolders')" />
<input type="button" class="btn btn-default" onclick="movieSet('%0decade/%title (%y).%ext',' CD%1');movieExtraFolder(true)" value="$T('decade')" />
<input type="button" class="btn btn-default" onclick="movieSet('%title (%y)/%title (%y).%ext',' CD%1');" value="$T('button-inFolders')" />
<input type="button" class="btn btn-default" onclick="movieSet('%title (%y).%ext',' CD%1');" value="$T('button-noFolders')" />
<input type="button" class="btn btn-default" onclick="movieSet('%0decade/%title (%y).%ext',' CD%1');" value="$T('decade')" />
<input type="button" class="btn btn-default" onclick="movieSet('%dn.%ext')" value="$T('button-FileLikeFolder')" />
</div>
</div>
@@ -642,10 +638,6 @@
new_previewmovie();
}
function movieExtraFolder(value) {
\$('#movie_extra_folder').attr("checked", value);
}
function dateSet(val) {
\$('#datefoldername').val(val);
new_previewdate();

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Special"#-->
<!--#set global $help_uri="configuration/3.6/special"#-->
<!--#set global $help_uri="configuration/3.7/special"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<div class="colmask">

View File

@@ -1,5 +1,5 @@
<!--#set global $pane="Switches"#-->
<!--#set global $help_uri="configuration/3.6/switches"#-->
<!--#set global $help_uri="configuration/3.7/switches"#-->
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
<div class="colmask">
@@ -141,6 +141,7 @@
<label class="config" for="auto_sort">$T('opt-auto_sort')</label>
<select name="auto_sort" id="auto_sort">
<option value="">$T('default')</option>
<option value="remaining asc" <!--#if $auto_sort == "remaining asc" then 'selected="selected"' else ""#--> >$T('Glitter-sortRemaining')</option>
<option value="avg_age desc" <!--#if $auto_sort == "avg_age desc" then 'selected="selected"' else ""#--> >$T('Glitter-sortAgeAsc')</option>
<option value="avg_age asc" <!--#if $auto_sort == "avg_age asc" then 'selected="selected"' else ""#--> >$T('Glitter-sortAgeDesc')</option>
<option value="name asc" <!--#if $auto_sort == "name asc" then 'selected="selected"' else ""#--> >$T('Glitter-sortNameAsc')</option>
@@ -148,7 +149,7 @@
<option value="size asc" <!--#if $auto_sort == "size asc" then 'selected="selected"' else ""#--> >$T('Glitter-sortSizeAsc')</option>
<option value="size desc" <!--#if $auto_sort == "size desc" then 'selected="selected"' else ""#--> >$T('Glitter-sortSizeDesc')</option>
</select>
<span class="desc">$T('explain-auto_sort')</span>
<span class="desc">$T('explain-auto_sort') $T('explain-auto_sort_remaining')</span>
</div>
<div class="field-pair">
<label class="config" for="direct_unpack">$T('opt-direct_unpack')</label>
@@ -247,11 +248,6 @@
<input type="checkbox" name="deobfuscate_final_filenames" id="deobfuscate_final_filenames" value="1" <!--#if int($deobfuscate_final_filenames) > 0 then 'checked="checked"' else ""#--> />
<span class="desc">$T('explain-deobfuscate_final_filenames') $T('explain-deobfuscate_final_filenames-ext')</span>
</div>
<div class="field-pair advanced-settings">
<label class="config" for="enable_meta">$T('opt-enable_meta')</label>
<input type="checkbox" name="enable_meta" id="enable_meta" value="1" <!--#if int($enable_meta) > 0 then 'checked="checked"' else ""#--> />
<span class="desc">$T('explain-enable_meta').replace('. ', '.<br/>')</span>
</div>
<div class="field-pair">
<label class="config" for="cleanup_list">$T('opt-cleanup_list')</label>
<input type="text" name="cleanup_list" id="cleanup_list" value="$cleanup_list"/>
@@ -292,6 +288,11 @@
<input type="checkbox" name="replace_spaces" id="replace_spaces" value="1" <!--#if int($replace_spaces) > 0 then 'checked="checked"' else ""#--> />
<span class="desc">$T('explain-replace_spaces')</span>
</div>
<div class="field-pair">
<label class="config" for="replace_underscores">$T('opt-replace_underscores')</label>
<input type="checkbox" name="replace_underscores" id="replace_underscores" value="1" <!--#if int($replace_underscores) > 0 then 'checked="checked"' else ""#--> />
<span class="desc">$T('explain-replace_underscores')</span>
</div>
<div class="field-pair">
<label class="config" for="replace_dots">$T('opt-replace_dots')</label>
<input type="checkbox" name="replace_dots" id="replace_dots" value="1" <!--#if int($replace_dots) > 0 then 'checked="checked"' else ""#--> />

View File

@@ -86,7 +86,7 @@
<div class="col-sm-2">$T('srv-password')</div>
<div class="col-sm-10" data-bind="text: historyStatus.password"></div>
</div>
<div class="row">
<div class="row" data-bind="visible: historyStatus.storage() || historyStatus.path()">
<div class="col-sm-2">$T('msg-path')</div>
<div class="col-sm-10" data-bind="text: historyStatus.storage() == '' ? historyStatus.path : historyStatus.storage"></div>
</div>

View File

@@ -43,7 +43,7 @@
<button type="button" class="btn btn-default navbar-btn dropdown-toggle" data-toggle="dropdown" onclick="keepOpen(this)">
<span class="caret"></span>
</button>
<a href="#" class="max-speed-input-clear hover-button" data-bind="click: clearSpeedLimit, visible:(speedLimit() != 100)" style="display: none;">
<a href="#" class="max-speed-input-clear hover-button" data-bind="click: clearSpeedLimit, visible:(speedLimit() < 100 && speedLimit() > 0)" style="display: none;">
<span class="glyphicon glyphicon-link"></span>
</a>
<div class="dropdown-menu max-speed-input">
@@ -81,7 +81,7 @@
<li data-tooltip="true" data-placement="bottom" title="SABnzbd $T('menu-config')">
<a href="./config/"><span class="glyphicon glyphicon-cog"></span></a>
</li>
<li class="dropdown main-menu-link" data-bind="css: { 'active-on-queue-finish-menu': onQueueFinish()}">
<li class="dropdown main-menu-link" data-bind="css: { 'active-on-queue-finish-menu': finishaction()}">
<a href="#" data-toggle="dropdown" onclick="keepOpen(this)">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -102,7 +102,8 @@
<li class="divider"></li>
<li class="dropdown-header"><span class="glyphicon glyphicon-off"></span> $T('Glitter-onFinish'):</li>
<li>
<select data-bind="value: onQueueFinish, event: { change: setOnQueueFinish }" class="form-control">
<!-- ko if: queue.scriptsListLoaded -->
<select data-bind="value: finishaction, event: { change: setOnQueueFinish }" class="form-control">
<option value=""></option>
<optgroup label="$T('eoq-actions')">
<option value="shutdown_program">$T('shutdownSab')</option>
@@ -114,12 +115,13 @@
</optgroup>
<optgroup label="$T('eoq-scripts')" data-bind="visible: queue.scriptsList().length > 1">
<!-- ko foreach: queue.scriptsList -->
<!-- ko if: \$data != glitterTranslate.noneText -->
<option data-bind="text: \$data, attr: { value: 'script_'+\$data } " ></option>
<!-- ko if: \$data.scriptValue != 'None' -->
<option data-bind="text: \$data.scriptText, attr: { value: 'script_'+\$data.scriptValue } " ></option>
<!-- /ko -->
<!-- /ko -->
</optgroup>
</select>
<!-- /ko -->
</li>
</ul>
</li>

View File

@@ -117,6 +117,12 @@
<span data-bind="text: cacheSize"></span> (<span data-bind="text: cacheArticles"></span> $T('Glitter-articles'))
</div>
</div>
<div class="row" data-bind="visible: statusInfo.loadavg()">
<div class="col-sm-6">$T('dashboard-loadavg') &nbsp; </div>
<div class="col-sm-6">
<span data-bind="text: statusInfo.loadavg"></span>
</div>
</div>
<div class="row" data-bind="visible: statusInfo.delayed_decoder() > 5 || statusInfo.delayed_assembler() > 5">
<div class="col-sm-6">$T('dashboard-delayed') &nbsp; </div>
<div class="col-sm-6">
@@ -517,7 +523,7 @@
<div class="form-group">
<label class="col-sm-4 control-label">$T('category')</label>
<div class="col-sm-6">
<select name="Category" class="form-control" data-bind="options: queue.categoriesList, optionsValue: 'catValue', optionsText: 'catText',"></select>
<select name="Category" class="form-control" data-bind="options: queue.categoriesList, optionsValue: 'catValue', optionsText: 'catText'"></select>
<span class="glyphicon glyphicon-tag"></span>
</div>
</div>
@@ -538,7 +544,7 @@
<div class="form-group">
<label class="col-sm-4 control-label">$T('eoq-scripts')</label>
<div class="col-sm-6">
<select name="Post-processing" class="form-control" data-bind="options: queue.scriptsList, optionsCaption: '$T('default')', enable: (queue.scriptsList().length > 1)"></select>
<select name="Post-processing" class="form-control" data-bind="options: queue.scriptsList, optionsCaption: '$T('default')', optionsValue: 'scriptValue', optionsText: 'scriptText', enable: (queue.scriptsList().length > 1)"></select>
<span class="glyphicon glyphicon-flash"></span>
</div>
</div>

View File

@@ -9,12 +9,6 @@
</a>
</div>
<!-- /ko -->
<!--#if $loadavg#-->
<div class="info-container-box" title="$T('ft-sysload') - $T('menu-config') &#10140; $T('cmenu-special') &#10140; show_sysload">
<span class="glyphicon glyphicon-record"></span>
<span data-bind="text: systemLoad"></span>
</div>
<!--#end if#-->
<!-- ko if: (queueDataLeft() != '') -->
<div class="info-container-box">
<span class="glyphicon glyphicon-save"></span>
@@ -52,6 +46,7 @@
<span class="glyphicon glyphicon-tasks" data-tooltip="true" data-placement="left" title="$T('Glitter-multiOperations')"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#" data-action="sortRemainingAsc" data-bind="click: queue.queueSorting">$T('Glitter-sortRemaining')</a></li>
<li><a href="#" data-action="sortAgeAsc" data-bind="click: queue.queueSorting">$T('Glitter-sortAgeAsc')</a></li>
<li><a href="#" data-action="sortAgeDesc" data-bind="click: queue.queueSorting">$T('Glitter-sortAgeDesc')</a></li>
<li><a href="#" data-action="sortNameAsc" data-bind="click: queue.queueSorting">$T('Glitter-sortNameAsc')</a></li>
@@ -162,7 +157,7 @@
</li>
<li title="$T('eoq-scripts')" data-tooltip="true" data-placement="left">
<span class="glyphicon glyphicon-flash"></span>
<select name="Post-processing" class="form-control" data-bind="options: parent.scriptsList, value: script, event: { change: changeScript }, enable: (parent.scriptsList().length > 1)"></select>
<select name="Post-processing" class="form-control" data-bind="options: parent.scriptsList, value: script, optionsValue: 'scriptValue', optionsText: 'scriptText', event: { change: changeScript }, enable: (parent.scriptsList().length > 1)"></select>
</li>
</ul>
<!-- /ko -->
@@ -209,7 +204,7 @@
</div>
<div class="add-nzb-inputbox" data-tooltip="true" data-placement="top" title="$T('eoq-scripts')">
<span class="glyphicon glyphicon-flash"></span>
<select name="Post-processing" class="form-control" data-bind="options: queue.scriptsList, optionsCaption: '', event: { change: queue.doMultiEditUpdate }"></select>
<select name="Post-processing" class="form-control" data-bind="options: queue.scriptsList, optionsValue: 'scriptValue', optionsText: 'scriptText', optionsCaption: '', event: { change: queue.doMultiEditUpdate }"></select>
</div>
<div class="clearfix"></div>
</form>

View File

@@ -65,16 +65,8 @@
glitterTranslate.renameAbort = "$T('Glitter-confirmAbortDirectUnpack')\n$T('confirm')";
glitterTranslate.retryAll = "$T('link-retryAll')?";
glitterTranslate.fetch = "$T('Glitter-fetch')";
glitterTranslate.encrypted = "$T('Glitter-encrypted')";
glitterTranslate.duplicate = "$T('Glitter-duplicate')";
glitterTranslate.tooLarge = "$T('Glitter-tooLarge')";
glitterTranslate.unwanted = "$T('Glitter-unwanted')";
glitterTranslate.incomplete = "$T('Glitter-incomplete')";
glitterTranslate.waitSec = "$T('Glitter-waitSec')";
glitterTranslate.checking = "$T('post-Checking')";
glitterTranslate.misingArt = "$T('missingArt')";
glitterTranslate.noSelect = "$T('Glitter-noSelect')";
glitterTranslate.sendThanks = "$T('Glitter-sendThanks')";
glitterTranslate.chooseFile = "$T('Glitter-chooseFile')";
glitterTranslate.orphanedJobsMsg = "$T('explain-orphans')";
glitterTranslate.useCache = "$T('explain-cache_limitstr').replace("64M", "256M").replace("128M", "512M")";
@@ -102,6 +94,7 @@
glitterTranslate.status['Repair'] = "$T('stage-repair')";
glitterTranslate.status['Filejoin'] = "$T('stage-filejoin')";
glitterTranslate.status['Unpack'] = "$T('stage-unpack')";
glitterTranslate.status['Deobfuscate'] = "$T('stage-deobfuscate')";
glitterTranslate.status['Script'] = "$T('stage-script')";
glitterTranslate.status['Source'] = "$T('stage-source')";
glitterTranslate.status['Servers'] = "$T('stage-servers')";
@@ -128,9 +121,11 @@
<!--#include raw $webdir + "/static/javascripts/jquery-3.5.1.min.js"#-->
<!--#include raw $webdir + "/static/javascripts/jquery-ui.min.js"#-->
<!--#include raw $webdir + "/static/javascripts/jquery.peity.min.js"#-->
<!--#include raw $webdir + "/static/javascripts/jquery.hotkeys.min.js"#-->
<!--#include raw $webdir + "/static/javascripts/moment-2.26.0.min.js"#-->
<!--#include raw $webdir + "/static/javascripts/knockout-3.5.1.min.js"#-->
<!--#include raw $webdir + "/static/javascripts/knockout-extensions.js"#-->
<!--#include raw $webdir + "/static/javascripts/search-query-parser.js"#-->
<!--#include raw $webdir + "/static/bootstrap/js/bootstrap.min.js"#-->
<!--#include $webdir + "/static/javascripts/glitter.js"#-->
</script>

View File

@@ -294,7 +294,7 @@ function paginationModel(parent) {
self.nrPages(1)
self.currentStart(0);
// Are we on next page?
// Are we on next page? Bad!
if(self.currentPage() > 1) {
// Force full update
parent.parent.refresh(true);
@@ -302,9 +302,6 @@ function paginationModel(parent) {
// Move to current page
self.currentPage(1);
// Force full update
parent.parent.refresh(true);
} else {
// Calculate number of pages needed
var newNrPages = Math.ceil(parent.totalItems() / parent.paginationLimit())

View File

@@ -10,7 +10,7 @@ function HistoryListModel(parent) {
self.historyItems = ko.observableArray([])
self.showFailed = ko.observable(false).extend({ persist: 'historyShowFailed' });
self.isLoading = ko.observable(false).extend({ rateLimit: 100 });
self.searchTerm = ko.observable('').extend({ rateLimit: { timeout: 200, method: "notifyWhenChangesStop" } });
self.searchTerm = ko.observable('').extend({ rateLimit: { timeout: 400, method: "notifyWhenChangesStop" } });
self.paginationLimit = ko.observable(10).extend({ persist: 'historyPaginationLimit' });
self.totalItems = ko.observable(0);
self.pagination = new paginationModel(self);
@@ -139,14 +139,15 @@ function HistoryListModel(parent) {
form.reset()
}
// Searching in history (rate-limited in decleration)
// Searching in history (rate-limited in declaration)
self.searchTerm.subscribe(function() {
// Make sure we refresh
self.lastUpdate = 0
self.parent.refresh();
// Go back to page 1
if(self.pagination.currentPage() != 1) {
// This forces a refresh
self.pagination.moveToPage(1);
} else {
// Make sure we refresh
self.parent.refresh(true);
}
})
@@ -157,7 +158,6 @@ function HistoryListModel(parent) {
// Set the loader so it doesn't flicker and then switch
self.isLoading(true)
self.searchTerm('');
self.parent.refresh()
}
// Was it click and the field is empty? Then we focus on the field
if(event.type == 'mousedown' && self.searchTerm() == '') {

View File

@@ -48,7 +48,7 @@ function ViewModel() {
self.nrWarnings = ko.observable(0);
self.allWarnings = ko.observableArray([]);
self.allMessages = ko.observableArray([]);
self.onQueueFinish = ko.observable('');
self.finishaction = ko.observable();
self.speedHistory = [];
// Statusinfo container
@@ -64,6 +64,7 @@ function ViewModel() {
self.statusInfo.dnslookup = ko.observable();
self.statusInfo.delayed_decoder = ko.observable();
self.statusInfo.delayed_assembler = ko.observable();
self.statusInfo.loadavg = ko.observable();
self.statusInfo.pystone = ko.observable();
self.statusInfo.downloaddir = ko.observable();
self.statusInfo.downloaddirspeed = ko.observable();
@@ -78,7 +79,7 @@ function ViewModel() {
// Make the speedlimit tekst
self.speedLimitText = ko.pureComputed(function() {
// Set?
if(!self.bandwithLimit()) return;
if (!self.bandwithLimit()) return;
// The text
var bandwithLimitText = self.bandwithLimit().replace(/[^a-zA-Z]+/g, '');
@@ -87,10 +88,10 @@ function ViewModel() {
var speedLimitNumberFull = (parseFloat(self.bandwithLimit()) * (self.speedLimit() / 100));
// Trick to only get decimal-point when needed
var speedLimitNumber = Math.round(speedLimitNumberFull*10)/10;
var speedLimitNumber = Math.round(speedLimitNumberFull * 10) / 10;
// Fix it for lower than 1MB/s
if(bandwithLimitText == 'M' && speedLimitNumber < 1) {
if (bandwithLimitText == 'M' && speedLimitNumber < 1) {
bandwithLimitText = 'K';
speedLimitNumber = Math.round(speedLimitNumberFull * 1024);
}
@@ -106,7 +107,7 @@ function ViewModel() {
// Dynamic icon
self.SABIcon = ko.pureComputed(function() {
if(self.downloadsPaused()) {
if (self.downloadsPaused()) {
return './staticcfg/ico/faviconpaused.ico?v=1.1.0';
} else {
return './staticcfg/ico/favicon.ico?v=1.1.0';
@@ -115,7 +116,7 @@ function ViewModel() {
// Dynamic queue length check
self.hasQueue = ko.pureComputed(function() {
return(self.queue.queueItems().length > 0 || self.queue.searchTerm() || self.queue.isLoading())
return (self.queue.queueItems().length > 0 || self.queue.searchTerm() || self.queue.isLoading())
})
// Dynamic history length check
@@ -125,7 +126,7 @@ function ViewModel() {
})
self.hasWarnings = ko.pureComputed(function() {
return(self.allWarnings().length > 0)
return (self.allWarnings().length > 0)
})
// Check for any warnings/messages
@@ -136,10 +137,10 @@ function ViewModel() {
// Update main queue
self.updateQueue = function(response) {
// Block in case off dragging
if(!self.queue.shouldUpdate()) return;
if (!self.queue.shouldUpdate()) return;
// Make sure we are displaying the interface
if(self.isRestarting() >= 1) {
if (self.isRestarting() >= 1) {
// Decrease the counter by 1
// In case of restart (which takes time to fire) we count down
// In case of re-connect after failure it counts from 1 so emmediate continuation
@@ -150,7 +151,7 @@ function ViewModel() {
/***
Possible login failure?
***/
if(response.hasOwnProperty('error') && response.error == 'Missing authentication') {
if (response.hasOwnProperty('error') && response.error == 'Missing authentication') {
// Restart
document.location = document.location;
}
@@ -165,29 +166,26 @@ function ViewModel() {
self.downloadsPaused(response.queue.paused);
// Finish action. Replace null with empty
self.onQueueFinish(response.queue.finishaction ? response.queue.finishaction : '');
self.finishaction(response.queue.finishaction ? response.queue.finishaction : '');
// Disk sizes
self.diskSpaceLeft1(response.queue.diskspace1_norm)
// Same sizes? Then it's all 1 disk!
if(response.queue.diskspace1 != response.queue.diskspace2) {
if (response.queue.diskspace1 != response.queue.diskspace2) {
self.diskSpaceLeft2(response.queue.diskspace2_norm)
} else {
self.diskSpaceLeft2('')
}
// Did we exceed the space?
self.diskSpaceExceeded1(parseInt(response.queue.mbleft)/1024 > parseFloat(response.queue.diskspace1))
self.diskSpaceExceeded2(parseInt(response.queue.mbleft)/1024 > parseFloat(response.queue.diskspace2))
self.diskSpaceExceeded1(parseInt(response.queue.mbleft) / 1024 > parseFloat(response.queue.diskspace1))
self.diskSpaceExceeded2(parseInt(response.queue.mbleft) / 1024 > parseFloat(response.queue.diskspace2))
// Quota
self.quotaLimit(response.queue.quota)
self.quotaLimitLeft(response.queue.left_quota)
// System load
self.systemLoad(response.queue.loadavg)
// Cache
self.cacheSize(response.queue.cache_size)
self.cacheArticles(response.queue.cache_art)
@@ -199,7 +197,7 @@ function ViewModel() {
Spark line
***/
// Break the speed if empty queue
if(response.queue.sizeleft == '0 B') {
if (response.queue.sizeleft == '0 B') {
response.queue.kbpersec = 0;
response.queue.speed = '0';
}
@@ -210,7 +208,7 @@ function ViewModel() {
self.speedMetric(speedSplit[1]);
// Update sparkline data
if(self.speedHistory.length >= 275) {
if (self.speedHistory.length >= 275) {
// Remove first one
self.speedHistory.shift();
}
@@ -218,12 +216,12 @@ function ViewModel() {
self.speedHistory.push(parseInt(response.queue.kbpersec));
// Is sparkline visible? Not on small mobile devices..
if($('.sparkline-container').css('display') != 'none') {
if ($('.sparkline-container').css('display') != 'none') {
// Make sparkline
if(self.speedHistory.length == 1) {
if (self.speedHistory.length == 1) {
// We only use speedhistory from SAB if we use global settings
// Otherwise SAB doesn't know the refresh rate
if(!self.useGlobalOptions()) {
if (!self.useGlobalOptions()) {
sabSpeedHistory = [];
} else {
// Update internally
@@ -254,30 +252,31 @@ function ViewModel() {
/***
Speedlimit
***/
// Nothing = 100%
response.queue.speedlimit = (response.queue.speedlimit == '') ? 100.0 : parseFloat(response.queue.speedlimit).toFixed(1);
// Trick to only get decimal-point when needed
response.queue.speedlimit = Math.round(response.queue.speedlimit*10)/10;
self.speedLimitInt(response.queue.speedlimit)
// Nothing or 0 means 100%
if(response.queue.speedlimit == '' || response.queue.speedlimit == '0') {
self.speedLimitInt(100)
} else {
self.speedLimitInt(parseInt(response.queue.speedlimit));
}
// Only update from external source when user isn't doing input
if(!$('.speedlimit-dropdown .btn-group .btn-group').is('.open')) {
self.speedLimit(response.queue.speedlimit)
if (!$('.speedlimit-dropdown .btn-group .btn-group').is('.open')) {
self.speedLimit(self.speedLimitInt())
}
/***
Download timing and pausing
***/
var timeString = response.queue.timeleft;
if(timeString === '') {
if (timeString === '') {
timeString = '0:00';
} else {
timeString = rewriteTime(response.queue.timeleft)
}
// Paused main queue
if(self.downloadsPaused()) {
if(response.queue.pause_int == '0') {
if (self.downloadsPaused()) {
if (response.queue.pause_int == '0') {
timeString = glitterTranslate.paused;
} else {
var pauseSplit = response.queue.pause_int.split(/:/);
@@ -287,21 +286,21 @@ function ViewModel() {
seconds -= minutes * 60;
// Add leading zeros
if(minutes < 10) minutes = '0' + minutes;
if(seconds < 10) seconds = '0' + seconds;
if (minutes < 10) minutes = '0' + minutes;
if (seconds < 10) seconds = '0' + seconds;
// Final formating
timeString = glitterTranslate.paused + ' (' + rewriteTime(hours + ":" + minutes + ":" + seconds) + ')';
}
// Add info about amount of download (if actually downloading)
if(response.queue.noofslots > 0 && parseInt(self.queueDataLeft()) > 0) {
if (response.queue.noofslots > 0 && parseInt(self.queueDataLeft()) > 0) {
self.title(timeString + ' - ' + self.queueDataLeft() + ' ' + glitterTranslate.left + ' - SABnzbd')
} else {
// Set title with pause information
self.title(timeString + ' - SABnzbd')
}
} else if(response.queue.noofslots > 0 && parseInt(self.queueDataLeft()) > 0) {
} else if (response.queue.noofslots > 0 && parseInt(self.queueDataLeft()) > 0) {
// Set title only if we are actually downloading something..
self.title(self.speedText() + ' - ' + self.queueDataLeft() + ' ' + glitterTranslate.left + ' - SABnzbd')
} else {
@@ -318,7 +317,7 @@ function ViewModel() {
// Update history items
self.updateHistory = function(response) {
if(!response) return;
if (!response) return;
self.history.updateFromData(response.history);
}
@@ -334,38 +333,46 @@ function ViewModel() {
// Do requests for full information
// Catch the fail to display message
var queueApi = callAPI({
var api_call = {
mode: "queue",
search: self.queue.searchTerm(),
start: self.queue.pagination.currentStart(),
limit: parseInt(self.queue.paginationLimit())
})
.done(self.updateQueue)
.fail(function(response) {
// Catch the failure of authorization error
if(response.status == 401) {
// Stop refresh and reload
clearInterval(self.interval)
location.reload();
}
// Show screen
self.isRestarting(1)
}).always(self.setNextUpdate);
}
if (self.queue.searchTerm()) {
parseSearchQuery(api_call, self.queue.searchTerm(), ["cat", "category", "priority"])
}
var queueApi = callAPI(api_call)
.done(self.updateQueue)
.fail(function(response) {
// Catch the failure of authorization error
if (response.status == 401) {
// Stop refresh and reload
clearInterval(self.interval)
location.reload();
}
// Show screen
self.isRestarting(1)
}).always(self.setNextUpdate);
// Force full history update?
if(forceFullHistory) {
if (forceFullHistory) {
self.history.lastUpdate = 0
}
// History
callAPI({
// Build history request and parse search
var history_call = {
mode: "history",
search: self.history.searchTerm(),
failed_only: self.history.showFailed()*1,
failed_only: self.history.showFailed() * 1,
start: self.history.pagination.currentStart(),
limit: parseInt(self.history.paginationLimit()),
last_history_update: self.history.lastUpdate
}).done(self.updateHistory);
}
if (self.history.searchTerm()) {
parseSearchQuery(history_call, self.history.searchTerm(), ["cat", "category"])
}
// History
callAPI(history_call).done(self.updateHistory);
// We are now done with any loading
// But we wait a few ms so Knockout has time to update
@@ -378,6 +385,25 @@ function ViewModel() {
return queueApi;
};
function parseSearchQuery(api_request, search, keywords) {
var parsed_query = search_query_parse(search, { keywords: keywords })
api_request["search"] = parsed_query.text
for (const keyword of keywords) {
if (Array.isArray(parsed_query[keyword])) {
api_request[keyword] = parsed_query[keyword].join(",")
} else {
api_request[keyword] = parsed_query[keyword]
}
// Special case for priority, dirty replace of string by numeric value
if (keyword == "priority" && api_request["priority"]) {
for (const prio_name in self.queue.priorityName) {
api_request["priority"] = api_request["priority"].replace(prio_name, self.queue.priorityName[prio_name])
}
}
}
}
// Set pause action on click of toggle
self.pauseToggle = function() {
callAPI({
@@ -399,23 +425,23 @@ function ViewModel() {
// Open modal
self.openCustomPauseTime = function() {
// Was it loaded already?
if(!Date.i18n) {
jQuery.getScript('./static/javascripts/date.min.js').then(function() {
if (!Date.i18n) {
jQuery.getScript('./static/javascripts/date.min.js').then(function() {
// After loading we start again
self.openCustomPauseTime()
})
return;
})
return;
}
// Show modal
$('#modal_custom_pause').modal('show')
// Focus on the input field
$('#modal_custom_pause').on('shown.bs.modal', function () {
$('#modal_custom_pause').on('shown.bs.modal', function() {
$('#customPauseInput').focus()
})
// Reset on modal close
$('#modal_custom_pause').on('hide.bs.modal', function () {
$('#modal_custom_pause').on('hide.bs.modal', function() {
self.pauseCustom('');
})
}
@@ -423,13 +449,13 @@ function ViewModel() {
// Update on changes
self.pauseCustom.subscribe(function(newValue) {
// Is it plain numbers?
if(newValue.match(/^\s*\d+\s*$/)) {
if (newValue.match(/^\s*\d+\s*$/)) {
// Treat it as a number of minutes
newValue += "minutes";
}
// At least 3 charaters
if(newValue.length < 3) {
if (newValue.length < 3) {
$('#customPauseOutput').text('').data('time', 0)
$('#modal_custom_pause .btn-default').addClass('disabled')
return;
@@ -445,19 +471,19 @@ function ViewModel() {
var pauseParsed = Date.parse(newValue);
// Did we get it?
if(pauseParsed) {
if (pauseParsed) {
// Is it just now?
if(pauseParsed <= Date.parse('now')) {
if (pauseParsed <= Date.parse('now')) {
// Try again with the '+' in front, the parser doesn't get 100min
pauseParsed = Date.parse('+' + newValue);
}
// Calculate difference in minutes and save
var pauseDuration = Math.round((pauseParsed - Date.parse('now'))/1000/60);
$('#customPauseOutput').html('<span class="glyphicon glyphicon-pause"></span> ' +glitterTranslate.pauseFor + ' ' + pauseDuration + ' ' + glitterTranslate.minutes)
var pauseDuration = Math.round((pauseParsed - Date.parse('now')) / 1000 / 60);
$('#customPauseOutput').html('<span class="glyphicon glyphicon-pause"></span> ' + glitterTranslate.pauseFor + ' ' + pauseDuration + ' ' + glitterTranslate.minutes)
$('#customPauseOutput').data('time', pauseDuration)
$('#modal_custom_pause .btn-default').removeClass('disabled')
} else if(newValue) {
} else if (newValue) {
// No..
$('#customPauseOutput').text(glitterTranslate.pausePromptFail)
$('#modal_custom_pause .btn-default').addClass('disabled')
@@ -470,7 +496,7 @@ function ViewModel() {
var pauseDuration = $('#customPauseOutput').data('time');
// If in the future
if(pauseDuration > 0) {
if (pauseDuration > 0) {
callAPI({
mode: 'config',
name: 'set_pause',
@@ -487,7 +513,7 @@ function ViewModel() {
// Update the warnings
self.nrWarnings.subscribe(function(newValue) {
// Really any change?
if(newValue == self.allWarnings().length) return;
if (newValue == self.allWarnings().length) return;
// Get all warnings
callAPI({
@@ -496,7 +522,7 @@ function ViewModel() {
// Reset it all
self.allWarnings.removeAll();
if(response) {
if (response) {
// Newest first
response.warnings.reverse()
@@ -537,10 +563,10 @@ function ViewModel() {
// Update on speed-limit change
self.speedLimit.subscribe(function(newValue) {
// Only on new load
if(!self.speedLimitInt()) return;
if (!self.speedLimitInt()) return;
// Update
if(self.speedLimitInt() != newValue) {
if (self.speedLimitInt() != newValue) {
callAPI({
mode: "config",
name: "speedlimit",
@@ -563,24 +589,18 @@ function ViewModel() {
// Shutdown options
self.setOnQueueFinish = function(model, event) {
// Ignore updates before the page is done
if(!self.hasStatusInfo()) return;
// Something changes
callAPI({
mode: 'queue',
name: 'change_complete_action',
value: $(event.target).val()
})
// Top stop blinking while the API is calling
self.onQueueFinish($(event.target).val())
}
// Use global settings or device-specific?
self.useGlobalOptions.subscribe(function(newValue) {
// Reload in case of enabling global options
if(newValue) document.location = document.location;
if (newValue) document.location = document.location;
})
// Update refreshrate
@@ -589,7 +609,7 @@ function ViewModel() {
self.refresh();
// Save in config if global-settings
if(self.useGlobalOptions()) {
if (self.useGlobalOptions()) {
callAPI({
mode: "set_config",
section: "misc",
@@ -607,24 +627,24 @@ function ViewModel() {
// Get filename
var fileName = $(event.target).val().replace(/\\/g, '/').replace(/.*\//, '');
// Set label
if(fileName) $('.btn-file em').text(fileName)
if (fileName) $('.btn-file em').text(fileName)
}
// Add NZB form
self.addNZB = function(form) {
// Anything?
if(!$(form.nzbFile)[0].files[0] && !$(form.nzbURL).val()) {
if (!$(form.nzbFile)[0].files[0] && !$(form.nzbURL).val()) {
$('.btn-file, input[name="nzbURL"]').attr('style', 'border-color: red !important')
setTimeout(function() { $('.btn-file, input[name="nzbURL"]').css('border-color', '') }, 2000)
return false;
}
// Upload file using the method we also use for drag-and-drop
if($(form.nzbFile)[0].files[0]) {
if ($(form.nzbFile)[0].files[0]) {
self.addNZBFromFile($(form.nzbFile)[0].files);
// Hide modal, upload will reset the form
$("#modal-add-nzb").modal("hide");
} else if($(form.nzbURL).val()) {
} else if ($(form.nzbURL).val()) {
// Or add URL
var theCall = {
mode: "addurl",
@@ -637,8 +657,8 @@ function ViewModel() {
}
// Optional, otherwise they get mis-labeled if left empty
if($('#modal-add-nzb select[name="Category"]').val() != '*') theCall.cat = $('#modal-add-nzb select[name="Category"]').val()
if($('#modal-add-nzb select[name="Processing"]').val()) theCall.pp = $('#modal-add-nzb select[name="Category"]').val()
if ($('#modal-add-nzb select[name="Category"]').val() != '*') theCall.cat = $('#modal-add-nzb select[name="Category"]').val()
if ($('#modal-add-nzb select[name="Processing"]').val()) theCall.pp = $('#modal-add-nzb select[name="Category"]').val()
// Add
callAPI(theCall).then(function(r) {
@@ -654,14 +674,14 @@ function ViewModel() {
// From the upload or filedrop
self.addNZBFromFile = function(files, fileindex) {
// First file
if(fileindex === undefined) {
if (fileindex === undefined) {
fileindex = 0
}
var file = files[fileindex]
fileindex++
// Check if it's maybe a folder, we can't handle those
if(!file.type && file.size % 4096 == 0) return;
if (!file.type && file.size % 4096 == 0) return;
// Add notification
showNotification('.main-notification-box-uploading', 0, fileindex)
@@ -677,8 +697,8 @@ function ViewModel() {
data.append("apikey", apiKey);
// Optional, otherwise they get mis-labeled if left empty
if($('#modal-add-nzb select[name="Category"]').val() != '*') data.append("cat", $('#modal-add-nzb select[name="Category"]').val());
if($('#modal-add-nzb select[name="Processing"]').val()) data.append("pp", $('#modal-add-nzb select[name="Processing"]').val());
if ($('#modal-add-nzb select[name="Category"]').val() != '*') data.append("cat", $('#modal-add-nzb select[name="Category"]').val());
if ($('#modal-add-nzb select[name="Processing"]').val()) data.append("pp", $('#modal-add-nzb select[name="Processing"]').val());
// Add this one
$.ajax({
@@ -690,7 +710,7 @@ function ViewModel() {
data: data
}).then(function(r) {
// Are we done?
if(fileindex < files.length) {
if (fileindex < files.length) {
// Do the next one
self.addNZBFromFile(files, fileindex)
} else {
@@ -716,28 +736,29 @@ function ViewModel() {
// Make it spin if the user requested it otherwise we don't,
// because browsers use a lot of CPU for the animation
if(statusFullRefresh) {
if (statusFullRefresh) {
self.hasStatusInfo(false)
}
// Show loading text for performance measures
if(statusPerformance) {
if (statusPerformance) {
self.hasPerformanceInfo(false)
}
// Load the custom status info, allowing for longer timeouts
callAPI({
mode: 'status',
skip_dashboard: (!statusFullRefresh)*1,
calculate_performance: statusPerformance*1,
skip_dashboard: (!statusFullRefresh) * 1,
calculate_performance: statusPerformance * 1,
}, 30000).then(function(data) {
// Update basic
self.statusInfo.folders(data.status.folders)
self.statusInfo.loadavg(data.status.loadavg)
self.statusInfo.delayed_decoder(data.status.delayed_decoder)
self.statusInfo.delayed_assembler(data.status.delayed_assembler)
// Update the full set if the data is available
if("dnslookup" in data.status) {
if ("dnslookup" in data.status) {
self.statusInfo.pystone(data.status.pystone)
self.statusInfo.downloaddir(data.status.downloaddir)
self.statusInfo.downloaddirspeed(data.status.downloaddirspeed)
@@ -752,7 +773,7 @@ function ViewModel() {
}
// Update the servers
if(self.statusInfo.servers().length != data.status.servers.length) {
if (self.statusInfo.servers().length != data.status.servers.length) {
// Empty them, in case of update
self.statusInfo.servers([])
@@ -777,21 +798,21 @@ function ViewModel() {
$.each(data.status.servers, function(index) {
var activeServer = self.statusInfo.servers()[index];
activeServer.servername(this.servername),
activeServer.serveroptional(this.serveroptional),
activeServer.serverpriority(this.serverpriority),
activeServer.servertotalconn(this.servertotalconn),
activeServer.serverssl(this.serverssl),
activeServer.serversslinfo(this.serversslinfo),
activeServer.serveractiveconn(this.serveractiveconn),
activeServer.servererror(this.servererror),
activeServer.serveractive(this.serveractive),
activeServer.serverconnections(this.serverconnections),
activeServer.serverbps(this.serverbps)
activeServer.serveroptional(this.serveroptional),
activeServer.serverpriority(this.serverpriority),
activeServer.servertotalconn(this.servertotalconn),
activeServer.serverssl(this.serverssl),
activeServer.serversslinfo(this.serversslinfo),
activeServer.serveractiveconn(this.serveractiveconn),
activeServer.servererror(this.servererror),
activeServer.serveractive(this.serveractive),
activeServer.serverconnections(this.serverconnections),
activeServer.serverbps(this.serverbps)
})
}
// Add tooltips to possible new items
if(!isMobile) $('#modal-options [data-tooltip="true"]').tooltip({ trigger: 'hover', container: 'body' })
if (!isMobile) $('#modal-options [data-tooltip="true"]').tooltip({ trigger: 'hover', container: 'body' })
// Stop it spin
self.hasStatusInfo(true)
@@ -804,7 +825,7 @@ function ViewModel() {
var nzbSize = $(event.target).data('size')
// Maybe it was a click on the icon?
if(nzbSize == undefined) {
if (nzbSize == undefined) {
nzbSize = $(event.target.parentElement).data('size')
}
@@ -846,7 +867,7 @@ function ViewModel() {
checkSize()
// Check if still visible
if(!$('#options_connections').is(':visible') && connectionRefresh) {
if (!$('#options_connections').is(':visible') && connectionRefresh) {
// Stop refreshing
clearInterval(connectionRefresh)
return
@@ -865,9 +886,9 @@ function ViewModel() {
// Function that handles the actual sizing of connections tab
function checkSize() {
// Any connections?
if(self.showActiveConnections() && $('#options_connections').is(':visible') && $('.table-server-connections').height() > 1) {
if (self.showActiveConnections() && $('#options_connections').is(':visible') && $('.table-server-connections').height() > 1) {
var mainWidth = $('.main-content').width()
$('#modal-options .modal-dialog').width(mainWidth*0.85 > 650 ? mainWidth*0.85 : '')
$('#modal-options .modal-dialog').width(mainWidth * 0.85 > 650 ? mainWidth * 0.85 : '')
} else {
// Small again
$('#modal-options .modal-dialog').width('')
@@ -875,7 +896,7 @@ function ViewModel() {
}
// Make sure Connections get refreshed also after open->close->open
$('#modal-options').on('show.bs.modal', function () {
$('#modal-options').on('show.bs.modal', function() {
// Trigger
$('.nav-tabs a[href="#options_connections"]').trigger('shown.bs.tab')
})
@@ -886,7 +907,7 @@ function ViewModel() {
$('#options-orphans [data-tooltip="true"]').tooltip('hide')
// Show notification on delete
if($(htmlElement.currentTarget).data('action') == 'delete_orphan') {
if ($(htmlElement.currentTarget).data('action') == 'delete_orphan') {
showNotification('.main-notification-box-removing', 1000)
} else {
// Adding back to queue
@@ -908,8 +929,8 @@ function ViewModel() {
// Orphaned folder deletion of all
self.removeAllOrphaned = function() {
if(!self.confirmDeleteHistory() || confirm(glitterTranslate.clearWarn)) {
// Show notification
if (!self.confirmDeleteHistory() || confirm(glitterTranslate.clearWarn)) {
// Show notification
showNotification('.main-notification-box-removing-multiple', 0, self.statusInfo.folders().length)
// Delete them all
callAPI({
@@ -925,8 +946,8 @@ function ViewModel() {
// Orphaned folder adding of all
self.addAllOrphaned = function() {
if(!self.confirmDeleteHistory() || confirm(glitterTranslate.clearWarn)) {
// Show notification
if (!self.confirmDeleteHistory() || confirm(glitterTranslate.clearWarn)) {
// Show notification
showNotification('.main-notification-box-sendback')
// Delete them all
callAPI({
@@ -956,7 +977,7 @@ function ViewModel() {
})
// Change hash for page-reload
$('.history-queue-swicher .nav-tabs a').on('shown.bs.tab', function (e) {
$('.history-queue-swicher .nav-tabs a').on('shown.bs.tab', function(e) {
window.location.hash = e.target.hash;
})
@@ -965,7 +986,7 @@ function ViewModel() {
**/
// Shutdown
self.shutdownSAB = function() {
if(confirm(glitterTranslate.shutdown)) {
if (confirm(glitterTranslate.shutdown)) {
// Show notification and return true to follow the URL
showNotification('.main-notification-box-shutdown')
return true
@@ -973,14 +994,14 @@ function ViewModel() {
}
// Restart
self.restartSAB = function() {
if(!confirm(glitterTranslate.restart)) return;
if (!confirm(glitterTranslate.restart)) return;
// Call restart function
callAPI({ mode: "restart" })
// Set counter, we need at least 15 seconds
self.isRestarting(Math.max(1, Math.floor(15 / self.refreshRate())));
// Force refresh in case of very long refresh-times
if(self.refreshRate() > 30) {
if (self.refreshRate() > 30) {
setTimeout(self.refresh, 30 * 1000)
}
}
@@ -989,7 +1010,7 @@ function ViewModel() {
// Event
var theAction = $(event.target).data('mode');
// Show notification if available
if(['rss_now', 'watched_now'].indexOf(theAction) > -1) {
if (['rss_now', 'watched_now'].indexOf(theAction) > -1) {
showNotification('.main-notification-box-' + theAction, 2000)
}
// Send to the API
@@ -997,7 +1018,7 @@ function ViewModel() {
}
// Repair queue
self.repairQueue = function() {
if(!confirm(glitterTranslate.repair)) return;
if (!confirm(glitterTranslate.repair)) return;
// Hide the modal and show the notifucation
$("#modal-options").modal("hide");
showNotification('.main-notification-box-queue-repair', 5000)
@@ -1018,18 +1039,18 @@ function ViewModel() {
Retrieve config information and do startup functions
***/
// Force compact mode as fast as possible
if(localStorageGetItem('displayCompact') === 'true') {
if (localStorageGetItem('displayCompact') === 'true') {
// Add extra class
$('body').addClass('container-compact')
}
if(localStorageGetItem('displayFullWidth') === 'true') {
if (localStorageGetItem('displayFullWidth') === 'true') {
// Add extra class
$('body').addClass('container-full-width')
}
// Tabbed layout?
if(localStorageGetItem('displayTabbed') === 'true') {
if (localStorageGetItem('displayTabbed') === 'true') {
$('body').addClass('container-tabbed')
var tab_from_hash = location.hash.replace(/^#/, '');
@@ -1069,9 +1090,9 @@ function ViewModel() {
mode: 'get_config'
}).then(function(response) {
// Do we use global, or local settings?
if(self.useGlobalOptions()) {
if (self.useGlobalOptions()) {
// Set refreshrate (defaults to 1/s)
if(!response.config.misc.refresh_rate) response.config.misc.refresh_rate = 1;
if (!response.config.misc.refresh_rate) response.config.misc.refresh_rate = 1;
self.refreshRate(response.config.misc.refresh_rate.toString());
// Set history and queue limit
@@ -1079,10 +1100,10 @@ function ViewModel() {
self.queue.paginationLimit(response.config.misc.queue_limit.toString())
// Import the rest of the settings
if(response.config.misc.interface_settings) {
if (response.config.misc.interface_settings) {
var interfaceSettings = JSON.parse(response.config.misc.interface_settings);
for (const setting of self.globalInterfaceSettings){
if(setting in interfaceSettings) {
for (const setting of self.globalInterfaceSettings) {
if (setting in interfaceSettings) {
self[setting](interfaceSettings[setting]);
}
}
@@ -1094,14 +1115,37 @@ function ViewModel() {
}
// Set bandwidth limit
if(!response.config.misc.bandwidth_max) response.config.misc.bandwidth_max = false;
if (!response.config.misc.bandwidth_max) response.config.misc.bandwidth_max = false;
self.bandwithLimit(response.config.misc.bandwidth_max);
// Save servers (for reporting functionality)
self.servers = response.config.servers;
// Reformat and set categories
self.queue.categoriesList($.map(response.config.categories, function(cat) {
// Default?
if(cat.name == '*') return { catValue: '*', catText: glitterTranslate.defaultText };
return { catValue: cat.name, catText: cat.name };
}))
// Get the scripts, if there are any
if(response.config.misc.script_dir) {
callAPI({
mode: 'get_scripts'
}).then(function(script_response) {
// Reformat script-list
self.queue.scriptsList($.map(script_response.scripts, function(script) {
// None?
if(script == 'None') return { scriptValue: 'None', scriptText: glitterTranslate.noneText };
return { scriptValue: script, scriptText: script };
}))
self.queue.scriptsListLoaded(true)
})
} else {
// We can already continue
self.queue.scriptsListLoaded(true)
}
// Already set if we are using a proxy
if(response.config.misc.socks5_proxy_url) self.statusInfo.active_socks5_proxy(true)
if (response.config.misc.socks5_proxy_url) self.statusInfo.active_socks5_proxy(true)
// Set logging and only then subscribe to changes
self.loglevel(response.config.logging.log_level);
@@ -1115,28 +1159,28 @@ function ViewModel() {
})
// Update message
if(newRelease) {
if (newRelease) {
self.allMessages.push({
index: 'UpdateMsg',
type: glitterTranslate.status['INFO'],
text: ('<a class="queue-update-sab" href="'+newReleaseUrl+'" target="_blank">'+glitterTranslate.updateAvailable+' '+newRelease+' <span class="glyphicon glyphicon-save"></span></a>'),
text: ('<a class="queue-update-sab" href="' + newReleaseUrl + '" target="_blank">' + glitterTranslate.updateAvailable + ' ' + newRelease + ' <span class="glyphicon glyphicon-save"></span></a>'),
css: 'info'
});
}
// Message about cache - Not for 5 days if user ignored it
if(!response.config.misc.cache_limit && localStorageGetItem('CacheMsg')*1+(1000*3600*24*5) < Date.now()) {
if (!response.config.misc.cache_limit && localStorageGetItem('CacheMsg') * 1 + (1000 * 3600 * 24 * 5) < Date.now()) {
self.allMessages.push({
index: 'CacheMsg',
type: glitterTranslate.status['INFO'],
text: ('<a href="./config/general/#cache_limit">'+glitterTranslate.useCache.replace(/<br \/>/g, " ")+' <span class="glyphicon glyphicon-cog"></span></a>'),
text: ('<a href="./config/general/#cache_limit">' + glitterTranslate.useCache.replace(/<br \/>/g, " ") + ' <span class="glyphicon glyphicon-cog"></span></a>'),
css: 'info',
clear: function() { self.clearMessages('CacheMsg')}
clear: function() { self.clearMessages('CacheMsg') }
});
}
// Message about tips and tricks, only once
if(response.config.misc.notified_new_skin < 2) {
if (response.config.misc.notified_new_skin < 2) {
self.allMessages.push({
index: 'TipsMsgV110',
type: glitterTranslate.status['INFO'],
@@ -1159,71 +1203,87 @@ function ViewModel() {
})
// Orphaned folder check - Not for 5 days if user ignored it
var orphanMsg = localStorageGetItem('OrphanedMsg')*1+(1000*3600*24*5) < Date.now();
var orphanMsg = localStorageGetItem('OrphanedMsg') * 1 + (1000 * 3600 * 24 * 5) < Date.now();
// Delay the check
if(orphanMsg) {
if (orphanMsg) {
setTimeout(self.loadStatusInfo, 200);
}
// On any status load we check Orphaned folders
self.hasStatusInfo.subscribe(function(finishedLoading) {
// Loaded or just starting?
if(!finishedLoading) return;
if (!finishedLoading) return;
// Orphaned folders? If user clicked away we check again in 5 days
if(self.statusInfo.folders().length >= 3 && orphanMsg) {
if (self.statusInfo.folders().length >= 3 && orphanMsg) {
// Check if not already there
if(!ko.utils.arrayFirst(self.allMessages(), function(item) { return item.index == 'OrphanedMsg' })) {
if (!ko.utils.arrayFirst(self.allMessages(), function(item) { return item.index == 'OrphanedMsg' })) {
self.allMessages.push({
index: 'OrphanedMsg',
type: glitterTranslate.status['INFO'],
text: glitterTranslate.orphanedJobsMsg + ' <a href="#" onclick="showOrphans()"><span class="glyphicon glyphicon-wrench"></span></a>',
css: 'info',
clear: function() { self.clearMessages('OrphanedMsg')}
clear: function() { self.clearMessages('OrphanedMsg') }
});
}
} else {
// Remove any message, if it was there
self.allMessages.remove(function(item) {
return item.index == 'OrphanedMsg';
return item.index == 'OrphanedMsg';
})
}
})
// Message about localStorage not being enabled every 20 days
if(!hasLocalStorage && localStorageGetItem('LocalStorageMsg')*1+(1000*3600*24*20) < Date.now()) {
if (!hasLocalStorage && localStorageGetItem('LocalStorageMsg') * 1 + (1000 * 3600 * 24 * 20) < Date.now()) {
self.allMessages.push({
index: 'LocalStorageMsg',
type: glitterTranslate.status['WARNING'].replace(':', ''),
text: glitterTranslate.noLocalStorage,
css: 'warning',
clear: function() { self.clearMessages('LocalStorageMsg')}
clear: function() { self.clearMessages('LocalStorageMsg') }
});
}
document.onkeydown = function(e) {
if(self.keyboardShortcuts()) {
// Ignore if the user used a combination
if(e.altKey || e.metaKey || e.ctrlKey) return;
// Do not act if the user is typing something
if($("input:focus, textarea:focus").length === 0) {
if (e.code === 'KeyP') {
self.pauseToggle();
}
if (e.code === 'KeyA') {
$('#modal-add-nzb').modal('show');
}
if (e.code === 'KeyC') {
window.location.href = './config/';
}
if (e.code === 'KeyS') {
self.loadStatusInfo(true, true)
$('#modal-options').modal('show');
}
if (self.keyboardShortcuts()) {
$(document).bind('keydown', 'p', function(e) {
self.pauseToggle();
});
$(document).bind('keydown', 'a', function(e) {
// avoid modal clashes
if (!$('.modal-dialog').is(':visible')) {
$('#modal-add-nzb').modal('show');
}
}
});
$(document).bind('keydown', 'c', function(e) {
window.location.href = './config/';
});
$(document).bind('keydown', 's', function(e) {
// avoid modal clashes
if (!$('.modal-dialog').is(':visible')) {
$('#modal-options').modal('show');
}
});
$(document).bind('keydown', 'shift+left', function(e) {
$('#history-tab.active > ul.pagination li.active').prev().click();
$('#queue-tab.active > ul.pagination li.active').prev().click();
e.preventDefault();
});
$(document).bind('keydown', 'shift+right', function(e) {
$('#history-tab.active > ul.pagination li.active').next().click();
$('#queue-tab.active > ul.pagination li.active').next().click();
e.preventDefault();
});
$(document).bind('keydown', 'shift+up', function(e) {
$('#history-tab.active > ul.pagination li').first().click();
$('#queue-tab.active > ul.pagination li').first().click();
e.preventDefault();
});
$(document).bind('keydown', 'shift+down', function(e) {
$('#history-tab.active > ul.pagination li').last().click();
$('#queue-tab.active > ul.pagination li').last().click();
e.preventDefault();
});
}
/***
@@ -1241,7 +1301,7 @@ function ViewModel() {
$('[data-timestamp]').each(function() {
$(this).text(displayDateTime($(this).data('timestamp'), self.dateFormat(), 'X'))
})
}, 60*1000)
}, 60 * 1000)
/***
End of main functions, start of the fun!
@@ -1253,5 +1313,5 @@ function ViewModel() {
self.refresh()
// Activate tooltips
if(!isMobile) $('[data-tooltip="true"]').tooltip({ trigger: 'hover', container: 'body' })
if (!isMobile) $('[data-tooltip="true"]').tooltip({ trigger: 'hover', container: 'body' })
}

View File

@@ -6,8 +6,6 @@ function QueueListModel(parent) {
var self = this;
self.parent = parent;
self.dragging = false;
self.rawCatList = [];
self.rawScriptList = [];
// Because SABNZB returns the name
// But when you want to set Priority you need the number..
@@ -39,7 +37,8 @@ function QueueListModel(parent) {
self.multiEditItems = ko.observableArray([]);
self.categoriesList = ko.observableArray([]);
self.scriptsList = ko.observableArray([]);
self.searchTerm = ko.observable('').extend({ rateLimit: { timeout: 200, method: "notifyWhenChangesStop" } });
self.scriptsListLoaded = ko.observable(false);
self.searchTerm = ko.observable('').extend({ rateLimit: { timeout: 400, method: "notifyWhenChangesStop" } });
self.paginationLimit = ko.observable(20).extend({ persist: 'queuePaginationLimit' });
self.pagination = new paginationModel(self);
@@ -66,31 +65,6 @@ function QueueListModel(parent) {
return i.id;
});
// Did the category-list change?
// Otherwise KO will send updates to all <select> for every refresh()
if(self.rawCatList != data.categories.toString()) {
// Reformat categories
self.categoriesList($.map(data.categories, function(cat) {
// Default?
if(cat == '*') return { catValue: '*', catText: glitterTranslate.defaultText };
return { catValue: cat, catText: cat };
}))
// Update
self.rawCatList = data.categories.toString();
}
// Did the script-list change?
if(self.rawScriptList != data.scripts.toString()) {
// Reformat script-list
self.scriptsList($.map(data.scripts, function(script) {
// Default?
if(script == 'None') return glitterTranslate.noneText;
return script;
}))
// Update
self.rawScriptList = data.scripts.toString();
}
// Set limit
self.totalItems(data.noofslots);
@@ -194,11 +168,13 @@ function QueueListModel(parent) {
// Searching in queue (rate-limited in decleration)
self.searchTerm.subscribe(function() {
// Refresh now
self.parent.refresh();
// Go back to page 1
if(self.pagination.currentPage() != 1) {
// This forces a refresh
self.pagination.moveToPage(1);
} else {
// Refresh now
self.parent.refresh();
}
})
@@ -208,7 +184,6 @@ function QueueListModel(parent) {
if(event.type == 'mousedown' || (event.keyCode && event.keyCode == 27)) {
self.isLoading(true)
self.searchTerm('');
self.parent.refresh()
}
// Was it click and the field is empty? Then we focus on the field
if(event.type == 'mousedown' && self.searchTerm() == '') {
@@ -226,6 +201,10 @@ function QueueListModel(parent) {
// What action?
var sort, dir;
switch($(event.currentTarget).data('action')) {
case 'sortRemainingAsc':
sort = 'remaining';
dir = 'asc';
break;
case 'sortAgeAsc':
sort = 'avg_age';
dir = 'desc';
@@ -693,8 +672,6 @@ function QueueModel(parent, data) {
})
}
self.changeScript = function(item) {
// Not on empty handlers
if(!item.script() || parent.scriptsList().length <= 1) return;
callAPI({
mode: 'change_script',
value: item.id,

View File

@@ -0,0 +1,12 @@
/*
* jQuery Hotkeys Plugin
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Based upon the plugin by Tzury Bar Yochay:
* https://github.com/tzuryby/jquery.hotkeys
*
* Original idea by:
* Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/
*/
!function(c){function e(e){var o,f;"string"==typeof e.data&&(e.data={keys:e.data}),e.data&&e.data.keys&&"string"==typeof e.data.keys&&(o=e.handler,f=e.data.keys.toLowerCase().split(" "),e.handler=function(a){if(this===a.target||!(/textarea|select/i.test(a.target.nodeName)||c.hotkeys.options.filterTextInputs&&-1<c.inArray(a.target.type,c.hotkeys.textAcceptingInputTypes))){var s="keypress"!==a.type&&c.hotkeys.specialKeys[a.which],e=String.fromCharCode(a.which).toLowerCase(),r="",t={};c.each(["alt","ctrl","shift"],function(e,t){a[t+"Key"]&&s!==t&&(r+=t+"+")}),a.metaKey&&!a.ctrlKey&&"meta"!==s&&(r+="meta+"),a.metaKey&&"meta"!==s&&-1<r.indexOf("alt+ctrl+shift+")&&(r=r.replace("alt+ctrl+shift+","hyper+")),s?t[r+s]=!0:(t[r+e]=!0,t[r+c.hotkeys.shiftNums[e]]=!0,"shift+"===r&&(t[c.hotkeys.shiftNums[e]]=!0));for(var i=0,n=f.length;i<n;i++)if(t[f[i]])return o.apply(this,arguments)}})}c.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",10:"return",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"},textAcceptingInputTypes:["text","password","number","email","url","range","date","month","week","time","datetime","datetime-local","search","color","tel"],options:{filterTextInputs:!0}},c.each(["keydown","keyup","keypress"],function(){c.event.special[this]={add:e}})}(jQuery||this.jQuery||window.jQuery);

View File

@@ -0,0 +1,307 @@
/*!
* search-search-query-parser.js
* Copyright(c) 2014-2019
* MIT Licensed
*
* Modified for SABnzbd use!
* Adapted to use without NPM.
*/
function search_query_parse(string, options) {
// Set a default options object when none is provided
if (!options) {
options = {offsets: true};
} else {
// If options offsets was't passed, set it to true
options.offsets = (typeof options.offsets === 'undefined' ? true : options.offsets)
}
if (!string) {
string = '';
}
// When no keywords or ranges set, treat as a simple string
else if (!options.keywords && !options.ranges && !options.tokenize) {
return string;
}
// Otherwise parse the advanced query syntax
else {
// Our object to store the query object
var query = {text: []};
// When offsets is true, create their array
if (options.offsets) {
query.offsets = [];
}
var exclusion = {};
var terms = [];
// Get a list of search terms respecting single and double quotes
var regex = /(\S+:'(?:[^'\\]|\\.)*')|(\S+:"(?:[^"\\]|\\.)*")|(-?"(?:[^"\\]|\\.)*")|(-?'(?:[^'\\]|\\.)*')|\S+|\S+:\S+/g;
var match;
while ((match = regex.exec(string)) !== null) {
var term = match[0];
var sepIndex = term.indexOf(':');
if (sepIndex !== -1) {
var split = term.split(':'),
key = term.slice(0, sepIndex),
val = term.slice(sepIndex + 1);
// Strip surrounding quotes
val = val.replace(/^\"|\"$|^\'|\'$/g, '');
// Strip backslashes respecting escapes
val = (val + '').replace(/\\(.?)/g, function (s, n1) {
switch (n1) {
case '\\':
return '\\';
case '0':
return '\u0000';
case '':
return '';
default:
return n1;
}
});
terms.push({
keyword: key,
value: val,
offsetStart: match.index,
offsetEnd: match.index + term.length
});
} else {
var isExcludedTerm = false;
if (term[0] === '-') {
isExcludedTerm = true;
term = term.slice(1);
}
// Strip surrounding quotes
term = term.replace(/^\"|\"$|^\'|\'$/g, '');
// Strip backslashes respecting escapes
term = (term + '').replace(/\\(.?)/g, function (s, n1) {
switch (n1) {
case '\\':
return '\\';
case '0':
return '\u0000';
case '':
return '';
default:
return n1;
}
});
if (isExcludedTerm) {
if (exclusion['text']) {
if (exclusion['text'] instanceof Array) {
exclusion['text'].push(term);
} else {
exclusion['text'] = [exclusion['text']];
exclusion['text'].push(term);
}
} else {
// First time seeing an excluded text term
exclusion['text'] = term;
}
} else {
terms.push({
text: term,
offsetStart: match.index,
offsetEnd: match.index + term.length
});
}
}
}
// Reverse to ensure proper order when pop()'ing.
terms.reverse();
// For each search term
var term;
while (term = terms.pop()) {
// When just a simple term
if (term.text) {
// We add it as pure text
query.text.push(term.text);
// When offsets is true, push a new offset
if (options.offsets) {
query.offsets.push(term);
}
}
// We got an advanced search syntax
else {
var key = term.keyword;
// Check if the key is a registered keyword
options.keywords = options.keywords || [];
var isKeyword = false;
var isExclusion = false;
if (!/^-/.test(key)) {
isKeyword = !(-1 === options.keywords.indexOf(key));
} else if (key[0] === '-') {
var _key = key.slice(1);
isKeyword = !(-1 === options.keywords.indexOf(_key))
if (isKeyword) {
key = _key;
isExclusion = true;
}
}
// Check if the key is a registered range
options.ranges = options.ranges || [];
var isRange = !(-1 === options.ranges.indexOf(key));
// When the key matches a keyword
if (isKeyword) {
// When offsets is true, push a new offset
if (options.offsets) {
query.offsets.push({
keyword: key,
value: term.value,
offsetStart: isExclusion ? term.offsetStart + 1 : term.offsetStart,
offsetEnd: term.offsetEnd
});
}
var value = term.value;
// When value is a thing
if (value.length) {
// Get an array of values when several are there
var values = value.split(',');
if (isExclusion) {
if (exclusion[key]) {
// ...many times...
if (exclusion[key] instanceof Array) {
// ...and got several values this time...
if (values.length > 1) {
// ... concatenate both arrays.
exclusion[key] = exclusion[key].concat(values);
} else {
// ... append the current single value.
exclusion[key].push(value);
}
}
// We saw that keyword only once before
else {
// Put both the current value and the new
// value in an array
exclusion[key] = [exclusion[key]];
exclusion[key].push(value);
}
}
// First time we see that keyword
else {
// ...and got several values this time...
if (values.length > 1) {
// ...add all values seen.
exclusion[key] = values;
}
// Got only a single value this time
else {
// Record its value as a string
if (options.alwaysArray) {
// ...but we always return an array if option alwaysArray is true
exclusion[key] = [value];
} else {
// Record its value as a string
exclusion[key] = value;
}
}
}
} else {
// If we already have seen that keyword...
if (query[key]) {
// ...many times...
if (query[key] instanceof Array) {
// ...and got several values this time...
if (values.length > 1) {
// ... concatenate both arrays.
query[key] = query[key].concat(values);
} else {
// ... append the current single value.
query[key].push(value);
}
}
// We saw that keyword only once before
else {
// Put both the current value and the new
// value in an array
query[key] = [query[key]];
query[key].push(value);
}
}
// First time we see that keyword
else {
// ...and got several values this time...
if (values.length > 1) {
// ...add all values seen.
query[key] = values;
}
// Got only a single value this time
else {
if (options.alwaysArray) {
// ...but we always return an array if option alwaysArray is true
query[key] = [value];
} else {
// Record its value as a string
query[key] = value;
}
}
}
}
}
}
// The key allows a range
else if (isRange) {
// When offsets is true, push a new offset
if (options.offsets) {
query.offsets.push(term);
}
var value = term.value;
// Range are separated with a dash
var rangeValues = value.split('-');
// When both end of the range are specified
// keyword:XXXX-YYYY
query[key] = {};
if (2 === rangeValues.length) {
query[key].from = rangeValues[0];
query[key].to = rangeValues[1];
}
// When pairs of ranges are specified
// keyword:XXXX-YYYY,AAAA-BBBB
else if (!rangeValues.length % 2) {
}
// When only getting a single value,
// or an odd number of values
else {
query[key].from = value;
}
} else {
// We add it as pure text
var text = term.keyword + ':' + term.value;
query.text.push(text);
// When offsets is true, push a new offset
if (options.offsets) {
query.offsets.push({
text: text,
offsetStart: term.offsetStart,
offsetEnd: term.offsetEnd
});
}
}
}
}
// Concatenate all text terms if any
if (query.text.length) {
if (!options.tokenize) {
query.text = query.text.join(' ').trim();
}
}
// Just remove the attribute text when it's empty
else {
delete query.text;
}
// Return forged query object
query.exclude = exclusion;
return query;
}
}

View File

@@ -0,0 +1,63 @@
# bash completion for sabnzbd
_sabnzbd()
{
local cur prev words cword split
# list all options here
local all_options="-f --config-file --pidfile -t --templates --pid -l --logging -w --weblogging -d --daemon -h
--help -v --version -c --clean -p --pause --repair --repair-all --no-login --log-all --console
--disable-file-log --new -b --browser --ipv6_hosting --inet_exposure --https -s --server"
_init_completion -s || return
# handle options that take arguments
case $prev in
# 0..1
--browser|--ipv6_hosting|-!(-*)[b])
COMPREPLY=( $(compgen -W '{0..1}' -- "$cur") )
return
;;
# -1..2
--logging|-!(-*)[l])
COMPREPLY=( $(compgen -W '{-1..2}' -- "$cur") )
return
;;
# 0..5
--inet_exposure)
COMPREPLY=( $(compgen -W '{0..5}' -- "$cur") )
return
;;
# directory path
--templates|--pid|-!(-*)[t])
compopt +o nospace
_filedir -d
return
;;
# file path
--config-file|--pidfile|-!(-*)[f])
compopt +o nospace
_filedir
return
;;
# port number
--https)
COMPREPLY=( $(compgen -W '{0..65535}' -- "$cur") )
return
;;
# host:port
--server|-!(-*)[s])
# suggest possible formats
COMPREPLY=( $(compgen -W 'hostname :port hostname:port ipv4 ipv4:port [ipv6] [ipv6]:port' -- "$cur") )
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $(compgen -W "$all_options" -- "$cur") )
else
_filedir '@(nzb|nzb.gz|nzb.bz2|zip|rar|7z)'
fi
} &&
complete -F _sabnzbd SABnzbd.py sabnzbd sabnzbdplus

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: team@sabnzbd.org\n"
"Language-Team: SABnzbd <team@sabnzbd.org>\n"

View File

@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Language-Team: Czech (https://www.transifex.com/sabnzbd/teams/111101/cs/)\n"
"MIME-Version: 1.0\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Danish (https://www.transifex.com/sabnzbd/teams/111101/da/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: German (https://www.transifex.com/sabnzbd/teams/111101/de/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Spanish (https://www.transifex.com/sabnzbd/teams/111101/es/)\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: email/email.tmpl:1
msgid ""

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Finnish (https://www.transifex.com/sabnzbd/teams/111101/fi/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: French (https://www.transifex.com/sabnzbd/teams/111101/fr/)\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: email/email.tmpl:1
msgid ""

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: ION, 2020\n"
"Language-Team: Hebrew (https://www.transifex.com/sabnzbd/teams/111101/he/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/sabnzbd/teams/111101/nb/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Dutch (https://www.transifex.com/sabnzbd/teams/111101/nl/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Polish (https://www.transifex.com/sabnzbd/teams/111101/pl/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: email/email.tmpl:1
msgid ""

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Romanian (https://www.transifex.com/sabnzbd/teams/111101/ro/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Russian (https://www.transifex.com/sabnzbd/teams/111101/ru/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Serbian (https://www.transifex.com/sabnzbd/teams/111101/sr/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Swedish (https://www.transifex.com/sabnzbd/teams/111101/sv/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Chinese (China) (https://www.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"

View File

@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: team@sabnzbd.org\n"
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
@@ -166,11 +166,7 @@ msgstr ""
msgid "&nbsp;Resolving address"
msgstr ""
#: sabnzbd/api.py
msgid "unknown"
msgstr ""
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr ""
@@ -263,6 +259,10 @@ msgstr ""
msgid "Server address required"
msgstr ""
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr ""
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -356,7 +356,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr ""
@@ -567,6 +567,16 @@ msgstr ""
msgid "Loading %s failed"
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable with special character filenames. This can cause problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -592,10 +602,6 @@ msgstr ""
msgid "API Key incorrect, Use the api key from Config->General in your 3rd party program:"
msgstr ""
#: sabnzbd/interface.py
msgid "Authentication missing, please enter username/password from Config->General into your 3rd party program:"
msgstr ""
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr ""
@@ -1128,27 +1134,27 @@ msgstr ""
msgid "Error importing %s"
msgstr ""
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr ""
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr ""
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr ""
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr ""
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr ""
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr ""
@@ -1461,11 +1467,11 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgid "Passworded"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
@@ -1582,7 +1588,7 @@ msgstr ""
msgid "Pause for 6 hours"
msgstr ""
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr ""
@@ -1650,11 +1656,6 @@ msgstr ""
msgid "Servers"
msgstr ""
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr ""
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1700,20 +1701,6 @@ msgstr ""
msgid "Verifying..."
msgstr ""
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1844,21 +1831,6 @@ msgstr ""
msgid "Low"
msgstr ""
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr ""
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr ""
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr ""
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -1904,54 +1876,6 @@ msgstr ""
msgid "Year"
msgstr ""
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr ""
@@ -1976,14 +1900,6 @@ msgstr ""
msgid "Total"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "on"
msgstr ""
@@ -2012,42 +1928,10 @@ msgstr ""
msgid "Host"
msgstr ""
#: sabnzbd/skintext.py
msgid "Comment"
msgstr ""
#: sabnzbd/skintext.py
msgid "Send"
msgstr ""
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr ""
#: sabnzbd/skintext.py
msgid "Other"
msgstr ""
#: sabnzbd/skintext.py
msgid "Report"
msgstr ""
#: sabnzbd/skintext.py
msgid "Video"
msgstr ""
#: sabnzbd/skintext.py
msgid "Audio"
msgstr ""
#: sabnzbd/skintext.py
msgid "Not used"
msgstr ""
#: sabnzbd/skintext.py
msgid "or less"
msgstr ""
#: sabnzbd/skintext.py
msgid "Log in"
msgstr ""
@@ -2060,11 +1944,6 @@ msgstr ""
msgid "Remember me"
msgstr ""
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr ""
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2079,11 +1958,6 @@ msgstr ""
msgid "Are you sure?"
msgstr ""
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr ""
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2183,22 +2057,6 @@ msgstr ""
msgid "Download Dir"
msgstr ""
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr ""
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr ""
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr ""
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr ""
@@ -2208,21 +2066,11 @@ msgstr ""
msgid "Add"
msgstr ""
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr ""
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr ""
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr ""
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2243,21 +2091,6 @@ msgstr ""
msgid "+Delete"
msgstr ""
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr ""
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr ""
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr ""
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2273,11 +2106,6 @@ msgstr ""
msgid "Enter URL"
msgstr ""
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr ""
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2298,36 +2126,16 @@ msgstr ""
msgid "Shutdown SABnzbd"
msgstr ""
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgid "Processing"
msgstr ""
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr ""
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr ""
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr ""
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr ""
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr ""
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2358,11 +2166,6 @@ msgstr ""
msgid "Purge NZBs & Delete Files"
msgstr ""
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr ""
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2373,11 +2176,6 @@ msgstr ""
msgid "Remove NZB & Delete Files"
msgstr ""
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr ""
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2397,11 +2195,6 @@ msgstr ""
msgid "Reset Quota now"
msgstr ""
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr ""
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2458,24 +2251,7 @@ msgstr ""
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr ""
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr ""
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr ""
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr ""
#: sabnzbd/skintext.py
msgid "Other problem"
msgid "Retry all failed jobs"
msgstr ""
#. Status page button
@@ -2526,21 +2302,6 @@ msgstr ""
msgid "Connections"
msgstr ""
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr ""
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr ""
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr ""
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2551,25 +2312,11 @@ msgstr ""
msgid "File set"
msgstr ""
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr ""
#. Status page, table column header, type of message - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr ""
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr ""
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr ""
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr ""
@@ -2590,10 +2337,6 @@ msgstr ""
msgid "Nameserver / DNS Lookup"
msgstr ""
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr ""
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2606,6 +2349,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2619,22 +2366,10 @@ msgstr ""
msgid "Complete folder speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr ""
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr ""
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr ""
@@ -2786,10 +2521,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr ""
#: sabnzbd/skintext.py
msgid "not installed"
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr ""
@@ -2866,12 +2597,13 @@ msgstr ""
msgid "Cache articles in memory to reduce disk access.<br /><i>In bytes, optionally follow with K,M,G. For example: \"64M\" or \"128M\"</i>"
msgstr ""
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid "Create a backup of the configuration file and databases in the Backup Folder.<br>If the Backup Folder is not set, the backup will be created in the Completed Download Folder.<br>Recurring backups can be configured on the Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3003,10 +2735,6 @@ msgstr ""
msgid "Browse"
msgstr ""
#: sabnzbd/skintext.py
msgid "In"
msgstr ""
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr ""
@@ -3108,6 +2836,14 @@ msgstr ""
msgid "Location for queue admin and history database.<br /><i>Can only be changed when queue is empty.</i>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid "Location where the backups of the configuration file and databases are stored.<br />If left empty, the backup will be created in the Completed Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3272,14 +3008,6 @@ msgstr ""
msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid "When sorting, use tags from indexer for title, season, episode, etc. Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr ""
@@ -3328,6 +3056,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid "Posts will be paused untill they are at least this age. Setting job priority to Force will skip the delay."
msgstr ""
@@ -3353,6 +3089,14 @@ msgstr ""
msgid "Replace spaces with underscores in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr ""
@@ -3441,10 +3185,6 @@ msgstr ""
msgid "Quota"
msgstr ""
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr ""
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr ""
@@ -3681,7 +3421,7 @@ msgstr ""
msgid "Frequency"
msgstr ""
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr ""
@@ -3725,6 +3465,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4059,11 +3809,6 @@ msgstr ""
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr ""
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4094,10 +3839,6 @@ msgstr ""
msgid "Presets"
msgstr ""
#: sabnzbd/skintext.py
msgid "Example"
msgstr ""
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4107,10 +3848,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr ""
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr ""
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr ""
@@ -4319,51 +4056,11 @@ msgstr ""
msgid "Delete"
msgstr ""
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr ""
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr ""
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr ""
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr ""
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr ""
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr ""
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr ""
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr ""
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr ""
@@ -4388,6 +4085,10 @@ msgstr ""
msgid "Restart SABnzbd"
msgstr ""
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr ""
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr ""
@@ -4464,6 +4165,10 @@ msgstr ""
msgid "Show active connections"
msgstr ""
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr ""
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr ""
@@ -4496,18 +4201,6 @@ msgstr ""
msgid "Submit"
msgstr ""
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr ""
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr ""
@@ -4516,6 +4209,14 @@ msgstr ""
msgid "Hide/show completed files"
msgstr ""
#: sabnzbd/skintext.py
msgid "Top"
msgstr ""
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr ""
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr ""
@@ -4532,6 +4233,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr ""
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4544,6 +4249,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr ""
@@ -4576,6 +4285,10 @@ msgstr ""
msgid "All usernames, passwords and API-keys are automatically removed from the log and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr ""
@@ -4714,14 +4427,6 @@ msgid ""
"It is licensed under the GNU GENERAL PUBLIC LICENSE Version 2 or (at your option) any later version.\n"
msgstr ""
#: sabnzbd/skintext.py
msgid "In order to download from usenet you will require access to a provider. Your ISP may provide you with access, however a premium provider is recommended."
msgstr ""
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr ""
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -4789,10 +4494,6 @@ msgstr ""
msgid "Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr ""

View File

@@ -8,7 +8,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Czech (https://www.transifex.com/sabnzbd/teams/111101/cs/)\n"
@@ -184,11 +184,7 @@ msgstr "Otestovat notifikace"
msgid "&nbsp;Resolving address"
msgstr "Překládám adresu"
#: sabnzbd/api.py
msgid "unknown"
msgstr "neznámé"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Žádný"
@@ -289,6 +285,10 @@ msgstr "%s není validní emailová adresa"
msgid "Server address required"
msgstr "Adresa serveru je vyžadována"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr ""
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr "%s neni validní skript"
@@ -384,7 +384,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr "Přímé rozbalení"
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Dokončeno"
@@ -602,6 +602,18 @@ msgstr "Ukládání %s selhalo"
msgid "Loading %s failed"
msgstr "Načítání %s selhalo"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr "Odmítnuto spojení z:"
@@ -635,14 +647,6 @@ msgstr ""
"Nesprávný API klíč, použijte api klíč z Nastavení->Obecné ve vašem programu "
"třetí strany:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Chybějící přihlašovací údaje, prosím zadejte jméno/heslo z Nastavení->Obecné"
" do vašeho programu třetí strany:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Přihlášené selhalo, zkontrolujte jméno a heslo."
@@ -1195,27 +1199,27 @@ msgstr "Zrušeno, nelze dokončit"
msgid "Error importing %s"
msgstr "Chyba při importu %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUPLIKÁT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "ŠIFROVANÉ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "PŘÍLIŠ VELKÝ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "NEKOMPLETNÍ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "NECHTĚNÝ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "ČEKÁNÍ %s s"
@@ -1535,13 +1539,13 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Zaheslováno"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr ""
@@ -1656,7 +1660,7 @@ msgstr "Pozastavit na 3 hodiny"
msgid "Pause for 6 hours"
msgstr "Pozastavit na 6 hodin"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Vypnout"
@@ -1725,11 +1729,6 @@ msgstr "Zdroj"
msgid "Servers"
msgstr "Servery"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Chyba"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1775,20 +1774,6 @@ msgstr "Rychlá kontrola..."
msgid "Verifying..."
msgstr "Kontroluji..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Stahování"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Úkol"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1919,21 +1904,6 @@ msgstr ""
msgid "Low"
msgstr "Nízká"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -1979,54 +1949,6 @@ msgstr "měsíc"
msgid "Year"
msgstr "Rok"
#: sabnzbd/skintext.py
msgid "January"
msgstr "Leden"
#: sabnzbd/skintext.py
msgid "February"
msgstr "Únor"
#: sabnzbd/skintext.py
msgid "March"
msgstr "Březen"
#: sabnzbd/skintext.py
msgid "April"
msgstr "Duben"
#: sabnzbd/skintext.py
msgid "May"
msgstr "Květen"
#: sabnzbd/skintext.py
msgid "June"
msgstr "Červen"
#: sabnzbd/skintext.py
msgid "July"
msgstr "Červenec"
#: sabnzbd/skintext.py
msgid "August"
msgstr "Srpen"
#: sabnzbd/skintext.py
msgid "September"
msgstr "Září"
#: sabnzbd/skintext.py
msgid "October"
msgstr "Říjen"
#: sabnzbd/skintext.py
msgid "November"
msgstr "Listopad"
#: sabnzbd/skintext.py
msgid "December"
msgstr "Prosinec"
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Den v měsíci"
@@ -2051,14 +1973,6 @@ msgstr "Dnes"
msgid "Total"
msgstr "Celkem"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Vlastní"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Rychlost"
#: sabnzbd/skintext.py
msgid "on"
msgstr "zapnuto"
@@ -2087,42 +2001,10 @@ msgstr "nebo"
msgid "Host"
msgstr ""
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Komentář"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Odeslat"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Zrušit"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Ostatní"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Výkaz"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Video"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Audio"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Nepoužito"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "nebo méně"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Přihlásit"
@@ -2135,11 +2017,6 @@ msgstr "Odhlásit"
msgid "Remember me"
msgstr "Zapamatuj si mě"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr ""
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2154,11 +2031,6 @@ msgstr "Ukládám..."
msgid "Are you sure?"
msgstr "Jste si jistí?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Smazat všechny stažené soubory?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2258,22 +2130,6 @@ msgstr "Vyhledávání"
msgid "Download Dir"
msgstr ""
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "POZASTAVENO"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr ""
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr ""
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr ""
@@ -2283,21 +2139,11 @@ msgstr ""
msgid "Add"
msgstr "Přidat"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Přidat soubor"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Kategorie"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr ""
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2318,21 +2164,6 @@ msgstr "+Rozbalit"
msgid "+Delete"
msgstr "+Smazat"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr ""
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr ""
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr ""
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2348,11 +2179,6 @@ msgstr "Zastaveno"
msgid "Enter URL"
msgstr "Zadejte URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Při dokončení fronty"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2373,36 +2199,16 @@ msgstr "Hibernovat PC"
msgid "Shutdown SABnzbd"
msgstr "Vypnout SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Limit rychlosti"
msgid "Processing"
msgstr ""
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Pořadí"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Jméno"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr ""
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "Stáří"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr ""
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2433,11 +2239,6 @@ msgstr "Vymazat všechny NZB"
msgid "Purge NZBs & Delete Files"
msgstr "Vymazat všechny NZB a smazat soubory"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Opakovat všechny nedokončené úkoly"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2448,11 +2249,6 @@ msgstr "Odstranit NZB"
msgid "Remove NZB & Delete Files"
msgstr "Odstranit NZB a smazat soubory"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "z"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2472,11 +2268,6 @@ msgstr "ručně"
msgid "Reset Quota now"
msgstr "Vynulovat kvótu"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Smazat věchny dokončené položky z historie?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2533,25 +2324,8 @@ msgstr "Cesta"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Opakovat všechny nedokončené"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Opakovat všechny"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr ""
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr ""
msgid "Retry all failed jobs"
msgstr "Opakovat všechny nedokončené úkoly"
#. Status page button
#: sabnzbd/skintext.py
@@ -2603,21 +2377,6 @@ msgstr "+ Ladění"
msgid "Connections"
msgstr "Spojení"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Poslední výstrahy"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "vymazat"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Odblokovat"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2628,26 +2387,11 @@ msgstr ""
msgid "File set"
msgstr ""
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr ""
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Typ"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Zapnuto"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr ""
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Spojení selhalo!"
@@ -2668,10 +2412,6 @@ msgstr "IPv6 adresa"
msgid "Nameserver / DNS Lookup"
msgstr "DNS server / DNS dotazy"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Model procesoru"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2684,6 +2424,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2697,22 +2441,10 @@ msgstr "Rychlost složky pro download"
msgid "Complete folder speed"
msgstr "Rychlost složko pro dokončené"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Rychlost zápisu"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr ""
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr "Rychlost internetu"
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr ""
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Opakovat test"
@@ -2884,10 +2616,6 @@ msgstr "Bezpečnost"
msgid "Enable HTTPS"
msgstr "Povolit HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "není nainstalováno"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr ""
@@ -2971,12 +2699,17 @@ msgid ""
" follow with K,M,G. For example: \"64M\" or \"128M\"</i>"
msgstr ""
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3118,10 +2851,6 @@ msgstr "Uživatelská složka"
msgid "Browse"
msgstr ""
#: sabnzbd/skintext.py
msgid "In"
msgstr ""
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr ""
@@ -3238,6 +2967,17 @@ msgid ""
"when queue is empty.</i>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3420,16 +3160,6 @@ msgstr ""
msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr ""
@@ -3480,6 +3210,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3507,6 +3245,14 @@ msgstr ""
msgid "Replace spaces with underscores in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr ""
@@ -3602,10 +3348,6 @@ msgstr ""
msgid "Quota"
msgstr ""
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr ""
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr ""
@@ -3853,7 +3595,7 @@ msgstr ""
msgid "Frequency"
msgstr ""
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr ""
@@ -3901,6 +3643,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Pořadí"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Typ"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4243,11 +3995,6 @@ msgstr ""
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr ""
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4278,10 +4025,6 @@ msgstr ""
msgid "Presets"
msgstr ""
#: sabnzbd/skintext.py
msgid "Example"
msgstr ""
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4291,10 +4034,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr ""
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr ""
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr ""
@@ -4507,51 +4246,11 @@ msgstr ""
msgid "Delete"
msgstr ""
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr ""
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Nahoru"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr ""
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr ""
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr ""
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr ""
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr ""
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr ""
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr ""
@@ -4576,6 +4275,10 @@ msgstr ""
msgid "Restart SABnzbd"
msgstr ""
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Při dokončení fronty"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr ""
@@ -4652,6 +4355,10 @@ msgstr ""
msgid "Show active connections"
msgstr ""
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Odblokovat"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr ""
@@ -4684,18 +4391,6 @@ msgstr ""
msgid "Submit"
msgstr ""
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr ""
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr ""
@@ -4704,6 +4399,14 @@ msgstr ""
msgid "Hide/show completed files"
msgstr ""
#: sabnzbd/skintext.py
msgid "Top"
msgstr ""
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr ""
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr ""
@@ -4722,6 +4425,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Vlastní"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4734,6 +4441,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Rychlost"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr ""
@@ -4768,6 +4479,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr ""
@@ -4908,16 +4623,6 @@ msgid ""
"It is licensed under the GNU GENERAL PUBLIC LICENSE Version 2 or (at your option) any later version.\n"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr ""
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -4986,10 +4691,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr ""

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Danish (https://www.transifex.com/sabnzbd/teams/111101/da/)\n"
@@ -184,11 +184,7 @@ msgstr "Afprøv notifikation"
msgid "&nbsp;Resolving address"
msgstr "&nbsp; Server løsning"
#: sabnzbd/api.py
msgid "unknown"
msgstr "ukendt"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Ingen"
@@ -289,6 +285,10 @@ msgstr "%s er ikke en godkendt e-mail adresse"
msgid "Server address required"
msgstr "Kræver serveradresse"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ugyldig server adresse."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -384,7 +384,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Færdig"
@@ -610,6 +610,18 @@ msgstr "Gemmes %s mislykkedes"
msgid "Loading %s failed"
msgstr "Downloadning af %s mislykkedes"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -643,14 +655,6 @@ msgstr ""
"Forkert API-nøgle, anvend api-nøglen fra Konfiguration->Generelt i dit "
"tredjepartsprogram:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Brugeroplysninger mangler, indtast brugernavn/adgangskode fra "
"Konfiguration->Generelt i dit tredjepartsprogram:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Godkendelse mislykkedes, kontrollere brugernavn/adgangskode."
@@ -1198,27 +1202,27 @@ msgstr "Afbrudt, kan ikke afsluttes"
msgid "Error importing %s"
msgstr "Det lykkedes ikke at importere %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUPLIKERE"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "KRYPTEREDE"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "FOR STOR"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "UFULDSTÆNDIG"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "UØNSKET"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "VENT %s sekunder"
@@ -1566,13 +1570,13 @@ msgid "Trying RAR-based verification"
msgstr "Forsøger RAR-baseret kontrol"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] RAR-baserede kontrollen mislykkedes: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Behov adgangskode"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] RAR-baserede kontrollen mislykkedes: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "RAR filer kontrolleres med succes"
@@ -1687,7 +1691,7 @@ msgstr "Pause 3 timer"
msgid "Pause for 6 hours"
msgstr "Pause 6 timer"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Luk ned"
@@ -1756,11 +1760,6 @@ msgstr "Kilde"
msgid "Servers"
msgstr "Server"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Mislykkedes"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1806,20 +1805,6 @@ msgstr "Hurtig kontrol..."
msgid "Verifying..."
msgstr "Bekræftelse..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Downloader"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Propagation delay"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Opgave"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1950,21 +1935,6 @@ msgstr "Nødsituation"
msgid "Low"
msgstr "Lav"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2010,54 +1980,6 @@ msgstr "Måned"
msgid "Year"
msgstr "År"
#: sabnzbd/skintext.py
msgid "January"
msgstr "januar"
#: sabnzbd/skintext.py
msgid "February"
msgstr "februar"
#: sabnzbd/skintext.py
msgid "March"
msgstr "marts"
#: sabnzbd/skintext.py
msgid "April"
msgstr "april"
#: sabnzbd/skintext.py
msgid "May"
msgstr "maj"
#: sabnzbd/skintext.py
msgid "June"
msgstr "juni"
#: sabnzbd/skintext.py
msgid "July"
msgstr "juli"
#: sabnzbd/skintext.py
msgid "August"
msgstr "august"
#: sabnzbd/skintext.py
msgid "September"
msgstr "september"
#: sabnzbd/skintext.py
msgid "October"
msgstr "oktober"
#: sabnzbd/skintext.py
msgid "November"
msgstr "november"
#: sabnzbd/skintext.py
msgid "December"
msgstr "december"
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Månedsdag"
@@ -2082,14 +2004,6 @@ msgstr "I dag"
msgid "Total"
msgstr "Totalt"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Tilpasse"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Hastighed"
#: sabnzbd/skintext.py
msgid "on"
msgstr "på"
@@ -2118,42 +2032,10 @@ msgstr "eller"
msgid "Host"
msgstr "Vært"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Kommentar"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Send"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Annullér"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Andet"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Rapportér"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Video"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Lyd"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Bruges ikke"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "eller mindre"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Log in"
@@ -2166,11 +2048,6 @@ msgstr "Log ud"
msgid "Remember me"
msgstr "Husk mig"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Det automatiske usenet download værktøj"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2185,11 +2062,6 @@ msgstr "Gemmer.."
msgid "Are you sure?"
msgstr "Er du sikker?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Slet alle hentede filer?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2289,22 +2161,6 @@ msgstr "Søg"
msgid "Download Dir"
msgstr "Download mappe"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "PAUSET"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "Cached %s artikler (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Sysload"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Ny version %s tilgængelig"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Er du sikker på du vil lukke SABnzbd?"
@@ -2314,21 +2170,11 @@ msgstr "Er du sikker på du vil lukke SABnzbd?"
msgid "Add"
msgstr "Tilføj"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Tilføj fil"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Kategori"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Forløb"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2349,21 +2195,6 @@ msgstr "+Udpakke"
msgid "+Delete"
msgstr "+Slette"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "P"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "T"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2379,11 +2210,6 @@ msgstr "Stop"
msgid "Enter URL"
msgstr "URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Når køen er færdig"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2404,36 +2230,16 @@ msgstr "Sæt computer i dvale"
msgid "Shutdown SABnzbd"
msgstr "Afslut SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Hastighedsbegrænsning"
msgid "Processing"
msgstr "Forløb"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Rækkefølge"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Navn"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Tid tilbage"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "ALDER"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Fjern"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2464,11 +2270,6 @@ msgstr "Rens NZB'er"
msgid "Purge NZBs & Delete Files"
msgstr "Rens NZB'er & slet filer"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Prøv igen alle mislykkede job"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2479,11 +2280,6 @@ msgstr "Fjern NZB"
msgid "Remove NZB & Delete Files"
msgstr "Fjern NZB & slet filer"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "fra"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2503,11 +2299,6 @@ msgstr "manuelt"
msgid "Reset Quota now"
msgstr "Nulstil kvota nu"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Slet alle afsluttede emner fra historie?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2564,25 +2355,8 @@ msgstr "Sti"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Prøv igen alle mislykkede"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Prøv igen alle"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Udenfor retention"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Et andet problem"
msgid "Retry all failed jobs"
msgstr "Prøv igen alle mislykkede job"
#. Status page button
#: sabnzbd/skintext.py
@@ -2634,21 +2408,6 @@ msgstr "+ Fejlfinding"
msgid "Connections"
msgstr "Forbindelser"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Seneste advarsler"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "ryd"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Ophæv blokering"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2659,26 +2418,11 @@ msgstr "Artikel identifikator"
msgid "File set"
msgstr "Fil sæt"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Når"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Type"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Aktiveret"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Oversigt"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Tilslutning mislykkedes!"
@@ -2699,10 +2443,6 @@ msgstr "IPv6 adresse"
msgid "Nameserver / DNS Lookup"
msgstr "Nameserver/DNS Lookup"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "CPU Model"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2715,6 +2455,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2728,22 +2472,10 @@ msgstr "Download mappe hastighed"
msgid "Complete folder speed"
msgstr "Komplet mappe hastighed"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Skrive hastighed"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "Kunne ikke skrive. Kontrollér, at mappen er skrivbar."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Klik på gentagelse testknappen nedenfor for at afgøre"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Gentagelse test"
@@ -2926,10 +2658,6 @@ msgstr "Sikkerhed"
msgid "Enable HTTPS"
msgstr "HTTPS Aktivering"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "ikke installeret"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Aktiver adgang til interface fra en HTTPS-adresse."
@@ -3017,12 +2745,17 @@ msgstr ""
"Cache artikler i hukommelsen for at reducere diskadgang.<br /><i>I bytes, "
"efterfulgt af K,M,G. For eksempel: \"64M\" eller \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3169,10 +2902,6 @@ msgstr "Brugermapper"
msgid "Browse"
msgstr "Gennemse"
#: sabnzbd/skintext.py
msgid "In"
msgstr "Ligger i"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Midlertidig download mappe"
@@ -3303,6 +3032,17 @@ msgstr ""
"Placering for kø administrativ og historik database.<br /><i>Kan kun ændres,"
" når køen er tom.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr "<i>Data vil <b>ikke</b> blive flyttet. Kræver SABnzbd genstartet!</i>"
@@ -3497,16 +3237,6 @@ msgstr "Ved fejl, prøv alternativ NZB"
msgid "Some servers provide an alternative NZB when a download fails."
msgstr "Nogle servere levere en alternativ NZB når et download mislykkes."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr "Brug mærker fra indexer"
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Aktiver mappe omdøbning"
@@ -3559,6 +3289,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Propagation delay"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3588,6 +3326,14 @@ msgstr "Erstat mellemrum i mappenavn"
msgid "Replace spaces with underscores in folder names."
msgstr "Erstat mellemrum med understreg i mappenavn."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Erstat punktummer i mappenavn"
@@ -3687,10 +3433,6 @@ msgstr "Navngivning"
msgid "Quota"
msgstr "Kvota"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indeksering"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Hvor meget der kan downloades i denne måned (K/M/G)"
@@ -3944,7 +3686,7 @@ msgstr "Opret planlægning"
msgid "Frequency"
msgstr "Forekomst"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Udfør"
@@ -3996,6 +3738,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Rækkefølge"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Type"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4344,11 +4096,6 @@ msgstr "Mappe/Søgesti"
msgid "Indexer Categories / Groups"
msgstr "Indekseringen kategorier/grupper"
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4379,10 +4126,6 @@ msgstr "Anvend filtre"
msgid "Presets"
msgstr "Forudindstillinger"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Eksempel"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4392,10 +4135,6 @@ msgstr "Film sortering"
msgid "Enable Movie Sorting"
msgstr "Aktivere filmsortering"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Behold løse download i ekstra mapper"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Påvirkede Kategorier"
@@ -4612,51 +4351,11 @@ msgstr "Ændre NZB detaljer"
msgid "Delete"
msgstr "Slet"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Øverst"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Op"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Ned"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Bunden"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Alle"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Invertere"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Filnavn"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Emne"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Udvælgelse"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Ledig diskplads"
@@ -4681,6 +4380,10 @@ msgstr "Tjek alle"
msgid "Restart SABnzbd"
msgstr "Genstart SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Når køen er færdig"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Status og grænseflade indstillinger"
@@ -4757,6 +4460,10 @@ msgstr "Kø reparation"
msgid "Show active connections"
msgstr "Vis aktive forbindelser"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Ophæv blokering"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Forældreløse jobs"
@@ -4789,18 +4496,6 @@ msgstr "Angiv et valgfrit filnavn"
msgid "Submit"
msgstr "Tilføj"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Åbn informations URL"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Tilføjet. Mange tak!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Intet er valgt!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Fjern alle valgte filer"
@@ -4809,6 +4504,14 @@ msgstr "Fjern alle valgte filer"
msgid "Hide/show completed files"
msgstr "Skjul/vis komplette filer"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Øverst"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Bunden"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Vis scriptlog"
@@ -4829,6 +4532,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr "Glitter har nogle (nye) egenskaber, du kan lide!"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Tilpasse"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "Kompakt layout"
@@ -4841,6 +4548,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "Tabbed layout <br/>(separat kø og historie)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Hastighed"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Bekræft Kø-fjernelse"
@@ -4875,6 +4586,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Sortere efter alder <small>Ældst&rarr;Nyeste</small>"
@@ -5021,18 +4736,6 @@ msgstr ""
"Det er gratis software, og du er velkommen til at videredistribuere det under visse betingelser. \n"
"Den er licenseret under GNU General Public License version 2 eller (efter eget valg) enhver senere version.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"For at hente fra usenet kræves der adgang fra en udbyder. Din "
"internetudbyder kan give dig adgang, men en præmie udbyder anbefales."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Har du ingen usenet leverandør? Vi anbefaler at prøve %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5103,10 +4806,6 @@ msgstr ""
"Ukendt SSL protokol: Prøv at deaktivere SSL eller forbinder på en anden "
"port."
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ugyldig server adresse."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Server afslut under login-sekvens."

View File

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Spanish (https://www.transifex.com/sabnzbd/teams/111101/es/)\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. Notification - Status page, table column header, actual message
#: SABnzbd.py, sabnzbd/notifier.py, sabnzbd/skintext.py
@@ -192,11 +192,7 @@ msgstr "Notificación de prueba"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Resolviendo sitio"
#: sabnzbd/api.py
msgid "unknown"
msgstr "desconocido"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Ninguno"
@@ -303,6 +299,10 @@ msgstr "%s no es una dirección de correo electrónico válida."
msgid "Server address required"
msgstr "Se necesita la dirección del servidor"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Dirección del servidor no válida."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -401,7 +401,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr "Descomprimir directamente"
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Completado"
@@ -631,6 +631,18 @@ msgstr "Guardar de %s no se pudo completar."
msgid "Loading %s failed"
msgstr "Cargar de %s no se pudo completar."
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -664,14 +676,6 @@ msgstr ""
"Clave de API erróneo, favor ingresar la clave correcta desde Config->General"
" en tu aplicacion externa:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Faltaron datos de cuenta, favor ingresar usuario/contraseña desde "
"Config->General en tu aplicacion externa:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Autenticación fallida, compruebe el usuario o la contraseña."
@@ -1242,27 +1246,27 @@ msgstr "Abortado, No puede ser completado"
msgid "Error importing %s"
msgstr "Error importando %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUPLICADO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "ENCRIPTADO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "DEMASIADO GRANDE"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "INCOMPLETO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "NO DESEADO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "ESPERAR %s seg"
@@ -1619,13 +1623,13 @@ msgid "Trying RAR-based verification"
msgstr "Intentando la verificación basada en RAR"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] La verificación basada en RAR ha fallado: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Con contraseña"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] La verificación basada en RAR ha fallado: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "Los archivos RAR se han verificado con éxito"
@@ -1742,7 +1746,7 @@ msgstr "Pausar 3 horas"
msgid "Pause for 6 hours"
msgstr "Pausar 6 horas"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Apagar"
@@ -1811,11 +1815,6 @@ msgstr "Fuente"
msgid "Servers"
msgstr "Servidores"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Fallo"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1861,20 +1860,6 @@ msgstr "Chequeo Rápido..."
msgid "Verifying..."
msgstr "Verificando..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Descargando"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Demora de la propagación"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Tarea"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -2005,21 +1990,6 @@ msgstr "Emergencia"
msgid "Low"
msgstr "Baja"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2065,54 +2035,6 @@ msgstr "Mes"
msgid "Year"
msgstr "Año"
#: sabnzbd/skintext.py
msgid "January"
msgstr "Enero"
#: sabnzbd/skintext.py
msgid "February"
msgstr "Febrero"
#: sabnzbd/skintext.py
msgid "March"
msgstr "Marzo"
#: sabnzbd/skintext.py
msgid "April"
msgstr "Abril"
#: sabnzbd/skintext.py
msgid "May"
msgstr "Mayo"
#: sabnzbd/skintext.py
msgid "June"
msgstr "Junio"
#: sabnzbd/skintext.py
msgid "July"
msgstr "Julio"
#: sabnzbd/skintext.py
msgid "August"
msgstr "Agosto"
#: sabnzbd/skintext.py
msgid "September"
msgstr "Septiembre"
#: sabnzbd/skintext.py
msgid "October"
msgstr "Octubre"
#: sabnzbd/skintext.py
msgid "November"
msgstr "Noviembre"
#: sabnzbd/skintext.py
msgid "December"
msgstr "Diciembre"
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Día del mes"
@@ -2137,14 +2059,6 @@ msgstr "Hoy"
msgid "Total"
msgstr "Total"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personalizar"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Velocidad"
#: sabnzbd/skintext.py
msgid "on"
msgstr "activado"
@@ -2173,42 +2087,10 @@ msgstr "o"
msgid "Host"
msgstr "Equipo"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Comentar"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Enviar"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Cancelar"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Otro"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Denunciar"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Vídeo"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Audio"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "No usado"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "o menos"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Iniciar sesión"
@@ -2221,11 +2103,6 @@ msgstr "Cerrar sesión"
msgid "Remember me"
msgstr "Mantenerme conectado"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "La herramienta de descarga automática para usenet"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2240,11 +2117,6 @@ msgstr "Guardando..."
msgid "Are you sure?"
msgstr "¿Estás seguro?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "¿Elimiar todos los ficheros descargados?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2344,22 +2216,6 @@ msgstr "Buscar"
msgid "Download Dir"
msgstr "Dir de Descarga"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "PAUSADO"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "%s artículos cacheados (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Carga del Sistema"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Nueva versión %s disponible en"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "¿Seguro que deseas detener SABnzbd?"
@@ -2369,21 +2225,11 @@ msgstr "¿Seguro que deseas detener SABnzbd?"
msgid "Add"
msgstr "Añadir"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Añadir fichero"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Categoría"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "En proceso"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2404,21 +2250,6 @@ msgstr "+Descomprimir"
msgid "+Delete"
msgstr "+Eliminar"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "U"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "D"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2434,11 +2265,6 @@ msgstr "Parar"
msgid "Enter URL"
msgstr "Introduzca la URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Al finalizar cola"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2459,36 +2285,16 @@ msgstr "Hibernar PC"
msgid "Shutdown SABnzbd"
msgstr "Apagar SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Límite de velocidad"
msgid "Processing"
msgstr "En proceso"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Orden"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Nombre"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Tiempo estimado"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "ANTIGÜEDAD"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Borrar"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2519,11 +2325,6 @@ msgstr "Purgar NZBs"
msgid "Purge NZBs & Delete Files"
msgstr "Purgar NZBs y Eliminar Ficheros"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Vuelva a intentar todos los trabajos con errores"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2534,11 +2335,6 @@ msgstr "Eliminar NZB"
msgid "Remove NZB & Delete Files"
msgstr "Eliminar NZB y Eliminar Ficheros"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "de"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2558,11 +2354,6 @@ msgstr "manual"
msgid "Reset Quota now"
msgstr "Reinicializar Quota ahora"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "¿Eliminar todos los elementos completados del Historial?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2619,25 +2410,8 @@ msgstr "Ruta"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Re-intentar todos los fallados"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Re-intentar todo"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus / spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Fuera de retención"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Otro problema"
msgid "Retry all failed jobs"
msgstr "Vuelva a intentar todos los trabajos con errores"
#. Status page button
#: sabnzbd/skintext.py
@@ -2692,21 +2466,6 @@ msgstr "+Depuración"
msgid "Connections"
msgstr "Conexiones"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Últimas advertencias"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "limpiar"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Desbloquear"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2717,26 +2476,11 @@ msgstr "Identificador de artículo"
msgid "File set"
msgstr "Conjunto de ficheros"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Cuando"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tipo"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Habilitado"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Tablero"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "¡Ha fallado la conexión!"
@@ -2757,10 +2501,6 @@ msgstr "Dirección IPv6"
msgid "Nameserver / DNS Lookup"
msgstr "Nombre del servidor / Búsqueda de DNS"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Modelo de CPU"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2773,6 +2513,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2786,24 +2530,10 @@ msgstr "La velocidad de descarga carpeta"
msgid "Complete folder speed"
msgstr "Velocidad completa carpeta"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "velocidad de escritura"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr ""
"No se pudo escribir . Compruebe que el directorio tiene permisos de "
"escritura ."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr "Ancho de banda de internet"
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Haga clic en el botón de prueba Repita a continuación para determinar"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Repita la prueba"
@@ -2996,10 +2726,6 @@ msgstr "Seguridad"
msgid "Enable HTTPS"
msgstr "Habilitar HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "no instalado"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Habilia el acceso a la interfaz con una dirección HTTPS"
@@ -3091,12 +2817,17 @@ msgstr ""
"Cachear artículos en memoria para reducir el acceso a disco.<br /><i>En "
"bytes, opcionalmente seguido de K,M,G. Por ejemplo: \"64M\" o \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3248,10 +2979,6 @@ msgstr "Directorios del usuario"
msgid "Browse"
msgstr "Examinar"
#: sabnzbd/skintext.py
msgid "In"
msgstr "En"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Directorio de descarga temporal"
@@ -3383,6 +3110,17 @@ msgstr ""
"Ubicación de la base de datos de historial y administración.<br /><i>Sólo se"
" puede cambiar si la cola está vacía.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3583,19 +3321,6 @@ msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
"Algunos servidores ofrecen una NZB alternativa cuando falla una descarga ."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr "Utilizar etiquetas del indexer"
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
"Al clasificar, utilice etiquetas del indexer para el título, temporada, "
"episodio, etc. De no hacerlo así, todos los nombres se extraen del nombre "
"NZB."
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Habilitar renombrado de directorios"
@@ -3651,6 +3376,14 @@ msgstr ""
"Clasifique tareas de forma automática en la cola cuando se añade una tarea "
"nueva."
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Demora de la propagación"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3682,6 +3415,14 @@ msgid "Replace spaces with underscores in folder names."
msgstr ""
"Reemplaza los espacios con guiones bajos en los nombres de directorio."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Reemplazar puntos en los directorios"
@@ -3785,10 +3526,6 @@ msgstr "Nombrado"
msgid "Quota"
msgstr "Cuota"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indexación"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Cantidad de descarga permitida este mes (K/M/G)"
@@ -4049,7 +3786,7 @@ msgstr "Añadir planificación"
msgid "Frequency"
msgstr "Frecuencia"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Acción"
@@ -4101,6 +3838,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Orden"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tipo"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4453,11 +4200,6 @@ msgstr "Directorio/Ruta"
msgid "Indexer Categories / Groups"
msgstr "Categorías Indexer / Grupos"
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4488,10 +4230,6 @@ msgstr "Aplicar filtros"
msgid "Presets"
msgstr "Preajustes"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Ejemplo"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4501,10 +4239,6 @@ msgstr "Clasificación de películas"
msgid "Enable Movie Sorting"
msgstr "Habilitar Ordenado de Películas"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Mantener descargas en directorios extra."
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Categorías Afectadas"
@@ -4721,51 +4455,11 @@ msgstr "Editar Detalles de NZB"
msgid "Delete"
msgstr "Eliminar"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Superior"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Encima"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Abajo"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Último"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Todos"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Invertir"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Nombre de archivo"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Asunto"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Selección"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Espacio libre"
@@ -4790,6 +4484,10 @@ msgstr "Marcar todo"
msgid "Restart SABnzbd"
msgstr "Reiniciar SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Al finalizar cola"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Opciones de estado e interfaz"
@@ -4868,6 +4566,10 @@ msgstr "Reparar cola"
msgid "Show active connections"
msgstr "Mostrar conexiones activas"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Desbloquear"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Trabajos descolgados"
@@ -4900,18 +4602,6 @@ msgstr "Opcionalmente especificar un nombre de fichero"
msgid "Submit"
msgstr "Enviar"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Abrir URL de informacion"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Enviado. ¡Muchas gracias!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "¡No hay nada seleccionado!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Eliminar todos los ficheros seleccionados"
@@ -4920,6 +4610,14 @@ msgstr "Eliminar todos los ficheros seleccionados"
msgid "Hide/show completed files"
msgstr "Ocultar/Mostrar ficheros completados"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Superior"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Último"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Ver bitacora de Scripts"
@@ -4940,6 +4638,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr "¡Glitter tiene alguna nueva funcionalidad que puede gustarte!"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personalizar"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "Diseño compacto"
@@ -4952,6 +4654,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "Diseño de pestañas<br/>(separa la cola de espera y la historia)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Velocidad"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Confirmar eliminación de la cola"
@@ -4989,6 +4695,10 @@ msgstr ""
"Todos los nombres de usuarios, contraseñas y llaves-API se eliminan "
"automáticamente del registro y se incluye una copia de su configuración."
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Ordenar por Fecha <small>Más viejo&rarr;Más nuevo</small>"
@@ -5135,19 +4845,6 @@ msgstr ""
"Este es un software libre, y eres bienvenido a redistribuirlo bajo determinadas condiciones.\n"
"Está licenciado bajo la versión 2 ó posterior de GNU GENERAL PUBLIC LICENSE.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Para poder descargar de Usenet, necesitas acceso con un proveedor. Tu "
"proveedor de acceso a internet te lo puede dar, aunque recomendamos "
"proveedores premium."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "¿No tienes proveedor de Usenet? Nosotros recomendamos probar %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5218,10 +4915,6 @@ msgstr ""
"Protocolo SSL desconocido: intente desabilitar el SSL o conectarse a un "
"puerto diferente."
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Dirección del servidor no válida."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "El servidor se ha cerrado durante el login"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Finnish (https://www.transifex.com/sabnzbd/teams/111101/fi/)\n"
@@ -185,11 +185,7 @@ msgstr "Testaa ilmoitusta"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Selvitetään osoitetta"
#: sabnzbd/api.py
msgid "unknown"
msgstr "tuntematon"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Ei mitään"
@@ -286,6 +282,10 @@ msgstr "%s ei ole kelvollinen sähköpostiosoite"
msgid "Server address required"
msgstr "Palvelimen osoite vaaditaan"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Virheellinen palvelimen osoite."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -381,7 +381,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Valmistunut"
@@ -606,6 +606,18 @@ msgstr "Kohteen %s tallentaminen epäonnistui"
msgid "Loading %s failed"
msgstr "Kohteen %s lataaminen epäonnistui"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -639,14 +651,6 @@ msgstr ""
"API avain virheellinen, käytä Asetukset->Yleiset löytyvää api avainta "
"käyttämääsi kolmannen osapuolen ohjelmaan:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Authentikointi puuttuu, ole hyvä ja syötä käyttäjänimi/salasana "
"Asetukset->Yleiset kolmannen osapuolen ohjelmaasi:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Varmennus epäonnistui, tarkista käyttäjänimi/salasana."
@@ -1191,27 +1195,27 @@ msgstr "Peruutettu, ei voi valmistua"
msgid "Error importing %s"
msgstr "Virhe tuotaessa %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "KAKSOISKAPPALE"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "SALATTU"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "LIIAN SUURI"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "KESKENERÄINEN"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "EI TOIVOTTU"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "ODOTA %s sekuntia"
@@ -1559,13 +1563,13 @@ msgid "Trying RAR-based verification"
msgstr "Yritetään RAR-pohjaista varmennusta"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] RAR-pohjainen varmennus epäonnistui: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Salasanasuojattu"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] RAR-pohjainen varmennus epäonnistui: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "RAR arkistot varmennettiin onnistuneesti"
@@ -1680,7 +1684,7 @@ msgstr "Keskeytä 3:ksi tunniksi"
msgid "Pause for 6 hours"
msgstr "Keskeytä 6:ksi tunniksi"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Sammuta"
@@ -1749,11 +1753,6 @@ msgstr "Lähde"
msgid "Servers"
msgstr "Palvelimet"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Epäonnistui"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1799,20 +1798,6 @@ msgstr "Pikatarkistus..."
msgid "Verifying..."
msgstr "Varmennetaan..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Ladataan"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Levitysviive"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Tehtävä"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1943,21 +1928,6 @@ msgstr "Hälytys"
msgid "Low"
msgstr "Matala"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "Mt"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "Gt"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2003,54 +1973,6 @@ msgstr "Kuukausi"
msgid "Year"
msgstr "Vuosi"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Kuukauden päivä"
@@ -2075,14 +1997,6 @@ msgstr "Tänään"
msgid "Total"
msgstr "Yhteensä"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Mukautettu"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Nopeus"
#: sabnzbd/skintext.py
msgid "on"
msgstr "käytössä"
@@ -2111,42 +2025,10 @@ msgstr "tai"
msgid "Host"
msgstr "Isäntä"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Kommentti"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Lähetä"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Peruuta"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Muu"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Ilmoita"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Video"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Ääni"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Ei käytössä"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "tai vähemmän"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Kirjaudu sisään"
@@ -2159,11 +2041,6 @@ msgstr "Kirjaudu ulos"
msgid "Remember me"
msgstr "Muista minut"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Automaattinen usenet lataustyökalu"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2178,11 +2055,6 @@ msgstr "Tallennetaan..."
msgid "Are you sure?"
msgstr "Oletko varma?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Poistetaanko kaikki ladatut tiedostot?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2282,22 +2154,6 @@ msgstr "Etsi"
msgid "Download Dir"
msgstr "Lataukset-kansio"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "KESKEYTETTY"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "%s artikkelia välimuistitettu (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Kuorma"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Uusi versio %s saatavilla osoitteesta"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Oletko varma, että haluat sammuttaa SABnzbdn?"
@@ -2307,21 +2163,11 @@ msgstr "Oletko varma, että haluat sammuttaa SABnzbdn?"
msgid "Add"
msgstr "Lisää"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Lisää tiedostosta"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Kategoria"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Käsitellään"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2342,21 +2188,6 @@ msgstr "+Pura"
msgid "+Delete"
msgstr "+Poista"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "U"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "D"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2372,11 +2203,6 @@ msgstr "Pysäytä"
msgid "Enter URL"
msgstr "Syötä osoite"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Kun jono on tyhjä"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2397,36 +2223,16 @@ msgstr "Horrostila"
msgid "Shutdown SABnzbd"
msgstr "Sammuta SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Nopeusrajoitus"
msgid "Processing"
msgstr "Käsitellään"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Järjestys"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Nimi"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Aikaa jäljellä"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "IKÄ"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Poista"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2457,11 +2263,6 @@ msgstr "Puhdista NZBt"
msgid "Purge NZBs & Delete Files"
msgstr "Puhdista NZBt & poista tiedostot"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Yritä uudelleen kaikki epäonnistuneet lataukset"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2472,11 +2273,6 @@ msgstr "Poista NZB"
msgid "Remove NZB & Delete Files"
msgstr "Poista NZB ja tiedostot"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "/"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2496,11 +2292,6 @@ msgstr "käsikäyttöinen"
msgid "Reset Quota now"
msgstr "Resetoi latausrajoitus nyt"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Poistetaanko kaikki valmistuneet kohteet historiasta?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2557,25 +2348,8 @@ msgstr "Polku"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Yritä uudelleen kaikki epäonnistuneet"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Yritä uudelleen kaikki"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/roskaposti"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Säilytyksen ulkopuolella"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Muu ongelma"
msgid "Retry all failed jobs"
msgstr "Yritä uudelleen kaikki epäonnistuneet lataukset"
#. Status page button
#: sabnzbd/skintext.py
@@ -2627,21 +2401,6 @@ msgstr "+ Debug"
msgid "Connections"
msgstr "Yhteydet"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Viimeisimmät varoitukset"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "tyhjennä"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Poista esto"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2652,26 +2411,11 @@ msgstr "Artikkelin tunniste"
msgid "File set"
msgstr "Tiedostojoukko"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Milloin"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tyyppi"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Käytössä"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Hallintapaneeli"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Yhteys epäonnistui!"
@@ -2692,10 +2436,6 @@ msgstr "IPv6 osoite"
msgid "Nameserver / DNS Lookup"
msgstr "Nimipalvelin / DNS-selvitys"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Prosessorin malli"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2708,6 +2448,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2721,23 +2465,10 @@ msgstr "Latauskansion nopeus"
msgid "Complete folder speed"
msgstr "Valmistuneet-kansion nopeus"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Kirjoitusnopeus"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr ""
"Ei voitu kirjoittaa. Varmista, että sinulla on kirjoitusoikeus kansioon."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Paina Toista testi -painiketta alapuolella määrittääksesi"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Toista testi"
@@ -2920,10 +2651,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "HTTPS käytössä"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "ei asennettu"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Ota käyttöön käyttöliittymän käyttäminen HTTPS-osoitteesta."
@@ -3015,12 +2742,17 @@ msgstr ""
"/><i>Tavuina, vaihtoehtoisesti lisää pääte K,M,G. Esimerkiksi: \"64M\" tai "
"\"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3171,10 +2903,6 @@ msgstr "Käyttäjähakemistot"
msgid "Browse"
msgstr "Selaa"
#: sabnzbd/skintext.py
msgid "In"
msgstr "Kohteessa"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Väliaikaiset lataukset kansio"
@@ -3306,6 +3034,17 @@ msgstr ""
"Sijainti jonne tallennetaan jonon hallinnan ja historian tietokannat.<br "
"/><i>Voidaan muuttaa vain jonon ollessa tyhjä.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3499,16 +3238,6 @@ msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
"Jotkin palvelimet tarjoavat vaihtoehtoisen NZB:n kun lataus epäonnistuu."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Kansion uudelleennimeäminen käytössä"
@@ -3563,6 +3292,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Levitysviive"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3592,6 +3329,14 @@ msgstr "Korvaa välilyönnit kansionimessä"
msgid "Replace spaces with underscores in folder names."
msgstr "Korvaa välilyönnit alaviivoilla kansionimissä."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Korvaa pisteet kansionimessä"
@@ -3691,10 +3436,6 @@ msgstr "Nimeäminen"
msgid "Quota"
msgstr "Latausrajoitus"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indeksoidaan"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Kuinka paljon voidaan ladata tässä kuussa (K/M/G)"
@@ -3946,7 +3687,7 @@ msgstr "Lisää ajastus"
msgid "Frequency"
msgstr "Toisto"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Toiminto"
@@ -3998,6 +3739,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Järjestys"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tyyppi"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4346,11 +4097,6 @@ msgstr "Kansio/Polku"
msgid "Indexer Categories / Groups"
msgstr "Indeksoijan kategoriat / ryhmä"
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4381,10 +4127,6 @@ msgstr ""
msgid "Presets"
msgstr "Esiasetukset"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Esimerkki"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4394,10 +4136,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Elokuvien lajittelu käytössä"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Pidä irralliset lataukset ylimääräisissä kansioissa"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Kategoriat joita koskee"
@@ -4615,51 +4353,11 @@ msgstr "NZB tietojen muokkaus"
msgid "Delete"
msgstr "Poista"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Ylin"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Ylös"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Alas"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Alin"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Kaikki"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Käänteinen"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Tiedostonimi"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Otsikko"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Valinta"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Vapaa tila"
@@ -4684,6 +4382,10 @@ msgstr "Valitse kaikki"
msgid "Restart SABnzbd"
msgstr "Uudelleenkäynnistä SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Kun jono on tyhjä"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Tilan ja käyttöliittymän asetukset"
@@ -4761,6 +4463,10 @@ msgstr "Jonon korjaus"
msgid "Show active connections"
msgstr "Näytä aktiiviset yhteydet"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Poista esto"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Orvot lataukset"
@@ -4793,18 +4499,6 @@ msgstr "Vaihtoehtoisesti anna tiedostonimi"
msgid "Submit"
msgstr "Lähetä"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Avaa tietoja sisältävä osoite"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Lähetetty. Kiitos!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Ei mitään valittuna!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Poista kaikki valitut tiedostot"
@@ -4813,6 +4507,14 @@ msgstr "Poista kaikki valitut tiedostot"
msgid "Hide/show completed files"
msgstr "Piilota/näytä valmistuneet tiedostot"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Ylin"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Alin"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Näytä skriptien loki"
@@ -4834,6 +4536,10 @@ msgid "Glitter has some (new) features you might like!"
msgstr ""
"Glitter-teemassa on muutamia (uusia) ominaisuuksia joista saatat pitää!"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Mukautettu"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "Tiivis käyttöliittymä"
@@ -4846,6 +4552,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "Välilehditetty käyttöliittymä <br/>(erillinen jono ja historia)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Nopeus"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Varmista jonon poistot"
@@ -4880,6 +4590,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Järjestä iän mukaan <small>Vanhin&rarr;Uusin</small>"
@@ -5027,18 +4741,6 @@ msgstr ""
"Tämä on ilmainen ohjelma ja olet vapaa levittämään sitä tiettyjen ehtojen ollessa voimassa.\n"
"Se on lisensoitu GNU GENERAL PUBLIC LICENSE Versio 2 alaiseksi ja (oman valinnan mukaan) myös myöhempien versioiden.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Jotta voit ladata usenetistä tarvitset tarjoajan. Palveluntarjoajasi saattaa"
" tarjota sinulle sellaisen, mutta on suositeltavaa hankkia premium-tarjoaja."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Eikö sinulla ole usenet tarjoajaa? Suosittelemme kokeilemaan %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5108,10 +4810,6 @@ msgid ""
msgstr ""
"Tuntematon SSL protokolla: Kokeile ottaa SSL käytöstä tai vaihda porttia."
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Virheellinen palvelimen osoite."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Palvelin lopetettiin kesken kirjautumisen"

View File

@@ -8,7 +8,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Fred L <88com88@gmail.com>, 2022\n"
"Language-Team: French (https://www.transifex.com/sabnzbd/teams/111101/fr/)\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. Notification - Status page, table column header, actual message
#: SABnzbd.py, sabnzbd/notifier.py, sabnzbd/skintext.py
@@ -195,11 +195,7 @@ msgstr "Test de Notification"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Résolution de l'adresse"
#: sabnzbd/api.py
msgid "unknown"
msgstr "inconnu"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Aucun"
@@ -306,6 +302,10 @@ msgstr "%s n'est pas une adresse email valide"
msgid "Server address required"
msgstr "Adresse du serveur requise"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Adresse du serveur erronée"
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr "%s n'est pas un script valide"
@@ -406,7 +406,7 @@ msgstr "La désobfuscation a renommé %d fichier(s)"
msgid "Direct Unpack"
msgstr "Décompression Directe"
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Terminé"
@@ -637,6 +637,20 @@ msgstr "L'enregistrement de %s a échoué"
msgid "Loading %s failed"
msgstr "Echec du chargement de %s"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
"Le fichier %s n'est pas inscriptible à cause des caractères spéciaux dans le"
" nom. Cela peut causer des problèmes."
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr "%s n'est pas du tout inscriptible. Les téléchargements sont bloqués."
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr "Connexion refusée de:"
@@ -670,14 +684,6 @@ msgstr ""
"Clé API incorrecte, utilisez la clé API de la configuration générale dans "
"votre application tierce :"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Authentification manquante, entrez vos identifiant/mot de passe de la "
"configuration générale dans votre application tierce :"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Echec d'authentification, vérifiez les identifiant/mot de passe."
@@ -1240,27 +1246,27 @@ msgstr "Interrompu, ne peut être achevé"
msgid "Error importing %s"
msgstr "Erreur lors de l'importation de %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DOUBLON"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "CHIFFRÉ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "TROP VOLUMINEUX"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "INCOMPLET"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "INDÉSIRABLE"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "PATIENTER %s sec"
@@ -1526,7 +1532,7 @@ msgid ""
"Completed Download Folder %s is on FAT file system, limiting maximum file "
"size to 4GB"
msgstr ""
"Le système de fichiers du dossier de téléchargements terminés %s est au "
"Le système de fichiers du dossier des téléchargements terminés %s est au "
"format FAT, limitant la taille maximale d'un fichier à 4 Go"
#: sabnzbd/postproc.py
@@ -1620,13 +1626,13 @@ msgid "Trying RAR-based verification"
msgstr "Tentative de vérification RAR"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] La vérification RAR a échoué: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Protégé par un mot de passe"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] La vérification RAR a échoué: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "Fichiers RAR vérifiés avec succès"
@@ -1742,7 +1748,7 @@ msgstr "Mettre en pause pendant 3 heures"
msgid "Pause for 6 hours"
msgstr "Mettre en pause pendant 6 heures"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Arrêter"
@@ -1811,11 +1817,6 @@ msgstr "Source"
msgid "Servers"
msgstr "Serveurs"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Échec"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1861,20 +1862,6 @@ msgstr "Vérification rapide..."
msgid "Verifying..."
msgstr "Vérification..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Téléchargement"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Délai de propagation"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Tâche"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -2005,21 +1992,6 @@ msgstr "Urgence"
msgid "Low"
msgstr "Basse"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "Mo"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "Go"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2065,54 +2037,6 @@ msgstr "Mois"
msgid "Year"
msgstr "Année"
#: sabnzbd/skintext.py
msgid "January"
msgstr "Janvier"
#: sabnzbd/skintext.py
msgid "February"
msgstr "Février"
#: sabnzbd/skintext.py
msgid "March"
msgstr "Mars"
#: sabnzbd/skintext.py
msgid "April"
msgstr "Avril"
#: sabnzbd/skintext.py
msgid "May"
msgstr "Mai"
#: sabnzbd/skintext.py
msgid "June"
msgstr "Juin"
#: sabnzbd/skintext.py
msgid "July"
msgstr "Juillet"
#: sabnzbd/skintext.py
msgid "August"
msgstr "Août"
#: sabnzbd/skintext.py
msgid "September"
msgstr "Septembre"
#: sabnzbd/skintext.py
msgid "October"
msgstr "Octobre"
#: sabnzbd/skintext.py
msgid "November"
msgstr "Novembre"
#: sabnzbd/skintext.py
msgid "December"
msgstr "Décembre"
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Jour du mois"
@@ -2137,14 +2061,6 @@ msgstr "Aujourd'hui"
msgid "Total"
msgstr "Total"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personnalisé"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Vitesse"
#: sabnzbd/skintext.py
msgid "on"
msgstr "oui"
@@ -2173,42 +2089,10 @@ msgstr "ou"
msgid "Host"
msgstr "Hôte"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Commentaire"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Envoyer"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Annuler"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Autre"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Signaler"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Vidéo"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Audio"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Non utilisé"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "ou moins"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Se connecter"
@@ -2221,11 +2105,6 @@ msgstr "Se déconnecter"
msgid "Remember me"
msgstr "Se souvenir de moi"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "L'outil de téléchargement usenet automatique"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2240,11 +2119,6 @@ msgstr "Enregistrement.."
msgid "Are you sure?"
msgstr "Êtes-vous sûr ?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Supprimer tous les fichiers téléchargés ?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2344,22 +2218,6 @@ msgstr "Rechercher"
msgid "Download Dir"
msgstr "Dossier de téléchargement"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "EN PAUSE"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "%s articles mis en cache (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Sysload"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Une nouvelle version %s est disponible"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Etes-vous sûr de vouloir arrêter SABnzbd ?"
@@ -2369,21 +2227,11 @@ msgstr "Etes-vous sûr de vouloir arrêter SABnzbd ?"
msgid "Add"
msgstr "Ajouter"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Ajouter un fichier"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Catégorie"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Traitement en cours"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2404,21 +2252,6 @@ msgstr "+Décompresser"
msgid "+Delete"
msgstr "+Supprimer"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "D"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "S"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2434,11 +2267,6 @@ msgstr "Arrêter"
msgid "Enter URL"
msgstr "Saisir une URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "En fin de file d'attente"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2459,36 +2287,16 @@ msgstr "Mettre le PC en hibernation"
msgid "Shutdown SABnzbd"
msgstr "Arrêter SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Vitesse limite"
msgid "Processing"
msgstr "Traitement en cours"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordre"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Nom"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "TRE"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "ÂGE"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Suppr."
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2519,11 +2327,6 @@ msgstr "Vider les NZB"
msgid "Purge NZBs & Delete Files"
msgstr "Purger les NZB & supprimer les fichiers"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Réessayez toutes les tâches échouées"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2534,11 +2337,6 @@ msgstr "Supprimer NZB"
msgid "Remove NZB & Delete Files"
msgstr "Supprimer le NZB & supprimer les fichiers"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "de"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2558,11 +2356,6 @@ msgstr "manuel"
msgid "Reset Quota now"
msgstr "Réinitialiser le quota maintenant"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Supprimer tous les éléments terminés de l'historique ?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2619,25 +2412,8 @@ msgstr "Chemin d'accès"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Relancer toutes les tâches échouéés"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Réessayer tous"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "En dehors du délai de rétention"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Autre problème"
msgid "Retry all failed jobs"
msgstr "Réessayez toutes les tâches échouées"
#. Status page button
#: sabnzbd/skintext.py
@@ -2692,21 +2468,6 @@ msgstr "+ Debug"
msgid "Connections"
msgstr "Connections"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Avertissements récents"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "éffacer"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Débloquer"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2717,26 +2478,11 @@ msgstr "Identifiant de l'article"
msgid "File set"
msgstr "Collection de fichiers"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Quand"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Type"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Activé"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Tableau de bord"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Echec de connexion !"
@@ -2757,10 +2503,6 @@ msgstr "Adresse IPv6"
msgid "Nameserver / DNS Lookup"
msgstr "Nameserver / DNS Lookup"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Modèle de CPU"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr "Vitesse de téléchargement limitée par"
@@ -2773,6 +2515,10 @@ msgstr "processeur"
msgid "Disk speed"
msgstr "Vitesse du disque"
#: sabnzbd/skintext.py
msgid "System load"
msgstr "Charge du système"
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2786,23 +2532,10 @@ msgstr "Vitesse du dossier \"Download\""
msgid "Complete folder speed"
msgstr "Vitesse du dossier \"Complete\""
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Vitesse d'écriture"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr ""
"Impossible d'écrire. Vérifiez que le répertoire est accessible en écriture."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr "Bande passante Internet"
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Cliquez sur le bouton de test \"Répéter\" ci-dessous pour déterminer"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Refaire le test"
@@ -2997,10 +2730,6 @@ msgstr "Sécurité"
msgid "Enable HTTPS"
msgstr "Activer HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "non installé"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Active l'accès à l'interface via une adresse HTTPS."
@@ -3095,15 +2824,23 @@ msgstr ""
"Mettre les articles en cache pour réduire les accès disque.<br /><i>En "
"Octets, peut être suivi de K,M,G. Par exemple : \"64M\" ou \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgstr "Télécharger la sauvegarde"
msgid "Create backup"
msgstr "Créer une sauvegarde"
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
"Sauvegarder ou restaurer une sauvegarde du fichier de configuration et des "
"bases de données."
"Créer une sauvegarde du fichier de configuration et des bases de données "
"dans le Dossier de sauvegarde.<br>Si le Dossier de sauvegarde n'est pas "
"défini, la sauvegarde sera créée dans le Dossier des téléchargements "
"terminés.<br>Les sauvegardes récurrentes peuvent être configurées sur la "
"page Planification."
#: sabnzbd/skintext.py
msgid "Cleanup List"
@@ -3257,10 +2994,6 @@ msgstr "Dossiers utilisateur"
msgid "Browse"
msgstr "Parcourir"
#: sabnzbd/skintext.py
msgid "In"
msgstr "Dans"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Dossier temporaire de téléchargement"
@@ -3288,7 +3021,7 @@ msgstr ""
#: sabnzbd/skintext.py
msgid "Completed Download Folder"
msgstr "Dossier de téléchargements terminés"
msgstr "Dossier des téléchargements terminés"
#: sabnzbd/skintext.py
msgid ""
@@ -3320,7 +3053,7 @@ msgid ""
"/>Checked every few minutes."
msgstr ""
"Le téléchargement reprendra automatiquement si l'espace libre minimum est à "
"nouveau disponible.<br />S'applique aux dossiers de téléchargements "
"nouveau disponible.<br />S'applique aux dossiers des téléchargements "
"temporaires et terminés.<br />Vérifié toutes les quelques minutes."
#: sabnzbd/skintext.py
@@ -3399,6 +3132,20 @@ msgstr ""
"Emplacement de la file d'attente et de la base de données d'historique.<br "
"/><i>Ne peut être changé que lorsque la file d'attente est vide.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr "Dossier de sauvegarde"
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
"Emplacement où sont stockées les sauvegardes du fichier de configuration et "
"des bases de données.<br />Si laissé vide, la sauvegarde sera créée dans le "
"Dossier des téléchargements terminés."
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3606,19 +3353,6 @@ msgstr ""
"Certains serveurs proposent un NZB alternatif lorsqu'un téléchargement "
"échoue."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr "Utiliser les tags de l'indexeur"
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
"Lors du tri, utiliser les tags de l'indexeur pour le titre, la saison, "
"l'episode, etc. Sinon, toutes les dénominations seront dérivées du fichier "
"NZB."
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Activer le renommage du dossier"
@@ -3675,6 +3409,16 @@ msgstr ""
"Trier automatiquement la file d'attente lorsqu'une nouvelle tâche est "
"ajoutée."
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
"La file d'attente sera triée toutes les 30 secondes si le % de "
"téléchargement est sélectionné."
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Délai de propagation"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3706,6 +3450,14 @@ msgid "Replace spaces with underscores in folder names."
msgstr ""
"Remplace les espaces par des underscores ( _ ) dans les noms de dossiers."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr "Remplacer les underscores dans le nom du dossier"
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr "Remplacer les underscores par des points dans les noms de dossiers"
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Remplacer les points dans les noms de dossier"
@@ -3812,10 +3564,6 @@ msgstr "Appellation"
msgid "Quota"
msgstr "Quota"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indexation"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Combien peut-être télécharger ce mois (K/M/G)"
@@ -4080,7 +3828,7 @@ msgstr "Ajouter une planification"
msgid "Frequency"
msgstr "Fréquence"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Action"
@@ -4133,6 +3881,16 @@ msgstr "Modifier"
msgid "Next scan at"
msgstr "Prochain scan à"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordre"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Type"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4488,11 +4246,6 @@ msgstr "Dossier/Chemin"
msgid "Indexer Categories / Groups"
msgstr "Catégories de l'indexeur / Groupes"
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4523,10 +4276,6 @@ msgstr "Appliquer les filtres"
msgid "Presets"
msgstr "Modèles prédéfinis"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Exemple"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4536,11 +4285,6 @@ msgstr "Tri des films"
msgid "Enable Movie Sorting"
msgstr "Activer le tri des films"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr ""
"Conserver les téléchargements disséminés dans des dossiers supplémentaires"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Catégories affectées"
@@ -4757,51 +4501,11 @@ msgstr "Éditer les détails du NZB"
msgid "Delete"
msgstr "Supprimer"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Tout en haut"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Monter"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Descendre"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Tout en bas"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Tous"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Inverser"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Nom de fichier"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Sujet"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Sélection"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Espace libre"
@@ -4826,6 +4530,10 @@ msgstr "Tout sélectionner"
msgid "Restart SABnzbd"
msgstr "Redémarrer SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "En fin de file d'attente"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Options de statut et d'interface"
@@ -4903,6 +4611,10 @@ msgstr "Réparer la file d'attente"
msgid "Show active connections"
msgstr "Afficher les connexions actives"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Débloquer"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Tâches orphelines"
@@ -4935,18 +4647,6 @@ msgstr "Vous pouvez également indiquer un nom de fichier"
msgid "Submit"
msgstr "Soumettre"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Ouvrir URL Info."
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Soumis. Merci !"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Pas de sélection!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Supprimer tous les fichiers sélectionnés"
@@ -4955,6 +4655,14 @@ msgstr "Supprimer tous les fichiers sélectionnés"
msgid "Hide/show completed files"
msgstr "Afficher/masquer les fichiers terminés"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Tout en haut"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Tout en bas"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Afficher le journal des scripts"
@@ -4977,6 +4685,10 @@ msgid "Glitter has some (new) features you might like!"
msgstr ""
"Glitter a des (nouvelles) fonctionnalités que vous devriez apprécier !"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personnalisé"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "Affichage compact"
@@ -4989,6 +4701,10 @@ msgstr "Toujours utiliser la largeur totale de l'écran"
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "Mise en page par onglets <br/>(file d'attente et historique séparés)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Vitesse"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Confirmer les suppressions de la file d'attente"
@@ -5025,6 +4741,10 @@ msgstr ""
"Tous les noms d'utilisateur, mots de passe et clés API sont automatiquement "
"supprimés du journal et de la copie de vos réglages."
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr "Trier par % téléchargé <small>Most&rarr;Least</small>"
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Trier par Age <small>Moins récent&rarr;Plus récent</small>"
@@ -5172,20 +4892,6 @@ msgstr ""
"Ce logiciel est gratuit, et vous êtes invité à le redistribuer sous certaines conditions.\n"
"Il est distribué sous licence GNU GENERAL PUBLIC LICENSE Version 2 ou toute autre version ultérieure.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Pour pouvoir télécharger sur les newsgroups, il est nécessaire d'avoir un "
"fournisseur usenet. Votre FAI peut vous fournir un accès, cependant un "
"fournisseur usenet premium est recommandé."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr ""
"Vous n'avez pas de fournisseur usenet? Nous vous recommendons d'essayer %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5259,10 +4965,6 @@ msgstr ""
"Protocole SSL inconnu: essayez de désactiver SSL ou de vous connecter sur un"
" autre port."
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Adresse du serveur erronée"
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Le serveur a interrompu l'ouverture de session."

View File

@@ -8,7 +8,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: ION, 2022\n"
"Language-Team: Hebrew (https://www.transifex.com/sabnzbd/teams/111101/he/)\n"
@@ -182,11 +182,7 @@ msgstr "בחן התראה"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;פותר כתובת"
#: sabnzbd/api.py
msgid "unknown"
msgstr "בלתי ידוע"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "אין"
@@ -284,6 +280,10 @@ msgstr "%s אינה כתובת דוא״ל תקפה"
msgid "Server address required"
msgstr "כתובת שרת דרושה"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "כתובת שרת בלתי תקפה."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr "%s הוא לא תסריט תקף"
@@ -380,7 +380,7 @@ msgstr "אי־האפלה שינתה שם של %d קבצים"
msgid "Direct Unpack"
msgstr "פריקה ישירה"
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "הושלם"
@@ -439,7 +439,7 @@ msgstr "השרת %s ייתקל בהתעלמות למשך %s דקות"
#. Warning message
#: sabnzbd/downloader.py
msgid "There are no active servers!"
msgstr ""
msgstr "אין שרתים פעילים!"
#. Error message
#: sabnzbd/downloader.py
@@ -606,6 +606,18 @@ msgstr "שמירת %s נכשלה"
msgid "Loading %s failed"
msgstr "טעינת %s נכשלה"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr "%s אינו בר־כתיבה עם שמות קבצים עם תו מיוחד. זה יכול לגרום לבעיות."
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr "%s אינו בר־כתיבה בכלל. זה חוסם הורדות."
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr "חיבור מסורב מאת:"
@@ -637,14 +649,6 @@ msgid ""
"program:"
msgstr "מפתח API שגוי, השתמש במפתח ה־API מתצורה->כללי בתוכנית הצד השלישי שלך:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"אימות חסר, אנא הכנס שם משתמש/סיסמה מתוך תצורה->כללי לתוך תוכנית הצד השלישי "
"שלך:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "אימות נכשל, בדוק שם משתמש/סיסמה."
@@ -1194,27 +1198,27 @@ msgstr "בוטל, לא יכול להיות שלם"
msgid "Error importing %s"
msgstr "שגיאה ביבוא %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "כפול"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "מוצפן"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "גדול מדי"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "בלתי שלם"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "בלתי רצוי"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "המתן %s שניות"
@@ -1566,13 +1570,13 @@ msgid "Trying RAR-based verification"
msgstr "מנסה וידוא מבוסס RAR"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] וידוא מבוסס RAR נכשל: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "מוגן בסיסמה"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] וידוא מבוסס RAR נכשל: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "קבצי RAR וודאו בהצלחה"
@@ -1687,7 +1691,7 @@ msgstr "השהה למשך 3 שעות"
msgid "Pause for 6 hours"
msgstr "השהה למשך 6 שעות"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "כבה"
@@ -1756,11 +1760,6 @@ msgstr "מקור"
msgid "Servers"
msgstr "שרתים"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "כישלון"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1806,20 +1805,6 @@ msgstr "בדוק זריז…"
msgid "Verifying..."
msgstr "מוודא…"
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "מוריד"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "עיכוב רביה"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "מטלה"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1950,21 +1935,6 @@ msgstr "חירום"
msgid "Low"
msgstr "נמוכה"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "מ״ב"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "ג״ב"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "ב"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2010,54 +1980,6 @@ msgstr "חודש"
msgid "Year"
msgstr "שנה"
#: sabnzbd/skintext.py
msgid "January"
msgstr "ינואר"
#: sabnzbd/skintext.py
msgid "February"
msgstr "פברואר"
#: sabnzbd/skintext.py
msgid "March"
msgstr "מרץ"
#: sabnzbd/skintext.py
msgid "April"
msgstr "אפריל"
#: sabnzbd/skintext.py
msgid "May"
msgstr "מאי"
#: sabnzbd/skintext.py
msgid "June"
msgstr "יוני"
#: sabnzbd/skintext.py
msgid "July"
msgstr "יולי"
#: sabnzbd/skintext.py
msgid "August"
msgstr "אוגוסט"
#: sabnzbd/skintext.py
msgid "September"
msgstr "ספטמבר"
#: sabnzbd/skintext.py
msgid "October"
msgstr "אוקטובר"
#: sabnzbd/skintext.py
msgid "November"
msgstr "נובמבר"
#: sabnzbd/skintext.py
msgid "December"
msgstr "דצמבר"
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "יום בחודש"
@@ -2082,14 +2004,6 @@ msgstr "היום"
msgid "Total"
msgstr "סה״כ"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "מותאם אישית"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "מהירות"
#: sabnzbd/skintext.py
msgid "on"
msgstr "פועל"
@@ -2118,42 +2032,10 @@ msgstr "או"
msgid "Host"
msgstr "מארח"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "הער"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "שלח"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "ביטול"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "אחר"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "דווח"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "וידאו"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "שמע"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "לא בשימוש"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "או פחות"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "התחבר"
@@ -2166,11 +2048,6 @@ msgstr "התנתק"
msgid "Remember me"
msgstr "זכור אותי"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "הכלי להורדה אוטומטית של Usenet"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2185,11 +2062,6 @@ msgstr "שומר…"
msgid "Are you sure?"
msgstr "האם אתה בטוח?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "למחוק את כל הקבצים שהורדו?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2289,22 +2161,6 @@ msgstr "חיפוש"
msgid "Download Dir"
msgstr "תיקיית הורדות"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "מושהה"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "%s מאמרים הוטמנו (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "עומס מערכת"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "שחרור חדש %s זמין באתר"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "האם אתה בטוח שאתה רוצה לכבות את SABnzbd?"
@@ -2314,21 +2170,11 @@ msgstr "האם אתה בטוח שאתה רוצה לכבות את SABnzbd?"
msgid "Add"
msgstr "הוסף"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "הוסף קובץ"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "קטגוריה"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "מעבד"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2349,21 +2195,6 @@ msgstr "+פריקה"
msgid "+Delete"
msgstr "+מחיקה"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "ת"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "פ"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "מ"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2379,11 +2210,6 @@ msgstr "עצירה"
msgid "Enter URL"
msgstr "הכנס כתובת"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "בסיום תור"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2404,36 +2230,16 @@ msgstr "חרוף מחשב"
msgid "Shutdown SABnzbd"
msgstr "כבה את SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "מגבלת מהירות"
msgid "Processing"
msgstr "מעבד"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "סידור"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "שם"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "זמן משוער"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "גיל"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "מחק"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2464,11 +2270,6 @@ msgstr "טהר הורדות"
msgid "Purge NZBs & Delete Files"
msgstr "טהר הורדות ומחק קבצים"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "נסה שוב את כל העבודות הנכשלות"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2479,11 +2280,6 @@ msgstr "הסר NZB"
msgid "Remove NZB & Delete Files"
msgstr "הסר NZB ומחק קבצים"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "מתוך"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2503,11 +2299,6 @@ msgstr "ידני"
msgid "Reset Quota now"
msgstr "אפס מכסה כעת"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "למחוק את כל הפריטים השלמים מההיסטוריה?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2564,25 +2355,8 @@ msgstr "נתיב"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "נסה שוב כל הנכשלים"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "נסה שוב הכל"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "נגיף/זבל"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "אין שימור"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "בעיה אחרת"
msgid "Retry all failed jobs"
msgstr "נסה שוב את כל העבודות הנכשלות"
#. Status page button
#: sabnzbd/skintext.py
@@ -2636,21 +2410,6 @@ msgstr "+ ניפוי תקלים"
msgid "Connections"
msgstr "חיבורים"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "אזהרות אחרונות"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "נקה"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "בטל חסימה"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2661,26 +2420,11 @@ msgstr "מזהי מאמר"
msgid "File set"
msgstr "ערכת קבצים"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "מתי"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "סוג"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "מאופשר"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "לוח מחוונים"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "חיבור נכשל!"
@@ -2701,10 +2445,6 @@ msgstr "כתובת IPv6"
msgid "Nameserver / DNS Lookup"
msgstr "שם שרת / חיפוש DNS"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "דגם יע״ם"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr "מהירות הורדה מוגבלת ע״י"
@@ -2717,6 +2457,10 @@ msgstr "יע״מ"
msgid "Disk speed"
msgstr "מהירות דיסק"
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2730,22 +2474,10 @@ msgstr "מהירות תיקיית הורדות"
msgid "Complete folder speed"
msgstr "מהירות תיקיית שלמים"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "מהירות כתיבה"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "לא היה יכול לכתוב. בדוק שהספרייה ניתנת לכתיבה."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr "רוחב־פס אינטרנט"
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "לחץ על הכפתור חזור על בחינה למטה כדי לקבוע"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "חזור על בחינה"
@@ -2930,10 +2662,6 @@ msgstr "אבטחה"
msgid "Enable HTTPS"
msgstr "אפשר HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "לא מותקן"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "אפשר מתן גישה אל הממשק מכתובת HTTPS."
@@ -3021,13 +2749,18 @@ msgstr ""
"הטמן מאמרים בזיכרון כדי להפחית גישת דיסק.<br /><i>בבתים, יכול לבוא עם K,M,G."
" לדוגמה: \"64M\" או \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgstr "הורד גיבוי"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgstr "שמור או שחזר גיבוי של קובץ התצורה ומסדי נתונים."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
msgid "Cleanup List"
@@ -3174,10 +2907,6 @@ msgstr "תיקיות משתמש"
msgid "Browse"
msgstr "עיין"
#: sabnzbd/skintext.py
msgid "In"
msgstr "ב"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "תיקיית הורדות זמניות"
@@ -3308,6 +3037,17 @@ msgstr ""
"מיקום עבור מנהלן התור ומסד נתוני ההיסטוריה.<br /><i>ניתן לשינוי רק כאשר התור"
" ריק.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr "<i>נתונים <b>לא</b> יועברו. דורש הפעלה מחדש של SABnzbd!</i>"
@@ -3498,18 +3238,6 @@ msgstr "בכישלון, נסה NZB חלופי"
msgid "Some servers provide an alternative NZB when a download fails."
msgstr "מספר שרתים מספקים קובץ NZB חלופי כאשר הורדה נכשלת."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr "השתמש בתגים ממדדן"
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
"בעת מיון, השתמש בתגים ממדדן עבור כותרת, עונה, פרק וכדומה. אחרת כל מתן השמות "
"נגזר משם קובץ NZB."
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "אפשר שינוי שם תיקייה"
@@ -3562,6 +3290,14 @@ msgstr "מיין תור באופן אוטומטי"
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr "מיין עבודות בתור באופן אוטומטי כאשר עבודה חדשה מתווספת."
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr "התור ימוין כל 30 שניות אם האפשרות % ירד נבחרה."
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "עיכוב רביה"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3591,6 +3327,14 @@ msgstr "החלף רווחים בשמות תיקיות"
msgid "Replace spaces with underscores in folder names."
msgstr "החלף רווחים בקווים תחתונים בשמות תיקיות."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "החלף נקודות בשמות תיקיות"
@@ -3690,10 +3434,6 @@ msgstr "מתן שמות"
msgid "Quota"
msgstr "מכסה"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "אחסון במדד"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "כמה ניתן להוריד החודש (ק״ב/מ״ב/ג״ב)"
@@ -3949,7 +3689,7 @@ msgstr "הוסף תזמון"
msgid "Frequency"
msgstr "תדירות"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "פעולה"
@@ -4000,6 +3740,16 @@ msgstr "ערוך"
msgid "Next scan at"
msgstr "הסריקה הבאה במועד"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "סידור"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "סוג"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4348,11 +4098,6 @@ msgstr "תיקייה/נתיב"
msgid "Indexer Categories / Groups"
msgstr "קטגוריות / קבוצות של מדדן"
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4383,10 +4128,6 @@ msgstr "החל מסננים"
msgid "Presets"
msgstr "קדם־קביעות"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "דוגמה"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4396,10 +4137,6 @@ msgstr "מיון סרטים"
msgid "Enable Movie Sorting"
msgstr "אפשר מיון סרטים"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "שמור הורדות רפויות בתיקיות נוספות"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "קטגוריות מושפעות"
@@ -4615,51 +4352,11 @@ msgstr "ערוך פרטי NZB"
msgid "Delete"
msgstr "מחק"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "ראש"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "למעלה"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "למטה"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "תחתית"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "הכל"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "הפוך"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "שם קובץ"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "נושא"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "בחירה"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "שטח פנוי"
@@ -4684,6 +4381,10 @@ msgstr "סמן הכל"
msgid "Restart SABnzbd"
msgstr "הפעל מחדש את SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "בסיום תור"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "אפשרויות של מעמד וממשק"
@@ -4760,6 +4461,10 @@ msgstr "תקן תור"
msgid "Show active connections"
msgstr "הראה חיבורים פעילים"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "בטל חסימה"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "עבודות יתומות"
@@ -4792,18 +4497,6 @@ msgstr "ציין באופן רשותי שם קובץ"
msgid "Submit"
msgstr "הגש"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "פתח כתובת של מידע"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "הוגש. תודה!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "שום דבר לא נבחר!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "הסר את כל הקבצים הנבחרים"
@@ -4812,6 +4505,14 @@ msgstr "הסר את כל הקבצים הנבחרים"
msgid "Hide/show completed files"
msgstr "הסתר/הראה קבצים שלמים"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "ראש"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "תחתית"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "הצג יומן תסריטים"
@@ -4832,6 +4533,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr "אל Glitter יש מספר מאפיינים (חדשים) שאתה עשוי לאהוב!"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "מותאם אישית"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "פריסה צפופה"
@@ -4844,6 +4549,10 @@ msgstr "השתמש תמיד ברוחב של מסך מלא"
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "פריסה בלשוניות<br/>(תור והיסטוריה נפרדים)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "מהירות"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "אשר מחיקות תור"
@@ -4880,6 +4589,10 @@ msgstr ""
"כל שמות המשתמש, הסיסמאות ומפתחות API מוסרים באופן אוטומטי מהיומן ומהעותק "
"הכלול של ההגדרות שלך."
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr "מיין לפי % ירד <small>הכי הרבה&rarr;הכי מעט</small>"
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "מיין לפי גיל <small>החדש ביותר&larr;הישן ביותר</small>"
@@ -5026,18 +4739,6 @@ msgstr ""
"זו תוכנה חינמית, ואתה מוזמן להפיצה מחדש תחת תנאים מסוימים.\n"
"היא ברישיון תחת רישיון ציבורי כללי GNU גרסה 2 או (לבחירתך) כל גרסה שהיא מאוחרת יותר.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"על מנת להוריד מן Usenet תצטרך גישה אל ספק. ספק שירותי האינטרנט שלך עשוי לספק"
" לך גישה, אולם מומלץ ספק פרימיום."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "אין לך ספק Usenet? אנו ממליצים לנסות את %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5106,10 +4807,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr "פרוטוקול SSL בלתי ידוע: נסה להשבית SSL או להתחבר על פתחה שונה."
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "כתובת שרת בלתי תקפה."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "שרת יצא במהלך רצף כניסות."

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/sabnzbd/teams/111101/nb/)\n"
@@ -182,11 +182,7 @@ msgstr "Test varslingen"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Løs adresse"
#: sabnzbd/api.py
msgid "unknown"
msgstr "ukjent"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Ingen"
@@ -283,6 +279,10 @@ msgstr "%s er ikke en godkjent e-post-adresse"
msgid "Server address required"
msgstr "Krever server-adresse"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ugyldig server-adresse."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -378,7 +378,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Ferdig"
@@ -602,6 +602,18 @@ msgstr "Lagring av %s mislyktes"
msgid "Loading %s failed"
msgstr "Lasting av %s mislyktes"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -635,14 +647,6 @@ msgstr ""
"API-nøkkel er feil, bruk API-nøkkel fra Konfigurasjon->Generelt i ditt "
"tredjepartsprogram:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Autentisering mangler, angi brukernavn/passord fra Konfigurasjon->Generelt i"
" ditt tredjepartsprogram:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Godkjenning mislyktes, kontroller brukernavn og passord."
@@ -1188,27 +1192,27 @@ msgstr "Avbrutt, kan ikke fullføres"
msgid "Error importing %s"
msgstr "Kunne ikke importere %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUPLIKAT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "KRYPTERT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "FOR STOR"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "UFULLSTENDIG"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "UØNSKET"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "VENT %s sek"
@@ -1556,13 +1560,13 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Passord"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr ""
@@ -1677,7 +1681,7 @@ msgstr "Pause 3 timer"
msgid "Pause for 6 hours"
msgstr "Pause 6 timer"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Avslutt"
@@ -1746,11 +1750,6 @@ msgstr "Kilde"
msgid "Servers"
msgstr "Servere"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Feil"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1796,20 +1795,6 @@ msgstr "Hurtigkontroll..."
msgid "Verifying..."
msgstr "Verifserer..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Laster ned"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Oppgave"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1940,21 +1925,6 @@ msgstr "Nødssituasjon"
msgid "Low"
msgstr "Lav"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2000,54 +1970,6 @@ msgstr "Måned"
msgid "Year"
msgstr "År"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Dag i måneden"
@@ -2072,14 +1994,6 @@ msgstr "I dag"
msgid "Total"
msgstr "Totalt"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Tilpasse"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Hastighet"
#: sabnzbd/skintext.py
msgid "on"
msgstr "på"
@@ -2108,42 +2022,10 @@ msgstr "eller"
msgid "Host"
msgstr "Adresse"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Kommentar"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Send"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Avbryt"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Andre"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Rapport"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Video"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Lyd"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Ubrukt"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "eller mindre"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Logg på"
@@ -2156,11 +2038,6 @@ msgstr "Logg av"
msgid "Remember me"
msgstr "Husk meg"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Det automatiske usenet nedlastnings verktøyet"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2175,11 +2052,6 @@ msgstr "Lagrer.."
msgid "Are you sure?"
msgstr "Er du sikker?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Slett alle nedlastninger?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2218,7 +2090,7 @@ msgstr ""
#. Main menu item
#: sabnzbd/skintext.py
msgid "Support the project, Donate!"
msgstr ""
msgstr "Støtt prosjektet, donèr!"
#. Main menu item
#: sabnzbd/skintext.py
@@ -2279,22 +2151,6 @@ msgstr "Søk"
msgid "Download Dir"
msgstr "Midlertidig nedlastingsmappe"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "Pause"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "Lagret %s artikler (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Systemlast"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Ny utgave %s tilgjengelig"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Er sikker på at du vil slå av SABnzbd?"
@@ -2304,21 +2160,11 @@ msgstr "Er sikker på at du vil slå av SABnzbd?"
msgid "Add"
msgstr "Legg-til"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Legg til fil"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Kategori"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Bearbeidinger"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2339,21 +2185,6 @@ msgstr "+Pakker opp"
msgid "+Delete"
msgstr "+Fjern"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "P"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "T"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2369,11 +2200,6 @@ msgstr "Stopp"
msgid "Enter URL"
msgstr "URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Når køen er ferdig"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2394,36 +2220,16 @@ msgstr "Dvalemodus PC"
msgid "Shutdown SABnzbd"
msgstr "Avslutning av SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Hastighetsgrense"
msgid "Processing"
msgstr "Bearbeidinger"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Sortering"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Navn"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Tid igjen"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "Alder"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Fjern"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2454,11 +2260,6 @@ msgstr "Slett NZB-filer"
msgid "Purge NZBs & Delete Files"
msgstr "Slett NZB & tilhørende filer"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Prøv alle mislykkede jobber på nytt"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2469,11 +2270,6 @@ msgstr "Fjern NZB"
msgid "Remove NZB & Delete Files"
msgstr "Fjern NZB & slett filer"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "av"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2493,11 +2289,6 @@ msgstr "manuelt"
msgid "Reset Quota now"
msgstr "Nullstill kvote nå"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Slett alle fullførte nedlastinger fra historie?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2554,27 +2345,8 @@ msgstr "Snarvei"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Prøv alle mislykkede på nytt"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Prøv alle på nytt"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr ""
"Det du prøver å laste ned er eldre enn hva usenet leverandøren din har "
"lagret"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Andre problemer"
msgid "Retry all failed jobs"
msgstr "Prøv alle mislykkede jobber på nytt"
#. Status page button
#: sabnzbd/skintext.py
@@ -2626,21 +2398,6 @@ msgstr "+ Feilsøking"
msgid "Connections"
msgstr "Tilkoblinger"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Seneste Advarsler"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "slette"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Fjern blokkering"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2651,26 +2408,11 @@ msgstr "Artikkel-id"
msgid "File set"
msgstr "Filsett"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Når"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Type"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Aktivert"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Kontrollpanel"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Tilkobling mislykket!"
@@ -2691,10 +2433,6 @@ msgstr "IPv6-adresse"
msgid "Nameserver / DNS Lookup"
msgstr "Navnserver / DNS oppslag"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "CPU-modell"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2707,6 +2445,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2720,22 +2462,10 @@ msgstr "Nedlastingsmappe-hastighet"
msgid "Complete folder speed"
msgstr "Ferdig mappe-hastighet"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Skrivehastighet"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "Kunne ikke skrive. Sjekk skrive rettigheter til mappen."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Klikk på gjenta test knappen under for å bestemme."
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Gjenta test"
@@ -2916,10 +2646,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "HTTPS Aktivere"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "(ikke installert)"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Aktiverer tilgangen til webgrensesnittet med HTTPS adresse."
@@ -3007,12 +2733,17 @@ msgstr ""
"Lagrer artikler i minnet for å redusere diskaktivitet.<br /><i>I bytes, "
"fulgt av K,M,G. For eksempel: \"64M\" eller \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3159,10 +2890,6 @@ msgstr "Brukermapper"
msgid "Browse"
msgstr "Bla gjennom"
#: sabnzbd/skintext.py
msgid "In"
msgstr "Hvor:"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Midlertidig nedlastingsmappe"
@@ -3292,6 +3019,17 @@ msgstr ""
"Lokasjon for køadmin og historikkdatabase.<br /><i>Kan bare endres når køen "
"er tom.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr "<i>Data vil <b>ikke</b> bli flyttet. Krever SABnzbd restart!</i>"
@@ -3481,16 +3219,6 @@ msgstr "Når den feiler, prøv alternativ NZB-fil"
msgid "Some servers provide an alternative NZB when a download fails."
msgstr "Noen servere vil gi en alternativ NZB når en nedlasting mislykkes."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Aktiver omdøping av mappe"
@@ -3543,6 +3271,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3570,6 +3306,14 @@ msgstr "Erstatt mellomrom i mappenavn"
msgid "Replace spaces with underscores in folder names."
msgstr "Erstatt mellomrom med understrek i mappenavn."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Erstatt punktum i mappenavn"
@@ -3667,10 +3411,6 @@ msgstr "Filnavn"
msgid "Quota"
msgstr "Kvote"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indeksering"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Hvor mye can lastes ned denne måneden (K/M/G)"
@@ -3923,7 +3663,7 @@ msgstr "Legg til nedlastingsplan"
msgid "Frequency"
msgstr "Hyppighet"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Handling"
@@ -3975,6 +3715,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Sortering"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Type"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4319,11 +4069,6 @@ msgstr "Mappe/Søkesti"
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4354,10 +4099,6 @@ msgstr ""
msgid "Presets"
msgstr "For innstillinger"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Eksempel"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4367,10 +4108,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Aktiver filmsortering"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "La nedlastningen i ekstramappe være"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Påvirkede kategorier"
@@ -4587,51 +4324,11 @@ msgstr "Endre NZB detaljer"
msgid "Delete"
msgstr "Fjern"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Topp"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Opp"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Ned"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Bunn"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Alle"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Invertere"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Filnavn"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Emvne"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Utvalg"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Ledig plass"
@@ -4656,6 +4353,10 @@ msgstr "Merk alle"
msgid "Restart SABnzbd"
msgstr "Start SABnzbd på nytt"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Når køen er ferdig"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Status og grensesnittalternativer"
@@ -4733,6 +4434,10 @@ msgstr "Reparer Kø"
msgid "Show active connections"
msgstr "Vis aktive tilkoblinger"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Fjern blokkering"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Etterlatte jobber"
@@ -4765,18 +4470,6 @@ msgstr "Valgfritt spesifiser filnavn"
msgid "Submit"
msgstr "Send"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Åpne informasjons-URL"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Sendt. Takk!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Ingenting er valgt!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Fjern alle valgte filer"
@@ -4785,6 +4478,14 @@ msgstr "Fjern alle valgte filer"
msgid "Hide/show completed files"
msgstr "Skjul/vis fullførte filer"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Topp"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Bunn"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Se skriptlogg"
@@ -4803,6 +4504,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Tilpasse"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4815,6 +4520,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Hastighet"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Bekreft Sletting av Kø"
@@ -4849,6 +4558,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Sorter etter alder <small>Eldst&rarr;Ny</small>"
@@ -4997,19 +4710,6 @@ msgstr ""
"Dette er fri programvare, og du kan redistribuere det under visse vilkår.\n"
"Det er lisensier under GNU GENERAL PUBLIC LICENSE Versjon 2 eller senere versjoner.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"For å laste ned fra usenet trenger du tilgang til en leverandør. Din "
"internettleverandør kan gi deg tilgang, men en \"proff\" leverandør "
"anbefales."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Har du ikke noen usenet leverandør? Vi anbefaler å prøve %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5080,10 +4780,6 @@ msgstr ""
"Ukjent SSL-protokoll: Prøv å deaktivere SSL eller koble til på en annen "
"port."
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ugyldig server-adresse."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Server avbrøt undet innloggingssekvens"

View File

@@ -1,14 +1,14 @@
# SABnzbd Translation Template file MAIN
# Copyright 2007-2022 The SABnzbd-Team
# team@sabnzbd.org
#
#
# Translators:
# Rik Brouwer, 2022
# Safihre <safihre@sabnzbd.org>, 2022
#
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Dutch (https://www.transifex.com/sabnzbd/teams/111101/nl/)\n"
@@ -189,11 +189,7 @@ msgstr "Test melding"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Adres opzoeken"
#: sabnzbd/api.py
msgid "unknown"
msgstr "onbekend"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Geen"
@@ -298,6 +294,10 @@ msgstr "%s is geen geldig e-mailadres"
msgid "Server address required"
msgstr "Serveradres verplicht"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ongeldige servernaam"
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr "%s is geen geldig script."
@@ -400,7 +400,7 @@ msgstr "Bestandsnamen van %d bestand(en) aangepast."
msgid "Direct Unpack"
msgstr "Direct Uitpakken"
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Voltooid"
@@ -462,7 +462,7 @@ msgstr "Server %s wordt gedurende %s minuten genegeerd"
#. Warning message
#: sabnzbd/downloader.py
msgid "There are no active servers!"
msgstr ""
msgstr "Er zijn geen actieve servers!"
#. Error message
#: sabnzbd/downloader.py
@@ -629,6 +629,22 @@ msgstr "Opslaan van %s lukt niet"
msgid "Loading %s failed"
msgstr "Inlezen van %s mislukt"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
"Het is niet mogelijk bestanden met speciale tekens op te slaan in %s. Dit "
"geeft mogelijk problemen bij het verwerken van downloads."
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
"Het is niet mogelijk bestanden te schrijven in %s. Hierdoor kan er niet "
"gedownload worden."
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr "Verbinding geweigerd van: "
@@ -662,14 +678,6 @@ msgstr ""
"API-sleutel incorrect; vul de API-sleutel van 'Configuratie' => 'Algemeen' "
"in bij het externe programma:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Autenticatie ontbreekt; vul gebruikersnaam en wachtwoord van 'Configuratie' "
"=> 'Algemeen' in bij het externe programma:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Inloggen mislukt, controleer gebruikersnaam en wachtwoord."
@@ -1227,27 +1235,27 @@ msgstr "Afgebroken, kan niet voltooid worden"
msgid "Error importing %s"
msgstr "Fout bij importeren van %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUBBEL"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "VERSLEUTELD"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "TE GROOT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "ONVOLLEDIG"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "ONGEWENST"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "WACHT %s sec"
@@ -1600,13 +1608,13 @@ msgid "Trying RAR-based verification"
msgstr "Probeer RAR-verificatie"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] RAR verificatie niet gelukt: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Versleuteld"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] RAR verificatie niet gelukt: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "RAR bestanden zijn succesvol geverifieerd"
@@ -1721,7 +1729,7 @@ msgstr "Pauzeer 3 uur"
msgid "Pause for 6 hours"
msgstr "Pauzeer 6 uur"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Afsluiten"
@@ -1790,11 +1798,6 @@ msgstr "Bron"
msgid "Servers"
msgstr "Servers"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Mislukt"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1840,20 +1843,6 @@ msgstr "Snelle Controle..."
msgid "Verifying..."
msgstr "Verificatie..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Downloaden"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Verspreidingswachttijd"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Taak"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1984,21 +1973,6 @@ msgstr "Noodgeval"
msgid "Low"
msgstr "Laag"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2044,54 +2018,6 @@ msgstr "maand"
msgid "Year"
msgstr "jaar"
#: sabnzbd/skintext.py
msgid "January"
msgstr "Januari"
#: sabnzbd/skintext.py
msgid "February"
msgstr "Februari"
#: sabnzbd/skintext.py
msgid "March"
msgstr "Maart"
#: sabnzbd/skintext.py
msgid "April"
msgstr "April"
#: sabnzbd/skintext.py
msgid "May"
msgstr "Mei"
#: sabnzbd/skintext.py
msgid "June"
msgstr "Juni"
#: sabnzbd/skintext.py
msgid "July"
msgstr "Juli"
#: sabnzbd/skintext.py
msgid "August"
msgstr "Augustus"
#: sabnzbd/skintext.py
msgid "September"
msgstr "September"
#: sabnzbd/skintext.py
msgid "October"
msgstr "Oktober"
#: sabnzbd/skintext.py
msgid "November"
msgstr "November"
#: sabnzbd/skintext.py
msgid "December"
msgstr "December"
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Dag van de maand"
@@ -2116,14 +2042,6 @@ msgstr "Vandaag"
msgid "Total"
msgstr "Totaal"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Aangepast"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Snelheid"
#: sabnzbd/skintext.py
msgid "on"
msgstr "aan"
@@ -2152,42 +2070,10 @@ msgstr "of"
msgid "Host"
msgstr "Server"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Commentaar"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Verzenden"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Annuleren"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Overige"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Overzicht"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Video"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Audio"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Niet gebruikt"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "of minder"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Aanmelden"
@@ -2200,11 +2086,6 @@ msgstr "Afmelden"
msgid "Remember me"
msgstr "Mij onthouden"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "De automatische Usenet downloader"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2219,11 +2100,6 @@ msgstr "Opslaan.."
msgid "Are you sure?"
msgstr "Weet je het zeker?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Alle gedownloade bestanden verwijderen?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2323,22 +2199,6 @@ msgstr "Zoeken"
msgid "Download Dir"
msgstr "Map voor verwerkte downloads"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "PAUZE"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "%s artikelen (%s) gebuffered"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Sysload"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Nieuwe versie %s beschikbaar op"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Weet je zeker dat je SABnzbd wilt afsluiten?"
@@ -2348,21 +2208,11 @@ msgstr "Weet je zeker dat je SABnzbd wilt afsluiten?"
msgid "Add"
msgstr "Toevoegen"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Bestand toevoegen"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Categorie"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Nabewerking"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2383,21 +2233,6 @@ msgstr "+Uitpakken"
msgid "+Delete"
msgstr "+Opschonen"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "U"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "O"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2413,11 +2248,6 @@ msgstr "Stop"
msgid "Enter URL"
msgstr "URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Na afronden wachtrij"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2438,36 +2268,16 @@ msgstr "PC slapen"
msgid "Shutdown SABnzbd"
msgstr "SABnzbd afsluiten"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Max. snelheid"
msgid "Processing"
msgstr "Nabewerking"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Volgorde"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Naam"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Klaar om"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "Leeftijd"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Wis"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2498,11 +2308,6 @@ msgstr "Verwijder alle downloads"
msgid "Purge NZBs & Delete Files"
msgstr "Verwijderen incl. bestanden"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Probeer alle mislukte downloads opnieuw"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2513,11 +2318,6 @@ msgstr "Verwijder download"
msgid "Remove NZB & Delete Files"
msgstr "Verwijder download incl. bestanden"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "van"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2537,11 +2337,6 @@ msgstr "handmatig"
msgid "Reset Quota now"
msgstr "Quotum nu resetten"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Verwijder alle geslaagde items uit Geschiedenis?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2598,25 +2393,8 @@ msgstr "Pad"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Probeer alle mislukte"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Alles opnieuw proberen"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Buiten retentie"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Ander probleem"
msgid "Retry all failed jobs"
msgstr "Probeer alle mislukte downloads opnieuw"
#. Status page button
#: sabnzbd/skintext.py
@@ -2670,21 +2448,6 @@ msgstr "+Debug"
msgid "Connections"
msgstr "Verbindingen"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Recentste meldingen"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "Wissen"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Deblokkeren"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2695,26 +2458,11 @@ msgstr "Artikelnummer"
msgid "File set"
msgstr "Bestandsverzameling"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Wanneer"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Filter"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Actief"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Dashboard"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Verbinding mislukt!"
@@ -2735,10 +2483,6 @@ msgstr "IPv6-adres"
msgid "Nameserver / DNS Lookup"
msgstr "Nameserver / DNS opzoeken"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "CPU-model"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr "Downloadsnelheid beperkt door"
@@ -2751,6 +2495,10 @@ msgstr "Processor"
msgid "Disk speed"
msgstr "Hardeschijf"
#: sabnzbd/skintext.py
msgid "System load"
msgstr "Systeembelasting"
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2764,22 +2512,10 @@ msgstr "Snelheid van download map"
msgid "Complete folder speed"
msgstr "Snelheid van verwerkte downloads map"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Schrijfsnelheid"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "Kan niet schrijven. Controleer of de map beschrijfbaar is."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr "Internet Bandbreedte"
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Klik op de Herhaal Test knop om te meten"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Herhaal test"
@@ -2973,10 +2709,6 @@ msgstr "Beveiliging"
msgid "Enable HTTPS"
msgstr "Activeer HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "niet geinstalleerd"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Webinterface beschikbaar via HTTPS"
@@ -3071,13 +2803,22 @@ msgstr ""
"Bewaar de artikelen in het werkgeheugen (verminderd schijf gebruik).<br "
"/><i>In bytes, in K,M,G notatie. Bijvoorbeeld: \"64M\" of \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgstr "Backup downloaden"
msgid "Create backup"
msgstr "Maak backup"
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgstr "Backup van de configuratie en de database opslaan of herstellen"
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
"Maak een backup van de configuratie en de database in de Backup Map.<br>Als "
"er geen Backup Map is ingesteld wordt de backup aangemaakt in de Map voor "
"verwerkte downloads.<br>Automatische backups kunnen worden ingesteld via de "
"Taakplanner."
#: sabnzbd/skintext.py
msgid "Cleanup List"
@@ -3226,10 +2967,6 @@ msgstr "Gebruikersmappen"
msgid "Browse"
msgstr "Bladeren"
#: sabnzbd/skintext.py
msgid "In"
msgstr "In"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Tijdelijke download map"
@@ -3358,6 +3095,20 @@ msgstr ""
"Map waar de wachtrij en geschiedenisdatabase worden opgeslagen.<br /><i>Kan "
"alleen gewijzigd worden als de wachtrij leeg is.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr "Backup map"
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
"Map waar de backups van de configuratie en databases worden opgeslagen.<br "
"/>Als deze map niet is ingesteld worden de backups aangemaakt in de Map voor"
" verwerkte downloads."
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3564,19 +3315,6 @@ msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
"Sommige indexers hebben een alternatieve NZB wanneer een download mislukt"
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr "Gebruik indexer informatie"
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
"Maak tijdens het sorteren gebruik van informatie van de indexer zoals titel,"
" seizoen, aflevering, enz. Anders wordt alle informatie uit de naam van de "
"download gehaald."
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Gebruik tijdelijke mapnamen"
@@ -3632,6 +3370,16 @@ msgstr ""
"De wachtrij wordt automatisch gesorteerd wanneer er een nieuwe opdracht "
"wordt toegevoegd"
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
"De wachtrij wordt elke 30 seconden opnieuw gesorteerd als de optie % "
"gedownload is gekozen."
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Verspreidingswachttijd"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3661,6 +3409,14 @@ msgstr "Vervang spaties in mapnamen"
msgid "Replace spaces with underscores in folder names."
msgstr "Vervang spaties door onderliggende streepjes in namen van mappen."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr "Vervang onderstrepingstekens in mapnamen"
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr "Vervang onderstrepingstekens door punten in mapnamen."
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Vervang punten in mapnamen"
@@ -3764,10 +3520,6 @@ msgstr "Naamgeving"
msgid "Quota"
msgstr "Quotum"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indexering"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Hoeval mag deze maand worden gedownload (K/M/G)"
@@ -4035,7 +3787,7 @@ msgstr "Taak toevoegen"
msgid "Frequency"
msgstr "Frequentie"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Actie"
@@ -4087,6 +3839,16 @@ msgstr "Wijzigen"
msgid "Next scan at"
msgstr "Wordt uitgevoerd om"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Volgorde"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Filter"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4441,11 +4203,6 @@ msgstr "Map/Pad"
msgid "Indexer Categories / Groups"
msgstr "Indexer Categorieën / Groepen"
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4476,10 +4233,6 @@ msgstr "Filters toepassen"
msgid "Presets"
msgstr "Standaardinstellingen"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Voorbeeld"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4489,10 +4242,6 @@ msgstr "Film sorteren"
msgid "Enable Movie Sorting"
msgstr "Film sorteren aan"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Zet downloads in aparte mappen"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Beïnvloede categorieën"
@@ -4709,51 +4458,11 @@ msgstr "Bewerk download details"
msgid "Delete"
msgstr "Verwijder"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Boven"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Hoger"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Lager"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Onder"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "alles"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "omkeren"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Bestandsnaam"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Onderwerp"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Selectie"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Vrije ruimte"
@@ -4778,6 +4487,10 @@ msgstr "Selecteer alles"
msgid "Restart SABnzbd"
msgstr "Start SABnzbd opnieuw"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Na afronden wachtrij"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Status en webinterface opties"
@@ -4854,6 +4567,10 @@ msgstr "Wachtrij reparatie"
msgid "Show active connections"
msgstr "Toon actieve verbindingen"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Deblokkeren"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Verweesde downloads"
@@ -4886,18 +4603,6 @@ msgstr "Geef eventueel een andere naam"
msgid "Submit"
msgstr "Verstuur"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Open Informatie URL"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Ingediend. Bedankt!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Niets geselecteerd!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Verwijder alle geselecteerde bestanden"
@@ -4906,6 +4611,14 @@ msgstr "Verwijder alle geselecteerde bestanden"
msgid "Hide/show completed files"
msgstr "Toon/verberg voltooide bestanden"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Boven"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Onder"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Toon Script resultaat"
@@ -4926,6 +4639,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr "Glitter heeft enkele (nieuwe) functies die je mogelijk aanspreken!"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Aangepast"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "Compacte weergave"
@@ -4938,6 +4655,10 @@ msgstr "Gebruik de volledige schermbreedte"
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "Weergave in tabs <br/>(wachtrij en geschiedenis apart weergeven)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Snelheid"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Bevestig verwijderen uit wachtrij"
@@ -4974,6 +4695,10 @@ msgstr ""
"Alle gebruikersnamen, wachtwoorden en API-sleutels worden automatisch "
"verwijderd uit het logbestand en de bijgevoegde kopie van je instellingen."
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr "Sorteer Op % Gedownload <small>Meest&rarr;Minst</small>"
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Sorteer op Leeftijd <small>Oud&rarr;Nieuw</small>"
@@ -5120,18 +4845,6 @@ msgstr ""
"Het is vrije software en je mag het, onder bepaalde voorwaarden, verder verspreiden.\n"
"De licentie is de GNU GENERAL PUBLIC LICENSE Versie 2 of (naar eigen keuze) een latere versie.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Om te kunnen downloaden van Usenet, heb je een provider nodig. Je Internet "
"bedrijf heeft misschien een server, maar we bevelen een betaalde server aan."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Heb je nog geen Usenet provider? Wij bevelen %s aan."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5203,10 +4916,6 @@ msgid ""
msgstr ""
"Onbekend SSL protocol: probeer het zonder SSL of probeer een andere poort."
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ongeldige servernaam"
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "De server stopte tijdens de login"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Polish (https://www.transifex.com/sabnzbd/teams/111101/pl/)\n"
@@ -177,11 +177,7 @@ msgstr "Powiadomienie testowe"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Rozwiązywanie adresu"
#: sabnzbd/api.py
msgid "unknown"
msgstr "nieznany"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Brak"
@@ -278,6 +274,10 @@ msgstr "%s nie jest prawidłowym adresem email"
msgid "Server address required"
msgstr "Wymagane jest podanie adresu serwera"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Nieprawidłowy adres serwera."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -373,7 +373,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Ukończone"
@@ -601,6 +601,18 @@ msgstr "Nie udało się zapisać %s"
msgid "Loading %s failed"
msgstr "Nie udało się wczytać %s"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -634,14 +646,6 @@ msgstr ""
"Klucz API jest nieprawidłowy, użyj klucza API z sekcji Konfiguracja->Ogólne "
"w zewnętrznym programie:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Brak danych uwierzytelniających, wprowadź nazwę użytkownika/hasło z sekcji "
"Konfiguracja->Ogólne do zewnętrznego programu:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Błąd połączenia, sprawdź nazwę użytkownika i hasło."
@@ -1189,27 +1193,27 @@ msgstr "Przerwano, nie można ukończyć"
msgid "Error importing %s"
msgstr "Błąd importu %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUPLIKAT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "ZASZYFROWANY"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "ZA DUŻY"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "NIEKOMPLETNY"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "NIEPOŻĄDANY"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "CZEKAM %s s"
@@ -1561,13 +1565,13 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Zabezpieczone hasłem"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr ""
@@ -1682,7 +1686,7 @@ msgstr "Wstrzymaj na 2 godziny"
msgid "Pause for 6 hours"
msgstr "Wstrzymaj na 6 godzin"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Zakończ"
@@ -1751,11 +1755,6 @@ msgstr "Źródło"
msgid "Servers"
msgstr "Serwery"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Niepowodzenie"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1801,20 +1800,6 @@ msgstr "Szybkie sprawdzanie..."
msgid "Verifying..."
msgstr "Weryfikowanie..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Pobieranie"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Zadanie"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1945,21 +1930,6 @@ msgstr "Awaryjny"
msgid "Low"
msgstr "Niski"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2005,54 +1975,6 @@ msgstr "Miesiąc"
msgid "Year"
msgstr "Rok"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Dzień miesiąca"
@@ -2077,14 +1999,6 @@ msgstr "Dzisiaj"
msgid "Total"
msgstr "Razem"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Własny"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Prędkość"
#: sabnzbd/skintext.py
msgid "on"
msgstr "włączone"
@@ -2113,42 +2027,10 @@ msgstr "lub"
msgid "Host"
msgstr "Host"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Komentarz"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Wyślij"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Anuluj"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Inne"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Zgłoś"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Wideo"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Audio"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Nieużywane"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "lub mniej"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr ""
@@ -2161,11 +2043,6 @@ msgstr ""
msgid "Remember me"
msgstr ""
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Automatyczne narzędzie do pobierania z Usenetu"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2180,11 +2057,6 @@ msgstr "Zapisywanie..."
msgid "Are you sure?"
msgstr "Czy jesteś pewien?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Usunąć wszystkie pobrane pliki?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2223,7 +2095,7 @@ msgstr ""
#. Main menu item
#: sabnzbd/skintext.py
msgid "Support the project, Donate!"
msgstr ""
msgstr "Wspomóż projekt!"
#. Main menu item
#: sabnzbd/skintext.py
@@ -2284,22 +2156,6 @@ msgstr "Szukaj"
msgid "Download Dir"
msgstr "Katalog pobierania"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "ZATRZYMANE"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "%s artykułów (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Obciążenie"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Nowe wydanie %s dostępne na"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Czy na pewno wyłączyć SABnzbd?"
@@ -2309,21 +2165,11 @@ msgstr "Czy na pewno wyłączyć SABnzbd?"
msgid "Add"
msgstr "Dodaj"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Dodaj plik"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Kategoria"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Przetwarzanie"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2344,21 +2190,6 @@ msgstr "+Rozpakuj"
msgid "+Delete"
msgstr "+Usuń"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "N"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "R"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "U"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2374,11 +2205,6 @@ msgstr "Stop"
msgid "Enter URL"
msgstr "Wprowadź URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Po ukończeniu kolejki"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2399,36 +2225,16 @@ msgstr "Hibernuj komputer"
msgid "Shutdown SABnzbd"
msgstr "Wyłącz SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Limit prędkości"
msgid "Processing"
msgstr "Przetwarzanie"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Kolejność"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Nazwa"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "ETA"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "Wiek"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Usuń"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2459,11 +2265,6 @@ msgstr "Wyczyść NZB"
msgid "Purge NZBs & Delete Files"
msgstr "Wyczyść NZB i usuń pliki"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Ponów wszystkie nieudane zadania"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2474,11 +2275,6 @@ msgstr "Usuń NZB"
msgid "Remove NZB & Delete Files"
msgstr "Usuń NZB i pliki"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "z"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2498,11 +2294,6 @@ msgstr "ręcznie"
msgid "Reset Quota now"
msgstr "Resetuj limit"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Usunąć z historii wszystkie ukończone pliki?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2559,25 +2350,8 @@ msgstr "Ścieżka"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Ponów wszystkie nieudane"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Ponów wszystkie"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Wirus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Poza okresem przechowywania"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Inny problem"
msgid "Retry all failed jobs"
msgstr "Ponów wszystkie nieudane zadania"
#. Status page button
#: sabnzbd/skintext.py
@@ -2629,21 +2403,6 @@ msgstr "+ Debugowanie"
msgid "Connections"
msgstr "Połączenia"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Ostatnie ostrzeżenia"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "wyczyść"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Odblokuj"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2654,26 +2413,11 @@ msgstr "Identyfikator artykułu"
msgid "File set"
msgstr "Zestaw plików"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Kiedy"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Typ"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Włączony"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Panel główny"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Połączenie nie powiodło się!"
@@ -2694,10 +2438,6 @@ msgstr "Adres IPv6"
msgid "Nameserver / DNS Lookup"
msgstr "Serwer DNS"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Model procesora"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2710,6 +2450,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2723,22 +2467,10 @@ msgstr "Szybkość zapisu w katalogu pobierania"
msgid "Complete folder speed"
msgstr "Szybkość zapisu w katalogu zakończonych"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Szybkość zapisu"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "Zapis nie powiódł się. Sprawdź uprawnienia katalogu do zapisu."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Kliknij znajdujący się poniżej przycisk Powtórz test, aby zmierzyć"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Powtórz test"
@@ -2918,10 +2650,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "Włącz HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "nie zainstalowane"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Włącz dostęp do interfejsu przez HTTPS"
@@ -3012,12 +2740,17 @@ msgstr ""
"dostępu do dysku.<br /><i>W bajtach, opcjonalnie z przyrostkiem K, M, G. "
"Przykład: \"64M\" lub \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3162,10 +2895,6 @@ msgstr "Katalogi użytkownika"
msgid "Browse"
msgstr "Przeglądaj"
#: sabnzbd/skintext.py
msgid "In"
msgstr "W"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Tymczasowy katalog pobierania"
@@ -3299,6 +3028,17 @@ msgstr ""
"Lokalizacja bazy danych administracyjnych i historycznych kolejki.<br "
"/><i>Można zmienić tylko kiedy kolejka jest pusta.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr "<i>Dane <b>nie</b> zostaną przeniesione. Wymaga restartu SABnzbd!</i>"
@@ -3488,16 +3228,6 @@ msgstr ""
"Niektóre serwery udostępniają alternatywne NZB, kiedy pobieranie kończy się "
"niepowodzeniem"
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Włącz zmianę nazw katalogów"
@@ -3550,6 +3280,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3577,6 +3315,14 @@ msgstr "Zastąp spacje w nazwach katalogów"
msgid "Replace spaces with underscores in folder names."
msgstr "Zastąp spacje w nazwach katalogów podkreśleniami"
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Zastąp kropki w nazwach katalogów"
@@ -3674,10 +3420,6 @@ msgstr "Nazwy"
msgid "Quota"
msgstr "Limit pobierania"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indeksowanie"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Ile danych można pobrać w miesiącu (K/M/G)"
@@ -3931,7 +3673,7 @@ msgstr "Dodaj harmonogram"
msgid "Frequency"
msgstr "Częstotliwość"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Działanie"
@@ -3983,6 +3725,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Kolejność"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Typ"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4327,11 +4079,6 @@ msgstr "Katalog/Ścieżka"
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4362,10 +4109,6 @@ msgstr ""
msgid "Presets"
msgstr "Predefiniowane"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Przykład"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4375,10 +4118,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Włącz sortowanie filmów"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Trzymaj niesklasyfikowane zadania w dodatkowych katalogach"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Dotyczy kategorii"
@@ -4595,51 +4334,11 @@ msgstr "Edytuj szczegóły NZB"
msgid "Delete"
msgstr "Usuń"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Na górę"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Wyżej"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Niżej"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Na dół"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Wszystko"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Odwróć"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Nazwa pliku"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Temat"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Zaznaczenie"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Wolne miejsce"
@@ -4664,6 +4363,10 @@ msgstr "Sprawdź wszystkie"
msgid "Restart SABnzbd"
msgstr "Uruchom ponownie SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Po ukończeniu kolejki"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Stan i opcje interfejsu"
@@ -4741,6 +4444,10 @@ msgstr "Naprawa kolejki"
msgid "Show active connections"
msgstr "Pokaż aktywne połączenia"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Odblokuj"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Porzucone zadania"
@@ -4773,18 +4480,6 @@ msgstr "Opcjonalnie podaj nazwę pliku"
msgid "Submit"
msgstr "Wyślij"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Otwórz URL informacyjny"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Wysłano. Dzięki!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Nic nie zaznaczono!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Usuń wszystkie zaznaczone pliki"
@@ -4793,6 +4488,14 @@ msgstr "Usuń wszystkie zaznaczone pliki"
msgid "Hide/show completed files"
msgstr "Pokaż/ukryj ukończone pliki"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Na górę"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Na dół"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Zobacz log skryptu"
@@ -4811,6 +4514,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Własny"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4823,6 +4530,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Prędkość"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Potwierdzaj usuwanie z kolejki"
@@ -4857,6 +4568,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Sortuj według wieku <small>Najstarsze&rarr;Najnowsze</small>"
@@ -5003,18 +4718,6 @@ msgstr ""
"To jest wolne oprogramowanie i mile widziane jest dalsze rozpowszechnianie go przez ciebie na określonych warunkach.\n"
"Program jest wydawany na licencji GNU GENERAL PUBLIC LICENSE w wersji 2 lub (według twojego wyboru) którejś z późniejszych wersji.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Pobieranie z Usenetu wymaga dostępu do dostawcy. Twój ISP może umożliwiać "
"dostęp, aczkolwiek zalecany jest dostawca klasy premium."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Nie masz dostawcy Usenet? Polecamy spróbować %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5087,10 +4790,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Nieprawidłowy adres serwera."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Serwer przerwał połączenie w trakcie logowania."

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. Notification - Status page, table column header, actual message
#: SABnzbd.py, sabnzbd/notifier.py, sabnzbd/skintext.py
@@ -181,11 +181,7 @@ msgstr "Notificação de teste"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Resolvendo endereço"
#: sabnzbd/api.py
msgid "unknown"
msgstr "desconhecido"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Nenhum"
@@ -282,6 +278,10 @@ msgstr "%s não é um endereço de e-mail válido"
msgid "Server address required"
msgstr "Endereço do servidor necessário"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Endereço do servidor inválido."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -379,7 +379,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Concluído"
@@ -605,6 +605,18 @@ msgstr "Falha ao salvar %s"
msgid "Loading %s failed"
msgstr "Falha ao carregar %s"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -638,14 +650,6 @@ msgstr ""
"Chave de API incorreta. Use a chave de API de Configuração->Geral em seu "
"programa de terceiros:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Autenticação faltando. Por favor insira usuário/senha de Configuração->Geral"
" em seu programa de terceiros:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Falha de autenticação, verifique usuário / senha."
@@ -1190,27 +1194,27 @@ msgstr "Cancelado, não é possível concluir"
msgid "Error importing %s"
msgstr "Erro ao importar %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUPLICADO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "CRIPTOGRAFADO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "MUITO GRANDE"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "INCOMPLETO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "INDESEJADO"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "Espere %s segundo(s)"
@@ -1563,13 +1567,13 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "com senha"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr ""
@@ -1685,7 +1689,7 @@ msgstr "Pausar por 3 horas"
msgid "Pause for 6 hours"
msgstr "Pausar por 6 horas"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Encerrar"
@@ -1754,11 +1758,6 @@ msgstr "Código fonte"
msgid "Servers"
msgstr "Servidores"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Falha"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1804,20 +1803,6 @@ msgstr "Verificação Rápida..."
msgid "Verifying..."
msgstr "Verificando..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Baixando"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Tarefa"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1948,21 +1933,6 @@ msgstr "Emergencial"
msgid "Low"
msgstr "Baixa"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2008,54 +1978,6 @@ msgstr "Mês"
msgid "Year"
msgstr "Ano"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Dia do mês"
@@ -2080,14 +2002,6 @@ msgstr "Hoje"
msgid "Total"
msgstr "Total"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personalizado"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Velocidade"
#: sabnzbd/skintext.py
msgid "on"
msgstr "ligado"
@@ -2116,42 +2030,10 @@ msgstr "ou"
msgid "Host"
msgstr "Host"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Comentário"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Enviar"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Cancelar"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Outros"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Informar"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Vídeo"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Áudio"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Não utilizado"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "ou menos"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr ""
@@ -2164,11 +2046,6 @@ msgstr ""
msgid "Remember me"
msgstr ""
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "A ferramenta de download automático da usenet"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2183,11 +2060,6 @@ msgstr "Salvando..."
msgid "Are you sure?"
msgstr "Você tem certeza?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Excluir todos os arquivos baixados?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2226,7 +2098,7 @@ msgstr ""
#. Main menu item
#: sabnzbd/skintext.py
msgid "Support the project, Donate!"
msgstr ""
msgstr "Apoie o projeto. Faça uma doação!"
#. Main menu item
#: sabnzbd/skintext.py
@@ -2287,22 +2159,6 @@ msgstr "Busca"
msgid "Download Dir"
msgstr "Pasta de Download"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "EM PAUSA"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "%s artigos em cache (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Carga do sistema"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Nova versão %s disponível em"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Tem certeza de que quer encerrar o SABnzbd?"
@@ -2312,21 +2168,11 @@ msgstr "Tem certeza de que quer encerrar o SABnzbd?"
msgid "Add"
msgstr "Adicionar"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Adicionar Arquivo"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Categoria"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Processamento"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2347,21 +2193,6 @@ msgstr "+Descompactar"
msgid "+Delete"
msgstr "+Excluir"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "U"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "D"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2377,11 +2208,6 @@ msgstr "Parar"
msgid "Enter URL"
msgstr "Digite a URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Ao terminar a fila"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2402,36 +2228,16 @@ msgstr "Hibernar o PC"
msgid "Shutdown SABnzbd"
msgstr "Encerrar o SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Limite de velocidade"
msgid "Processing"
msgstr "Processamento"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordem"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Nome"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Estimado"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "IDADE"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Apagar"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2462,11 +2268,6 @@ msgstr "Limpar NZBs"
msgid "Purge NZBs & Delete Files"
msgstr "Limpar NZBs & Excluir Arquivos"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Atualizar todos os trabalhos com falha"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2477,11 +2278,6 @@ msgstr "Remover NZB"
msgid "Remove NZB & Delete Files"
msgstr "Remover NZB & Excluir Arquivos"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "de"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2501,11 +2297,6 @@ msgstr "manual"
msgid "Reset Quota now"
msgstr "Redefinir Quota agora"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Eliminar do histórico todos os itens concluídos?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2562,25 +2353,8 @@ msgstr "Caminho"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Atualizar todos com falha"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Atualizar todos"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Fora da retenção"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Outro problema"
msgid "Retry all failed jobs"
msgstr "Atualizar todos os trabalhos com falha"
#. Status page button
#: sabnzbd/skintext.py
@@ -2632,21 +2406,6 @@ msgstr "+ Debug"
msgid "Connections"
msgstr "Conexões"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Últimos Alertas"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "limpar"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Desbloquear"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2657,26 +2416,11 @@ msgstr "Identificador de artigo"
msgid "File set"
msgstr "Conjunto de arquivos"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Quando"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tipo"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Ativo"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Painel de controle"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Conexão falhou!"
@@ -2697,10 +2441,6 @@ msgstr "Endereço IPv6"
msgid "Nameserver / DNS Lookup"
msgstr "Nome do servidor / DNS Lookup"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Modelo da CPU"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2713,6 +2453,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2726,24 +2470,10 @@ msgstr "Velocidade de download da pasta"
msgid "Complete folder speed"
msgstr "Completar velocidade da pasta"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Velocidade de escrita"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr ""
"Não foi possível escrever. Verifique se o diretória tem permissão de "
"escrita."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Clique no botão de Repetir abaixo para determinar"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Repetir teste"
@@ -2923,10 +2653,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "Habilitar HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "não instalado"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Ativar acesso à interface por um endereço HTTPS."
@@ -3016,12 +2742,17 @@ msgstr ""
"Manter artigos em memória para reduzir o acesso a disco.<br /><i>Em bytes, "
"opcionalmente seguido de K,M,G. Por exemplo: \"64M\" ou \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3166,10 +2897,6 @@ msgstr "Usar Pastas"
msgid "Browse"
msgstr "Navegar"
#: sabnzbd/skintext.py
msgid "In"
msgstr "Em"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Pasta Temporária de Downloads"
@@ -3301,6 +3028,17 @@ msgstr ""
"Localização do banco de dados de histórico e administrador de fila.<br "
"/><i>Só pode ser alterado quando a fila estiver vazia.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3491,16 +3229,6 @@ msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
"Alguns servidores fornecem um NZB alternativo quando um download falha."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Habilitar renomeação de pasta"
@@ -3555,6 +3283,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3582,6 +3318,14 @@ msgstr "Substituir espaços no nome da pasta"
msgid "Replace spaces with underscores in folder names."
msgstr "Substituir espaços por sublinhado no nome das pastas."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Substituir pontos no nome da pasta"
@@ -3679,10 +3423,6 @@ msgstr "Nomeando"
msgid "Quota"
msgstr "Quota"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indexação"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Quanto pode ser baixado neste mês (K/M/G)"
@@ -3935,7 +3675,7 @@ msgstr "Adicionar Agendamento"
msgid "Frequency"
msgstr "Frequência"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Ação"
@@ -3987,6 +3727,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordem"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tipo"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4331,11 +4081,6 @@ msgstr "Pasta/Caminho"
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4366,10 +4111,6 @@ msgstr ""
msgid "Presets"
msgstr "Predefinições"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Exemplo"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4379,10 +4120,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Ativar a ordenação de filmes"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Manter em pastas separadas os downloads soltos"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Categorias Afetadas"
@@ -4599,51 +4336,11 @@ msgstr "Editar Detalhes do NZB"
msgid "Delete"
msgstr "Eliminar"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Topo"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Para cima"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Para baixo"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Base"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Todos"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Inverter"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Nome do arquivo"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Assunto"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Seleção"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Espaço Disponível"
@@ -4668,6 +4365,10 @@ msgstr "Selecionar todos"
msgid "Restart SABnzbd"
msgstr "Reiniciar SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Ao terminar a fila"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Estado e opções de interface"
@@ -4745,6 +4446,10 @@ msgstr "Reparação da fila"
msgid "Show active connections"
msgstr "Exibir conexões ativas"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Desbloquear"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Trabalhos órfãos"
@@ -4777,18 +4482,6 @@ msgstr "Opcionalmente, especifique um nome de arquivo"
msgid "Submit"
msgstr "Enviar"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Abrir URL Informativa"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Enviado. Obrigado!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Nada selecionado!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Remover todos os arquivos selecionados"
@@ -4797,6 +4490,14 @@ msgstr "Remover todos os arquivos selecionados"
msgid "Hide/show completed files"
msgstr "Esconder/Exibir arquivos completos"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Topo"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Base"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Exibir Log do Script"
@@ -4815,6 +4516,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personalizado"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4827,6 +4532,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Velocidade"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Confirmar Exclusões da Fila"
@@ -4861,6 +4570,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Ordenar por Idade <small>Mais antigo&rarr;Mais novo</small>"
@@ -5007,19 +4720,6 @@ msgstr ""
"É software livre, e você está convidado a redistribuí-lo sob certas condições.\n"
"Está licenciado sob a LICENÇA PÚBLICA GERAL GNU Versão 2 ou (a seu critério) qualquer versão posterior.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Para baixar a partir da usenet você precisa ter acesso a um provedor. Seu "
"provedor de Internet pode fornecer-lhe acesso, no entanto, um provedor "
"exclusivo é recomendado."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Não tem um provedor usenet? Recomendamos testar %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5089,10 +4789,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Endereço do servidor inválido."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Servidor parou durante a sequência de login."

View File

@@ -8,7 +8,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Romanian (https://www.transifex.com/sabnzbd/teams/111101/ro/)\n"
@@ -187,11 +187,7 @@ msgstr "Notificări Test"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Reolvare adresă"
#: sabnzbd/api.py
msgid "unknown"
msgstr "necunoscut"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Niciunul"
@@ -294,6 +290,10 @@ msgstr "%s nu este o adresă email validă"
msgid "Server address required"
msgstr "Adresă server necesară"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Adresă server invalidă"
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -390,7 +390,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr "Dezarhivare directă"
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Finalizat"
@@ -619,6 +619,18 @@ msgstr "Salvarea %s nereuşită"
msgid "Loading %s failed"
msgstr "Încărcarea %s nereuşită"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -652,14 +664,6 @@ msgstr ""
"Cheie API incorectă, Folosiţi cheia api din Configurare->General în "
"programul dumneavoastră terţ:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Autentificare lipsă, vă rugăm să introduceţi numele de utilizator/parola de "
"la Configurare->General în programul dumneavoastră terţ:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Autentificare nereuşită, verifică nume utilizator/parolă."
@@ -1216,27 +1220,27 @@ msgstr "Anulat nu poate fi finalizat"
msgid "Error importing %s"
msgstr "Eroare importare %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUPLICAT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "ENCRIPTAT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "PREA MARE"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "INCOMPLET"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "NEDORIT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "AŞTEAPTĂ %s sec"
@@ -1592,13 +1596,13 @@ msgid "Trying RAR-based verification"
msgstr "Încerc verificare RAR"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] verificarea RAR a eșuat: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Parolat"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] verificarea RAR a eșuat: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "Fișierele RAR verificate cu succes"
@@ -1713,7 +1717,7 @@ msgstr "Pauză timp de 3 ore"
msgid "Pause for 6 hours"
msgstr "Pauză timp de 6 ore"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Închidere"
@@ -1782,11 +1786,6 @@ msgstr "Sursă"
msgid "Servers"
msgstr "Servere"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Nereuşit"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1832,20 +1831,6 @@ msgstr "Verificare Rapidă..."
msgid "Verifying..."
msgstr "Verificare..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Descărcare"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Întârziere de propagare"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Sarcină"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1976,21 +1961,6 @@ msgstr "Urgență"
msgid "Low"
msgstr "Scăzută"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2036,54 +2006,6 @@ msgstr "Lună"
msgid "Year"
msgstr "An"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Zi din lună"
@@ -2108,14 +2030,6 @@ msgstr "Azi"
msgid "Total"
msgstr "Total"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personalizat"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Viteză"
#: sabnzbd/skintext.py
msgid "on"
msgstr "activat"
@@ -2144,42 +2058,10 @@ msgstr "sau"
msgid "Host"
msgstr "Gazdă"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Comentariu"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Trimite"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Anulează"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Altele"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Raportează"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Video"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Audio"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Neutilizat"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "sau mai puțin"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "Autentificare"
@@ -2192,11 +2074,6 @@ msgstr "Deconectare"
msgid "Remember me"
msgstr "Ține-mă minte"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Instrumentul de descărcare automată usenet"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2211,11 +2088,6 @@ msgstr "Salvăm.."
msgid "Are you sure?"
msgstr "Sunteţi sigur?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Ştergeţi toate fişierele descărcate?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2254,7 +2126,7 @@ msgstr "Probleme"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Support the project, Donate!"
msgstr ""
msgstr "Susţine proiectul, Donează!"
#. Main menu item
#: sabnzbd/skintext.py
@@ -2315,22 +2187,6 @@ msgstr "Caută"
msgid "Download Dir"
msgstr "Dosar Descărcare"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "ÎNTRERUPT"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "Articole %s în cache (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Încărcare sistem"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Versiune nouă %s disponibilă la"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Sunteţi sigur că doriţi să inchideţi SABnzbd?"
@@ -2340,21 +2196,11 @@ msgstr "Sunteţi sigur că doriţi să inchideţi SABnzbd?"
msgid "Add"
msgstr "Adaugă"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Adaugă fişier"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Categorie"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "În curs de procesare"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2375,21 +2221,6 @@ msgstr "+Dezarhivare"
msgid "+Delete"
msgstr "+Ştergere"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "U"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "D"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2405,11 +2236,6 @@ msgstr "Stop"
msgid "Enter URL"
msgstr "Introdu URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "La terminarea coadei de descărcare"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2430,36 +2256,16 @@ msgstr "Hibernare PC"
msgid "Shutdown SABnzbd"
msgstr "Închide SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Limită de Viteză"
msgid "Processing"
msgstr "În curs de procesare"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordine"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Nume"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Timp Estimat"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "Vârstă"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Şterge"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2490,11 +2296,6 @@ msgstr "Şterge NZB-uri"
msgid "Purge NZBs & Delete Files"
msgstr "Şterge NZB-uri & Fişiere Şterse"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Reîncearcă toate sarcinile eșuate"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2505,11 +2306,6 @@ msgstr "Şterge NZB"
msgid "Remove NZB & Delete Files"
msgstr "Şterge NZB & Fişiere Şterse"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "din"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2529,11 +2325,6 @@ msgstr "manual"
msgid "Reset Quota now"
msgstr "Resetează Cota acum"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Ştergeţi toate obiectele complete din Istoric?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2590,25 +2381,8 @@ msgstr "Cale"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Reîncearcă toate eșuate"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Reîncearcă toate"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Dincolo de retenție"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Altă problemă"
msgid "Retry all failed jobs"
msgstr "Reîncearcă toate sarcinile eșuate"
#. Status page button
#: sabnzbd/skintext.py
@@ -2660,21 +2434,6 @@ msgstr "+ Depanare"
msgid "Connections"
msgstr "Conexiuni"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Ultimele Avertizări"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "Şterge"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Deblochează"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2685,26 +2444,11 @@ msgstr "Identificator Articol"
msgid "File set"
msgstr "Set fişiere"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Când"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tip"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Activat"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Panou de Control"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Conectare eșuată!"
@@ -2725,10 +2469,6 @@ msgstr "Adresa IPv6"
msgid "Nameserver / DNS Lookup"
msgstr "Server de nume/Căutare DNS"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Model CPU"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2741,6 +2481,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2754,22 +2498,10 @@ msgstr "Viteză de descărcare director"
msgid "Complete folder speed"
msgstr "Vitează completă director"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Viteză de scriere"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "Nu am putut scrie. Verifică dacă director poate fi modificat."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Click pe butonul de Repetare test pentru a determina"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Repetă test"
@@ -2952,10 +2684,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "Activează HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "neinstalat"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Permite acesarea interfeţei de la o adresă HTTPS."
@@ -3043,12 +2771,17 @@ msgstr ""
"Stochează articolele în memorie pentru a reduce acesul disc.<br /><i>În "
"octeţi, opţional urmaţi de K,M,G. De exemplu : \"64M\" sau\"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3193,10 +2926,6 @@ msgstr "Dosare Utilizator"
msgid "Browse"
msgstr "Răsfoire"
#: sabnzbd/skintext.py
msgid "In"
msgstr "În"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Dosar Descărcare Temporar"
@@ -3325,6 +3054,17 @@ msgstr ""
"Locaţia coadei admin şi istoricul bazei de date.<br /><i>Poate fi folosit "
"doar când coada e goală.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3516,16 +3256,6 @@ msgstr "La eroare, încearcă NZB alternativ"
msgid "Some servers provide an alternative NZB when a download fails."
msgstr "Unele server oferă o alternativă dacă un NZB eșuează."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Activează redenumire dosar"
@@ -3579,6 +3309,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "Întârziere de propagare"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3608,6 +3346,14 @@ msgstr "Înlocuieşte Spaţiile din Numele Dosarelor"
msgid "Replace spaces with underscores in folder names."
msgstr "Înlocuieşte spaţiile cu _ în numele dosarelor."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Înlocuieşte punctele din Numele Dosarelor"
@@ -3705,10 +3451,6 @@ msgstr "Redenumire"
msgid "Quota"
msgstr "Cotă"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indexare"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Cât de mult poate fi descărcat în acestă lună (K/M/G)"
@@ -3963,7 +3705,7 @@ msgstr "Adaugă Planificare"
msgid "Frequency"
msgstr "Frecvenţă"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Acțiune"
@@ -4015,6 +3757,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordine"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Tip"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4358,11 +4110,6 @@ msgstr "Dosar/Cale"
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4393,10 +4140,6 @@ msgstr ""
msgid "Presets"
msgstr "Presetări"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Exemplu"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4406,10 +4149,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Activează Sortare Filme"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Păstrează descărcările suplimentare în dosare extra"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Categorii Afectate"
@@ -4626,51 +4365,11 @@ msgstr "Editează Detalii NZB"
msgid "Delete"
msgstr "Şterge"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Vârf"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Sus"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Jos"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Coadă"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Toate"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Inversează"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Nume de fișier"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Subiect"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Selecţie"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Spațiu liber"
@@ -4695,6 +4394,10 @@ msgstr "Selectează tot"
msgid "Restart SABnzbd"
msgstr "Repornește SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "La terminarea coadei de descărcare"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Opțiuni stare și interfață"
@@ -4771,6 +4474,10 @@ msgstr "Coadă reparare"
msgid "Show active connections"
msgstr "Arată conexiuni active"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Deblochează"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Sarcini orfane"
@@ -4803,18 +4510,6 @@ msgstr "Opţional specifică un nume de fişier"
msgid "Submit"
msgstr "Trimite"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Dechide URL Informaţii"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Trimis. Vă mulțumim!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Nimic selectat!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Elimină toate fișierele selectate"
@@ -4823,6 +4518,14 @@ msgstr "Elimină toate fișierele selectate"
msgid "Hide/show completed files"
msgstr "Ascunde/arată fișierele finalizate"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Vârf"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Coadă"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Vezi Jurnal Script"
@@ -4843,6 +4546,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Personalizat"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "Aspect compact"
@@ -4855,6 +4562,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "Interfață tabelară <br/>(coadă și istoric separate)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Viteză"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Confirmă Ştergere Coadă"
@@ -4889,6 +4600,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Sortează după Vârstă <small>Cel mai Vechi&rarr;Cel mai Nou</small>"
@@ -5036,18 +4751,6 @@ msgstr ""
"Acesta este software gratis, şi sunteţi binevenit să-l redistribuiţi în anumite condiţii.\n"
"Este licenţiat sub GNU General Public License versiunea 2 sau (la opţiunea dumneavoastră) orice versiune ulterioară.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Pentru a descărca de pe usenet veţi avea nevoie de un furnizor. ISP-ul dvs."
" vă poate oferi acces, totuşi un furnizor premium e recomandat."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Nu aveţi un furnizor usenet? Vă recomandăm să încercaţi %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5119,10 +4822,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Adresă server invalidă"
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Serverul a renunţat în timpul logării."

View File

@@ -3,13 +3,13 @@
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
# Safihre <safihre@sabnzbd.org>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Russian (https://www.transifex.com/sabnzbd/teams/111101/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -181,11 +181,7 @@ msgstr "Тестовое уведомление"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Разрешение адреса"
#: sabnzbd/api.py
msgid "unknown"
msgstr "неизвестно"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Ничего"
@@ -282,6 +278,10 @@ msgstr "%s не является допустимым адресом элект
msgid "Server address required"
msgstr "Требуется адрес сервера"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Недопустимый адрес сервера."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -377,7 +377,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Завершено"
@@ -601,6 +601,18 @@ msgstr "Ошибка сохранения %s"
msgid "Loading %s failed"
msgstr "Ошибка загрузки %s"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -634,14 +646,6 @@ msgstr ""
"Неправильный ключ API. Используйте в сторонней программе ключ API из раздела"
" «Настройка -> Общие»:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Отсутствуют учётные данные. Введите в сторонней программе имя пользователя и"
" пароль из раздела «Настройка -> Общие»:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Ошибка проверки подлинности. Проверьте имя и пароль."
@@ -1190,27 +1194,27 @@ msgstr ""
msgid "Error importing %s"
msgstr "Ошибка импорта %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "ПОВТОР"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "ЗАШИФРОВАН"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "СЛИШКОМ БОЛЬШОЙ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "НЕПОЛНЫЙ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr ""
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "ОЖИДАНИЕ %s с"
@@ -1560,11 +1564,11 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgid "Passworded"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
@@ -1681,7 +1685,7 @@ msgstr "Приостановить на 3 часа"
msgid "Pause for 6 hours"
msgstr "Приостановить на 6 часов"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Выключить"
@@ -1750,11 +1754,6 @@ msgstr "Источник"
msgid "Servers"
msgstr "Серверы"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Сбой"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1800,20 +1799,6 @@ msgstr "Быстрая проверка..."
msgid "Verifying..."
msgstr "Проверка..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "загружается"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Задача"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1944,21 +1929,6 @@ msgstr ""
msgid "Low"
msgstr "низкий"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "МБ"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "ГБ"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr ""
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2004,54 +1974,6 @@ msgstr "Месяц"
msgid "Year"
msgstr "Год"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "День месяца"
@@ -2076,14 +1998,6 @@ msgstr "за сегодня"
msgid "Total"
msgstr "всего"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Другой"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Скорость"
#: sabnzbd/skintext.py
msgid "on"
msgstr "на"
@@ -2112,42 +2026,10 @@ msgstr ""
msgid "Host"
msgstr "Адрес"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr ""
#: sabnzbd/skintext.py
msgid "Send"
msgstr ""
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr ""
#: sabnzbd/skintext.py
msgid "Other"
msgstr ""
#: sabnzbd/skintext.py
msgid "Report"
msgstr ""
#: sabnzbd/skintext.py
msgid "Video"
msgstr ""
#: sabnzbd/skintext.py
msgid "Audio"
msgstr ""
#: sabnzbd/skintext.py
msgid "Not used"
msgstr ""
#: sabnzbd/skintext.py
msgid "or less"
msgstr ""
#: sabnzbd/skintext.py
msgid "Log in"
msgstr ""
@@ -2160,11 +2042,6 @@ msgstr ""
msgid "Remember me"
msgstr ""
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Клиент автоматической загрузки из USENET"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2179,11 +2056,6 @@ msgstr "Сохранение..."
msgid "Are you sure?"
msgstr "Уверены?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Удалить все загруженные файлы?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2222,7 +2094,7 @@ msgstr ""
#. Main menu item
#: sabnzbd/skintext.py
msgid "Support the project, Donate!"
msgstr ""
msgstr "Поддержите проект. Сделайте пожертвование!"
#. Main menu item
#: sabnzbd/skintext.py
@@ -2283,22 +2155,6 @@ msgstr ""
msgid "Download Dir"
msgstr "Каталог загрузки"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "ПРИОСТАНОВЛЕНО"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "Статей в кэше: %s (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Загрузка системы"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Доступна новая версия %s на"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Остановить SABnzbd?"
@@ -2308,21 +2164,11 @@ msgstr "Остановить SABnzbd?"
msgid "Add"
msgstr "Добавить"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Добавить файл"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Категория"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Обработка"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2343,21 +2189,6 @@ msgstr "+распаковать"
msgid "+Delete"
msgstr "+удалить"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "U"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "D"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2373,11 +2204,6 @@ msgstr "Остановить"
msgid "Enter URL"
msgstr "Введите URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "По окончании очереди"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2398,36 +2224,16 @@ msgstr "перевести ПК в спящий режим"
msgid "Shutdown SABnzbd"
msgstr "Закрыть SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Ограничение скорости"
msgid "Processing"
msgstr "Обработка"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Порядок"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Название"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "ост."
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "ВОЗРАСТ"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Удалить"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2458,11 +2264,6 @@ msgstr "Удалить NZB"
msgid "Purge NZBs & Delete Files"
msgstr "Удалить NZB и стереть файлы"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr ""
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2473,11 +2274,6 @@ msgstr "Удалить NZB"
msgid "Remove NZB & Delete Files"
msgstr "Удалить NZB и стереть файлы"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "из"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2497,11 +2293,6 @@ msgstr "вручную"
msgid "Reset Quota now"
msgstr "Сбросить квоту"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Удалить все завершённые элементы из истории?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2558,24 +2349,7 @@ msgstr "Путь"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr ""
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr ""
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr ""
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr ""
#: sabnzbd/skintext.py
msgid "Other problem"
msgid "Retry all failed jobs"
msgstr ""
#. Status page button
@@ -2628,21 +2402,6 @@ msgstr "+ отладка"
msgid "Connections"
msgstr "Соединения"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Последние предупреждения"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "Очистить"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Разблокировать"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2653,26 +2412,11 @@ msgstr "Идентификатор статьи"
msgid "File set"
msgstr "Набор файлов"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Время"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Тип"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Включен"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr ""
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr ""
@@ -2693,10 +2437,6 @@ msgstr ""
msgid "Nameserver / DNS Lookup"
msgstr ""
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr ""
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2709,6 +2449,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2722,22 +2466,10 @@ msgstr ""
msgid "Complete folder speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr ""
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr ""
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr ""
@@ -2917,10 +2649,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "Включить HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "не установлено"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Доступ к интерфейсу по протоколу HTTPS."
@@ -3009,12 +2737,17 @@ msgstr ""
"/><i>В байтах, после числа можно добавить K, M или G. Пример: «64M» или "
"«128M»</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3160,10 +2893,6 @@ msgstr "Пользовательские папки"
msgid "Browse"
msgstr ""
#: sabnzbd/skintext.py
msgid "In"
msgstr "В"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Папка временной загрузки"
@@ -3295,6 +3024,17 @@ msgstr ""
"Место для хранения и базы данных очереди и журнала.<br /><i>Изменить можно "
"только тогда, когда очередь пуста.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3482,16 +3222,6 @@ msgstr ""
msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Переименовывать папки"
@@ -3545,6 +3275,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3572,6 +3310,14 @@ msgstr "Заменять пробелы в названиях папок"
msgid "Replace spaces with underscores in folder names."
msgstr "Заменять пробелы на символы подчёркивания в названиях папок."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Заменять точки в названиях папок"
@@ -3669,10 +3415,6 @@ msgstr "Именование"
msgid "Quota"
msgstr "Квота"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr ""
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Объем, который можно загрузить в месяц (K/M/G)"
@@ -3924,7 +3666,7 @@ msgstr "Добавить задание"
msgid "Frequency"
msgstr "Частота"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Действие"
@@ -3976,6 +3718,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Порядок"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Тип"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4326,11 +4078,6 @@ msgstr "Папка или путь"
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4361,10 +4108,6 @@ msgstr ""
msgid "Presets"
msgstr "Готовые шаблоны"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Пример"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4374,10 +4117,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Использовать сортировку по фильмам"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Хранить несвязанные загрузки в дополнительных папках"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Задействованные категории"
@@ -4594,51 +4333,11 @@ msgstr "Изменить данные NZB"
msgid "Delete"
msgstr "Удалить"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "В начало"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Вверх"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Вниз"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "В конец"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Все"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Обратить"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Название файла"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Тема"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Выбрать"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "свободно на диске"
@@ -4663,6 +4362,10 @@ msgstr ""
msgid "Restart SABnzbd"
msgstr ""
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "По окончании очереди"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr ""
@@ -4739,6 +4442,10 @@ msgstr "Исправление очереди"
msgid "Show active connections"
msgstr ""
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Разблокировать"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr ""
@@ -4771,18 +4478,6 @@ msgstr "Имя файла (необязательно)"
msgid "Submit"
msgstr ""
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Открыть URL с информацией"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr ""
@@ -4791,6 +4486,14 @@ msgstr ""
msgid "Hide/show completed files"
msgstr ""
#: sabnzbd/skintext.py
msgid "Top"
msgstr "В начало"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "В конец"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Просмотреть журнал сценария"
@@ -4809,6 +4512,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Другой"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4821,6 +4528,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Скорость"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Подтвердите удаление очереди"
@@ -4855,6 +4566,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Сортировать по возрасту <small>от старых к новым</small>"
@@ -5003,20 +4718,6 @@ msgstr ""
"Это свободное программное обеспечение, и его можно распространять при соблюдении определённых условий.\n"
"Она распространяется по лицензии GNU GENERAL PUBLIC LICENSE версии 2 или (по вашему выбору) любой более поздней версии.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"Для загрузки из сети Usenet требуется доступ к этой сети через "
"соответствующего поставщика услуг. Ваш поставщик услуг Интернета может "
"предоставить вам такой доступ, однако рекомендуется использовать usenet-"
"провайдеров класса Premium."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "У вас ещё нет поставщика услуг Usenet? Рекомендуем попробовать %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5085,10 +4786,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Недопустимый адрес сервера."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Во время входа на сервер был выполнен выход."

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Serbian (https://www.transifex.com/sabnzbd/teams/111101/sr/)\n"
@@ -179,11 +179,7 @@ msgstr "Probno obaveštenje"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Решавање адресе"
#: sabnzbd/api.py
msgid "unknown"
msgstr "непознато"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Ниједно"
@@ -280,6 +276,10 @@ msgstr "%s nije ispravna email adresa"
msgid "Server address required"
msgstr "Потребна је адреса сервера"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Погрешна адреса сервера."
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -375,7 +375,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Завршено"
@@ -600,6 +600,18 @@ msgstr "Snimanje %s neuspešno"
msgid "Loading %s failed"
msgstr "Učitavanje %s neuspešno"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -631,14 +643,6 @@ msgid ""
msgstr ""
"API кључ је погрешан, унети у спољни програм API кључ из Подешавања->Опште:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Недостаје аутентификација, унети у спољни програм име/лозинку из "
"Подешавања->Опште:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Аутентификација погрешна, проверити име/лозинку."
@@ -1184,27 +1188,27 @@ msgstr "Поништено, не може да се заврши"
msgid "Error importing %s"
msgstr "Грешка увоза %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "ДУПЛИКАТ"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "ШИФРИРАНО"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "ПРЕВЕЛИКО"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "НЕПОТПУНО"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "NEŽELJENI"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "Чекање %s сек"
@@ -1552,13 +1556,13 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Zahteva lozinku"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr ""
@@ -1673,7 +1677,7 @@ msgstr "Паузирај 3 сата"
msgid "Pause for 6 hours"
msgstr "Паузирај 6 сати"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Угаси"
@@ -1742,11 +1746,6 @@ msgstr "Извор"
msgid "Servers"
msgstr "Сервери"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Грешка"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1792,20 +1791,6 @@ msgstr "Брза провера..."
msgid "Verifying..."
msgstr "Проверавање..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Преузимам"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Задатак"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1936,21 +1921,6 @@ msgstr "Хитно"
msgid "Low"
msgstr "Низак"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "МБ"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "ГБ"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "Б"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -1996,54 +1966,6 @@ msgstr "Месец"
msgid "Year"
msgstr "Година"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Дан у месецу"
@@ -2068,14 +1990,6 @@ msgstr "Данас"
msgid "Total"
msgstr "Укупно"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Прилагођено"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Брзина"
#: sabnzbd/skintext.py
msgid "on"
msgstr "укљ."
@@ -2104,42 +2018,10 @@ msgstr "или"
msgid "Host"
msgstr "Хост"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Komentar"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Пошаљи"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Откажи"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Остало"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Izveštaj"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Видео"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Аудио"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Није коришћено"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "ili manje"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr ""
@@ -2152,11 +2034,6 @@ msgstr ""
msgid "Remember me"
msgstr ""
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Alatka za automatizovano preuzimanje sa usenet-a"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2171,11 +2048,6 @@ msgstr "Snimanje..."
msgid "Are you sure?"
msgstr "Да ли сте сигурни?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Обриши све преузете датотеке?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2214,7 +2086,7 @@ msgstr ""
#. Main menu item
#: sabnzbd/skintext.py
msgid "Support the project, Donate!"
msgstr ""
msgstr "Подржите пројекат, дајте добровољан прилог!"
#. Main menu item
#: sabnzbd/skintext.py
@@ -2275,22 +2147,6 @@ msgstr "Претрага"
msgid "Download Dir"
msgstr "Фасцикла преузимања"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "ПАУЗИРАНО"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "Кеширано %s артикла (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Sysload"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Новије издање %s је доступно на"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Da li ste sigurni da želite ugasiti SABnzbd?"
@@ -2300,21 +2156,11 @@ msgstr "Da li ste sigurni da želite ugasiti SABnzbd?"
msgid "Add"
msgstr "Додај"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Додај датотеку"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Категорија"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Обрађивање"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2335,21 +2181,6 @@ msgstr "+Издвој"
msgid "+Delete"
msgstr "+Обриши"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "П"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "С"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "П"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2365,11 +2196,6 @@ msgstr "Заустави"
msgid "Enter URL"
msgstr "Унесите УРЛ"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Када се ред заврши"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2390,36 +2216,16 @@ msgstr "Хибернација"
msgid "Shutdown SABnzbd"
msgstr "Угаси SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Ограничење брзине"
msgid "Processing"
msgstr "Обрађивање"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Редослед"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Име"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Процењено време"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "СТАРОСТ"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Обриши"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2450,11 +2256,6 @@ msgstr "Очисти NZB"
msgid "Purge NZBs & Delete Files"
msgstr "Очисти NZB и обриши датотеке"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Ponovo pokušaj sve neuspešne poslove"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2465,11 +2266,6 @@ msgstr "Уклони NZB"
msgid "Remove NZB & Delete Files"
msgstr "Уклони NZB и обриши датотеке"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "од"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2489,11 +2285,6 @@ msgstr "ручно"
msgid "Reset Quota now"
msgstr "Ресетуј квоту"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Обриши све завршене ставке са хронологије?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2550,25 +2341,8 @@ msgstr "Путања"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Ponovo pokušaj sve neuspešne"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Ponovo pokušaj sve"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/neželjeno"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Van retencije"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Neki drugi problem"
msgid "Retry all failed jobs"
msgstr "Ponovo pokušaj sve neuspešne poslove"
#. Status page button
#: sabnzbd/skintext.py
@@ -2620,21 +2394,6 @@ msgstr "+ Дебаг"
msgid "Connections"
msgstr "Везе"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Најновија Упозорења"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "очисти"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Деблокирај"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2645,26 +2404,11 @@ msgstr "Идентифација артикла"
msgid "File set"
msgstr "Збир датотека"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "Када"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Тип"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Омогућено"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Управљачка табла"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Veza neuspešna!"
@@ -2685,10 +2429,6 @@ msgstr "IPv6 adresa"
msgid "Nameserver / DNS Lookup"
msgstr "Nameserver/DNS Pretraga"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "Модел процесора"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2701,6 +2441,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2714,22 +2458,10 @@ msgstr "Brzina foldera za preuzimanje"
msgid "Complete folder speed"
msgstr "Brzina foldera za kompletirana preuzimanja"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Brzina pisanja"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "Ne mogu da zapišem. Proverite da li je u fasciklu moguće pisati."
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Kliknite na dugme Ponovi test ispod, da odredite"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Ponovi test"
@@ -2907,10 +2639,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "Активирај HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "никје инсталирано"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Приступ интерфејсу преко HTTPS адресе."
@@ -2997,12 +2725,17 @@ msgstr ""
"Кеширати артикле у меморији. То смањује приступ диска.<br /><i>У бајтовима, "
"опционо додати K,M,G. Пример: \"64M\" или \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3147,10 +2880,6 @@ msgstr "Корисничке фасцикле"
msgid "Browse"
msgstr "Pregledaj"
#: sabnzbd/skintext.py
msgid "In"
msgstr "У"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Привремена фасцикла преузимања"
@@ -3280,6 +3009,17 @@ msgstr ""
"Локацију за ред и хронологију базе.<br /><i>Промене су могуће само када је "
"ред празан.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr ""
@@ -3470,16 +3210,6 @@ msgstr "U slučaju neuspeha, pokušaj sa alternativnim NZB-om"
msgid "Some servers provide an alternative NZB when a download fails."
msgstr "Neki serveri nude alternativni NZB pri neuspešnom preuzimanju"
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Упали преименовање фасцикле"
@@ -3532,6 +3262,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3559,6 +3297,14 @@ msgstr "Размени размаке у имену фасцикле"
msgid "Replace spaces with underscores in folder names."
msgstr "Размени <b>размаке</b> са <b>_</b> у имену фасцикле."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Размени тачке у имену фасцикле"
@@ -3654,10 +3400,6 @@ msgstr "Именовање"
msgid "Quota"
msgstr "Квота"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Индексирање"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Колико може да се преузме овог месеца (К/М/Г)"
@@ -3910,7 +3652,7 @@ msgstr "Dodaj raspored"
msgid "Frequency"
msgstr "Фреквенција"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Акција"
@@ -3961,6 +3703,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Редослед"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Тип"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4304,11 +4056,6 @@ msgstr "Фасцикла/Путања"
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4339,10 +4086,6 @@ msgstr ""
msgid "Presets"
msgstr "Предподешавања"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Примери"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4352,10 +4095,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Упали сортирање филма"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Задржи изгубљена преузимања у фасциклама"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Погођене категорије"
@@ -4572,51 +4311,11 @@ msgstr "Уреди детаље NZB-а"
msgid "Delete"
msgstr "Обриши"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Врх"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Горе"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Доле"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Дно"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Све"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Окрени"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Име датотеке"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Тема"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Избор"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Слободан простор"
@@ -4641,6 +4340,10 @@ msgstr "Proveri sve"
msgid "Restart SABnzbd"
msgstr "Ponovo pokreni SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "Када се ред заврши"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Opcije statusa i interfejsa"
@@ -4718,6 +4421,10 @@ msgstr "Поправљење реда"
msgid "Show active connections"
msgstr "Prikaži aktivne konekcije"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Деблокирај"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Zapušteni poslovi"
@@ -4750,18 +4457,6 @@ msgstr "Опционо специфирати име"
msgid "Submit"
msgstr "Пошаљи"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Отвори информативни УРЛ"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Poslato. Hvala!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Mišta nije odabrano!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Ukloni sve odabrane fajlove"
@@ -4770,6 +4465,14 @@ msgstr "Ukloni sve odabrane fajlove"
msgid "Hide/show completed files"
msgstr "Sakrij/prikaži sve završene datoteke"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Врх"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Дно"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Види извештај скрипта"
@@ -4788,6 +4491,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Прилагођено"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4800,6 +4507,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Брзина"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Потврда брисања реда"
@@ -4834,6 +4545,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Среди по старост <small>Старије&rarr;Новије</small>"
@@ -4980,18 +4695,6 @@ msgstr ""
"Ово је бесплатан програм, и ви сте добродошли да га делите под одређеним условима.\n"
"Лиценциран је под GNU GENERAL PUBLIC LICENSE верзија 2 или (по вашем избору) касније верзије.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"За преузимање са 'usenet' треба Вам приступ привајдеру. Можда Вам Ваш ISP "
"пружа приступ, било како премијум провајдер је препоручен."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Немате 'usenet' провајдер? Препоручујемо Вам %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5061,10 +4764,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Погрешна адреса сервера."
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Сервер се затворио при пријављивање"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Swedish (https://www.transifex.com/sabnzbd/teams/111101/sv/)\n"
@@ -179,11 +179,7 @@ msgstr "Testa notifikation"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;Lösa adress"
#: sabnzbd/api.py
msgid "unknown"
msgstr "okänd"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "Ingen"
@@ -280,6 +276,10 @@ msgstr "%s är inte en godkänd e-mail adress"
msgid "Server address required"
msgstr "Kräver serveradress"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ogiltig serveradress"
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -376,7 +376,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "Färdig"
@@ -600,6 +600,18 @@ msgstr "Sparar %s misslyckades"
msgid "Loading %s failed"
msgstr "Laddning av %s misslyckades"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -633,14 +645,6 @@ msgstr ""
"API-nyckel felaktig, använd api-nyckeln från Konfiguration-> Allmänt i ditt "
"tredjepartsprogram:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr ""
"Autentisering saknas, ange användarnamn / lösenord från Konfiguration-> "
"Allmänt i ditt tredjepartsprogram:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "Autentisering misslyckades, kontrollera användarnamn och lösenord."
@@ -1188,27 +1192,27 @@ msgstr "Avbrutet, kan inte slutföras"
msgid "Error importing %s"
msgstr "Det gick inte att importera %s"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "DUBLETT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "KRYPTERAT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "FÖR STOR"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "INKOMPLETT"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "OÖNSKAD"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "VÄNTA %s SEKUNDER"
@@ -1558,13 +1562,13 @@ msgid "Trying RAR-based verification"
msgstr ""
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "Lösenordskyddad"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr ""
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr ""
@@ -1679,7 +1683,7 @@ msgstr "Pausa 3 timmar"
msgid "Pause for 6 hours"
msgstr "Pausa 6 timmar"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "Stäng Av"
@@ -1748,11 +1752,6 @@ msgstr "Källa"
msgid "Servers"
msgstr "Servrar"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "Misslyckades"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1798,20 +1797,6 @@ msgstr "Snabbkontroll..."
msgid "Verifying..."
msgstr "Verifierar..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "Laddar ner"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "Uppgift"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1942,21 +1927,6 @@ msgstr "Nödfall"
msgid "Low"
msgstr "Låg"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -2002,54 +1972,6 @@ msgstr "Månad"
msgid "Year"
msgstr "År"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "Månadsdag"
@@ -2074,14 +1996,6 @@ msgstr "I dag"
msgid "Total"
msgstr "Totalt"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Anpassa"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Hastighet"
#: sabnzbd/skintext.py
msgid "on"
msgstr "den"
@@ -2110,42 +2024,10 @@ msgstr "eller"
msgid "Host"
msgstr "Adress"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "Kommentar"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "Skicka"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "Avbryt"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "Annat"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "Rapportera"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "Video"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "Ljud"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "Inte använd"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "eller mindre"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr ""
@@ -2158,11 +2040,6 @@ msgstr ""
msgid "Remember me"
msgstr ""
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "Det automatiska usenet nedladdningsverktyget"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2177,11 +2054,6 @@ msgstr "Sparar.."
msgid "Are you sure?"
msgstr "Är du säker?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "Ta bort alla nedladdade filer?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2220,7 +2092,7 @@ msgstr ""
#. Main menu item
#: sabnzbd/skintext.py
msgid "Support the project, Donate!"
msgstr ""
msgstr "Donera och stöd detta projekt!"
#. Main menu item
#: sabnzbd/skintext.py
@@ -2281,22 +2153,6 @@ msgstr "Sök"
msgid "Download Dir"
msgstr "Temporär nedladdningmapp"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "PAUSAD"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "Sparat %s artiklar (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "Systembelastning"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "Ny utgåva %s tillgänglig"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "Är du säker på att du vill stänga av SABnzbd?"
@@ -2306,21 +2162,11 @@ msgstr "Är du säker på att du vill stänga av SABnzbd?"
msgid "Add"
msgstr "Lägg till"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "Lägg till fil"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "Kategori"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "Bearbetar"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2341,21 +2187,6 @@ msgstr "+Packar upp"
msgid "+Delete"
msgstr "+Ta bort"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "R"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "P"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "D"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2371,11 +2202,6 @@ msgstr "Stopp"
msgid "Enter URL"
msgstr "Ange URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "När kön är färdig"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2396,36 +2222,16 @@ msgstr "Viloläge PC"
msgid "Shutdown SABnzbd"
msgstr "Stäng av SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "Hastighetsgräns"
msgid "Processing"
msgstr "Bearbetar"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordning"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "Namn"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "Tid kvar"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "År"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "Ta bort"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2456,11 +2262,6 @@ msgstr "Rensa NZB:er"
msgid "Purge NZBs & Delete Files"
msgstr "Rensa NZB:er och ta bort filer"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "Starta om alla misslyckade jobb"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2471,11 +2272,6 @@ msgstr "Ta bort NZB"
msgid "Remove NZB & Delete Files"
msgstr "Ta bort NZB och filer"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "av"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2495,11 +2291,6 @@ msgstr "manuell"
msgid "Reset Quota now"
msgstr "Återställ Kvot nu"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "Ta bort alla slutförda objekt från Historik?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2556,25 +2347,8 @@ msgstr "Sökväg"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "Starta om alla mysslyckade"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "Starta om alla"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "Virus/spam"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "Slut på retention"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "Andra fel"
msgid "Retry all failed jobs"
msgstr "Starta om alla misslyckade jobb"
#. Status page button
#: sabnzbd/skintext.py
@@ -2626,21 +2400,6 @@ msgstr "+ Debug"
msgid "Connections"
msgstr "Anslutningar"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "Senaste Varningar"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "rensa"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Ta bort blockering"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2651,26 +2410,11 @@ msgstr "Artikel-ID"
msgid "File set"
msgstr "Filuppsättning"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "När"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Typ"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "Aktiverad"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "Instrumentpanel"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "Anslutning misslyckades!"
@@ -2691,10 +2435,6 @@ msgstr "IPv6-adress"
msgid "Nameserver / DNS Lookup"
msgstr "Namnserver /DNS Lookup"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "CPU Modell"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2707,6 +2447,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2720,22 +2464,10 @@ msgstr "Nerladdningsmapphastighet"
msgid "Complete folder speed"
msgstr "Komplett mapphastighet"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "Skrivhastighet"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "Kunde inte skriva. Kontrollera att sökvägen är skrivbar"
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "Klicka på \"Gör om test\" nedan för att bestämma"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "Gör om test"
@@ -2915,10 +2647,6 @@ msgstr ""
msgid "Enable HTTPS"
msgstr "HTTPS Aktivera"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "inte installerad"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "Aktivera åtkomst till webbkontrollen med HTTPS adress."
@@ -3006,12 +2734,17 @@ msgstr ""
"Sparar artiklar i minnet för att reducera diskåtkomst.<br /><i>I bytes, "
"följt av K,M,G. Till exempel: \"64M\" eller \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3158,10 +2891,6 @@ msgstr "Användarmappar"
msgid "Browse"
msgstr "Bläddra"
#: sabnzbd/skintext.py
msgid "In"
msgstr "I"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "Temporär nedladdningsmapp"
@@ -3291,6 +3020,17 @@ msgstr ""
"Plats för köadministration och historiedatabas.<br /><i>Kan bara ändras när "
"kön är tom.</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr "<i>Data kommer <b>inte</b> tas bort. Kräver omstart av SABnzbd!</i>"
@@ -3480,16 +3220,6 @@ msgid "Some servers provide an alternative NZB when a download fails."
msgstr ""
"Vissa servrar kan förse en alternativ NZB när en nerladdning misslyckas"
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "Döp om mappar"
@@ -3542,6 +3272,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3569,6 +3307,14 @@ msgstr "Ersätt mellanslag i mappnamn"
msgid "Replace spaces with underscores in folder names."
msgstr "Ersätt mellanslag med understreck i mappnamn."
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "Ersätt punkter i mappnamn"
@@ -3666,10 +3412,6 @@ msgstr "Döpning"
msgid "Quota"
msgstr "Kvot"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "Indexerar"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "Hur mycket kan laddas ner denna månad (K/M/G)"
@@ -3922,7 +3664,7 @@ msgstr "Lägg till schema"
msgid "Frequency"
msgstr "Förekomst"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "Åtgärd"
@@ -3974,6 +3716,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "Ordning"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "Typ"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4317,11 +4069,6 @@ msgstr "Mapp/Sökväg"
msgid "Indexer Categories / Groups"
msgstr ""
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4352,10 +4099,6 @@ msgstr ""
msgid "Presets"
msgstr "Förinställningar"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "Exempel"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4365,10 +4108,6 @@ msgstr ""
msgid "Enable Movie Sorting"
msgstr "Aktivera filmsortering"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "Låt nedladdning i extramapp vara"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "Påverkade kategorier"
@@ -4585,51 +4324,11 @@ msgstr "Ändra NZB detaljer"
msgid "Delete"
msgstr "Ta bort"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Topp"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "Upp"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "Ner"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Botten"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "Alla"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "Invertera"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "Filnamn"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "Ämne"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "Urval"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "Ledigt diskutrymme"
@@ -4654,6 +4353,10 @@ msgstr "Markera alla"
msgid "Restart SABnzbd"
msgstr "Starta om SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "När kön är färdig"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "Status och gränsnittsinställningar"
@@ -4730,6 +4433,10 @@ msgstr "Köreparation"
msgid "Show active connections"
msgstr "Visa aktiva anslutningar"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "Ta bort blockering"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "Övergivna jobb"
@@ -4762,18 +4469,6 @@ msgstr "Alternativt ange ett filnamn"
msgid "Submit"
msgstr "Skicka"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "Öppen informations URL"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "Skickat. Tack!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "Inget markerat!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "Ta bort alla markerade filer"
@@ -4782,6 +4477,14 @@ msgstr "Ta bort alla markerade filer"
msgid "Hide/show completed files"
msgstr "Visa/göm färdiga filer"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "Topp"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "Botten"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "Visa skriptlogg"
@@ -4800,6 +4503,10 @@ msgstr ""
msgid "Glitter has some (new) features you might like!"
msgstr ""
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "Anpassa"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr ""
@@ -4812,6 +4519,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr ""
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "Hastighet"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "Bekräfta Kö-borttagningar"
@@ -4846,6 +4557,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "Sortera efter ålder <small>Äldst&rarr;Nyast</small>"
@@ -4994,19 +4709,6 @@ msgstr ""
"Detta är gratis mjukvara, du är välkommen att sprida det under vissa omständigheter.\n"
"Det är licensierat under GNU GENERAL PUBLIC LICENSE Version 2 eller (ditt val) en senare version.\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr ""
"För att ladda ner från usenet du behöver tillgång till en leverantör. Din "
"internetleverantör kan ge dig tillgång, men en premie leverantör "
"rekommenderas."
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "Har du inte någon usenet leverantör? Vi rekommenderar att prova %s."
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5076,10 +4778,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr ""
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "Ogiltig serveradress"
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "Servern avslutades under inloggning"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
"Language-Team: Chinese (China) (https://www.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"
@@ -177,11 +177,7 @@ msgstr "测试通知"
msgid "&nbsp;Resolving address"
msgstr "&nbsp;正在解析地址"
#: sabnzbd/api.py
msgid "unknown"
msgstr "未知"
#. No value, used in dropdown menus - Job details page, select no files
#. No value, used in dropdown menus
#: sabnzbd/api.py, sabnzbd/skintext.py
msgid "None"
msgstr "无"
@@ -278,6 +274,10 @@ msgstr "%s 不是有效的电子邮箱地址"
msgid "Server address required"
msgstr "服务器地址必填"
#: sabnzbd/cfg.py, sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "服务器地址无效。"
#: sabnzbd/cfg.py
msgid "%s is not a valid script"
msgstr ""
@@ -373,7 +373,7 @@ msgstr ""
msgid "Direct Unpack"
msgstr ""
#. PP status - History: job status
#. PP status
#: sabnzbd/directunpacker.py, sabnzbd/skintext.py
msgid "Completed"
msgstr "完成"
@@ -597,6 +597,18 @@ msgstr "保存 %s 失败"
msgid "Loading %s failed"
msgstr "加载 %s 失败"
#. Warning message
#: sabnzbd/filesystem.py
msgid ""
"%s is not writable with special character filenames. This can cause "
"problems."
msgstr ""
#. Warning message
#: sabnzbd/filesystem.py
msgid "%s is not writable at all. This blocks downloads."
msgstr ""
#: sabnzbd/interface.py
msgid "Refused connection from:"
msgstr ""
@@ -626,12 +638,6 @@ msgid ""
"program:"
msgstr "API Key 不正确,请在第三方程序中使用“配置”->“常规”中的 api key:"
#: sabnzbd/interface.py
msgid ""
"Authentication missing, please enter username/password from Config->General "
"into your 3rd party program:"
msgstr "缺身份认证信息,请在第三方程序中输入“配置”->“常规”中的用户名/密码:"
#: sabnzbd/interface.py, sabnzbd/newswrapper.py, sabnzbd/utils/servertests.py
msgid "Authentication failed, check username/password."
msgstr "身份认证失败,请检查用户名/密码。"
@@ -1175,27 +1181,27 @@ msgstr "已中止,无法完成"
msgid "Error importing %s"
msgstr "导入 %s 出错"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "DUPLICATE"
msgstr "*重复*"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "ENCRYPTED"
msgstr "*加密*"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "TOO LARGE"
msgstr "*太大*"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "INCOMPLETE"
msgstr "*不完整*"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "UNWANTED"
msgstr "不需要"
#: sabnzbd/nzbstuff.py, sabnzbd/skintext.py
#: sabnzbd/nzbstuff.py
msgid "WAIT %s sec"
msgstr "*等待* %s 秒"
@@ -1543,13 +1549,13 @@ msgid "Trying RAR-based verification"
msgstr "正在尝试基于 RAR 的验证"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] 基于 RAR 的验证失败: %s"
#: sabnzbd/postproc.py, sabnzbd/skintext.py
msgid "Passworded"
msgstr "有密码"
#: sabnzbd/postproc.py
msgid "[%s] RAR-based verification failed: %s"
msgstr "[%s] 基于 RAR 的验证失败: %s"
#: sabnzbd/postproc.py
msgid "RAR files verified successfully"
msgstr "RAR 文件验证成功"
@@ -1664,7 +1670,7 @@ msgstr "暂停 3 小时"
msgid "Pause for 6 hours"
msgstr "暂停 6 小时"
#. Shutdown SABnzbd - Config->Scheduling
#. Config->Scheduling
#: sabnzbd/sabtray.py, sabnzbd/sabtraylinux.py, sabnzbd/skintext.py
msgid "Shutdown"
msgstr "关闭"
@@ -1733,11 +1739,6 @@ msgstr "来源"
msgid "Servers"
msgstr "服务器"
#. PP Failure message
#: sabnzbd/skintext.py
msgid "Failure"
msgstr "失败"
#. PP status
#: sabnzbd/skintext.py
msgid "Failed"
@@ -1783,20 +1784,6 @@ msgstr "快速检查..."
msgid "Verifying..."
msgstr "正在验证..."
#. Pseudo-PP status, in reality used for Queue-status
#: sabnzbd/skintext.py
msgid "Downloading"
msgstr "正在下载"
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "传播延迟"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "Task"
msgstr "任务"
#. #: Config->Scheduler
#: sabnzbd/skintext.py
msgid "disable server"
@@ -1927,21 +1914,6 @@ msgstr "紧急"
msgid "Low"
msgstr "低"
#. Megabytes
#: sabnzbd/skintext.py
msgid "MB"
msgstr "MB"
#. Gigabytes
#: sabnzbd/skintext.py
msgid "GB"
msgstr "GB"
#. Bytes (used as postfix, as in "GB", "TB")
#: sabnzbd/skintext.py
msgid "B"
msgstr "B"
#. One hour
#: sabnzbd/skintext.py
msgid "hour"
@@ -1987,54 +1959,6 @@ msgstr "月"
msgid "Year"
msgstr "年"
#: sabnzbd/skintext.py
msgid "January"
msgstr ""
#: sabnzbd/skintext.py
msgid "February"
msgstr ""
#: sabnzbd/skintext.py
msgid "March"
msgstr ""
#: sabnzbd/skintext.py
msgid "April"
msgstr ""
#: sabnzbd/skintext.py
msgid "May"
msgstr ""
#: sabnzbd/skintext.py
msgid "June"
msgstr ""
#: sabnzbd/skintext.py
msgid "July"
msgstr ""
#: sabnzbd/skintext.py
msgid "August"
msgstr ""
#: sabnzbd/skintext.py
msgid "September"
msgstr ""
#: sabnzbd/skintext.py
msgid "October"
msgstr ""
#: sabnzbd/skintext.py
msgid "November"
msgstr ""
#: sabnzbd/skintext.py
msgid "December"
msgstr ""
#: sabnzbd/skintext.py
msgid "Day of month"
msgstr "每月特定一天"
@@ -2059,14 +1983,6 @@ msgstr "今天"
msgid "Total"
msgstr "总计"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "自定义"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "速度"
#: sabnzbd/skintext.py
msgid "on"
msgstr "开"
@@ -2095,42 +2011,10 @@ msgstr "或"
msgid "Host"
msgstr "主机"
#: sabnzbd/skintext.py
msgid "Comment"
msgstr "评论"
#: sabnzbd/skintext.py
msgid "Send"
msgstr "发送"
#: sabnzbd/skintext.py
msgid "Cancel"
msgstr "取消"
#: sabnzbd/skintext.py
msgid "Other"
msgstr "其他"
#: sabnzbd/skintext.py
msgid "Report"
msgstr "报告"
#: sabnzbd/skintext.py
msgid "Video"
msgstr "视频"
#: sabnzbd/skintext.py
msgid "Audio"
msgstr "音频"
#: sabnzbd/skintext.py
msgid "Not used"
msgstr "未使用"
#: sabnzbd/skintext.py
msgid "or less"
msgstr "或更少"
#: sabnzbd/skintext.py
msgid "Log in"
msgstr "登录"
@@ -2143,11 +2027,6 @@ msgstr "注销"
msgid "Remember me"
msgstr "记住我"
#. SABnzbd's theme line
#: sabnzbd/skintext.py
msgid "The automatic usenet download tool"
msgstr "usenet 自动下载工具"
#. "Save" button
#: sabnzbd/skintext.py
msgid "Save"
@@ -2162,11 +2041,6 @@ msgstr "正在保存.."
msgid "Are you sure?"
msgstr "是否确定?"
#. Used in confirmation popups
#: sabnzbd/skintext.py
msgid "Delete all downloaded files?"
msgstr "删除全部已下载文件?"
#. Main menu item
#: sabnzbd/skintext.py
msgid "Home"
@@ -2266,22 +2140,6 @@ msgstr "搜索"
msgid "Download Dir"
msgstr "下载目录"
#: sabnzbd/skintext.py
msgid "PAUSED"
msgstr "*已暂停*"
#: sabnzbd/skintext.py
msgid "Cached %s articles (%s)"
msgstr "已缓存 %s 篇文章 (%s)"
#: sabnzbd/skintext.py
msgid "Sysload"
msgstr "系统负载"
#: sabnzbd/skintext.py
msgid "New release %s available at"
msgstr "新版 %s 已发布,下载:"
#: sabnzbd/skintext.py
msgid "Are you sure you want to shutdown SABnzbd?"
msgstr "是否确定要关闭 SABnzbd?"
@@ -2291,21 +2149,11 @@ msgstr "是否确定要关闭 SABnzbd?"
msgid "Add"
msgstr "添加"
#. Add NZB file to queue (header
#: sabnzbd/skintext.py
msgid "Add File"
msgstr "添加文件"
#. Job category
#: sabnzbd/skintext.py
msgid "Category"
msgstr "分类"
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Processing"
msgstr "处理"
#. Server priority
#: sabnzbd/skintext.py
msgid "Priority"
@@ -2326,21 +2174,6 @@ msgstr "+解压"
msgid "+Delete"
msgstr "+删除"
#. Post processing pick list: abbreviation for "+Repair"
#: sabnzbd/skintext.py
msgid "R"
msgstr "修"
#. Post processing pick list: abbreviation for "+Unpack"
#: sabnzbd/skintext.py
msgid "U"
msgstr "解"
#. Post processing pick list: abbreviation for "+Delete"
#: sabnzbd/skintext.py
msgid "D"
msgstr "删"
#. Priority pick list
#: sabnzbd/skintext.py
msgid "Force"
@@ -2356,11 +2189,6 @@ msgstr "停止"
msgid "Enter URL"
msgstr "输入 URL"
#. Queue page selection menu
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "队列完成时"
#. Queue page end-of-queue action
#: sabnzbd/skintext.py
msgid "Shutdown PC"
@@ -2381,36 +2209,16 @@ msgstr "电脑休眠"
msgid "Shutdown SABnzbd"
msgstr "关闭 SABnzbd"
#. Queue page selection menu or entry box
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Speed Limit"
msgstr "限速"
msgid "Processing"
msgstr "处理"
#. Queue page table column header - Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "序号"
#. Queue page table column header - Job details page
#. Queue page table column header
#: sabnzbd/skintext.py
msgid "Name"
msgstr "名称"
#. Queue page table column header, "estimated time of arrival"
#: sabnzbd/skintext.py
msgid "ETA"
msgstr "大约完成"
#. Queue page table column header, "age of the NZB"
#: sabnzbd/skintext.py
msgid "AGE"
msgstr "发布时间"
#. Queue page table, "Delete" button
#: sabnzbd/skintext.py
msgid "Del"
msgstr "删除"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Retry"
@@ -2441,11 +2249,6 @@ msgstr "清空 NZB"
msgid "Purge NZBs & Delete Files"
msgstr "清空 NZB 并删除文件"
#. Retry all failed jobs dialog box
#: sabnzbd/skintext.py
msgid "Retry all failed jobs"
msgstr "重新尝试下载所有已失败任务"
#. Queue page button
#: sabnzbd/skintext.py
msgid "Remove NZB"
@@ -2456,11 +2259,6 @@ msgstr "移除 NZB"
msgid "Remove NZB & Delete Files"
msgstr "移除 NZB 并删除文件"
#. Queue page, as in "4G *of* 10G"
#: sabnzbd/skintext.py
msgid "of"
msgstr "/"
#. Caption for missing articles in Queue
#: sabnzbd/skintext.py
msgid "Missing articles"
@@ -2480,11 +2278,6 @@ msgstr "手动"
msgid "Reset Quota now"
msgstr "立即重置配额"
#. Confirmation popup
#: sabnzbd/skintext.py
msgid "Delete all completed items from History?"
msgstr "从“历史”中删除所有已完成项?"
#. Button/link hiding History job details
#: sabnzbd/skintext.py
msgid "Hide details"
@@ -2541,25 +2334,8 @@ msgstr "路径"
#. Retry all failed jobs in History
#: sabnzbd/skintext.py
msgid "Retry all failed"
msgstr "重所有失败任务"
#. Retry all button for Retry All Failed Jobs
#: sabnzbd/skintext.py
msgid "Retry All"
msgstr "重试所有"
#: sabnzbd/skintext.py
msgid "Virus/spam"
msgstr "病毒/垃圾"
#: sabnzbd/skintext.py
msgid "Out of retention"
msgstr "超出保留期"
#: sabnzbd/skintext.py
msgid "Other problem"
msgstr "其他问题"
msgid "Retry all failed jobs"
msgstr "重新尝试下载所有失败任务"
#. Status page button
#: sabnzbd/skintext.py
@@ -2611,21 +2387,6 @@ msgstr "+ 调试"
msgid "Connections"
msgstr "连接"
#. Status page, table header
#: sabnzbd/skintext.py
msgid "Latest Warnings"
msgstr "最新警告信息"
#. Status page button
#: sabnzbd/skintext.py
msgid "clear"
msgstr "清除"
#. Status page button
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "解封"
#. Status page, article identifier
#: sabnzbd/skintext.py
msgid "Article identifier"
@@ -2636,26 +2397,11 @@ msgstr "文章 id"
msgid "File set"
msgstr "文件集"
#. Status page, table column header, when error occured
#: sabnzbd/skintext.py
msgid "When"
msgstr "时间"
#. Status page, table column header, type of message - Config->RSS table
#. column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "类型"
#. Status page, indicator that server is enabled
#: sabnzbd/skintext.py
msgid "Enabled"
msgstr "启用"
#: sabnzbd/skintext.py
msgid "Dashboard"
msgstr "控制台"
#: sabnzbd/skintext.py
msgid "Connection failed!"
msgstr "连接失败!"
@@ -2676,10 +2422,6 @@ msgstr "IPv6 地址"
msgid "Nameserver / DNS Lookup"
msgstr "域名服务器 / DNS 查询"
#: sabnzbd/skintext.py
msgid "CPU Model"
msgstr "CPU 型号"
#: sabnzbd/skintext.py
msgid "Download speed limited by"
msgstr ""
@@ -2692,6 +2434,10 @@ msgstr ""
msgid "Disk speed"
msgstr ""
#: sabnzbd/skintext.py
msgid "System load"
msgstr ""
#. Do not translate Pystone
#: sabnzbd/skintext.py
msgid "System Performance (Pystone)"
@@ -2705,22 +2451,10 @@ msgstr "下载文件夹读写速度"
msgid "Complete folder speed"
msgstr "完成文件夹写入速度"
#: sabnzbd/skintext.py
msgid "Writing speed"
msgstr "写入速度"
#: sabnzbd/skintext.py
msgid "Could not write. Check that the directory is writable."
msgstr "无法写入。请确保该目录有写入权限。"
#: sabnzbd/skintext.py
msgid "Internet Bandwidth"
msgstr ""
#: sabnzbd/skintext.py
msgid "Click on Repeat test button below to determine"
msgstr "点击下面的“重复”按钮可开始测试"
#: sabnzbd/skintext.py
msgid "Repeat test"
msgstr "重复测试"
@@ -2892,10 +2626,6 @@ msgstr "安全"
msgid "Enable HTTPS"
msgstr "启用 HTTPS"
#: sabnzbd/skintext.py
msgid "not installed"
msgstr "未安装"
#: sabnzbd/skintext.py
msgid "Enable accessing the interface from a HTTPS address."
msgstr "启用 HTTPS 地址访问界面。"
@@ -2979,12 +2709,17 @@ msgid ""
" follow with K,M,G. For example: \"64M\" or \"128M\"</i>"
msgstr "在内存中缓存文章,以减轻硬盘访问压力。<br /><i>单位为字节,可以选择加上 K、M、G 后缀。例如: \"64M\" 或 \"128M\"</i>"
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Download backup"
msgid "Create backup"
msgstr ""
#: sabnzbd/skintext.py
msgid "Save or restore a backup of the configuration file and databases."
msgid ""
"Create a backup of the configuration file and databases in the Backup "
"Folder.<br>If the Backup Folder is not set, the backup will be created in "
"the Completed Download Folder.<br>Recurring backups can be configured on the"
" Scheduling page."
msgstr ""
#: sabnzbd/skintext.py
@@ -3124,10 +2859,6 @@ msgstr "用户文件夹"
msgid "Browse"
msgstr "浏览"
#: sabnzbd/skintext.py
msgid "In"
msgstr "位于"
#: sabnzbd/skintext.py
msgid "Temporary Download Folder"
msgstr "临时下载文件夹"
@@ -3245,6 +2976,17 @@ msgid ""
"when queue is empty.</i>"
msgstr "队列管理及历史数据库的存放位置。<br /><i>仅当队列为空时可以修改。</i>"
#: sabnzbd/skintext.py
msgid "Backup Folder"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"Location where the backups of the configuration file and databases are "
"stored.<br />If left empty, the backup will be created in the Completed "
"Download Folder."
msgstr ""
#: sabnzbd/skintext.py
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
msgstr "<i>数据<b>不会</b>自动移动。需要重启 SABnzbd 才能生效!</i>"
@@ -3427,16 +3169,6 @@ msgstr "失败时,尝试备用 NZB"
msgid "Some servers provide an alternative NZB when a download fails."
msgstr "部分服务器在下载失败时可提供备用 NZB 文件。"
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
#: sabnzbd/skintext.py
msgid ""
"When sorting, use tags from indexer for title, season, episode, etc. "
"Otherwise all naming is derived from the NZB name."
msgstr ""
#: sabnzbd/skintext.py
msgid "Enable folder rename"
msgstr "启用文件夹重命名"
@@ -3487,6 +3219,14 @@ msgstr ""
msgid "Automatically sort jobs in the queue when a new job is added."
msgstr ""
#: sabnzbd/skintext.py
msgid "The queue will resort every 30 seconds if % downloaded is selected."
msgstr ""
#: sabnzbd/skintext.py
msgid "Propagation delay"
msgstr "传播延迟"
#: sabnzbd/skintext.py
msgid ""
"Posts will be paused untill they are at least this age. Setting job priority"
@@ -3514,6 +3254,14 @@ msgstr "替换文件夹名称中的空格"
msgid "Replace spaces with underscores in folder names."
msgstr "将文件夹名称中的空格替换成下划线。"
#: sabnzbd/skintext.py
msgid "Replace underscores in folder name"
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace underscores with dots in folder names."
msgstr ""
#: sabnzbd/skintext.py
msgid "Replace dots in Foldername"
msgstr "替换文件夹名称中的点号"
@@ -3609,10 +3357,6 @@ msgstr "命名"
msgid "Quota"
msgstr "配额"
#: sabnzbd/skintext.py
msgid "Indexing"
msgstr "正在索引"
#: sabnzbd/skintext.py
msgid "How much can be downloaded this month (K/M/G)"
msgstr "本月能下载多少数据量 (K/M/G)"
@@ -3860,7 +3604,7 @@ msgstr "添加定时任务"
msgid "Frequency"
msgstr "频率"
#. Config->Scheduling - Job details page, section header
#. Config->Scheduling
#: sabnzbd/skintext.py
msgid "Action"
msgstr "动作"
@@ -3910,6 +3654,16 @@ msgstr ""
msgid "Next scan at"
msgstr ""
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Order"
msgstr "序号"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Type"
msgstr "类型"
#. Config->RSS table column header
#: sabnzbd/skintext.py
msgid "Filter"
@@ -4254,11 +4008,6 @@ msgstr "文件夹/路径"
msgid "Indexer Categories / Groups"
msgstr "索引 Categories / Groups"
#. Small delete button
#: sabnzbd/skintext.py
msgid "X"
msgstr "X"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Select at least 1 category."
@@ -4289,10 +4038,6 @@ msgstr "应用过滤器"
msgid "Presets"
msgstr "预设"
#: sabnzbd/skintext.py
msgid "Example"
msgstr "示例"
#. Warning message
#: sabnzbd/skintext.py, sabnzbd/sorting.py
msgid "Movie Sorting"
@@ -4302,10 +4047,6 @@ msgstr "电影排序"
msgid "Enable Movie Sorting"
msgstr "启用电影排序"
#: sabnzbd/skintext.py
msgid "Keep loose downloads in extra folders"
msgstr "将下载内容保留在额外文件夹"
#: sabnzbd/skintext.py
msgid "Affected Categories"
msgstr "影响分类"
@@ -4520,51 +4261,11 @@ msgstr "编辑 NZB 详情"
msgid "Delete"
msgstr "删除"
#. Job details page, move file to top
#: sabnzbd/skintext.py
msgid "Top"
msgstr "置顶"
#. Job details page, move file one place up
#: sabnzbd/skintext.py
msgid "Up"
msgstr "上移"
#. Job details page, move file one place down
#: sabnzbd/skintext.py
msgid "Down"
msgstr "下移"
#. Job details page, move file to bottom
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "置底"
#. Job details page, select all files
#: sabnzbd/skintext.py
msgid "All"
msgstr "全部"
#. Job details page, invert file selection
#: sabnzbd/skintext.py
msgid "Invert"
msgstr "反选"
#. Job details page, filename column header
#: sabnzbd/skintext.py
msgid "Filename"
msgstr "文件名"
#. Job details page, subject column header
#: sabnzbd/skintext.py
msgid "Subject"
msgstr "主题"
#. Job details page, section header
#: sabnzbd/skintext.py
msgid "Selection"
msgstr "选择"
#: sabnzbd/skintext.py
msgid "Free Space"
msgstr "剩余空间"
@@ -4589,6 +4290,10 @@ msgstr "全选"
msgid "Restart SABnzbd"
msgstr "重新启动 SABnzbd"
#: sabnzbd/skintext.py
msgid "On queue finish"
msgstr "队列完成时"
#: sabnzbd/skintext.py
msgid "Status and interface options"
msgstr "状态与界面选项"
@@ -4665,6 +4370,10 @@ msgstr "队列修复"
msgid "Show active connections"
msgstr "显示活动连接"
#: sabnzbd/skintext.py
msgid "Unblock"
msgstr "解封"
#: sabnzbd/skintext.py
msgid "Orphaned jobs"
msgstr "孤立任务"
@@ -4697,18 +4406,6 @@ msgstr "可以选择指定文件名"
msgid "Submit"
msgstr "提交"
#: sabnzbd/skintext.py
msgid "Open Informational URL"
msgstr "打开信息 URL"
#: sabnzbd/skintext.py
msgid "Submitted. Thank you!"
msgstr "已提交。感谢!"
#: sabnzbd/skintext.py
msgid "Nothing selected!"
msgstr "未选择任何内容!"
#: sabnzbd/skintext.py
msgid "Remove all selected files"
msgstr "移除已选文件"
@@ -4717,6 +4414,14 @@ msgstr "移除已选文件"
msgid "Hide/show completed files"
msgstr "隐藏/显示已完成文件"
#: sabnzbd/skintext.py
msgid "Top"
msgstr "置顶"
#: sabnzbd/skintext.py
msgid "Bottom"
msgstr "置底"
#: sabnzbd/skintext.py
msgid "View Script Log"
msgstr "查看脚本日志"
@@ -4735,6 +4440,10 @@ msgstr "您的浏览器已禁用 LocalStorage (cookies)。界面设置将在您
msgid "Glitter has some (new) features you might like!"
msgstr "你可能会喜欢一些 Glitter 的(新)功能!"
#: sabnzbd/skintext.py
msgid "Custom"
msgstr "自定义"
#: sabnzbd/skintext.py
msgid "Compact layout"
msgstr "精简外观"
@@ -4747,6 +4456,10 @@ msgstr ""
msgid "Tabbed layout <br/>(separate queue and history)"
msgstr "标签化外观 <br/>(分别显示队列与历史记录)"
#: sabnzbd/skintext.py
msgid "Speed"
msgstr "速度"
#: sabnzbd/skintext.py
msgid "Confirm Queue Deletions"
msgstr "确认队列删除"
@@ -4781,6 +4494,10 @@ msgid ""
" and the included copy of your settings."
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by % downloaded <small>Most&rarr;Least</small>"
msgstr ""
#: sabnzbd/skintext.py
msgid "Sort by Age <small>Oldest&rarr;Newest</small>"
msgstr "按发布时间排序 <small>最早&rarr;最新</small>"
@@ -4925,16 +4642,6 @@ msgstr ""
"这是一款自由软件,欢迎您在约定的条件下传播。\n"
"本软件依 GNU GENERAL PUBLIC LICENSE 第 2 版或 (若您愿意) 任意较新版本授权。\n"
#: sabnzbd/skintext.py
msgid ""
"In order to download from usenet you will require access to a provider. Your"
" ISP may provide you with access, however a premium provider is recommended."
msgstr "要从 usenet 下载您需要有一家提供商的访问权限。您的 ISP 可能会为您提供权限,但推荐您选用付费的高级提供商。"
#: sabnzbd/skintext.py
msgid "Don't have a usenet provider? We recommend trying %s."
msgstr "还没有 usenet 提供商r? 我们推荐试试 %s。"
#. Error message
#: sabnzbd/sorting.py
msgid "Failed to rename: %s to %s"
@@ -5003,10 +4710,6 @@ msgid ""
"Unknown SSL protocol: Try disabling SSL or connecting on a different port."
msgstr "未知的 SSL 协议:尝试禁用 SSL 或者连接不同的端口。"
#: sabnzbd/utils/servertests.py
msgid "Invalid server address."
msgstr "服务器地址无效。"
#: sabnzbd/utils/servertests.py
msgid "Server quit during login sequence."
msgstr "登录过程中服务器退出。"

View File

@@ -5,7 +5,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: team@sabnzbd.org\n"
"Language-Team: SABnzbd <team@sabnzbd.org>\n"

View File

@@ -2,10 +2,14 @@
# Copyright 2007-2022 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Pavel C <quoing_transifex@mess.cz>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Pavel C <quoing_transifex@mess.cz>, 2022\n"
"Language-Team: Czech (https://www.transifex.com/sabnzbd/teams/111101/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +23,7 @@ msgstr ""
#: builder/win/NSIS_Installer.nsi
msgid "Support the project, Donate!"
msgstr ""
msgstr "Podpořte projekt!"
#: builder/win/NSIS_Installer.nsi
msgid "Please close \"SABnzbd.exe\" first"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Danish (https://www.transifex.com/sabnzbd/teams/111101/da/)\n"

View File

@@ -1,16 +1,16 @@
# SABnzbd Translation Template file NSIS
# Copyright 2007-2022 The SABnzbd-Team
# team@sabnzbd.org
#
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
# Simon W., 2021
#
# reloxx13 <reloxx@interia.pl>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Simon W., 2021\n"
"Last-Translator: reloxx13 <reloxx@interia.pl>, 2022\n"
"Language-Team: German (https://www.transifex.com/sabnzbd/teams/111101/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -44,15 +44,15 @@ msgid ""
"The installer only supports 64-bit Windows, use the standalone version to "
"run on 32-bit Windows."
msgstr ""
"Der Installer unterstützt nur Windows 64-bit. Benutze die Standalone Version"
" für Windows 32-bit."
"Der Installer unterstützt nur Windows 64-Bit. Benutze die Portable Version "
"für Windows 32-Bit."
#: builder/win/NSIS_Installer.nsi
msgid ""
"The installer only supports Windows 8.1 and above, use the standalone legacy"
" version to run on older Windows version."
msgstr ""
"Der Installer unterstützt nur Windows 8.1 und höher. Benutze die standalone "
"Der Installer unterstützt nur Windows 8.1 und höher. Benutze die Standalone-"
"Version für ältere Windows Versionen."
#: builder/win/NSIS_Installer.nsi

View File

@@ -8,7 +8,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Ester Molla Aragones <moarages@gmail.com>, 2020\n"
"Language-Team: Spanish (https://www.transifex.com/sabnzbd/teams/111101/es/)\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: builder/win/NSIS_Installer.nsi
msgid "Show Release Notes"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Finnish (https://www.transifex.com/sabnzbd/teams/111101/fi/)\n"

View File

@@ -8,7 +8,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Fred L <88com88@gmail.com>, 2021\n"
"Language-Team: French (https://www.transifex.com/sabnzbd/teams/111101/fr/)\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: builder/win/NSIS_Installer.nsi
msgid "Show Release Notes"

View File

@@ -8,7 +8,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: ION, 2021\n"
"Language-Team: Hebrew (https://www.transifex.com/sabnzbd/teams/111101/he/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/sabnzbd/teams/111101/nb/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2021\n"
"Language-Team: Dutch (https://www.transifex.com/sabnzbd/teams/111101/nl/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Polish (https://www.transifex.com/sabnzbd/teams/111101/pl/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: builder/win/NSIS_Installer.nsi
msgid "Show Release Notes"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Romanian (https://www.transifex.com/sabnzbd/teams/111101/ro/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Russian (https://www.transifex.com/sabnzbd/teams/111101/ru/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Serbian (https://www.transifex.com/sabnzbd/teams/111101/sr/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Swedish (https://www.transifex.com/sabnzbd/teams/111101/sv/)\n"

View File

@@ -7,7 +7,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.6.0Beta4\n"
"Project-Id-Version: SABnzbd-3.7.0Beta1\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Chinese (China) (https://www.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"

View File

@@ -1,42 +1,46 @@
# Main requirements
# Note that not all sub-dependencies are listed, but only ones we know could cause trouble
sabyenc3==5.2.0
cheetah3==3.2.6 # pyup: ignore
cffi==1.15
sabyenc3==5.4.4
cheetah3==3.2.6.post1
cffi==1.15.1
pycparser==2.21
feedparser==6.0.8
feedparser==6.0.10
configobj==5.0.6
cheroot==8.6.0
six==1.16.0
cherrypy==18.6.1
jaraco.functools==3.5.0
jaraco.collections==3.5.1
jaraco.text==3.7.0
jaraco.classes==3.2.1
jaraco.context==4.1.1
more-itertools==8.12.0
cherrypy==18.8.0
jaraco.functools==3.5.2
jaraco.collections==3.6.0
jaraco.text==3.8.1 # Newer version introduces irrelevant extra dependencies
jaraco.classes==3.2.3
jaraco.context==4.1.2
more-itertools==9.0.0
zc.lockfile==2.0
python-dateutil==2.8.2
tempora==5.0.1
pytz==2022.1
tempora==5.0.2
pytz==2022.5
sgmllib3k==1.0.0
portend==3.1.0
chardet==4.0.0
chardet==5.0.0
PySocks==1.7.1
puremagic==1.12
puremagic==1.14
guessit==3.4.3
babelfish==0.6.0
rebulk==3.1.0
# Recent cryptography versions require Rust. If this is an issue, SABnzbd will
# also work with older pre-Rust versions such as cryptography==3.3.2
cryptography==36.0.2
# Recent cryptography versions require Rust. If you run into issues compiling this
# SABnzbd will also work with older pre-Rust versions such as cryptography==3.3.2
cryptography==38.0.3
# We recommend using "orjson" as it is 2x as fast as "ujson". However, it requires
# Rust so SABnzbd works just as well with "ujson" or the Python built in "json" module
ujson==5.5.0
# Windows system integration
pywin32==303; sys_platform == 'win32'
pywin32==304; sys_platform == 'win32'
# macOS system calls
pyobjc==8.5; sys_platform == 'darwin'
pyobjc==8.5.1; sys_platform == 'darwin'
# Linux notifications
notify2==0.3.1; sys_platform != 'win32' and sys_platform != 'darwin'

View File

@@ -242,15 +242,12 @@ def initialize(pause_downloader=False, clean_up=False, repair=0):
# Optionally wait for "incomplete" to become online
if cfg.wait_for_dfolder():
filesystem.wait_for_download_folder()
else:
cfg.download_dir.set(cfg.download_dir(), create=True)
cfg.download_dir.set_create(True)
# If dirscan_dir cannot be created, set a proper value anyway.
# Maybe it's a network path that's temporarily missing.
path = cfg.dirscan_dir.get_path()
if not os.path.exists(path):
filesystem.create_real_path(cfg.dirscan_dir.keyword, "", path, False)
# Set the folders to be created, then the check_incomplete_vs_complete
# check will create them by calling get_path on them
cfg.download_dir.set_create(True)
cfg.complete_dir.set_create(True)
filesystem.check_incomplete_vs_complete()
# Set call backs for Config items
cfg.cache_limit.callback(cfg.new_limit)
@@ -275,8 +272,6 @@ def initialize(pause_downloader=False, clean_up=False, repair=0):
cfg.enable_https_verification.callback(cfg.guard_https_ver)
cfg.guard_https_ver()
filesystem.check_incomplete_vs_complete()
# Set language files
lang.set_locale_info("SABnzbd", DIR_LANGUAGE)
lang.set_language(cfg.language())
@@ -517,6 +512,9 @@ def check_all_tasks():
# Check (and terminate) idle jobs
sabnzbd.NzbQueue.stop_idle_jobs()
# Check that the queue is sorted correctly
sabnzbd.NzbQueue.update_sort_order()
return True

View File

@@ -23,14 +23,22 @@ import os
import logging
import re
import gc
import datetime
import time
import json
import getpass
import cherrypy
from threading import Thread
from typing import Tuple, Optional, List, Dict, Any
# For json.dumps, orjson is magnitudes faster than ujson, but it is harder to
# compile due to Rust dependency. Since the output is the same, we support all modules.
try:
import orjson as json
except ImportError:
try:
import ujson as json
except ImportError:
import json
import sabnzbd
from sabnzbd.constants import (
VALID_ARCHIVES,
@@ -54,8 +62,6 @@ from sabnzbd.misc import (
loadavg,
to_units,
int_conv,
time_format,
cat_convert,
create_https_certificates,
calc_age,
opts_to_pp,
@@ -252,31 +258,27 @@ def _api_queue_sort(value, kwargs):
def _api_queue_default(value, kwargs):
"""API: accepts sort, dir, start, limit"""
"""API: accepts sort, dir, start, limit and search terms"""
start = int_conv(kwargs.get("start"))
limit = int_conv(kwargs.get("limit"))
search = kwargs.get("search")
categories = kwargs.get("cat") or kwargs.get("category")
priorities = kwargs.get("priority")
nzo_ids = kwargs.get("nzo_ids")
if categories and not isinstance(categories, list):
categories = categories.split(",")
if priorities and not isinstance(priorities, list):
# Make sure it's an integer
priorities = [int_conv(prio) for prio in priorities.split(",")]
if nzo_ids and not isinstance(nzo_ids, list):
nzo_ids = nzo_ids.split(",")
return report(keyword="queue", data=build_queue(start=start, limit=limit, search=search, nzo_ids=nzo_ids))
def _api_options(name, kwargs):
return report(
keyword="options",
data={
"sabyenc": sabnzbd.decoder.SABYENC_ENABLED,
"par2": sabnzbd.newsunpack.PAR2_COMMAND,
"multipar": sabnzbd.newsunpack.MULTIPAR_COMMAND,
"rar": sabnzbd.newsunpack.RAR_COMMAND,
"zip": sabnzbd.newsunpack.ZIP_COMMAND,
"7zip": sabnzbd.newsunpack.SEVENZIP_COMMAND,
"nice": sabnzbd.newsunpack.NICE_COMMAND,
"ionice": sabnzbd.newsunpack.IONICE_COMMAND,
},
keyword="queue",
data=build_queue(
start=start, limit=limit, search=search, categories=categories, priorities=priorities, nzo_ids=nzo_ids
),
)
@@ -476,7 +478,7 @@ def _api_history(name, kwargs):
last_history_update = int_conv(kwargs.get("last_history_update", 0))
search = kwargs.get("search")
failed_only = int_conv(kwargs.get("failed_only"))
categories = kwargs.get("category")
categories = kwargs.get("cat") or kwargs.get("category")
nzo_ids = kwargs.get("nzo_ids")
# Do we need to send anything?
@@ -484,7 +486,7 @@ def _api_history(name, kwargs):
return report(keyword="history", data=False)
if categories and not isinstance(categories, list):
categories = [categories]
categories = categories.split(",")
if nzo_ids and not isinstance(nzo_ids, list):
nzo_ids = nzo_ids.split(",")
@@ -678,19 +680,15 @@ def _api_version(name, kwargs):
def _api_auth(name, kwargs):
auth = "None"
if not cfg.disable_key():
key = kwargs.get("key", "")
if not key:
auth = "apikey"
else:
auth = "badkey"
key = kwargs.get("key", "")
if not key:
if key == cfg.nzb_key():
auth = "nzbkey"
if key == cfg.api_key():
auth = "apikey"
else:
if key == cfg.nzb_key():
auth = "nzbkey"
if key == cfg.api_key():
auth = "apikey"
elif cfg.username() and cfg.password():
auth = "login"
return report(keyword="auth", data=auth)
@@ -714,18 +712,6 @@ def _api_disconnect(name, kwargs):
return report()
def _api_osx_icon(name, kwargs):
"""API: accepts value"""
value = kwargs.get("value", "1").strip()
cfg.osx_menu.set(value != "0")
return report()
def _api_rescan(name, kwargs):
sabnzbd.NzbQueue.scan_jobs(all_jobs=False, action=True)
return report()
def _api_eval_sort(name, kwargs):
"""API: evaluate sorting expression"""
name = kwargs.get("name", "")
@@ -881,19 +867,6 @@ def _api_config_speedlimit(kwargs):
return report()
def _api_config_get_speedlimit(kwargs):
return report(keyword="speedlimit", data=sabnzbd.Downloader.get_limit())
def _api_config_set_colorscheme(kwargs):
value = kwargs.get("value")
if value:
cfg.web_color.set(value)
return report()
else:
return report(_MSG_NO_VALUE)
def _api_config_set_pause(kwargs):
"""API: accepts value(=pause interval)"""
value = kwargs.get("value")
@@ -933,6 +906,11 @@ def _api_config_test_server(kwargs):
return report(data={"result": result, "message": msg})
def _api_config_create_backup(kwargs):
backup_file = config.create_config_backup()
return report(data={"result": bool(backup_file), "message": backup_file})
def _api_config_undefined(kwargs):
return report(_MSG_NOT_IMPLEMENTED)
@@ -972,7 +950,6 @@ _api_table = {
"set_config_default": (_api_set_config_default, 3),
"del_config": (_api_del_config, 3),
"queue": (_api_queue, 2),
"options": (_api_options, 2),
"translate": (_api_translate, 2),
"addfile": (_api_addfile, 1),
"retry": (_api_retry, 2),
@@ -988,7 +965,6 @@ _api_table = {
"get_files": (_api_get_files, 2),
"move_nzf_bulk": (_api_move_nzf_bulk, 2),
"addurl": (_api_addurl, 1),
"addid": (_api_addurl, 1),
"pause": (_api_pause, 2),
"resume": (_api_resume, 2),
"shutdown": (_api_shutdown, 3),
@@ -1002,9 +978,7 @@ _api_table = {
"restart": (_api_restart, 3),
"restart_repair": (_api_restart_repair, 3),
"disconnect": (_api_disconnect, 2),
"osx_icon": (_api_osx_icon, 3),
"gc_stats": (_api_gc_stats, 3),
"rescan": (_api_rescan, 2),
"eval_sort": (_api_eval_sort, 3),
"watched_now": (_api_watched_now, 2),
"resume_pp": (_api_resume_pp, 2),
@@ -1045,14 +1019,12 @@ _api_status_table = {
_api_config_table = {
"speedlimit": (_api_config_speedlimit, 2),
"set_speedlimit": (_api_config_speedlimit, 2),
"get_speedlimit": (_api_config_get_speedlimit, 2),
"set_pause": (_api_config_set_pause, 2),
"set_colorscheme": (_api_config_set_colorscheme, 3),
"set_apikey": (_api_config_set_apikey, 3),
"set_nzbkey": (_api_config_set_nzbkey, 3),
"regenerate_certs": (_api_config_regenerate_certs, 3),
"test_server": (_api_config_test_server, 3),
"create_backup": (_api_config_create_backup, 3),
}
@@ -1088,6 +1060,7 @@ def report(error: Optional[str] = None, keyword: str = "value", data: Any = None
info = data
else:
info = {keyword: data}
response = utob(json.dumps(info))
elif output == "xml":
@@ -1125,9 +1098,6 @@ class XmlOutputFactory:
In Three tiered lists hard-coded name of "slot": <tier1><slot><tier2> </tier2></slot></tier1>
"""
def __init__(self):
self.__text = ""
def _tuple(self, keyw, lst):
text = []
for item in lst:
@@ -1276,7 +1246,8 @@ def build_status(calculate_performance: bool = False, skip_dashboard: bool = Fal
info["delayed_decoder"] = sabnzbd.BPSMeter.delayed_decoder
info["delayed_assembler"] = sabnzbd.BPSMeter.delayed_assembler
# Dashboard: Speed of System
# Dashboard: Speed and load of System
info["loadavg"] = loadavg()
info["pystone"] = sabnzbd.PYSTONE_SCORE
# Dashboard: Speed of Download directory:
@@ -1340,18 +1311,37 @@ def build_status(calculate_performance: bool = False, skip_dashboard: bool = Fal
return info
def build_queue(start: int = 0, limit: int = 0, search: Optional[str] = None, nzo_ids: Optional[List[str]] = None):
def build_queue(
start: int = 0,
limit: int = 0,
search: Optional[str] = None,
categories: Optional[List[str]] = None,
priorities: Optional[List[str]] = None,
nzo_ids: Optional[List[str]] = None,
):
info = build_header(for_template=False)
qnfo = sabnzbd.NzbQueue.queue_info(search=search, nzo_ids=nzo_ids, start=start, limit=limit)
(
queue_bytes_total,
queue_bytes_left,
bytes_left_previous_page,
nzo_list,
queue_fullsize,
nzos_matched,
) = sabnzbd.NzbQueue.queue_info(
search=search, categories=categories, priorities=priorities, nzo_ids=nzo_ids, start=start, limit=limit
)
info["kbpersec"] = "%.2f" % (sabnzbd.BPSMeter.bps / KIBI)
info["speed"] = to_units(sabnzbd.BPSMeter.bps)
info["mbleft"] = "%.2f" % (qnfo.bytes_left / MEBI)
info["mb"] = "%.2f" % (qnfo.bytes / MEBI)
info["sizeleft"] = to_units(qnfo.bytes_left, "B")
info["size"] = to_units(qnfo.bytes, "B")
info["noofslots_total"] = qnfo.q_fullsize
info["mbleft"] = "%.2f" % (queue_bytes_left / MEBI)
info["mb"] = "%.2f" % (queue_bytes_total / MEBI)
info["sizeleft"] = to_units(queue_bytes_left, "B")
info["size"] = to_units(queue_bytes_total, "B")
info["noofslots_total"] = queue_fullsize
info["noofslots"] = nzos_matched
info["start"] = start
info["limit"] = limit
info["finish"] = start + limit
if sabnzbd.Downloader.paused or sabnzbd.Downloader.paused_for_postproc:
status = Status.PAUSED
@@ -1360,92 +1350,63 @@ def build_queue(start: int = 0, limit: int = 0, search: Optional[str] = None, nz
else:
status = Status.IDLE
info["status"] = status
info["timeleft"] = calc_timeleft(qnfo.bytes_left, sabnzbd.BPSMeter.bps)
datestart = datetime.datetime.now()
try:
datefinish = datestart + datetime.timedelta(seconds=qnfo.bytes_left / sabnzbd.BPSMeter.bps)
# new eta format: 16:00 Fri 07 Feb
info["eta"] = datefinish.strftime(time_format("%H:%M %a %d %b"))
except:
info["eta"] = T("unknown")
info["scripts"] = list_scripts()
info["categories"] = list_cats()
info["noofslots"] = qnfo.q_fullsize
info["start"] = start
info["limit"] = limit
info["finish"] = info["start"] + info["limit"]
info["timeleft"] = calc_timeleft(queue_bytes_left, sabnzbd.BPSMeter.bps)
n = start
running_bytes = qnfo.bytes_left_previous_page
running_bytes = bytes_left_previous_page
slotinfo = []
for pnfo in qnfo.list:
nzo_id = pnfo.nzo_id
bytesleft = pnfo.bytes_left
bytes_total = pnfo.bytes
average_date = pnfo.avg_date
is_propagating = (pnfo.avg_stamp + float(cfg.propagation_delay() * 60)) > time.time()
status = pnfo.status
priority = pnfo.priority
mbleft = bytesleft / MEBI
mb = bytes_total / MEBI
for nzo in nzo_list:
mbleft = nzo.remaining / MEBI
mb = nzo.bytes / MEBI
is_propagating = (nzo.avg_stamp + float(cfg.propagation_delay() * 60)) > time.time()
slot = {}
slot["index"] = n
slot["nzo_id"] = str(nzo_id)
slot["unpackopts"] = str(opts_to_pp(pnfo.repair, pnfo.unpack, pnfo.delete))
slot["priority"] = INTERFACE_PRIORITIES.get(priority, NORMAL_PRIORITY)
slot["script"] = pnfo.script if pnfo.script else "None"
slot["filename"] = pnfo.filename
slot["labels"] = pnfo.labels
slot["password"] = pnfo.password if pnfo.password else ""
slot["cat"] = pnfo.category if pnfo.category else "None"
slot["nzo_id"] = str(nzo.nzo_id)
slot["unpackopts"] = str(opts_to_pp(nzo.repair, nzo.unpack, nzo.delete))
slot["priority"] = INTERFACE_PRIORITIES.get(nzo.priority, NORMAL_PRIORITY)
slot["script"] = nzo.script if nzo.script else "None"
slot["filename"] = nzo.final_name
slot["labels"] = nzo.labels
slot["password"] = nzo.password if nzo.password else ""
slot["cat"] = nzo.cat if nzo.cat else "None"
slot["mbleft"] = "%.2f" % mbleft
slot["mb"] = "%.2f" % mb
slot["size"] = to_units(bytes_total, "B")
slot["sizeleft"] = to_units(bytesleft, "B")
slot["size"] = to_units(nzo.bytes, "B")
slot["sizeleft"] = to_units(nzo.remaining, "B")
slot["percentage"] = "%s" % (int(((mb - mbleft) / mb) * 100)) if mb != mbleft else "0"
slot["mbmissing"] = "%.2f" % (pnfo.bytes_missing / MEBI)
slot["direct_unpack"] = pnfo.direct_unpack
slot["mbmissing"] = "%.2f" % (nzo.bytes_missing / MEBI)
slot["direct_unpack"] = nzo.direct_unpack_progress
if not sabnzbd.Downloader.paused and status not in (Status.PAUSED, Status.FETCHING, Status.GRABBING):
if not sabnzbd.Downloader.paused and nzo.status not in (Status.PAUSED, Status.FETCHING, Status.GRABBING):
if is_propagating:
slot["status"] = Status.PROP
elif status == Status.CHECKING:
elif nzo.status == Status.CHECKING:
slot["status"] = Status.CHECKING
else:
slot["status"] = Status.DOWNLOADING
else:
# Ensure compatibility of API status
if status == Status.DELETED or priority == FORCE_PRIORITY:
status = Status.DOWNLOADING
slot["status"] = "%s" % status
if nzo.status == Status.DELETED or nzo.priority == FORCE_PRIORITY:
nzo.status = Status.DOWNLOADING
slot["status"] = nzo.status
if (
sabnzbd.Downloader.paused
or sabnzbd.Downloader.paused_for_postproc
or is_propagating
or status not in (Status.DOWNLOADING, Status.FETCHING, Status.QUEUED)
) and priority != FORCE_PRIORITY:
or nzo.status not in (Status.DOWNLOADING, Status.FETCHING, Status.QUEUED)
) and nzo.priority != FORCE_PRIORITY:
slot["timeleft"] = "0:00:00"
slot["eta"] = "unknown"
else:
running_bytes += bytesleft
running_bytes += nzo.remaining
slot["timeleft"] = calc_timeleft(running_bytes, sabnzbd.BPSMeter.bps)
try:
datestart = datestart + datetime.timedelta(seconds=bytesleft / sabnzbd.BPSMeter.bps)
# new eta format: 16:00 Fri 07 Feb
slot["eta"] = datestart.strftime(time_format("%H:%M %a %d %b"))
except:
datestart = datestart
slot["eta"] = "unknown"
# Do not show age when it's not known
if average_date.year < 2000:
if nzo.avg_date.year < 2000:
slot["avg_age"] = "-"
else:
slot["avg_age"] = calc_age(average_date)
slot["avg_age"] = calc_age(nzo.avg_date)
slotinfo.append(slot)
n += 1
@@ -1472,9 +1433,7 @@ def build_file_list(nzo_id: str):
jobs = []
nzo = sabnzbd.sabnzbd.NzbQueue.get_nzo(nzo_id)
if nzo:
pnfo = nzo.gather_info(full=True)
for nzf in pnfo.finished_files:
for nzf in nzo.finished_files:
jobs.append(
{
"filename": nzf.filename,
@@ -1487,7 +1446,7 @@ def build_file_list(nzo_id: str):
}
)
for nzf in pnfo.active_files:
for nzf in nzo.files:
jobs.append(
{
"filename": nzf.filename,
@@ -1500,19 +1459,24 @@ def build_file_list(nzo_id: str):
}
)
for nzf in pnfo.queued_files:
jobs.append(
{
"filename": nzf.filename,
"set": nzf.setname,
"mbleft": "%.2f" % (nzf.bytes_left / MEBI),
"mb": "%.2f" % (nzf.bytes / MEBI),
"bytes": "%.2f" % nzf.bytes,
"age": calc_age(nzf.date),
"nzf_id": nzf.nzf_id,
"status": "queued",
}
)
# extrapars can change during iteration
for parset in nzo.extrapars.keys():
extrapar_set = nzo.extrapars.get(parset, [])
for nzf in extrapar_set[:]:
# Prevent listing files twice
if nzf not in nzo.files and nzf not in nzo.finished_files:
jobs.append(
{
"filename": nzf.filename,
"set": nzf.setname,
"mbleft": "%.2f" % (nzf.bytes_left / MEBI),
"mb": "%.2f" % (nzf.bytes / MEBI),
"bytes": "%.2f" % nzf.bytes,
"age": calc_age(nzf.date),
"nzf_id": nzf.nzf_id,
"status": "queued",
}
)
return jobs
@@ -1579,15 +1543,6 @@ def clear_trans_cache():
def build_header(webdir: str = "", for_template: bool = True, trans_functions: bool = True) -> Dict:
"""Build the basic header"""
speed_limit = sabnzbd.Downloader.get_limit()
if speed_limit <= 0:
speed_limit = 100
speed_limit_abs = sabnzbd.Downloader.get_limit_abs()
if speed_limit_abs <= 0:
speed_limit_abs = ""
diskspace_info = diskspace()
header = {}
# We don't output everything for API
@@ -1624,15 +1579,15 @@ def build_header(webdir: str = "", for_template: bool = True, trans_functions: b
header["pause_int"] = sabnzbd.Scheduler.pause_int()
header["paused_all"] = sabnzbd.PAUSED_ALL
diskspace_info = diskspace()
header["diskspace1"] = "%.2f" % diskspace_info["download_dir"][1]
header["diskspace2"] = "%.2f" % diskspace_info["complete_dir"][1]
header["diskspace1_norm"] = to_units(diskspace_info["download_dir"][1] * GIGI)
header["diskspace2_norm"] = to_units(diskspace_info["complete_dir"][1] * GIGI)
header["diskspacetotal1"] = "%.2f" % diskspace_info["download_dir"][0]
header["diskspacetotal2"] = "%.2f" % diskspace_info["complete_dir"][0]
header["loadavg"] = loadavg()
header["speedlimit"] = "{1:0.{0}f}".format(int(speed_limit % 1 > 0), speed_limit)
header["speedlimit_abs"] = "%s" % speed_limit_abs
header["speedlimit"] = str(sabnzbd.Downloader.bandwidth_perc)
header["speedlimit_abs"] = str(sabnzbd.Downloader.bandwidth_limit)
header["have_warnings"] = str(sabnzbd.GUIHANDLER.count())
header["finishaction"] = sabnzbd.QUEUECOMPLETE
@@ -1655,7 +1610,7 @@ def build_history(
failed_only: int = 0,
categories: Optional[List[str]] = None,
nzo_ids: Optional[List[str]] = None,
):
) -> Tuple[Dict[str, Any], int]:
"""Combine the jobs still in post-processing and the database history"""
if not limit:
limit = 1000000

View File

@@ -132,7 +132,8 @@ class Assembler(Thread):
@staticmethod
def diskspace_check(nzo: NzbObject, nzf: NzbFile):
"""Check diskspace requirements. If not enough space left, pause downloader and send email"""
"""Check diskspace requirements.
If not enough space left, pause downloader and send email"""
freespace = diskspace(force=True)
full_dir = None
required_space = (cfg.download_free.get_float() + nzf.bytes) / GIGI
@@ -144,11 +145,13 @@ class Assembler(Thread):
if complete_free > 0 and not full_dir:
required_space = 0
if cfg.direct_unpack():
required_space = (complete_free + nzo.bytes_downloaded) / GIGI
else:
# Continue downloading until 95% complete before checking
if nzo.bytes_tried > (nzo.bytes - nzo.bytes_par2) * 0.95:
required_space = (complete_free + nzo.bytes) / GIGI
# We unpack while we download, so we should check every time
# if the unpack maybe already filled up the drive
required_space = complete_free / GIGI
elif nzo.bytes_tried > (nzo.bytes - nzo.bytes_par2) * 0.95:
# Since only at 100% unpack is started, continue
# downloading until 95% complete before checking
required_space = (complete_free + nzo.bytes) / GIGI
if required_space and freespace["complete_dir"][1] < required_space:
full_dir = "complete_dir"

View File

@@ -391,10 +391,10 @@ class BPSMeter:
def get_sums(self):
"""return tuple of grand, month, week, day totals"""
return (
sum([v for v in self.grand_total.values()]),
sum([v for v in self.month_total.values()]),
sum([v for v in self.week_total.values()]),
sum([v for v in self.day_total.values()]),
sum(self.grand_total.values()),
sum(self.month_total.values()),
sum(self.week_total.values()),
sum(self.day_total.values()),
)
def amounts(self, server: str):

View File

@@ -22,6 +22,8 @@ sabnzbd.cfg - Configuration Parameters
import logging
import re
import argparse
import socket
import ipaddress
from typing import List, Tuple
import sabnzbd
@@ -147,6 +149,48 @@ def validate_server(value):
return None, value
def validate_host(value):
"""Check if host is valid: an IP address, or a name/FQDN that resolves to an IP address"""
# easy: value is a plain IPv4 or IPv6 address:
try:
ipaddress.ip_address(value)
# valid host, so return it
return None, value
except:
pass
# we don't want a plain number. As socket.getaddrinfo("100", ...) allows that, we have to pre-check
try:
int(value)
# plain int as input, which is not allowed
return T("Invalid server address."), None
except:
pass
# not a plain IPv4 nor IPv6 address, so let's check if it's a name that resolves to IPv4
try:
socket.getaddrinfo(value, None, socket.AF_INET)
# all good
logging.debug("Valid host name")
return None, value
except:
pass
# ... and if not: does it resolve to IPv6 ... ?
try:
socket.getaddrinfo(value, None, socket.AF_INET6)
# all good
logging.debug("Valid host name")
return None, value
except:
logging.debug("No valid host name")
pass
# if we get here, it is not valid host, so return None
return T("Invalid server address."), None
def validate_script(value):
"""Check if value is a valid script"""
if not sabnzbd.__INITIALIZED__ or (value and sabnzbd.filesystem.is_valid_script(value)):
@@ -199,13 +243,13 @@ def validate_notempty(root, value, default):
pre_script = OptionStr("misc", "pre_script", "None", validation=validate_script)
queue_complete = OptionStr("misc", "queue_complete")
queue_complete_pers = OptionBool("misc", "queue_complete_pers", False)
bandwidth_perc = OptionNumber("misc", "bandwidth_perc", 100, 0, 100)
bandwidth_perc = OptionNumber("misc", "bandwidth_perc", 100, minval=0, maxval=100)
refresh_rate = OptionNumber("misc", "refresh_rate", 0)
interface_settings = OptionStr("misc", "interface_settings")
log_level = OptionNumber("logging", "log_level", 1, -1, 2)
log_level = OptionNumber("logging", "log_level", 1, minval=-1, maxval=2)
log_size = OptionNumber("logging", "max_log_size", 5242880)
log_backups = OptionNumber("logging", "log_backups", 5, 1, 1024)
queue_limit = OptionNumber("misc", "queue_limit", 20, 0)
log_backups = OptionNumber("logging", "log_backups", 5, minval=1, maxval=1024)
queue_limit = OptionNumber("misc", "queue_limit", 20, minval=0)
configlock = OptionBool("misc", "config_lock", False)
@@ -213,6 +257,7 @@ configlock = OptionBool("misc", "config_lock", False)
##############################################################################
# One time trackers
##############################################################################
fixed_ports = OptionBool("misc", "fixed_ports", False)
sched_converted = OptionBool("misc", "sched_converted", False)
notified_new_skin = OptionNumber("misc", "notified_new_skin", 0)
direct_unpack_tested = OptionBool("misc", "direct_unpack_tested", False)
@@ -225,7 +270,7 @@ version_check = OptionNumber("misc", "check_new_rel", 1)
autobrowser = OptionBool("misc", "auto_browser", True)
language = OptionStr("misc", "language", "en")
enable_https_verification = OptionBool("misc", "enable_https_verification", True)
cherryhost = OptionStr("misc", "host", DEF_HOST)
cherryhost = OptionStr("misc", "host", DEF_HOST, validation=validate_host)
cherryport = OptionStr("misc", "port", DEF_PORT)
https_port = OptionStr("misc", "https_port")
username = OptionStr("misc", "username")
@@ -242,7 +287,7 @@ enable_https = OptionBool("misc", "enable_https", False)
inet_exposure = OptionNumber("misc", "inet_exposure", 0, protect=True)
api_key = OptionStr("misc", "api_key", create_api_key())
nzb_key = OptionStr("misc", "nzb_key", create_api_key())
socks5_proxy_url = OptionStr("misc", "socks5_proxy_url")
##############################################################################
# Config - Folders
@@ -257,11 +302,12 @@ complete_dir = OptionDir(
)
complete_free = OptionStr("misc", "complete_free")
fulldisk_autoresume = OptionBool("misc", "fulldisk_autoresume", False)
script_dir = OptionDir("misc", "script_dir", create=True, writable=False)
script_dir = OptionDir("misc", "script_dir", writable=False)
nzb_backup_dir = OptionDir("misc", "nzb_backup_dir", DEF_NZBBACK_DIR)
admin_dir = OptionDir("misc", "admin_dir", DEF_ADMIN_DIR, validation=validate_safedir)
dirscan_dir = OptionDir("misc", "dirscan_dir", create=False)
dirscan_speed = OptionNumber("misc", "dirscan_speed", DEF_SCANRATE, 0, 3600)
backup_dir = OptionDir("misc", "backup_dir")
dirscan_dir = OptionDir("misc", "dirscan_dir", writable=False)
dirscan_speed = OptionNumber("misc", "dirscan_speed", DEF_SCANRATE, minval=0, maxval=3600)
password_file = OptionDir("misc", "password_file", "", create=False)
log_dir = OptionDir("misc", "log_dir", "logs", validation=validate_notempty)
@@ -269,11 +315,10 @@ log_dir = OptionDir("misc", "log_dir", "logs", validation=validate_notempty)
##############################################################################
# Config - Switches
##############################################################################
max_art_tries = OptionNumber("misc", "max_art_tries", 3, 2)
max_art_tries = OptionNumber("misc", "max_art_tries", 3, minval=2)
load_balancing = OptionNumber("misc", "load_balancing", 2)
top_only = OptionBool("misc", "top_only", False)
sfv_check = OptionBool("misc", "sfv_check", True)
quick_check_ext_ignore = OptionList("misc", "quick_check_ext_ignore", ["nfo", "sfv", "srr"], validation=lower_case_ext)
script_can_fail = OptionBool("misc", "script_can_fail", False)
enable_recursive = OptionBool("misc", "enable_recursive", True)
flat_unpack = OptionBool("misc", "flat_unpack", False)
@@ -293,10 +338,10 @@ ignore_samples = OptionBool("misc", "ignore_samples", False)
deobfuscate_final_filenames = OptionBool("misc", "deobfuscate_final_filenames", False)
auto_sort = OptionStr("misc", "auto_sort")
direct_unpack = OptionBool("misc", "direct_unpack", False)
direct_unpack_threads = OptionNumber("misc", "direct_unpack_threads", 3, 1)
propagation_delay = OptionNumber("misc", "propagation_delay", 0)
folder_rename = OptionBool("misc", "folder_rename", True)
replace_spaces = OptionBool("misc", "replace_spaces", False)
replace_underscores = OptionBool("misc", "replace_underscores", False)
replace_dots = OptionBool("misc", "replace_dots", False)
safe_postproc = OptionBool("misc", "safe_postproc", True)
pause_on_post_processing = OptionBool("misc", "pause_on_post_processing", False)
@@ -308,7 +353,6 @@ action_on_unwanted_extensions = OptionNumber("misc", "action_on_unwanted_extensi
unwanted_extensions_mode = OptionNumber("misc", "unwanted_extensions_mode", 0)
new_nzb_on_failure = OptionBool("misc", "new_nzb_on_failure", False)
history_retention = OptionStr("misc", "history_retention", "0")
enable_meta = OptionBool("misc", "enable_meta", True)
quota_size = OptionStr("misc", "quota_size")
quota_day = OptionStr("misc", "quota_day")
@@ -325,27 +369,23 @@ tv_categories = OptionList("misc", "tv_categories", ["tv"])
enable_movie_sorting = OptionBool("misc", "enable_movie_sorting", False)
movie_sort_string = OptionStr("misc", "movie_sort_string")
movie_sort_extra = OptionStr("misc", "movie_sort_extra", "-cd%1", strip=False)
movie_extra_folder = OptionBool("misc", "movie_extra_folder", False)
movie_categories = OptionList("misc", "movie_categories", ["movies"])
enable_date_sorting = OptionBool("misc", "enable_date_sorting", False)
date_sort_string = OptionStr("misc", "date_sort_string")
date_categories = OptionList("misc", "date_categories", ["tv"])
##############################################################################
# Config - Scheduling and RSS
##############################################################################
schedules = OptionList("misc", "schedlines")
rss_rate = OptionNumber("misc", "rss_rate", 60, 15, 24 * 60)
rss_rate = OptionNumber("misc", "rss_rate", 60, minval=15, maxval=24 * 60)
##############################################################################
# Config - Specials
##############################################################################
# Bool switches
ampm = OptionBool("misc", "ampm", False)
replace_illegal = OptionBool("misc", "replace_illegal", True)
start_paused = OptionBool("misc", "start_paused", False)
preserve_paused_state = OptionBool("misc", "preserve_paused_state", False)
enable_par_cleanup = OptionBool("misc", "enable_par_cleanup", True)
@@ -363,43 +403,39 @@ wait_for_dfolder = OptionBool("misc", "wait_for_dfolder", False)
rss_filenames = OptionBool("misc", "rss_filenames", False)
api_logging = OptionBool("misc", "api_logging", True)
html_login = OptionBool("misc", "html_login", True)
osx_menu = OptionBool("misc", "osx_menu", True)
osx_speed = OptionBool("misc", "osx_speed", True)
warn_dupl_jobs = OptionBool("misc", "warn_dupl_jobs", True)
helpful_warnings = OptionBool("misc", "helpful_warnings", True)
keep_awake = OptionBool("misc", "keep_awake", True)
win_menu = OptionBool("misc", "win_menu", True)
tray_icon = OptionBool("misc", "tray_icon", True)
allow_incomplete_nzb = OptionBool("misc", "allow_incomplete_nzb", False)
enable_broadcast = OptionBool("misc", "enable_broadcast", True)
ipv6_hosting = OptionBool("misc", "ipv6_hosting", False)
fixed_ports = OptionBool("misc", "fixed_ports", False)
api_warnings = OptionBool("misc", "api_warnings", True, protect=True)
disable_key = OptionBool("misc", "disable_api_key", False, protect=True)
no_penalties = OptionBool("misc", "no_penalties", False)
x_frame_options = OptionBool("misc", "x_frame_options", True)
allow_old_ssl_tls = OptionBool("misc", "allow_old_ssl_tls", False)
num_simd_decoders = OptionNumber("misc", "num_simd_decoders", 2)
# Text values
rss_odd_titles = OptionList("misc", "rss_odd_titles", ["nzbindex.nl/", "nzbindex.com/", "nzbclub.com/"])
req_completion_rate = OptionNumber("misc", "req_completion_rate", 100.2, 100, 200)
quick_check_ext_ignore = OptionList("misc", "quick_check_ext_ignore", ["nfo", "sfv", "srr"], validation=lower_case_ext)
req_completion_rate = OptionNumber("misc", "req_completion_rate", 100.2, minval=100, maxval=200)
selftest_host = OptionStr("misc", "selftest_host", "self-test.sabnzbd.org")
movie_rename_limit = OptionStr("misc", "movie_rename_limit", "100M")
episode_rename_limit = OptionStr("misc", "episode_rename_limit", "20M")
size_limit = OptionStr("misc", "size_limit", "0")
show_sysload = OptionNumber("misc", "show_sysload", 2, 0, 2)
history_limit = OptionNumber("misc", "history_limit", 10, 0)
wait_ext_drive = OptionNumber("misc", "wait_ext_drive", 5, 1, 60)
max_foldername_length = OptionNumber("misc", "max_foldername_length", DEF_FOLDER_MAX, 20, 65000)
direct_unpack_threads = OptionNumber("misc", "direct_unpack_threads", 3, minval=1)
history_limit = OptionNumber("misc", "history_limit", 10, minval=0)
wait_ext_drive = OptionNumber("misc", "wait_ext_drive", 5, minval=1, maxval=60)
max_foldername_length = OptionNumber("misc", "max_foldername_length", DEF_FOLDER_MAX, minval=20, maxval=65000)
marker_file = OptionStr("misc", "nomedia_marker")
ipv6_servers = OptionNumber("misc", "ipv6_servers", 1, 0, 2)
ipv6_servers = OptionNumber("misc", "ipv6_servers", 1, minval=0, maxval=2)
url_base = OptionStr("misc", "url_base", "/sabnzbd", validation=validate_strip_right_slash)
host_whitelist = OptionList("misc", "host_whitelist", validation=all_lowercase)
local_ranges = OptionList("misc", "local_ranges", protect=True)
max_url_retries = OptionNumber("misc", "max_url_retries", 10, 1)
downloader_sleep_time = OptionNumber("misc", "downloader_sleep_time", 10, 0)
ssdp_broadcast_interval = OptionNumber("misc", "ssdp_broadcast_interval", 15, 1, 600)
socks5_proxy_url = OptionStr("misc", "socks5_proxy_url")
max_url_retries = OptionNumber("misc", "max_url_retries", 10, minval=1)
downloader_sleep_time = OptionNumber("misc", "downloader_sleep_time", 10, minval=0)
num_simd_decoders = OptionNumber("misc", "num_simd_decoders", 2, minval=1)
ssdp_broadcast_interval = OptionNumber("misc", "ssdp_broadcast_interval", 15, minval=1, maxval=600)
ext_rename_ignore = OptionList("misc", "ext_rename_ignore", validation=lower_case_ext)
@@ -414,7 +450,7 @@ email_account = OptionStr("misc", "email_account")
email_pwd = OptionPassword("misc", "email_pwd")
email_endjob = OptionNumber("misc", "email_endjob", 0, 0, 2)
email_full = OptionBool("misc", "email_full", False)
email_dir = OptionDir("misc", "email_dir", create=True)
email_dir = OptionDir("misc", "email_dir")
email_rss = OptionBool("misc", "email_rss", False)
email_cats = OptionList("misc", "email_cats", ["*"])
@@ -551,6 +587,7 @@ def set_root_folders(home, lcldata):
script_dir.set_root(home)
nzb_backup_dir.set_root(lcldata)
admin_dir.set_root(lcldata)
backup_dir.set_root(home)
dirscan_dir.set_root(home)
log_dir.set_root(lcldata)
password_file.set_root(home)

View File

@@ -24,6 +24,7 @@ import os
import re
import shutil
import threading
import time
import uuid
import io
import zipfile
@@ -649,12 +650,15 @@ class ConfigRSS:
"""Remove from database"""
delete_from_database("rss", self.__name)
def rename(self, new_name: str):
def rename(self, new_name: str) -> str:
"""Update the name and the saved entries"""
# Sanitize the name before using it
new_name = clean_section_name(new_name)
delete_from_database("rss", self.__name)
sabnzbd.RSSReader.rename(self.__name, new_name)
self.__name = new_name
add_to_database("rss", self.__name, self)
return self.__name
# Add typing to the options database-dict
@@ -917,20 +921,33 @@ def save_config(force=False):
return res
def create_config_backup():
"""Put config data in a zip file"""
adminpath = sabnzbd.cfg.admin_dir.get_path()
logging.debug("Backing up %s + %s", adminpath, CFG_OBJ.filename)
with io.BytesIO() as zip_buffer:
with zipfile.ZipFile(zip_buffer, "a", zipfile.ZIP_DEFLATED, False) as zip_ref:
for filename in CONFIG_BACKUP_FILES:
full_path = os.path.join(adminpath, filename)
if os.path.isfile(full_path):
with open(full_path, "rb") as data:
zip_ref.writestr(filename, data.read())
with open(CFG_OBJ.filename, "rb") as data:
zip_ref.writestr(DEF_INI_FILE, data.read())
return zip_buffer.getvalue()
def create_config_backup() -> Union[str, bool]:
"""Put config data in a zip file, returns path on success"""
admin_path = sabnzbd.cfg.admin_dir.get_path()
output_filename = "sabnzbd_backup_%s_%s.zip" % (sabnzbd.__version__, time.strftime("%Y.%m.%d_%H.%M.%S"))
# Check if there is a backup folder set, use complete otherwise
if sabnzbd.cfg.backup_dir():
backup_dir = sabnzbd.cfg.backup_dir.get_path()
else:
backup_dir = sabnzbd.cfg.complete_dir.get_path()
complete_path = os.path.join(backup_dir, output_filename)
logging.debug("Backing up %s + %s in %s", admin_path, CFG_OBJ.filename, complete_path)
try:
with open(complete_path, "wb") as zip_buffer:
with zipfile.ZipFile(zip_buffer, "a", zipfile.ZIP_DEFLATED, False) as zip_ref:
for filename in CONFIG_BACKUP_FILES:
full_path = os.path.join(admin_path, filename)
if os.path.isfile(full_path):
with open(full_path, "rb") as data:
zip_ref.writestr(filename, data.read())
with open(CFG_OBJ.filename, "rb") as data:
zip_ref.writestr(DEF_INI_FILE, data.read())
return clip_path(complete_path)
except:
logging.info("Failed to create backup: ", exc_info=True)
return False
def validate_config_backup(config_backup_data: bytes) -> bool:
@@ -945,7 +962,7 @@ def validate_config_backup(config_backup_data: bytes) -> bool:
return False
def restore_config_backup(config_backup_data: bytes) -> bool:
def restore_config_backup(config_backup_data: bytes):
"""Restore configuration files from zip file"""
try:
with io.BytesIO(config_backup_data) as backup_ref:

View File

@@ -25,15 +25,6 @@ POSTPROC_QUEUE_VERSION = 2
REC_RAR_VERSION = 550
PNFO = namedtuple(
"PNFO",
"repair unpack delete script nzo_id filename labels password unpackstrht "
"msgid category url bytes_left bytes avg_stamp avg_date finished_files "
"active_files queued_files status priority bytes_missing direct_unpack",
)
QNFO = namedtuple("QNFO", "bytes bytes_left bytes_left_previous_page list q_size_list q_fullsize")
ANFO = namedtuple("ANFO", "article_sum cache_size cache_limit")
# Leave some space for "_UNPACK_" which we append during post-proc
@@ -45,7 +36,6 @@ GIGI = float(2**30)
MEBI = float(2**20)
KIBI = float(2**10)
BYTES_FILE_NAME_OLD = "totals9.sab"
BYTES_FILE_NAME = "totals10.sab"
QUEUE_FILE_TMPL = "queue%s.sab"
QUEUE_FILE_NAME = QUEUE_FILE_TMPL % QUEUE_VERSION
@@ -59,7 +49,7 @@ RENAMES_FILE = "__renames__"
ATTRIB_FILE = "SABnzbd_attrib"
REPAIR_REQUEST = "repair-all.sab"
SABYENC_VERSION_REQUIRED = "5.2.0"
SABYENC_VERSION_REQUIRED = "5.4.4"
DB_HISTORY_VERSION = 1
DB_HISTORY_NAME = "history%s.db" % DB_HISTORY_VERSION

View File

@@ -26,7 +26,8 @@ import logging
import sys
import threading
import sqlite3
from typing import Union, Dict, Optional, List
from sqlite3 import Connection, Cursor
from typing import Union, Dict, Optional, List, Sequence
import sabnzbd
import sabnzbd.cfg
@@ -76,7 +77,8 @@ class HistoryDB:
@synchronized(DB_LOCK)
def __init__(self):
"""Determine databse path and create connection"""
self.con = self.c = None
self.connection: Optional[Connection] = None
self.cursor: Optional[Cursor] = None
if not HistoryDB.db_path:
HistoryDB.db_path = os.path.join(sabnzbd.cfg.admin_dir.get_path(), DB_HISTORY_NAME)
self.connect()
@@ -84,9 +86,9 @@ class HistoryDB:
def connect(self):
"""Create a connection to the database"""
create_table = not os.path.exists(HistoryDB.db_path)
self.con = sqlite3.connect(HistoryDB.db_path)
self.con.row_factory = sqlite3.Row
self.c = self.con.cursor()
self.connection = sqlite3.connect(HistoryDB.db_path)
self.connection.row_factory = sqlite3.Row
self.cursor = self.connection.cursor()
if create_table:
self.create_history_db()
elif not HistoryDB.done_cleaning:
@@ -98,7 +100,7 @@ class HistoryDB:
self.execute("PRAGMA user_version;")
try:
version = self.c.fetchone()["user_version"]
version = self.cursor.fetchone()["user_version"]
except IndexError:
version = 0
if version < 1:
@@ -116,16 +118,13 @@ class HistoryDB:
'ALTER TABLE "history" ADD COLUMN password TEXT;'
)
def execute(self, command, args=(), save=False):
def execute(self, command: str, args: Sequence = (), save: bool = False) -> bool:
"""Wrapper for executing SQL commands"""
for tries in range(5, 0, -1):
try:
if args and isinstance(args, tuple):
self.c.execute(command, args)
else:
self.c.execute(command)
self.cursor.execute(command, args)
if save:
self.con.commit()
self.connection.commit()
return True
except:
error = str(sys.exc_info()[1])
@@ -155,7 +154,7 @@ class HistoryDB:
logging.info("Arguments: %s", repr(args))
logging.info("Traceback: ", exc_info=True)
try:
self.con.rollback()
self.connection.rollback()
except:
logging.debug("Rollback Failed:", exc_info=True)
return False
@@ -200,8 +199,8 @@ class HistoryDB:
def close(self):
"""Close database connection"""
try:
self.c.close()
self.con.close()
self.cursor.close()
self.connection.close()
except:
logging.error(T("Failed to close database, see log"))
logging.info("Traceback: ", exc_info=True)
@@ -221,7 +220,7 @@ class HistoryDB:
"""SELECT path FROM history WHERE name LIKE ? AND status = ?""", (search, Status.FAILED)
)
if fetch_ok:
return [item["path"] for item in self.c.fetchall()]
return [item["path"] for item in self.cursor.fetchall()]
else:
return []
@@ -322,8 +321,8 @@ class HistoryDB:
cmd = "SELECT COUNT(*) FROM history WHERE name LIKE ?"
total_items = -1
if self.execute(cmd + post, tuple(command_args)):
total_items = self.c.fetchone()["COUNT(*)"]
if self.execute(cmd + post, command_args):
total_items = self.cursor.fetchone()["COUNT(*)"]
if not start:
start = 0
@@ -332,8 +331,8 @@ class HistoryDB:
command_args.extend([start, limit])
cmd = "SELECT * FROM history WHERE name LIKE ?"
if self.execute(cmd + post + " ORDER BY completed desc LIMIT ?, ?", tuple(command_args)):
items = self.c.fetchall()
if self.execute(cmd + post + " ORDER BY completed desc LIMIT ?, ?", command_args):
items = self.cursor.fetchall()
else:
items = []
@@ -351,7 +350,7 @@ class HistoryDB:
if self.execute(
"""SELECT COUNT(*) FROM History WHERE series = ? AND STATUS != ?""", (pattern, Status.FAILED)
):
total = self.c.fetchone()["COUNT(*)"]
total = self.cursor.fetchone()["COUNT(*)"]
return total > 0
def have_name_or_md5sum(self, name: str, md5sum: str) -> bool:
@@ -361,7 +360,7 @@ class HistoryDB:
"""SELECT COUNT(*) FROM History WHERE ( LOWER(name) = LOWER(?) OR md5sum = ? ) AND STATUS != ?""",
(name, md5sum, Status.FAILED),
):
total = self.c.fetchone()["COUNT(*)"]
total = self.cursor.fetchone()["COUNT(*)"]
return total > 0
def get_history_size(self):
@@ -371,21 +370,21 @@ class HistoryDB:
# Total Size of the history
total = 0
if self.execute("""SELECT sum(bytes) FROM history"""):
total = self.c.fetchone()["sum(bytes)"]
total = self.cursor.fetchone()["sum(bytes)"]
# Amount downloaded this month
month_timest = int(this_month(time.time()))
month = 0
if self.execute("""SELECT sum(bytes) FROM history WHERE completed > ?""", (month_timest,)):
month = self.c.fetchone()["sum(bytes)"]
month = self.cursor.fetchone()["sum(bytes)"]
# Amount downloaded this week
week_timest = int(this_week(time.time()))
week = 0
if self.execute("""SELECT sum(bytes) FROM history WHERE completed > ?""", (week_timest,)):
week = self.c.fetchone()["sum(bytes)"]
week = self.cursor.fetchone()["sum(bytes)"]
return total, month, week
@@ -395,7 +394,7 @@ class HistoryDB:
t = (nzo_id,)
if self.execute("""SELECT script_log FROM history WHERE nzo_id = ?""", t):
try:
data = ubtou(zlib.decompress(self.c.fetchone()["script_log"]))
data = ubtou(zlib.decompress(self.cursor.fetchone()["script_log"]))
except:
pass
return data
@@ -406,7 +405,7 @@ class HistoryDB:
name = ""
if self.execute("""SELECT name FROM history WHERE nzo_id = ?""", t):
try:
name = self.c.fetchone()["name"]
name = self.cursor.fetchone()["name"]
except TypeError:
# No records found
pass
@@ -418,7 +417,7 @@ class HistoryDB:
path = ""
if self.execute("""SELECT path FROM history WHERE nzo_id = ?""", t):
try:
path = self.c.fetchone()["path"]
path = self.cursor.fetchone()["path"]
except TypeError:
# No records found
pass
@@ -431,7 +430,7 @@ class HistoryDB:
t = (nzo_id,)
if self.execute("""SELECT * FROM history WHERE nzo_id = ?""", t):
try:
item = self.c.fetchone()
item = self.cursor.fetchone()
return item["report"], item["url"], item["pp"], item["script"], item["category"]
except TypeError:
# No records found

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