diff --git a/src/components/Blockly/blocks/sensebox-sd.js b/src/components/Blockly/blocks/sensebox-sd.js index 52d4bbf..0dc9e3a 100644 --- a/src/components/Blockly/blocks/sensebox-sd.js +++ b/src/components/Blockly/blocks/sensebox-sd.js @@ -1,18 +1,38 @@ import * as Blockly from "blockly/core"; import { getColour } from "../helpers/colour"; +var checkFileName = function (filename) { + var length = filename.length; + if (length > 8) { + alert("dateiname sollte kleiner als 8 Zeichen sein"); + return filename.slice(0, 8); + } + return filename; +}; + Blockly.Blocks["sensebox_sd_open_file"] = { init: function () { this.appendDummyInput() .appendField(Blockly.Msg.senseBox_sd_open_file) .setAlign(Blockly.ALIGN_LEFT) - .appendField(new Blockly.FieldTextInput("Data.txt"), "Filename"); + .appendField( + new Blockly.FieldTextInput("Data", checkFileName), + "Filename" + ) + .appendField(".") + .appendField( + new Blockly.FieldDropdown([ + ["txt", "txt"], + ["csv", "csv"], + ]), + "extension" + ); this.appendStatementInput("SD").setCheck(null); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(getColour().sensebox); this.setTooltip(Blockly.Msg.senseBox_sd_open_file_tooltip); - this.setHelpUrl("https://docs.sensebox.de/hardware/bee-sd/"); + this.setHelpUrl(Blockly.Msg.sensebox_sd_helpurl); }, }; @@ -22,12 +42,23 @@ Blockly.Blocks["sensebox_sd_create_file"] = { .appendField(Blockly.Msg.senseBox_sd_create_file) .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.senseBox_output_filename) - .appendField(new Blockly.FieldTextInput("Data.txt"), "Filename"); + .appendField( + new Blockly.FieldTextInput("Data", checkFileName), + "Filename" + ) + .appendField(".") + .appendField( + new Blockly.FieldDropdown([ + ["txt", "txt"], + ["csv", "csv"], + ]), + "extension" + ); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(getColour().sensebox); this.setTooltip(Blockly.Msg.senseBox_sd_create_file_tooltip); - this.setHelpUrl("https://docs.sensebox.de/hardware/bee-sd/"); + this.setHelpUrl(Blockly.Msg.sensebox_sd_helpurl); }, }; @@ -44,7 +75,7 @@ Blockly.Blocks["sensebox_sd_write_file"] = { this.setNextStatement(true, null); this.setColour(getColour().sensebox); this.setTooltip(Blockly.Msg.senseBox_sd_write_file_tooltip); - this.setHelpUrl("https://docs.sensebox.de/hardware/bee-sd/"); + this.setHelpUrl(Blockly.Msg.sensebox_sd_helpurl); }, /** * Called whenever anything on the workspace changes. @@ -74,12 +105,12 @@ Blockly.Blocks["sensebox_sd_write_file"] = { Blockly.Blocks["sensebox_sd_osem"] = { init: function () { - this.setTooltip(Blockly.Msg.senseBox_osem_connection_tip); - this.setHelpUrl(""); + this.setTooltip(Blockly.Msg.sensebox_sd_osem_tip); + this.setHelpUrl(Blockly.Msg.sensebox_sd_helpurl); this.setColour(getColour().sensebox); this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) - .appendField("Create CSV for openSenseMap"); + .appendField(Blockly.Msg.sensebox_sd_osem); this.appendDummyInput() .setAlign(Blockly.ALIGN_LEFT) .appendField(Blockly.Msg.senseBox_osem_exposure) @@ -94,7 +125,7 @@ Blockly.Blocks["sensebox_sd_osem"] = { Blockly.Msg.senseBox_gps_timeStamp ); this.appendStatementInput("DO") - .appendField(Blockly.Msg.senseBox_sensor) + .appendField(Blockly.Msg.sensebox_sd_measurement) .setCheck(null); this.setPreviousStatement(true, null); this.setNextStatement(true, null); @@ -142,13 +173,13 @@ Blockly.Blocks["sensebox_sd_osem"] = { }; Blockly.Blocks["sensebox_sd_save_for_osem"] = { init: function () { - this.setTooltip(Blockly.Msg.senseBox_send_to_osem_tip); - this.setHelpUrl(""); + this.setTooltip(Blockly.Msg.sensebox_sd_save_for_osem_tip); + this.setHelpUrl(Blockly.Msg.sensebox_sd_helpurl); this.setColour(getColour().sensebox); this.appendDummyInput().appendField(Blockly.Msg.sensebox_sd_save_for_osem); this.appendValueInput("Value") .setAlign(Blockly.ALIGN_LEFT) - .appendField("Phänomen") + .appendField(Blockly.Msg.sensebox_sd_save_for_osem_id) .appendField(new Blockly.FieldTextInput("sensorID"), "SensorID"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); diff --git a/src/components/Blockly/generator/sensebox-sd.js b/src/components/Blockly/generator/sensebox-sd.js index 5e6e16f..6f890f8 100644 --- a/src/components/Blockly/generator/sensebox-sd.js +++ b/src/components/Blockly/generator/sensebox-sd.js @@ -10,30 +10,27 @@ import Blockly from "blockly"; Blockly.Arduino.sensebox_sd_create_file = function (block) { var filename = this.getFieldValue("Filename"); - var res = filename.slice(0, 4); + var extension = this.getFieldValue("extension"); + var newFileName = filename.concat(".", extension); Blockly.Arduino.libraries_["library_spi"] = "#include "; Blockly.Arduino.libraries_["library_sd"] = "#include "; - Blockly.Arduino.definitions_["define_" + res] = "File dataFile" + res + ";"; - Blockly.Arduino.setupCode_["sensebox_sd"] = "SD.begin(28);"; - Blockly.Arduino.setupCode_["sensebox_sd" + filename] = - "dataFile" + - res + - ' = SD.open("' + - filename + - '", FILE_WRITE);\ndataFile' + - res + - ".close();\n"; + Blockly.Arduino.definitions_["define_" + filename] = `File ${filename};`; + Blockly.Arduino.setupCode_["sensebox_sd"] = "SD.begin(28);\n"; + Blockly.Arduino.setupCode_[ + "sensebox_sd" + filename + ] = `${filename} = SD.open("${newFileName}", FILE_WRITE);\n${filename}.close();\n`; var code = ""; return code; }; Blockly.Arduino.sensebox_sd_open_file = function (block) { var filename = this.getFieldValue("Filename"); - var res = filename.slice(0, 4); + var extension = this.getFieldValue("extension"); + var newFileName = filename.concat(".", extension); var branch = Blockly.Arduino.statementToCode(block, "SD"); - var code = "dataFile" + res + ' = SD.open("' + filename + '", FILE_WRITE);\n'; + var code = `${filename} = SD.open("${newFileName}", FILE_WRITE);\n`; code += branch; - code += "dataFile" + res + ".close();\n"; + code += `${filename}.close();\n`; return code; }; @@ -41,8 +38,7 @@ Blockly.Arduino.sensebox_sd_write_file = function (block) { if (this.parentBlock_ != null) { var filename = this.getSurroundParent().getFieldValue("Filename"); } - var res = filename.slice(0, 4); - var text = + var branch = Blockly.Arduino.valueToCode(this, "DATA", Blockly.Arduino.ORDER_ATOMIC) || '"Keine Eingabe"'; var linebreak = this.getFieldValue("linebreak"); @@ -52,10 +48,10 @@ Blockly.Arduino.sensebox_sd_write_file = function (block) { linebreak = ""; } var code = ""; - if (text === "gps.getLongitude()" || text === "gps.getLatitude()") { - code = "dataFile" + res + ".print" + linebreak + "(" + text + ",5);\n"; + if (branch === "gps.getLongitude()" || branch === "gps.getLatitude()") { + code = `${filename}.print${linebreak}(${branch},5);\n`; } else { - code = "dataFile" + res + ".print" + linebreak + "(" + text + ");\n"; + code = `${filename}.print${linebreak}(${branch});\n`; } return code; }; @@ -64,7 +60,7 @@ Blockly.Arduino.sensebox_sd_osem = function () { if (this.parentBlock_ != null) { var filename = this.getSurroundParent().getFieldValue("Filename"); } - var res = filename.slice(0, 4); + var type = this.getFieldValue("type"); var blocks = this.getDescendants(); var branch = Blockly.Arduino.statementToCode(this, "DO"); @@ -108,7 +104,7 @@ void writeMeasurementsToSdCard(char* timeStamp) { for (uint8_t i = 0; i < num_measurements; i++) { sprintf_P(buffer, PSTR("%s,%9.2f,%s"), measurements[i].sensorId, measurements[i].value, timeStamp); // transmit buffer to client - dataFile${res}.println(buffer); + ${filename}.println(buffer); } // reset num_measurements num_measurements = 0; @@ -177,7 +173,7 @@ void writeMeasurementsToSdCard(char* timeStamp, uint32_t latitudes, uint32_t lon dtostrf(latitude, 1, 7, lat); sprintf_P(buffer, PSTR("%s,%9.2f,%s,%02s,%02s"), measurements[i].sensorId, measurements[i].value, timeStamp, lng, lat); // transmit buffer to client - dataFile${res}.print(buffer); + ${filename}.print(buffer); } // reset num_measurements num_measurements = 0; diff --git a/src/components/Blockly/msg/de/sensebox-rtc.js b/src/components/Blockly/msg/de/sensebox-rtc.js index a662220..aae10c9 100644 --- a/src/components/Blockly/msg/de/sensebox-rtc.js +++ b/src/components/Blockly/msg/de/sensebox-rtc.js @@ -5,7 +5,7 @@ export const RTC = { sensebox_rtc_set: "Setze Uhrzeit/Datum der RTC", sensebox_rtc_set_tooltip: "Stellt die Uhrzeit der RTC ein. Beachte, dass du diesen Block im Setup ausführst.", - sensebox_rtc_get_timestamp: "Zeitstempel", + sensebox_rtc_get_timestamp: "Zeitstempel (RFC 3339)", sensebox_rtc_get_timestamp_tooltip: "Gibt dir einen in ISO 8601 formatierten Zeitstempel zurück. Bsp: 2021-12-24T18:21Z", sensebox_rtc_get: "Wert: ", diff --git a/src/components/Blockly/msg/de/sensebox-sd.js b/src/components/Blockly/msg/de/sensebox-sd.js index c0d8e81..41ef5e8 100644 --- a/src/components/Blockly/msg/de/sensebox-sd.js +++ b/src/components/Blockly/msg/de/sensebox-sd.js @@ -3,6 +3,7 @@ export const SD = { * SD-Block */ senseBox_sd_create_file: "Erstelle Datei auf SD-Karte", + sensebox_sd_helpurl: "https://docs.sensebox.de/hardware/bee-sd/", senseBox_sd_write_file: "Schreibe Daten auf SD-Karte", senseBox_sd_open_file: "Öffne eine Datei auf der SD-Karte", senseBox_sd_create_file_tooltip: @@ -13,6 +14,12 @@ export const SD = { "Öffne die Datei auf der SD-Karte, um Dateien zu speichern. Am Ende der Schleife wird die Datei automatisch wieder geschlossen.", sensebox_sd_filename: "Daten", senseBox_sd_decimals: "Dezimalen", - sensebox_sd_osem: "Erstelle CSV für openSenseMap", - sensebox_sd_save_for_osem: "Speichere als CSV für openSenseMap", + sensebox_sd_osem: "Erstelle CSV-Datei für openSenseMap", + sensebox_sd_osem_tip: + "Erstellt eine CSV-Datei, die später auf die openSenseMap hochgeladen werden kann. ", + sensebox_sd_save_for_osem: "Speichere Messwert", + sensebox_sd_save_for_osem_tip: + "Füge eine Messung mit Sensor ID zur CSV-Datei hinzu", + sensebox_sd_save_for_osem_id: "Sensor ID:", + sensebox_sd_measurement: "Messwerte", }; diff --git a/src/components/Blockly/msg/de/translations.js b/src/components/Blockly/msg/de/translations.js index b375863..30d8048 100644 --- a/src/components/Blockly/msg/de/translations.js +++ b/src/components/Blockly/msg/de/translations.js @@ -1,212 +1,265 @@ export const TRANSLATIONS = { + AUTH: "Bitte autorisiere diese App zum Aktivieren der Speicherung deiner Arbeit und zum Teilen.", + CHANGE_VALUE_TITLE: "Wert ändern:", + CHAT: "Chatte mit unserem Mitarbeiter durch Eingeben von Text in diesen Kasten!", + CLEAN_UP: "Blöcke aufräumen", + COLLAPSE_ALL: "Alle Blöcke zusammenfalten", + COLLAPSE_BLOCK: "Block zusammenfalten", + DELETE_ALL_BLOCKS: "Alle %1 Bausteine löschen?", + DELETE_BLOCK: "Block löschen", + DELETE_X_BLOCKS: "Block %1 löschen", + DISABLE_BLOCK: "Block deaktivieren", + DUPLICATE_BLOCK: "Kopieren", + ENABLE_BLOCK: "Block aktivieren", + EXPAND_ALL: "Alle Blöcke entfalten", + EXPAND_BLOCK: "Block entfalten", + EXTERNAL_INPUTS: "externe Eingänge", + HELP: "Hilfe", + INLINE_INPUTS: "interne Eingänge", + LISTS_CREATE_EMPTY_HELPURL: + "https://github.com/google/blockly/wiki/Lists#create-empty-list", + LISTS_CREATE_EMPTY_TITLE: "Erzeuge eine leere Liste", + LISTS_CREATE_EMPTY_TOOLTIP: "Erzeugt eine leere Liste ohne Inhalt.", + LISTS_CREATE_WITH_CONTAINER_TITLE_ADD: "Liste", + LISTS_CREATE_WITH_CONTAINER_TOOLTIP: + "Hinzufügen, entfernen und sortieren von Elementen.", + LISTS_CREATE_WITH_HELPURL: + "https://github.com/google/blockly/wiki/Lists#create-list-with", + LISTS_CREATE_WITH_INPUT_WITH: "Erzeuge Liste mit", + LISTS_CREATE_WITH_ITEM_TOOLTIP: "Ein Element zur Liste hinzufügen.", + LISTS_CREATE_WITH_TOOLTIP: "Erzeugt eine List mit konfigurierten Elementen.", + LISTS_GET_INDEX_FIRST: "erstes", + LISTS_GET_INDEX_FROM_END: "#tes von hinten", + LISTS_GET_INDEX_FROM_START: "#tes", + LISTS_GET_INDEX_GET: "nimm", + LISTS_GET_INDEX_GET_REMOVE: "nimm und entferne", + LISTS_GET_INDEX_LAST: "letztes", + LISTS_GET_INDEX_RANDOM: "zufälliges", + LISTS_GET_INDEX_REMOVE: "entferne", + LISTS_GET_INDEX_TAIL: "", + LISTS_GET_INDEX_TOOLTIP_GET_FIRST: + "Extrahiere das erste Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_FROM_END: + "Extrahiere das #1te Element aus Ende der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_FROM_START: + "Extrahiere das #1te Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_LAST: + "Extrahiere das letzte Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_RANDOM: + "Extrahiere ein zufälliges Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST: + "Extrahiere und entfernt das erste Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END: + "Extrahiere und entfernt das #1te Element aus Ende der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START: + "Extrahiere und entfernt das #1te Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST: + "Extrahiere und entfernt das letzte Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM: + "Extrahiere und entfernt ein zufälliges Element aus der Liste.", + LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST: + "Entfernt das erste Element von der Liste.", + LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END: + "Entfernt das #1te Element von Ende der Liste.", + LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START: + "Entfernt das #1te Element von der Liste.", + LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST: + "Entfernt das letzte Element von der Liste.", + LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM: + "Entfernt ein zufälliges Element von der Liste.", + LISTS_GET_SUBLIST_END_FROM_END: "bis zu # von hinten", + LISTS_GET_SUBLIST_END_FROM_START: "bis zu #", + LISTS_GET_SUBLIST_END_LAST: "bis zum Ende", + LISTS_GET_SUBLIST_HELPURL: + "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", + LISTS_GET_SUBLIST_START_FIRST: "erhalte Unterliste vom Anfang", + LISTS_GET_SUBLIST_START_FROM_END: "erhalte Unterliste von # von hinten", + LISTS_GET_SUBLIST_START_FROM_START: "erhalte Unterliste von #", + LISTS_GET_SUBLIST_TAIL: "", + LISTS_GET_SUBLIST_TOOLTIP: + "Erstellt eine Kopie mit dem angegebenen Abschnitt der Liste.", + LISTS_INDEX_OF_FIRST: "suche erstes Auftreten von", + LISTS_INDEX_OF_HELPURL: + "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", + LISTS_INDEX_OF_LAST: "suche letztes Auftreten von", + LISTS_INDEX_OF_TOOLTIP: + "Sucht die Position (index) eines Elementes in der Liste. Gibt 0 zurück, falls kein Element gefunden wurde.", + LISTS_INLIST: "von der Liste", + LISTS_ISEMPTY_HELPURL: + "https://github.com/google/blockly/wiki/Lists#is-empty", // untranslated + LISTS_ISEMPTY_TITLE: "%1 ist leer?", + LISTS_ISEMPTY_TOOLTIP: "Ist wahr (true), wenn die Liste leer ist.", + LISTS_LENGTH_HELPURL: + "https://github.com/google/blockly/wiki/Lists#length-of", // untranslated + LISTS_LENGTH_TITLE: "Länge von %1", + LISTS_LENGTH_TOOLTIP: "Die Anzahl von Elementen in der Liste.", + LISTS_REPEAT_HELPURL: + "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", + LISTS_REPEAT_TITLE: "Erzeuge Liste mit Element %1 wiederhole es %2 mal", + LISTS_REPEAT_TOOLTIP: + "Erzeugt eine Liste mit einer variablen Anzahl von Elementen", + LISTS_SET_INDEX_HELPURL: + "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", + LISTS_SET_INDEX_INPUT_TO: "ein", + LISTS_SET_INDEX_INSERT: "füge", + LISTS_SET_INDEX_SET: "setze", + LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST: + "Fügt das Element an den Anfang der Liste an.", + LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END: + "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist das letzte Element.", + LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START: + "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist die erste Element.", + LISTS_SET_INDEX_TOOLTIP_INSERT_LAST: + "Fügt das Element ans Ende der Liste an.", + LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM: + "Fügt das Element zufällig in die Liste ein.", + LISTS_SET_INDEX_TOOLTIP_SET_FIRST: "Setzt das erste Element in der Liste.", + LISTS_SET_INDEX_TOOLTIP_SET_FROM_END: + "Setzt das Element an der angegebenen Position in der Liste. #1 ist das letzte Element.", + LISTS_SET_INDEX_TOOLTIP_SET_FROM_START: + "Setzte das Element an der angegebenen Position in der Liste. #1 ist das erste Element.", + LISTS_SET_INDEX_TOOLTIP_SET_LAST: "Setzt das letzte Element in der Liste.", + LISTS_SET_INDEX_TOOLTIP_SET_RANDOM: + "Setzt ein zufälliges Element in der Liste.", + LISTS_SORT_HELPURL: + "https://github.com/google/blockly/wiki/Lists#sorting-a-list", + LISTS_SORT_ORDER_ASCENDING: "aufsteigend", + LISTS_SORT_ORDER_DESCENDING: "absteigend", + LISTS_SORT_TITLE: "%1 %2 %3 sortieren", + LISTS_SORT_TOOLTIP: "Eine Kopie einer Liste sortieren.", + LISTS_SORT_TYPE_IGNORECASE: "alphabetisch, Schreibung ignorieren", + LISTS_SORT_TYPE_NUMERIC: "numerisch", + LISTS_SORT_TYPE_TEXT: "alphabetisch", + LISTS_SPLIT_HELPURL: + "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists", + LISTS_SPLIT_LIST_FROM_TEXT: "Liste aus Text erstellen", + LISTS_SPLIT_TEXT_FROM_LIST: "Text aus Liste erstellen", + LISTS_SPLIT_TOOLTIP_JOIN: + "Liste mit Texten in einen Text vereinen, getrennt durch ein Trennzeichen.", + LISTS_SPLIT_TOOLTIP_SPLIT: + "Text in eine Liste mit Texten aufteilen, unterbrochen bei jedem Trennzeichen.", + LISTS_SPLIT_WITH_DELIMITER: "mit Trennzeichen", + LOGIC_BOOLEAN_FALSE: "falsch", - AUTH: "Bitte autorisiere diese App zum Aktivieren der Speicherung deiner Arbeit und zum Teilen.", - CHANGE_VALUE_TITLE: "Wert ändern:", - CHAT: "Chatte mit unserem Mitarbeiter durch Eingeben von Text in diesen Kasten!", - CLEAN_UP: "Blöcke aufräumen", - COLLAPSE_ALL: "Alle Blöcke zusammenfalten", - COLLAPSE_BLOCK: "Block zusammenfalten", - DELETE_ALL_BLOCKS: "Alle %1 Bausteine löschen?", - DELETE_BLOCK: "Block löschen", - DELETE_X_BLOCKS: "Block %1 löschen", - DISABLE_BLOCK: "Block deaktivieren", - DUPLICATE_BLOCK: "Kopieren", - ENABLE_BLOCK: "Block aktivieren", - EXPAND_ALL: "Alle Blöcke entfalten", - EXPAND_BLOCK: "Block entfalten", - EXTERNAL_INPUTS: "externe Eingänge", - HELP: "Hilfe", - INLINE_INPUTS: "interne Eingänge", - LISTS_CREATE_EMPTY_HELPURL: "https://github.com/google/blockly/wiki/Lists#create-empty-list", - LISTS_CREATE_EMPTY_TITLE: "Erzeuge eine leere Liste", - LISTS_CREATE_EMPTY_TOOLTIP: "Erzeugt eine leere Liste ohne Inhalt.", - LISTS_CREATE_WITH_CONTAINER_TITLE_ADD: "Liste", - LISTS_CREATE_WITH_CONTAINER_TOOLTIP: "Hinzufügen, entfernen und sortieren von Elementen.", - LISTS_CREATE_WITH_HELPURL: "https://github.com/google/blockly/wiki/Lists#create-list-with", - LISTS_CREATE_WITH_INPUT_WITH: "Erzeuge Liste mit", - LISTS_CREATE_WITH_ITEM_TOOLTIP: "Ein Element zur Liste hinzufügen.", - LISTS_CREATE_WITH_TOOLTIP: "Erzeugt eine List mit konfigurierten Elementen.", - LISTS_GET_INDEX_FIRST: "erstes", - LISTS_GET_INDEX_FROM_END: "#tes von hinten", - LISTS_GET_INDEX_FROM_START: "#tes", - LISTS_GET_INDEX_GET: "nimm", - LISTS_GET_INDEX_GET_REMOVE: "nimm und entferne", - LISTS_GET_INDEX_LAST: "letztes", - LISTS_GET_INDEX_RANDOM: "zufälliges", - LISTS_GET_INDEX_REMOVE: "entferne", - LISTS_GET_INDEX_TAIL: "", - LISTS_GET_INDEX_TOOLTIP_GET_FIRST: "Extrahiere das erste Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_FROM_END: "Extrahiere das #1te Element aus Ende der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_FROM_START: "Extrahiere das #1te Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_LAST: "Extrahiere das letzte Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_RANDOM: "Extrahiere ein zufälliges Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST: "Extrahiere und entfernt das erste Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END: "Extrahiere und entfernt das #1te Element aus Ende der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START: "Extrahiere und entfernt das #1te Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST: "Extrahiere und entfernt das letzte Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM: "Extrahiere und entfernt ein zufälliges Element aus der Liste.", - LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST: "Entfernt das erste Element von der Liste.", - LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END: "Entfernt das #1te Element von Ende der Liste.", - LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START: "Entfernt das #1te Element von der Liste.", - LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST: "Entfernt das letzte Element von der Liste.", - LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM: "Entfernt ein zufälliges Element von der Liste.", - LISTS_GET_SUBLIST_END_FROM_END: "bis zu # von hinten", - LISTS_GET_SUBLIST_END_FROM_START: "bis zu #", - LISTS_GET_SUBLIST_END_LAST: "bis zum Ende", - LISTS_GET_SUBLIST_HELPURL: "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", - LISTS_GET_SUBLIST_START_FIRST: "erhalte Unterliste vom Anfang", - LISTS_GET_SUBLIST_START_FROM_END: "erhalte Unterliste von # von hinten", - LISTS_GET_SUBLIST_START_FROM_START: "erhalte Unterliste von #", - LISTS_GET_SUBLIST_TAIL: "", - LISTS_GET_SUBLIST_TOOLTIP: "Erstellt eine Kopie mit dem angegebenen Abschnitt der Liste.", - LISTS_INDEX_OF_FIRST: "suche erstes Auftreten von", - LISTS_INDEX_OF_HELPURL: "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", - LISTS_INDEX_OF_LAST: "suche letztes Auftreten von", - LISTS_INDEX_OF_TOOLTIP: "Sucht die Position (index) eines Elementes in der Liste. Gibt 0 zurück, falls kein Element gefunden wurde.", - LISTS_INLIST: "von der Liste", - LISTS_ISEMPTY_HELPURL: "https://github.com/google/blockly/wiki/Lists#is-empty", // untranslated - LISTS_ISEMPTY_TITLE: "%1 ist leer?", - LISTS_ISEMPTY_TOOLTIP: "Ist wahr (true), wenn die Liste leer ist.", - LISTS_LENGTH_HELPURL: "https://github.com/google/blockly/wiki/Lists#length-of", // untranslated - LISTS_LENGTH_TITLE: "Länge von %1", - LISTS_LENGTH_TOOLTIP: "Die Anzahl von Elementen in der Liste.", - LISTS_REPEAT_HELPURL: "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", - LISTS_REPEAT_TITLE: "Erzeuge Liste mit Element %1 wiederhole es %2 mal", - LISTS_REPEAT_TOOLTIP: "Erzeugt eine Liste mit einer variablen Anzahl von Elementen", - LISTS_SET_INDEX_HELPURL: "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic:%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm", - LISTS_SET_INDEX_INPUT_TO: "ein", - LISTS_SET_INDEX_INSERT: "füge", - LISTS_SET_INDEX_SET: "setze", - LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST: "Fügt das Element an den Anfang der Liste an.", - LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END: "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist das letzte Element.", - LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START: "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist die erste Element.", - LISTS_SET_INDEX_TOOLTIP_INSERT_LAST: "Fügt das Element ans Ende der Liste an.", - LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM: "Fügt das Element zufällig in die Liste ein.", - LISTS_SET_INDEX_TOOLTIP_SET_FIRST: "Setzt das erste Element in der Liste.", - LISTS_SET_INDEX_TOOLTIP_SET_FROM_END: "Setzt das Element an der angegebenen Position in der Liste. #1 ist das letzte Element.", - LISTS_SET_INDEX_TOOLTIP_SET_FROM_START: "Setzte das Element an der angegebenen Position in der Liste. #1 ist das erste Element.", - LISTS_SET_INDEX_TOOLTIP_SET_LAST: "Setzt das letzte Element in der Liste.", - LISTS_SET_INDEX_TOOLTIP_SET_RANDOM: "Setzt ein zufälliges Element in der Liste.", - LISTS_SORT_HELPURL: "https://github.com/google/blockly/wiki/Lists#sorting-a-list", - LISTS_SORT_ORDER_ASCENDING: "aufsteigend", - LISTS_SORT_ORDER_DESCENDING: "absteigend", - LISTS_SORT_TITLE: "%1 %2 %3 sortieren", - LISTS_SORT_TOOLTIP: "Eine Kopie einer Liste sortieren.", - LISTS_SORT_TYPE_IGNORECASE: "alphabetisch, Schreibung ignorieren", - LISTS_SORT_TYPE_NUMERIC: "numerisch", - LISTS_SORT_TYPE_TEXT: "alphabetisch", - LISTS_SPLIT_HELPURL: "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists", - LISTS_SPLIT_LIST_FROM_TEXT: "Liste aus Text erstellen", - LISTS_SPLIT_TEXT_FROM_LIST: "Text aus Liste erstellen", - LISTS_SPLIT_TOOLTIP_JOIN: "Liste mit Texten in einen Text vereinen, getrennt durch ein Trennzeichen.", - LISTS_SPLIT_TOOLTIP_SPLIT: "Text in eine Liste mit Texten aufteilen, unterbrochen bei jedem Trennzeichen.", - LISTS_SPLIT_WITH_DELIMITER: "mit Trennzeichen", - LOGIC_BOOLEAN_FALSE: "falsch", + ME: "Ich", + NEW_VARIABLE: "Neue Variable...", + NEW_VARIABLE_TITLE: "Name der neuen Variable:", + ORDINAL_NUMBER_SUFFIX: "", + PROCEDURES_ALLOW_STATEMENTS: "Aussagen erlauben", + PROCEDURES_CALLNORETURN_HELPURL: + "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", + PROCEDURES_CALLNORETURN_TOOLTIP: + "Rufe einen Funktionsblock ohne Rückgabewert auf.", + PROCEDURES_CALLRETURN_HELPURL: + "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", + PROCEDURES_CALLRETURN_TOOLTIP: + "Rufe einen Funktionsblock mit Rückgabewert auf.", + PROCEDURES_CALL: "Rufe", + PROCEDURES_CALL_END: "auf", + PROCEDURES_DEFNORETURN: "Erstelle Funktion", + PROCEDURES_BEFORE_PARAMS: "mit Eingabeparameter:", + PROCEDURES_DEFRETURN_RETURN_TYPE: "Rückgabetype", + PROCEDURES_CALL_BEFORE_PARAMS: "mit:", + PROCEDURES_CREATE_DO: 'Erzeuge "Aufruf %1"', + PROCEDURES_DEFNORETURN_COMMENT: "Beschreibe diese Funktion …", + PROCEDURES_DEFNORETURN_DO: "", + PROCEDURES_DEFNORETURN_HELPURL: + "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", + PROCEDURES_DEFNORETURN_PROCEDURE: "Funktionsblock", + PROCEDURES_DEFNORETURN_TITLE: "zu", + PROCEDURES_DEFNORETURN_TOOLTIP: "Ein Funktionsblock ohne Rückgabewert.", + PROCEDURES_DEFRETURN_HELPURL: + "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", + PROCEDURES_DEFRETURN_RETURN: "gebe zurück", + PROCEDURES_DEFRETURN_TOOLTIP: "Ein Funktionsblock mit Rückgabewert.", + PROCEDURES_DEF_DUPLICATE_WARNING: + "Warnung: dieser Funktionsblock hat zwei gleich benannte Parameter.", + PROCEDURES_HIGHLIGHT_DEF: "Markiere Funktionsblock", + PROCEDURES_IFRETURN_HELPURL: "http://c2.com/cgi/wiki?GuardClause", + PROCEDURES_IFRETURN_TOOLTIP: + "Wenn der erste Wert wahr (true) ist, Gebe den zweiten Wert zurück.", + PROCEDURES_IFRETURN_WARNING: + "Warnung: Dieser Block darf nur innerhalb eines Funktionsblock genutzt werden.", + PROCEDURES_MUTATORARG_TITLE: "Variable:", + PROCEDURES_MUTATORARG_TOOLTIP: "Eine Eingabe zur Funktion hinzufügen.", + PROCEDURES_MUTATORCONTAINER_TITLE: "Parameter", + PROCEDURES_MUTATORCONTAINER_TOOLTIP: + "Die Eingaben zu dieser Funktion hinzufügen, entfernen oder neu anordnen.", + REDO: "Wiederholen", + REMOVE_COMMENT: "Kommentar entfernen", + RENAME_VARIABLE: "Variable umbenennen...", + RENAME_VARIABLE_TITLE: 'Alle "%1" Variablen umbenennen in:', - ME: "Ich", - NEW_VARIABLE: "Neue Variable...", - NEW_VARIABLE_TITLE: "Name der neuen Variable:", - ORDINAL_NUMBER_SUFFIX: "", - PROCEDURES_ALLOW_STATEMENTS: "Aussagen erlauben", - PROCEDURES_CALLNORETURN_HELPURL: "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", - PROCEDURES_CALLNORETURN_TOOLTIP: "Rufe einen Funktionsblock ohne Rückgabewert auf.", - PROCEDURES_CALLRETURN_HELPURL: "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", - PROCEDURES_CALLRETURN_TOOLTIP: "Rufe einen Funktionsblock mit Rückgabewert auf.", - PROCEDURES_CALL: "Rufe", - PROCEDURES_CALL_END: "auf", - PROCEDURES_DEFNORETURN: "Erstelle Funktion", - PROCEDURES_BEFORE_PARAMS: "mit Eingabeparameter:", - PROCEDURES_DEFRETURN_RETURN_TYPE: "Rückgabetype", - PROCEDURES_CALL_BEFORE_PARAMS: "mit:", - PROCEDURES_CREATE_DO: "Erzeuge \"Aufruf %1\"", - PROCEDURES_DEFNORETURN_COMMENT: "Beschreibe diese Funktion …", - PROCEDURES_DEFNORETURN_DO: "", - PROCEDURES_DEFNORETURN_HELPURL: "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", - PROCEDURES_DEFNORETURN_PROCEDURE: "Funktionsblock", - PROCEDURES_DEFNORETURN_TITLE: "zu", - PROCEDURES_DEFNORETURN_TOOLTIP: "Ein Funktionsblock ohne Rückgabewert.", - PROCEDURES_DEFRETURN_HELPURL: "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29", - PROCEDURES_DEFRETURN_RETURN: "gebe zurück", - PROCEDURES_DEFRETURN_TOOLTIP: "Ein Funktionsblock mit Rückgabewert.", - PROCEDURES_DEF_DUPLICATE_WARNING: "Warnung: dieser Funktionsblock hat zwei gleich benannte Parameter.", - PROCEDURES_HIGHLIGHT_DEF: "Markiere Funktionsblock", - PROCEDURES_IFRETURN_HELPURL: "http://c2.com/cgi/wiki?GuardClause", - PROCEDURES_IFRETURN_TOOLTIP: "Wenn der erste Wert wahr (true) ist, Gebe den zweiten Wert zurück.", - PROCEDURES_IFRETURN_WARNING: "Warnung: Dieser Block darf nur innerhalb eines Funktionsblock genutzt werden.", - PROCEDURES_MUTATORARG_TITLE: "Variable:", - PROCEDURES_MUTATORARG_TOOLTIP: "Eine Eingabe zur Funktion hinzufügen.", - PROCEDURES_MUTATORCONTAINER_TITLE: "Parameter", - PROCEDURES_MUTATORCONTAINER_TOOLTIP: "Die Eingaben zu dieser Funktion hinzufügen, entfernen oder neu anordnen.", - REDO: "Wiederholen", - REMOVE_COMMENT: "Kommentar entfernen", - RENAME_VARIABLE: "Variable umbenennen...", - RENAME_VARIABLE_TITLE: "Alle \"%1\" Variablen umbenennen in:", + TODAY: "Heute", + UNDO: "Rückgängig", + VARIABLES_DEFAULT_NAME: "Element", + VARIABLES_GET_CREATE_SET: 'Erzeuge "Schreibe %1"', + VARIABLES_GET_HELPURL: + "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29", + VARIABLES_GET_TOOLTIP: "Gibt den Wert der Variable zurück.", + VARIABLES_SET: "Schreibe %1 %2", + VARIABLES_SET_CREATE_GET: 'Erzeuge "Lese %1"', + VARIABLES_SET_HELPURL: + "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29", + VARIABLES_SET_TOOLTIP: "Setzt den Wert einer Variable.", + MATH_CHANGE_TITLE_ITEM: "Element", + PROCEDURES_DEFRETURN_TITLE: "zu", + CONTROLS_IF_IF_TITLE_IF: "if", + CONTROLS_WHILEUNTIL_INPUT_DO: "mache", + CONTROLS_IF_MSG_THEN: "mache", + CONTROLS_IF_ELSE_TITLE_ELSE: "sonst", + PROCEDURES_DEFRETURN_PROCEDURE: "Funktionsblock", + LISTS_GET_SUBLIST_INPUT_IN_LIST: "in der Liste", + LISTS_GET_INDEX_INPUT_IN_LIST: "in der Liste", + PROCEDURES_DEFRETURN_DO: "", + CONTROLS_IF_ELSEIF_TITLE_ELSEIF: "sonst wenn", + LISTS_GET_INDEX_HELPURL: + "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list", + CONTROLS_FOREACH_INPUT_DO: "mache", + LISTS_SET_INDEX_INPUT_IN_LIST: "in der Liste", + CONTROLS_FOR_INPUT_DO: "mache", + LISTS_CREATE_WITH_ITEM_TITLE: "item", + TEXT_APPEND_VARIABLE: "item", + TEXT_CREATE_JOIN_ITEM_TITLE_ITEM: "item", + LISTS_INDEX_OF_INPUT_IN_LIST: "von der Liste", + PROCEDURES_DEFRETURN_COMMENT: "Beschreibe diese Funktion …", - TODAY: "Heute", - UNDO: "Rückgängig", - VARIABLES_DEFAULT_NAME: "Element", - VARIABLES_GET_CREATE_SET: "Erzeuge \"Schreibe %1\"", - VARIABLES_GET_HELPURL: "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29", - VARIABLES_GET_TOOLTIP: "Gibt den Wert der Variable zurück.", - VARIABLES_SET: "Schreibe %1 %2", - VARIABLES_SET_CREATE_GET: "Erzeuge \"Lese %1\"", - VARIABLES_SET_HELPURL: "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29", - VARIABLES_SET_TOOLTIP: "Setzt den Wert einer Variable.", - MATH_CHANGE_TITLE_ITEM: "Element", - PROCEDURES_DEFRETURN_TITLE: "zu", - CONTROLS_IF_IF_TITLE_IF: "if", - CONTROLS_WHILEUNTIL_INPUT_DO: "mache", - CONTROLS_IF_MSG_THEN: "mache", - CONTROLS_IF_ELSE_TITLE_ELSE: "sonst", - PROCEDURES_DEFRETURN_PROCEDURE: "Funktionsblock", - LISTS_GET_SUBLIST_INPUT_IN_LIST: "in der Liste", - LISTS_GET_INDEX_INPUT_IN_LIST: "in der Liste", - PROCEDURES_DEFRETURN_DO: "", - CONTROLS_IF_ELSEIF_TITLE_ELSEIF: "sonst wenn", - LISTS_GET_INDEX_HELPURL: "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list", - CONTROLS_FOREACH_INPUT_DO: "mache", - LISTS_SET_INDEX_INPUT_IN_LIST: "in der Liste", - CONTROLS_FOR_INPUT_DO: "mache", - LISTS_CREATE_WITH_ITEM_TITLE: "item", - TEXT_APPEND_VARIABLE: "item", - TEXT_CREATE_JOIN_ITEM_TITLE_ITEM: "item", - LISTS_INDEX_OF_INPUT_IN_LIST: "von der Liste", - PROCEDURES_DEFRETURN_COMMENT: "Beschreibe diese Funktion …", + /*senseBox Blockly Translations*/ - /*senseBox Blockly Translations*/ - - senseBox_basic_blue: "Blau", - senseBox_basic_green: "Grün", - senseBox_basic_red: "Rot", - senseBox_basic_state: "Status", - senseBox_off: "Aus", - senseBox_on: "Ein", - senseBox_sensor: "Sensoren", - senseBox_output_filename: "Daten", - senseBox_output_format: "Format:", - senseBox_output_linebreak: "Zeilenumbruch", - senseBox_output_networkid: "NetzwerkID", - senseBox_output_password: "Passwort", - senseBox_output_safetosd: "Auf SD Karte speichern", - senseBox_output_safetosd_tip: "Speichert Messwerte auf SD Karte", - senseBox_output_serialprint: "Auf Kommandozeile ausgeben", - senseBox_serial_tip: "Gibt Messwerte oder Daten auf dem Seriellen Monitor der Arduino IDE aus. Praktisch um ohne Display zu arbeiten", - senseBox_output_timestamp: "Zeitstempel", - senseBox_led: "LED an digitalen", - senseBox_led_tip: "Einfache LED. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden", - senseBox_piezo: "Piezo an digital", - senseBox_piezo_tip: "Piezo an digital PIN. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden", - senseBox_foto: "Fotowiderstand", - senseBox_foto_tip: "Fotowiderstand", - senseBox_hum: "Luftfeuchtigkeit in %", - senseBox_hum_tip: "Luftfeuchtigkeit", - senseBox_ir: "Infrarot Abstandssensor", - senseBox_ir_tip: "Infrarot Abstandssensor", - senseBox_lux: "Helligkeitssensor", - senseBox_lux_tip: "Helligkeitssensor", - senseBox_poti: "Potenziometer", - senseBox_poti_tip: "Potenziometer", - senseBox_soil: "Bodenfeuchte", - senseBox_watertemperature: "Wassertemperatur", - -} \ No newline at end of file + senseBox_basic_blue: "Blau", + senseBox_basic_green: "Grün", + senseBox_basic_red: "Rot", + senseBox_basic_state: "Status", + senseBox_off: "Aus", + senseBox_on: "Ein", + senseBox_sensor: "Sensoren", + senseBox_output_filename: "Daten", + senseBox_output_format: "Format:", + senseBox_output_linebreak: "Zeilenumbruch", + senseBox_output_networkid: "NetzwerkID", + senseBox_output_password: "Passwort", + senseBox_output_safetosd: "Auf SD Karte speichern", + senseBox_output_safetosd_tip: "Speichert Messwerte auf SD Karte", + senseBox_output_serialprint: "Auf Kommandozeile ausgeben", + senseBox_serial_tip: + "Gibt Messwerte oder Daten auf dem Seriellen Monitor der Arduino IDE aus. Praktisch um ohne Display zu arbeiten", + senseBox_output_timestamp: "Zeitstempel (RFC 3339)", + senseBox_led: "LED an digitalen", + senseBox_led_tip: + "Einfache LED. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden", + senseBox_piezo: "Piezo an digital", + senseBox_piezo_tip: + "Piezo an digital PIN. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden", + senseBox_foto: "Fotowiderstand", + senseBox_foto_tip: "Fotowiderstand", + senseBox_hum: "Luftfeuchtigkeit in %", + senseBox_hum_tip: "Luftfeuchtigkeit", + senseBox_ir: "Infrarot Abstandssensor", + senseBox_ir_tip: "Infrarot Abstandssensor", + senseBox_lux: "Helligkeitssensor", + senseBox_lux_tip: "Helligkeitssensor", + senseBox_poti: "Potenziometer", + senseBox_poti_tip: "Potenziometer", + senseBox_soil: "Bodenfeuchte", + senseBox_watertemperature: "Wassertemperatur", +}; diff --git a/src/components/Blockly/msg/de_old.js b/src/components/Blockly/msg/de_old.js index 51c65d2..1b3b413 100644 --- a/src/components/Blockly/msg/de_old.js +++ b/src/components/Blockly/msg/de_old.js @@ -726,7 +726,7 @@ Blockly.Msg.senseBox_output_safetosd_tip = "Speichert Messwerte auf SD Karte"; Blockly.Msg.senseBox_output_serialprint = "Auf Kommandozeile ausgeben"; Blockly.Msg.senseBox_serial_tip = "Gibt Messwerte oder Daten auf dem Seriellen Monitor der Arduino IDE aus. Praktisch um ohne Display zu arbeiten"; -Blockly.Msg.senseBox_output_timestamp = "Zeitstempel"; +Blockly.Msg.senseBox_output_timestamp = "Zeitstempel (RFC 3339)"; Blockly.Msg.senseBox_led = "LED an digitalen"; Blockly.Msg.senseBox_led_tip = diff --git a/src/components/Blockly/msg/en/sensebox-sd.js b/src/components/Blockly/msg/en/sensebox-sd.js index 042a584..4cfc392 100644 --- a/src/components/Blockly/msg/en/sensebox-sd.js +++ b/src/components/Blockly/msg/en/sensebox-sd.js @@ -1,15 +1,16 @@ export const SD = { - /** - * SD-Block - */ - senseBox_sd_create_file: "Create file on SD-Card", - senseBox_sd_write_file: " Write Data to SD-Card", - senseBox_sd_open_file: "Open a file from SD-Card", - senseBox_sd_create_file_tooltip: "Creates a file on the card. Plug the SD-Bee into the **XBEE2** slot. The **maximum** length of the file name is **8 characters**. The file should be created first in *Setup()*", - senseBox_sd_write_file_tooptip: "Write data to the SD card. Note that the file must be opened first.", - senseBox_sd_open_file_tooltip: "Open the file on the SD card to save files. At the end of the loop, the file will be closed again automatically.", - sensebox_sd_filename: "Data.txt", - senseBox_sd_decimals: "decimals", - -} - + /** + * SD-Block + */ + senseBox_sd_create_file: "Create file on SD-Card", + senseBox_sd_write_file: " Write Data to SD-Card", + senseBox_sd_open_file: "Open a file from SD-Card", + senseBox_sd_create_file_tooltip: + "Creates a file on the card. Plug the SD-Bee into the **XBEE2** slot. The **maximum** length of the file name is **8 characters**. The file should be created first in *Setup()*", + senseBox_sd_write_file_tooptip: + "Write data to the SD card. Note that the file must be opened first.", + senseBox_sd_open_file_tooltip: + "Open the file on the SD card to save files. At the end of the loop, the file will be closed again automatically.", + sensebox_sd_filename: "Data.csv", + senseBox_sd_decimals: "decimals", +};