mirror of
https://github.com/sabnzbd/sabnzbd.git
synced 2026-01-20 05:18:15 -05:00
Compare commits
34 Commits
3.2.0Beta2
...
3.2.0RC2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0207652e3e | ||
|
|
0f1e99c5cb | ||
|
|
f134bc7efb | ||
|
|
dcd7c7180e | ||
|
|
fbbfcd075b | ||
|
|
f42d2e4140 | ||
|
|
88882cebbc | ||
|
|
17a979675c | ||
|
|
4642850c79 | ||
|
|
65278c4489 | ||
|
|
3a4a925ab0 | ||
|
|
6ef5d41c25 | ||
|
|
b9b9f46fbe | ||
|
|
8d014e579d | ||
|
|
f2fc9f10f9 | ||
|
|
f131155fd8 | ||
|
|
691e24a1d8 | ||
|
|
794a6f4454 | ||
|
|
41bf8525cf | ||
|
|
6ebf486c09 | ||
|
|
899ae94fcf | ||
|
|
d3cd5019d9 | ||
|
|
1e4719558f | ||
|
|
29ab83b9c0 | ||
|
|
4b4d170ce1 | ||
|
|
8b0a12e0ba | ||
|
|
430318ead7 | ||
|
|
32f6ec63f2 | ||
|
|
a3181c8f76 | ||
|
|
412d169f58 | ||
|
|
d1c2e6e0dd | ||
|
|
4f9ac56de0 | ||
|
|
9641dc82f9 | ||
|
|
e68413b73c |
54
.github/workflows/build_release.yml
vendored
54
.github/workflows/build_release.yml
vendored
@@ -6,6 +6,8 @@ jobs:
|
||||
build_windows:
|
||||
name: Build Windows binary
|
||||
runs-on: windows-latest
|
||||
env:
|
||||
AUTOMATION_GITHUB_TOKEN: ${{ secrets.AUTOMATION_GITHUB_TOKEN }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.9 (64bit)
|
||||
@@ -38,28 +40,27 @@ jobs:
|
||||
with:
|
||||
path: "*-win-setup.exe"
|
||||
name: Windows installer
|
||||
- name: Set up Python 3.9 (32bit)
|
||||
- name: Set up Python 3.8 (32bit and legacy)
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.9
|
||||
python-version: 3.8
|
||||
architecture: x86
|
||||
- name: Install Python dependencies (32bit)
|
||||
- name: Install Python dependencies (32bit and legacy)
|
||||
run: |
|
||||
python --version
|
||||
pip install --upgrade pip wheel
|
||||
pip install --upgrade -r requirements.txt
|
||||
pip install --upgrade -r builder/requirements.txt
|
||||
- name: Build Windows standalone binary (32bit)
|
||||
- name: Build Windows standalone binary (32bit and legacy)
|
||||
run: python builder/package.py binary
|
||||
- name: Upload Windows standalone binary (32bit)
|
||||
- name: Upload Windows standalone binary (32bit and legacy)
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
path: "*-win32-bin.zip"
|
||||
name: Windows Windows standalone binary (32bit)
|
||||
name: Windows Windows standalone binary (32bit and legacy)
|
||||
- name: Prepare official release
|
||||
if: env.AUTOMATION_GITHUB_TOKEN && !startsWith(github.ref, 'refs/tags/')
|
||||
run: python builder/package.py release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.AUTOMATION_GITHUB_TOKEN }}
|
||||
|
||||
build_macos:
|
||||
name: Build macOS binary
|
||||
@@ -68,18 +69,31 @@ jobs:
|
||||
SIGNING_AUTH: ${{ secrets.SIGNING_AUTH }}
|
||||
NOTARIZATION_USER: ${{ secrets.NOTARIZATION_USER }}
|
||||
NOTARIZATION_PASS: ${{ secrets.NOTARIZATION_PASS }}
|
||||
AUTOMATION_GITHUB_TOKEN: ${{ secrets.AUTOMATION_GITHUB_TOKEN }}
|
||||
# We need the official Python, because the GA ones only support newer macOS versions
|
||||
# The deployment target is picked up by the Python build tools automatically
|
||||
# If updated, make sure to also set LSMinimumSystemVersion in SABnzbd.spec
|
||||
PYTHON_VERSION: 3.9.1
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.9
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.9
|
||||
uses: actions/setup-python@v2
|
||||
- name: Cache Python download
|
||||
id: cache-python-download
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
python-version: 3.9
|
||||
path: ~/python.pkg
|
||||
key: macOS-Python-${{ env.PYTHON_VERSION }}
|
||||
- name: Get Python
|
||||
if: steps.cache-python-download.outputs.cache-hit != 'true'
|
||||
run: curl https://www.python.org/ftp/python/${PYTHON_VERSION}/python-${PYTHON_VERSION}-macosx10.9.pkg -o ~/python.pkg
|
||||
- name: Install Python
|
||||
run: sudo installer -pkg ~/python.pkg -target /
|
||||
- name: Install Python dependencies
|
||||
run: |
|
||||
python --version
|
||||
pip install --upgrade pip wheel
|
||||
pip install --upgrade -r requirements.txt
|
||||
pip install --upgrade -r builder/requirements.txt
|
||||
python3 --version
|
||||
pip3 install --upgrade pip wheel
|
||||
pip3 install --upgrade -r requirements.txt
|
||||
pip3 install --upgrade -r builder/requirements.txt
|
||||
- name: Import macOS codesign certificates
|
||||
uses: apple-actions/import-codesign-certs@v1
|
||||
if: env.SIGNING_AUTH
|
||||
@@ -88,15 +102,13 @@ jobs:
|
||||
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
|
||||
- name: Build macOS binary
|
||||
run: |
|
||||
python builder/package.py app
|
||||
python builder/make_dmg.py
|
||||
python3 builder/package.py app
|
||||
python3 builder/make_dmg.py
|
||||
- name: Upload macOS binary
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
path: "*-osx.dmg"
|
||||
name: macOS binary (not notarized)
|
||||
- name: Prepare official release
|
||||
run: python builder/package.py release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.AUTOMATION_GITHUB_TOKEN }}
|
||||
|
||||
if: env.AUTOMATION_GITHUB_TOKEN && !startsWith(github.ref, 'refs/tags/')
|
||||
run: python3 builder/package.py release
|
||||
4
PKG-INFO
4
PKG-INFO
@@ -1,7 +1,7 @@
|
||||
Metadata-Version: 1.0
|
||||
Name: SABnzbd
|
||||
Version: 3.2.0Beta2
|
||||
Summary: SABnzbd-3.2.0Beta2
|
||||
Version: 3.2.0RC2
|
||||
Summary: SABnzbd-3.2.0RC2
|
||||
Home-page: https://sabnzbd.org
|
||||
Author: The SABnzbd Team
|
||||
Author-email: team@sabnzbd.org
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
SABnzbd - The automated Usenet download tool
|
||||
============================================
|
||||
|
||||
[](https://travis-ci.org/sabnzbd/sabnzbd)
|
||||
[](https://ci.appveyor.com/project/Safihre/sabnzbd)
|
||||
[](https://snapcraft.io/sabnzbd)
|
||||

|
||||

|
||||
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
|
||||
|
||||
|
||||
SABnzbd is an Open Source Binary Newsreader written in Python.
|
||||
|
||||
It's totally free, easy to use, and works practically everywhere.
|
||||
|
||||
19
README.mkd
19
README.mkd
@@ -1,14 +1,21 @@
|
||||
Release Notes - SABnzbd 3.2.0 Beta 2
|
||||
Release Notes - SABnzbd 3.2.0 Release Candidate 2
|
||||
=========================================================
|
||||
|
||||
Changes since 3.2.0 Beta 1 were added below.
|
||||
## Changes and bugfixes since 3.2.0 RC 1
|
||||
- Added `Auto` option for Glitter that enables `Night` style
|
||||
based on system settings. Default for new installations.
|
||||
- Right-to-Left support (Hebrew) for Glitter and Config.
|
||||
- SSDP and Bonjour could be broadcasted on localhost settings.
|
||||
- Failed server connections would be retried too slowly.
|
||||
|
||||
## Changes since 3.1.1
|
||||
- Python 3.6 is the minimum required version.
|
||||
- macOS release is currently restricted to macOS 10.14 (Mojave) and above
|
||||
due to changes in our build platform. We are still trying to resolve this.
|
||||
- The Windows installer can only be used on 64bit Windows 8.1 and
|
||||
above. For 32bit systems or older Windows versions the
|
||||
standalone 32bit legacy version can be used.
|
||||
- Post-processing can be aborted at any stage, including scripts.
|
||||
- Improvements in the downloader to reduce CPU-load.
|
||||
- Increased garbage collection rate to reduce memory usage.
|
||||
- Custom date ranges for server graphs can be selected.
|
||||
- Keep track of article fetching success-rate of each server.
|
||||
- Added option to add download quota warning for each server.
|
||||
@@ -21,6 +28,7 @@ Changes since 3.2.0 Beta 1 were added below.
|
||||
- Using SSDP, SABnzbd instances are now listed in `Network` on Windows.
|
||||
- Improvements to parsing of job name and filenames listed in the NZB.
|
||||
- RSS titles can be edited.
|
||||
- Prospective par2 will add blocks from all sets in a job.
|
||||
- Sanitize all filenames to a maximum of 245 characters.
|
||||
- Show commit hash when running from `git` sources.
|
||||
- Notify through Notifications if new version is available.
|
||||
@@ -28,7 +36,6 @@ Changes since 3.2.0 Beta 1 were added below.
|
||||
- Added `10 GB` test download.
|
||||
- IPv6 is no longer preferred in HappyEyeballs address selection.
|
||||
- API-calls `queue` and `history` can now be filtered by `nzo_id`.
|
||||
- Inreased garbage collection rate to reduce memory usage.
|
||||
- Windows: `Temporary Download` job folders no longer have a maximum length.
|
||||
- Windows/macOS: Update UnRar to 6.0.0 and MultiPar to 1.3.1.3.
|
||||
|
||||
@@ -44,11 +51,13 @@ Changes since 3.2.0 Beta 1 were added below.
|
||||
- Increase Maximum number of connections per server to `1000`.
|
||||
- Update encryption check to handle partially assembled files.
|
||||
- Don't activate Windows notifications when running as service.
|
||||
- Command line option `--console` did not work.
|
||||
- Crash in API-call to delete history items for non-existing `nzo_id`.
|
||||
- Prevent repetition of unwanted extension warnings.
|
||||
- Correct notification category for failed URL fetches.
|
||||
- Improvements to the `Add NZB` modal window.
|
||||
- Sort script drop-down list alphabetically.
|
||||
- Default Bandwidth percentage was not set to `100`.
|
||||
- Direct Unpack stability fixes.
|
||||
- macOS: Program shutdown could fail.
|
||||
- macOS: Tray text was misaligned on macOS 11 (Big Sur).
|
||||
|
||||
73
SABnzbd.py
73
SABnzbd.py
@@ -68,7 +68,9 @@ from sabnzbd.misc import (
|
||||
get_serv_parms,
|
||||
get_from_url,
|
||||
upload_file_to_sabnzbd,
|
||||
probablyipv4,
|
||||
is_ipv4_addr,
|
||||
is_localhost,
|
||||
is_lan_addr,
|
||||
)
|
||||
from sabnzbd.filesystem import get_ext, real_path, long_path, globber_full, remove_file
|
||||
from sabnzbd.panic import panic_tmpl, panic_port, panic_host, panic, launch_a_browser
|
||||
@@ -195,6 +197,7 @@ def print_help():
|
||||
print(" --no-login Start with username and password reset")
|
||||
print(" --log-all Log all article handling (for developers)")
|
||||
print(" --disable-file-log Logging is only written to console")
|
||||
print(" --console Force logging to console")
|
||||
print(" --new Run a new instance of SABnzbd")
|
||||
print()
|
||||
print("NZB (or related) file:")
|
||||
@@ -532,7 +535,7 @@ def get_webhost(cherryhost, cherryport, https_port):
|
||||
# Valid user defined name?
|
||||
info = socket.getaddrinfo(cherryhost, None)
|
||||
except socket.error:
|
||||
if cherryhost not in LOCALHOSTS:
|
||||
if not is_localhost(cherryhost):
|
||||
cherryhost = "0.0.0.0"
|
||||
try:
|
||||
info = socket.getaddrinfo(localhost, None)
|
||||
@@ -599,7 +602,7 @@ def get_webhost(cherryhost, cherryport, https_port):
|
||||
except socket.error:
|
||||
cherryhost = cherryhost.strip("[]")
|
||||
|
||||
if ipv6 and ipv4 and browserhost not in LOCALHOSTS:
|
||||
if ipv6 and ipv4 and not is_localhost(browserhost):
|
||||
sabnzbd.AMBI_LOCALHOST = True
|
||||
logging.info("IPV6 has priority on this system, potential Firefox issue")
|
||||
|
||||
@@ -845,6 +848,7 @@ def main():
|
||||
cherrypylogging = None
|
||||
clean_up = False
|
||||
logging_level = None
|
||||
console_logging = False
|
||||
no_file_log = False
|
||||
web_dir = None
|
||||
vista_plus = False
|
||||
@@ -900,6 +904,8 @@ def main():
|
||||
if logging_level < -1 or logging_level > 2:
|
||||
print_help()
|
||||
exit_sab(1)
|
||||
elif opt == "--console":
|
||||
console_logging = True
|
||||
elif opt in ("-v", "--version"):
|
||||
print_version()
|
||||
exit_sab(0)
|
||||
@@ -941,8 +947,8 @@ def main():
|
||||
sabnzbd.DIR_LANGUAGE = real_path(sabnzbd.DIR_PROG, DEF_LANGUAGE)
|
||||
org_dir = os.getcwd()
|
||||
|
||||
# Need console logging for SABnzbd.py and SABnzbd-console.exe
|
||||
console_logging = (not hasattr(sys, "frozen")) or (sabnzbd.MY_NAME.lower().find("-console") > 0)
|
||||
# Need console logging if requested, for SABnzbd.py and SABnzbd-console.exe
|
||||
console_logging = console_logging or sabnzbd.MY_NAME.lower().find("-console") > 0 or not hasattr(sys, "frozen")
|
||||
console_logging = console_logging and not sabnzbd.DAEMON
|
||||
|
||||
LOGLEVELS = (logging.FATAL, logging.WARNING, logging.INFO, logging.DEBUG)
|
||||
@@ -1485,34 +1491,37 @@ def main():
|
||||
check_latest_version()
|
||||
autorestarted = False
|
||||
|
||||
# bonjour/zeroconf needs an ip. Lets try to find it.
|
||||
external_host = localipv4() # IPv4 address of the LAN interface. This is the normal use case
|
||||
if not external_host:
|
||||
# None, so no network / default route, so let's set to ...
|
||||
external_host = "127.0.0.1"
|
||||
elif probablyipv4(cherryhost) and cherryhost not in LOCALHOSTS + ("0.0.0.0", "::"):
|
||||
# a hard-configured cherryhost other than the usual, so let's take that (good or wrong)
|
||||
external_host = cherryhost
|
||||
logging.debug("bonjour/zeroconf/SSDP using host: %s", external_host)
|
||||
sabnzbd.zconfig.set_bonjour(external_host, cherryport)
|
||||
|
||||
# Start SSDP if SABnzbd is running exposed
|
||||
if cherryhost not in LOCALHOSTS:
|
||||
# Set URL for browser for external hosts
|
||||
if enable_https:
|
||||
ssdp_url = "https://%s:%s%s" % (external_host, cherryport, sabnzbd.cfg.url_base())
|
||||
# Start SSDP and Bonjour if SABnzbd isn't listening on localhost only
|
||||
if sabnzbd.cfg.enable_broadcast() and not is_localhost(cherryhost):
|
||||
# Try to find a LAN IP address for SSDP/Bonjour
|
||||
if is_lan_addr(cherryhost):
|
||||
# A specific listening address was configured, use that
|
||||
external_host = cherryhost
|
||||
else:
|
||||
ssdp_url = "http://%s:%s%s" % (external_host, cherryport, sabnzbd.cfg.url_base())
|
||||
ssdp.start_ssdp(
|
||||
external_host,
|
||||
"SABnzbd",
|
||||
ssdp_url,
|
||||
"SABnzbd %s" % sabnzbd.__version__,
|
||||
"SABnzbd Team",
|
||||
"https://sabnzbd.org/",
|
||||
"SABnzbd %s" % sabnzbd.__version__,
|
||||
ssdp_broadcast_interval=sabnzbd.cfg.ssdp_broadcast_interval(),
|
||||
)
|
||||
# Fall back to the IPv4 address of the LAN interface
|
||||
external_host = localipv4()
|
||||
logging.debug("Using %s as host address for Bonjour and SSDP", external_host)
|
||||
|
||||
if is_lan_addr(external_host):
|
||||
sabnzbd.zconfig.set_bonjour(external_host, cherryport)
|
||||
|
||||
# Set URL for browser for external hosts
|
||||
ssdp_url = "%s://%s:%s%s" % (
|
||||
("https" if enable_https else "http"),
|
||||
external_host,
|
||||
cherryport,
|
||||
sabnzbd.cfg.url_base(),
|
||||
)
|
||||
ssdp.start_ssdp(
|
||||
external_host,
|
||||
"SABnzbd",
|
||||
ssdp_url,
|
||||
"SABnzbd %s" % sabnzbd.__version__,
|
||||
"SABnzbd Team",
|
||||
"https://sabnzbd.org/",
|
||||
"SABnzbd %s" % sabnzbd.__version__,
|
||||
ssdp_broadcast_interval=sabnzbd.cfg.ssdp_broadcast_interval(),
|
||||
)
|
||||
|
||||
# Have to keep this running, otherwise logging will terminate
|
||||
timer = 0
|
||||
|
||||
@@ -408,7 +408,7 @@ if __name__ == "__main__":
|
||||
# Release to github
|
||||
if "release" in sys.argv:
|
||||
# Check if tagged as release and check for token
|
||||
gh_token = os.environ.get("GITHUB_TOKEN", "")
|
||||
gh_token = os.environ.get("AUTOMATION_GITHUB_TOKEN", "")
|
||||
if RELEASE_THIS and gh_token:
|
||||
gh_obj = github.Github(gh_token)
|
||||
gh_repo = gh_obj.get_repo("sabnzbd/sabnzbd")
|
||||
@@ -543,7 +543,7 @@ if __name__ == "__main__":
|
||||
)
|
||||
else:
|
||||
print("To push release to GitHub, add 'draft release' to the commit message.")
|
||||
print("Or missing the GITHUB_TOKEN, cannot push to GitHub without it.")
|
||||
print("Or missing the AUTOMATION_GITHUB_TOKEN, cannot push to GitHub without it.")
|
||||
|
||||
# Reset!
|
||||
run_git_command(["reset", "--hard"])
|
||||
|
||||
@@ -237,6 +237,13 @@ Function .onInit
|
||||
Abort
|
||||
${EndIf}
|
||||
|
||||
; Python 3.9 no longer supports Windows 7
|
||||
${If} ${AtMostWin8}
|
||||
MessageBox MB_OK $(MsgNoWin7)
|
||||
ExecShell "open" "https://sabnzbd.org/downloads"
|
||||
Abort
|
||||
${EndIf}
|
||||
|
||||
;------------------------------------------------------------------
|
||||
; Change settings based on if SAB was already installed
|
||||
ReadRegStr $PREV_INST_DIR HKEY_LOCAL_MACHINE "SOFTWARE\SABnzbd" ""
|
||||
@@ -373,6 +380,8 @@ SectionEnd
|
||||
|
||||
LangString MsgOnly64bit ${LANG_ENGLISH} "The installer only supports 64-bit Windows, use the standalone version to run on 32-bit Windows."
|
||||
|
||||
LangString MsgNoWin7 ${LANG_ENGLISH} "The installer only supports Windows 8.1 and above, use the standalone legacy version to run on older Windows version."
|
||||
|
||||
LangString MsgUninstall ${LANG_ENGLISH} "This will uninstall SABnzbd from your system"
|
||||
|
||||
LangString MsgRunAtStart ${LANG_ENGLISH} "Run at startup"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#set global $root = '../../'#
|
||||
#end if#
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="$active_lang">
|
||||
<html lang="$active_lang" #if $rtl#dir="rtl"#end if#>
|
||||
<head>
|
||||
<title>
|
||||
SABnzbd $T('menu-config')
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<td class="controls">
|
||||
<button type="button" class="btn btn-default testFeed" rel="$feed_item_html"><span class="glyphicon glyphicon-sort"></span> $T('button-preFeed')</button>
|
||||
<input type="hidden" name="uri" value="$rss[$feed_item]['uris']" />
|
||||
<button type="button" class="btn btn-default editFeed" rel="$feed_item_html"><span class="glyphicon glyphicon-pencil"></span> $T('Edit')</button>
|
||||
<button type="button" class="btn btn-default editFeed" rel="$feed_item_html"><span class="glyphicon glyphicon-pencil"></span> $T('rss-edit')</button>
|
||||
<button type="button" class="btn btn-default delFeed" rel="$feed_item_html"><span class="glyphicon glyphicon-trash"></span></button>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -92,7 +92,7 @@
|
||||
<label class="config narrow" for="rss_rate">$T('opt-rss_rate')</label>
|
||||
<input type="number" name="rss_rate" id="rss_rate" value="$rss_rate" min="15" max="1440" />
|
||||
<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-ok"></span> $T('button-save')</button>
|
||||
<span class="config narrow"> $T('Next scan at:') $rss_next</span>
|
||||
<span class="config narrow"> $T('rss-nextscan'): $rss_next</span>
|
||||
<span class="desc narrow">$T('explain-rss_rate')</span>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
@@ -162,6 +162,7 @@ input[type="checkbox"]+.desc {
|
||||
float: none;
|
||||
overflow: hidden;
|
||||
min-width: 555px;
|
||||
position: relative;
|
||||
}
|
||||
.Key tr:nth-child(odd),
|
||||
.tab-pane tr:nth-child(odd),
|
||||
@@ -1168,6 +1169,27 @@ input[type="checkbox"] {
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
/***
|
||||
RTL Fixes
|
||||
***/
|
||||
html[dir="rtl"] .col1 input[type='checkbox'],
|
||||
html[dir="rtl"] .col2 h3 a {
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .modal-header .close {
|
||||
float: left;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .Sorting .presets.float-left,
|
||||
html[dir="rtl"] .checkbox-days {
|
||||
float: none;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .Scheduling form[action="addSchedule"] input[type="checkbox"] {
|
||||
right: 5px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1200px) {
|
||||
.Categories input[name="dir"] {
|
||||
max-width: 240px !important;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<!--#set $active_lang=$active_lang.replace('_', '-').lower()#-->
|
||||
<html lang="$active_lang" id="sabnzbd" data-bind="filedrop: { overlaySelector: '.main-filedrop', onFileDrop: addNZBFromFile }">
|
||||
<html lang="$active_lang" <!--#if $rtl#-->dir="rtl"<!--#end if#--> id="sabnzbd" data-bind="filedrop: { overlaySelector: '.main-filedrop', onFileDrop: addNZBFromFile }">
|
||||
<head>
|
||||
<!--
|
||||
Glitter V2
|
||||
@@ -36,7 +36,7 @@
|
||||
<link rel="stylesheet" type="text/css" href="./static/bootstrap/css/bootstrap.min.css?v=$version" />
|
||||
<link rel="stylesheet" type="text/css" href="./static/stylesheets/glitter.css?v=$version" />
|
||||
<link rel="stylesheet" type="text/css" href="./static/stylesheets/glitter.mobile.css?v=$version" media="all and (max-width: 768px)" />
|
||||
<!--#if $color_scheme not in ('Default', '') #-->
|
||||
<!--#if $color_scheme not in ('Light', '') #-->
|
||||
<link rel="stylesheet" type="text/css" href="./static/stylesheets/colorschemes/${color_scheme}.css?v=$version"/>
|
||||
<!--#end if#-->
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
@import url('Night.css') screen and (prefers-color-scheme: dark);
|
||||
@@ -1979,6 +1979,45 @@ input[name="nzbURL"] {
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
RTL Fixes
|
||||
***/
|
||||
|
||||
html[dir="rtl"] .navbar-nav {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .queue h2,
|
||||
html[dir="rtl"] .history h2 {
|
||||
float: right;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .dropdown-menu {
|
||||
text-align: right;
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .speedlimit-dropdown,
|
||||
html[dir="rtl"] .progress-indicator,
|
||||
html[dir="rtl"] #modal-item-filelist,
|
||||
html[dir="rtl"] #modal-item-files .modal-title,
|
||||
html[dir="rtl"] .info-container-box,
|
||||
html[dir="rtl"] .queue-table,
|
||||
html[dir="rtl"] .history-table {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .search-box a {
|
||||
right: initial;
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .navbar-logo,
|
||||
html[dir="rtl"] .info-container,
|
||||
html[dir="rtl"] .modal-header .close,
|
||||
html[dir="rtl"] #modal-options .modal-header a {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/***
|
||||
Bootstrap overwrites
|
||||
|
||||
@@ -3771,6 +3771,16 @@ msgstr ""
|
||||
msgid "Force Download"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -3946,6 +3946,16 @@ msgstr ""
|
||||
msgid "Force Download"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4054,6 +4054,16 @@ msgstr "Læs Feed"
|
||||
msgid "Force Download"
|
||||
msgstr "Gennemtving download"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4174,6 +4174,16 @@ msgstr "Feed lesen"
|
||||
msgid "Force Download"
|
||||
msgstr "Download erzwingen"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4166,6 +4166,16 @@ msgstr "Leer Fuente"
|
||||
msgid "Force Download"
|
||||
msgstr "Forzar Descarga"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4053,6 +4053,16 @@ msgstr "Lue syöte"
|
||||
msgid "Force Download"
|
||||
msgstr "Pakota lataus"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4182,6 +4182,16 @@ msgstr "Lire le flux RSS"
|
||||
msgid "Force Download"
|
||||
msgstr "Forcer le téléchargement"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
1033
po/main/he.po
1033
po/main/he.po
File diff suppressed because it is too large
Load Diff
@@ -4029,6 +4029,16 @@ msgstr "Les kilde"
|
||||
msgid "Force Download"
|
||||
msgstr "Tving nedlasting"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -329,7 +329,7 @@ msgstr "Serveradres verplicht"
|
||||
|
||||
#: sabnzbd/cfg.py
|
||||
msgid "%s is not a valid script"
|
||||
msgstr ""
|
||||
msgstr "%s is geen geldig script."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/config.py
|
||||
@@ -509,12 +509,12 @@ msgstr "Afsluiten"
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Server %s is expiring in %s day(s)"
|
||||
msgstr ""
|
||||
msgstr "Server %s verloopt over %s dag(en)."
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Server %s has used the specified quota"
|
||||
msgstr ""
|
||||
msgstr "Het beschikbare quotum voor server %s is verbruikt. "
|
||||
|
||||
#: sabnzbd/emailer.py
|
||||
msgid "Failed to connect to mail server"
|
||||
@@ -1660,7 +1660,7 @@ msgstr "RAR bestanden zijn niet verifieerbaar"
|
||||
|
||||
#: sabnzbd/postproc.py
|
||||
msgid "Trying RAR renamer"
|
||||
msgstr ""
|
||||
msgstr "RAR-hernoeming wordt geprobeerd"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/postproc.py
|
||||
@@ -3962,11 +3962,11 @@ msgstr "Tijdslimiet"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Account expiration date"
|
||||
msgstr ""
|
||||
msgstr "Verloopdatum"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Warn 5 days in advance of account expiration date."
|
||||
msgstr ""
|
||||
msgstr "Ontvang 5 dagen voor de verloopdatum een waarschuwing."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
@@ -3974,6 +3974,10 @@ msgid ""
|
||||
"optionally follow with K,M,G.<br />Warn when it reaches 0, checked every few"
|
||||
" minutes."
|
||||
msgstr ""
|
||||
"Quotum voor dit account, wordt geteld vanaf het moment dat het voor het "
|
||||
"eerst ingesteld wordt. In bytes, in K,M,G notatie.<br />Er wordt een "
|
||||
"waarschuwing gegeven als het quotum bereikt is, dit wordt elke paar minuten "
|
||||
"gecontroleerd."
|
||||
|
||||
#. Server's retention time in days
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -4131,6 +4135,16 @@ msgstr "Uitlezen"
|
||||
msgid "Force Download"
|
||||
msgstr "Forceer download"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4039,6 +4039,16 @@ msgstr "Pobierz kanał"
|
||||
msgid "Force Download"
|
||||
msgstr "Wymuś pobranie"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4042,6 +4042,16 @@ msgstr "Ler Feed"
|
||||
msgid "Force Download"
|
||||
msgstr "Forçar Download"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4068,6 +4068,16 @@ msgstr "Citeşte Flux"
|
||||
msgid "Force Download"
|
||||
msgstr "Descărcare Forţată"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4027,6 +4027,16 @@ msgstr "Прочитать ленту"
|
||||
msgid "Force Download"
|
||||
msgstr "Загрузить принудительно"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4015,6 +4015,16 @@ msgstr "Читај фид"
|
||||
msgid "Force Download"
|
||||
msgstr "Натерај преузимање"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -4028,6 +4028,16 @@ msgstr "Läs flöde"
|
||||
msgid "Force Download"
|
||||
msgstr "Tvinga nedladdning"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -3960,6 +3960,16 @@ msgstr "读取 Feed"
|
||||
msgid "Force Download"
|
||||
msgstr "强制下载"
|
||||
|
||||
#. Config->RSS edit button
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS when will be the next RSS scan
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Next scan at"
|
||||
msgstr ""
|
||||
|
||||
#. Config->RSS table column header
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Filter"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.0-develop\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: team@sabnzbd.org\n"
|
||||
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
|
||||
@@ -13,55 +13,59 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "The installer only supports 64-bit Windows, use the standalone version to run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "The installer only supports Windows 8.1 and above, use the standalone legacy version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "You cannot overwrite an existing installation. \\n\\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Language-Team: Czech (https://www.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,61 +13,67 @@ msgstr ""
|
||||
"Language: cs\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr ""
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"Language: da\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Vis udgivelsesbemærkninger"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Støt projektet, donér!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Luk venligst \"SABnzbd.exe\" først"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Dette vil afinstallere SABnzbd fra dit system"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Kør ved opstart"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Skrivebordsikon"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB-filtilknytning"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Slet program"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Slet indstillinger"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -75,6 +81,6 @@ msgstr ""
|
||||
"fjerne den tidligere version eller `Annuller` for at annullere "
|
||||
"opgraderingen."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Dine indstillinger og data vil blive bevaret."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,19 +17,19 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Versionshinweise anzeigen"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Bitte unterstützen Sie das Projekt durch eine Spende!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Schliessen Sie bitte zuerst \"SABnzbd.exe\"."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
@@ -38,7 +38,7 @@ 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."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
@@ -46,31 +46,37 @@ msgstr ""
|
||||
"Der Installer unterstützt nur Windows 64-bit. Benutze die Standalone Version"
|
||||
" für Windows 32-bit."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Dies entfernt SABnzbd von Ihrem System"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Beim Systemstart ausführen"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Desktop-Symbol"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "Mit NZB-Dateien verknüpfen"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Programm löschen"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Einstellungen löschen"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -79,6 +85,6 @@ msgstr ""
|
||||
"Sie 'OK', um die vorherige Version zu entfernen oder 'Abbrechen' um die "
|
||||
"Aktualisierung abzubrechen."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Ihre Einstellungen und Daten bleiben erhalten."
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Ester Molla Aragones <moarages@gmail.com>, 2020\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/sabnzbd/teams/111101/es/)\n"
|
||||
@@ -18,19 +18,19 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Mostrar notas de la versión"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "¡Apoye el proyecto, haga una donación!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Por favor cierre primero \"SABnzbd.exe\""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
@@ -41,7 +41,7 @@ msgstr ""
|
||||
"en \"OK\" para eliminar los servicios existentes o \"Cancelar\" para "
|
||||
"cancelar la actualización."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
@@ -49,31 +49,37 @@ msgstr ""
|
||||
"El instalador solo admite Windows 64-bit, utilice la versión independiente "
|
||||
"para ejecutar Windows 32-bit."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Esto desinstalará SABnzbd de su sistema"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Ejecutar al inicio"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Icono del escritorio"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "Asociación de archivos NZB"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Eliminar programa"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Eliminar Ajustes"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -81,6 +87,6 @@ msgstr ""
|
||||
"No es posible sobrescribir una instalación existente. \\n\\nPresione `OK' "
|
||||
"para quitar la versión anterior o 'Cancelar' para cancelar la actualización."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Tus ajustes y datos se mantendrán intactos."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"Language: fi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Näytä julkaisutiedot"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Tue projektia, lahjoita!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Ole hyvä ja sulje \"SABnzbd.exe\" ensin"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Tämä poistaa SABnzbd:n tietokoneestasi"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Suorita käynnistyksen yhteydessä"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Työpöydän kuvake"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB tiedostosidos"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Poista sovellus"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Poista asetukset"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -74,6 +80,6 @@ msgstr ""
|
||||
"Et voi asentaa tätä vanhan asennuksen päälle. \\n\\nPaina `OK` poistaaksesi "
|
||||
"edellisen version tai paina `Peruuta` peruuttaaksesi tämän päivityksen."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Asetuksiasi ja tietojasi ei poisteta."
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2020
|
||||
# Fred L <88com88@gmail.com>, 2021
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Last-Translator: Fred L <88com88@gmail.com>, 2021\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"
|
||||
@@ -17,19 +18,19 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Afficher les notes de version"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Soutenez le projet, faites un don !"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Merci de fermer \"SABnzbd.exe\" avant l'installation"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
@@ -39,7 +40,7 @@ msgstr ""
|
||||
" réinstaller le service SABnzbd. \\n\\nCliquez sur 'OK' pour supprimer les "
|
||||
"services existants ou sur 'Annuler' pour annuler cette mise à niveau."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
@@ -47,31 +48,40 @@ msgstr ""
|
||||
"Le programme d'installation ne prend en charge que Windows 64 bits, utilisez"
|
||||
" la version standalone pour l'exécuter sur Windows 32 bits."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
"Le programme d'installation ne prend en charge que Windows 8.1 et supérieur,"
|
||||
" utilisez la version autonome legacy pour les versions antérieures de "
|
||||
"Windows."
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Ceci désinstallera SABnzbd de votre système"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Lancer au démarrage"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Icône sur le Bureau"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "Association des fichiers NZB"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Supprimer le programme"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Supprimer les paramètres"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -80,6 +90,6 @@ msgstr ""
|
||||
"pour supprimer la version précédente ou `Annuler` pour annuler cette mise à "
|
||||
"niveau."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Vos paramètres et données seront conservés."
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2020
|
||||
# ION, 2021
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Last-Translator: ION, 2021\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"
|
||||
@@ -17,29 +18,29 @@ msgstr ""
|
||||
"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
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "הראה הערות שחרור"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "תמוך במיזם, תרום!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "אנא סגור את \"SABnzbd.exe\" תחילה"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
"שירות SABnzbd Windows השתנה בגרסה SABnzbd 3.0.0. \\nתצטרך להתקין מחדש את "
|
||||
"השירות SABnzbd. \\n\\nלחץ `אשר` כדי להסיר את השירותים הקיימים או `בטל` כדי "
|
||||
"לבטל שדרוג זה."
|
||||
"שירות Windows של SABnzbd השתנה ב־SABnzbd 3.0.0. \\nתצטרך להתקין מחדש את "
|
||||
"השירות של SABnzbd. \\n\\nלחץ על `אישור` כדי להסיר את השירותים הקיימים או על "
|
||||
"`ביטול` כדי לבטל שדרוג זה."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
@@ -47,38 +48,46 @@ msgstr ""
|
||||
"המתקין תומך רק במערכת Windows מסוג 64־סיביות, השתמש בגרסה העצמאית כדי להריץ "
|
||||
"על Windows מסוג 32־סיביות."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
"המתקין תומך רק במערכת Windows 8.1 ומעלה, השתמש בגרסה העצמאית המיושנת כדי "
|
||||
"להריץ על גרסת Windows ישנה יותר."
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "זה יסיר את SABnzbd ממערכתך"
|
||||
msgstr "זה יסיר את SABnzbd מהמערכת שלך"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "הפעלה בהזנק"
|
||||
msgstr "הרץ בהזנק"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "צלמית שולחן עבודה"
|
||||
msgstr "צור קיצור דרך בשולחן העבודה"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB שיוך קבצי"
|
||||
msgstr "NZB שייך קבצי"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "מחק תוכנית"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "מחק הגדרות"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
"אינך יכול לדרוס התקנה קיימת.\\n\\nלחץ על `אישור` כדי להסיר את הגרסה הקודמת "
|
||||
"אינך יכול לדרוס התקנה קיימת. \\n\\nלחץ על `אישור` כדי להסיר את הגרסה הקודמת "
|
||||
"או על `ביטול` כדי לבטל שדרוג זה."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "ההגדרות והנתונים שלך יישמרו."
|
||||
msgstr "ההגדרות והנתונים שלך ישתמרו."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"Language: nb\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Vis versjonsmerknader"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Støtt prosjektet, donèr!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Vennligst lukk \"SABnzbd.exe\" først"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Dette vil avinstallere SABnzbd fra ditt system"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Kjør ved oppstart"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Skrivebordsikon"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB-filassosiering"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Fjern program"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Slett innstillinger"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -75,6 +81,6 @@ msgstr ""
|
||||
" fjerne tidligere installasjon, eller 'Avbryt' for å avbryte denne "
|
||||
"oppgraderingen."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Dine innstillinger og data vil bli tatt vare på."
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
# Translators:
|
||||
# Safihre <safihre@sabnzbd.org>, 2020
|
||||
# Safihre <safihre@sabnzbd.org>, 2021
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.0-develop\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2021\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"
|
||||
@@ -17,19 +17,19 @@ msgstr ""
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Toon opmerkingen bij deze uitgave"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Steun het project, doneer!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Sluit \"SABnzbd.exe\" eerst af"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
@@ -38,7 +38,7 @@ 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
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
@@ -46,31 +46,40 @@ msgstr ""
|
||||
"Alleen 64-bit wordt ondersteund in de installer, download de standalone "
|
||||
"versie om SABnzbd uit te voeren op 32-bit Windows."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
"Alleen Windows 8.1 en nieuwer worden ondersteund door de installer, download"
|
||||
" de standalone legacy versie om SABnzbd uit te voeren op oudere versies van "
|
||||
"Windows."
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Dit verwijdert SABnzbd van je systeem"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Starten met Windows"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Bureaubladpictogram"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB-bestanden openen met SABnzbd"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Programma verwijderen"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Verwijder alle instellingen"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -78,6 +87,6 @@ msgstr ""
|
||||
"U kunt geen bestaande installatie overschrijven.\\n\\nKlik op `OK` om de "
|
||||
"vorige versie te verwijderen of op `Annuleren` om te stoppen."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Je instellingen en bestanden blijven behouden."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"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
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Pokaż informacje o wydaniu"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Wspomóż projekt!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Najpierw zamknij SABnzbd.exe"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "To odinstaluje SABnzbd z systemu"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Uruchom wraz z systemem"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Ikona pulpitu"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "powiązanie pliku NZB"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Usuń program"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Skasuj obecne ustawienia"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -74,6 +80,6 @@ msgstr ""
|
||||
"Nie można nadpisać istniejącej instalacji. \\n\\n Naciśnij `OK`, aby usunąć "
|
||||
"poprzednia wersję lub `Anuluj` aby anulować aktualizację."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Twoje ustawienia i dane zostaną zachowane."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Mostrar Notas de Lançamento"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Apoie o projeto. Faça uma doação!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Por favor, feche \"SABnzbd.exe\" primeiro"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Isso irá desinstalar SABnzbd de seu sistema"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Executar na inicialização"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Ícone na Área de Trabalho"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "Associação com Arquivos NZB"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Excluir o Programa"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Apagar Configurações"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -74,6 +80,6 @@ msgstr ""
|
||||
"Você não pode substituir uma instalação existente. \\n\\nClique `OK` para "
|
||||
"remover a versão anterior ou `Cancelar` para cancelar esta atualização."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Suas configurações e os dados serão preservados."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"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
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Arată Notele de Publicare"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Susţine proiectul, Donează!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Închideţi mai întâi \"SABnzbd.exe\""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Acest lucru va dezinstala SABnzbd din sistem"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Executare la pornire"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Icoană Desktop"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "Asociere cu Fişierele NZB"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Şterge Program"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Ştergeţi Setări"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -74,6 +80,6 @@ msgstr ""
|
||||
"Nu puteți suprascrie instalarea existentă. \\n\\nClick `OK` pentru a elimina"
|
||||
" versiunea anterioară sau `Anulare` pentru a anula actualizarea."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Setările şi informaţiile vor fi salvate."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"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
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Показать заметки о выпуске"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Поддержите проект. Сделайте пожертвование!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Завершите сначала работу процесса SABnzbd.exe"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Приложение SABnzbd будет удалено из вашей системы"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Запускать вместе с системой"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Значок на рабочем столе"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "Ассоциировать с файлами NZB"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Удалить программу"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Удалить параметры"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -75,6 +81,6 @@ msgstr ""
|
||||
"удалить предыдущую версию, нажмите кнопку «ОК». Чтобы отменить обновление, "
|
||||
"нажмите кнопку «Отмена»."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Ваши параметры и данные будут сохранены."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"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
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Прикажи белешке о издању"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Подржите пројекат, дајте добровољан прилог!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Прво затворите „SABnzbd.exe“"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Ово ће уклонити САБнзбд са вашег система"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Покрени са системом"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Иконица радне површи"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "Придруживање НЗБ датотеке"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Обриши програм"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Обриши подешавања"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -74,6 +80,6 @@ msgstr ""
|
||||
"Не можете да препишете постојећу инсталацију. \\n\\nПритисните „У реду“ да "
|
||||
"уклоните претходно издање или „Откажи“ да поништите ову надоградњу."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Ваша подешавања и подаци биће сачувани."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,56 +17,62 @@ msgstr ""
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Visa releasenoteringar"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Donera och stöd detta projekt!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Var vänlig stäng \"SABnzbd.exe\" först"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Detta kommer att avinstallera SABnzbd från systemet"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "Kör vid uppstart"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Skrivbordsikon"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB Filassosication"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "Radera programmet"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "Radera inställningar"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
@@ -75,6 +81,6 @@ msgstr ""
|
||||
"avinstallera tidigare version eller 'Avbryt' för att avbryta denna "
|
||||
"uppgradering."
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "Dina inställningar och ditt data kommer att bevaras."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-3.0.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-3.2.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"
|
||||
@@ -17,61 +17,67 @@ msgstr ""
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Show Release Notes"
|
||||
msgstr "显示版本说明"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "支持该项目,捐助!"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "请先关闭 \"SABnzbd.exe\""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The SABnzbd Windows Service changed in SABnzbd 3.0.0. \\nYou will need to "
|
||||
"reinstall the SABnzbd service. \\n\\nClick `OK` to remove the existing "
|
||||
"services or `Cancel` to cancel this upgrade."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports 64-bit Windows, use the standalone version to "
|
||||
"run on 32-bit Windows."
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"The installer only supports Windows 8.1 and above, use the standalone legacy"
|
||||
" version to run on older Windows version."
|
||||
msgstr ""
|
||||
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "这将从您的系统中卸载 SABnzbd"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Run at startup"
|
||||
msgstr "启动时运行"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Desktop Icon"
|
||||
msgstr "桌面图标"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB 文件关联"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Program"
|
||||
msgstr "删除程序"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Delete Settings"
|
||||
msgstr "删除设置"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid ""
|
||||
"You cannot overwrite an existing installation. \\n\\nClick `OK` to remove "
|
||||
"the previous version or `Cancel` to cancel this upgrade."
|
||||
msgstr "不可以覆盖安装。\\n\\n点击“确定”可移除旧版,或点击“取消”取消升级。"
|
||||
|
||||
#: NSIS_Installer.nsi
|
||||
#: builder/win/NSIS_Installer.nsi
|
||||
msgid "Your settings and data will be preserved."
|
||||
msgstr "您的设置及数据将会保留。"
|
||||
|
||||
@@ -20,10 +20,12 @@ import logging
|
||||
import datetime
|
||||
import tempfile
|
||||
import pickle
|
||||
import ctypes
|
||||
import gzip
|
||||
import time
|
||||
import socket
|
||||
import cherrypy
|
||||
import platform
|
||||
import sys
|
||||
import ssl
|
||||
from threading import Lock, Thread, Condition
|
||||
@@ -33,15 +35,13 @@ from typing import Any, AnyStr
|
||||
# Determine platform flags
|
||||
##############################################################################
|
||||
WIN32 = DARWIN = FOUNDATION = WIN64 = DOCKER = False
|
||||
KERNEL32 = None
|
||||
KERNEL32 = LIBC = None
|
||||
|
||||
if os.name == "nt":
|
||||
WIN32 = True
|
||||
from sabnzbd.utils.apireg import del_connection_info
|
||||
|
||||
try:
|
||||
import ctypes
|
||||
|
||||
KERNEL32 = ctypes.windll.LoadLibrary("Kernel32.dll")
|
||||
except:
|
||||
pass
|
||||
@@ -56,8 +56,13 @@ elif os.name == "posix":
|
||||
except:
|
||||
pass
|
||||
|
||||
import platform
|
||||
# See if we have Linux memory functions
|
||||
try:
|
||||
LIBC = ctypes.CDLL("libc.so.6")
|
||||
except:
|
||||
pass
|
||||
|
||||
# Parse macOS version numbers
|
||||
if platform.system().lower() == "darwin":
|
||||
DARWIN = True
|
||||
# 12 = Sierra, 11 = ElCaptain, 10 = Yosemite, 9 = Mavericks, 8 = MountainLion
|
||||
@@ -184,7 +189,6 @@ DOWNLOAD_DIR_SPEED = 0
|
||||
COMPLETE_DIR_SPEED = 0
|
||||
INTERNET_BANDWIDTH = 0
|
||||
|
||||
|
||||
# Rendering of original command line arguments in Config
|
||||
CMDLINE = " ".join(['"%s"' % arg for arg in sys.argv])
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ from sabnzbd.encoding import xml_name
|
||||
from sabnzbd.utils.servertests import test_nntp_server_dict
|
||||
from sabnzbd.getipaddress import localipv4, publicipv4, ipv6, addresslookup
|
||||
from sabnzbd.database import build_history_info, unpack_history_info, HistoryDB
|
||||
from sabnzbd.lang import is_rtl
|
||||
import sabnzbd.notifier
|
||||
import sabnzbd.rss
|
||||
import sabnzbd.emailer
|
||||
@@ -1600,6 +1601,7 @@ def build_header(webdir="", output=None, trans_functions=True):
|
||||
header["restart_req"] = sabnzbd.RESTART_REQ
|
||||
header["pid"] = os.getpid()
|
||||
header["active_lang"] = cfg.language()
|
||||
header["rtl"] = is_rtl(header["active_lang"])
|
||||
|
||||
header["my_lcldata"] = clip_path(sabnzbd.DIR_LCLDATA)
|
||||
header["my_home"] = clip_path(sabnzbd.DIR_HOME)
|
||||
|
||||
@@ -79,7 +79,7 @@ def validate_server(value):
|
||||
|
||||
def validate_script(value):
|
||||
""" Check if value is a valid script """
|
||||
if value and sabnzbd.filesystem.is_valid_script(value):
|
||||
if not sabnzbd.__INITIALIZED__ or (value and sabnzbd.filesystem.is_valid_script(value)):
|
||||
return None, value
|
||||
elif (value and value == "None") or not value:
|
||||
return None, "None"
|
||||
@@ -282,7 +282,7 @@ helpfull_warnings = OptionBool("misc", "helpfull_warnings", True)
|
||||
keep_awake = OptionBool("misc", "keep_awake", True)
|
||||
win_menu = OptionBool("misc", "win_menu", True)
|
||||
allow_incomplete_nzb = OptionBool("misc", "allow_incomplete_nzb", False)
|
||||
enable_bonjour = OptionBool("misc", "enable_bonjour", True)
|
||||
enable_broadcast = OptionBool("misc", "enable_broadcast", True)
|
||||
max_art_opt = OptionBool("misc", "max_art_opt", False)
|
||||
ipv6_hosting = OptionBool("misc", "ipv6_hosting", False)
|
||||
fixed_ports = OptionBool("misc", "fixed_ports", False)
|
||||
|
||||
@@ -75,7 +75,7 @@ DEF_INTERFACES = "interfaces"
|
||||
DEF_EMAIL_TMPL = "email"
|
||||
DEF_STDCONFIG = "Config"
|
||||
DEF_STDINTF = "Glitter"
|
||||
DEF_SKIN_COLORS = {"Glitter": "Default", "plush": "gold"}
|
||||
DEF_SKIN_COLORS = {"Glitter": "Auto", "plush": "gold"}
|
||||
DEF_MAIN_TMPL = os.path.normpath("templates/main.tmpl")
|
||||
DEF_INI_FILE = "sabnzbd.ini"
|
||||
DEF_HOST = "127.0.0.1"
|
||||
@@ -124,8 +124,6 @@ CHEETAH_DIRECTIVES = {"directiveStartToken": "<!--#", "directiveEndToken": "#-->
|
||||
|
||||
IGNORED_FOLDERS = ("@eaDir", ".appleDouble")
|
||||
|
||||
LOCALHOSTS = ("localhost", "127.0.0.1", "[::1]", "::1")
|
||||
|
||||
# (MATCHER, [EXTRA, MATCHERS])
|
||||
series_match = [
|
||||
(compile(r"( [sS]|[\d]+)x(\d+)"), [compile(r"^[-\.]+([sS]|[\d])+x(\d+)"), compile(r"^[-\.](\d+)")]), # 1x01
|
||||
|
||||
@@ -137,6 +137,8 @@ class DirScanner(threading.Thread):
|
||||
files = []
|
||||
|
||||
for filename in files:
|
||||
if self.shutdown:
|
||||
break
|
||||
path = os.path.join(folder, filename)
|
||||
if os.path.isdir(path) or path in self.ignored or filename[0] == ".":
|
||||
continue
|
||||
|
||||
@@ -95,7 +95,7 @@ class Server:
|
||||
|
||||
self.busy_threads: List[NewsWrapper] = []
|
||||
self.idle_threads: List[NewsWrapper] = []
|
||||
self.next_article_search: int = 0
|
||||
self.next_article_search: float = 0
|
||||
self.active: bool = True
|
||||
self.bad_cons: int = 0
|
||||
self.errormsg: str = ""
|
||||
@@ -326,6 +326,7 @@ class Downloader(Thread):
|
||||
logging.info("Post-processing finished, resuming download")
|
||||
self.paused_for_postproc = False
|
||||
|
||||
@NzbQueueLocker
|
||||
def disconnect(self):
|
||||
self.force_disconnect = True
|
||||
|
||||
@@ -479,7 +480,7 @@ class Downloader(Thread):
|
||||
|
||||
for server in self.servers:
|
||||
# Skip this server if there's no point searching for new stuff to do
|
||||
if server.next_article_search > now:
|
||||
if not server.busy_threads and server.next_article_search > now:
|
||||
continue
|
||||
|
||||
for nw in server.busy_threads[:]:
|
||||
@@ -533,8 +534,8 @@ class Downloader(Thread):
|
||||
article = sabnzbd.NzbQueue.get_article(server, self.servers)
|
||||
|
||||
if not article:
|
||||
# Skip this server for 1 second
|
||||
server.next_article_search = now + 1
|
||||
# Skip this server for 0.5 second
|
||||
server.next_article_search = now + 0.5
|
||||
break
|
||||
|
||||
if server.retention and article.nzf.nzo.avg_stamp < now - server.retention:
|
||||
@@ -619,12 +620,11 @@ class Downloader(Thread):
|
||||
while (
|
||||
(sabnzbd.NzbQueue.is_empty() or self.is_paused() or self.paused_for_postproc)
|
||||
and not self.shutdown
|
||||
and not self.force_disconnect
|
||||
and not self.server_restarts
|
||||
):
|
||||
DOWNLOADER_CV.wait()
|
||||
|
||||
self.force_disconnect = False
|
||||
|
||||
if not read:
|
||||
sabnzbd.BPSMeter.update()
|
||||
continue
|
||||
|
||||
@@ -44,10 +44,11 @@ from sabnzbd.misc import (
|
||||
calc_age,
|
||||
int_conv,
|
||||
get_base_url,
|
||||
probablyipv4,
|
||||
probablyipv6,
|
||||
is_ipv4_addr,
|
||||
is_ipv6_addr,
|
||||
opts_to_pp,
|
||||
get_server_addrinfo,
|
||||
is_lan_addr,
|
||||
)
|
||||
from sabnzbd.filesystem import real_path, long_path, globber, globber_full, remove_all, clip_path, same_file
|
||||
from sabnzbd.encoding import xml_name, utob
|
||||
@@ -165,7 +166,7 @@ def check_hostname():
|
||||
host = re.sub(":[0123456789]+$", "", host).lower()
|
||||
|
||||
# Fine if localhost or IP
|
||||
if host == "localhost" or probablyipv4(host) or probablyipv6(host):
|
||||
if host == "localhost" or is_ipv4_addr(host) or is_ipv6_addr(host):
|
||||
return True
|
||||
|
||||
# Check on the whitelist
|
||||
@@ -477,8 +478,11 @@ class MainPage:
|
||||
cherrypy.request.remote.ip,
|
||||
cherrypy.request.headers.get("User-Agent", "??"),
|
||||
)
|
||||
cherrypy.response.headers["Content-Type"] = "application/xml"
|
||||
return utob(sabnzbd.utils.ssdp.server_ssdp_xml())
|
||||
if is_lan_addr(cherrypy.request.remote.ip):
|
||||
cherrypy.response.headers["Content-Type"] = "application/xml"
|
||||
return utob(sabnzbd.utils.ssdp.server_ssdp_xml())
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
##############################################################################
|
||||
@@ -509,7 +513,7 @@ class Wizard:
|
||||
cfg.language.set(kwargs.get("lang"))
|
||||
|
||||
# Always setup Glitter
|
||||
change_web_dir("Glitter - Default")
|
||||
change_web_dir("Glitter - Auto")
|
||||
|
||||
info = build_header(sabnzbd.WIZARD_DIR)
|
||||
info["certificate_validation"] = sabnzbd.CERTIFICATE_VALIDATION
|
||||
@@ -1327,7 +1331,7 @@ SPECIAL_BOOL_LIST = (
|
||||
"html_login",
|
||||
"wait_for_dfolder",
|
||||
"max_art_opt",
|
||||
"enable_bonjour",
|
||||
"enable_broadcast",
|
||||
"warn_dupl_jobs",
|
||||
"replace_illegal",
|
||||
"backup_for_duplicates",
|
||||
|
||||
189
sabnzbd/lang.py
189
sabnzbd/lang.py
@@ -92,99 +92,104 @@ def list_languages():
|
||||
return lst
|
||||
|
||||
|
||||
def is_rtl(lang):
|
||||
return LanguageTable.get(lang, "en")[3]
|
||||
|
||||
|
||||
# English name, native name, code page, right-to-left
|
||||
LanguageTable = {
|
||||
"aa": ("Afar", "Afaraf", 0),
|
||||
"af": ("Afrikaans", "Afrikaans", 0),
|
||||
"ak": ("Akan", "Akan", 0),
|
||||
"sq": ("Albanian", "Shqip", 0),
|
||||
"an": ("Aragonese", "Aragonés", 0),
|
||||
"ae": ("Avestan", "Avesta", 0),
|
||||
"ay": ("Aymara", "Aymararu", 0),
|
||||
"bm": ("Bambara", "Bamanankan", 0),
|
||||
"eu": ("Basque", "Euskara", 0),
|
||||
"bi": ("Bislama", "Bislama", 0),
|
||||
"bs": ("Bosnian", "Bosanskijezik", 0),
|
||||
"br": ("Breton", "Brezhoneg", 0),
|
||||
"ca": ("Catalan", "Català", 0),
|
||||
"ch": ("Chamorro", "Chamoru", 0),
|
||||
"kw": ("Cornish", "Kernewek", 0),
|
||||
"co": ("Corsican", "Corsu", 0),
|
||||
"hr": ("Croatian", "Hrvatski", 0),
|
||||
"cs": ("Czech", "Cesky, ceština", 0),
|
||||
"da": ("Danish", "Dansk", 0),
|
||||
"nl": ("Dutch", "Nederlands", 0),
|
||||
"en": ("English", "English", 0),
|
||||
"eo": ("Esperanto", "Esperanto", 0),
|
||||
"et": ("Estonian", "Eesti", 0),
|
||||
"fo": ("Faroese", "Føroyskt", 0),
|
||||
"fj": ("Fijian", "Vosa Vakaviti", 0),
|
||||
"fi": ("Finnish", "Suomi", 0),
|
||||
"fr": ("French", "Français", 0),
|
||||
"gl": ("Galician", "Galego", 0),
|
||||
"de": ("German", "Deutsch", 0),
|
||||
"he": ("Hebrew", "עִבְרִית", 1255),
|
||||
"hz": ("Herero", "Otjiherero", 0),
|
||||
"ho": ("Hiri Motu", "Hiri Motu", 0),
|
||||
"hu": ("Hungarian", "Magyar", 0),
|
||||
"id": ("Indonesian", "Bahasa Indonesia", 0),
|
||||
"ga": ("Irish", "Gaeilge", 0),
|
||||
"io": ("Ido", "Ido", 0),
|
||||
"is": ("Icelandic", "Íslenska", 0),
|
||||
"it": ("Italian", "Italiano", 0),
|
||||
"jv": ("Javanese", "BasaJawa", 0),
|
||||
"rw": ("Kinyarwanda", "Ikinyarwanda", 0),
|
||||
"kg": ("Kongo", "KiKongo", 0),
|
||||
"kj": ("Kwanyama", "Kuanyama", 0),
|
||||
"la": ("Latin", "Lingua latina", 0),
|
||||
"lb": ("Luxembourgish", "Lëtzebuergesch", 0),
|
||||
"lg": ("Luganda", "Luganda", 0),
|
||||
"li": ("Limburgish", "Limburgs", 0),
|
||||
"ln": ("Lingala", "Lingála", 0),
|
||||
"lt": ("Lithuanian", "Lietuviukalba", 0),
|
||||
"lv": ("Latvian", "Latviešuvaloda", 0),
|
||||
"gv": ("Manx", "Gaelg", 0),
|
||||
"mg": ("Malagasy", "Malagasy fiteny", 0),
|
||||
"mt": ("Maltese", "Malti", 0),
|
||||
"nb": ("Norwegian Bokmål", "Norsk bokmål", 0),
|
||||
"nn": ("Norwegian Nynorsk", "Norsk nynorsk", 0),
|
||||
"no": ("Norwegian", "Norsk", 0),
|
||||
"oc": ("Occitan", "Occitan", 0),
|
||||
"om": ("Oromo", "Afaan Oromoo", 0),
|
||||
"pl": ("Polish", "Polski", 0),
|
||||
"pt": ("Portuguese", "Português", 0),
|
||||
"pt_BR": ("Portuguese Brazillian", "Português Brasileiro", 0),
|
||||
"rm": ("Romansh", "Rumantsch grischun", 0),
|
||||
"rn": ("Kirundi", "kiRundi", 0),
|
||||
"ro": ("Romanian", "Româna", 1250),
|
||||
"sc": ("Sardinian", "Sardu", 0),
|
||||
"se": ("Northern Sami", "Davvisámegiella", 0),
|
||||
"sm": ("Samoan", "Gagana fa'a Samoa", 0),
|
||||
"gd": ("Gaelic", "Gàidhlig", 0),
|
||||
"ru": ("Russian", "русский язык", 1251),
|
||||
"sr": ("Serbian", "српски", 1251),
|
||||
"sn": ("Shona", "Chi Shona", 0),
|
||||
"sk": ("Slovak", "Slovencina", 0),
|
||||
"sl": ("Slovene", "Slovenšcina", 0),
|
||||
"st": ("Southern Sotho", "Sesotho", 0),
|
||||
"es": ("Spanish Castilian", "Español, castellano", 0),
|
||||
"su": ("Sundanese", "Basa Sunda", 0),
|
||||
"sw": ("Swahili", "Kiswahili", 0),
|
||||
"ss": ("Swati", "SiSwati", 0),
|
||||
"sv": ("Swedish", "Svenska", 0),
|
||||
"tn": ("Tswana", "Setswana", 0),
|
||||
"to": ("Tonga (Tonga Islands)", "faka Tonga", 0),
|
||||
"tr": ("Turkish", "Türkçe", 0),
|
||||
"ts": ("Tsonga", "Xitsonga", 0),
|
||||
"tw": ("Twi", "Twi", 0),
|
||||
"ty": ("Tahitian", "Reo Tahiti", 0),
|
||||
"wa": ("Walloon", "Walon", 0),
|
||||
"cy": ("Welsh", "Cymraeg", 0),
|
||||
"wo": ("Wolof", "Wollof", 0),
|
||||
"fy": ("Western Frisian", "Frysk", 0),
|
||||
"xh": ("Xhosa", "isi Xhosa", 0),
|
||||
"yo": ("Yoruba", "Yorùbá", 0),
|
||||
"zu": ("Zulu", "isi Zulu", 0),
|
||||
"zh_CN": ("SimpChinese", "简体中文", 936),
|
||||
"aa": ("Afar", "Afaraf", 0, False),
|
||||
"af": ("Afrikaans", "Afrikaans", 0, False),
|
||||
"ak": ("Akan", "Akan", 0, False),
|
||||
"sq": ("Albanian", "Shqip", 0, False),
|
||||
"an": ("Aragonese", "Aragonés", 0, False),
|
||||
"ae": ("Avestan", "Avesta", 0, False),
|
||||
"ay": ("Aymara", "Aymararu", 0, False),
|
||||
"bm": ("Bambara", "Bamanankan", 0, False),
|
||||
"eu": ("Basque", "Euskara", 0, False),
|
||||
"bi": ("Bislama", "Bislama", 0, False),
|
||||
"bs": ("Bosnian", "Bosanskijezik", 0, False),
|
||||
"br": ("Breton", "Brezhoneg", 0, False),
|
||||
"ca": ("Catalan", "Català", 0, False),
|
||||
"ch": ("Chamorro", "Chamoru", 0, False),
|
||||
"kw": ("Cornish", "Kernewek", 0, False),
|
||||
"co": ("Corsican", "Corsu", 0, False),
|
||||
"hr": ("Croatian", "Hrvatski", 0, False),
|
||||
"cs": ("Czech", "Cesky, ceština", 0, False),
|
||||
"da": ("Danish", "Dansk", 0, False),
|
||||
"nl": ("Dutch", "Nederlands", 0, False),
|
||||
"en": ("English", "English", 0, False),
|
||||
"eo": ("Esperanto", "Esperanto", 0, False),
|
||||
"et": ("Estonian", "Eesti", 0, False),
|
||||
"fo": ("Faroese", "Føroyskt", 0, False),
|
||||
"fj": ("Fijian", "Vosa Vakaviti", 0, False),
|
||||
"fi": ("Finnish", "Suomi", 0, False),
|
||||
"fr": ("French", "Français", 0, False),
|
||||
"gl": ("Galician", "Galego", 0, False),
|
||||
"de": ("German", "Deutsch", 0, False),
|
||||
"he": ("Hebrew", "עִבְרִית", 1255, True),
|
||||
"hz": ("Herero", "Otjiherero", 0, False),
|
||||
"ho": ("Hiri Motu", "Hiri Motu", 0, False),
|
||||
"hu": ("Hungarian", "Magyar", 0, False),
|
||||
"id": ("Indonesian", "Bahasa Indonesia", 0, False),
|
||||
"ga": ("Irish", "Gaeilge", 0, False),
|
||||
"io": ("Ido", "Ido", 0, False),
|
||||
"is": ("Icelandic", "Íslenska", 0, False),
|
||||
"it": ("Italian", "Italiano", 0, False),
|
||||
"jv": ("Javanese", "BasaJawa", 0, False),
|
||||
"rw": ("Kinyarwanda", "Ikinyarwanda", 0, False),
|
||||
"kg": ("Kongo", "KiKongo", 0, False),
|
||||
"kj": ("Kwanyama", "Kuanyama", 0, False),
|
||||
"la": ("Latin", "Lingua latina", 0, False),
|
||||
"lb": ("Luxembourgish", "Lëtzebuergesch", 0, False),
|
||||
"lg": ("Luganda", "Luganda", 0, False),
|
||||
"li": ("Limburgish", "Limburgs", 0, False),
|
||||
"ln": ("Lingala", "Lingála", 0, False),
|
||||
"lt": ("Lithuanian", "Lietuviukalba", 0, False),
|
||||
"lv": ("Latvian", "Latviešuvaloda", 0, False),
|
||||
"gv": ("Manx", "Gaelg", 0, False),
|
||||
"mg": ("Malagasy", "Malagasy fiteny", 0, False),
|
||||
"mt": ("Maltese", "Malti", 0, False),
|
||||
"nb": ("Norwegian Bokmål", "Norsk bokmål", 0, False),
|
||||
"nn": ("Norwegian Nynorsk", "Norsk nynorsk", 0, False),
|
||||
"no": ("Norwegian", "Norsk", 0, False),
|
||||
"oc": ("Occitan", "Occitan", 0, False),
|
||||
"om": ("Oromo", "Afaan Oromoo", 0, False),
|
||||
"pl": ("Polish", "Polski", 0, False),
|
||||
"pt": ("Portuguese", "Português", 0, False),
|
||||
"pt_BR": ("Portuguese Brazillian", "Português Brasileiro", 0, False),
|
||||
"rm": ("Romansh", "Rumantsch grischun", 0, False),
|
||||
"rn": ("Kirundi", "kiRundi", 0, False),
|
||||
"ro": ("Romanian", "Româna", 1250, False),
|
||||
"sc": ("Sardinian", "Sardu", 0, False),
|
||||
"se": ("Northern Sami", "Davvisámegiella", 0, False),
|
||||
"sm": ("Samoan", "Gagana fa'a Samoa", 0, False),
|
||||
"gd": ("Gaelic", "Gàidhlig", 0, False),
|
||||
"ru": ("Russian", "русский язык", 1251, False),
|
||||
"sr": ("Serbian", "српски", 1251, False),
|
||||
"sn": ("Shona", "Chi Shona", 0, False),
|
||||
"sk": ("Slovak", "Slovencina", 0, False),
|
||||
"sl": ("Slovene", "Slovenšcina", 0, False),
|
||||
"st": ("Southern Sotho", "Sesotho", 0, False),
|
||||
"es": ("Spanish Castilian", "Español, castellano", 0, False),
|
||||
"su": ("Sundanese", "Basa Sunda", 0, False),
|
||||
"sw": ("Swahili", "Kiswahili", 0, False),
|
||||
"ss": ("Swati", "SiSwati", 0, False),
|
||||
"sv": ("Swedish", "Svenska", 0, False),
|
||||
"tn": ("Tswana", "Setswana", 0, False),
|
||||
"to": ("Tonga (Tonga Islands)", "faka Tonga", 0, False),
|
||||
"tr": ("Turkish", "Türkçe", 0, False),
|
||||
"ts": ("Tsonga", "Xitsonga", 0, False),
|
||||
"tw": ("Twi", "Twi", 0, False),
|
||||
"ty": ("Tahitian", "Reo Tahiti", 0, False),
|
||||
"wa": ("Walloon", "Walon", 0, False),
|
||||
"cy": ("Welsh", "Cymraeg", 0, False),
|
||||
"wo": ("Wolof", "Wollof", 0, False),
|
||||
"fy": ("Western Frisian", "Frysk", 0, False),
|
||||
"xh": ("Xhosa", "isi Xhosa", 0, False),
|
||||
"yo": ("Yoruba", "Yorùbá", 0, False),
|
||||
"zu": ("Zulu", "isi Zulu", 0, False),
|
||||
"zh_CN": ("SimpChinese", "简体中文", 936, False),
|
||||
}
|
||||
|
||||
# Setup a safe null-translation
|
||||
|
||||
@@ -837,27 +837,47 @@ def find_on_path(targets):
|
||||
return None
|
||||
|
||||
|
||||
def probablyipv4(ip):
|
||||
def is_ipv4_addr(ip: str) -> bool:
|
||||
""" Determine if the ip is an IPv4 address """
|
||||
try:
|
||||
return ipaddress.ip_address(ip).version == 4
|
||||
except:
|
||||
except ValueError:
|
||||
return False
|
||||
|
||||
|
||||
def probablyipv6(ip):
|
||||
# Returns True if the given input is probably an IPv6 address
|
||||
# Square Brackets like '[2001::1]' are OK
|
||||
def is_ipv6_addr(ip: str) -> bool:
|
||||
""" Determine if the ip is an IPv6 address; square brackets ([2001::1]) are OK """
|
||||
try:
|
||||
# Check for plain IPv6 address
|
||||
return ipaddress.ip_address(ip).version == 6
|
||||
except:
|
||||
try:
|
||||
# Remove '[' and ']' and test again:
|
||||
ip = re.search(r"^\[(.*)\]$", ip).group(1)
|
||||
return ipaddress.ip_address(ip).version == 6
|
||||
except:
|
||||
# No, not an IPv6 address
|
||||
return False
|
||||
return ipaddress.ip_address(ip.strip("[]")).version == 6
|
||||
except (ValueError, AttributeError):
|
||||
return False
|
||||
|
||||
|
||||
def is_loopback_addr(ip: str) -> bool:
|
||||
""" Determine if the ip is an IPv4 or IPv6 local loopback address """
|
||||
try:
|
||||
if ip.find(".") < 0:
|
||||
ip = ip.strip("[]")
|
||||
return ipaddress.ip_address(ip).is_loopback
|
||||
except (ValueError, AttributeError):
|
||||
return False
|
||||
|
||||
|
||||
def is_localhost(value: str) -> bool:
|
||||
""" Determine if the input is some variety of 'localhost' """
|
||||
return (value == "localhost") or is_loopback_addr(value)
|
||||
|
||||
|
||||
def is_lan_addr(ip: str) -> bool:
|
||||
""" Determine if the ip is a local area network address """
|
||||
try:
|
||||
return (
|
||||
ip not in ("0.0.0.0", "255.255.255.255", "::")
|
||||
and ipaddress.ip_address(ip).is_private
|
||||
and not is_loopback_addr(ip)
|
||||
)
|
||||
except ValueError:
|
||||
return False
|
||||
|
||||
|
||||
def ip_extract() -> List[str]:
|
||||
|
||||
@@ -32,7 +32,7 @@ import sabnzbd
|
||||
import sabnzbd.cfg
|
||||
from sabnzbd.constants import DEF_TIMEOUT
|
||||
from sabnzbd.encoding import utob
|
||||
from sabnzbd.misc import nntp_to_msg, probablyipv4, probablyipv6, get_server_addrinfo
|
||||
from sabnzbd.misc import nntp_to_msg, is_ipv4_addr, is_ipv6_addr, get_server_addrinfo
|
||||
|
||||
# Set pre-defined socket timeout
|
||||
socket.setdefaulttimeout(DEF_TIMEOUT)
|
||||
@@ -269,9 +269,9 @@ class NNTP:
|
||||
af, socktype, proto, canonname, sa = self.nw.server.info[0]
|
||||
|
||||
# there will be a connect to host (or self.host, so let's force set 'af' to the correct value
|
||||
if probablyipv4(self.host):
|
||||
if is_ipv4_addr(self.host):
|
||||
af = socket.AF_INET
|
||||
if probablyipv6(self.host):
|
||||
if is_ipv6_addr(self.host):
|
||||
af = socket.AF_INET6
|
||||
|
||||
# Secured or unsecured?
|
||||
|
||||
@@ -276,7 +276,7 @@ class NzbQueue:
|
||||
|
||||
def change_script(self, nzo_ids: str, script: str) -> int:
|
||||
result = 0
|
||||
if is_valid_script(script):
|
||||
if (script is None) or is_valid_script(script):
|
||||
for nzo_id in [item.strip() for item in nzo_ids.split(",")]:
|
||||
if nzo_id in self.__nzo_table:
|
||||
self.__nzo_table[nzo_id].script = script
|
||||
|
||||
@@ -88,8 +88,10 @@ from sabnzbd.database import HistoryDB
|
||||
from sabnzbd.deobfuscate_filenames import is_probably_obfuscated
|
||||
|
||||
# Name patterns
|
||||
RE_SUBJECT_FILENAME_QUOTES = re.compile(r'"([^"]*)"') # In the subject, we expect the filename within double quotes
|
||||
RE_SUBJECT_BASIC_FILENAME = re.compile(r"([\w\-+()'\s.,]*\.\w{2,4})") # Otherwise something that looks like a filename
|
||||
# In the subject, we expect the filename within double quotes
|
||||
RE_SUBJECT_FILENAME_QUOTES = re.compile(r'"([^"]*)"')
|
||||
# Otherwise something that looks like a filename
|
||||
RE_SUBJECT_BASIC_FILENAME = re.compile(r"([\w\-+()'\s.,]+\.[A-Za-z0-9]{2,4})")
|
||||
RE_RAR = re.compile(r"(\.rar|\.r\d\d|\.s\d\d|\.t\d\d|\.u\d\d|\.v\d\d)$", re.I)
|
||||
RE_PROPER = re.compile(r"(^|[\. _-])(PROPER|REAL|REPACK)([\. _-]|$)")
|
||||
|
||||
@@ -623,10 +625,10 @@ class NzbObject(TryList):
|
||||
self.repair: bool = r # True if we want to repair this set
|
||||
self.unpack: bool = u # True if we want to unpack this set
|
||||
self.delete: bool = d # True if we want to delete this set
|
||||
self.script: str = script # External script for this set
|
||||
if not is_valid_script(self.script):
|
||||
self.script = None
|
||||
self.cat = cat # User-set category
|
||||
self.script: Optional[str] = None # External script for this set
|
||||
if is_valid_script(script):
|
||||
self.script = script
|
||||
|
||||
# Information fields
|
||||
self.url = url or filename
|
||||
@@ -1410,27 +1412,23 @@ class NzbObject(TryList):
|
||||
|
||||
@synchronized(NZO_LOCK)
|
||||
def prospective_add(self, nzf: NzbFile):
|
||||
"""Add par2 files to compensate for missing articles
|
||||
This fails in case of multi-sets with identical setnames
|
||||
"""
|
||||
# Make sure to also select a parset if it was in the original filename
|
||||
original_filename = self.renames.get(nzf.filename, "")
|
||||
|
||||
"""Add par2 files to compensate for missing articles"""
|
||||
# Get some blocks!
|
||||
if not nzf.is_par2:
|
||||
# We have to find the right par-set
|
||||
blocks_new = 0
|
||||
for parset in self.extrapars.keys():
|
||||
if (parset in nzf.filename or parset in original_filename) and self.extrapars[parset]:
|
||||
for new_nzf in self.extrapars[parset]:
|
||||
self.add_parfile(new_nzf)
|
||||
blocks_new += new_nzf.blocks
|
||||
# Enough now?
|
||||
if blocks_new >= self.bad_articles:
|
||||
logging.info("Prospectively added %s repair blocks to %s", blocks_new, self.final_name)
|
||||
break
|
||||
# Reset NZO TryList
|
||||
self.reset_try_list()
|
||||
for parset in self.extrapars:
|
||||
# Due to strong obfuscation on article-level the parset could have a different name
|
||||
# than the files. Because of that we just add the required number of par2-blocks
|
||||
# from all the sets. This probably means we get too much par2, but it's worth it.
|
||||
blocks_new = 0
|
||||
for new_nzf in self.extrapars[parset]:
|
||||
self.add_parfile(new_nzf)
|
||||
blocks_new += new_nzf.blocks
|
||||
# Enough now?
|
||||
if blocks_new >= self.bad_articles:
|
||||
logging.info("Prospectively added %s repair blocks to %s", blocks_new, self.final_name)
|
||||
break
|
||||
# Reset NZO TryList
|
||||
self.reset_try_list()
|
||||
|
||||
def add_to_direct_unpacker(self, nzf: NzbFile):
|
||||
""" Start or add to DirectUnpacker """
|
||||
|
||||
@@ -1038,8 +1038,11 @@ def handle_empty_queue():
|
||||
Thread(target=sabnzbd.QUEUECOMPLETEACTION).start()
|
||||
sabnzbd.change_queue_complete_action(cfg.queue_complete(), new=False)
|
||||
|
||||
# Trigger garbage collection
|
||||
# Trigger garbage collection and release of memory
|
||||
logging.debug("Triggering garbage collection and release of memory")
|
||||
gc.collect()
|
||||
if sabnzbd.LIBC:
|
||||
sabnzbd.LIBC.malloc_trim(0)
|
||||
|
||||
|
||||
def cleanup_list(wdir, skip_nzb):
|
||||
|
||||
@@ -678,6 +678,8 @@ SKIN_TEXT = {
|
||||
"addMultipleFeeds": TT("Seperate multiple URLs by a comma"), #: Config->RSS, placeholder (cannot be too long)
|
||||
"button-preFeed": TT("Read Feed"), #: Config->RSS button
|
||||
"button-forceFeed": TT("Force Download"), #: Config->RSS button
|
||||
"rss-edit": TT("Edit"), #: Config->RSS edit button
|
||||
"rss-nextscan": TT("Next scan at"), #: Config->RSS when will be the next RSS scan
|
||||
"rss-order": TT("Order"), #: Config->RSS table column header
|
||||
"rss-type": TT("Type"), #: Config->RSS table column header
|
||||
"rss-filter": TT("Filter"), #: Config->RSS table column header
|
||||
|
||||
@@ -35,7 +35,7 @@ except:
|
||||
|
||||
import sabnzbd
|
||||
import sabnzbd.cfg as cfg
|
||||
from sabnzbd.constants import LOCALHOSTS
|
||||
from sabnzbd.misc import is_localhost
|
||||
|
||||
_BONJOUR_OBJECT = None
|
||||
|
||||
@@ -58,7 +58,7 @@ def set_bonjour(host=None, port=None):
|
||||
""" Publish host/port combo through Bonjour """
|
||||
global _HOST_PORT, _BONJOUR_OBJECT
|
||||
|
||||
if not _HAVE_BONJOUR or not cfg.enable_bonjour():
|
||||
if not _HAVE_BONJOUR or not cfg.enable_broadcast():
|
||||
logging.info("No bonjour/zeroconf support installed")
|
||||
return
|
||||
|
||||
@@ -71,8 +71,8 @@ def set_bonjour(host=None, port=None):
|
||||
zhost = None
|
||||
domain = None
|
||||
|
||||
if host in LOCALHOSTS:
|
||||
logging.info("bonjour/zeroconf cannot be one of %s", LOCALHOSTS)
|
||||
if is_localhost(host):
|
||||
logging.info("Cannot setup bonjour/zeroconf for localhost (%s)", host)
|
||||
# All implementations fail to implement "localhost" properly
|
||||
# A false address is published even when scope==kDNSServiceInterfaceIndexLocalOnly
|
||||
return
|
||||
|
||||
@@ -122,7 +122,7 @@ def run_sabnzbd_sabnews_and_selenium(clean_cache_dir):
|
||||
# We only try Chrome for consistent results
|
||||
driver_options = ChromeOptions()
|
||||
|
||||
# Headless on Appveyor/Travis
|
||||
# Headless during CI testing
|
||||
if "CI" in os.environ:
|
||||
driver_options.add_argument("--headless")
|
||||
driver_options.add_argument("--no-sandbox")
|
||||
|
||||
@@ -715,8 +715,8 @@ class TestQueueApi(ApiTestFunctions):
|
||||
False,
|
||||
marks=pytest.mark.skipif(sys.platform.startswith("win"), reason="Not for Windows"),
|
||||
),
|
||||
(None, True, False),
|
||||
("", True, False),
|
||||
("None", False, True),
|
||||
("", False, False),
|
||||
],
|
||||
)
|
||||
def test_api_queue_change_job_script(self, script_filename, create_scriptfile, should_work):
|
||||
|
||||
@@ -21,7 +21,7 @@ tests.test_utils.test_check_dir - Testing SABnzbd checkdir util
|
||||
|
||||
from sabnzbd.cfg import selftest_host
|
||||
from sabnzbd.getipaddress import *
|
||||
from sabnzbd.misc import probablyipv4, probablyipv6
|
||||
from sabnzbd.misc import is_ipv4_addr, is_ipv6_addr
|
||||
|
||||
|
||||
class TestGetIpAddress:
|
||||
@@ -33,14 +33,14 @@ class TestGetIpAddress:
|
||||
|
||||
def test_publicipv4(self):
|
||||
public_ipv4 = publicipv4()
|
||||
assert probablyipv4(public_ipv4)
|
||||
assert is_ipv4_addr(public_ipv4)
|
||||
|
||||
def test_localipv4(self):
|
||||
local_ipv4 = localipv4()
|
||||
assert probablyipv4(local_ipv4)
|
||||
assert is_ipv4_addr(local_ipv4)
|
||||
|
||||
def test_ipv6(self):
|
||||
test_ipv6 = ipv6()
|
||||
# Not all systems have IPv6
|
||||
if test_ipv6:
|
||||
assert probablyipv6(test_ipv6)
|
||||
assert is_ipv6_addr(test_ipv6)
|
||||
|
||||
@@ -230,6 +230,154 @@ class TestMisc:
|
||||
# Make sure the output is cmd.exe-compatible
|
||||
assert res == expected_output
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"value, result",
|
||||
[
|
||||
("1.2.3.4", True),
|
||||
("255.255.255.255", True),
|
||||
("0.0.0.0", True),
|
||||
("10.11.12.13", True),
|
||||
("127.0.0.1", True),
|
||||
("400.500.600.700", False),
|
||||
("blabla", False),
|
||||
("2001::1", False),
|
||||
("::1", False),
|
||||
("::", False),
|
||||
("example.org", False),
|
||||
(None, False),
|
||||
("", False),
|
||||
("3.2.0", False),
|
||||
(-42, False),
|
||||
],
|
||||
)
|
||||
def test_is_ipv4_addr(self, value, result):
|
||||
assert misc.is_ipv4_addr(value) is result
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"value, result",
|
||||
[
|
||||
("2001::1", True),
|
||||
("::1", True),
|
||||
("[2001::1]", True),
|
||||
("fdd6:5a2d:3f20:0:14b0:d8f4:ccb9:fab6", True),
|
||||
("::", True),
|
||||
("a::b", True),
|
||||
("1.2.3.4", False),
|
||||
("255.255.255.255", False),
|
||||
("0.0.0.0", False),
|
||||
("10.11.12.13", False),
|
||||
("127.0.0.1", False),
|
||||
("400.500.600.700", False),
|
||||
("blabla", False),
|
||||
(666, False),
|
||||
("example.org", False),
|
||||
(None, False),
|
||||
("", False),
|
||||
("[1.2.3.4]", False),
|
||||
("2001:1", False),
|
||||
("2001::[2001::1]", False),
|
||||
],
|
||||
)
|
||||
def test_is_ipv6_addr(self, value, result):
|
||||
assert misc.is_ipv6_addr(value) is result
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"value, result",
|
||||
[
|
||||
("::1", True),
|
||||
("[::1]", True),
|
||||
("127.0.0.1", True),
|
||||
("127.255.0.0", True),
|
||||
("127.1.2.7", True),
|
||||
("fdd6:5a2d:3f20:0:14b0:d8f4:ccb9:fab6", False),
|
||||
("::", False),
|
||||
("a::b", False),
|
||||
("1.2.3.4", False),
|
||||
("255.255.255.255", False),
|
||||
("0.0.0.0", False),
|
||||
("10.11.12.13", False),
|
||||
("400.500.600.700", False),
|
||||
("localhost", False),
|
||||
(-666, False),
|
||||
("example.org", False),
|
||||
(None, False),
|
||||
("", False),
|
||||
("[127.6.6.6]", False),
|
||||
("2001:1", False),
|
||||
("2001::[2001::1]", False),
|
||||
],
|
||||
)
|
||||
def test_is_loopback_addr(self, value, result):
|
||||
assert misc.is_loopback_addr(value) is result
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"value, result",
|
||||
[
|
||||
("localhost", True),
|
||||
("::1", True),
|
||||
("[::1]", True),
|
||||
("localhost", True),
|
||||
("127.0.0.1", True),
|
||||
("127.255.0.0", True),
|
||||
("127.1.2.7", True),
|
||||
(".local", False),
|
||||
("test.local", False),
|
||||
("fdd6:5a2d:3f20:0:14b0:d8f4:ccb9:fab6", False),
|
||||
("::", False),
|
||||
("a::b", False),
|
||||
("1.2.3.4", False),
|
||||
("255.255.255.255", False),
|
||||
("0.0.0.0", False),
|
||||
("10.11.12.13", False),
|
||||
("400.500.600.700", False),
|
||||
(-1984, False),
|
||||
("example.org", False),
|
||||
(None, False),
|
||||
("", False),
|
||||
("[127.6.6.6]", False),
|
||||
("2001:1", False),
|
||||
("2001::[2001::1]", False),
|
||||
],
|
||||
)
|
||||
def test_is_localhost(self, value, result):
|
||||
assert misc.is_localhost(value) is result
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"value, result",
|
||||
[
|
||||
("10.11.12.13", True),
|
||||
("172.16.2.81", True),
|
||||
("192.168.255.255", True),
|
||||
("169.254.42.42", True), # Link-local
|
||||
("fd00::ffff", True), # Part of fc00::/7, IPv6 "Unique Local Addresses"
|
||||
("fe80::a1", True), # IPv6 Link-local
|
||||
("::1", False),
|
||||
("localhost", False),
|
||||
("127.0.0.1", False),
|
||||
("2001:1337:babe::", False),
|
||||
("172.32.32.32", False), # Near but not part of 172.16.0.0/12
|
||||
("100.64.0.1", False), # Test net
|
||||
("[2001::1]", False),
|
||||
("::", False),
|
||||
("::a:b:c", False),
|
||||
("1.2.3.4", False),
|
||||
("255.255.255.255", False),
|
||||
("0.0.0.0", False),
|
||||
("127.0.0.1", False),
|
||||
("400.500.600.700", False),
|
||||
("blabla", False),
|
||||
(-666, False),
|
||||
("example.org", False),
|
||||
(None, False),
|
||||
("", False),
|
||||
("[1.2.3.4]", False),
|
||||
("2001:1", False),
|
||||
("2001::[2001::1]", False),
|
||||
],
|
||||
)
|
||||
def test_is_lan_addr(self, value, result):
|
||||
assert misc.is_lan_addr(value) is result
|
||||
|
||||
|
||||
class TestBuildAndRunCommand:
|
||||
# Path should exist
|
||||
|
||||
@@ -129,6 +129,10 @@ class TestNZBStuffHelpers:
|
||||
("<>random!>", "<>random!>"),
|
||||
("nZb]-[Supertje-_S03E11-12_", "nZb]-[Supertje-_S03E11-12_"),
|
||||
("Bla [Now it's done.exe]", "Now it's done.exe"),
|
||||
(
|
||||
'[PRiVATE]-[WtFnZb]-[Video_(2001)_AC5.1_-RELEASE_[TAoE].mkv]-[1/23] - "" yEnc 1234567890 (1/23456)',
|
||||
'[PRiVATE]-[WtFnZb]-[Video_(2001)_AC5.1_-RELEASE_[TAoE].mkv]-[1/23] - "" yEnc 1234567890 (1/23456)',
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_name_extractor(self, subject, filename):
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/usr/bin/python3 -OO
|
||||
# Copyright 2007-2021 The SABnzbd-Team <team@sabnzbd.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
"""
|
||||
tests.test_utils.test_probablyip - Testing SABnzbd's probablyipX() functions
|
||||
"""
|
||||
|
||||
from sabnzbd.misc import *
|
||||
|
||||
|
||||
class TestProbablyIP:
|
||||
def test_probablyipv4(self):
|
||||
# Positive testing
|
||||
assert probablyipv4("1.2.3.4")
|
||||
assert probablyipv4("255.255.255.255")
|
||||
assert probablyipv4("0.0.0.0")
|
||||
# Negative testing
|
||||
assert not probablyipv4("400.500.600.700")
|
||||
assert not probablyipv4("blabla")
|
||||
assert not probablyipv4("2001::1")
|
||||
|
||||
def test_probablyipv6(self):
|
||||
# Positive testing
|
||||
assert probablyipv6("2001::1")
|
||||
assert probablyipv6("[2001::1]")
|
||||
assert probablyipv6("fdd6:5a2d:3f20:0:14b0:d8f4:ccb9:fab6")
|
||||
# Negative testing
|
||||
assert not probablyipv6("blabla")
|
||||
assert not probablyipv6("1.2.3.4")
|
||||
assert not probablyipv6("[1.2.3.4]")
|
||||
assert not probablyipv6("2001:1")
|
||||
assert not probablyipv6("2001::[2001::1]")
|
||||
@@ -177,7 +177,7 @@ print("Finished creating email POT file")
|
||||
|
||||
|
||||
# Create the NSIS POT file
|
||||
NSIS = "NSIS_Installer.nsi"
|
||||
NSIS = "builder/win/NSIS_Installer.nsi"
|
||||
RE_NSIS = re.compile(r'LangString\s+\w+\s+\$\{LANG_ENGLISH\}\s+(".*)', re.I)
|
||||
|
||||
if os.path.exists(NSIS):
|
||||
|
||||
Reference in New Issue
Block a user