From 50a62bf00a7715c5b15cc4a01084d6c148cfee28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 30 Jun 2015 21:49:37 +0200 Subject: [PATCH 01/22] maintenance branch is now 1.2.3-dev --- .versioneer-lookup | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.versioneer-lookup b/.versioneer-lookup index dd26fce50..ea7606ff8 100644 --- a/.versioneer-lookup +++ b/.versioneer-lookup @@ -10,10 +10,10 @@ # master shall not use the lookup table, only tags master -# maintenance is currently the branch for preparation of maintenance release 1.2.2 +# maintenance is currently the branch for preparation of maintenance release 1.2.3 # so are any fix/... branches -maintenance 1.2.2-dev 9f8d30a66c2fcc5cd0e8984c72dc36f7e84fde10 -fix/.* 1.2.2-dev 9f8d30a66c2fcc5cd0e8984c72dc36f7e84fde10 +maintenance 1.2.3-dev 1c6b0554c796f03ed539397daa4b13c44d05a99d +fix/.* 1.2.3-dev 1c6b0554c796f03ed539397daa4b13c44d05a99d # every other branch is a development branch and thus gets resolved to 1.3.0-dev for now .* 1.3.0-dev 198d3450d94be1a2 From 7b3e0563cc84d90d9fbdb536630b92fc3b6b38a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 1 Jul 2015 09:19:51 +0200 Subject: [PATCH 02/22] SWUpdate: Only use version cache from same version of OP When using the version cache only use the version cache if the OctoPrint version stored within it matches the one of the currently running instance. Otherwise we might report false positives with regards to available updates under some circumstances. (cherry picked from commit bb7b0cb) --- .../plugins/softwareupdate/__init__.py | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/octoprint/plugins/softwareupdate/__init__.py b/src/octoprint/plugins/softwareupdate/__init__.py index e69727377..7cfdd2f36 100644 --- a/src/octoprint/plugins/softwareupdate/__init__.py +++ b/src/octoprint/plugins/softwareupdate/__init__.py @@ -82,9 +82,24 @@ def _load_version_cache(self): except: self._logger.exception("Error while loading version cache from disk") else: - self._version_cache = data - self._version_cache_dirty = False - self._logger.info("Loaded version cache from disk") + try: + if "octoprint" in data and len(data["octoprint"]) == 4 and "local" in data["octoprint"][1] and "value" in data["octoprint"][1]["local"]: + data_version = data["octoprint"][1]["local"]["value"] + else: + self._logger.info("Can't determine version of OctoPrint version cache was created for, not using it") + return + + from octoprint._version import get_versions + octoprint_version = get_versions()["version"] + if data_version != octoprint_version: + self._logger.info("Version cache was created for another version of OctoPrint, not using it") + return + + self._version_cache = data + self._version_cache_dirty = False + self._logger.info("Loaded version cache from disk") + except: + self._logger.exception("Error parsing in version cache data") def _save_version_cache(self): import tempfile From d7a86a4d28ea4b31132f7938b415eb1dea926aa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 2 Jul 2015 08:36:03 +0200 Subject: [PATCH 03/22] Use UTF-8 for _all_ output from sarge Lines taking from the asynchronous processing of stdout/stderr where left as str, leading to encoding problems when utf8 characters showed up in the stream and were being interpreted as ascii encoding. (cherry picked from commit 9373be3) --- src/octoprint/plugins/cura/__init__.py | 46 +++++++++---------- .../plugins/pluginmanager/__init__.py | 6 +-- .../plugins/softwareupdate/updaters/pip.py | 10 ++-- src/octoprint/util/__init__.py | 22 +++++++-- src/octoprint/util/pip.py | 5 ++ 5 files changed, 54 insertions(+), 35 deletions(-) diff --git a/src/octoprint/plugins/cura/__init__.py b/src/octoprint/plugins/cura/__init__.py index e1ce090cf..6b1b72912 100644 --- a/src/octoprint/plugins/cura/__init__.py +++ b/src/octoprint/plugins/cura/__init__.py @@ -218,7 +218,7 @@ def do_slice(self, model_path, printer_profile, machinecode_path=None, profile_p if not on_progress_kwargs: on_progress_kwargs = dict() - self._cura_logger.info("### Slicing %s to %s using profile stored at %s" % (model_path, machinecode_path, profile_path)) + self._cura_logger.info(u"### Slicing %s to %s using profile stored at %s" % (model_path, machinecode_path, profile_path)) engine_settings = self._convert_to_engine(profile_path, printer_profile, posX, posY) @@ -227,16 +227,15 @@ def do_slice(self, model_path, printer_profile, machinecode_path=None, profile_p return False, "Path to CuraEngine is not configured " working_dir, _ = os.path.split(executable) - args = ['"%s"' % executable, '-v', '-p'] + args = [executable, '-v', '-p'] for k, v in engine_settings.items(): - args += ["-s", '"%s=%s"' % (k, str(v))] - args += ['-o', '"%s"' % machinecode_path, '"%s"' % model_path] + args += ["-s", "%s=%s" % (k, str(v))] + args += ["-o", machinecode_path, model_path] - import sarge - command = " ".join(args) - self._logger.info("Running %r in %s" % (command, working_dir)) + self._logger.info(u"Running %r in %s" % (" ".join(args), working_dir)) - p = sarge.run(command, cwd=working_dir, async=True, stdout=sarge.Capture(), stderr=sarge.Capture()) + import sarge + p = sarge.run(args, cwd=working_dir, async=True, stdout=sarge.Capture(), stderr=sarge.Capture()) p.wait_events() self._slicing_commands[machinecode_path] = p.commands[0] @@ -254,6 +253,7 @@ def do_slice(self, model_path, printer_profile, machinecode_path=None, profile_p p.commands[0].poll() continue + line = octoprint.util.to_unicode(line, errors="replace") self._cura_logger.debug(line.strip()) if on_progress is not None: @@ -282,14 +282,14 @@ def do_slice(self, model_path, printer_profile, machinecode_path=None, profile_p # # with being 0 for "inset", 1 for "skin" and 2 for "export". - if line.startswith("Layer count:") and layer_count is None: + if line.startswith(u"Layer count:") and layer_count is None: try: - layer_count = float(line[len("Layer count:"):].strip()) + layer_count = float(line[len(u"Layer count:"):].strip()) except: pass - elif line.startswith("Progress:"): - split_line = line[len("Progress:"):].strip().split(":") + elif line.startswith(u"Progress:"): + split_line = line[len(u"Progress:"):].strip().split(":") if len(split_line) == 3: step, current_layer, _ = split_line try: @@ -302,21 +302,21 @@ def do_slice(self, model_path, printer_profile, machinecode_path=None, profile_p on_progress_kwargs["_progress"] = (step_factor[step] * layer_count + current_layer) / (layer_count * 3) on_progress(*on_progress_args, **on_progress_kwargs) - elif line.startswith("Print time:"): + elif line.startswith(u"Print time:"): try: - print_time = int(line[len("Print time:"):].strip()) + print_time = int(line[len(u"Print time:"):].strip()) if analysis is None: analysis = dict() analysis["estimatedPrintTime"] = print_time except: pass - elif line.startswith("Filament:") or line.startswith("Filament2:"): - if line.startswith("Filament:"): - filament_str = line[len("Filament:"):].strip() + elif line.startswith(u"Filament:") or line.startswith(u"Filament2:"): + if line.startswith(u"Filament:"): + filament_str = line[len(u"Filament:"):].strip() tool_key = "tool0" else: - filament_str = line[len("Filament2:"):].strip() + filament_str = line[len(u"Filament2:"):].strip() tool_key = "tool1" try: @@ -339,20 +339,20 @@ def do_slice(self, model_path, printer_profile, machinecode_path=None, profile_p with self._job_mutex: if machinecode_path in self._cancelled_jobs: - self._cura_logger.info("### Cancelled") + self._cura_logger.info(u"### Cancelled") raise octoprint.slicing.SlicingCancelled() - self._cura_logger.info("### Finished, returncode %d" % p.returncode) + self._cura_logger.info(u"### Finished, returncode %d" % p.returncode) if p.returncode == 0: return True, dict(analysis=analysis) else: - self._logger.warn("Could not slice via Cura, got return code %r" % p.returncode) + self._logger.warn(u"Could not slice via Cura, got return code %r" % p.returncode) return False, "Got returncode %r" % p.returncode except octoprint.slicing.SlicingCancelled as e: raise e except: - self._logger.exception("Could not slice via Cura, got an unknown error") + self._logger.exception(u"Could not slice via Cura, got an unknown error") return False, "Unknown error, please consult the log file" finally: @@ -371,7 +371,7 @@ def cancel_slicing(self, machinecode_path): command = self._slicing_commands[machinecode_path] if command is not None: command.terminate() - self._logger.info("Cancelled slicing of %s" % machinecode_path) + self._logger.info(u"Cancelled slicing of %s" % machinecode_path) def _load_profile(self, path): import yaml diff --git a/src/octoprint/plugins/pluginmanager/__init__.py b/src/octoprint/plugins/pluginmanager/__init__.py index 58b662bb9..a458acd13 100644 --- a/src/octoprint/plugins/pluginmanager/__init__.py +++ b/src/octoprint/plugins/pluginmanager/__init__.py @@ -418,13 +418,13 @@ def _call_pip(self, args): return self._pip_caller.execute(*args) def _log_call(self, *lines): - self._log(lines, prefix=" ", stream="call") + self._log(lines, prefix=u" ", stream="call") def _log_stdout(self, *lines): - self._log(lines, prefix=">", stream="stdout") + self._log(lines, prefix=u">", stream="stdout") def _log_stderr(self, *lines): - self._log(lines, prefix="!", stream="stderr") + self._log(lines, prefix=u"!", stream="stderr") def _log(self, lines, prefix=None, stream=None, strip=True): if strip: diff --git a/src/octoprint/plugins/softwareupdate/updaters/pip.py b/src/octoprint/plugins/softwareupdate/updaters/pip.py index 36f528125..446313b07 100644 --- a/src/octoprint/plugins/softwareupdate/updaters/pip.py +++ b/src/octoprint/plugins/softwareupdate/updaters/pip.py @@ -46,12 +46,12 @@ def perform_update(target, check, target_version): install_arg = check["pip"].format(target_version=target_version) - logger.debug("Target: %s, executing pip install %s" % (target, install_arg)) + logger.debug(u"Target: %s, executing pip install %s" % (target, install_arg)) pip_args = ["install", check["pip"].format(target_version=target_version, target=target_version)] pip_caller.execute(*pip_args) - logger.debug("Target: %s, executing pip install %s --ignore-reinstalled --force-reinstall --no-deps" % (target, install_arg)) + logger.debug(u"Target: %s, executing pip install %s --ignore-reinstalled --force-reinstall --no-deps" % (target, install_arg)) pip_args += ["--ignore-installed", "--force-reinstall", "--no-deps"] pip_caller.execute(*pip_args) @@ -59,13 +59,13 @@ def perform_update(target, check, target_version): return "ok" def _log_call(*lines): - _log(lines, prefix=" ") + _log(lines, prefix=u" ") def _log_stdout(*lines): - _log(lines, prefix=">") + _log(lines, prefix=u">") def _log_stderr(*lines): - _log(lines, prefix="!") + _log(lines, prefix=u"!") def _log(lines, prefix=None): lines = map(lambda x: x.strip(), lines) diff --git a/src/octoprint/util/__init__.py b/src/octoprint/util/__init__.py index 9b63618e3..3b3d03a45 100644 --- a/src/octoprint/util/__init__.py +++ b/src/octoprint/util/__init__.py @@ -352,9 +352,7 @@ def silent_remove(file): def sanitize_ascii(line): if not isinstance(line, basestring): raise ValueError("Expected either str or unicode but got {} instead".format(line.__class__.__name__ if line is not None else None)) - if isinstance(line, str): - line = unicode(line, 'ascii', 'replace') - return line.encode('ascii', 'replace').rstrip() + return to_unicode(line, encoding="ascii", errors="replace").rstrip() def filter_non_ascii(line): @@ -369,12 +367,28 @@ def filter_non_ascii(line): """ try: - unicode(line, 'ascii').encode('ascii') + to_str(to_unicode(line, encoding="ascii"), encoding="ascii") return False except ValueError: return True +def to_str(s_or_u, encoding="utf-8", errors="strict"): + """Make sure ``s_or_u`` is a str.""" + if isinstance(s_or_u, unicode): + return s_or_u.encode(encoding, errors=errors) + else: + return s_or_u + + +def to_unicode(s_or_u, encoding="utf-8", errors="strict"): + """Make sure ``s_or_u`` is a unicode string.""" + if isinstance(s_or_u, str): + return s_or_u.decode(encoding, errors=errors) + else: + return s_or_u + + def dict_merge(a, b): """ Recursively deep-merges two dictionaries. diff --git a/src/octoprint/util/pip.py b/src/octoprint/util/pip.py index 7d3d1da19..980e5735c 100644 --- a/src/octoprint/util/pip.py +++ b/src/octoprint/util/pip.py @@ -11,6 +11,9 @@ import logging +from octoprint.util import to_unicode + + class UnknownPip(Exception): pass @@ -77,11 +80,13 @@ def execute(self, *args): while p.returncode is None: line = p.stderr.readline(timeout=0.5) if line: + line = to_unicode(line, errors="replace") self._log_stderr(line) all_stderr.append(line) line = p.stdout.readline(timeout=0.5) if line: + line = to_unicode(line, errors="replace") self._log_stdout(line) all_stdout.append(line) From 885e6f916cf7d8a9085424d75b59af8afb7bb639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 2 Jul 2015 15:20:07 +0200 Subject: [PATCH 04/22] Fix: Don't persists checks when saving SWUpdate settings (cherry picked from commit 8d10be6) --- .../plugins/softwareupdate/__init__.py | 37 ++++++++++++++++--- 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/src/octoprint/plugins/softwareupdate/__init__.py b/src/octoprint/plugins/softwareupdate/__init__.py index 7cfdd2f36..157f671b6 100644 --- a/src/octoprint/plugins/softwareupdate/__init__.py +++ b/src/octoprint/plugins/softwareupdate/__init__.py @@ -142,15 +142,29 @@ def get_settings_defaults(self): "cache_ttl": 24 * 60, } + def on_settings_load(self): + data = dict(octoprint.plugin.SettingsPlugin.on_settings_load(self)) + if "checks" in data: + del data["checks"] + return data + def on_settings_save(self, data): - octoprint.plugin.SettingsPlugin.on_settings_save(self, data) + for key in self.get_settings_defaults(): + if key == "checks" or key == "cache_ttl": + continue + if key in data: + self._settings.set([key], data[key]) + + if "cache_ttl" in data: + self._settings.set_int(["cache_ttl"], data["cache_ttl"]) + self._version_cache_ttl = self._settings.get_int(["cache_ttl"]) * 60 def get_settings_version(self): - return 2 + return 3 def on_settings_migrate(self, target, current=None): - if current is None: + if current is None or current == 2: # there might be some left over data from the time we still persisted everything to settings, # even the stuff that shouldn't be persisted but always provided by the hook - let's # clean up @@ -159,14 +173,17 @@ def on_settings_migrate(self, target, current=None): if configured_checks is None: configured_checks = dict() + check_keys = configured_checks.keys() + # take care of the octoprint entry if "octoprint" in configured_checks: octoprint_check = dict(configured_checks["octoprint"]) - if "type" in octoprint_check and not octoprint_check["type"] == "github_commit": - deletables=["current"] + if "type" not in octoprint_check or octoprint_check["type"] != "github_commit": + deletables=["current", "displayName", "displayVersion"] else: deletables=[] octoprint_check = self._clean_settings_check("octoprint", octoprint_check, self.get_settings_defaults()["checks"]["octoprint"], delete=deletables, save=False) + check_keys.remove("octoprint") # and the hooks update_check_hooks = self._plugin_manager.get_hooks("octoprint.plugin.softwareupdate.check_config") @@ -180,12 +197,20 @@ def on_settings_migrate(self, target, current=None): if key in configured_checks: settings_check = dict(configured_checks[key]) merged = dict_merge(data, settings_check) - if "type" in merged and not merged["type"] == "github_commit": + if "type" not in merged or merged["type"] != "github_commit": deletables = ["current", "displayVersion"] else: deletables = [] self._clean_settings_check(key, settings_check, data, delete=deletables, save=False) + check_keys.remove(key) + + # and anything that's left over we'll just remove now + for key in check_keys: + dummy_defaults = dict(plugins=dict()) + dummy_defaults["plugins"][self._identifier] = dict(checks=dict()) + dummy_defaults["plugins"][self._identifier]["checks"][key] = None + self._settings.set(["checks", key], None, defaults=dummy_defaults) elif current == 1: configured_checks = self._settings.get(["checks"], incl_defaults=False) From 95c26a7850e9a80cad635ee4c4937cb169e5f189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 2 Jul 2015 15:21:05 +0200 Subject: [PATCH 05/22] Fix: Don't automatically persist or return _config_version Should only ever be read or written by the plugin system itself, not by on_settings_save or on_settings_load (cherry picked from commit 77f7d59) --- src/octoprint/plugin/types.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/octoprint/plugin/types.py b/src/octoprint/plugin/types.py index ad74364c0..bf702cb68 100644 --- a/src/octoprint/plugin/types.py +++ b/src/octoprint/plugin/types.py @@ -781,7 +781,10 @@ def on_settings_load(self): :return: the current settings of the plugin, as a dictionary """ - return self._settings.get([], asdict=True, merged=True) + data = self._settings.get([], asdict=True, merged=True) + if "_config_version" in data: + del data["_config_version"] + return data def on_settings_save(self, data): """ @@ -803,9 +806,12 @@ def on_settings_save(self, data): """ import octoprint.util + if "_config_version" in data: + del data["_config_version"] + current = self._settings.get([], asdict=True, merged=True) - data = octoprint.util.dict_merge(current, data) - self._settings.set([], data) + merged = octoprint.util.dict_merge(current, data) + self._settings.set([], merged) def get_settings_defaults(self): """ From 85ad85bdfa65d3d2bd5e57b67f37e1a9b6b4ed5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sat, 4 Jul 2015 23:51:29 +0200 Subject: [PATCH 06/22] Also refer to wiki from docs until everything "official" is migrated --- docs/index.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index 068959093..1e619c439 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,6 +6,10 @@ Welcome to OctoPrint's documentation! :alt: The OctoPrint Logo :align: right +This documentation is still in the process of being migrated from +`OctoPrint's wiki `_, so also take +a look there! + Contents ======== From d854b41ffb3645d98df45fab399f9bbfd28d0157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sun, 5 Jul 2015 00:09:13 +0200 Subject: [PATCH 07/22] Migrated access control docs from wiki --- docs/features/accesscontrol.rst | 69 +++++++++++++++++++++++++++++++ docs/features/custom_controls.rst | 16 ++++++- docs/features/index.rst | 1 + docs/features/plugins.rst | 2 +- 4 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 docs/features/accesscontrol.rst diff --git a/docs/features/accesscontrol.rst b/docs/features/accesscontrol.rst new file mode 100644 index 000000000..dd59bd6b8 --- /dev/null +++ b/docs/features/accesscontrol.rst @@ -0,0 +1,69 @@ +.. _sec-features-access_control: + +Access Control +============== + +When Access Control is enabled, anonymous users (not logged in) will only see +the read-only parts of the UI which are the following: + + * printer state + * available gcode files and stats (upload is disabled) + * temperature + * webcam + * gcode viewer + * terminal output (sending commands is disabled) + * available timelapse movies + * any components provided through plugins which are enabled for anonymous + users + +Logged in users will get access to everything besides the Settings and System +Commands, which are admin-only. + +If Access Control is disabled, everything is directly accessible. **That also +includes all administrative functionality as well as full control over the +printer!** + +Upon first start a configuration wizard is provided which allows configuration +of the first administrator account or alternatively disabling Access Control +(which is **NOT** recommended for systems that are directly accessible via the +Internet!). + +.. hint:: + + If you plan to have your OctoPrint instance accessible over the internet, + **always enable Access Control**. + +.. _sec-features-access_control-rerunning_wizard: + +Rerunning the wizard +-------------------- + +In case Access Control was disabled in the configuration wizard, it is +possibly to re-run it by editing ``config.yaml`` [#f1]_ and setting ``firstRun`` +in the ``server`` section and ``enabled`` in the ``accessControl`` section to +``true``: + +.. code-block-ext:: yaml + + accessControl: + enabled: true + # ... + server: + firstRun: true + +Then restart the server and connect to the web interface - the wizard should +be shown again. + +.. note:: + + If user accounts were created prior to disabling Access Control and those + user accounts are not to be used any more, remove ``.octoprint/users.yaml``. + If you don't remove this file, the above changes won't lead to the + configuration being shown again, instead Access Control will just be + enabled using the already existing login data. This is to prevent you from + resetting access control by accident. + +.. rubric:: Footnotes + +.. [#f1] For Linux that will be ``~/.octoprint/config.yaml``, for Windows it will be ``%APPDATA%/OctoPrint/config.yaml`` and for + Mac ``~/Library/Application Support/OctoPrint/config.yaml`` diff --git a/docs/features/custom_controls.rst b/docs/features/custom_controls.rst index a904748f4..983611fc8 100644 --- a/docs/features/custom_controls.rst +++ b/docs/features/custom_controls.rst @@ -10,7 +10,7 @@ buttons which trigger sending of one or more lines of GCODE to the printer over parameterization of these commands with values entered by the user to full blown GCODE script templates backed by `Jinja2 `_. -Custom controls are configured within :ref:`config.yaml ` in a ``controls`` section which +Custom controls are configured within :ref:`config.yaml ` [#f1]_ in a ``controls`` section which basically represents a hierarchical structure of all configured custom controls of various types. .. note:: @@ -94,6 +94,13 @@ button that sends one or more commands to the printer when clicked, displaying o controls that just serve as *container* for other controls, the latter being identified by having a ``children`` attribute wrapping more controls. +.. hint:: + + Take a look at the `Custom Control Editor plugin `_ + which allows you configuring your Custom Controls through OctoPrint's + settings interface without the need to manually edit the configuration + file. + .. _sec-features-custom_controls-types: Types @@ -278,4 +285,9 @@ Parameterized GCODE Script G28 X0 Y0 Note the usage of the ``parameters.repetitions`` template variable in the GCODE script template, which will contain -the value selected by the user for the "Go arounds" slider. \ No newline at end of file +the value selected by the user for the "Go arounds" slider. + +.. rubric:: Footnotes + +.. [#f1] For Linux that will be ``~/.octoprint/config.yaml``, for Windows it will be ``%APPDATA%/OctoPrint/config.yaml`` and for + Mac ``~/Library/Application Support/OctoPrint/config.yaml`` diff --git a/docs/features/index.rst b/docs/features/index.rst index 5ebc86208..c4b1a7138 100644 --- a/docs/features/index.rst +++ b/docs/features/index.rst @@ -7,6 +7,7 @@ Features .. toctree:: :maxdepth: 2 + accesscontrol.rst custom_controls.rst gcode_scripts.rst action_commands.rst diff --git a/docs/features/plugins.rst b/docs/features/plugins.rst index c8fb1fd5e..1b65b6dc0 100644 --- a/docs/features/plugins.rst +++ b/docs/features/plugins.rst @@ -64,7 +64,7 @@ See :ref:`Developing Plugins `. .. rubric:: Footnotes .. [#f1] For Linux that will be ``~/.octoprint/plugins``, for Windows it will be ``%APPDATA%/OctoPrint/plugins`` and for - Mac ``~/Library/Application Support/OctoPrint`` + Mac ``~/Library/Application Support/OctoPrint/plugins`` .. [#f2] Make sure to use the exact same Python installation for installing the plugin that you also used for installing & running OctoPrint. For OctoPi this means using ``~/oprint/bin/pip`` for installing plugins instead of just ``pip``. From 19b4a0f403437917fa223a6f2de7efd84dcc2941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sun, 5 Jul 2015 09:35:49 +0200 Subject: [PATCH 08/22] Fix: Always delete files from watched folder Wasn't ensure previously when using file preprocessors. --- src/octoprint/server/util/watchdog.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/octoprint/server/util/watchdog.py b/src/octoprint/server/util/watchdog.py index ae9e33c3e..8bda659b6 100644 --- a/src/octoprint/server/util/watchdog.py +++ b/src/octoprint/server/util/watchdog.py @@ -56,6 +56,11 @@ def _upload(self, path): file_wrapper.filename, file_wrapper, allow_overwrite=True) + if os.path.exists(path): + try: + os.remove(path) + except: + self._logger.exception("Error while trying to clear a file from the watched folder") def on_created(self, event): self._upload(event.src_path) From 29d49179a9fc4666d5973438e2aabb6c7cb0234b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sun, 5 Jul 2015 10:04:06 +0200 Subject: [PATCH 09/22] SWU Fix: properly sanitize version strings for comparison --- .../version_checks/github_release.py | 77 ++++++++++++++----- 1 file changed, 59 insertions(+), 18 deletions(-) diff --git a/src/octoprint/plugins/softwareupdate/version_checks/github_release.py b/src/octoprint/plugins/softwareupdate/version_checks/github_release.py index 0d2abf696..5acddc164 100644 --- a/src/octoprint/plugins/softwareupdate/version_checks/github_release.py +++ b/src/octoprint/plugins/softwareupdate/version_checks/github_release.py @@ -44,35 +44,71 @@ def _get_latest_release(user, repo, include_prerelease=False): return latest["name"], latest["tag_name"] -def _is_current(release_information, compare_type, custom=None): +def _get_sanitized_version(version_string): + if "-" in version_string: + version_string = version_string[:version_string.find("-")] + return version_string + + +def _get_comparable_version_pkg_resources(version_string, force_base=True): + import pkg_resources + + version = pkg_resources.parse_version(version_string) + + if force_base: + if isinstance(version, tuple): + # old setuptools + base_version = [] + for part in version: + if part.startswith("*"): + break + base_version.append(part) + version = tuple(base_version) + else: + # new setuptools + version = pkg_resources.parse_version(version.base_version) + + return version + + +def _get_comparable_version_semantic(version_string, force_base=True): + import semantic_version + + version = semantic_version.Version.coerce(version_string, partial=False) + + if force_base: + version_string = "{}.{}.{}".format(version.major, version.minor, version.patch) + version = semantic_version.Version.coerce(version_string, partial=False) + + return version + + +def _is_current(release_information, compare_type, custom=None, force_base=True): if release_information["remote"]["value"] is None: return True if not compare_type in ("python", "semantic", "unequal", "custom") or compare_type == "custom" and custom is None: compare_type = "python" + sanitized_local = _get_sanitized_version(release_information["local"]["value"]) + sanitized_remote = _get_sanitized_version(release_information["remote"]["value"]) + try: if compare_type == "python": - import pkg_resources - - local_version = pkg_resources.parse_version(release_information["local"]["value"]) - remote_version = pkg_resources.parse_version(release_information["remote"]["value"]) - + local_version = _get_comparable_version_pkg_resources(sanitized_local, force_base=force_base) + remote_version = _get_comparable_version_pkg_resources(sanitized_remote, force_base=force_base) return local_version >= remote_version elif compare_type == "semantic": - import semantic_version - - local_version = semantic_version.Version(release_information["local"]["value"]) - remote_version = semantic_version.Version(release_information["remote"]["value"]) - + local_version = _get_comparable_version_semantic(sanitized_local, force_base=force_base) + remote_version = _get_comparable_version_semantic(sanitized_remote, force_base=force_base) return local_version >= remote_version elif compare_type == "custom": - return custom(release_information["local"], release_information["remote"]) + return custom(sanitized_local, sanitized_remote) else: - return release_information["local"]["value"] == release_information["remote"]["value"] + return sanitized_local == sanitized_remote except: logger.exception("Could not check if version is current due to an error, assuming it is") return True @@ -82,11 +118,13 @@ def get_latest(target, check, custom_compare=None): if not "user" in check or not "repo" in check: raise ConfigurationInvalid("github_release update configuration for %s needs user and repo set" % target) - current = None - if "current" in check: - current = check["current"] + current = check.get("current", None) + include_prerelease = check.get("prerelease", False) + force_base = check.get("force_base", True) - remote_name, remote_tag = _get_latest_release(check["user"], check["repo"], include_prerelease=check["prerelease"] == True if "prerelease" in check else False) + remote_name, remote_tag = _get_latest_release(check["user"], + check["repo"], + include_prerelease=include_prerelease) compare_type = check["release_compare"] if "release_compare" in check else "python" information =dict( @@ -96,4 +134,7 @@ def get_latest(target, check, custom_compare=None): logger.debug("Target: %s, local: %s, remote: %s" % (target, current, remote_tag)) - return information, _is_current(information, compare_type, custom=custom_compare) + return information, _is_current(information, + compare_type, + custom=custom_compare, + force_base=force_base) From 8735b1065388d542990914654f041f5979270fb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sun, 5 Jul 2015 16:46:36 +0200 Subject: [PATCH 10/22] Better resilience against senseless polling intervals (cherry picked from commit 6600d24) --- .../dialogs/settings/serialconnection.jinja2 | 2 +- src/octoprint/util/comm.py | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 b/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 index 11c3b5596..2f4e00d0a 100644 --- a/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 +++ b/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 @@ -22,7 +22,7 @@
- + s
diff --git a/src/octoprint/util/comm.py b/src/octoprint/util/comm.py index 8dd693327..ddd6afc55 100644 --- a/src/octoprint/util/comm.py +++ b/src/octoprint/util/comm.py @@ -529,7 +529,7 @@ def startPrint(self): self.sendCommand("M24") - self._sd_status_timer = RepeatedTimer(lambda: get_interval("sdStatus"), self._poll_sd_status, run_first=True) + self._sd_status_timer = RepeatedTimer(lambda: get_interval("sdStatus", default_value=1.0), self._poll_sd_status, run_first=True) self._sd_status_timer.start() else: line = self._getNext() @@ -1181,7 +1181,7 @@ def _poll_sd_status(self): def _onConnected(self): self._serial.timeout = settings().getFloat(["serial", "timeout", "communication"]) - self._temperature_timer = RepeatedTimer(lambda: get_interval("temperature"), self._poll_temperature, run_first=True) + self._temperature_timer = RepeatedTimer(lambda: get_interval("temperature", default_value=4.0), self._poll_temperature, run_first=True) self._temperature_timer.start() self._changeState(self.STATE_OPERATIONAL) @@ -1997,11 +1997,15 @@ def get_new_timeout(type): return now + get_interval(type) -def get_interval(type): +def get_interval(type, default_value=0.0): if type not in default_settings["serial"]["timeout"]: - return 0 + return default_value else: - return settings().getFloat(["serial", "timeout", type]) + value = settings().getFloat(["serial", "timeout", type]) + if not value: + return default_value + else: + return value _temp_command_regex = re.compile("^M(?P104|109|140|190)(\s+T(?P\d+)|\s+S(?P[-+]?\d*\.?\d*))+") From 549b60edb146a35ca56aa74cbd2300dab9369a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sun, 5 Jul 2015 09:38:09 +0200 Subject: [PATCH 11/22] Allow polling for changes in watched folder Some underlying file systems might not trigger change events (e.g. mounted remote file systems). Added a feature flag to allow for switching to a (less performant) polling method. (cherry picked from commit f2df174) --- src/octoprint/server/__init__.py | 8 +++++++- src/octoprint/settings.py | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py index 35586d1dd..7839a9bd7 100644 --- a/src/octoprint/server/__init__.py +++ b/src/octoprint/server/__init__.py @@ -14,6 +14,7 @@ from flask.ext.assets import Environment, Bundle from babel import Locale from watchdog.observers import Observer +from watchdog.observers.polling import PollingObserver from collections import defaultdict import os @@ -399,7 +400,12 @@ def template_disabled(name, plugin): printer.connect(port=port, baudrate=baudrate, profile=printer_profile["id"] if "id" in printer_profile else "_default") # start up watchdogs - observer = Observer() + if s.getBoolean(["feature", "pollWatched"]): + # use less performant polling observer if explicitely configured + observer = PollingObserver() + else: + # use os default + observer = Observer() observer.schedule(util.watchdog.GcodeWatchdogHandler(fileManager, printer), s.getBaseFolder("watched")) observer.start() diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index 15ca4df92..f5fd85a23 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -142,7 +142,8 @@ def settings(init=False, basedir=None, configfile=None): "repetierTargetTemp": False, "externalHeatupDetection": True, "supportWait": True, - "keyboardControl": True + "keyboardControl": True, + "pollWatched": False }, "folder": { "uploads": None, From 811ffc760fe7dd3b8c8c06cc66135df1a3005fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 6 Jul 2015 08:40:13 +0200 Subject: [PATCH 12/22] Added "pollWatched" setting to UI (cherry picked from commit b8cf5ef) --- src/octoprint/server/api/settings.py | 4 +- .../static/js/app/viewmodels/settings.js | 5 +- .../templates/dialogs/settings/folders.jinja2 | 7 + .../translations/de/LC_MESSAGES/messages.mo | Bin 47233 -> 47369 bytes .../translations/de/LC_MESSAGES/messages.po | 250 +++++++++--------- translations/de/LC_MESSAGES/messages.mo | Bin 47233 -> 47369 bytes translations/de/LC_MESSAGES/messages.po | 250 +++++++++--------- translations/messages.pot | 239 ++++++++--------- 8 files changed, 392 insertions(+), 363 deletions(-) diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py index 524b0e032..31e5235fc 100644 --- a/src/octoprint/server/api/settings.py +++ b/src/octoprint/server/api/settings.py @@ -68,7 +68,8 @@ def getSettings(): "swallowOkAfterResend": s.getBoolean(["feature", "swallowOkAfterResend"]), "repetierTargetTemp": s.getBoolean(["feature", "repetierTargetTemp"]), "externalHeatupDetection": s.getBoolean(["feature", "externalHeatupDetection"]), - "keyboardControl": s.getBoolean(["feature", "keyboardControl"]) + "keyboardControl": s.getBoolean(["feature", "keyboardControl"]), + "pollWatched": s.getBoolean(["feature", "pollWatched"]) }, "serial": { "port": connectionOptions["portPreference"], @@ -199,6 +200,7 @@ def setSettings(): if "repetierTargetTemp" in data["feature"].keys(): s.setBoolean(["feature", "repetierTargetTemp"], data["feature"]["repetierTargetTemp"]) if "externalHeatupDetection" in data["feature"].keys(): s.setBoolean(["feature", "externalHeatupDetection"], data["feature"]["externalHeatupDetection"]) if "keyboardControl" in data["feature"].keys(): s.setBoolean(["feature", "keyboardControl"], data["feature"]["keyboardControl"]) + if "pollWatched" in data["feature"]: s.setBoolean(["feature", "pollWatched"], data["feature"]["pollWatched"]) if "serial" in data.keys(): if "autoconnect" in data["serial"].keys(): s.setBoolean(["serial", "autoconnect"], data["serial"]["autoconnect"]) diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js index fc26bac23..c860402f0 100644 --- a/src/octoprint/static/js/app/viewmodels/settings.js +++ b/src/octoprint/static/js/app/viewmodels/settings.js @@ -113,6 +113,7 @@ $(function() { self.feature_repetierTargetTemp = ko.observable(undefined); self.feature_disableExternalHeatupDetection = ko.observable(undefined); self.feature_keyboardControl = ko.observable(undefined); + self.feature_pollWatched = ko.observable(undefined); self.serial_port = ko.observable(); self.serial_baudrate = ko.observable(); @@ -377,6 +378,7 @@ $(function() { self.feature_repetierTargetTemp(response.feature.repetierTargetTemp); self.feature_disableExternalHeatupDetection(!response.feature.externalHeatupDetection); self.feature_keyboardControl(response.feature.keyboardControl); + self.feature_pollWatched(response.feature.pollWatched); self.serial_port(response.serial.port); self.serial_baudrate(response.serial.baudrate); @@ -457,7 +459,8 @@ $(function() { "swallowOkAfterResend": self.feature_swallowOkAfterResend(), "repetierTargetTemp": self.feature_repetierTargetTemp(), "externalHeatupDetection": !self.feature_disableExternalHeatupDetection(), - "keyboardControl": self.feature_keyboardControl() + "keyboardControl": self.feature_keyboardControl(), + "pollWatched": self.feature_pollWatched() }, "serial": { "port": self.serial_port(), diff --git a/src/octoprint/templates/dialogs/settings/folders.jinja2 b/src/octoprint/templates/dialogs/settings/folders.jinja2 index 6dcea1843..5e19f866f 100644 --- a/src/octoprint/templates/dialogs/settings/folders.jinja2 +++ b/src/octoprint/templates/dialogs/settings/folders.jinja2 @@ -29,4 +29,11 @@ +
+
+ +
+
diff --git a/src/octoprint/translations/de/LC_MESSAGES/messages.mo b/src/octoprint/translations/de/LC_MESSAGES/messages.mo index 6b4f53965d044f49f7423c4533fd312b0a757ae6..5c9214c088337777f07bb4cb9a480ee1c81bc751 100644 GIT binary patch delta 8597 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 yFNUV=~K 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 diff --git a/src/octoprint/translations/de/LC_MESSAGES/messages.po b/src/octoprint/translations/de/LC_MESSAGES/messages.po index 596d79a61..1aa697c7d 100644 --- a/src/octoprint/translations/de/LC_MESSAGES/messages.po +++ b/src/octoprint/translations/de/LC_MESSAGES/messages.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: OctoPrint\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2015-06-21 17:58+0200\n" -"PO-Revision-Date: 2015-06-21 18:00+0100\n" +"POT-Creation-Date: 2015-07-06 08:36+0200\n" +"PO-Revision-Date: 2015-07-06 08:39+0100\n" "Last-Translator: Gina Häußge \n" "Language-Team: German (http://www.transifex.com/projects/p/octoprint/" "language/de/)\n" @@ -135,101 +135,101 @@ msgstr "Abbrechen" msgid "Confirm" msgstr "Bestätigen" -#: src/octoprint/plugins/pluginmanager/__init__.py:79 +#: src/octoprint/plugins/pluginmanager/__init__.py:104 msgid "Plugin Manager" msgstr "Pluginmanager" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:275 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:130 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:270 msgid "Installing plugin..." msgstr "Installiere Plugin..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:130 msgid "Installing plugin from uploaded archive..." msgstr "Installiere Plugin von hochgeladenem Archiv..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:147 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:223 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:300 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:330 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:544 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:574 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:591 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:608 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:142 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:222 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:295 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:325 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603 msgid "Something went wrong" msgstr "Etwas ist schief gegangen" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:148 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:224 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:301 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:331 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:143 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:223 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:296 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:326 msgid "Please consult octoprint.log for details" msgstr "Bitte konsultiere octoprint.log für Details" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:272 #, python-format msgid "Installing plugin \"%(name)s\" from %(url)s..." msgstr "Installiere Plugin \"%(name)s\" von %(url)s..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:279 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:274 #, python-format msgid "Installing plugin from %(url)s..." msgstr "Installiere Plugin von %(url)s..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:282 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277 msgid "Reinstalling plugin..." msgstr "Reinstalliere Plugin..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:283 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:278 #, python-format msgid "Reinstalling plugin \"%(name)s\" from %(url)s..." msgstr "Reinstalliere Plugin \"%(name)s\" von %(url)s..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:316 msgid "Uninstalling plugin..." msgstr "Deinstalliere Plugin..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:316 #, python-format msgid "Uninstalling plugin \"%(name)s\"" msgstr "Deinstalliere Plugin \"%(name)s\"" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 msgid "Reinstall" msgstr "Reinstallieren" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:130 #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:146 msgid "Install" msgstr "Installieren" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 msgid "Incompatible" msgstr "Inkompatibel" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:374 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:369 #: src/octoprint/templates/overlays/reloadui.jinja2:9 msgid "Reload now" msgstr "Jetzt neu laden" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:443 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:438 msgid "Done!" msgstr "Fertig!" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:458 msgid "Enable Plugin" msgstr "Plugin enablen" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:458 msgid "Disable Plugin" msgstr "Plugin disablen" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:523 msgid "Plugin installed" msgstr "Plugin installiert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524 msgid "" "A plugin was installed successfully, however it was impossible to detect " "which one. Please Restart OctoPrint to make sure everything will be " @@ -239,16 +239,16 @@ msgstr "" "detektieren, welches. Bitte starte OctoPrint neu um sicherzustellen, dass " "alles ordnungsgemäß registriert wird." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 #, python-format msgid "Plugin \"%(name)s\" reinstalled" msgstr "Plugin \"%(name)s\" reinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529 msgid "The plugin was reinstalled successfully" msgstr "Das Plugin wurde erfolgreich reinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:530 msgid "" "The plugin was reinstalled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -256,7 +256,7 @@ msgstr "" "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neustart von " "OctoPrint notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:531 msgid "" "The plugin was reinstalled successfully, however a reload of the page is " "needed for that to take effect." @@ -264,16 +264,16 @@ msgstr "" "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neuladen der " "Seite notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:538 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 #, python-format msgid "Plugin \"%(name)s\" installed" msgstr "Plugin \"%(name)s\" installiert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534 msgid "The plugin was installed successfully" msgstr "Das Plugin wurde erfolgreich installiert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:540 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 msgid "" "The plugin was installed successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -281,7 +281,7 @@ msgstr "" "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neustart von " "OctoPrint notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 msgid "" "The plugin was installed successfully, however a reload of the page is " "needed for that to take effect." @@ -289,19 +289,19 @@ msgstr "" "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neuladen der " "Seite notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:552 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:547 #, python-format msgid "Reinstalling the plugin from URL \"%(url)s\" failed: %(reason)s" msgstr "" "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:549 #, python-format msgid "Installing the plugin from URL \"%(url)s\" failed: %(reason)s" msgstr "" "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:553 #, python-format msgid "" "Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for " @@ -310,7 +310,7 @@ msgstr "" "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " "konsultiere das Log für Details." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:560 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:555 #, python-format msgid "" "Installing the plugin from URL \"%(url)s\" failed, please see the log for " @@ -319,16 +319,16 @@ msgstr "" "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " "konsultiere das Log für Details" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:564 #, python-format msgid "Plugin \"%(name)s\" uninstalled" msgstr "Plugin \"%(name)s\" deinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:570 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:565 msgid "The plugin was uninstalled successfully" msgstr "Das Plugin wurde erfolgreich deinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:566 msgid "" "The plugin was uninstalled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -336,7 +336,7 @@ msgstr "" "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neustart von " "OctoPrint notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:572 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:567 msgid "" "The plugin was uninstalled successfully, however a reload of the page is " "needed for that to take effect." @@ -344,27 +344,27 @@ msgstr "" "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neuladen der " "Seite notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:576 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 #, python-format msgid "Uninstalling the plugin failed: %(reason)s" msgstr "Deinstallation des Plugins fehlgeschlagen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:578 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:573 msgid "Uninstalling the plugin failed, please see the log for details." msgstr "" "Deinstallation des Plugins fehlgeschlagen, bitte konsultiere das Log für " "Details." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:581 #, python-format msgid "Plugin \"%(name)s\" enabled" msgstr "Plugin \"%(name)s\" aktiviert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:587 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:582 msgid "The plugin was enabled successfully." msgstr "Das Plugin wurde erfolgreich aktiviert." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:583 msgid "" "The plugin was enabled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -372,7 +372,7 @@ msgstr "" "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neustart von " "OctoPrint notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:589 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:584 msgid "" "The plugin was enabled successfully, however a reload of the page is needed " "for that to take effect." @@ -380,28 +380,28 @@ msgstr "" "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neuladen der Seite " "notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:593 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:610 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 #, python-format msgid "Toggling the plugin failed: %(reason)s" msgstr "Togglen des Plugins fehlgeschalgen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:595 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:612 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:590 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:607 msgid "Toggling the plugin failed, please see the log for details." msgstr "" "Togglen des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:598 #, python-format msgid "Plugin \"%(name)s\" disabled" msgstr "Plugin \"%(name)s\" deaktiviert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:604 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:599 msgid "The plugin was disabled successfully." msgstr "Das Plugin wurde erfolgreich deaktiviert." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:600 msgid "" "The plugin was disabled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -409,7 +409,7 @@ msgstr "" "Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neustart von " "OctoPrint notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:606 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:601 msgid "" "The plugin was disabled successfully, however a reload of the page is needed " "for that to take effect." @@ -448,7 +448,7 @@ msgid "Get More..." msgstr "Mehr..." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:59 -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:167 +#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:152 #: src/octoprint/templates/dialogs/settings/appearance.jinja2:96 msgid "Close" msgstr "Schließen" @@ -534,19 +534,7 @@ msgstr "" "sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip" "\", \".tar.gz\", \".tgz\" oder \".tar\" haben" -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:152 -#: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:44 -#: src/octoprint/templates/tabs/terminal.jinja2:25 -msgid "Advanced options" -msgstr "Erweiterte Optionen" - -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:158 -msgid "" -"Use --process-dependency-links with pip install" -msgstr "" -"Übergebe --process-dependency-links an pip install" - -#: src/octoprint/plugins/softwareupdate/__init__.py:499 +#: src/octoprint/plugins/softwareupdate/__init__.py:588 #: src/octoprint/server/views.py:146 #: src/octoprint/static/js/app/viewmodels/appearance.js:11 #: src/octoprint/static/js/app/viewmodels/appearance.js:13 @@ -748,6 +736,11 @@ msgstr "Verfügbar:" msgid "Check for update now" msgstr "Jetzt nach Aktualisierungen suchen" +#: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:44 +#: src/octoprint/templates/tabs/terminal.jinja2:25 +msgid "Advanced options" +msgstr "Erweiterte Optionen" + #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:46 msgid "Force check for update (overrides cache used for update checks)" msgstr "" @@ -883,14 +876,14 @@ msgstr "Zugriff" msgid "Interface" msgstr "Interface" -#: src/octoprint/static/js/app/dataupdater.js:65 -#: src/octoprint/static/js/app/dataupdater.js:99 +#: src/octoprint/static/js/app/dataupdater.js:66 +#: src/octoprint/static/js/app/dataupdater.js:100 #: src/octoprint/static/js/app/helpers.js:436 #: src/octoprint/templates/overlays/offline.jinja2:6 msgid "Server is offline" msgstr "Der Server ist offline" -#: src/octoprint/static/js/app/dataupdater.js:66 +#: src/octoprint/static/js/app/dataupdater.js:67 msgid "" "The server appears to be offline, at least I'm not getting any response from " "it. I'll try to reconnect automatically over the next couple of " @@ -902,7 +895,7 @@ msgstr "" "erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch " "jederzeit einen manuellen Verbindungsversuch anstoßen." -#: src/octoprint/static/js/app/dataupdater.js:100 +#: src/octoprint/static/js/app/dataupdater.js:101 msgid "" "The server appears to be offline, at least I'm not getting any response from " "it. I could not reconnect automatically, but you may try a " @@ -913,31 +906,31 @@ msgstr "" "aber Du kannst mittels des folgenden Buttons einen manuellen " "Verbindungsversuch anstoßen." -#: src/octoprint/static/js/app/dataupdater.js:166 -#: src/octoprint/static/js/app/dataupdater.js:194 +#: src/octoprint/static/js/app/dataupdater.js:168 +#: src/octoprint/static/js/app/dataupdater.js:196 #, python-format msgid "Slicing ... (%(percentage)d%%)" msgstr "Slice ... (%(percentage)d%%)" -#: src/octoprint/static/js/app/dataupdater.js:183 +#: src/octoprint/static/js/app/dataupdater.js:185 msgid "Rendering timelapse" msgstr "Zeitrafferaufnahme wird gerendert" -#: src/octoprint/static/js/app/dataupdater.js:183 +#: src/octoprint/static/js/app/dataupdater.js:185 #, python-format msgid "Now rendering timelapse %(movie_basename)s" msgstr "Rendere Zeitrafferaufnahme %(movie_basename)s" -#: src/octoprint/static/js/app/dataupdater.js:185 +#: src/octoprint/static/js/app/dataupdater.js:187 msgid "Timelapse ready" msgstr "Zeitrafferaufnahme fertig" -#: src/octoprint/static/js/app/dataupdater.js:185 +#: src/octoprint/static/js/app/dataupdater.js:187 #, python-format msgid "New timelapse %(movie_basename)s is done rendering." msgstr "Neue Zeitrafferaufnahme %(movie_basename)s wurde fertig gerendert" -#: src/octoprint/static/js/app/dataupdater.js:187 +#: src/octoprint/static/js/app/dataupdater.js:189 #, python-format msgid "" "Rendering of timelapse %(movie_basename)s failed with return code " @@ -946,41 +939,41 @@ msgstr "" "Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit " "Returncode %(returncode)s" -#: src/octoprint/static/js/app/dataupdater.js:189 +#: src/octoprint/static/js/app/dataupdater.js:191 msgid "Rendering failed" msgstr "Rendering fehlgeschlagen" -#: src/octoprint/static/js/app/dataupdater.js:196 +#: src/octoprint/static/js/app/dataupdater.js:198 msgid "Slicing ..." msgstr "Slice ..." -#: src/octoprint/static/js/app/dataupdater.js:202 +#: src/octoprint/static/js/app/dataupdater.js:204 msgid "Slicing done" msgstr "Slicing abgeschlossen" -#: src/octoprint/static/js/app/dataupdater.js:202 +#: src/octoprint/static/js/app/dataupdater.js:204 #, python-format msgid "Sliced %(stl)s to %(gcode)s, took %(time).2f seconds" msgstr "%(stl)s nach %(gcode)s geslicet, dauerte %(time).2f Sekunden" -#: src/octoprint/static/js/app/dataupdater.js:212 +#: src/octoprint/static/js/app/dataupdater.js:214 #, python-format msgid "Could not slice %(stl)s to %(gcode)s: %(reason)s" msgstr "Konnte %(stl)s nicht nach %(gcode)s slicen: %(reason)s" -#: src/octoprint/static/js/app/dataupdater.js:213 +#: src/octoprint/static/js/app/dataupdater.js:215 msgid "Slicing failed" msgstr "Slicing fehlgeschlagen" -#: src/octoprint/static/js/app/dataupdater.js:217 +#: src/octoprint/static/js/app/dataupdater.js:219 msgid "Streaming ..." msgstr "Streaming ..." -#: src/octoprint/static/js/app/dataupdater.js:223 +#: src/octoprint/static/js/app/dataupdater.js:225 msgid "Streaming done" msgstr "Streaming abgeschlossen" -#: src/octoprint/static/js/app/dataupdater.js:224 +#: src/octoprint/static/js/app/dataupdater.js:226 #, python-format msgid "Streamed %(local)s to %(remote)s on SD, took %(time).2f seconds" msgstr "%(local)s nach %(remote)s gestreamt, dauerte %(time).2f Sekunden" @@ -1086,7 +1079,7 @@ msgstr "Zuletzt gedruckt" msgid "Last Print Time" msgstr "Letzte Druckdauer" -#: src/octoprint/static/js/app/viewmodels/files.js:388 +#: src/octoprint/static/js/app/viewmodels/files.js:392 msgid "" "Could not upload the file. Make sure that it is a GCODE file and has the " "extension \".gcode\" or \".gco\" or that it is an STL file with the " @@ -1096,11 +1089,11 @@ msgstr "" "GCODE-Datei mit der Extension \".gcode\" oder \".gco\" oder um eine STL-" "Datei mit der Extension \".stl\" handelt." -#: src/octoprint/static/js/app/viewmodels/files.js:404 +#: src/octoprint/static/js/app/viewmodels/files.js:408 msgid "Uploading ..." msgstr "Uploade ..." -#: src/octoprint/static/js/app/viewmodels/files.js:407 +#: src/octoprint/static/js/app/viewmodels/files.js:411 msgid "Saving ..." msgstr "Speichere ..." @@ -1207,54 +1200,54 @@ msgstr "Du bist jetzt ausgeloggt" msgid "The command \"%(command)s\" executed successfully" msgstr "Das Kommando \"%(command)s\" wurde erfolgreich ausgeführt" -#: src/octoprint/static/js/app/viewmodels/navigation.js:31 +#: src/octoprint/static/js/app/viewmodels/navigation.js:32 #, python-format msgid "The command \"%(command)s\" could not be executed." msgstr "Das Kommando \"%(command)s\" konnte nicht ausgeführt werden." -#: src/octoprint/static/js/app/viewmodels/navigation.js:33 +#: src/octoprint/static/js/app/viewmodels/navigation.js:34 msgid "Error" msgstr "Fehler" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:96 -#: src/octoprint/static/js/app/viewmodels/settings.js:53 -#: src/octoprint/static/js/app/viewmodels/settings.js:83 +#: src/octoprint/static/js/app/viewmodels/settings.js:52 +#: src/octoprint/static/js/app/viewmodels/settings.js:82 msgid "default" msgstr "Standard" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:97 -#: src/octoprint/static/js/app/viewmodels/settings.js:54 -#: src/octoprint/static/js/app/viewmodels/settings.js:67 +#: src/octoprint/static/js/app/viewmodels/settings.js:53 +#: src/octoprint/static/js/app/viewmodels/settings.js:66 msgid "red" msgstr "Rot" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:98 -#: src/octoprint/static/js/app/viewmodels/settings.js:55 -#: src/octoprint/static/js/app/viewmodels/settings.js:69 +#: src/octoprint/static/js/app/viewmodels/settings.js:54 +#: src/octoprint/static/js/app/viewmodels/settings.js:68 msgid "orange" msgstr "Orange" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:99 -#: src/octoprint/static/js/app/viewmodels/settings.js:56 -#: src/octoprint/static/js/app/viewmodels/settings.js:71 +#: src/octoprint/static/js/app/viewmodels/settings.js:55 +#: src/octoprint/static/js/app/viewmodels/settings.js:70 msgid "yellow" msgstr "Gelb" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:100 -#: src/octoprint/static/js/app/viewmodels/settings.js:57 -#: src/octoprint/static/js/app/viewmodels/settings.js:73 +#: src/octoprint/static/js/app/viewmodels/settings.js:56 +#: src/octoprint/static/js/app/viewmodels/settings.js:72 msgid "green" msgstr "Grün" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:101 -#: src/octoprint/static/js/app/viewmodels/settings.js:58 -#: src/octoprint/static/js/app/viewmodels/settings.js:75 +#: src/octoprint/static/js/app/viewmodels/settings.js:57 +#: src/octoprint/static/js/app/viewmodels/settings.js:74 msgid "blue" msgstr "Blau" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:102 -#: src/octoprint/static/js/app/viewmodels/settings.js:60 -#: src/octoprint/static/js/app/viewmodels/settings.js:79 +#: src/octoprint/static/js/app/viewmodels/settings.js:59 +#: src/octoprint/static/js/app/viewmodels/settings.js:78 msgid "black" msgstr "Schwarz" @@ -1363,17 +1356,17 @@ msgstr "Sek" msgid "This will restart the print job from the beginning." msgstr "Der Druckjob wird zurückgesetzt und von vorne begonnen." -#: src/octoprint/static/js/app/viewmodels/settings.js:59 -#: src/octoprint/static/js/app/viewmodels/settings.js:77 +#: src/octoprint/static/js/app/viewmodels/settings.js:58 +#: src/octoprint/static/js/app/viewmodels/settings.js:76 msgid "violet" msgstr "Violett" -#: src/octoprint/static/js/app/viewmodels/settings.js:61 -#: src/octoprint/static/js/app/viewmodels/settings.js:81 +#: src/octoprint/static/js/app/viewmodels/settings.js:60 +#: src/octoprint/static/js/app/viewmodels/settings.js:80 msgid "white" msgstr "weiß" -#: src/octoprint/static/js/app/viewmodels/settings.js:89 +#: src/octoprint/static/js/app/viewmodels/settings.js:88 msgid "Autodetect from browser" msgstr "Automatisch vom Browser erkennen" @@ -1903,6 +1896,15 @@ msgstr "Logverzeichnis" msgid "Watched Folder" msgstr "Beobachtetes Verzeichnis" +#: src/octoprint/templates/dialogs/settings/folders.jinja2:35 +msgid "" +"Actively poll the watched folder. Check this if files in your watched folder " +"aren't automatically added otherwise." +msgstr "" +"Aktives Pollen des beobachteten Verzeichnisses. Einschalten wenn Dateien in " +"Deinem beobachteten Verzeichnis hinzugefügt werden sonst nicht automatisch " +"hinzugefügt werden." + #: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3 msgid "Before print job starts" msgstr "Vor dem Start eines Druckjobs" @@ -2736,3 +2738,9 @@ msgstr "Erstellungsdatum" #~ msgid "Remote:" #~ msgstr "Online:" + +#~ msgid "" +#~ "Use --process-dependency-links with pip install" +#~ msgstr "" +#~ "Übergebe --process-dependency-links an pip install" diff --git a/translations/de/LC_MESSAGES/messages.mo b/translations/de/LC_MESSAGES/messages.mo index 6b4f53965d044f49f7423c4533fd312b0a757ae6..5c9214c088337777f07bb4cb9a480ee1c81bc751 100644 GIT binary patch delta 8597 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 yFNUV=~K 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 diff --git a/translations/de/LC_MESSAGES/messages.po b/translations/de/LC_MESSAGES/messages.po index 596d79a61..1aa697c7d 100644 --- a/translations/de/LC_MESSAGES/messages.po +++ b/translations/de/LC_MESSAGES/messages.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: OctoPrint\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2015-06-21 17:58+0200\n" -"PO-Revision-Date: 2015-06-21 18:00+0100\n" +"POT-Creation-Date: 2015-07-06 08:36+0200\n" +"PO-Revision-Date: 2015-07-06 08:39+0100\n" "Last-Translator: Gina Häußge \n" "Language-Team: German (http://www.transifex.com/projects/p/octoprint/" "language/de/)\n" @@ -135,101 +135,101 @@ msgstr "Abbrechen" msgid "Confirm" msgstr "Bestätigen" -#: src/octoprint/plugins/pluginmanager/__init__.py:79 +#: src/octoprint/plugins/pluginmanager/__init__.py:104 msgid "Plugin Manager" msgstr "Pluginmanager" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:275 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:130 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:270 msgid "Installing plugin..." msgstr "Installiere Plugin..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:130 msgid "Installing plugin from uploaded archive..." msgstr "Installiere Plugin von hochgeladenem Archiv..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:147 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:223 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:300 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:330 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:544 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:574 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:591 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:608 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:142 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:222 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:295 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:325 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603 msgid "Something went wrong" msgstr "Etwas ist schief gegangen" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:148 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:224 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:301 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:331 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:143 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:223 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:296 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:326 msgid "Please consult octoprint.log for details" msgstr "Bitte konsultiere octoprint.log für Details" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:272 #, python-format msgid "Installing plugin \"%(name)s\" from %(url)s..." msgstr "Installiere Plugin \"%(name)s\" von %(url)s..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:279 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:274 #, python-format msgid "Installing plugin from %(url)s..." msgstr "Installiere Plugin von %(url)s..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:282 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277 msgid "Reinstalling plugin..." msgstr "Reinstalliere Plugin..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:283 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:278 #, python-format msgid "Reinstalling plugin \"%(name)s\" from %(url)s..." msgstr "Reinstalliere Plugin \"%(name)s\" von %(url)s..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:316 msgid "Uninstalling plugin..." msgstr "Deinstalliere Plugin..." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:316 #, python-format msgid "Uninstalling plugin \"%(name)s\"" msgstr "Deinstalliere Plugin \"%(name)s\"" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 msgid "Reinstall" msgstr "Reinstallieren" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:130 #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:146 msgid "Install" msgstr "Installieren" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 msgid "Incompatible" msgstr "Inkompatibel" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:374 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:369 #: src/octoprint/templates/overlays/reloadui.jinja2:9 msgid "Reload now" msgstr "Jetzt neu laden" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:443 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:438 msgid "Done!" msgstr "Fertig!" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:458 msgid "Enable Plugin" msgstr "Plugin enablen" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:458 msgid "Disable Plugin" msgstr "Plugin disablen" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:523 msgid "Plugin installed" msgstr "Plugin installiert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524 msgid "" "A plugin was installed successfully, however it was impossible to detect " "which one. Please Restart OctoPrint to make sure everything will be " @@ -239,16 +239,16 @@ msgstr "" "detektieren, welches. Bitte starte OctoPrint neu um sicherzustellen, dass " "alles ordnungsgemäß registriert wird." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 #, python-format msgid "Plugin \"%(name)s\" reinstalled" msgstr "Plugin \"%(name)s\" reinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529 msgid "The plugin was reinstalled successfully" msgstr "Das Plugin wurde erfolgreich reinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:530 msgid "" "The plugin was reinstalled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -256,7 +256,7 @@ msgstr "" "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neustart von " "OctoPrint notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:531 msgid "" "The plugin was reinstalled successfully, however a reload of the page is " "needed for that to take effect." @@ -264,16 +264,16 @@ msgstr "" "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neuladen der " "Seite notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:538 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 #, python-format msgid "Plugin \"%(name)s\" installed" msgstr "Plugin \"%(name)s\" installiert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534 msgid "The plugin was installed successfully" msgstr "Das Plugin wurde erfolgreich installiert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:540 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 msgid "" "The plugin was installed successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -281,7 +281,7 @@ msgstr "" "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neustart von " "OctoPrint notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 msgid "" "The plugin was installed successfully, however a reload of the page is " "needed for that to take effect." @@ -289,19 +289,19 @@ msgstr "" "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neuladen der " "Seite notwendig bevor es genutzt werden kann." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:552 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:547 #, python-format msgid "Reinstalling the plugin from URL \"%(url)s\" failed: %(reason)s" msgstr "" "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:549 #, python-format msgid "Installing the plugin from URL \"%(url)s\" failed: %(reason)s" msgstr "" "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:553 #, python-format msgid "" "Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for " @@ -310,7 +310,7 @@ msgstr "" "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " "konsultiere das Log für Details." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:560 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:555 #, python-format msgid "" "Installing the plugin from URL \"%(url)s\" failed, please see the log for " @@ -319,16 +319,16 @@ msgstr "" "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " "konsultiere das Log für Details" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:564 #, python-format msgid "Plugin \"%(name)s\" uninstalled" msgstr "Plugin \"%(name)s\" deinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:570 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:565 msgid "The plugin was uninstalled successfully" msgstr "Das Plugin wurde erfolgreich deinstalliert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:566 msgid "" "The plugin was uninstalled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -336,7 +336,7 @@ msgstr "" "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neustart von " "OctoPrint notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:572 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:567 msgid "" "The plugin was uninstalled successfully, however a reload of the page is " "needed for that to take effect." @@ -344,27 +344,27 @@ msgstr "" "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neuladen der " "Seite notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:576 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 #, python-format msgid "Uninstalling the plugin failed: %(reason)s" msgstr "Deinstallation des Plugins fehlgeschlagen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:578 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:573 msgid "Uninstalling the plugin failed, please see the log for details." msgstr "" "Deinstallation des Plugins fehlgeschlagen, bitte konsultiere das Log für " "Details." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:581 #, python-format msgid "Plugin \"%(name)s\" enabled" msgstr "Plugin \"%(name)s\" aktiviert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:587 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:582 msgid "The plugin was enabled successfully." msgstr "Das Plugin wurde erfolgreich aktiviert." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:583 msgid "" "The plugin was enabled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -372,7 +372,7 @@ msgstr "" "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neustart von " "OctoPrint notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:589 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:584 msgid "" "The plugin was enabled successfully, however a reload of the page is needed " "for that to take effect." @@ -380,28 +380,28 @@ msgstr "" "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neuladen der Seite " "notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:593 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:610 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 #, python-format msgid "Toggling the plugin failed: %(reason)s" msgstr "Togglen des Plugins fehlgeschalgen: %(reason)s" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:595 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:612 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:590 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:607 msgid "Toggling the plugin failed, please see the log for details." msgstr "" "Togglen des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:598 #, python-format msgid "Plugin \"%(name)s\" disabled" msgstr "Plugin \"%(name)s\" deaktiviert" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:604 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:599 msgid "The plugin was disabled successfully." msgstr "Das Plugin wurde erfolgreich deaktiviert." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:600 msgid "" "The plugin was disabled successfully, however a restart of OctoPrint is " "needed for that to take effect." @@ -409,7 +409,7 @@ msgstr "" "Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neustart von " "OctoPrint notwendig." -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:606 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:601 msgid "" "The plugin was disabled successfully, however a reload of the page is needed " "for that to take effect." @@ -448,7 +448,7 @@ msgid "Get More..." msgstr "Mehr..." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:59 -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:167 +#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:152 #: src/octoprint/templates/dialogs/settings/appearance.jinja2:96 msgid "Close" msgstr "Schließen" @@ -534,19 +534,7 @@ msgstr "" "sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip" "\", \".tar.gz\", \".tgz\" oder \".tar\" haben" -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:152 -#: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:44 -#: src/octoprint/templates/tabs/terminal.jinja2:25 -msgid "Advanced options" -msgstr "Erweiterte Optionen" - -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:158 -msgid "" -"Use --process-dependency-links with pip install" -msgstr "" -"Übergebe --process-dependency-links an pip install" - -#: src/octoprint/plugins/softwareupdate/__init__.py:499 +#: src/octoprint/plugins/softwareupdate/__init__.py:588 #: src/octoprint/server/views.py:146 #: src/octoprint/static/js/app/viewmodels/appearance.js:11 #: src/octoprint/static/js/app/viewmodels/appearance.js:13 @@ -748,6 +736,11 @@ msgstr "Verfügbar:" msgid "Check for update now" msgstr "Jetzt nach Aktualisierungen suchen" +#: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:44 +#: src/octoprint/templates/tabs/terminal.jinja2:25 +msgid "Advanced options" +msgstr "Erweiterte Optionen" + #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:46 msgid "Force check for update (overrides cache used for update checks)" msgstr "" @@ -883,14 +876,14 @@ msgstr "Zugriff" msgid "Interface" msgstr "Interface" -#: src/octoprint/static/js/app/dataupdater.js:65 -#: src/octoprint/static/js/app/dataupdater.js:99 +#: src/octoprint/static/js/app/dataupdater.js:66 +#: src/octoprint/static/js/app/dataupdater.js:100 #: src/octoprint/static/js/app/helpers.js:436 #: src/octoprint/templates/overlays/offline.jinja2:6 msgid "Server is offline" msgstr "Der Server ist offline" -#: src/octoprint/static/js/app/dataupdater.js:66 +#: src/octoprint/static/js/app/dataupdater.js:67 msgid "" "The server appears to be offline, at least I'm not getting any response from " "it. I'll try to reconnect automatically over the next couple of " @@ -902,7 +895,7 @@ msgstr "" "erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch " "jederzeit einen manuellen Verbindungsversuch anstoßen." -#: src/octoprint/static/js/app/dataupdater.js:100 +#: src/octoprint/static/js/app/dataupdater.js:101 msgid "" "The server appears to be offline, at least I'm not getting any response from " "it. I could not reconnect automatically, but you may try a " @@ -913,31 +906,31 @@ msgstr "" "aber Du kannst mittels des folgenden Buttons einen manuellen " "Verbindungsversuch anstoßen." -#: src/octoprint/static/js/app/dataupdater.js:166 -#: src/octoprint/static/js/app/dataupdater.js:194 +#: src/octoprint/static/js/app/dataupdater.js:168 +#: src/octoprint/static/js/app/dataupdater.js:196 #, python-format msgid "Slicing ... (%(percentage)d%%)" msgstr "Slice ... (%(percentage)d%%)" -#: src/octoprint/static/js/app/dataupdater.js:183 +#: src/octoprint/static/js/app/dataupdater.js:185 msgid "Rendering timelapse" msgstr "Zeitrafferaufnahme wird gerendert" -#: src/octoprint/static/js/app/dataupdater.js:183 +#: src/octoprint/static/js/app/dataupdater.js:185 #, python-format msgid "Now rendering timelapse %(movie_basename)s" msgstr "Rendere Zeitrafferaufnahme %(movie_basename)s" -#: src/octoprint/static/js/app/dataupdater.js:185 +#: src/octoprint/static/js/app/dataupdater.js:187 msgid "Timelapse ready" msgstr "Zeitrafferaufnahme fertig" -#: src/octoprint/static/js/app/dataupdater.js:185 +#: src/octoprint/static/js/app/dataupdater.js:187 #, python-format msgid "New timelapse %(movie_basename)s is done rendering." msgstr "Neue Zeitrafferaufnahme %(movie_basename)s wurde fertig gerendert" -#: src/octoprint/static/js/app/dataupdater.js:187 +#: src/octoprint/static/js/app/dataupdater.js:189 #, python-format msgid "" "Rendering of timelapse %(movie_basename)s failed with return code " @@ -946,41 +939,41 @@ msgstr "" "Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit " "Returncode %(returncode)s" -#: src/octoprint/static/js/app/dataupdater.js:189 +#: src/octoprint/static/js/app/dataupdater.js:191 msgid "Rendering failed" msgstr "Rendering fehlgeschlagen" -#: src/octoprint/static/js/app/dataupdater.js:196 +#: src/octoprint/static/js/app/dataupdater.js:198 msgid "Slicing ..." msgstr "Slice ..." -#: src/octoprint/static/js/app/dataupdater.js:202 +#: src/octoprint/static/js/app/dataupdater.js:204 msgid "Slicing done" msgstr "Slicing abgeschlossen" -#: src/octoprint/static/js/app/dataupdater.js:202 +#: src/octoprint/static/js/app/dataupdater.js:204 #, python-format msgid "Sliced %(stl)s to %(gcode)s, took %(time).2f seconds" msgstr "%(stl)s nach %(gcode)s geslicet, dauerte %(time).2f Sekunden" -#: src/octoprint/static/js/app/dataupdater.js:212 +#: src/octoprint/static/js/app/dataupdater.js:214 #, python-format msgid "Could not slice %(stl)s to %(gcode)s: %(reason)s" msgstr "Konnte %(stl)s nicht nach %(gcode)s slicen: %(reason)s" -#: src/octoprint/static/js/app/dataupdater.js:213 +#: src/octoprint/static/js/app/dataupdater.js:215 msgid "Slicing failed" msgstr "Slicing fehlgeschlagen" -#: src/octoprint/static/js/app/dataupdater.js:217 +#: src/octoprint/static/js/app/dataupdater.js:219 msgid "Streaming ..." msgstr "Streaming ..." -#: src/octoprint/static/js/app/dataupdater.js:223 +#: src/octoprint/static/js/app/dataupdater.js:225 msgid "Streaming done" msgstr "Streaming abgeschlossen" -#: src/octoprint/static/js/app/dataupdater.js:224 +#: src/octoprint/static/js/app/dataupdater.js:226 #, python-format msgid "Streamed %(local)s to %(remote)s on SD, took %(time).2f seconds" msgstr "%(local)s nach %(remote)s gestreamt, dauerte %(time).2f Sekunden" @@ -1086,7 +1079,7 @@ msgstr "Zuletzt gedruckt" msgid "Last Print Time" msgstr "Letzte Druckdauer" -#: src/octoprint/static/js/app/viewmodels/files.js:388 +#: src/octoprint/static/js/app/viewmodels/files.js:392 msgid "" "Could not upload the file. Make sure that it is a GCODE file and has the " "extension \".gcode\" or \".gco\" or that it is an STL file with the " @@ -1096,11 +1089,11 @@ msgstr "" "GCODE-Datei mit der Extension \".gcode\" oder \".gco\" oder um eine STL-" "Datei mit der Extension \".stl\" handelt." -#: src/octoprint/static/js/app/viewmodels/files.js:404 +#: src/octoprint/static/js/app/viewmodels/files.js:408 msgid "Uploading ..." msgstr "Uploade ..." -#: src/octoprint/static/js/app/viewmodels/files.js:407 +#: src/octoprint/static/js/app/viewmodels/files.js:411 msgid "Saving ..." msgstr "Speichere ..." @@ -1207,54 +1200,54 @@ msgstr "Du bist jetzt ausgeloggt" msgid "The command \"%(command)s\" executed successfully" msgstr "Das Kommando \"%(command)s\" wurde erfolgreich ausgeführt" -#: src/octoprint/static/js/app/viewmodels/navigation.js:31 +#: src/octoprint/static/js/app/viewmodels/navigation.js:32 #, python-format msgid "The command \"%(command)s\" could not be executed." msgstr "Das Kommando \"%(command)s\" konnte nicht ausgeführt werden." -#: src/octoprint/static/js/app/viewmodels/navigation.js:33 +#: src/octoprint/static/js/app/viewmodels/navigation.js:34 msgid "Error" msgstr "Fehler" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:96 -#: src/octoprint/static/js/app/viewmodels/settings.js:53 -#: src/octoprint/static/js/app/viewmodels/settings.js:83 +#: src/octoprint/static/js/app/viewmodels/settings.js:52 +#: src/octoprint/static/js/app/viewmodels/settings.js:82 msgid "default" msgstr "Standard" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:97 -#: src/octoprint/static/js/app/viewmodels/settings.js:54 -#: src/octoprint/static/js/app/viewmodels/settings.js:67 +#: src/octoprint/static/js/app/viewmodels/settings.js:53 +#: src/octoprint/static/js/app/viewmodels/settings.js:66 msgid "red" msgstr "Rot" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:98 -#: src/octoprint/static/js/app/viewmodels/settings.js:55 -#: src/octoprint/static/js/app/viewmodels/settings.js:69 +#: src/octoprint/static/js/app/viewmodels/settings.js:54 +#: src/octoprint/static/js/app/viewmodels/settings.js:68 msgid "orange" msgstr "Orange" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:99 -#: src/octoprint/static/js/app/viewmodels/settings.js:56 -#: src/octoprint/static/js/app/viewmodels/settings.js:71 +#: src/octoprint/static/js/app/viewmodels/settings.js:55 +#: src/octoprint/static/js/app/viewmodels/settings.js:70 msgid "yellow" msgstr "Gelb" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:100 -#: src/octoprint/static/js/app/viewmodels/settings.js:57 -#: src/octoprint/static/js/app/viewmodels/settings.js:73 +#: src/octoprint/static/js/app/viewmodels/settings.js:56 +#: src/octoprint/static/js/app/viewmodels/settings.js:72 msgid "green" msgstr "Grün" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:101 -#: src/octoprint/static/js/app/viewmodels/settings.js:58 -#: src/octoprint/static/js/app/viewmodels/settings.js:75 +#: src/octoprint/static/js/app/viewmodels/settings.js:57 +#: src/octoprint/static/js/app/viewmodels/settings.js:74 msgid "blue" msgstr "Blau" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:102 -#: src/octoprint/static/js/app/viewmodels/settings.js:60 -#: src/octoprint/static/js/app/viewmodels/settings.js:79 +#: src/octoprint/static/js/app/viewmodels/settings.js:59 +#: src/octoprint/static/js/app/viewmodels/settings.js:78 msgid "black" msgstr "Schwarz" @@ -1363,17 +1356,17 @@ msgstr "Sek" msgid "This will restart the print job from the beginning." msgstr "Der Druckjob wird zurückgesetzt und von vorne begonnen." -#: src/octoprint/static/js/app/viewmodels/settings.js:59 -#: src/octoprint/static/js/app/viewmodels/settings.js:77 +#: src/octoprint/static/js/app/viewmodels/settings.js:58 +#: src/octoprint/static/js/app/viewmodels/settings.js:76 msgid "violet" msgstr "Violett" -#: src/octoprint/static/js/app/viewmodels/settings.js:61 -#: src/octoprint/static/js/app/viewmodels/settings.js:81 +#: src/octoprint/static/js/app/viewmodels/settings.js:60 +#: src/octoprint/static/js/app/viewmodels/settings.js:80 msgid "white" msgstr "weiß" -#: src/octoprint/static/js/app/viewmodels/settings.js:89 +#: src/octoprint/static/js/app/viewmodels/settings.js:88 msgid "Autodetect from browser" msgstr "Automatisch vom Browser erkennen" @@ -1903,6 +1896,15 @@ msgstr "Logverzeichnis" msgid "Watched Folder" msgstr "Beobachtetes Verzeichnis" +#: src/octoprint/templates/dialogs/settings/folders.jinja2:35 +msgid "" +"Actively poll the watched folder. Check this if files in your watched folder " +"aren't automatically added otherwise." +msgstr "" +"Aktives Pollen des beobachteten Verzeichnisses. Einschalten wenn Dateien in " +"Deinem beobachteten Verzeichnis hinzugefügt werden sonst nicht automatisch " +"hinzugefügt werden." + #: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3 msgid "Before print job starts" msgstr "Vor dem Start eines Druckjobs" @@ -2736,3 +2738,9 @@ msgstr "Erstellungsdatum" #~ msgid "Remote:" #~ msgstr "Online:" + +#~ msgid "" +#~ "Use --process-dependency-links with pip install" +#~ msgstr "" +#~ "Übergebe --process-dependency-links an pip install" diff --git a/translations/messages.pot b/translations/messages.pot index 677f34715..17b17e52d 100644 --- a/translations/messages.pot +++ b/translations/messages.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: OctoPrint 1.2.0-rc3-2-g33ea9c3-dirty\n" +"Project-Id-Version: OctoPrint 1.3.0-dev-30-gf2df174-dirty\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2015-06-21 17:58+0200\n" +"POT-Creation-Date: 2015-07-06 08:36+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -128,251 +128,251 @@ msgstr "" msgid "Confirm" msgstr "" -#: src/octoprint/plugins/pluginmanager/__init__.py:79 +#: src/octoprint/plugins/pluginmanager/__init__.py:104 msgid "Plugin Manager" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:275 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:130 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:270 msgid "Installing plugin..." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:130 msgid "Installing plugin from uploaded archive..." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:147 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:223 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:300 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:330 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:544 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:574 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:591 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:608 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:142 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:222 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:295 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:325 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603 msgid "Something went wrong" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:148 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:224 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:301 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:331 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:143 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:223 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:296 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:326 msgid "Please consult octoprint.log for details" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:272 #, python-format msgid "Installing plugin \"%(name)s\" from %(url)s..." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:279 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:274 #, python-format msgid "Installing plugin from %(url)s..." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:282 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277 msgid "Reinstalling plugin..." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:283 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:278 #, python-format msgid "Reinstalling plugin \"%(name)s\" from %(url)s..." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:316 msgid "Uninstalling plugin..." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:316 #, python-format msgid "Uninstalling plugin \"%(name)s\"" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 msgid "Reinstall" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:130 #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:146 msgid "Install" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:351 msgid "Incompatible" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:374 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:369 #: src/octoprint/templates/overlays/reloadui.jinja2:9 msgid "Reload now" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:443 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:438 msgid "Done!" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:458 msgid "Enable Plugin" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:458 msgid "Disable Plugin" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:523 msgid "Plugin installed" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524 msgid "" "A plugin was installed successfully, however it was impossible to detect " "which one. Please Restart OctoPrint to make sure everything will be " "registered properly" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 #, python-format msgid "Plugin \"%(name)s\" reinstalled" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529 msgid "The plugin was reinstalled successfully" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:530 msgid "" "The plugin was reinstalled successfully, however a restart of OctoPrint " "is needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:531 msgid "" "The plugin was reinstalled successfully, however a reload of the page is " "needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:538 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 #, python-format msgid "Plugin \"%(name)s\" installed" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534 msgid "The plugin was installed successfully" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:540 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 msgid "" "The plugin was installed successfully, however a restart of OctoPrint is " "needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 msgid "" "The plugin was installed successfully, however a reload of the page is " "needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:552 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:547 #, python-format msgid "Reinstalling the plugin from URL \"%(url)s\" failed: %(reason)s" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:549 #, python-format msgid "Installing the plugin from URL \"%(url)s\" failed: %(reason)s" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:553 #, python-format msgid "" "Reinstalling the plugin from URL \"%(url)s\" failed, please see the log " "for details." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:560 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:555 #, python-format msgid "" "Installing the plugin from URL \"%(url)s\" failed, please see the log for" " details." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:564 #, python-format msgid "Plugin \"%(name)s\" uninstalled" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:570 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:565 msgid "The plugin was uninstalled successfully" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:566 msgid "" "The plugin was uninstalled successfully, however a restart of OctoPrint " "is needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:572 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:567 msgid "" "The plugin was uninstalled successfully, however a reload of the page is " "needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:576 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 #, python-format msgid "Uninstalling the plugin failed: %(reason)s" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:578 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:573 msgid "Uninstalling the plugin failed, please see the log for details." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:581 #, python-format msgid "Plugin \"%(name)s\" enabled" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:587 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:582 msgid "The plugin was enabled successfully." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:583 msgid "" "The plugin was enabled successfully, however a restart of OctoPrint is " "needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:589 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:584 msgid "" "The plugin was enabled successfully, however a reload of the page is " "needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:593 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:610 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 #, python-format msgid "Toggling the plugin failed: %(reason)s" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:595 -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:612 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:590 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:607 msgid "Toggling the plugin failed, please see the log for details." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:598 #, python-format msgid "Plugin \"%(name)s\" disabled" msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:604 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:599 msgid "The plugin was disabled successfully." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:600 msgid "" "The plugin was disabled successfully, however a restart of OctoPrint is " "needed for that to take effect." msgstr "" -#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:606 +#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:601 msgid "" "The plugin was disabled successfully, however a reload of the page is " "needed for that to take effect." @@ -407,7 +407,7 @@ msgid "Get More..." msgstr "" #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:59 -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:167 +#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:152 #: src/octoprint/templates/dialogs/settings/appearance.jinja2:96 msgid "Close" msgstr "" @@ -489,17 +489,7 @@ msgid "" "\".tar.gz\", \".tgz\" or \".tar\"" msgstr "" -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:152 -#: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:44 -#: src/octoprint/templates/tabs/terminal.jinja2:25 -msgid "Advanced options" -msgstr "" - -#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:158 -msgid "Use --process-dependency-links with pip install" -msgstr "" - -#: src/octoprint/plugins/softwareupdate/__init__.py:499 +#: src/octoprint/plugins/softwareupdate/__init__.py:588 #: src/octoprint/server/views.py:146 #: src/octoprint/static/js/app/viewmodels/appearance.js:11 #: src/octoprint/static/js/app/viewmodels/appearance.js:13 @@ -674,6 +664,11 @@ msgstr "" msgid "Check for update now" msgstr "" +#: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:44 +#: src/octoprint/templates/tabs/terminal.jinja2:25 +msgid "Advanced options" +msgstr "" + #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:46 msgid "Force check for update (overrides cache used for update checks)" msgstr "" @@ -806,14 +801,14 @@ msgstr "" msgid "Interface" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:65 -#: src/octoprint/static/js/app/dataupdater.js:99 +#: src/octoprint/static/js/app/dataupdater.js:66 +#: src/octoprint/static/js/app/dataupdater.js:100 #: src/octoprint/static/js/app/helpers.js:436 #: src/octoprint/templates/overlays/offline.jinja2:6 msgid "Server is offline" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:66 +#: src/octoprint/static/js/app/dataupdater.js:67 msgid "" "The server appears to be offline, at least I'm not getting any response " "from it. I'll try to reconnect automatically over the next couple" @@ -821,79 +816,79 @@ msgid "" "anytime using the button below." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:100 +#: src/octoprint/static/js/app/dataupdater.js:101 msgid "" "The server appears to be offline, at least I'm not getting any response " "from it. I could not reconnect automatically, but you " "may try a manual reconnect using the button below." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:166 -#: src/octoprint/static/js/app/dataupdater.js:194 +#: src/octoprint/static/js/app/dataupdater.js:168 +#: src/octoprint/static/js/app/dataupdater.js:196 #, python-format msgid "Slicing ... (%(percentage)d%%)" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:183 +#: src/octoprint/static/js/app/dataupdater.js:185 msgid "Rendering timelapse" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:183 +#: src/octoprint/static/js/app/dataupdater.js:185 #, python-format msgid "Now rendering timelapse %(movie_basename)s" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:185 +#: src/octoprint/static/js/app/dataupdater.js:187 msgid "Timelapse ready" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:185 +#: src/octoprint/static/js/app/dataupdater.js:187 #, python-format msgid "New timelapse %(movie_basename)s is done rendering." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:187 +#: src/octoprint/static/js/app/dataupdater.js:189 #, python-format msgid "" "Rendering of timelapse %(movie_basename)s failed with return code " "%(returncode)s" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:189 +#: src/octoprint/static/js/app/dataupdater.js:191 msgid "Rendering failed" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:196 +#: src/octoprint/static/js/app/dataupdater.js:198 msgid "Slicing ..." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:202 +#: src/octoprint/static/js/app/dataupdater.js:204 msgid "Slicing done" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:202 +#: src/octoprint/static/js/app/dataupdater.js:204 #, python-format msgid "Sliced %(stl)s to %(gcode)s, took %(time).2f seconds" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:212 +#: src/octoprint/static/js/app/dataupdater.js:214 #, python-format msgid "Could not slice %(stl)s to %(gcode)s: %(reason)s" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:213 +#: src/octoprint/static/js/app/dataupdater.js:215 msgid "Slicing failed" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:217 +#: src/octoprint/static/js/app/dataupdater.js:219 msgid "Streaming ..." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:223 +#: src/octoprint/static/js/app/dataupdater.js:225 msgid "Streaming done" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:224 +#: src/octoprint/static/js/app/dataupdater.js:226 #, python-format msgid "Streamed %(local)s to %(remote)s on SD, took %(time).2f seconds" msgstr "" @@ -999,18 +994,18 @@ msgstr "" msgid "Last Print Time" msgstr "" -#: src/octoprint/static/js/app/viewmodels/files.js:388 +#: src/octoprint/static/js/app/viewmodels/files.js:392 msgid "" "Could not upload the file. Make sure that it is a GCODE file and has the " "extension \".gcode\" or \".gco\" or that it is an STL file with the " "extension \".stl\"." msgstr "" -#: src/octoprint/static/js/app/viewmodels/files.js:404 +#: src/octoprint/static/js/app/viewmodels/files.js:408 msgid "Uploading ..." msgstr "" -#: src/octoprint/static/js/app/viewmodels/files.js:407 +#: src/octoprint/static/js/app/viewmodels/files.js:411 msgid "Saving ..." msgstr "" @@ -1114,54 +1109,54 @@ msgstr "" msgid "The command \"%(command)s\" executed successfully" msgstr "" -#: src/octoprint/static/js/app/viewmodels/navigation.js:31 +#: src/octoprint/static/js/app/viewmodels/navigation.js:32 #, python-format msgid "The command \"%(command)s\" could not be executed." msgstr "" -#: src/octoprint/static/js/app/viewmodels/navigation.js:33 +#: src/octoprint/static/js/app/viewmodels/navigation.js:34 msgid "Error" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:96 -#: src/octoprint/static/js/app/viewmodels/settings.js:53 -#: src/octoprint/static/js/app/viewmodels/settings.js:83 +#: src/octoprint/static/js/app/viewmodels/settings.js:52 +#: src/octoprint/static/js/app/viewmodels/settings.js:82 msgid "default" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:97 -#: src/octoprint/static/js/app/viewmodels/settings.js:54 -#: src/octoprint/static/js/app/viewmodels/settings.js:67 +#: src/octoprint/static/js/app/viewmodels/settings.js:53 +#: src/octoprint/static/js/app/viewmodels/settings.js:66 msgid "red" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:98 -#: src/octoprint/static/js/app/viewmodels/settings.js:55 -#: src/octoprint/static/js/app/viewmodels/settings.js:69 +#: src/octoprint/static/js/app/viewmodels/settings.js:54 +#: src/octoprint/static/js/app/viewmodels/settings.js:68 msgid "orange" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:99 -#: src/octoprint/static/js/app/viewmodels/settings.js:56 -#: src/octoprint/static/js/app/viewmodels/settings.js:71 +#: src/octoprint/static/js/app/viewmodels/settings.js:55 +#: src/octoprint/static/js/app/viewmodels/settings.js:70 msgid "yellow" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:100 -#: src/octoprint/static/js/app/viewmodels/settings.js:57 -#: src/octoprint/static/js/app/viewmodels/settings.js:73 +#: src/octoprint/static/js/app/viewmodels/settings.js:56 +#: src/octoprint/static/js/app/viewmodels/settings.js:72 msgid "green" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:101 -#: src/octoprint/static/js/app/viewmodels/settings.js:58 -#: src/octoprint/static/js/app/viewmodels/settings.js:75 +#: src/octoprint/static/js/app/viewmodels/settings.js:57 +#: src/octoprint/static/js/app/viewmodels/settings.js:74 msgid "blue" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:102 -#: src/octoprint/static/js/app/viewmodels/settings.js:60 -#: src/octoprint/static/js/app/viewmodels/settings.js:79 +#: src/octoprint/static/js/app/viewmodels/settings.js:59 +#: src/octoprint/static/js/app/viewmodels/settings.js:78 msgid "black" msgstr "" @@ -1267,17 +1262,17 @@ msgstr "" msgid "This will restart the print job from the beginning." msgstr "" -#: src/octoprint/static/js/app/viewmodels/settings.js:59 -#: src/octoprint/static/js/app/viewmodels/settings.js:77 +#: src/octoprint/static/js/app/viewmodels/settings.js:58 +#: src/octoprint/static/js/app/viewmodels/settings.js:76 msgid "violet" msgstr "" -#: src/octoprint/static/js/app/viewmodels/settings.js:61 -#: src/octoprint/static/js/app/viewmodels/settings.js:81 +#: src/octoprint/static/js/app/viewmodels/settings.js:60 +#: src/octoprint/static/js/app/viewmodels/settings.js:80 msgid "white" msgstr "" -#: src/octoprint/static/js/app/viewmodels/settings.js:89 +#: src/octoprint/static/js/app/viewmodels/settings.js:88 msgid "Autodetect from browser" msgstr "" @@ -1753,6 +1748,12 @@ msgstr "" msgid "Watched Folder" msgstr "" +#: src/octoprint/templates/dialogs/settings/folders.jinja2:35 +msgid "" +"Actively poll the watched folder. Check this if files in your watched " +"folder aren't automatically added otherwise." +msgstr "" + #: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3 msgid "Before print job starts" msgstr "" From ced286854c59cb19f2f7eeae563e9df92d4d3790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 6 Jul 2015 17:04:55 +0200 Subject: [PATCH 13/22] Fixed sorting by size of file list (cherry picked from commit 6906584) --- src/octoprint/static/js/app/viewmodels/files.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/octoprint/static/js/app/viewmodels/files.js b/src/octoprint/static/js/app/viewmodels/files.js index a5d50f8ba..f87f9879e 100644 --- a/src/octoprint/static/js/app/viewmodels/files.js +++ b/src/octoprint/static/js/app/viewmodels/files.js @@ -47,8 +47,8 @@ $(function() { }, "size": function(a, b) { // sorts descending - if (b["bytes"] === undefined || a["bytes"] > b["bytes"]) return -1; - if (a["bytes"] < b["bytes"]) return 1; + if (b["size"] === undefined || a["size"] > b["size"]) return -1; + if (a["size"] < b["size"]) return 1; return 0; } }, From 19a5613e59fb2db00d4f20c29534cc6ee6603d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 7 Jul 2015 18:26:06 +0200 Subject: [PATCH 14/22] Made "Software Update" and "CuraEngine" translateable Also fixed a typo in a notification. (cherry picked from commit 430e47d) --- src/octoprint/plugins/cura/__init__.py | 8 ++++++++ src/octoprint/plugins/softwareupdate/__init__.py | 3 ++- .../plugins/softwareupdate/static/js/softwareupdate.js | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/octoprint/plugins/cura/__init__.py b/src/octoprint/plugins/cura/__init__.py index 6b1b72912..30de88741 100644 --- a/src/octoprint/plugins/cura/__init__.py +++ b/src/octoprint/plugins/cura/__init__.py @@ -35,6 +35,14 @@ def __init__(self): self._cancelled_jobs = [] self._job_mutex = threading.Lock() + ##~~ TemplatePlugin API + + def get_template_configs(self): + from flask.ext.babel import gettext + return [ + dict(type="settings", name=gettext("CuraEngine")) + ] + ##~~ StartupPlugin API def on_startup(self, host, port): diff --git a/src/octoprint/plugins/softwareupdate/__init__.py b/src/octoprint/plugins/softwareupdate/__init__.py index 157f671b6..a1cbd8d14 100644 --- a/src/octoprint/plugins/softwareupdate/__init__.py +++ b/src/octoprint/plugins/softwareupdate/__init__.py @@ -310,8 +310,9 @@ def get_assets(self): ##~~ TemplatePlugin API def get_template_configs(self): + from flask.ext.babel import gettext return [ - dict(type="settings", name="Software Update") + dict(type="settings", name=gettext("Software Update")) ] #~~ Updater diff --git a/src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js b/src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js index 19c88137e..dbd0579e8 100644 --- a/src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js +++ b/src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js @@ -142,7 +142,7 @@ $(function() { click: function() { self._markNotificationAsSeen(data.information); self._showPopup({ - text: gettext("You can make this message display again via \"Settings\" > \"SoftwareUpdate\" > \"Check for update now\"") + text: gettext("You can make this message display again via \"Settings\" > \"Software Update\" > \"Check for update now\"") }); } }, { From a5bf3c3be1e2c54098e09654ba5e872e304dfa73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 7 Jul 2015 18:30:27 +0200 Subject: [PATCH 15/22] Log serial write exceptions to octoprint.log (cherry picked from commit 367ba06) --- src/octoprint/util/comm.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/octoprint/util/comm.py b/src/octoprint/util/comm.py index ddd6afc55..ddbb3670d 100644 --- a/src/octoprint/util/comm.py +++ b/src/octoprint/util/comm.py @@ -1638,11 +1638,13 @@ def _doSendWithoutChecksum(self, cmd): try: self._serial.write(cmd + '\n') except: - self._log("Unexpected error while writing serial port: %s" % (get_exception_string())) + self._logger.exception("Unexpected error while writing to serial port") + self._log("Unexpected error while writing to serial port: %s" % (get_exception_string())) self._errorValue = get_exception_string() self.close(True) except: - self._log("Unexpected error while writing serial port: %s" % (get_exception_string())) + self._logger.exception("Unexpected error while writing to serial port") + self._log("Unexpected error while writing to serial port: %s" % (get_exception_string())) self._errorValue = get_exception_string() self.close(True) From a1e0078ce5a3b40d5b5f4b6cf4e10f19cde5859e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 7 Jul 2015 18:37:55 +0200 Subject: [PATCH 16/22] Updated translation (cherry picked from commit 7d43bca) --- .../translations/de/LC_MESSAGES/messages.mo | Bin 47369 -> 47456 bytes .../translations/de/LC_MESSAGES/messages.po | 700 +++++------------- translations/de/LC_MESSAGES/messages.mo | Bin 47369 -> 47456 bytes translations/de/LC_MESSAGES/messages.po | 700 +++++------------- translations/messages.pot | 56 +- 5 files changed, 418 insertions(+), 1038 deletions(-) diff --git a/src/octoprint/translations/de/LC_MESSAGES/messages.mo b/src/octoprint/translations/de/LC_MESSAGES/messages.mo index 5c9214c088337777f07bb4cb9a480ee1c81bc751..a6c2acecced708cd524dff5bfdcdfd03c8f306f5 100644 GIT binary patch delta 8564 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 diff --git a/src/octoprint/translations/de/LC_MESSAGES/messages.po b/src/octoprint/translations/de/LC_MESSAGES/messages.po index 1aa697c7d..cfe771b28 100644 --- a/src/octoprint/translations/de/LC_MESSAGES/messages.po +++ b/src/octoprint/translations/de/LC_MESSAGES/messages.po @@ -11,11 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: OctoPrint\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2015-07-06 08:36+0200\n" -"PO-Revision-Date: 2015-07-06 08:39+0100\n" +"POT-Creation-Date: 2015-07-07 18:58+0200\n" +"PO-Revision-Date: 2015-07-07 18:59+0100\n" "Last-Translator: Gina Häußge \n" -"Language-Team: German (http://www.transifex.com/projects/p/octoprint/" -"language/de/)\n" +"Language-Team: German (http://www.transifex.com/projects/p/octoprint/language/de/)\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -24,6 +23,10 @@ msgstr "" "Language: de\n" "X-Generator: Poedit 1.6.8\n" +#: src/octoprint/plugins/cura/__init__.py:43 +msgid "CuraEngine" +msgstr "CuraEngine" + #: src/octoprint/plugins/cura/templates/cura_settings.jinja2:1 #: src/octoprint/templates/tabs/control.jinja2:98 msgid "General" @@ -230,14 +233,8 @@ msgid "Plugin installed" msgstr "Plugin installiert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524 -msgid "" -"A plugin was installed successfully, however it was impossible to detect " -"which one. Please Restart OctoPrint to make sure everything will be " -"registered properly" -msgstr "" -"Ein Plugin wurde erfolgreich installiert, es war aber unmöglich zu " -"detektieren, welches. Bitte starte OctoPrint neu um sicherzustellen, dass " -"alles ordnungsgemäß registriert wird." +msgid "A plugin was installed successfully, however it was impossible to detect which one. Please Restart OctoPrint to make sure everything will be registered properly" +msgstr "Ein Plugin wurde erfolgreich installiert, es war aber unmöglich zu detektieren, welches. Bitte starte OctoPrint neu um sicherzustellen, dass alles ordnungsgemäß registriert wird." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 #, python-format @@ -249,20 +246,12 @@ msgid "The plugin was reinstalled successfully" msgstr "Das Plugin wurde erfolgreich reinstalliert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:530 -msgid "" -"The plugin was reinstalled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neustart von " -"OctoPrint notwendig bevor es genutzt werden kann." +msgid "The plugin was reinstalled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neustart von OctoPrint notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:531 -msgid "" -"The plugin was reinstalled successfully, however a reload of the page is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neuladen der " -"Seite notwendig bevor es genutzt werden kann." +msgid "The plugin was reinstalled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neuladen der Seite notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 #, python-format @@ -274,50 +263,32 @@ msgid "The plugin was installed successfully" msgstr "Das Plugin wurde erfolgreich installiert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 -msgid "" -"The plugin was installed successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neustart von " -"OctoPrint notwendig bevor es genutzt werden kann." +msgid "The plugin was installed successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neustart von OctoPrint notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 -msgid "" -"The plugin was installed successfully, however a reload of the page is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neuladen der " -"Seite notwendig bevor es genutzt werden kann." +msgid "The plugin was installed successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neuladen der Seite notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:547 #, python-format msgid "Reinstalling the plugin from URL \"%(url)s\" failed: %(reason)s" -msgstr "" -"Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" +msgstr "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:549 #, python-format msgid "Installing the plugin from URL \"%(url)s\" failed: %(reason)s" -msgstr "" -"Installation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" +msgstr "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:553 #, python-format -msgid "" -"Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for " -"details." -msgstr "" -"Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " -"konsultiere das Log für Details." +msgid "Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for details." +msgstr "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte konsultiere das Log für Details." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:555 #, python-format -msgid "" -"Installing the plugin from URL \"%(url)s\" failed, please see the log for " -"details." -msgstr "" -"Installation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " -"konsultiere das Log für Details" +msgid "Installing the plugin from URL \"%(url)s\" failed, please see the log for details." +msgstr "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte konsultiere das Log für Details" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:564 #, python-format @@ -329,20 +300,12 @@ msgid "The plugin was uninstalled successfully" msgstr "Das Plugin wurde erfolgreich deinstalliert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:566 -msgid "" -"The plugin was uninstalled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neustart von " -"OctoPrint notwendig." +msgid "The plugin was uninstalled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neustart von OctoPrint notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:567 -msgid "" -"The plugin was uninstalled successfully, however a reload of the page is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neuladen der " -"Seite notwendig." +msgid "The plugin was uninstalled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neuladen der Seite notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 #, python-format @@ -351,9 +314,7 @@ msgstr "Deinstallation des Plugins fehlgeschlagen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:573 msgid "Uninstalling the plugin failed, please see the log for details." -msgstr "" -"Deinstallation des Plugins fehlgeschlagen, bitte konsultiere das Log für " -"Details." +msgstr "Deinstallation des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:581 #, python-format @@ -365,20 +326,12 @@ msgid "The plugin was enabled successfully." msgstr "Das Plugin wurde erfolgreich aktiviert." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:583 -msgid "" -"The plugin was enabled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neustart von " -"OctoPrint notwendig." +msgid "The plugin was enabled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neustart von OctoPrint notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:584 -msgid "" -"The plugin was enabled successfully, however a reload of the page is needed " -"for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neuladen der Seite " -"notwendig." +msgid "The plugin was enabled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neuladen der Seite notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 @@ -389,8 +342,7 @@ msgstr "Togglen des Plugins fehlgeschalgen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:590 #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:607 msgid "Toggling the plugin failed, please see the log for details." -msgstr "" -"Togglen des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." +msgstr "Togglen des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:598 #, python-format @@ -402,28 +354,16 @@ msgid "The plugin was disabled successfully." msgstr "Das Plugin wurde erfolgreich deaktiviert." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:600 -msgid "" -"The plugin was disabled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neustart von " -"OctoPrint notwendig." +msgid "The plugin was disabled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neustart von OctoPrint notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:601 -msgid "" -"The plugin was disabled successfully, however a reload of the page is needed " -"for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neuladen der " -"Seite notwendig." +msgid "The plugin was disabled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neuladen der Seite notwendig." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:3 -msgid "" -"Take note that all plugin management functionality is disabled while your " -"printer is printing." -msgstr "" -"Bitte beachte das jegliche Pluginmanagementfunktionen während des Druckens " -"deaktiviert sind." +msgid "Take note that all plugin management functionality is disabled while your printer is printing." +msgstr "Bitte beachte das jegliche Pluginmanagementfunktionen während des Druckens deaktiviert sind." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:9 msgid "Installed Plugins" @@ -459,8 +399,7 @@ msgstr "Installation neuer Plugins..." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:71 #, python-format -msgid "" -"... from the Plugin Repository" +msgid "... from the Plugin Repository" msgstr "... vom Plugin Repository" #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75 @@ -525,16 +464,14 @@ msgid "... from an uploaded archive" msgstr "... von einem hochgeladenen Archiv" #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:148 -msgid "" -"This does not look like a valid plugin archive. Valid plugin archives should " -"be either zip files or tarballs and have the extension \".zip\", \".tar.gz" -"\", \".tgz\" or \".tar\"" -msgstr "" -"Das sieht nicht aus wie ein valides Pluginarchiv. Valide Pluginarchive " -"sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip" -"\", \".tar.gz\", \".tgz\" oder \".tar\" haben" +msgid "This does not look like a valid plugin archive. Valid plugin archives should be either zip files or tarballs and have the extension \".zip\", \".tar.gz\", \".tgz\" or \".tar\"" +msgstr "Das sieht nicht aus wie ein valides Pluginarchiv. Valide Pluginarchive sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip\", \".tar.gz\", \".tgz\" oder \".tar\" haben" -#: src/octoprint/plugins/softwareupdate/__init__.py:588 +#: src/octoprint/plugins/softwareupdate/__init__.py:315 +msgid "Software Update" +msgstr "Software Update" + +#: src/octoprint/plugins/softwareupdate/__init__.py:589 #: src/octoprint/server/views.py:146 #: src/octoprint/static/js/app/viewmodels/appearance.js:11 #: src/octoprint/static/js/app/viewmodels/appearance.js:13 @@ -548,12 +485,8 @@ msgid "There are updates available for the following components:" msgstr "Es gibt Aktualisierungen für die folgenden Komponenten:" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:128 -msgid "" -"Those components marked with can be updated " -"directly." -msgstr "" -"Die mit markierten Komponenten können direkt " -"aktualisiert werden." +msgid "Those components marked with can be updated directly." +msgstr "Die mit markierten Komponenten können direkt aktualisiert werden." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:131 msgid "Update Available" @@ -564,12 +497,8 @@ msgid "Ignore" msgstr "Ignorieren" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:147 -msgid "" -"You can make this message display again via \"Settings\" > \"SoftwareUpdate" -"\" > \"Check for update now\"" -msgstr "" -"Du kannst diese Nachricht erneut anzeigen lassen mittels \"Einstellungen\" > " -"\"Software Update\" > \"Jetzt nach Aktualisierungen suchen\"" +msgid "You can make this message display again via \"Settings\" > \"Software Update\" > \"Check for update now\"" +msgstr "Du kannst diese Nachricht erneut anzeigen lassen mittels \"Einstellungen\" > \"Software Update\" > \"Jetzt nach Aktualisierungen suchen\"" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151 msgid "Update now" @@ -592,42 +521,28 @@ msgid "Update not started!" msgstr "Aktualisierung nicht gestartet!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:254 -msgid "" -"The update could not be started. Is it already active? Please consult the " -"log for details." -msgstr "" -"Die Aktualisierung konnte nicht gestartet werden. Läuft bereits eine? Bitte " -"konsultiere das Log für Details." +msgid "The update could not be started. Is it already active? Please consult the log for details." +msgstr "Die Aktualisierung konnte nicht gestartet werden. Läuft bereits eine? Bitte konsultiere das Log für Details." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:276 msgid "Can't update while printing" msgstr "Aktualisierung nicht möglich während gedruckt wird" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:277 -msgid "" -"A print job is currently in progress. Updating will be prevented until it is " -"done." -msgstr "" -"Ein Druckjob ist zur Zeit aktiv. Aktualisierungen werden unterbunden bis er " -"fertig ist." +msgid "A print job is currently in progress. Updating will be prevented until it is done." +msgstr "Ein Druckjob ist zur Zeit aktiv. Aktualisierungen werden unterbunden bis er fertig ist." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:281 msgid "This will update your OctoPrint installation and restart the server." -msgstr "" -"Das wird Deine OctoPrint Installation aktualisieren und den Server neu " -"starten." +msgstr "Das wird Deine OctoPrint Installation aktualisieren und den Server neu starten." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:305 msgid "Restart successful!" msgstr "Neustart erfolgreich!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:306 -msgid "" -"The server was restarted successfully. The page will now reload " -"automatically." -msgstr "" -"Der Server wurde erfolgreich neu gestartet. Die Seite wird nun automatisch " -"neu geladen." +msgid "The server was restarted successfully. The page will now reload automatically." +msgstr "Der Server wurde erfolgreich neu gestartet. Die Seite wird nun automatisch neu geladen." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:338 #, python-format @@ -640,9 +555,7 @@ msgstr "Aktualisierung erfolgreich, starte neu!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:347 msgid "The update finished successfully and the server will now be restarted." -msgstr "" -"Die Aktualisierung wurde erfolgreich durchgeführt und der Server wird jetzt " -"neu gestartet." +msgstr "Die Aktualisierung wurde erfolgreich durchgeführt und der Server wird jetzt neu gestartet." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:358 #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:400 @@ -651,46 +564,28 @@ msgstr "Neustart fehlgeschlagen" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:359 #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:401 -msgid "" -"The server apparently did not restart by itself, you'll have to do it " -"manually. Please consult the log file on what went wrong." -msgstr "" -"Der Server hat anscheinend nicht von selbst neu gstartet, Du wirst das " -"manuell tun müssen. Bitte konsultiere das Logfile." +msgid "The server apparently did not restart by itself, you'll have to do it manually. Please consult the log file on what went wrong." +msgstr "Der Server hat anscheinend nicht von selbst neu gstartet, Du wirst das manuell tun müssen. Bitte konsultiere das Logfile." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:375 msgid "The update finished successfully, please restart OctoPrint now." -msgstr "" -"Die Aktualisierung wurde erfolgreich abgeschlossen, bitte starte OctoPrint " -"jetzt neu." +msgstr "Die Aktualisierung wurde erfolgreich abgeschlossen, bitte starte OctoPrint jetzt neu." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:377 msgid "The update finished successfully, please reboot the server now." -msgstr "" -"Die Aktualisierung wurde erfolgreich abgeschlossen, bitte reboote den Server " -"jetzt." +msgstr "Die Aktualisierung wurde erfolgreich abgeschlossen, bitte reboote den Server jetzt." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:381 msgid "Update successful, restart required!" msgstr "Aktualisierung erfolgreich, Neustart notwendig!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:394 -msgid "" -"Restarting OctoPrint failed, please restart it manually. You might also want " -"to consult the log file on what went wrong here." -msgstr "" -"Der Neustart von OctoPrint ist fehlgeschlagen, bitte starte es manuell neu. " -"Du solltest das Logfile konsultieren, um herauszufinden, was hier schief " -"gelaufen ist." +msgid "Restarting OctoPrint failed, please restart it manually. You might also want to consult the log file on what went wrong here." +msgstr "Der Neustart von OctoPrint ist fehlgeschlagen, bitte starte es manuell neu. Du solltest das Logfile konsultieren, um herauszufinden, was hier schief gelaufen ist." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:396 -msgid "" -"Rebooting the server failed, please reboot it manually. You might also want " -"to consult the log file on what went wrong here." -msgstr "" -"Reboot des Servers fehlgeschlagen, bitte reboote ihn manuell. Du solltest " -"auch das Logfile konsultieren, um herauszufinden, was hier gerade schief " -"gelaufen ist." +msgid "Rebooting the server failed, please reboot it manually. You might also want to consult the log file on what went wrong here." +msgstr "Reboot des Servers fehlgeschlagen, bitte reboote ihn manuell. Du solltest auch das Logfile konsultieren, um herauszufinden, was hier gerade schief gelaufen ist." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:414 msgid "Update successful!" @@ -705,11 +600,8 @@ msgid "Update failed!" msgstr "Aktualisierung fehlgeschlagen!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:428 -msgid "" -"The update did not finish successfully. Please consult the log for details." -msgstr "" -"Die Aktualisierung wurde nicht erfolgreich abgeschlossen. Bitte konsultiere " -"das Log für Details." +msgid "The update did not finish successfully. Please consult the log for details." +msgstr "Die Aktualisierung wurde nicht erfolgreich abgeschlossen. Bitte konsultiere das Log für Details." #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:2 #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:54 @@ -743,14 +635,11 @@ msgstr "Erweiterte Optionen" #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:46 msgid "Force check for update (overrides cache used for update checks)" -msgstr "" -"Suche nach Aktualisierungen forcieren (ignoriert den Cache für " -"Aktualisierungsinformationen)" +msgstr "Suche nach Aktualisierungen forcieren (ignoriert den Cache für Aktualisierungsinformationen)" #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:47 msgid "Force update now (even if no new versions are available)" -msgstr "" -"Aktualisierung forcieren (selbst wenn keine neue Versionen verfügbar sind)" +msgstr "Aktualisierung forcieren (selbst wenn keine neue Versionen verfügbar sind)" #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:59 msgid "Restart Command" @@ -884,27 +773,12 @@ msgid "Server is offline" msgstr "Der Server ist offline" #: src/octoprint/static/js/app/dataupdater.js:67 -msgid "" -"The server appears to be offline, at least I'm not getting any response from " -"it. I'll try to reconnect automatically over the next couple of " -"minutes, however you are welcome to try a manual reconnect anytime " -"using the button below." -msgstr "" -"Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm " -"verbinden. Ich werde in den nächsten Minuten versuchen mich " -"erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch " -"jederzeit einen manuellen Verbindungsversuch anstoßen." +msgid "The server appears to be offline, at least I'm not getting any response from it. I'll try to reconnect automatically over the next couple of minutes, however you are welcome to try a manual reconnect anytime using the button below." +msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich werde in den nächsten Minuten versuchen mich erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch jederzeit einen manuellen Verbindungsversuch anstoßen." #: src/octoprint/static/js/app/dataupdater.js:101 -msgid "" -"The server appears to be offline, at least I'm not getting any response from " -"it. I could not reconnect automatically, but you may try a " -"manual reconnect using the button below." -msgstr "" -"Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm " -"verbinden. Ich konnte mich nicht automatisch neu verbinden, " -"aber Du kannst mittels des folgenden Buttons einen manuellen " -"Verbindungsversuch anstoßen." +msgid "The server appears to be offline, at least I'm not getting any response from it. I could not reconnect automatically, but you may try a manual reconnect using the button below." +msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich konnte mich nicht automatisch neu verbinden, aber Du kannst mittels des folgenden Buttons einen manuellen Verbindungsversuch anstoßen." #: src/octoprint/static/js/app/dataupdater.js:168 #: src/octoprint/static/js/app/dataupdater.js:196 @@ -932,12 +806,8 @@ msgstr "Neue Zeitrafferaufnahme %(movie_basename)s wurde fertig gerendert" #: src/octoprint/static/js/app/dataupdater.js:189 #, python-format -msgid "" -"Rendering of timelapse %(movie_basename)s failed with return code " -"%(returncode)s" -msgstr "" -"Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit " -"Returncode %(returncode)s" +msgid "Rendering of timelapse %(movie_basename)s failed with return code %(returncode)s" +msgstr "Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit Returncode %(returncode)s" #: src/octoprint/static/js/app/dataupdater.js:191 msgid "Rendering failed" @@ -1080,14 +950,8 @@ msgid "Last Print Time" msgstr "Letzte Druckdauer" #: src/octoprint/static/js/app/viewmodels/files.js:392 -msgid "" -"Could not upload the file. Make sure that it is a GCODE file and has the " -"extension \".gcode\" or \".gco\" or that it is an STL file with the " -"extension \".stl\"." -msgstr "" -"Konnte die Datei nicht hochladen. Bitte stelle sicher, dass es sich um eine " -"GCODE-Datei mit der Extension \".gcode\" oder \".gco\" oder um eine STL-" -"Datei mit der Extension \".stl\" handelt." +msgid "Could not upload the file. Make sure that it is a GCODE file and has the extension \".gcode\" or \".gco\" or that it is an STL file with the extension \".stl\"." +msgstr "Konnte die Datei nicht hochladen. Bitte stelle sicher, dass es sich um eine GCODE-Datei mit der Extension \".gcode\" oder \".gco\" oder um eine STL-Datei mit der Extension \".stl\" handelt." #: src/octoprint/static/js/app/viewmodels/files.js:408 msgid "Uploading ..." @@ -1098,14 +962,8 @@ msgid "Saving ..." msgstr "Speichere ..." #: src/octoprint/static/js/app/viewmodels/firstrun.js:38 -msgid "" -"If you disable Access Control and your OctoPrint " -"installation is accessible from the internet, your printer will be " -"accessible by everyone - that also includes the bad guys!" -msgstr "" -"Wenn Du die Zugangsbeschränkung deaktivierst und Deine " -"OctoPrint Installation vom Internet aus erreichbar ist, kann jeder " -"auf Deinen Drucker zugreifen - auch die bösen Jungs!" +msgid "If you disable Access Control and your OctoPrint installation is accessible from the internet, your printer will be accessible by everyone - that also includes the bad guys!" +msgstr "Wenn Du die Zugangsbeschränkung deaktivierst und Deine OctoPrint Installation vom Internet aus erreichbar ist, kann jeder auf Deinen Drucker zugreifen - auch die bösen Jungs!" #: src/octoprint/static/js/app/viewmodels/gcode.js:14 msgid "Loading..." @@ -1210,44 +1068,44 @@ msgid "Error" msgstr "Fehler" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:96 -#: src/octoprint/static/js/app/viewmodels/settings.js:52 -#: src/octoprint/static/js/app/viewmodels/settings.js:82 +#: src/octoprint/static/js/app/viewmodels/settings.js:53 +#: src/octoprint/static/js/app/viewmodels/settings.js:83 msgid "default" msgstr "Standard" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:97 -#: src/octoprint/static/js/app/viewmodels/settings.js:53 -#: src/octoprint/static/js/app/viewmodels/settings.js:66 +#: src/octoprint/static/js/app/viewmodels/settings.js:54 +#: src/octoprint/static/js/app/viewmodels/settings.js:67 msgid "red" msgstr "Rot" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:98 -#: src/octoprint/static/js/app/viewmodels/settings.js:54 -#: src/octoprint/static/js/app/viewmodels/settings.js:68 +#: src/octoprint/static/js/app/viewmodels/settings.js:55 +#: src/octoprint/static/js/app/viewmodels/settings.js:69 msgid "orange" msgstr "Orange" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:99 -#: src/octoprint/static/js/app/viewmodels/settings.js:55 -#: src/octoprint/static/js/app/viewmodels/settings.js:70 +#: src/octoprint/static/js/app/viewmodels/settings.js:56 +#: src/octoprint/static/js/app/viewmodels/settings.js:71 msgid "yellow" msgstr "Gelb" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:100 -#: src/octoprint/static/js/app/viewmodels/settings.js:56 -#: src/octoprint/static/js/app/viewmodels/settings.js:72 +#: src/octoprint/static/js/app/viewmodels/settings.js:57 +#: src/octoprint/static/js/app/viewmodels/settings.js:73 msgid "green" msgstr "Grün" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:101 -#: src/octoprint/static/js/app/viewmodels/settings.js:57 -#: src/octoprint/static/js/app/viewmodels/settings.js:74 +#: src/octoprint/static/js/app/viewmodels/settings.js:58 +#: src/octoprint/static/js/app/viewmodels/settings.js:75 msgid "blue" msgstr "Blau" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:102 -#: src/octoprint/static/js/app/viewmodels/settings.js:59 -#: src/octoprint/static/js/app/viewmodels/settings.js:78 +#: src/octoprint/static/js/app/viewmodels/settings.js:60 +#: src/octoprint/static/js/app/viewmodels/settings.js:79 msgid "black" msgstr "Schwarz" @@ -1272,11 +1130,8 @@ msgid "A profile with such an identifier already exists" msgstr "Es gibt bereits ein Profil mit diesem Identifier" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:247 -msgid "" -"There was unexpected error while saving the printer profile, please consult " -"the logs." -msgstr "" -"Unerwarteter Fehler beim Speichern des Profils, bitte konsultiere das Log" +msgid "There was unexpected error while saving the printer profile, please consult the logs." +msgstr "Unerwarteter Fehler beim Speichern des Profils, bitte konsultiere das Log" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:248 #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:266 @@ -1285,18 +1140,12 @@ msgid "Saving failed" msgstr "Speichern fehlgeschlagen" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:265 -msgid "" -"There was unexpected error while removing the printer profile, please " -"consult the logs." -msgstr "" -"Unerwarteter Fehler beim Löschen des Profils, bitte konsultiere das Log" +msgid "There was unexpected error while removing the printer profile, please consult the logs." +msgstr "Unerwarteter Fehler beim Löschen des Profils, bitte konsultiere das Log" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:293 -msgid "" -"There was unexpected error while updating the printer profile, please " -"consult the logs." -msgstr "" -"Unerwarteter Fehler beim Aktualisieren des Profils, bitte konsultiere das Log" +msgid "There was unexpected error while updating the printer profile, please consult the logs." +msgstr "Unerwarteter Fehler beim Aktualisieren des Profils, bitte konsultiere das Log" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:348 msgid "Add Printer Profile" @@ -1356,17 +1205,17 @@ msgstr "Sek" msgid "This will restart the print job from the beginning." msgstr "Der Druckjob wird zurückgesetzt und von vorne begonnen." -#: src/octoprint/static/js/app/viewmodels/settings.js:58 -#: src/octoprint/static/js/app/viewmodels/settings.js:76 +#: src/octoprint/static/js/app/viewmodels/settings.js:59 +#: src/octoprint/static/js/app/viewmodels/settings.js:77 msgid "violet" msgstr "Violett" -#: src/octoprint/static/js/app/viewmodels/settings.js:60 -#: src/octoprint/static/js/app/viewmodels/settings.js:80 +#: src/octoprint/static/js/app/viewmodels/settings.js:61 +#: src/octoprint/static/js/app/viewmodels/settings.js:81 msgid "white" msgstr "weiß" -#: src/octoprint/static/js/app/viewmodels/settings.js:88 +#: src/octoprint/static/js/app/viewmodels/settings.js:89 msgid "Autodetect from browser" msgstr "Automatisch vom Browser erkennen" @@ -1418,10 +1267,8 @@ msgstr "zeige %(displayed)d Zeilen" #: src/octoprint/static/js/app/viewmodels/terminal.js:61 #, python-format -msgid "" -"showing %(displayed)d lines (%(filtered)d of %(total)d total lines filtered)" -msgstr "" -"zeige %(displayed)d Zeilen (%(filtered)d von %(total)d Zeilen gefiltert)" +msgid "showing %(displayed)d lines (%(filtered)d of %(total)d total lines filtered)" +msgstr "zeige %(displayed)d Zeilen (%(filtered)d von %(total)d Zeilen gefiltert)" #: src/octoprint/static/js/app/viewmodels/usersettings.js:10 msgid "Site default" @@ -1462,48 +1309,33 @@ msgstr "Zugangsbeschränkung konfigurieren" #: src/octoprint/templates/dialogs/firstrun.jinja2:6 msgid "" "

\n" -" Please read the following, it is very important for your " -"printer's health!\n" +" Please read the following, it is very important for your printer's health!\n" "

\n" "

\n" -" OctoPrint by default now ships with Access Control enabled, " -"meaning you won't be able to do anything with the\n" -" printer unless you login first as a configured user. This is " -"to prevent strangers - possibly with\n" -" malicious intent - to gain access to your printer " -"via the internet or another untrustworthy network\n" -" and using it in such a way that it is damaged or worse (i.e. " -"causes a fire).\n" +" OctoPrint by default now ships with Access Control enabled, meaning you won't be able to do anything with the\n" +" printer unless you login first as a configured user. This is to prevent strangers - possibly with\n" +" malicious intent - to gain access to your printer via the internet or another untrustworthy network\n" +" and using it in such a way that it is damaged or worse (i.e. causes a fire).\n" "

\n" "

\n" -" It looks like you haven't configured access control yet. " -"Please set up an username and password for the\n" -" initial administrator account who will have full access to " -"both the printer and OctoPrint's settings, then click\n" +" It looks like you haven't configured access control yet. Please set up an username and password for the\n" +" initial administrator account who will have full access to both the printer and OctoPrint's settings, then click\n" " on \"Keep Access Control Enabled\":\n" "

" msgstr "" "

\n" -" Bitte lies die folgenden Zeilen aufmerksam durch, es ist sehr " -"wichtig für die Gesundheit Deines Druckers!\n" +" Bitte lies die folgenden Zeilen aufmerksam durch, es ist sehr wichtig für die Gesundheit Deines Druckers!\n" "

\n" "

\n" -" OctoPrint wird nun standardmässig mit aktivierter Zugangsbeschränkung " -"ausgeliefert, das heißt, dass Du mit dem Drucker nichts\n" -" anfangen kannst, wenn du nicht als einer der konfigurierten Nutzer " -"eingeloggt bist. Das dient dem Zweck, Fremde mit\n" -" möglicherweise böswilligen Absichten davon abzuhalten, auf " -"Deinen Drucker über das Internet oder ein anderes\n" -" unsicheres Netzwerk zuzugreifen und ihn auf eine Art zu nutzen, die ihn " -"beschädigt oder schlimmeres (z.B. ein Feuer verursacht).\n" +" OctoPrint wird nun standardmässig mit aktivierter Zugangsbeschränkung ausgeliefert, das heißt, dass Du mit dem Drucker nichts\n" +" anfangen kannst, wenn du nicht als einer der konfigurierten Nutzer eingeloggt bist. Das dient dem Zweck, Fremde mit\n" +" möglicherweise böswilligen Absichten davon abzuhalten, auf Deinen Drucker über das Internet oder ein anderes\n" +" unsicheres Netzwerk zuzugreifen und ihn auf eine Art zu nutzen, die ihn beschädigt oder schlimmeres (z.B. ein Feuer verursacht).\n" "

\n" "

\n" -" Es sieht so aus, als hättest Du die Zugriffsbeschränkung noch nicht " -"konfiguriert. Bitte konfiguriere einen Usernamen\n" -" und ein Passwort für das initiale Administratorkonto, das " -"vollen Zugang zu sowohl dem Drucker als auch OctoPrints\n" -" Einstellungen haben wird, und klicke dann auf \"Zugangsbeschränkung " -"aktiviert lassen\".\n" +" Es sieht so aus, als hättest Du die Zugriffsbeschränkung noch nicht konfiguriert. Bitte konfiguriere einen Usernamen\n" +" und ein Passwort für das initiale Administratorkonto, das vollen Zugang zu sowohl dem Drucker als auch OctoPrints\n" +" Einstellungen haben wird, und klicke dann auf \"Zugangsbeschränkung aktiviert lassen\".\n" "

" #: src/octoprint/templates/dialogs/firstrun.jinja2:22 @@ -1535,30 +1367,22 @@ msgstr "Passwörter nicht identisch" #: src/octoprint/templates/dialogs/firstrun.jinja2:41 msgid "" "

\n" -" Note: In case that your OctoPrint installation " -"is only accessible from within a trustworthy network and you don't\n" -" need Access Control for other reasons, you may alternatively " -"disable Access Control. You should only\n" -" do this if you are absolutely certain that only people you know " -"and trust will be able to connect to it.\n" +" Note: In case that your OctoPrint installation is only accessible from within a trustworthy network and you don't\n" +" need Access Control for other reasons, you may alternatively disable Access Control. You should only\n" +" do this if you are absolutely certain that only people you know and trust will be able to connect to it.\n" "

\n" "

\n" -" Do NOT underestimate the risk of an unsecured access " -"from the internet to your printer!\n" +" Do NOT underestimate the risk of an unsecured access from the internet to your printer!\n" "

" msgstr "" "

\n" -" Beachte: Falls Deine OctoPrint Installation " -"ausschließlich innerhalb eines vertrauenswürdigen Netzwerks\n" -" erreicht werden kann und Du die Zugangsbeschränkung nicht für andere " -"Zwecke benötigst, kannst Du sie alternativ auch\n" -" deaktivieren. Du solltest das nur tun, wenn Du Dir absolut sicher bist, " -"dass nur Leute darauf zugreifen können, die du kennst\n" +" Beachte: Falls Deine OctoPrint Installation ausschließlich innerhalb eines vertrauenswürdigen Netzwerks\n" +" erreicht werden kann und Du die Zugangsbeschränkung nicht für andere Zwecke benötigst, kannst Du sie alternativ auch\n" +" deaktivieren. Du solltest das nur tun, wenn Du Dir absolut sicher bist, dass nur Leute darauf zugreifen können, die du kennst\n" " und denen du vertraust\n" "

\n" "

\n" -" UNTERSCHÄTZE NICHT das Risiko eines ungesicherten Zugriffs aus " -"dem Internet auf Deinen Drucker!\n" +" UNTERSCHÄTZE NICHT das Risiko eines ungesicherten Zugriffs aus dem Internet auf Deinen Drucker!\n" "

" #: src/octoprint/templates/dialogs/firstrun.jinja2:51 @@ -1574,22 +1398,12 @@ msgid "OctoPrint Settings" msgstr "OctoPrint Einstellungen" #: src/octoprint/templates/dialogs/slicing.jinja2:8 -msgid "" -"Slicing is currently disabled since no slicer has been configured yet. " -"Please configure a slicer under \"Settings\"." -msgstr "" -"Slicing ist aktuell deaktiviert da noch kein Slicer konfiguriert wurde. " -"Bitte konfiguriere einen Slicer unter \"Settings\"." +msgid "Slicing is currently disabled since no slicer has been configured yet. Please configure a slicer under \"Settings\"." +msgstr "Slicing ist aktuell deaktiviert da noch kein Slicer konfiguriert wurde. Bitte konfiguriere einen Slicer unter \"Settings\"." #: src/octoprint/templates/dialogs/slicing.jinja2:11 -msgid "" -"Please configure which slicer and which slicing profile to use and name the " -"GCode file to slice to below, or click \"Cancel\" if you do not wish to " -"slice the file now." -msgstr "" -"Bitte wähle den zu nutzenden Slicer und das zu nutzende Slicerprofile und " -"wie die GCode Datei heißen soll, die erzeugt wird. Alternativ kannst du auch " -"auf \"Abbrechen\" klicken, wenn du die Datei jetzt nicht slicen willst." +msgid "Please configure which slicer and which slicing profile to use and name the GCode file to slice to below, or click \"Cancel\" if you do not wish to slice the file now." +msgstr "Bitte wähle den zu nutzenden Slicer und das zu nutzende Slicerprofile und wie die GCode Datei heißen soll, die erzeugt wird. Alternativ kannst du auch auf \"Abbrechen\" klicken, wenn du die Datei jetzt nicht slicen willst." #: src/octoprint/templates/dialogs/slicing.jinja2:14 msgid "Slicer" @@ -1722,23 +1536,16 @@ msgid "QR Code" msgstr "QR Code" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:2 -msgid "" -"Name of this OctoPrint instance, will be shown in the navigation bar and " -"broadcast on the network" -msgstr "" -"Name dieser OctoPrint-Instanz, wird in der Navigationsleiste angezeigt und " -"im Netzwerk announced." +msgid "Name of this OctoPrint instance, will be shown in the navigation bar and broadcast on the network" +msgstr "Name dieser OctoPrint-Instanz, wird in der Navigationsleiste angezeigt und im Netzwerk announced." #: src/octoprint/templates/dialogs/settings/appearance.jinja2:3 msgid "Title" msgstr "Titel" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:8 -msgid "" -"Personalize the color of the navigation bar - maybe to match your printer?" -msgstr "" -"Personalisiere die Farbe the Navigationsleiste - vielleicht um zum Drucker " -"zu passen?" +msgid "Personalize the color of the navigation bar - maybe to match your printer?" +msgstr "Personalisiere die Farbe the Navigationsleiste - vielleicht um zum Drucker zu passen?" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:9 #: src/octoprint/templates/dialogs/settings/printerprofiles.jinja2:64 @@ -1766,14 +1573,8 @@ msgid "Default Language" msgstr "Standardsprache" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:36 -msgid "" -"Changes to the default interface language will only become active after a " -"reload of the page and only be active if not overridden by the users " -"language settings." -msgstr "" -"Änderungen der Standardsprache werden erst nach einem Neuladen der Seite " -"aktiv, und nur dann, wenn sie nicht durch die Nutzereinstellungen " -"überschrieben sind." +msgid "Changes to the default interface language will only become active after a reload of the page and only be active if not overridden by the users language settings." +msgstr "Änderungen der Standardsprache werden erst nach einem Neuladen der Seite aktiv, und nur dann, wenn sie nicht durch die Nutzereinstellungen überschrieben sind." #: src/octoprint/templates/dialogs/settings/appearance.jinja2:44 msgid "Manage Language Packs..." @@ -1807,22 +1608,12 @@ msgid "Upload" msgstr "Upload" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:90 -msgid "" -"This does not look like a valid language pack. Valid language packs should " -"be either zip files or tarballs and have the extension \".zip\", \".tar.gz" -"\", \".tgz\" or \".tar\"" -msgstr "" -"Das sieht nicht aus wie ein valides Sprachpaket. Valide Sprachpakete sollten " -"entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip\", \"." -"tar.gz\", \".tgz\" oder \".tar\" haben" +msgid "This does not look like a valid language pack. Valid language packs should be either zip files or tarballs and have the extension \".zip\", \".tar.gz\", \".tgz\" or \".tar\"" +msgstr "Das sieht nicht aus wie ein valides Sprachpaket. Valide Sprachpakete sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip\", \".tar.gz\", \".tgz\" oder \".tar\" haben" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:93 -msgid "" -"Please note that you will have to reload the page in order for any newly " -"added language packs to become available." -msgstr "" -"Bitte beachte, dass Du die Seite neuladen musst damit neu hinzugefügte " -"Sprachepakete verfügbar werden." +msgid "Please note that you will have to reload the page in order for any newly added language packs to become available." +msgstr "Bitte beachte, dass Du die Seite neuladen musst damit neu hinzugefügte Sprachepakete verfügbar werden." #: src/octoprint/templates/dialogs/settings/features.jinja2:5 msgid "Enable Temperature Graph" @@ -1861,12 +1652,8 @@ msgstr "Eine Prüfsumme mit jedem Kommando senden" #: src/octoprint/templates/dialogs/settings/features.jinja2:54 #, python-format -msgid "" -"Support TargetExtr%%n/TargetBed target temperature " -"format" -msgstr "" -"TargetExtr%%n/TargetBed Zieltemperaturformat " -"unterstützen" +msgid "Support TargetExtr%%n/TargetBed target temperature format" +msgstr "TargetExtr%%n/TargetBed Zieltemperaturformat unterstützen" #: src/octoprint/templates/dialogs/settings/features.jinja2:61 msgid "Disable detection of external heatups" @@ -1897,13 +1684,8 @@ msgid "Watched Folder" msgstr "Beobachtetes Verzeichnis" #: src/octoprint/templates/dialogs/settings/folders.jinja2:35 -msgid "" -"Actively poll the watched folder. Check this if files in your watched folder " -"aren't automatically added otherwise." -msgstr "" -"Aktives Pollen des beobachteten Verzeichnisses. Einschalten wenn Dateien in " -"Deinem beobachteten Verzeichnis hinzugefügt werden sonst nicht automatisch " -"hinzugefügt werden." +msgid "Actively poll the watched folder. Check this if files in your watched folder aren't automatically added otherwise." +msgstr "Aktives Pollen des beobachteten Verzeichnisses. Einschalten wenn Dateien in Deinem beobachteten Verzeichnis hinzugefügt werden sonst nicht automatisch hinzugefügt werden." #: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3 msgid "Before print job starts" @@ -2033,12 +1815,8 @@ msgid "Nozzle Offsets (relative to first nozzle T0)" msgstr "Düsenoffsets (relativ zur ersten Düse T0)" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:2 -msgid "" -"Serial port to connect to, setting this to AUTO will make OctoPrint try to " -"automatically find the right setting" -msgstr "" -"Serieller Port, mit der sich verbunden werden soll. Falls AUTO konfiguriert " -"ist wird OctoPrint versuchen, automatisch den richtigen Port zu finden." +msgid "Serial port to connect to, setting this to AUTO will make OctoPrint try to automatically find the right setting" +msgstr "Serieller Port, mit der sich verbunden werden soll. Falls AUTO konfiguriert ist wird OctoPrint versuchen, automatisch den richtigen Port zu finden." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:3 #: src/octoprint/templates/sidebar/connection.jinja2:1 @@ -2046,12 +1824,8 @@ msgid "Serial Port" msgstr "Serialport" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:8 -msgid "" -"Serial baud rate to connect with, setting this to AUTO will make OctoPrint " -"try to automatically find the right setting" -msgstr "" -"Baudrate mit der sich verbunden werden soll. Falls AUTO konfiguriert ist " -"wird OctoPrint versuchen, automatisch die richtige Baudrate zu finden." +msgid "Serial baud rate to connect with, setting this to AUTO will make OctoPrint try to automatically find the right setting" +msgstr "Baudrate mit der sich verbunden werden soll. Falls AUTO konfiguriert ist wird OctoPrint versuchen, automatisch die richtige Baudrate zu finden." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:9 #: src/octoprint/templates/sidebar/connection.jinja2:3 @@ -2059,78 +1833,48 @@ msgid "Baudrate" msgstr "Baudrate" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:14 -msgid "" -"Makes OctoPrint try to connect to the printer automatically during start up" -msgstr "" -"OctoPrint wird versuchen, sich beim Startup automatisch mit dem Drucker zu " -"verbinden" +msgid "Makes OctoPrint try to connect to the printer automatically during start up" +msgstr "OctoPrint wird versuchen, sich beim Startup automatisch mit dem Drucker zu verbinden" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:17 msgid "Auto-connect to printer on server start" msgstr "Automatisch bei Serverstart verbinden" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:21 -msgid "" -"Interval in which to poll for the temperature information from the printer " -"while printing" -msgstr "" -"Intervall in welchem die Temperaturdaten vom Drucker während des Druckens " -"abgerufen werden sollen" +msgid "Interval in which to poll for the temperature information from the printer while printing" +msgstr "Intervall in welchem die Temperaturdaten vom Drucker während des Druckens abgerufen werden sollen" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:22 msgid "Temperature interval" msgstr "Temperaturintervall" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:30 -msgid "" -"Interval in which to poll for the SD printing status information from the " -"printer while printing" -msgstr "" -"Intervall in welchem die SD-Statusdaten vom Drucker während des Druckens " -"abgerufen werden sollen" +msgid "Interval in which to poll for the SD printing status information from the printer while printing" +msgstr "Intervall in welchem die SD-Statusdaten vom Drucker während des Druckens abgerufen werden sollen" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:31 msgid "SD status interval" msgstr "SD-Status-Intervall" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:39 -msgid "" -"Time after which the communication with your printer will be considered " -"timed out if nothing was sent by your printer (and an attempt to get it " -"talking again will be done). Increase this if your printer takes longer than " -"this for some moves. This is also the interval in which the temperature will " -"be polled from the printer while not printing." -msgstr "" -"Zeit nach der OctoPrint davon ausgehen wird, dass die Kommunikation mit " -"deinem Drucker unterbrochen wurde falls Dein Drucker keine Daten sendet. " -"OctoPrint wird dann einen Versuch unternehmen, die Kommunikation wieder zu " -"reetablieren. Erhöhe diesen Wert falls Dein Drucker für manche Bewegungen " -"länger braucht. Das ist ebenfalls das Intervall in welchem die " -"Temperaturdaten vom Drucker abgerufen werden wenn gerade kein Druckjob läuft." +msgid "Time after which the communication with your printer will be considered timed out if nothing was sent by your printer (and an attempt to get it talking again will be done). Increase this if your printer takes longer than this for some moves. This is also the interval in which the temperature will be polled from the printer while not printing." +msgstr "Zeit nach der OctoPrint davon ausgehen wird, dass die Kommunikation mit deinem Drucker unterbrochen wurde falls Dein Drucker keine Daten sendet. OctoPrint wird dann einen Versuch unternehmen, die Kommunikation wieder zu reetablieren. Erhöhe diesen Wert falls Dein Drucker für manche Bewegungen länger braucht. Das ist ebenfalls das Intervall in welchem die Temperaturdaten vom Drucker abgerufen werden wenn gerade kein Druckjob läuft." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:40 msgid "Communication timeout" msgstr "Kommunikationstimeout" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:48 -msgid "" -"Time after which a connection attempt to the printer will be considered as " -"having failed" -msgstr "" -"Zeit nach der ein unbeantworteter Verbindungsversuch als gescheitert " -"angenommen wird" +msgid "Time after which a connection attempt to the printer will be considered as having failed" +msgstr "Zeit nach der ein unbeantworteter Verbindungsversuch als gescheitert angenommen wird" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:49 msgid "Connection timeout" msgstr "Verbindungstimeout" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:57 -msgid "" -"Time after which to consider an auto detection attempt to have failed if no " -"successful connection is detected" -msgstr "" -"Zeit nach der ein unbeantworteter Autodetektierungsversuch als gescheitert " -"angenommen wird" +msgid "Time after which to consider an auto detection attempt to have failed if no successful connection is detected" +msgstr "Zeit nach der ein unbeantworteter Autodetektierungsversuch als gescheitert angenommen wird" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:58 msgid "Autodetection timeout" @@ -2138,9 +1882,7 @@ msgstr "Autodetectiontimeout" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:69 msgid "Log communication to serial.log (might negatively impact performance)" -msgstr "" -"Logge die Kommunikation in das serial.log (kann die Performance negativ " -"beeinflussen)" +msgstr "Logge die Kommunikation in das serial.log (kann die Performance negativ beeinflussen)" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:69 #: src/octoprint/templates/tabs/gcodeviewer.jinja2:62 @@ -2152,15 +1894,8 @@ msgid "Long running commands" msgstr "Lang laufende Befehle" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:77 -msgid "" -"Use this to specify the commands known to take a long time to complete " -"without output from your printer and hence might cause timeout issues. Just " -"the G or M code, comma separated." -msgstr "" -"Nutze diese Option, um solche Befehle zu definieren, von denen Du weißt, " -"dass sie eine längere Zeit lang laufen, währenddessen keinen Output " -"produzieren und daher Timeoutprobleme verursachen könnten. Nur den G- oder M-" -"Code, kommasepariert." +msgid "Use this to specify the commands known to take a long time to complete without output from your printer and hence might cause timeout issues. Just the G or M code, comma separated." +msgstr "Nutze diese Option, um solche Befehle zu definieren, von denen Du weißt, dass sie eine längere Zeit lang laufen, währenddessen keinen Output produzieren und daher Timeoutprobleme verursachen könnten. Nur den G- oder M-Code, kommasepariert." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:81 msgid "Additional serial ports" @@ -2168,14 +1903,8 @@ msgstr "Zusätzliche serielle Ports" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:84 #, python-format -msgid "" -"Use this to define additional glob patterns " -"matching serial ports to list for connecting against, e.g. /dev/" -"ttyAMA*. One entry per line." -msgstr "" -"Nutze diese Einstellung um zusätzliche glob " -"patterns zu konfigurieren, die auf serielle Ports deines Druckers " -"matchen, z.B. /dev/ttyAMA*. Ein Eintrag pro Zeile." +msgid "Use this to define additional glob patterns matching serial ports to list for connecting against, e.g. /dev/ttyAMA*. One entry per line." +msgstr "Nutze diese Einstellung um zusätzliche glob patterns zu konfigurieren, die auf serielle Ports deines Druckers matchen, z.B. /dev/ttyAMA*. Ein Eintrag pro Zeile." #: src/octoprint/templates/dialogs/settings/temperatures.jinja2:2 msgid "Temperature Graph" @@ -2203,9 +1932,7 @@ msgstr "RegExp" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:2 msgid "URL to embed into the UI for live viewing of the webcam stream" -msgstr "" -"URL, die in die Oberfläche zum Betrachten des Webcamstreams eingebunden " -"werden soll" +msgstr "URL, die in die Oberfläche zum Betrachten des Webcamstreams eingebunden werden soll" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:3 msgid "Stream URL" @@ -2213,9 +1940,7 @@ msgstr "Stream-URL" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:8 msgid "URL to use for retrieving webcam snapshot images for timelapse creation" -msgstr "" -"URL, die genutzt werden soll, um Einzelaufnahmen für die " -"Zeitraffererstellung abzurufen" +msgstr "URL, die genutzt werden soll, um Einzelaufnahmen für die Zeitraffererstellung abzurufen" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:9 msgid "Snapshot URL" @@ -2262,23 +1987,16 @@ msgid "Rotate webcam 90 degrees counter clockwise" msgstr "Webcam um 90° gegen den Uhrzeigersinn rotieren" #: src/octoprint/templates/dialogs/usersettings/access.jinja2:5 -msgid "" -"If you do not wish to change your password, just leave the following fields " -"empty." -msgstr "" -"Falls Du Dein Passwort nicht ändern willst, lass die folgenden Felder leer." +msgid "If you do not wish to change your password, just leave the following fields empty." +msgstr "Falls Du Dein Passwort nicht ändern willst, lass die folgenden Felder leer." #: src/octoprint/templates/dialogs/usersettings/interface.jinja2:3 msgid "Language" msgstr "Sprache" #: src/octoprint/templates/dialogs/usersettings/interface.jinja2:11 -msgid "" -"Changes to the interface language will only become active after a reload of " -"the page." -msgstr "" -"Änderungen der Oberflächensprache werden erst nach einem Neuladen der Seite " -"aktiv." +msgid "Changes to the interface language will only become active after a reload of the page." +msgstr "Änderungen der Oberflächensprache werden erst nach einem Neuladen der Seite aktiv." #: src/octoprint/templates/navbar/login.jinja2:11 msgid "Remember me" @@ -2318,14 +2036,8 @@ msgid "Please reload" msgstr "Bitte die Seite neu laden" #: src/octoprint/templates/overlays/reloadui.jinja2:7 -msgid "" -"There is a new version of the server active now, a reload of the user " -"interface is needed. This will not interrupt any print jobs you might have " -"ongoing. Please reload the web interface now by clicking the button below." -msgstr "" -"Die Serverversion hat sich geändert, ein Neuladen des Webinterfaces ist " -"notwendig. Das hat keinen Einfluss auf deine evtl. laufenden Printjobs. " -"Bitte lade das Webinterface jetzt neu, indem du auf den Button unten klickst." +msgid "There is a new version of the server active now, a reload of the user interface is needed. This will not interrupt any print jobs you might have ongoing. Please reload the web interface now by clicking the button below." +msgstr "Die Serverversion hat sich geändert, ein Neuladen des Webinterfaces ist notwendig. Das hat keinen Einfluss auf deine evtl. laufenden Printjobs. Bitte lade das Webinterface jetzt neu, indem du auf den Button unten klickst." #: src/octoprint/templates/sidebar/connection.jinja2:8 msgid "Save connection settings" @@ -2364,8 +2076,7 @@ msgstr "Frei" #: src/octoprint/templates/sidebar/files.jinja2:64 msgid "Hint: You can also drag and drop files on this page to upload them." -msgstr "" -"Hinweis: Du kannst auch Dateien auf diese Seite ziehen um sie hochzuladen." +msgstr "Hinweis: Du kannst auch Dateien auf diese Seite ziehen um sie hochzuladen." #: src/octoprint/templates/sidebar/files_header.jinja2:6 msgid "Sort by name" @@ -2488,11 +2199,8 @@ msgid "Stepsize" msgstr "Schrittgröße" #: src/octoprint/templates/tabs/control.jinja2:23 -msgid "" -"Hint: If you move your mouse over the picture, you enter keyboard control " -"mode." -msgstr "" -"Hinweis: Bewegen der Maus über das Bild aktiviert die Tastatursteuerung" +msgid "Hint: If you move your mouse over the picture, you enter keyboard control mode." +msgstr "Hinweis: Bewegen der Maus über das Bild aktiviert die Tastatursteuerung" #: src/octoprint/templates/tabs/control.jinja2:69 msgid "Feed rate:" @@ -2569,12 +2277,9 @@ msgstr "Neu laden" #: src/octoprint/templates/tabs/gcodeviewer.jinja2:63 msgid "" "

\n" -" You've selected for printing which has a size of\n" -" . Depending on your machine this\n" -" might be too large for rendering and cause your browser to become " -"unresponsive or crash.\n" +" You've selected for printing which has a size of\n" +" . Depending on your machine this\n" +" might be too large for rendering and cause your browser to become unresponsive or crash.\n" "

\n" "\n" "

\n" @@ -2582,13 +2287,9 @@ msgid "" "

" msgstr "" "

\n" -" Du hast zum " -"Drucken ausgewählt das\n" -" groß ist. Abhängig von Deinem\n" -" System könnte das zu groß zum Rendern sein und Deinen Browser zum " -"Absturz bringen. might be too large for rendering and cause your " -"browser to become unresponsive or crash.\n" +" Du hast zum Drucken ausgewählt das\n" +" groß ist. Abhängig von Deinem\n" +" System könnte das zu groß zum Rendern sein und Deinen Browser zum Absturz bringen. might be too large for rendering and cause your browser to become unresponsive or crash.\n" "

\n" "\n" "

\n" @@ -2632,30 +2333,15 @@ msgstr "Senden" #: src/octoprint/templates/tabs/terminal.jinja2:20 msgid "Hint: Use the arrow up/down keys to recall commands sent previously" -msgstr "" -"Hinweis: Nutze die Pfeil hoch/runter Tasten um vorher versandte Kommandos " -"wiederaufzurufen " +msgstr "Hinweis: Nutze die Pfeil hoch/runter Tasten um vorher versandte Kommandos wiederaufzurufen " #: src/octoprint/templates/tabs/terminal.jinja2:27 msgid "Fake Acknowledgement" msgstr "Bestätigung faken" #: src/octoprint/templates/tabs/terminal.jinja2:28 -msgid "" -"If acknowledgements (\"ok\"s) sent by the firmware get lost due to issues " -"with the serial communication to your printer, OctoPrint's communication " -"with it can become stuck. If that happens, this can help. Please be advised " -"that such occurences hint at general communication issues with your printer " -"which will probably negatively influence your printing results and which you " -"should therefore try to resolve!" -msgstr "" -"Falls Bestätigungen (\"ok\"s) Deiner Firmware aufgrund von " -"Kommunikationsproblemen mit Deinem Drucker verloren gehen, kann die " -"Kommunikation zwischen OctoPrint und Deinem Drucker zum Stillstand kommen. " -"Falls das passiert, kann das hier helfen. Bitte bedenke, dass solche " -"Vorfälle ein Hinweis auf ein generelles Kommunikationsproblem mit Deinem " -"Drucker hindeuten, das wahrscheinlich Deine Druckergebnisse negativ " -"beeinflusst und dass du daher versuchen solltest, zu beseitigen!" +msgid "If acknowledgements (\"ok\"s) sent by the firmware get lost due to issues with the serial communication to your printer, OctoPrint's communication with it can become stuck. If that happens, this can help. Please be advised that such occurences hint at general communication issues with your printer which will probably negatively influence your printing results and which you should therefore try to resolve!" +msgstr "Falls Bestätigungen (\"ok\"s) Deiner Firmware aufgrund von Kommunikationsproblemen mit Deinem Drucker verloren gehen, kann die Kommunikation zwischen OctoPrint und Deinem Drucker zum Stillstand kommen. Falls das passiert, kann das hier helfen. Bitte bedenke, dass solche Vorfälle ein Hinweis auf ein generelles Kommunikationsproblem mit Deinem Drucker hindeuten, das wahrscheinlich Deine Druckergebnisse negativ beeinflusst und dass du daher versuchen solltest, zu beseitigen!" #: src/octoprint/templates/tabs/timelapse.jinja2:2 msgid "Timelapse Configuration" @@ -2740,7 +2426,7 @@ msgstr "Erstellungsdatum" #~ msgstr "Online:" #~ msgid "" -#~ "Use --process-dependency-links with pip install" #~ msgstr "" -#~ "Übergebe --process-dependency-links an pip install" + +#~ msgid "Updating, please wait." +#~ msgstr "Aktualisiere gerade, bitte warten." diff --git a/translations/de/LC_MESSAGES/messages.mo b/translations/de/LC_MESSAGES/messages.mo index 5c9214c088337777f07bb4cb9a480ee1c81bc751..a6c2acecced708cd524dff5bfdcdfd03c8f306f5 100644 GIT binary patch delta 8564 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 diff --git a/translations/de/LC_MESSAGES/messages.po b/translations/de/LC_MESSAGES/messages.po index 1aa697c7d..cfe771b28 100644 --- a/translations/de/LC_MESSAGES/messages.po +++ b/translations/de/LC_MESSAGES/messages.po @@ -11,11 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: OctoPrint\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2015-07-06 08:36+0200\n" -"PO-Revision-Date: 2015-07-06 08:39+0100\n" +"POT-Creation-Date: 2015-07-07 18:58+0200\n" +"PO-Revision-Date: 2015-07-07 18:59+0100\n" "Last-Translator: Gina Häußge \n" -"Language-Team: German (http://www.transifex.com/projects/p/octoprint/" -"language/de/)\n" +"Language-Team: German (http://www.transifex.com/projects/p/octoprint/language/de/)\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -24,6 +23,10 @@ msgstr "" "Language: de\n" "X-Generator: Poedit 1.6.8\n" +#: src/octoprint/plugins/cura/__init__.py:43 +msgid "CuraEngine" +msgstr "CuraEngine" + #: src/octoprint/plugins/cura/templates/cura_settings.jinja2:1 #: src/octoprint/templates/tabs/control.jinja2:98 msgid "General" @@ -230,14 +233,8 @@ msgid "Plugin installed" msgstr "Plugin installiert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524 -msgid "" -"A plugin was installed successfully, however it was impossible to detect " -"which one. Please Restart OctoPrint to make sure everything will be " -"registered properly" -msgstr "" -"Ein Plugin wurde erfolgreich installiert, es war aber unmöglich zu " -"detektieren, welches. Bitte starte OctoPrint neu um sicherzustellen, dass " -"alles ordnungsgemäß registriert wird." +msgid "A plugin was installed successfully, however it was impossible to detect which one. Please Restart OctoPrint to make sure everything will be registered properly" +msgstr "Ein Plugin wurde erfolgreich installiert, es war aber unmöglich zu detektieren, welches. Bitte starte OctoPrint neu um sicherzustellen, dass alles ordnungsgemäß registriert wird." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528 #, python-format @@ -249,20 +246,12 @@ msgid "The plugin was reinstalled successfully" msgstr "Das Plugin wurde erfolgreich reinstalliert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:530 -msgid "" -"The plugin was reinstalled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neustart von " -"OctoPrint notwendig bevor es genutzt werden kann." +msgid "The plugin was reinstalled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neustart von OctoPrint notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:531 -msgid "" -"The plugin was reinstalled successfully, however a reload of the page is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neuladen der " -"Seite notwendig bevor es genutzt werden kann." +msgid "The plugin was reinstalled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich reinstalliert, es ist aber ein Neuladen der Seite notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533 #, python-format @@ -274,50 +263,32 @@ msgid "The plugin was installed successfully" msgstr "Das Plugin wurde erfolgreich installiert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535 -msgid "" -"The plugin was installed successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neustart von " -"OctoPrint notwendig bevor es genutzt werden kann." +msgid "The plugin was installed successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neustart von OctoPrint notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536 -msgid "" -"The plugin was installed successfully, however a reload of the page is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neuladen der " -"Seite notwendig bevor es genutzt werden kann." +msgid "The plugin was installed successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich installiert, es ist jedoch ein Neuladen der Seite notwendig bevor es genutzt werden kann." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:547 #, python-format msgid "Reinstalling the plugin from URL \"%(url)s\" failed: %(reason)s" -msgstr "" -"Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" +msgstr "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:549 #, python-format msgid "Installing the plugin from URL \"%(url)s\" failed: %(reason)s" -msgstr "" -"Installation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" +msgstr "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:553 #, python-format -msgid "" -"Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for " -"details." -msgstr "" -"Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " -"konsultiere das Log für Details." +msgid "Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for details." +msgstr "Reinstallation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte konsultiere das Log für Details." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:555 #, python-format -msgid "" -"Installing the plugin from URL \"%(url)s\" failed, please see the log for " -"details." -msgstr "" -"Installation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte " -"konsultiere das Log für Details" +msgid "Installing the plugin from URL \"%(url)s\" failed, please see the log for details." +msgstr "Installation des Plugins von URL \"%(url)s\" fehlgeschlagen, bitte konsultiere das Log für Details" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:564 #, python-format @@ -329,20 +300,12 @@ msgid "The plugin was uninstalled successfully" msgstr "Das Plugin wurde erfolgreich deinstalliert" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:566 -msgid "" -"The plugin was uninstalled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neustart von " -"OctoPrint notwendig." +msgid "The plugin was uninstalled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neustart von OctoPrint notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:567 -msgid "" -"The plugin was uninstalled successfully, however a reload of the page is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neuladen der " -"Seite notwendig." +msgid "The plugin was uninstalled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deinstalliert, es ist jedoch ein Neuladen der Seite notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571 #, python-format @@ -351,9 +314,7 @@ msgstr "Deinstallation des Plugins fehlgeschlagen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:573 msgid "Uninstalling the plugin failed, please see the log for details." -msgstr "" -"Deinstallation des Plugins fehlgeschlagen, bitte konsultiere das Log für " -"Details." +msgstr "Deinstallation des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:581 #, python-format @@ -365,20 +326,12 @@ msgid "The plugin was enabled successfully." msgstr "Das Plugin wurde erfolgreich aktiviert." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:583 -msgid "" -"The plugin was enabled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neustart von " -"OctoPrint notwendig." +msgid "The plugin was enabled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neustart von OctoPrint notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:584 -msgid "" -"The plugin was enabled successfully, however a reload of the page is needed " -"for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neuladen der Seite " -"notwendig." +msgid "The plugin was enabled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich aktiviert, es ist jedoch ein Neuladen der Seite notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588 #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605 @@ -389,8 +342,7 @@ msgstr "Togglen des Plugins fehlgeschalgen: %(reason)s" #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:590 #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:607 msgid "Toggling the plugin failed, please see the log for details." -msgstr "" -"Togglen des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." +msgstr "Togglen des Plugins fehlgeschlagen, bitte konsultiere das Log für Details." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:598 #, python-format @@ -402,28 +354,16 @@ msgid "The plugin was disabled successfully." msgstr "Das Plugin wurde erfolgreich deaktiviert." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:600 -msgid "" -"The plugin was disabled successfully, however a restart of OctoPrint is " -"needed for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neustart von " -"OctoPrint notwendig." +msgid "The plugin was disabled successfully, however a restart of OctoPrint is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neustart von OctoPrint notwendig." #: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:601 -msgid "" -"The plugin was disabled successfully, however a reload of the page is needed " -"for that to take effect." -msgstr "" -"Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neuladen der " -"Seite notwendig." +msgid "The plugin was disabled successfully, however a reload of the page is needed for that to take effect." +msgstr "Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neuladen der Seite notwendig." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:3 -msgid "" -"Take note that all plugin management functionality is disabled while your " -"printer is printing." -msgstr "" -"Bitte beachte das jegliche Pluginmanagementfunktionen während des Druckens " -"deaktiviert sind." +msgid "Take note that all plugin management functionality is disabled while your printer is printing." +msgstr "Bitte beachte das jegliche Pluginmanagementfunktionen während des Druckens deaktiviert sind." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:9 msgid "Installed Plugins" @@ -459,8 +399,7 @@ msgstr "Installation neuer Plugins..." #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:71 #, python-format -msgid "" -"... from the Plugin Repository" +msgid "... from the Plugin Repository" msgstr "... vom Plugin Repository" #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75 @@ -525,16 +464,14 @@ msgid "... from an uploaded archive" msgstr "... von einem hochgeladenen Archiv" #: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:148 -msgid "" -"This does not look like a valid plugin archive. Valid plugin archives should " -"be either zip files or tarballs and have the extension \".zip\", \".tar.gz" -"\", \".tgz\" or \".tar\"" -msgstr "" -"Das sieht nicht aus wie ein valides Pluginarchiv. Valide Pluginarchive " -"sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip" -"\", \".tar.gz\", \".tgz\" oder \".tar\" haben" +msgid "This does not look like a valid plugin archive. Valid plugin archives should be either zip files or tarballs and have the extension \".zip\", \".tar.gz\", \".tgz\" or \".tar\"" +msgstr "Das sieht nicht aus wie ein valides Pluginarchiv. Valide Pluginarchive sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip\", \".tar.gz\", \".tgz\" oder \".tar\" haben" -#: src/octoprint/plugins/softwareupdate/__init__.py:588 +#: src/octoprint/plugins/softwareupdate/__init__.py:315 +msgid "Software Update" +msgstr "Software Update" + +#: src/octoprint/plugins/softwareupdate/__init__.py:589 #: src/octoprint/server/views.py:146 #: src/octoprint/static/js/app/viewmodels/appearance.js:11 #: src/octoprint/static/js/app/viewmodels/appearance.js:13 @@ -548,12 +485,8 @@ msgid "There are updates available for the following components:" msgstr "Es gibt Aktualisierungen für die folgenden Komponenten:" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:128 -msgid "" -"Those components marked with can be updated " -"directly." -msgstr "" -"Die mit markierten Komponenten können direkt " -"aktualisiert werden." +msgid "Those components marked with can be updated directly." +msgstr "Die mit markierten Komponenten können direkt aktualisiert werden." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:131 msgid "Update Available" @@ -564,12 +497,8 @@ msgid "Ignore" msgstr "Ignorieren" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:147 -msgid "" -"You can make this message display again via \"Settings\" > \"SoftwareUpdate" -"\" > \"Check for update now\"" -msgstr "" -"Du kannst diese Nachricht erneut anzeigen lassen mittels \"Einstellungen\" > " -"\"Software Update\" > \"Jetzt nach Aktualisierungen suchen\"" +msgid "You can make this message display again via \"Settings\" > \"Software Update\" > \"Check for update now\"" +msgstr "Du kannst diese Nachricht erneut anzeigen lassen mittels \"Einstellungen\" > \"Software Update\" > \"Jetzt nach Aktualisierungen suchen\"" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151 msgid "Update now" @@ -592,42 +521,28 @@ msgid "Update not started!" msgstr "Aktualisierung nicht gestartet!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:254 -msgid "" -"The update could not be started. Is it already active? Please consult the " -"log for details." -msgstr "" -"Die Aktualisierung konnte nicht gestartet werden. Läuft bereits eine? Bitte " -"konsultiere das Log für Details." +msgid "The update could not be started. Is it already active? Please consult the log for details." +msgstr "Die Aktualisierung konnte nicht gestartet werden. Läuft bereits eine? Bitte konsultiere das Log für Details." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:276 msgid "Can't update while printing" msgstr "Aktualisierung nicht möglich während gedruckt wird" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:277 -msgid "" -"A print job is currently in progress. Updating will be prevented until it is " -"done." -msgstr "" -"Ein Druckjob ist zur Zeit aktiv. Aktualisierungen werden unterbunden bis er " -"fertig ist." +msgid "A print job is currently in progress. Updating will be prevented until it is done." +msgstr "Ein Druckjob ist zur Zeit aktiv. Aktualisierungen werden unterbunden bis er fertig ist." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:281 msgid "This will update your OctoPrint installation and restart the server." -msgstr "" -"Das wird Deine OctoPrint Installation aktualisieren und den Server neu " -"starten." +msgstr "Das wird Deine OctoPrint Installation aktualisieren und den Server neu starten." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:305 msgid "Restart successful!" msgstr "Neustart erfolgreich!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:306 -msgid "" -"The server was restarted successfully. The page will now reload " -"automatically." -msgstr "" -"Der Server wurde erfolgreich neu gestartet. Die Seite wird nun automatisch " -"neu geladen." +msgid "The server was restarted successfully. The page will now reload automatically." +msgstr "Der Server wurde erfolgreich neu gestartet. Die Seite wird nun automatisch neu geladen." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:338 #, python-format @@ -640,9 +555,7 @@ msgstr "Aktualisierung erfolgreich, starte neu!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:347 msgid "The update finished successfully and the server will now be restarted." -msgstr "" -"Die Aktualisierung wurde erfolgreich durchgeführt und der Server wird jetzt " -"neu gestartet." +msgstr "Die Aktualisierung wurde erfolgreich durchgeführt und der Server wird jetzt neu gestartet." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:358 #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:400 @@ -651,46 +564,28 @@ msgstr "Neustart fehlgeschlagen" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:359 #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:401 -msgid "" -"The server apparently did not restart by itself, you'll have to do it " -"manually. Please consult the log file on what went wrong." -msgstr "" -"Der Server hat anscheinend nicht von selbst neu gstartet, Du wirst das " -"manuell tun müssen. Bitte konsultiere das Logfile." +msgid "The server apparently did not restart by itself, you'll have to do it manually. Please consult the log file on what went wrong." +msgstr "Der Server hat anscheinend nicht von selbst neu gstartet, Du wirst das manuell tun müssen. Bitte konsultiere das Logfile." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:375 msgid "The update finished successfully, please restart OctoPrint now." -msgstr "" -"Die Aktualisierung wurde erfolgreich abgeschlossen, bitte starte OctoPrint " -"jetzt neu." +msgstr "Die Aktualisierung wurde erfolgreich abgeschlossen, bitte starte OctoPrint jetzt neu." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:377 msgid "The update finished successfully, please reboot the server now." -msgstr "" -"Die Aktualisierung wurde erfolgreich abgeschlossen, bitte reboote den Server " -"jetzt." +msgstr "Die Aktualisierung wurde erfolgreich abgeschlossen, bitte reboote den Server jetzt." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:381 msgid "Update successful, restart required!" msgstr "Aktualisierung erfolgreich, Neustart notwendig!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:394 -msgid "" -"Restarting OctoPrint failed, please restart it manually. You might also want " -"to consult the log file on what went wrong here." -msgstr "" -"Der Neustart von OctoPrint ist fehlgeschlagen, bitte starte es manuell neu. " -"Du solltest das Logfile konsultieren, um herauszufinden, was hier schief " -"gelaufen ist." +msgid "Restarting OctoPrint failed, please restart it manually. You might also want to consult the log file on what went wrong here." +msgstr "Der Neustart von OctoPrint ist fehlgeschlagen, bitte starte es manuell neu. Du solltest das Logfile konsultieren, um herauszufinden, was hier schief gelaufen ist." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:396 -msgid "" -"Rebooting the server failed, please reboot it manually. You might also want " -"to consult the log file on what went wrong here." -msgstr "" -"Reboot des Servers fehlgeschlagen, bitte reboote ihn manuell. Du solltest " -"auch das Logfile konsultieren, um herauszufinden, was hier gerade schief " -"gelaufen ist." +msgid "Rebooting the server failed, please reboot it manually. You might also want to consult the log file on what went wrong here." +msgstr "Reboot des Servers fehlgeschlagen, bitte reboote ihn manuell. Du solltest auch das Logfile konsultieren, um herauszufinden, was hier gerade schief gelaufen ist." #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:414 msgid "Update successful!" @@ -705,11 +600,8 @@ msgid "Update failed!" msgstr "Aktualisierung fehlgeschlagen!" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:428 -msgid "" -"The update did not finish successfully. Please consult the log for details." -msgstr "" -"Die Aktualisierung wurde nicht erfolgreich abgeschlossen. Bitte konsultiere " -"das Log für Details." +msgid "The update did not finish successfully. Please consult the log for details." +msgstr "Die Aktualisierung wurde nicht erfolgreich abgeschlossen. Bitte konsultiere das Log für Details." #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:2 #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:54 @@ -743,14 +635,11 @@ msgstr "Erweiterte Optionen" #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:46 msgid "Force check for update (overrides cache used for update checks)" -msgstr "" -"Suche nach Aktualisierungen forcieren (ignoriert den Cache für " -"Aktualisierungsinformationen)" +msgstr "Suche nach Aktualisierungen forcieren (ignoriert den Cache für Aktualisierungsinformationen)" #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:47 msgid "Force update now (even if no new versions are available)" -msgstr "" -"Aktualisierung forcieren (selbst wenn keine neue Versionen verfügbar sind)" +msgstr "Aktualisierung forcieren (selbst wenn keine neue Versionen verfügbar sind)" #: src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2:59 msgid "Restart Command" @@ -884,27 +773,12 @@ msgid "Server is offline" msgstr "Der Server ist offline" #: src/octoprint/static/js/app/dataupdater.js:67 -msgid "" -"The server appears to be offline, at least I'm not getting any response from " -"it. I'll try to reconnect automatically over the next couple of " -"minutes, however you are welcome to try a manual reconnect anytime " -"using the button below." -msgstr "" -"Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm " -"verbinden. Ich werde in den nächsten Minuten versuchen mich " -"erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch " -"jederzeit einen manuellen Verbindungsversuch anstoßen." +msgid "The server appears to be offline, at least I'm not getting any response from it. I'll try to reconnect automatically over the next couple of minutes, however you are welcome to try a manual reconnect anytime using the button below." +msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich werde in den nächsten Minuten versuchen mich erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch jederzeit einen manuellen Verbindungsversuch anstoßen." #: src/octoprint/static/js/app/dataupdater.js:101 -msgid "" -"The server appears to be offline, at least I'm not getting any response from " -"it. I could not reconnect automatically, but you may try a " -"manual reconnect using the button below." -msgstr "" -"Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm " -"verbinden. Ich konnte mich nicht automatisch neu verbinden, " -"aber Du kannst mittels des folgenden Buttons einen manuellen " -"Verbindungsversuch anstoßen." +msgid "The server appears to be offline, at least I'm not getting any response from it. I could not reconnect automatically, but you may try a manual reconnect using the button below." +msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich konnte mich nicht automatisch neu verbinden, aber Du kannst mittels des folgenden Buttons einen manuellen Verbindungsversuch anstoßen." #: src/octoprint/static/js/app/dataupdater.js:168 #: src/octoprint/static/js/app/dataupdater.js:196 @@ -932,12 +806,8 @@ msgstr "Neue Zeitrafferaufnahme %(movie_basename)s wurde fertig gerendert" #: src/octoprint/static/js/app/dataupdater.js:189 #, python-format -msgid "" -"Rendering of timelapse %(movie_basename)s failed with return code " -"%(returncode)s" -msgstr "" -"Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit " -"Returncode %(returncode)s" +msgid "Rendering of timelapse %(movie_basename)s failed with return code %(returncode)s" +msgstr "Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit Returncode %(returncode)s" #: src/octoprint/static/js/app/dataupdater.js:191 msgid "Rendering failed" @@ -1080,14 +950,8 @@ msgid "Last Print Time" msgstr "Letzte Druckdauer" #: src/octoprint/static/js/app/viewmodels/files.js:392 -msgid "" -"Could not upload the file. Make sure that it is a GCODE file and has the " -"extension \".gcode\" or \".gco\" or that it is an STL file with the " -"extension \".stl\"." -msgstr "" -"Konnte die Datei nicht hochladen. Bitte stelle sicher, dass es sich um eine " -"GCODE-Datei mit der Extension \".gcode\" oder \".gco\" oder um eine STL-" -"Datei mit der Extension \".stl\" handelt." +msgid "Could not upload the file. Make sure that it is a GCODE file and has the extension \".gcode\" or \".gco\" or that it is an STL file with the extension \".stl\"." +msgstr "Konnte die Datei nicht hochladen. Bitte stelle sicher, dass es sich um eine GCODE-Datei mit der Extension \".gcode\" oder \".gco\" oder um eine STL-Datei mit der Extension \".stl\" handelt." #: src/octoprint/static/js/app/viewmodels/files.js:408 msgid "Uploading ..." @@ -1098,14 +962,8 @@ msgid "Saving ..." msgstr "Speichere ..." #: src/octoprint/static/js/app/viewmodels/firstrun.js:38 -msgid "" -"If you disable Access Control and your OctoPrint " -"installation is accessible from the internet, your printer will be " -"accessible by everyone - that also includes the bad guys!" -msgstr "" -"Wenn Du die Zugangsbeschränkung deaktivierst und Deine " -"OctoPrint Installation vom Internet aus erreichbar ist, kann jeder " -"auf Deinen Drucker zugreifen - auch die bösen Jungs!" +msgid "If you disable Access Control and your OctoPrint installation is accessible from the internet, your printer will be accessible by everyone - that also includes the bad guys!" +msgstr "Wenn Du die Zugangsbeschränkung deaktivierst und Deine OctoPrint Installation vom Internet aus erreichbar ist, kann jeder auf Deinen Drucker zugreifen - auch die bösen Jungs!" #: src/octoprint/static/js/app/viewmodels/gcode.js:14 msgid "Loading..." @@ -1210,44 +1068,44 @@ msgid "Error" msgstr "Fehler" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:96 -#: src/octoprint/static/js/app/viewmodels/settings.js:52 -#: src/octoprint/static/js/app/viewmodels/settings.js:82 +#: src/octoprint/static/js/app/viewmodels/settings.js:53 +#: src/octoprint/static/js/app/viewmodels/settings.js:83 msgid "default" msgstr "Standard" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:97 -#: src/octoprint/static/js/app/viewmodels/settings.js:53 -#: src/octoprint/static/js/app/viewmodels/settings.js:66 +#: src/octoprint/static/js/app/viewmodels/settings.js:54 +#: src/octoprint/static/js/app/viewmodels/settings.js:67 msgid "red" msgstr "Rot" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:98 -#: src/octoprint/static/js/app/viewmodels/settings.js:54 -#: src/octoprint/static/js/app/viewmodels/settings.js:68 +#: src/octoprint/static/js/app/viewmodels/settings.js:55 +#: src/octoprint/static/js/app/viewmodels/settings.js:69 msgid "orange" msgstr "Orange" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:99 -#: src/octoprint/static/js/app/viewmodels/settings.js:55 -#: src/octoprint/static/js/app/viewmodels/settings.js:70 +#: src/octoprint/static/js/app/viewmodels/settings.js:56 +#: src/octoprint/static/js/app/viewmodels/settings.js:71 msgid "yellow" msgstr "Gelb" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:100 -#: src/octoprint/static/js/app/viewmodels/settings.js:56 -#: src/octoprint/static/js/app/viewmodels/settings.js:72 +#: src/octoprint/static/js/app/viewmodels/settings.js:57 +#: src/octoprint/static/js/app/viewmodels/settings.js:73 msgid "green" msgstr "Grün" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:101 -#: src/octoprint/static/js/app/viewmodels/settings.js:57 -#: src/octoprint/static/js/app/viewmodels/settings.js:74 +#: src/octoprint/static/js/app/viewmodels/settings.js:58 +#: src/octoprint/static/js/app/viewmodels/settings.js:75 msgid "blue" msgstr "Blau" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:102 -#: src/octoprint/static/js/app/viewmodels/settings.js:59 -#: src/octoprint/static/js/app/viewmodels/settings.js:78 +#: src/octoprint/static/js/app/viewmodels/settings.js:60 +#: src/octoprint/static/js/app/viewmodels/settings.js:79 msgid "black" msgstr "Schwarz" @@ -1272,11 +1130,8 @@ msgid "A profile with such an identifier already exists" msgstr "Es gibt bereits ein Profil mit diesem Identifier" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:247 -msgid "" -"There was unexpected error while saving the printer profile, please consult " -"the logs." -msgstr "" -"Unerwarteter Fehler beim Speichern des Profils, bitte konsultiere das Log" +msgid "There was unexpected error while saving the printer profile, please consult the logs." +msgstr "Unerwarteter Fehler beim Speichern des Profils, bitte konsultiere das Log" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:248 #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:266 @@ -1285,18 +1140,12 @@ msgid "Saving failed" msgstr "Speichern fehlgeschlagen" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:265 -msgid "" -"There was unexpected error while removing the printer profile, please " -"consult the logs." -msgstr "" -"Unerwarteter Fehler beim Löschen des Profils, bitte konsultiere das Log" +msgid "There was unexpected error while removing the printer profile, please consult the logs." +msgstr "Unerwarteter Fehler beim Löschen des Profils, bitte konsultiere das Log" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:293 -msgid "" -"There was unexpected error while updating the printer profile, please " -"consult the logs." -msgstr "" -"Unerwarteter Fehler beim Aktualisieren des Profils, bitte konsultiere das Log" +msgid "There was unexpected error while updating the printer profile, please consult the logs." +msgstr "Unerwarteter Fehler beim Aktualisieren des Profils, bitte konsultiere das Log" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:348 msgid "Add Printer Profile" @@ -1356,17 +1205,17 @@ msgstr "Sek" msgid "This will restart the print job from the beginning." msgstr "Der Druckjob wird zurückgesetzt und von vorne begonnen." -#: src/octoprint/static/js/app/viewmodels/settings.js:58 -#: src/octoprint/static/js/app/viewmodels/settings.js:76 +#: src/octoprint/static/js/app/viewmodels/settings.js:59 +#: src/octoprint/static/js/app/viewmodels/settings.js:77 msgid "violet" msgstr "Violett" -#: src/octoprint/static/js/app/viewmodels/settings.js:60 -#: src/octoprint/static/js/app/viewmodels/settings.js:80 +#: src/octoprint/static/js/app/viewmodels/settings.js:61 +#: src/octoprint/static/js/app/viewmodels/settings.js:81 msgid "white" msgstr "weiß" -#: src/octoprint/static/js/app/viewmodels/settings.js:88 +#: src/octoprint/static/js/app/viewmodels/settings.js:89 msgid "Autodetect from browser" msgstr "Automatisch vom Browser erkennen" @@ -1418,10 +1267,8 @@ msgstr "zeige %(displayed)d Zeilen" #: src/octoprint/static/js/app/viewmodels/terminal.js:61 #, python-format -msgid "" -"showing %(displayed)d lines (%(filtered)d of %(total)d total lines filtered)" -msgstr "" -"zeige %(displayed)d Zeilen (%(filtered)d von %(total)d Zeilen gefiltert)" +msgid "showing %(displayed)d lines (%(filtered)d of %(total)d total lines filtered)" +msgstr "zeige %(displayed)d Zeilen (%(filtered)d von %(total)d Zeilen gefiltert)" #: src/octoprint/static/js/app/viewmodels/usersettings.js:10 msgid "Site default" @@ -1462,48 +1309,33 @@ msgstr "Zugangsbeschränkung konfigurieren" #: src/octoprint/templates/dialogs/firstrun.jinja2:6 msgid "" "

\n" -" Please read the following, it is very important for your " -"printer's health!\n" +" Please read the following, it is very important for your printer's health!\n" "

\n" "

\n" -" OctoPrint by default now ships with Access Control enabled, " -"meaning you won't be able to do anything with the\n" -" printer unless you login first as a configured user. This is " -"to prevent strangers - possibly with\n" -" malicious intent - to gain access to your printer " -"via the internet or another untrustworthy network\n" -" and using it in such a way that it is damaged or worse (i.e. " -"causes a fire).\n" +" OctoPrint by default now ships with Access Control enabled, meaning you won't be able to do anything with the\n" +" printer unless you login first as a configured user. This is to prevent strangers - possibly with\n" +" malicious intent - to gain access to your printer via the internet or another untrustworthy network\n" +" and using it in such a way that it is damaged or worse (i.e. causes a fire).\n" "

\n" "

\n" -" It looks like you haven't configured access control yet. " -"Please set up an username and password for the\n" -" initial administrator account who will have full access to " -"both the printer and OctoPrint's settings, then click\n" +" It looks like you haven't configured access control yet. Please set up an username and password for the\n" +" initial administrator account who will have full access to both the printer and OctoPrint's settings, then click\n" " on \"Keep Access Control Enabled\":\n" "

" msgstr "" "

\n" -" Bitte lies die folgenden Zeilen aufmerksam durch, es ist sehr " -"wichtig für die Gesundheit Deines Druckers!\n" +" Bitte lies die folgenden Zeilen aufmerksam durch, es ist sehr wichtig für die Gesundheit Deines Druckers!\n" "

\n" "

\n" -" OctoPrint wird nun standardmässig mit aktivierter Zugangsbeschränkung " -"ausgeliefert, das heißt, dass Du mit dem Drucker nichts\n" -" anfangen kannst, wenn du nicht als einer der konfigurierten Nutzer " -"eingeloggt bist. Das dient dem Zweck, Fremde mit\n" -" möglicherweise böswilligen Absichten davon abzuhalten, auf " -"Deinen Drucker über das Internet oder ein anderes\n" -" unsicheres Netzwerk zuzugreifen und ihn auf eine Art zu nutzen, die ihn " -"beschädigt oder schlimmeres (z.B. ein Feuer verursacht).\n" +" OctoPrint wird nun standardmässig mit aktivierter Zugangsbeschränkung ausgeliefert, das heißt, dass Du mit dem Drucker nichts\n" +" anfangen kannst, wenn du nicht als einer der konfigurierten Nutzer eingeloggt bist. Das dient dem Zweck, Fremde mit\n" +" möglicherweise böswilligen Absichten davon abzuhalten, auf Deinen Drucker über das Internet oder ein anderes\n" +" unsicheres Netzwerk zuzugreifen und ihn auf eine Art zu nutzen, die ihn beschädigt oder schlimmeres (z.B. ein Feuer verursacht).\n" "

\n" "

\n" -" Es sieht so aus, als hättest Du die Zugriffsbeschränkung noch nicht " -"konfiguriert. Bitte konfiguriere einen Usernamen\n" -" und ein Passwort für das initiale Administratorkonto, das " -"vollen Zugang zu sowohl dem Drucker als auch OctoPrints\n" -" Einstellungen haben wird, und klicke dann auf \"Zugangsbeschränkung " -"aktiviert lassen\".\n" +" Es sieht so aus, als hättest Du die Zugriffsbeschränkung noch nicht konfiguriert. Bitte konfiguriere einen Usernamen\n" +" und ein Passwort für das initiale Administratorkonto, das vollen Zugang zu sowohl dem Drucker als auch OctoPrints\n" +" Einstellungen haben wird, und klicke dann auf \"Zugangsbeschränkung aktiviert lassen\".\n" "

" #: src/octoprint/templates/dialogs/firstrun.jinja2:22 @@ -1535,30 +1367,22 @@ msgstr "Passwörter nicht identisch" #: src/octoprint/templates/dialogs/firstrun.jinja2:41 msgid "" "

\n" -" Note: In case that your OctoPrint installation " -"is only accessible from within a trustworthy network and you don't\n" -" need Access Control for other reasons, you may alternatively " -"disable Access Control. You should only\n" -" do this if you are absolutely certain that only people you know " -"and trust will be able to connect to it.\n" +" Note: In case that your OctoPrint installation is only accessible from within a trustworthy network and you don't\n" +" need Access Control for other reasons, you may alternatively disable Access Control. You should only\n" +" do this if you are absolutely certain that only people you know and trust will be able to connect to it.\n" "

\n" "

\n" -" Do NOT underestimate the risk of an unsecured access " -"from the internet to your printer!\n" +" Do NOT underestimate the risk of an unsecured access from the internet to your printer!\n" "

" msgstr "" "

\n" -" Beachte: Falls Deine OctoPrint Installation " -"ausschließlich innerhalb eines vertrauenswürdigen Netzwerks\n" -" erreicht werden kann und Du die Zugangsbeschränkung nicht für andere " -"Zwecke benötigst, kannst Du sie alternativ auch\n" -" deaktivieren. Du solltest das nur tun, wenn Du Dir absolut sicher bist, " -"dass nur Leute darauf zugreifen können, die du kennst\n" +" Beachte: Falls Deine OctoPrint Installation ausschließlich innerhalb eines vertrauenswürdigen Netzwerks\n" +" erreicht werden kann und Du die Zugangsbeschränkung nicht für andere Zwecke benötigst, kannst Du sie alternativ auch\n" +" deaktivieren. Du solltest das nur tun, wenn Du Dir absolut sicher bist, dass nur Leute darauf zugreifen können, die du kennst\n" " und denen du vertraust\n" "

\n" "

\n" -" UNTERSCHÄTZE NICHT das Risiko eines ungesicherten Zugriffs aus " -"dem Internet auf Deinen Drucker!\n" +" UNTERSCHÄTZE NICHT das Risiko eines ungesicherten Zugriffs aus dem Internet auf Deinen Drucker!\n" "

" #: src/octoprint/templates/dialogs/firstrun.jinja2:51 @@ -1574,22 +1398,12 @@ msgid "OctoPrint Settings" msgstr "OctoPrint Einstellungen" #: src/octoprint/templates/dialogs/slicing.jinja2:8 -msgid "" -"Slicing is currently disabled since no slicer has been configured yet. " -"Please configure a slicer under \"Settings\"." -msgstr "" -"Slicing ist aktuell deaktiviert da noch kein Slicer konfiguriert wurde. " -"Bitte konfiguriere einen Slicer unter \"Settings\"." +msgid "Slicing is currently disabled since no slicer has been configured yet. Please configure a slicer under \"Settings\"." +msgstr "Slicing ist aktuell deaktiviert da noch kein Slicer konfiguriert wurde. Bitte konfiguriere einen Slicer unter \"Settings\"." #: src/octoprint/templates/dialogs/slicing.jinja2:11 -msgid "" -"Please configure which slicer and which slicing profile to use and name the " -"GCode file to slice to below, or click \"Cancel\" if you do not wish to " -"slice the file now." -msgstr "" -"Bitte wähle den zu nutzenden Slicer und das zu nutzende Slicerprofile und " -"wie die GCode Datei heißen soll, die erzeugt wird. Alternativ kannst du auch " -"auf \"Abbrechen\" klicken, wenn du die Datei jetzt nicht slicen willst." +msgid "Please configure which slicer and which slicing profile to use and name the GCode file to slice to below, or click \"Cancel\" if you do not wish to slice the file now." +msgstr "Bitte wähle den zu nutzenden Slicer und das zu nutzende Slicerprofile und wie die GCode Datei heißen soll, die erzeugt wird. Alternativ kannst du auch auf \"Abbrechen\" klicken, wenn du die Datei jetzt nicht slicen willst." #: src/octoprint/templates/dialogs/slicing.jinja2:14 msgid "Slicer" @@ -1722,23 +1536,16 @@ msgid "QR Code" msgstr "QR Code" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:2 -msgid "" -"Name of this OctoPrint instance, will be shown in the navigation bar and " -"broadcast on the network" -msgstr "" -"Name dieser OctoPrint-Instanz, wird in der Navigationsleiste angezeigt und " -"im Netzwerk announced." +msgid "Name of this OctoPrint instance, will be shown in the navigation bar and broadcast on the network" +msgstr "Name dieser OctoPrint-Instanz, wird in der Navigationsleiste angezeigt und im Netzwerk announced." #: src/octoprint/templates/dialogs/settings/appearance.jinja2:3 msgid "Title" msgstr "Titel" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:8 -msgid "" -"Personalize the color of the navigation bar - maybe to match your printer?" -msgstr "" -"Personalisiere die Farbe the Navigationsleiste - vielleicht um zum Drucker " -"zu passen?" +msgid "Personalize the color of the navigation bar - maybe to match your printer?" +msgstr "Personalisiere die Farbe the Navigationsleiste - vielleicht um zum Drucker zu passen?" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:9 #: src/octoprint/templates/dialogs/settings/printerprofiles.jinja2:64 @@ -1766,14 +1573,8 @@ msgid "Default Language" msgstr "Standardsprache" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:36 -msgid "" -"Changes to the default interface language will only become active after a " -"reload of the page and only be active if not overridden by the users " -"language settings." -msgstr "" -"Änderungen der Standardsprache werden erst nach einem Neuladen der Seite " -"aktiv, und nur dann, wenn sie nicht durch die Nutzereinstellungen " -"überschrieben sind." +msgid "Changes to the default interface language will only become active after a reload of the page and only be active if not overridden by the users language settings." +msgstr "Änderungen der Standardsprache werden erst nach einem Neuladen der Seite aktiv, und nur dann, wenn sie nicht durch die Nutzereinstellungen überschrieben sind." #: src/octoprint/templates/dialogs/settings/appearance.jinja2:44 msgid "Manage Language Packs..." @@ -1807,22 +1608,12 @@ msgid "Upload" msgstr "Upload" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:90 -msgid "" -"This does not look like a valid language pack. Valid language packs should " -"be either zip files or tarballs and have the extension \".zip\", \".tar.gz" -"\", \".tgz\" or \".tar\"" -msgstr "" -"Das sieht nicht aus wie ein valides Sprachpaket. Valide Sprachpakete sollten " -"entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip\", \"." -"tar.gz\", \".tgz\" oder \".tar\" haben" +msgid "This does not look like a valid language pack. Valid language packs should be either zip files or tarballs and have the extension \".zip\", \".tar.gz\", \".tgz\" or \".tar\"" +msgstr "Das sieht nicht aus wie ein valides Sprachpaket. Valide Sprachpakete sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip\", \".tar.gz\", \".tgz\" oder \".tar\" haben" #: src/octoprint/templates/dialogs/settings/appearance.jinja2:93 -msgid "" -"Please note that you will have to reload the page in order for any newly " -"added language packs to become available." -msgstr "" -"Bitte beachte, dass Du die Seite neuladen musst damit neu hinzugefügte " -"Sprachepakete verfügbar werden." +msgid "Please note that you will have to reload the page in order for any newly added language packs to become available." +msgstr "Bitte beachte, dass Du die Seite neuladen musst damit neu hinzugefügte Sprachepakete verfügbar werden." #: src/octoprint/templates/dialogs/settings/features.jinja2:5 msgid "Enable Temperature Graph" @@ -1861,12 +1652,8 @@ msgstr "Eine Prüfsumme mit jedem Kommando senden" #: src/octoprint/templates/dialogs/settings/features.jinja2:54 #, python-format -msgid "" -"Support TargetExtr%%n/TargetBed target temperature " -"format" -msgstr "" -"TargetExtr%%n/TargetBed Zieltemperaturformat " -"unterstützen" +msgid "Support TargetExtr%%n/TargetBed target temperature format" +msgstr "TargetExtr%%n/TargetBed Zieltemperaturformat unterstützen" #: src/octoprint/templates/dialogs/settings/features.jinja2:61 msgid "Disable detection of external heatups" @@ -1897,13 +1684,8 @@ msgid "Watched Folder" msgstr "Beobachtetes Verzeichnis" #: src/octoprint/templates/dialogs/settings/folders.jinja2:35 -msgid "" -"Actively poll the watched folder. Check this if files in your watched folder " -"aren't automatically added otherwise." -msgstr "" -"Aktives Pollen des beobachteten Verzeichnisses. Einschalten wenn Dateien in " -"Deinem beobachteten Verzeichnis hinzugefügt werden sonst nicht automatisch " -"hinzugefügt werden." +msgid "Actively poll the watched folder. Check this if files in your watched folder aren't automatically added otherwise." +msgstr "Aktives Pollen des beobachteten Verzeichnisses. Einschalten wenn Dateien in Deinem beobachteten Verzeichnis hinzugefügt werden sonst nicht automatisch hinzugefügt werden." #: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3 msgid "Before print job starts" @@ -2033,12 +1815,8 @@ msgid "Nozzle Offsets (relative to first nozzle T0)" msgstr "Düsenoffsets (relativ zur ersten Düse T0)" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:2 -msgid "" -"Serial port to connect to, setting this to AUTO will make OctoPrint try to " -"automatically find the right setting" -msgstr "" -"Serieller Port, mit der sich verbunden werden soll. Falls AUTO konfiguriert " -"ist wird OctoPrint versuchen, automatisch den richtigen Port zu finden." +msgid "Serial port to connect to, setting this to AUTO will make OctoPrint try to automatically find the right setting" +msgstr "Serieller Port, mit der sich verbunden werden soll. Falls AUTO konfiguriert ist wird OctoPrint versuchen, automatisch den richtigen Port zu finden." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:3 #: src/octoprint/templates/sidebar/connection.jinja2:1 @@ -2046,12 +1824,8 @@ msgid "Serial Port" msgstr "Serialport" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:8 -msgid "" -"Serial baud rate to connect with, setting this to AUTO will make OctoPrint " -"try to automatically find the right setting" -msgstr "" -"Baudrate mit der sich verbunden werden soll. Falls AUTO konfiguriert ist " -"wird OctoPrint versuchen, automatisch die richtige Baudrate zu finden." +msgid "Serial baud rate to connect with, setting this to AUTO will make OctoPrint try to automatically find the right setting" +msgstr "Baudrate mit der sich verbunden werden soll. Falls AUTO konfiguriert ist wird OctoPrint versuchen, automatisch die richtige Baudrate zu finden." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:9 #: src/octoprint/templates/sidebar/connection.jinja2:3 @@ -2059,78 +1833,48 @@ msgid "Baudrate" msgstr "Baudrate" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:14 -msgid "" -"Makes OctoPrint try to connect to the printer automatically during start up" -msgstr "" -"OctoPrint wird versuchen, sich beim Startup automatisch mit dem Drucker zu " -"verbinden" +msgid "Makes OctoPrint try to connect to the printer automatically during start up" +msgstr "OctoPrint wird versuchen, sich beim Startup automatisch mit dem Drucker zu verbinden" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:17 msgid "Auto-connect to printer on server start" msgstr "Automatisch bei Serverstart verbinden" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:21 -msgid "" -"Interval in which to poll for the temperature information from the printer " -"while printing" -msgstr "" -"Intervall in welchem die Temperaturdaten vom Drucker während des Druckens " -"abgerufen werden sollen" +msgid "Interval in which to poll for the temperature information from the printer while printing" +msgstr "Intervall in welchem die Temperaturdaten vom Drucker während des Druckens abgerufen werden sollen" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:22 msgid "Temperature interval" msgstr "Temperaturintervall" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:30 -msgid "" -"Interval in which to poll for the SD printing status information from the " -"printer while printing" -msgstr "" -"Intervall in welchem die SD-Statusdaten vom Drucker während des Druckens " -"abgerufen werden sollen" +msgid "Interval in which to poll for the SD printing status information from the printer while printing" +msgstr "Intervall in welchem die SD-Statusdaten vom Drucker während des Druckens abgerufen werden sollen" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:31 msgid "SD status interval" msgstr "SD-Status-Intervall" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:39 -msgid "" -"Time after which the communication with your printer will be considered " -"timed out if nothing was sent by your printer (and an attempt to get it " -"talking again will be done). Increase this if your printer takes longer than " -"this for some moves. This is also the interval in which the temperature will " -"be polled from the printer while not printing." -msgstr "" -"Zeit nach der OctoPrint davon ausgehen wird, dass die Kommunikation mit " -"deinem Drucker unterbrochen wurde falls Dein Drucker keine Daten sendet. " -"OctoPrint wird dann einen Versuch unternehmen, die Kommunikation wieder zu " -"reetablieren. Erhöhe diesen Wert falls Dein Drucker für manche Bewegungen " -"länger braucht. Das ist ebenfalls das Intervall in welchem die " -"Temperaturdaten vom Drucker abgerufen werden wenn gerade kein Druckjob läuft." +msgid "Time after which the communication with your printer will be considered timed out if nothing was sent by your printer (and an attempt to get it talking again will be done). Increase this if your printer takes longer than this for some moves. This is also the interval in which the temperature will be polled from the printer while not printing." +msgstr "Zeit nach der OctoPrint davon ausgehen wird, dass die Kommunikation mit deinem Drucker unterbrochen wurde falls Dein Drucker keine Daten sendet. OctoPrint wird dann einen Versuch unternehmen, die Kommunikation wieder zu reetablieren. Erhöhe diesen Wert falls Dein Drucker für manche Bewegungen länger braucht. Das ist ebenfalls das Intervall in welchem die Temperaturdaten vom Drucker abgerufen werden wenn gerade kein Druckjob läuft." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:40 msgid "Communication timeout" msgstr "Kommunikationstimeout" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:48 -msgid "" -"Time after which a connection attempt to the printer will be considered as " -"having failed" -msgstr "" -"Zeit nach der ein unbeantworteter Verbindungsversuch als gescheitert " -"angenommen wird" +msgid "Time after which a connection attempt to the printer will be considered as having failed" +msgstr "Zeit nach der ein unbeantworteter Verbindungsversuch als gescheitert angenommen wird" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:49 msgid "Connection timeout" msgstr "Verbindungstimeout" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:57 -msgid "" -"Time after which to consider an auto detection attempt to have failed if no " -"successful connection is detected" -msgstr "" -"Zeit nach der ein unbeantworteter Autodetektierungsversuch als gescheitert " -"angenommen wird" +msgid "Time after which to consider an auto detection attempt to have failed if no successful connection is detected" +msgstr "Zeit nach der ein unbeantworteter Autodetektierungsversuch als gescheitert angenommen wird" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:58 msgid "Autodetection timeout" @@ -2138,9 +1882,7 @@ msgstr "Autodetectiontimeout" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:69 msgid "Log communication to serial.log (might negatively impact performance)" -msgstr "" -"Logge die Kommunikation in das serial.log (kann die Performance negativ " -"beeinflussen)" +msgstr "Logge die Kommunikation in das serial.log (kann die Performance negativ beeinflussen)" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:69 #: src/octoprint/templates/tabs/gcodeviewer.jinja2:62 @@ -2152,15 +1894,8 @@ msgid "Long running commands" msgstr "Lang laufende Befehle" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:77 -msgid "" -"Use this to specify the commands known to take a long time to complete " -"without output from your printer and hence might cause timeout issues. Just " -"the G or M code, comma separated." -msgstr "" -"Nutze diese Option, um solche Befehle zu definieren, von denen Du weißt, " -"dass sie eine längere Zeit lang laufen, währenddessen keinen Output " -"produzieren und daher Timeoutprobleme verursachen könnten. Nur den G- oder M-" -"Code, kommasepariert." +msgid "Use this to specify the commands known to take a long time to complete without output from your printer and hence might cause timeout issues. Just the G or M code, comma separated." +msgstr "Nutze diese Option, um solche Befehle zu definieren, von denen Du weißt, dass sie eine längere Zeit lang laufen, währenddessen keinen Output produzieren und daher Timeoutprobleme verursachen könnten. Nur den G- oder M-Code, kommasepariert." #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:81 msgid "Additional serial ports" @@ -2168,14 +1903,8 @@ msgstr "Zusätzliche serielle Ports" #: src/octoprint/templates/dialogs/settings/serialconnection.jinja2:84 #, python-format -msgid "" -"Use this to define additional glob patterns " -"matching serial ports to list for connecting against, e.g. /dev/" -"ttyAMA*. One entry per line." -msgstr "" -"Nutze diese Einstellung um zusätzliche glob " -"patterns zu konfigurieren, die auf serielle Ports deines Druckers " -"matchen, z.B. /dev/ttyAMA*. Ein Eintrag pro Zeile." +msgid "Use this to define additional glob patterns matching serial ports to list for connecting against, e.g. /dev/ttyAMA*. One entry per line." +msgstr "Nutze diese Einstellung um zusätzliche glob patterns zu konfigurieren, die auf serielle Ports deines Druckers matchen, z.B. /dev/ttyAMA*. Ein Eintrag pro Zeile." #: src/octoprint/templates/dialogs/settings/temperatures.jinja2:2 msgid "Temperature Graph" @@ -2203,9 +1932,7 @@ msgstr "RegExp" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:2 msgid "URL to embed into the UI for live viewing of the webcam stream" -msgstr "" -"URL, die in die Oberfläche zum Betrachten des Webcamstreams eingebunden " -"werden soll" +msgstr "URL, die in die Oberfläche zum Betrachten des Webcamstreams eingebunden werden soll" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:3 msgid "Stream URL" @@ -2213,9 +1940,7 @@ msgstr "Stream-URL" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:8 msgid "URL to use for retrieving webcam snapshot images for timelapse creation" -msgstr "" -"URL, die genutzt werden soll, um Einzelaufnahmen für die " -"Zeitraffererstellung abzurufen" +msgstr "URL, die genutzt werden soll, um Einzelaufnahmen für die Zeitraffererstellung abzurufen" #: src/octoprint/templates/dialogs/settings/webcam.jinja2:9 msgid "Snapshot URL" @@ -2262,23 +1987,16 @@ msgid "Rotate webcam 90 degrees counter clockwise" msgstr "Webcam um 90° gegen den Uhrzeigersinn rotieren" #: src/octoprint/templates/dialogs/usersettings/access.jinja2:5 -msgid "" -"If you do not wish to change your password, just leave the following fields " -"empty." -msgstr "" -"Falls Du Dein Passwort nicht ändern willst, lass die folgenden Felder leer." +msgid "If you do not wish to change your password, just leave the following fields empty." +msgstr "Falls Du Dein Passwort nicht ändern willst, lass die folgenden Felder leer." #: src/octoprint/templates/dialogs/usersettings/interface.jinja2:3 msgid "Language" msgstr "Sprache" #: src/octoprint/templates/dialogs/usersettings/interface.jinja2:11 -msgid "" -"Changes to the interface language will only become active after a reload of " -"the page." -msgstr "" -"Änderungen der Oberflächensprache werden erst nach einem Neuladen der Seite " -"aktiv." +msgid "Changes to the interface language will only become active after a reload of the page." +msgstr "Änderungen der Oberflächensprache werden erst nach einem Neuladen der Seite aktiv." #: src/octoprint/templates/navbar/login.jinja2:11 msgid "Remember me" @@ -2318,14 +2036,8 @@ msgid "Please reload" msgstr "Bitte die Seite neu laden" #: src/octoprint/templates/overlays/reloadui.jinja2:7 -msgid "" -"There is a new version of the server active now, a reload of the user " -"interface is needed. This will not interrupt any print jobs you might have " -"ongoing. Please reload the web interface now by clicking the button below." -msgstr "" -"Die Serverversion hat sich geändert, ein Neuladen des Webinterfaces ist " -"notwendig. Das hat keinen Einfluss auf deine evtl. laufenden Printjobs. " -"Bitte lade das Webinterface jetzt neu, indem du auf den Button unten klickst." +msgid "There is a new version of the server active now, a reload of the user interface is needed. This will not interrupt any print jobs you might have ongoing. Please reload the web interface now by clicking the button below." +msgstr "Die Serverversion hat sich geändert, ein Neuladen des Webinterfaces ist notwendig. Das hat keinen Einfluss auf deine evtl. laufenden Printjobs. Bitte lade das Webinterface jetzt neu, indem du auf den Button unten klickst." #: src/octoprint/templates/sidebar/connection.jinja2:8 msgid "Save connection settings" @@ -2364,8 +2076,7 @@ msgstr "Frei" #: src/octoprint/templates/sidebar/files.jinja2:64 msgid "Hint: You can also drag and drop files on this page to upload them." -msgstr "" -"Hinweis: Du kannst auch Dateien auf diese Seite ziehen um sie hochzuladen." +msgstr "Hinweis: Du kannst auch Dateien auf diese Seite ziehen um sie hochzuladen." #: src/octoprint/templates/sidebar/files_header.jinja2:6 msgid "Sort by name" @@ -2488,11 +2199,8 @@ msgid "Stepsize" msgstr "Schrittgröße" #: src/octoprint/templates/tabs/control.jinja2:23 -msgid "" -"Hint: If you move your mouse over the picture, you enter keyboard control " -"mode." -msgstr "" -"Hinweis: Bewegen der Maus über das Bild aktiviert die Tastatursteuerung" +msgid "Hint: If you move your mouse over the picture, you enter keyboard control mode." +msgstr "Hinweis: Bewegen der Maus über das Bild aktiviert die Tastatursteuerung" #: src/octoprint/templates/tabs/control.jinja2:69 msgid "Feed rate:" @@ -2569,12 +2277,9 @@ msgstr "Neu laden" #: src/octoprint/templates/tabs/gcodeviewer.jinja2:63 msgid "" "

\n" -" You've selected for printing which has a size of\n" -" . Depending on your machine this\n" -" might be too large for rendering and cause your browser to become " -"unresponsive or crash.\n" +" You've selected for printing which has a size of\n" +" . Depending on your machine this\n" +" might be too large for rendering and cause your browser to become unresponsive or crash.\n" "

\n" "\n" "

\n" @@ -2582,13 +2287,9 @@ msgid "" "

" msgstr "" "

\n" -" Du hast zum " -"Drucken ausgewählt das\n" -" groß ist. Abhängig von Deinem\n" -" System könnte das zu groß zum Rendern sein und Deinen Browser zum " -"Absturz bringen. might be too large for rendering and cause your " -"browser to become unresponsive or crash.\n" +" Du hast zum Drucken ausgewählt das\n" +" groß ist. Abhängig von Deinem\n" +" System könnte das zu groß zum Rendern sein und Deinen Browser zum Absturz bringen. might be too large for rendering and cause your browser to become unresponsive or crash.\n" "

\n" "\n" "

\n" @@ -2632,30 +2333,15 @@ msgstr "Senden" #: src/octoprint/templates/tabs/terminal.jinja2:20 msgid "Hint: Use the arrow up/down keys to recall commands sent previously" -msgstr "" -"Hinweis: Nutze die Pfeil hoch/runter Tasten um vorher versandte Kommandos " -"wiederaufzurufen " +msgstr "Hinweis: Nutze die Pfeil hoch/runter Tasten um vorher versandte Kommandos wiederaufzurufen " #: src/octoprint/templates/tabs/terminal.jinja2:27 msgid "Fake Acknowledgement" msgstr "Bestätigung faken" #: src/octoprint/templates/tabs/terminal.jinja2:28 -msgid "" -"If acknowledgements (\"ok\"s) sent by the firmware get lost due to issues " -"with the serial communication to your printer, OctoPrint's communication " -"with it can become stuck. If that happens, this can help. Please be advised " -"that such occurences hint at general communication issues with your printer " -"which will probably negatively influence your printing results and which you " -"should therefore try to resolve!" -msgstr "" -"Falls Bestätigungen (\"ok\"s) Deiner Firmware aufgrund von " -"Kommunikationsproblemen mit Deinem Drucker verloren gehen, kann die " -"Kommunikation zwischen OctoPrint und Deinem Drucker zum Stillstand kommen. " -"Falls das passiert, kann das hier helfen. Bitte bedenke, dass solche " -"Vorfälle ein Hinweis auf ein generelles Kommunikationsproblem mit Deinem " -"Drucker hindeuten, das wahrscheinlich Deine Druckergebnisse negativ " -"beeinflusst und dass du daher versuchen solltest, zu beseitigen!" +msgid "If acknowledgements (\"ok\"s) sent by the firmware get lost due to issues with the serial communication to your printer, OctoPrint's communication with it can become stuck. If that happens, this can help. Please be advised that such occurences hint at general communication issues with your printer which will probably negatively influence your printing results and which you should therefore try to resolve!" +msgstr "Falls Bestätigungen (\"ok\"s) Deiner Firmware aufgrund von Kommunikationsproblemen mit Deinem Drucker verloren gehen, kann die Kommunikation zwischen OctoPrint und Deinem Drucker zum Stillstand kommen. Falls das passiert, kann das hier helfen. Bitte bedenke, dass solche Vorfälle ein Hinweis auf ein generelles Kommunikationsproblem mit Deinem Drucker hindeuten, das wahrscheinlich Deine Druckergebnisse negativ beeinflusst und dass du daher versuchen solltest, zu beseitigen!" #: src/octoprint/templates/tabs/timelapse.jinja2:2 msgid "Timelapse Configuration" @@ -2740,7 +2426,7 @@ msgstr "Erstellungsdatum" #~ msgstr "Online:" #~ msgid "" -#~ "Use --process-dependency-links with pip install" #~ msgstr "" -#~ "Übergebe --process-dependency-links an pip install" + +#~ msgid "Updating, please wait." +#~ msgstr "Aktualisiere gerade, bitte warten." diff --git a/translations/messages.pot b/translations/messages.pot index 17b17e52d..67870ed3e 100644 --- a/translations/messages.pot +++ b/translations/messages.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: OctoPrint 1.3.0-dev-30-gf2df174-dirty\n" +"Project-Id-Version: OctoPrint 1.2.3-dev-17-g6f7b941\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2015-07-06 08:36+0200\n" +"POT-Creation-Date: 2015-07-07 18:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,10 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" +#: src/octoprint/plugins/cura/__init__.py:43 +msgid "CuraEngine" +msgstr "" + #: src/octoprint/plugins/cura/templates/cura_settings.jinja2:1 #: src/octoprint/templates/tabs/control.jinja2:98 msgid "General" @@ -489,7 +493,11 @@ msgid "" "\".tar.gz\", \".tgz\" or \".tar\"" msgstr "" -#: src/octoprint/plugins/softwareupdate/__init__.py:588 +#: src/octoprint/plugins/softwareupdate/__init__.py:315 +msgid "Software Update" +msgstr "" + +#: src/octoprint/plugins/softwareupdate/__init__.py:589 #: src/octoprint/server/views.py:146 #: src/octoprint/static/js/app/viewmodels/appearance.js:11 #: src/octoprint/static/js/app/viewmodels/appearance.js:13 @@ -518,8 +526,8 @@ msgstr "" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:147 msgid "" -"You can make this message display again via \"Settings\" > " -"\"SoftwareUpdate\" > \"Check for update now\"" +"You can make this message display again via \"Settings\" > \"Software " +"Update\" > \"Check for update now\"" msgstr "" #: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151 @@ -1119,44 +1127,44 @@ msgid "Error" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:96 -#: src/octoprint/static/js/app/viewmodels/settings.js:52 -#: src/octoprint/static/js/app/viewmodels/settings.js:82 +#: src/octoprint/static/js/app/viewmodels/settings.js:53 +#: src/octoprint/static/js/app/viewmodels/settings.js:83 msgid "default" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:97 -#: src/octoprint/static/js/app/viewmodels/settings.js:53 -#: src/octoprint/static/js/app/viewmodels/settings.js:66 +#: src/octoprint/static/js/app/viewmodels/settings.js:54 +#: src/octoprint/static/js/app/viewmodels/settings.js:67 msgid "red" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:98 -#: src/octoprint/static/js/app/viewmodels/settings.js:54 -#: src/octoprint/static/js/app/viewmodels/settings.js:68 +#: src/octoprint/static/js/app/viewmodels/settings.js:55 +#: src/octoprint/static/js/app/viewmodels/settings.js:69 msgid "orange" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:99 -#: src/octoprint/static/js/app/viewmodels/settings.js:55 -#: src/octoprint/static/js/app/viewmodels/settings.js:70 +#: src/octoprint/static/js/app/viewmodels/settings.js:56 +#: src/octoprint/static/js/app/viewmodels/settings.js:71 msgid "yellow" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:100 -#: src/octoprint/static/js/app/viewmodels/settings.js:56 -#: src/octoprint/static/js/app/viewmodels/settings.js:72 +#: src/octoprint/static/js/app/viewmodels/settings.js:57 +#: src/octoprint/static/js/app/viewmodels/settings.js:73 msgid "green" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:101 -#: src/octoprint/static/js/app/viewmodels/settings.js:57 -#: src/octoprint/static/js/app/viewmodels/settings.js:74 +#: src/octoprint/static/js/app/viewmodels/settings.js:58 +#: src/octoprint/static/js/app/viewmodels/settings.js:75 msgid "blue" msgstr "" #: src/octoprint/static/js/app/viewmodels/printerprofiles.js:102 -#: src/octoprint/static/js/app/viewmodels/settings.js:59 -#: src/octoprint/static/js/app/viewmodels/settings.js:78 +#: src/octoprint/static/js/app/viewmodels/settings.js:60 +#: src/octoprint/static/js/app/viewmodels/settings.js:79 msgid "black" msgstr "" @@ -1262,17 +1270,17 @@ msgstr "" msgid "This will restart the print job from the beginning." msgstr "" -#: src/octoprint/static/js/app/viewmodels/settings.js:58 -#: src/octoprint/static/js/app/viewmodels/settings.js:76 +#: src/octoprint/static/js/app/viewmodels/settings.js:59 +#: src/octoprint/static/js/app/viewmodels/settings.js:77 msgid "violet" msgstr "" -#: src/octoprint/static/js/app/viewmodels/settings.js:60 -#: src/octoprint/static/js/app/viewmodels/settings.js:80 +#: src/octoprint/static/js/app/viewmodels/settings.js:61 +#: src/octoprint/static/js/app/viewmodels/settings.js:81 msgid "white" msgstr "" -#: src/octoprint/static/js/app/viewmodels/settings.js:88 +#: src/octoprint/static/js/app/viewmodels/settings.js:89 msgid "Autodetect from browser" msgstr "" From 97826b2f3b7edf4196395fac310d6061cfa3725d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 8 Jul 2015 16:26:08 +0200 Subject: [PATCH 17/22] Fix: More resilience against missing plugin assets Two changes: * Asset existence will now be checked before they get included in the assets to bundle by webassets, logging a warning if a file isn't present. * Monkey-patched webassets filter chain to not die when a file doesn't exist, but to log an error instead and just return an empty file instead. (cherry picked from commit 2a5ec33) --- src/octoprint/server/__init__.py | 4 +++ src/octoprint/server/util/flask.py | 44 ++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py index 7839a9bd7..b99358f4c 100644 --- a/src/octoprint/server/__init__.py +++ b/src/octoprint/server/__init__.py @@ -544,6 +544,9 @@ def _setup_logging(self, debug, logConf=None): }, "tornado.general": { "level": "INFO" + }, + "octoprint.server.util.flask": { + "level": "WARN" } }, "root": { @@ -712,6 +715,7 @@ def _setup_assets(self): global pluginManager util.flask.fix_webassets_cache() + util.flask.fix_webassets_filtertool() base_folder = settings().getBaseFolder("generated") diff --git a/src/octoprint/server/util/flask.py b/src/octoprint/server/util/flask.py index 0f3d4a059..75f03d24e 100644 --- a/src/octoprint/server/util/flask.py +++ b/src/octoprint/server/util/flask.py @@ -19,6 +19,7 @@ import threading import logging import netaddr +import os from octoprint.settings import settings import octoprint.server @@ -174,6 +175,34 @@ def fixed_get(self, key): cache.FilesystemCache.set = fixed_set cache.FilesystemCache.get = fixed_get +def fix_webassets_filtertool(): + from webassets.merge import FilterTool, log, MemoryHunk + + error_logger = logging.getLogger(__name__ + ".fix_webassets_filtertool") + + def fixed_wrap_cache(self, key, func): + """Return cache value ``key``, or run ``func``. + """ + if self.cache: + if not self.no_cache_read: + log.debug('Checking cache for key %s', key) + content = self.cache.get(key) + if not content in (False, None): + log.debug('Using cached result for %s', key) + return MemoryHunk(content) + + try: + content = func().getvalue() + if self.cache: + log.debug('Storing result in cache with key %s', key,) + self.cache.set(key, content) + return MemoryHunk(content) + except: + error_logger.exception("Got an exception while trying to apply filter, ignoring file") + return MemoryHunk("") + + FilterTool._wrap_cache = fixed_wrap_cache + #~~ passive login helper def passive_login(): @@ -535,6 +564,8 @@ def build_done(self, bundle, ctx): ##~~ plugin assets collector def collect_plugin_assets(enable_gcodeviewer=True, enable_timelapse=True, preferred_stylesheet="css"): + logger = logging.getLogger(__name__ + ".collect_plugin_assets") + supported_stylesheets = ("css", "less") assets = dict( js=[], @@ -578,13 +609,24 @@ def collect_plugin_assets(enable_gcodeviewer=True, enable_timelapse=True, prefer for implementation in asset_plugins: name = implementation._identifier all_assets = implementation.get_assets() + basefolder = implementation.get_asset_folder() + + def asset_exists(category, asset): + exists = os.path.exists(os.path.join(basefolder, asset)) + if not exists: + logger.warn("Plugin {} is referring to non existing {} asset {}".format(name, category, asset)) + return exists if "js" in all_assets: for asset in all_assets["js"]: + if not asset_exists("js", asset): + continue assets["js"].append('plugin/{name}/{asset}'.format(**locals())) if preferred_stylesheet in all_assets: for asset in all_assets[preferred_stylesheet]: + if not asset_exists(preferred_stylesheet, asset): + continue assets[preferred_stylesheet].append('plugin/{name}/{asset}'.format(**locals())) else: for stylesheet in supported_stylesheets: @@ -592,6 +634,8 @@ def collect_plugin_assets(enable_gcodeviewer=True, enable_timelapse=True, prefer continue for asset in all_assets[stylesheet]: + if not asset_exists(stylesheet, asset): + continue assets[stylesheet].append('plugin/{name}/{asset}'.format(**locals())) break From 8d14ea6093a7fab65f840abbe66eb2b9cf239218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 8 Jul 2015 16:34:42 +0200 Subject: [PATCH 18/22] Rewrite urls in packed css and less files See also #962 (cherry picked from commit 7ea2ee2) --- src/octoprint/server/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py index b99358f4c..5430514a6 100644 --- a/src/octoprint/server/__init__.py +++ b/src/octoprint/server/__init__.py @@ -849,9 +849,9 @@ def input(self, _in, out, **kwargs): js_app_bundle = Bundle(*js_app, output="webassets/packed_app.js", filters="js_delimiter_bundler") css_libs_bundle = Bundle(*css_libs, output="webassets/packed_libs.css") - css_app_bundle = Bundle(*css_app, output="webassets/packed_app.css") + css_app_bundle = Bundle(*css_app, output="webassets/packed_app.css", filters="cssrewrite") - all_less_bundle = Bundle(*less_app, output="webassets/packed_app.less", filters="less_importrewrite") + all_less_bundle = Bundle(*less_app, output="webassets/packed_app.less", filters="cssrewrite, less_importrewrite") assets.register("js_libs", js_libs_bundle) assets.register("js_app", js_app_bundle) From abbf937e7f2ef0a6c9eef7e729c7069f3f56aec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 8 Jul 2015 17:22:18 +0200 Subject: [PATCH 19/22] Preparing release of 1.2.3 --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0c30fd64..31c9fac96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,37 @@ # OctoPrint Changelog +## 1.2.3 (2015-07-09) + +### Improvements + + * New option to actively poll the watched folder. This should make it work also + if it is mounted on a filesystem that doesn't allow getting notifications + about added files through notification by the operating system (e.g. + network shares). + * Better resilience against senseless temperature/SD-status-polling intervals + (such as 0). + * Log exceptions during writing to the serial port to `octoprint.log`. + +### Bug Fixes + + * [#961](https://github.com/foosel/OctoPrint/pull/961) - Fixed a JavaScript error that caused an error to be logged when "enter" was pressed in file or plugin search. + * [#962](https://github.com/foosel/OctoPrint/pull/962) - ``url(...)``s in packed CSS and LESS files should now be rewritten properly too to refer to correct paths + * Update notifications were not vanishing properly after updating: + * Only use version cache for update notifications if the OctoPrint version still is the same to make sure the cache gets invalidated after an external update of OctoPrint. + * Do not persist version information when saving settings of the Software Update plugin + * Always delete files from the ``watched`` folder after importing then. Using file preprocessor plugins could lead to the files staying there. + * Fixed an encoding problem causing OctoPrint's Plugin Manager and Software Update plugins to choke on UTF-8 characters in the update output. + * Fixed sorting by file size in file list + * More resilience against missing plugin assets: + * Asset existence will now be checked before they get included + in the assets to bundle by webassets, logging a warning if a + file isn't present. + * Monkey-patched webassets filter chain to not die when a file + doesn't exist, but to log an error instead and just return + an empty file instead. + +([Commits](https://github.com/foosel/OctoPrint/compare/1.2.2...1.2.3)) + ## 1.2.2 (2015-06-30) ### Bug Fixes From 677e583345a0b1abde3eccb5b23ff10b487f1fef Mon Sep 17 00:00:00 2001 From: Mark Walker Date: Tue, 7 Jul 2015 23:24:27 +0200 Subject: [PATCH 20/22] pluginmanager: case handling and submit binding - Convert query term to lower case so that it is case insensitive both ways - Knockout submit binding takes the form element as parameter and return value determines whether the form submit occurs. See http://knockoutjs.com/documentation/submit-binding.html (cherry picked from commit 4a2cc53) --- .../plugins/pluginmanager/static/js/pluginmanager.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js b/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js index 8d0fb4177..49fb4feec 100644 --- a/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js +++ b/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js @@ -147,19 +147,17 @@ $(function() { } }); - self.performRepositorySearch = function(e) { - if (e !== undefined) { - e.preventDefault(); - } - + self.performRepositorySearch = function(formElement) { var query = self.repositorySearchQuery(); if (query !== undefined && query.trim() != "") { + query = query.toLocaleLowerCase() self.repositoryplugins.changeSearchFunction(function(entry) { return entry && (entry["title"].toLocaleLowerCase().indexOf(query) > -1 || entry["description"].toLocaleLowerCase().indexOf(query) > -1); }); } else { self.repositoryplugins.resetSearch(); } + return false; }; self.fromResponse = function(data) { From e62cef590be9c3a8ae40a6db185a1e0aab717536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 8 Jul 2015 08:45:10 +0200 Subject: [PATCH 21/22] Fixed preventDefault issues also for files search (cherry picked from commit 4894c6e) --- src/octoprint/static/js/app/viewmodels/files.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/octoprint/static/js/app/viewmodels/files.js b/src/octoprint/static/js/app/viewmodels/files.js index f87f9879e..60e700ccb 100644 --- a/src/octoprint/static/js/app/viewmodels/files.js +++ b/src/octoprint/static/js/app/viewmodels/files.js @@ -309,18 +309,17 @@ $(function() { }; self.performSearch = function(e) { - if (e !== undefined) { - e.preventDefault(); - } - var query = self.searchQuery(); if (query !== undefined && query.trim() != "") { + query = query.toLocaleLowerCase(); self.listHelper.changeSearchFunction(function(entry) { return entry && entry["name"].toLocaleLowerCase().indexOf(query) > -1; }); } else { self.listHelper.resetSearch(); } + + return false; }; self.onDataUpdaterReconnect = function() { From 3761995aff94acf32495556730f133a1626245b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 8 Jul 2015 08:45:36 +0200 Subject: [PATCH 22/22] Removed unneeded parameter and added missing semicolon (cherry picked from commit 29b3b62) --- .../plugins/pluginmanager/static/js/pluginmanager.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js b/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js index 49fb4feec..eba85fade 100644 --- a/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js +++ b/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js @@ -147,10 +147,10 @@ $(function() { } }); - self.performRepositorySearch = function(formElement) { + self.performRepositorySearch = function() { var query = self.repositorySearchQuery(); if (query !== undefined && query.trim() != "") { - query = query.toLocaleLowerCase() + query = query.toLocaleLowerCase(); self.repositoryplugins.changeSearchFunction(function(entry) { return entry && (entry["title"].toLocaleLowerCase().indexOf(query) > -1 || entry["description"].toLocaleLowerCase().indexOf(query) > -1); });