Merge branch 'master' into devel

This commit is contained in:
Gina Häußge 2015-06-22 13:19:49 +02:00
commit f00248bc4d
24 changed files with 1087 additions and 644 deletions

View file

@ -216,6 +216,10 @@ Progress information
File related
============
.. todo::
Update to reflect enhanced data now available.
.. _sec-api-datamodel-files-file:
File information
@ -233,10 +237,51 @@ File information
- 1
- String
- The name of the file
* - ``type``
- 1
- String
- Type of file. ``model`` or ``machinecode``. Or ``folder`` if it's a folder, in which case the ``children``
node will be populated
Additional properties depend on ``type``. For a ``type`` value of ``folder``, see "Folders". For any other value
see "Files".
Folders
'''''''
.. list-table::
:widths: 15 5 10 30
:header-rows: 1
* - Name
- Multiplicity
- Type
- Description
* - ``children``
- 0..*
- Array of :ref:`File information items <sec-api-datamodel-files-file>`
- Contained children for entries of type ``folder``
Files
'''''
.. list-table::
:widths: 15 5 10 30
:header-rows: 1
* - Name
- Multiplicity
- Type
- Description
* - ``hash``
- 1
- String
- MD5 hash of the file
* - ``size``
- 0..1
- Number
- The size of the file in bytes. Only available for ``local`` files.
- The size of the file in bytes. Only available for ``local`` files or ``sdcard`` files if the printer
supports file sizes for sd card files.
* - ``date``
- 0..1
- Unix timestamp
@ -254,10 +299,6 @@ File information
- 0..1
- :ref:`GCODE analysis information <sec-api-datamodel-files-gcodeanalysis>`
- Information from the analysis of the GCODE file, if available. Left out in abridged version.
* - ``prints``
- 0..1
- :ref:`Print history <sec-api-datamodel-files-prints>`
- Information regarding prints of this file, if available. Left out in abridged version.
.. _sec-api-datamodel-files-gcodeanalysis:
@ -290,40 +331,6 @@ GCODE analysis information
- The volume of filament used, in cm³
.. _sec-api-datamodel-files-prints:
Print history
-------------
.. list-table::
:widths: 15 5 10 30
:header-rows: 1
* - Name
- Multiplicity
- Type
- Description
* - ``failure``
- 1
- Number
- The number of failed prints on record for the file
* - ``success``
- 1
- Number
- The number of successful prints on record for the file
* - ``last``
- 0..1
- Object
- Information regarding the last print on record for the file
* - ``last.date``
- 1
- Unix timestamp
- Timestamp when this file was printed last
* - ``last.success``
- 1
- Boolean
- Whether the last print on record was a success (``true``) or not (``false``)
.. _sec-api-datamodel-files-ref:
References

View file

@ -11,6 +11,7 @@ import Queue as queue
import os
import threading
import collections
import time
from octoprint.events import Events, eventManager
@ -100,6 +101,9 @@ class AbstractAnalysisQueue(object):
.. automethod:: _do_abort
"""
LOW_PRIO = 0
HIGH_PRIO = 100
def __init__(self, finished_callback):
self._logger = logging.getLogger(__name__)
@ -133,10 +137,10 @@ class AbstractAnalysisQueue(object):
if high_priority:
self._logger.debug("Adding entry {entry} to analysis queue with high priority".format(entry=entry))
prio = 0
prio = self.__class__.HIGH_PRIO
else:
self._logger.debug("Adding entry {entry} to analysis queue with low priority".format(entry=entry))
prio = 100
prio = self.__class__.LOW_PRIO
self._queue.put((prio, entry))
@ -173,13 +177,15 @@ class AbstractAnalysisQueue(object):
self._active.wait()
try:
self._analyze(entry)
self._analyze(entry, high_priority=(priority == self.__class__.HIGH_PRIO))
self._queue.task_done()
except gcodeInterpreter.AnalysisAborted:
aborted = entry
self._logger.debug("Running analysis of entry {entry} aborted".format(**locals()))
else:
time.sleep(1.0)
def _analyze(self, entry):
def _analyze(self, entry, high_priority=False):
path = entry.absolute_path
if path is None or not os.path.exists(path):
return
@ -188,20 +194,26 @@ class AbstractAnalysisQueue(object):
self._current_progress = 0
try:
self._logger.debug("Starting analysis of {entry}".format(**locals()))
self._logger.info("Starting analysis of {entry}".format(**locals()))
eventManager().fire(Events.METADATA_ANALYSIS_STARTED, {"file": entry.path, "type": entry.type})
result = self._do_analysis()
try:
result = self._do_analysis(high_priority=high_priority)
except TypeError:
result = self._do_analysis()
self._logger.debug("Analysis of entry {entry} finished, notifying callback".format(**locals()))
self._finished_callback(self._current, result)
finally:
self._current = None
self._current_progress = None
def _do_analysis(self):
def _do_analysis(self, high_priority=False):
"""
Performs the actual analysis of the current entry which can be accessed via ``self._current``. Needs to be
overridden by sub classes.
Arguments:
high_priority (bool): Whether the current entry has high priority or not.
Returns:
object: The result of the analysis which will be forwarded to the ``finished_callback`` provided during
construction.
@ -235,10 +247,17 @@ class GcodeAnalysisQueue(AbstractAnalysisQueue):
* The extruded volume in cm³
"""
def _do_analysis(self):
def _do_analysis(self, high_priority=False):
try:
def throttle():
time.sleep(0.01)
throttle_callback = throttle
if high_priority:
throttle_callback = None
self._gcode = gcodeInterpreter.gcode()
self._gcode.load(self._current.absolute_path, self._current.printer_profile)
self._gcode.load(self._current.absolute_path, self._current.printer_profile, throttle=throttle_callback)
result = dict()
if self._gcode.totalMoveTimeMinute:
@ -256,4 +275,4 @@ class GcodeAnalysisQueue(AbstractAnalysisQueue):
def _do_abort(self):
if self._gcode:
self._gcode.abort()
self._gcode.abort()

View file

@ -426,6 +426,17 @@ class PluginSettings(object):
filename += ".log"
return os.path.join(self.settings.getBaseFolder("logs"), filename)
def get_plugin_data_folder(self):
"""
Retrieves the path to a data folder specifically for the plugin.
Plugins may use this for storing additional data.
"""
path = os.path.join(self.settings.getBaseFolder("data"), self.plugin_key)
if not os.path.isdir(path):
os.makedirs(path)
return path
def __getattr__(self, item):
all_access_methods = self.access_methods.keys() + self.deprecated_access_methods.keys()
if item in all_access_methods:

View file

@ -853,9 +853,9 @@ class SettingsPlugin(OctoPrintPlugin):
Your plugin's implementation should take care of migrating any data by utilizing self._settings. OctoPrint
will take care of saving any changes to disk by calling `self._settings.save()` after returning from this method.
This method will be called before your plugin's :func:`initialize` method, but with all injections already
having taken place. You can therefore depend on the configuration having been migrated by the time :func:`initialize`
is called.
This method will be called before your plugin's :func:`on_settings_initialized` method, with all injections already
having taken place. You can therefore depend on the configuration having been migrated by the time
:func:`on_settings_initialized` is called.
Arguments:
target (int): The settings format version the plugin requires, this should always be the same value as
@ -865,6 +865,15 @@ class SettingsPlugin(OctoPrintPlugin):
"""
pass
def on_settings_initialized(self):
"""
Called after the settings have been initialized and - if necessary - also been migrated through a call to
func:`on_settings_migrate`.
This method will always be called after the `initialize` method.
"""
pass
class EventHandlerPlugin(OctoPrintPlugin):
"""

View file

@ -21,6 +21,7 @@ import sarge
import sys
import requests
import re
import os
class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
octoprint.plugin.TemplatePlugin,
@ -37,9 +38,13 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
self._repository_available = False
self._repository_plugins = []
self._repository_cache_path = None
self._repository_cache_ttl = 0
def initialize(self):
self._console_logger = logging.getLogger("octoprint.plugins.pluginmanager.console")
self._repository_cache_path = os.path.join(self._settings.get_plugin_data_folder(), "plugins.json")
self._repository_cache_ttl = self._settings.get_int(["repository_ttl"]) * 60
##~~ StartupPlugin
@ -52,17 +57,22 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
self._console_logger.setLevel(logging.DEBUG)
self._console_logger.propagate = False
self._repository_available = self._refresh_repository()
self._repository_available = self._fetch_repository_from_disk()
##~~ SettingsPlugin
def get_settings_defaults(self):
return dict(
repository="http://plugins.octoprint.org/plugins.json",
repository_ttl=24*60,
pip=None,
dependency_links=False
)
def on_settings_save(self, data):
octoprint.plugin.SettingsPlugin.on_settings_save(self, data)
self._repository_cache_ttl = self._settings.get_int(["repository_ttl"]) * 60
##~~ AssetPlugin
def get_assets(self):
@ -241,12 +251,31 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
package_name = plugin.origin.package_name
package_version = plugin.origin.package_version
versioned_package = "{package_name}-{package_version}".format(**locals())
if package_name in installed or versioned_package in installed:
# exact match, we are done here
new_plugin_key = key
new_plugin = plugin
break
else:
# it might still be a version that got stripped by python's package resources, e.g. 1.4.5a0 => 1.4.5a
found = False
for inst in installed:
if inst.startswith(versioned_package):
found = True
break
if found:
new_plugin_key = key
new_plugin = plugin
break
else:
return make_response("Could not find plugin that was installed", 500)
self._logger.warn("The plugin was installed successfully, but couldn't be found afterwards to initialize properly during runtime. Please restart OctoPrint.")
result = dict(result=True, url=url, needs_restart=True, needs_refresh=True, was_reinstalled=False, plugin="unknown")
self._send_result_notification("install", result)
return jsonify(result)
self._plugin_manager.mark_plugin(new_plugin_key, uninstalled=False)
self._plugin_manager.reload_plugins()
@ -480,14 +509,48 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
elif plugin.enabled and plugin.key not in self._pending_disable:
self._pending_disable.add(plugin.key)
def _refresh_repository(self):
def _fetch_repository_from_disk(self):
repo_data = None
if os.path.isfile(self._repository_cache_path):
import time
mtime = os.path.getmtime(self._repository_cache_path)
if mtime + self._repository_cache_ttl >= time.time() > mtime:
try:
import json
with open(self._repository_cache_path) as f:
repo_data = json.load(f)
self._logger.info("Loaded plugin repository data from disk, was still valid")
except:
self._logger.exception("Error while loading repository data from {}".format(self._repository_cache_path))
return self._refresh_repository(repo_data=repo_data)
def _fetch_repository_from_url(self):
import requests
repository_url = self._settings.get(["repository"])
try:
r = requests.get(repository_url)
self._logger.info("Loaded plugin repository data from {}".format(repository_url))
except Exception as e:
self._logger.warn("Could not fetch plugins from repository at {repository_url}: {message}".format(repository_url=repository_url, message=str(e)))
return False
self._logger.exception("Could not fetch plugins from repository at {repository_url}: {message}".format(repository_url=repository_url, message=str(e)))
return None
repo_data = r.json()
try:
import json
with open(self._repository_cache_path, "w+b") as f:
json.dump(repo_data, f)
except Exception as e:
self._logger.exception("Error while saving repository data to {}: {}".format(self._repository_cache_path, str(e)))
return repo_data
def _refresh_repository(self, repo_data=None):
if repo_data is None:
repo_data = self._fetch_repository_from_url()
if repo_data is None:
return False
current_os = self._get_os()
octoprint_version = self._get_octoprint_version()
@ -520,7 +583,7 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
return result
self._repository_plugins = map(map_repository_entry, r.json())
self._repository_plugins = map(map_repository_entry, repo_data)
return True
def _get_os(self):

View file

@ -511,11 +511,22 @@ $(function() {
var name = "Unknown";
if (action == "install") {
var unknown = false;
if (data.hasOwnProperty("plugin")) {
name = data.plugin.name;
if (data.plugin == "unknown") {
unknown = true;
} else {
name = data.plugin.name;
}
}
if (data.was_reinstalled) {
if (unknown) {
titleSuccess = _.sprintf(gettext("Plugin installed"));
textSuccess = gettext("A plugin was installed successfully, however it was impossible to detect which one. Please Restart OctoPrint to make sure everything will be registered properly");
textRestart = textSuccess;
textReload = textSuccess;
} else if (data.was_reinstalled) {
titleSuccess = _.sprintf(gettext("Plugin \"%(name)s\" reinstalled"), {name: name});
textSuccess = gettext("The plugin was reinstalled successfully");
textRestart = gettext("The plugin was reinstalled successfully, however a restart of OctoPrint is needed for that to take effect.");

View file

@ -37,9 +37,13 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
self._version_cache = dict()
self._version_cache_ttl = 0
self._version_cache_path = None
self._version_cache_dirty = False
def initialize(self):
self._version_cache_ttl = self._settings.get_int(["cache_ttl"]) * 60
self._version_cache_path = os.path.join(self._settings.get_plugin_data_folder(), "versioncache.yaml")
self._load_version_cache()
def refresh_checks(name, plugin):
self._refresh_configured_checks = True
@ -67,6 +71,41 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
return self._configured_checks
def _load_version_cache(self):
if not os.path.isfile(self._version_cache_path):
return
import yaml
try:
with open(self._version_cache_path) as f:
data = yaml.safe_load(f)
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")
def _save_version_cache(self):
import tempfile
import yaml
import shutil
file_obj = tempfile.NamedTemporaryFile(delete=False)
try:
yaml.safe_dump(self._version_cache, stream=file_obj, default_flow_style=False, indent=" ", allow_unicode=True)
file_obj.close()
shutil.move(file_obj.name, self._version_cache_path)
self._version_cache_dirty = False
self._logger.info("Saved version cache to disk")
finally:
try:
if os.path.exists(file_obj.name):
os.remove(file_obj.name)
except Exception as e:
self._logger.warn("Could not delete file {}: {}".format(file_obj.name, str(e)))
#~~ SettingsPlugin API
def get_settings_defaults(self):
@ -83,8 +122,9 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
"octoprint_restart_command": None,
"environment_restart_command": None,
"pip_command": None,
"cache_ttl": 60,
"cache_ttl": 24 * 60,
}
def on_settings_save(self, data):
@ -92,7 +132,7 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
self._version_cache_ttl = self._settings.get_int(["cache_ttl"]) * 60
def get_settings_version(self):
return 1
return 2
def on_settings_migrate(self, target, current=None):
if current is None:
@ -100,15 +140,18 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
# even the stuff that shouldn't be persisted but always provided by the hook - let's
# clean up
configured_checks = self._settings.get(["checks"], incl_defaults=False)
if configured_checks is None:
configured_checks = dict()
# take care of the octoprint entry
configured_checks = self._settings.get(["checks"], merged=True)
octoprint_check = dict(configured_checks["octoprint"])
if "type" in octoprint_check and not octoprint_check["type"] == "github_commit":
deletables=["current"]
else:
deletables=[]
octoprint_check = self._clean_settings_check("octoprint", octoprint_check, self.get_settings_defaults()["checks"]["octoprint"], delete=deletables, save=False)
configured_checks["octoprint"] = octoprint_check
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"]
else:
deletables=[]
octoprint_check = self._clean_settings_check("octoprint", octoprint_check, self.get_settings_defaults()["checks"]["octoprint"], delete=deletables, save=False)
# and the hooks
update_check_hooks = self._plugin_manager.get_hooks("octoprint.plugin.softwareupdate.check_config")
@ -129,6 +172,19 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
self._clean_settings_check(key, settings_check, data, delete=deletables, save=False)
elif current == 1:
configured_checks = self._settings.get(["checks"], incl_defaults=False)
if configured_checks is None:
return
if "octoprint" in configured_checks and "octoprint" in configured_checks["octoprint"]:
# that's a circular reference, back to defaults
dummy_defaults = dict(plugins=dict())
dummy_defaults["plugins"][self._identifier] = dict(checks=dict())
dummy_defaults["plugins"][self._identifier]["checks"]["octoprint"] = None
self._settings.set(["checks", "octoprint"], None, defaults=dummy_defaults)
self._settings.save()
def _clean_settings_check(self, key, data, defaults, delete=None, save=True):
if delete is None:
delete = []
@ -264,6 +320,8 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
local_value = target_information["local"]["value"]
information[target]["displayVersion"] = check["displayVersion"].format(octoprint_version=octoprint_version, local_name=local_name, local_value=local_value)
if self._version_cache_dirty:
self._save_version_cache()
return information, update_available, update_possible
def _get_current_version(self, target, check, force=False):
@ -273,7 +331,8 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
if target in self._version_cache and not force:
timestamp, information, update_available, update_possible = self._version_cache[target]
if timestamp + self._version_cache_ttl >= time.time():
if timestamp + self._version_cache_ttl >= time.time() > timestamp:
# we also check that timestamp < now to not get confused too much by clock changes
return information, update_available, update_possible
information = dict()
@ -298,6 +357,7 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
update_possible = False
self._version_cache[target] = (time.time(), information, update_available, update_possible)
self._version_cache_dirty = True
return information, update_available, update_possible
def _send_client_message(self, message_type, data=None):
@ -374,6 +434,8 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
self._send_client_message("error", dict(results=target_results))
else:
self._save_version_cache()
# otherwise the update process was a success, but we might still have to restart
if restart_type is not None and restart_type in ("octoprint", "environment"):
# one of our updates requires a restart of either type "octoprint" or "environment". Let's see if
@ -452,6 +514,9 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
# load will overwrite our changes we just made
self._settings.save()
del self._version_cache[target]
self._version_cache_dirty = True
return target_error, target_result
def _perform_restart(self, restart_command):
@ -507,6 +572,8 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
if "update_script" in check:
return updaters.update_script
elif "pip" in check:
if not "pip_command" in check and self._settings.get(["pip_command"]) is not None:
check["pip_command"] = self._settings.get(["pip_command"])
return updaters.pip
elif "python_updater" in check:
return updaters.python_updater

View file

@ -7,19 +7,19 @@ __copyright__ = "Copyright (C) 2014 The OctoPrint Project - Released under terms
import logging
import sarge
import sys
try:
import pip as _pip
except:
_pip = None
logger = logging.getLogger("octoprint.plugins.softwareupdate.updaters.pip")
console_logger = logging.getLogger("octoprint.plugins.softwareupdate.updaters.pip.console")
def can_perform_update(target, check):
return "pip" in check and _pip is not None
return "pip" in check
def perform_update(target, check, target_version):
logger = logging.getLogger("octoprint.plugins.softwareupdate.updaters.pip")
pip_command = None
if "pip_command" in check:
pip_command = check["pip_command"]
install_arg = check["pip"].format(target_version=target_version)
@ -27,15 +27,94 @@ def perform_update(target, check, target_version):
pip_args = ["install", check["pip"].format(target_version=target_version, target=target_version)]
if "dependency_links" in check and check["dependency_links"]:
pip_args += "--process-dependency-links"
pip_args += ["--process-dependency-links"]
_pip.main(pip_args)
_call_pip(pip_args, pip_command=pip_command)
if "force_reinstall" in check and check["force_reinstall"]:
# if force_reinstall is true, we need to install the package a second time, this time forcing its reinstall
# without forcing its dependencies too
logger.debug("Target. %s, executing pip install %s --ignore-reinstalled --force-reinstall --no-deps" % (target, install_arg))
pip_args += ["--ignore-installed", "--force-reinstall", "--no-deps"]
_pip.main(pip_args)
logger.debug("Target. %s, executing pip install %s --ignore-reinstalled --force-reinstall --no-deps" % (target, install_arg))
pip_args += ["--ignore-installed", "--force-reinstall", "--no-deps"]
_call_pip(pip_args, pip_command=pip_command)
return "ok"
def _call_pip(args, pip_command=None):
if pip_command is None:
import os
python_command = sys.executable
binary_dir = os.path.dirname(python_command)
pip_command = os.path.join(binary_dir, "pip")
if sys.platform == "win32":
# Windows is a bit special... first of all the file will be called pip.exe, not just pip, and secondly
# for a non-virtualenv install (e.g. global install) the pip binary will not be located in the
# same folder as python.exe, but in a subfolder Scripts, e.g.
#
# C:\Python2.7\
# |- python.exe
# `- Scripts
# `- pip.exe
# virtual env?
pip_command = os.path.join(binary_dir, "pip.exe")
if not os.path.isfile(pip_command):
# nope, let's try the Scripts folder then
scripts_dir = os.path.join(binary_dir, "Scripts")
if os.path.isdir(scripts_dir):
pip_command = os.path.join(scripts_dir, "pip.exe")
if not os.path.isfile(pip_command) or not os.access(pip_command, os.X_OK):
raise RuntimeError(u"No pip path configured and {pip_command} does not exist or is not executable, can't install".format(**locals()))
command = [pip_command] + args
logger.debug(u"Calling: {}".format(" ".join(command)))
p = sarge.run(" ".join(command), shell=True, async=True, stdout=sarge.Capture(), stderr=sarge.Capture())
p.wait_events()
all_stdout = []
all_stderr = []
try:
while p.returncode is None:
line = p.stderr.readline(timeout=0.5)
if line:
_log_stderr(line)
all_stderr.append(line)
line = p.stdout.readline(timeout=0.5)
if line:
_log_stdout(line)
all_stdout.append(line)
p.commands[0].poll()
finally:
p.close()
stderr = p.stderr.text
if stderr:
split_lines = stderr.split("\n")
_log_stderr(*split_lines)
all_stderr += split_lines
stdout = p.stdout.text
if stdout:
split_lines = stdout.split("\n")
_log_stdout(*split_lines)
all_stdout += split_lines
return p.returncode, all_stdout, all_stderr
def _log_stdout(*lines):
_log(lines, prefix=">", stream="stdout")
def _log_stderr(*lines):
_log(lines, prefix="!", stream="stderr")
def _log(lines, prefix=None, stream=None, strip=True):
if strip:
lines = map(lambda x: x.strip(), lines)
for line in lines:
console_logger.debug(u"{prefix} {line}".format(**locals()))

View file

@ -48,11 +48,19 @@ def _is_current(release_information, compare_type, custom=None):
if release_information["remote"]["value"] is None:
return True
if not compare_type in ("semantic", "unequal", "custom") or compare_type == "custom" and custom is None:
compare_type = "semantic"
if not compare_type in ("python", "semantic", "unequal", "custom") or compare_type == "custom" and custom is None:
compare_type = "python"
try:
if compare_type == "semantic":
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"])
return local_version >= remote_version
elif compare_type == "semantic":
import semantic_version
local_version = semantic_version.Version(release_information["local"]["value"])
@ -79,7 +87,7 @@ def get_latest(target, check, custom_compare=None):
current = check["current"]
remote_name, remote_tag = _get_latest_release(check["user"], check["repo"], include_prerelease=check["prerelease"] == True if "prerelease" in check else False)
compare_type = check["release_compare"] if "release_compare" in check else "semantic"
compare_type = check["release_compare"] if "release_compare" in check else "python"
information =dict(
local=dict(name=current, value=current),

View file

@ -210,7 +210,7 @@ class Server():
set_preprocessors=set_preprocessors)
return dict(settings=plugin_settings)
def settings_plugin_pre_init(name, implementation):
def settings_plugin_config_migration(name, implementation):
if not isinstance(implementation, octoprint.plugin.SettingsPlugin):
return
@ -224,10 +224,17 @@ class Server():
implementation._settings.set_int(["_config_version"], settings_version)
implementation._settings.save()
implementation.on_settings_initialized()
pluginManager.implementation_inject_factories=[octoprint_plugin_inject_factory, settings_plugin_inject_factory]
pluginManager.implementation_pre_inits=[settings_plugin_pre_init]
pluginManager.initialize_implementations()
settingsPlugins = pluginManager.get_implementations(octoprint.plugin.SettingsPlugin)
for implementation in settingsPlugins:
settings_plugin_config_migration(implementation._identifier, implementation)
pluginManager.implementation_post_inits=[settings_plugin_config_migration]
pluginManager.log_all_plugins()
# initialize file manager and register it for changes in the registered plugins

View file

@ -122,6 +122,11 @@ def getSettings():
def process_plugin_result(name, result):
if result:
try:
jsonify(test=result)
except:
logger.exception("Error while jsonifying settings from plugin {}, please contact the plugin author about this".format(name))
if not "plugins" in data:
data["plugins"] = dict()
if "__enabled" in result:

View file

@ -49,8 +49,17 @@ class PrinterStateConnection(sockjs.tornado.SockJSConnection, octoprint.printer.
self._remoteAddress = self._getRemoteAddress(info)
self._logger.info("New connection from client: %s" % self._remoteAddress)
plugin_signature = lambda impl: "{}:{}".format(impl._identifier, impl._plugin_version)
template_plugins = map(plugin_signature, self._pluginManager.get_implementations(octoprint.plugin.TemplatePlugin))
asset_plugins = map(plugin_signature, self._pluginManager.get_implementations(octoprint.plugin.AssetPlugin))
ui_plugins = sorted(set(template_plugins + asset_plugins))
import hashlib
plugin_hash = hashlib.md5()
plugin_hash.update(",".join(ui_plugins))
# connected => update the API key, might be necessary if the client was left open while the server restarted
self._emit("connected", {"apikey": octoprint.server.UI_API_KEY, "version": octoprint.server.VERSION, "display_version": octoprint.server.DISPLAY_VERSION})
self._emit("connected", {"apikey": octoprint.server.UI_API_KEY, "version": octoprint.server.VERSION, "display_version": octoprint.server.DISPLAY_VERSION, "plugin_hash": plugin_hash.hexdigest()})
self._printer.register_callback(self)
self._fileManager.register_slicingprogress_callback(self)

View file

@ -156,7 +156,8 @@ default_settings = {
"printerProfiles": None,
"scripts": None,
"translations": None,
"generated": None
"generated": None,
"data": None
},
"temperature": {
"profiles": [
@ -789,7 +790,7 @@ class Settings(object):
#~~ getter
def get(self, path, asdict=False, config=None, defaults=None, preprocessors=None, merged=False):
def get(self, path, asdict=False, config=None, defaults=None, preprocessors=None, merged=False, incl_defaults=True):
import octoprint.util as util
if len(path) == 0:
@ -807,7 +808,7 @@ class Settings(object):
if key in config and key in defaults:
config = config[key]
defaults = defaults[key]
elif key in defaults:
elif incl_defaults and key in defaults:
config = {}
defaults = defaults[key]
else:
@ -832,7 +833,7 @@ class Settings(object):
value = config[key]
if merged and key in defaults:
value = util.dict_merge(defaults[key], value)
elif key in defaults:
elif incl_defaults and key in defaults:
value = defaults[key]
else:
value = None
@ -853,8 +854,8 @@ class Settings(object):
else:
return results
def getInt(self, path, config=None, defaults=None, preprocessors=None):
value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors)
def getInt(self, path, config=None, defaults=None, preprocessors=None, incl_defaults=True):
value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors, incl_defaults=incl_defaults)
if value is None:
return None
@ -864,8 +865,8 @@ class Settings(object):
self._logger.warn("Could not convert %r to a valid integer when getting option %r" % (value, path))
return None
def getFloat(self, path, config=None, defaults=None, preprocessors=None):
value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors)
def getFloat(self, path, config=None, defaults=None, preprocessors=None, incl_defaults=True):
value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors, incl_defaults=incl_defaults)
if value is None:
return None
@ -875,8 +876,8 @@ class Settings(object):
self._logger.warn("Could not convert %r to a valid integer when getting option %r" % (value, path))
return None
def getBoolean(self, path, config=None, defaults=None, preprocessors=None):
value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors)
def getBoolean(self, path, config=None, defaults=None, preprocessors=None, incl_defaults=True):
value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors, incl_defaults=incl_defaults)
if value is None:
return None
if isinstance(value, bool):
@ -969,7 +970,7 @@ class Settings(object):
del config[key]
self._dirty = True
elif force or (not key in config and defaults[key] != value) or (key in config and config[key] != value):
if value is None:
if value is None and key in config:
del config[key]
else:
config[key] = value

File diff suppressed because one or more lines are too long

View file

@ -9,6 +9,11 @@ function DataUpdater(allViewModels) {
self._autoReconnectTimeouts = [0, 1, 1, 2, 3, 5, 8, 13, 20, 40, 100];
self._autoReconnectDialogIndex = 1;
self._pluginHash = undefined;
self.reloadOverlay = $("#reloadui_overlay");
$("#reloadui_overlay_reload").click(function() { location.reload(true); });
self.connect = function() {
var options = {};
if (SOCKJS_DEBUG) {
@ -119,6 +124,9 @@ function DataUpdater(allViewModels) {
DISPLAY_VERSION = data["display_version"];
$("span.version").text(DISPLAY_VERSION);
var oldPluginHash = self._pluginHash;
self._pluginHash = data["plugin_hash"];
if ($("#offline_overlay").is(":visible")) {
hideOfflineOverlay();
_.each(self.allViewModels, function(viewModel) {
@ -132,13 +140,8 @@ function DataUpdater(allViewModels) {
}
}
if (oldVersion != VERSION) {
// version change detected, force reloading UI - use randomized delay to reduce server load in
// the case of multiple clients
var delay = 5 + Math.floor(Math.random() * 5) + 1;
setTimeout(function() {location.reload(true);}, delay * 1000);
// TODO notify about that, or show confirmation
if (oldVersion != VERSION || (oldPluginHash != undefined && oldPluginHash != self._pluginHash)) {
self.reloadOverlay.show();
}
break;

View file

@ -387,19 +387,21 @@ ul.dropdown-menu li a {
width: 100%;
}
/** Offline overlay */
/** Offline & Reload overlay */
#offline_overlay {
#offline_overlay,
#reloadui_overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10000;
z-index: 10001;
display: none;
}
#offline_overlay_background {
#offline_overlay_background,
#reloadui_overlay_background {
position: fixed;
top: 0;
left: 0;
@ -412,7 +414,8 @@ ul.dropdown-menu li a {
opacity: 0.5;
}
#offline_overlay_wrapper {
#offline_overlay_wrapper,
#reloadui_overlay_wrapper {
position: absolute;
top: 0;
bottom: 0;

View file

@ -134,6 +134,7 @@
<!-- Overlays -->
{% include 'overlays/dragndrop.jinja2' %}
{% include 'overlays/offline.jinja2' %}
{% include 'overlays/reloadui.jinja2' %}
<!-- End of overlays -->
<!-- Generic plugin template files -->

View file

@ -0,0 +1,14 @@
<div id="reloadui_overlay" xmlns="http://www.w3.org/1999/html">
<div id="reloadui_overlay_background"></div>
<div id="reloadui_overlay_wrapper">
<div class="container">
<div class="hero-unit">
<h1>{{ _('Please reload') }}</h1>
<p>{{ _('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.') }}</p>
<p>
<a class="btn btn-primary btn-large" id="reloadui_overlay_reload">{{ _('Reload now') }}</a>
</p>
</div>
</div>
</div>
</div>

View file

@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: OctoPrint\n"
"Report-Msgid-Bugs-To: i18n@octoprint.org\n"
"POT-Creation-Date: 2015-06-09 14:48+0200\n"
"PO-Revision-Date: 2015-06-09 14:48+0100\n"
"POT-Creation-Date: 2015-06-21 17:58+0200\n"
"PO-Revision-Date: 2015-06-21 18:00+0100\n"
"Last-Translator: Gina Häußge <osd@foosel.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/octoprint/"
"language/de/)\n"
@ -55,7 +55,7 @@ msgid "Identifier"
msgstr "ID"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:22
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/sidebar/files_header.jinja2:6
#: src/octoprint/templates/tabs/timelapse.jinja2:45
@ -65,7 +65,7 @@ msgstr "aufsteigend"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:22
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:28
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:82
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:6
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:14
#: src/octoprint/templates/dialogs/settings/accesscontrol.jinja2:4
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/dialogs/settings/logs.jinja2:12
@ -78,7 +78,7 @@ msgid "Name"
msgstr "Name"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:29
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:7
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:15
msgid "Actions"
msgstr "Aktionen"
@ -104,7 +104,7 @@ msgid "Profile ini file"
msgstr "Profil-INI-Datei"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:68
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:132
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:141
#: src/octoprint/templates/dialogs/settings/appearance.jinja2:83
msgid "Browse..."
msgstr "Durchsuchen..."
@ -135,105 +135,120 @@ msgstr "Abbrechen"
msgid "Confirm"
msgstr "Bestätigen"
#: src/octoprint/plugins/pluginmanager/__init__.py:78
#: src/octoprint/plugins/pluginmanager/__init__.py:79
msgid "Plugin Manager"
msgstr "Pluginmanager"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:110
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:234
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:275
msgid "Installing plugin..."
msgstr "Installiere Plugin..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:110
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132
msgid "Installing plugin from uploaded archive..."
msgstr "Installiere Plugin von hochgeladenem Archiv..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:122
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:194
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:259
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:285
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:490
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:520
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:537
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554
#: 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
msgid "Something went wrong"
msgstr "Etwas ist schief gegangen"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:123
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:195
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:260
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:286
#: 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
msgid "Please consult octoprint.log for details"
msgstr "Bitte konsultiere octoprint.log für Details"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:236
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277
#, 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:238
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:279
#, python-format
msgid "Installing plugin from %(url)s..."
msgstr "Installiere Plugin von %(url)s..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:241
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:282
msgid "Reinstalling plugin..."
msgstr "Reinstalliere Plugin..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:242
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:283
#, 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:276
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321
msgid "Uninstalling plugin..."
msgstr "Deinstalliere Plugin..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:276
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321
#, python-format
msgid "Uninstalling plugin \"%(name)s\""
msgstr "Deinstalliere Plugin \"%(name)s\""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:313
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
msgid "Reinstall"
msgstr "Reinstallieren"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:313
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:121
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:137
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
#: 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:313
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
msgid "Incompatible"
msgstr "Inkompatibel"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:331
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:374
#: src/octoprint/templates/overlays/reloadui.jinja2:9
msgid "Reload now"
msgstr "Jetzt neu laden"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:400
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:443
msgid "Done!"
msgstr "Fertig!"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:420
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463
msgid "Enable Plugin"
msgstr "Plugin enablen"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:420
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463
msgid "Disable Plugin"
msgstr "Plugin disablen"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:479
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528
msgid "Plugin installed"
msgstr "Plugin installiert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529
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:533
#, python-format
msgid "Plugin \"%(name)s\" reinstalled"
msgstr "Plugin \"%(name)s\" reinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:480
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534
msgid "The plugin was reinstalled successfully"
msgstr "Das Plugin wurde erfolgreich reinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:481
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535
msgid ""
"The plugin was reinstalled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -241,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:482
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536
msgid ""
"The plugin was reinstalled successfully, however a reload of the page is "
"needed for that to take effect."
@ -249,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:484
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:538
#, python-format
msgid "Plugin \"%(name)s\" installed"
msgstr "Plugin \"%(name)s\" installiert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:485
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539
msgid "The plugin was installed successfully"
msgstr "Das Plugin wurde erfolgreich installiert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:486
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:540
msgid ""
"The plugin was installed successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -266,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:487
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541
msgid ""
"The plugin was installed successfully, however a reload of the page is "
"needed for that to take effect."
@ -274,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:498
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:552
#, 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:500
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554
#, 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:504
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558
#, python-format
msgid ""
"Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for "
@ -295,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:506
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:560
#, python-format
msgid ""
"Installing the plugin from URL \"%(url)s\" failed, please see the log for "
@ -304,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:515
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569
#, python-format
msgid "Plugin \"%(name)s\" uninstalled"
msgstr "Plugin \"%(name)s\" deinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:516
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:570
msgid "The plugin was uninstalled successfully"
msgstr "Das Plugin wurde erfolgreich deinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:517
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571
msgid ""
"The plugin was uninstalled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -321,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:518
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:572
msgid ""
"The plugin was uninstalled successfully, however a reload of the page is "
"needed for that to take effect."
@ -329,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:522
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:576
#, python-format
msgid "Uninstalling the plugin failed: %(reason)s"
msgstr "Deinstallation des Plugins fehlgeschlagen: %(reason)s"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:578
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:532
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586
#, python-format
msgid "Plugin \"%(name)s\" enabled"
msgstr "Plugin \"%(name)s\" aktiviert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:587
msgid "The plugin was enabled successfully."
msgstr "Das Plugin wurde erfolgreich aktiviert."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588
msgid ""
"The plugin was enabled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -357,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:535
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:589
msgid ""
"The plugin was enabled successfully, however a reload of the page is needed "
"for that to take effect."
@ -365,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:539
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:556
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:593
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:610
#, python-format
msgid "Toggling the plugin failed: %(reason)s"
msgstr "Togglen des Plugins fehlgeschalgen: %(reason)s"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:595
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:612
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:549
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603
#, python-format
msgid "Plugin \"%(name)s\" disabled"
msgstr "Plugin \"%(name)s\" deaktiviert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:550
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:604
msgid "The plugin was disabled successfully."
msgstr "Das Plugin wurde erfolgreich deaktiviert."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:551
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605
msgid ""
"The plugin was disabled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -394,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:552
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:606
msgid ""
"The plugin was disabled successfully, however a reload of the page is needed "
"for that to take effect."
@ -402,53 +417,61 @@ msgstr ""
"Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neuladen der "
"Seite notwendig."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:1
#: 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."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:9
msgid "Installed Plugins"
msgstr "Installierte Plugins"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:13
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:21
msgid "Bundled"
msgstr "Gebundled"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:16
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:90
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:24
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:99
#: src/octoprint/templates/index.jinja2:118
msgid "Homepage"
msgstr "Homepage"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:23
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:31
msgid "Uninstall Plugin"
msgstr "Plugin deinstallieren"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:40
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:48
msgid "Get More..."
msgstr "Mehr..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:51
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:143
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:59
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:167
#: src/octoprint/templates/dialogs/settings/appearance.jinja2:96
msgid "Close"
msgstr "Schließen"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:58
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
msgid "Install new Plugins..."
msgstr "Installation neuer Plugins..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:62
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:71
#, python-format
msgid ""
"... from the <a href=\"%(url)s\" target=\"_blank\">Plugin Repository</a>"
msgstr "... vom <a href=\"%(url)s\" target=\"_blank\">Plugin Repository</a>"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75
msgid "Sort by title"
msgstr "Nach Titel sortieren"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:67
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:76
msgid "Sort by publication date"
msgstr "Nach Veröffentlichungsdatum sortieren"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:67
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:76
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/sidebar/files_header.jinja2:7
#: src/octoprint/templates/sidebar/files_header.jinja2:8
@ -456,52 +479,52 @@ msgstr "Nach Veröffentlichungsdatum sortieren"
msgid "descending"
msgstr "absteigend"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:69
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:78
msgid "Only show uninstalled plugins"
msgstr "Nur uninstallierte Plugins anzeigen"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:70
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:79
msgid "Only show compatible plugins"
msgstr "Nur kompatible Plugins anzeigen"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:72
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:81
msgid "Refresh list from repository"
msgstr "Liste vom Repository neu laden"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:78
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:87
#: src/octoprint/templates/sidebar/files.jinja2:2
msgid "Search..."
msgstr "Suchen..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:89
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:98
msgid "Details"
msgstr "Details"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:106
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:115
msgid "Sadly the repository is currently not available"
msgstr "Das Repository ist leider zur Zeit nicht verfügbar"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:109
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:118
msgid "Is your OctoPrint installation connected to the internet?"
msgstr "Ist Deine OctoPrint Installation mit dem Internet verbunden?"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:114
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:123
msgid "... from URL"
msgstr "... von URL"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:119
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:128
msgid "Enter URL..."
msgstr "URL eingeben..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:123
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:132
msgid "This does not look like a valid \"http://\" or \"https://\" URL."
msgstr "Das sieht nicht wie eine valide \"http://\" oder \"https://\" URL aus."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:126
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:135
msgid "... from an uploaded archive"
msgstr "... von einem hochgeladenen Archiv"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:139
#: 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"
@ -511,7 +534,19 @@ msgstr ""
"sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip"
"\", \".tar.gz\", \".tgz\" oder \".tar\" haben"
#: src/octoprint/plugins/softwareupdate/__init__.py:412
#: 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 <code>--process-dependency-links</code> with <code>pip install</code>"
msgstr ""
"Übergebe <code>--process-dependency-links</code> an <code>pip install</code>"
#: src/octoprint/plugins/softwareupdate/__init__.py:499
#: src/octoprint/server/views.py:146
#: src/octoprint/static/js/app/viewmodels/appearance.js:11
#: src/octoprint/static/js/app/viewmodels/appearance.js:13
@ -520,11 +555,11 @@ msgstr ""
msgid "OctoPrint"
msgstr "OctoPrint"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:122
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:114
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:136
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:128
msgid ""
"Those components marked with <i class=\"icon-ok\"></i> can be updated "
"directly."
@ -532,15 +567,15 @@ msgstr ""
"Die mit <i class=\"icon-ok\"></i> markierten Komponenten können direkt "
"aktualisiert werden."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:139
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:131
msgid "Update Available"
msgstr "Aktualisierung verfügbar"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:143
msgid "Ignore"
msgstr "Ignorieren"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:155
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:147
msgid ""
"You can make this message display again via \"Settings\" > \"SoftwareUpdate"
"\" > \"Check for update now\""
@ -548,27 +583,27 @@ msgstr ""
"Du kannst diese Nachricht erneut anzeigen lassen mittels \"Einstellungen\" > "
"\"Software Update\" > \"Jetzt nach Aktualisierungen suchen\""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:159
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151
msgid "Update now"
msgstr "Jetzt aktualisieren"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:175
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:168
msgid "Everything is up-to-date"
msgstr "Alles ist auf dem neusten Stand"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:221
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:233
msgid "Updating..."
msgstr "Aktualisiere..."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:222
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:234
msgid "Now updating, please wait."
msgstr "Aktualisiere gerade, bitte warten."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:241
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:253
msgid "Update not started!"
msgstr "Aktualisierung nicht gestartet!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:242
#: 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."
@ -576,11 +611,11 @@ 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:264
#: 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:265
#: 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."
@ -588,17 +623,17 @@ msgstr ""
"Ein Druckjob ist zur Zeit aktiv. Aktualisierungen werden unterbunden bis er "
"fertig ist."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:269
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:293
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:305
msgid "Restart successful!"
msgstr "Neustart erfolgreich!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:294
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:306
msgid ""
"The server was restarted successfully. The page will now reload "
"automatically."
@ -606,28 +641,28 @@ msgstr ""
"Der Server wurde erfolgreich neu gestartet. Die Seite wird nun automatisch "
"neu geladen."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:326
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:338
#, python-format
msgid "Now updating %(name)s to %(version)s"
msgstr "Aktualisiere %(name)s auf %(version)s"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:334
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:346
msgid "Update successful, restarting!"
msgstr "Aktualisierung erfolgreich, starte neu!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:335
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:346
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:388
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:358
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:400
msgid "Restart failed"
msgstr "Neustart fehlgeschlagen"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:347
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:389
#: 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."
@ -635,23 +670,23 @@ 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:363
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:365
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:369
#: 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:382
#: 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."
@ -660,7 +695,7 @@ msgstr ""
"Du solltest das Logfile konsultieren, um herauszufinden, was hier schief "
"gelaufen ist."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:384
#: 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."
@ -669,19 +704,19 @@ msgstr ""
"auch das Logfile konsultieren, um herauszufinden, was hier gerade schief "
"gelaufen ist."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:402
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:414
msgid "Update successful!"
msgstr "Aktualisierung erfolgreich!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:403
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:415
msgid "The update finished successfully."
msgstr "Die Aktualisierung wurde erfolgreich abgeschlossen."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:415
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:427
msgid "Update failed!"
msgstr "Aktualisierung fehlgeschlagen!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:416
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:428
msgid ""
"The update did not finish successfully. Please consult the log for details."
msgstr ""
@ -713,11 +748,6 @@ 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 ""
@ -853,14 +883,14 @@ msgstr "Zugriff"
msgid "Interface"
msgstr "Interface"
#: src/octoprint/static/js/app/dataupdater.js:61
#: src/octoprint/static/js/app/dataupdater.js:95
#: src/octoprint/static/js/app/helpers.js:423
#: src/octoprint/static/js/app/dataupdater.js:65
#: src/octoprint/static/js/app/dataupdater.js:99
#: 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:62
#: src/octoprint/static/js/app/dataupdater.js:66
msgid ""
"The server appears to be offline, at least I'm not getting any response from "
"it. I'll try to reconnect automatically <strong>over the next couple of "
@ -872,7 +902,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:96
#: src/octoprint/static/js/app/dataupdater.js:100
msgid ""
"The server appears to be offline, at least I'm not getting any response from "
"it. I <strong>could not reconnect automatically</strong>, but you may try a "
@ -883,31 +913,31 @@ msgstr ""
"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
#: src/octoprint/static/js/app/dataupdater.js:166
#: src/octoprint/static/js/app/dataupdater.js:194
#, python-format
msgid "Slicing ... (%(percentage)d%%)"
msgstr "Slice ... (%(percentage)d%%)"
#: src/octoprint/static/js/app/dataupdater.js:185
#: src/octoprint/static/js/app/dataupdater.js:183
msgid "Rendering timelapse"
msgstr "Zeitrafferaufnahme wird gerendert"
#: src/octoprint/static/js/app/dataupdater.js:185
#: src/octoprint/static/js/app/dataupdater.js:183
#, python-format
msgid "Now rendering timelapse %(movie_basename)s"
msgstr "Rendere Zeitrafferaufnahme %(movie_basename)s"
#: src/octoprint/static/js/app/dataupdater.js:187
#: src/octoprint/static/js/app/dataupdater.js:185
msgid "Timelapse ready"
msgstr "Zeitrafferaufnahme fertig"
#: src/octoprint/static/js/app/dataupdater.js:187
#: src/octoprint/static/js/app/dataupdater.js:185
#, 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:189
#: src/octoprint/static/js/app/dataupdater.js:187
#, python-format
msgid ""
"Rendering of timelapse %(movie_basename)s failed with return code "
@ -916,56 +946,56 @@ msgstr ""
"Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit "
"Returncode %(returncode)s"
#: src/octoprint/static/js/app/dataupdater.js:191
#: src/octoprint/static/js/app/dataupdater.js:189
msgid "Rendering failed"
msgstr "Rendering fehlgeschlagen"
#: src/octoprint/static/js/app/dataupdater.js:198
#: src/octoprint/static/js/app/dataupdater.js:196
msgid "Slicing ..."
msgstr "Slice ..."
#: src/octoprint/static/js/app/dataupdater.js:204
#: src/octoprint/static/js/app/dataupdater.js:202
msgid "Slicing done"
msgstr "Slicing abgeschlossen"
#: src/octoprint/static/js/app/dataupdater.js:204
#: src/octoprint/static/js/app/dataupdater.js:202
#, 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:214
#: src/octoprint/static/js/app/dataupdater.js:212
#, 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:215
#: src/octoprint/static/js/app/dataupdater.js:213
msgid "Slicing failed"
msgstr "Slicing fehlgeschlagen"
#: src/octoprint/static/js/app/dataupdater.js:219
#: src/octoprint/static/js/app/dataupdater.js:217
msgid "Streaming ..."
msgstr "Streaming ..."
#: src/octoprint/static/js/app/dataupdater.js:225
#: src/octoprint/static/js/app/dataupdater.js:223
msgid "Streaming done"
msgstr "Streaming abgeschlossen"
#: src/octoprint/static/js/app/dataupdater.js:226
#: src/octoprint/static/js/app/dataupdater.js:224
#, 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"
#: src/octoprint/static/js/app/helpers.js:344
#: src/octoprint/static/js/app/helpers.js:357
#, python-format
msgid "%(hour)02d:%(minute)02d:%(second)02d"
msgstr "%(hour)02d:%(minute)02d:%(second)02d"
#: src/octoprint/static/js/app/helpers.js:364
#: src/octoprint/static/js/app/helpers.js:377
msgid "YYYY-MM-DD HH:mm"
msgstr "DD.MM.YYYY HH:mm"
#: src/octoprint/static/js/app/helpers.js:382
#: src/octoprint/static/js/app/helpers.js:387
#: src/octoprint/static/js/app/helpers.js:395
#: src/octoprint/static/js/app/helpers.js:400
msgid "off"
msgstr "Aus"
@ -1187,44 +1217,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"
@ -1333,17 +1363,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"
@ -2281,6 +2311,20 @@ msgstr "SD-Karte ist nicht initialisiert"
msgid "Attempt to reconnect"
msgstr "Erneut verbinden"
#: src/octoprint/templates/overlays/reloadui.jinja2:6
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."
#: src/octoprint/templates/sidebar/connection.jinja2:8
msgid "Save connection settings"
msgstr "Verbindungseinstellungen speichern"

View file

@ -30,18 +30,18 @@ class gcode(object):
self.progressCallback = None
self._abort = False
self._filamentDiameter = 0
def load(self, filename, printer_profile):
def load(self, filename, printer_profile, throttle=None):
if os.path.isfile(filename):
self.filename = filename
self._fileSize = os.stat(filename).st_size
with open(filename, "r") as f:
self._load(f, printer_profile)
self._load(f, printer_profile, throttle=throttle)
def abort(self):
self._abort = True
def _load(self, gcodeFile, printer_profile):
def _load(self, gcodeFile, printer_profile, throttle=None):
filePos = 0
readBytes = 0
pos = [0.0, 0.0, 0.0]
@ -237,6 +237,9 @@ class gcode(object):
for i in range(len(totalExtrusion), currentExtruder + 1):
totalExtrusion.append(0.0)
if throttle is not None:
throttle()
if self.progressCallback is not None:
self.progressCallback(100.0)

View file

@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: OctoPrint\n"
"Report-Msgid-Bugs-To: i18n@octoprint.org\n"
"POT-Creation-Date: 2015-06-09 14:48+0200\n"
"PO-Revision-Date: 2015-06-09 14:48+0100\n"
"POT-Creation-Date: 2015-06-21 17:58+0200\n"
"PO-Revision-Date: 2015-06-21 18:00+0100\n"
"Last-Translator: Gina Häußge <osd@foosel.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/octoprint/"
"language/de/)\n"
@ -55,7 +55,7 @@ msgid "Identifier"
msgstr "ID"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:22
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/sidebar/files_header.jinja2:6
#: src/octoprint/templates/tabs/timelapse.jinja2:45
@ -65,7 +65,7 @@ msgstr "aufsteigend"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:22
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:28
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:82
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:6
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:14
#: src/octoprint/templates/dialogs/settings/accesscontrol.jinja2:4
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/dialogs/settings/logs.jinja2:12
@ -78,7 +78,7 @@ msgid "Name"
msgstr "Name"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:29
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:7
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:15
msgid "Actions"
msgstr "Aktionen"
@ -104,7 +104,7 @@ msgid "Profile ini file"
msgstr "Profil-INI-Datei"
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:68
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:132
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:141
#: src/octoprint/templates/dialogs/settings/appearance.jinja2:83
msgid "Browse..."
msgstr "Durchsuchen..."
@ -135,105 +135,120 @@ msgstr "Abbrechen"
msgid "Confirm"
msgstr "Bestätigen"
#: src/octoprint/plugins/pluginmanager/__init__.py:78
#: src/octoprint/plugins/pluginmanager/__init__.py:79
msgid "Plugin Manager"
msgstr "Pluginmanager"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:110
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:234
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:275
msgid "Installing plugin..."
msgstr "Installiere Plugin..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:110
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132
msgid "Installing plugin from uploaded archive..."
msgstr "Installiere Plugin von hochgeladenem Archiv..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:122
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:194
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:259
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:285
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:490
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:520
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:537
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554
#: 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
msgid "Something went wrong"
msgstr "Etwas ist schief gegangen"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:123
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:195
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:260
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:286
#: 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
msgid "Please consult octoprint.log for details"
msgstr "Bitte konsultiere octoprint.log für Details"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:236
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277
#, 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:238
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:279
#, python-format
msgid "Installing plugin from %(url)s..."
msgstr "Installiere Plugin von %(url)s..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:241
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:282
msgid "Reinstalling plugin..."
msgstr "Reinstalliere Plugin..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:242
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:283
#, 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:276
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321
msgid "Uninstalling plugin..."
msgstr "Deinstalliere Plugin..."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:276
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321
#, python-format
msgid "Uninstalling plugin \"%(name)s\""
msgstr "Deinstalliere Plugin \"%(name)s\""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:313
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
msgid "Reinstall"
msgstr "Reinstallieren"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:313
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:121
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:137
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
#: 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:313
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
msgid "Incompatible"
msgstr "Inkompatibel"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:331
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:374
#: src/octoprint/templates/overlays/reloadui.jinja2:9
msgid "Reload now"
msgstr "Jetzt neu laden"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:400
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:443
msgid "Done!"
msgstr "Fertig!"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:420
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463
msgid "Enable Plugin"
msgstr "Plugin enablen"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:420
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463
msgid "Disable Plugin"
msgstr "Plugin disablen"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:479
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528
msgid "Plugin installed"
msgstr "Plugin installiert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529
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:533
#, python-format
msgid "Plugin \"%(name)s\" reinstalled"
msgstr "Plugin \"%(name)s\" reinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:480
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534
msgid "The plugin was reinstalled successfully"
msgstr "Das Plugin wurde erfolgreich reinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:481
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535
msgid ""
"The plugin was reinstalled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -241,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:482
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536
msgid ""
"The plugin was reinstalled successfully, however a reload of the page is "
"needed for that to take effect."
@ -249,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:484
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:538
#, python-format
msgid "Plugin \"%(name)s\" installed"
msgstr "Plugin \"%(name)s\" installiert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:485
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539
msgid "The plugin was installed successfully"
msgstr "Das Plugin wurde erfolgreich installiert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:486
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:540
msgid ""
"The plugin was installed successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -266,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:487
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541
msgid ""
"The plugin was installed successfully, however a reload of the page is "
"needed for that to take effect."
@ -274,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:498
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:552
#, 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:500
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554
#, 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:504
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558
#, python-format
msgid ""
"Reinstalling the plugin from URL \"%(url)s\" failed, please see the log for "
@ -295,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:506
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:560
#, python-format
msgid ""
"Installing the plugin from URL \"%(url)s\" failed, please see the log for "
@ -304,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:515
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569
#, python-format
msgid "Plugin \"%(name)s\" uninstalled"
msgstr "Plugin \"%(name)s\" deinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:516
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:570
msgid "The plugin was uninstalled successfully"
msgstr "Das Plugin wurde erfolgreich deinstalliert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:517
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571
msgid ""
"The plugin was uninstalled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -321,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:518
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:572
msgid ""
"The plugin was uninstalled successfully, however a reload of the page is "
"needed for that to take effect."
@ -329,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:522
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:576
#, python-format
msgid "Uninstalling the plugin failed: %(reason)s"
msgstr "Deinstallation des Plugins fehlgeschlagen: %(reason)s"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:578
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:532
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586
#, python-format
msgid "Plugin \"%(name)s\" enabled"
msgstr "Plugin \"%(name)s\" aktiviert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:587
msgid "The plugin was enabled successfully."
msgstr "Das Plugin wurde erfolgreich aktiviert."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588
msgid ""
"The plugin was enabled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -357,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:535
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:589
msgid ""
"The plugin was enabled successfully, however a reload of the page is needed "
"for that to take effect."
@ -365,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:539
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:556
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:593
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:610
#, python-format
msgid "Toggling the plugin failed: %(reason)s"
msgstr "Togglen des Plugins fehlgeschalgen: %(reason)s"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:595
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:612
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:549
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603
#, python-format
msgid "Plugin \"%(name)s\" disabled"
msgstr "Plugin \"%(name)s\" deaktiviert"
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:550
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:604
msgid "The plugin was disabled successfully."
msgstr "Das Plugin wurde erfolgreich deaktiviert."
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:551
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605
msgid ""
"The plugin was disabled successfully, however a restart of OctoPrint is "
"needed for that to take effect."
@ -394,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:552
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:606
msgid ""
"The plugin was disabled successfully, however a reload of the page is needed "
"for that to take effect."
@ -402,53 +417,61 @@ msgstr ""
"Das Plugin wurde erfolgreich deaktiviert, es ist jedoch ein Neuladen der "
"Seite notwendig."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:1
#: 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."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:9
msgid "Installed Plugins"
msgstr "Installierte Plugins"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:13
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:21
msgid "Bundled"
msgstr "Gebundled"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:16
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:90
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:24
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:99
#: src/octoprint/templates/index.jinja2:118
msgid "Homepage"
msgstr "Homepage"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:23
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:31
msgid "Uninstall Plugin"
msgstr "Plugin deinstallieren"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:40
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:48
msgid "Get More..."
msgstr "Mehr..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:51
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:143
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:59
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:167
#: src/octoprint/templates/dialogs/settings/appearance.jinja2:96
msgid "Close"
msgstr "Schließen"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:58
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
msgid "Install new Plugins..."
msgstr "Installation neuer Plugins..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:62
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:71
#, python-format
msgid ""
"... from the <a href=\"%(url)s\" target=\"_blank\">Plugin Repository</a>"
msgstr "... vom <a href=\"%(url)s\" target=\"_blank\">Plugin Repository</a>"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75
msgid "Sort by title"
msgstr "Nach Titel sortieren"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:67
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:76
msgid "Sort by publication date"
msgstr "Nach Veröffentlichungsdatum sortieren"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:67
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:76
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/sidebar/files_header.jinja2:7
#: src/octoprint/templates/sidebar/files_header.jinja2:8
@ -456,52 +479,52 @@ msgstr "Nach Veröffentlichungsdatum sortieren"
msgid "descending"
msgstr "absteigend"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:69
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:78
msgid "Only show uninstalled plugins"
msgstr "Nur uninstallierte Plugins anzeigen"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:70
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:79
msgid "Only show compatible plugins"
msgstr "Nur kompatible Plugins anzeigen"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:72
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:81
msgid "Refresh list from repository"
msgstr "Liste vom Repository neu laden"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:78
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:87
#: src/octoprint/templates/sidebar/files.jinja2:2
msgid "Search..."
msgstr "Suchen..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:89
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:98
msgid "Details"
msgstr "Details"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:106
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:115
msgid "Sadly the repository is currently not available"
msgstr "Das Repository ist leider zur Zeit nicht verfügbar"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:109
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:118
msgid "Is your OctoPrint installation connected to the internet?"
msgstr "Ist Deine OctoPrint Installation mit dem Internet verbunden?"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:114
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:123
msgid "... from URL"
msgstr "... von URL"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:119
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:128
msgid "Enter URL..."
msgstr "URL eingeben..."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:123
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:132
msgid "This does not look like a valid \"http://\" or \"https://\" URL."
msgstr "Das sieht nicht wie eine valide \"http://\" oder \"https://\" URL aus."
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:126
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:135
msgid "... from an uploaded archive"
msgstr "... von einem hochgeladenen Archiv"
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:139
#: 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"
@ -511,7 +534,19 @@ msgstr ""
"sollten entweder ZIP-Dateien oder Tarballs sein und die Dateiextension \".zip"
"\", \".tar.gz\", \".tgz\" oder \".tar\" haben"
#: src/octoprint/plugins/softwareupdate/__init__.py:412
#: 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 <code>--process-dependency-links</code> with <code>pip install</code>"
msgstr ""
"Übergebe <code>--process-dependency-links</code> an <code>pip install</code>"
#: src/octoprint/plugins/softwareupdate/__init__.py:499
#: src/octoprint/server/views.py:146
#: src/octoprint/static/js/app/viewmodels/appearance.js:11
#: src/octoprint/static/js/app/viewmodels/appearance.js:13
@ -520,11 +555,11 @@ msgstr ""
msgid "OctoPrint"
msgstr "OctoPrint"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:122
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:114
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:136
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:128
msgid ""
"Those components marked with <i class=\"icon-ok\"></i> can be updated "
"directly."
@ -532,15 +567,15 @@ msgstr ""
"Die mit <i class=\"icon-ok\"></i> markierten Komponenten können direkt "
"aktualisiert werden."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:139
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:131
msgid "Update Available"
msgstr "Aktualisierung verfügbar"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:143
msgid "Ignore"
msgstr "Ignorieren"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:155
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:147
msgid ""
"You can make this message display again via \"Settings\" > \"SoftwareUpdate"
"\" > \"Check for update now\""
@ -548,27 +583,27 @@ msgstr ""
"Du kannst diese Nachricht erneut anzeigen lassen mittels \"Einstellungen\" > "
"\"Software Update\" > \"Jetzt nach Aktualisierungen suchen\""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:159
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151
msgid "Update now"
msgstr "Jetzt aktualisieren"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:175
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:168
msgid "Everything is up-to-date"
msgstr "Alles ist auf dem neusten Stand"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:221
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:233
msgid "Updating..."
msgstr "Aktualisiere..."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:222
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:234
msgid "Now updating, please wait."
msgstr "Aktualisiere gerade, bitte warten."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:241
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:253
msgid "Update not started!"
msgstr "Aktualisierung nicht gestartet!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:242
#: 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."
@ -576,11 +611,11 @@ 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:264
#: 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:265
#: 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."
@ -588,17 +623,17 @@ msgstr ""
"Ein Druckjob ist zur Zeit aktiv. Aktualisierungen werden unterbunden bis er "
"fertig ist."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:269
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:293
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:305
msgid "Restart successful!"
msgstr "Neustart erfolgreich!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:294
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:306
msgid ""
"The server was restarted successfully. The page will now reload "
"automatically."
@ -606,28 +641,28 @@ msgstr ""
"Der Server wurde erfolgreich neu gestartet. Die Seite wird nun automatisch "
"neu geladen."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:326
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:338
#, python-format
msgid "Now updating %(name)s to %(version)s"
msgstr "Aktualisiere %(name)s auf %(version)s"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:334
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:346
msgid "Update successful, restarting!"
msgstr "Aktualisierung erfolgreich, starte neu!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:335
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:346
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:388
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:358
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:400
msgid "Restart failed"
msgstr "Neustart fehlgeschlagen"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:347
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:389
#: 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."
@ -635,23 +670,23 @@ 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:363
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:365
#: 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."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:369
#: 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:382
#: 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."
@ -660,7 +695,7 @@ msgstr ""
"Du solltest das Logfile konsultieren, um herauszufinden, was hier schief "
"gelaufen ist."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:384
#: 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."
@ -669,19 +704,19 @@ msgstr ""
"auch das Logfile konsultieren, um herauszufinden, was hier gerade schief "
"gelaufen ist."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:402
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:414
msgid "Update successful!"
msgstr "Aktualisierung erfolgreich!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:403
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:415
msgid "The update finished successfully."
msgstr "Die Aktualisierung wurde erfolgreich abgeschlossen."
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:415
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:427
msgid "Update failed!"
msgstr "Aktualisierung fehlgeschlagen!"
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:416
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:428
msgid ""
"The update did not finish successfully. Please consult the log for details."
msgstr ""
@ -713,11 +748,6 @@ 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 ""
@ -853,14 +883,14 @@ msgstr "Zugriff"
msgid "Interface"
msgstr "Interface"
#: src/octoprint/static/js/app/dataupdater.js:61
#: src/octoprint/static/js/app/dataupdater.js:95
#: src/octoprint/static/js/app/helpers.js:423
#: src/octoprint/static/js/app/dataupdater.js:65
#: src/octoprint/static/js/app/dataupdater.js:99
#: 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:62
#: src/octoprint/static/js/app/dataupdater.js:66
msgid ""
"The server appears to be offline, at least I'm not getting any response from "
"it. I'll try to reconnect automatically <strong>over the next couple of "
@ -872,7 +902,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:96
#: src/octoprint/static/js/app/dataupdater.js:100
msgid ""
"The server appears to be offline, at least I'm not getting any response from "
"it. I <strong>could not reconnect automatically</strong>, but you may try a "
@ -883,31 +913,31 @@ msgstr ""
"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
#: src/octoprint/static/js/app/dataupdater.js:166
#: src/octoprint/static/js/app/dataupdater.js:194
#, python-format
msgid "Slicing ... (%(percentage)d%%)"
msgstr "Slice ... (%(percentage)d%%)"
#: src/octoprint/static/js/app/dataupdater.js:185
#: src/octoprint/static/js/app/dataupdater.js:183
msgid "Rendering timelapse"
msgstr "Zeitrafferaufnahme wird gerendert"
#: src/octoprint/static/js/app/dataupdater.js:185
#: src/octoprint/static/js/app/dataupdater.js:183
#, python-format
msgid "Now rendering timelapse %(movie_basename)s"
msgstr "Rendere Zeitrafferaufnahme %(movie_basename)s"
#: src/octoprint/static/js/app/dataupdater.js:187
#: src/octoprint/static/js/app/dataupdater.js:185
msgid "Timelapse ready"
msgstr "Zeitrafferaufnahme fertig"
#: src/octoprint/static/js/app/dataupdater.js:187
#: src/octoprint/static/js/app/dataupdater.js:185
#, 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:189
#: src/octoprint/static/js/app/dataupdater.js:187
#, python-format
msgid ""
"Rendering of timelapse %(movie_basename)s failed with return code "
@ -916,56 +946,56 @@ msgstr ""
"Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit "
"Returncode %(returncode)s"
#: src/octoprint/static/js/app/dataupdater.js:191
#: src/octoprint/static/js/app/dataupdater.js:189
msgid "Rendering failed"
msgstr "Rendering fehlgeschlagen"
#: src/octoprint/static/js/app/dataupdater.js:198
#: src/octoprint/static/js/app/dataupdater.js:196
msgid "Slicing ..."
msgstr "Slice ..."
#: src/octoprint/static/js/app/dataupdater.js:204
#: src/octoprint/static/js/app/dataupdater.js:202
msgid "Slicing done"
msgstr "Slicing abgeschlossen"
#: src/octoprint/static/js/app/dataupdater.js:204
#: src/octoprint/static/js/app/dataupdater.js:202
#, 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:214
#: src/octoprint/static/js/app/dataupdater.js:212
#, 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:215
#: src/octoprint/static/js/app/dataupdater.js:213
msgid "Slicing failed"
msgstr "Slicing fehlgeschlagen"
#: src/octoprint/static/js/app/dataupdater.js:219
#: src/octoprint/static/js/app/dataupdater.js:217
msgid "Streaming ..."
msgstr "Streaming ..."
#: src/octoprint/static/js/app/dataupdater.js:225
#: src/octoprint/static/js/app/dataupdater.js:223
msgid "Streaming done"
msgstr "Streaming abgeschlossen"
#: src/octoprint/static/js/app/dataupdater.js:226
#: src/octoprint/static/js/app/dataupdater.js:224
#, 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"
#: src/octoprint/static/js/app/helpers.js:344
#: src/octoprint/static/js/app/helpers.js:357
#, python-format
msgid "%(hour)02d:%(minute)02d:%(second)02d"
msgstr "%(hour)02d:%(minute)02d:%(second)02d"
#: src/octoprint/static/js/app/helpers.js:364
#: src/octoprint/static/js/app/helpers.js:377
msgid "YYYY-MM-DD HH:mm"
msgstr "DD.MM.YYYY HH:mm"
#: src/octoprint/static/js/app/helpers.js:382
#: src/octoprint/static/js/app/helpers.js:387
#: src/octoprint/static/js/app/helpers.js:395
#: src/octoprint/static/js/app/helpers.js:400
msgid "off"
msgstr "Aus"
@ -1187,44 +1217,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"
@ -1333,17 +1363,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"
@ -2281,6 +2311,20 @@ msgstr "SD-Karte ist nicht initialisiert"
msgid "Attempt to reconnect"
msgstr "Erneut verbinden"
#: src/octoprint/templates/overlays/reloadui.jinja2:6
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."
#: src/octoprint/templates/sidebar/connection.jinja2:8
msgid "Save connection settings"
msgstr "Verbindungseinstellungen speichern"

View file

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OctoPrint 1.2.0-dev-921-g8696ce9-dirty\n"
"Project-Id-Version: OctoPrint 1.2.0-rc3-2-g33ea9c3-dirty\n"
"Report-Msgid-Bugs-To: i18n@octoprint.org\n"
"POT-Creation-Date: 2015-06-09 14:48+0200\n"
"POT-Creation-Date: 2015-06-21 17:58+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -48,7 +48,7 @@ msgid "Identifier"
msgstr ""
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:22
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/sidebar/files_header.jinja2:6
#: src/octoprint/templates/tabs/timelapse.jinja2:45
@ -58,7 +58,7 @@ msgstr ""
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:22
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:28
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:82
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:6
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:14
#: src/octoprint/templates/dialogs/settings/accesscontrol.jinja2:4
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/dialogs/settings/logs.jinja2:12
@ -71,7 +71,7 @@ msgid "Name"
msgstr ""
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:29
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:7
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:15
msgid "Actions"
msgstr ""
@ -97,7 +97,7 @@ msgid "Profile ini file"
msgstr ""
#: src/octoprint/plugins/cura/templates/cura_settings.jinja2:68
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:132
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:141
#: src/octoprint/templates/dialogs/settings/appearance.jinja2:83
msgid "Browse..."
msgstr ""
@ -128,290 +128,308 @@ msgstr ""
msgid "Confirm"
msgstr ""
#: src/octoprint/plugins/pluginmanager/__init__.py:78
#: src/octoprint/plugins/pluginmanager/__init__.py:79
msgid "Plugin Manager"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:110
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:234
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:275
msgid "Installing plugin..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:110
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:132
msgid "Installing plugin from uploaded archive..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:122
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:194
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:259
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:285
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:490
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:520
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:537
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554
#: 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
msgid "Something went wrong"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:123
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:195
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:260
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:286
#: 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
msgid "Please consult octoprint.log for details"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:236
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:277
#, python-format
msgid "Installing plugin \"%(name)s\" from %(url)s..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:238
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:279
#, python-format
msgid "Installing plugin from %(url)s..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:241
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:282
msgid "Reinstalling plugin..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:242
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:283
#, python-format
msgid "Reinstalling plugin \"%(name)s\" from %(url)s..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:276
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321
msgid "Uninstalling plugin..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:276
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:321
#, python-format
msgid "Uninstalling plugin \"%(name)s\""
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:313
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
msgid "Reinstall"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:313
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:121
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:137
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
#: 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:313
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:356
msgid "Incompatible"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:331
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:374
#: src/octoprint/templates/overlays/reloadui.jinja2:9
msgid "Reload now"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:400
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:443
msgid "Done!"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:420
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463
msgid "Enable Plugin"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:420
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:463
msgid "Disable Plugin"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:479
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:528
msgid "Plugin installed"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:529
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
#, python-format
msgid "Plugin \"%(name)s\" reinstalled"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:480
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534
msgid "The plugin was reinstalled successfully"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:481
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:535
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:482
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:536
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:484
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:538
#, python-format
msgid "Plugin \"%(name)s\" installed"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:485
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:539
msgid "The plugin was installed successfully"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:486
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:540
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:487
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541
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:498
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:552
#, python-format
msgid "Reinstalling the plugin from URL \"%(url)s\" failed: %(reason)s"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:500
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:554
#, python-format
msgid "Installing the plugin from URL \"%(url)s\" failed: %(reason)s"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:504
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558
#, 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:506
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:560
#, 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:515
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:569
#, python-format
msgid "Plugin \"%(name)s\" uninstalled"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:516
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:570
msgid "The plugin was uninstalled successfully"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:517
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:571
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:518
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:572
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:522
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:576
#, python-format
msgid "Uninstalling the plugin failed: %(reason)s"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:524
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:578
msgid "Uninstalling the plugin failed, please see the log for details."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:532
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:586
#, python-format
msgid "Plugin \"%(name)s\" enabled"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:533
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:587
msgid "The plugin was enabled successfully."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:534
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:588
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:535
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:589
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:539
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:556
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:593
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:610
#, python-format
msgid "Toggling the plugin failed: %(reason)s"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:541
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:558
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:595
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:612
msgid "Toggling the plugin failed, please see the log for details."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:549
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:603
#, python-format
msgid "Plugin \"%(name)s\" disabled"
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:550
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:604
msgid "The plugin was disabled successfully."
msgstr ""
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:551
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:605
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:552
#: src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js:606
msgid ""
"The plugin was disabled successfully, however a reload of the page is "
"needed for that to take effect."
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:1
#: 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 ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:9
msgid "Installed Plugins"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:13
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:21
msgid "Bundled"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:16
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:90
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:24
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:99
#: src/octoprint/templates/index.jinja2:118
msgid "Homepage"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:23
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:31
msgid "Uninstall Plugin"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:40
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:48
msgid "Get More..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:51
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:143
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:59
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:167
#: src/octoprint/templates/dialogs/settings/appearance.jinja2:96
msgid "Close"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:58
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
msgid "Install new Plugins..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:62
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:71
#, python-format
msgid "... from the <a href=\"%(url)s\" target=\"_blank\">Plugin Repository</a>"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:66
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:75
msgid "Sort by title"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:67
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:76
msgid "Sort by publication date"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:67
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:76
#: src/octoprint/templates/dialogs/settings/logs.jinja2:6
#: src/octoprint/templates/sidebar/files_header.jinja2:7
#: src/octoprint/templates/sidebar/files_header.jinja2:8
@ -419,59 +437,69 @@ msgstr ""
msgid "descending"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:69
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:78
msgid "Only show uninstalled plugins"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:70
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:79
msgid "Only show compatible plugins"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:72
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:81
msgid "Refresh list from repository"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:78
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:87
#: src/octoprint/templates/sidebar/files.jinja2:2
msgid "Search..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:89
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:98
msgid "Details"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:106
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:115
msgid "Sadly the repository is currently not available"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:109
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:118
msgid "Is your OctoPrint installation connected to the internet?"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:114
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:123
msgid "... from URL"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:119
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:128
msgid "Enter URL..."
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:123
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:132
msgid "This does not look like a valid \"http://\" or \"https://\" URL."
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:126
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:135
msgid "... from an uploaded archive"
msgstr ""
#: src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2:139
#: 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 ""
#: src/octoprint/plugins/softwareupdate/__init__.py:412
#: 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 <code>--process-dependency-links</code> with <code>pip install</code>"
msgstr ""
#: src/octoprint/plugins/softwareupdate/__init__.py:499
#: src/octoprint/server/views.py:146
#: src/octoprint/static/js/app/viewmodels/appearance.js:11
#: src/octoprint/static/js/app/viewmodels/appearance.js:13
@ -480,142 +508,142 @@ msgstr ""
msgid "OctoPrint"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:122
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:114
msgid "There are updates available for the following components:"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:136
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:128
msgid ""
"Those components marked with <i class=\"icon-ok\"></i> can be updated "
"directly."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:139
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:131
msgid "Update Available"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:143
msgid "Ignore"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:155
#: 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 ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:159
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:151
msgid "Update now"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:175
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:168
msgid "Everything is up-to-date"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:221
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:233
msgid "Updating..."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:222
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:234
msgid "Now updating, please wait."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:241
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:253
msgid "Update not started!"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:242
#: 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 ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:264
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:276
msgid "Can't update while printing"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:265
#: 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 ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:269
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:281
msgid "This will update your OctoPrint installation and restart the server."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:293
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:305
msgid "Restart successful!"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:294
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:306
msgid ""
"The server was restarted successfully. The page will now reload "
"automatically."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:326
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:338
#, python-format
msgid "Now updating %(name)s to %(version)s"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:334
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:346
msgid "Update successful, restarting!"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:335
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:347
msgid "The update finished successfully and the server will now be restarted."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:346
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:388
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:358
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:400
msgid "Restart failed"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:347
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:389
#: 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 ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:363
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:375
msgid "The update finished successfully, please restart OctoPrint now."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:365
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:377
msgid "The update finished successfully, please reboot the server now."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:369
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:381
msgid "Update successful, restart required!"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:382
#: 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 ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:384
#: 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 ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:402
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:414
msgid "Update successful!"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:403
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:415
msgid "The update finished successfully."
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:415
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:427
msgid "Update failed!"
msgstr ""
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:416
#: src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js:428
msgid ""
"The update did not finish successfully. Please consult the log for "
"details."
@ -646,11 +674,6 @@ 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 ""
@ -783,14 +806,14 @@ msgstr ""
msgid "Interface"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:61
#: src/octoprint/static/js/app/dataupdater.js:95
#: src/octoprint/static/js/app/helpers.js:423
#: src/octoprint/static/js/app/dataupdater.js:65
#: src/octoprint/static/js/app/dataupdater.js:99
#: 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:62
#: src/octoprint/static/js/app/dataupdater.js:66
msgid ""
"The server appears to be offline, at least I'm not getting any response "
"from it. I'll try to reconnect automatically <strong>over the next couple"
@ -798,94 +821,94 @@ msgid ""
"anytime using the button below."
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:96
#: src/octoprint/static/js/app/dataupdater.js:100
msgid ""
"The server appears to be offline, at least I'm not getting any response "
"from it. I <strong>could not reconnect automatically</strong>, but you "
"may try a manual reconnect using the button below."
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:168
#: src/octoprint/static/js/app/dataupdater.js:196
#: src/octoprint/static/js/app/dataupdater.js:166
#: src/octoprint/static/js/app/dataupdater.js:194
#, python-format
msgid "Slicing ... (%(percentage)d%%)"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:185
#: src/octoprint/static/js/app/dataupdater.js:183
msgid "Rendering timelapse"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:185
#: src/octoprint/static/js/app/dataupdater.js:183
#, python-format
msgid "Now rendering timelapse %(movie_basename)s"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:187
#: src/octoprint/static/js/app/dataupdater.js:185
msgid "Timelapse ready"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:187
#: src/octoprint/static/js/app/dataupdater.js:185
#, python-format
msgid "New timelapse %(movie_basename)s is done rendering."
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:189
#: src/octoprint/static/js/app/dataupdater.js:187
#, python-format
msgid ""
"Rendering of timelapse %(movie_basename)s failed with return code "
"%(returncode)s"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:191
#: src/octoprint/static/js/app/dataupdater.js:189
msgid "Rendering failed"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:198
#: src/octoprint/static/js/app/dataupdater.js:196
msgid "Slicing ..."
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:204
#: src/octoprint/static/js/app/dataupdater.js:202
msgid "Slicing done"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:204
#: src/octoprint/static/js/app/dataupdater.js:202
#, python-format
msgid "Sliced %(stl)s to %(gcode)s, took %(time).2f seconds"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:214
#: src/octoprint/static/js/app/dataupdater.js:212
#, python-format
msgid "Could not slice %(stl)s to %(gcode)s: %(reason)s"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:215
#: src/octoprint/static/js/app/dataupdater.js:213
msgid "Slicing failed"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:219
#: src/octoprint/static/js/app/dataupdater.js:217
msgid "Streaming ..."
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:225
#: src/octoprint/static/js/app/dataupdater.js:223
msgid "Streaming done"
msgstr ""
#: src/octoprint/static/js/app/dataupdater.js:226
#: src/octoprint/static/js/app/dataupdater.js:224
#, python-format
msgid "Streamed %(local)s to %(remote)s on SD, took %(time).2f seconds"
msgstr ""
#: src/octoprint/static/js/app/helpers.js:344
#: src/octoprint/static/js/app/helpers.js:357
#, python-format
msgid "%(hour)02d:%(minute)02d:%(second)02d"
msgstr ""
#: src/octoprint/static/js/app/helpers.js:364
#: src/octoprint/static/js/app/helpers.js:377
msgid "YYYY-MM-DD HH:mm"
msgstr ""
#: src/octoprint/static/js/app/helpers.js:382
#: src/octoprint/static/js/app/helpers.js:387
#: src/octoprint/static/js/app/helpers.js:395
#: src/octoprint/static/js/app/helpers.js:400
msgid "off"
msgstr ""
@ -1101,44 +1124,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 ""
@ -1244,17 +1267,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 ""
@ -2103,6 +2126,18 @@ msgstr ""
msgid "Attempt to reconnect"
msgstr ""
#: src/octoprint/templates/overlays/reloadui.jinja2:6
msgid "Please reload"
msgstr ""
#: 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 ""
#: src/octoprint/templates/sidebar/connection.jinja2:8
msgid "Save connection settings"
msgstr ""