Compare commits

...

38 Commits

Author SHA1 Message Date
Safihre bc4f06dd1d Limit feedparser<6.0.0 for 3.0.x 5 years ago
Safihre 51cc765949 Update text files for 3.0.2 5 years ago
Safihre 19c6a4fffa Propagation delay label was shown even if no delay was activated 5 years ago
Safihre 105ac32d2f Reading RSS feed with no categories set could result in crash 5 years ago
Safihre 57550675d2 Removed logging in macOS sabApp that resulted in double logging 5 years ago
Safihre e674abc5c0 Update text files for 3.0.2RC2 5 years ago
Safihre f965c96f51 Change the macOS power assertion to NoIdleSleep 5 years ago
Safihre c76b8ed9e0 End-of-queue-script did not run on Windows due to long-path 5 years ago
Safihre 4fbd0d8a7b Check if `name` is a string before switching to `nzbfile` in `addfile` 5 years ago
Safihre 2186c0fff6 Update text files for 3.0.2 RC 1 5 years ago
Safihre 1adca9a9c1 Do not crash if certifi certificates are not available 5 years ago
Safihre 9408353f2b Priority was not parsed correctly if supplied as string 5 years ago
Safihre 84f4d453d2 Permissions would be set even if user didn't set any 5 years ago
Safihre d10209f2a1 Extend tests of create_all_dirs to cover apply_umask=False 5 years ago
Safihre 3ae149c72f Split the make_mo.py command for NSIS 5 years ago
Safihre 47385acc3b Make sure we force the final_name to string on legacy get_attrib_file 5 years ago
Safihre 814eeaa900 Redesigned the saving of attributes 5 years ago
Safihre 5f2ea13aad NzbFile comparison could crash when comparing finished_files 5 years ago
Safihre b57d36e8dd Set version information to 3.0.1 5 years ago
Safihre 9a4be70734 List Cheetah minimal version in requirements.txt 5 years ago
Safihre a8443595a6 Generalize use of certifi module 5 years ago
Safihre fd0a70ac58 Update text files for 3.0.1 5 years ago
Safihre 8a8685c968 Permissions should only be applied if requested 5 years ago
Safihre 9e6cb8da8e Temporarily set cheroot version due to it breaking our tests 5 years ago
Safihre 054ec54d51 Basic authentication option was broken 5 years ago
Safihre 272ce773cb Update text files for 3.0.1RC1 5 years ago
Safihre 050b925f7b Permissions were not set correctly when creating directories (#1568) 5 years ago
Safihre e323c014f9 Set version information to 3.0.0 5 years ago
Safihre cc465c7554 Update text files for 3.0.0 5 years ago
Safihre 14cb37564f Update translate-link in SABnzbd 5 years ago
Safihre 094db56c3b Default-text for Automatically sort queue 5 years ago
Safihre aabb709b8b Update text files for 3.0.0 RC 2 5 years ago
Safihre 0833dd2db9 Update translatable texts in 3.0.x branch 5 years ago
Safihre cd3f912be4 RAR-renamer should be run on badly named RAR-files 5 years ago
Safihre 665c516db6 Only really run pre-script when it is set 5 years ago
Safihre b670da9fa0 Always use Default-priority when creating NZB-objects 5 years ago
Safihre 80bee9bffe Search-icon would be shown on top of drop-downs 5 years ago
Safihre d85a70e8ad Always report API paused status as a boolean 5 years ago
  1. 2
      ABOUT.txt
  2. 4
      PKG-INFO
  3. 26
      README.mkd
  4. 28
      SABnzbd.py
  5. 2
      interfaces/Config/templates/config_switches.tmpl
  6. 2
      interfaces/Glitter/templates/include_overlays.tmpl
  7. 2
      interfaces/Glitter/templates/static/stylesheets/glitter.css
  8. 8
      po/email/SABemail.pot
  9. 42
      po/email/da.po
  10. 43
      po/email/de.po
  11. 51
      po/email/es.po
  12. 48
      po/email/fi.po
  13. 42
      po/email/fr.po
  14. 54
      po/email/he.po
  15. 42
      po/email/nb.po
  16. 42
      po/email/nl.po
  17. 42
      po/email/pl.po
  18. 48
      po/email/pt_BR.po
  19. 45
      po/email/ro.po
  20. 42
      po/email/ru.po
  21. 43
      po/email/sr.po
  22. 42
      po/email/sv.po
  23. 39
      po/email/zh_CN.po
  24. 1301
      po/main/SABnzbd.pot
  25. 2202
      po/main/da.po
  26. 2259
      po/main/de.po
  27. 2222
      po/main/es.po
  28. 2220
      po/main/fi.po
  29. 2270
      po/main/fr.po
  30. 1837
      po/main/he.po
  31. 2190
      po/main/nb.po
  32. 2206
      po/main/nl.po
  33. 2208
      po/main/pl.po
  34. 2218
      po/main/pt_BR.po
  35. 2227
      po/main/ro.po
  36. 2158
      po/main/ru.po
  37. 2178
      po/main/sr.po
  38. 2174
      po/main/sv.po
  39. 2152
      po/main/zh_CN.po
  40. 8
      po/nsis/SABnsis.pot
  41. 54
      po/nsis/da.po
  42. 60
      po/nsis/de.po
  43. 51
      po/nsis/es.po
  44. 51
      po/nsis/fi.po
  45. 51
      po/nsis/fr.po
  46. 51
      po/nsis/he.po
  47. 51
      po/nsis/nb.po
  48. 52
      po/nsis/nl.po
  49. 50
      po/nsis/pl.po
  50. 50
      po/nsis/pt_BR.po
  51. 51
      po/nsis/ro.po
  52. 42
      po/nsis/ru.po
  53. 51
      po/nsis/sr.po
  54. 50
      po/nsis/sv.po
  55. 48
      po/nsis/zh_CN.po
  56. 7
      requirements.txt
  57. 10
      sabnzbd/__init__.py
  58. 4
      sabnzbd/api.py
  59. 52
      sabnzbd/filesystem.py
  60. 13
      sabnzbd/interface.py
  61. 9
      sabnzbd/nzbqueue.py
  62. 78
      sabnzbd/nzbstuff.py
  63. 5
      sabnzbd/postproc.py
  64. 6
      sabnzbd/rss.py
  65. 6
      sabnzbd/utils/sleepless.py
  66. 4
      sabnzbd/version.py
  67. 109
      tests/test_filesystem.py
  68. 26
      tests/test_misc.py
  69. 14
      tests/test_utils/test_sleepless.py
  70. 5
      tools/make_mo.py

2
ABOUT.txt

@ -1,5 +1,5 @@
*******************************************
*** This is SABnzbd 3.0.0 ***
*** This is SABnzbd ***
*******************************************
SABnzbd is an open-source cross-platform binary newsreader.

4
PKG-INFO

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

26
README.mkd

@ -1,7 +1,24 @@
Release Notes - SABnzbd 3.0.0 RC 1
Release Notes - SABnzbd 3.0.2
=========================================================
## About this new version
## Bugfixes since 3.0.1
- Priority was not parsed correctly if supplied as through the API.
- API-call `addfile` could fail if `name` and `nzbfile` were used.
- Permissions were still not set correctly when creating directories.
- Propagation delay label was shown even if no delay was activated.
- Reading RSS feed with no categories set could result in crash.
- Jobs with numeric names could crash post-processing.
- Jobs with missing articles could result in crash.
- macOS: changed the power assertion to `NoIdleSleep`.
- Windows: end-of-queue-script did not run on Windows.
- Windows: crash if the virus scanner removed the certificate bundle.
## Bugfixes since 3.0.0
- Basic Authentication resulted in crash.
- Permissions were not set correctly when creating directories.
- Windows: base SSL certificate bundle was not included.
## About the new major version
We have been working for months to upgrade the SABnzbd code from Python 2 to Python 3.
Although it might not sound like a big change, we had to rewrite almost every part of
the code. We also included a number of new features, listed below.
@ -37,9 +54,12 @@ the code. We also included a number of new features, listed below.
- macOS features such as the menu and notifications now use native code.
## Bugfixes since 2.3.9
- Resolved potential security issue in FAT-filesystem check.
- Resolved potential security issue in FAT-filesystem check and Nice and IONice Parameters.
More information: https://github.com/sabnzbd/sabnzbd/security/advisories/GHSA-9x87-96gg-33w2
- Sample removal did not work if only 1 sample file was present.
- Crash on badly formatted RSS-feeds or readout during editing.
- Only really run pre-queue-script when it is set.
- Always report API `paused` status as a boolean.
- Automatic aborting of jobs that can't be completed would sometimes not trigger.
- Windows systems could enter standby state during downloading.
- Some errors thrown by unrar were not caught.

28
SABnzbd.py

@ -24,6 +24,7 @@ if sys.hexversion < 0x03050000:
import logging
import logging.handlers
import importlib.util
import traceback
import getopt
import signal
@ -36,18 +37,12 @@ import re
try:
import Cheetah
if Cheetah.Version[0] != "3":
raise ValueError
import feedparser
import configobj
import cherrypy
import portend
import cryptography
import chardet
except ValueError:
print("Sorry, requires Python module Cheetah 3 or higher.")
sys.exit(1)
except ImportError as e:
print("Not all required Python modules are available, please check requirements.txt")
print("Missing module:", e.name)
@ -1168,12 +1163,19 @@ def main():
# SSL Information
logging.info("SSL version = %s", ssl.OPENSSL_VERSION)
# Load (extra) certificates in the binary distributions
if hasattr(sys, "frozen") and (sabnzbd.WIN32 or sabnzbd.DARWIN):
# The certifi package brings the latest certificates on build
# This will cause the create_default_context to load it automatically
os.environ["SSL_CERT_FILE"] = os.path.join(sabnzbd.DIR_PROG, "cacert.pem")
logging.info("Loaded additional certificates from %s", os.environ["SSL_CERT_FILE"])
# Load (extra) certificates if supplied by certifi
# This is optional and provided in the binaries
if importlib.util.find_spec("certifi") is not None:
import certifi
try:
os.environ["SSL_CERT_FILE"] = certifi.where()
logging.info("Certifi version: %s", certifi.__version__)
logging.info("Loaded additional certificates from: %s", os.environ["SSL_CERT_FILE"])
except:
# Sometimes the certificate file is blocked
logging.warning(T("Could not load additional certificates from certifi package"))
logging.info("Traceback: ", exc_info=True)
# Extra startup info
if sabnzbd.cfg.log_level() > 1:
@ -1701,9 +1703,7 @@ if __name__ == "__main__":
# This code is made with trial-and-error, please improve!
class startApp(Thread):
def run(self):
logging.info("[osx] sabApp Starting - starting main thread")
main()
logging.info("[osx] sabApp Stopping - main thread quit ")
AppHelper.stopEventLoop()
sabApp = startApp()

2
interfaces/Config/templates/config_switches.tmpl

@ -135,7 +135,7 @@
<div class="field-pair advanced-settings">
<label class="config" for="auto_sort">$T('opt-auto_sort')</label>
<select name="auto_sort" id="auto_sort">
<option value=""></option>
<option value="">$T('default')</option>
<option value="avg_age asc" <!--#if $auto_sort == "avg_age asc" then 'selected="selected"' else ""#--> >$T('Glitter-sortAgeAsc')</option>
<option value="avg_age desc" <!--#if $auto_sort == "avg_age desc" 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>

2
interfaces/Glitter/templates/include_overlays.tmpl

@ -63,7 +63,7 @@
<p><strong>If you encounter an error, please include the log file (click on <span class="glyphicon glyphicon-wrench"></span> ) when contacting us.</strong></p>
<span class="glyphicon glyphicon-home"></span> <a href="https://forums.sabnzbd.org/viewforum.php?f=11" target="_blank">SABnzbd Forum</a><br />
<span class="glyphicon glyphicon-plane"></span> <a href="https://github.com/sabnzbd/sabnzbd/" target="_blank">SABnzbd on Github</a><br />
<span class="glyphicon glyphicon-globe"></span> <a href="https://translations.launchpad.net/sabnzbd" target="_blank">Translations of SABnzbd</a><br />
<span class="glyphicon glyphicon-globe"></span> <a href="https://sabnzbd.org/wiki/translate" target="_blank">Translations of SABnzbd</a><br />
</div>
</div>

2
interfaces/Glitter/templates/static/stylesheets/glitter.css

@ -1209,7 +1209,7 @@ tr.queue-item>td:first-child>a {
right: 0;
padding: 8px 10px 3px 0px;
opacity: 0.7;
z-index: 999;
z-index: 10;
}
.search-box a span {

8
po/email/SABemail.pot

@ -7,11 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: shypike@sabnzbd.org\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Last-Translator: team@sabnzbd.org\n"
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 7bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: email/email.tmpl:1
msgid ""
"##\n"

42
po/email/da.po

@ -1,21 +1,21 @@
# Danish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2018-11-27 23:39+0000\n"
"Last-Translator: scootergrisen <scootergrisen@gmail.com>\n"
"Language-Team: Danish <da@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd har <!--#if $status then \"hentet\" else \"fejlet\" #--> "
"job $name\n"
"Subject: SABnzbd har <!--#if $status then \"hentet\" else \"fejlet\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Herefter kommer kroppen, den tomme linje skal være der!\n"
"\n"
"Hej,\n"
"<!--#if $status #-->\n"
"SABnzbd har hentet \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin "
"#\" + $msgid + \")\"#-->\n"
"SABnzbd har hentet \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd kunne ikke hente \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd kunne ikke hente \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Færdig kl. $end_time\n"
"Hentet $size\n"

43
po/email/de.po

@ -1,21 +1,21 @@
# German translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Thomas Lucke (Lucky) <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -77,20 +74,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd <!--#if $status then \"hat\" else \"konnte\" #--> Auftrag "
"$name <!--#if $status then \"erfolgreich ausgeführt\" else \"nicht "
"ausführen\" #-->\n"
"Subject: SABnzbd <!--#if $status then \"hat\" else \"konnte\" #--> Auftrag $name <!--#if $status then \"erfolgreich ausgeführt\" else \"nicht ausführen\" #-->\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd hat \"$name\" <!--#if $msgid==\"\" then \"\" else \"(Newzbin #\" + "
"$msgid + \")\"#--> heruntergeladen\n"
"SABnzbd hat \"$name\" <!--#if $msgid==\"\" then \"\" else \"(Newzbin #\" + $msgid + \")\"#--> heruntergeladen\n"
"<!--#else#-->\n"
"SABnzbd konnte \"$name\" <!--#if $msgid==\"\" then \"\" else \"(Newzbin #\" "
"+ $msgid + \")\"#--> nicht herunterladen\n"
"SABnzbd konnte \"$name\" <!--#if $msgid==\"\" then \"\" else \"(Newzbin #\" + $msgid + \")\"#--> nicht herunterladen\n"
"<!--#end if#-->\n"
"Fertiggestellt: $end_time\n"
"Heruntergeladen: $size\n"

51
po/email/es.po

@ -1,21 +1,21 @@
# Spanish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: shypike <Unknown>\n"
"Language-Team: Spanish <es@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,20 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd <!--#if $status then \"he bajado\" else \"fallo en bajar\" "
"#--> job $name\n"
"Subject: SABnzbd <!--#if $status then \"he bajado\" else \"fallo en bajar\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## !Después de esto viene el cuerpo del mensaje, la línea en blanco es "
"necesaria!\n"
"## !Después de esto viene el cuerpo del mensaje, la línea en blanco es necesaria!\n"
"\n"
"Hola,\n"
"<!--#if $status #-->\n"
"SABnzbd he bajado \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin "
"#\" + $msgid + \")\"#-->\n"
"SABnzbd he bajado \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd fallo en bajar \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd fallo en bajar \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Terminado a las $end_time\n"
"$size bajado\n"
@ -101,8 +94,7 @@ msgstr ""
"<!--#end for#-->\n"
"<!--#end for#-->\n"
"<!--#if $script!=\"\" #-->\n"
"Producción desde el script de usuario \"$script\" (Exit code = "
"$script_ret):\n"
"Producción desde el script de usuario \"$script\" (Exit code = $script_ret):\n"
"$script_output\n"
"<!--#end if#-->\n"
"<!--#if $status #-->\n"
@ -153,8 +145,7 @@ msgstr ""
"Subject: SABnzbd he añadido $amount transferencia(s) a la cola\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## !Después de esto viene el cuerpo del mensaje, la línea en blanco es "
"necesaria!\n"
"## !Después de esto viene el cuerpo del mensaje, la línea en blanco es necesaria!\n"
"\n"
"Hola,\n"
"\n"

48
po/email/fi.po

@ -1,21 +1,21 @@
# Finnish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Matti Ylönen <Unknown>\n"
"Language-Team: Finnish <fi@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,20 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd on <!--#if $status then \"valmistunut\" else "
"\"epäonnistunut\" #--> työssä $name\n"
"Subject: SABnzbd on <!--#if $status then \"valmistunut\" else \"epäonnistunut\" #--> työssä $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Tämän jälkeen tulee viestin runko, ensimmäinen rivinvaihto on "
"pakollinen!\n"
"## Tämän jälkeen tulee viestin runko, ensimmäinen rivinvaihto on pakollinen!\n"
"\n"
"Hei,\n"
"<!--#if $status #-->\n"
"SABnzbd on ladannut \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin "
"#\" + $msgid + \")\"#-->\n"
"SABnzbd on ladannut \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd on epäonnistunut \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#--> latauksessa\n"
"SABnzbd on epäonnistunut \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#--> latauksessa\n"
"<!--#end if#-->\n"
"Valmistui $end_time\n"
"Ladattu $size\n"
@ -152,8 +145,7 @@ msgstr ""
"Subject: SABnzbd on lisännyt $amount työtä jonoon\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Tämän jälkeen tulee viestin runko, ensimmäinen rivinvaihto on "
"pakollinen!\n"
"## Tämän jälkeen tulee viestin runko, ensimmäinen rivinvaihto on pakollinen!\n"
"\n"
"Hei,\n"
"\n"

42
po/email/fr.po

@ -1,21 +1,21 @@
# French translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Fox Ace <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -76,19 +73,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd <!--#if $status#-->Succès<!--#else#-->Echec<!--#end if#--> "
"du téléchargement $name\n"
"Subject: SABnzbd <!--#if $status#-->Succès<!--#else#-->Echec<!--#end if#--> du téléchargement $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Après cela vient le contenu, la ligne vide est nécessaire! \n"
"\n"
"Bonjour,\n"
"<!--#if $status #-->\n"
"SABnzbd a téléchargé avec succès \"$name\" <!--#if $msgid==\"\" then \"\" "
"else \"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd a téléchargé avec succès \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd a téléchargé sans succès \"$name\" <!--#if $msgid==\"\" then \"\" "
"else \"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd a téléchargé sans succès \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Terminé à $end_time\n"
"Téléchargé $size\n"

54
po/email/he.po

@ -1,21 +1,21 @@
# Hebrew translation for sabnzbd
# Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# ION, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2019-01-21 15:26+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Hebrew <he@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: he\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -65,27 +62,24 @@ msgid ""
"<!--#end if#-->\n"
msgstr ""
"##\n"
"## SABnzbd תבנית דוא\"ל ברירת מחדל עבור\n"
"## SABnzbd תבנית דוא״ל ברירת מחדל עבור\n"
"## זאת תבנית ברדלס\n"
"## http://sabnzbd.wikidot.com/email-templates :תיעוד\n"
"##\n"
"## !שורות חדשות ורווחים לבנים הם משמעותיים\n"
"##\n"
"## אלו כותרות הדוא\"ל\n"
"## אלו כותרות הדוא״ל\n"
"$to :אל\n"
"$from :מאת\n"
"תאריך: $date\n"
"<!--#if $status then \"completed\" else \"failed\" #--> $name יש עבודה אשר "
"SABnzbd-נושא: ל\n"
"<!--#if $status then \"completed\" else \"failed\" #--> $name יש עבודה אשר SABnzbd-נושא: ל\n"
"## !אחרי זה בא הגוף, השורה הריקה דרושה\n"
"\n"
",היי\n"
"<!--#if $status #-->\n"
"SABnzbd הוריד את \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin "
"#\" + $msgid + \")\"#-->\n"
"SABnzbd הוריד את \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd נכשל להוריד את \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd נכשל להוריד את \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"הסתיים ב-$end_time\n"
"הורדו $size\n"
@ -136,13 +130,13 @@ msgid ""
"Bye\n"
msgstr ""
"##\n"
"## SABnzbd עבור RSS תבנית דוא\"ל\n"
"## SABnzbd עבור RSS תבנית דוא״ל\n"
"## זאת תבנית ברדלס\n"
"## http://sabnzbd.wikidot.com/email-templates :תיעוד\n"
"##\n"
"## !שורות חדשות ורווחים לבנים הם משמעותיים\n"
"##\n"
"## אלו כותרות הדוא\"ל\n"
"## אלו כותרות הדוא״ל\n"
"$to :אל\n"
"$from :מאת\n"
"תאריך: $date\n"
@ -185,13 +179,13 @@ msgid ""
"Bye\n"
msgstr ""
"##\n"
"## SABnzbd רעה עבור URL תבנית דוא\"ל של משיכת\n"
"## SABnzbd רעה עבור URL תבנית דוא״ל של משיכת\n"
"## זאת תבנית ברדלס\n"
"## http://sabnzbd.wikidot.com/email-templates :תיעוד\n"
"##\n"
"## !שורות חדשות ורווחים לבנים הם משמעותיים\n"
"##\n"
"## אלו כותרות הדוא\"ל\n"
"## אלו כותרות הדוא״ל\n"
"$to :אל\n"
"$from :מאת\n"
"תאריך: $date\n"

42
po/email/nb.po

@ -1,21 +1,21 @@
# Norwegian Bokmal translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -77,19 +74,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd har <!--#if $status then \"completed\" else \"failed\" #--> "
"jobb $name\n"
"Subject: SABnzbd har <!--#if $status then \"completed\" else \"failed\" #--> jobb $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hei,\n"
"<!--#if $status #-->\n"
"SABnzbd har lastet ned \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd har lastet ned \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd mislyktes med å laste ned \"$name\" <!--#if $msgid==\"\" then \"\" "
"else \"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd mislyktes med å laste ned \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Ferdig $end_time\n"
"Nedlastet $size\n"

42
po/email/nl.po

@ -1,21 +1,21 @@
# Dutch translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: shypike <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd: opdracht $name is <!--#if $status then \"klaar\" else "
"\"mislukt\" #-->\n"
"Subject: SABnzbd: opdracht $name is <!--#if $status then \"klaar\" else \"mislukt\" #-->\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Hier onder volgt de hoofdtekst, de lege regel is noodzakelijk!\n"
"\n"
"Hallo,\n"
"<!--#if $status #-->\n"
"SABnzbd heeft \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + "
"$msgid + \")\"#--> gedownload\n"
"SABnzbd heeft \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#--> gedownload\n"
"<!--#else#-->\n"
"SABnzbd is niet geslaagd in het downloaden van \"$name\" <!--#if "
"$msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd is niet geslaagd in het downloaden van \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Klaar om $end_time\n"
"Hoeveelheid gedownload $size\n"

42
po/email/pl.po

@ -1,21 +1,21 @@
# Polish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Tomasz 'Zen' Napierala <tomasz@napierala.org>\n"
"Language-Team: Polish <pl@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd <!--#if $status then \"zakończył\" else \"zakończył z "
"błędem\" #--> zadanie $name\n"
"Subject: SABnzbd <!--#if $status then \"zakończył\" else \"zakończył z błędem\" #--> zadanie $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Następnie treść maila, wymagana jest pusta linia!\n"
"\n"
"Cześć,\n"
"<!--#if $status #-->\n"
"SABnzbd pobrał \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" "
"+ $msgid + \")\"#-->\n"
"SABnzbd pobrał \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd nie pobrał \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin "
"#\" + $msgid + \")\"#-->\n"
"SABnzbd nie pobrał \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Zakończono o $end_time\n"
"Pobrano $size\n"

48
po/email/pt_BR.po

@ -1,21 +1,21 @@
# Brazilian Portuguese translation for sabnzbd
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: lrrosa <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd <!--#if $status then \"completou \" else \"falhou n\" #-->a "
"tarefa $name\n"
"Subject: SABnzbd <!--#if $status then \"completou \" else \"falhou n\" #-->a tarefa $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Depois daqui vem o corpo. A linha vazia é necessária!\n"
"\n"
"Olá,\n"
"<!--#if $status #-->\n"
"SABnzbd baixou \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" "
"+ $msgid + \")\"#-->\n"
"SABnzbd baixou \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd falhou no download de \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd falhou no download de \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Completado em $end_time\n"
"Baixados $size\n"
@ -148,16 +142,14 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd adicionou $amount <!--#if $amount == \"1\" then \"tarefa\" "
"else \"tarefas\" #--> à fila\n"
"Subject: SABnzbd adicionou $amount <!--#if $amount == \"1\" then \"tarefa\" else \"tarefas\" #--> à fila\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Depois daqui vem o corpo. A linha vazia é necessária!\n"
"\n"
"Olá,\n"
"\n"
"SABnzbd adicionou $amount <!--#if $amount == \"1\" then \"tarefa\" else "
"\"tarefas\" #--> à fila.\n"
"SABnzbd adicionou $amount <!--#if $amount == \"1\" then \"tarefa\" else \"tarefas\" #--> à fila.\n"
"Elas são do feed RSS \"$feed\".\n"
"<!--#for $job in $jobs#-->\n"
" $job <!--#slurp#-->\n"

45
po/email/ro.po

@ -1,21 +1,21 @@
# Romanian translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: nicusor <Unknown>\n"
"Language-Team: Romanian <ro@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd <!--#if $status then \"a terminat\" else \"nu a reuşit\" #--"
"> sarcina $name\n"
"Subject: SABnzbd <!--#if $status then \"a terminat\" else \"nu a reuşit\" #--> sarcina $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## După acesta urmează conţinutul, este necesar o linie goală!\n"
"\n"
"Salut,\n"
"<!--#if $status #-->\n"
"SABnzbd a descărcat \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin "
"#\" + $msgid + \")\"#-->\n"
"SABnzbd a descărcat \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd nu a reuşit să descarce \"$name\" <!--#if $msgid==\"\" then \"\" "
"else \"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd nu a reuşit să descarce \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Terminat la $end_time\n"
"Mărime $size\n"
@ -100,8 +94,7 @@ msgstr ""
"<!--#end for#-->\n"
"<!--#end for#-->\n"
"<!--#if $script!=\"\" #-->\n"
"Rezultatul script-ului utilizatorului \"$script\" (Exit code = "
"$script_ret):\n"
"Rezultatul script-ului utilizatorului \"$script\" (Exit code = $script_ret):\n"
"$script_output\n"
"<!--#end if#-->\n"
"<!--#if $status #-->\n"

42
po/email/ru.po

@ -1,21 +1,21 @@
# Russian translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Pavel Maryanov <Unknown>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd: задание $name <!--#if $status then \"успешно выполнено\" "
"else \"не удалось выполнить\" #-->\n"
"Subject: SABnzbd: задание $name <!--#if $status then \"успешно выполнено\" else \"не удалось выполнить\" #-->\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## Теперь следует тело сообщения. Пустая строка является обязательной!\n"
"\n"
"Привет.\n"
"<!--#if $status #-->\n"
"Системой SABnzbd загружено задание «$name» <!--#if $msgid==\"\" then \"\" "
"else \"(newzbin #\" + $msgid + \")\"#-->\n"
"Системой SABnzbd загружено задание «$name» <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"Системе SABnzbd не удалось загрузить «$name» <!--#if $msgid==\"\" then \"\" "
"else \"(newzbin #\" + $msgid + \")\"#-->\n"
"Системе SABnzbd не удалось загрузить «$name» <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Время окончания загрузки: $end_time\n"
"Загруженный размер: $size\n"

43
po/email/sr.po

@ -1,22 +1,21 @@
# Serbian translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2017-06-24 19:51+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Launchpad Serbian Translators\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: email/email.tmpl:1
msgid ""
@ -31,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -76,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: САБнзбд је <!--#if $status then \"completed\" else \"failed\" #--> "
"посао „$name“\n"
"Subject: САБнзбд је <!--#if $status then \"completed\" else \"failed\" #--> посао „$name“\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## После тога долази разрада, празни редови су потребни!\n"
"\n"
"Здраво,\n"
"<!--#if $status #-->\n"
"САБнзбд је преузео „$name“ <!--#if $msgid==\"\" then \"\" else \"(newzbin "
"#\" + $msgid + \")\"#-->\n"
"САБнзбд је преузео „$name“ <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"САБнзбд није успео да преузме „$name“ <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"САБнзбд није успео да преузме „$name“ <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Завршено је у $end_time\n"
"Преузето је $size\n"

42
po/email/sv.po

@ -1,21 +1,21 @@
# Swedish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2017-06-24 19:50+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Swedish <sv@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -75,19 +72,16 @@ msgstr ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hej,\n"
"<!--#if $status #-->\n"
"SABnzbd har laddat ned \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd har laddat ned \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd misslyckades med att ladda ned \"$name\" <!--#if $msgid==\"\" then "
"\"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd misslyckades med att ladda ned \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Färdig $end_time\n"
"Nedladdat $size\n"

39
po/email/zh_CN.po

@ -1,21 +1,21 @@
# Chinese (Simplified) translation for sabnzbd
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
# SABnzbd Translation Template file EMAIL
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-04-28 21:31+0000\n"
"PO-Revision-Date: 2015-10-24 11:05+0000\n"
"Last-Translator: shypike <Unknown>\n"
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-04-29 06:36+0000\n"
"X-Generator: Launchpad (build d1105341713c5be348effe2a5142c4a210ce4cde)\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: email/email.tmpl:1
msgid ""
@ -30,19 +30,16 @@ msgid ""
"To: $to\n"
"From: $from\n"
"Date: $date\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
"job $name\n"
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> job $name\n"
"X-priority: 5\n"
"X-MS-priority: 5\n"
"## After this comes the body, the empty line is required!\n"
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
"\"(newzbin #\" + $msgid + \")\"#-->\n"
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"Finished at $end_time\n"
"Downloaded $size\n"
@ -82,11 +79,9 @@ msgstr ""
"\n"
"Hi,\n"
"<!--#if $status #-->\n"
"SABnzbd 已完成 \"$name\" 的下载 <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" "
"+ $msgid + \")\"#-->\n"
"SABnzbd 已完成 \"$name\" 的下载 <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#else#-->\n"
"SABnzbd 下载 \"$name\" 失败 <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + "
"$msgid + \")\"#-->\n"
"SABnzbd 下载 \"$name\" 失败 <!--#if $msgid==\"\" then \"\" else \"(newzbin #\" + $msgid + \")\"#-->\n"
"<!--#end if#-->\n"
"完成于 $end_time\n"
"已下载 $size\n"

1301
po/main/SABnzbd.pot

File diff suppressed because it is too large

2202
po/main/da.po

File diff suppressed because it is too large

2259
po/main/de.po

File diff suppressed because it is too large

2222
po/main/es.po

File diff suppressed because it is too large

2220
po/main/fi.po

File diff suppressed because it is too large

2270
po/main/fr.po

File diff suppressed because it is too large

1837
po/main/he.po

File diff suppressed because it is too large

2190
po/main/nb.po

File diff suppressed because it is too large

2206
po/main/nl.po

File diff suppressed because it is too large

2208
po/main/pl.po

File diff suppressed because it is too large

2218
po/main/pt_BR.po

File diff suppressed because it is too large

2227
po/main/ro.po

File diff suppressed because it is too large

2158
po/main/ru.po

File diff suppressed because it is too large

2178
po/main/sr.po

File diff suppressed because it is too large

2174
po/main/sv.po

File diff suppressed because it is too large

2152
po/main/zh_CN.po

File diff suppressed because it is too large

8
po/nsis/SABnsis.pot

@ -7,11 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: shypike@sabnzbd.org\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Last-Translator: team@sabnzbd.org\n"
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 7bit\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"

54
po/nsis/da.po

@ -1,21 +1,21 @@
# Danish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2018-11-27 23:30+0000\n"
"Last-Translator: scootergrisen <scootergrisen@gmail.com>\n"
"Language-Team: Danish <da@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -72,35 +72,9 @@ msgid ""
"the previous version or `Cancel` to cancel this upgrade."
msgstr ""
"Du kan ikke overskrive en eksisterende installation. \\n\\nKlik `OK` for at "
"fjerne den tidligere version eller `Annuller` for at annullere opgraderingen."
"fjerne den tidligere version eller `Annuller` for at annullere "
"opgraderingen."
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Dine indstillinger og data vil blive bevaret."
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Gå til SABnzbd Wiki"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> ADVARSEL <<<<\\r\\n\\r\\nVenligst, se først "
#~ "produktbemærkningerne eller gå til http://wiki.sabnzbd.org/introducing-0-7-0 "
#~ "!"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Systemet kræver at Microsoft runtime-biblioteket VC90 skal installeres "
#~ "først. Vil du gøre det nu?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Kan ikke installere uden runtime-bibliotek, prøv igen?"
#~ msgid "Download error, retry?"
#~ msgstr "Fejl ved download, prøv igen?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Downloader Microsoft runtime-installationsfil..."

60
po/nsis/de.po

@ -1,21 +1,21 @@
# German translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2020-06-22 22:10+0000\n"
"Last-Translator: reloxx <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-06-23 06:02+0000\n"
"X-Generator: Launchpad (build 1cbd0aa39df153c901321817f9b57cf3f232b507)\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -35,10 +35,8 @@ msgid ""
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
"services or `Cancel` to cancel this upgrade."
msgstr ""
"Aufgrund von Änderungen am SABnzbd Windows Service ab Version 3.0.0 ist es "
"nötig,\\nden Windows Service neu zu installieren.\\n\\n\r\n"
"Drücke `OK` um den existierenden Service zu löschen oder `Abbrechen` um "
"dieses Upgrade abzubrechen."
"Aufgrund von Änderungen am SABnzbd Windows Service ab Version 3.0.0 ist es nötig,\\nden Windows Service neu zu installieren.\\n\\n\r\n"
"Drücke `OK` um den existierenden Service zu löschen oder `Abbrechen` um dieses Upgrade abzubrechen."
#: NSIS_Installer.nsi
msgid ""
@ -84,33 +82,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Ihre Einstellungen und Daten bleiben erhalten."
#~ msgid "Download error, retry?"
#~ msgstr "Download-Fehler. Erneut versuchen?"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Dieses System erfordert die Installation der Laufzeitbibliothek VC90 von "
#~ "Microsoft. Möchten Sie die Installation jetzt durchführen?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr ""
#~ "Installation ohne Laufzeitbibliothek nicht möglich. Erneut versuchen?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr ""
#~ "Installationsprogramm für Microsoft-Laufzeitbibliothek wird "
#~ "heruntergeladen..."
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nBitte lesen Sie zuerst die "
#~ "Versionshinweise oder gehen Sie zu http://wiki.sabnzbd.org/introducing-0-7-0 "
#~ "!"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Gehen Sie auf die SABnzbd Wiki-Seite"

51
po/nsis/es.po

@ -1,21 +1,21 @@
# Spanish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Victor Herrero <victorhera@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -77,30 +77,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Tus ajustes y datos se mantendrán intactos."
#~ msgid "Download error, retry?"
#~ msgstr "Error en la descarga, ¿probamos de nuevo?"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Este sistema requiere la ejecución de la biblioteca Microsoft runtime VC90 "
#~ "que debe ser instalada. ¿Quieres hacerlo ahora?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr ""
#~ "No se puede instalar sin la biblioteca runtime, ¿Lo volvemos a intentar?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Descargando el instalador de Microsoft runtime..."
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Ir al wiki de SABnzbd"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> ATENCION <<<<\\r\\n\\r\\nPor favor, compruebe las "
#~ "notas de version o visite http://wiki.sabnzbd.org/introducing-0-7-0 !"

51
po/nsis/fi.po

@ -1,21 +1,21 @@
# Finnish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2017-04-02 07:38+0000\n"
"Last-Translator: Paavo Rissanen <paavo.rissanen@outlook.com>\n"
"Language-Team: Finnish <fi@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -77,30 +77,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Asetuksiasi ja tietojasi ei poisteta."
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Tämä järjestelmä vaatii, että Microsoft runtime kirjasto VC90 täytyy asentaa "
#~ "ensin. Haluatko asentaa sen nyt?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Ei voida asentaa ilman runtime kirjastoa, yritä uudelleen?"
#~ msgid "Download error, retry?"
#~ msgstr "Latausvirhe, yritä uudelleen?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Ladataan Microsoft runtime asennusta..."
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Siirry SABnzbd wikiin"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> VAROITUS <<<<\\r\\n\\r\\nOle hyvä ja tarkista "
#~ "julkaisutiedot tai käy osoitteessa http://wiki.sabnzbd.org/introducing-0-7-0 "
#~ "!"

51
po/nsis/fr.po

@ -1,21 +1,21 @@
# French translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2020-05-07 20:22+0000\n"
"Last-Translator: Fred <88com88@gmail.com>\n"
"Language-Team: French <fr@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -83,30 +83,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Vos paramètres et données seront conservés."
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Ce système nécessite que la bibliothèque d'exécution Microsoft vc90 soit "
#~ "installée en premier. Voulez-vous le faire maintenant?"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> AVERTISSEMENT <<<<\\r\\n\\r\\nS'il vous plaît, "
#~ "vérifiez d'abord les notes de version ou consultez "
#~ "http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Aller sur le Wiki de SABnzbd"
#~ msgid "Download error, retry?"
#~ msgstr "Erreur de téléchargement, réessayer ?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Impossible d'installer sans moteur d'exécution, réessayer?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Téléchargement de Microsoft runtime installer..."

51
po/nsis/he.po

@ -1,21 +1,21 @@
# Hebrew translation for sabnzbd
# Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2020-05-10 13:54+0000\n"
"Last-Translator: ION IL <Unknown>\n"
"Language-Team: Hebrew <he@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
"Language-Team: Hebrew (https://www.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"
"X-Launchpad-Export-Date: 2020-05-11 06:01+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: he\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -82,30 +82,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "ההגדרות והנתונים שלך יישמרו."
#~ msgid "Download error, retry?"
#~ msgstr "שגיאת הורדה, לנסות שוב?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "לא ניתן להתקין ללא ספרית זמן-אמת, לנסות שוב?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "מוריד מתקין זמן-אמת של Microsoft..."
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "מערכת זו דורשת את ספרית זמן-אמת VC90 של Microsoft שתהיה מותקנת תחילה. האם "
#~ "ברצונך להתקין אותה כעת?"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> אזהרה <<<<\\r\\n\\r\\n! "
#~ "http://wiki.sabnzbd.org/introducing-0-7-0 אנא, בדוק תחילה את הערות השחרור או "
#~ "לך אל"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "SABnzbd לך אל וויקי"

51
po/nsis/nb.po

@ -1,21 +1,21 @@
# Norwegian Bokmal translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -78,30 +78,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Dine innstillinger og data vil bli tatt vare på."
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> ADVARSEL <<<<\\r\\n\\r\\nVennligst sjekk "
#~ "versjonsmerknadene først, eller gå til http://wiki.sabnzbd.org/introducing-0-"
#~ "7-0 !"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Gå til SABnzbd Wiki"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Dette sytemet krever at Microsoft runtime library VC90 er installert først. "
#~ "Ønsker du å gjøre dette nå?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Kan ikke installere uten runtime library, prøve på nytt?"
#~ msgid "Download error, retry?"
#~ msgstr "Nedlasting feilet, prøve på nytt?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Laster ned Microsoft runtime installer..."

52
po/nsis/nl.po

@ -1,21 +1,21 @@
# Dutch translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2020-05-03 15:01+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Dutch <nl@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -35,6 +35,8 @@ msgid ""
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
"services or `Cancel` to cancel this upgrade."
msgstr ""
"De SABnzbd Windows Service is aangepast in SABnzbd 3.0.0. Hierdoor zal je de service opnieuw moeten installeren.\\n\\n\n"
"Klik `Ok` om de bestaande services te verwijderen of `Annuleren` om te stoppen."
#: NSIS_Installer.nsi
msgid ""
@ -79,29 +81,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Je instellingen en bestanden blijven behouden."
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Op dit systeem moeten eerst de Microsoft runtime bibliotheek VC90 "
#~ "geïnstalleerd worden. Wilt u dat nu doen?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Downloaden van de Microsoft bibliotheek"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> WAARSCHUWING <<<<\\\\r\\\\n\\\\r\\\\nLees eerst het "
#~ "vrijgave bericht of ga naar http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Installeren heeft geen zin zonder de bibliotheek, opnieuw proberen?"
#~ msgid "Download error, retry?"
#~ msgstr "Download mislukt, opnieuw proberen?"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Ga naar de SABnzbd-Wiki"

50
po/nsis/pl.po

@ -1,21 +1,21 @@
# Polish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Tomasz 'Zen' Napierala <tomasz@napierala.org>\n"
"Language-Team: Polish <pl@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -77,29 +77,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Twoje ustawienia i dane zostaną zachowane."
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Ten system wymaga najpierw zainstalowania bibliotek Microsoft VC90. Czy "
#~ "chcesz wykonać teraz instalację?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Nie można wykonać instalacji bez bibliotek, spróbować ponownie?"
#~ msgid "Download error, retry?"
#~ msgstr "Problem z pobieraniem, spróbować ponownie?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Pobieranie instalatora bibliotek Microsoft..."
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> UWAGA <<<<\\r\\n\\r\\nNajpierw przeczytaj informacje "
#~ "o wydaniu lub odwiedź http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Idź do wiki SABnzbd"

50
po/nsis/pt_BR.po

@ -1,21 +1,21 @@
# Brazilian Portuguese translation for sabnzbd
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: lrrosa <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -77,29 +77,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Suas configurações e os dados serão preservados."
#~ msgid "Download error, retry?"
#~ msgstr "Houve um erro de download. Quer tentar novamente?"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Este sistema precisa que a biblioteca runtime Microsoft VC90 seja instalada "
#~ "antes. Você quer fazer isso agora?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Não é possível instalar sem a biblioteca runtime. Quer repetir?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Baixando o instalador runtime da Microsoft ..."
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> ATENÇÃO <<<<\\r\\n\\r\\nPor favor, verifique primeiro "
#~ "as notas de lançamento ou vá até http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Vá para a Wiki do SABnzbd"

51
po/nsis/ro.po

@ -1,21 +1,21 @@
# Romanian translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: nicusor <Unknown>\n"
"Language-Team: Romanian <ro@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -77,30 +77,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Setările şi informaţiile vor fi salvate."
#~ msgid "Download error, retry?"
#~ msgstr "Eroare descărcare, încerc din nou?"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Acest sistem necesită librăria Microsoft VC90 instalată. Dortiți să faceți "
#~ "asta acum ?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Nu pot instala fără rutină librărie, încerc din nou?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Descărcare rutină instalare Microsoft..."
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> ATENŢIE <<<<\\r\\n\\r\\nVă rugăm, să verificaţi mai "
#~ "întâi notele de publicare sau să vizitaţi "
#~ "http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Dute la Wiki SABnzbd"

42
po/nsis/ru.po

@ -1,21 +1,21 @@
# Russian translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Pavel Maryanov <Unknown>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -78,21 +78,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Ваши параметры и данные будут сохранены."
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Для этой системы сначала необходимо установить библиотеку времени выполнения "
#~ "Microsoft VC90. Сделать это сейчас?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Загрузка программы установки Microsoft..."
#~ msgid "Download error, retry?"
#~ msgstr "Ошибка загрузки. Повторить попытку?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr ""
#~ "Не удаётся выполнить установку без библиотеки времени выполнения. Повторить "
#~ "попытку?"

51
po/nsis/sr.po

@ -1,22 +1,21 @@
# Serbian translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Ozzii <Unknown>\n"
"Language-Team: Launchpad Serbian Translators\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -78,29 +77,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Ваша подешавања и подаци биће сачувани."
#~ msgid "Download error, retry?"
#~ msgstr "Грешка у преузимању, да поновим?"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Иди на вики САБнзбд-а"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> ПАЖЊА <<<<\\r\\n\\r\\nПрво проверите белешке о издању "
#~ "или идите на „http://wiki.sabnzbd.org/introducing-0-7-0“ !"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Овај систем захтева да буде прво инсталирана Мајкрософтова извршна "
#~ "библиотека „VC90“. Да ли желите то да урадите?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Преузимам Мајкрософтов извршни програм за инсталацију..."
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Не могу да инсталирам без извршне библиотеке, да поновим?"

50
po/nsis/sv.po

@ -1,21 +1,21 @@
# Swedish translation for sabnzbd
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Andreas Lindberg <andypandyswe@gmail.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -78,29 +78,3 @@ msgstr ""
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "Dina inställningar och ditt data kommer att bevaras."
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "Gå till SABnzbd Wiki"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> VARNING <<<<\\r\\n\\r\\nVänligen läs först "
#~ "releasenoteringarna eller gå till http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr ""
#~ "Detta system kräver att Microsofts runtimebibliotek VC90 är installerat. "
#~ "Vill du göra detta nu?"
#~ msgid "Download error, retry?"
#~ msgstr "Misslyckat nedladdningsförsök, försök igen?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "Kan inte installera utan runtimebibliotek, försök igen?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "Laddar ned Microsofts runtimeinstaller..."

48
po/nsis/zh_CN.po

@ -1,21 +1,21 @@
# Chinese (Simplified) translation for sabnzbd
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the sabnzbd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
# SABnzbd Translation Template file NSIS
# Copyright 2011-2020 The SABnzbd-Team
# team@sabnzbd.org
#
# Translators:
# Safihre <safihre@sabnzbd.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2020-05-07 19:13+0000\n"
"PO-Revision-Date: 2017-05-28 17:17+0000\n"
"Last-Translator: ninjai <ninjai.us@gmail.com>\n"
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
"Project-Id-Version: SABnzbd-3.0.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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2020-05-08 04:51+0000\n"
"X-Generator: Launchpad (build fbdff7602bd10fb883bf7e2ddcc7fd5a16f60398)\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: NSIS_Installer.nsi
msgid "Show Release Notes"
@ -75,27 +75,3 @@ msgstr "不可以覆盖安装。\\n\\n点击“确定”可移除旧版,或点
#: NSIS_Installer.nsi
msgid "Your settings and data will be preserved."
msgstr "您的设置及数据将会保留。"
#~ msgid ""
#~ " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
#~ "release notes or go to http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgstr ""
#~ " >>>> *警告* <<<<\\r\\n\\r\\n请首先查看版本说明或访问 "
#~ "http://wiki.sabnzbd.org/introducing-0-7-0 !"
#~ msgid "Go to the SABnzbd Wiki"
#~ msgstr "访问 SABnzbd Wiki"
#~ msgid ""
#~ "This system requires the Microsoft runtime library VC90 to be installed "
#~ "first. Do you want to do that now?"
#~ msgstr "该系统需要先安装 Microsoft 运行时库 VC90。是否希望立即安装?"
#~ msgid "Cannot install without runtime library, retry?"
#~ msgstr "没有运行时库无法安装,重试?"
#~ msgid "Download error, retry?"
#~ msgstr "下载出错,重试?"
#~ msgid "Downloading Microsoft runtime installer..."
#~ msgstr "正在下载 Microsoft 运行时安装程序..."

7
requirements.txt

@ -1,8 +1,9 @@
sabyenc3
cheetah3
sabyenc3>=4.0.0
cheetah3>=3.0.0
cryptography
feedparser
feedparser<6.0.0
configobj
cheroot<8.4.3
cherrypy
portend
chardet

10
sabnzbd/__init__.py

@ -105,7 +105,7 @@ import sabnzbd.nzbstuff as nzbstuff
import sabnzbd.directunpacker as directunpacker
from sabnzbd.decorators import synchronized
from sabnzbd.constants import (
NORMAL_PRIORITY,
DEFAULT_PRIORITY,
VALID_ARCHIVES,
REPAIR_REQUEST,
QUEUE_FILE_NAME,
@ -646,7 +646,7 @@ def add_nzbfile(
script=None,
cat=None,
catdir=None,
priority=NORMAL_PRIORITY,
priority=DEFAULT_PRIORITY,
nzbname=None,
nzo_info=None,
url=None,
@ -848,10 +848,10 @@ def change_queue_complete_action(action, new=True):
def run_script(script):
""" Run a user script (queue complete only) """
command = [os.path.join(cfg.script_dir.get_path(), script)]
if os.path.exists(command[0]):
script_path = filesystem.make_script_path(script)
if script_path:
try:
stup, need_shell, command, creationflags = sabnzbd.newsunpack.build_command(command)
stup, need_shell, command, creationflags = sabnzbd.newsunpack.build_command([script_path])
logging.info("Spawning external command %s", command)
subprocess.Popen(
command,

4
sabnzbd/api.py

@ -350,7 +350,7 @@ def _api_translate(name, output, kwargs):
def _api_addfile(name, output, kwargs):
""" API: accepts name, output, pp, script, cat, priority, nzbname """
# Normal upload will send the nzb in a kw arg called name or nzbfile
if not name:
if not name or isinstance(name, str):
name = kwargs.get("nzbfile", None)
if hasattr(name, "file") and hasattr(name, "filename") and name.filename:
cat = kwargs.get("cat")
@ -1610,7 +1610,7 @@ def build_header(webdir="", output=None, trans_functions=True):
header["new_release"], header["new_rel_url"] = sabnzbd.NEW_VERSION
header["version"] = sabnzbd.__version__
header["paused"] = Downloader.do.paused or Downloader.do.postproc
header["paused"] = bool(Downloader.do.paused or Downloader.do.postproc)
header["pause_int"] = scheduler.pause_int()
header["paused_all"] = sabnzbd.PAUSED_ALL

52
sabnzbd/filesystem.py

@ -457,17 +457,17 @@ def fix_unix_encoding(folder):
def make_script_path(script):
""" Return full script path, if any valid script exists, else None """
s_path = None
path = sabnzbd.cfg.script_dir.get_path()
if path and script:
script_path = None
script_dir = sabnzbd.cfg.script_dir.get_path()
if script_dir and script:
if script.lower() not in ("none", "default"):
s_path = os.path.join(path, script)
if not os.path.exists(s_path):
s_path = None
script_path = os.path.join(script_dir, script)
if not os.path.exists(script_path):
script_path = None
else:
# Paths to scripts should not be long-path notation
s_path = clip_path(s_path)
return s_path
script_path = clip_path(script_path)
return script_path
def get_admin_path(name, future):
@ -549,20 +549,34 @@ DIR_LOCK = threading.RLock()
@synchronized(DIR_LOCK)
def create_all_dirs(path, umask=False):
def create_all_dirs(path, apply_umask=False):
""" Create all required path elements and set umask on all
The umask argument is ignored on Windows
Return path if elements could be made or exists
"""
try:
# Use custom mask if desired
mask = 0o700
if umask and sabnzbd.cfg.umask():
mask = int(sabnzbd.cfg.umask(), 8)
# Use python functions to create the directory
logging.info("Creating directories: %s (mask=%s)", path, mask)
os.makedirs(path, mode=mask, exist_ok=True)
logging.info("Creating directories: %s", path)
if sabnzbd.WIN32:
os.makedirs(path, exist_ok=True)
else:
# We need to build the directory recursively so we can
# apply permissions to only the newly created folders
# We cannot use os.makedirs() as it could ignore the mode
umask = sabnzbd.cfg.umask()
if umask:
umask = int(umask, 8) | int("0700", 8)
# Build path from root
path_part_combined = "/"
for path_part in path.split("/"):
if path_part:
path_part_combined = os.path.join(path_part_combined, path_part)
# Only create if it doesn't exist
if not os.path.exists(path_part_combined):
os.mkdir(path_part_combined)
# Try to set permissions if desired, ignore failures
if umask and apply_umask:
set_chmod(path_part_combined, umask, report=False)
return path
except OSError:
logging.error(T("Failed making (%s)"), clip_path(path), exc_info=True)
@ -582,7 +596,7 @@ def get_unique_path(dirpath, n=0, create_dir=True):
if not os.path.exists(path):
if create_dir:
return create_all_dirs(path, umask=True)
return create_all_dirs(path, apply_umask=True)
else:
return path
else:
@ -643,7 +657,7 @@ def move_to_path(path, new_path):
# Cannot rename, try copying
logging.debug("File could not be renamed, trying copying: %s", path)
try:
create_all_dirs(os.path.dirname(new_path), umask=True)
create_all_dirs(os.path.dirname(new_path), apply_umask=True)
shutil.copyfile(path, new_path)
os.remove(path)
except:

13
sabnzbd/interface.py

@ -252,13 +252,9 @@ def check_login():
return check_login_cookie()
def get_users():
users = {cfg.username(): cfg.password()}
return users
def encrypt_pwd(pwd):
return pwd
def check_basic_auth(_, username, password):
""" CherryPy basic authentication validation """
return username == cfg.username() and password == cfg.password()
def set_auth(conf):
@ -268,8 +264,7 @@ def set_auth(conf):
{
"tools.auth_basic.on": True,
"tools.auth_basic.realm": "SABnzbd",
"tools.auth_basic.users": get_users,
"tools.auth_basic.encrypt": encrypt_pwd,
"tools.auth_basic.checkpassword": check_basic_auth,
}
)
conf.update(

9
sabnzbd/nzbqueue.py

@ -38,6 +38,7 @@ from sabnzbd.constants import (
QUEUE_VERSION,
FUTURE_Q_FOLDER,
JOB_ADMIN,
DEFAULT_PRIORITY,
LOW_PRIORITY,
NORMAL_PRIORITY,
HIGH_PRIORITY,
@ -240,7 +241,7 @@ class NzbQueue:
def set_top_only(self, value):
self.__top_only = value
def generate_future(self, msg, pp=None, script=None, cat=None, url=None, priority=NORMAL_PRIORITY, nzbname=None):
def generate_future(self, msg, pp=None, script=None, cat=None, url=None, priority=DEFAULT_PRIORITY, nzbname=None):
""" Create and return a placeholder nzo object """
logging.debug("Creating placeholder NZO")
future_nzo = NzbObject(
@ -709,15 +710,15 @@ class NzbQueue:
Not locked for performance, since it only reads the queue
"""
# Pre-calculate propagation delay
propagtion_delay = float(cfg.propagation_delay() * 60)
propagation_delay = float(cfg.propagation_delay() * 60)
for nzo in self.__nzo_list:
# Not when queue paused and not a forced item
if nzo.status not in (Status.PAUSED, Status.GRABBING) or nzo.priority == TOP_PRIORITY:
# Check if past propagation delay, or forced
if (
not propagtion_delay
not propagation_delay
or nzo.priority == TOP_PRIORITY
or (nzo.avg_stamp + propagtion_delay) < time.time()
or (nzo.avg_stamp + propagation_delay) < time.time()
):
if not nzo.server_in_try_list(server):
article = nzo.get_article(server, servers)

78
sabnzbd/nzbstuff.py

@ -20,6 +20,7 @@ sabnzbd.nzbstuff - misc
"""
import os
import pickle
import time
import re
import logging
@ -78,6 +79,7 @@ from sabnzbd.filesystem import (
remove_file,
get_filepath,
globber,
make_script_path,
)
from sabnzbd.decorators import synchronized
import sabnzbd.config as config
@ -480,8 +482,15 @@ class NzbFile(TryList):
self.md5 = None
def __eq__(self, other):
""" Assume it's the same file if the bytes and first article are the same """
return self.bytes == other.bytes and self.decodetable[0] == other.decodetable[0]
""" Assume it's the same file if the numer bytes and first article
are the same or if there are no articles left, use the filenames
"""
if self.bytes == other.bytes:
if self.decodetable and other.decodetable:
return self.decodetable[0] == other.decodetable[0]
# Fallback to filename comparison
return self.filename == other.filename
return False
def __hash__(self):
""" Required because we implement eq. The same file can be spread
@ -555,6 +564,8 @@ NzbObjectSaver = (
"rating_filtered",
)
NzoAttributeSaver = ("cat", "pp", "script", "priority", "final_name", "password", "url")
# Lock to prevent errors when saving the NZO data
NZO_LOCK = threading.RLock()
@ -569,7 +580,7 @@ class NzbObject(TryList):
futuretype=False,
cat=None,
url=None,
priority=NORMAL_PRIORITY,
priority=DEFAULT_PRIORITY,
nzbname=None,
status=Status.QUEUED,
nzo_info=None,
@ -706,7 +717,7 @@ class NzbObject(TryList):
self.final_name = self.final_name.replace(".", " ")
# Check against identical checksum or series/season/episode
if (not reuse) and nzb and dup_check and priority != REPAIR_PRIORITY:
if (not reuse) and nzb and dup_check and self.priority != REPAIR_PRIORITY:
duplicate, series = self.has_duplicates()
else:
duplicate = series = 0
@ -778,19 +789,15 @@ class NzbObject(TryList):
# Pickup backed-up attributes when re-using
if reuse:
cat, pp, script, priority, name, password, self.url = get_attrib_file(self.workpath, 7)
if name:
self.final_name = name
if password:
self.password = password
cat, pp, script = self.load_attribs()
# Determine category and find pp/script values
self.cat, pp_tmp, self.script, priority = cat_to_opts(cat, pp, script, priority)
self.cat, pp_tmp, self.script, priority = cat_to_opts(cat, pp, script, self.priority)
self.set_priority(priority)
self.repair, self.unpack, self.delete = pp_to_opts(pp_tmp)
# Run user pre-queue script if needed
if not reuse and cfg.pre_script():
# Run user pre-queue script if set and valid
if not reuse and make_script_path(cfg.pre_script()):
# Call the script
accept, name, pp, cat_pp, script_pp, priority, group = sabnzbd.newsunpack.pre_queue(self, pp, cat)
@ -1338,8 +1345,9 @@ class NzbObject(TryList):
labels.append(T("WAIT %s sec") % dif)
# Propagation delay label
if (self.avg_stamp + float(cfg.propagation_delay() * 60)) > time.time() and self.priority != TOP_PRIORITY:
wait_time = int((self.avg_stamp + float(cfg.propagation_delay() * 60) - time.time()) / 60 + 0.5)
propagation_delay = float(cfg.propagation_delay() * 60)
if propagation_delay and self.avg_stamp + propagation_delay > time.time() and self.priority != TOP_PRIORITY:
wait_time = int((self.avg_stamp + propagation_delay - time.time()) / 60 + 0.5)
labels.append(T("PROPAGATING %s min") % wait_time) # Queue indicator while waiting for propagation of post
return labels
@ -1891,9 +1899,36 @@ class NzbObject(TryList):
sabnzbd.save_data(self, self.nzo_id, self.workpath)
def save_attribs(self):
set_attrib_file(
self.workpath, (self.cat, self.pp, self.script, self.priority, self.final_name, self.password, self.url)
)
""" Save specific attributes for Retry """
attribs = {}
for attrib in NzoAttributeSaver:
attribs[attrib] = getattr(self, attrib)
logging.debug("Saving attributes %s for %s", attribs, self.final_name)
sabnzbd.save_data(attribs, ATTRIB_FILE, self.workpath)
def load_attribs(self):
""" Load saved attributes and return them to be parsed """
attribs = sabnzbd.load_data(ATTRIB_FILE, self.workpath, remove=False)
logging.debug("Loaded attributes %s for %s", attribs, self.final_name)
# TODO: Remove fallback to old method in SABnzbd 3.2.0
if not attribs:
cat, pp, script, self.priority, name, password, self.url = get_attrib_file(self.workpath, 7)
if name:
# Could be converted to integer due to the logic in get_attrib_file
self.final_name = str(name)
if password:
self.password = password
return cat, pp, script
# Only a subset we want to apply directly to the NZO
for attrib in ("final_name", "priority", "password", "url"):
# Only set if it is present and has a value
if attribs.get(attrib):
setattr(self, attrib, attribs[attrib])
# Rest is to be used directly in the NZO-init flow
return attribs["cat"], attribs["pp"], attribs["script"]
@synchronized(NZO_LOCK)
def build_pos_nzf_table(self, nzf_ids):
@ -2149,15 +2184,6 @@ def get_attrib_file(path, size):
return [None for _ in range(size)]
def set_attrib_file(path, attribs):
""" Write job's attributes to file """
logging.debug("Writing attributes %s to %s", attribs, path)
path = os.path.join(path, ATTRIB_FILE)
with open(path, "w", encoding="utf-8") as attr_file:
for item in attribs:
attr_file.write("%s\n" % item)
def name_extractor(subject):
""" Try to extract a file name from a subject line, return `subject` if in doubt """
result = subject

5
sabnzbd/postproc.py

@ -688,7 +688,7 @@ def prepare_extraction_path(nzo):
complete_dir = sanitize_and_trim_path(complete_dir)
if one_folder:
workdir_complete = create_all_dirs(complete_dir, umask=True)
workdir_complete = create_all_dirs(complete_dir, apply_umask=True)
else:
workdir_complete = get_unique_path(os.path.join(complete_dir, nzo.final_name), create_dir=True)
marker_file = set_marker(workdir_complete)
@ -767,7 +767,8 @@ def parring(nzo, workdir):
# If no luck with SFV, do RAR-check or RAR-rename
if sfv_check_result is None and cfg.enable_unrar():
_, _, rars, _, _ = build_filelists(workdir)
# Check for RAR's with a sensible extension
_, _, rars, _, _ = build_filelists(workdir, check_rar=False)
# If there's no RAR's, they might be super-obfuscated
if not rars:
# Returns number of renamed RAR's

6
sabnzbd/rss.py

@ -26,7 +26,7 @@ import datetime
import threading
import sabnzbd
from sabnzbd.constants import RSS_FILE_NAME, DEFAULT_PRIORITY, NORMAL_PRIORITY, DUP_PRIORITY
from sabnzbd.constants import RSS_FILE_NAME, DEFAULT_PRIORITY, DUP_PRIORITY
from sabnzbd.decorators import synchronized
import sabnzbd.config as config
import sabnzbd.cfg as cfg
@ -685,7 +685,7 @@ def _HandleLink(
script,
download,
star,
priority=NORMAL_PRIORITY,
priority=DEFAULT_PRIORITY,
rule=0,
):
""" Process one link """
@ -791,7 +791,7 @@ def _get_link(entry):
except AttributeError:
try: # nzb.su
category = entry.tags[0]["term"]
except (AttributeError, KeyError):
except (AttributeError, IndexError, KeyError):
try:
category = entry.description
except AttributeError:

6
sabnzbd/utils/sleepless.py

@ -45,12 +45,16 @@ def keep_awake(reason):
Multiple calls allowed.
"""
global assertion_id
kIOPMAssertionTypeNoIdleSleep = "PreventUserIdleSystemSleep"
# Each assertion needs to be released, so make sure to only set it once
if not assertion_id:
kIOPMAssertionTypeNoIdleSleep = "NoIdleSleepAssertion"
kIOPMAssertionLevelOn = 255
errcode, assertion_id = IOPMAssertionCreateWithName(
kIOPMAssertionTypeNoIdleSleep, kIOPMAssertionLevelOn, reason, None
)
return errcode == 0
return True
def allow_sleep():

4
sabnzbd/version.py

@ -4,5 +4,5 @@
# You MUST use double quotes (so " and not ')
__version__ = "3.0.0-develop"
__baseline__ = "unknown"
__version__ = "3.0.1"
__baseline__ = "9a4be70734dbf7ac60f5d4d308a8ff1223206503"

109
tests/test_filesystem.py

@ -194,7 +194,7 @@ class TestSameFile:
assert 0 == filesystem.same_file("/test/../home", "/test")
assert 0 == filesystem.same_file("/test/./test", "/test")
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not for Windows")
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Non-Windows tests")
@set_platform("linux")
def test_posix_fun(self):
assert 1 == filesystem.same_file("/test", "/test")
@ -302,7 +302,7 @@ class TestClipLongPath:
assert filesystem.long_path("/test/dir") == "/test/dir"
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Broken on Windows")
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Non-Windows tests")
class TestCheckMountLinux(ffs.TestCase):
# Our collection of fake directories
test_dirs = ["/media/test/dir", "/mnt/TEST/DIR"]
@ -350,7 +350,7 @@ class TestCheckMountLinux(ffs.TestCase):
assert filesystem.check_mount("/") is True
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Broken on Windows")
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Non-Windows tests")
class TestCheckMountDarwin(ffs.TestCase):
# Our faked macos directory
test_dir = "/Volumes/test/dir"
@ -458,7 +458,7 @@ class TestTrimWinPath:
assert filesystem.trim_win_path(test_path + "\\" + ("D" * 20)) == test_path + "\\" + "D" * 3
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Broken on Windows")
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Non-Windows tests")
class TestListdirFull(ffs.TestCase):
# Basic fake filesystem setup stanza
def setUp(self):
@ -539,7 +539,6 @@ class TestListdirFull(ffs.TestCase):
class TestListdirFullWin(ffs.TestCase):
# Basic fake filesystem setup stanza
@set_platform("win32")
def setUp(self):
self.setUpPyfakefs()
self.fs.is_windows_fs = True
@ -617,7 +616,7 @@ class TestListdirFullWin(ffs.TestCase):
assert filesystem.listdir_full(test_file) == []
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Broken on Windows")
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Non-Windows tests")
class TestGetUniquePathFilename(ffs.TestCase):
# Basic fake filesystem setup stanza
def setUp(self):
@ -675,9 +674,9 @@ class TestGetUniquePathFilename(ffs.TestCase):
assert filesystem.get_unique_filename(test_file) == "/some/filename.1"
@pytest.mark.skipif(not sys.platform.startswith("win"), reason="Windows specific tests")
class TestGetUniquePathFilenameWin(ffs.TestCase):
# Basic fake filesystem setup stanza
@set_platform("win32")
def setUp(self):
self.setUpPyfakefs()
self.fs.is_windows_fs = True
@ -730,6 +729,94 @@ class TestGetUniquePathFilenameWin(ffs.TestCase):
assert filesystem.get_unique_filename(test_file).lower() == r"c:\some\filename.1"
class TestCreateAllDirsWin(ffs.TestCase):
# Basic fake filesystem setup stanza
def setUp(self):
self.setUpPyfakefs()
self.fs.is_windows_fs = True
self.fs.path_separator = "\\"
self.fs.is_case_sensitive = False
@set_platform("win32")
def test_create_all_dirs(self):
self.dir = self.fs.create_dir(r"C:\Downloads")
# Also test for no crash when folder already exists
for folder in (r"C:\Downloads", r"C:\Downloads\Show\Test", r"C:\Downloads\Show\Test2", r"C:\Downloads\Show"):
assert filesystem.create_all_dirs(folder) == folder
assert os.path.exists(folder)
class PermissionCheckerHelper:
@staticmethod
def assert_dir_perms(path, expected_perms):
assert stat.filemode(os.stat(path).st_mode) == "d" + stat.filemode(expected_perms)[1:]
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Non-Windows tests")
class TestCreateAllDirs(ffs.TestCase, PermissionCheckerHelper):
def setUp(self):
self.setUpPyfakefs()
self.fs.path_separator = "/"
self.fs.is_case_sensitive = True
def test_basic_folder_creation(self):
self.fs.create_dir("/test_base")
# Also test for no crash when folder already exists
for folder in ("/test_base", "/test_base/show/season 1/episode 1", "/test_base/show"):
assert filesystem.create_all_dirs(folder) == folder
assert os.path.exists(folder)
@set_config({"umask": "0777"})
def test_permissions_777(self):
self._permissions_runner("/test_base777")
self._permissions_runner("/test_base777_nomask", apply_umask=False)
@set_config({"umask": "0770"})
def test_permissions_770(self):
self._permissions_runner("/test_base770")
self._permissions_runner("/test_base770_nomask", apply_umask=False)
@set_config({"umask": "0600"})
def test_permissions_600(self):
self._permissions_runner("/test_base600")
self._permissions_runner("/test_base600_nomask", apply_umask=False)
@set_config({"umask": "0700"})
def test_permissions_450(self):
with pytest.raises(OSError):
self._permissions_runner("/test_base450", perms_base="0450")
@set_config({"umask": ""})
def test_no_umask(self):
self._permissions_runner("/test_base_perm700", perms_base="0700")
self._permissions_runner("/test_base_perm750", perms_base="0750")
self._permissions_runner("/test_base_perm777", perms_base="0777")
self._permissions_runner("/test_base_perm600", perms_base="0600")
def _permissions_runner(self, test_base, perms_base="0700", apply_umask=True):
# Create base directory and set the base permissions
perms_base_int = int(perms_base, 8)
self.fs.create_dir(test_base, perms_base_int)
assert os.path.exists(test_base) is True
self.assert_dir_perms(test_base, perms_base_int)
# Create directories with permissions
new_dir = os.path.join(test_base, "se 1", "ep1")
filesystem.create_all_dirs(new_dir, apply_umask=apply_umask)
# If permissions needed to be set, verify the new folder has the
# right permissions and verify the base didn't change
if apply_umask and cfg.umask():
perms_test_int = int(cfg.umask(), 8) | int("0700", 8)
else:
# Get the current umask, since os.mkdir masks that out
cur_umask = os.umask(0)
os.umask(cur_umask)
perms_test_int = int("0777", 8) & ~cur_umask
self.assert_dir_perms(new_dir, perms_test_int)
self.assert_dir_perms(test_base, perms_base_int)
class TestSetPermissionsWin(ffs.TestCase):
@set_platform("win32")
def test_win32(self):
@ -737,8 +824,8 @@ class TestSetPermissionsWin(ffs.TestCase):
assert filesystem.set_permissions(r"F:\who\cares", recursive=False) is None
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Broken on Windows")
class TestSetPermissions(ffs.TestCase):
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Non-Windows tests")
class TestSetPermissions(ffs.TestCase, PermissionCheckerHelper):
# Basic fake filesystem setup stanza
def setUp(self):
self.setUpPyfakefs()
@ -771,7 +858,7 @@ class TestSetPermissions(ffs.TestCase):
ffs.set_uid(0)
self.fs.create_dir(test_dir, perms_test)
assert os.path.exists(test_dir) is True
assert stat.filemode(os.stat(test_dir).st_mode) == "d" + stat.filemode(perms_test)[1:]
self.assert_dir_perms(test_dir, perms_test)
# Setup and verify fake files
for file in (
@ -800,7 +887,7 @@ class TestSetPermissions(ffs.TestCase):
for root, dirs, files in os.walk(test_dir):
for dir in [os.path.join(root, d) for d in dirs]:
# Permissions on directories should now match perms_after
assert stat.filemode(os.stat(dir).st_mode) == "d" + stat.filemode(perms_after)[1:]
self.assert_dir_perms(dir, perms_after)
for file in [os.path.join(root, f) for f in files]:
# Files also shouldn't have any executable or special bits set
assert (

26
tests/test_misc.py

@ -24,6 +24,7 @@ import datetime
from sabnzbd import lang
from sabnzbd import misc
from sabnzbd.config import ConfigCat
from sabnzbd.constants import HIGH_PRIORITY, TOP_PRIORITY, DEFAULT_PRIORITY, NORMAL_PRIORITY
from tests.testhelper import *
@ -66,13 +67,26 @@ class TestMisc:
assert misc.cmp(1, 1) == 0
def test_cat_to_opts(self):
# Need to create the Default category
# Need to create the Default category, as we would in normal instance
# Otherwise it will try to save the config
ConfigCat("*", {})
assert ("*", "", "Default", -100) == misc.cat_to_opts("*")
assert ("*", "", "Default", -100) == misc.cat_to_opts("Nonsense")
assert ("*", 1, "Default", -100) == misc.cat_to_opts("*", pp=1)
assert ("*", 1, "test.py", -100) == misc.cat_to_opts("*", pp=1, script="test.py")
ConfigCat("*", {"pp": 3, "script": "None", "priority": NORMAL_PRIORITY})
assert ("*", 3, "None", NORMAL_PRIORITY) == misc.cat_to_opts("*")
assert ("*", 3, "None", NORMAL_PRIORITY) == misc.cat_to_opts("Nonsense")
assert ("*", 1, "None", NORMAL_PRIORITY) == misc.cat_to_opts("*", pp=1)
assert ("*", 1, "test.py", NORMAL_PRIORITY) == misc.cat_to_opts("*", pp=1, script="test.py")
ConfigCat("movies", {"priority": HIGH_PRIORITY, "script": "test.py"})
assert ("movies", 3, "test.py", HIGH_PRIORITY) == misc.cat_to_opts("movies")
assert ("movies", 1, "test.py", HIGH_PRIORITY) == misc.cat_to_opts("movies", pp=1)
assert ("movies", 1, "not_test.py", HIGH_PRIORITY) == misc.cat_to_opts("movies", pp=1, script="not_test.py")
assert ("movies", 3, "test.py", TOP_PRIORITY) == misc.cat_to_opts("movies", priority=TOP_PRIORITY)
# If the category has DEFAULT_PRIORITY, it should use the priority of the *-category (NORMAL_PRIORITY)
# If the script-name is Default for a category, it should use the script of the *-category (None)
ConfigCat("software", {"priority": DEFAULT_PRIORITY, "script": "Default"})
assert ("software", 3, "None", NORMAL_PRIORITY) == misc.cat_to_opts("software")
assert ("software", 3, "None", TOP_PRIORITY) == misc.cat_to_opts("software", priority=TOP_PRIORITY)
def test_wildcard_to_re(self):
assert "\\\\\\^\\$\\.\\[" == misc.wildcard_to_re("\\^$.[")

14
tests/test_utils/test_sleepless.py

@ -59,3 +59,17 @@ class TestSleepless:
sleepless.allow_sleep()
assert not self.check_msg_in_assertions()
assert sleepless.assertion_id is None
def test_sleepless_multi_call(self):
# If we set it twice, is it still cleared with one call
assert not self.check_msg_in_assertions()
assert sleepless.assertion_id is None
sleepless.keep_awake(self.sleep_msg)
time.sleep(2)
sleepless.keep_awake(self.sleep_msg)
assert self.check_msg_in_assertions()
sleepless.allow_sleep()
assert not self.check_msg_in_assertions()
assert sleepless.assertion_id is None

5
tools/make_mo.py

@ -281,20 +281,19 @@ if os.path.exists(tl):
TOOL = [tl]
result = True
if len(sys.argv) > 1 and sys.argv[1] == "all":
if len(sys.argv) > 1 and sys.argv[1] == "nsis":
print("NSIS MO file")
result = result and process_po_folder(DOMAIN_N, PON_DIR)
print("Patch NSIS script")
patch_nsis()
else:
print("Email MO files")
result = result and process_po_folder(DOMAIN_E, POE_DIR)
print("Create email templates from MO files")
make_templates()
print("Main program MO files")
# -n option added to remove all newlines from the translations
result = result and process_po_folder(DOMAIN, PO_DIR, "-n")

Loading…
Cancel
Save