diff --git a/.versioneer-lookup b/.versioneer-lookup index 9bc29b46..3d72f7f7 100644 --- a/.versioneer-lookup +++ b/.versioneer-lookup @@ -16,11 +16,11 @@ rc HEAD \(detached.* -# maintenance is currently the branch for preparation of maintenance release 1.2.13 +# maintenance is currently the branch for preparation of maintenance release 1.2.14 # so are any fix/... and improve/... branches -maintenance 1.2.13 685ce16c85eea9c4f11586ea99c9a84aca382bd4 pep440-dev -fix/.* 1.2.13 685ce16c85eea9c4f11586ea99c9a84aca382bd4 pep440-dev -improve/.* 1.2.13 685ce16c85eea9c4f11586ea99c9a84aca382bd4 pep440-dev +maintenance 1.2.14 cb2e0d449f607bbc89c7ad13c983a0cf11bbfdee pep440-dev +fix/.* 1.2.14 cb2e0d449f607bbc89c7ad13c983a0cf11bbfdee pep440-dev +improve/.* 1.2.14 cb2e0d449f607bbc89c7ad13c983a0cf11bbfdee 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 diff --git a/CHANGELOG.md b/CHANGELOG.md index de984d39..b8cd3d2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,6 +74,18 @@ * [#1047](https://github.com/foosel/OctoPrint/issues/1047) - Fixed 90 degree webcam rotation for iOS Safari. +## 1.2.13 (2016-06-16) + +### Bug Fixes + + * [#1373](https://github.com/foosel/OctoPrint/issues/1373): Don't parse `B:` as bed temperature when it shows up as part of a position report from `M114`. + * [#1374](https://github.com/foosel/OctoPrint/issues/1374): Don't try to perform a passive login when the components we'd need to inform about a change in login state aren't yet available. Solves a bug that lead - among other things - to the Plugin Manager and the Software Update Plugin not showing anything but misleading errors until the user logged out and back in. + * Fixed the temperature graph staying uninitialized until a connection to a printer was established. + * Fixed an error causing issues during frontend startup if the browser doesn't support tracking browser visibility. + * Fixed an error causing issues during frontend startup if the browser doesn't support the capabilities needed for the GCODE viewer. + +([Commits](https://github.com/foosel/OctoPrint/compare/1.2.12...1.2.13)) + ## 1.2.12 (2016-06-09) ### Improvements diff --git a/src/octoprint/plugins/virtual_printer/virtual.py b/src/octoprint/plugins/virtual_printer/virtual.py index ab0773f2..556bd5ba 100644 --- a/src/octoprint/plugins/virtual_printer/virtual.py +++ b/src/octoprint/plugins/virtual_printer/virtual.py @@ -332,7 +332,7 @@ class VirtualPrinter(object): self._deleteSdFile(filename) def _gcode_M114(self, data): - output = "C: X:{} Y:{} Z:{} E:{}".format(self._lastX, self._lastY, self._lastZ, self._lastE) + output = "X:{} Y:{} Z:{} E:{} Count: A:{} B:{} C:{}".format(self._lastX, self._lastY, self._lastZ, self._lastE, int(self._lastX*100), int(self.lastY*100), int(self.lastZ*100)) if not self._okBeforeCommandOutput: output = "ok " + output self._send(output) diff --git a/src/octoprint/static/gcodeviewer/js/ui.js b/src/octoprint/static/gcodeviewer/js/ui.js index 47d539fd..31a4aeef 100644 --- a/src/octoprint/static/gcodeviewer/js/ui.js +++ b/src/octoprint/static/gcodeviewer/js/ui.js @@ -104,8 +104,11 @@ GCODE.ui = (function(){ if(!Modernizr.webworkers)fatal.push("
  • Your browser doesn't seem to support HTML5 Web Workers, this application won't work without it.
  • "); if(!Modernizr.svg)fatal.push("
  • Your browser doesn't seem to support HTML5 SVG, this application won't work without it.
  • "); + var errorList = document.getElementById("errorList"); if(fatal.length>0){ - document.getElementById('errorList').innerHTML = ''; + if (errorList) { + errorList.innerHTML = ''; + } console.log("Initialization failed: unsupported browser.") return false; } @@ -117,8 +120,10 @@ GCODE.ui = (function(){ if(!Modernizr.draganddrop)warnings.push("
  • Your browser doesn't seem to support HTML5 Drag'n'Drop, Drop area will not work.
  • "); if(warnings.length>0){ - document.getElementById('errorList').innerHTML = ''; - console.log("Initialization succeeded with warnings.") + if (errorList) { + errorList.innerHTML = ''; + } + console.log("Initialization succeeded with warnings.", warnings); } return true; }; @@ -138,12 +143,12 @@ GCODE.ui = (function(){ init: function(options){ if (options) setOptions(options); if (!options.container) { - return; + return false; } var capabilitiesResult = checkCapabilities(); if (!capabilitiesResult) { - return; + return false; } setProgress("", 0); @@ -159,6 +164,8 @@ GCODE.ui = (function(){ toolOffsets: options.toolOffsets }); GCODE.renderer.render(0, 0); + + return true; }, clear: function() { @@ -196,4 +203,4 @@ GCODE.ui = (function(){ switchCommands(layerNum, first, last); } } -}()); \ No newline at end of file +}()); diff --git a/src/octoprint/static/js/app/main.js b/src/octoprint/static/js/app/main.js index 8f55cdd2..e3d9e8b8 100644 --- a/src/octoprint/static/js/app/main.js +++ b/src/octoprint/static/js/app/main.js @@ -74,12 +74,12 @@ $(function() { // register for browser visibility tracking var prop = getHiddenProp(); - if (!prop) return undefined; + if (prop) { + var eventName = prop.replace(/[H|h]idden/, "") + "visibilitychange"; + document.addEventListener(eventName, updateBrowserVisibility); - var eventName = prop.replace(/[H|h]idden/, "") + "visibilitychange"; - document.addEventListener(eventName, updateBrowserVisibility); - - updateBrowserVisibility(); + updateBrowserVisibility(); + } // exports diff --git a/src/octoprint/static/js/app/viewmodels/gcode.js b/src/octoprint/static/js/app/viewmodels/gcode.js index c3f60296..2aa4044e 100644 --- a/src/octoprint/static/js/app/viewmodels/gcode.js +++ b/src/octoprint/static/js/app/viewmodels/gcode.js @@ -236,7 +236,7 @@ $(function() { self.settings.requestData() .done(function() { - GCODE.ui.init({ + var initResult = GCODE.ui.init({ container: "#gcode_canvas", onProgress: self._onProgress, onModelLoaded: self._onModelLoaded, @@ -245,6 +245,12 @@ $(function() { toolOffsets: self._retrieveToolOffsets(), invertAxes: self._retrieveAxesConfiguration() }); + + if (!initResult) { + log.info("Could not initialize GCODE viewer component"); + return; + } + self.synchronizeOptions(); self.enabled = true; }); diff --git a/src/octoprint/static/js/app/viewmodels/loginstate.js b/src/octoprint/static/js/app/viewmodels/loginstate.js index f1133abf..7a72a0cd 100644 --- a/src/octoprint/static/js/app/viewmodels/loginstate.js +++ b/src/octoprint/static/js/app/viewmodels/loginstate.js @@ -111,7 +111,8 @@ $(function() { self.allViewModels = allViewModels; }; - self.onServerConnect = self.onServerReconnect = function() { + self.onStartupComplete = self.onServerConnect = self.onServerReconnect = function() { + if (self.allViewModels == undefined) return; self.requestData(); }; diff --git a/src/octoprint/static/js/app/viewmodels/temperature.js b/src/octoprint/static/js/app/viewmodels/temperature.js index 17cec93f..08735704 100644 --- a/src/octoprint/static/js/app/viewmodels/temperature.js +++ b/src/octoprint/static/js/app/viewmodels/temperature.js @@ -40,13 +40,15 @@ $(function() { var graphColors = ["red", "orange", "green", "brown", "purple"]; var heaterOptions = {}; var tools = self.tools(); + var color; // tools - var numExtruders = self.settingsViewModel.printerProfiles.currentProfileData().extruder.count(); + var currentProfileData = self.settingsViewModel.printerProfiles.currentProfileData(); + var numExtruders = (currentProfileData ? currentProfileData.extruder.count() : 0); if (numExtruders && numExtruders > 1) { // multiple extruders for (var extruder = 0; extruder < numExtruders; extruder++) { - var color = graphColors.shift(); + color = graphColors.shift(); if (!color) color = "black"; heaterOptions["tool" + extruder] = {name: "T" + extruder, color: color}; @@ -56,9 +58,9 @@ $(function() { tools[extruder]["name"](gettext("Tool") + " " + extruder); tools[extruder]["key"]("tool" + extruder); } - } else { + } else if (numExtruders == 1) { // only one extruder, no need to add numbers - var color = graphColors[0]; + color = graphColors[0]; heaterOptions["tool0"] = {name: "T", color: color}; if (tools.length < 1 || !tools[0]) { @@ -69,7 +71,7 @@ $(function() { } // print bed - if (self.settingsViewModel.printerProfiles.currentProfileData().heatedBed()) { + if (currentProfileData && currentProfileData.heatedBed()) { self.hasBed(true); heaterOptions["bed"] = {name: gettext("Bed"), color: "blue"}; } else { @@ -79,11 +81,12 @@ $(function() { // write back self.heaterOptions(heaterOptions); self.tools(tools); + self.updatePlot(); }; self.settingsViewModel.printerProfiles.currentProfileData.subscribe(function() { self._printerProfileUpdated(); self.settingsViewModel.printerProfiles.currentProfileData().extruder.count.subscribe(self._printerProfileUpdated); - self.settingsViewModel.printerProfiles.currentProfileData().heatedBed.subscribe(self._printerProfileUpdated()); + self.settingsViewModel.printerProfiles.currentProfileData().heatedBed.subscribe(self._printerProfileUpdated); }); self.temperatures = []; @@ -386,7 +389,11 @@ $(function() { return; } self.updatePlot(); - } + }; + + self.onStartupComplete = function() { + self._printerProfileUpdated(); + }; } diff --git a/src/octoprint/util/comm.py b/src/octoprint/util/comm.py index 27181edb..5f2f2d35 100644 --- a/src/octoprint/util/comm.py +++ b/src/octoprint/util/comm.py @@ -1075,8 +1075,17 @@ class MachineCom(object): if handled and self._state not in (self.STATE_CONNECTING, self.STATE_DETECT_BAUDRATE): continue - ##~~ Temperature processing - if ' T:' in line or line.startswith('T:') or ' T0:' in line or line.startswith('T0:') or ' B:' in line or line.startswith('B:'): + # position report processing + if 'X:' in line and 'Y:' in line and 'Z:' in line: + # currently only here to prevent any "B:"s in a position report from + # triggering temperature processing and being interpreted as a bed + # temperature - can happen with COREXY in current Marlin + # + # see also issue #1373 + pass + + # temperature processing + elif ' T:' in line or line.startswith('T:') or ' T0:' in line or line.startswith('T0:') or ((' B:' in line or line.startswith('B:')) and not 'A:' in line): if not disable_external_heatup_detection and not line.strip().startswith("ok") and not self._heating: self._logger.debug("Externally triggered heatup detected") self._heating = True diff --git a/translations/de/LC_MESSAGES/messages.po b/translations/de/LC_MESSAGES/messages.po index 1aaf2389..42e8da64 100644 --- a/translations/de/LC_MESSAGES/messages.po +++ b/translations/de/LC_MESSAGES/messages.po @@ -5,21 +5,20 @@ # msgid "" msgstr "" -"Project-Id-Version: OctoPrint\n" +"Project-Id-Version: OctoPrint\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2016-06-08 11:03+0200\n" +"POT-Creation-Date: 2016-06-16 12:18+0200\n" "PO-Revision-Date: 2016-06-08 11:04+0100\n" "Last-Translator: Gina Häußge \n" "Language: de\n" "Language-Team: German (http://www.transifex.com/projects/p/octoprint/language/de/)\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.2.0\n" -"X-Generator: Poedit 1.6.8\n" -#: src/octoprint/plugins/announcements/__init__.py:85 +#: src/octoprint/plugins/announcements/__init__.py:89 #: src/octoprint/plugins/announcements/templates/announcements.jinja2:4 #: src/octoprint/plugins/announcements/templates/announcements_navbar.jinja2:1 msgid "Announcements" @@ -976,73 +975,73 @@ msgstr "Zugriff" msgid "Interface" msgstr "Interface" -#: src/octoprint/static/js/app/dataupdater.js:92 -#: src/octoprint/static/js/app/dataupdater.js:127 +#: src/octoprint/static/js/app/dataupdater.js:96 +#: src/octoprint/static/js/app/dataupdater.js:131 #: 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:93 +#: src/octoprint/static/js/app/dataupdater.js:97 msgid "The server appears to be offline, at least I'm not getting any response from it. I'll try to reconnect automatically over the next couple of minutes, however you are welcome to try a manual reconnect anytime using the button below." msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich werde in den nächsten Minuten versuchen mich erneut zu verbinden, aber Du kannst mittels des folgenden Buttons auch jederzeit einen manuellen Verbindungsversuch anstoßen." -#: src/octoprint/static/js/app/dataupdater.js:128 +#: src/octoprint/static/js/app/dataupdater.js:132 msgid "The server appears to be offline, at least I'm not getting any response from it. I could not reconnect automatically, but you may try a manual reconnect using the button below." msgstr "Der Server scheint offline zu sein, zumindest kann ich mich nicht mit ihm verbinden. Ich konnte mich nicht automatisch neu verbinden, aber Du kannst mittels des folgenden Buttons einen manuellen Verbindungsversuch anstoßen." -#: src/octoprint/static/js/app/dataupdater.js:206 -#: src/octoprint/static/js/app/dataupdater.js:226 +#: src/octoprint/static/js/app/dataupdater.js:217 +#: src/octoprint/static/js/app/dataupdater.js:237 #, python-format msgid "Slicing ... (%(percentage)d%%)" msgstr "Slice ... (%(percentage)d%%)" -#: src/octoprint/static/js/app/dataupdater.js:228 +#: src/octoprint/static/js/app/dataupdater.js:239 msgid "Slicing ..." msgstr "Slice ..." -#: src/octoprint/static/js/app/dataupdater.js:234 +#: src/octoprint/static/js/app/dataupdater.js:245 msgid "Slicing done" msgstr "Slicing abgeschlossen" -#: src/octoprint/static/js/app/dataupdater.js:234 +#: src/octoprint/static/js/app/dataupdater.js:245 #, 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:244 +#: src/octoprint/static/js/app/dataupdater.js:255 #, 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:245 +#: src/octoprint/static/js/app/dataupdater.js:256 msgid "Slicing failed" msgstr "Slicing fehlgeschlagen" -#: src/octoprint/static/js/app/dataupdater.js:249 +#: src/octoprint/static/js/app/dataupdater.js:260 msgid "Streaming ..." msgstr "Streaming ..." -#: src/octoprint/static/js/app/dataupdater.js:255 +#: src/octoprint/static/js/app/dataupdater.js:266 msgid "Streaming done" msgstr "Streaming abgeschlossen" -#: src/octoprint/static/js/app/dataupdater.js:256 +#: src/octoprint/static/js/app/dataupdater.js:267 #, 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:262 -#: src/octoprint/static/js/app/dataupdater.js:270 +#: src/octoprint/static/js/app/dataupdater.js:273 +#: src/octoprint/static/js/app/dataupdater.js:281 msgid "Unhandled communication error" msgstr "Unbehandelter Kommunikationsfehler" -#: src/octoprint/static/js/app/dataupdater.js:263 +#: src/octoprint/static/js/app/dataupdater.js:274 #, 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:271 +#: src/octoprint/static/js/app/dataupdater.js:282 #, 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" @@ -1120,14 +1119,14 @@ msgstr "Trennen" #: src/octoprint/static/js/app/viewmodels/control.js:65 #: src/octoprint/static/js/app/viewmodels/files.js:329 -#: src/octoprint/static/js/app/viewmodels/gcode.js:465 +#: src/octoprint/static/js/app/viewmodels/gcode.js:471 #: src/octoprint/static/js/app/viewmodels/printerstate.js:177 -#: src/octoprint/static/js/app/viewmodels/temperature.js:56 +#: src/octoprint/static/js/app/viewmodels/temperature.js:58 msgid "Tool" msgstr "Werkzeug" #: src/octoprint/static/js/app/viewmodels/control.js:71 -#: src/octoprint/static/js/app/viewmodels/temperature.js:67 +#: src/octoprint/static/js/app/viewmodels/temperature.js:69 msgid "Hotend" msgstr "Hotend" @@ -1160,15 +1159,15 @@ msgstr "Zuletzt gedruckt" msgid "Last Print Time" msgstr "Letzte Druckdauer" -#: src/octoprint/static/js/app/viewmodels/files.js:520 +#: src/octoprint/static/js/app/viewmodels/files.js:515 msgid "Could not upload the file. Make sure that it is a GCODE file and has the extension \".gcode\" or \".gco\" or that it is an STL file with the extension \".stl\"." msgstr "Konnte die Datei nicht hochladen. Bitte stelle sicher, dass es sich um eine GCODE-Datei mit der Extension \".gcode\" oder \".gco\" oder um eine STL-Datei mit der Extension \".stl\" handelt." -#: src/octoprint/static/js/app/viewmodels/files.js:541 +#: src/octoprint/static/js/app/viewmodels/files.js:536 msgid "Uploading ..." msgstr "Uploade ..." -#: src/octoprint/static/js/app/viewmodels/files.js:548 +#: src/octoprint/static/js/app/viewmodels/files.js:543 msgid "Saving ..." msgstr "Speichere ..." @@ -1188,52 +1187,52 @@ msgstr "Analysiere..." msgid "Analyzed" msgstr "Analysiert" -#: src/octoprint/static/js/app/viewmodels/gcode.js:431 +#: src/octoprint/static/js/app/viewmodels/gcode.js:437 msgid "Model size" msgstr "Modelgröße" -#: src/octoprint/static/js/app/viewmodels/gcode.js:432 +#: src/octoprint/static/js/app/viewmodels/gcode.js:438 msgid "Estimated total print time" msgstr "Geschätzte Gesamtdruckdauer" -#: src/octoprint/static/js/app/viewmodels/gcode.js:433 +#: src/octoprint/static/js/app/viewmodels/gcode.js:439 msgid "Estimated layer height" msgstr "Geschätzte Schichthöhe" -#: src/octoprint/static/js/app/viewmodels/gcode.js:433 +#: src/octoprint/static/js/app/viewmodels/gcode.js:439 msgid "mm" msgstr "mm" -#: src/octoprint/static/js/app/viewmodels/gcode.js:434 +#: src/octoprint/static/js/app/viewmodels/gcode.js:440 msgid "Layer count" msgstr "Schichtanzahl" -#: src/octoprint/static/js/app/viewmodels/gcode.js:434 +#: src/octoprint/static/js/app/viewmodels/gcode.js:440 msgid "printed" msgstr "gedruckt" -#: src/octoprint/static/js/app/viewmodels/gcode.js:434 +#: src/octoprint/static/js/app/viewmodels/gcode.js:440 msgid "visited" msgstr "besucht" -#: src/octoprint/static/js/app/viewmodels/gcode.js:457 +#: src/octoprint/static/js/app/viewmodels/gcode.js:463 msgid "Layer number" msgstr "Schichtnummer" -#: src/octoprint/static/js/app/viewmodels/gcode.js:458 +#: src/octoprint/static/js/app/viewmodels/gcode.js:464 msgid "Layer height" msgstr "Schichthöhe" -#: src/octoprint/static/js/app/viewmodels/gcode.js:459 +#: src/octoprint/static/js/app/viewmodels/gcode.js:465 msgid "GCODE commands in layer" msgstr "GCODE Befehle in Schicht" -#: src/octoprint/static/js/app/viewmodels/gcode.js:462 -#: src/octoprint/static/js/app/viewmodels/gcode.js:465 +#: src/octoprint/static/js/app/viewmodels/gcode.js:468 +#: src/octoprint/static/js/app/viewmodels/gcode.js:471 msgid "Filament used by layer" msgstr "Genutztes Filament in Schicht" -#: src/octoprint/static/js/app/viewmodels/gcode.js:469 +#: src/octoprint/static/js/app/viewmodels/gcode.js:475 msgid "Print time for layer" msgstr "Druckdauer für Schicht" @@ -1452,25 +1451,25 @@ msgid "Slicing %(filename)s" msgstr "Slice %(filename)s" #: src/octoprint/static/js/app/viewmodels/temperature.js:23 -#: src/octoprint/static/js/app/viewmodels/temperature.js:74 +#: src/octoprint/static/js/app/viewmodels/temperature.js:76 #: src/octoprint/templates/dialogs/settings/temperatures.jinja2:16 msgid "Bed" msgstr "Bett" -#: src/octoprint/static/js/app/viewmodels/temperature.js:112 +#: src/octoprint/static/js/app/viewmodels/temperature.js:115 msgid "just now" msgstr "gerade eben" -#: src/octoprint/static/js/app/viewmodels/temperature.js:114 +#: src/octoprint/static/js/app/viewmodels/temperature.js:117 msgid "min" msgstr "Min" -#: src/octoprint/static/js/app/viewmodels/temperature.js:253 +#: src/octoprint/static/js/app/viewmodels/temperature.js:256 #: src/octoprint/templates/tabs/temperature.jinja2:11 msgid "Actual" msgstr "Ist" -#: src/octoprint/static/js/app/viewmodels/temperature.js:258 +#: src/octoprint/static/js/app/viewmodels/temperature.js:261 #: src/octoprint/templates/tabs/temperature.jinja2:12 msgid "Target" msgstr "Soll" @@ -2927,3 +2926,4 @@ msgstr "Zeitrafferaufnahme rendern" #~ msgid "Show Announcements..." #~ msgstr "Ankündigungen anzeigen..." + diff --git a/translations/messages.pot b/translations/messages.pot index 1bc5ef39..36190803 100644 --- a/translations/messages.pot +++ b/translations/messages.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: OctoPrint 1.2.12.dev21+g5006b01.dirty\n" +"Project-Id-Version: OctoPrint 1.2.13.dev7+g6c20e58\n" "Report-Msgid-Bugs-To: i18n@octoprint.org\n" -"POT-Creation-Date: 2016-06-08 11:03+0200\n" +"POT-Creation-Date: 2016-06-16 12:18+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.2.0\n" -#: src/octoprint/plugins/announcements/__init__.py:85 +#: src/octoprint/plugins/announcements/__init__.py:89 #: src/octoprint/plugins/announcements/templates/announcements.jinja2:4 #: src/octoprint/plugins/announcements/templates/announcements_navbar.jinja2:1 msgid "Announcements" @@ -1045,14 +1045,14 @@ msgstr "" msgid "Interface" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:92 -#: src/octoprint/static/js/app/dataupdater.js:127 +#: src/octoprint/static/js/app/dataupdater.js:96 +#: src/octoprint/static/js/app/dataupdater.js:131 #: 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:93 +#: src/octoprint/static/js/app/dataupdater.js:97 msgid "" "The server appears to be offline, at least I'm not getting any response " "from it. I'll try to reconnect automatically over the next couple" @@ -1060,67 +1060,67 @@ msgid "" "anytime using the button below." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:128 +#: src/octoprint/static/js/app/dataupdater.js:132 msgid "" "The server appears to be offline, at least I'm not getting any response " "from it. I could not reconnect automatically, but you " "may try a manual reconnect using the button below." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:206 -#: src/octoprint/static/js/app/dataupdater.js:226 +#: src/octoprint/static/js/app/dataupdater.js:217 +#: src/octoprint/static/js/app/dataupdater.js:237 #, python-format msgid "Slicing ... (%(percentage)d%%)" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:228 +#: src/octoprint/static/js/app/dataupdater.js:239 msgid "Slicing ..." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:234 +#: src/octoprint/static/js/app/dataupdater.js:245 msgid "Slicing done" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:234 +#: src/octoprint/static/js/app/dataupdater.js:245 #, python-format msgid "Sliced %(stl)s to %(gcode)s, took %(time).2f seconds" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:244 +#: src/octoprint/static/js/app/dataupdater.js:255 #, python-format msgid "Could not slice %(stl)s to %(gcode)s: %(reason)s" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:245 +#: src/octoprint/static/js/app/dataupdater.js:256 msgid "Slicing failed" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:249 +#: src/octoprint/static/js/app/dataupdater.js:260 msgid "Streaming ..." msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:255 +#: src/octoprint/static/js/app/dataupdater.js:266 msgid "Streaming done" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:256 +#: src/octoprint/static/js/app/dataupdater.js:267 #, python-format msgid "Streamed %(local)s to %(remote)s on SD, took %(time).2f seconds" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:262 -#: src/octoprint/static/js/app/dataupdater.js:270 +#: src/octoprint/static/js/app/dataupdater.js:273 +#: src/octoprint/static/js/app/dataupdater.js:281 msgid "Unhandled communication error" msgstr "" -#: src/octoprint/static/js/app/dataupdater.js:263 +#: src/octoprint/static/js/app/dataupdater.js:274 #, 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:271 +#: src/octoprint/static/js/app/dataupdater.js:282 #, python-format msgid "" "The was an unhandled error while talking to the printer. Due to that " @@ -1200,14 +1200,14 @@ msgstr "" #: src/octoprint/static/js/app/viewmodels/control.js:65 #: src/octoprint/static/js/app/viewmodels/files.js:329 -#: src/octoprint/static/js/app/viewmodels/gcode.js:465 +#: src/octoprint/static/js/app/viewmodels/gcode.js:471 #: src/octoprint/static/js/app/viewmodels/printerstate.js:177 -#: src/octoprint/static/js/app/viewmodels/temperature.js:56 +#: src/octoprint/static/js/app/viewmodels/temperature.js:58 msgid "Tool" msgstr "" #: src/octoprint/static/js/app/viewmodels/control.js:71 -#: src/octoprint/static/js/app/viewmodels/temperature.js:67 +#: src/octoprint/static/js/app/viewmodels/temperature.js:69 msgid "Hotend" msgstr "" @@ -1240,18 +1240,18 @@ msgstr "" msgid "Last Print Time" msgstr "" -#: src/octoprint/static/js/app/viewmodels/files.js:520 +#: src/octoprint/static/js/app/viewmodels/files.js:515 msgid "" "Could not upload the file. Make sure that it is a GCODE file and has the " "extension \".gcode\" or \".gco\" or that it is an STL file with the " "extension \".stl\"." msgstr "" -#: src/octoprint/static/js/app/viewmodels/files.js:541 +#: src/octoprint/static/js/app/viewmodels/files.js:536 msgid "Uploading ..." msgstr "" -#: src/octoprint/static/js/app/viewmodels/files.js:548 +#: src/octoprint/static/js/app/viewmodels/files.js:543 msgid "Saving ..." msgstr "" @@ -1274,52 +1274,52 @@ msgstr "" msgid "Analyzed" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:431 +#: src/octoprint/static/js/app/viewmodels/gcode.js:437 msgid "Model size" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:432 +#: src/octoprint/static/js/app/viewmodels/gcode.js:438 msgid "Estimated total print time" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:433 +#: src/octoprint/static/js/app/viewmodels/gcode.js:439 msgid "Estimated layer height" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:433 +#: src/octoprint/static/js/app/viewmodels/gcode.js:439 msgid "mm" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:434 +#: src/octoprint/static/js/app/viewmodels/gcode.js:440 msgid "Layer count" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:434 +#: src/octoprint/static/js/app/viewmodels/gcode.js:440 msgid "printed" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:434 +#: src/octoprint/static/js/app/viewmodels/gcode.js:440 msgid "visited" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:457 +#: src/octoprint/static/js/app/viewmodels/gcode.js:463 msgid "Layer number" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:458 +#: src/octoprint/static/js/app/viewmodels/gcode.js:464 msgid "Layer height" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:459 +#: src/octoprint/static/js/app/viewmodels/gcode.js:465 msgid "GCODE commands in layer" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:462 -#: src/octoprint/static/js/app/viewmodels/gcode.js:465 +#: src/octoprint/static/js/app/viewmodels/gcode.js:468 +#: src/octoprint/static/js/app/viewmodels/gcode.js:471 msgid "Filament used by layer" msgstr "" -#: src/octoprint/static/js/app/viewmodels/gcode.js:469 +#: src/octoprint/static/js/app/viewmodels/gcode.js:475 msgid "Print time for layer" msgstr "" @@ -1544,25 +1544,25 @@ msgid "Slicing %(filename)s" msgstr "" #: src/octoprint/static/js/app/viewmodels/temperature.js:23 -#: src/octoprint/static/js/app/viewmodels/temperature.js:74 +#: src/octoprint/static/js/app/viewmodels/temperature.js:76 #: src/octoprint/templates/dialogs/settings/temperatures.jinja2:16 msgid "Bed" msgstr "" -#: src/octoprint/static/js/app/viewmodels/temperature.js:112 +#: src/octoprint/static/js/app/viewmodels/temperature.js:115 msgid "just now" msgstr "" -#: src/octoprint/static/js/app/viewmodels/temperature.js:114 +#: src/octoprint/static/js/app/viewmodels/temperature.js:117 msgid "min" msgstr "" -#: src/octoprint/static/js/app/viewmodels/temperature.js:253 +#: src/octoprint/static/js/app/viewmodels/temperature.js:256 #: src/octoprint/templates/tabs/temperature.jinja2:11 msgid "Actual" msgstr "" -#: src/octoprint/static/js/app/viewmodels/temperature.js:258 +#: src/octoprint/static/js/app/viewmodels/temperature.js:261 #: src/octoprint/templates/tabs/temperature.jinja2:12 msgid "Target" msgstr ""