mirror of
https://github.com/sabnzbd/sabnzbd.git
synced 2026-01-06 06:28:45 -05:00
Compare commits
434 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7d6a80e82 | ||
|
|
e7da95b2ac | ||
|
|
422b4fce7b | ||
|
|
e3a7226648 | ||
|
|
5b9fc86319 | ||
|
|
5afea2d3c7 | ||
|
|
5f942a6943 | ||
|
|
18075c5c51 | ||
|
|
a728225782 | ||
|
|
74fca23d59 | ||
|
|
0a12fa1253 | ||
|
|
3e6ae26710 | ||
|
|
a8a4e442a8 | ||
|
|
c16e91734d | ||
|
|
bb9ad4b546 | ||
|
|
43045e5d4e | ||
|
|
63c7dbdb4d | ||
|
|
ef217bba90 | ||
|
|
ca9924c38f | ||
|
|
c3c47507e7 | ||
|
|
dc237c752a | ||
|
|
08892c71b2 | ||
|
|
026717b7c2 | ||
|
|
be06290f6c | ||
|
|
9ec55478c9 | ||
|
|
4172b4a2a6 | ||
|
|
59620c2217 | ||
|
|
c410c646b2 | ||
|
|
0b515996d7 | ||
|
|
8b9b8319a1 | ||
|
|
161cf14519 | ||
|
|
c6ac09e938 | ||
|
|
fde8f9d133 | ||
|
|
2bd222ca1c | ||
|
|
12228fe1fb | ||
|
|
c63b2592f1 | ||
|
|
e65980258c | ||
|
|
bd0a90d2dd | ||
|
|
33a7e92f4c | ||
|
|
51d1a1994d | ||
|
|
835745e485 | ||
|
|
bcb553d9f9 | ||
|
|
b73b8aae6a | ||
|
|
51792e31a8 | ||
|
|
d8c0220353 | ||
|
|
4ab425d15c | ||
|
|
74e5633d1c | ||
|
|
89d36bbc61 | ||
|
|
1877ac18a5 | ||
|
|
636a391db3 | ||
|
|
57d5ed2f21 | ||
|
|
bbb1d1d908 | ||
|
|
c5d8f52f03 | ||
|
|
1b49e4a355 | ||
|
|
878cb589c3 | ||
|
|
c4b0da335d | ||
|
|
53ce88d3d2 | ||
|
|
85e9bea9e7 | ||
|
|
7c7f88ebb5 | ||
|
|
cbd007b81a | ||
|
|
ac0438de42 | ||
|
|
b73699be8d | ||
|
|
bc87b6e955 | ||
|
|
f15155ddc9 | ||
|
|
37b556012e | ||
|
|
79ba3dd874 | ||
|
|
28795c3158 | ||
|
|
935d248b53 | ||
|
|
b2103afe30 | ||
|
|
fcbc4e420e | ||
|
|
19fcda877f | ||
|
|
48cd93ef93 | ||
|
|
80fd39826b | ||
|
|
50c7d1531b | ||
|
|
657c6f2b7d | ||
|
|
e7484fac09 | ||
|
|
613ec9c48c | ||
|
|
322050efd8 | ||
|
|
5242368343 | ||
|
|
564151e520 | ||
|
|
b40220cb73 | ||
|
|
2ebac74049 | ||
|
|
8ede63a960 | ||
|
|
38a0cc39e6 | ||
|
|
b482b61770 | ||
|
|
36a6f6e151 | ||
|
|
0c45883649 | ||
|
|
c243144009 | ||
|
|
4e2df006e7 | ||
|
|
02964d3bef | ||
|
|
c0e50aac48 | ||
|
|
6c0804ba4f | ||
|
|
708b13dd71 | ||
|
|
eb64e054b5 | ||
|
|
c42f7f930c | ||
|
|
44c1d7306d | ||
|
|
2413c22a51 | ||
|
|
31fefb4f86 | ||
|
|
745fd81aa1 | ||
|
|
f7bf1567c1 | ||
|
|
02021a09b1 | ||
|
|
6411d32228 | ||
|
|
56287e8094 | ||
|
|
62f70fd628 | ||
|
|
dcca2c5821 | ||
|
|
d22f2296c2 | ||
|
|
2e0ea5d085 | ||
|
|
cb4526e8e2 | ||
|
|
fc3132cd77 | ||
|
|
e474db33ec | ||
|
|
6274d2b250 | ||
|
|
d4bfdaa29e | ||
|
|
3b7f5f5ce0 | ||
|
|
496e2f1840 | ||
|
|
98f3c055d7 | ||
|
|
7df36ce8b4 | ||
|
|
5deaca45c2 | ||
|
|
e790757855 | ||
|
|
46b2c6494f | ||
|
|
c4216a4075 | ||
|
|
375412aa42 | ||
|
|
895ac56eb3 | ||
|
|
c593388ec6 | ||
|
|
1c6960fe44 | ||
|
|
e7ac2ffd6c | ||
|
|
df35e54fba | ||
|
|
15f757ae04 | ||
|
|
b7dc15099c | ||
|
|
dc33c67f48 | ||
|
|
89fb517fd1 | ||
|
|
51eb94dbe9 | ||
|
|
03747f618f | ||
|
|
8154322448 | ||
|
|
7531ae2749 | ||
|
|
32515172d3 | ||
|
|
3b500ecf69 | ||
|
|
b93dd4751d | ||
|
|
d651f8db34 | ||
|
|
3f8f7d21d0 | ||
|
|
824341e396 | ||
|
|
a972708d69 | ||
|
|
47b305c83b | ||
|
|
2ec3da18f2 | ||
|
|
70aea9ac0c | ||
|
|
38270bf4e2 | ||
|
|
05d58ca0da | ||
|
|
91aab54b43 | ||
|
|
25d552c09e | ||
|
|
a1d51502c4 | ||
|
|
883d1dfa19 | ||
|
|
f94c48b27c | ||
|
|
0734547aec | ||
|
|
8ab87d9844 | ||
|
|
21b3b85e6e | ||
|
|
45ccac3bc4 | ||
|
|
0b95b0b94b | ||
|
|
501b370dc0 | ||
|
|
2058a4b639 | ||
|
|
266823a81e | ||
|
|
6cd5713baa | ||
|
|
e9038de819 | ||
|
|
9129b681dc | ||
|
|
1f2b602638 | ||
|
|
87d9de1009 | ||
|
|
81a6db2190 | ||
|
|
dbd335fd3b | ||
|
|
84fc6e7a7a | ||
|
|
f851f10ee1 | ||
|
|
0d92d9f9bd | ||
|
|
73fce52df1 | ||
|
|
14223d239a | ||
|
|
a3daa7b257 | ||
|
|
a70f943462 | ||
|
|
a717260574 | ||
|
|
90a4898dbd | ||
|
|
4543d9e975 | ||
|
|
2aedd20007 | ||
|
|
822e1cbfb5 | ||
|
|
0ec082669d | ||
|
|
5315eeb26b | ||
|
|
32bd5a4cca | ||
|
|
e4ec774d16 | ||
|
|
b1ce21ad77 | ||
|
|
9ab5e86c81 | ||
|
|
ea3442ad27 | ||
|
|
e1af02a642 | ||
|
|
fe0c4e4f92 | ||
|
|
5e58fdf821 | ||
|
|
01537c03b1 | ||
|
|
b78f4d13c1 | ||
|
|
ba68243dc7 | ||
|
|
b742971d9b | ||
|
|
6492cfb430 | ||
|
|
c229adcbb9 | ||
|
|
abb08a4589 | ||
|
|
5ccc124ad4 | ||
|
|
db22fea0d1 | ||
|
|
7ebd12ec3d | ||
|
|
ac0e57726f | ||
|
|
e3200b1481 | ||
|
|
5492935c32 | ||
|
|
2a67d80057 | ||
|
|
7956a75344 | ||
|
|
cfa82e5086 | ||
|
|
60291a93c2 | ||
|
|
51fec1c5a0 | ||
|
|
5b8c5e2fd7 | ||
|
|
5a0fd6ee08 | ||
|
|
d7d3810874 | ||
|
|
f0819c339c | ||
|
|
adcdca6f2e | ||
|
|
efd7d1a4a0 | ||
|
|
fc3fa137ac | ||
|
|
61e901e07b | ||
|
|
d5dee106d1 | ||
|
|
00518e1a60 | ||
|
|
129d622015 | ||
|
|
4423cbfcf3 | ||
|
|
7f0d845dd0 | ||
|
|
bba1c894c5 | ||
|
|
6c197a4a8c | ||
|
|
4ceae8ec31 | ||
|
|
d257f903cc | ||
|
|
69742dd785 | ||
|
|
92161eae07 | ||
|
|
70d5099902 | ||
|
|
de80f4e262 | ||
|
|
0f0b8d4528 | ||
|
|
e34301fb2f | ||
|
|
a140c1ddc1 | ||
|
|
b472c615fb | ||
|
|
d41f33775e | ||
|
|
c27d60e2b0 | ||
|
|
77fcaf4fca | ||
|
|
206dc66f7c | ||
|
|
2d267fc50a | ||
|
|
5cd5f00df7 | ||
|
|
6a80869861 | ||
|
|
fb113514ae | ||
|
|
91740048c2 | ||
|
|
ff2e206229 | ||
|
|
5f1f82257b | ||
|
|
3df0fab793 | ||
|
|
7e7fa62c24 | ||
|
|
6220c00dcb | ||
|
|
59a3d58c0f | ||
|
|
d8fb19c26e | ||
|
|
b0530325c5 | ||
|
|
734a86a248 | ||
|
|
a12d447d95 | ||
|
|
e9578d9aa0 | ||
|
|
5fef185a30 | ||
|
|
ee2b2b2c3a | ||
|
|
45d232e401 | ||
|
|
9a4d56e4e1 | ||
|
|
63018439c8 | ||
|
|
b5fef2ecb9 | ||
|
|
fd3ece31c7 | ||
|
|
7aa8e3d60d | ||
|
|
9d71b39b31 | ||
|
|
7cb09a0e0b | ||
|
|
fa47448ddc | ||
|
|
be7ae3d151 | ||
|
|
fcb3c11203 | ||
|
|
c63002e145 | ||
|
|
7758079efa | ||
|
|
9e43cc30a7 | ||
|
|
40eaf15538 | ||
|
|
a6228b43f3 | ||
|
|
b5fcc90da2 | ||
|
|
c66e80fdaf | ||
|
|
7853e1990f | ||
|
|
9d52a335c3 | ||
|
|
8597784bc6 | ||
|
|
557b9ef71d | ||
|
|
c7791a478a | ||
|
|
d29a20727b | ||
|
|
a14a2f6c96 | ||
|
|
cc402e35a1 | ||
|
|
2813c30536 | ||
|
|
8bd0bdf5b2 | ||
|
|
26a99443d7 | ||
|
|
6d5aa77dee | ||
|
|
5fa7bea885 | ||
|
|
62fb85a94b | ||
|
|
c840e3485e | ||
|
|
04c72d51fd | ||
|
|
eae1250cac | ||
|
|
634801431d | ||
|
|
e9a884ab39 | ||
|
|
40fc1511d0 | ||
|
|
8642723c77 | ||
|
|
15ac97e41a | ||
|
|
8202ae7cf6 | ||
|
|
1b459460dc | ||
|
|
bdf7df9ecd | ||
|
|
7e55c6a79d | ||
|
|
183570aaa5 | ||
|
|
de1d66d4dd | ||
|
|
0b27e57ad7 | ||
|
|
182bbd43c5 | ||
|
|
cdf4d6c5fd | ||
|
|
86db74c394 | ||
|
|
856e63794b | ||
|
|
c29a57445a | ||
|
|
4aba90ad3f | ||
|
|
4f2b6d4cd7 | ||
|
|
92067fa3f3 | ||
|
|
c26ea4ceeb | ||
|
|
35ccbff5b9 | ||
|
|
1a265a5176 | ||
|
|
ef2d243fa8 | ||
|
|
c2b8fa59a6 | ||
|
|
a85f9e39bd | ||
|
|
a13f8828fb | ||
|
|
7d391b8465 | ||
|
|
dbfa7cc4eb | ||
|
|
66e99df303 | ||
|
|
77ecf64443 | ||
|
|
f7060804b2 | ||
|
|
a44a1269c0 | ||
|
|
ac6fc37c7d | ||
|
|
9472d65af9 | ||
|
|
1b4c07f229 | ||
|
|
a645058ae1 | ||
|
|
edec6defbb | ||
|
|
27b3a3ddef | ||
|
|
da0903b8a6 | ||
|
|
a49a3b45e5 | ||
|
|
b9225fb153 | ||
|
|
656b7f0948 | ||
|
|
08b249ee09 | ||
|
|
5d76ebfe6e | ||
|
|
0d53b12ade | ||
|
|
f403e12a2a | ||
|
|
5abce26309 | ||
|
|
e73cb0958f | ||
|
|
70070e2f1c | ||
|
|
2685f9adab | ||
|
|
c43e74eabd | ||
|
|
b0d3306209 | ||
|
|
4aaabae109 | ||
|
|
b8188f999e | ||
|
|
4dc5ceb9b1 | ||
|
|
4f8e5053f7 | ||
|
|
3d97ce99e1 | ||
|
|
8620412b3a | ||
|
|
a6d07d89d0 | ||
|
|
a63efcefd6 | ||
|
|
bce9207161 | ||
|
|
12670dedbe | ||
|
|
40393f9548 | ||
|
|
94cae5f015 | ||
|
|
8353227f9d | ||
|
|
5c1d69b934 | ||
|
|
fb04b58b57 | ||
|
|
2bb14bba2a | ||
|
|
91195eb21b | ||
|
|
3b8d6dd3c8 | ||
|
|
ff2ab2da8d | ||
|
|
85aed457b2 | ||
|
|
d624d1d5b6 | ||
|
|
6c6a1049ea | ||
|
|
f380889d98 | ||
|
|
f61df0e126 | ||
|
|
ffca12123f | ||
|
|
1077ca3753 | ||
|
|
c7189dbceb | ||
|
|
f2361c49b4 | ||
|
|
f84cbb66c3 | ||
|
|
e45f254d19 | ||
|
|
b6cd3c0bae | ||
|
|
4a98724a35 | ||
|
|
4680fa5ae9 | ||
|
|
458f4e2bdc | ||
|
|
3357fd81c7 | ||
|
|
3ebe277303 | ||
|
|
29c57dce0f | ||
|
|
27a9330638 | ||
|
|
4b42b1f55d | ||
|
|
db761395e5 | ||
|
|
249d73e270 | ||
|
|
5d359afedb | ||
|
|
5e8e37e6a2 | ||
|
|
a74df6f04f | ||
|
|
10991d5472 | ||
|
|
b3206fe1db | ||
|
|
70391ea055 | ||
|
|
5b69155d49 | ||
|
|
941bb8adca | ||
|
|
b5eb014084 | ||
|
|
ee4b9339a7 | ||
|
|
3acfe19499 | ||
|
|
9bac23b38f | ||
|
|
b028258cbd | ||
|
|
4d442159cb | ||
|
|
181a91ccf6 | ||
|
|
1c6f2e9d10 | ||
|
|
244fe3b116 | ||
|
|
9ee7391918 | ||
|
|
2eadc3ace6 | ||
|
|
786b29c18d | ||
|
|
315f787d20 | ||
|
|
0347907044 | ||
|
|
f2ae281195 | ||
|
|
a4f76d59b0 | ||
|
|
52a3e04eae | ||
|
|
390abb00df | ||
|
|
02c50e4b17 | ||
|
|
8c8a78c0ab | ||
|
|
fb75cde710 | ||
|
|
fc855dccff | ||
|
|
3d57def676 | ||
|
|
74d2da8857 | ||
|
|
8cfd721ef6 | ||
|
|
d4e10f32e7 | ||
|
|
5a7cff491d | ||
|
|
392ae695d0 | ||
|
|
b39effc067 | ||
|
|
908f4f01cf | ||
|
|
8baab13192 | ||
|
|
abb38d3e49 | ||
|
|
d0016e390a | ||
|
|
c80012e367 | ||
|
|
19fc60a1d8 | ||
|
|
487c9e96ce | ||
|
|
cd337cb164 | ||
|
|
5c15747d62 | ||
|
|
7f11e6946b | ||
|
|
8fa77691d0 | ||
|
|
894e5910c3 | ||
|
|
54f33a72c4 | ||
|
|
566f90ff30 | ||
|
|
debc59744f |
39
.github/renovate.json
vendored
Normal file
39
.github/renovate.json
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:base",
|
||||
":disableDependencyDashboard"
|
||||
],
|
||||
"schedule": [
|
||||
"before 8am on Monday"
|
||||
],
|
||||
"ignorePaths": [
|
||||
"tests/**",
|
||||
".github/workflows/**"
|
||||
],
|
||||
"pip_requirements": {
|
||||
"fileMatch": [
|
||||
"requirements.txt",
|
||||
"builder/requirements.txt",
|
||||
"builder/release-requirements.txt",
|
||||
"builder/osx/requirements.txt"
|
||||
]
|
||||
},
|
||||
"ignoreDeps": [
|
||||
"jaraco.text",
|
||||
"sabctools"
|
||||
],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchPackagePatterns": [
|
||||
"*"
|
||||
],
|
||||
"groupName": "all dependencies",
|
||||
"groupSlug": "all",
|
||||
"separateMajorMinor": false,
|
||||
"automerge": true
|
||||
}
|
||||
],
|
||||
"automergeStrategy": "squash",
|
||||
"platformAutomerge": true
|
||||
}
|
||||
23
.github/stale.yml
vendored
23
.github/stale.yml
vendored
@@ -1,23 +0,0 @@
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 21
|
||||
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- "Feature request"
|
||||
- "Work in progress"
|
||||
- "Bug"
|
||||
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: "Stale"
|
||||
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
122
.github/workflows/build_release.yml
vendored
122
.github/workflows/build_release.yml
vendored
@@ -2,8 +2,9 @@ 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,27 +13,26 @@ 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"
|
||||
custom_cache_key_element: "release"
|
||||
requirement_files: |
|
||||
**/requirements.txt
|
||||
PKG-INFO
|
||||
requirement_files: "**/requirements.txt"
|
||||
- name: Install Python dependencies (64bit)
|
||||
if: steps.cache-virtualenv-64bit.outputs.cache-hit != 'true'
|
||||
# Without dependencies to make sure everything is covered in the requirements.txt
|
||||
run: |
|
||||
python --version
|
||||
pip install --upgrade pip wheel
|
||||
pip install --upgrade -r requirements.txt
|
||||
pip install --upgrade -r builder/requirements.txt
|
||||
python -m pip install --upgrade pip wheel
|
||||
pip install --upgrade -r requirements.txt --no-dependencies
|
||||
pip install --upgrade -r builder/requirements.txt --no-dependencies
|
||||
- name: Build Windows standalone binary and installer (64bit)
|
||||
run: python builder/package.py installer
|
||||
- name: Upload Windows standalone binary (64bit)
|
||||
@@ -46,24 +46,23 @@ 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"
|
||||
custom_cache_key_element: "release"
|
||||
requirement_files: |
|
||||
**/requirements.txt
|
||||
PKG-INFO
|
||||
requirement_files: "**/requirements.txt"
|
||||
- name: Install Python dependencies (32bit and legacy)
|
||||
if: steps.cache-virtualenv-32bit.outputs.cache-hit != 'true'
|
||||
# We do not care about the extra dependencies for the legacy build
|
||||
run: |
|
||||
python --version
|
||||
pip install --upgrade pip wheel
|
||||
python -m pip install --upgrade pip wheel
|
||||
pip install --upgrade -r requirements.txt
|
||||
pip install --upgrade -r builder/requirements.txt
|
||||
- name: Build Windows standalone binary (32bit and legacy)
|
||||
@@ -73,25 +72,20 @@ jobs:
|
||||
with:
|
||||
path: "*-win32-bin.zip"
|
||||
name: Windows Windows standalone binary (32bit and legacy)
|
||||
- name: Prepare official release
|
||||
if: env.AUTOMATION_GITHUB_TOKEN && startsWith(github.ref, 'refs/tags/')
|
||||
run: python builder/package.py release
|
||||
|
||||
build_macos:
|
||||
name: Build macOS binary
|
||||
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.3"
|
||||
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
|
||||
@@ -99,7 +93,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
|
||||
@@ -109,42 +103,46 @@ 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"
|
||||
requirement_files: |
|
||||
**/requirements.txt
|
||||
PKG-INFO
|
||||
requirement_files: "**/requirements.txt"
|
||||
- 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. Due to PyObjC we cannot run pip on the main requirements without installing dependencies
|
||||
# 3. We need to build the PyInstaller bootloader:
|
||||
# https://github.com/pyinstaller/pyinstaller/issues/6235
|
||||
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 download -r builder/osx/requirements.txt --platform macosx_10_12_universal2 --only-binary :all: --no-deps --dest .
|
||||
pip3 install -r builder/osx/requirements.txt --no-cache-dir --no-index --find-links .
|
||||
|
||||
PYINSTALLER_COMPILE_BOOTLOADER=1 pip3 install --upgrade -r builder/requirements.txt --no-binary pyinstaller
|
||||
|
||||
PYINSTALLER_COMPILE_BOOTLOADER=1 pip3 install --upgrade -r builder/requirements.txt --no-binary pyinstaller --no-dependencies
|
||||
- name: Import macOS codesign certificates
|
||||
uses: apple-actions/import-codesign-certs@v1
|
||||
if: env.SIGNING_AUTH
|
||||
with:
|
||||
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
|
||||
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
|
||||
# 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 }}
|
||||
if: env.CERTIFICATES_P12
|
||||
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
|
||||
@@ -154,6 +152,10 @@ jobs:
|
||||
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
|
||||
@@ -162,24 +164,34 @@ jobs:
|
||||
with:
|
||||
path: "*-osx.dmg"
|
||||
name: macOS binary (not notarized)
|
||||
- name: Prepare official release
|
||||
if: env.AUTOMATION_GITHUB_TOKEN && startsWith(github.ref, 'refs/tags/')
|
||||
run: python3 builder/package.py release
|
||||
|
||||
release_snap:
|
||||
name: Release Snap
|
||||
release:
|
||||
name: Publish Release
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build_windows, build_macos]
|
||||
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
|
||||
env:
|
||||
SNAP_TOKEN: ${{ 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: Download all artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
path: dist
|
||||
- name: Move all artifacts to main folder
|
||||
run: find dist -type f -exec mv {} . \;
|
||||
- name: Prepare official release
|
||||
env:
|
||||
AUTOMATION_GITHUB_TOKEN: ${{ secrets.AUTOMATION_GITHUB_TOKEN }}
|
||||
REDDIT_TOKEN: ${{ secrets.REDDIT_TOKEN }}
|
||||
run: |
|
||||
pip3 install -r builder/release-requirements.txt
|
||||
python3 builder/release.py
|
||||
- name: Release latest available Snap
|
||||
env:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_TOKEN }}
|
||||
run: |
|
||||
sudo snap install snapcraft --classic
|
||||
echo "${SNAP_TOKEN}" | snapcraft login --with -
|
||||
python3 snap/local/release_snap.py
|
||||
|
||||
32
.github/workflows/integration_testing.yml
vendored
32
.github/workflows/integration_testing.yml
vendored
@@ -20,48 +20,56 @@ jobs:
|
||||
builder/SABnzbd.spec
|
||||
tests
|
||||
--line-length=120
|
||||
--target-version=py37
|
||||
--target-version=py38
|
||||
--check
|
||||
--diff
|
||||
|
||||
test:
|
||||
name: Test ${{ matrix.name }} - Python ${{ matrix.python-version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 15
|
||||
timeout-minutes: 20
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ["3.7", "3.8", "3.9", "3.10"]
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11"]
|
||||
python-architecture: ["x64"]
|
||||
name: ["Linux"]
|
||||
os: [ubuntu-20.04]
|
||||
include:
|
||||
- name: macOS
|
||||
os: macos-latest
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
python-architecture: "x64"
|
||||
- name: Windows
|
||||
os: windows-latest
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
python-architecture: "x64"
|
||||
- name: Windows (32bit)
|
||||
os: windows-latest
|
||||
python-version: "3.8"
|
||||
python-architecture: "x86"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
- name: Set up Python ${{ matrix.python-version }} ${{ matrix.python-architecture }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
architecture: ${{ matrix.python-architecture }}
|
||||
- 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"
|
||||
requirement_files: |
|
||||
**/requirements.txt
|
||||
PKG-INFO
|
||||
custom_cache_key_element: ci-${{ matrix.python-architecture }}
|
||||
requirement_files: "**/requirements.txt"
|
||||
- name: Install Python dependencies
|
||||
if: steps.cache-virtualenv.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
python --version
|
||||
python -m pip install --upgrade pip wheel
|
||||
pip install --upgrade -r requirements.txt
|
||||
pip install --upgrade -r tests/requirements.txt
|
||||
- name: Test SABnzbd
|
||||
|
||||
22
.github/workflows/stale.yml
vendored
Normal file
22
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: "Close stale issues"
|
||||
on:
|
||||
schedule:
|
||||
- cron: "30 1 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
name: "Close stale issues"
|
||||
if: github.repository_owner == 'sabnzbd'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v8
|
||||
with:
|
||||
days-before-stale: 21
|
||||
days-before-close: 7
|
||||
stale-issue-label: "Stale"
|
||||
stale-issue-message: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
exempt-issue-labels: "Feature request, Work in progress, Bug"
|
||||
23
.github/workflows/translations.yml
vendored
23
.github/workflows/translations.yml
vendored
@@ -13,28 +13,31 @@ 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
|
||||
# Add --translation to the push command in order to update Transifex using local translation edits
|
||||
# However, this prevents modifying existing translations in Transifex as they will be overwritten by the push!
|
||||
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.16.0
|
||||
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
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
branch: develop
|
||||
schedule: every week
|
||||
update: all
|
||||
pin: False
|
||||
label_prs: dependencies
|
||||
branch_prefix: pyup/
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
(c) Copyright 2007-2022 by "The SABnzbd-team" <team@sabnzbd.org>
|
||||
(c) Copyright 2007-2023 by "The SABnzbd-team" <team@sabnzbd.org>
|
||||
|
||||
The SABnzbd-team is:
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
0) LICENSE
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
(c) Copyright 2007-2022 by "The SABnzbd-team" <team@sabnzbd.org>
|
||||
(c) Copyright 2007-2023 by "The SABnzbd-team" <team@sabnzbd.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -52,7 +52,7 @@ Specific guides to install from source are available for Windows and macOS:
|
||||
https://sabnzbd.org/wiki/installation/install-macos
|
||||
https://sabnzbd.org/wiki/installation/install-from-source-windows
|
||||
|
||||
Only Python 3.7 and above is supported.
|
||||
Only Python 3.8 and above is supported.
|
||||
|
||||
On Linux systems you need to install:
|
||||
par2 unrar unzip python3-setuptools python3-pip
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
no_penalties = 1
|
||||
See: https://sabnzbd.org/wiki/configuration/3.4/special
|
||||
|
||||
- Some third-party utilties try to probe SABnzbd API in such a way that you will
|
||||
- Some third-party utilities try to probe SABnzbd API in such a way that you will
|
||||
often see warnings about unauthenticated access.
|
||||
If you are sure these probes are harmless, you can suppress the warnings by
|
||||
setting the option "api_warnings" to 0.
|
||||
@@ -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.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
(c) Copyright 2007-2022 by "The SABnzbd-team" <team@sabnzbd.org>
|
||||
(c) Copyright 2007-2023 by "The SABnzbd-team" <team@sabnzbd.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
|
||||
10
PKG-INFO
10
PKG-INFO
@@ -1,10 +0,0 @@
|
||||
Metadata-Version: 1.0
|
||||
Name: SABnzbd
|
||||
Version: 3.6.0RC2
|
||||
Summary: SABnzbd-3.6.0RC2
|
||||
Home-page: https://sabnzbd.org
|
||||
Author: The SABnzbd Team
|
||||
Author-email: team@sabnzbd.org
|
||||
License: GNU General Public License 2 (GPL2 or later)
|
||||
Description: Fully automated Usenet Binary Downloader
|
||||
Platform: posix
|
||||
@@ -1,10 +1,8 @@
|
||||
SABnzbd - The automated Usenet download tool
|
||||
============================================
|
||||
|
||||

|
||||

|
||||
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
|
||||
|
||||
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
|
||||
[](https://discord.gg/KQzDe7fvNU)
|
||||
|
||||
SABnzbd is an Open Source Binary Newsreader written in Python.
|
||||
|
||||
@@ -18,7 +16,7 @@ If you want to know more you can head over to our website: https://sabnzbd.org.
|
||||
|
||||
SABnzbd has a few dependencies you'll need before you can get running. If you've previously run SABnzbd from one of the various Linux packages, then you likely already have all the needed dependencies. If not, here's what you're looking for:
|
||||
|
||||
- `python` (Python 3.7 and above, often called `python3`)
|
||||
- `python` (Python 3.8 and above, often called `python3`)
|
||||
- Python modules listed in `requirements.txt`. Install with `python3 -m pip install -r requirements.txt -U`
|
||||
- `par2` (Multi-threaded par2 installation guide can be found [here](https://sabnzbd.org/wiki/installation/multicore-par2))
|
||||
- `unrar` (make sure you get the "official" non-free version of unrar)
|
||||
|
||||
88
README.mkd
88
README.mkd
@@ -1,53 +1,47 @@
|
||||
Release Notes - SABnzbd 3.6.0 Release Candidate 1
|
||||
Release Notes - SABnzbd 4.0.2 Release Candidate 2
|
||||
=========================================================
|
||||
|
||||
## 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 a backup of configuration and database.
|
||||
- Show source of lower download speed (CPU or disk).
|
||||
- Added keyboard shortcuts (`P`ause, `A`dd, `S`tatus, `C`onfig).
|
||||
- Result of the `Deobfuscate` step is listed in History details.
|
||||
- `Path` of `Default` category will be used if category doesn't have one.
|
||||
- Disabling `api_warnings` prevents showing `Access Denied`
|
||||
information to the external client.
|
||||
- Jobs with `Force` priority will always skip the duplicate check.
|
||||
- Added `ext_rename_ignore` to add custom extensions that should
|
||||
be ignored during the `Deobfuscate` step.
|
||||
- Removed Indexer Feedback Integration.
|
||||
- Removed included `Deobfuscate.py` as it is outdated.
|
||||
- Show a warning when there are no valid news servers active.
|
||||
- Show a warning if the filesystem does not support special characters.
|
||||
- Allow multiple parameters to be passed to par2cmdline/Multipar
|
||||
- Linux: Added AppStream metadata, desktop shortcut and MimeInfo.
|
||||
- Linux: Added support for bash completion.
|
||||
- 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 and changes since 4.0.2 Release Candidate 1
|
||||
- The `Parameters` setting of a `Notification Script` is now passed as
|
||||
environment variable `SAB_NOTIFICATION_PARAMETERS` instead of as a
|
||||
command-line parameter. This prevents the possibility of remote code
|
||||
execution on systems exposed to the internet without a username/password.
|
||||
- Correctly decode partially malformed UUencoded posts.
|
||||
- Show last line of post-processing script output even if it failed.
|
||||
|
||||
# API changes since 3.5.3
|
||||
- Removed several (status) fields from the `queue` API call.
|
||||
- Remove unused and undocumented API calls: `addid`, `options`, `rescan`
|
||||
`osx_icon`, `set_speedlimit`, `get_speedlimit`, `set_colorscheme`.
|
||||
- `None` values in XML API-output are left empty.
|
||||
- Adding NZB's would not always return `nzo_ids`.
|
||||
- Removed undocumented `xcat` parameter.
|
||||
## Bugfixes and changes since 4.0.1
|
||||
- Disabling a server during download did not stop it from downloading.
|
||||
- Prevent crash during Deobfuscate on non-unique paths.
|
||||
- Files that could not be parsed were removed from the `Watched Folder`.
|
||||
- Warn if the file system does not support unicode or long filenames.
|
||||
- Warn if `Scripts Folder` is inside the application directory.
|
||||
- Prevent output buffering of Python post-processing scripts.
|
||||
- The `PKG-INFO` file was removed from the `src` release.
|
||||
- macOS: Tray icon could not be disabled.
|
||||
|
||||
# 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.
|
||||
- Ignore `.par2` files that could not be parsed.
|
||||
- Correctly default to `Glitter - Auto` on new installs.
|
||||
- Download speed was not updated when stalled due to disk performance.
|
||||
- Prevent traceback when status functions timeout.
|
||||
- Prevent crash if not enough repair blocks are available.
|
||||
- Prevent crash when there is an unknown `language` setting.
|
||||
- Prevent crash in API `history` call during post-processing.
|
||||
- Source release had Windows line-endings.
|
||||
- Windows: If a job password contained a double quote it
|
||||
would not be picked up by UnRar and unpack would fail.
|
||||
## Changes since 3.7.2
|
||||
- In this major update we optimized a core part of the SSL handling.
|
||||
This results in large performance increase when downloading from news
|
||||
servers with SSL enabled. In addition, the general connection handling
|
||||
was improved, resulting in performance improvements for all news servers.
|
||||
Special thanks to: mnightingale, puzzledsab and animetosho!
|
||||
- There are multiple settings that can tweak performance, see:
|
||||
https://github.com/sabnzbd/sabnzbd/discussions/2474
|
||||
- When adding a new news server, SSL is enabled by default.
|
||||
- File assembly performance significantly improved by relying on the
|
||||
CRC32 instead of the MD5 to perform QuickCheck of files.
|
||||
- Slow down more gracefully when the cache fills up.
|
||||
- Replaced separate Series/Movie/Date Sorting with general Sorter.
|
||||
- HTTPS files are included in the `Backup`.
|
||||
- Improved `Watched Folder` scanning and processing.
|
||||
- Ignore resource fork files created by macOS.
|
||||
- `Deobfuscate final filenames` is enabled for new installations.
|
||||
- Dropped support for Python 3.7.
|
||||
|
||||
## Bugfixes since 3.7.2
|
||||
- Restore applying `History Retention` setting at startup.
|
||||
- Windows: Not all invalid characters were removed from filenames.
|
||||
- Windows: Firewall rules were not removed by uninstaller.
|
||||
|
||||
## Upgrade notices
|
||||
- The download statistics file `totals10.sab` is updated in 3.2.x
|
||||
@@ -64,4 +58,4 @@ Release Notes - SABnzbd 3.6.0 Release Candidate 1
|
||||
that automatically verify, repair, extract and clean up posts downloaded
|
||||
from Usenet.
|
||||
|
||||
(c) Copyright 2007-2022 by "The SABnzbd-team" \<team@sabnzbd.org\>
|
||||
(c) Copyright 2007-2023 by "The SABnzbd-team" \<team@sabnzbd.org\>
|
||||
|
||||
46
README.txt
Normal file
46
README.txt
Normal file
@@ -0,0 +1,46 @@
|
||||
Release Notes - SABnzbd 4.0.0 Release Candidate 2
|
||||
=========================================================
|
||||
|
||||
## Changes since 3.7.2
|
||||
- In this major update we replaced a core part of Python's SSL handling
|
||||
with our own improved version. This results in large performance increases
|
||||
when downloading from news servers with SSL enabled.
|
||||
In addition, the general connection handling was overhauled, resulting in
|
||||
performance improvements for all news servers.
|
||||
Special thanks to: mnightingale, puzzledsab and animetosho!
|
||||
- There are multiple settings that can tweak performance, see:
|
||||
https://github.com/sabnzbd/sabnzbd/discussions/2474
|
||||
We are trying to find the most optimal default settings, so you
|
||||
can help us by letting us know the results on your system!
|
||||
- When adding a new news server, SSL is enabled by default.
|
||||
- File assembly performance significantly improved by relying on the
|
||||
CRC32 instead of the MD5 to perform QuickCheck of files.
|
||||
- Slowdown more gracefully when the cache fills up.
|
||||
- Replaced separate Series/Movie/Date Sorting with general Sorter.
|
||||
- HTTPS files are included in the `Backup`.
|
||||
- Improved `Watched Folder` scanning and processing.
|
||||
- Ignore resource fork files created by macOS.
|
||||
- `Deobfuscate final filenames` is enabled for new installations.
|
||||
- Dropped support for Python 3.7.
|
||||
|
||||
## Bugfixes since 3.7.2
|
||||
- Restore applying `History Retention` setting at startup.
|
||||
- Windows: Not all invalid characters were removed from filenames.
|
||||
- Windows: Firewall rules were not removed by uninstaller.
|
||||
|
||||
## Upgrade notices
|
||||
- The download statistics file `totals10.sab` is updated in 3.2.x
|
||||
version. If you downgrade to 3.1.x or lower, detailed download
|
||||
statistics will be lost.
|
||||
|
||||
## Known problems and solutions
|
||||
- Read the file "ISSUES.txt"
|
||||
|
||||
## About
|
||||
SABnzbd is an open-source cross-platform binary newsreader.
|
||||
It simplifies the process of downloading from Usenet dramatically, thanks
|
||||
to its web-based user interface and advanced built-in post-processing options
|
||||
that automatically verify, repair, extract and clean up posts downloaded
|
||||
from Usenet.
|
||||
|
||||
(c) Copyright 2007-2023 by "The SABnzbd-team" \<team@sabnzbd.org\>
|
||||
81
SABnzbd.py
81
SABnzbd.py
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/python3 -OO
|
||||
# Copyright 2007-2022 The SABnzbd-Team <team@sabnzbd.org>
|
||||
# Copyright 2007-2023 The SABnzbd-Team <team@sabnzbd.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@@ -17,8 +17,10 @@
|
||||
|
||||
import sys
|
||||
|
||||
if sys.hexversion < 0x03070000:
|
||||
print("Sorry, requires Python 3.7 or above")
|
||||
# Trick to show a better message on older Python
|
||||
# releases that don't support walrus operator
|
||||
if Python_38_is_required_to_run_SABnzbd := sys.hexversion < 0x03080000:
|
||||
print("Sorry, requires Python 3.8 or above")
|
||||
print("You can read more at: https://sabnzbd.org/wiki/installation/install-off-modules")
|
||||
sys.exit(1)
|
||||
|
||||
@@ -40,6 +42,7 @@ import gc
|
||||
from typing import List, Dict, Any
|
||||
|
||||
try:
|
||||
import sabctools
|
||||
import Cheetah
|
||||
import feedparser
|
||||
import configobj
|
||||
@@ -76,6 +79,7 @@ from sabnzbd.constants import (
|
||||
DEF_LOG_FILE,
|
||||
DEF_STD_CONFIG,
|
||||
DEF_LOG_CHERRY,
|
||||
CONFIG_BACKUP_HTTPS,
|
||||
)
|
||||
import sabnzbd.newsunpack
|
||||
from sabnzbd.misc import (
|
||||
@@ -240,7 +244,7 @@ def print_version():
|
||||
"""
|
||||
%s-%s
|
||||
|
||||
Copyright (C) 2007-2022 The SABnzbd-Team <team@sabnzbd.org>
|
||||
Copyright (C) 2007-2023 The SABnzbd-Team <team@sabnzbd.org>
|
||||
SABnzbd comes with ABSOLUTELY NO WARRANTY.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions. It is licensed under the
|
||||
@@ -398,15 +402,13 @@ def get_user_profile_paths():
|
||||
return
|
||||
|
||||
elif sabnzbd.MACOS:
|
||||
home = os.environ.get("HOME")
|
||||
if home:
|
||||
if home := os.environ.get("HOME"):
|
||||
sabnzbd.DIR_LCLDATA = "%s/Library/Application Support/SABnzbd" % home
|
||||
sabnzbd.DIR_HOME = home
|
||||
return
|
||||
else:
|
||||
# Unix/Linux
|
||||
home = os.environ.get("HOME")
|
||||
if home:
|
||||
if home := os.environ.get("HOME"):
|
||||
sabnzbd.DIR_LCLDATA = "%s/.%s" % (home, DEF_WORKDIR)
|
||||
sabnzbd.DIR_HOME = home
|
||||
return
|
||||
@@ -418,25 +420,27 @@ def get_user_profile_paths():
|
||||
|
||||
def print_modules():
|
||||
"""Log all detected optional or external modules"""
|
||||
if sabnzbd.decoder.SABYENC_ENABLED:
|
||||
# Yes, we have SABYenc, and it's the correct version, so it's enabled
|
||||
logging.info("SABYenc module (v%s)... found!", sabnzbd.decoder.SABYENC_VERSION)
|
||||
logging.info("SABYenc module is using SIMD set: %s", sabnzbd.decoder.SABYENC_SIMD)
|
||||
if sabnzbd.decoder.SABCTOOLS_ENABLED:
|
||||
# Yes, we have SABCTools, and it's the correct version, so it's enabled
|
||||
logging.info("SABCTools module (v%s)... found!", sabnzbd.decoder.SABCTOOLS_VERSION)
|
||||
logging.info("SABCTools module is using SIMD set: %s", sabnzbd.decoder.SABCTOOLS_SIMD)
|
||||
logging.info("SABCTools module is linked to OpenSSL: %s", sabnzbd.decoder.SABCTOOLS_OPENSSL_LINKED)
|
||||
|
||||
# Check if we managed to link, warning for now
|
||||
# It won't work on OpenSSL < 1.1.1 anyway, so we skip the check there
|
||||
if not sabnzbd.decoder.SABCTOOLS_OPENSSL_LINKED and ssl.OPENSSL_VERSION_INFO >= (1, 1, 1):
|
||||
logging.warning(
|
||||
"Could not link to OpenSSL library, please report here: "
|
||||
"https://github.com/sabnzbd/sabnzbd/issues/2421"
|
||||
)
|
||||
else:
|
||||
# Something wrong with SABYenc, so let's determine and print what:
|
||||
if sabnzbd.decoder.SABYENC_VERSION:
|
||||
# We have a VERSION, thus a SABYenc module, but it's not the correct version
|
||||
logging.error(
|
||||
T("SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"),
|
||||
sabnzbd.decoder.SABYENC_VERSION,
|
||||
sabnzbd.constants.SABYENC_VERSION_REQUIRED,
|
||||
)
|
||||
else:
|
||||
# No SABYenc module at all
|
||||
logging.error(
|
||||
T("SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"),
|
||||
sabnzbd.constants.SABYENC_VERSION_REQUIRED,
|
||||
)
|
||||
# Wrong SABCTools version, if it was fully missing it would fail to start due to check at the very top
|
||||
logging.error(
|
||||
T("SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"),
|
||||
sabnzbd.decoder.SABCTOOLS_VERSION,
|
||||
sabnzbd.constants.SABCTOOLS_VERSION_REQUIRED,
|
||||
)
|
||||
|
||||
# Do not allow downloading
|
||||
sabnzbd.NO_DOWNLOADING = True
|
||||
|
||||
@@ -1156,7 +1160,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)
|
||||
@@ -1192,7 +1196,7 @@ def main():
|
||||
# Find encoding; relevant for external processing activities
|
||||
logging.info("Preferred encoding = %s", sabnzbd.encoding.CODEPAGE)
|
||||
|
||||
# On Linux/FreeBSD/Unix "UTF-8" is strongly, strongly adviced:
|
||||
# On Linux/FreeBSD/Unix "UTF-8" is strongly, strongly advised:
|
||||
if not sabnzbd.WIN32 and not sabnzbd.MACOS and not ("utf-8" in sabnzbd.encoding.CODEPAGE.lower()):
|
||||
helpful_warning(
|
||||
T(
|
||||
@@ -1260,7 +1264,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"):
|
||||
@@ -1271,7 +1275,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.")
|
||||
|
||||
@@ -1444,6 +1448,12 @@ def main():
|
||||
logging.error(T("Failed to start web-interface: "), exc_info=True)
|
||||
abort_and_show_error(browserhost, cherryport)
|
||||
|
||||
# Create a record of the active cert/key/chain files, for use with config.create_config_backup()
|
||||
if enable_https:
|
||||
for setting in CONFIG_BACKUP_HTTPS.values():
|
||||
if full_path := getattr(sabnzbd.cfg, setting).get_path():
|
||||
sabnzbd.CONFIG_BACKUP_HTTPS_OK.append(full_path)
|
||||
|
||||
if sabnzbd.WIN32:
|
||||
if enable_https:
|
||||
mode = "s"
|
||||
@@ -1614,15 +1624,20 @@ def main():
|
||||
# Send our final goodbyes!
|
||||
notifier.send_notification("SABnzbd", T("SABnzbd shutdown finished"), "startup")
|
||||
logging.info("Leaving SABnzbd")
|
||||
sys.stderr.flush()
|
||||
sys.stdout.flush()
|
||||
sabnzbd.pid_file()
|
||||
|
||||
try:
|
||||
sys.stderr.flush()
|
||||
sys.stdout.flush()
|
||||
except AttributeError:
|
||||
# Not supported on Windows binaries
|
||||
pass
|
||||
|
||||
if hasattr(sys, "frozen") and sabnzbd.MACOS:
|
||||
try:
|
||||
AppHelper.stopEventLoop()
|
||||
except:
|
||||
# Failing AppHelper libary!
|
||||
# Failing AppHelper library!
|
||||
os._exit(0)
|
||||
elif sabnzbd.WIN_SERVICE:
|
||||
# Do nothing, let service handle it
|
||||
|
||||
@@ -2,43 +2,17 @@
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import pkginfo
|
||||
|
||||
from PyInstaller.building.api import EXE, COLLECT, PYZ
|
||||
from PyInstaller.building.build_main import Analysis
|
||||
from PyInstaller.building.osx import BUNDLE
|
||||
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
|
||||
|
||||
from builder.constants import EXTRA_FILES, EXTRA_FOLDERS, RELEASE_VERSION
|
||||
|
||||
# Add extra files in the PyInstaller-spec
|
||||
extra_pyinstaller_files = []
|
||||
|
||||
# Also modify these in "package.py"!
|
||||
extra_files = [
|
||||
"README.txt",
|
||||
"INSTALL.txt",
|
||||
"LICENSE.txt",
|
||||
"GPL2.txt",
|
||||
"GPL3.txt",
|
||||
"COPYRIGHT.txt",
|
||||
"ISSUES.txt",
|
||||
"PKG-INFO",
|
||||
]
|
||||
|
||||
extra_folders = [
|
||||
"scripts/",
|
||||
"licenses/",
|
||||
"locale/",
|
||||
"email/",
|
||||
"interfaces/Glitter/",
|
||||
"interfaces/wizard/",
|
||||
"interfaces/Config/",
|
||||
"scripts/",
|
||||
"icons/",
|
||||
]
|
||||
|
||||
# Get the version
|
||||
RELEASE_VERSION = pkginfo.Develop(".").version
|
||||
|
||||
# Add hidden imports
|
||||
extra_hiddenimports = ["Cheetah.DummyTransaction", "cheroot.ssl.builtin", "certifi"]
|
||||
extra_hiddenimports.extend(collect_submodules("babelfish.converters"))
|
||||
@@ -48,7 +22,7 @@ extra_hiddenimports.extend(collect_submodules("guessit.data"))
|
||||
if sys.platform == "darwin":
|
||||
extra_hiddenimports.extend(["objc", "PyObjCTools"])
|
||||
# macOS folders
|
||||
extra_folders += ["osx/par2/", "osx/unrar/", "osx/7zip/"]
|
||||
EXTRA_FOLDERS += ["osx/par2/", "osx/unrar/", "osx/7zip/"]
|
||||
# Add NZB-icon file
|
||||
extra_pyinstaller_files.append(("builder/osx/image/nzbfile.icns", "."))
|
||||
# Version information is set differently on macOS
|
||||
@@ -67,8 +41,8 @@ else:
|
||||
|
||||
# Windows
|
||||
extra_hiddenimports.append("win32timezone")
|
||||
extra_folders += ["win/multipar/", "win/unrar/", "win/7zip/"]
|
||||
extra_files += ["portable.cmd"]
|
||||
EXTRA_FOLDERS += ["win/multipar/", "win/unrar/", "win/7zip/"]
|
||||
EXTRA_FILES += ["portable.cmd"]
|
||||
|
||||
# Parse the version info
|
||||
version_regexed = re.search(r"(\d+)\.(\d+)\.(\d+)([a-zA-Z]*)(\d*)", RELEASE_VERSION)
|
||||
@@ -109,9 +83,9 @@ else:
|
||||
)
|
||||
|
||||
# Process the extra-files and folders
|
||||
for file_item in extra_files:
|
||||
for file_item in EXTRA_FILES:
|
||||
extra_pyinstaller_files.append((file_item, "."))
|
||||
for folder_item in extra_folders:
|
||||
for folder_item in EXTRA_FOLDERS:
|
||||
extra_pyinstaller_files.append((folder_item, folder_item))
|
||||
|
||||
# Add babelfish data files
|
||||
|
||||
62
builder/constants.py
Normal file
62
builder/constants.py
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/python3 -OO
|
||||
# Copyright 2008-2017 The SABnzbd-Team <team@sabnzbd.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
import os
|
||||
|
||||
# Constants
|
||||
VERSION_FILE = "sabnzbd/version.py"
|
||||
|
||||
# To draft a release or not to draft a release?
|
||||
ON_GITHUB_ACTIONS = os.environ.get("CI", False)
|
||||
RELEASE_THIS = "refs/tags/" in os.environ.get("GITHUB_REF", "")
|
||||
|
||||
# Import version.py without the sabnzbd overhead
|
||||
with open(VERSION_FILE) as version_file:
|
||||
exec(version_file.read())
|
||||
RELEASE_VERSION = __version__
|
||||
|
||||
# Define release name
|
||||
RELEASE_NAME = "SABnzbd-%s" % RELEASE_VERSION
|
||||
RELEASE_TITLE = "SABnzbd %s" % RELEASE_VERSION
|
||||
RELEASE_SRC = RELEASE_NAME + "-src.tar.gz"
|
||||
RELEASE_BINARY_32 = RELEASE_NAME + "-win32-bin.zip"
|
||||
RELEASE_BINARY_64 = RELEASE_NAME + "-win64-bin.zip"
|
||||
RELEASE_INSTALLER = RELEASE_NAME + "-win-setup.exe"
|
||||
RELEASE_MACOS = RELEASE_NAME + "-osx.dmg"
|
||||
RELEASE_README = "README.mkd"
|
||||
|
||||
# Used in package.py and SABnzbd.spec
|
||||
EXTRA_FILES = [
|
||||
"README.mkd",
|
||||
"INSTALL.txt",
|
||||
"LICENSE.txt",
|
||||
"GPL2.txt",
|
||||
"GPL3.txt",
|
||||
"COPYRIGHT.txt",
|
||||
"ISSUES.txt",
|
||||
]
|
||||
EXTRA_FOLDERS = [
|
||||
"scripts/",
|
||||
"licenses/",
|
||||
"locale/",
|
||||
"email/",
|
||||
"interfaces/Glitter/",
|
||||
"interfaces/wizard/",
|
||||
"interfaces/Config/",
|
||||
"scripts/",
|
||||
"icons/",
|
||||
]
|
||||
@@ -16,7 +16,7 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
import os
|
||||
import pkginfo
|
||||
from constants import RELEASE_VERSION
|
||||
|
||||
|
||||
# We need to call dmgbuild from command-line, so here we can setup how
|
||||
@@ -37,7 +37,7 @@ if __name__ == "__main__":
|
||||
|
||||
# Extract version info and set DMG path
|
||||
# Create sub-folder to upload later
|
||||
release = pkginfo.Develop(".").version
|
||||
release = RELEASE_VERSION
|
||||
prod = "SABnzbd-" + release
|
||||
fileDmg = prod + "-osx.dmg"
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Special requirements for macOS universal2 binary release
|
||||
# This way dependabot can auto-update them
|
||||
cryptography==37.0.2
|
||||
cryptography==40.0.2
|
||||
@@ -28,42 +28,27 @@ import tarfile
|
||||
import urllib.request
|
||||
import urllib.error
|
||||
import configobj
|
||||
import pkginfo
|
||||
import github
|
||||
from typing import List
|
||||
|
||||
|
||||
VERSION_FILE = "sabnzbd/version.py"
|
||||
SPEC_FILE = "SABnzbd.spec"
|
||||
|
||||
# Also modify these in "SABnzbd.spec"!
|
||||
extra_files = [
|
||||
"README.mkd",
|
||||
"INSTALL.txt",
|
||||
"LICENSE.txt",
|
||||
"GPL2.txt",
|
||||
"GPL3.txt",
|
||||
"COPYRIGHT.txt",
|
||||
"ISSUES.txt",
|
||||
"PKG-INFO",
|
||||
]
|
||||
|
||||
extra_folders = [
|
||||
"scripts/",
|
||||
"licenses/",
|
||||
"locale/",
|
||||
"email/",
|
||||
"interfaces/Glitter/",
|
||||
"interfaces/wizard/",
|
||||
"interfaces/Config/",
|
||||
"scripts/",
|
||||
"icons/",
|
||||
]
|
||||
from constants import (
|
||||
RELEASE_VERSION,
|
||||
VERSION_FILE,
|
||||
RELEASE_README,
|
||||
RELEASE_NAME,
|
||||
RELEASE_BINARY_32,
|
||||
RELEASE_BINARY_64,
|
||||
RELEASE_INSTALLER,
|
||||
ON_GITHUB_ACTIONS,
|
||||
RELEASE_THIS,
|
||||
RELEASE_SRC,
|
||||
EXTRA_FILES,
|
||||
EXTRA_FOLDERS,
|
||||
)
|
||||
|
||||
|
||||
# Support functions
|
||||
def safe_remove(path):
|
||||
"""Remove file without erros if the file doesn't exist
|
||||
"""Remove file without errors if the file doesn't exist
|
||||
Can also handle folders
|
||||
"""
|
||||
if os.path.exists(path):
|
||||
@@ -131,13 +116,16 @@ def test_sab_binary(binary_path: str):
|
||||
|
||||
# Wait for SAB to respond
|
||||
base_url = "http://127.0.0.1:8080/"
|
||||
for _ in range(10):
|
||||
for _ in range(30):
|
||||
try:
|
||||
urllib.request.urlopen(base_url, timeout=1).read()
|
||||
break
|
||||
except:
|
||||
time.sleep(1)
|
||||
else:
|
||||
# Print console output and give some time to print
|
||||
print(sabnzbd_process.stdout.read())
|
||||
time.sleep(1)
|
||||
raise urllib.error.URLError("Could not connect to SABnzbd")
|
||||
|
||||
# Open a number of API calls and pages, to see if we are really up
|
||||
@@ -172,7 +160,7 @@ def test_sab_binary(binary_path: str):
|
||||
print(log_file.read())
|
||||
|
||||
# So we have time to print the file before the directory is removed
|
||||
time.sleep(1)
|
||||
time.sleep(5)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
@@ -184,32 +172,15 @@ if __name__ == "__main__":
|
||||
if not os.path.exists("builder"):
|
||||
raise FileNotFoundError("Run from the main SABnzbd source folder: python builder/package.py")
|
||||
|
||||
# Extract version info
|
||||
RELEASE_VERSION = pkginfo.Develop(".").version
|
||||
|
||||
# Check if we have the needed certificates
|
||||
try:
|
||||
import certifi
|
||||
except ImportError:
|
||||
raise FileNotFoundError("Need certifi module")
|
||||
|
||||
# Define release name
|
||||
RELEASE_NAME = "SABnzbd-%s" % RELEASE_VERSION
|
||||
RELEASE_TITLE = "SABnzbd %s" % RELEASE_VERSION
|
||||
RELEASE_SRC = RELEASE_NAME + "-src.tar.gz"
|
||||
RELEASE_BINARY_32 = RELEASE_NAME + "-win32-bin.zip"
|
||||
RELEASE_BINARY_64 = RELEASE_NAME + "-win64-bin.zip"
|
||||
RELEASE_INSTALLER = RELEASE_NAME + "-win-setup.exe"
|
||||
RELEASE_MACOS = RELEASE_NAME + "-osx.dmg"
|
||||
RELEASE_README = "README.mkd"
|
||||
|
||||
# Patch release file
|
||||
patch_version_file(RELEASE_VERSION)
|
||||
|
||||
# To draft a release or not to draft a release?
|
||||
ON_GITHUB_ACTIONS = os.environ.get("CI", False)
|
||||
RELEASE_THIS = "refs/tags/" in os.environ.get("GITHUB_REF", "")
|
||||
|
||||
# Rename release notes file
|
||||
safe_remove("README.txt")
|
||||
shutil.copyfile(RELEASE_README, "README.txt")
|
||||
@@ -228,7 +199,7 @@ if __name__ == "__main__":
|
||||
safe_remove(RELEASE_NAME)
|
||||
|
||||
# Copy the specification
|
||||
shutil.copyfile("builder/%s" % SPEC_FILE, SPEC_FILE)
|
||||
shutil.copyfile("builder/SABnzbd.spec", "SABnzbd.spec")
|
||||
|
||||
if "binary" in sys.argv or "installer" in sys.argv:
|
||||
# Must be run on Windows
|
||||
@@ -255,7 +226,6 @@ if __name__ == "__main__":
|
||||
delete_files_glob("dist/SABnzbd/ucrtbase.dll")
|
||||
|
||||
# Remove other files we don't need
|
||||
delete_files_glob("dist/SABnzbd/PKG-INFO")
|
||||
delete_files_glob("dist/SABnzbd/win32ui.pyd")
|
||||
delete_files_glob("dist/SABnzbd/winxpgui.pyd")
|
||||
|
||||
@@ -434,15 +404,15 @@ if __name__ == "__main__":
|
||||
safe_remove(RELEASE_SRC)
|
||||
|
||||
# Add extra files and folders need for source dist
|
||||
extra_folders.extend(["sabnzbd/", "po/", "linux/", "tools/", "tests/"])
|
||||
extra_files.extend(["SABnzbd.py", "requirements.txt"])
|
||||
EXTRA_FOLDERS.extend(["sabnzbd/", "po/", "linux/", "tools/", "tests/"])
|
||||
EXTRA_FILES.extend(["SABnzbd.py", "requirements.txt"])
|
||||
|
||||
# Copy all folders and files to the new folder
|
||||
for source_folder in extra_folders:
|
||||
for source_folder in EXTRA_FOLDERS:
|
||||
shutil.copytree(source_folder, os.path.join(src_folder, source_folder), dirs_exist_ok=True)
|
||||
|
||||
# Copy all files
|
||||
for source_file in extra_files:
|
||||
for source_file in EXTRA_FILES:
|
||||
shutil.copyfile(source_file, os.path.join(src_folder, source_file))
|
||||
|
||||
# Make sure all line-endings are correct
|
||||
@@ -482,163 +452,6 @@ if __name__ == "__main__":
|
||||
# Remove source folder
|
||||
safe_remove(src_folder)
|
||||
|
||||
# Release to github
|
||||
if "release" in sys.argv:
|
||||
# Check if tagged as release and check for token
|
||||
gh_token = os.environ.get("AUTOMATION_GITHUB_TOKEN", "")
|
||||
if RELEASE_THIS and gh_token:
|
||||
gh_obj = github.Github(gh_token)
|
||||
gh_repo = gh_obj.get_repo("sabnzbd/sabnzbd")
|
||||
|
||||
# Read the release notes
|
||||
with open(RELEASE_README, "r") as readme_file:
|
||||
readme_data = readme_file.read()
|
||||
|
||||
# Pre-releases are longer than 6 characters (e.g. 3.1.0Beta1 vs 3.1.0, but also 3.0.11)
|
||||
prerelease = len(RELEASE_VERSION) > 5
|
||||
|
||||
# We have to manually check if we already created this release
|
||||
for release in gh_repo.get_releases():
|
||||
if release.tag_name == RELEASE_VERSION:
|
||||
gh_release = release
|
||||
print("Found existing release %s" % gh_release.title)
|
||||
break
|
||||
else:
|
||||
# Did not find it, so create the release, use the GitHub tag we got as input
|
||||
print("Creating GitHub release SABnzbd %s" % RELEASE_VERSION)
|
||||
gh_release = gh_repo.create_git_release(
|
||||
tag=RELEASE_VERSION,
|
||||
name=RELEASE_TITLE,
|
||||
message=readme_data,
|
||||
draft=True,
|
||||
prerelease=prerelease,
|
||||
)
|
||||
|
||||
# Fetch existing assets, as overwriting is not allowed by GitHub
|
||||
gh_assets = gh_release.get_assets()
|
||||
|
||||
# Upload the assets
|
||||
files_to_check = (
|
||||
RELEASE_SRC,
|
||||
RELEASE_BINARY_32,
|
||||
RELEASE_BINARY_64,
|
||||
RELEASE_INSTALLER,
|
||||
RELEASE_MACOS,
|
||||
RELEASE_README,
|
||||
)
|
||||
for file_to_check in files_to_check:
|
||||
if os.path.exists(file_to_check):
|
||||
# Check if this file was previously uploaded
|
||||
if gh_assets.totalCount:
|
||||
for gh_asset in gh_assets:
|
||||
if gh_asset.name == file_to_check:
|
||||
print("Removing existing asset %s " % gh_asset.name)
|
||||
gh_asset.delete_asset()
|
||||
# Upload the new one
|
||||
print("Uploading %s to release %s" % (file_to_check, gh_release.title))
|
||||
gh_release.upload_asset(file_to_check)
|
||||
|
||||
# Check if we now have all files
|
||||
gh_new_assets = gh_release.get_assets()
|
||||
if gh_new_assets.totalCount:
|
||||
all_assets = [gh_asset.name for gh_asset in gh_new_assets]
|
||||
|
||||
# Check if we have all files, using set-comparison
|
||||
if set(files_to_check) == set(all_assets):
|
||||
print("All assets present, releasing %s" % RELEASE_VERSION)
|
||||
# Publish release
|
||||
gh_release.update_release(
|
||||
tag_name=RELEASE_VERSION,
|
||||
name=RELEASE_TITLE,
|
||||
message=readme_data,
|
||||
draft=False,
|
||||
prerelease=prerelease,
|
||||
)
|
||||
|
||||
# Update the website
|
||||
gh_repo_web = gh_obj.get_repo("sabnzbd/sabnzbd.github.io")
|
||||
# Check if the branch already exists, only create one if it doesn't
|
||||
skip_website_update = False
|
||||
try:
|
||||
gh_repo_web.get_branch(RELEASE_VERSION)
|
||||
print("Branch %s on sabnzbd/sabnzbd.github.io already exists, skipping update" % RELEASE_VERSION)
|
||||
skip_website_update = True
|
||||
except github.GithubException:
|
||||
# Create a new branch to have the changes
|
||||
sb = gh_repo_web.get_branch("master")
|
||||
print("Creating branch %s on sabnzbd/sabnzbd.github.io" % RELEASE_VERSION)
|
||||
new_branch = gh_repo_web.create_git_ref(ref="refs/heads/" + RELEASE_VERSION, sha=sb.commit.sha)
|
||||
|
||||
# Update the files
|
||||
if not skip_website_update:
|
||||
# We need bytes version to interact with GitHub
|
||||
RELEASE_VERSION_BYTES = RELEASE_VERSION.encode()
|
||||
|
||||
# Get all the version files
|
||||
latest_txt = gh_repo_web.get_contents("latest.txt")
|
||||
latest_txt_items = latest_txt.decoded_content.split()
|
||||
new_latest_txt_items = latest_txt_items[:2]
|
||||
config_yml = gh_repo_web.get_contents("_config.yml")
|
||||
if prerelease:
|
||||
# If it's a pre-release, we append to current version in latest.txt
|
||||
new_latest_txt_items.extend([RELEASE_VERSION_BYTES, latest_txt_items[1]])
|
||||
# And replace in _config.yml
|
||||
new_config_yml = re.sub(
|
||||
b"latest_testing: '[^']*'",
|
||||
b"latest_testing: '%s'" % RELEASE_VERSION_BYTES,
|
||||
config_yml.decoded_content,
|
||||
)
|
||||
else:
|
||||
# New stable release, replace the version
|
||||
new_latest_txt_items[0] = RELEASE_VERSION_BYTES
|
||||
# And replace in _config.yml
|
||||
new_config_yml = re.sub(
|
||||
b"latest_testing: '[^']*'",
|
||||
b"latest_testing: ''",
|
||||
config_yml.decoded_content,
|
||||
)
|
||||
new_config_yml = re.sub(
|
||||
b"latest_stable: '[^']*'",
|
||||
b"latest_stable: '%s'" % RELEASE_VERSION_BYTES,
|
||||
new_config_yml,
|
||||
)
|
||||
# Also update the wiki-settings, these only use x.x notation
|
||||
new_config_yml = re.sub(
|
||||
b"wiki_version: '[^']*'",
|
||||
b"wiki_version: '%s'" % RELEASE_VERSION_BYTES[:3],
|
||||
new_config_yml,
|
||||
)
|
||||
|
||||
# Update the files
|
||||
print("Updating latest.txt")
|
||||
gh_repo_web.update_file(
|
||||
"latest.txt",
|
||||
"Release %s: latest.txt" % RELEASE_VERSION,
|
||||
b"\n".join(new_latest_txt_items),
|
||||
latest_txt.sha,
|
||||
RELEASE_VERSION,
|
||||
)
|
||||
print("Updating _config.yml")
|
||||
gh_repo_web.update_file(
|
||||
"_config.yml",
|
||||
"Release %s: _config.yml" % RELEASE_VERSION,
|
||||
new_config_yml,
|
||||
config_yml.sha,
|
||||
RELEASE_VERSION,
|
||||
)
|
||||
|
||||
# Create pull-request
|
||||
print("Creating pull request in sabnzbd/sabnzbd.github.io for the update")
|
||||
gh_repo_web.create_pull(
|
||||
title=RELEASE_VERSION,
|
||||
base="master",
|
||||
body="Automated update of release files",
|
||||
head=RELEASE_VERSION,
|
||||
)
|
||||
else:
|
||||
print("To push release to GitHub, first tag the commit.")
|
||||
print("Or missing the AUTOMATION_GITHUB_TOKEN, cannot push to GitHub without it.")
|
||||
|
||||
# Reset!
|
||||
run_git_command(["reset", "--hard"])
|
||||
run_git_command(["clean", "-f"])
|
||||
|
||||
2
builder/release-requirements.txt
Normal file
2
builder/release-requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
PyGithub==1.58.2
|
||||
praw==7.7.0
|
||||
247
builder/release.py
Normal file
247
builder/release.py
Normal file
@@ -0,0 +1,247 @@
|
||||
#!/usr/bin/python3 -OO
|
||||
# Copyright 2008-2017 The SABnzbd-Team <team@sabnzbd.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
|
||||
import github
|
||||
import praw
|
||||
|
||||
from constants import (
|
||||
RELEASE_VERSION,
|
||||
RELEASE_SRC,
|
||||
RELEASE_BINARY_32,
|
||||
RELEASE_BINARY_64,
|
||||
RELEASE_INSTALLER,
|
||||
RELEASE_MACOS,
|
||||
RELEASE_README,
|
||||
RELEASE_THIS,
|
||||
RELEASE_TITLE,
|
||||
)
|
||||
|
||||
# Verify we have all assets
|
||||
files_to_check = (
|
||||
RELEASE_SRC,
|
||||
RELEASE_BINARY_32,
|
||||
RELEASE_BINARY_64,
|
||||
RELEASE_INSTALLER,
|
||||
RELEASE_MACOS,
|
||||
RELEASE_README,
|
||||
)
|
||||
for file_to_check in files_to_check:
|
||||
if not os.path.exists(file_to_check):
|
||||
raise RuntimeError("Not all release files are present!")
|
||||
print("All release files are present")
|
||||
|
||||
# Calculate hashes for Synology release
|
||||
with open(RELEASE_SRC, "rb") as inp_file:
|
||||
source_data = inp_file.read()
|
||||
|
||||
print("---- Synology spksrc digest hashes ---- ")
|
||||
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("----")
|
||||
|
||||
# Check if tagged as release and check for token
|
||||
gh_token = os.environ.get("AUTOMATION_GITHUB_TOKEN", "")
|
||||
if RELEASE_THIS and gh_token:
|
||||
gh_obj = github.Github(gh_token)
|
||||
gh_repo = gh_obj.get_repo("sabnzbd/sabnzbd")
|
||||
|
||||
# Read the release notes
|
||||
with open(RELEASE_README, "r") as readme_file:
|
||||
readme_data = readme_file.read()
|
||||
|
||||
# Pre-releases are longer than 6 characters (e.g. 3.1.0Beta1 vs 3.1.0, but also 3.0.11)
|
||||
prerelease = len(RELEASE_VERSION) > 5
|
||||
|
||||
# We have to manually check if we already created this release
|
||||
for release in gh_repo.get_releases():
|
||||
if release.tag_name == RELEASE_VERSION:
|
||||
gh_release = release
|
||||
print("Found existing release %s" % gh_release.title)
|
||||
break
|
||||
else:
|
||||
# Did not find it, so create the release, use the GitHub tag we got as input
|
||||
print("Creating GitHub release SABnzbd %s" % RELEASE_VERSION)
|
||||
gh_release = gh_repo.create_git_release(
|
||||
tag=RELEASE_VERSION,
|
||||
name=RELEASE_TITLE,
|
||||
message=readme_data,
|
||||
draft=True,
|
||||
prerelease=prerelease,
|
||||
)
|
||||
|
||||
# Fetch existing assets, as overwriting is not allowed by GitHub
|
||||
gh_assets = gh_release.get_assets()
|
||||
|
||||
# Upload the assets
|
||||
for file_to_check in files_to_check:
|
||||
if os.path.exists(file_to_check):
|
||||
# Check if this file was previously uploaded
|
||||
if gh_assets.totalCount:
|
||||
for gh_asset in gh_assets:
|
||||
if gh_asset.name == file_to_check:
|
||||
print("Removing existing asset %s " % gh_asset.name)
|
||||
gh_asset.delete_asset()
|
||||
# Upload the new one
|
||||
print("Uploading %s to release %s" % (file_to_check, gh_release.title))
|
||||
gh_release.upload_asset(file_to_check)
|
||||
|
||||
# Check if we now have all files
|
||||
gh_new_assets = gh_release.get_assets()
|
||||
if gh_new_assets.totalCount:
|
||||
all_assets = [gh_asset.name for gh_asset in gh_new_assets]
|
||||
|
||||
# Check if we have all files, using set-comparison
|
||||
if set(files_to_check) == set(all_assets):
|
||||
print("All assets present, releasing %s" % RELEASE_VERSION)
|
||||
# Publish release
|
||||
gh_release.update_release(
|
||||
tag_name=RELEASE_VERSION,
|
||||
name=RELEASE_TITLE,
|
||||
message=readme_data,
|
||||
draft=False,
|
||||
prerelease=prerelease,
|
||||
)
|
||||
|
||||
# Update the website
|
||||
gh_repo_web = gh_obj.get_repo("sabnzbd/sabnzbd.github.io")
|
||||
# Check if the branch already exists, only create one if it doesn't
|
||||
skip_website_update = False
|
||||
try:
|
||||
gh_repo_web.get_branch(RELEASE_VERSION)
|
||||
print("Branch %s on sabnzbd/sabnzbd.github.io already exists, skipping update" % RELEASE_VERSION)
|
||||
skip_website_update = True
|
||||
except github.GithubException:
|
||||
# Create a new branch to have the changes
|
||||
sb = gh_repo_web.get_branch("master")
|
||||
print("Creating branch %s on sabnzbd/sabnzbd.github.io" % RELEASE_VERSION)
|
||||
new_branch = gh_repo_web.create_git_ref(ref="refs/heads/" + RELEASE_VERSION, sha=sb.commit.sha)
|
||||
|
||||
# Update the files
|
||||
if not skip_website_update:
|
||||
# We need bytes version to interact with GitHub
|
||||
RELEASE_VERSION_BYTES = RELEASE_VERSION.encode()
|
||||
|
||||
# Get all the version files
|
||||
latest_txt = gh_repo_web.get_contents("latest.txt")
|
||||
latest_txt_items = latest_txt.decoded_content.split()
|
||||
new_latest_txt_items = latest_txt_items[:2]
|
||||
config_yml = gh_repo_web.get_contents("_config.yml")
|
||||
if prerelease:
|
||||
# If it's a pre-release, we append to current version in latest.txt
|
||||
new_latest_txt_items.extend([RELEASE_VERSION_BYTES, latest_txt_items[1]])
|
||||
# And replace in _config.yml
|
||||
new_config_yml = re.sub(
|
||||
b"latest_testing: '[^']*'",
|
||||
b"latest_testing: '%s'" % RELEASE_VERSION_BYTES,
|
||||
config_yml.decoded_content,
|
||||
)
|
||||
else:
|
||||
# New stable release, replace the version
|
||||
new_latest_txt_items[0] = RELEASE_VERSION_BYTES
|
||||
# And replace in _config.yml
|
||||
new_config_yml = re.sub(
|
||||
b"latest_testing: '[^']*'",
|
||||
b"latest_testing: ''",
|
||||
config_yml.decoded_content,
|
||||
)
|
||||
new_config_yml = re.sub(
|
||||
b"latest_stable: '[^']*'",
|
||||
b"latest_stable: '%s'" % RELEASE_VERSION_BYTES,
|
||||
new_config_yml,
|
||||
)
|
||||
# Also update the wiki-settings, these only use x.x notation
|
||||
new_config_yml = re.sub(
|
||||
b"wiki_version: '[^']*'",
|
||||
b"wiki_version: '%s'" % RELEASE_VERSION_BYTES[:3],
|
||||
new_config_yml,
|
||||
)
|
||||
|
||||
# Update the files
|
||||
print("Updating latest.txt")
|
||||
gh_repo_web.update_file(
|
||||
"latest.txt",
|
||||
"Release %s: latest.txt" % RELEASE_VERSION,
|
||||
b"\n".join(new_latest_txt_items),
|
||||
latest_txt.sha,
|
||||
RELEASE_VERSION,
|
||||
)
|
||||
print("Updating _config.yml")
|
||||
gh_repo_web.update_file(
|
||||
"_config.yml",
|
||||
"Release %s: _config.yml" % RELEASE_VERSION,
|
||||
new_config_yml,
|
||||
config_yml.sha,
|
||||
RELEASE_VERSION,
|
||||
)
|
||||
|
||||
# Create pull-request
|
||||
print("Creating pull request in sabnzbd/sabnzbd.github.io for the update")
|
||||
update_pr = gh_repo_web.create_pull(
|
||||
title="Release %s" % RELEASE_VERSION,
|
||||
base="master",
|
||||
body="Automated update of release files",
|
||||
head=RELEASE_VERSION,
|
||||
)
|
||||
|
||||
# Merge pull-request
|
||||
print("Merging pull request in sabnzbd/sabnzbd.github.io for the update")
|
||||
update_pr.merge(method="squash")
|
||||
|
||||
# Only with GitHub success we proceed to Reddit
|
||||
if reddit_token := os.environ.get("REDDIT_TOKEN", ""):
|
||||
# Token format (without whitespace):
|
||||
# {
|
||||
# "client_id":"XXX",
|
||||
# "client_secret":"XXX",
|
||||
# "user_agent":"SABnzbd release script",
|
||||
# "username":"Safihre",
|
||||
# "password":"XXX"
|
||||
# }
|
||||
credentials = json.loads(reddit_token)
|
||||
reddit = praw.Reddit(**credentials)
|
||||
|
||||
subreddit_sabnzbd = reddit.subreddit("sabnzbd")
|
||||
subreddit_usenet = reddit.subreddit("usenet")
|
||||
|
||||
# Read the release notes
|
||||
with open(RELEASE_README, "r") as readme_file:
|
||||
readme_lines = readme_file.readlines()
|
||||
|
||||
# Use the header in the readme as title
|
||||
title = readme_lines[0]
|
||||
release_notes_text = "".join(readme_lines[3:])
|
||||
|
||||
# Post always to r/SABnzbd
|
||||
print("Posting release notes to Reddit: r/sabnzbd")
|
||||
submission = subreddit_sabnzbd.submit(title, selftext=release_notes_text)
|
||||
|
||||
# Only stable releases to r/usenet
|
||||
if not prerelease:
|
||||
print("Cross-posting release notes to Reddit: r/usenet")
|
||||
submission.crosspost(subreddit_usenet)
|
||||
else:
|
||||
print("Missing REDDIT_TOKEN")
|
||||
|
||||
else:
|
||||
print("To push release to GitHub, first tag the commit.")
|
||||
print("Or missing the AUTOMATION_GITHUB_TOKEN, cannot push to GitHub without it.")
|
||||
@@ -1,21 +1,23 @@
|
||||
# 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.1
|
||||
setuptools==62.2.0
|
||||
pkginfo==1.8.2
|
||||
PyGithub==1.55
|
||||
charset-normalizer==2.0.12
|
||||
pyinstaller==5.11.0
|
||||
pyinstaller-hooks-contrib==2023.3
|
||||
altgraph==0.17.3
|
||||
wrapt==1.15.0
|
||||
setuptools==67.8.0
|
||||
certifi
|
||||
|
||||
# orjson does not support 32bit Windows, exclude it based on Python-version
|
||||
orjson==3.6.8; python_version > '3.8'
|
||||
# This way we also test ujson on Python 3.8 in the CI-tests
|
||||
orjson==3.8.14; python_version > '3.8'
|
||||
|
||||
# For the Windows build
|
||||
pefile==2023.2.7; sys_platform == 'win32'
|
||||
pywin32-ctypes==0.2.0; sys_platform == 'win32'
|
||||
|
||||
# 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'
|
||||
ds-store==1.3.0; sys_platform == 'darwin'
|
||||
PyNaCl==1.5.0; sys_platform == 'darwin'
|
||||
dmgbuild==1.6.1; sys_platform == 'darwin'
|
||||
mac-alias==2.2.2; sys_platform == 'darwin'
|
||||
macholib==1.16.2; sys_platform == 'darwin'
|
||||
ds-store==1.3.1; sys_platform == 'darwin'
|
||||
PyNaCl==1.5.0; sys_platform == 'darwin'
|
||||
|
||||
@@ -56,7 +56,7 @@ Unicode true
|
||||
CRCCheck on ; (can be off)
|
||||
AutoCloseWindow false ; (can be true for the window go away automatically at end)
|
||||
ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable)
|
||||
SetDateSave off ; (can be on to have files restored to their orginal date)
|
||||
SetDateSave off ; (can be on to have files restored to their original date)
|
||||
WindowIcon on
|
||||
SpaceTexts none
|
||||
|
||||
@@ -174,18 +174,21 @@ Section "SABnzbd" SecDummy
|
||||
; Make sure old versions are gone (reg-key already read in onInt)
|
||||
StrCmp $PREV_INST_DIR "" noPrevInstallRemove
|
||||
${RemovePrev} "$PREV_INST_DIR"
|
||||
Goto continueSetupAfterRemove
|
||||
|
||||
;------------------------------------------------------------------
|
||||
; Add firewall rules for new installs
|
||||
noPrevInstallRemove:
|
||||
liteFirewallW::AddRule "$INSTDIR\SABnzbd.exe" "SABnzbd"
|
||||
liteFirewallW::AddRule "$INSTDIR\SABnzbd-console.exe" "SABnzbd-console"
|
||||
|
||||
continueSetupAfterRemove:
|
||||
|
||||
; add files / whatever that need to be installed here.
|
||||
File /r "dist\SABnzbd\*"
|
||||
|
||||
;------------------------------------------------------------------
|
||||
; Add firewall rules
|
||||
liteFirewallW::AddRule "$INSTDIR\SABnzbd.exe" "SABnzbd"
|
||||
liteFirewallW::AddRule "$INSTDIR\SABnzbd-console.exe" "SABnzbd-console"
|
||||
|
||||
;------------------------------------------------------------------
|
||||
; Add to registery
|
||||
; Add to registry
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\SABnzbd" "" "$INSTDIR"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\SABnzbd" "Installer Language" "$(MsgLangCode)"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "DisplayName" "SABnzbd ${SAB_VERSION}"
|
||||
@@ -328,12 +331,11 @@ FunctionEnd
|
||||
UninstallText $(MsgUninstall)
|
||||
|
||||
Section "un.$(MsgDelProgram)" Uninstall
|
||||
;make sure sabnzbd.exe isnt running..if so shut it down
|
||||
;make sure sabnzbd.exe isn't running..if so shut it down
|
||||
${nsProcess::KillProcess} "SABnzbd.exe" $R0
|
||||
${nsProcess::Unload}
|
||||
DetailPrint "Process Killed"
|
||||
|
||||
|
||||
; add delete commands to delete whatever files/registry keys/etc you installed here.
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\SABnzbd"
|
||||
@@ -341,6 +343,10 @@ Section "un.$(MsgDelProgram)" Uninstall
|
||||
|
||||
${RemovePrev} "$INSTDIR"
|
||||
|
||||
; Remove firewall entries
|
||||
liteFirewallW::RemoveRule "$INSTDIR\SABnzbd.exe" "SABnzbd"
|
||||
liteFirewallW::RemoveRule "$INSTDIR\SABnzbd-console.exe" "SABnzbd-console"
|
||||
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd.lnk"
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<!--#if not $windows#-->
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="show_hidden_folders"> <span>$T('systemFolders')</span>
|
||||
<input type="checkbox" id="show_hidden_folders"> <span>$T('hiddenFolders')</span>
|
||||
</label>
|
||||
</div>
|
||||
<!--#end if#-->
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
// Set default functions for the autocomplete everywhere
|
||||
\$.extend(\$.fn.typeahead.defaults, {
|
||||
source: function (query, process) {
|
||||
// If there's no seperator, it must be a relative path
|
||||
// If there's no separator, it must be a relative path
|
||||
if(query.split(folderSeperator).length < 2 && this.\$element.data('initialdir')) {
|
||||
query = this.\$element.data('initialdir') + folderSeperator + query;
|
||||
}
|
||||
@@ -181,7 +181,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="$helpuri$help_uri" target="_blank">
|
||||
<a href="$help_uri" target="_blank">
|
||||
<span class="glyphicon glyphicon-question-sign"></span>
|
||||
<strong>$T('menu-help')</strong>
|
||||
</a>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--#set global $pane="Config"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/configure"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "configure"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<!--#from sabnzbd.encoding import CODEPAGE#-->
|
||||
@@ -25,7 +25,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">$T('pythonVersion'): </th>
|
||||
<td>$sys.version[:120] [$CODEPAGE]</td>
|
||||
<td>$sys.version [$CODEPAGE]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">OpenSSL:</th>
|
||||
@@ -49,17 +49,17 @@
|
||||
<span class="glyphicon glyphicon-ok"></span>
|
||||
<!--#else#-->
|
||||
<span class="label label-warning">$T('notAvailable')</span> $T('explain-getpar2mt')
|
||||
<a href="${helpuri}installation/multicore-par2" target="_blank">${helpuri}installation/multicore-par2</a>
|
||||
<a href="https://sabnzbd.org/wiki/installation/multicore-par2" target="_blank">https://sabnzbd.org/wiki/installation/multicore-par2</a>
|
||||
<!--#end if#-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--#end if#-->
|
||||
<!--#if not $have_sabyenc#-->
|
||||
<!--#if not $have_sabctools#-->
|
||||
<tr>
|
||||
<th scope="row">SABYenc:</th>
|
||||
<th scope="row">SABCTools:</th>
|
||||
<td>
|
||||
<span class="label label-danger">$T('notAvailable')</span>
|
||||
<a href="$helpuri$help_uri#no_sabyenc" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<a href="$help_uri#no_sabctools" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
</td>
|
||||
</tr>
|
||||
<!--#end if#-->
|
||||
@@ -68,7 +68,7 @@
|
||||
<th scope="row">$T('opt-enable_unzip'):</th>
|
||||
<td>
|
||||
<span class="label label-warning">$T('notAvailable')</span>
|
||||
<a href="${helpuri}installation/install-off-modules#toc8" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<a href="https://sabnzbd.org/wiki/installation/install-off-modules#toc8" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
</td>
|
||||
</tr>
|
||||
<!--#end if#-->
|
||||
@@ -77,7 +77,7 @@
|
||||
<th scope="row">$T('opt-enable_7zip'):</th>
|
||||
<td>
|
||||
<span class="label label-warning">$T('notAvailable')</span>
|
||||
<a href="${helpuri}installation/install-off-modules#toc8" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<a href="https://sabnzbd.org/wiki/installation/install-off-modules#toc8" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
</td>
|
||||
</tr>
|
||||
<!--#end if#-->
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
<div class="colmask">
|
||||
<div class="padding alt">
|
||||
<h5 class="copyright">Copyright © 2007-2022 The SABnzbd Team <<a href="mailto:team@sabnzbd.org">team@sabnzbd.org</a>></h5>
|
||||
<h5 class="copyright">Copyright © 2007-2023 The SABnzbd Team <<a href="mailto:team@sabnzbd.org">team@sabnzbd.org</a>></h5>
|
||||
<p class="copyright"><small>$T('yourRights')</small></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
<!--#set global $pane="Categories"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/categories"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "categories"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
<div class="colmask">
|
||||
<div class="section">
|
||||
<div class="padTable"> <a class="main-helplink" href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<div class="padTable">
|
||||
<a class="main-helplink" href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<p>$T('explain-catTags2')<br/>$T('explain-catTags')</p>
|
||||
<hr>
|
||||
<h5 class="darkred"><strong>$T('explain-relFolder'):</strong> <span class="path">$defdir</span></h5>
|
||||
<!--#for $cur, $slot in enumerate($slotinfo)#-->
|
||||
<!--#set $cansort = $slot.name != '*' and $slot.name != ''#-->
|
||||
<form action="save" method="get" <!--#if $cansort#-->class="sorting-row"<!--#end if#-->>
|
||||
<form action="save" method="post" <!--#if $cansort#-->class="sorting-row"<!--#end if#-->>
|
||||
<table class="catTable">
|
||||
<!--#if $cur == 0#-->
|
||||
<tr>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--#set global $pane="Folders"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/folders"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "folders"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<div class="colmask">
|
||||
@@ -14,7 +14,7 @@
|
||||
<input type="hidden" id="ajax" name="ajax" value="1" />
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('userFolders') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('userFolders') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<p>$T('explain-folderConfig')</p>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
@@ -35,7 +35,8 @@
|
||||
<div class="field-pair">
|
||||
<label class="config" for="complete_dir">$T('opt-complete_dir')</label>
|
||||
<input type="text" name="complete_dir" id="complete_dir" value="$complete_dir" data-initialdir="$my_home" />
|
||||
<span class="desc">$T('explain-complete_dir')</span>
|
||||
<a class="btn btn-default" href="${root}config/sorting/"><span class="glyphicon glyphicon-sort-by-alphabet"></span> $T('cmenu-sorting')</a>
|
||||
<span class="desc">$T('explain-complete_dir') <br/> $T('explain-complete_dir-sorting')</span>
|
||||
</div>
|
||||
<div class="field-pair advanced-settings">
|
||||
<label class="config" for="complete_free">$T('opt-complete_free')</label>
|
||||
@@ -57,7 +58,7 @@
|
||||
<div class="field-pair">
|
||||
<label class="config" for="dirscan_dir">$T('opt-dirscan_dir')</label>
|
||||
<input type="text" name="dirscan_dir" id="dirscan_dir" value="$dirscan_dir" data-initialdir="$my_home" />
|
||||
<span class="desc">$T('explain-dirscan_dir')</span>
|
||||
<span class="desc">$T('explain-dirscan_dir').replace(".nzb", $file_exts)</span>
|
||||
</div>
|
||||
<div class="field-pair advanced-settings">
|
||||
<label class="config" for="dirscan_speed">$T('opt-dirscan_speed')</label>
|
||||
@@ -90,7 +91,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section advanced-settings">
|
||||
<div class="col2">
|
||||
<h3>$T('systemFolders') <a href="$helpuri$help_uri#toc1" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('systemFolders') <a href="$help_uri#toc1" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<p>$T('explain-folderConfig')</p>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
@@ -104,6 +105,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" />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--#set global $pane="General"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/general"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "general"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<div class="colmask">
|
||||
@@ -14,7 +14,7 @@
|
||||
<input type="hidden" name="output" value="json" />
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('webServer') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('webServer') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<p><b>$T('restartRequired')</b></p>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
@@ -102,7 +102,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('security') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('security') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<p><b>$T('restartRequired')</b></p>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
@@ -156,7 +156,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('cmenu-switches') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('cmenu-switches') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
@@ -192,7 +192,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('tuning') <a href="$helpuri$help_uri#toc2" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('tuning') <a href="$help_uri#toc2" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
@@ -230,19 +230,19 @@
|
||||
<input type="hidden" name="output" value="json" />
|
||||
<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>
|
||||
<h3>$T('backup') <a href="$help_uri#toc3" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</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>
|
||||
@@ -281,7 +281,7 @@
|
||||
// Skip the fancy stuff, just submit
|
||||
this.submit()
|
||||
})
|
||||
// No JSON reponse
|
||||
// No JSON response
|
||||
\$('#ajax').val('')
|
||||
})
|
||||
hideOrShowTranslate()
|
||||
@@ -375,7 +375,7 @@
|
||||
})
|
||||
|
||||
// Only allow re-generate if default certs
|
||||
if(\$('#https_cert').val() != 'server.cert') {
|
||||
if(\$('#https_cert').val() != '$def_https_cert_file') {
|
||||
\$('.generate_cert').attr('disabled', 'disabled')
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--#set global $pane="Email"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/notifications"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "notifications"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<!--#def show_notify_checkboxes($section_label)#-->
|
||||
@@ -17,7 +17,7 @@
|
||||
<div class="col2-cats" <!--#if int($getVar($section_label + '_enable')) > 0 then '' else 'style="display:none"'#-->>
|
||||
<hr>
|
||||
<b>$T('affectedCat')</b><br/>
|
||||
<select name="${section_label}_cats" multiple="multiple" class="multiple_cats">
|
||||
<select name="${section_label}_cats" multiple="multiple" class="multiple_cats" size="$len($categories)">
|
||||
<!--#for $ct in $categories#-->
|
||||
<option value="$ct" <!--#if $ct in $getVar($section_label + '_cats') then 'selected="selected"' else ""#-->>$Tspec($ct)</option>
|
||||
<!--#end for#-->
|
||||
@@ -33,10 +33,10 @@
|
||||
<input type="hidden" id="ajax" name="ajax" value="1" />
|
||||
<div class="section" id="email">
|
||||
<div class="col2">
|
||||
<h3>$T('cmenu-email') <a href="$helpuri$help_uri#toc0" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('cmenu-email') <a href="$help_uri#toc0" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<div class="col2-cats" <!--#if int($email_endjob) > 0 then '' else 'style="display:none"'#-->>
|
||||
<b>$T('affectedCat')</b><br/>
|
||||
<select name="email_cats" multiple="multiple" class="multiple_cats">
|
||||
<select name="email_cats" multiple="multiple" class="multiple_cats" size="$len($categories)">
|
||||
<!--#for $ct in $categories#-->
|
||||
<option value="$ct" <!--#if $ct in $email_cats then 'selected="selected"' else ""#-->>$Tspec($ct)</option>
|
||||
<!--#end for#-->
|
||||
@@ -153,7 +153,7 @@
|
||||
<!--#if $have_ntfosd#-->
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('section-OSD') <a href="$helpuri$help_uri#toc4" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('section-OSD') <a href="$help_uri#toc4" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td><input type="checkbox" name="ntfosd_enable" id="ntfosd_enable" value="1" <!--#if int($ntfosd_enable) > 0 then 'checked="checked"' else ""#--> /></td>
|
||||
@@ -178,14 +178,14 @@
|
||||
<!--#end if#-->
|
||||
<div class="section" id="nscript">
|
||||
<div class="col2">
|
||||
<h3>$T('section-NScript') <a href="$helpuri$help_uri#nscript" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('section-NScript') <a href="$help_uri#nscript" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td><input type="checkbox" name="nscript_enable" id="nscript_enable" value="1" <!--#if int($nscript_enable) > 0 then 'checked="checked"' else ""#--> /></td>
|
||||
<td><label for="nscript_enable"> $T('opt-nscript_enable')</label></td>
|
||||
</tr>
|
||||
</table>
|
||||
<em>$T('explain-nscript_enable')</em><br><a href="$helpuri$help_uri#nscript" target="_blank">$T('readwiki')</a>
|
||||
<em>$T('explain-nscript_enable')</em><br><a href="$help_uri#nscript" target="_blank">$T('readwiki')</a>
|
||||
$show_cat_box('nscript')
|
||||
</div>
|
||||
<div class="col1" <!--#if int($nscript_enable) > 0 then '' else 'style="display:none"'#-->>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<!--#set global $pane="RSS"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/rss"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "rss"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
<!--#import html#-->
|
||||
<div class="colmask">
|
||||
<!--#if not $active_feed#-->
|
||||
<div class="section">
|
||||
<div class="padTable">
|
||||
<a class="main-helplink" href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<a class="main-helplink" href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<p>$T('explain-RSS')</p>
|
||||
<form action="add_rss_feed" method="post" autocomplete="off">
|
||||
<input type="hidden" name="apikey" value="$apikey" />
|
||||
@@ -105,7 +105,7 @@
|
||||
<!--#set $feed = html.unescape($active_feed)#-->
|
||||
<div class="section rss-section">
|
||||
<div class="padTable">
|
||||
<a class="main-helplink" href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<a class="main-helplink" href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a>
|
||||
<h2 class="nomargin activeRSS">
|
||||
<a href="${root}config/rss/">$T('cmenu-rss')</a> »
|
||||
$active_feed
|
||||
@@ -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>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--#set global $pane="Scheduling"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/scheduling"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "scheduling"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<%
|
||||
@@ -15,7 +15,7 @@ else:
|
||||
<div class="colmask">
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('addSchedule') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('addSchedule') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<form action="addSchedule" method="post" autocomplete="off">
|
||||
<input type="hidden" id="apikey" name="apikey" value="$apikey" />
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<!--#set global $pane="Servers"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/servers"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "servers"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<!--#import json#-->
|
||||
<!--#import datetime#-->
|
||||
|
||||
<script type="text/javascript" xmlns="http://www.w3.org/1999/html">
|
||||
<script type="text/javascript">
|
||||
// Define variable needed for the server-statistics
|
||||
var serverBandwithData = {}
|
||||
var serverArticleTries = {}
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
<div class="section" id="addServerContent" style="display: none;">
|
||||
<div class="col2">
|
||||
<h3>$T('addServer') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('addServer') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div>
|
||||
<div class="col1">
|
||||
<form action="addServer" method="post" autocomplete="off" onsubmit="removeObfuscation();">
|
||||
@@ -49,23 +49,23 @@
|
||||
<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" />
|
||||
<input type="number" name="port" id="port" size="8" value="563" min="0" />
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label class="config" for="ssl">$T('srv-ssl')</label>
|
||||
<input type="checkbox" name="ssl" id="ssl" value="1" />
|
||||
<input type="checkbox" name="ssl" id="ssl" value="1" checked />
|
||||
<span class="desc">$T('explain-ssl')</span>
|
||||
</div>
|
||||
<!-- Tricks to avoid browser auto-fill, fixed on-submit with javascript -->
|
||||
<div class="field-pair">
|
||||
<label class="config" for="${pid}_00">$T('srv-username')</label>
|
||||
<input type="text" name="${pid}_00" id="${pid}_00" data-hide="username" />
|
||||
<label class="config" for="${pid}_000">$T('srv-username')</label>
|
||||
<input type="text" name="${pid}_000" id="${pid}_000" data-hide="username" />
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label class="config" for="${pid}_01">$T('srv-password')</label>
|
||||
<input type="text" name="${pid}_01" id="${pid}_01" data-hide="password" />
|
||||
<label class="config" for="${pid}_001">$T('srv-password')</label>
|
||||
<input type="text" name="${pid}_001" id="${pid}_001" data-hide="password" />
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label class="config" for="connections">$T('srv-connections')</label>
|
||||
@@ -96,7 +96,7 @@
|
||||
<label class="config" for="ssl_ciphers">$T('opt-ssl_ciphers')</label>
|
||||
<input type="text" name="ssl_ciphers" id="ssl_ciphers" />
|
||||
<span class="desc">$T('explain-ssl_ciphers') <br>$T('readwiki')
|
||||
<a href="${helpuri}advanced/ssl-ciphers" target="_blank">${helpuri}advanced/ssl-ciphers</a></span>
|
||||
<a href="https://sabnzbd.org/wiki/advanced/ssl-ciphers" target="_blank">https://sabnzbd.org/wiki/advanced/ssl-ciphers</a></span>
|
||||
</div>
|
||||
<div class="field-pair advanced-settings">
|
||||
<label class="config" for="send_group">$T('srv-send_group')</label>
|
||||
@@ -147,11 +147,11 @@
|
||||
<input type="hidden" name="apikey" value="$apikey" />
|
||||
<input type="hidden" name="output" value="json" />
|
||||
<input type="hidden" name="server" value="$server['name']" />
|
||||
<input type="hidden" id="ajax" name="ajax" value=1 />
|
||||
<input type="hidden" name="ajax" value=1 />
|
||||
|
||||
<div class="section <!--#if int($server['enable']) == 0 then 'server-disabled' else ""#-->">
|
||||
<div class="col2 <!--#if int($server['enable']) == 0 then 'server-disabled' else ""#-->">
|
||||
<h3 title="$server['displayname']">$server['displayname'] <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3 title="$server['displayname']">$server['displayname'] <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<!--#if int($server['enable']) != 0 #-->
|
||||
<!--#if $last_prio != $server['priority'] and $cur_prio_color+1 < len($prio_colors) #-->
|
||||
<!--#set $cur_prio_color = $cur_prio_color+1 #-->
|
||||
@@ -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>
|
||||
@@ -225,10 +225,10 @@
|
||||
<span class="desc">$T('explain-ssl_verify').replace('. ', '.<br/>')</span>
|
||||
</div>
|
||||
<div class="field-pair advanced-settings">
|
||||
<label class="config" for="ssl_ciphers">$T('opt-ssl_ciphers')</label>
|
||||
<input type="text" name="ssl_ciphers" id="ssl_ciphers" value="$server['ssl_ciphers']" />
|
||||
<label class="config" for="ssl_ciphers$cur">$T('opt-ssl_ciphers')</label>
|
||||
<input type="text" name="ssl_ciphers" id="ssl_ciphers$cur" value="$server['ssl_ciphers']" />
|
||||
<span class="desc">$T('explain-ssl_ciphers') <br>$T('readwiki')
|
||||
<a href="${helpuri}advanced/ssl-ciphers" target="_blank">${helpuri}advanced/ssl-ciphers</a></span>
|
||||
<a href="https://sabnzbd.org/wiki/advanced/ssl-ciphers" target="_blank">https://sabnzbd.org/wiki/advanced/ssl-ciphers</a></span>
|
||||
</div>
|
||||
<div class="field-pair advanced-settings">
|
||||
<label class="config" for="required$cur">$T('srv-required')</label>
|
||||
@@ -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
|
||||
@@ -545,7 +549,7 @@
|
||||
theButton.removeAttr("disabled")
|
||||
theButton.find('span').toggleClass('glyphicon-sort glyphicon-refresh spin-glyphicon')
|
||||
|
||||
// Succes or not?
|
||||
// Success or not?
|
||||
if(data.value.result) {
|
||||
resultBox.addClass('alert-success')
|
||||
resultBox.prepend('<span class="glyphicon glyphicon-ok-sign"></span> ')
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
<!--#set global $pane="Special"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/special"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "special"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<div class="colmask">
|
||||
@@ -10,7 +10,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('sptag-boolean') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('sptag-boolean') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
@@ -33,7 +33,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('sptag-entries') <a href="$helpuri$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('sptag-entries') <a href="$help_uri" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--#set global $pane="Switches"#-->
|
||||
<!--#set global $help_uri="configuration/3.6/switches"#-->
|
||||
<!--#set global $help_uri = $confighelpuri + "switches"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<div class="colmask">
|
||||
@@ -14,7 +14,7 @@
|
||||
<input type="hidden" name="output" value="json" />
|
||||
<div class="section advanced-settings">
|
||||
<div class="col2">
|
||||
<h3>$T('swtag-server') <a href="$helpuri$help_uri#toc1" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('swtag-server') <a href="$help_uri#toc1" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
@@ -46,7 +46,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('swtag-queue') <a href="$helpuri$help_uri#toc2" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('swtag-queue') <a href="$help_uri#toc2" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
@@ -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>
|
||||
@@ -164,7 +165,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('swtag-pp') <a href="$helpuri$help_uri#toc3" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('swtag-pp') <a href="$help_uri#toc3" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
@@ -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"/>
|
||||
@@ -278,7 +274,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section advanced-settings">
|
||||
<div class="col2">
|
||||
<h3>$T('swtag-naming') <a href="$helpuri$help_uri#toc4" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('swtag-naming') <a href="$help_uri#toc4" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
@@ -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 ""#--> />
|
||||
@@ -313,7 +314,7 @@
|
||||
</div><!-- /section -->
|
||||
<div class="section">
|
||||
<div class="col2">
|
||||
<h3>$T('swtag-quota') <a href="$helpuri$help_uri#toc5" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
<h3>$T('swtag-quota') <a href="$help_uri#toc5" target="_blank"><span class="glyphicon glyphicon-question-sign"></span></a></h3>
|
||||
</div><!-- /col2 -->
|
||||
<div class="col1">
|
||||
<fieldset>
|
||||
|
||||
@@ -96,8 +96,13 @@ body {
|
||||
.example {
|
||||
background-color: #fefeee;
|
||||
}
|
||||
.presets strong {
|
||||
display: inline-block;
|
||||
width: 75px;
|
||||
}
|
||||
.presets {
|
||||
margin-bottom: -6px;
|
||||
max-width: 60%;
|
||||
}
|
||||
.presets input {
|
||||
margin: 2px 0;
|
||||
@@ -326,6 +331,53 @@ tr.separator {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.Sorting .explain-sorting {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
.Sorting .explain-pattern {
|
||||
border: none;
|
||||
width: 100%;
|
||||
}
|
||||
.Sorting .pattern-table {
|
||||
border:1px solid #ccc;
|
||||
}
|
||||
.Sorting .sorter-switch {
|
||||
margin-right: 0.2em;
|
||||
}
|
||||
.Sorting .sorter-switch-container {
|
||||
margin: 10px 0px;
|
||||
height: 1.5em;
|
||||
display: block;
|
||||
}
|
||||
.Sorting .sorter-placeholder {
|
||||
position: relative;
|
||||
}
|
||||
.Sorting .sorter-placeholder:after {
|
||||
content: "\e034";
|
||||
font-family: "Glyphicons Halflings";
|
||||
background: unset;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 30px;
|
||||
border-radius: 15px;
|
||||
border: 1px dashed #444;
|
||||
}
|
||||
.Sorting .glyphicon-option-vertical {
|
||||
margin-top: 1.5em;
|
||||
margin-right: 0.2em;
|
||||
cursor: move;
|
||||
}
|
||||
.Sorting form:not(.sorting-row) .glyphicon-option-vertical {
|
||||
visibility: hidden;
|
||||
}
|
||||
.Sorting .sorting-quick-setup {
|
||||
padding: 1.5em 2em 3em
|
||||
}
|
||||
|
||||
.RSS .rss-section input[type="text"] {
|
||||
max-width: 180px;
|
||||
}
|
||||
@@ -421,6 +473,9 @@ tr.separator {
|
||||
.align-center {
|
||||
text-align: center;
|
||||
}
|
||||
.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
.nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
@@ -784,6 +839,7 @@ select {
|
||||
vertical-align:middle;
|
||||
max-width: 100%;
|
||||
min-height: 34px;
|
||||
min-width: 55px;
|
||||
font-size: 13px;
|
||||
background-color: white;
|
||||
}
|
||||
@@ -1248,6 +1304,12 @@ html[dir="rtl"] .Scheduling form[action="addSchedule"] input[type="checkbox"] {
|
||||
padding: 0px 15px 10px;
|
||||
width: inherit;
|
||||
}
|
||||
.Sorting .glyphicon-option-vertical {
|
||||
display: none;
|
||||
}
|
||||
.Sorting .sorter h3 {
|
||||
cursor: move;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
|
||||
@@ -203,7 +203,12 @@ $.fn.extractFormDataTo = function(target) {
|
||||
var selects = $("select", this);
|
||||
|
||||
selects.each(function (i,elem) {
|
||||
target[elem.name] = elem.value;
|
||||
if (elem.selectedOptions.length > 1) {
|
||||
// Handle <select multiple="multiple">
|
||||
target[elem.name] = Array.from(elem.selectedOptions).map(({ value }) => value).toString();
|
||||
} else {
|
||||
target[elem.name] = elem.value;
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
|
||||
@@ -9,7 +9,7 @@ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE B
|
||||
|
||||
1. Definitions
|
||||
|
||||
1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
|
||||
1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("syncing") will be considered an Adaptation for the purpose of this License.
|
||||
2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
|
||||
3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
|
||||
4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
|
||||
@@ -44,7 +44,7 @@ The above rights may be exercised in all media and formats whether now known or
|
||||
|
||||
5. Representations, Warranties and Disclaimer
|
||||
|
||||
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
|
||||
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
|
||||
|
||||
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!--#from sabnzbd.constants import VALID_ARCHIVES, VALID_NZB_FILES#-->
|
||||
<!--#set $file_exts = ', '.join(VALID_NZB_FILES + VALID_ARCHIVES)#-->
|
||||
<!-- Notifcation box -->
|
||||
<!-- Notification box -->
|
||||
<div class="main-notification-box" style="display: none">
|
||||
<div class="main-notification-box-uploading">
|
||||
<span class="glyphicon glyphicon-open"></span> $T('Glitter-notification-uploading') <span class="main-notification-box-file-count"></span>
|
||||
@@ -117,11 +117,15 @@
|
||||
<span data-bind="text: cacheSize"></span> (<span data-bind="text: cacheArticles"></span> $T('Glitter-articles'))
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" data-bind="visible: statusInfo.delayed_decoder() > 5 || statusInfo.delayed_assembler() > 5">
|
||||
<div class="row" data-bind="visible: statusInfo.loadavg()">
|
||||
<div class="col-sm-6">$T('dashboard-loadavg') </div>
|
||||
<div class="col-sm-6">
|
||||
<span data-bind="text: statusInfo.loadavg"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" data-bind="visible: statusInfo.delayed_assembler() > 5">
|
||||
<div class="col-sm-6">$T('dashboard-delayed') </div>
|
||||
<div class="col-sm-6">
|
||||
<span data-bind="visible: statusInfo.delayed_decoder() > 5">$T('dashboard-delayed-cpu')</span>
|
||||
<small data-bind="visible: statusInfo.delayed_decoder() > 5">(<span data-bind="text: statusInfo.delayed_decoder"></span>x)</small>
|
||||
<span data-bind="visible: statusInfo.delayed_assembler() > 5">$T('dashboard-delayed-disk')</span>
|
||||
<small data-bind="visible: statusInfo.delayed_assembler() > 5">(<span data-bind="text: statusInfo.delayed_assembler"></span>x)</small>
|
||||
</div>
|
||||
@@ -450,6 +454,8 @@
|
||||
<div class="form-group form-checkbox">
|
||||
<label class="col-sm-6 control-label">
|
||||
$T("Glitter-keyboardShortcuts")
|
||||
<span class="glyphicon glyphicon-question-sign" data-tooltip="true" data-placement="top" data-html="true"
|
||||
data-original-title="P: $T('link-pause')<br>A: $T('Glitter-addNZB')<br>S: $T('Glitter-statusInterfaceOptions')<br>C: $T('menu-config')<br>$T('Glitter-keyboardShortcuts-arrows')"></span>
|
||||
</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="checkbox" name="keyboardShortcuts" value="true" data-bind="checked: keyboardShortcuts" />
|
||||
@@ -517,14 +523,22 @@
|
||||
<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>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label">$T('priority')</label>
|
||||
<div class="col-sm-6">
|
||||
<select name="Priority" class="form-control" data-bind="options: queue.priorityOptions, optionsValue: 'value', optionsText: 'name', optionsCaption: '$T('default')'"></select>
|
||||
<!-- This list is different from the one during download! -->
|
||||
<select name="Priority" class="form-control">
|
||||
<option value="-100">$T('default')</option>
|
||||
<option value="2">$T('pr-force')</option>
|
||||
<option value="1">$T('pr-high')</option>
|
||||
<option value="0">$T('pr-normal')</option>
|
||||
<option value="-1">$T('pr-low')</option>
|
||||
<option value="-2" >$T('pr-paused')</option>
|
||||
</select>
|
||||
<span class="glyphicon glyphicon-sort-by-attributes-alt"></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -538,7 +552,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>
|
||||
|
||||
@@ -9,12 +9,6 @@
|
||||
</a>
|
||||
</div>
|
||||
<!-- /ko -->
|
||||
<!--#if $loadavg#-->
|
||||
<div class="info-container-box" title="$T('ft-sysload') - $T('menu-config') ➜ $T('cmenu-special') ➜ 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>
|
||||
|
||||
@@ -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")";
|
||||
@@ -124,14 +116,16 @@
|
||||
glitterTranslate.priority['Stop'] = "$T('pr-stop')";
|
||||
</script>
|
||||
|
||||
<!-- Inclusion is faster than external scripts. We load momentJS locale seperatly so failure won't break anything -->
|
||||
<!-- Inclusion is faster than external scripts. We load momentJS locale separately so failure won't break anything -->
|
||||
<script type="text/javascript">
|
||||
<!--#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>
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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() == '') {
|
||||
|
||||
@@ -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
|
||||
@@ -62,8 +62,8 @@ function ViewModel() {
|
||||
self.statusInfo.publicipv4 = ko.observable();
|
||||
self.statusInfo.ipv6 = ko.observable();
|
||||
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 +78,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 +87,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 +106,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 +115,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 +125,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 +136,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 +150,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 +165,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 +196,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 +207,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 +215,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 +251,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 +285,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 +316,7 @@ function ViewModel() {
|
||||
|
||||
// Update history items
|
||||
self.updateHistory = function(response) {
|
||||
if(!response) return;
|
||||
if (!response) return;
|
||||
self.history.updateFromData(response.history);
|
||||
}
|
||||
|
||||
@@ -334,38 +332,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 +384,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 +424,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 +448,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 +470,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 +495,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 +512,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 +521,7 @@ function ViewModel() {
|
||||
|
||||
// Reset it all
|
||||
self.allWarnings.removeAll();
|
||||
if(response) {
|
||||
if (response) {
|
||||
// Newest first
|
||||
response.warnings.reverse()
|
||||
|
||||
@@ -537,10 +562,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 +588,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 +608,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 +626,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 +656,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) {
|
||||
@@ -651,17 +670,22 @@ function ViewModel() {
|
||||
}
|
||||
}
|
||||
|
||||
// default to url input when modal is shown
|
||||
$('#modal-add-nzb').on('shown.bs.modal', function() {
|
||||
$('input[name="nzbURL"]').focus();
|
||||
})
|
||||
|
||||
// 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 +701,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 +714,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 +740,28 @@ 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.delayed_decoder(data.status.delayed_decoder)
|
||||
self.statusInfo.loadavg(data.status.loadavg)
|
||||
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 +776,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 +801,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 +828,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 +870,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 +889,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 +899,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 +910,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 +932,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 +949,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 +980,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 +989,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 +997,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 +1013,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 +1021,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 +1042,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 +1093,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 +1103,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 +1118,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 +1162,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 +1206,109 @@ 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) {
|
||||
// Update the data
|
||||
self.loadStatusInfo(true, true)
|
||||
// avoid modal clashes
|
||||
if (!$('.modal-dialog').is(':visible')) {
|
||||
$('#modal-options').modal('show');
|
||||
}
|
||||
});
|
||||
$(document).bind('keydown', 'shift+left', function(e) {
|
||||
if($("body").hasClass("container-tabbed")) {
|
||||
$('#history-tab.active > ul.pagination li.active').prev().click();
|
||||
$('#queue-tab.active > ul.pagination li.active').prev().click();
|
||||
} else {
|
||||
$('#history-tab > ul.pagination li.active').prev().click();
|
||||
$('#queue-tab > ul.pagination li.active').prev().click();
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
$(document).bind('keydown', 'shift+right', function(e) {
|
||||
if($("body").hasClass("container-tabbed")) {
|
||||
$('#history-tab.active > ul.pagination li.active').next().click();
|
||||
$('#queue-tab.active > ul.pagination li.active').next().click();
|
||||
} else {
|
||||
$('#history-tab > ul.pagination li.active').next().click();
|
||||
$('#queue-tab > ul.pagination li.active').next().click();
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
$(document).bind('keydown', 'shift+up', function(e) {
|
||||
if($("body").hasClass("container-tabbed")) {
|
||||
$('#history-tab.active > ul.pagination li').first().click();
|
||||
$('#queue-tab.active > ul.pagination li').first().click();
|
||||
} else {
|
||||
$('#history-tab > ul.pagination li').first().click();
|
||||
$('#queue-tab > ul.pagination li').first().click();
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
$(document).bind('keydown', 'shift+down', function(e) {
|
||||
if($("body").hasClass("container-tabbed")) {
|
||||
$('#history-tab.active > ul.pagination li').last().click();
|
||||
$('#queue-tab.active > ul.pagination li').last().click();
|
||||
} else {
|
||||
$('#history-tab > ul.pagination li').last().click();
|
||||
$('#queue-tab > ul.pagination li').last().click();
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
}
|
||||
|
||||
/***
|
||||
@@ -1241,7 +1326,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!
|
||||
@@ -1252,6 +1337,12 @@ function ViewModel() {
|
||||
// And refresh now!
|
||||
self.refresh()
|
||||
|
||||
// Activate tooltips
|
||||
if(!isMobile) $('[data-tooltip="true"]').tooltip({ trigger: 'hover', container: 'body' })
|
||||
// Special options for (non) mobile
|
||||
if (isMobile) {
|
||||
// Disable accept parameter on file inputs, as it doesn't work on mobile Safari
|
||||
$("input[accept!=''][accept]").attr("accept","")
|
||||
} else {
|
||||
// Activate tooltips
|
||||
$('[data-tooltip="true"]').tooltip({ trigger: 'hover', container: 'body' })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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';
|
||||
@@ -364,54 +343,61 @@ function QueueListModel(parent) {
|
||||
var newStatus = $('.multioperations-selector input[name="multiedit-status"]:checked').val()
|
||||
|
||||
// List all the ID's
|
||||
var strIDs = '';
|
||||
var strIDs = '';
|
||||
$.each(self.multiEditItems(), function(index) {
|
||||
strIDs = strIDs + this.id + ',';
|
||||
})
|
||||
|
||||
// All non-category updates need to only happen after a category update
|
||||
function nonCatUpdates() {
|
||||
if(newScript != '') {
|
||||
callAPI({
|
||||
mode: 'change_script',
|
||||
value: strIDs,
|
||||
value2: newScript
|
||||
})
|
||||
}
|
||||
if(newPrior != '') {
|
||||
callAPI({
|
||||
mode: 'queue',
|
||||
name: 'priority',
|
||||
value: strIDs,
|
||||
value2: newPrior
|
||||
})
|
||||
}
|
||||
if(newProc != '') {
|
||||
callAPI({
|
||||
mode: 'change_opts',
|
||||
value: strIDs,
|
||||
value2: newProc
|
||||
})
|
||||
}
|
||||
if(newStatus) {
|
||||
callAPI({
|
||||
mode: 'queue',
|
||||
name: newStatus,
|
||||
value: strIDs
|
||||
})
|
||||
}
|
||||
|
||||
// Wat a little and do the refresh
|
||||
// Only if anything changed!
|
||||
if(newStatus || newProc != '' || newPrior != '' || newScript != '' || newCat != '') {
|
||||
setTimeout(parent.refresh, 100)
|
||||
}
|
||||
}
|
||||
|
||||
// What is changed?
|
||||
if(newCat != '') {
|
||||
callAPI({
|
||||
mode: 'change_cat',
|
||||
value: strIDs,
|
||||
value2: newCat
|
||||
})
|
||||
}
|
||||
if(newScript != '') {
|
||||
callAPI({
|
||||
mode: 'change_script',
|
||||
value: strIDs,
|
||||
value2: newScript
|
||||
})
|
||||
}
|
||||
if(newPrior != '') {
|
||||
callAPI({
|
||||
mode: 'queue',
|
||||
name: 'priority',
|
||||
value: strIDs,
|
||||
value2: newPrior
|
||||
})
|
||||
}
|
||||
if(newProc != '') {
|
||||
callAPI({
|
||||
mode: 'change_opts',
|
||||
value: strIDs,
|
||||
value2: newProc
|
||||
})
|
||||
}
|
||||
if(newStatus) {
|
||||
callAPI({
|
||||
mode: 'queue',
|
||||
name: newStatus,
|
||||
value: strIDs
|
||||
})
|
||||
}).then(nonCatUpdates)
|
||||
} else {
|
||||
nonCatUpdates()
|
||||
}
|
||||
|
||||
// Wat a little and do the refresh
|
||||
// Only if anything changed!
|
||||
if(newStatus || newProc != '' || newPrior != '' || newScript != '' || newCat != '') {
|
||||
setTimeout(parent.refresh, 100)
|
||||
}
|
||||
}
|
||||
|
||||
// Selete all selected
|
||||
@@ -693,8 +679,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,
|
||||
|
||||
12
interfaces/Glitter/templates/static/javascripts/jquery.hotkeys.min.js
vendored
Normal file
12
interfaces/Glitter/templates/static/javascripts/jquery.hotkeys.min.js
vendored
Normal 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);
|
||||
@@ -0,0 +1,317 @@
|
||||
/*!
|
||||
* 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;
|
||||
/*
|
||||
Removed exclusion matching for SABnzbd, original regex:
|
||||
var regex = /(\S+:'(?:[^'\\]|\\.)*')|(\S+:"(?:[^"\\]|\\.)*")|(-?"(?:[^"\\]|\\.)*")|(-?'(?:[^'\\]|\\.)*')|\S+|\S+:\S+/g;
|
||||
See: https://github.com/sabnzbd/sabnzbd/issues/2342
|
||||
*/
|
||||
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;
|
||||
/*
|
||||
Removed for SABnzbd
|
||||
See: https://github.com/sabnzbd/sabnzbd/issues/2342
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
|
||||
<br /><br />
|
||||
|
||||
<input type="hidden" name="server" value="$server" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-7 form-horizontal">
|
||||
<div class="form-group">
|
||||
@@ -55,7 +57,7 @@
|
||||
<div class="form-group">
|
||||
<label for="port" class="col-sm-4 control-label">$T('srv-port')</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="number" class="form-control" name="port" id="port" value="<!--#if $port then $port else '119' #-->" />
|
||||
<input type="number" class="form-control" name="port" id="port" value="<!--#if $port then $port else '563' #-->" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
<p>$T('wizard-tip-wiki') <a target="_blank" href="$helpuri">$T('menu-wiki')</a> <span class="glyphicon glyphicon-info-sign"></span></p>
|
||||
<p>$T('wizard-tip-wiki') <a target="_blank" href="https://sabnzbd.org/wiki/">$T('menu-wiki')</a> <span class="glyphicon glyphicon-info-sign"></span></p>
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Kronos.py is written by Irmen de Jong.
|
||||
Retreived from:
|
||||
Retrieved from:
|
||||
http://www.razorvine.net/download/kronos.py
|
||||
|
||||
Quote from the module:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2022 The SABnzbd-Team <team@sabnzbd.org> -->
|
||||
<!-- Copyright 2022-2023 The SABnzbd-Team <team@sabnzbd.org> -->
|
||||
<component type="desktop-application">
|
||||
<id>org.sabnzbd.sabnzbd</id>
|
||||
<metadata_license>MIT</metadata_license>
|
||||
@@ -23,16 +23,31 @@
|
||||
</categories>
|
||||
<url type="homepage">https://sabnzbd.org</url>
|
||||
<url type="bugtracker">https://github.com/sabnzbd/sabnzbd/issues</url>
|
||||
<url type="vcs-browser">https://github.com/sabnzbd/sabnzbd</url>
|
||||
<url type="translate">https://sabnzbd.org/wiki/translate</url>
|
||||
<url type="donation">https://sabnzbd.org/donate</url>
|
||||
<url type="help">https://sabnzbd.org/wiki/</url>
|
||||
<url type="faq">https://sabnzbd.org/wiki/faq</url>
|
||||
<url type="contact">https://forums.sabnzbd.org</url>
|
||||
<url type="contact">https://sabnzbd.org/live-chat.html</url>
|
||||
<releases>
|
||||
<release version="4.0.1" date="2023-05-01" type="stable"/>
|
||||
<release version="4.0.0" date="2023-04-28" type="stable"/>
|
||||
<release version="3.7.2" date="2023-02-05" type="stable"/>
|
||||
</releases>
|
||||
<launchable type="desktop-id">sabnzbd.desktop</launchable>
|
||||
<provides>
|
||||
<mediatype>application/x-nzb</mediatype>
|
||||
<mediatype>application/x-compressed-nzb</mediatype>
|
||||
</provides>
|
||||
<supports>
|
||||
<control>pointing</control>
|
||||
<control>keyboard</control>
|
||||
<control>touch</control>
|
||||
</supports>
|
||||
<recommends>
|
||||
<display_length compare="ge">small</display_length>
|
||||
<internet>always</internet>
|
||||
</recommends>
|
||||
<project_license>GPL-2.0-or-later</project_license>
|
||||
<developer_name>The SABnzbd-team</developer_name>
|
||||
<screenshots>
|
||||
|
||||
Binary file not shown.
BIN
osx/unrar/unrar
BIN
osx/unrar/unrar
Binary file not shown.
@@ -1,11 +1,11 @@
|
||||
#
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: team@sabnzbd.org\n"
|
||||
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Language-Team: Czech (https://www.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
"Language-Team: Czech (https://app.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Danish (https://app.transifex.com/sabnzbd/teams/111101/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: German (https://app.transifex.com/sabnzbd/teams/111101/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,15 +7,15 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Spanish (https://app.transifex.com/sabnzbd/teams/111101/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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 ""
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Finnish (https://app.transifex.com/sabnzbd/teams/111101/fi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,15 +7,15 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: French (https://app.transifex.com/sabnzbd/teams/111101/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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 ""
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Hebrew (https://app.transifex.com/sabnzbd/teams/111101/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Norwegian Bokmål (https://app.transifex.com/sabnzbd/teams/111101/nb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Dutch (https://app.transifex.com/sabnzbd/teams/111101/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Polish (https://app.transifex.com/sabnzbd/teams/111101/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,15 +7,15 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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 ""
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Romanian (https://app.transifex.com/sabnzbd/teams/111101/ro/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Russian (https://app.transifex.com/sabnzbd/teams/111101/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Serbian (https://app.transifex.com/sabnzbd/teams/111101/sr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Swedish (https://app.transifex.com/sabnzbd/teams/111101/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file EMAIL
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: team@sabnzbd.org\n"
|
||||
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
|
||||
@@ -35,12 +35,7 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
msgid "SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -124,11 +119,6 @@ msgstr ""
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "We are planning to remove the '%s' setting, which you have changed from the default value. Could you let us know why you made this change at: https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -144,11 +134,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -264,6 +249,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 ""
|
||||
@@ -281,6 +270,11 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid "Do not use a folder in the application folder as your Scripts Folder, it might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -394,7 +388,6 @@ msgstr ""
|
||||
msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr ""
|
||||
@@ -418,19 +411,21 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Login from too many different IP addresses to server %s [%s] - https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -570,12 +565,22 @@ msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable with special character filenames. This can cause problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable with special character filenames. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -603,11 +608,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr ""
|
||||
|
||||
@@ -735,6 +736,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr ""
|
||||
@@ -1139,27 +1152,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 ""
|
||||
|
||||
@@ -1417,11 +1430,11 @@ msgid "Running user script %s"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgid "Script exit code is %s"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgid "Ran %s"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
@@ -1753,32 +1766,32 @@ msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2058,14 +2071,6 @@ msgstr ""
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr ""
|
||||
@@ -2351,11 +2356,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2602,12 +2607,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
|
||||
@@ -2763,6 +2769,10 @@ msgstr ""
|
||||
msgid "Location to store finished, fully processed downloads.<br /><i>Can be overruled by user-defined categories.</i>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2793,7 +2803,7 @@ msgid "Watched Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz archives for .nzb files.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2832,6 +2842,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr ""
|
||||
@@ -2840,6 +2854,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 ""
|
||||
@@ -3004,14 +3026,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 ""
|
||||
@@ -3060,6 +3074,10 @@ 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 ""
|
||||
@@ -3089,6 +3107,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 ""
|
||||
@@ -3447,6 +3473,10 @@ msgstr ""
|
||||
msgid "Force Download"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -3801,20 +3831,6 @@ msgstr ""
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr ""
|
||||
@@ -3823,23 +3839,10 @@ msgstr ""
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr ""
|
||||
@@ -3856,26 +3859,6 @@ msgstr ""
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
@@ -3924,10 +3907,6 @@ msgstr ""
|
||||
msgid "Episode_Name"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr ""
|
||||
@@ -3969,7 +3948,15 @@ msgid "Sort String"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -3980,25 +3967,12 @@ msgstr ""
|
||||
msgid "No folders"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
@@ -4030,6 +4004,58 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "<p>Use Sorters to automatically organize your completed downloads. For example, put all episodes from a series in a season-specific folder. Or, put movies in a folder named after the movie.</p><p>Sorters are tried in order of appearance and can be reordered by dragging and dropping.<br/>The first active sorter that matches both the affected category and job type is applied.</p><p>More options are available when Advanced Settings is checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move and rename all episodes in the \"tv\" category to a show-specific folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move and rename all movies in the \"movies\" category to a movie-specific folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Rarely used options. For their meaning and explanation, click on the Help button to go to the Wiki page.<br>Don't change these without checking the Wiki first, as some have serious side-effects.<br>The default values are between parentheses."
|
||||
msgstr ""
|
||||
@@ -4193,14 +4219,6 @@ msgstr ""
|
||||
msgid "Submit"
|
||||
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 ""
|
||||
@@ -4265,6 +4283,10 @@ msgstr ""
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr ""
|
||||
@@ -4285,6 +4307,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→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr ""
|
||||
@@ -4425,7 +4451,7 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -4490,10 +4516,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 ""
|
||||
|
||||
383
po/main/cs.po
383
po/main/cs.po
@@ -1,17 +1,17 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Pavel C <quoing_transifex@mess.cz>, 2021
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Czech (https://app.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -38,18 +38,12 @@ msgstr "Nezdařilo se spustit webové rozhraní"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Šablona pro web nebyla nalezena: %s, zkouším standardní šablonu"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc vypnut: Nenalezena správná verze! (Nalezena v%s, očekávána v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"Modul SABYenc... nebyl nalezen! Očekávána v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools vypnut: Nenalezena správná verze! (Nalezena v%s, očekávána v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -142,14 +136,6 @@ msgstr "Vypnutí SABnzbd dokončeno"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Zachycen signál %s, ukládám a ukončuji..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -165,11 +151,6 @@ msgstr "Restartuji protože postprocessor selhal"
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr "Restartuji protože selhal downloader"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr "Restartuji protože selhal decoder"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -293,6 +274,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"
|
||||
@@ -312,6 +297,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Chyba: Fronta nené prázdná, nelze změnit složku."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -432,7 +424,6 @@ msgstr ""
|
||||
"Musíte nastavit maximální rychlost linky předtím než začnete nastavovat "
|
||||
"limity pro přenos"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Nelze se připojit k serveru %s [%s]"
|
||||
@@ -456,20 +447,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Příliš mnoho spojení k serveru %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Pravděpodobné sdílení účtu"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Přihlášení k serveru %s se nezdařilo"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Příliš mnoho spojení k serveru %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Přihlášení k serveru %s se nezdařilo [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -608,14 +603,24 @@ msgstr "Načítání %s selhalo"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -651,15 +656,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Přihlášené selhalo, zkontrolujte jméno a heslo."
|
||||
|
||||
@@ -795,6 +792,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr "Python skript \"%s\" nemá nastaveno právo spuštění (+x)"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Běžící skript"
|
||||
@@ -1211,27 +1220,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"
|
||||
|
||||
@@ -1495,14 +1504,14 @@ msgstr "Nezdařilo se přesunout soubory"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Spouštím uživatelský skript %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Spuštěno %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Navratový kód skriptu je %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Spuštěno %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Více"
|
||||
@@ -1833,32 +1842,32 @@ msgstr "Odstranit dokončené úkoly"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pozastavit úkoly s nízkou prioritou"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pozastavit úkoly s normální prioritou"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pozastavit úkoly s vysokou prioritou"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Obnovit úkoly s vysokou prioritou"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2138,14 +2147,6 @@ msgstr "Speciální"
|
||||
msgid "Search"
|
||||
msgstr "Vyhledávání"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr ""
|
||||
@@ -2433,11 +2434,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2711,12 +2712,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
|
||||
@@ -2888,6 +2894,11 @@ msgid ""
|
||||
"overruled by user-defined categories.</i>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2923,9 +2934,7 @@ msgid "Watched Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2964,6 +2973,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr ""
|
||||
@@ -2974,6 +2987,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 ""
|
||||
@@ -3156,16 +3180,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 ""
|
||||
@@ -3216,6 +3230,10 @@ 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 ""
|
||||
@@ -3247,6 +3265,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 ""
|
||||
@@ -3627,6 +3653,10 @@ msgstr ""
|
||||
msgid "Force Download"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -3989,20 +4019,6 @@ msgstr ""
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr ""
|
||||
@@ -4011,23 +4027,10 @@ msgstr ""
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr ""
|
||||
@@ -4044,26 +4047,6 @@ msgstr ""
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
@@ -4112,10 +4095,6 @@ msgstr ""
|
||||
msgid "Episode_Name"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr ""
|
||||
@@ -4157,7 +4136,15 @@ msgid "Sort String"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4168,25 +4155,12 @@ msgstr ""
|
||||
msgid "No folders"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
@@ -4218,6 +4192,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4385,14 +4422,6 @@ msgstr ""
|
||||
msgid "Submit"
|
||||
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 ""
|
||||
@@ -4459,6 +4488,10 @@ msgstr ""
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr ""
|
||||
@@ -4481,6 +4514,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr ""
|
||||
@@ -4623,8 +4660,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Nezdařilo se přejmenovat: %s na %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4689,10 +4726,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 ""
|
||||
|
||||
395
po/main/da.po
395
po/main/da.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Danish (https://app.transifex.com/sabnzbd/teams/111101/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -37,19 +37,13 @@ msgstr "Kunne ikke starte web-interface"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Kan ikke finde webskabeloner: %s, forsøger med standardskabelon"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc deaktiveret: Der blev ikke fundet nogen korrekt version (Fandt v%s, "
|
||||
"forventede v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc modul... IKKE fundet! Forventede v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools deaktiveret: Der blev ikke fundet nogen korrekt version (Fandt "
|
||||
"v%s, forventede v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -142,14 +136,6 @@ msgstr "SABnzbd lukning udført"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Signal %s modtaget, gemmer og lukker..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -165,11 +151,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -293,6 +274,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 ""
|
||||
@@ -312,6 +297,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Fejl: Køen er ikke tom, kan ikke skifte mappe."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -430,7 +422,6 @@ msgstr ""
|
||||
"Du skal angive den maksimale båndbredde, før du kan angive en båndbredde "
|
||||
"begrænsning"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Kan ikke tilslutte til server %s [%s]"
|
||||
@@ -454,20 +445,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Det lykkedes ikke at initialisere %s@%s med begrundelse %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Alt for mange forbindelser til serveren %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Sandsynligt delt konto"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Det lykkedes ikke at logge på serveren %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Alt for mange forbindelser til serveren %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Det lykkedes ikke at logge på serveren %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -616,14 +611,24 @@ msgstr "Downloadning af %s mislykkedes"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -659,15 +664,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Godkendelse mislykkedes, kontrollere brugernavn/adgangskode."
|
||||
|
||||
@@ -800,6 +797,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr "Python script \"%s\" har ikke udfør (+x) tilladelsessæt"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Serie sortering"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Dato sortering"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Film sortering"
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Køre script"
|
||||
@@ -1214,27 +1223,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"
|
||||
|
||||
@@ -1526,14 +1535,14 @@ msgstr "Kunne ikke flytte filer"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Kør bruger script %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Kørte %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Script exit kode er %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Kørte %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Mere"
|
||||
@@ -1864,32 +1873,32 @@ msgstr "Fjern fuldførte job"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pause lav prioritets jobs"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pause normal prioritets jobs"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pause høj prioritets jobs"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Genoptag lav prioritets jobs"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Genoptag normal prioritets jobs"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Genoptag høj prioritets jobs"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2169,14 +2178,6 @@ msgstr "Speciel"
|
||||
msgid "Search"
|
||||
msgstr "Søg"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Download mappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Sysload"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Er du sikker på du vil lukke SABnzbd?"
|
||||
@@ -2464,11 +2465,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2757,12 +2758,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
|
||||
@@ -2945,6 +2951,11 @@ msgstr ""
|
||||
"Sted at opbevare færdige, fuldt forarbejdede downloads.<br /><i>Kan "
|
||||
"tilsidesættes af bruger-definerede kategorier.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2982,12 +2993,8 @@ msgid "Watched Folder"
|
||||
msgstr "Overvåget Mappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Mappe til at gennemsøge for. Nzb filer.<br /><i>Skanner også for .zip .rar "
|
||||
"og .tar.gz arkiver efter .nzb filer.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Mappe til at gennemsøge for .nzb filer."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3027,6 +3034,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Systemmapper"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Administrativ mappe"
|
||||
@@ -3039,6 +3050,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>"
|
||||
@@ -3233,16 +3255,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"
|
||||
@@ -3295,6 +3307,10 @@ 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"
|
||||
@@ -3328,6 +3344,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"
|
||||
@@ -3722,6 +3746,10 @@ msgstr "Læs Feed"
|
||||
msgid "Force Download"
|
||||
msgstr "Gennemtving download"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Anvend filtre"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4090,20 +4118,6 @@ msgstr "Mappe/Søgesti"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr "Indekseringen kategorier/grupper"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Serie sortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Aktivere TV sortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Hjælp til Sorteringsstræng"
|
||||
@@ -4112,23 +4126,10 @@ msgstr "Hjælp til Sorteringsstræng"
|
||||
msgid "Clear"
|
||||
msgstr "Ryd"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Anvend filtre"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Forudindstillinger"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Film sortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Aktivere filmsortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Påvirkede Kategorier"
|
||||
@@ -4145,26 +4146,6 @@ msgstr "Mønster"
|
||||
msgid "Result"
|
||||
msgstr "Resultat"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Sæsonmappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Sæsonmappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Episodemappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Episodemappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Job Navn som Filnavn"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
@@ -4213,10 +4194,6 @@ msgstr "Episode.Navn"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Episode_Navn"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Filtype"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Endelse"
|
||||
@@ -4258,8 +4235,16 @@ msgid "Sort String"
|
||||
msgstr "Sorteringsstreng"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Multi-del etikette"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4269,26 +4254,13 @@ msgstr "I mappe"
|
||||
msgid "No folders"
|
||||
msgstr "Ingen mappe"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Dato sortering"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Job Navn som Filnavn"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Aktivere datosortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Vis Navn på mappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "År-Måned mapper"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Daglige mapper"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4319,6 +4291,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4490,14 +4525,6 @@ msgstr "Angiv et valgfrit filnavn"
|
||||
msgid "Submit"
|
||||
msgstr "Tilføj"
|
||||
|
||||
#: 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"
|
||||
@@ -4566,6 +4593,10 @@ msgstr "Bekræft Historik-fjernelse"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Hvor længe eller indtil hvornår du vil standse? (på engelsk!)"
|
||||
@@ -4588,6 +4619,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Sortere efter alder <small>Ældst→Nyeste</small>"
|
||||
@@ -4736,8 +4771,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Det lykkedes ikke at omdøbe: %s til %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4804,10 +4839,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."
|
||||
|
||||
539
po/main/de.po
539
po/main/de.po
File diff suppressed because it is too large
Load Diff
411
po/main/es.po
411
po/main/es.po
@@ -1,23 +1,23 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Ester Molla Aragones <moarages@gmail.com>, 2020
|
||||
# 1024mb <angelb2203@gmail.com>, 2020
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# 1024mb <angelb2203@gmail.com>, 2023
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Spanish (https://app.transifex.com/sabnzbd/teams/111101/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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
|
||||
@@ -41,20 +41,13 @@ msgstr ""
|
||||
"No se puede encontrar la plantilla web: %s, intentando con la plantilla "
|
||||
"estandar"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc deshabilitado: ¡no se ha encontrado la versión correcta! (Se ha "
|
||||
"encontrado la v%s, se esperaba la v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"Módulo SABYenc... ¡NO encontrado! Se esperaba la v%s - "
|
||||
"https://sabnzbd.org/sabyenc"
|
||||
"SABCTools deshabilitado: ¡no se ha encontrado la versión correcta! (Se ha "
|
||||
"encontrado la v%s, se esperaba la v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -114,6 +107,8 @@ msgid ""
|
||||
"Current umask (%o) might deny SABnzbd access to the files and folders it "
|
||||
"creates."
|
||||
msgstr ""
|
||||
"La umask actual (%o) podría denegarle acceso a SABnzbd a los archivos y "
|
||||
"carpetas que este crea."
|
||||
|
||||
#. Warning message
|
||||
#: SABnzbd.py
|
||||
@@ -150,14 +145,6 @@ msgstr "Cierre de SABnzbd terminado"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Señal %s capturado, guardando y saliendo..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -166,22 +153,17 @@ msgstr "Error grave al guardar estado"
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed postprocessor"
|
||||
msgstr ""
|
||||
msgstr "Reiniciando a causa de un posprocesador colgado"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
msgstr "Reiniciando debido al cuelgue del descargador"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
msgstr ""
|
||||
msgstr "Reiniciando debido al cuelgue del ensamblador"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
@@ -307,6 +289,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 ""
|
||||
@@ -326,6 +312,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Error: Cola no esta vacía, no se puede cambiar el directorio"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -450,7 +443,6 @@ msgstr ""
|
||||
"Debe establecer un ancho de banda máximo antes de poder establecer un límite"
|
||||
" de ancho de banda"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Error en inicio de conexion a servidor %s [%s]"
|
||||
@@ -474,20 +466,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Error al inicializar %s@%s con la razón: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Demasiadas conexiones con el servidor %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Compartiendo de cuenta probable"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Registraccion fallo para servidor %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Demasiadas conexiones con el servidor %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Registraccion fallo para servidor %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -637,14 +633,24 @@ 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."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -680,15 +686,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Autenticación fallida, compruebe el usuario o la contraseña."
|
||||
|
||||
@@ -828,6 +826,18 @@ msgstr ""
|
||||
"La secuencia de comandos Python \"%s\" no tiene configurado el permiso de "
|
||||
"ejecutar (+x)"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Ordenación de Series"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Ordenar por fecha"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Clasificación de películas"
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Ejecutando script"
|
||||
@@ -1258,27 +1268,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"
|
||||
|
||||
@@ -1579,14 +1589,14 @@ msgstr "Error al mover ficheros"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Ejecutando script de usuario %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Se ejecutó %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "El código de retorno del Script es %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Se ejecutó %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Más"
|
||||
@@ -1919,32 +1929,32 @@ msgstr "Eliminar trabajos completados"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pausar trabajos de prioridad baja"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pausar trabajos de prioridad normal"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pausar trabajos de prioridad alta"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Reanudar trabajos de prioridad baja"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Reanudar trabajos de prioridad normal"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Reanudar trabajos de prioridad alta"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2224,14 +2234,6 @@ msgstr "Especial"
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Dir de Descarga"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Carga del Sistema"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "¿Seguro que deseas detener SABnzbd?"
|
||||
@@ -2522,11 +2524,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2829,12 +2831,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
|
||||
@@ -3023,6 +3030,11 @@ msgstr ""
|
||||
"Ubicación donde guardar descargas finalizadas, totalmente procesaddas.<br "
|
||||
"/><i>Puede ser obviado debido a categorías definidas por el usuario.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -3060,12 +3072,8 @@ msgid "Watched Folder"
|
||||
msgstr "Directorio a vigilar"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Directorio a monitorizar en busca de ficheros .nzb.<br /><i>También escanea "
|
||||
"ficheros .zip .rar y .tar.gz en busca de ficheros .nzb.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Directorio a monitorizar en busca de ficheros .nzb."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3105,6 +3113,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Directorios del sistema"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Directorio de administración"
|
||||
@@ -3117,6 +3129,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 ""
|
||||
@@ -3317,19 +3340,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"
|
||||
@@ -3385,6 +3395,10 @@ 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"
|
||||
@@ -3420,6 +3434,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"
|
||||
@@ -3825,6 +3847,10 @@ msgstr "Leer Fuente"
|
||||
msgid "Force Download"
|
||||
msgstr "Forzar Descarga"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Aplicar filtros"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4197,20 +4223,6 @@ msgstr "Directorio/Ruta"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr "Categorías Indexer / Grupos"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Ordenación de Series"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Habilitar la ordenación de Series de TV"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Patrón"
|
||||
@@ -4219,23 +4231,10 @@ msgstr "Patrón"
|
||||
msgid "Clear"
|
||||
msgstr "Limpiar"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Aplicar filtros"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Preajustes"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Clasificación de películas"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Habilitar Ordenado de Películas"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Categorías Afectadas"
|
||||
@@ -4252,26 +4251,6 @@ msgstr "Patrón"
|
||||
msgid "Result"
|
||||
msgstr "Resultado"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Temporada Directorio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Temporada Directorio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Episodio Directorio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Episodio Directorio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Nombre de la tarea para el nombre de archivo"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
@@ -4320,10 +4299,6 @@ msgstr "Nombre.capítulo"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Nombre_capítulo"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Extensión de archivo"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Extensión"
|
||||
@@ -4365,8 +4340,16 @@ msgid "Sort String"
|
||||
msgstr "Ordenar cadena"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Etiqueta"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4376,26 +4359,13 @@ msgstr "En directorios"
|
||||
msgid "No folders"
|
||||
msgstr "Sin Directorios"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Ordenar por fecha"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Nombre de la tarea para el nombre de archivo"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Habilitar ordenar por fecha"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Carpeta de la serie"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Directorios Año-Mes"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Directorios diarios"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4426,6 +4396,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4599,14 +4632,6 @@ msgstr "Opcionalmente especificar un nombre de fichero"
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
||||
|
||||
#: 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"
|
||||
@@ -4675,6 +4700,10 @@ msgstr "Confirmar eliminación del historial"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "¿Durante cuánto tiempo quieres dejarlo pausado?"
|
||||
@@ -4700,6 +4729,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→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Ordenar por Fecha <small>Más viejo→Más nuevo</small>"
|
||||
@@ -4848,8 +4881,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Error al renombrar: %s a %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4916,10 +4949,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"
|
||||
|
||||
390
po/main/fi.po
390
po/main/fi.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Finnish (https://app.transifex.com/sabnzbd/teams/111101/fi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -37,15 +37,10 @@ msgstr "Web-käyttöliittymän käynnistys epäonnistui"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Web-mallia %s ei löydy, yritetään käyttää oletusmallia"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -143,14 +138,6 @@ msgstr "SABnzbd sammutus valmis"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Signaali %s kaapattu, tallennetaan ja lopetetaan..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -166,11 +153,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -290,6 +272,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 ""
|
||||
@@ -309,6 +295,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Virhe: Jono ei ole tyhjä, kansiota ei voida vaihtaa."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -426,7 +419,6 @@ msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr ""
|
||||
"Sinun täytyy määrittää enimmäiskaista ennen kaistarajoituksen käyttöönottoa."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Palvelimeen %s ei voida yhdistää [%s]"
|
||||
@@ -450,20 +442,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Alustaminen epäonnistui kohteessa %s@%s syy: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Liikaa yhteyksiä palvelimelle %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Mahdollinen tilin jakaminen"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Kirjautuminen palvelimelle %s epäonnistui"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Liikaa yhteyksiä palvelimelle %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Kirjautuminen palvelimelle %s epäonnistui [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -612,14 +608,24 @@ msgstr "Kohteen %s lataaminen epäonnistui"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -655,15 +661,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Varmennus epäonnistui, tarkista käyttäjänimi/salasana."
|
||||
|
||||
@@ -796,6 +794,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Sarjojen lajittelu"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Päivämäärän lajittelu"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Ajetaan skripti"
|
||||
@@ -1207,27 +1217,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"
|
||||
|
||||
@@ -1519,14 +1529,14 @@ msgstr "Tiedostojen siirto epäonnistui"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Ajetaan käyttäjän skripti %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Ajettiin %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Skriptin lopetuskoodi on %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Ajettiin %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Lisää"
|
||||
@@ -1857,32 +1867,32 @@ msgstr "Poista valmistuneet lataukset"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Keskeytä alhaisen prioriteetin lataukset"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Keskeytä normaalin prioriteetin lataukset"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Keskeytä korkean prioriteetin lataukset"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Jatka alhaisen prioriteetin lataukset"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Jatka normaalin prioriteetin lataukset"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Jatka korkean prioriteetin lataukset"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2162,14 +2172,6 @@ msgstr "Erikoisasetukset"
|
||||
msgid "Search"
|
||||
msgstr "Etsi"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Lataukset-kansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Kuorma"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Oletko varma, että haluat sammuttaa SABnzbdn?"
|
||||
@@ -2457,11 +2459,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2754,12 +2756,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
|
||||
@@ -2947,6 +2954,11 @@ msgstr ""
|
||||
"Sijainti jonne tallennetaan valmistuneet ja täysin käsitellyt ladatut "
|
||||
"kohteet.<br /><i>Käyttäjän asettamat kategoriat voivat kumota tämän.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2984,12 +2996,8 @@ msgid "Watched Folder"
|
||||
msgstr "Vahdittu kansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Kansio jota vahditaan .nzb tiedostojen varalta.<br /><i>Etsii .nzb "
|
||||
"tiedostoja myös .zip .rar ja .tar.gz arkistojen sisältä.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Kansio jota vahditaan .nzb tiedostojen varalta."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3029,6 +3037,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Järjestelmäkansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Hallinnollinen kansio"
|
||||
@@ -3041,6 +3053,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 ""
|
||||
@@ -3234,16 +3257,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ä"
|
||||
@@ -3298,6 +3311,10 @@ 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"
|
||||
@@ -3331,6 +3348,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ä"
|
||||
@@ -3723,6 +3748,10 @@ msgstr "Lue syöte"
|
||||
msgid "Force Download"
|
||||
msgstr "Pakota lataus"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4091,20 +4120,6 @@ msgstr "Kansio/Polku"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr "Indeksoijan kategoriat / ryhmä"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Sarjojen lajittelu"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "TV lajittelu käytössä"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Mallin avain"
|
||||
@@ -4113,23 +4128,10 @@ msgstr "Mallin avain"
|
||||
msgid "Clear"
|
||||
msgstr "Tyhjennä"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Esiasetukset"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Elokuvien lajittelu käytössä"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Kategoriat joita koskee"
|
||||
@@ -4146,26 +4148,6 @@ msgstr "Malli"
|
||||
msgid "Result"
|
||||
msgstr "Tulos"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Tuotantokausi kansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Tuotantokausi kansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Jakso kansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Jakso kansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Nimi"
|
||||
@@ -4214,10 +4196,6 @@ msgstr "Jakson.nimi"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Jakson_nimi"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Tiedostotunniste"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Tunniste"
|
||||
@@ -4259,8 +4237,16 @@ msgid "Sort String"
|
||||
msgstr "Lajittelumerkkijono"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Moniosainen selite"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4270,26 +4256,13 @@ msgstr "Kansioissa"
|
||||
msgid "No folders"
|
||||
msgstr "Ei kansioita"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Päivämäärän lajittelu"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Päivämäärän lajittelu käytössä"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Ohjelman nimi kansio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Vuosittaiset-Kuukausittaiset kansiot"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Päivittäiset kansiot"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4320,6 +4293,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Kaikki"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4493,14 +4529,6 @@ msgstr "Vaihtoehtoisesti anna tiedostonimi"
|
||||
msgid "Submit"
|
||||
msgstr "Lähetä"
|
||||
|
||||
#: 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"
|
||||
@@ -4570,6 +4598,10 @@ msgstr "Varmista historian poistot"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Kuinka pitkään tai mihin asti haluat keskeyttää? (englanniksi!)"
|
||||
@@ -4592,6 +4624,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Järjestä iän mukaan <small>Vanhin→Uusin</small>"
|
||||
@@ -4741,8 +4777,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Virhe uudelleennimettäessä: %s %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4808,10 +4844,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"
|
||||
|
||||
453
po/main/fr.po
453
po/main/fr.po
@@ -1,22 +1,22 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Fred L <88com88@gmail.com>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
# Fred L <88com88@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Fred L <88com88@gmail.com>, 2023\n"
|
||||
"Language-Team: French (https://app.transifex.com/sabnzbd/teams/111101/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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
|
||||
@@ -40,19 +40,13 @@ msgstr ""
|
||||
"Impossible de trouver le template de l'interface web : %s, nouvelle "
|
||||
"tentative avec le template standard"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc désactivé: aucune version correcte n'a été trouvée ! (v%s trouvée, "
|
||||
"v%s attendue)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"Module SABYenc... NON trouvé ! v%s attendue - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools désactivé: aucune version correcte n'a été trouvée ! (v%s trouvée,"
|
||||
" v%s attendue)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -153,17 +147,6 @@ msgstr "Arrêt de SABnzbd terminé"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Signal %s intercepté, enregistrement et fermeture en cours..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
"Nous envisageons de supprimer le paramètre '%s' que vous avez modifié par "
|
||||
"rapport à la valeur par défaut. Pourriez-vous nous dire pourquoi vous avez "
|
||||
"fait ce changement à : https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -179,11 +162,6 @@ msgstr "Redémarrage suite au plantage du postprocesseur"
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr "Redémarrage suite au plantage du téléchargeur"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr "Redémarrage suite au plantage du décodeur"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -313,6 +291,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"
|
||||
@@ -335,6 +317,15 @@ msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr ""
|
||||
"Erreur : La file d'attente n'est pas vide, impossible de changer le dossier."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
"N'utilisez pas un dossier à l'intérieur du dossier de l'application pour y "
|
||||
"stocker les scripts, il pourrait être vidé lors des mises à jour."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -458,7 +449,6 @@ msgstr ""
|
||||
"Vous devez définir une bande passante maximale avant de pouvoir définir une "
|
||||
"limite de bande passante"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Impossible de se connecter au serveur %s [%s]"
|
||||
@@ -482,20 +472,26 @@ msgstr "Il n'y a aucun serveur actif !"
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Échec d'initialisation de %s@%s pour la raison suivante : %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Trop de connexions au serveur %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Partage de compte probable"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Échec de la connexion au serveur %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr "Erreur fatale dans le Téléchargeur"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Trop de connexions au serveur %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
"Connexion au serveur %s [%s] à partir de trop d'adresses IP différentes - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Échec de la connexion au serveur %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -644,6 +640,25 @@ 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 at all. This blocks downloads."
|
||||
msgstr "%s n'est pas du tout inscriptible. Les téléchargements sont bloqués."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
"Impossible d'écrire un nom de fichier long dans %s. Cela peut causer des "
|
||||
"problèmes."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
"Impossible d'écrire un nom de fichier unicode dans %s. Cela peut causer des "
|
||||
"problèmes."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
@@ -653,11 +668,6 @@ 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:"
|
||||
@@ -691,15 +701,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Echec d'authentification, vérifiez les identifiant/mot de passe."
|
||||
|
||||
@@ -842,6 +844,18 @@ msgstr ""
|
||||
"Le script Python \"%s\" n'est pas configuré avec les permissions d’exécution"
|
||||
" (+x)"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Tri des séries"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Tri par date"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Tri des films"
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Exécution du script"
|
||||
@@ -1261,27 +1275,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"
|
||||
|
||||
@@ -1547,7 +1561,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
|
||||
@@ -1585,14 +1599,14 @@ msgstr "Impossible de déplacer les fichiers"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Exécution du script utilisateur %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s exécuté"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Le code script de sortie est %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s exécuté"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Plus"
|
||||
@@ -1924,32 +1938,32 @@ msgstr "Effacer les tâches terminées"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Mettre en pause les tâches de priorité faible"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Mettre en pause les tâches de priorité normale"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Mettre en pause les tâches de priorité haute"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Reprendre les tâches de priorité faible"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Reprendre les tâches de priorité normale"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Reprendre les tâches de priorité haute"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2229,14 +2243,6 @@ msgstr "Spécial"
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Dossier de téléchargement"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Sysload"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Etes-vous sûr de vouloir arrêter SABnzbd ?"
|
||||
@@ -2526,14 +2532,14 @@ msgstr "Nameserver / DNS Lookup"
|
||||
msgid "Download speed limited by"
|
||||
msgstr "Vitesse de téléchargement limitée par"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgstr "processeur"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
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)"
|
||||
@@ -2839,15 +2845,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"
|
||||
@@ -3028,7 +3042,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 ""
|
||||
@@ -3038,6 +3052,13 @@ msgstr ""
|
||||
"Emplacement des téléchargements terminés et post-traités.<br /><i>Peut être "
|
||||
"outrepassé par les catégories définies par l'utilisateur.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
"Utilisez le tri pour organiser et renommer automatiquement vos "
|
||||
"téléchargements terminés."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr "Espace libre minimum pour le dossier des téléchargements terminés"
|
||||
@@ -3060,7 +3081,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
|
||||
@@ -3080,12 +3101,8 @@ msgid "Watched Folder"
|
||||
msgstr "Dossier à surveiller"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Dossier d'import automatique des fichiers .nzb.<br /><i>Prends en compte "
|
||||
"également les nzb contenus dans les fichiers .zip, .rar et .tar.gz.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Dossier d'import automatique des fichiers .nzb."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3127,6 +3144,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Dossiers système"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr "Dossiers cachés"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Dossier administrateur"
|
||||
@@ -3139,6 +3160,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 ""
|
||||
@@ -3346,19 +3381,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"
|
||||
@@ -3415,6 +3437,12 @@ 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"
|
||||
@@ -3450,6 +3478,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"
|
||||
@@ -3863,6 +3899,10 @@ msgstr "Lire le flux RSS"
|
||||
msgid "Force Download"
|
||||
msgstr "Forcer le téléchargement"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Appliquer les filtres"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4238,20 +4278,6 @@ msgstr "Dossier/Chemin"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr "Catégories de l'indexeur / Groupes"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr "Sélectionnez au moins une catégorie."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Tri des séries"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Activer le tri TV"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Modèle de clé"
|
||||
@@ -4260,23 +4286,10 @@ msgstr "Modèle de clé"
|
||||
msgid "Clear"
|
||||
msgstr "Effacer"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Appliquer les filtres"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Modèles prédéfinis"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Tri des films"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Activer le tri des films"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Catégories affectées"
|
||||
@@ -4293,26 +4306,6 @@ msgstr "Modèle"
|
||||
msgid "Result"
|
||||
msgstr "Résultat"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Dossier Saison"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Dossier Saison"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Dossier Épisode"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Dossier Épisode"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Nom de la tâche en tant que nom de fichier"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
@@ -4361,10 +4354,6 @@ msgstr "Nom.Épisode"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Nom_Épisode"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Extension du fichier"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Extension"
|
||||
@@ -4406,9 +4395,17 @@ msgid "Sort String"
|
||||
msgstr "Chaîne de caractères de tri"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgid "Multi-part Label"
|
||||
msgstr "Étiquette multi-bloc"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr "Afficher le dossier"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr "Dossier de la saison"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
msgstr "Dans les dossiers"
|
||||
@@ -4417,26 +4414,13 @@ msgstr "Dans les dossiers"
|
||||
msgid "No folders"
|
||||
msgstr "Pas de dossiers"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Tri par date"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Nom de la tâche en tant que nom de fichier"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Activer le tri par date"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Dossier du nom de série"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Dossiers Année-Mois"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Dossiers Quotidiens"
|
||||
msgid "Series"
|
||||
msgstr "Séries"
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4467,6 +4451,82 @@ msgstr "Attribut.Guessit"
|
||||
msgid "GuessIt_Property"
|
||||
msgstr "Attribut_Guessit"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr "Taille minimale du fichier"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr "Types de tâche concernée"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Tous"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr "Séries avec dates de diffusion"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr "Films"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr "Autre / Inconnu"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
"<p>Utilisez les trieurs pour organiser automatiquement vos téléchargements "
|
||||
"terminés. Par exemple, placez tous les épisodes d'une série dans un dossier "
|
||||
"spécifique à la saison. Ou encore, placez les films dans un dossier portant "
|
||||
"le nom du film.</p><p>Les trieurs sont essayés par ordre d'apparition et "
|
||||
"peuvent être réorganisés par glisser-déposer.<br/>Le premier trieur actif "
|
||||
"qui correspond à la fois à la catégorie et au type de tâche concernée est "
|
||||
"appliqué.</p><p>D'autres options sont disponibles lorsque l'option "
|
||||
"Paramètres avancés est cochée.<br/>Des informations détaillées sont "
|
||||
"disponibles sur le Wiki.</p>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr "Ajouter un trieur"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr "Supprimer le trieur"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr "Données de test"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr "Démarrage rapide"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
"Déplacer et renommer tous les épisodes de la catégorie \"tv\" vers un "
|
||||
"dossier de série spécifique"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
"Déplacer et renommer tous les films de la catégorie \"films\" vers un "
|
||||
"dossier de film spécifique"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4639,14 +4699,6 @@ msgstr "Vous pouvez également indiquer un nom de fichier"
|
||||
msgid "Submit"
|
||||
msgstr "Soumettre"
|
||||
|
||||
#: 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"
|
||||
@@ -4717,6 +4769,11 @@ msgstr "Confirmer les suppressions de l'historique"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
"Maj+flèche : parcourir les pages de la file d'attente et de l'historique"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Combien de temps ou jusqu'à quand souhaitez-vous mettre en pause ?"
|
||||
@@ -4741,6 +4798,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→Least</small>"
|
||||
msgstr "Trier par % téléchargé <small>Most→Least</small>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Trier par Age <small>Moins récent→Plus récent</small>"
|
||||
@@ -4890,8 +4951,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Échec du renommage : %s en %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr "Échec du renommage de %s en %s"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4961,10 +5022,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."
|
||||
|
||||
407
po/main/he.po
407
po/main/he.po
@@ -1,17 +1,17 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# ION, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Hebrew (https://app.transifex.com/sabnzbd/teams/111101/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -38,16 +38,11 @@ msgstr "נכשל בהתחלת ממשק רשת"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "לא ניתן למצוא תבניות רשת: %s, מנסה תבנית תקנית"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr "SABYenc מושבת: גרסה נכונה לא נמצאה! (%s נמצאה, מצפה אל %s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
msgstr "מודול SABYenc… לא נמצא! מצפה אל %s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr "SABCTools מושבת: גרסה נכונה לא נמצאה! (%s נמצאה, מצפה אל %s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -140,14 +135,6 @@ msgstr "כיבוי SABnzbd הסתיים"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "אות %s נתפס, שומר ויוצא…"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -163,11 +150,6 @@ msgstr "מפעיל מחדש בגלל בתר־מעבד שקרס"
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr "מפעיל מחדש בגלל מורידן שקרס"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr "מפעיל מחדש בגלל מפענח קוד שקרס"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -288,6 +270,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 הוא לא תסריט תקף"
|
||||
@@ -308,6 +294,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "שגיאה: התור אינו ריק, לא ניתן לשנות תיקייה."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -426,7 +419,6 @@ msgstr "מושהה"
|
||||
msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr "אתה חייב לקבוע רוחב פס מרבי לפני שאתה קובע מגבלת רוחב פס"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "לא ניתן להתחבר אל השרת %s [%s]"
|
||||
@@ -450,20 +442,24 @@ msgstr "אין שרתים פעילים!"
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "נכשל באתחול %s@%s עם סיבה: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "יותר מדי חיבורים לשרת %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "שיתוף סביר של חשבון"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "נכשל בכניסה אל השרת %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "יותר מדי חיבורים לשרת %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "נכשל בכניסה אל השרת %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -612,16 +608,26 @@ msgstr "טעינת %s נכשלה"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr "%s אינו בר־כתיבה בכלל. זה חוסם הורדות."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr "%s אינו בר־כתיבה עם שמות קבצים עם תו מיוחד. זה יכול לגרום לבעיות."
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
msgid "Refused connection from:"
|
||||
msgstr "חיבור מסורב מאת:"
|
||||
@@ -653,15 +659,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "אימות נכשל, בדוק שם משתמש/סיסמה."
|
||||
|
||||
@@ -798,6 +796,18 @@ msgstr "[%s] הפקודה ב־build_command אינה מוגדרת."
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr "לתסריט פייתון \"%s\" אין ערכת הרשאות ביצוע (+x)"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "מיון סדרות"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "מיון תאריכים"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "מיון סרטים"
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "מריץ תסריט"
|
||||
@@ -1210,27 +1220,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 שניות"
|
||||
|
||||
@@ -1526,14 +1536,14 @@ msgstr "נכשל בהעברת קבצים"
|
||||
msgid "Running user script %s"
|
||||
msgstr "מריץ תסריט משתמש %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "הריץ את %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "קוד יציאת תסריט הוא %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "הריץ את %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "עוד"
|
||||
@@ -1864,32 +1874,32 @@ msgstr "הסר עבודות נשלמות"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "השהה עבודות עם עדיפות נמוכה"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "השהה עבודות עם עדיפות רגילה"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "השהה עבודות עם עדיפות גבוהה"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "המשך עבודות עם עדיפות נמוכה"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "המשך עבודות עם עדיפות רגילה"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "המשך עבודות עם עדיפות גבוהה"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2169,14 +2179,6 @@ msgstr "מיוחד"
|
||||
msgid "Search"
|
||||
msgstr "חיפוש"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "תיקיית הורדות"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "עומס מערכת"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "האם אתה בטוח שאתה רוצה לכבות את SABnzbd?"
|
||||
@@ -2465,14 +2467,14 @@ msgstr "שם שרת / חיפוש DNS"
|
||||
msgid "Download speed limited by"
|
||||
msgstr "מהירות הורדה מוגבלת ע״י"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgstr "יע״מ"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgstr "מהירות דיסק"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "System load"
|
||||
msgstr "טעינת מערכת"
|
||||
|
||||
#. Do not translate Pystone
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "System Performance (Pystone)"
|
||||
@@ -2761,13 +2763,21 @@ 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 ""
|
||||
"צור גיבוי של קובץ התצורה ומסדי הנתונים בתיקיית הגיבויים.<br>אם תיקיית "
|
||||
"הגיבויים לא הוגדרה, הגיבוי ייווצר בתיקיית ההורדות שהושלמו.<br>גיבויים חוזרים"
|
||||
" יכולים להיות מתוצרים בדף התזמון."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Cleanup List"
|
||||
@@ -2949,6 +2959,11 @@ msgstr ""
|
||||
"מיקום לאחסון הורדות שהסתיימו, מעבודות במלואן.<br /><i>ניתן להשתלטות ע״י "
|
||||
"קטגוריות מוגדרות־משתמש.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr "שטח פנוי מזערי עבור תיקיית הורדות שלמות"
|
||||
@@ -2989,12 +3004,8 @@ msgid "Watched Folder"
|
||||
msgstr "תיקייה מושגחת"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"תיקייה לניטור אחר קבצי nzb.<br /><i>סורק גם ארכיונים מסוג .zip .rar "
|
||||
"ו־.tar.gz ואחר קבצי nzb.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "תיקייה לניטור אחר קבצי nzb."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3032,6 +3043,10 @@ msgstr "קובץ שמכיל את כל הסיסמאות שינוסו על קבצ
|
||||
msgid "System Folders"
|
||||
msgstr "תיקיות מערכת"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "תיקייה מינהלית"
|
||||
@@ -3044,6 +3059,19 @@ 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 ""
|
||||
"מיקום שבו הגיבויים של קובץ התצורה ומסדי הנתונים מאוחסנים.<br />אם נשאר ריק, "
|
||||
"הגיבוי ייווצר בתיקיית ההורדות שהושלמו."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "<i>Data will <b>not</b> be moved. Requires SABnzbd restart!</i>"
|
||||
msgstr "<i>נתונים <b>לא</b> יועברו. דורש הפעלה מחדש של SABnzbd!</i>"
|
||||
@@ -3234,18 +3262,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 "אפשר שינוי שם תיקייה"
|
||||
@@ -3298,6 +3314,10 @@ 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 "עיכוב רביה"
|
||||
@@ -3331,6 +3351,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 "החלף נקודות בשמות תיקיות"
|
||||
@@ -3726,6 +3754,10 @@ msgstr "קרא הזנה"
|
||||
msgid "Force Download"
|
||||
msgstr "אלץ הורדה"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "החל מסננים"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4094,20 +4126,6 @@ msgstr "תיקייה/נתיב"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr "קטגוריות / קבוצות של מדדן"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr "בחר קטגוריה 1 לפחות."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "מיון סדרות"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "אפשר מיון טלוויזיה"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "מפתח דפוס"
|
||||
@@ -4116,23 +4134,10 @@ msgstr "מפתח דפוס"
|
||||
msgid "Clear"
|
||||
msgstr "נקה"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "החל מסננים"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "קדם־קביעות"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "מיון סרטים"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "אפשר מיון סרטים"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "קטגוריות מושפעות"
|
||||
@@ -4149,26 +4154,6 @@ msgstr "דפוס"
|
||||
msgid "Result"
|
||||
msgstr "תוצאה"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "תיקיית עונה 1x05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "תיקיית עונה S01E05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "תיקיית פרק 1x05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "תיקיית פרק S01E05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "שם עבודה בתור שם קובץ"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "כותר"
|
||||
@@ -4217,10 +4202,6 @@ msgstr "שם.פרק"
|
||||
msgid "Episode_Name"
|
||||
msgstr "שם_פרק"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "סיומת קובץ"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "סיומת"
|
||||
@@ -4262,8 +4243,16 @@ msgid "Sort String"
|
||||
msgstr "מחרוזת מיון"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "תווית מרובת־חלקים"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4273,26 +4262,13 @@ msgstr "בתיקיות"
|
||||
msgid "No folders"
|
||||
msgstr "אין תיקיות"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "מיון תאריכים"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "שם עבודה בתור שם קובץ"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "אפשר מיון תאריכים"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "הראה שם תיקייה"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "תיקיות שנה־חודש"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "תיקיות יומיות"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4323,6 +4299,69 @@ msgstr "GuessIt.Property"
|
||||
msgid "GuessIt_Property"
|
||||
msgstr "GuessIt_Property"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "הכל"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4493,14 +4532,6 @@ msgstr "ציין באופן רשותי שם קובץ"
|
||||
msgid "Submit"
|
||||
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 "הסר את כל הקבצים הנבחרים"
|
||||
@@ -4569,6 +4600,10 @@ msgstr "אשר מחיקות היסטוריה"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr "קיצורי דרך במקלדת"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "כמה זמן או עד מתי תרצה להשהות? (באנגלית!)"
|
||||
@@ -4593,6 +4628,10 @@ msgstr ""
|
||||
"כל שמות המשתמש, הסיסמאות ומפתחות API מוסרים באופן אוטומטי מהיומן ומהעותק "
|
||||
"הכלול של ההגדרות שלך."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr "מיין לפי % ירד <small>הכי הרבה→הכי מעט</small>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "מיין לפי גיל <small>החדש ביותר←הישן ביותר</small>"
|
||||
@@ -4741,8 +4780,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "נכשל בשינוי שם: %s אל %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4807,10 +4846,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 "שרת יצא במהלך רצף כניסות."
|
||||
|
||||
393
po/main/nb.po
393
po/main/nb.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Norwegian Bokmål (https://app.transifex.com/sabnzbd/teams/111101/nb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -37,18 +37,12 @@ msgstr "Kunne ikke starte webgrensesnittet"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Kan ikke finne webmal: %s, prøver standardmal"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc deaktivert: Fant ikke korrekt versjon! (Fant v%s, forventet v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc modul... IKKE funnet! Forventet v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools deaktivert: Fant ikke korrekt versjon! (Fant v%s, forventet v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -140,14 +134,6 @@ msgstr "SABnzbd er nå avsluttet"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Signal %s mottatt, lagrer og avslutter..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -163,11 +149,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -287,6 +268,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 ""
|
||||
@@ -306,6 +291,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Feil: Køen er ikke tom, kan ikke bytte mappe."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -422,7 +414,6 @@ msgstr "Pauset"
|
||||
msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr "Du må sette maks båndbredde før du kan sette en båndbreddebegrensning"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Kan ikke koble til server %s [%s]"
|
||||
@@ -446,20 +437,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Feilet å starte %s@%s grunnet: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "For mange tilkoblinger til server %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Mistenkt kontodeling"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Kunne ikke logge inn på server %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "For mange tilkoblinger til server %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Kunne ikke logge inn på server %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -608,14 +603,24 @@ msgstr "Lasting av %s mislyktes"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -651,15 +656,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Godkjenning mislyktes, kontroller brukernavn og passord."
|
||||
|
||||
@@ -792,6 +789,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Seriesortering"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Dato sortering"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Kjører skript"
|
||||
@@ -1204,27 +1213,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"
|
||||
|
||||
@@ -1516,14 +1525,14 @@ msgstr "Klarte ikke å flytte filer"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Kjør brukerskript %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Kjørte i %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Skript-avsluttingskode er %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Kjørte i %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Mer"
|
||||
@@ -1854,32 +1863,32 @@ msgstr "Fjern ferdige jobber"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pause jobber med lav prioritet"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pause jobber med normal prioritet"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pause jobber med høy prioritet"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Gjenoppta jobber med lav prioritet"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Gjenoppta jobber med normal prioritet"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Gjenoppta jobber med høy prioritet"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2159,14 +2168,6 @@ msgstr "Spesiell"
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Midlertidig nedlastingsmappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Systemlast"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Er sikker på at du vil slå av SABnzbd?"
|
||||
@@ -2454,11 +2455,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2745,12 +2746,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
|
||||
@@ -2933,6 +2939,11 @@ msgstr ""
|
||||
"Plass for å lagre bearbeidede og ferdige nedlastinger.<br /><i>Kan "
|
||||
"overstyres av brukerdefinerte kategorier.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2970,12 +2981,8 @@ msgid "Watched Folder"
|
||||
msgstr "Overvåket Mappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Mappe som automatiskt søkes igjennom etter .nzb filer.<br /><i>Skanner også "
|
||||
"igjennom .zip .rar og .tar.gz arkiver etter .nzb filer.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Mappe som automatiskt søkes igjennom etter .nzb filer."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3014,6 +3021,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Systemmapper"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Administrativ Mappe"
|
||||
@@ -3026,6 +3037,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>"
|
||||
@@ -3215,16 +3237,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"
|
||||
@@ -3277,6 +3289,10 @@ 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 ""
|
||||
@@ -3308,6 +3324,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"
|
||||
@@ -3699,6 +3723,10 @@ msgstr "Les kilde"
|
||||
msgid "Force Download"
|
||||
msgstr "Tving nedlasting"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4063,20 +4091,6 @@ msgstr "Mappe/Søkesti"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Seriesortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Aktiverer TV sortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Hjelp til Sorteringsstreng"
|
||||
@@ -4085,23 +4099,10 @@ msgstr "Hjelp til Sorteringsstreng"
|
||||
msgid "Clear"
|
||||
msgstr "Rens"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "For innstillinger"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Aktiver filmsortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Påvirkede kategorier"
|
||||
@@ -4118,26 +4119,6 @@ msgstr "Mønster"
|
||||
msgid "Result"
|
||||
msgstr "Resultat"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Sesongmappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Sesongmappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Episodemappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Episodemappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Tittel"
|
||||
@@ -4186,10 +4167,6 @@ msgstr "Episode.Navn"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Episode_Navn"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Filendelse"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "endelse"
|
||||
@@ -4231,8 +4208,16 @@ msgid "Sort String"
|
||||
msgstr "Sorteringsstreng"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Multi-del etikett"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4242,26 +4227,13 @@ msgstr "I mappe"
|
||||
msgid "No folders"
|
||||
msgstr "Ingen mappe"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Dato sortering"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Aktiver datosortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Vis Navn på mappe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "År-Måneds mapper"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Daglige mapper"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4292,6 +4264,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4464,14 +4499,6 @@ msgstr "Valgfritt spesifiser filnavn"
|
||||
msgid "Submit"
|
||||
msgstr "Send"
|
||||
|
||||
#: 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"
|
||||
@@ -4538,6 +4565,10 @@ msgstr "Bekreft Sletting av Historie"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Hvor lenge ønsker du å pause? (skriv på engelsk!)"
|
||||
@@ -4560,6 +4591,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Sorter etter alder <small>Eldst→Ny</small>"
|
||||
@@ -4710,8 +4745,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Kunne ikke endre navn fra: %s til %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4778,10 +4813,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"
|
||||
|
||||
425
po/main/nl.po
425
po/main/nl.po
@@ -1,17 +1,18 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Rik Brouwer, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Robert Lampe, 2023
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Dutch (https://app.transifex.com/sabnzbd/teams/111101/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -38,19 +39,13 @@ msgstr "Webinterface kan niet gestart worden"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Websjabloon %s niet te vinden; het standaardsjabloon wordt gebruikt."
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc uitgeschakeld, geen bruikbare versie gevonden! (V%s gevonden, V%s "
|
||||
"verwacht)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc module... NIET gevonden! Verwacht V%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools uitgeschakeld, geen bruikbare versie gevonden! (V%s gevonden, V%s "
|
||||
"verwacht)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -147,14 +142,6 @@ msgstr "SABnzbd is afgesloten"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Signaal %s ontvangen, opslaan en afsluiten..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -170,11 +157,6 @@ msgstr "SABnzbd wordt herstart omdat de postprocessor is gecrasht"
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr "SABnzbd wordt herstart omdat de downloader is gecrasht"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr "SABnzbd wordt herstart omdat de decoder is gecrasht"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -302,6 +284,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."
|
||||
@@ -323,6 +309,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Fout: Wachtrij is niet leeg, andere map kiezen niet mogelijk."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -449,7 +442,6 @@ msgstr ""
|
||||
"Je moet eerst een maximumbandbreedte instellen voordat je een limiet kunt "
|
||||
"instellen"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Verbinding maken met server %s [%s] niet mogelijk"
|
||||
@@ -473,20 +465,26 @@ msgstr "Er zijn geen actieve servers!"
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Initialisatie van %s@%s mislukt, vanwege: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Te veel verbindingen met server %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Mogelijk delen van account"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Aanmelden bij server %s mislukt"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Te veel verbindingen met server %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
"Teveel verschillende IP-adressen probeerde in te loggen op server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Aanmelden bij server %s mislukt [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -635,16 +633,30 @@ msgstr "Inlezen van %s mislukt"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
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."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. 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."
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
msgid "Refused connection from:"
|
||||
msgstr "Verbinding geweigerd van: "
|
||||
@@ -678,15 +690,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Inloggen mislukt, controleer gebruikersnaam en wachtwoord."
|
||||
|
||||
@@ -722,11 +726,11 @@ msgstr "Feed"
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
msgid "Daily"
|
||||
msgstr "dagelijks"
|
||||
msgstr "Dagelijks"
|
||||
|
||||
#: sabnzbd/interface.py, sabnzbd/skintext.py
|
||||
msgid "Monday"
|
||||
msgstr "maandag"
|
||||
msgstr "Maandag"
|
||||
|
||||
#: sabnzbd/interface.py, sabnzbd/skintext.py
|
||||
msgid "Tuesday"
|
||||
@@ -826,6 +830,18 @@ msgstr "[%s] Het commando in build_command is ongedefinieerd"
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr "Python-script '%s' heeft geen uitvoerpermissie (+x)"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Serie sorteren"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Datum sorteren"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Film sorteren"
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Script uitvoeren"
|
||||
@@ -1243,27 +1259,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"
|
||||
|
||||
@@ -1560,14 +1576,14 @@ msgstr "Verplaatsen van bestanden mislukt"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Gebruiker script %s loopt"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s is klaar"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Exit code van het script is %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s is klaar"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Meer"
|
||||
@@ -1898,32 +1914,32 @@ msgstr "Verwijder voltooide downloads"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pauzeer downloads met prioriteit \"Laag\""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pauzeer downloads met prioriteit \"Normaal\""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pauzeer downloads met prioriteit \"Hoog\""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Hervat downloads met prioriteit \"Laag\""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Hervat downloads met prioriteit \"Normaal\""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Hervat downloads met prioriteit \"Hoog\""
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2203,14 +2219,6 @@ msgstr "Speciaal"
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Map voor verwerkte downloads"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Sysload"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Weet je zeker dat je SABnzbd wilt afsluiten?"
|
||||
@@ -2499,14 +2507,14 @@ msgstr "Nameserver / DNS opzoeken"
|
||||
msgid "Download speed limited by"
|
||||
msgstr "Downloadsnelheid beperkt door"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgstr "Processor"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgstr "Hardeschijf"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "System load"
|
||||
msgstr "Systeembelasting"
|
||||
|
||||
#. Do not translate Pystone
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "System Performance (Pystone)"
|
||||
@@ -2811,13 +2819,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"
|
||||
@@ -2998,6 +3015,11 @@ msgid ""
|
||||
"overruled by user-defined categories.</i>"
|
||||
msgstr "(kan aangepast worden door de categorieën)."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr "Minimale vrije ruimte voor verwerkte downloads map"
|
||||
@@ -3037,12 +3059,9 @@ msgid "Watched Folder"
|
||||
msgstr "Bewaakte map"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr ""
|
||||
".NZB en .ZIP-bestanden in deze map worden automatisch toegevoegd aan de "
|
||||
"wachtrij."
|
||||
".nzb bestanden in deze map worden automatisch toegevoegd aan de wachtrij."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3082,6 +3101,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Systeemmappen"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Administratieve map"
|
||||
@@ -3094,6 +3117,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 ""
|
||||
@@ -3300,19 +3337,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"
|
||||
@@ -3368,6 +3392,12 @@ 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"
|
||||
@@ -3401,6 +3431,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"
|
||||
@@ -3813,6 +3851,10 @@ msgstr "Uitlezen"
|
||||
msgid "Force Download"
|
||||
msgstr "Forceer download"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Filters toepassen"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4187,20 +4229,6 @@ msgstr "Map/Pad"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr "Indexer Categorieën / Groepen"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr "Selecteer minstens 1 categorie."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Serie sorteren"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Serie sorteren aan"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Uitleg"
|
||||
@@ -4209,23 +4237,10 @@ msgstr "Uitleg"
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "Filters toepassen"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Standaardinstellingen"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "Film sorteren"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Film sorteren aan"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Beïnvloede categorieën"
|
||||
@@ -4242,26 +4257,6 @@ msgstr "Patroon"
|
||||
msgid "Result"
|
||||
msgstr "Resultaat"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Seizoensmappen"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Seizoensmap"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Aflevering-map"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Aflevering-map"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Downloadnaam als Bestandsnaam"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
@@ -4310,10 +4305,6 @@ msgstr "Aflevering.Naam"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Aflevering_Naam"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Bestandsextensie"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Extensie"
|
||||
@@ -4355,8 +4346,16 @@ msgid "Sort String"
|
||||
msgstr "Sorteertekst"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Meervoudig label"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4366,26 +4365,13 @@ msgstr "In mappen"
|
||||
msgid "No folders"
|
||||
msgstr "Geen mappen"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Datum sorteren"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr "Downloadnaam als Bestandsnaam"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Datum sorteren aan"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Toon Naam map"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Jaar-Maand Mappen"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Dagelijkse Mappen"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4416,6 +4402,69 @@ msgstr "GuessIt.Eigenschap"
|
||||
msgid "GuessIt_Property"
|
||||
msgstr "GuessIt_Eigenschap"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr "Minimale bestandsgrootte"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "alles"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4587,14 +4636,6 @@ msgstr "Geef eventueel een andere naam"
|
||||
msgid "Submit"
|
||||
msgstr "Verstuur"
|
||||
|
||||
#: 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"
|
||||
@@ -4663,6 +4704,10 @@ msgstr "Bevestig verwijderen uit geschiedenis"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Voor hoe lang of tot wanneer wilt u pauzeren? (in het Engels!)"
|
||||
@@ -4687,6 +4732,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→Least</small>"
|
||||
msgstr "Sorteer Op % Gedownload <small>Meest→Minst</small>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Sorteer op Leeftijd <small>Oud→Nieuw</small>"
|
||||
@@ -4835,8 +4884,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Hernoemen van %s tot %s mislukt"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4904,10 +4953,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"
|
||||
|
||||
390
po/main/pl.po
390
po/main/pl.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/sabnzbd/teams/111101/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -37,15 +37,10 @@ msgstr "Nie udało się uruchomić interfejsu WWW"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Nie znaleziono szablonu: %s, próbuję użyć standardowego szablonu"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -135,14 +130,6 @@ msgstr "SABnzbd został wyłączony"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Odebrano sygnał %s, zapisywanie i zamykanie programu..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -158,11 +145,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -282,6 +264,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 ""
|
||||
@@ -301,6 +287,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Błąd: Kolejka nie jest pusta, nie można zmienić katalogu."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -419,7 +412,6 @@ msgstr ""
|
||||
"Przed ustawieniem limitu przepustowości należy ustawić maksymalną "
|
||||
"przepustowość"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Nie można połączyć się z serwerem %s [%s]"
|
||||
@@ -443,20 +435,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Błąd podczas inicjalizacji %s@%s: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Zbyt wiele połączeń do serwera %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Prawdopodobne współdzielenie konta"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Błąd logowania do serwera %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Zbyt wiele połączeń do serwera %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Błąd logowania do serwera %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -607,14 +603,24 @@ 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."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -650,15 +656,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Błąd połączenia, sprawdź nazwę użytkownika i hasło."
|
||||
|
||||
@@ -791,6 +789,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Sortowanie seriali"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Sortowanie według daty"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Uruchamianie skryptu"
|
||||
@@ -1205,27 +1215,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"
|
||||
|
||||
@@ -1521,14 +1531,14 @@ msgstr "Nie udało się przenieść plików"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Uruchamianie skryptu użytkownika %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Uruchomiono %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Kod zakończenia skryptu: %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Uruchomiono %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Więcej"
|
||||
@@ -1859,32 +1869,32 @@ msgstr "Usuń ukończone zadania"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Wstrzymaj zadania o niskim priorytecie"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Wstrzymaj zadania o normalnym priorytecie"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Wstrzymaj zadania o wysokim priorytecie"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Wznów zadania o niskim priorytecie"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Wznów zadania o normalnym priorytecie"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Wznów zadania o wysokim priorytecie"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2164,14 +2174,6 @@ msgstr "Specjalne"
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Katalog pobierania"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Obciążenie"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Czy na pewno wyłączyć SABnzbd?"
|
||||
@@ -2459,11 +2461,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2752,12 +2754,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
|
||||
@@ -2939,6 +2946,11 @@ msgstr ""
|
||||
"Miejsce przechowywania ukończonych, przetworzonych plików. <br /><i>Może "
|
||||
"zostać zmienione przez ustawienia kategorii.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2976,12 +2988,8 @@ msgid "Watched Folder"
|
||||
msgstr "Obserwowany katalog"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Katalog monitorowany w poszukiwaniu plików .nzb.<br /><i>Skanowane są "
|
||||
"również pliki .zip, .rar oraz .tar.gz.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Katalog monitorowany w poszukiwaniu plików .nzb."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3023,6 +3031,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Katalogi systemowe"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Katalog administracyjny"
|
||||
@@ -3035,6 +3047,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>"
|
||||
@@ -3224,16 +3247,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"
|
||||
@@ -3286,6 +3299,10 @@ 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 ""
|
||||
@@ -3317,6 +3334,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"
|
||||
@@ -3709,6 +3734,10 @@ msgstr "Pobierz kanał"
|
||||
msgid "Force Download"
|
||||
msgstr "Wymuś pobranie"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4073,20 +4102,6 @@ msgstr "Katalog/Ścieżka"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Sortowanie seriali"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Włącz sortowanie TV"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Zastępowane ciągi"
|
||||
@@ -4095,23 +4110,10 @@ msgstr "Zastępowane ciągi"
|
||||
msgid "Clear"
|
||||
msgstr "Wyczyść"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Predefiniowane"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Włącz sortowanie filmów"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Dotyczy kategorii"
|
||||
@@ -4128,26 +4130,6 @@ msgstr "Ciąg"
|
||||
msgid "Result"
|
||||
msgstr "Wynik"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "Katalog sezonu 1x05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "Katalog sezonu S01E05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "Katalog odcinka 1x05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "Katalog odcinka S01E05"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Tytuł"
|
||||
@@ -4196,10 +4178,6 @@ msgstr "Tytuł.odcinka"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Tytuł_odcinka"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Rozszerzenie pliku"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Rozszerzenie"
|
||||
@@ -4241,8 +4219,16 @@ msgid "Sort String"
|
||||
msgstr "Wzorzec sortowania"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Etykieta wieloczęściowa"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4252,26 +4238,13 @@ msgstr "W katalogach"
|
||||
msgid "No folders"
|
||||
msgstr "Brak katalogów"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Sortowanie według daty"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Włącz sortowanie według daty"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Katalog z tytułem serialu"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Katalogi rok-miesiąc"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Katalogi dzienne"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4302,6 +4275,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Wszystko"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4474,14 +4510,6 @@ msgstr "Opcjonalnie podaj nazwę pliku"
|
||||
msgid "Submit"
|
||||
msgstr "Wyślij"
|
||||
|
||||
#: 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"
|
||||
@@ -4548,6 +4576,10 @@ msgstr "Potwierdzaj usuwanie z historii"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Jak długo lub do kiedy chcesz wstrzymać? (po angielsku!)"
|
||||
@@ -4570,6 +4602,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Sortuj według wieku <small>Najstarsze→Najnowsze</small>"
|
||||
@@ -4718,8 +4754,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Nie udało się zmienić nazwy %s na %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4788,10 +4824,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."
|
||||
|
||||
392
po/main/pt_BR.po
392
po/main/pt_BR.po
@@ -1,21 +1,21 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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
|
||||
@@ -38,15 +38,10 @@ msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr ""
|
||||
"Não foi possível encontrar o template web: %s. Tentando o template padrão"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -139,14 +134,6 @@ msgstr "Encerramento do SABnzbd concluído"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Sinal %s encontrado. Salvando e saindo..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -162,11 +149,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -286,6 +268,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 ""
|
||||
@@ -305,6 +291,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Erro: A fila não está vazia. Não será possível mudar de pasta."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -425,7 +418,6 @@ msgstr ""
|
||||
"Você deve definir a largura de banda máxima antes de definir um limite de "
|
||||
"banda"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Não é possível conectar ao servidor %s [%s]"
|
||||
@@ -449,20 +441,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Falha ao iniciar %s@%s devido as seguintes razões: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Excesso de conexões ao servidor %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Provável compartilhamento de conta"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Falha de logon ao servidor %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Excesso de conexões ao servidor %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Falha de logon ao servidor %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -611,14 +607,24 @@ msgstr "Falha ao carregar %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -654,15 +660,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Falha de autenticação, verifique usuário / senha."
|
||||
|
||||
@@ -795,6 +793,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Ordenação de Séries"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Ordenação por data"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Executando script"
|
||||
@@ -1206,27 +1216,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)"
|
||||
|
||||
@@ -1523,14 +1533,14 @@ msgstr "Falha ao mover arquivos"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Executando script de usuário %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s executado"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Código de saída do script é %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s executado"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Mais"
|
||||
@@ -1862,32 +1872,32 @@ msgstr "Remover trabalhos encerrados"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pausa tarefas de baixa prioridade"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pausa tarefas de prioridade normal"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pausa tarefas de alta prioridade"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Continua tarefas de baixa prioridade"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Continua tarefas de prioridade normal"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Continua tarefas de alta prioridade"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2167,14 +2177,6 @@ msgstr "Especial"
|
||||
msgid "Search"
|
||||
msgstr "Busca"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Pasta de Download"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Carga do sistema"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Tem certeza de que quer encerrar o SABnzbd?"
|
||||
@@ -2462,11 +2464,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2754,12 +2756,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
|
||||
@@ -2941,6 +2948,11 @@ msgstr ""
|
||||
"Local para armazenar downloads concluídos, totalmente processados.<br "
|
||||
"/><i>Pode ser anulado por categorias definidas pelo usuário.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2978,12 +2990,8 @@ msgid "Watched Folder"
|
||||
msgstr "Pasta de Assistidos"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Pasta para monitorar por arquivos .nzb.<br /><i>Também procura arquivos .nzb"
|
||||
" em arquivos .zip, .rar e .tar.gz.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Pasta para monitorar por arquivos .nzb."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3023,6 +3031,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Pastas de Sistema"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Pasta Administrativa"
|
||||
@@ -3035,6 +3047,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 ""
|
||||
@@ -3225,16 +3248,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"
|
||||
@@ -3289,6 +3302,10 @@ 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 ""
|
||||
@@ -3320,6 +3337,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"
|
||||
@@ -3711,6 +3736,10 @@ msgstr "Ler Feed"
|
||||
msgid "Force Download"
|
||||
msgstr "Forçar Download"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4075,20 +4104,6 @@ msgstr "Pasta/Caminho"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Ordenação de Séries"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Ativar a ordenação de TV"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Modelo do padrão"
|
||||
@@ -4097,23 +4112,10 @@ msgstr "Modelo do padrão"
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Predefinições"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Ativar a ordenação de filmes"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Categorias Afetadas"
|
||||
@@ -4130,26 +4132,6 @@ msgstr "Modelo"
|
||||
msgid "Result"
|
||||
msgstr "Resultado"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Pasta Da Temporada"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Pasta Da Temporada"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Pasta Do Episódio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Pasta Do Episódio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
@@ -4198,10 +4180,6 @@ msgstr "Nome.Episódio"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Nome_Episódio"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Extensão do arquivo"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Extensão"
|
||||
@@ -4243,8 +4221,16 @@ msgid "Sort String"
|
||||
msgstr "String de ordenação"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Rótulo multi-parte"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4254,26 +4240,13 @@ msgstr "Em pastas"
|
||||
msgid "No folders"
|
||||
msgstr "Sem pastas"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Ordenação por data"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Ativar a ordenação por data"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Pasta do Nome do Show"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Pastas Ano-Mês"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Pastas Diárias"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4304,6 +4277,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4476,14 +4512,6 @@ msgstr "Opcionalmente, especifique um nome de arquivo"
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
||||
|
||||
#: 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"
|
||||
@@ -4550,6 +4578,10 @@ msgstr "Confirmar Exclusões do Histórico"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Por quanto tempo ou até quando você quer pausar? (em Inglês!)"
|
||||
@@ -4572,6 +4604,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Ordenar por Idade <small>Mais antigo→Mais novo</small>"
|
||||
@@ -4720,8 +4756,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Falha ao renomear: %s para %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4787,10 +4823,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."
|
||||
|
||||
395
po/main/ro.po
395
po/main/ro.po
@@ -1,17 +1,17 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Eduard Baniceru <war4peace@gmail.com>, 2021
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Romanian (https://app.transifex.com/sabnzbd/teams/111101/ro/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -38,19 +38,13 @@ msgstr "Pornirea interfeţei-web nereuşită"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Nu se poate găsi şablon web:%s, se încearcă şablon standard"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"SABYenc dezactivat: nu s-a găsit o versiune corectă! (Găsită v%s, se "
|
||||
"așteaptă v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
"Modul SABYenc... NEgăsit! Se așteaptă v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools dezactivat: nu s-a găsit o versiune corectă! (Găsită v%s, se "
|
||||
"așteaptă v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -145,14 +139,6 @@ msgstr "Închidere SABnzbd terminată"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Semnal %s prins, salvez şi ies..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -168,11 +154,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -298,6 +279,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 ""
|
||||
@@ -317,6 +302,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Eroare: Coada nu este goală, nu pot schimba dosar."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -439,7 +431,6 @@ msgstr ""
|
||||
"Trebuie să seta-ţi lățimea de bandă maximă înainte de a seta o limită de "
|
||||
"viteză."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Nu mă pot conecta la serverul %s [%s]"
|
||||
@@ -463,20 +454,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Nu am putu inițializa %s@%s din cauza următorului motiv: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Prea multe conexiuni la serverul %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Partajare cont probabilă"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Autentificare nereuşită la serverul %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Prea multe conexiuni la serverul %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Autentificare nereuşită la serverul %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -625,14 +620,24 @@ msgstr "Încărcarea %s nereuşită"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -668,15 +673,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Autentificare nereuşită, verifică nume utilizator/parolă."
|
||||
|
||||
@@ -815,6 +812,18 @@ msgstr "[%s] Comanda din build_command este nedefinită."
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr "Scriptul Python „%s” nu are permisiuni de executare (+x)"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Sortare Seriale"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Sortare Dată"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Rulare script"
|
||||
@@ -1232,27 +1241,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"
|
||||
|
||||
@@ -1552,14 +1561,14 @@ msgstr "Nu am putu muta fişier"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Rulare script utilizator %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Durată %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Codul de ieșire a scriptului este %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Durată %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Mai mult"
|
||||
@@ -1890,32 +1899,32 @@ msgstr "Elimină sarcinile finalizate"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Întrerupte sarcinile cu prioritate redusă"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Întrerupe sarcinile cu prioritate normală"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Întrerupe sarcinile cu prioritate ridicată"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Reia sarcinile cu prioritate redusă"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Reia sarcinile cu prioritate normală"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Reia sarcinile cu prioritate ridicată"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2195,14 +2204,6 @@ msgstr "Special"
|
||||
msgid "Search"
|
||||
msgstr "Caută"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Dosar Descărcare"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Încărcare sistem"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Sunteţi sigur că doriţi să inchideţi SABnzbd?"
|
||||
@@ -2490,11 +2491,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2783,12 +2784,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
|
||||
@@ -2969,6 +2975,11 @@ msgstr ""
|
||||
"Locație pentru stocare , a descărcărilor procesate complet.<br /><i>Poate fi"
|
||||
" suprascris de categoriile definite de utilizator.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -3006,12 +3017,8 @@ msgid "Watched Folder"
|
||||
msgstr "Dosar Monitorizat"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Dosar pentru supraveghere fişiere .nzb.<br /><i>Scanează de asemenea şi "
|
||||
"arhivele .zip .rar .tar.gz de fişiere .nzb.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Dosar pentru supraveghere fişiere .nzb."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3049,6 +3056,10 @@ msgstr "Fişier ce conţine parole pentru fişiere RAR encriptate."
|
||||
msgid "System Folders"
|
||||
msgstr "Dosare Sistem"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Dosar Administrativ"
|
||||
@@ -3061,6 +3072,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 ""
|
||||
@@ -3252,16 +3274,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"
|
||||
@@ -3315,6 +3327,10 @@ 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"
|
||||
@@ -3348,6 +3364,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"
|
||||
@@ -3741,6 +3765,10 @@ msgstr "Citeşte Flux"
|
||||
msgid "Force Download"
|
||||
msgstr "Descărcare Forţată"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4104,20 +4132,6 @@ msgstr "Dosar/Cale"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Sortare Seriale"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Activează Sortare TV"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Model Cheie"
|
||||
@@ -4126,23 +4140,10 @@ msgstr "Model Cheie"
|
||||
msgid "Clear"
|
||||
msgstr "Şterge"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Presetări"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Activează Sortare Filme"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Categorii Afectate"
|
||||
@@ -4159,26 +4160,6 @@ msgstr "Șablon"
|
||||
msgid "Result"
|
||||
msgstr "Rezultat"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Dosar Sezon"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Dosar Sezon"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Dosar Episod"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Dosar Episod"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Titlu"
|
||||
@@ -4227,10 +4208,6 @@ msgstr "Nume.Episod"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Nume_Episod"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Extensie fișier"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Extensie"
|
||||
@@ -4272,8 +4249,16 @@ msgid "Sort String"
|
||||
msgstr "Şir Caractere Sortare"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Etichetă Multi-părţi"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4283,26 +4268,13 @@ msgstr "În dosare"
|
||||
msgid "No folders"
|
||||
msgstr "Fără dosare"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Sortare Dată"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Activează Sortare Dată"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Arată Nume dosar"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Dosar An-Lună"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Dosare Zilnice"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4333,6 +4305,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Toate"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4504,14 +4539,6 @@ msgstr "Opţional specifică un nume de fişier"
|
||||
msgid "Submit"
|
||||
msgstr "Trimite"
|
||||
|
||||
#: 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"
|
||||
@@ -4580,6 +4607,10 @@ msgstr "Confirmă Ştergere Istoric"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Cât timp sau până când doriți să întrerupeți? (în Engleză!)"
|
||||
@@ -4602,6 +4633,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Sortează după Vârstă <small>Cel mai Vechi→Cel mai Nou</small>"
|
||||
@@ -4751,8 +4786,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Redenumire:%s în %s nereuşită"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4820,10 +4855,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."
|
||||
|
||||
390
po/main/ru.po
390
po/main/ru.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2022\n"
|
||||
"Language-Team: Russian (https://www.transifex.com/sabnzbd/teams/111101/ru/)\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Russian (https://app.transifex.com/sabnzbd/teams/111101/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -39,15 +39,10 @@ msgstr ""
|
||||
"Не удаётся найти шаблон веб-интерфейса: %s. Выполняется попытка использовать"
|
||||
" стандартный шаблон"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -139,14 +134,6 @@ msgstr "Завершение работы SABnzbd закончено"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Получен сигнал %s. Выполняется сохранение и выход..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -162,11 +149,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -286,6 +268,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 ""
|
||||
@@ -305,6 +291,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Ошибка: очередь не пустая, папку нельзя изменить."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -421,7 +414,6 @@ msgstr "Приостановлено"
|
||||
msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Не удаётся подключиться к серверу %s [%s]"
|
||||
@@ -445,20 +437,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Возможно, учётная запись используется где-то ещё"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Ошибка входа на сервер %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Ошибка входа на сервер %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -607,14 +603,24 @@ msgstr "Ошибка загрузки %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -650,15 +656,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Ошибка проверки подлинности. Проверьте имя и пароль."
|
||||
|
||||
@@ -793,6 +791,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Сортировка сериалов"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Сортировка даты"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Запуск сценария"
|
||||
@@ -1206,27 +1216,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 с"
|
||||
|
||||
@@ -1520,14 +1530,14 @@ msgstr "Не удалось переместить файлы"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Запуск пользовательского сценария %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Запущено %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Запущено %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Подробнее"
|
||||
@@ -1858,32 +1868,32 @@ msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr ""
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2163,14 +2173,6 @@ msgstr "Особая"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Каталог загрузки"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Загрузка системы"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Остановить SABnzbd?"
|
||||
@@ -2458,11 +2460,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2749,12 +2751,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
|
||||
@@ -2937,6 +2944,11 @@ msgstr ""
|
||||
"Место для сохранения готовых, полностью обработанных загрузок.<br /><i>Можно"
|
||||
" переопределить в пользовательских категориях.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2974,12 +2986,8 @@ msgid "Watched Folder"
|
||||
msgstr "Наблюдаемая папка"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Папка для поиска NZB-файлов.<br /><i>NZB-файлы также ищутся в архивах ZIP, "
|
||||
"RAR и TAR.GZ.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Папка для поиска NZB-файлов."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3019,6 +3027,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Системные папки"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Административная папка"
|
||||
@@ -3031,6 +3043,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 ""
|
||||
@@ -3218,16 +3241,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 "Переименовывать папки"
|
||||
@@ -3281,6 +3294,10 @@ 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 ""
|
||||
@@ -3312,6 +3329,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 "Заменять точки в названиях папок"
|
||||
@@ -3702,6 +3727,10 @@ msgstr "Прочитать ленту"
|
||||
msgid "Force Download"
|
||||
msgstr "Загрузить принудительно"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4072,20 +4101,6 @@ msgstr "Папка или путь"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Сортировка сериалов"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Использовать сортировку по ТВ-шоу"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Ключи шаблона"
|
||||
@@ -4094,23 +4109,10 @@ msgstr "Ключи шаблона"
|
||||
msgid "Clear"
|
||||
msgstr "Очистить"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Готовые шаблоны"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Использовать сортировку по фильмам"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Задействованные категории"
|
||||
@@ -4127,26 +4129,6 @@ msgstr "Шаблон"
|
||||
msgid "Result"
|
||||
msgstr "Результат"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Сезон Папка"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Сезон Папка"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Эпизод Папка"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Эпизод Папка"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Название"
|
||||
@@ -4195,10 +4177,6 @@ msgstr "Название.эпизода"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Название_эпизода"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Расширение файла"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Расширение"
|
||||
@@ -4240,8 +4218,16 @@ msgid "Sort String"
|
||||
msgstr "Строка сортировки"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Обозначение нескольких частей"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4251,26 +4237,13 @@ msgstr "В папках"
|
||||
msgid "No folders"
|
||||
msgstr "Без папок"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Сортировка даты"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Использовать сортировку по дате"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Папка с названием сериала"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Папки с годом и месяцем"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Папки по дням"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4301,6 +4274,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Все"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4472,14 +4508,6 @@ msgstr "Имя файла (необязательно)"
|
||||
msgid "Submit"
|
||||
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 ""
|
||||
@@ -4546,6 +4574,10 @@ msgstr "Подтвердите удаление журнала"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr ""
|
||||
@@ -4568,6 +4600,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Сортировать по возрасту <small>от старых к новым</small>"
|
||||
@@ -4718,8 +4754,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Не удалось переименовать: %s в %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4784,10 +4820,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 "Во время входа на сервер был выполнен выход."
|
||||
|
||||
391
po/main/sr.po
391
po/main/sr.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Serbian (https://app.transifex.com/sabnzbd/teams/111101/sr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -37,15 +37,10 @@ msgstr "Neuspešno pokretanje web interfejsa"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Немогуће наћи веб модел: %s, програм покушава са стандардним моделом"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -137,14 +132,6 @@ msgstr "Гашење SABnzbd је завршено"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Signal %s primljen, snimanje i napuštanje..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -160,11 +147,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -284,6 +266,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 ""
|
||||
@@ -303,6 +289,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Грешка: ред није празан, фасцикла се не може променити."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -420,7 +413,6 @@ msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr ""
|
||||
"Требате да поставите максимални проток пре него што поставите ограничење"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Neuspešno povezivanje na server %s[%s]"
|
||||
@@ -444,20 +436,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Neuspešna inicijalizacija %s@%s iz razloga: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "Previše konekcija ka serveru %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Moguće deljenje naloga"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Неуспешно пријављивање на сервер %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "Previše konekcija ka serveru %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Неуспешно пријављивање на сервер %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -606,14 +602,24 @@ msgstr "Učitavanje %s neuspešno"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -647,15 +653,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Аутентификација погрешна, проверити име/лозинку."
|
||||
|
||||
@@ -788,6 +786,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Сортирање серије"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Сређивање датумом"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Покретање скрипта"
|
||||
@@ -1200,27 +1210,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 сек"
|
||||
|
||||
@@ -1512,14 +1522,14 @@ msgstr "Неуспешно премештање датотека"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Покретање скрипта %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s покренуто"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Kod prekida skripte je %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "%s покренуто"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Више"
|
||||
@@ -1850,32 +1860,32 @@ msgstr "Ukloni završene poslove"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pauziraj poslove sa niskim prioritetom"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pauziraj poslove sa normalnim prioritetom"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pauziraj poslove sa visokim prioritetom"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Настави радови са ниским приоритетом"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Настави радови са нормалним приоритетом"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Настави радови са високим приоритетом"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2155,14 +2165,6 @@ msgstr "Посебно"
|
||||
msgid "Search"
|
||||
msgstr "Претрага"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Фасцикла преузимања"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Sysload"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "Da li ste sigurni da želite ugasiti SABnzbd?"
|
||||
@@ -2450,11 +2452,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2737,12 +2739,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
|
||||
@@ -2923,6 +2930,11 @@ msgstr ""
|
||||
"Смештај завршених, процесираних преузимања.<br /><i>Може се заобићи у "
|
||||
"дефинисаним категоријама.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2960,13 +2972,8 @@ msgid "Watched Folder"
|
||||
msgstr "Надгледана фасцикла"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Фасцикла за надгледање <b>.nzb</b> датотека.<br /><i>Такође скенира "
|
||||
"<b>.zip</b> <b>.rar</b> и <b>.tar.gz</b> архиве у потрази за <b>.nzb</b> "
|
||||
"датотекама.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Фасцикла за надгледање .nzb датотека."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3004,6 +3011,10 @@ msgstr "Датотека са свим лозинкама за шифрован
|
||||
msgid "System Folders"
|
||||
msgstr "Системске фасцикле"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Фасцикла Администратора"
|
||||
@@ -3016,6 +3027,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 ""
|
||||
@@ -3206,16 +3228,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 "Упали преименовање фасцикле"
|
||||
@@ -3268,6 +3280,10 @@ 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 ""
|
||||
@@ -3299,6 +3315,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 "Размени тачке у имену фасцикле"
|
||||
@@ -3687,6 +3711,10 @@ msgstr "Читај фид"
|
||||
msgid "Force Download"
|
||||
msgstr "Натерај преузимање"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4050,20 +4078,6 @@ msgstr "Фасцикла/Путања"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Сортирање серије"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Упали сортирање ТВ-а"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Модел кључа"
|
||||
@@ -4072,23 +4086,10 @@ msgstr "Модел кључа"
|
||||
msgid "Clear"
|
||||
msgstr "Очисти"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Предподешавања"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Упали сортирање филма"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Погођене категорије"
|
||||
@@ -4105,26 +4106,6 @@ msgstr "Модел"
|
||||
msgid "Result"
|
||||
msgstr "Резултат"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Фасцикла сезоне"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Фасцикла сезоне"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Фасцикла епизоде"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Фасцикла епизоде"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Наслов"
|
||||
@@ -4173,10 +4154,6 @@ msgstr "Име.Епизоде"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Име_епизоде"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Екстензија датотеке"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Екстензија"
|
||||
@@ -4218,8 +4195,16 @@ msgid "Sort String"
|
||||
msgstr "Уреди низ"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Етикете више-партија"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4229,26 +4214,13 @@ msgstr "У фасциклама"
|
||||
msgid "No folders"
|
||||
msgstr "Нема фасцикле"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Сређивање датумом"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Упали сређивање по датуму"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Фасцикла Име Серије"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "Фасцикле Година-Месец"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Дневне фасцикле"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4279,6 +4251,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Све"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4451,14 +4486,6 @@ msgstr "Опционо специфирати име"
|
||||
msgid "Submit"
|
||||
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"
|
||||
@@ -4525,6 +4552,10 @@ msgstr "Потврда брисања хронологије"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Koliko dugo ili dokle želite da pauzirate? (na engleskom!)"
|
||||
@@ -4547,6 +4578,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Среди по старост <small>Старије→Новије</small>"
|
||||
@@ -4695,8 +4730,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Неуспешно преименовање : %s у %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4762,10 +4797,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 "Сервер се затворио при пријављивање"
|
||||
|
||||
390
po/main/sv.po
390
po/main/sv.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Swedish (https://app.transifex.com/sabnzbd/teams/111101/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -37,15 +37,10 @@ msgstr "Det gick inte att starta webbgränssnittet"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "Hittar inte webbmall: %s, försöker med standardmall"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
@@ -137,14 +132,6 @@ msgstr "SABnzbd nedstängning utförd."
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "Signal %s mottagen, sparar och stänger..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -160,11 +147,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -284,6 +266,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 ""
|
||||
@@ -303,6 +289,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "Fel: Kön är inte tom, kan inte byta mapp."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -420,7 +413,6 @@ msgstr "Pausad"
|
||||
msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr "Du måste ange maximal bandbredd innan du kan ange bandbreddsgräns"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "Kan ej ansluta till server %s [%s]"
|
||||
@@ -444,20 +436,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "Misslyckades att initiera %s@%s med orsak %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "För många anslutningar till servern %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "Misstänkt kontodelning"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "Det gick inte att logga in på server %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "För många anslutningar till servern %s [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "Det gick inte att logga in på server %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -606,14 +602,24 @@ msgstr "Laddning av %s misslyckades"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -649,15 +655,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "Autentisering misslyckades, kontrollera användarnamn och lösenord."
|
||||
|
||||
@@ -790,6 +788,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Seriesortering"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Datum sortering"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "Kör skript"
|
||||
@@ -1204,27 +1214,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"
|
||||
|
||||
@@ -1518,14 +1528,14 @@ msgstr "Misslyckades med att flytta filer"
|
||||
msgid "Running user script %s"
|
||||
msgstr "Kör användarskript %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Körde %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "Skriptets utgångskod är %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "Körde %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "Mer"
|
||||
@@ -1856,32 +1866,32 @@ msgstr "Ta bort färdiga jobb"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "Pausa lågprioriterade jobb"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "Pausa normalprioriterade jobb"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "Pausa högprioriterade jobb"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "Återuppta lågprioriterade jobb"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "Återuppta normalprioriterade jobb"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "Återuppta högprioriterade jobb"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2161,14 +2171,6 @@ msgstr "Speciell"
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "Temporär nedladdningmapp"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "Systembelastning"
|
||||
|
||||
#: 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?"
|
||||
@@ -2456,11 +2458,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2746,12 +2748,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
|
||||
@@ -2934,6 +2941,11 @@ msgstr ""
|
||||
"Plats för att lagra bearbetade och färdiga nedladdningar.<br /><i>Kan "
|
||||
"åsidosättas av användar-definierade kategorier.</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2971,12 +2983,8 @@ msgid "Watched Folder"
|
||||
msgstr "Övervakad Mapp"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"Mapp som igenomsöks automatiskt efter .nzb filer.<br /><i>Skannar även "
|
||||
"igenom .zip .rar och .tar.gz arkiv efter .nzb filer.</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "Mapp som igenomsöks automatiskt efter .nzb filer."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -3015,6 +3023,10 @@ msgstr ""
|
||||
msgid "System Folders"
|
||||
msgstr "Systemmappar"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "Administrativ mapp"
|
||||
@@ -3027,6 +3039,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>"
|
||||
@@ -3216,16 +3239,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"
|
||||
@@ -3278,6 +3291,10 @@ 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 ""
|
||||
@@ -3309,6 +3326,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"
|
||||
@@ -3700,6 +3725,10 @@ msgstr "Läs flöde"
|
||||
msgid "Force Download"
|
||||
msgstr "Tvinga nedladdning"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4063,20 +4092,6 @@ msgstr "Mapp/Sökväg"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "Seriesortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "Aktivera TV sortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "Hjälp till Sorteringssträng"
|
||||
@@ -4085,23 +4100,10 @@ msgstr "Hjälp till Sorteringssträng"
|
||||
msgid "Clear"
|
||||
msgstr "Rensa"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "Förinställningar"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "Aktivera filmsortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "Påverkade kategorier"
|
||||
@@ -4118,26 +4120,6 @@ msgstr "Mönster"
|
||||
msgid "Result"
|
||||
msgstr "Resultat"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 Säsongsmapp"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 Säsongsmapp"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 Episodmapp"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 Episodmapp"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
@@ -4186,10 +4168,6 @@ msgstr "Episod.Namn"
|
||||
msgid "Episode_Name"
|
||||
msgstr "Episod_Namn"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "Filändelse"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "Filändelse"
|
||||
@@ -4231,8 +4209,16 @@ msgid "Sort String"
|
||||
msgstr "Sorteringssträng"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "Multi-del etikett"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4242,26 +4228,13 @@ msgstr "In mapp"
|
||||
msgid "No folders"
|
||||
msgstr "Ingen mapp"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "Datum sortering"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "Aktivera datumssortering"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "Visa Namn på mapp"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "År-Månads mappar"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "Dagliga mappar"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4292,6 +4265,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "Alla"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4463,14 +4499,6 @@ msgstr "Alternativt ange ett filnamn"
|
||||
msgid "Submit"
|
||||
msgstr "Skicka"
|
||||
|
||||
#: 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"
|
||||
@@ -4537,6 +4565,10 @@ msgstr "Bekräfta Historik-borttagningar"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "Hur lång tid eller tills då vill du pausa? (på engelska!)"
|
||||
@@ -4559,6 +4591,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "Sortera efter ålder <small>Äldst→Nyast</small>"
|
||||
@@ -4709,8 +4745,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "Det gick inte att döpa om: %s till %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4776,10 +4812,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"
|
||||
|
||||
389
po/main/zh_CN.po
389
po/main/zh_CN.po
@@ -1,16 +1,16 @@
|
||||
# SABnzbd Translation Template file MAIN
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2022
|
||||
# Safihre <safihre@sabnzbd.org>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -37,16 +37,11 @@ msgstr "web 界面启动失败"
|
||||
msgid "Cannot find web template: %s, trying standard template"
|
||||
msgstr "无法找到 web 模板: %s,正在尝试标准模板"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid "SABYenc disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr "SABYenc 已禁用:未找到正确的版本!(找到 v%s,要求 v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
msgid ""
|
||||
"SABYenc module... NOT found! Expecting v%s - https://sabnzbd.org/sabyenc"
|
||||
msgstr "SABYenc 模块... 未找到!要求 v%s - https://sabnzbd.org/sabyenc"
|
||||
"SABCTools disabled: no correct version found! (Found v%s, expecting v%s)"
|
||||
msgstr "SABCTools 已禁用:未找到正确的版本!(找到 v%s,要求 v%s)"
|
||||
|
||||
#. Error message
|
||||
#: SABnzbd.py
|
||||
@@ -135,14 +130,6 @@ msgstr "SABnzbd 关闭完成"
|
||||
msgid "Signal %s caught, saving and exiting..."
|
||||
msgstr "捕捉到 %s 信号,正在保存并退出..."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid ""
|
||||
"We are planning to remove the '%s' setting, which you have changed from the "
|
||||
"default value. Could you let us know why you made this change at: "
|
||||
"https://github.com/sabnzbd/sabnzbd/discussions"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Fatal error at saving state"
|
||||
@@ -158,11 +145,6 @@ msgstr ""
|
||||
msgid "Restarting because of crashed downloader"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed decoder"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/__init__.py
|
||||
msgid "Restarting because of crashed assembler"
|
||||
@@ -282,6 +264,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 ""
|
||||
@@ -301,6 +287,13 @@ msgstr ""
|
||||
msgid "Error: Queue not empty, cannot change folder."
|
||||
msgstr "错误: 队列非空,无法变更文件夹。"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/cfg.py
|
||||
msgid ""
|
||||
"Do not use a folder in the application folder as your Scripts Folder, it "
|
||||
"might be emptied during updates."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
msgid "Configuration locked, cannot save settings"
|
||||
@@ -417,7 +410,6 @@ msgstr "已暂停"
|
||||
msgid "You must set a maximum bandwidth before you can set a bandwidth limit"
|
||||
msgstr "设置带宽限制前,您必须设置最大带宽值"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Cannot connect to server %s [%s]"
|
||||
msgstr "无法连接到服务器 %s [%s]"
|
||||
@@ -441,20 +433,24 @@ msgstr ""
|
||||
msgid "Failed to initialize %s@%s with reason: %s"
|
||||
msgstr "无法初始化 %s@%s,原因为: %s"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s"
|
||||
msgstr "服务器 %s 连接数过多"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Probable account sharing"
|
||||
msgstr "可能存在账号共享"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s"
|
||||
msgstr "无法登录服务器 %s"
|
||||
msgid "Fatal error in Downloader"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
msgstr "服务器 %s 连接数过多 [%s]"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid ""
|
||||
"Login from too many different IP addresses to server %s [%s] - "
|
||||
"https://sabnzbd.org/multiple-adresses"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Failed login for server %s [%s]"
|
||||
msgstr "无法登录服务器 %s [%s]"
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/downloader.py
|
||||
@@ -603,14 +599,24 @@ msgstr "加载 %s 失败"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "%s is not writable at all. This blocks downloads."
|
||||
msgid "Cannot write a long filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid "Cannot write a unicode filename to %s. This can cause problems."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/filesystem.py
|
||||
msgid ""
|
||||
"%s is not writable with special character filenames. This can cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/interface.py
|
||||
@@ -642,13 +648,7 @@ 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
|
||||
#: sabnzbd/interface.py, sabnzbd/utils/servertests.py
|
||||
msgid "Authentication failed, check username/password."
|
||||
msgstr "身份认证失败,请检查用户名/密码。"
|
||||
|
||||
@@ -781,6 +781,18 @@ msgstr ""
|
||||
msgid "Python script \"%s\" does not have execute (+x) permission set"
|
||||
msgstr "Python 脚本 \"%s\" 不具有执行 (+x) 权限"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "TV 排序"
|
||||
|
||||
#: sabnzbd/misc.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "日期排序"
|
||||
|
||||
#: sabnzbd/misc.py, sabnzbd/skintext.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "电影排序"
|
||||
|
||||
#: sabnzbd/newsunpack.py, sabnzbd/postproc.py
|
||||
msgid "Running script"
|
||||
msgstr "正在执行脚本"
|
||||
@@ -1191,27 +1203,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 秒"
|
||||
|
||||
@@ -1503,14 +1515,14 @@ msgstr "移动文件失败"
|
||||
msgid "Running user script %s"
|
||||
msgstr "正在执行用户脚本 %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "执行 %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Script exit code is %s"
|
||||
msgstr "脚本退出代码为 %s"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Ran %s"
|
||||
msgstr "执行 %s"
|
||||
|
||||
#: sabnzbd/postproc.py, sabnzbd/skintext.py
|
||||
msgid "More"
|
||||
msgstr "更多"
|
||||
@@ -1841,32 +1853,32 @@ msgstr "移除已完成任务"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause low prioirty jobs"
|
||||
msgid "Pause low priority jobs"
|
||||
msgstr "暂停低优先级任务"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause normal prioirty jobs"
|
||||
msgid "Pause normal priority jobs"
|
||||
msgstr "暂停常规优先级任务"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pause high prioirty jobs"
|
||||
msgid "Pause high priority jobs"
|
||||
msgstr "暂停高优先级任务"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume low prioirty jobs"
|
||||
msgid "Resume low priority jobs"
|
||||
msgstr "继续低优先级任务"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume normal prioirty jobs"
|
||||
msgid "Resume normal priority jobs"
|
||||
msgstr "继续常规优先级任务"
|
||||
|
||||
#. Config->Scheduler
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Resume high prioirty jobs"
|
||||
msgid "Resume high priority jobs"
|
||||
msgstr "继续高优先级任务"
|
||||
|
||||
#. Config->Scheduler
|
||||
@@ -2146,14 +2158,6 @@ msgstr "特殊"
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Download Dir"
|
||||
msgstr "下载目录"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sysload"
|
||||
msgstr "系统负载"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to shutdown SABnzbd?"
|
||||
msgstr "是否确定要关闭 SABnzbd?"
|
||||
@@ -2441,11 +2445,11 @@ msgid "Download speed limited by"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "CPU"
|
||||
msgid "Disk speed"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Disk speed"
|
||||
msgid "System load"
|
||||
msgstr ""
|
||||
|
||||
#. Do not translate Pystone
|
||||
@@ -2719,12 +2723,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
|
||||
@@ -2894,6 +2903,11 @@ msgid ""
|
||||
"overruled by user-defined categories.</i>"
|
||||
msgstr "存储完成且已完全处理的下载数据的位置。<br /><i>可以通过用户定义分类额外调整。</i>"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Use Sorting to automatically organize and rename your completed downloads."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Free Space for Completed Download Folder"
|
||||
msgstr ""
|
||||
@@ -2929,11 +2943,8 @@ msgid "Watched Folder"
|
||||
msgstr "监视文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Folder to monitor for .nzb files.<br /><i>Also scans .zip .rar and .tar.gz "
|
||||
"archives for .nzb files.</i>"
|
||||
msgstr ""
|
||||
"要监视 .nzb 文件的文件夹。<br /><i>会同时扫描 .zip .rar 及 .tar.gz 压缩文件中的 .nzb 文件。</i>"
|
||||
msgid "Folder to monitor for .nzb files."
|
||||
msgstr "要监视 .nzb 文件的文件夹。"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Watched Folder Scan Speed"
|
||||
@@ -2971,6 +2982,10 @@ msgstr "包含要对加密 RAR 文件进行尝试的所有密码的文件。"
|
||||
msgid "System Folders"
|
||||
msgstr "系统文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Hidden Folders"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Administrative Folder"
|
||||
msgstr "管理文件夹"
|
||||
@@ -2981,6 +2996,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>"
|
||||
@@ -3163,16 +3189,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 "启用文件夹重命名"
|
||||
@@ -3223,6 +3239,10 @@ 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 "传播延迟"
|
||||
@@ -3254,6 +3274,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 "替换文件夹名称中的点号"
|
||||
@@ -3636,6 +3664,10 @@ msgstr "读取 Feed"
|
||||
msgid "Force Download"
|
||||
msgstr "强制下载"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "应用过滤器"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
@@ -4000,20 +4032,6 @@ msgstr "文件夹/路径"
|
||||
msgid "Indexer Categories / Groups"
|
||||
msgstr "索引 Categories / Groups"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Select at least 1 category."
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Series Sorting"
|
||||
msgstr "TV 排序"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable TV Sorting"
|
||||
msgstr "启用 TV 排序"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Pattern Key"
|
||||
msgstr "匹配符释义"
|
||||
@@ -4022,23 +4040,10 @@ msgstr "匹配符释义"
|
||||
msgid "Clear"
|
||||
msgstr "清除"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Apply filters"
|
||||
msgstr "应用过滤器"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Presets"
|
||||
msgstr "预设"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Movie Sorting"
|
||||
msgstr "电影排序"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Movie Sorting"
|
||||
msgstr "启用电影排序"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Categories"
|
||||
msgstr "影响分类"
|
||||
@@ -4055,26 +4060,6 @@ msgstr "匹配"
|
||||
msgid "Result"
|
||||
msgstr "结果"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Season Folder"
|
||||
msgstr "1x05 季度文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Season Folder"
|
||||
msgstr "S01E05 季度文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "1x05 Episode Folder"
|
||||
msgstr "1x05 剧集文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "S01E05 Episode Folder"
|
||||
msgstr "S01E05 剧集文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Title"
|
||||
msgstr "标题"
|
||||
@@ -4123,10 +4108,6 @@ msgstr "集.名"
|
||||
msgid "Episode_Name"
|
||||
msgstr "集_名"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "File Extension"
|
||||
msgstr "文件扩展名"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Extension"
|
||||
msgstr "扩展名"
|
||||
@@ -4168,8 +4149,16 @@ msgid "Sort String"
|
||||
msgstr "排序字串"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Multi-part label"
|
||||
msgstr "多段标记"
|
||||
msgid "Multi-part Label"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Season folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "In folders"
|
||||
@@ -4179,26 +4168,13 @@ msgstr "分文件夹"
|
||||
msgid "No folders"
|
||||
msgstr "不分文件夹"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/skintext.py, sabnzbd/sorting.py
|
||||
msgid "Date Sorting"
|
||||
msgstr "日期排序"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Job Name as Filename"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Enable Date Sorting"
|
||||
msgstr "启用日期排序"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Name folder"
|
||||
msgstr "节目名称文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Year-Month Folders"
|
||||
msgstr "年-月文件夹"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Daily Folders"
|
||||
msgstr "每天文件夹"
|
||||
msgid "Series"
|
||||
msgstr ""
|
||||
|
||||
#. Note for title expression in Sorting that does case adjustment
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4229,6 +4205,69 @@ msgstr ""
|
||||
msgid "GuessIt_Property"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Minimum Filesize"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Affected Job Types"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "All"
|
||||
msgstr "全部"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Series with air dates"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Movies"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Other / Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"<p>Use Sorters to automatically organize your completed downloads. For "
|
||||
"example, put all episodes from a series in a season-specific folder. Or, put"
|
||||
" movies in a folder named after the movie.</p><p>Sorters are tried in order "
|
||||
"of appearance and can be reordered by dragging and dropping.<br/>The first "
|
||||
"active sorter that matches both the affected category and job type is "
|
||||
"applied.</p><p>More options are available when Advanced Settings is "
|
||||
"checked.<br/>Detailed information can be found on the Wiki.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Add Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Remove Sorter"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Test Data"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Quick start"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all episodes in the \"tv\" category to a show-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move and rename all movies in the \"movies\" category to a movie-specific "
|
||||
"folder"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Rarely used options. For their meaning and explanation, click on the Help "
|
||||
@@ -4398,14 +4437,6 @@ msgstr "可以选择指定文件名"
|
||||
msgid "Submit"
|
||||
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 "移除已选文件"
|
||||
@@ -4472,6 +4503,10 @@ msgstr "确认历史删除"
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Shift+Arrow key: Browse Queue and History pages"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "How long or untill when do you want to pause? (in English!)"
|
||||
msgstr "您希望在多久之后/什么时候暂停? (用英语作答!)"
|
||||
@@ -4494,6 +4529,10 @@ msgid ""
|
||||
" and the included copy of your settings."
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by % downloaded <small>Most→Least</small>"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Sort by Age <small>Oldest→Newest</small>"
|
||||
msgstr "按发布时间排序 <small>最早→最新</small>"
|
||||
@@ -4640,8 +4679,8 @@ msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
msgid "Failed to rename: %s to %s"
|
||||
msgstr "重命名失败: %s 为 %s"
|
||||
msgid "Failed to rename %s to %s"
|
||||
msgstr ""
|
||||
|
||||
#. Error message
|
||||
#: sabnzbd/sorting.py
|
||||
@@ -4706,10 +4745,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 "登录过程中服务器退出。"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: team@sabnzbd.org\n"
|
||||
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Czech (https://app.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Danish (https://app.transifex.com/sabnzbd/teams/111101/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 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.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Simon W., 2021\n"
|
||||
"Language-Team: German (https://www.transifex.com/sabnzbd/teams/111101/de/)\n"
|
||||
"Last-Translator: reloxx13 <reloxx@interia.pl>, 2022\n"
|
||||
"Language-Team: German (https://app.transifex.com/sabnzbd/teams/111101/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -8,15 +8,15 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Spanish (https://app.transifex.com/sabnzbd/teams/111101/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: Finnish (https://app.transifex.com/sabnzbd/teams/111101/fi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright 2007-2022 The SABnzbd-Team
|
||||
# Copyright 2007-2023 The SABnzbd-Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
@@ -8,15 +8,15 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.6.0RC1\n"
|
||||
"Project-Id-Version: SABnzbd-4.1.0-develop\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"
|
||||
"Language-Team: French (https://app.transifex.com/sabnzbd/teams/111101/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user