diff --git a/src/main/java/com/ardublock/core/Context.java b/src/main/java/com/ardublock/core/Context.java index 3319866d3c8db16a77334fb1c5ae3e13e68d4eec..6204ccc44b026b0ad47c6085f5a16c7c45ab1fb5 100644 --- a/src/main/java/com/ardublock/core/Context.java +++ b/src/main/java/com/ardublock/core/Context.java @@ -11,6 +11,7 @@ import java.net.URLDecoder; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.ResourceBundle; import java.util.Set; @@ -120,7 +121,19 @@ public class Context } workspaceController.resetWorkspace(); workspaceController.resetLanguage(); - workspaceController.setLangResourceBundle(ResourceBundle.getBundle(ARDUBLOCK_LANG_RESOURCE_BUNDLE));//"com/ardublock/block/ardublock")); + + if(PreferencesData.getBoolean("ardublock.cstyle")) { + if(Locale.getDefault().equals(Locale.GERMANY)) { + workspaceController.setLangResourceBundle(ResourceBundle.getBundle(ARDUBLOCK_LANG_RESOURCE_BUNDLE, Locale.GERMAN)); + } else if(Locale.getDefault().equals(Locale.ENGLISH)) { + workspaceController.setLangResourceBundle(ResourceBundle.getBundle(ARDUBLOCK_LANG_RESOURCE_BUNDLE, Locale.UK)); + } else { + workspaceController.setLangResourceBundle(ResourceBundle.getBundle(ARDUBLOCK_LANG_RESOURCE_BUNDLE)); + } + } else { + workspaceController.setLangResourceBundle(ResourceBundle.getBundle(ARDUBLOCK_LANG_RESOURCE_BUNDLE)); + } + workspaceController.setStyleList(list); workspaceController.setLangDefDtd(this.getClass().getResourceAsStream(LANG_DTD_PATH)); workspaceController.setLangDefStream(this.getClass().getResourceAsStream(ARDUBLOCK_LANG_PATH)); @@ -190,6 +203,7 @@ public class Context private void setDefaultPreferences() {//letsgoING PreferencesData.setBoolean("ardublock", true); + PreferencesData.setBoolean("ardublock.cstyle", false); //PreferencesData.set("ardublock.ui.language", "DE"); //TODO: implement PreferencesData.set("ardublock.workspace.mode", "default"); //"default" / "custom" / "page" PreferencesData.setInteger("ardublock.workspace.zoom", 10); // float values between diff --git a/src/main/java/com/ardublock/ui/OpenblocksFrame.java b/src/main/java/com/ardublock/ui/OpenblocksFrame.java index 3ca57556267a039cda9fef17c6339e07cdf63d0b..32e3a37ad4d1f0524769029efb887fe66db7dcfe 100644 --- a/src/main/java/com/ardublock/ui/OpenblocksFrame.java +++ b/src/main/java/com/ardublock/ui/OpenblocksFrame.java @@ -27,9 +27,11 @@ import java.net.URLDecoder; import java.util.ResourceBundle; import javax.imageio.ImageIO; +import javax.swing.AbstractButton; import javax.swing.Box; import javax.swing.ImageIcon; import javax.swing.JButton; +import javax.swing.JCheckBoxMenuItem; import javax.swing.JComponent; import javax.swing.JFileChooser; import javax.swing.JFrame; @@ -502,6 +504,23 @@ public class OpenblocksFrame extends JFrame JMenuItem blockreferenceMenuItem = new JMenuItem(uiMessageBundle.getString("ardublock.ui.blockreference")); blockreferenceMenuItem.addActionListener(blockreferenceButtonListener); blockreferenceMenuItem.setToolTipText(uiMessageBundle.getString("ardublock.ui.blockreference.tooltip")); + + + ActionListener languagestyleCheckboxListener = new ActionListener () { + public void actionPerformed(ActionEvent e) { + AbstractButton cButton = (AbstractButton) e.getSource(); + boolean selected = cButton.getModel().isSelected(); + if(selected) { + PreferencesData.setBoolean("ardublock.cstyle", true); + } else { + PreferencesData.setBoolean("ardublock.cstyle", false); + } + } + }; + + JCheckBoxMenuItem languagestyleMenuItem = new JCheckBoxMenuItem(uiMessageBundle.getString("ardublock.ui.languagestyle"), PreferencesData.getBoolean("ardublock.cstyle")); + languagestyleMenuItem.addActionListener(languagestyleCheckboxListener); + languagestyleMenuItem.setToolTipText(uiMessageBundle.getString("ardublock.ui.languagestyle.tooltip")); //***************************************** // VERSION LABEL @@ -1014,6 +1033,8 @@ public class OpenblocksFrame extends JFrame blocksMenu.add(modeSimMenuItem); blocksMenu.addSeparator(); blocksMenu.add(blockreferenceMenuItem); + blocksMenu.addSeparator(); + blocksMenu.add(languagestyleMenuItem); aboutMenu.add(websiteButtonMenuItem); //aboutMenu.add(simulatorHelpMenuItem); diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties index 7525989ab2bc695b6581589c9af7e96247936127..5f1df7a748bc3dd64675bacf1f601ed51b836381 100644 --- a/src/main/resources/com/ardublock/block/ardublock.properties +++ b/src/main/resources/com/ardublock/block/ardublock.properties @@ -48,8 +48,10 @@ ardublock.ui.reference=open block reference ardublock.ui.blockreference=open block reference ardublock.ui.blockreference.domain=https://blockreferenz.letsgoing.org/ ardublock.ui.blockreference.tooltip=open block reference -ardublock.ui.website.repository=https://gitlab.reutlingen-university.de/letsgoing/ardublock -ardublock.ui.website.repository.tooltip=go to ArduBlock Repository +ardublock.ui.repository=https://gitlab.reutlingen-university.de/letsgoing/ardublock +ardublock.ui.repository.tooltip=go to ArduBlock Repository +ardublock.ui.languagestyle=C-Style (reboot IDE or new File) +ardublock.ui.languagestyle.tooltip=Block names paraphrased or c-style ardublock.ui.mode.expert=Full ardublock.ui.mode.expert.tooltip=full blockset ardublock.ui.mode.standard=Basic @@ -94,7 +96,7 @@ ardublock.ui.addLibraries.tooltip=Add non-standard libraries used in ArduBlock ardublock.ui.version=v2.2 beta4 ardublock.ui.appprefix.standard=Basic -ardublock.ui.appprefix.pro=Pro +ardublock.ui.appprefix.pro=Full ardublock.ui.appprefix.sim=Simulator #ERROR diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties index 227c4a453e7ecd75f5ab5c5c9dda536b4ae437a8..fe3a74d973fe4b5cff9630464551f5767a974373 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -50,6 +50,8 @@ ardublock.ui.blockreference.domain=https://blockreferenz.letsgoing.org/ ardublock.ui.blockreference.tooltip=öffnet die Blockreferenz ardublock.ui.repository=https://gitlab.reutlingen-university.de/letsgoing/ardublock ardublock.ui.repository.tooltip=gehe zur ArduBlock Repository +ardublock.ui.languagestyle=C-Style (Neustart IDE oder neues Programm) +ardublock.ui.languagestyle.tooltip=Block-Namen umschrieben oder c-style ardublock.ui.mode.expert=Full ardublock.ui.mode.expert.tooltip=Mehr Blöcke und komplexere Funktionen fuer Fortgeschrittene ardublock.ui.mode.standard=Basic @@ -93,7 +95,7 @@ ardublock.ui.simulatorHelp.text=TASTER\n**********************\nlinke Maustaste ardublock.ui.addLibraries=Bibliotheken hinzufügen ardublock.ui.addLibraries.tooltip=Lade nicht-standard Bibliotheken sie in ArduBlock verwendet werden -ardublock.ui.version=v2.2 beta4 +ardublock.ui.version=v2.2 beta4 ardublock.ui.appprefix.standard=Basic ardublock.ui.appprefix.pro=Pro @@ -112,10 +114,11 @@ ardublock.error_msg.long_number_var_slot=Der 'Variable'-Sockel ben ardublock.error_msg.double_number_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_dezimalen_analogen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! ardublock.error_msg.char_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_Zeichen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! ardublock.error_msg.array_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_Tabelle'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.number_const_write= ardublock.error_msg.array_size_slot=Der 'Größe' Slot muss einen analogen Wert enthalten ardublock.error_msg.string_var_slot=Der 'Variable'-Slot benötigt einen 'Name_der_String_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.string_slot= Der 'Wert'-Slot benötigt einen 'String_Variable'-Block oder einen 'Name_der_String_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! ardublock.error_msg.var_slot= Der Slot benötigt einen 'Variable'-Block +ardublock.error_msg.string_slot= Der 'Wert'-Slot benötigt einen 'String_Variable'-Block oder einen 'Name_der_String_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! ardublock.error_msg.local_var_slot=Der 'Variable'-Sockel benötigt einen 'lokale_X_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! ardublock.error_msg.var_value_slot=Der Sockel benötigt einen 'Variable' oder 'Wert'-Block.\nTIPP: Schaue an dem hervorgehobenen Block! ardublock.error_msg.var_value_slot=Es ist nur ein Rueckgabeparameter pro Unterprogramm erlaubt! @@ -161,9 +164,9 @@ ardublock.examples.blink=Blink ardublock.examples.digitalserial=digitalRead Serial ardublock.examples.analogserial=analogRead Serial ardublock.examples.buttonled=digitalRead LED -ardublock.examples.digitalvariabletoggle=toggle digitale Variable +ardublock.examples.digitalvariabletoggle=toggle bool Variable ardublock.examples.countervariable=Zaehler -ardublock.examples.whilebutton=digitalRead solange +ardublock.examples.whilebutton=digitalRead while ardublock.examples.psnBroker=PubSubNet Broker ardublock.examples.psnClient1=PubSubNet Client1 ardublock.examples.psnClient2=PubSubNet Client2 @@ -187,8 +190,8 @@ bc.value=Wert bc.variable=Variable bc.digital=digital bc.analog=analog -bc.char=Zeichen -bc.message=Zeichenkette +bc.char=char +bc.message=string #CONTROL #**************************** @@ -199,31 +202,31 @@ bg.controlDivider2=| Verzweigungen | bg.controlDivider3=| Schleifen | bg.controlDivider4=| Warten | -bg.loop=wiederhole fortlaufend +bg.loop=loop #legacy support -bg.loop1=wiederhole fortlaufend +bg.loop1=loop bg.loop1.description=Hauptschleife loop() -bg.loop2=wiederhole fortlaufend +bg.loop2=loop bg.loop2.description=Hauptschleife loop() -bg.loop3=wiederhole fortlaufend +bg.loop3=loop bg.loop3.description=Hauptschleife loop() #End of legacy support bg.program=Programm bg.sketch=Programm bg.setup=Setup -bg.if=falls -bg.elseif=sonst falls -bg.else=sonst -bg.ifelse=falls/sonst -bg.repeat_times=wiederhole -bg.repeat=wiederhole und zaehle +bg.if=if +bg.elseif=else if +bg.else=else +bg.ifelse=if/else +bg.repeat_times=for +bg.repeat=for bg.repeat_control= -bg.break=unterbreche -bg.delay=warte Millisekunden -bg.delay_microseconds=warte Microsekunden -bg.while=solange -bg.do_while=mache solange -bg.wait=solange (millis) +bg.break=break +bg.delay=delay +bg.delay_microseconds=delayMicroseconds +bg.while=while +bg.do_while=do while +bg.wait=while (millis) bg.program.description=Schleife und Setup bg.sketch.description=Programm mit global-Teil, setup() und loop() @@ -243,8 +246,8 @@ bg.delay_microseconds.description=Warte Mikrosekunden. Solange tut das Programm bg.wait.description=Die Bloecke innerhalb dieses Blocks werden ausgeführt x Millisekunden ausgeführt. bc.head= -bc.setup=Setup -bc.loop=Loop +bc.setup=setup +bc.loop=loop bc.loop.description=Liste mit Befehlen die fortlaufen wiederholt wird. bc.do=mache @@ -339,20 +342,20 @@ bg.pin-write-analog=analogWrite bg.pin-write-digital=digitalWrite bg.pin-mode-output= pinMode OUTPUT bg.servo_default=Servo -bg.tone=Ton -bg.tone_time=Ton -bg.no_tone=kein Ton -bg.attach_servo_default=Servo verbinden -bg.detach_servo_default=Servo trennen - -bg.neopixel_init=Setup Pixel -bg.neopixel_pixel_color=Farbe fuer Pixel RGB [0...255] -bg.neopixel_show= Daten an Pixel senden -bg.neopixel_brightness=Pixel Helligkeit[0...255] -bg.stepper_2pin=Setup fuer Stepper -bg.stepper_4pin=Setup fuer Stepper -bg.stepper_set_rpm=Stepper U/min -bg.stepper_steps=Stepper Schritte +bg.tone=tone +bg.tone_time=tone +bg.no_tone=noTone +bg.attach_servo_default=attachServo +bg.detach_servo_default=detachServo + +bg.neopixel_init=Pixel Setup +bg.neopixel_pixel_color=Pixel setPixelColor +bg.neopixel_show= Pixel show +bg.neopixel_brightness=Pixel setBrightness +bg.stepper_2pin=Stepper Setup +bg.stepper_4pin=Stepper Setup +bg.stepper_set_rpm=Stepper setSpeed +bg.stepper_steps=Stepper step bg.attach_servo_default.description=Servo verbinden bg.detach_servo_default.description=Servo trennen @@ -367,16 +370,16 @@ bg.no_tone.description=Beendet das Rechtecksignals das durch tone() ausgel bg.pin-write-digital.description=Ausgangwert für digitalen Pin festlegen [HIGH / LOW] bg.pin-write-analog.description=PWM-Ausgang erhält Wert [0-255] bg.pin-mode-output.description= Setze Pin als Ausgang (OUTPUT) -bg.neopixel_brightness.description=Stellt die Helligkeit der gesamten Kette ein -bg.neopixel_pixel_color.description=Farbewerte fuer einen bestimmten Pixel festlegen +bg.neopixel_brightness.description=Stellt die Helligkeit der gesamten Kette ein [0...255] +bg.neopixel_pixel_color.description=Farbewerte fuer einen bestimmten Pixel festlegen (RGB [0...255]) bg.neopixel_init.description=Initialisiert die RGB-Pixel\nSchnittstelle: NEO_KHZ800 / NEO_KHZ400\nFarbfolge: NEO_GRB / NEO_RGB bg.neopixel_show.description=Daten werden erst mit diesem Befehl an die Pixel übertragen bc.steps=Schritte/U bc.speed=U/min -bc.red=Rot Start -bc.blue=Blau Start -bc.green=Gruen Start +bc.red=Rot +bc.blue=Blau +bc.green=Gruen bc.brightness=Helligkeit bc.Nb_of_Led=Wie viele Pixel bc.Nb_of_Led.description=Wie viele Pixel hat die Kette @@ -399,8 +402,8 @@ bg.pin-read-analog=analogRead bg.pin-read-digital=digitalRead bg.pin-read-digital-pullup=inputPullup bg.pin-mode-input=pinMode INPUT -bg.LGI_Ultrasonic=lese Ultraschall Sensor -bg.LGI_Ultrasonic2Pin=lese Ultraschall Sensor +bg.LGI_Ultrasonic=lese Ultraschall-Sensor +bg.LGI_Ultrasonic2Pin=lese Ultraschall-Sensor bg.LGI_Qtouch_Init1=Setup fuer Q-Touch-Button1 bg.LGI_Qtouch_Init2=Setup fuer Q-Touch-Button2 @@ -419,10 +422,10 @@ bg.LGI_Qtouch_Slider_getTouchPosition=Wert von Q-Touch-Slider bg.LGI_Qtouch_Slider_getOffset1=Offset1 von Q-Touch-Slider bg.LGI_Qtouch_Slider_getOffset2=Offset2 von Q-Touch-Slider bg.LGI_Qtouch_Slider_getOffset3=Offset3 von Q-Touch-Slider -bg.dht_sensor_setup=Setup DHT Sensor -bg.dht_sensor_read_temp=DHT lese Temperatur -bg.dht_sensor_read_humid=DHT lese Luftfeuchtigkeit -bg.dht_sensor_calc_index=DHT berechne Hitzeindex +bg.dht_sensor_setup=DHT begin +bg.dht_sensor_read_temp=DHT readTemperature +bg.dht_sensor_read_humid=DHT readHumidity +bg.dht_sensor_calc_index=DHT computeHeatIndex bg.pin-read-analog.description=Liest den analogen Wert vom Pin. 0V = 0. 5V = 1023 bg.pin-read-digital.description=Liest den digitalen Wert vom Pin ein (HIGH or LOW) @@ -458,7 +461,6 @@ bc.DHTtemp=Temperatur bc.DHThumid=Luftfeuchtigkeit bc.triggerPin=Trigger-Pin bc.echoPin=Echo-Pin - #LOGIC #**************************** bd.logic=Log. Operatoren @@ -476,10 +478,10 @@ bg.greater=> bg.greater_equal=>= bg.less=< bg.less_equal=<= -bg.not=NICHT +bg.not=! (NOT) bg.not_equal=!= -bg.and=UND -bg.or=ODER +bg.and=&& (AND) +bg.or=|| (OR) bg.equal_digital=== bg.not_equal_digital=!= bg.bit_and_poly=& @@ -489,7 +491,7 @@ bg.bit_not_poly=~ bg.bit_and=& bg.bit_or=| bg.bit_xor=^ -bg.bit_not=~ +bg.bit_not=~ bg.bit_shift_left=<< bg.bit_shift_right=>> @@ -501,9 +503,9 @@ bg.greater_equal.description=WAHR, wenn der erste Wert gr bg.less_equal.description=WAHR, wenn der erste Wert kleiner oder gleich dem Zweiten ist bg.not_equal.description=WAHR, wenn NICHT beide analogen Werte identisch sind bg.not_equal_digital.description=WAHR, wenn NICHT beide digitalen Werte identisch sind -bg.and.description=WAHR, wenn beide beide Bedingungen erfüllt sind. -bg.or.description=WAHR, wenn eine oder beide Bedingungen erfüllt sind. -bg.not.description= Das Gegenteil von (z.B. WAHR wird zu FALSCH) +bg.and.description=UND - WAHR, wenn beide beide Bedingungen erfüllt sind. +bg.or.description=ODER - WAHR, wenn eine oder beide Bedingungen erfüllt sind. +bg.not.description=NICHT - Das Gegenteil von (z.B. WAHR wird zu FALSCH) bg.equal_poly.description=WAHR wenn die zwei Zeichen identisch sind bg.not_equal_poly.description=WAHR wenn die zwei Zeichen NICHT identisch sind bg.bit_and_poly.description=bitweises UND @@ -523,26 +525,26 @@ bd.operators=Math. Operatoren bg.mathDivider1=| Operatoren | bg.mathDivider2=| Signalanpassung | -bg.mathDivider3=| Zufallszahl | -bg.mathDivider4=| PID-Regler | +bg.mathDivider3=| Zufallszahl | +bg.mathDivider4=| PID-Regler | -bg.constrain=einschränken +bg.constrain=constrain bg.abs=abs bg.addition=+ bg.cos=cos bg.division=/ bg.equal=== -bg.map=zuordnen +bg.map=map bg.map_common=map [0, 1023] to [0, 255] bg.max=max bg.min=min bg.modulo=% bg.multiplication=x -bg.pow=Potenz -bg.random=Zufallszahl -bg.random_range=Zufallszahl +bg.pow=pow +bg.random=random +bg.random_range=random bg.sin=sin -bg.sqrt=Wurzel +bg.sqrt=sqrt bg.log=log bg.subtraction=- bg.tan=tan @@ -561,10 +563,10 @@ bg.log.description=Natuerlicher Logarithmus bc.max=max bc.min=min bc.to=bis -bc.fromLow= von Low -bc.fromHigh=von High -bc.toLow=nach Low -bc.toHigh=nach High +bc.fromLow= in Low +bc.fromHigh=in High +bc.toLow=out Low +bc.toHigh=out High bc.from=von bc.base=Basis bc.exponent=Exponent @@ -572,13 +574,11 @@ bc.low=unterer bc.high=oberer bc.element = Element - bg.pid=PID bg.pid_limit=PID bg.pid.description= PID Regler-Block bg.pid_limit.description= PID Regler-Block mit Begrenzung - bc.input=Istwert bc.setpoint=Sollwert bc.interval=Intervall @@ -592,38 +592,38 @@ bc.limitH=oberes Limit #**************************** bd.cast=Typ Konvertierung -bg.castDivider1=| Zeichenketten <-> analoge Werte | +bg.castDivider1=| ASCII <-> int | bg.castDivider2=| Datentypen | -bg.castDivider3=| kurze analoge Werte <-> Zeichen | - -bg.cast_atoi=Zeichenkette zu analogem Wert -bg.cast_itoa=analoger Wert zu Zeichenkette -bg.cast_number=wandle in analogen Wert -bg.cast_number_byte=wandle in kurzen analogen Wert -bg.cast_number_long=wandle in langen analogen Wert -bg.cast_number_float=wandle in dezimalen Wert -bg.cast_byte_char=wandle kurzen analoger Wert in Zeichen -bg.cast_char_byte=wandle Zeichen zu kurzem analogen Wert -bg.cast_low_int_char=unterer Teil analoger Wert zu Zeichen -bg.cast_up_int_char=oberer Teil analoger Wert zu Zeichen -bg.cast_char_int=Zeichen zu analoger Wert -bg.cast_byte_int=kurzer analoger Wert zu analogem Wert - -bg.cast_atoi.description=lese analogen Wert (int) aus Zeichenkette (char) -bg.cast_itoa.description=erstelle Zeichenkette (char) aus analogem Wert (int) -bg.cast_number.description=wandle in analogen Wert -bg.cast_number_byte.description=wandle in kurzen analogen Wert -bg.cast_number_long.description=wandle in langen analogen Wert -bg.cast_number_float.description=wandle in dezimalen Wert -bg.cast_byte_char.description=wandle analogen Wert zu Zeichen -bg.cast_char_byte.description=wandle Zeichen zu kurzem analogen Wert -bg.cast_low_int_char.description=wandle unteren Teil von analogem Wert zu Zeichen -bg.cast_up_int_char.description=wandle oberen Teil von analogem Wert zu Zeichen -bg.cast_char_int.description=erzeuge analogen Wert aus zwei Zeichen -bg.cast_byte_int.description=erzeuge analogen Wert aus zwei kurzen analogen Werten - -bc.lowerByte=unterer Wert -bc.upperByte=oberer Wert +bg.castDivider3=| byte <-> char | + +bg.cast_atoi=atoi +bg.cast_itoa=itoa +bg.cast_number=(int) +bg.cast_number_byte=(byte) +bg.cast_number_long=(long) +bg.cast_number_float=(float) +bg.cast_byte_char=(char) +bg.cast_char_byte=char zu byte +bg.cast_low_int_char=int zu char +bg.cast_up_int_char=(int >> 8) zu char +bg.cast_char_int=char zu int +bg.cast_byte_int=byte zu int + +bg.cast_atoi.description=lese int-Wert aus char-array +bg.cast_itoa.description=erstelle char-array aus int-Wert +bg.cast_number.description=wandle zu int +bg.cast_number_byte.description=wandle zu byte +bg.cast_number_long.description=wandle zu long +bg.cast_number_float.description=wandle zu float +bg.cast_byte_char.description=wandle byte zu char +bg.cast_char_byte.description=wandle char zu byte +bg.cast_low_int_char.description=wandle unteren Teil von int Wert zu char +bg.cast_up_int_char.description=wandle oberen Teil von int Wert zu char +bg.cast_char_int.description=erzeuge int Wert aus zwei char-Zeichen +bg.cast_byte_int.description=erzeuge int Wert aus zwei byte + +bc.lowerByte=unteres byte +bc.upperByte=oberes byte #NUMBERS #**************************** @@ -635,7 +635,7 @@ bg.numberDivider3=| Analoge Variablen | bg.numberDivider4=| Zeichen/Text | bg.numberDivider5=| Konstanten | -bg.millis=Millis +bg.millis=millis bg.digital-high=HIGH bg.digital-low=LOW bg.true=true @@ -644,29 +644,29 @@ bg.false=false bg.string=ABCD bg.char=A bg.number=1 -bg.setter_variable_digital=Setze digitale Variable -bg.setter_variable_number=Setze analoge Variable -bg.setter_variable_number_byte=Setze kurze analoge Variable -bg.setter_variable_number_long=Setze lange analoge Variable -bg.setter_variable_number_float=Setze dezimale Variable -bg.setter_variable_char=Setze Zeichen Variable -bg.setter_variable_string=Setze Zeichenkette -bg.setter_define_digital=Definiere Konstante -bg.setter_define_number=Definiere Konstante -bg.variable_digital=digitale_Variable -bg.constant_digital=digitale_Konstante -bg.variable_number=analoge_Variable -bg.constant_number=analoge_Konstante -bg.variable_char=Zeichen_Variable -bg.local_variable_char=lokale_Zeichen_Variable -bg.variable_string=Zeichenketten_Variable -bg.local_variable_string=lokale_Zeichenketten_Variable -bg.variable_file=Datei_Variable -bg.local_variable_file=lokale_Datei_Variable -bg.local_variable_number=lokale_analoge_Variable -bg.local_variable_digital=lokale_digitale_Variable - -g.millis.description=Gibt die Millisekungen seit Programmstart zurück\n(langer analoger Wert) +bg.setter_variable_digital=Setze bool Variable +bg.setter_variable_number=Setze int Variable +bg.setter_variable_number_byte=Setze byte Variable +bg.setter_variable_number_long=Setze long Variable +bg.setter_variable_number_float=Setze float Variable +bg.setter_variable_char=Setze char Variable +bg.setter_variable_string=Setze char-Array +bg.setter_define_digital=#define +bg.setter_define_number=#define +bg.variable_digital=bool_Variable +bg.constant_digital=bool_Konstante +bg.variable_number=int_Variable +bg.constant_number=int_Konstante +bg.variable_char=char_Variable +bg.local_variable_char=lokale_char_Variable +bg.variable_string=char_Array +bg.local_variable_string=lokales_char_Array +bg.variable_file=File_Variable +bg.local_variable_file=lokale_File_Variable +bg.local_variable_number=lokale_int_Variable +bg.local_variable_digital=lokale_bool_Variable + +bg.millis.description=Gibt die Millisekungen seit Programmstart zurück\n(langer analoger Wert) bg.true.description=digitaler Wert WAHR (true) bg.false.description=digitaler Wert FALSCH (false) bg.digital-high.description=Pin HIGH @@ -674,23 +674,23 @@ bg.digital-low.description=Pin LOW bg.char.description=Ein ASCII-Zeichen bg.number.description=analoger Ganzzahlwert (int)-Wert (-32,768 bis +32,767) bg.variable_number.description=Name der analogen Variable (int)\nDatentyp hängt vom \"Setze-Block\" ab -bg.constant_number.description=Name der analogen Konstante (byte|int|float)\nDie Konstante kann nur einmal definiert werden. +bg.constant_number.description=Name der analogen Konstante (byte/int/float)\nDie Konstante kann nur einmal definiert werden. bg.variable_digital.description=Name der digitalen Variable (bool) bg.constant_digital.description=Name der digitalen Konstante (bool)\nDie Konstante kann nur einmal definiert werden. -bg.variable_string.description=Name der Zeichenketten Variable (char[]-Array) -bg.local_variable_string.description=Name der lokalen Zeichenketten Variable (char[]-Array) +bg.variable_string.description=Name der Zeichenketten Variable (char-Array) +bg.local_variable_string.description=Name der lokalen Zeichenketten Variable (char-Array) bg.setter_variable_number.description=Setze eine analoge Variable (int).\n-32,768 bis +32,767 bg.setter_variable_number_byte.description=Setze eine kurze analoge Variable (byte).\n 0 bis 255 bg.setter_variable_number_long.description=Setze eine lange analoge Variable (long). \n-2,147,483,648 bis 2,147,483,647 bg.setter_variable_number_float.description=Setze eine dezimale Variable (float).\n +/- 3.4028235E+38 bg.setter_variable_digital.description=Setze eine digitale Variable (bool).\nHIGH or LOW -bg.setter_variable_string.description=Setze eine Zeichenkette Variable (char[]-Array) +bg.setter_variable_string.description=Setze eine Zeichenkette Variable (char-Array) bg.setter_variable_char.description=Setze ASCII-Zeichen Variable (char) -bg.setter_define_digital.description=Deiniere digitale (bool) Konstante.\n(Bezeichnung wird beim Hochladen durch Wert ersetzt) -bg.setter_define_number.description=Deiniere analoge (byte/int/float) Konstante.\n(Bezeichnung wird beim Hochladen durch Wert ersetzt) +bg.setter_define_digital.description=Deiniere bool Konstante.\n(Bezeichnung wird beim Hochladen durch Wert ersetzt) +bg.setter_define_number.description=Deiniere byte/int/float Konstante.\n(Bezeichnung wird beim Hochladen durch Wert ersetzt) bg.variable_char.description=ASCII-Zeichen Variable (char) bg.local_variable_char.description=lokale Zeichen Variable (char) -bg.string.description=Zeichenkette (char[]-Array) +bg.string.description=Zeichenkette (char-Array) bg.variable_file.description=Datei Variable bg.local_variable_file.description=lokale Datei Variable bg.local_variable_number.description=Name der lokalen analogen Variable (int)\nDatentyp hängt vom \"Setze-Block\" ab @@ -698,19 +698,19 @@ bg.local_variable_digital.description=Name der lokalen digitalen Variable (bool) bc.num=# bc.position=Position -bc.variable_digital=digitale_Variable -bc.variable_number=analoge_Variable -bc.variable_number_long =lange_analogen_Variable -bc.variable_number_float=dezimale_Variable +bc.variable_digital=bool_Variable +bc.variable_number=int_Variable +bc.variable_number_long =long_Variable +bc.variable_number_float=float_Variable #TEST NEW BLOCKDESIGN -bg.setter_variable_digital_line=setze digitale variable -bg.setter_variable_digital_line.description=Schreibe neuen Wert in digitale (bool) Variable -bg.setter_variable_analog_line=setze analoge variable -bg.setter_variable_analog_line.description=Schreibe neuen Wert in analoge (int) Variable -bg.create_variable_analog=erstelle analoge variable +bg.setter_variable_digital_line=setze bool variable +bg.setter_variable_digital_line.description=Schreibe neuen Wert in bool Variable +bg.setter_variable_analog_line=setze int variable +bg.setter_variable_analog_line.description=Schreibe neuen Wert in int Variable +bg.create_variable_analog=erstelle int variable bg.create_variable_analog.description=Erstelle neue int Variable\nOptional mit Startwert -bg.create_array_analog=setze analoge Tabelle +bg.create_array_analog=setze int array bg.create_array_analog.description=Erstelle neues int Array\nOptional mit Startwert #ARRAYS @@ -721,50 +721,50 @@ bg.arrayDivider1=| analoge Tabellen | bg.arrayDivider2=| Zeichenketten | bg.arrayDivider3=| kopieren/ersetzen | -bg.create_char_array=Erstelle Zeichenkette -bg.read_char_array=lese Zeichen -bg.setter_char_array=setze Zeichen -bg.create_number_array=Erstelle analoge Tabelle -bg.create_number_byte_array=Erstelle kurze analoge Tabelle -bg.create_number_long_array=Erstelle lange analoge Tabelle -bg.create_number_float_array=Erstelle dezimale Tabelle -bg.setter_number_array=Setze Tabellen-Feld -bg.read_number_array=Lese Tabellenelement - -bg.create_char_array.description=Erstelle Zeichenkette (char[]) +bg.create_char_array=Erstelle char-Array +bg.read_char_array=lese char-Zeichen +bg.setter_char_array=setze char-Zeichen +bg.create_number_array=Erstelle int-Array +bg.create_number_byte_array=Erstelle byte-Array +bg.create_number_long_array=Erstelle long-Array +bg.create_number_float_array=Erstelle float-Array +bg.setter_number_array=setze Array-Feld +bg.read_number_array=lese Array-Feld + +bg.create_char_array.description=Erstelle char-Array bg.read_char_array.description=lese Zeichen (char) an Position bg.setter_char_array.description=setze Zeichen (char) an Position bg.create_number_array.description=Erzeuge ein Array für analoge Werte (int)\n-32,768 bis +32,767 bg.create_number_byte_array.description=Erzeuge ein Array für kurze analoge Werte (byte)\n 0-255 -bg.create_number_long_array.description=Erzeuge ein Array für lange analoge Werte (long) -bg.create_number_float_array.description=Erzeuge ein Array für dezimale Werte (float) +bg.create_number_long_array.description=Erzeuge ein Array für lange analoge Werte (long)\n-2,147,483,648 bis 2,147,483,647 +bg.create_number_float_array.description=Erzeuge ein Array für dezimale Werte (float)\n +/- 3.4028235E+38 bg.setter_number_array.description=Setze den Wert eines Array-Feldes -bg.read_number_array.description=Lese den Wert eines\nTabellen-Feldes +bg.read_number_array.description=Lese den Wert eines Array-Feldes -bg.memcpy_number=kopiere Tabelle +bg.memcpy_number=memcpy bg.memcpy_number.description=kopiere einen Speicherbereich von einem Ort (Quelle) in einen anderen (Ziel).\nACHTUNG: Laenge in Bytes angeben -bg.memset_number=ersetze Werte in Tabelle +bg.memset_number=memset bg.memset_number.description=ersetze eine bestimmte Anzahl Werte in einer Tabelle -bg.memcpy_string=kopiere Zeichenkette (Teil) +bg.memcpy_string=memcpy bg.memcpy_string.description=kopiere einen Speicherbereich von einem Ort (Quelle) in einen anderen (Ziel) -bg.memset_string=ersetze Werte in Zeichenkette +bg.memset_string=memset bg.memset_string.description=ersetze eine bestimmte Anzahl Zeichen durch ein anderes -bg.strcpy_string=kopiere Zeichenkette +bg.strcpy_string=strcpy bg.strcpy_string.description=kopiere eine Zeichenkette (Quelle) in eine andere (Ziel) -bg.reference_string=Offset Zeichenkette -bg.reference_string.description=Verschiebt die Startposition ab der die Zeichenkette verwendet wird \n-> &array[x] -bg.reference_number=Offset Tabelle -bg.reference_number.description=Verschiebt die Startposition ab der die Tabelle verwendet wird \n-> &array[x] -bg.sizeof_number=Anzahl Stellen Tabelle +bg.reference_string=offset char-array +bg.reference_string.description=Verschiebt die Startposition ab der das char-Array verwendet wird \n-> &array[x] +bg.reference_number=offset array +bg.reference_number.description=Verschiebt die Startposition ab der das Array verwendet wird \n-> &array[x] +bg.sizeof_number=sizeOf bg.sizeof_number.description=Gibt Anzahl der verfuegbaren Stellen der Tabelle zurueck \n-> sizeOf(Array)/sizeOf(Datentyp) -bg.sizeof_string=Anzahl Stellen Zeichenkette -bg.sizeof_string.description=Gibt Anzahl der verfuegbaren Stellen der Zeichenkette zurueck \n-> sizeOf(Array)/sizeOf(Datentyp) -bg.strlen_string=Länge der Zeichenkette +bg.sizeof_string=sizeOf +bg.sizeof_string.description=Gibt Anzahl der verfuegbaren Stellen der Zeichenkette zurueck \n-> sizeOf(Array)/sizeOf(Datentyp) +bg.strlen_string=strlen bg.strlen_string.description=Gibt Laenge der Zeichenkette zurueck\n(Bis zum ersten String-Ende -> '\\0') -bc.string=Zeichenkette +bc.string=char-Array bc.position=Stelle -bc.array=Tabellen-Name +bc.array=Array-Name bc.vecsize=Anzahl Werte bc.count_chars=Anzahl Zeichen bc.count=Anzahl @@ -800,7 +800,7 @@ bg.glue_digital=verbinde bg.glue_number=verbinde bg.glue_char=verbinde bg.glue_string=verbinde -bg.read_serial_monitor=lese von SerialMonitor +bg.read_serial_monitor=readSerialData bg.tele_set_frame=schreibe Daten in Frame bg.tele_read_frame=lese Frame seriell ein @@ -828,7 +828,7 @@ bg.glue_digital.description=Verbinde digitalen Wert mit Zeichenkette bg.glue_number.description=Verbinde analogen Wert mit Zeichenkette bg.glue_char.description=Verbinde Zeichen mit Zeichenkette bg.glue_string.description=Verbinde Zeichenkette mit Zeichenkette -bg.read_serial_monitor.description=Lese Zeichen vom SerialMonitor bis Zeilenende "CR" und schreibe diese in Zeichenkette. +bg.read_serial_monitor.description=Lese Zeichen vom SerialMonitor bis Zeilenende "CR" und schreibe diese in char-Array bg.tele_set_frame.description=schreibe Daten in den Telegramm-Rahmen bg.tele_read_frame.description=lese Daten von der seriellen Schnittstelle im letsgoING-Telegramm-Format @@ -836,13 +836,12 @@ bg.tele_read_data_frame.description=lese Daten aus dem Telegramm-Rahmen\n HINWEI bg.mqtt_set_frame.description=schreibe Daten in MQTT-Rahmen\n(letsgoING-IOT-Modul) bg.mqtt_read_frame.description=lese Daten aus MQTT-Rahmen\n(letsgoING-IOT-Modul) - bc.print=print bc.ln=neue Zeile bc.rx_pin_number=Rx Pin bc.tx_pin_number=Tx Pin bc.baudrate=Baud -bc.read_array=lese-Zeichenkette +bc.read_array=lese-Array bc.sendAddress= Adr. Sender bc.recAddress=Adr. Empfänger @@ -851,9 +850,9 @@ bc.sendBuffer=zu sendender Frame bc.recFrame=empfangener Frame bc.recBuffer=Empfangspuffer bc.recChars=Anz. empfangene Zeichen +bc.command=Befehlsart bc.nextChar=nächstes Zeichen bc.dataComplete=Daten komplett -bc.command=Befehlsart #DIDACTIC NETWORK #**************************** @@ -869,7 +868,7 @@ bg.psn_client=Client pubSubNet bg.psn_callback=psnNewData bg.psn_handle_network=pubSubNet handleNetwork bg.psn_data_to_send=pubSubNet isDataToSend? -bg.psn_set_interval=pubSubNet setInterval +bg.psn_set_interval=PubSub setInterval bg.psn_publish=pubSubNet publish bg.psn_publish_analog=pubSubNet publish bg.psn_publish_digital=pubSubNet publish @@ -893,11 +892,11 @@ bg.psn_subscribe.description=Topic abonnieren bg.psn_unsubscribe.description=Topic nicht mehr abonnieren bc.ps_name=Name -bc.ps_interval=ms +bc.ps_interval=ms bc.callback=Uebergabefunktion bc.payloadVar=Nutzdaten-Variable bc.payloadLengthVar=Nutzdaten-Laenge-Variable -bc.topicVar=Topic-Variable +bc.topicVar=Topic Variable bc.topicLengthVar=Topic-Laenge-Variable bc.payload=Nutzdaten bc.payloadLength=Länge Nutzdaten @@ -905,7 +904,6 @@ bc.threshold=Schwellwert bc.topic=Topic bc.topicLength=Länge Topic - #STORAGE #**************************** bd.storage=Speicher @@ -913,21 +911,21 @@ bd.storage=Speicher bg.storageDivider1=| EEPROM | bg.storageDivider2=| SD Card | -bg.eeprom_read=lese kurzen analogen Wert von EEPROM -bg.eeprom_write=schreibe kurzen analogen Wert auf EEPROM -bg.eeprom_get=lese beliebigen Datentyp von EEPROM -bg.eeprom_put=schreibe beliebigen Datentyp auf EEPROM -bg.eeprom_length=länge des EEPROM -bg.sd_begin=starte SD -bg.sd_open=öffne Datei SD -bg.sd_close=schließe Datei SD -bg.sd_write=schreibe in Datei SD -bg.sd_read=lese aus Datei SD -bg.sd_data_available=Daten verfuegbar SD -bg.sd_file_available=Datei verfuegbar SD - -bg.eeprom_read.description=lese einen kurzen analogen Wert (0-255) vom EEPROM. Jedes Byte entspicht einer EEPROM Adresse. -bg.eeprom_write.description=schreibe einen kurzen analogen Wert (0-255) auf EEPROM. Jedes Byte entspicht einer EEPROM Adresse. +bg.eeprom_read=EEPROM read (byte) +bg.eeprom_write=EEPROM write (byte) +bg.eeprom_get=EEPROM get +bg.eeprom_put=EEPROM put +bg.eeprom_length=EEPROM +bg.sd_begin=SD begin +bg.sd_open=SD open +bg.sd_close=SD close +bg.sd_write=SD println +bg.sd_read=SD read +bg.sd_data_available=SD available +bg.sd_file_available=SD File exists + +bg.eeprom_read.description=lese einen kurzen analogen Wert (byte, 0-255) vom EEPROM. Jedes Byte entspicht einer EEPROM Adresse. +bg.eeprom_write.description=schreibe einen kurzen analogen Wert (byte, 0-255) auf EEPROM. Jedes Byte entspicht einer EEPROM Adresse. bg.eeprom_get.description=lese beliebigen Datentyp von EEPROM. Jedes Byte entspicht einer EEPROM Adresse. Länge des Datentyps überprüfen! bg.eeprom_put.description=schreibe beliebigen Datentyp auf EEPROM. Jedes Byte entspicht einer EEPROM Adresse. Länge des Datentyps überprüfen! bg.eeprom_length.description=länge des EEPROM diff --git a/src/main/resources/com/ardublock/block/ardublock_de_DE.properties b/src/main/resources/com/ardublock/block/ardublock_de_DE.properties new file mode 100644 index 0000000000000000000000000000000000000000..c55c92f51ca50d492f7a6353654953776f77b319 --- /dev/null +++ b/src/main/resources/com/ardublock/block/ardublock_de_DE.properties @@ -0,0 +1,977 @@ + +############### +# ARDUBLOCK # +############### + +#FILE +#**************************** +ardublock.file.suffix=Ardublock Programmdatei (*.abp) + +#UI +#**************************** +ardublock.ui.menu.file=Datei +ardublock.ui.menu.program=Programm +ardublock.ui.menu.tools=Werkzeuge +ardublock.ui.menu.blocks=Blöcke +ardublock.ui.menu.about=Über +ardublock.ui.menu.help=? + +ardublock.ui.submenu.examples=Beispiele +ardublock.ui.submenu.examples.basic=Basic +ardublock.ui.submenu.examples.digital=Digital +ardublock.ui.submenu.examples.analog=Analog +ardublock.ui.submenu.examples.communication=Kommunikation + +ardublock.ui.new=Neu +ardublock.ui.new.tooltip=Neues Programm erstellen +ardublock.ui.save=Speichern +ardublock.ui.save.tooltip=ArduBlock-Programm speichern +ardublock.ui.saveAs=Speichern unter +ardublock.ui.saveAs.tooltip=ArduBlock-Programm unter neuem Namen speichern +ardublock.ui.load=Öffnen +ardublock.ui.load.tooltip=ArduBlock-Programm öffnen +ardublock.ui.upload=Hochladen auf den Arduino +ardublock.ui.upload.tooltip=Programm auf Arduino laden +ardublock.ui.clone=klonen (Strg-Rechtsklick) +ardublock.ui.clone_all=folgende klonen (Strg-Shift-Rechtsklick) +ardublock.ui.add_comment=Kommentar hinzufügen +ardublock.ui.delete_comment=Kommentar löschen +ardublock.ui.organize_blocks=Alle Blöcke neu anordnen +ardublock.ui.create_refer=Verweis erstellen +ardublock.ui.website=letsgoING (Web) +ardublock.ui.website.domain=https://letsgoing.org +ardublock.ui.website.tooltip=öffnet die letsgoING-Homepage +ardublock.ui.lmssite=Online Lernen (Web) +ardublock.ui.lmssite.domain=moodle.letsgoing.org +ardublock.ui.lmssite.tooltip=öffnet die letsgoING-Lernseiten +ardublock.ui.reference=Block-Referenz öffnen +ardublock.ui.blockreference=Übersicht Block-Referenz öffnen (Web) +ardublock.ui.blockreference.domain=https://blockreferenz.letsgoing.org/ +ardublock.ui.blockreference.tooltip=öffnet die Blockreferenz +ardublock.ui.repository=https://gitlab.reutlingen-university.de/letsgoing/ardublock +ardublock.ui.repository.tooltip=gehe zur ArduBlock Repository +ardublock.ui.languagestyle=C-Style (Neustart IDE oder neues Programm) +ardublock.ui.languagestyle.tooltip=Block-Namen umschrieben oder c-style +ardublock.ui.mode.expert=Full +ardublock.ui.mode.expert.tooltip=Mehr Blöcke und komplexere Funktionen fuer Fortgeschrittene +ardublock.ui.mode.standard=Basic +ardublock.ui.mode.standard.tooltip=Die wichtigsten Blöcke für den Einstieg +ardublock.ui.mode.sim=Sim +ardublock.ui.mode.sim.tooltip=ArduBlock Basic mit Simulation "letsgoING-Grundlagen-Hardware" +ardublock.ui.search=suche Blöcke +ardublock.ui.search.tooltip=Suche im Arbeitsfenster und den Menüs nach Blöcken + +#ardublock.ui.modeButton.mode.tooltip=umschalten zwischen Grundlagen- und Projektblöcken +ardublock.ui.serialMonitor=Serieller Monitor +ardublock.ui.serialMonitor.tooltip=öffnet den seriellen Monitor +ardublock.ui.serialPlotter=Serieller Plotter +ardublock.ui.serialPlotter.tooltip=öffnet den seriellen Plotter +ardublock.ui.undo=Undo +ardublock.ui.undo.tooltip=Rückgängig +ardublock.ui.redo=Redo +ardublock.ui.redo.tooltip=Wiederherstellen +ardublock.ui.saveImage=Als Bild speichern +ardublock.ui.saveImage.tooltip=Speichert ein Bild des aktuellen Programms +ardublock.ui.saveDefaultProgram=Als Vorlage speichern +ardublock.ui.saveDefaultProgram.tooltip=Speichert aktuelles Programm als Vorlage für neue Programme +ardublock.ui.zoomIn=+ +ardublock.ui.zoomIn.tooltip=vergrößere Programm +ardublock.ui.zoomOut=- +ardublock.ui.zoomOut.tooltip=verkleinere Programm +ardublock.ui.zoomReset=0 +ardublock.ui.zoomReset.tooltip=zurücksetzen +ardublock.ui.copy=Programm kopieren +ardublock.ui.copy.tooltip=kopiere gesamtes Programm in Zwischenablage +ardublock.ui.paste=Programm einfügen +ardublock.ui.paste.tooltip=füge gesamtes Programm aus Zwischenablage ein +ardublock.ui.help=Hilfe zu ArduBlock +ardublock.ui.help.tooltip=Hilfe zu ArduBlock +ardublock.ui.simulation=Hochladen auf den Simulator +ardublock.ui.simulation.tooltip=Starte den Simulator und lade das Programm hoch +ardublock.ui.simulatorHelp=Hilfe zum Simulator +ardublock.ui.simulatorHelp.tooltip=Infos zum letsgoING-Simulator +ardublock.ui.simulatorHelp.title=Infos zum letsgoING-Simulator +ardublock.ui.simulatorHelp.text=TASTER\n**********************\nlinke Maustaste -> Taster-Funktion\nrechte oder mittlere Maustaste -> Schalterfunktion (bleibt aktiv)\n\n\n\nPOTI\n**********************\nSlider ziehen oder mit Mausrad verstellen (Mauszeiger über Slider)\n\n\nSERIALMONITOR\n**********************\nHier werden die Nachrichten vom "Serial.Print"-Block ausgegeben\nAutoscroll:\n an -> neueste Nachrichten werden angezeigt\n aus -> Ausgabe kann manuell ausgewählt werden\nReset SerialMonitor: bisherige Ausgabe wird gelöscht\n\n\n\RESET ARDUINO\n**********************\nTaster startet das Programm neu\n\n\n\ONBOARD LED\n**********************\nLED kann über Pin13 angesteuert werden +ardublock.ui.addLibraries=Bibliotheken hinzufügen +ardublock.ui.addLibraries.tooltip=Lade nicht-standard Bibliotheken sie in ArduBlock verwendet werden + +ardublock.ui.version=v2.2 beta4 + +ardublock.ui.appprefix.standard=Basic +ardublock.ui.appprefix.pro=Pro +ardublock.ui.appprefix.sim=Simulator + +#ERROR +#**************************** +ardublock.error_msg.unset_variable=Die Variable ist unbestimmt. Bevor die Variable lesend verwendet werden kann, muss ihr ein Wert zugewiesen werden. +ardublock.error_msg.define_slot=#define benötigt einen define-Konstante-Block. +ardublock.error_msg.number_const_write=Eine Define-Konstante kann nicht mit einem neuen Wert beschrieben werden. Keine neuen Werte für Define-Konstanten setzen! +ardublock.error_msg.digital_var_slot=Der 'Variable'-Sockel benötigt einen 'digitale_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.number_local_var_slot=Der 'Variable'-Sockel benötigt einen 'lokale_analoge_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.number_var_slot= Der 'Variable'-Sockel benötigt einen 'analoge_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.number_slot= Der Sockel benötigt einen 'analoge_Variable'-Block oder einen "Analoger Wert"-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.long_number_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_langen_analogen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.double_number_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_dezimalen_analogen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.char_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_Zeichen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.array_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_Tabelle'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.array_size_slot=Der 'Größe' Slot muss einen analogen Wert enthalten +ardublock.error_msg.string_var_slot=Der 'Variable'-Slot benötigt einen 'Name_der_String_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.string_slot= Der 'Wert'-Slot benötigt einen 'String_Variable'-Block oder einen 'Name_der_String_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.var_slot= Der Slot benötigt einen 'Variable'-Block +ardublock.error_msg.local_var_slot=Der 'Variable'-Sockel benötigt einen 'lokale_X_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! +ardublock.error_msg.var_value_slot=Der Sockel benötigt einen 'Variable' oder 'Wert'-Block.\nTIPP: Schaue an dem hervorgehobenen Block! +ardublock.error_msg.var_value_slot=Es ist nur ein Rueckgabeparameter pro Unterprogramm erlaubt! +ardublock.error_msg.Digital_pin_slot=Pin# muss einer Pin-Nummer des Arduino-Boards entsprechen +ardublock.error_msg.Analog_pin_slot=Pin# muss einer analogen Pin-Nummer des Arduino-Boards entsprechen +ardublock.error_msg.Serial_Read_slot=Der 'nächstes Zeichen' Sockel benötigt einen 'Serial read'- oder 'softSerial read'-Block +ardublock.error_msg.wrong_block_header=Dieser Block kann nicht im Kopfteil des Programms verwendet werden +ardublock.error_msg.stepper_duplicated=Es gibt schon einen Stepper mit diesem Namen +ardublock.error_msg.stepper_not_existing=Es gibt keinen Stepper mit diesem Namen +ardublock.error_msg.paste.invalid=Zwischenablage enthält keine ArduBlock-Blöcke +ardublock.error_msg.paste.notpossible=Einfügen ohne Blöcke nicht möglich. + +ardublock.error_msg.pid_limit_error=PID-Block: Oberes Limit ist kleiner oder gleich wie unteres Limit + +ardublock.error_msg.no_sim_for_block=Dieser Block ist für die Simulation nicht geeignet. + +#TRANSLATOR +#**************************** +ardublock.translator.exception.subroutineNameDuplicated=Zwei oder mehr Unterprogramme haben den selben Namen! +ardublock.translator.exception.noLoopFound=Keine Hauptschleife gefunden\! +ardublock.translator.exception.multipleLoopFound=Mehrere Hauptschleifen gefunden\! +ardublock.translator.exception.socketNull=Ein benötigter Wert, Variablenname oder eine Bedingung fehlt!\nTIPP: Suche nach einem leeren Sockel an dem hervorgehobenen Block! +ardublock.translator.exception.socketNull.consolePrint=Der Name des Blocks: +ardublock.translator.exception.subroutineNotDeclared=Unterprogramm nicht deklariert! +ardublock.translator.exception.subroutineNotDeclared.consolePrint=Der Name des Unterprogramms: + +#MESSAGE +#**************************** +message.title.error=Fehler +message.title.question=Frage +message.content.open_unsaved=Das Ardublock-Programm hat sich geändert, soll es gespeichert werden? +message.content.overwrite=Soll das vorhandene Programm überschrieben werden? +message.content.overwriteDefault=Soll die Programmvorlage überschrieben werden? +message.file_not_found=Datei wurde nicht gefunden oder der Zugriff wurde verweigert. +message.file_not_found_new_file=Datei wurde nicht gefunden oder der Zugriff wurde verweigert.\nSoll eine neue Datei erstellt werden? +message.question.newfile_on_workspace_changed=Das Programm hat sich geändert, soll eine neue Ardublock-Datei erstellt werden? +message.content.overwriteImage=Soll das vorhandene Bild überschrieben werden? +message.content.saveOnExit=Soll das Programm gespeichert werden bevor ArduBlock geschlossen wird? + +# EXAMPLES +#**************************** +ardublock.examples.blink=Blink +ardublock.examples.digitalserial=digitalRead Serial +ardublock.examples.analogserial=analogRead Serial +ardublock.examples.buttonled=digitalRead LED +ardublock.examples.digitalvariabletoggle=toggle digitale Variable +ardublock.examples.countervariable=Zaehler +ardublock.examples.whilebutton=digitalRead solange +ardublock.examples.psnBroker=PubSubNet Broker +ardublock.examples.psnClient1=PubSubNet Client1 +ardublock.examples.psnClient2=PubSubNet Client2 +ardublock.examples.psnChat=PubSubNet Chat-Client + + +################## +# BLOCK CONFIG # +################## + +#COMMON +#**************************** +bg.dummy=Dummy +bg.dummy.description=Dummy Beschreibung + +bc.commands=Befehle +bc.pin_number=Pin +bc.pin_number_analog=Pin A +bc.pwm_pin_number=~Pin +bc.value=Wert +bc.variable=Variable +bc.digital=digital +bc.analog=analog +bc.char=Zeichen +bc.message=Zeichenkette + +#CONTROL +#**************************** +bd.control=Steuerung + +bg.controlDivider1=| Hauptschleifen | +bg.controlDivider2=| Verzweigungen | +bg.controlDivider3=| Schleifen | +bg.controlDivider4=| Warten | + +bg.loop=wiederhole fortlaufend +#legacy support +bg.loop1=wiederhole fortlaufend +bg.loop1.description=Hauptschleife loop() +bg.loop2=wiederhole fortlaufend +bg.loop2.description=Hauptschleife loop() +bg.loop3=wiederhole fortlaufend +bg.loop3.description=Hauptschleife loop() +#End of legacy support +bg.program=Programm +bg.sketch=Programm +bg.setup=Setup +bg.if=falls +bg.elseif=sonst falls +bg.else=sonst +bg.ifelse=falls/sonst +bg.repeat_times=wiederhole +bg.repeat=wiederhole und zaehle +bg.repeat_control= +bg.break=unterbreche +bg.delay=warte Millisekunden +bg.delay_microseconds=warte Microsekunden +bg.while=solange +bg.do_while=mache solange +bg.wait=solange (millis) + +bg.program.description=Schleife und Setup +bg.sketch.description=Programm mit global-Teil, setup() und loop() +bg.loop.description=Schleife mit automatischem Setup +bg.delay.description=Warte Millisekunden. Solange tut das Programm nichts +bg.if.description=Führe Befehle aus, wenn die Bedingung WAHR ist +bg.elseif.description=Führe die Befehle aus wenn "falls-Block" FALSCH ist und Bedingung WAHR \n->falls-Block wird benoetigt!! +bg.else.description=Führe die Befehle aus wenn "falls-Block" (und evtl. "sonst-falls") FALSCH ist \n->falls-Block wird benoetigt!! +bg.ifelse.description=Führe die ersten Befehle aus wenn die Bedingung WAHR ist, sonst die zweiten +bg.while.description=Führe Befehle aus, solange die Bedingung WAHR ist +bg.do_while.description=Führe Befehle aus, solange die Bedingung WAHR ist +bg.repeat_times.description=Wiederhole die Befehle x-mal +bg.repeat.description=Wiederhole die Befehle x-mal. Die Wiederholungen werden in der Variable gespeichert +bg.repeat_control.description= +bg.break.description=Beende die aktuelle Schleife\nACHTUNG: Nicht in der Hauptschleife verwenden! +bg.delay_microseconds.description=Warte Mikrosekunden. Solange tut das Programm nichts +bg.wait.description=Die Bloecke innerhalb dieses Blocks werden ausgeführt x Millisekunden ausgeführt. + +bc.head= +bc.setup=Setup +bc.loop=Loop +bc.loop.description=Liste mit Befehlen die fortlaufen wiederholt wird. + +bc.do=mache +bc.var=Name der Iterationsvariable +bc.microseconds=Microsekunden +bc.milliseconds=Millisekunden +bc.transmit=uebertrage +bc.repeat_times=mal +bc.test=teste +bc.then=dann +bc.else=sonst +bc.condition=teste +bc.start=start +bc.end=stop +bc.increment=Schritte von +bc.time=Millisekunden +bc.sub_var = Uebergabewert +bc.sub_return = Rückgabewert +bc.irName = ISR Name +bc.irNumber = IR Nummer +bc.irType = IR Modus +bc.fcn_description=Beschreibung + +#SUBROUTINES +#**************************** +bd.subroutines = Unterprogramme + +bg.subroutineDivider1=| Ohne Uebergabewerte | +bg.subroutineDivider2=| Mit Uebergabewerten | +bg.subroutineDivider3=| Unterbrechungsprogramm | + +bg.subroutine_param = up_Unterprogramm +bg.subroutine_ref = up_Unterprogramm +bg.subroutine_ref_digital = up_Unterprogramm +bg.subroutine_ref_number = up_Unterprogramm +bg.param_digital = verbinde +bg.param_number = verbinde +bg.param_char = verbinde +bg.param_ref_digital = verbinde +bg.param_ref_number = verbinde +bg.param_ref_char = verbinde +bg.interrupt=interrupt + +bg.subroutine_param.description = Unterprogramm +bg.subroutine_ref.description = Aufruf Unterprogramm +bg.subroutine_ref_digital = Aufruf Unterprogramm +bg.subroutine_ref_number = Aufruf Unterprogramm +bg.param_digital.description = Verbinder für digitalen Parameter +bg.param_number.description = Verbinder für analogen Parameter +bg.param_char.description = Verbinder für Zeichen als Parameter +bg.param_ref_digital.description = Verbinder für digitalen Uebergabewert +bg.param_ref_number.description = Verbinder für analogen Uebergabewert +bg.param_ref_char.description = Verbinder für Zeichen als Uebergabewert +bg.interrupt.description=Interrupt-Block\nIR-Nr.0 = Pin2\nIR-Nr.1 = Pin3\n\nIR-Mode\n0: LOW\n1: HIGH\n2: RISING\n3: FALLING\n4: CHANGE\n + +bc.param_connector=naechster Uebergabewert + +#legacy support +bg.subroutine_com=Unterprogramm +bg.subroutine-ref=Unterprogramm +bg.subroutine_var_com=UP_mit_Uebergabe +bg.subroutine-ref_var=UP_mit_Uebergabe +bg.subroutine_varret_com=UP_mit_Rueckgabe +bg.subroutine-ref_varret=UP_mit_Rueckgabe +bg.ref_var=Uebergabe_Variable + +bg.subroutine_com.description=Erstellt ein Unterprogramm.\nDas Unterprogramm muss im Hauptprogramm aufgerufen werden +bg.subroutine-ref.description=Ruft das Unterprogramm mit gleichem Namen auf +bg.subroutine_varret_com.description=Erstellt ein Unterprogramm mit Übergabe- und Rückgabewert +bg.subroutine-ref_varret.description=Ruft das Unterprogramm mit gleichem Namen auf.\n Gibt den Rückgabewert vom Unterprogramm aus und übergibt den Übergabewert +bg.subroutine_var_com.description=Erstellt ein Unterprogramm mit Übergabewert +bg.subroutine-ref_var.description=Ruft das Unterprogramm mit gleichem Namen auf und übergibt den Übergabewert + +bg.subroutine_varret=UP_mit_Rueckgabe +bg.subroutine_var=UP_mit_Uebergabe +bg.subroutine=Unterprogramm +bg.subroutine_varret.description=Erstellt ein Unterprogramm mit Übergabe- und Rückgabewert +bg.subroutine_var.description=Erstellt ein Unterprogramm mit Übergabewert +bg.subroutine.description=Erstellt ein Unterprogramm.\nDas Unterprogramm muss im Hauptprogramm aufgerufen werden + +#OUTPUT +#**************************** +bd.output=Output + +bg.outputDivider1=| Pins | +bg.outputDivider2=| NeoPixel LEDs | +bg.outputDivider3=| Toene | +bg.outputDivider4=| Servomotoren | +bg.outputDivider5=| Schrittmotoren | + +bg.pin-write-analog=analogWrite +bg.pin-write-digital=digitalWrite +bg.pin-mode-output= pinMode OUTPUT +bg.servo_default=Servo +bg.tone=Ton +bg.tone_time=Ton +bg.no_tone=kein Ton +bg.attach_servo_default=Servo verbinden +bg.detach_servo_default=Servo trennen + +bg.neopixel_init=Setup Pixel +bg.neopixel_pixel_color=Farbe fuer Pixel RGB [0...255] +bg.neopixel_show= Daten an Pixel senden +bg.neopixel_brightness=Pixel Helligkeit[0...255] +bg.stepper_2pin=Setup fuer Stepper +bg.stepper_4pin=Setup fuer Stepper +bg.stepper_set_rpm=Stepper U/min +bg.stepper_steps=Stepper Schritte + +bg.attach_servo_default.description=Servo verbinden +bg.detach_servo_default.description=Servo trennen +bg.servo_default.description=Steuere einen Servo an +bg.stepper_2pin.description=Setup für einen Schrittmotor mit 2-Pin-Ansteuerung +bg.stepper_4pin.description=Setup für einen Schrittmotor mit 4-Pin-Ansteuerung +bg.stepper_set_rpm.description=Setze Geschwindigkeit für Schrittmotor (Umdrehungen pro Minute) +bg.stepper_steps.description=Bewege Schrittmotor X Schritte +bg.tone.description=Generiert ein Rechtecksignal mit der angegebenen Frequenz(und 50 % Tastverhältnis) auf dem Pin. +bg.tone_time.description=Generiert ein Rechtecksignal für eine bestimmte Zeit mit der angegebenen Frequenz(und 50 % Tastverhältnis) auf dem Pin. +bg.no_tone.description=Beendet das Rechtecksignals das durch tone() ausgelöst wurde. +bg.pin-write-digital.description=Ausgangwert für digitalen Pin festlegen [HIGH / LOW] +bg.pin-write-analog.description=PWM-Ausgang erhält Wert [0-255] +bg.pin-mode-output.description= Setze Pin als Ausgang (OUTPUT) +bg.neopixel_brightness.description=Stellt die Helligkeit der gesamten Kette ein +bg.neopixel_pixel_color.description=Farbewerte fuer einen bestimmten Pixel festlegen +bg.neopixel_init.description=Initialisiert die RGB-Pixel\nSchnittstelle: NEO_KHZ800 / NEO_KHZ400\nFarbfolge: NEO_GRB / NEO_RGB +bg.neopixel_show.description=Daten werden erst mit diesem Befehl an die Pixel übertragen + +bc.steps=Schritte/U +bc.speed=U/min +bc.red=Rot Start +bc.blue=Blau Start +bc.green=Gruen Start +bc.brightness=Helligkeit +bc.Nb_of_Led=Wie viele Pixel +bc.Nb_of_Led.description=Wie viele Pixel hat die Kette +bc.Pixel_Nb=Nummer Pixel +bc.Pixel_Nb.description=Welches Pixel soll programmiert werden (beginnend mit 0) +bc.schnittstelle=Schnittstelle +bc.farbfolge=Farbfolge +bc.angle=Winkel +bc.frequency =Frequenz + +#INPUT +#**************************** +bd.input=Input + +bg.inputDivider1=| Pins | +bg.inputDivider2=| Touch | +bg.inputDivider3=| Sensoren | + +bg.pin-read-analog=analogRead +bg.pin-read-digital=digitalRead +bg.pin-read-digital-pullup=inputPullup +bg.pin-mode-input=pinMode INPUT +bg.LGI_Ultrasonic=lese Ultraschall Sensor +bg.LGI_Ultrasonic2Pin=lese Ultraschall Sensor + +bg.LGI_Qtouch_Init1=Setup fuer Q-Touch-Button1 +bg.LGI_Qtouch_Init2=Setup fuer Q-Touch-Button2 +bg.LGI_Qtouch_Init3=Setup fuer Q-Touch-Button3 +bg.LGI_Qtouch_Button1_getOffset=Offset von Q-Touch-Button1 +bg.LGI_Qtouch_Button2_getOffset=Offset von Q-Touch-Button2 +bg.LGI_Qtouch_Button3_getOffset=Offset von Q-Touch-Button3 +bg.LGI_Qtouch_Button1_getRaw=Raw-Wert von Q-Touch-Button1 +bg.LGI_Qtouch_Button2_getRaw=Raw-Wert von Q-Touch-Button2 +bg.LGI_Qtouch_Button3_getRaw=Raw-Wert von Q-Touch-Button3 +bg.LGI_Qtouch_Button1_isTouched=Q-Touch-Button1 beruehrt? +bg.LGI_Qtouch_Button2_isTouched=Q-Touch-Button2 beruehrt? +bg.LGI_Qtouch_Button3_isTouched=Q-Touch-Button3 beruehrt? +bg.LGI_Qtouch_Slider_Init=Q-Touch-Slider Setup +bg.LGI_Qtouch_Slider_getTouchPosition=Wert von Q-Touch-Slider +bg.LGI_Qtouch_Slider_getOffset1=Offset1 von Q-Touch-Slider +bg.LGI_Qtouch_Slider_getOffset2=Offset2 von Q-Touch-Slider +bg.LGI_Qtouch_Slider_getOffset3=Offset3 von Q-Touch-Slider +bg.dht_sensor_setup=Setup DHT Sensor +bg.dht_sensor_read_temp=DHT lese Temperatur +bg.dht_sensor_read_humid=DHT lese Luftfeuchtigkeit +bg.dht_sensor_calc_index=DHT berechne Hitzeindex + +bg.pin-read-analog.description=Liest den analogen Wert vom Pin. 0V = 0. 5V = 1023 +bg.pin-read-digital.description=Liest den digitalen Wert vom Pin ein (HIGH or LOW) +bg.pin-read-digital-pullup.description=Setzt den Pin auf Eingang mit einem Pullup-Widerstand\n Gibt HIGH zurück, wenn nichts angeschlossen ist +bg.pin-mode-input.description= Setze Pin als Eingang (INPUT) +bg.LGI_Ultrasonic.description=Lese Messwert vom Unltraschallsensor +bg.LGI_Ultrasonic2Pin.description=Lese Messwert vom Unltraschallsensor +bg.LGI_Qtouch_Init1.description=Setup fuer Q-Touch-Button1 +bg.LGI_Qtouch_Init2.description=Setup fuer Q-Touch-Button2 +bg.LGI_Qtouch_Init3.description=Setup fuer Q-Touch-Button3 +bg.LGI_Qtouch_Button1_getOffset.description=Gibt den für den Nullabgleich verwendeten Wert zurück +bg.LGI_Qtouch_Button2_getOffset.description=Gibt den für den Nullabgleich verwendeten Wert zurück +bg.LGI_Qtouch_Button3_getOffset.description=Gibt den für den Nullabgleich verwendeten Wert zurück +bg.LGI_Qtouch_Button1_getRaw.description=Gibt den gemessenen, analogen Wert zurück +bg.LGI_Qtouch_Button2_getRaw.description=Gibt den gemessenen, analogen Wert zurück +bg.LGI_Qtouch_Button3_getRaw.description=Gibt den gemessenen, analogen Wert zurück +bg.LGI_Qtouch_Button1_isTouched.description=Gibt WAHR zurück, wenn Button1 berührt wird +bg.LGI_Qtouch_Button2_isTouched.description=Gibt WAHR zurück, wenn Button2 berührt wird +bg.LGI_Qtouch_Button3_isTouched.description=Gibt WAHR zurück, wenn Button3 berührt wird +bg.LGI_Qtouch_Slider_Init.description=QTouch-Slider initialisieren +bg.LGI_Qtouch_Slider_getTouchPosition.description=Gibt die Position vom Q-Touch-Slider zurük [0...100] +bg.LGI_Qtouch_Slider_getOffset1.description=Ermittelt den Offset vom ersten Slider-Element +bg.LGI_Qtouch_Slider_getOffset2.description=Ermittelt den Offset vom zweiten Slider-Element +bg.LGI_Qtouch_Slider_getOffset3.description=Ermittelt den Offset vom dritten Slider-Element +bg.dht_sensor_setup.description=Setup fuer DHT Sensor\nFestlegen des Anschlusspins\nFestlegen des Sensor-Typs\nDHT11, DHT21, DHT22 +bg.dht_sensor_read_temp.description=Lese Temperatur in °C +bg.dht_sensor_read_humid.description=Lese Luftfeuchtigkeit in % +bg.dht_sensor_calc_index.description=berechne Hitzeindex in °C\n(gefuehlte Temperatur) + +bc.analogpin_number=#AnalogPin +bc.dhtType=DHT +bc.DHTtemp=Temperatur +bc.DHThumid=Luftfeuchtigkeit +bc.triggerPin=Trigger-Pin +bc.echoPin=Echo-Pin + +#LOGIC +#**************************** +bd.logic=Log. Operatoren +#bd.logic=Tests + +bg.logicDivider1=| Logische Verknuepfungen | +bg.logicDivider2=| Vergleiche | +bg.logicDivider3=| Bit Operationen | + +bg.not_equal_poly= != +bg.equal_poly= == +bg.equal_digital=== +bg.not_equal_digital=!= +bg.greater=> +bg.greater_equal=>= +bg.less=< +bg.less_equal=<= +bg.not=NICHT +bg.not_equal=!= +bg.and=UND +bg.or=ODER +bg.equal_digital=== +bg.not_equal_digital=!= +bg.bit_and_poly=& +bg.bit_or_poly=| +bg.bit_xor_poly=^ +bg.bit_not_poly=~ +bg.bit_and=& +bg.bit_or=| +bg.bit_xor=^ +bg.bit_not=~ +bg.bit_shift_left=<< +bg.bit_shift_right=>> + +bg.greater.description=WAHR, wenn der erste Wert größer als der Zweite ist +bg.less.description=WAHR, wenn der erste Wert kleiner als der Zweite ist +bg.equal.description=WAHR, wenn beide analogen Werte identisch sind +bg.equal_digital.description=WAHR, wenn beide digitalen Werte identisch sind +bg.greater_equal.description=WAHR, wenn der erste Wert größer oder gleich dem Zweiten ist +bg.less_equal.description=WAHR, wenn der erste Wert kleiner oder gleich dem Zweiten ist +bg.not_equal.description=WAHR, wenn NICHT beide analogen Werte identisch sind +bg.not_equal_digital.description=WAHR, wenn NICHT beide digitalen Werte identisch sind +bg.and.description=WAHR, wenn beide beide Bedingungen erfüllt sind. +bg.or.description=WAHR, wenn eine oder beide Bedingungen erfüllt sind. +bg.not.description= Das Gegenteil von (z.B. WAHR wird zu FALSCH) +bg.equal_poly.description=WAHR wenn die zwei Zeichen identisch sind +bg.not_equal_poly.description=WAHR wenn die zwei Zeichen NICHT identisch sind +bg.bit_and_poly.description=bitweises UND +bg.bit_or_poly.description=bitweises ODER +bg.bit_xor_poly.description=bitweises XOR +bg.bit_not_poly.description=bitweises NICHT +bg.bit_and.description=bitweises UND +bg.bit_or.description=bitweises ODER +bg.bit_xor.description=bitweises EXCLUSIV-ODER +bg.bit_not.description=bitweises NICHT +bg.bit_shift_left.description=verschiebe Bits nach links +bg.bit_shift_right.description=verschiebe Bits nach rechts + +#OPERATORS +#**************************** +bd.operators=Math. Operatoren + +bg.mathDivider1=| Operatoren | +bg.mathDivider2=| Signalanpassung | +bg.mathDivider3=| Zufallszahl | +bg.mathDivider4=| PID-Regler | + +bg.constrain=einschränken +bg.abs=abs +bg.addition=+ +bg.cos=cos +bg.division=/ +bg.equal=== +bg.map=zuordnen +bg.map_common=map [0, 1023] to [0, 255] +bg.max=max +bg.min=min +bg.modulo=% +bg.multiplication=x +bg.pow=Potenz +bg.random=Zufallszahl +bg.random_range=Zufallszahl +bg.sin=sin +bg.sqrt=Wurzel +bg.log=log +bg.subtraction=- +bg.tan=tan + +bg.addition.description=Summe zweier Zahlen +bg.subtraction.description=Differenz zweier Zahlen +bg.multiplication.description=Produkt zweier Zahlen +bg.division.description=Quotient zweier Zahlen +bg.random.description=Erzeuge Zufallszahl zwischen "0" und "max-1" +bg.map_common.description=Ordne die Werte von [0, 1023] zu den Werten von [0, 255] +bg.map.description=Ordne Werte vom Bereich "von" zum Bereich "zu" +bg.constrain.description=Beschränke eine analoge Zahl auf einen Bereich +bg.random_range.description=Erzeuge Zufallszahl zwischen "min" und "max-1" +bg.log.description=Natuerlicher Logarithmus + +bc.max=max +bc.min=min +bc.to=bis +bc.fromLow= von Low +bc.fromHigh=von High +bc.toLow=nach Low +bc.toHigh=nach High +bc.from=von +bc.base=Basis +bc.exponent=Exponent +bc.low=unterer +bc.high=oberer +bc.element = Element + + +bg.pid=PID +bg.pid_limit=PID +bg.pid.description= PID Regler-Block +bg.pid_limit.description= PID Regler-Block mit Begrenzung + + +bc.input=Istwert +bc.setpoint=Sollwert +bc.interval=Intervall +bc.kp=Kp +bc.ki=Ki +bc.kd=Kd +bc.limitL=unteres Limit +bc.limitH=oberes Limit + +#CAST +#**************************** +bd.cast=Typ Konvertierung + +bg.castDivider1=| Zeichenketten <-> analoge Werte | +bg.castDivider2=| Datentypen | +bg.castDivider3=| kurze analoge Werte <-> Zeichen | + +bg.cast_atoi=Zeichenkette zu analogem Wert +bg.cast_itoa=analoger Wert zu Zeichenkette +bg.cast_number=wandle in analogen Wert +bg.cast_number_byte=wandle in kurzen analogen Wert +bg.cast_number_long=wandle in langen analogen Wert +bg.cast_number_float=wandle in dezimalen Wert +bg.cast_byte_char=wandle kurzen analoger Wert in Zeichen +bg.cast_char_byte=wandle Zeichen zu kurzem analogen Wert +bg.cast_low_int_char=unterer Teil analoger Wert zu Zeichen +bg.cast_up_int_char=oberer Teil analoger Wert zu Zeichen +bg.cast_char_int=Zeichen zu analoger Wert +bg.cast_byte_int=kurzer analoger Wert zu analogem Wert + +bg.cast_atoi.description=lese analogen Wert (int) aus Zeichenkette (char) +bg.cast_itoa.description=erstelle Zeichenkette (char) aus analogem Wert (int) +bg.cast_number.description=wandle in analogen Wert +bg.cast_number_byte.description=wandle in kurzen analogen Wert +bg.cast_number_long.description=wandle in langen analogen Wert +bg.cast_number_float.description=wandle in dezimalen Wert +bg.cast_byte_char.description=wandle analogen Wert zu Zeichen +bg.cast_char_byte.description=wandle Zeichen zu kurzem analogen Wert +bg.cast_low_int_char.description=wandle unteren Teil von analogem Wert zu Zeichen +bg.cast_up_int_char.description=wandle oberen Teil von analogem Wert zu Zeichen +bg.cast_char_int.description=erzeuge analogen Wert aus zwei Zeichen +bg.cast_byte_int.description=erzeuge analogen Wert aus zwei kurzen analogen Werten + +bc.lowerByte=unterer Wert +bc.upperByte=oberer Wert + +#NUMBERS +#**************************** +bd.number=Variablen/Konstanten + +bg.numberDivider1=| Zeit ab Start | +bg.numberDivider2=| Digitale Variablen | +bg.numberDivider3=| Analoge Variablen | +bg.numberDivider4=| Zeichen/Text | +bg.numberDivider5=| Konstanten | + +bg.millis=Millis +bg.digital-high=HIGH +bg.digital-low=LOW +bg.true=true +bg.false=false + +bg.string=ABCD +bg.char=A +bg.number=1 +bg.setter_variable_digital=Setze digitale Variable +bg.setter_variable_number=Setze analoge Variable +bg.setter_variable_number_byte=Setze kurze analoge Variable +bg.setter_variable_number_long=Setze lange analoge Variable +bg.setter_variable_number_float=Setze dezimale Variable +bg.setter_variable_char=Setze Zeichen Variable +bg.setter_variable_string=Setze Zeichenkette +bg.setter_define_digital=Definiere Konstante +bg.setter_define_number=Definiere Konstante +bg.variable_digital=digitale_Variable +bg.constant_digital=digitale_Konstante +bg.variable_number=analoge_Variable +bg.constant_number=analoge_Konstante +bg.variable_char=Zeichen_Variable +bg.local_variable_char=lokale_Zeichen_Variable +bg.variable_string=Zeichenketten_Variable +bg.local_variable_string=lokale_Zeichenketten_Variable +bg.variable_file=Datei_Variable +bg.local_variable_file=lokale_Datei_Variable +bg.local_variable_number=lokale_analoge_Variable +bg.local_variable_digital=lokale_digitale_Variable + +g.millis.description=Gibt die Millisekungen seit Programmstart zurück\n(langer analoger Wert) +bg.true.description=digitaler Wert WAHR (true) +bg.false.description=digitaler Wert FALSCH (false) +bg.digital-high.description=Pin HIGH +bg.digital-low.description=Pin LOW +bg.char.description=Ein ASCII-Zeichen +bg.number.description=analoger Ganzzahlwert (int)-Wert (-32,768 bis +32,767) +bg.variable_number.description=Name der analogen Variable (int)\nDatentyp hängt vom \"Setze-Block\" ab +bg.constant_number.description=Name der analogen Konstante (byte|int|float)\nDie Konstante kann nur einmal definiert werden. +bg.variable_digital.description=Name der digitalen Variable (bool) +bg.constant_digital.description=Name der digitalen Konstante (bool)\nDie Konstante kann nur einmal definiert werden. +bg.variable_string.description=Name der Zeichenketten Variable (char[]-Array) +bg.local_variable_string.description=Name der lokalen Zeichenketten Variable (char[]-Array) +bg.setter_variable_number.description=Setze eine analoge Variable (int).\n-32,768 bis +32,767 +bg.setter_variable_number_byte.description=Setze eine kurze analoge Variable (byte).\n 0 bis 255 +bg.setter_variable_number_long.description=Setze eine lange analoge Variable (long). \n-2,147,483,648 bis 2,147,483,647 +bg.setter_variable_number_float.description=Setze eine dezimale Variable (float).\n +/- 3.4028235E+38 +bg.setter_variable_digital.description=Setze eine digitale Variable (bool).\nHIGH or LOW +bg.setter_variable_string.description=Setze eine Zeichenkette Variable (char[]-Array) +bg.setter_variable_char.description=Setze ASCII-Zeichen Variable (char) +bg.setter_define_digital.description=Deiniere digitale (bool) Konstante.\n(Bezeichnung wird beim Hochladen durch Wert ersetzt) +bg.setter_define_number.description=Deiniere analoge (byte/int/float) Konstante.\n(Bezeichnung wird beim Hochladen durch Wert ersetzt) +bg.variable_char.description=ASCII-Zeichen Variable (char) +bg.local_variable_char.description=lokale Zeichen Variable (char) +bg.string.description=Zeichenkette (char[]-Array) +bg.variable_file.description=Datei Variable +bg.local_variable_file.description=lokale Datei Variable +bg.local_variable_number.description=Name der lokalen analogen Variable (int)\nDatentyp hängt vom \"Setze-Block\" ab +bg.local_variable_digital.description=Name der lokalen digitalen Variable (bool) + +bc.num=# +bc.position=Position +bc.variable_digital=digitale_Variable +bc.variable_number=analoge_Variable +bc.variable_number_long =lange_analogen_Variable +bc.variable_number_float=dezimale_Variable + +#TEST NEW BLOCKDESIGN +bg.setter_variable_digital_line=setze digitale variable +bg.setter_variable_digital_line.description=Schreibe neuen Wert in digitale (bool) Variable +bg.setter_variable_analog_line=setze analoge variable +bg.setter_variable_analog_line.description=Schreibe neuen Wert in analoge (int) Variable +bg.create_variable_analog=erstelle analoge variable +bg.create_variable_analog.description=Erstelle neue int Variable\nOptional mit Startwert +bg.create_array_analog=setze analoge Tabelle +bg.create_array_analog.description=Erstelle neues int Array\nOptional mit Startwert + +#ARRAYS +#**************************** +bd.array=Tabellen + +bg.arrayDivider1=| analoge Tabellen | +bg.arrayDivider2=| Zeichenketten | +bg.arrayDivider3=| kopieren/ersetzen | + +bg.create_char_array=Erstelle Zeichenkette +bg.read_char_array=lese Zeichen +bg.setter_char_array=setze Zeichen +bg.create_number_array=Erstelle analoge Tabelle +bg.create_number_byte_array=Erstelle kurze analoge Tabelle +bg.create_number_long_array=Erstelle lange analoge Tabelle +bg.create_number_float_array=Erstelle dezimale Tabelle +bg.setter_number_array=Setze Tabellen-Feld +bg.read_number_array=Lese Tabellenelement + +bg.create_char_array.description=Erstelle Zeichenkette (char[]) +bg.read_char_array.description=lese Zeichen (char) an Position +bg.setter_char_array.description=setze Zeichen (char) an Position +bg.create_number_array.description=Erzeuge ein Array für analoge Werte (int)\n-32,768 bis +32,767 +bg.create_number_byte_array.description=Erzeuge ein Array für kurze analoge Werte (byte)\n 0-255 +bg.create_number_long_array.description=Erzeuge ein Array für lange analoge Werte (long) +bg.create_number_float_array.description=Erzeuge ein Array für dezimale Werte (float) +bg.setter_number_array.description=Setze den Wert eines Array-Feldes +bg.read_number_array.description=Lese den Wert eines\nTabellen-Feldes + +bg.memcpy_number=kopiere Tabelle +bg.memcpy_number.description=kopiere einen Speicherbereich von einem Ort (Quelle) in einen anderen (Ziel).\nACHTUNG: Laenge in Bytes angeben +bg.memset_number=ersetze Werte in Tabelle +bg.memset_number.description=ersetze eine bestimmte Anzahl Werte in einer Tabelle +bg.memcpy_string=kopiere Zeichenkette (Teil) +bg.memcpy_string.description=kopiere einen Speicherbereich von einem Ort (Quelle) in einen anderen (Ziel) +bg.memset_string=ersetze Werte in Zeichenkette +bg.memset_string.description=ersetze eine bestimmte Anzahl Zeichen durch ein anderes +bg.strcpy_string=kopiere Zeichenkette +bg.strcpy_string.description=kopiere eine Zeichenkette (Quelle) in eine andere (Ziel) +bg.reference_string=Offset Zeichenkette +bg.reference_string.description=Verschiebt die Startposition ab der die Zeichenkette verwendet wird \n-> &array[x] +bg.reference_number=Offset Tabelle +bg.reference_number.description=Verschiebt die Startposition ab der die Tabelle verwendet wird \n-> &array[x] +bg.sizeof_number=Anzahl Stellen Tabelle +bg.sizeof_number.description=Gibt Anzahl der verfuegbaren Stellen der Tabelle zurueck \n-> sizeOf(Array)/sizeOf(Datentyp) +bg.sizeof_string=Anzahl Stellen Zeichenkette +bg.sizeof_string.description=Gibt Anzahl der verfuegbaren Stellen der Zeichenkette zurueck \n-> sizeOf(Array)/sizeOf(Datentyp) +bg.strlen_string=Länge der Zeichenkette +bg.strlen_string.description=Gibt Laenge der Zeichenkette zurueck\n(Bis zum ersten String-Ende -> '\\0') + +bc.string=Zeichenkette +bc.position=Stelle +bc.array=Tabellen-Name +bc.vecsize=Anzahl Werte +bc.count_chars=Anzahl Zeichen +bc.count=Anzahl +bc.dest=Ziel +bc.source=Quelle + +#COMMUNICATION +#**************************** +bd.communication=Kommunikation + +bg.communicationDivider1=| Seriell | +bg.communicationDivider2=| Software Seriell | +bg.communicationDivider3=| Verbinder | +bg.communicationDivider4=| Hilfsfunktionen | + +bg.glue_poly=verbinde +bg.glue_msg=verbinde +bg.glue_sb=verbinde +bg.glue_sn=verbinde +bg.serial_parseInt=Serial parseAnalog +bg.serial_available=Serial available +bg.serial_read=Serial read +bg.serial_print=Serial print +bg.serial_begin=Serial begin +bg.soft_serial_begin=softSerial begin +bg.soft_serial_print=softSerial print +bg.soft_serial_read=softSerial read +bg.soft_serial_available=softSerial available +#bg.serial_println=serial println +bg.serial_write=serial write +bg.serialEvent=serialEvent +bg.glue_digital=verbinde +bg.glue_number=verbinde +bg.glue_char=verbinde +bg.glue_string=verbinde +bg.read_serial_monitor=lese von SerialMonitor + +bg.tele_set_frame=schreibe Daten in Frame +bg.tele_read_frame=lese Frame seriell ein +bg.tele_read_data_frame=lese Daten aus Frame +bg.mqtt_set_frame=erstelle MQTT Frame +bg.mqtt_read_frame=lese aus MQTT Frame + +bg.serial_write.description=Sende Nachricht via Serial +bg.serial_print.description=Sende Nachricht via Serial +bg.serial_read.description=Lese Zeichen via Serial als kurze analoge Variable ein\n(siehe ASCII-Tabelle) +bg.serial_available.description=Daten verfügbar an Serial +#bg.serial_println.description=Send message via Serial port with a return +bg.serial_begin.description=Starte Serial Schnittstelle mit bestimmter Baudrate +bg.soft_serial_begin.description=Starte SoftwareSerial Schnittstelle mit bestimmter Baudrate +bg.soft_serial_print.description=Sende Nachricht via Software Serial +bg.soft_serial_read.description=Lese Nachricht via Software Serial +bg.soft_serial_available.description=Daten verfügbar an Software Serial +bg.serial_parseInt.description=Lese den nächsten analogen Wert via Serial +bg.glue_sn.description=Verbindet Zahlen mit einer Zeichenkette +bg.glue_sb.description=Verbindet digitale Werte mit einer Zeichenkette +bg.glue_poly.description=Verbindet Zeichen mit einer Zeichenkette +bg.glue_msg.description=Verbinde Zeichenketten miteinander +bg.serialEvent.description=Unterprogramm serialEvent, wird ausgeführt wenn Daten an Serial +bg.glue_digital.description=Verbinde digitalen Wert mit Zeichenkette +bg.glue_number.description=Verbinde analogen Wert mit Zeichenkette +bg.glue_char.description=Verbinde Zeichen mit Zeichenkette +bg.glue_string.description=Verbinde Zeichenkette mit Zeichenkette +bg.read_serial_monitor.description=Lese Zeichen vom SerialMonitor bis Zeilenende "CR" und schreibe diese in Zeichenkette. + +bg.tele_set_frame.description=schreibe Daten in den Telegramm-Rahmen +bg.tele_read_frame.description=lese Daten von der seriellen Schnittstelle im letsgoING-Telegramm-Format +bg.tele_read_data_frame.description=lese Daten aus dem Telegramm-Rahmen\n HINWEIS: Senderadresse 0 erhält Daten von allen Sendern +bg.mqtt_set_frame.description=schreibe Daten in MQTT-Rahmen\n(letsgoING-IOT-Modul) +bg.mqtt_read_frame.description=lese Daten aus MQTT-Rahmen\n(letsgoING-IOT-Modul) + + +bc.print=print +bc.ln=neue Zeile +bc.rx_pin_number=Rx Pin +bc.tx_pin_number=Tx Pin +bc.baudrate=Baud +bc.read_array=lese-Zeichenkette + +bc.sendAddress= Adr. Sender +bc.recAddress=Adr. Empfänger +bc.dataLength=Länge Daten [0-9] +bc.sendBuffer=zu sendender Frame +bc.recFrame=empfangener Frame +bc.recBuffer=Empfangspuffer +bc.recChars=Anz. empfangene Zeichen +bc.nextChar=nächstes Zeichen +bc.dataComplete=Daten komplett +bc.command=Befehlsart + +#DIDACTIC NETWORK +#**************************** +bd.didacticnetwork = Didaktik Netzwerk + +bg.didacticnetworkDivider1=| PubSub Netzwerk | +bg.didacticnetworkDivider2=| PubSub publish | +bg.didacticnetworkDivider3=| PubSub subscribe | +bg.didacticnetworkDivider4=| PubSub callback | + +bg.psn_broker=Broker pubSubNet +bg.psn_client=Client pubSubNet +bg.psn_callback=psnNewData +bg.psn_handle_network=pubSubNet handleNetwork +bg.psn_data_to_send=pubSubNet isDataToSend? +bg.psn_set_interval=pubSubNet setInterval +bg.psn_publish=pubSubNet publish +bg.psn_publish_analog=pubSubNet publish +bg.psn_publish_digital=pubSubNet publish +bg.psn_publish_onchange=pubSubNet publishOnChange +bg.psn_publish_onchange_bool=pubSubNet publishOnChange +bg.psn_subscribe=pubSubNet subscribe +bg.psn_unsubscribe=pubSubNet unsubscribe + +bg.psn_broker.description=Broker fuer PubSub Netzwerk erzeugen +bg.psn_client.description=Client fuer PubSub Netzwerk erzeugen +bg.psn_callback.description=Funktion wird automatisch aufgefufen wenn neue Daten empfangen werden +bg.psn_handle_network.description=Empfaengt Daten, ueberprueft ob gesendet werden kann und versendet Daten +bg.psn_data_to_send.description=Gibt zurück ob Daten zum Versenden bereit sind +bg.psn_set_interval.description=Minimale Zeit zwischen zwei publish-Vorgängen +bg.psn_publish.description=Zeichenkette (char[]) zu Topic veroeffentlichen +bg.psn_publish_analog.description=Analoge (int) Daten zu Topic veroeffentlichen +bg.psn_publish_digital.description=Digitale (bool) Daten zu Topic veroeffentlichen +bg.psn_publish_onchange.description=Analoge (int) Daten bei Wertänderung zu Topic veroeffentlichen +bg.psn_publish_onchange_bool.description=Digitale (bool) Daten bei Änderung zu Topic veroeffentlichen +bg.psn_subscribe.description=Topic abonnieren +bg.psn_unsubscribe.description=Topic nicht mehr abonnieren + +bc.ps_name=Name +bc.ps_interval=ms +bc.callback=Uebergabefunktion +bc.payloadVar=Nutzdaten-Variable +bc.payloadLengthVar=Nutzdaten-Laenge-Variable +bc.topicVar=Topic-Variable +bc.topicLengthVar=Topic-Laenge-Variable +bc.payload=Nutzdaten +bc.payloadLength=Länge Nutzdaten +bc.threshold=Schwellwert +bc.topic=Topic +bc.topicLength=Länge Topic + + +#STORAGE +#**************************** +bd.storage=Speicher + +bg.storageDivider1=| EEPROM | +bg.storageDivider2=| SD Card | + +bg.eeprom_read=lese kurzen analogen Wert von EEPROM +bg.eeprom_write=schreibe kurzen analogen Wert auf EEPROM +bg.eeprom_get=lese beliebigen Datentyp von EEPROM +bg.eeprom_put=schreibe beliebigen Datentyp auf EEPROM +bg.eeprom_length=länge des EEPROM +bg.sd_begin=starte SD +bg.sd_open=öffne Datei SD +bg.sd_close=schließe Datei SD +bg.sd_write=schreibe in Datei SD +bg.sd_read=lese aus Datei SD +bg.sd_data_available=Daten verfuegbar SD +bg.sd_file_available=Datei verfuegbar SD + +bg.eeprom_read.description=lese einen kurzen analogen Wert (0-255) vom EEPROM. Jedes Byte entspicht einer EEPROM Adresse. +bg.eeprom_write.description=schreibe einen kurzen analogen Wert (0-255) auf EEPROM. Jedes Byte entspicht einer EEPROM Adresse. +bg.eeprom_get.description=lese beliebigen Datentyp von EEPROM. Jedes Byte entspicht einer EEPROM Adresse. Länge des Datentyps überprüfen! +bg.eeprom_put.description=schreibe beliebigen Datentyp auf EEPROM. Jedes Byte entspicht einer EEPROM Adresse. Länge des Datentyps überprüfen! +bg.eeprom_length.description=länge des EEPROM +bg.sd_begin.description=starte SD Karte +bg.sd_open.description=\u00d6ffne Datei auf SD Karte\nmax. Laenge des Dateinamens 8 Zeichen \n+ 3 Zeichen Datentyp\nBsp.: datei1.txt +bg.sd_close.description=schließe Datei auf SD Karte +bg.sd_write.description=schreibe in Datei auf SD Karte +bg.sd_read.description=lese aus Datei auf SD Karte +bg.sd_data_available.description=Ungelesene Daten in Datei verfuegbar (SD Karte) +bg.sd_file_available.description=Datei verfuegbar (SD Karte) + +bc.eeprom_address=Adresse +bc.eeprom_data=Daten +bc.File=Datei +bc.sdFileVar = Datei-Variable +bc.sdFileName = Datei Name +bc.sdFileMode = Starte am Anfang +bc.sdWriteData= Daten +bc.sdCSPin = CS + +#CODE +#**************************** +bd.code=Kommentare/Code + +bg.codeDivider1=| Kommentare | +bg.codeDivider2=| C-Code einfuegen | + +bg.program_comment=Programmkopf +bg.code_head=Code im globalen Bereich +bg.code_comment_head=//Kommentar im globalen Bereich einfuegen +bg.code_loop=Code einfuegen +bg.code_comment=//Kommentar einfuegen + +bg.program_comment.description=Programmbeschreibung und Informationen als Kommentar anfügen +bg.code_loop.description=Code an dieser Stelle einfügen +bg.code_head.description=Code im globalen Bereich einfügen +bg.code_comment_head.description=Kommentar im globalen Bereich einfügen +bg.code_comment.description=Kommentar im Programm einfügen + +bc.prog_name=Dateiname +bc.prog_author=Autor +bc.prog_description=Beschreibung +bc.prog_date=Datum +bc.prog_version=Version +#**************************** \ No newline at end of file diff --git a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties index dd3c2171341511c8a4c5a9ce51b538de732da20b..b6288ba6c26136b6bf21cfa5b723f72d79ab309c 100644 --- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties +++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties @@ -5,156 +5,157 @@ #FILE #**************************** -ardublock.file.suffix=Ardublock Programmdatei (*.abp) +ardublock.file.suffix=Ardublock Program File(*.abp) #UI #**************************** -ardublock.ui.menu.file=Datei -ardublock.ui.menu.program=Programm -ardublock.ui.menu.tools=Werkzeuge -ardublock.ui.menu.blocks=Blöcke -ardublock.ui.menu.about=Über +ardublock.ui.menu.file=File +ardublock.ui.menu.program=Program +ardublock.ui.menu.tools=Tools +ardublock.ui.menu.blocks=Blocks +ardublock.ui.menu.about=About ardublock.ui.menu.help=? -ardublock.ui.submenu.examples=Beispiele +ardublock.ui.submenu.examples=Examples ardublock.ui.submenu.examples.basic=Basic ardublock.ui.submenu.examples.digital=Digital ardublock.ui.submenu.examples.analog=Analog -ardublock.ui.submenu.examples.communication=Kommunikation - -ardublock.ui.new=Neu -ardublock.ui.new.tooltip=Neues Programm erstellen -ardublock.ui.save=Speichern -ardublock.ui.save.tooltip=ArduBlock-Programm speichern -ardublock.ui.saveAs=Speichern unter -ardublock.ui.saveAs.tooltip=ArduBlock-Programm unter neuem Namen speichern -ardublock.ui.load=Öffnen -ardublock.ui.load.tooltip=ArduBlock-Programm öffnen -ardublock.ui.upload=Hochladen auf den Arduino -ardublock.ui.upload.tooltip=Programm auf Arduino laden -ardublock.ui.clone=klonen (Strg-Rechtsklick) -ardublock.ui.clone_all=folgende klonen (Strg-Shift-Rechtsklick) -ardublock.ui.add_comment=Kommentar hinzufügen -ardublock.ui.delete_comment=Kommentar löschen -ardublock.ui.organize_blocks=Alle Blöcke neu anordnen -ardublock.ui.create_refer=Verweis erstellen -ardublock.ui.website=letsgoING (Web) +ardublock.ui.submenu.examples.communication=Communication + +ardublock.ui.new=New +ardublock.ui.new.tooltip=new program +ardublock.ui.save=Save +ardublock.ui.save.tooltip=save program +ardublock.ui.saveAs=Save As +ardublock.ui.saveAs.tooltip=save program as +ardublock.ui.load=Open +ardublock.ui.load.tooltip=open program +ardublock.ui.upload=Upload +ardublock.ui.upload.tooltip=Upload to Arduino +ardublock.ui.clone=Clone (rightclick-Ctrl) +ardublock.ui.clone_all=Clone following (rightclick-Shift-Ctrl) +ardublock.ui.add_comment=Add Comment +ardublock.ui.delete_comment=Delete Comment +ardublock.ui.organize_blocks=Organize all blocks +ardublock.ui.create_refer=create reference +ardublock.ui.website=letsgoING ardublock.ui.website.domain=https://letsgoing.org -ardublock.ui.website.tooltip=öffnet die letsgoING-Homepage -ardublock.ui.lmssite=Online Lernen (Web) +ardublock.ui.website.tooltip=goto letsgoING project-page +ardublock.ui.lmssite=Online LMS ardublock.ui.lmssite.domain=moodle.letsgoing.org -ardublock.ui.lmssite.tooltip=öffnet die letsgoING-Lernseiten -ardublock.ui.reference=Block-Referenz öffnen -ardublock.ui.blockreference=Übersicht Block-Referenz öffnen (Web) +ardublock.ui.lmssite.tooltip=go to letsgoING online-LMS +ardublock.ui.reference=open block reference +ardublock.ui.blockreference=open block reference ardublock.ui.blockreference.domain=https://blockreferenz.letsgoing.org/ -ardublock.ui.blockreference.tooltip=öffnet die Blockreferenz +ardublock.ui.blockreference.tooltip=open block reference ardublock.ui.repository=https://gitlab.reutlingen-university.de/letsgoing/ardublock -ardublock.ui.repository.tooltip=gehe zur ArduBlock Repository +ardublock.ui.repository.tooltip=go to ArduBlock Repository +ardublock.ui.languagestyle=C-Style (reboot IDE or new File) +ardublock.ui.languagestyle.tooltip=Block names paraphrased or c-style ardublock.ui.mode.expert=Full -ardublock.ui.mode.expert.tooltip=Mehr Blöcke und komplexere Funktionen fuer Fortgeschrittene +ardublock.ui.mode.expert.tooltip=full blockset ardublock.ui.mode.standard=Basic -ardublock.ui.mode.standard.tooltip=Die wichtigsten Blöcke für den Einstieg +ardublock.ui.mode.standard.tooltip=most important blocks to get started ardublock.ui.mode.sim=Sim -ardublock.ui.mode.sim.tooltip=ArduBlock Basic mit Simulation "letsgoING-Grundlagen-Hardware" -ardublock.ui.search=suche Blöcke -ardublock.ui.search.tooltip=Suche im Arbeitsfenster und den Menüs nach Blöcken - -#ardublock.ui.modeButton.mode.tooltip=umschalten zwischen Grundlagen- und Projektblöcken -ardublock.ui.serialMonitor=Serieller Monitor -ardublock.ui.serialMonitor.tooltip=öffnet den seriellen Monitor -ardublock.ui.serialPlotter=Serieller Plotter -ardublock.ui.serialPlotter.tooltip=öffnet den seriellen Plotter +ardublock.ui.mode.sim.tooltip=basic blockset for use with simulator "letsgoING-basic-hardware" +ardublock.ui.search=search block +ardublock.ui.search.tooltip=Search for blocks in the drawers and workspace +ardublock.ui.serialMonitor=Serial Monitor +ardublock.ui.serialMonitor.tooltip=open Serial Monitor +ardublock.ui.serialPlotter=Serial Plotter +ardublock.ui.serialPlotter.tooltip=open Serial Plotter ardublock.ui.undo=Undo -ardublock.ui.undo.tooltip=Rückgängig +ardublock.ui.undo.tooltip=undo ardublock.ui.redo=Redo -ardublock.ui.redo.tooltip=Wiederherstellen -ardublock.ui.saveImage=Als Bild speichern -ardublock.ui.saveImage.tooltip=Speichert ein Bild des aktuellen Programms -ardublock.ui.saveDefaultProgram=Als Vorlage speichern -ardublock.ui.saveDefaultProgram.tooltip=Speichert aktuelles Programm als Vorlage für neue Programme +ardublock.ui.redo.tooltip=redo +ardublock.ui.saveImage=Save as image +ardublock.ui.saveImage.tooltip=save current program as image... +ardublock.ui.saveDefaultProgram=save as default +ardublock.ui.saveDefaultProgram.tooltip=saves current program as default program ardublock.ui.zoomIn=+ -ardublock.ui.zoomIn.tooltip=vergrößere Programm +ardublock.ui.zoomIn.tooltip=zoom in Ctrl-Plus ardublock.ui.zoomOut=- -ardublock.ui.zoomOut.tooltip=verkleinere Programm +ardublock.ui.zoomOut.tooltip=zoom out Ctrl-Minus ardublock.ui.zoomReset=0 -ardublock.ui.zoomReset.tooltip=zurücksetzen -ardublock.ui.copy=Programm kopieren -ardublock.ui.copy.tooltip=kopiere gesamtes Programm in Zwischenablage -ardublock.ui.paste=Programm einfügen -ardublock.ui.paste.tooltip=füge gesamtes Programm aus Zwischenablage ein -ardublock.ui.help=Hilfe zu ArduBlock -ardublock.ui.help.tooltip=Hilfe zu ArduBlock -ardublock.ui.simulation=Hochladen auf den Simulator -ardublock.ui.simulation.tooltip=Starte den Simulator und lade das Programm hoch -ardublock.ui.simulatorHelp=Hilfe zum Simulator -ardublock.ui.simulatorHelp.tooltip=Infos zum letsgoING-Simulator -ardublock.ui.simulatorHelp.title=Infos zum letsgoING-Simulator -ardublock.ui.simulatorHelp.text=TASTER\n**********************\nlinke Maustaste -> Taster-Funktion\nrechte oder mittlere Maustaste -> Schalterfunktion (bleibt aktiv)\n\n\n\nPOTI\n**********************\nSlider ziehen oder mit Mausrad verstellen (Mauszeiger über Slider)\n\n\nSERIALMONITOR\n**********************\nHier werden die Nachrichten vom "Serial.Print"-Block ausgegeben\nAutoscroll:\n an -> neueste Nachrichten werden angezeigt\n aus -> Ausgabe kann manuell ausgewählt werden\nReset SerialMonitor: bisherige Ausgabe wird gelöscht\n\n\n\RESET ARDUINO\n**********************\nTaster startet das Programm neu\n\n\n\ONBOARD LED\n**********************\nLED kann über Pin13 angesteuert werden -ardublock.ui.addLibraries=Bibliotheken hinzufügen -ardublock.ui.addLibraries.tooltip=Lade nicht-standard Bibliotheken sie in ArduBlock verwendet werden +ardublock.ui.zoomReset.tooltip=reset zoom +ardublock.ui.copy=copy +ardublock.ui.copy.tooltip=copy program to clipboard +ardublock.ui.paste=paste +ardublock.ui.paste.tooltip=paste program from +ardublock.ui.help=Help ArduBlock +ardublock.ui.help.tooltip=Help ArduBlock +ardublock.ui.simulation=simulate +ardublock.ui.simulation.tooltip=start simulation with basic block-set and letsgoING modules +ardublock.ui.simulatorHelp=Help Simulator +ardublock.ui.simulatorHelp.tooltip=About the letsgoING-simulator +ardublock.ui.simulatorHelp.title=About the letsgoING-simulator +ardublock.ui.simulatorHelp.text= +ardublock.ui.addLibraries=Add libraries +ardublock.ui.addLibraries.tooltip=Add non-standard libraries used in ArduBlock ardublock.ui.version=v2.2 beta4 ardublock.ui.appprefix.standard=Basic -ardublock.ui.appprefix.pro=Pro +ardublock.ui.appprefix.pro=Full ardublock.ui.appprefix.sim=Simulator #ERROR #**************************** -ardublock.error_msg.unset_variable=Die Variable ist unbestimmt. Bevor die Variable lesend verwendet werden kann, muss ihr ein Wert zugewiesen werden. -ardublock.error_msg.define_slot=#define benötigt einen define-Konstante-Block. -ardublock.error_msg.number_const_write=Eine Define-Konstante kann nicht mit einem neuen Wert beschrieben werden. Keine neuen Werte für Define-Konstanten setzen! -ardublock.error_msg.digital_var_slot=Der 'Variable'-Sockel benötigt einen 'digitale_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.number_local_var_slot=Der 'Variable'-Sockel benötigt einen 'lokale_analoge_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.number_var_slot= Der 'Variable'-Sockel benötigt einen 'analoge_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.number_slot= Der Sockel benötigt einen 'analoge_Variable'-Block oder einen "Analoger Wert"-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.long_number_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_langen_analogen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.double_number_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_dezimalen_analogen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.char_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_Zeichen_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.array_var_slot=Der 'Variable'-Sockel benötigt einen 'Name_der_Tabelle'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.number_const_write= -ardublock.error_msg.array_size_slot=Der 'Größe' Slot muss einen analogen Wert enthalten -ardublock.error_msg.string_var_slot=Der 'Variable'-Slot benötigt einen 'Name_der_String_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.var_slot= Der Slot benötigt einen 'Variable'-Block -ardublock.error_msg.string_slot= Der 'Wert'-Slot benötigt einen 'String_Variable'-Block oder einen 'Name_der_String_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.local_var_slot=Der 'Variable'-Sockel benötigt einen 'lokale_X_Variable'-Block.\nTIPP: Schaue an dem 'Variable' Sockel an dem hervorgehobenen Block! -ardublock.error_msg.var_value_slot=Der Sockel benötigt einen 'Variable' oder 'Wert'-Block.\nTIPP: Schaue an dem hervorgehobenen Block! -ardublock.error_msg.var_value_slot=Es ist nur ein Rueckgabeparameter pro Unterprogramm erlaubt! -ardublock.error_msg.Digital_pin_slot=Pin# muss einer Pin-Nummer des Arduino-Boards entsprechen -ardublock.error_msg.Analog_pin_slot=Pin# muss einer analogen Pin-Nummer des Arduino-Boards entsprechen -ardublock.error_msg.Serial_Read_slot=Der 'nächstes Zeichen' Sockel benötigt einen 'Serial read'- oder 'softSerial read'-Block -ardublock.error_msg.wrong_block_header=Dieser Block kann nicht im Kopfteil des Programms verwendet werden -ardublock.error_msg.stepper_duplicated=Es gibt schon einen Stepper mit diesem Namen -ardublock.error_msg.stepper_not_existing=Es gibt keinen Stepper mit diesem Namen -ardublock.error_msg.paste.invalid=Zwischenablage enthält keine ArduBlock-Blöcke -ardublock.error_msg.paste.notpossible=Einfügen ohne Blöcke nicht möglich. - -ardublock.error_msg.pid_limit_error=PID-Block: Oberes Limit ist kleiner oder gleich wie unteres Limit - -ardublock.error_msg.no_sim_for_block=Dieser Block ist für die Simulation nicht geeignet. - +ardublock.error_msg.unset_variable=The variable is undefined. Before the variable can be read, a value must be assigned to it. +ardublock.error_msg.define_slot=#define must take a constant-x Block. +ardublock.error_msg.number_const_write=Defines can be set only once. Don\'t reassign values to define-constants! +ardublock.error_msg.digital_var_slot=Digital variable slot must take a 'digital variable' name.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.number_var_slot=Standard variable slot must take a standard 'analog variable name'.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.number_local_var_slot=Variable slot must take a standard 'local analog variable name'.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.number_slot=This slot must take a standard 'analog variable name' or "analog value".\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.long_number_var_slot=Large integer variable slot must take a 'Large Integer' variable name.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.double_number_var_slot=variable slot must take a 'Decimal' variable name.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.char_var_slot=Char variable slot must take a char variable name.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.array_var_slot='Array variable' slot must take an 'array variable' name.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.array_size_slot='Array size' slot must take a standard integer constant +ardublock.error_msg.string_var_slot=String variable slot must take a String variable name.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.var_slot= The slot must take an variable-block +ardublock.error_msg.string_slot=String slot must take a String variable or a String variable name.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.Digital_pin_slot=Pin# must be a valid digital pin number found on an Arduino Board +ardublock.error_msg.Analog_pin_slot=Pin# must be a valid analog input pin number found on an Arduino Board +ardublock.error_msg.local_var_slot=Variable slot must take a standard 'local X variable name'.\nHint: Look at the 'variable' socket on the highlighted block +ardublock.error_msg.var_value_slot=The slot must take a 'variable' or 'value' block.\nHint: Look at the highlighted block +ardublock.error_msg.return_var_slot=Only one return-parameter is valid +ardublock.error_msg.Serial_Read_slot=This Block needs an 'Serial read'- or 'softSerial read'-block +ardublock.error_msg.wrong_block_header=This Block cannot be used in head-section +ardublock.error_msg.stepper_duplicated=There is already a stepper with this name +ardublock.error_msg.stepper_not_existing=There is no stepper with this name +ardublock.error_msg.paste.invalid=clipboard contains no blocks +ardublock.error_msg.paste.notpossible=Past not possible without Blocks +ardublock.error_msg.pid_limit_error=PID-Block: Upper limit is smaller or equal to lower limit + +ardublock.error_msg.no_sim_for_block=This Block is not suitable for simulation + #TRANSLATOR #**************************** -ardublock.translator.exception.subroutineNameDuplicated=Zwei oder mehr Unterprogramme haben den selben Namen! -ardublock.translator.exception.noLoopFound=Keine Hauptschleife gefunden\! -ardublock.translator.exception.multipleLoopFound=Mehrere Hauptschleifen gefunden\! -ardublock.translator.exception.socketNull=Ein benötigter Wert, Variablenname oder eine Bedingung fehlt!\nTIPP: Suche nach einem leeren Sockel an dem hervorgehobenen Block! -ardublock.translator.exception.socketNull.consolePrint=Der Name des Blocks: -ardublock.translator.exception.subroutineNotDeclared=Unterprogramm nicht deklariert! -ardublock.translator.exception.subroutineNotDeclared.consolePrint=Der Name des Unterprogramms: +ardublock.translator.exception.subroutineNameDuplicated=two or more subroutines have the same name! +ardublock.translator.exception.noLoopFound=No loop found! +ardublock.translator.exception.multipleLoopFound=multiple loop block found! +ardublock.translator.exception.socketNull=A required Value, Variable Name or 'Test' is missing.\nHint:: Look for an empty 'socket' in the highlighted block. +ardublock.translator.exception.socketNull.consolePrint=Name of the block: +ardublock.translator.exception.subroutineNotDeclared=subroutine not declared +ardublock.translator.exception.subroutineNotDeclared.consolePrint=Name of the subroutine: #MESSAGE #**************************** -message.title.error=Fehler -message.title.question=Frage -message.content.open_unsaved=Das Ardublock-Programm hat sich geändert, soll es gespeichert werden? -message.content.overwrite=Soll das vorhandene Programm überschrieben werden? -message.content.overwriteDefault=Soll die Programmvorlage überschrieben werden? -message.file_not_found=Datei wurde nicht gefunden oder der Zugriff wurde verweigert. -message.file_not_found_new_file=Datei wurde nicht gefunden oder der Zugriff wurde verweigert.\nSoll eine neue Datei erstellt werden? -message.question.newfile_on_workspace_changed=Das Programm hat sich geändert, soll eine neue Ardublock-Datei erstellt werden? -message.content.overwriteImage=Soll das vorhandene Bild überschrieben werden? -message.content.saveOnExit=Soll das Programm gespeichert werden bevor ArduBlock geschlossen wird? +message.title.error=Error +message.title.question=Question +message.content.open_unsaved=Ardublock program has changed, do you want to save? +message.content.overwrite=Do you want to overwrite existing file? +message.content.overwriteDefault=Do you want to overwrite default file? +message.file_not_found=File not found or permission denied +message.file_not_found_new_file=File Not Found or permission denied.\nCreate new file? +message.content.overwriteImage=Do you want to overwrite existing image? +message.content.saveOnExit=Do you want to save the file before closing ArduBlock? + +message.question.newfile_on_workspace_changed=The program has changed, do you want to create a new Ardublock file? + + # EXAMPLES #****************************