Skip to content

Commit

Permalink
Project translation
Browse files Browse the repository at this point in the history
  • Loading branch information
Ragnar-F authored and github-actions[bot] committed Sep 24, 2023
1 parent f5b1970 commit 24e686a
Show file tree
Hide file tree
Showing 119 changed files with 469 additions and 452 deletions.
8 changes: 8 additions & 0 deletions target/docs/ChangeLog.htm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@ <h1>Änderungen und neue Features</h1>
<p><a href="v2-changes.htm">Änderungen von v1.1 bis v2.0</a> behandelt die Unterschiede zwischen v1.1 und v2.0.</p>
<p>Alle technischen Einzelheiten zu den Änderungen finden Sie auf <a href="https://github.com/AutoHotkey/AutoHotkey/tree/alpha">GitHub</a>.</p>

<h2 id="v2.0.10">2.0.10 - 24. September 2023</h2>
<p>Behoben: Kein Absturz mehr, wenn ein benannter Funktions-Hotkey nach #HotIf verwendet wird.</p>
<p>Behoben: Direkt geschriebene Zahlen, die mit einem Punkt enden, bewirken keine Zeilenfortsetzung mehr.</p>
<p>Behoben: Vorherige Inkrementierung/Dekrementierung funktioniert nun auch mit verketteten Array-Indexierungen.</p>
<p>Behoben: OnNotify/OnCommand wendete Styles an, die nur für OnEvent gelten.</p>
<p>Behoben: FileExist/DirExist gab Handles nicht frei, wenn <code>LeeresVerz\*</code> verwendet wird.</p>
<p>Behoben: DirExist gab Handles nicht frei, wenn nur Dateien übereinstimmen.</p>

<h2 id="v2.0.9">2.0.9 - 17. September 2023</h2>
<p>Behoben: Stapelung von Hotstrings mit der X-Option.</p>
<p>Behoben: Debugger listet nun lokale Variablen auf, wenn sich die Funktion am Ende des Stapels befindet.</p>
Expand Down
2 changes: 1 addition & 1 deletion target/docs/Concepts.htm
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ <h3 id="names">Namen</h3>
<p><strong>Groß- und Kleinschreibung:</strong> Für ASCII-Zeichen nicht relevant. Zum Beispiel ist <code>AktuellesDatum</code> dasselbe wie <code>aktuellesdatum</code>. ASCII-fremde Großbuchstaben wie "Ä" sind jedoch <em>nicht</em> identisch mit ihren Kleinbuchstaben, unabhängig von den aktuellen Sprach- und Regionseinstellungen des Benutzers. Das hilft dem Skript, sich über mehrere Sprach- und Regionseinstellungen hinweg konsistent zu verhalten.</p>
<p><strong>Maximale Länge:</strong> 253 Zeichen.</p>
<p><strong>Erlaubte Zeichen:</strong> Buchstaben, Ziffern, Unterstrich und ASCII-fremde Zeichen; allerdings können nur Eigenschaftsnamen mit einer Ziffer beginnen.</p>
<p id="reserved-words"><strong>Reservierte Wörter:</strong> <code>as</code>, <code>and</code>, <code>contains</code>, <code>false</code>, <code>in</code>, <code>is</code>, <code>IsSet</code>, <code>not</code>, <code>or</code>, <code>super</code>, <code>true</code>, <code>unset</code>. Diese Wörter sind für zukünftige Anwendungen oder andere spezifische Zwecke reserviert.</p>
<p id="reserved-words"><strong>Reservierte Wörter:</strong> <code>as</code>, <code>and</code>, <code>contains</code>, <code>false</code>, <code>in</code>, <code>is</code>, <code>IsSet</code>, <code>not</code>, <code>or</code>, <code>super</code>, <code>true</code>, <code>unset</code>. Diese Wörter sind für zukünftige oder andere spezifische Zwecke reserviert.</p>
<p>Deklarationsschlüsselwörter und Namen von Kontrollanweisungen sind ebenfalls reserviert, hauptsächlich für die Erkennung von Fehlern. Dazu gehören: <code>Break</code>, <code>Case</code>, <code>Catch</code>, <code>Continue</code>, <code>Else</code>, <code>Finally</code>, <code>For</code>, <code>Global</code>, <code>Goto</code>, <code>If</code>, <code>Local</code>, <code>Loop</code>, <code>Return</code>, <code>Static</code>, <code>Switch</code>, <code>Throw</code>, <code>Try</code>, <code>Until</code>, <code>While</code></p>
<p>Namen von Eigenschaften, Methoden und Fenstergruppen können reservierte Wörter sein.</p>

Expand Down
4 changes: 2 additions & 2 deletions target/docs/FAQ.htm
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ <h3 id="rightclick">Wie stelle ich die Kontextmenüoptionen für .ahk-Dateien wi
<h3 id="vista">Warum funktioniert mein Skript in Windows <em>xxx</em> nicht, obwohl es in einer vorherigen Version lief?</h3>
<p>Dieses Problem gibt es in mehreren Varianten:</p>
<ul>
<li>Ich habe meinen Computer oder meine Windows-Version aufgewertet und stelle nun fest, dass mein Skript nicht mehr funktioniert.</li>
<li>Ich habe einen neuen Computer oder Windows auf die neueste Version aktualisiert und stelle nun fest, dass mein Skript nicht mehr funktioniert.</li>
<li>Hotkeys/Hotstrings funktionieren nicht, wenn ein Programm mit Adminrechten läuft.</li>
<li>Einige Fenster lassen keine Automatisierung zu (z.B. Geräte-Manager ignoriert Send).</li>
</ul>
Expand Down Expand Up @@ -238,7 +238,7 @@ <h3 id="load">Wie kann man feststellen, ob eine Webseite vollständig geladen wu
</pre>
<h3 id="time">Wie können Datums- oder Zeitwerte verglichen oder geändert werden?</h3>
<p>Die <a href="lib/DateAdd.htm">DateAdd</a>-Funktion kann eine bestimmte Anzahl von Tagen, Stunden, Minuten oder Sekunden im <a href="lib/FileSetTime.htm#YYYYMMDD">YYYYMMDDHH24MISS</a>-Format addieren oder subtrahieren. Das folgende Beispiel subtrahiert 7 Tage von einer bestimmten Zeit:</p>
<pre>Ergebnis := DateAdd(VariableMitZeitstempel, -7, "days")</pre>
<pre>Ergebnis := DateAdd(VarMitZeitstempel, -7, "days")</pre>
<p>Um die Zeitmenge zwischen zwei Datums- oder Zeitwerten zu ermitteln, sehen Sie sich das Beispiel in <a href="lib/DateDiff.htm">DateDiff</a> an. Die interne Variable <a href="Variables.htm#Now">A_Now</a> enthält die aktuelle Ortszeit. Des Weiteren gibt es mehrere interne <a href="Variables.htm#date">Datum/Zeit-Variablen</a>, sowie die <a href="lib/FormatTime.htm">FormatTime</a>-Funktion, um eine benutzerdefinierte Datum/Zeit-Zeichenkette zu erzeugen.</p>
<h3 id="SendDate">Wie kann ich das aktuelle Datum und/oder die aktuelle Uhrzeit senden?</h3>
<p>Mit <a href="lib/FormatTime.htm">FormatTime</a> oder <a href="Variables.htm#date">internen Datum/Zeit-Variablen</a>.</p>
Expand Down
12 changes: 10 additions & 2 deletions target/docs/Functions.htm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ <h2 id="toc">Inhaltsverzeichnis</h2>
<ul>
<li><a href="#intro">Einführung und einfache Beispiele</a></li>
<li><a href="#param">Parameter</a></li>
<li><a href="#ByRef">ByRef-Parameter</a></li>
<li><a href="#optional">Optionale Parameter</a>
<ul>
<li><a href="#unset">Ungesetzte Parameter</a></li>
Expand Down Expand Up @@ -67,7 +68,13 @@ <h2 id="intro">Einführung und einfache Beispiele</h2>

<h2 id="param">Parameter</h2>
<p>Beim Definieren einer Funktion werden ihre Parameter in runden Klammern rechts neben ihrem Namen aufgelistet (zwischen dem Namen und der runden Startklammer sind keine Leerzeichen erlaubt). Wenn die Funktion keine Parameter akzeptiert, kann der Inhalt zwischen den runden Klammern leer gelassen werden, z.B. <code>ErmittleAktuellenZeitstempel()</code>.</p>
<p id="ByRef"><strong>ByRef-Parameter:</strong> Innerhalb der Funktion werden Parameter grundsätzlich als <a href="#Local">lokale Variablen</a> behandelt, es sei denn, sie werden wie im folgenden Beispiel als <em>ByRef</em> markiert:</p>
<p>Bekannte Einschränkung:</p>
<ul>
<li>Wenn ein Parameter in einem Funktionsaufruf eine Variable enthält (z.B. <code>Var</code> oder <code>++Var</code> oder <code>Var*=2</code>), können andere Parameter links oder rechts davon diese Variable ändern, bevor sie an die Funktion übergeben wird. Zum Beispiel würde <code>MeineFunk(Var, Var++)</code> unerwartet 1 und 0 als Parameter übergeben, wenn <em>Var</em> zu Beginn 0 ist, da das erste <em>Var</em> erst bei Ausführung des Funktionsaufrufs dereferenziert wird. Dieses Verhalten ist nicht intuitiv und könnte sich in einer zukünftigen Version ändern.</li>
</ul>

<h2 id="ByRef">ByRef-Parameter</h2>
<p>Innerhalb der Funktion werden Parameter grundsätzlich als <a href="#Local">lokale Variablen</a> behandelt, es sei denn, sie werden wie im folgenden Beispiel als <em>ByRef</em> markiert:</p>
<pre>a := 1, b := 2
Tauschen(&amp;a, &amp;b)
MsgBox a ',' b
Expand All @@ -91,8 +98,9 @@ <h2 id="param">Parameter</h2>
<p>Bekannte Einschränkungen:</p>
<ul>
<li>Es ist nicht möglich, eine VarRef für eine Objekteigenschaft (z.B. <code>foo.bar</code>), <a href="lib/A_Clipboard.htm">A_Clipboard</a> oder eine andere <a href="Variables.htm#BuiltIn">interne Variable</a> zu konstruieren, sodass diese nicht via <em>ByRef</em> übergeben werden können.</li>
<li>Wenn ein Parameter in einem Funktionsaufruf eine Variable enthält (z.B. <code>Var</code> oder <code>++Var</code> oder <code>Var*=2</code>), können andere Parameter links oder rechts davon diese Variable ändern, bevor sie an die Funktion übergeben wird. Zum Beispiel würde <code>MeineFunk(Var, Var++)</code> unerwartet 1 und 0 als Parameter übergeben, wenn <em>Var</em> zu Beginn 0 ist, da das erste <em>Var</em> erst bei Ausführung des Funktionsaufrufs dereferenziert wird. Dieses Verhalten ist nicht intuitiv und könnte sich in einer zukünftigen Version ändern.</li>
<li id="NoIsByRef">Wenn der Parameter optional ist, kann nicht festgestellt werden, ob die vom Parameter referenzierte Variable eine neu erstellte lokale Variable oder eine vom Aufrufer übergebene Variable ist. Eine Alternative besteht darin, einen Nicht-ByRef-Parameter zu verwenden, ihm aber eine <a href="Concepts.htm#variable-references">VarRef</a> zu übergeben und ihn von der Funktion <a href="Variables.htm#deref">explizit dereferenzieren</a> zu lassen oder ihn an den ByRef-Parameter einer anderen Funktion zu übergeben (ohne den <code>&amp;</code>-Operator zu verwenden).</li>
</ul>

<h2 id="optional">Optionale Parameter</h2>
<p>Beim Definieren einer Funktion können beliebig viele Parameter als optional gekennzeichnet werden.</p>
<p>Fügen Sie <code>:=</code> an, gefolgt von einer direkt geschriebenen Zahl, einer in Anführungszeichen gesetzten Zeichenkette wie "fox" oder "", oder einem Ausdruck, der jedes Mal ausgewertet werden soll, wenn der Parameter mit seinem Standardwert initialisiert werden muss. Zum Beispiel würde <code>X:=[]</code> jedes Mal ein neues Array erzeugen.</p>
Expand Down
2 changes: 1 addition & 1 deletion target/docs/KeyList.htm
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ <h3 id="multimedia">Multimediatasten</h3>
</tr>
<tr>
<td>Launch_App1</td>
<td>Arbeitsplatz/Computer öffnen</td>
<td>Dieser PC (ehemals Arbeitsplatz oder Computer) öffnen</td>
</tr>
<tr>
<td>Launch_App2</td>
Expand Down
2 changes: 1 addition & 1 deletion target/docs/Variables.htm
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ <h3 id="operators">Ausdrucksoperatoren (absteigende Priorität)</h3>
<td class="center bold">IS<br>IN<br>CONTAINS</td>
<td id="is">
<p><code><i>Wert</i> <strong>is</strong> <i>Klasse</i></code> ist True (1), wenn <em>Wert</em> eine Instanz von <em>Klasse</em> ist, andernfalls False (0). <em>Klasse</em> muss eine Instanz der <a href="lib/Object.htm">Object</a>-Klasse mit einer eigenen <a href="lib/Class.htm#Prototype">Prototype</a>-Eigenschaft sein, aber in der Regel wird die Eigenschaft implizit via Klassendefinition definiert. Diese Operation ist grundsätzlich äquivalent zu <code>HasBase(<i>Wert</i>, <i>Klasse</i>.Prototype)</code>.</p>
<p><code id="in"><strong>in</strong></code> und <code id="contains"><strong>contains</strong></code> sind für die zukünftige Verwendung reserviert.</p>
<p><code id="in"><strong>in</strong></code> und <code id="contains"><strong>contains</strong></code> sind für zukünftige Zwecke reserviert.</p>
</td>
</tr>
<tr id="not">
Expand Down
2 changes: 1 addition & 1 deletion target/docs/index.htm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<body>

<a id="ahklogo" href="https://www.autohotkey.com" target="_blank"><img src="static/ahk_logo.svg" onerror="this.src='static/ahk_logo.png'; this.onerror=null;" alt="AutoHotkey"></a>
<h1>Version <a href="ChangeLog.htm"><!--ver-->2.0.9<!--/ver--></a></h1>
<h1>Version <a href="ChangeLog.htm"><!--ver-->2.0.10<!--/ver--></a></h1>
<p>Eine deutsche &Uuml;bersetzung von <a href="https://www.autohotkey.com/docs/v2/">https://www.autohotkey.com/docs/v2/</a> (siehe <a href="https://autohotkey.com/boards/viewtopic.php?f=9&amp;t=43">hier</a> f&uuml;r mehr Details).</p>
<p>© 2014 Steve Gray, Chris Mallett, zum Teil © <a href="https://www.autoitscript.com/">AutoIt-Team</a> und andere</p>
<p style="font-size:85%">Software-Lizenz: <a href="license.htm">GNU General Public License</a></p>
Expand Down
22 changes: 11 additions & 11 deletions target/docs/lib/Class.htm
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ <h1>Class-Objekt</h1>
<pre class="NoIndent">class Class extends Object</pre>

<p>Ein <strong>Class</strong>-Objekt repräsentiert eine Klassendefinition; es enthält statische Methoden und Eigenschaften.</p>
<p>Jedes Klassenobjekt <a href="../Objects.htm#Custom_Objects">basiert auf</a> dem, was auch immer es erweitert, oder auf <a href="Object.htm">Object</a>, wenn es nicht angegeben ist. Das globale Klassenobjekt <code>Object</code> basiert auf <code>Class.Prototype</code>, das wiederum auf <code>Object.Prototype</code> basiert, so dass Klassen beliebige Methoden und Eigenschaften von jedem dieser Basisobjekte erben können.</p>
<p>"Statische" Methoden und Eigenschaften sind alle Methoden und Eigenschaften, die dem Class-Objekt selbst gehören (und daher nicht für eine bestimmte Instanz gelten), während Methoden und Eigenschaften für Instanzen der Klasse dem <a href="#Prototype">Prototyp</a> der Klasse gehören.</p>
<p>"ClassObj" wird hier stellvertretend für ein beliebiges Class-Objekt verwendet, da "Class" die Klasse selbst ist. Normalerweise verweist man auf ein Class-Objekt via Name, der in dessen <a href="../Objects.htm#Custom_Classes">Klassendefinition</a> angegeben ist.</p>
<p>Jedes Klassenobjekt <a href="../Objects.htm#Custom_Objects">basiert auf</a> der Klasse, die es erweitert, oder auf <a href="Object.htm">Object</a>, falls nicht angegeben. Das globale Klassenobjekt <code>Object</code> basiert auf <code>Class.Prototype</code>, das wiederum auf <code>Object.Prototype</code> basiert, so dass Klassen Methoden und Eigenschaften von jedem dieser Basisobjekte erben können.</p>
<p>"Statische" Methoden und Eigenschaften sind alle Methoden und Eigenschaften, die dem Klassenobjekt selbst gehören (und daher nicht für eine bestimmte Instanz gelten), während Methoden und Eigenschaften für Instanzen der Klasse dem <a href="#Prototype">Prototyp</a> der Klasse gehören.</p>
<p>"ClassObj" wird hier stellvertretend für ein beliebiges Klassenobjekt verwendet, da "Class" die Klasse selbst ist. Normalerweise wird auf ein Klassenobjekt via Name verwiesen, der in dessen <a href="../Objects.htm#Custom_Classes">Klassendefinition</a> angegeben ist.</p>

<h2 id="toc">Inhaltsverzeichnis</h2>
<ul class="indent">
Expand All @@ -40,16 +40,16 @@ <h2 id="Methods">Methoden</h2>
<p>Konstruiert eine neue Instanz der Klasse.</p>
<pre class="Syntax">Obj := ClassObj(Params*)
Obj := ClassObj.<span class="func">Call</span>(Params*)</pre>
<p>Diese statische Methode wird typischerweise von der <a href="Object.htm">Object</a>-, <a href="Array.htm">Array</a>- oder <a href="Map.htm">Map</a>-Klasse geerbt. Es führt die folgenden Funktionen aus:</p>
<p>Diese statische Methode wird typischerweise von der <a href="Object.htm">Object</a>-, <a href="Array.htm">Array</a>- oder <a href="Map.htm">Map</a>-Klasse geerbt. Sie führt die folgenden Funktionen aus:</p>
<ul>
<li>Speicher zuweisen und die binäre Struktur des Objekts initialisieren, was vom nativen Typ des Objekts abhängt (z.B. ob es ein Array oder Map-Objekt ist, oder nur ein Objekt).</li>
<li>Speicher reservieren und die binäre Struktur des Objekts initialisieren, was vom nativen Typ des Objekts abhängt (z.B. ob es ein Array oder Map ist, oder ob es nur ein Object ist).</li>
<li>Die Basis des neuen Objekts auf <a href="#Prototype">ClassObj.Prototype</a> setzen.</li>
<li>Die __Init-Methode des neuen Objekts aufrufen, falls sie eine hat. Diese Methode wird automatisch via Klassendefinitionen erzeugt; sie enthält alle im Klassenkörper definierten Instanzvariableninitialisierer.</li>
<li>Die __Init-Methode des neuen Objekts aufrufen, falls sie eine hat. Alle Parameter, die an Call übergeben werden, werden an __New weitergeleitet.</li>
<li>Die __New-Methode des neuen Objekts aufrufen, falls sie eine hat. Alle an Call übergebenen Parameter werden an __New weitergeleitet.</li>
<li>Das neue Objekt zurückgeben.</li>
</ul>
<p>Call kann innerhalb einer Klassendefinition überschrieben werden, indem eine statische Methode definiert wird, wie z.B. <code>static Call()</code>. Dadurch können Klassen die Konstruktion neuer Instanzen ändern oder verhindern.</p>
<p>Beachten Sie, dass <code>Class()</code> (in diesem Fall tatsächlich "Class") verwendet werden kann, um ein neues Class-Objekt basierend auf <code>Class.Prototype</code> zu erstellen. Dieses neue Objekt hat jedoch zunächst keine Call-Methode, da es keine Unterklasse von <a href="Object.htm">Object</a> ist. Um es zu einer Unterklasse von Object zu machen, weisen Sie es dessen <a href="Object.htm#Base">Base</a> zu, oder reimplementieren Sie die Call-Methode oder kopieren Sie sie von einer anderen Klasse. Ein <a href="#Prototype">Prototyp</a> muss ebenfalls erstellt und der Klasse zugewiesen werden, bevor es mit der Standard-Call-Methode instanziiert werden kann.</p>
<p>Call kann innerhalb einer Klassendefinition durch Definieren einer statischen Methode überschrieben werden, z.B. <code>static Call()</code>. Auf diese Weise können Klassen die Konstruktion neuer Instanzen ändern oder verhindern.</p>
<p>Beachten Sie, dass <code>Class()</code> (in diesem Fall tatsächlich "Class") verwendet werden kann, um ein neues Class-Objekt basierend auf <code>Class.Prototype</code> zu konstruieren. Dieses neue Objekt hat jedoch zunächst keine Call-Methode, da es keine Unterklasse von <a href="Object.htm">Object</a> ist. Es kann zu einer Unterklasse von Object durch Zuweisung an <a href="Object.htm#Base">Base</a> gemacht werden, oder die Call-Methode kann reimplementiert oder aus einer anderen Klasse kopiert werden. Außerdem muss ein <a href="#Prototype">Prototyp</a> erstellt und der Klasse zugewiesen werden, bevor sie mit der Standard-Call-Methode instanziiert werden kann.</p>
</div>

<h2 id="Properties">Eigenschaften</h2>
Expand All @@ -58,9 +58,9 @@ <h2 id="Properties">Eigenschaften</h2>
<p>Ermittelt oder setzt das Objekt, auf dem alle Instanzen der Klasse basieren.</p>
<pre class="Syntax">Proto := ClassObj.<span class="func">Prototype</span></pre>
<pre class="Syntax">ClassObj.<span class="func">Prototype</span> := Proto</pre>
<p>Der Prototyp der Klasse enthält standardmäßig alle Instanzmethoden und dynamischen Eigenschaften, die in der Klassendefinition definiert sind, und kann verwendet werden, um Referenzen zu Methoden oder Eigenschaft-Getters/Setters abzurufen oder neue zu definieren. Das Skript kann zudem neue Werteigenschaften definieren, die als Standardeigenschaftswerte für alle Instanzen fungieren.</p>
<p>Der Protoyp einer Klasse basiert normalerweise auf dem Prototyp ihrer Basisklasse, also gilt <code>ClassObj.Prototype.base == ClassObj.base.Prototype</code>.</p>
<p>Prototype wird automatisch als eine eigene Eigenschaft eines Class-Objekts, das via Klassendefinition erzeugt wurde, definiert.</p>
<p>Der Prototyp der Klasse enthält standardmäßig alle Instanzmethoden und dynamischen Eigenschaften, die in der Klassendefinition definiert sind, und kann verwendet werden, um Referenzen zu Methoden oder Getters/Setters von Eigenschaften abzurufen oder neue zu definieren. Das Skript kann zudem neue Werteigenschaften definieren, die als Standardeigenschaftswerte für alle Instanzen dienen.</p>
<p>Der Prototyp einer Klasse basiert normalerweise auf dem Prototyp ihrer Basisklasse, folglich ist <code>ClassObj.Prototype.base == ClassObj.base.Prototype</code>.</p>
<p>Prototype wird automatisch als eigene Eigenschaft eines Klassenobjekts, das via Klassendefinition erzeugt wurde, definiert.</p>
</div>

</body>
Expand Down
Loading

0 comments on commit 24e686a

Please sign in to comment.