Merge branch 'maintenance' into devel
Conflicts: CHANGELOG.md src/octoprint/static/js/app/dataupdater.js src/octoprint/static/js/app/main.js src/octoprint/static/js/app/viewmodels/files.js src/octoprint/static/js/app/viewmodels/loginstate.js
This commit is contained in:
commit
de78c14ae3
21 changed files with 437 additions and 277 deletions
|
|
@ -7,18 +7,20 @@
|
|||
# The file is processed from top to bottom, the first matching line wins. If <tag> or <reference commit> are left out,
|
||||
# the lookup table does not apply to the matched branches
|
||||
|
||||
# master shall not use the lookup table, only tags
|
||||
# master, prerelease and rc shall not use the lookup table, only tags
|
||||
master
|
||||
prerelease
|
||||
rc
|
||||
|
||||
# neither should disconnected checkouts, e.g. 'git checkout <tag>'
|
||||
HEAD
|
||||
\(detached.*
|
||||
|
||||
# maintenance is currently the branch for preparation of maintenance release 1.2.12
|
||||
# maintenance is currently the branch for preparation of maintenance release 1.2.13
|
||||
# so are any fix/... and improve/... branches
|
||||
maintenance 1.2.12 e79703ba6eec1ecdfa21cf8f2a9efbc1eb6120e3 pep440-dev
|
||||
fix/.* 1.2.12 e79703ba6eec1ecdfa21cf8f2a9efbc1eb6120e3 pep440-dev
|
||||
improve/.* 1.2.12 e79703ba6eec1ecdfa21cf8f2a9efbc1eb6120e3 pep440-dev
|
||||
maintenance 1.2.13 685ce16c85eea9c4f11586ea99c9a84aca382bd4 pep440-dev
|
||||
fix/.* 1.2.13 685ce16c85eea9c4f11586ea99c9a84aca382bd4 pep440-dev
|
||||
improve/.* 1.2.13 685ce16c85eea9c4f11586ea99c9a84aca382bd4 pep440-dev
|
||||
|
||||
# every other branch is a development branch and thus gets resolved to 1.3.0-dev for now
|
||||
.* 1.3.0 198d3450d94be1a2 pep440-dev
|
||||
|
|
|
|||
26
CHANGELOG.md
26
CHANGELOG.md
|
|
@ -74,6 +74,32 @@
|
|||
* [#1047](https://github.com/foosel/OctoPrint/issues/1047) - Fixed 90 degree
|
||||
webcam rotation for iOS Safari.
|
||||
|
||||
## 1.2.12 (2016-06-09)
|
||||
|
||||
### Improvements
|
||||
|
||||
* [#1338](https://github.com/foosel/OctoPrint/issues/1338): Threshold configuration fields now include information about how to specify the thresholds.
|
||||
* Mark unrendered timelapses currently being processed (recording or rendering) in the list and remove action buttons so no accidental double-processing can take place.
|
||||
* Removed file extension from "rendering" and "rendered" notifications, was misleading when using the [mp4 wrapper script](https://github.com/guysoft/OctoPi/issues/184).
|
||||
* Added some new events for manipulation of slicing profiles.
|
||||
* Small fix of the german translation.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [#1314](https://github.com/foosel/OctoPrint/issues/1314): Do not change the extension of `.g` files being uploaded to SD (e.g. `auto0.g`)
|
||||
* [#1320](https://github.com/foosel/OctoPrint/issues/1320): Allow deletion of *.mp4 timelapse files (see [this wrapper script](https://github.com/guysoft/OctoPi/issues/184)).
|
||||
* [#1324](https://github.com/foosel/OctoPrint/issues/1324): Make daemonized OctoPrint properly clean up its pid file again (see also [#1330](https://github.com/foosel/OctoPrint/pull/1330)).
|
||||
* [#1326](https://github.com/foosel/OctoPrint/issues/1326): Do not try to clean up an unrendered timelapse while it is already being deleted (and produce way too much logging output in the process).
|
||||
* [#1343](https://github.com/foosel/OctoPrint/issues/1343): Events are now processed in the order they are fired in, making e.g. the "timelapse rendering" message always appear before "timelapse failed" and hence not stay on forever in case of a failed timelapse.
|
||||
* [#1344](https://github.com/foosel/OctoPrint/issues/1344): `ProgressPlugin`s now get also notified about a progress of 0%.
|
||||
* [#1357](https://github.com/foosel/OctoPrint/issues/1357): Fixed wrongly named method call on editing access control options for a user, causing that to not work properly.
|
||||
* [#1361](https://github.com/foosel/OctoPrint/issues/1361): Properly reload profile list for currently selected slicer in the slicing dialog on change of profiles.
|
||||
* [#1364](https://github.com/foosel/OctoPrint/issues/1364): Fixed a race condition that could cause the UI to not initialize correctly due to 401 errors, leaving it in an unusable state until a reload.
|
||||
* Fixed concurrent message pushing to the frontend being able to break push messages for the session by forcing synchronization of SockJS message sending.
|
||||
* Do not require admin rights for connecting/disconnecting, like it was in 1.1.x (note that this is supposed to become configurable behaviour once [#1110](https://github.com/foosel/OctoPrint/issues/1110) gets implemented)
|
||||
|
||||
([Commits](https://github.com/foosel/OctoPrint/compare/1.2.11...1.2.12))
|
||||
|
||||
## 1.2.11 (2016-05-04)
|
||||
|
||||
### Important Announcement
|
||||
|
|
|
|||
|
|
@ -302,6 +302,11 @@ There are three main branches in OctoPrint:
|
|||
the scheme `x.y.z` (e.g. `1.2.9`) or - if it's absolutely necessary to
|
||||
add a commit after release to this branch - `x.y.z.post<commits since x.y.z>`
|
||||
(e.g. `1.2.9.post1`).
|
||||
* `prerelease`: This branch is only used during the short period where a
|
||||
future release has "graduated" from the `maintenance` branch and is already
|
||||
tagged, but still marked on Github as a pre-release. This is mostly used for
|
||||
update testing just before new releases. Version number follows the scheme
|
||||
`x.y.z` (e.g. `1.2.9`), just like the `master` branch.
|
||||
* `maintenance`: Improvements and fixes of the current release that make up
|
||||
the next release go here. More or less continously updated. You can consider
|
||||
this a preview of the next release version. It should be very stable at all
|
||||
|
|
@ -329,6 +334,9 @@ Those usually have one of the following prefixes:
|
|||
`maintenance` and `devel` branches.
|
||||
* `dev/...` or `feature/...`: New functionality under development that is to be merged
|
||||
into the `devel` branch.
|
||||
* `rc`: A branch similar in nature to the `prerelease` branch, only that it will be
|
||||
used to provide current release candidates of the next stable version to be derived
|
||||
from the `devel` branch.
|
||||
|
||||
There is also the `gh-pages` branch, which holds OctoPrint's web page, and a couple of
|
||||
older development branches that are slowly being migrated or deleted.
|
||||
|
|
@ -367,6 +375,7 @@ the local version identifier to allow for an exact determination of the active c
|
|||
* 2016-02-16: Added requirement to add information from template to existing
|
||||
tickets as well, explained issue with "me too" red herrings.
|
||||
* 2016-03-14: Some more requirements for PRs, and a PR template.
|
||||
* 2016-06-08: New `prerelease` and `rc` branches explained.
|
||||
|
||||
## Footnotes
|
||||
* [1] - If you are wondering why, the problem is that anything that you add
|
||||
|
|
|
|||
|
|
@ -7,35 +7,60 @@ thanks to everyone who contributed!
|
|||
## Patreon Patrons
|
||||
|
||||
* 3D Moniak
|
||||
* alephobjects
|
||||
* Andrew Moorby
|
||||
* Arnljot Arntsen
|
||||
* Aurelio Bernal Ramírez
|
||||
* Bart Zudell
|
||||
* Brad Jackson
|
||||
* Brent Fiegle
|
||||
* Brian E. Tyler
|
||||
* Charles Mitchell
|
||||
* Christian Petropolis
|
||||
* COLLE+McVOY
|
||||
* CreativeTools
|
||||
* D Brian Kimmel
|
||||
* DeltaMaker 3D Printers
|
||||
* Doug Johnson
|
||||
* E3D BigBox
|
||||
* Erik de Bruijn
|
||||
* Ernesto Martinez
|
||||
* Exovite
|
||||
* Frank Sander
|
||||
* georgeroblesjr
|
||||
* Gregor Luetolf
|
||||
* Jason Galarneau
|
||||
* Joe Korzeniewski
|
||||
* Joshua Gregory
|
||||
* Kaile Riser
|
||||
* Kale Stedman
|
||||
* Kevin Freeheart
|
||||
* Kyle Gress
|
||||
* Makespace Madrid
|
||||
* Mark Lane
|
||||
* Mark Qvist
|
||||
* Mark Walker
|
||||
* Masayoshi Mitsui
|
||||
* Michael McDargh
|
||||
* Miguel Angel Salmeron
|
||||
* MikeyDK
|
||||
* Mikey
|
||||
* Miles Flavel
|
||||
* Mohammed Khorakiwala
|
||||
* Noe Ruiz
|
||||
* Paul Generes
|
||||
* Peter Schmehl
|
||||
* Roger Strolz
|
||||
* Roy Cortes
|
||||
* Samer Najia
|
||||
* SD3D
|
||||
* Shane Ekerbicer
|
||||
* Simon
|
||||
* Stefan Krister
|
||||
* stefi davis
|
||||
* Steven Pearson
|
||||
* Sven Mueller
|
||||
* Tom
|
||||
* Thomas Hatley
|
||||
* Thomas Sanladerer
|
||||
* Trent Shumay
|
||||
|
||||
and 414 more wonderful people pledging on the [Patreon campaign](https://patreon.com/foosel)!
|
||||
and 734 more wonderful people pledging on the [Patreon campaign](https://patreon.com/foosel)!
|
||||
|
|
@ -382,6 +382,30 @@ SlicingFailed
|
|||
* ``gcode``: the sliced GCODE's filename
|
||||
* ``reason``: the reason for the slicing having failed
|
||||
|
||||
SlicingProfileAdded
|
||||
A new slicing profile was added.
|
||||
|
||||
Payload:
|
||||
|
||||
* ``slicer``: the slicer for which the profile was added
|
||||
* ``profile``: the profile that was added
|
||||
|
||||
SlicingProfileModified
|
||||
A new slicing profile was modified.
|
||||
|
||||
Payload:
|
||||
|
||||
* ``slicer``: the slicer for which the profile was modified
|
||||
* ``profile``: the profile that was modified
|
||||
|
||||
SlicingProfileDeleted
|
||||
A slicing profile was deleted.
|
||||
|
||||
Payload:
|
||||
|
||||
* ``slicer``: the slicer for which the profile was deleted
|
||||
* ``profile``: the profile that was deleted
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
|
|
|
|||
|
|
@ -91,6 +91,14 @@ class Events(object):
|
|||
SLICING_DONE = "SlicingDone"
|
||||
SLICING_FAILED = "SlicingFailed"
|
||||
SLICING_CANCELLED = "SlicingCancelled"
|
||||
SLICING_PROFILE_ADDED = "SlicingProfileAdded"
|
||||
SLICING_PROFILE_MODIFIED = "SlicingProfileModified"
|
||||
SLICING_PROFILE_DELETED = "SlicingProfileDeleted"
|
||||
|
||||
# Printer Profiles
|
||||
PRINTER_PROFILE_ADDED = "PrinterProfileAdded"
|
||||
PRINTER_PROFILE_MODIFIED = "PrinterProfileModified"
|
||||
PRINTER_PROFILE_DELETED = "PrinterProfileDeleted"
|
||||
|
||||
# Settings
|
||||
SETTINGS_UPDATED = "SettingsUpdated"
|
||||
|
|
|
|||
|
|
@ -49,6 +49,10 @@ class AnnouncementPlugin(octoprint.plugin.AssetPlugin,
|
|||
type="rss",
|
||||
url="http://octoprint.org/feeds/important.xml",
|
||||
read_until=1449446400),
|
||||
_news=dict(name="OctoPrint News",
|
||||
priority=2,
|
||||
type="rss",
|
||||
url="http://octoprint.org/feeds/news.xml"),
|
||||
_releases=dict(name="OctoPrint Release Announcements",
|
||||
priority=2,
|
||||
type="rss",
|
||||
|
|
|
|||
|
|
@ -224,9 +224,6 @@ class CuraPlugin(octoprint.plugin.SlicerPlugin,
|
|||
return octoprint.slicing.SlicingProfile(properties["type"], "unknown", profile_dict, display_name=display_name, description=description)
|
||||
|
||||
def save_slicer_profile(self, path, profile, allow_overwrite=True, overrides=None):
|
||||
if os.path.exists(path) and not allow_overwrite:
|
||||
raise octoprint.slicing.ProfileAlreadyExists("cura", profile.name)
|
||||
|
||||
new_profile = Profile.merge_profile(profile.data, overrides=overrides)
|
||||
|
||||
if profile.display_name is not None:
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ from octoprint.server.api import api, NO_CONTENT
|
|||
|
||||
from octoprint.settings import settings as s, valid_boolean_trues
|
||||
|
||||
from octoprint.slicing import UnknownSlicer, SlicerNotConfigured, ProfileAlreadyExists, UnknownProfile
|
||||
from octoprint.slicing import UnknownSlicer, SlicerNotConfigured, ProfileAlreadyExists, UnknownProfile, CouldNotDeleteProfile
|
||||
|
||||
|
||||
@api.route("/slicing", methods=["GET"])
|
||||
|
|
@ -146,6 +146,8 @@ def slicingDelSlicerProfile(slicer, name):
|
|||
slicingManager.delete_profile(slicer, name)
|
||||
except UnknownSlicer:
|
||||
return make_response("Unknown slicer {slicer}".format(**locals()), 404)
|
||||
except CouldNotDeleteProfile as e:
|
||||
return make_response("Could not delete profile {profile} for slicer {slicer}: {cause}".format(profile=name, slicer=slicer, cause=str(e.cause)), 500)
|
||||
|
||||
return NO_CONTENT
|
||||
|
||||
|
|
|
|||
|
|
@ -409,7 +409,18 @@ class SlicingManager(object):
|
|||
profile.description = description
|
||||
|
||||
path = self.get_profile_path(slicer, name)
|
||||
is_overwrite = os.path.exists(path)
|
||||
|
||||
if is_overwrite and not allow_overwrite:
|
||||
raise ProfileAlreadyExists(slicer, profile.name)
|
||||
|
||||
self._save_profile_to_path(slicer, path, profile, overrides=overrides, allow_overwrite=allow_overwrite)
|
||||
|
||||
payload = dict(slicer=slicer,
|
||||
profile=name)
|
||||
event = octoprint.events.Events.SLICING_PROFILE_MODIFIED if is_overwrite else octoprint.events.Events.SLICING_PROFILE_ADDED
|
||||
octoprint.events.eventManager().fire(event, payload)
|
||||
|
||||
return profile
|
||||
|
||||
def _temporary_profile(self, slicer, name=None, overrides=None):
|
||||
|
|
@ -438,6 +449,7 @@ class SlicingManager(object):
|
|||
|
||||
Raises:
|
||||
~octoprint.slicing.exceptions.UnknownSlicer: The slicer ``slicer`` is unknown.
|
||||
~octoprint.slicing.exceptions.CouldNotDeleteProfile: There was an error while deleting the profile.
|
||||
"""
|
||||
|
||||
if not slicer in self.registered_slicers:
|
||||
|
|
@ -447,10 +459,17 @@ class SlicingManager(object):
|
|||
raise ValueError("name must be set")
|
||||
|
||||
try:
|
||||
path = self.get_profile_path(slicer, name, must_exist=True)
|
||||
except UnknownProfile:
|
||||
return
|
||||
os.remove(path)
|
||||
try:
|
||||
path = self.get_profile_path(slicer, name, must_exist=True)
|
||||
except UnknownProfile:
|
||||
return
|
||||
os.remove(path)
|
||||
except ProfileException as e:
|
||||
raise e
|
||||
except Exception as e:
|
||||
raise CouldNotDeleteProfile(slicer, name, cause=e)
|
||||
else:
|
||||
octoprint.events.eventManager().fire(octoprint.events.Events.SLICING_PROFILE_DELETED, dict(slicer=slicer, profile=name))
|
||||
|
||||
def set_default_profile(self, slicer, name, require_configured=False,
|
||||
require_exists=True):
|
||||
|
|
|
|||
|
|
@ -105,3 +105,16 @@ class ProfileAlreadyExists(ProfileException):
|
|||
def __init__(self, slicer, profile, *args, **kwargs):
|
||||
ProfileException.__init__(self, slicer, profile, *args, **kwargs)
|
||||
self.message = "Profile {profile} for slicer {slicer} already exists".format(profile=profile, slicer=slicer)
|
||||
|
||||
class CouldNotDeleteProfile(ProfileException):
|
||||
"""
|
||||
Raised if there is an unexpected error trying to delete a known profile.
|
||||
"""
|
||||
def __init__(self, slicer, profile, cause=None, *args, **kwargs):
|
||||
ProfileException.__init__(self, slicer, profile, *args, **kwargs)
|
||||
|
||||
self.cause = cause
|
||||
if cause:
|
||||
self.message = "Could not delete profile {profile} for slicer {slicer}: {cause}".format(profile=profile, slicer=slicer, cause=str(cause))
|
||||
else:
|
||||
self.message = "Could not delete profile {profile} for slicer {slicer}".format(profile=profile, slicer=slicer)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ function DataUpdater(allViewModels) {
|
|||
self._pluginHash = undefined;
|
||||
self._configHash = undefined;
|
||||
|
||||
self._connectedDeferred = undefined;
|
||||
|
||||
self._throttleFactor = 1;
|
||||
self._baseProcessingLimit = 500.0;
|
||||
self._lastProcessingTimes = [];
|
||||
|
|
@ -36,11 +38,21 @@ function DataUpdater(allViewModels) {
|
|||
};
|
||||
|
||||
self.connect = function() {
|
||||
if (self._connectedDeferred) {
|
||||
self._connectedDeferred.reject();
|
||||
}
|
||||
self._connectedDeferred = $.Deferred();
|
||||
OctoPrint.socket.connect({debug: !!SOCKJS_DEBUG});
|
||||
return self._connectedDeferred.promise();
|
||||
};
|
||||
|
||||
self.reconnect = function() {
|
||||
if (self._connectedDeferred) {
|
||||
self._connectedDeferred.reject();
|
||||
}
|
||||
self._connectedDeferred = $.Deferred();
|
||||
OctoPrint.socket.reconnect();
|
||||
return self._connectedDeferred.promise();
|
||||
};
|
||||
|
||||
self._onReconnectAttempt = function(trial) {
|
||||
|
|
@ -125,6 +137,14 @@ function DataUpdater(allViewModels) {
|
|||
if (versionChanged || pluginsChanged || configChanged) {
|
||||
showReloadOverlay();
|
||||
}
|
||||
|
||||
log.info("Connected to the server");
|
||||
|
||||
// if we have a connected promise, resolve it now
|
||||
if (self._connectedDeferred) {
|
||||
self._connectedDeferred.resolve();
|
||||
self._connectedDeferred = undefined;
|
||||
}
|
||||
};
|
||||
|
||||
self._onHistoryData = function(event) {
|
||||
|
|
@ -266,6 +286,4 @@ function DataUpdater(allViewModels) {
|
|||
.onMessage("event", self._onEvent)
|
||||
.onMessage("timelapse", self._onTimelapse)
|
||||
.onMessage("plugin", self._onPluginMessage);
|
||||
|
||||
self.connect();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -302,8 +302,6 @@ $(function() {
|
|||
}
|
||||
log.info("... dependency resolution done");
|
||||
|
||||
var dataUpdater = new DataUpdater(allViewModels);
|
||||
|
||||
//~~ some additional hooks and initializations
|
||||
|
||||
// make sure modals max out at the window height
|
||||
|
|
@ -424,10 +422,6 @@ $(function() {
|
|||
// reload overlay
|
||||
$("#reloadui_overlay_reload").click(function() { location.reload(); });
|
||||
|
||||
//~~ Starting up the app
|
||||
|
||||
callViewModels(allViewModels, "onStartup");
|
||||
|
||||
//~~ view model binding
|
||||
|
||||
var bindViewModels = function() {
|
||||
|
|
@ -515,12 +509,25 @@ $(function() {
|
|||
log.debug("Browser tab is now " + (status ? "visible" : "hidden"));
|
||||
callViewModels(allViewModels, "onBrowserTabVisibilityChange", [status]);
|
||||
});
|
||||
|
||||
log.info("Application startup complete");
|
||||
};
|
||||
|
||||
if (!_.has(viewModelMap, "settingsViewModel")) {
|
||||
throw new Error("settingsViewModel is missing, can't run UI")
|
||||
}
|
||||
viewModelMap["settingsViewModel"].requestData()
|
||||
.done(bindViewModels);
|
||||
|
||||
log.info("Initial application setup done, connecting to server...");
|
||||
var dataUpdater = new DataUpdater(allViewModels);
|
||||
dataUpdater.connect()
|
||||
.done(function() {
|
||||
log.info("Finalizing application startup");
|
||||
|
||||
//~~ Starting up the app
|
||||
callViewModels(allViewModels, "onStartup");
|
||||
|
||||
viewModelMap["settingsViewModel"].requestData()
|
||||
.done(bindViewModels);
|
||||
});
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -637,12 +637,7 @@ $(function() {
|
|||
self.requestData(payload.remote, "sdcard");
|
||||
};
|
||||
|
||||
self.onServerConnect = function(payload) {
|
||||
self._enableDragNDrop(true);
|
||||
self.requestData(undefined, undefined, self.currentPath());
|
||||
};
|
||||
|
||||
self.onServerReconnect = function(payload) {
|
||||
self.onServerConnect = self.onServerReconnect = function(payload) {
|
||||
self._enableDragNDrop(true);
|
||||
self.requestData(undefined, undefined, self.currentPath());
|
||||
};
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ $(function() {
|
|||
self.allViewModels = allViewModels;
|
||||
};
|
||||
|
||||
self.onDataUpdaterReconnect = function() {
|
||||
self.onServerConnect = self.onServerReconnect = function() {
|
||||
self.requestData();
|
||||
};
|
||||
|
||||
|
|
@ -126,10 +126,6 @@ $(function() {
|
|||
})
|
||||
}
|
||||
};
|
||||
|
||||
self.onStartupComplete = function() {
|
||||
self.requestData();
|
||||
};
|
||||
}
|
||||
|
||||
OCTOPRINT_VIEWMODELS.push([
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ $(function() {
|
|||
|
||||
if (selectedSlicer != undefined) {
|
||||
self.slicer(selectedSlicer);
|
||||
self.profilesForSlicer(selectedSlicer);
|
||||
}
|
||||
|
||||
self.defaultSlicer = selectedSlicer;
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: OctoPrint\n"
|
||||
"Report-Msgid-Bugs-To: i18n@octoprint.org\n"
|
||||
"POT-Creation-Date: 2016-05-04 13:26+0200\n"
|
||||
"PO-Revision-Date: 2016-05-09 15:26+0100\n"
|
||||
"POT-Creation-Date: 2016-06-08 11:03+0200\n"
|
||||
"PO-Revision-Date: 2016-06-08 11:04+0100\n"
|
||||
"Last-Translator: Gina Häußge <osd@foosel.net>\n"
|
||||
"Language: de\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/octoprint/language/de/)\n"
|
||||
|
|
@ -976,128 +976,73 @@ msgstr "Zugriff"
|
|||
msgid "Interface"
|
||||
msgstr "Interface"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:94
|
||||
#: src/octoprint/static/js/app/dataupdater.js:129
|
||||
#: src/octoprint/static/js/app/dataupdater.js:92
|
||||
#: src/octoprint/static/js/app/dataupdater.js:127
|
||||
#: src/octoprint/static/js/app/helpers.js:451
|
||||
#: src/octoprint/templates/overlays/offline.jinja2:6
|
||||
msgid "Server is offline"
|
||||
msgstr "Der Server ist offline"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:95
|
||||
#: src/octoprint/static/js/app/dataupdater.js:93
|
||||
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 minutes</strong>, however you are welcome to try a manual reconnect anytime using the button below."
|
||||
msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich werde <strong>in den nächsten Minuten</strong> versuchen mich erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch jederzeit einen manuellen Verbindungsversuch anstoßen."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:130
|
||||
#: src/octoprint/static/js/app/dataupdater.js:128
|
||||
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 "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich <strong>konnte mich nicht automatisch neu verbinden</strong>, aber Du kannst mittels des folgenden Buttons einen manuellen Verbindungsversuch anstoßen."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:208
|
||||
#: src/octoprint/static/js/app/dataupdater.js:314
|
||||
#: src/octoprint/static/js/app/dataupdater.js:206
|
||||
#: src/octoprint/static/js/app/dataupdater.js:226
|
||||
#, python-format
|
||||
msgid "Slicing ... (%(percentage)d%%)"
|
||||
msgstr "Slice ... (%(percentage)d%%)"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:230
|
||||
msgid "Rendering timelapse"
|
||||
msgstr "Zeitrafferaufnahme wird gerendert"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:231
|
||||
#, python-format
|
||||
msgid "Now rendering timelapse %(movie_basename)s. Due to performance reasons it is not recommended to start a print job while a movie is still rendering."
|
||||
msgstr "Rendere jetzt die Zeitrafferaufnahme %(movie_basename)s. Aus Gründen der Performance ist es nicht empfehlenswert, einen Druckauftrage zu starten, so lange die Aufnahme noch gerendert wird."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:244
|
||||
msgid "Timelapse ready"
|
||||
msgstr "Zeitrafferaufnahme fertig"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:245
|
||||
#, 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:256
|
||||
#, python-format
|
||||
msgid "Rendering of timelapse %(movie_basename)s failed with return code %(returncode)s"
|
||||
msgstr "Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit Returncode %(returncode)s"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:263
|
||||
msgid "Rendering failed"
|
||||
msgstr "Rendering fehlgeschlagen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:276
|
||||
msgid "Capturing timelapse postroll"
|
||||
msgstr "Zeichne Timelapse-Postroll auf"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:280
|
||||
msgid "Now capturing timelapse post roll, this will take only a moment..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird nur einen Moment dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:287
|
||||
#, python-format
|
||||
msgid "%(minutes)d min"
|
||||
msgstr "%(minutes)d Min"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:288
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s (so until %(time)s)..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern (also etwa bis %(time)s)..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:290
|
||||
#, python-format
|
||||
msgid "%(seconds)d sec"
|
||||
msgstr "%(seconds) Sek"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:291
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:316
|
||||
#: src/octoprint/static/js/app/dataupdater.js:228
|
||||
msgid "Slicing ..."
|
||||
msgstr "Slice ..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:322
|
||||
#: src/octoprint/static/js/app/dataupdater.js:234
|
||||
msgid "Slicing done"
|
||||
msgstr "Slicing abgeschlossen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:322
|
||||
#: src/octoprint/static/js/app/dataupdater.js:234
|
||||
#, 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:332
|
||||
#: src/octoprint/static/js/app/dataupdater.js:244
|
||||
#, 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:333
|
||||
#: src/octoprint/static/js/app/dataupdater.js:245
|
||||
msgid "Slicing failed"
|
||||
msgstr "Slicing fehlgeschlagen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:337
|
||||
#: src/octoprint/static/js/app/dataupdater.js:249
|
||||
msgid "Streaming ..."
|
||||
msgstr "Streaming ..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:343
|
||||
#: src/octoprint/static/js/app/dataupdater.js:255
|
||||
msgid "Streaming done"
|
||||
msgstr "Streaming abgeschlossen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:344
|
||||
#: src/octoprint/static/js/app/dataupdater.js:256
|
||||
#, 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/dataupdater.js:350
|
||||
#: src/octoprint/static/js/app/dataupdater.js:358
|
||||
#: src/octoprint/static/js/app/dataupdater.js:262
|
||||
#: src/octoprint/static/js/app/dataupdater.js:270
|
||||
msgid "Unhandled communication error"
|
||||
msgstr "Unbehandelter Kommunikationsfehler"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:351
|
||||
#: src/octoprint/static/js/app/dataupdater.js:263
|
||||
#, python-format
|
||||
msgid "There was an unhandled error while talking to the printer. Due to that the ongoing print job was cancelled. Error: %(firmwareError)s"
|
||||
msgstr "Es gab einen unbehandelten Fehler bei der Kommunikation mit dem Drucker. Daher wurder der laufende Druckauftrag abgebrochen. Fehler: %(firmwareError)s"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:359
|
||||
#: src/octoprint/static/js/app/dataupdater.js:271
|
||||
#, python-format
|
||||
msgid "The was an unhandled error while talking to the printer. Due to that OctoPrint disconnected. Error: %(error)s"
|
||||
msgstr "Es gab einen unbehandelten Fehler bei der Kommunikation mit dem Drucker. Daher hat OctoPrint die Verbindung getrennt. Fehler: %(error)s"
|
||||
|
|
@ -1550,6 +1495,61 @@ msgstr "zeige %(displayed)d Zeilen (Buffer voll)"
|
|||
msgid "showing %(displayed)d lines"
|
||||
msgstr "zeige %(displayed)d Zeilen"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:255
|
||||
msgid "Capturing timelapse postroll"
|
||||
msgstr "Zeichne Timelapse-Postroll auf"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:259
|
||||
msgid "Now capturing timelapse post roll, this will take only a moment..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird nur einen Moment dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:266
|
||||
#, python-format
|
||||
msgid "%(minutes)d min"
|
||||
msgstr "%(minutes)d Min"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:267
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s (so until %(time)s)..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern (also etwa bis %(time)s)..."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:269
|
||||
#, python-format
|
||||
msgid "%(seconds)d sec"
|
||||
msgstr "%(seconds) Sek"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:270
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:283
|
||||
msgid "Rendering timelapse"
|
||||
msgstr "Zeitrafferaufnahme wird gerendert"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:284
|
||||
#, python-format
|
||||
msgid "Now rendering timelapse %(movie_prefix)s. Due to performance reasons it is not recommended to start a print job while a movie is still rendering."
|
||||
msgstr "Rendere jetzt die Zeitrafferaufnahme %(movie_prefix)s. Aus Gründen der Performance ist es nicht empfehlenswert, einen Druckauftrage zu starten, so lange die Aufnahme noch gerendert wird."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:290
|
||||
#, python-format
|
||||
msgid "Rendering of timelapse %(movie_prefix)s failed with return code %(returncode)s"
|
||||
msgstr "Rendering der Zeitrafferaufnahme %(movie_prefix)s fehlgeschlagen mit Returncode %(returncode)s"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:294
|
||||
msgid "Rendering failed"
|
||||
msgstr "Rendering fehlgeschlagen"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:303
|
||||
msgid "Timelapse ready"
|
||||
msgstr "Zeitrafferaufnahme fertig"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:304
|
||||
#, python-format
|
||||
msgid "New timelapse %(movie_prefix)s is done rendering."
|
||||
msgstr "Neue Zeitrafferaufnahme %(movie_prefix)s wurde fertig gerendert"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/usersettings.js:10
|
||||
msgid "Site default"
|
||||
msgstr "Seitenvoreinstellung"
|
||||
|
|
@ -1994,6 +1994,10 @@ msgstr "Warnung"
|
|||
msgid "Critical"
|
||||
msgstr "Kritisch"
|
||||
|
||||
#: src/octoprint/templates/dialogs/settings/folders.jinja2:59
|
||||
msgid "Provide values including size unit. Allowed units are: b, byte, bytes, kb, mb, gb, tb (case insensitive). Example: <code>5MB</code>, <code>500KB</code>"
|
||||
msgstr "Wert inklusive Größeneinheit. Erlaubte Einheiten sind: b, byte, bytes, kb, mb, gb, tb (Groß-/Kleinschreibung irrelevant). Beispiel: <code>5MB</code>, <code>500KB</code>"
|
||||
|
||||
#: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3
|
||||
msgid "Before print job starts"
|
||||
msgstr "Vor dem Start eines Druckjobs"
|
||||
|
|
@ -2826,11 +2830,11 @@ msgstr "Ungerenderte Zeitrafferaufnahmen"
|
|||
msgid "Frames"
|
||||
msgstr "Frames"
|
||||
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:97
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:99
|
||||
msgid "Delete unrendered timelapse"
|
||||
msgstr "Ungerenderte Zeitrafferaufnahme löschen"
|
||||
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:97
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:99
|
||||
msgid "Render timelapse"
|
||||
msgstr "Zeitrafferaufnahme rendern"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: OctoPrint\n"
|
||||
"Report-Msgid-Bugs-To: i18n@octoprint.org\n"
|
||||
"POT-Creation-Date: 2016-05-04 13:26+0200\n"
|
||||
"PO-Revision-Date: 2016-05-09 15:26+0100\n"
|
||||
"POT-Creation-Date: 2016-06-08 11:03+0200\n"
|
||||
"PO-Revision-Date: 2016-06-08 11:04+0100\n"
|
||||
"Last-Translator: Gina Häußge <osd@foosel.net>\n"
|
||||
"Language: de\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/octoprint/language/de/)\n"
|
||||
|
|
@ -976,128 +976,73 @@ msgstr "Zugriff"
|
|||
msgid "Interface"
|
||||
msgstr "Interface"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:94
|
||||
#: src/octoprint/static/js/app/dataupdater.js:129
|
||||
#: src/octoprint/static/js/app/dataupdater.js:92
|
||||
#: src/octoprint/static/js/app/dataupdater.js:127
|
||||
#: src/octoprint/static/js/app/helpers.js:451
|
||||
#: src/octoprint/templates/overlays/offline.jinja2:6
|
||||
msgid "Server is offline"
|
||||
msgstr "Der Server ist offline"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:95
|
||||
#: src/octoprint/static/js/app/dataupdater.js:93
|
||||
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 minutes</strong>, however you are welcome to try a manual reconnect anytime using the button below."
|
||||
msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich werde <strong>in den nächsten Minuten</strong> versuchen mich erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch jederzeit einen manuellen Verbindungsversuch anstoßen."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:130
|
||||
#: src/octoprint/static/js/app/dataupdater.js:128
|
||||
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 "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich <strong>konnte mich nicht automatisch neu verbinden</strong>, aber Du kannst mittels des folgenden Buttons einen manuellen Verbindungsversuch anstoßen."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:208
|
||||
#: src/octoprint/static/js/app/dataupdater.js:314
|
||||
#: src/octoprint/static/js/app/dataupdater.js:206
|
||||
#: src/octoprint/static/js/app/dataupdater.js:226
|
||||
#, python-format
|
||||
msgid "Slicing ... (%(percentage)d%%)"
|
||||
msgstr "Slice ... (%(percentage)d%%)"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:230
|
||||
msgid "Rendering timelapse"
|
||||
msgstr "Zeitrafferaufnahme wird gerendert"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:231
|
||||
#, python-format
|
||||
msgid "Now rendering timelapse %(movie_basename)s. Due to performance reasons it is not recommended to start a print job while a movie is still rendering."
|
||||
msgstr "Rendere jetzt die Zeitrafferaufnahme %(movie_basename)s. Aus Gründen der Performance ist es nicht empfehlenswert, einen Druckauftrage zu starten, so lange die Aufnahme noch gerendert wird."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:244
|
||||
msgid "Timelapse ready"
|
||||
msgstr "Zeitrafferaufnahme fertig"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:245
|
||||
#, 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:256
|
||||
#, python-format
|
||||
msgid "Rendering of timelapse %(movie_basename)s failed with return code %(returncode)s"
|
||||
msgstr "Rendering der Zeitrafferaufnahme %(movie_basename)s fehlgeschlagen mit Returncode %(returncode)s"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:263
|
||||
msgid "Rendering failed"
|
||||
msgstr "Rendering fehlgeschlagen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:276
|
||||
msgid "Capturing timelapse postroll"
|
||||
msgstr "Zeichne Timelapse-Postroll auf"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:280
|
||||
msgid "Now capturing timelapse post roll, this will take only a moment..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird nur einen Moment dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:287
|
||||
#, python-format
|
||||
msgid "%(minutes)d min"
|
||||
msgstr "%(minutes)d Min"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:288
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s (so until %(time)s)..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern (also etwa bis %(time)s)..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:290
|
||||
#, python-format
|
||||
msgid "%(seconds)d sec"
|
||||
msgstr "%(seconds) Sek"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:291
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:316
|
||||
#: src/octoprint/static/js/app/dataupdater.js:228
|
||||
msgid "Slicing ..."
|
||||
msgstr "Slice ..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:322
|
||||
#: src/octoprint/static/js/app/dataupdater.js:234
|
||||
msgid "Slicing done"
|
||||
msgstr "Slicing abgeschlossen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:322
|
||||
#: src/octoprint/static/js/app/dataupdater.js:234
|
||||
#, 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:332
|
||||
#: src/octoprint/static/js/app/dataupdater.js:244
|
||||
#, 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:333
|
||||
#: src/octoprint/static/js/app/dataupdater.js:245
|
||||
msgid "Slicing failed"
|
||||
msgstr "Slicing fehlgeschlagen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:337
|
||||
#: src/octoprint/static/js/app/dataupdater.js:249
|
||||
msgid "Streaming ..."
|
||||
msgstr "Streaming ..."
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:343
|
||||
#: src/octoprint/static/js/app/dataupdater.js:255
|
||||
msgid "Streaming done"
|
||||
msgstr "Streaming abgeschlossen"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:344
|
||||
#: src/octoprint/static/js/app/dataupdater.js:256
|
||||
#, 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/dataupdater.js:350
|
||||
#: src/octoprint/static/js/app/dataupdater.js:358
|
||||
#: src/octoprint/static/js/app/dataupdater.js:262
|
||||
#: src/octoprint/static/js/app/dataupdater.js:270
|
||||
msgid "Unhandled communication error"
|
||||
msgstr "Unbehandelter Kommunikationsfehler"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:351
|
||||
#: src/octoprint/static/js/app/dataupdater.js:263
|
||||
#, python-format
|
||||
msgid "There was an unhandled error while talking to the printer. Due to that the ongoing print job was cancelled. Error: %(firmwareError)s"
|
||||
msgstr "Es gab einen unbehandelten Fehler bei der Kommunikation mit dem Drucker. Daher wurder der laufende Druckauftrag abgebrochen. Fehler: %(firmwareError)s"
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:359
|
||||
#: src/octoprint/static/js/app/dataupdater.js:271
|
||||
#, python-format
|
||||
msgid "The was an unhandled error while talking to the printer. Due to that OctoPrint disconnected. Error: %(error)s"
|
||||
msgstr "Es gab einen unbehandelten Fehler bei der Kommunikation mit dem Drucker. Daher hat OctoPrint die Verbindung getrennt. Fehler: %(error)s"
|
||||
|
|
@ -1550,6 +1495,61 @@ msgstr "zeige %(displayed)d Zeilen (Buffer voll)"
|
|||
msgid "showing %(displayed)d lines"
|
||||
msgstr "zeige %(displayed)d Zeilen"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:255
|
||||
msgid "Capturing timelapse postroll"
|
||||
msgstr "Zeichne Timelapse-Postroll auf"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:259
|
||||
msgid "Now capturing timelapse post roll, this will take only a moment..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird nur einen Moment dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:266
|
||||
#, python-format
|
||||
msgid "%(minutes)d min"
|
||||
msgstr "%(minutes)d Min"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:267
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s (so until %(time)s)..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern (also etwa bis %(time)s)..."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:269
|
||||
#, python-format
|
||||
msgid "%(seconds)d sec"
|
||||
msgstr "%(seconds) Sek"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:270
|
||||
#, python-format
|
||||
msgid "Now capturing timelapse post roll, this will take approximately %(duration)s..."
|
||||
msgstr "Zeichne jetzt Timelapse-Postroll auf, dies wird voraussichtlich %(duration)s dauern..."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:283
|
||||
msgid "Rendering timelapse"
|
||||
msgstr "Zeitrafferaufnahme wird gerendert"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:284
|
||||
#, python-format
|
||||
msgid "Now rendering timelapse %(movie_prefix)s. Due to performance reasons it is not recommended to start a print job while a movie is still rendering."
|
||||
msgstr "Rendere jetzt die Zeitrafferaufnahme %(movie_prefix)s. Aus Gründen der Performance ist es nicht empfehlenswert, einen Druckauftrage zu starten, so lange die Aufnahme noch gerendert wird."
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:290
|
||||
#, python-format
|
||||
msgid "Rendering of timelapse %(movie_prefix)s failed with return code %(returncode)s"
|
||||
msgstr "Rendering der Zeitrafferaufnahme %(movie_prefix)s fehlgeschlagen mit Returncode %(returncode)s"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:294
|
||||
msgid "Rendering failed"
|
||||
msgstr "Rendering fehlgeschlagen"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:303
|
||||
msgid "Timelapse ready"
|
||||
msgstr "Zeitrafferaufnahme fertig"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:304
|
||||
#, python-format
|
||||
msgid "New timelapse %(movie_prefix)s is done rendering."
|
||||
msgstr "Neue Zeitrafferaufnahme %(movie_prefix)s wurde fertig gerendert"
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/usersettings.js:10
|
||||
msgid "Site default"
|
||||
msgstr "Seitenvoreinstellung"
|
||||
|
|
@ -1994,6 +1994,10 @@ msgstr "Warnung"
|
|||
msgid "Critical"
|
||||
msgstr "Kritisch"
|
||||
|
||||
#: src/octoprint/templates/dialogs/settings/folders.jinja2:59
|
||||
msgid "Provide values including size unit. Allowed units are: b, byte, bytes, kb, mb, gb, tb (case insensitive). Example: <code>5MB</code>, <code>500KB</code>"
|
||||
msgstr "Wert inklusive Größeneinheit. Erlaubte Einheiten sind: b, byte, bytes, kb, mb, gb, tb (Groß-/Kleinschreibung irrelevant). Beispiel: <code>5MB</code>, <code>500KB</code>"
|
||||
|
||||
#: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3
|
||||
msgid "Before print job starts"
|
||||
msgstr "Vor dem Start eines Druckjobs"
|
||||
|
|
@ -2826,11 +2830,11 @@ msgstr "Ungerenderte Zeitrafferaufnahmen"
|
|||
msgid "Frames"
|
||||
msgstr "Frames"
|
||||
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:97
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:99
|
||||
msgid "Delete unrendered timelapse"
|
||||
msgstr "Ungerenderte Zeitrafferaufnahme löschen"
|
||||
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:97
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:99
|
||||
msgid "Render timelapse"
|
||||
msgstr "Zeitrafferaufnahme rendern"
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OctoPrint 1.2.11.dev32+g76959e0.dirty\n"
|
||||
"Project-Id-Version: OctoPrint 1.2.12.dev21+g5006b01.dirty\n"
|
||||
"Report-Msgid-Bugs-To: i18n@octoprint.org\n"
|
||||
"POT-Creation-Date: 2016-05-04 13:26+0200\n"
|
||||
"POT-Creation-Date: 2016-06-08 11:03+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"
|
||||
|
|
@ -1045,14 +1045,14 @@ msgstr ""
|
|||
msgid "Interface"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:94
|
||||
#: src/octoprint/static/js/app/dataupdater.js:129
|
||||
#: src/octoprint/static/js/app/dataupdater.js:92
|
||||
#: src/octoprint/static/js/app/dataupdater.js:127
|
||||
#: src/octoprint/static/js/app/helpers.js:451
|
||||
#: src/octoprint/templates/overlays/offline.jinja2:6
|
||||
msgid "Server is offline"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:95
|
||||
#: src/octoprint/static/js/app/dataupdater.js:93
|
||||
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"
|
||||
|
|
@ -1060,131 +1060,67 @@ msgid ""
|
|||
"anytime using the button below."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:130
|
||||
#: src/octoprint/static/js/app/dataupdater.js:128
|
||||
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:208
|
||||
#: src/octoprint/static/js/app/dataupdater.js:314
|
||||
#: src/octoprint/static/js/app/dataupdater.js:206
|
||||
#: src/octoprint/static/js/app/dataupdater.js:226
|
||||
#, python-format
|
||||
msgid "Slicing ... (%(percentage)d%%)"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:230
|
||||
msgid "Rendering timelapse"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:231
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Now rendering timelapse %(movie_basename)s. Due to performance reasons it"
|
||||
" is not recommended to start a print job while a movie is still "
|
||||
"rendering."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:244
|
||||
msgid "Timelapse ready"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:245
|
||||
#, python-format
|
||||
msgid "New timelapse %(movie_basename)s is done rendering."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:256
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Rendering of timelapse %(movie_basename)s failed with return code "
|
||||
"%(returncode)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:263
|
||||
msgid "Rendering failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:276
|
||||
msgid "Capturing timelapse postroll"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:280
|
||||
msgid "Now capturing timelapse post roll, this will take only a moment..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:287
|
||||
#, python-format
|
||||
msgid "%(minutes)d min"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:288
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Now capturing timelapse post roll, this will take approximately "
|
||||
"%(duration)s (so until %(time)s)..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:290
|
||||
#, python-format
|
||||
msgid "%(seconds)d sec"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:291
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Now capturing timelapse post roll, this will take approximately "
|
||||
"%(duration)s..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:316
|
||||
#: src/octoprint/static/js/app/dataupdater.js:228
|
||||
msgid "Slicing ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:322
|
||||
#: src/octoprint/static/js/app/dataupdater.js:234
|
||||
msgid "Slicing done"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:322
|
||||
#: src/octoprint/static/js/app/dataupdater.js:234
|
||||
#, python-format
|
||||
msgid "Sliced %(stl)s to %(gcode)s, took %(time).2f seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:332
|
||||
#: src/octoprint/static/js/app/dataupdater.js:244
|
||||
#, python-format
|
||||
msgid "Could not slice %(stl)s to %(gcode)s: %(reason)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:333
|
||||
#: src/octoprint/static/js/app/dataupdater.js:245
|
||||
msgid "Slicing failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:337
|
||||
#: src/octoprint/static/js/app/dataupdater.js:249
|
||||
msgid "Streaming ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:343
|
||||
#: src/octoprint/static/js/app/dataupdater.js:255
|
||||
msgid "Streaming done"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:344
|
||||
#: src/octoprint/static/js/app/dataupdater.js:256
|
||||
#, python-format
|
||||
msgid "Streamed %(local)s to %(remote)s on SD, took %(time).2f seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:350
|
||||
#: src/octoprint/static/js/app/dataupdater.js:358
|
||||
#: src/octoprint/static/js/app/dataupdater.js:262
|
||||
#: src/octoprint/static/js/app/dataupdater.js:270
|
||||
msgid "Unhandled communication error"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:351
|
||||
#: src/octoprint/static/js/app/dataupdater.js:263
|
||||
#, python-format
|
||||
msgid ""
|
||||
"There was an unhandled error while talking to the printer. Due to that "
|
||||
"the ongoing print job was cancelled. Error: %(firmwareError)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/dataupdater.js:359
|
||||
#: src/octoprint/static/js/app/dataupdater.js:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The was an unhandled error while talking to the printer. Due to that "
|
||||
|
|
@ -1655,6 +1591,69 @@ msgstr ""
|
|||
msgid "showing %(displayed)d lines"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:255
|
||||
msgid "Capturing timelapse postroll"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:259
|
||||
msgid "Now capturing timelapse post roll, this will take only a moment..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:266
|
||||
#, python-format
|
||||
msgid "%(minutes)d min"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:267
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Now capturing timelapse post roll, this will take approximately "
|
||||
"%(duration)s (so until %(time)s)..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:269
|
||||
#, python-format
|
||||
msgid "%(seconds)d sec"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:270
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Now capturing timelapse post roll, this will take approximately "
|
||||
"%(duration)s..."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:283
|
||||
msgid "Rendering timelapse"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:284
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Now rendering timelapse %(movie_prefix)s. Due to performance reasons it "
|
||||
"is not recommended to start a print job while a movie is still rendering."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:290
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Rendering of timelapse %(movie_prefix)s failed with return code "
|
||||
"%(returncode)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:294
|
||||
msgid "Rendering failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:303
|
||||
msgid "Timelapse ready"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/timelapse.js:304
|
||||
#, python-format
|
||||
msgid "New timelapse %(movie_prefix)s is done rendering."
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/static/js/app/viewmodels/usersettings.js:10
|
||||
msgid "Site default"
|
||||
msgstr ""
|
||||
|
|
@ -2109,6 +2108,13 @@ msgstr ""
|
|||
msgid "Critical"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/templates/dialogs/settings/folders.jinja2:59
|
||||
msgid ""
|
||||
"Provide values including size unit. Allowed units are: b, byte, bytes, "
|
||||
"kb, mb, gb, tb (case insensitive). Example: <code>5MB</code>, "
|
||||
"<code>500KB</code>"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/templates/dialogs/settings/gcodescripts.jinja2:3
|
||||
msgid "Before print job starts"
|
||||
msgstr ""
|
||||
|
|
@ -3006,11 +3012,11 @@ msgstr ""
|
|||
msgid "Frames"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:97
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:99
|
||||
msgid "Delete unrendered timelapse"
|
||||
msgstr ""
|
||||
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:97
|
||||
#: src/octoprint/templates/tabs/timelapse.jinja2:99
|
||||
msgid "Render timelapse"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue