mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
rework of DE translation (#2806)
* started rework of translation to DE, added translation rules and dictionary * reworks DE translation of JSONata /editor-client/locales/de/jsonata.json * rework DE translation of editor-client * moved /editor-client/locales/de/README.md to Wiki https://github.com/node-red/node-red/wiki/Design:-i18n-de * Update README.md * Update README.md * Create README.md * Create README.md * fixed #2: "Sie müssen ..., um ... zu können" * fixed #3 * fixed #4 and removed unnecessary spaces * fixed #5 * fixed #6, added missing dots, removed unnecessary spaces * fixed #7, #8, #9 * fixed #10, #11, #12, #13, #14, #15 * fixed #17, #18, 19 * fixed #19 * moved /editor-client/locales/de/dictionary.csv to https://github.com/heikokue/node-red-designs/blob/i18n-de/designs/i18n-de/dictionary.csv * reworked DE translation of runtime * fine-tuned DE translation of editor-client * reworked DE translation of common nodes, fine-tuned editor-client * reworked DE translation of all nodes, fine-tuned editor-client, intotips, jsonata & runtime * small i18n fixes
This commit is contained in:
@@ -15,41 +15,47 @@
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="function">
|
||||
<p> Ein JavaScript-Funktionsblock, der für die Nachrichten ausgeführt werden soll, die vom Node empfangen werden. </p>
|
||||
<p> Die Nachrichten werden als JavaScript-Objekt mit dem Namen <code>msg</code> übergeben. </p>
|
||||
<p> Er erwartet eine Eigenschaft <code> msg.payload </code> , die den Hauptteil der Nachricht enthält. </p>
|
||||
<p> Die Funktion wird erwartet, dass ein Nachrichtenobjekt (oder mehrere Nachrichtenobjekte) zurückgegeben werden, kann aber
|
||||
auch nichts zurückzugeben, um einen Flow zu stoppen. </p>
|
||||
<h3> Details </h3>
|
||||
<p> Siehe <a target="_blank" href="http://nodered.org/docs/writing-functions.html"> Onlinedokumentation </a> für weitere Informationen
|
||||
zum Schreiben von Funktionen. </p>
|
||||
<h4> Nachrichten senden </h4>
|
||||
<p> Die Funktion kann die Nachrichten zurückgeben, die sie an die nächsten Node inm Flow weitergeben möchte
|
||||
oder kann <code>node.send (msg)</code> aufrufen. </p>
|
||||
<p> Es kann Folgendes zurückgeben/senden: </p>
|
||||
<ul>
|
||||
<li> Ein einzelnes Nachrichtenobjekt-übergeben an Node, die mit der ersten Ausgabe verbunden sind </li>
|
||||
<li> ein Array von Nachrichtenobjekten, die an Nodes übergeben werden, die mit den entsprechenden Ausgaben verbunden sind </li>
|
||||
</ul>
|
||||
<p> Wenn ein Element des Arrays selbst ein Array von Nachrichten ist, werden mehrere Nachrichten an die entsprechende Ausgabe gesendet. </p>
|
||||
<p> Wenn null zurückgegeben wird, entweder durch sich selbst oder als Element des Arrays, wird die Nachricht nicht weitergegeben. </p>
|
||||
<h4> Protokollierung und Fehlerbehandlung </h4>
|
||||
<p>Um alle Informationen zu protokollieren oder einen Fehler zu melden, sind die folgenden Funktionen verfügbar: </p>
|
||||
<p>JavaScript-Funktion zur Weiterverarbeitung eingehender Nachrichten.</p>
|
||||
<p>Die empfangenen Nachrichten werden der Funktion als JavaScript-Objekt mit dem Namen <code>msg</code> übergeben.</p>
|
||||
<p>Per Konvention enthält die <code>msg.payload</code>-Eigenschaft die eigentliche Nachricht.</p>
|
||||
<p>Von der Funktion wird erwartet, dass sie ein (oder mehrere) Nachrichtenobjekt(e) zurückgibt.
|
||||
Es kann aber auch nichts zurückgeben werden, um einen Flow zu stoppen.</p>
|
||||
<p>In den <b>Start</b>-Tab kann Code eingetragen werden, der beim Node-Start ausgeführt wird.
|
||||
In den <b>Stopp</b>-Tab kann Code eingetragen werden, der beim Node-Stopp ausgeführt wird.</p>
|
||||
<p>Wenn ein promise-Objekt aus dem Start-Code zurückgegeben wird,
|
||||
beginnt danach die reguläre Verarbeitung der Eingangsnachrichten.</p>
|
||||
<h3>Details</h3>
|
||||
<p>Siehe <a target="_blank" href="http://nodered.org/docs/writing-functions.html">Onlinedokumentation</a>
|
||||
für weitere Informationen zum Schreiben von Funktionen.</p>
|
||||
<h4>Nachrichten senden</h4>
|
||||
<p>Die Funktion kann die Nachrichten zurückgeben, die sie an die nächsten Nodes im Flow weitergeben möchte,
|
||||
oder kann <code>node.send(msg)</code> aufrufen.</p>
|
||||
<p>Es kann folgendes zurückgeben/senden werden:</p>
|
||||
<ul>
|
||||
<li> <code>node.log ("Protokollnachricht")</code> </li>
|
||||
<li> <code>node.warn (" Warning")</code> </li>
|
||||
<li> <code>node.error ("Error")</code> </li>
|
||||
<li>Ein einzelnes Nachrichtenobjekt, das an Nodes am ersten Ausgang übergeben wird</li>
|
||||
<li>Ein Array von Nachrichtenobjekten, die an die Nodes an den entsprechenden Ausgängen übergeben werden</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p> Der Catch-Node kann auch zur Bearbeitung von Fehlern verwendet werden. So rufen Sie einen Catch-Node auf:
|
||||
Übergeben Sie <code>msg</code> als zweites Argument an <code>node.error</code>:</p>
|
||||
<pre>node.error ("Error" ,msg);</pre>
|
||||
<h4> Auf Node-Informationen zugreifen </h4>
|
||||
<p> Im Funktionsblock können die ID und der Name des Nodes mit den folgenden Eigenschaften referenziert werden: </p>
|
||||
<ul>
|
||||
<li> <code>node.id</code> - ID des Nodes </li>
|
||||
<li> <code>node.name</code> - Name des Nodes </li>
|
||||
</ul>
|
||||
<h4> Umgebungsvariablen verwenden </h4>
|
||||
<p> Auf Umgebungsvariablen kann mit <code>env.get ("MY_ENV_VAR")</code> zugegriffen werden. </p>
|
||||
<p><b>Hinweis:</b> Der Start-Code wird nur während der Initialisierung des Nodes ausgeführt.
|
||||
Wenn <code>node.send</code> im Start-Code aufgerufen wird, können nachfolgende Nodes die Nachricht möglicherweise nicht empfangen.</p>
|
||||
<p>Wenn ein Element des Arrays selbst ein Array von Nachrichten ist, werden mehrere Nachrichten an den entsprechenden Ausgang gesendet.</p>
|
||||
<p>Wenn null zurückgegeben wird, entweder direkt oder als ein Array-Element, wird keine Nachricht weitergegeben.</p>
|
||||
<h4>Protokollierung und Fehlerbehandlung</h4>
|
||||
<p>Um alle Informationen zu protokollieren oder einen Fehler zu melden, sind die folgenden Funktionen verfügbar:</p>
|
||||
<ul>
|
||||
<li><code>node.log("Protokollnachricht")</code></li>
|
||||
<li><code>node.warn("Warnmeldungstext")</code></li>
|
||||
<li><code>node.error("Fehlermeldungstext")</code></li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>Der <span style="background-color:Gainsboro">catch</span>-Node kann auch zur Bearbeitung von Fehlern verwendet werden.
|
||||
Er wird aufgerufen, indem <code>msg</code> als zweites Argument an <code>node.error</code> übergeben wird:</p>
|
||||
<pre>node.error("Fehlermeldungstext" ,msg);</pre>
|
||||
<h4>Zugriff auf Node-Informationen</h4>
|
||||
<p>Im Funktionsblock können die ID und der Name des Nodes mit den folgenden Eigenschaften referenziert werden:</p>
|
||||
<ul>
|
||||
<li><code>node.id</code> - ID des Nodes</li>
|
||||
<li><code>node.name</code> - Name des Nodes</li>
|
||||
</ul>
|
||||
<h4>Umgebungsvariablen verwenden</h4>
|
||||
<p>Auf Umgebungsvariablen kann mit <code>env.get("Umgebungsvariablenname")</code> zugegriffen werden.</p>
|
||||
</script>
|
||||
|
@@ -15,36 +15,33 @@
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="switch">
|
||||
<p>Weiterleitung von Nachrichten basierend auf den Werten ihrer Eigenschaften oder der Position der Sequenz.</p>
|
||||
<p>Weiterleitung von Nachrichten basierend auf den Werten ihrer Eigenschaften oder Position in der Sequenz.</p>
|
||||
<h3>Details</h3>
|
||||
<p>Wenn eine Nachricht ankommt, wertet der Node jede der definierten Regeln aus
|
||||
und leitet die Nachricht an die entsprechenden Ausgänge der übereinstimmenden Regeln weiter.</p>
|
||||
<p>Optional kann der Node so eingestellt werden, dass er die Auswertung von Regeln einstellt,
|
||||
sobald er eine passende Regel findet.</p>
|
||||
<p>Die Regeln können anhand einer einzelnen Nachrichteneigenschaft,
|
||||
einer Flow- oder globalen Kontext-Eigenschaft oder dem Ergebniss eines JSONata-Ausdrucks ausgewertet werden.</p>
|
||||
<p>Bei Eingang einer Nachricht wertet der Node einstellbare Regeln aus und
|
||||
leitet die Nachricht an den entsprechenden Ausgang der erfüllten Regel weiter.</p>
|
||||
<p>Optional kann der Node so eingestellt werden, dass er die Auswertung nach der ersten erfüllten Regel beendet.</p>
|
||||
<p>Die Regeln können anhand einer einzelnen Nachrichteneigenschaft, einer Flow- oder globalen Kontext-Eigenschaft oder
|
||||
anhand dem Ergebnis eines JSONata-Ausdrucks ausgewertet werden.</p>
|
||||
<h4>Regeln</h4>
|
||||
<p>Es gibt vier Regeltypen:</p>
|
||||
<ol>
|
||||
<li><b>Value</b> Regeln werden gegen die konfigurierte Eigenschaft ausgewertet.</li>
|
||||
<li><b>Sequence</b> Regeln können auf Nachrichtenfolgen verwendet werden,
|
||||
wie sie beispielsweise durch den Split-Node erzeugt werden.</li>
|
||||
<li>Es kann ein JSONata <b>Expression</b> bereitgestellt werden,
|
||||
der anhand der gesamten Nachricht bewertet wird und eine Übereinstimmung erzeugt,
|
||||
wenn der Ausdruck einen wahren Wert zurückgibt.</li>
|
||||
<li>Eine <b>Andernfalls</b> Regel kann verwendet werden, um eine Übereinstimmung herzustellen,
|
||||
wenn keine der vorhergehenden Regeln übereinstimmt.</li>
|
||||
<li><b>value rules:</b> Regeln werden hinsichtlich einer eingestellten Eigenschaft ausgewertet</li>
|
||||
<li><b>sequence rules:</b> Regeln beziehen sich auf Nachrichtensequenzen,
|
||||
wie sie beispielsweise durch den <span style="background-color:Gainsboro">split</span>-Node erzeugt werden</li>
|
||||
<li>Ein <b>JSONata-Ausdruck</b> kann die gesamte Eingangsnachricht auswerten und einen <code>true</code>-Wert zurückliefern,
|
||||
um eine Regelerfüllung zu signalisieren</li>
|
||||
<li>Die <b>ansonsten</b>-Regel wird angewendet, wenn keine vorhergehende Regel übereinstimmt</li>
|
||||
</ol>
|
||||
<h4>Bemerkungen</h4>
|
||||
<p>Die <code>is true/false</code> und <code>is null</code> Regeln führen strenge Vergleiche mit diesen Typen durch.
|
||||
Sie konvertieren nicht zwischen den Typen.</p>
|
||||
<p>Die <code>is empty</code>Regel passt nur für Strings, Arrays und Buffer, die eine Länge von 0 haben
|
||||
oder Objekte, die keine Eigenschaften haben aber nicht für <code>null</code> oder <code>undefiniert</code>.</p>
|
||||
<h4>Behandlung von Nachrichtenfolgen</h4>
|
||||
<p>Standardmäßig ändert der Node nicht die Eigenschaft <code>msg.parts</code> für Nachrichten,
|
||||
die Teil einer Sequenz sind.</p>
|
||||
<p>Die Option <b>Nachrichtenfolgen neu erstellen</b> kann aktiviert werden, um neue Nachrichtenfolgen für jede passende Regel zu generieren.
|
||||
In diesem Modus puffert der Node die gesamte eingehende Sequenz, bevor er die neuen Sequenzen weiter sendet.
|
||||
Mit der Laufzeiteinstellung <code>nodeMessageBufferMaxLength</code> kann begrenzt werden,
|
||||
wie viele Nachrichten im Node zwischengespeichert werden sollen.</p>
|
||||
<p>Die Regeln <code>ist true/false</code> und <code>ist null</code> führen strenge Vergleiche mit diesen Typen durch.
|
||||
Sie konvertieren nicht zwischen den Typen.</p>
|
||||
<p>Die Regeln <code>ist leer</code> und <code>ist nicht leer</code> können nur für Zeichenfolgen (string), Datenfelder (array) und binäre Puffer (buffer) benutzt werden,
|
||||
sowie für Objekte, bei denen auf die Anzahl der Eigenschaften geprüft wird.
|
||||
Die Regel ist niemals erfült, wenn die Eigenschaft einen <code>boolean</code>-, <code>null</code>- oder <code>undefined</code>-Wert hat.
|
||||
<h4>Behandlung von Nachrichtensequenzen</h4>
|
||||
<p>Standardmäßig ändert der Node nicht die <code>msg.parts</code>-Eigenschaft für Nachrichten, die Teil einer Sequenz sind.</p>
|
||||
<p>Bei aktivierter Option <b>Nachrichtensequenzen erzeugen</b> werden Nachrichtensequenzen für jede passende Regel erzeugt.
|
||||
In diesem Modus puffert der Node die gesamte eingehende Sequenz, bevor er die neuen Sequenzen weiter sendet.
|
||||
Mit der Laufzeiteinstellung <code>nodeMessageBufferMaxLength</code> kann begrenzt werden,
|
||||
wie viele Nachrichten im Node zwischengespeichert werden sollen.</p>
|
||||
</script>
|
||||
|
@@ -15,24 +15,24 @@
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="change">
|
||||
<p>Setzen, Ändern, Löschen oder Verschieben von Eigenschaften einer Nachricht, eines Flow-Kontextes oder eines globalen Kontextes.</p>
|
||||
<p>Der Node kann mehrere Regeln angeben, die in der Reihenfolge ihrer Definition angewendet werden.</p>
|
||||
<p>Setzen, Ändern, Löschen oder Verschieben von Eigenschaften einer Nachricht, eines Flow- oder eines globalen Kontextes.</p>
|
||||
<p>Im Node können mehrere Regeln definiert werden, die in vorgegebener Reihenfolge abgearbeitet werden.</p>
|
||||
<h3>Details</h3>
|
||||
<p>Die verfügbaren Operationen sind:</p>
|
||||
<dl class="message-properties">
|
||||
<dt>Setze</dt>
|
||||
<dd>Setzt eine Eigenschaft. Der Wert kann eine Vielzahl von verschiedenen Typen sein
|
||||
oder aus einer bestehenden Nachricht oder einer Kontext-Eigenschaft übernommen werden.</dd>
|
||||
<dt>Ändere</dt>
|
||||
<dd>Suchen und Ersetzen von Teilen der Eigenschaft. Wenn reguläre Ausdrücke aktiviert sind,
|
||||
kann die Eigenschaft "Ersetzen mit" sogenante Capture groups beinhalten, z.B. <code>$1</code>.
|
||||
Ersetzen ändert den Typ nur, wenn eine vollständige Übereinstimmung vorliegt.</dd>
|
||||
<dt>Löschen</dt>
|
||||
<dd>Löscht eine Eigenschaft.</dd>
|
||||
<dt>Verschiebe</dt>
|
||||
<dd>Verschiebt eine Eigneschft oder benennt sie um.</dd>
|
||||
<dt>Setze</dt>
|
||||
<dd>Setzen einer Eigenschaft.
|
||||
Der Wert kann eine Vielzahl von verschiedenen Typen sein oder
|
||||
von einer bestehenden Nachricht- oder einer Kontext-Eigenschaft übernommen werden</dd>
|
||||
<dt>Ändere</dt>
|
||||
<dd>Suchen und Ersetzen von Teilen einer Eigenschaft.
|
||||
Wenn reguläre Ausdrücke verwendet werden, kann auch durch sogenannte Capture Groups ersetzt werden, z. B. <code>$1</code>.
|
||||
Beim Ersetzen wird der Typ nur geändert, wenn eine vollständige Übereinstimmung vorliegt.</dd>
|
||||
<dt>Lösche</dt>
|
||||
<dd>Löschen einer Eigenschaft</dd>
|
||||
<dt>Verschiebe</dt>
|
||||
<dd>Verschieben oder umbenennen einer Eigenschaft</dd>
|
||||
</dl>
|
||||
<p>Der Typ "expression" verwendet die Abfrage- und Ausdruckssprache
|
||||
<a href="http://jsonata.org/" target="_new">JSONata</a>.
|
||||
</p>
|
||||
<!-- <p>Der Typ "expression" verwendet die Abfrage- und Ausdruckssprache <a href="http://jsonata.org/" target="_new">JSONata</a>.</p> -->
|
||||
<!-- was ist mit "expression" gemeint?!? vermutlich nicht mehr aktuell -->
|
||||
</script>
|
||||
|
@@ -15,23 +15,30 @@
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="range">
|
||||
<p>Ordnet einen numerischen Wert einem anderen Bereich zu..</p>
|
||||
<h3>Eingaben</h3>
|
||||
<p>Umskalierung eines Zahlenwertes auf einen anderen Wertebereich.</p>
|
||||
<h3>Eingangsdaten</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>payload <span class="property-type">Zahl</span></dt>
|
||||
<dt>payload<span class="property-type">number</span></dt>
|
||||
<dd>Der Payload <i>muss</i> eine Zahl sein.
|
||||
Alles andere wird versucht als Zahl interpretiert zu werden und abgelehnt, wenn das fehlschlägt.</dd>
|
||||
Alles andere wird versucht als Zahl interpretiert zu werden und bei Fehlschlag abgelehnt.</dd>
|
||||
</dl>
|
||||
<h3>Ausgaben</h3>
|
||||
<h3>Ausgangsdaten</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>payload <span class="property-type">Zahl</span></dt>
|
||||
<dd>Der Wert, der dem neuen Bereich zugeordnet ist.</dd>
|
||||
<dt>payload<span class="property-type">number</span></dt>
|
||||
<dd>Der auf den neuen Wertebereich umgerechnete Zahlenwert</dd>
|
||||
</dl>
|
||||
<h3>Details</h3>
|
||||
<p>Dieser Node skaliert den empfangenen Wert linear.
|
||||
Standardmäßig ist das Ergebnis nicht auf den im Node definierten Bereich beschränkt.</p>
|
||||
<p><i>Skalieren und begrenzen auf den Zielbereich</i> bedeutet,
|
||||
dass das Ergebnis niemals außerhalb des im Ergebnisbereich angegebenen Bereichs liegt.</p>
|
||||
<p><Skalieren und Umhüllen innerhalb des Zielbereichs</i> bedeutet,
|
||||
dass das Ergebnis innerhalb des Ergebnisbereichs umgepackt wird.</p>
|
||||
Standardmäßig ist das Ergebnis nicht auf Ausgangswertebereich beschränkt.</p>
|
||||
<p><i>Skalierung und Begrenzung</i> bedeutet,
|
||||
dass das Ergebnis niemals außerhalb des Ausgangswertebereich liegt.</p>
|
||||
<p><i>Skalieren und Begrenzung mit Überlauf</i> bedeutet,
|
||||
dass das Ergebnis in den Ausgangswertebereich <i>über- bzw. umlaufend gepackt</i> wird.</p>
|
||||
<p>Beispiel einer Skalierung vom Eingangswerterbereich 0-10 auf Ausgangswertebereich 0-100:</p>
|
||||
<table style="outline-width:#888 solid thin">
|
||||
<tr><th width="260px">Modus</th><th width="110px">Eingangswert</th><th width="110px">Ausgangswert</th></tr>
|
||||
<tr><td><center>Skalieren</center></td><td><center>12</center></td><td><center>120</center></td></tr>
|
||||
<tr><td><center>Skalieren und begrenzen</center></td><td><center>12</center></td><td><center>100</center></td></tr>
|
||||
<tr><td><center>Skalieren und begrenzen mit Überlauf</center></td><td><center>12</center></td><td><center>20</center></td></tr>
|
||||
</table>
|
||||
</script>
|
||||
|
@@ -15,39 +15,43 @@
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="template">
|
||||
<p> Legt eine Eigenschaft fest, die auf der bereitgestellten Vorlage basiert. </p>
|
||||
<h3> Eingaben </h3>
|
||||
<dl class="message-properties">
|
||||
<dt> msg <span class="property-type"> Objekt </span> </dt>
|
||||
<dd> Ein msg Objekt, das Informationen zum Füllen der Vorlage enthält. </dd>
|
||||
<dt class="optional"> template <span class="property-type">Zeichenfolge</span> </dt>
|
||||
<dd> Eine Schablone, die aus msg.payload gefüllt werden soll. Falls es nicht in der Editieranzeige konfiguriert ist, kann
|
||||
kann es als Eigenschaft von msg gesetzt werden. </dd>
|
||||
</dl>
|
||||
<h3> Ausgaben </h3>
|
||||
<dl class="message-properties">
|
||||
<dt> msg <span class="property-type"> Objekt </span> </dt>
|
||||
<dd> Eine Nachricht die durch Verbindung der konfigurierten Vorlage mit den Eigenschaften aus der eingehenden Nachricht gebildet wird. </dd>
|
||||
</dl>
|
||||
<h3> Details </h3>
|
||||
<p> Die Vorlage verwendet standardmäßig das <i> <a href="http://mustache.github.io/mustache.5.html" target="_blank"> mustache </a> </i>
|
||||
Format, das kann aber bei Bedarf ausgeschaltet werden. </p>
|
||||
<p> Beispiel: Wenn eine Vorlage von:
|
||||
<pre> Hallo {{payload.name}}. Heute ist {{date}} </pre>
|
||||
<p> eine Nachricht empfangt, die folgendes enthält:
|
||||
<pre>{
|
||||
<p>Festlegen einer Eigenschaft anhand einer Vorlage (template).</p>
|
||||
<h3>Eingangsdaten</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>msg<span class="property-type">object</span></dt>
|
||||
<dd>msg-Objekt mit Informationen zum Befüllen der Vorlage</dd>
|
||||
<dt class="optional">template<span class="property-type">string</span></dt>
|
||||
<dd>Mit msg.payload zu befüllende Vorlage.
|
||||
Falls nicht im Editorfenster angegeben, kann die Vorlage auch als Eigenschaft von msg vorgegeben werden.</dd>
|
||||
</dl>
|
||||
<h3>Ausgangsdaten</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>msg<span class="property-type">object</span></dt>
|
||||
<dd>Nachricht auf Basis der Vorlage und gefüllt mit Eigenschaften aus der eingehenden Nachricht</dd>
|
||||
</dl>
|
||||
<h3>Details</h3>
|
||||
<p>Die Vorlage verwendet standardmäßig das
|
||||
<i><a href="http://mustache.github.io/mustache.5.html" target="_blank">Mustache</a></i>-Format,
|
||||
was aber bei Bedarf ausgeschaltet werden kann.</p>
|
||||
<p>Beispiel: Wenn die Vorlage</p>
|
||||
<pre>Hallo {{payload.name}}. Heute ist {{date}}</pre>
|
||||
<p>die Nachricht</p>
|
||||
<pre>
|
||||
{
|
||||
date: "Montag",
|
||||
payload: {
|
||||
name: "Fred"
|
||||
}
|
||||
}</pre>
|
||||
<p> wird die resultierende Nachrich wie folgt sein:
|
||||
<pre> Hallo Fred. Heute ist Montag </pre>
|
||||
<p> Es ist möglich, eine Eigenschaft aus dem Flowkontext oder dem globalen Kontext zu verwenden.
|
||||
Verwenden Sie einfach <code>{{flow.name}}</code> oder
|
||||
<code>{{global.name}}</code> oder für den persistenten Speicher <code>store</code> verwenden <code>{{flow[store].name}}</code> oder
|
||||
<code>{{global[store].name}}</code>.
|
||||
<p> <b>Hinweis: </b> Standardmäßig wird <i>mustache</i> alle HTML-Entitäten in den Werten die es ersetzt mit Escape behandeln.
|
||||
Um dies zu verhindern, verwenden Sie <code>{{{triple}}}</code> Klammern.
|
||||
|
||||
}
|
||||
</pre>
|
||||
<p>empfängt, wird die resultierende Ausgangsnachricht wie folgt sein:</p>
|
||||
<pre>Hallo Fred. Heute ist Montag</pre>
|
||||
<p>Es ist möglich, eine Eigenschaft aus dem Flowkontext oder dem globalen Kontext zu verwenden,
|
||||
indem <code>{{flow.name}}</code> oder <code>{{global.name}}</code> verwendet wird.
|
||||
Oder für den persistenten Speicher <code>store</code> kann <code>{{flow[store].name}}</code> oder
|
||||
<code>{{global[store].name}}</code> verwendet werden.
|
||||
<p><b>Hinweis:</b> Standardmäßig werden bei <i>Mustache</i> sog. <i>Escaper</i>
|
||||
bei allen nicht-numerischen und HTML-Entitäten erzeugt.
|
||||
Z. B. <code>&</code> wird durch <code>&amp;</code> ersetzt.
|
||||
Um dies zu verhindern, müssen <code>{{{dreifache}}}</code> Klammern verwendet werden.
|
||||
</script>
|
||||
|
@@ -13,33 +13,29 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="delay">
|
||||
<p> Verzögert jede Nachricht, die den Node durchläuft oder begrenzt die Geschwindigkeit, mit der sie übergeben werden können. </p>
|
||||
<h3> Eingaben </h3>
|
||||
<p>Verzögerung von Nachrichten oder Begrenzung ihrer Durchlaufrate.</p>
|
||||
<h3>Eingangsdaten</h3>
|
||||
<dl class="message-properties">
|
||||
<dt class="optional"> delay <span class="property-type"> Zahl </span> </dt>
|
||||
<dd> Legt die Verzögerung (in Millisekunden) fest, die auf die Nachricht angewendet werden soll. Dies
|
||||
Option gilt nur, wenn der Node so konfiguriert ist, dass er Nachrichten zulässt,
|
||||
die das konfigurierte Standardverzögerungsintervall überschreiben. </dd>
|
||||
<dt class="optional"> zurücksetzen </dt>
|
||||
<dd> Wenn für die empfangene Nachricht diese Eigenschaft auf einen beliebigen Wert gesetzt ist, werden alle
|
||||
ausstehende Nachrichten gelöscht, die vom Node noch gehalten werden. </dd>
|
||||
<dt class="optional"> Flush </dt>
|
||||
<dd> Wenn für die empfangene Nachricht diese Eigenschaft auf einen beliebigen Wert gesetzt ist, werden alle
|
||||
ausstehende Nachrichten, die vom noch Node gehalten werden, sofort gesendet. </dd>
|
||||
<dt class="optional">delay<span class="property-type">number</span></dt>
|
||||
<dd>Legt die Verzögerung in Millisekunden fest, die auf die Nachricht angewendet werden soll.
|
||||
Zur Nutzung dieser Option muss <i>Verzög. mit msg.delay überschreibbar</i> aktiviert sein.</dd>
|
||||
<dt class="optional">reset</dt>
|
||||
<dd>Wenn bei der empfangenen Nachricht diese Eigenschaft auf einen beliebigen Wert gesetzt ist,
|
||||
werden alle im Node gepufferten Nachrichten gelöscht</dd>
|
||||
<dt class="optional">flush</dt>
|
||||
<dd>Wenn bei der empfangenen Nachricht diese Eigenschaft auf einen beliebigen Wert gesetzt ist,
|
||||
werden alle im Node gepufferten Nachrichten sofort gesendet</dd>
|
||||
</dl>
|
||||
<h3> Details </h3>
|
||||
<p> Wenn das Verzögerungsintervall für die Verzögerung von Nachrichten konfiguriert ist, kann es sich um einen festen Wert,
|
||||
einen Zufallswert innerhalb eines Bereichs oder einen dynamisch für jede Nachricht festgelegten Wert handeln. </p>
|
||||
<p> Bei der Konfiguration von Begrenzungen werden die Nachrichten über den konfigurierten Zeitraum verteilt.
|
||||
Der Status zeigt die Anzahl der Nachrichten an, die sich derzeit in der Warteschlange befinden.
|
||||
Zwíschenzeitlich entreffende Nachrichten können gegebenenfalls verworfen werden.</p>
|
||||
</p>
|
||||
<p> Die Ratenbegrenzung kann auf alle Nachrichten angewendet werden
|
||||
oder sie werden gemäß des Wertes von <code>msg.topic</code> gruppiert.
|
||||
Bei der Gruppierung werden zwíschenzeitlich eintreffende Nachrichten automatisch gelöscht.
|
||||
In jedes Zeitintervall kann der Node entweder die aktuellste Nachricht für alle Themen
|
||||
oder die neueste Nachricht für das nächste Topic freigeben.
|
||||
</p>
|
||||
<h3>Details</h3>
|
||||
<p>Wenn Verzögerung als Nachrichtenaktion eingestellt ist, kann die Verzögerungszeit ein fixer Wert,
|
||||
ein Zufallswert innerhalb eines Bereichs oder ein für jede Nachricht dynamisch vorgebbarer Wert handeln.</p>
|
||||
<p>Bei Begrenzung auf Nachrichtenrate werden die Nachrichten über den eingestellten Zeitraum verteilt.
|
||||
Der Status zeigt die Anzahl der sich aktuell in der Warteschlange befindlichen Nachrichten an.
|
||||
Zwischenzeitlich eintreffende Nachrichten können optional beim Eintreffen verworfen werden.</p>
|
||||
<p>Die Ratenbegrenzung kann auf alle Nachrichten angewendet werden oder
|
||||
die Nachrichten werden anhand des <code>msg.topic</code>-Wertes gruppiert.
|
||||
Bei der Gruppierung werden zwischenzeitlich eintreffende Nachrichten automatisch gelöscht.
|
||||
In jedem Zeitintervall werden die neuesten Nachricht entweder für alle oder
|
||||
für das nächste Thema (Topic) in der Reihe gesendet.</p>
|
||||
</script>
|
||||
|
@@ -15,30 +15,36 @@
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="trigger">
|
||||
<p> Wenn der Trigger ausgelöst wird, kann eine Nachricht gesendet werden und dann optional eine weitere Nachricht ,
|
||||
sofern der Trigger nicht verlängert oder zurückgesetzt wird. </p>
|
||||
|
||||
<h3> Eingaben </h3>
|
||||
<p>Senden einer und optional einer weiteren verzögerten Nachricht bei Auslösung (Trigger),
|
||||
sofern der Trigger nicht verlängert oder zurückgesetzt wird.</p>
|
||||
<h3>Eingangsdaten</h3>
|
||||
<dl class="message-properties">
|
||||
<dt class="optional"> reset </dt>
|
||||
<dd> Wenn eine Nachricht mit dieser Eigenschaft empfangen wird, wird jeder aktuelle Zeitlimit oder Wiederholung
|
||||
zrückgesetzt und es wird keine Nachricht ausgelöst. </dd>
|
||||
<dt class="optional">delay<span class="property-type">number</span></dt>
|
||||
<dd>Legt die Verzögerung in Millisekunden fest, die auf die Nachricht angewendet werden soll.
|
||||
Zur Nutzung dieser Funktion muss die Option <i>Verzögerung mit msg.delay überschreibbar</i> aktiviert sein.</dd>
|
||||
<dt class="optional">reset</dt>
|
||||
<dd>Bei Empfang einer Nachricht mit dieser Eigenschaft wird jede Verzögerung oder Wiederholung
|
||||
rückgesetzt und keine weitere Nachricht gesendet</dd>
|
||||
</dl>
|
||||
|
||||
<h3> Details </h3>
|
||||
<p> Dieser Node kann verwendet werden, um ein Zeitlimit in einem Flow zu erstellen. Wenn er eine Nachricht empfängt, wird
|
||||
standardmäßig wird eine Nachricht mit einer <code>payload</code> von <code>1</code> versandt.
|
||||
Anschließend wartet er 250 ms, bevor er eine zweite Nachricht mit einer <code>payload</code> von <code>0</code> sendet.
|
||||
Dies kann beispielsweise zum Blinken einer LED verwendet werden, die an einen Raspberry Pi GPIO-Pin angeschlossen ist.</p>
|
||||
<p> Die Nutzdaten jeder gesendeten Nachricht können für eine Vielzahl von Werten konfiguriert werden,
|
||||
einschließlich der Option, nichts zu senden. Wenn Sie beispielsweise die Anfangsnachricht auf <i>nichts</i> setzen und
|
||||
Auswahl der Option zum Erweitern des Zeitgebers mit jeder empfangenen Nachricht dann wird der Node als Überwachungszeitgeber agieren
|
||||
und nur dann eine Nachricht senden, wenn innerhalb des konfigurierten Erweiterungszeitraums keine Nachricht empfangen wird. </p>
|
||||
<p> Wenn der Node auf den Typ <i>Zeichenfolge</i> gesetzt ist, unterstützt der Node die Syntax der Mustache-Vorlage. </p>
|
||||
<p> Wenn der Node eine Nachricht mit einer Eigenschaft <code>reset</code> oder einer <code>payload</code> die mit dem Wert in der
|
||||
Node-Konfiguration übereinstimmt, wird jede beliebige Zeitlimitüberschreitung oder Wiederholung gelöscht,
|
||||
die sich derzeit in Bearbeitung befindet und es wird keine Nachricht ausgelöst. </p>
|
||||
<p> Der Node kann so konfiguriert werden, dass er eine Nachricht in einem regulären Intervall sendet,
|
||||
bis er durch eine empfangene Nachricht zurückgesetzt wird. </p>
|
||||
<p> Optional kann der Node so konfiguriert werden, dass er Nachrichten für jedes <code>msg.topic</code> als separate Datenströme behandelt. </p>
|
||||
<h3>Details</h3>
|
||||
<p>Dieser Node kann verwendet werden, um ein Zeitlimit in einem Flow zu erstellen.
|
||||
Bei Empfang einer Nachricht wird standardmäßig eine Nachricht mit einem <code>payload</code> von <code>1</code> versendet.
|
||||
Optional wird nach einer einstellbaren Wartezeit (standardmäßig 250 ms) eine zweite Nachricht
|
||||
mit einem <code>payload</code> von <code>0</code> sendet.
|
||||
Dies kann beispielsweise zum Blinken einer LED verwendet werden, die an einen GPIO-Pin des Raspberry Pi angeschlossen ist.</p>
|
||||
<p>Als Nutzdaten (Payload) jeder zu sendenen Nachricht können eine Vielzahl von Werten eingestellt werden inklusive der Option,
|
||||
überhaupt nicht zu senden.
|
||||
Wenn beispielsweise die erste Ausgnagsnachricht auf <i>nichts</i> gesetzt und die Option
|
||||
<i>Verzögerung verlängern bei Eingang neuer Nachrichten</i> aktiviert ist,
|
||||
agiert der Node als Überwachungszeitgeber (Watchdog-Timer).
|
||||
Er sendet hier nur dann eine Nachricht, wenn innerhalb der eingestellten Verzögerungszeit keine Nachricht empfangen wird.</p>
|
||||
<p>Beim Nachrichtentyp <i>Zeichenfolge (string)</i> werden auch <i><a href="http://mustache.github.io/mustache.5.html" target="_blank">Mustache</a></i>-Vorlagen unterstützt.</p>
|
||||
<p>Wenn eine Nachricht mit der <code>reset</code> oder <code>payload</code>-Eigenschaft gleich dem konfigurierten Wert empfangen wird,
|
||||
wird eine laufende Verzögerung oder Wiederholung rückgesetzt und keine Nachricht gesendet.</p>
|
||||
<p>Der Node kann auch so eingestellt werden, dass er eine Nachricht normal in den vorgegebenen Intervallen sendet,
|
||||
bis er durch eine empfangene Nachricht rückgesetzt wird.</p>
|
||||
<p>Außerdem kann der Node auch so eingestellt werden, dass er Nachrichten anhand einer einstellbaren <code>msg</code>-Eigenschaft
|
||||
als separate Nachrichtenströme behandelt.</p>
|
||||
<p>Der Status zeigt die Aktivität des Nodes an.
|
||||
Bei Verwendung mehrerer Nachrichtenströme zeigt der Status deren aktuelle Anzahl an.</p>
|
||||
</script>
|
||||
|
@@ -15,69 +15,75 @@
|
||||
-->
|
||||
|
||||
<script type="text/html" data-help-name="exec">
|
||||
<p> Führt einen Systembefehl aus und gibt seine Ausgabe zurück. </p>
|
||||
<p> Der Node kann so konfiguriert werden, dass er entweder wartet, bis der Befehl abgeschlossen ist,
|
||||
oder die Ausgabe so sendet wie der Befehl sie generiert. </p>
|
||||
<p> Der Befehl, der ausgeführt wird, kann im Node konfiguriert oder von der empfangenen Nachricht übergeben werden. </p>
|
||||
|
||||
<h3> Eingaben </h3>
|
||||
<p>Ausführung eines Systembefehls und Rückgabe seiner Ausgabe.</p>
|
||||
<p>Der Node kann so eingestellt werden, dass er entweder bis zum Befehlabschluss wartet (exec) oder
|
||||
die Ausgabe sogleich sendet (spawn), wie der Befehl sie generiert.</p>
|
||||
<p>Der auszuführende Befehl kann im Node eingestellt und/oder
|
||||
über die empfangene Nachricht übergeben werden.</p>
|
||||
<h3>Eingangsdaten</h3>
|
||||
<dl class="message-properties">
|
||||
<dt class="optional">payload<span class="property-type"> Zeichenfolge </span> </dt>
|
||||
<dd> wird an den ausgeführten Befehl angehängt </dd>
|
||||
<dt class="optional"> kill <span class="property-type"> Zeichenfolge </span> </dt>
|
||||
<dd> Der Typ des Kill-Signals, das einen vorhandenen exec-Node-Prozess gesendet wird. </dd>
|
||||
<dt class="optional"> pid <span class="property-type"> Zahl|Zeichenfolge </span> </dt>
|
||||
<dd> Die Prozess-ID eines vorhandenen exec-Node-Prozesses, der beendet werden soll. </dd>
|
||||
<dt class="optional">payload<span class="property-type">string</span></dt>
|
||||
<dd>Wird an auszuführenden Befehl angehängt, sofern im Node aktiviert</dd>
|
||||
<dt class="optional">kill<span class="property-type">string</span></dt>
|
||||
<dd>Typ des Kill-Signals, das an den zu beendenden <span style="background-color:Gainsboro">exec</span>-Node-Prozess gesendet wird</dd>
|
||||
<dt class="optional">pid<span class="property-type">number | string</span></dt>
|
||||
<dd>Prozess-ID des zu beendenden <span style="background-color:Gainsboro">exec</span>-Node-Prozesses</dd>
|
||||
</dl>
|
||||
|
||||
<h3> Ausgaben </h3>
|
||||
<h3>Ausgangsdaten</h3>
|
||||
<ol class="node-ports">
|
||||
<li> Standardausgabe
|
||||
<li>Standardausgabe (stdout)
|
||||
<dl class="message-properties">
|
||||
<dt> payload <span class="property-type"> Zeichenfolge </span> </dt>
|
||||
<dd> die Standardausgabe des Befehls. </dd>
|
||||
<dt>payload<span class="property-type">string</span></dt>
|
||||
<dd>Standardausgabe des Befehls</dd>
|
||||
</dl>
|
||||
<dl class="message-properties">
|
||||
<dt> rc <span class="property-type"> Objekt </span> </dt>
|
||||
<dd> Eine Kopie des Rückkehrcodeobjekts (auch an Port 3 verfügbar) - nur im Ausführungsmodus verfügbar </dd>
|
||||
<dt>rc<span class="property-type">object</span></dt>
|
||||
<dd>Rückgabe-Code-Objekts (auch an Port 3 verfügbar) - nur im exec-Modus verfügbar</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li> Standardfehler
|
||||
<li>Standardfehlerausgabe (stderr)
|
||||
<dl class="message-properties">
|
||||
<dt> payload <span class="property-type"> Zeichenfolge </span> </dt>
|
||||
<dd> Standardfehlerausgabe des Befehls. </dd>
|
||||
<dt>payload<span class="property-type">string</span></dt>
|
||||
<dd>Standardfehlerausgabe des Befehls</dd>
|
||||
</dl>
|
||||
<dl class="message-properties">
|
||||
<dt> rc <span class="property-type"> Objekt </span> </dt>
|
||||
<dd> Eine Kopie des Rückkehrcodeobjekts (auch an Port 3 verfügbar) - nur im Ausführungsmodus verfügbar </dd>
|
||||
<dt>rc<span class="property-type">object</span></dt>
|
||||
<dd>Rückgabe-Code-Objekts (auch an Port 3 verfügbar) - nur im exec-Modus verfügbar</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li> Rückkehrcode
|
||||
<li>Rückgabe-Code
|
||||
<dl class="message-properties">
|
||||
<dt> payload <span class="property-type"> Objekt </span> </dt>
|
||||
<dd> ein Objekt, das den Rückkehrcode und gegebenfals <code>Nachricht</code>, <code>Signal</code> Eigenschaften enthält. </dd>
|
||||
<dt>payload<span class="property-type">object</span></dt>
|
||||
<dd>Objekt mit dem Rückgabe-Code und gegebenenfalls <code>message</code> oder <code>signal</code>-Eigenschaften</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ol>
|
||||
<h3> Details </h3>
|
||||
<p> Standardmäßig verwendet der Systemaufruf <code>exec</code> , der den Befehl aufruft, darauf wartet, dass er ausgeführt wird und anschließend
|
||||
gibt dessen Ausgabe zurück. Ein erfolgreicher Befehl sollte z. B. den Rückkehrcode <code>{ code: 0 }</code> haben. </p>
|
||||
<p> Optional kann stattdessen <code>spawn</code> verwendet werden, wodurch die Ausgaben von Standardausgabe und Standardfehler zurückgegeben werden während
|
||||
der Befehl ausgeführt wird, in der Regel Zeile für Zeile. Nach Abschluss des Befehles gibt sie ein Objekt
|
||||
am 3. Port zurück. Ein erfolgreicher Befehl sollte z. B. <code>{ code: 0 }</code> zurückgeben. </p>
|
||||
<p> Fehler können zusätzliche Informationen über den dritten Port als <code>msg.payload</code> zurückgeben,
|
||||
z. B. eine <code>message</code> Zeichenfolge oder <code>Signal</code> zeichenfolge. </p>
|
||||
<p> Der Befehl, der ausgeführt wird, ist innerhalb des Nodes definiert, mit einer Option zum Anhängen von <code> msg.payload </code>
|
||||
und einer weiteren Gruppe von Parametern. </p>
|
||||
<p> Befehle oder Parameter mit Leerzeichen müssen in Anführungszeichen eingeschlossen werden: <code> "Dies ist ein einzelner Parameter" </code> </p>
|
||||
<p> Die zurückgegebenen <code>Nutzdaten</code> sind in der Regel ein <i>string</i>, es sei denn, es werden nicht UTF8-Zeichen erkannt, in denen
|
||||
falls es sich um einen <i>Buffer</i> handelt. </p>
|
||||
<p> Das Statussymbol und die PID des Nodes werden angezeigt, während der Node aktiv ist. Änderungen an dieser Funktion können vom Node <code> Status </code> gelesen werden. </p>
|
||||
<h4> Prozesse beenden </h4>
|
||||
<p> Wird <code>msg.kill</code> gesendet, wird ein einzelner aktiver Prozess beendet. <code>msg.kill</code> sollte eine Zeichenfolge sein, die
|
||||
Der Typ des Signals, der gesendet werden soll, z. B. <code>SIGINT</code>, <code>SIGQUIT</code> oder <code>SIGHUP</code>.
|
||||
Der Standardwert ist <code>SIGTERM</code> , wenn er auf eine leere Zeichenfolge gesetzt ist. </p>
|
||||
<p> Wenn der Node mehr als einen Prozess ausführt, muss <code>msg.pid</code> ebenfalls mit dem Wert der zu ermordenen PID festgelegt werden. </p>
|
||||
<p> Wenn ein Wert im Feld <code>Zeitlimit</code> angegeben wird, wird der Prozess automatisch beendet, wenn der Prozess nicht abgeschlossen ist, wenn die angegebene Anzahl von Sekunden abgelaufen ist. </p>
|
||||
<p> Tipp: Wenn Sie eine Python-App ausführen, müssen Sie möglicherweise den Parameter <code>-u</code> verwenden, um die Ausgabe zu stoppen, die gepuffert wird. </p>
|
||||
<h3>Details</h3>
|
||||
<p>Standardmäßig wartet der zur Befehlsausführung genutzte Systemaufruf <code>exec</code>,
|
||||
bis die Ausführung abgeschlossen ist, und gibt anschließend dessen Ausgaben zurück.
|
||||
Ein erfolgreich ausgeführter Befehl sollte z. B. den Rückgabe-Code <code>{ code: 0 }</code> haben.</p>
|
||||
<p>Optional kann stattdessen <code>spawn</code> verwendet werden, wodurch die Standardausgabe und Standardfehlerausgabe
|
||||
bereits während der Befehlsausführung in der Regel Zeile für Zeile rückgegeben werden.
|
||||
Nach Befehlsabschluss wird ein Objekt am 3. Port ausgegeben.
|
||||
Ein erfolgreich ausgeführter Befehl sollte z. B. <code>{ code: 0 }</code> zurückgeben.</p>
|
||||
<p>Fehler können zusätzliche Informationen über den dritten Port als <code>msg.payload</code> zurückgeben,
|
||||
z. B. eine <code>message</code>- oder <code>signal</code>-Zeichenfolge.</p>
|
||||
<p>Der auszuführende Befehl wird innerhalb des Nodes mit der Option zum Anhängen von
|
||||
<code>msg.payload</code> und weiteren Parametern definiert.</p>
|
||||
<p>Befehle oder Parameter mit Leerzeichen sollten in Anführungszeichen eingeschlossen werden,
|
||||
z. B. <code>"Dies ist ein einzelner Parameter"</code></p>
|
||||
<p>Die zurückgegebenen Daten (Payload) sind in der Regel eine <i>Zeichenfolge (string)</i>,
|
||||
außer es werden nicht UTF-8-Zeichen wie bei einem <i>binären Puffer (buffer)</i> erkannt.</p>
|
||||
<p>Bei einem aktiven Node werden Status und die PID angezeigt.
|
||||
Änderungen können mittels <span style="background-color:Gainsboro">status</span>-Node gelesen werden.</p>
|
||||
<h4>Prozesse beenden</h4>
|
||||
<p>Durch Senden von <code>msg.kill</code> wird ein einzelner aktiver Prozess beendet.
|
||||
<code>msg.kill</code> sollte als Zeichenfolge (string) den Signaltyp enthalten,
|
||||
z. B. <code>SIGINT</code>, <code>SIGQUIT</code> oder <code>SIGHUP</code>.
|
||||
Der Standardwert ist <code>SIGTERM</code>, wenn die Zeichenfolge leer ist.</p>
|
||||
<p>Wenn der Node mehr als einen Befehl bzw. Prozess ausführt,
|
||||
muss zusätzlich über <code>msg.pid</code> die PID des zu beendenden Prozesses übergeben werden.</p>
|
||||
<p>Wenn ein <code>Zeitlimit</code> angegeben ist, wird der Prozess automatisch nach Ablauf der Zeit beendet.</p>
|
||||
<p>Tipp: Wenn Sie eine Python-App ausführen, müssen Sie möglicherweise den Parameter <code>-u</code> verwenden,
|
||||
um die Ausgabepufferung zu stoppen.</p>
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user