kate_advanced - en to de translation catalogue (746 entries)

note: Tag: title +> trunk5 stable5
en: Extending &katepart;
de: &katepart; erweitern

note: Tag: title +> trunk5 stable5
en: Introduction
de: Einführung

note: Tag: para +> trunk5 stable5
en: Like any advanced text editor component, &katepart; offers a variety of ways to extend its functionality. You can <link linkend="dev-scripting">write simple scripts to add functionality with &javascript;</link>. Finally, once you have extended &katepart;, you are welcome to <ulink url="https://kate-editor.org/join-us/">join us</ulink> and share your enhancements with the world!
de: Wie jeder gute Texteditor bietet auch &katepart; verschiedene Möglichkeiten für  Erweiterungen. Sie können Skripte in <link linkend="dev-scripting">&javascript;</link> schreiben, um Funktionen zu erweitern. Wenn Sie dann &katepart; erweitert haben, <ulink url="https://kate-editor.org/join-us/">laden wir Sie ein</ulink>, Ihre Verbesserungen mit der ganzen Welt zu teilen.

note: Tag: title +> trunk5 stable5
en: Working with Syntax Highlighting
de: Arbeiten mit Syntaxhervorhebungen

note: Tag: title +> trunk5 stable5
en: Overview
de: Überblick

note: Tag: para +> trunk5 stable5
en: Syntax Highlighting is what makes the editor automatically display text in different styles/colors, depending on the function of the string in relation to the purpose of the file. In program source code for example, control statements may be rendered bold, while data types and comments get different colors from the rest of the text. This greatly enhances the readability of the text, and thus helps the author to be more efficient and productive.
de: Syntaxhervorhebungen bewirken, dass der Editor den Text automatisch in verschiedenen Farben und Schriftstilen anzeigt, abhängig von der Funktion der Zeichenfolge in Beziehung zum Zweck des Dokuments. Zum Beispiel können in Quelltext Kontrollbefehle fett dargestellt werden, während Daten und Kommentare andere Farben als der Rest des Textes bekommen. Dies verbessert die Lesbarkeit des Textes erheblich und verhilft damit dem Autor zu mehr Effizienz und Produktivität.

note: Tag: phrase +> trunk5 stable5
en: <phrase>A C++ function, rendered with syntax highlighting.</phrase>
de: <phrase>Eine C++-Funktion, mit Hervorhebungen angezeigt.</phrase>

note: Tag: para +> trunk5 stable5
en: <para>A C++ function, rendered with syntax highlighting.</para>
de: <para>Eine C++-Funktion, mit Hervorhebungen angezeigt.</para>

note: Tag: phrase +> trunk5 stable5
en: <phrase>The same C++ function, without highlighting.</phrase>
de: <phrase>Dieselbe C++-Funktion, ohne Hervorhebungen.</phrase>

note: Tag: para +> trunk5 stable5
en: <para>The same C++ function, without highlighting.</para>
de: <para>Dieselbe C++-Funktion, ohne Hervorhebungen.</para>

note: Tag: para +> trunk5 stable5
en: Of the two examples, which is easiest to read?
de: Welche der beiden ist einfacher zu lesen?

note: Tag: para +> trunk5 stable5
en: &kappname; comes with a flexible, configurable and capable system for doing syntax highlighting, and the standard distribution provides definitions for a wide range of programming, scripting and markup languages and other text file formats. In addition you can provide your own definitions in simple &XML; files.
de: &kappname; enthält ein flexibles, konfigurierbares und leistungsfähiges System für Syntaxhervorhebungen, und die Standarddistribution enthält bereits Definitionen für eine Anzahl von Programmiersprachen, Markup- und Skriptsprachen sowie andere Textformaten. Außerdem können Sie eigene Definitionen in einfachen &XML;-Dateien erstellen.

note: Tag: para +> trunk5 stable5
en: &kappname; will automatically detect the right syntax rules when you open a file, based on the &MIME; Type of the file, determined by its extension, or, if it has none, the contents. Should you experience a bad choice, you can manually set the syntax to use from the <menuchoice><guimenu>Tools</guimenu><guisubmenu>Highlighting </guisubmenu></menuchoice> menu.
de: &kappname; erkennt auf Basis des &MIME;-Typs, der Dateiendung oder des Inhalts des Dokuments bereits beim Öffnen des Dokuments automatisch die richtigen Regeln für die Syntaxhervorhebungen. Wenn die automatische Auswahl nicht die richtigen Regeln ausgewählt hat, können Sie dies manuell korrigieren (<menuchoice><guimenu>Extras</guimenu> <guisubmenu>Hervorhebung</guisubmenu></menuchoice>).

note: Tag: para +> trunk5 stable5
en: The styles and colors used by each syntax highlight definition can be configured using the <link linkend="prefcolors-highlighting-text-styles">Highlighting Text Styles</link> tab of the <link linkend="config-dialog">Config Dialog</link>, while the &MIME; Types and file extensions it should be used for are handled by the <link linkend="pref-open-save-modes-filetypes">Modes &amp; Filetypes</link> tab.
de: Die Schriftstile und Farben, die von jeder Syntaxhervorhebungsdefinition benutzt werden, können auf der Seite <link linkend="prefcolors-highlighting-text-styles">Hervorhebungs-Schriftarten</link> des <link linkend="config-dialog">Einrichtungsdialogs</link> festgelegt werden, die Einrichtung der &MIME;-Typen und Dateierweiterung, auf die diese angewendet werden, ist auf der Seite <link linkend="pref-open-save-modes-filetypes">Dateitypen</link> möglich.

note: Tag: para +> trunk5 stable5
en: Syntax highlighting is there to enhance the readability of correct text, but you cannot trust it to validate your text. Marking text for syntax is difficult depending on the format you are using, and in some cases the authors of the syntax rules will be proud if 98% of text gets correctly rendered, though most often you need a rare style to see the incorrect 2%.
de: Syntaxhervorhebungen sind dazu gedacht die Lesbarkeit von Text zu verbessern, aber nicht dazu geeignet die Richtigkeit des Quelltextes zu überprüfen. Die Erstellung der Regeln für die Hervorhebungen ist kompliziert, abhängig davon, welches Format Sie benutzen. In manchen Fällen sind die Autoren der Regeln stolz, wenn 98&nbsp;% des Textes korrekt hervorgehoben werden, meistens jedoch sehen Sie die nicht korrekten 2&nbsp;% nur bei seltenen Konstruktionen.

note: Tag: title +> trunk5 stable5
en: The &kappname; Syntax Highlight System
de: Das &kappname; Syntaxhervorhebungssystem

note: Tag: para +> trunk5 stable5
en: This section will discuss the &kappname; syntax highlighting mechanism in more detail. It is for you if you want to know about it, or if you want to change or create syntax definitions.
de: Dieser Abschnitt behandelt die Mechanismen des &kappname; Syntax-Hervorhebungssystems genauer. Wenn Sie selbst Definitionen erstellen oder verändern möchten, sollten Sie diesen genau lesen.

note: Tag: title +> trunk5 stable5
en: How it Works
de: Wie es funktioniert

note: Tag: para +> trunk5 stable5
en: Whenever you open a file, one of the first things the &kappname; editor does is detect which syntax definition to use for the file. While reading the text of the file, and while you type away in it, the syntax highlighting system will analyze the text using the rules defined by the syntax definition and mark in it where different contexts and styles begin and end.
de: Immer, wenn Sie ein Dokument öffnen, ist eines der ersten Dinge, die &kappname; macht, festzustellen, welche Syntaxdefinition für dieses Dokument benutzt werden soll. Während Sie den Text lesen und neuen Text eingeben, analysiert das Syntaxhervorhebungssystem den Text anhand der Regeln in der Syntaxdefinition und markiert ihn dementsprechend.

note: Tag: para +> trunk5 stable5
en: When you type in the document, the new text is analyzed and marked on the fly, so that if you delete a character that is marked as the beginning or end of a context, the style of surrounding text changes accordingly.
de: Wenn Sie Text eingeben, wird der neue Text sofort analysiert und markiert.

note: Tag: para +> trunk5 stable5
en: The syntax definitions used by the &kappname; Syntax Highlighting System are &XML; files, containing
de: Die Syntaxdefinitionen, die in &XML; benutzt werden, sind &XML;-Dateien, die Folgendes enthalten

note: Tag: para +> trunk5 stable5
en: Rules for detecting the role of text, organized into context blocks
de: Regeln für das Erkennen von Text, organisiert in Kontextblöcken

note: Tag: para +> trunk5 stable5
en: Keyword lists
de: Listen mit Schlüsselworten

note: Tag: para +> trunk5 stable5
en: Style Item definitions
de: Stildefinitionen

note: Tag: para +> trunk5 stable5
en: When analyzing the text, the detection rules are evaluated in the order in which they are defined, and if the beginning of the current string matches a rule, the related context is used. The start point in the text is moved to the final point at which that rule matched and a new loop of the rules begins, starting in the context set by the matched rule.
de: Beim Analysieren von Text werden die Erkennungsregeln in der Reihenfolge, in der sie definiert wurden, überprüft und wenn der Anfang des aktuellen Textes mit einer Definition übereinstimmt, wird der zugehörige Kontext benutzt. Der nächste Startpunkt wird nach dem Ende des erkannten Bereichs gesetzt und von dort aus wird eine neue Schleife für die Regeln mit dem Kontext der gerade gefundenen Regel gestartet.

note: Tag: title +> trunk5 stable5
en: Rules
de: Regeln

note: Tag: para +> trunk5 stable5
en: The detection rules are the heart of the highlighting detection system. A rule is a string, character or <link linkend="regular-expressions">regular expression</link> against which to match the text being analyzed. It contains information about which style to use for the matching part of the text. It may switch the working context of the system either to an explicitly mentioned context or to the previous context used by the text.
de: Die Erkennungsregeln sind das Herzstück des Syntaxhervorhebungssystems. Eine Regel besteht aus einer Zeichenfolge, einem Zeichen oder einem <link linkend="regular-expressions">regulären Ausdruck</link>. Mit diesen wird der zu analysierende Text verglichen. Sie enthalten Informationen, welche Darstellung für das erkannte Stück Text verwendet werden soll und ob entweder zu einem explizit angegebenem Kontext oder zum vorher vom Text benutzten Kontext gewechselt werden soll.

note: Tag: para +> trunk5 stable5
en: Rules are organized in context groups. A context group is used for main text concepts within the format, for example quoted text strings or comment blocks in program source code. This ensures that the highlighting system does not need to loop through all rules when it is not necessary, and that some character sequences in the text can be treated differently depending on the current context.
de: Die Regeln sind in Kontextgruppen organisiert. Eine Kontextgruppe wird für die grundlegenden Textkonzepte innerhalb des Formates benutzt, &eg; für Textteile in Anführungszeichen oder Kommentarblöcke in Programmquelltext. Dadurch wird sichergestellt, dass sich das Syntaxhervorhebungssystem nicht unnötig durch alle Regeln hindurch arbeiten muss und dass einige Zeichenfolgen im Text abhängig vom aktuellen Kontext unterschiedlich behandelt werden können.

note: Tag: para +> trunk5 stable5
en: Contexts may be generated dynamically to allow the usage of instance specific data in rules.
de: Kontexte können dynamisch generiert werden, um das Benutzen von Daten in Regeln zu erlauben, die nur auf diese Instanz zutreffen.

note: Tag: title +> trunk5 stable5
en: Context Styles and Keywords
de: Kontextstile und Schlüsselwörter

note: Tag: para +> trunk5 stable5
en: In some programming languages, integer numbers are treated differently from floating point ones by the compiler (the program that converts the source code to a binary executable), and there may be characters having a special meaning within a quoted string. In such cases, it makes sense to render them differently from the surroundings so that they are easy to identify while reading the text. So even if they do not represent special contexts, they may be seen as such by the syntax highlighting system, so that they can be marked for different rendering.
de: In einigen Programmiersprachen werden Ganze Zahlen durch den Compiler (das Programm, das den Quelltext in ein ausführbares Programm übersetzt) anders behandelt als Gleitkommazahlen, und es gibt Zeichen, die eine spezielle Bedeutung innerhalb einer in Anführungszeichen eingeschlossenen Zeichenfolge haben. In solchen Fällen ist es sinnvoll, diese unterschiedlich darzustellen, sodass sie beim Lesen einfach vom umgebenden Text zu unterscheiden sind. Auch wenn diese keine speziellen Kontexte repräsentieren, können sie durch das Syntaxhervorhebungssystem erkannt und anders dargestellt werden.

note: Tag: para +> trunk5 stable5
en: A syntax definition may contain as many styles as required to cover the concepts of the format it is used for.
de: Eine Syntaxdefinition kann so viele verschiedene Stile beinhalten, wie für das Format notwendig sind.

note: Tag: para +> trunk5 stable5
en: In many formats, there are lists of words that represent a specific concept. For example, in programming languages, control statements are one concept, data type names another, and built in functions of the language a third. The &kappname; Syntax Highlighting System can use such lists to detect and mark words in the text to emphasize concepts of the text formats.
de: In vielen Formaten gibt es Listen mit Wörtern, die einem speziellen Konzept zugehörig sind. In Programmiersprachen sind &eg; die Kontrollanweisungen ein Konzept, die Datentypen ein anderes und die eingebauten Funktionen ein drittes. Das Syntaxhervorhebungssystem von &kappname; kann benutzt werden, um solche Wörter anhand der Listen zu finden und zur Hervorhebung der Konzepte im Text zu markieren.

note: Tag: title +> trunk5 stable5
en: Default Styles
de: Standardstile

note: Tag: para +> trunk5 stable5
en: If you open a C++ source file, a &Java; source file and an &HTML; document in &kappname;, you will see that even though the formats are different, and thus different words are chosen for special treatment, the colors used are the same. This is because &kappname; has a predefined list of Default Styles which are employed by the individual syntax definitions.
de: Wenn Sie eine C++-Quelltextdatei, eine &Java;-Quelltextdatei und eine &HTML;-Datei in &kappname; öffnen, sehen Sie dass auch in unterschiedlichen Formaten und damit unterschiedlichen Worten, die spezielle Behandlung bekommen, die benutzten Farben dieselben sind. Der Grund dafür ist, dass &kappname; vordefinierte Standardstile benutzt, die von den individuellen Syntaxdefinitionen verwendet werden.

note: Tag: para +> trunk5 stable5
en: This makes it easy to recognize similar concepts in different text formats. For example, comments are present in almost any programming, scripting or markup language, and when they are rendered using the same style in all languages, you do not have to stop and think to identify them within the text.
de: Dadurch wird die Erkennung von ähnlichen Konzepten in verschiedenen Textformaten einfach. Kommentare &eg; gibt es in fast allen Programmiersprachen, Skripten und Markup-Sprachen; diese werden in allen Sprachen gleich dargestellt, sodass Sie sich auf die Arbeit konzentrieren können und nicht über den Zweck einzelner Einträge nachdenken müssen.

note: Tag: para +> trunk5 stable5
en: All styles in a syntax definition use one of the default styles. A few syntax definitions use more styles than there are defaults, so if you use a format often, it may be worth launching the configuration dialog to see if some concepts use the same style. For example, there is only one default style for strings, but as the Perl programming language operates with two types of strings, you can enhance the highlighting by configuring those to be slightly different. All <link linkend="kate-highlight-default-styles">available default styles</link> will be explained later.
de: Alle Stile in einer Syntaxdefinition nutzen einen der Standardstile. Einige wenige Syntaxdefinitionen nutzen mehr Stile als Standardstile vorhanden sind. Wenn Sie ein Format sehr oft benutzen, kann es die Arbeit wert sein, den Einrichtungsdialog zu starten und nachzusehen, ob mehrere Konzepte dieselben Stile benutzen. In der Programmiersprache Perl &eg; gibt es zwei Typen von Zeichenfolgen, sodass Sie die Hervorhebung durch eine etwas andere Darstellung des zweiten Typs verbessern können. Alle <link linkend="kate-highlight-default-styles">verfügbaren Standardstile</link>, werden weiter unten erklärt.

note: Tag: title +> trunk5 stable5
en: The Highlight Definition &XML; Format
de: Die Hervorhebungsdefinition für das &XML; Format

note: Tag: para +> trunk5 stable5
en: &kappname; uses the Syntax-Highlighting framework from &kde-frameworks;. The default highlighting &XML; files shipped with &kappname; are compiled into the Syntax-Highlighting library by default.
de: &kappname; verwendet die Syntaxhervorhebungs-Bibliothek von &kde-frameworks;. Die in &kappname; enthaltenen Standard-&XML;-Hervorhebungsdateien werden in die Syntaxhervorhebungs-Bibliothek einkompiliert.

note: Tag: para +> trunk5 stable5
en: This section is an overview of the Highlight Definition &XML; format. Based on a small example it will describe the main components and their meaning and usage. The next section will go into detail with the highlight detection rules.
de: Dieser Abschnitt ist ein Überblick über die Hervorhebungsdefinition für das &XML;-Format.. Es beschreibt die Hauptbestandteile, deren Bedeutung und Verwendung. Im nächsten Kapitel werden die Erkennungsregeln detailliert beschrieben.

note: Tag: para +> trunk5 stable5
en: The formal definition, also known as the <acronym>XSD</acronym> you find in <ulink url="https://commits.kde.org/syntax-highlighting?path=data/schema">Syntax Highlighting repository</ulink> in the file <filename>language.xsd</filename>
de: Die formale Definition <acronym>XSD</acronym> finden Sie im <ulink url="https://commits.kde.org/syntax-highlighting?path=data/schema">Syntax-Highlighting-Repository</ulink> in der Datei <filename>language.xsd</filename>.

note: Tag: para +> trunk5 stable5
en: Custom <filename class="extension">.xml</filename> highlight definition files are located in <filename class="directory">org.kde.syntax-highlighting/syntax/</filename> in your user folder found with <userinput><command>qtpaths</command><option> --paths GenericDataLocation</option></userinput> which usually are <filename class="directory"><envar>$HOME</envar>/.local/share/</filename> and <filename class="directory">/usr/share/</filename>.
de: Eigene <filename class="extension">.xml</filename>-Dateien mit Definitionen zur Syntaxhervorhebung sind im Ordner <filename class="directory">org.kde.syntax-highlighting/syntax/</filename> in Ihrem persönlichen Ordner. Den Pfad zu diesem Ordner finden Sie mit <userinput><command>qtpaths</command><option>--paths GenericDataLocation</option></userinput>. Normalerweise sind dies <filename class="directory"><envar>$HOME</envar>/.local/share/</filename> und <filename class="directory">/usr/share/</filename>.

note: Tag: para +> trunk5 stable5
en: In Flatpak and Snap packages, the above directory will not work as the data location is different for each application. In a Flatpak application, the location of custom &XML; files is usually <filename class="directory"><envar>$HOME</envar>/.var/app/<replaceable>flatpak-package-name</replaceable>/data/org.kde.syntax-highlighting/syntax/</filename> and in a Snap application that location is <filename class="directory"><envar>$HOME</envar>/snap/<replaceable>snap-package-name</replaceable>/current/.local/share/org.kde.syntax-highlighting/syntax/</filename>.
de: Bei Flatpak- und Snap-Paketen funktioniert der obige Ordner nicht, da der Speicherort der Daten für jede Anwendung unterschiedlich ist. In einer Flatpak-Anwendung ist der Speicherort der benutzerdefinierten &XML;-Dateien normalerweise <filename class="directory"><envar>$HOME</envar>/.var/app/<replaceable>flatpak-package-name</replaceable>/data/org.kde.syntax-highlighting/syntax/</filename> und in einer Snap-Anwendung ist dieser Ort <filename class="directory"><envar>$HOME</envar>/snap/<replaceable>snap-package-name</replaceable>/current/.local/share/org.kde.syntax-highlighting/syntax/</filename>.

note: Tag: para +> trunk5 stable5
en: On &Windows; these files are located <filename>%USERPROFILE%&#92;AppData&#92;Local&#92;org.kde.syntax-highlighting&#92;syntax</filename>. <replaceable>%USERPROFILE%</replaceable> usually expands to <filename>C:&#92;Users&#92;<replaceable>user</replaceable></filename>.
de: Auf &Windows;-Systemen finden Sie diese Dateien unter <filename>%USERPROFILE%&#92;AppData&#92;Local&#92;org.kde.syntax-highlighting&#92;syntax</filename>. Dabei ist <replaceable>%USERPROFILE%</replaceable> normalerweise <filename>C:&#92;Users&#92;<replaceable>user</replaceable></filename>.

note: Tag: para +> trunk5 stable5
en: In summary, for most configurations the directory of custom &XML; files is as follows:
de: Zusammenfassend lässt sich sagen, dass bei den meisten Einrichtungen der Ordner der benutzerdefinierten &XML;-Dateien wie folgt aussieht

note: Tag: entry +> trunk5 stable5
en: For local user
de: Für lokale Benutzer

note: Tag: entry +> trunk5 stable5
en: For all users
de: Für alle Benutzer

note: Tag: entry +> trunk5 stable5
en: For Flatpak packages
de: Für Flatpak-Pakete

note: Tag: entry +> trunk5 stable5
en: For Snap packages
de: Für Snap-Pakete

note: Tag: entry +> trunk5 stable5
en: On &Windows;
de: Unter &Windows;

note: Tag: para +> trunk5 stable5
en: If multiple files exist for the same language, the file with the highest <userinput>version</userinput> attribute in the <userinput>language</userinput> element will be loaded.
de: Wenn mehrere Dateien für dieselbe Sprache existieren, wird die Datei mit der höchsten <userinput>version</userinput>-Attribut im <userinput>language</userinput>-Element geladen.

note: Tag: title +> trunk5 stable5
en: Main sections of &kappname; Highlight Definition files
de: Hauptbestandteile der &kappname;-Hervorhebungsdefinitionen

note: Tag: term +> trunk5 stable5
en: A highlighting file contains a header that sets the &XML; version:
de: Eine Hervorhebungsdefinitionsdatei enthält einen Kopf mit der &XML;-Version:

note: Tag: term +> trunk5 stable5
en: The root of the definition file is the element <userinput>language</userinput>. Available attributes are:
de: Die Wurzel der Definitionsdatei ist das Element <userinput>language</userinput>. Verfügbare Eigenschaften sind:

note: Tag: para +> trunk5 stable5
en: Required attributes:
de: Notwendige Eigenschaften:

note: Tag: para +> trunk5 stable5
en: <userinput>name</userinput> sets the name of the language. It appears in the menus and dialogs afterwards.
de: <userinput>name</userinput> setzt den Namen der Sprache. Dieser erscheint nachher in Menüs und in Dialogen.

note: Tag: para +> trunk5 stable5
en: <userinput>section</userinput> specifies the category.
de: Die Eigenschaft <userinput>section</userinput> definiert die Kategorie.

note: Tag: para +> trunk5 stable5
en: <userinput>extensions</userinput> defines file extensions, such as &quot;*.cpp;*.h&quot;
de: <userinput>extensions</userinput> definiert die Erweiterungen für Dateinamen wie &eg; &quot;*.cpp;*.h&quot;.

note: Tag: para +> trunk5 stable5
en: <userinput>version</userinput> specifies the current revision of the definition file in terms of an integer number. Whenever you change a highlighting definition file, make sure to increase this number.
de: <userinput>version</userinput> gibt die aktuelle Revision der Definitionsdatei als ganze Zahl an. Bei jeder Änderung einer Hervorhebungs-Datei sollte diese Zahl vergrößert werden.

note: Tag: para +> trunk5 stable5
en: <userinput>kateversion</userinput> specifies the latest supported &kappname; version.
de: <userinput>kateversion</userinput> definiert die letzte unterstützte Version von &kappname;.

note: Tag: para +> trunk5 stable5
en: Optional attributes:
de: Optionale Eigenschaften:

note: Tag: para +> trunk5 stable5
en: <userinput>mimetype</userinput> associates files &MIME; type.
de: <userinput>mimetype</userinput> ordnet Dateien basierend auf deren &MIME;-Type zu.

note: Tag: para +> trunk5 stable5
en: <userinput>casesensitive</userinput> defines, whether the keywords are case sensitive or not.
de: <userinput>casesensitive</userinput> definiert, ob bei den Schlüsselwörtern Groß-/Kleinschreibung unterschieden wird oder nicht.

note: Tag: para +> trunk5 stable5
en: <userinput>priority</userinput> is necessary if another highlight definition file uses the same extensions. The higher priority will win.
de: <userinput>priority</userinput> ist notwendig, wenn eine andere Hervorhebungsdefinitionsdatei die gleichen Dateinamenerweiterung benutzt. Die Definitionsdatei mit der höheren Priorität wird dann benutzt.

note: Tag: para +> trunk5 stable5
en: <userinput>author</userinput> contains the name of the author and his email-address.
de: <userinput>author</userinput> enthält den Namen des Autors und dessen E-Mail-Adresse.

note: Tag: para +> trunk5 stable5
en: <userinput>license</userinput> contains the license, usually the MIT license for new syntax-highlighting files.
de: <userinput>license</userinput> enthält die Lizenz der Datei, normalerweise wird hier die MIT-Lizenz für neue Dateien benutzt.

note: Tag: para +> trunk5 stable5
en: <userinput>style</userinput> contains the provided language and is used by the indenters for the attribute <literal>required-syntax-style</literal>.
de: <userinput>style</userinput> enthält die Programmiersprache, die mit der Definition zur Verfügung gestellt wird und wird durch das Einrückungsskript für die Eigenschaft <literal>required-syntax-style</literal> benutzt.

note: Tag: para +> trunk5 stable5
en: <userinput>indenter</userinput> defines which indenter will be used by default. Available indenters are: <emphasis>ada, normal, cstyle, cmake, haskell, latex, lilypond, lisp, lua, pascal, python, replicode, ruby</emphasis> and <emphasis>xml</emphasis>.
de: <userinput>indenter</userinput> definiert die als Standard verwendetet Einrückung. Verfügbare Einrückungen sind: <emphasis>ada, normal, cstyle, cmake, haskell, latex, lilypond, lisp, lua, pascal, python, replicode, ruby</emphasis> und <emphasis>xml</emphasis>.

note: Tag: para +> trunk5 stable5
en: <userinput>hidden</userinput> defines whether the name should appear in &kappname;'s menus.
de: <userinput>hidden</userinput> definiert, ob der Name in Menüs von &kappname; erscheinen soll.

note: Tag: para +> trunk5 stable5
en: So the next line may look like this:
de: Die nächste Zeile könnte wie folgt aussehen:

note: Tag: term +> trunk5 stable5
en: Next comes the <userinput>highlighting</userinput> element, which contains the optional element <userinput>list</userinput> and the required elements <userinput>contexts</userinput> and <userinput>itemDatas</userinput>.
de: Als nächstes kommt das Element <userinput>highlighting</userinput>, das das optionale Element <userinput>list</userinput> und die notwendigen Elemente <userinput>contexts</userinput> und <userinput>itemDatas</userinput> enthält.

note: Tag: para +> trunk5 stable5
en: <userinput>list</userinput> elements contain a list of keywords. In this case the keywords are <emphasis>class</emphasis> and <emphasis>const</emphasis>. You can add as many lists as you need.
de: <userinput>list</userinput>-Elemente enthalten eine Liste von Schlüsselwörtern. In diesem Fall sind die Schlüsselwörter <emphasis>class</emphasis> und <emphasis>const</emphasis>. Sie können so viele hinzufügen, wie Sie brauchen.

note: Tag: para +> trunk5 stable5
en: Since &kde-frameworks; 5.53, a list can include keywords from another list or language/file, using the <userinput>include</userinput> element. <userinput>##</userinput> is used to separate the list name and the language definition name, in the same way as in the <userinput>IncludeRules</userinput> rule. This is useful to avoid duplicating keyword lists, if you need to include the keywords of another language/file. For example, the <emphasis>othername</emphasis> list contains the <emphasis>str</emphasis> keyword and all the keywords of the <emphasis>types</emphasis> list, which belongs to the <emphasis>ISO C++</emphasis> language.
de: Seit &kde-frameworks; 5.53 kann eine Liste Schlüsselwörter aus anderen Listen oder Sprachen bzw. Dateien enthalten. Dazu benutzen Sie das Element <userinput>include</userinput>. <userinput>##</userinput> wird auf die gleiche Art wie die Regel <userinput>IncludeRules</userinput> verwendet, um den Namen der Liste und der Sprachdefinition zu trennen. Dies ist nützlich, um doppelte Listen von Schlüsselwörtern zu vermeiden, wenn Sie Schlüsselwörter aus anderen Sprachen oder Dateien einschließen müssen. Die Liste <emphasis>othername</emphasis> zum Beispiel enthält das Schlüsselwort <emphasis>str</emphasis> und alle Schlüsselwörter der Liste <emphasis>types</emphasis> aus der Sprache <emphasis>ISO C++</emphasis>.

note: Tag: para +> trunk5 stable5
en: The <userinput>contexts</userinput> element contains all contexts. The first context is by default the start of the highlighting. There are two rules in the context <emphasis>Normal Text</emphasis>, which match the list of keywords with the name <emphasis>somename</emphasis> and a rule that detects a quote and switches the context to <emphasis>string</emphasis>. To learn more about rules read the next chapter.
de: Das Element <userinput>contexts</userinput> enthält alle Kontexte. Der erste Kontext ist Standard bei Start der Hervorhebungen. Es gibt zwei Regeln im Kontext <emphasis>Normal Text</emphasis>, die auf die Liste mit Schlüsselwörtern mit dem Namen <emphasis>somename</emphasis> und eine Regel, die Anführungszeichen entdeckt und zum Kontext <emphasis>string</emphasis> umschaltet. Weitere Informationen zu Regeln finden Sie im nächsten Kapitel.

note: Tag: para +> trunk5 stable5
en: The third part is the <userinput>itemDatas</userinput> element. It contains all color and font styles needed by the contexts and rules. In this example, the <userinput>itemData</userinput> <emphasis>Normal Text</emphasis>, <emphasis>String</emphasis> and <emphasis>Keyword</emphasis> are used.
de: Der dritte Teil ist das Element <userinput>itemDatas</userinput>. Es enthält alle Farb- und Schriftartstile, die durch die Kontexte und Regeln benötigt werden. In diesem Beispiel werden <userinput>itemData</userinput>, <emphasis>Normal Text</emphasis>, <emphasis>String</emphasis> und <emphasis>Keyword</emphasis> benutzt.

note: Tag: term +> trunk5 stable5
en: The last part of a highlight definition is the optional <userinput>general</userinput> section. It may contain information about keywords, code folding, comments, indentation, empty lines and spell checking.
de: Der letzte Teil der Hervorhebungsdefinition ist der optionale Abschnitt <userinput>general</userinput>. Dieser kann Informationen über Schlüsselwörter, Quelltextausblendungen, Leerzeilen und Rechtschreibprüfung enthalten.

note: Tag: para +> trunk5 stable5
en: The <userinput>comment</userinput> section defines with what string a single line comment is introduced. You also can define a multiline comment using <emphasis>multiLine</emphasis> with the additional attribute <emphasis>end</emphasis>. This is used if the user presses the corresponding shortcut for <emphasis>comment/uncomment</emphasis>.
de: Der Abschnitt <userinput>comment</userinput> definiert, mit welcher Zeichenfolge eine einzelne Kommentarzeile beginnt. Sie können außerdem mehrzeilige Kommentare definieren, indem Sie <emphasis>multiLine</emphasis> mit der zusätzlichen Eigenschaft <emphasis>end</emphasis> benutzen. Diese werden benutzt, wenn Sie das Tastaturkürzel für <emphasis>Kommentar / Kommentar entfernen</emphasis> drücken.

note: Tag: para +> trunk5 stable5
en: The <userinput>keywords</userinput> section defines whether keyword lists are case sensitive or not. Other attributes will be explained later.
de: Der Abschnitt <userinput>keywords</userinput> definiert, ob in den Schlüsselwortlisten nach Groß- und Kleinschreibung unterschieden wird oder nicht. Andere Eigenschaften werden später erläutert.

note: Tag: para +> trunk5 stable5
en: The other sections, <userinput>folding</userinput>, <userinput>emptyLines</userinput> and <userinput>spellchecking</userinput>, are usually not necessary and are explained later.
de: Die anderen Abschnitte <userinput>Quelltextausblendung</userinput>, <userinput>Leerzeilen</userinput> und <userinput>Rechtschreibprüfung</userinput> sind normalerweise nicht nötig und werden später erklärt.

note: Tag: title +> trunk5 stable5
en: The Sections in Detail
de: Die Abschnitte im Einzelnen

note: Tag: para +> trunk5 stable5
en: This part will describe all available attributes for contexts, itemDatas, keywords, comments, code folding and indentation.
de: Dieser Teil beschreibt alle verfügbaren Eigenschaften für Kontexte, itemDatas, Schlüsselwörter, Kommentare, Quelltextausblendungen und Einrückungen.

note: Tag: term +> trunk5 stable5
en: The element <userinput>context</userinput> belongs in the group <userinput>contexts</userinput>. A context itself defines context specific rules such as what should happen if the highlight system reaches the end of a line. Available attributes are:
de: Das Element <userinput>context</userinput> gehört in die Gruppe <userinput>contexts</userinput>. Ein Kontext selbst definiert spezielle Regeln, wie zum Beispiel, was geschehen soll, wenn das Hervorhebungssystem ein Zeilenende erreicht. Die verfügbaren Eigenschaften sind:

note: Tag: para +> trunk5 stable5
en: <userinput>name</userinput> states the context name. Rules will use this name to specify the context to switch to if the rule matches.
de: Der Kontextname <userinput>name</userinput>. Regeln benutzen diesen Namen, um festzulegen, zu welchem Kontext umgeschaltet wird, wenn die Regel zutrifft.

note: Tag: para +> trunk5 stable5
en: <userinput>lineEndContext</userinput> defines the context the highlight system switches to if it reaches the end of a line. This may either be a name of another context, <userinput>#stay</userinput> to not switch the context (&eg;. do nothing) or <userinput>#pop</userinput> which will cause it to leave this context. It is possible to use for example <userinput>#pop#pop#pop</userinput> to pop three times, or even <userinput>#pop#pop!OtherContext</userinput> to pop two times and switch to the context named <userinput>OtherContext</userinput>. It is also possible to switch to a context that belongs to another language definition, in the same way as in the <userinput>IncludeRules</userinput> rules, &eg;, <userinput>SomeContext##JavaScript</userinput>. Note that it is not possible to use this context switch in combination with <userinput>#pop</userinput>, for example, <userinput>#pop!SomeContext##JavaScript</userinput> is not valid. Context switches are also described in <xref linkend="kate-highlight-rules-detailled"/>.
de: Der Kontext <userinput>lineEndContext</userinput> definiert den Kontext, zu dem das Hervorhebungssystem umschaltet, wenn es ein Zeilenende erreicht. Das kann entweder der Name eines anderen Kontextes sein, <userinput>#stay</userinput> um den Kontext nicht umzuschalten, (&eg; tue nichts) oder <userinput>#pop</userinput> das bewirkt, dass der Kontext verlassen wird. Es ist möglich, zum Beispiel <userinput>#pop#pop#pop</userinput> zu verwenden, um drei Kontextebenen zu verlassen oder mit <userinput>#pop#pop!OtherContext</userinput> zwei Kontextebenen zu verlassen und in einen neuen Kontext zu springen. Es ist auch möglich zu einem Kontext zu wechseln, der zu einer anderen Sprachdefinition gehört, genauso wie in den <userinput>IncludeRules</userinput>-Regeln, &eg;  <userinput>SomeContext##JavaScript</userinput>. Beachten Sie, dass es nicht möglich ist, diesen Kontextwechsel in Kombination mit <userinput>#pop</userinput> zu verwenden, zum Beispiel ist <userinput>#pop!SomeContext##JavaScript</userinput> nicht gültig. Kontextwechsel werden auch in <xref linkend="kate-highlight-rules-detailled"/> beschrieben.

note: Tag: para +> trunk5 stable5
en: <userinput>lineEmptyContext</userinput> defines the context if an empty line is encountered. The nomenclature of context switches is the same as previously described in <emphasis>lineEndContext</emphasis>. Default: #stay.
de: <userinput>lineEmptyContext</userinput> definiert den Kontext, der in einer leeren Zeile verwendet wird. Die Bezeichnung der Kontextwechsel ist die gleiche wie zuvor in <emphasis>lineEndContext</emphasis> beschrieben. Standard hierfür ist: #stay.

note: Tag: para +> trunk5 stable5
en: <userinput>fallthroughContext</userinput> specifies the next context to switch to if no rule matches. The nomenclature of context switches is the same as previously described in <emphasis>lineEndContext</emphasis>. Default: #stay.
de: <userinput>fallthroughContext</userinput> legt den nächsten Kontext fest, zu dem gewechselt wird, wenn keine Regel passt. Die Bezeichnung der Kontextwechsel  ist die gleiche wie zuvor in <emphasis>lineEndContext</emphasis> beschrieben. Voreinstellung: #stay.

note: Tag: para +> trunk5 stable5
en: <userinput>fallthrough</userinput> defines if the highlight system switches to the context specified in <userinput>fallthroughContext</userinput> if no rule matches. Note that since &kde; &frameworks; 5.62 this attribute is deprecated in favor of <userinput>fallthroughContext</userinput>, since if the <userinput>fallthroughContext</userinput> attribute is present it is implicitly understood that the value of <userinput>fallthrough</userinput> is <emphasis>true</emphasis>. Default: <emphasis>false</emphasis>.
de: <userinput>fallthrough</userinput> definiert, ob das Hervorhebungssystem zu dem in <userinput>fallthroughContext</userinput> angegebenen Kontext wechselt, wenn keine Regel passt. Beachten Sie, dass seit &kde; &frameworks; 5.62 dieses Attribut zugunsten von <userinput>fallthroughContext</userinput> veraltet ist. Denn wenn das Attribut <userinput>fallthroughContext</userinput> vorhanden ist, wird stillschweigend angenommen, dass der Wert von <userinput>fallthrough</userinput> <emphasis>true</emphasis> ist. Voreinstellung: <emphasis>false</emphasis>.

note: Tag: para +> trunk5 stable5
en: <userinput>noIndentationBasedFolding</userinput> disables indentation-based folding in the context. If indentation-based folding is not activated, this attribute is useless. This is defined in the element <emphasis>folding</emphasis> of the group <emphasis>general</emphasis>. Default: <emphasis>false</emphasis>.
de: <userinput>noIndentationBasedFolding</userinput> deaktiviert das auf der Einrückung basierte Ausblenden von Text im Kontext. Wenn das Ausblenden nicht aktiviert ist, ist dieses Attribut nutzlos. Es wird im Element <emphasis>folding</emphasis> der Gruppe <emphasis>general</emphasis> definiert. Voreinstellung: <emphasis>false</emphasis>.

note: Tag: term +> trunk5 stable5
en: The element <userinput>itemData</userinput> is in the group <userinput>itemDatas</userinput>. It defines the font style and colors. So it is possible to define your own styles and colors. However, we recommend you stick to the default styles if possible so that the user will always see the same colors used in different languages. Though, sometimes there is no other way and it is necessary to change color and font attributes. The attributes name and defStyleNum are required, the others are optional. Available attributes are:
de: Das Element <userinput>itemData</userinput> ist in der Gruppe <userinput>itemDatas</userinput>. Es definiert die Schriftarten und Schriftfarben. So ist es möglich, Ihre eigenen Schriftarten und -farben festzulegen. Wir empfehlen jedoch, bei den vordefinierten Einstellungen zu bleiben, sodass in unterschiedlichen Sprachen trotzdem die gleichen Farben angezeigt werden. Manchmal ist es doch nötig, die Farben und Schriftarten zu ändern. Der Name der Eigenschaft und defStyleNum müssen angeben werden, alle anderen können verwendet werden, sind aber nicht unbedingt nötig. Die verfügbaren Eigenschaften sind:

note: Tag: para +> trunk5 stable5
en: <userinput>name</userinput> sets the name of the itemData. Contexts and rules will use this name in their attribute <emphasis>attribute</emphasis> to reference an itemData.
de: <userinput>name</userinput> setzt den Namen von itemData. Kontexte und Regel benutzen diesen Namen in ihrer Eigenschaft <emphasis>attribute</emphasis>, um den Bezug zum itemData herzustellen.

note: Tag: para +> trunk5 stable5
en: <userinput>defStyleNum</userinput> defines which default style to use. Available default styles are explained in detail later.
de: <userinput>defStyleNum</userinput> definiert, welcher Stil standardmäßig benutzt wird. Die verfügbaren Stile werden später näher erläutert.

note: Tag: para +> trunk5 stable5
en: <userinput>color</userinput> defines a color. Valid formats are '#rrggbb' or '#rgb'.
de: <userinput>color</userinput> definiert eine Farbe. Erlaubte Formate hierfür sind: ‚#rrggbb‘ oder ‚#rgb‘.

note: Tag: para +> trunk5 stable5
en: <userinput>selColor</userinput> defines the selection color.
de: <userinput>selColor</userinput> definiert die Farbe für die Hervorhebung.

note: Tag: para +> trunk5 stable5
en: <userinput>italic</userinput> if <emphasis>true</emphasis>, the text will be italic.
de: <userinput>italic</userinput> Wenn <emphasis>true</emphasis>, dann wird der Text in Kursivschrift dargestellt.

note: Tag: para +> trunk5 stable5
en: <userinput>bold</userinput> if <emphasis>true</emphasis>, the text will be bold.
de: <userinput>bold</userinput> Wenn <emphasis>true</emphasis>, dann wird der Text in Fettschrift dargestellt.

note: Tag: para +> trunk5 stable5
en: <userinput>underline</userinput> if <emphasis>true</emphasis>, the text will be underlined.
de: <userinput>underline</userinput> Wenn <emphasis>true</emphasis>, dann wird der Text unterstrichen dargestellt.

note: Tag: para +> trunk5 stable5
en: <userinput>strikeout</userinput> if <emphasis>true</emphasis>, the text will be struck out.
de: <userinput>strikeout</userinput> Wenn <emphasis>true</emphasis>, dann wird der Text durchgestrichen dargestellt.

note: Tag: para +> trunk5 stable5
en: <userinput>spellChecking</userinput> if <emphasis>true</emphasis>, the text will be spellchecked.
de: <userinput>spellChecking</userinput> Wenn <emphasis>true</emphasis>, dann wird die Rechtschreibprüfung für den Text aktiviert.

note: Tag: term +> trunk5 stable5
en: The element <userinput>keywords</userinput> in the group <userinput>general</userinput> defines keyword properties. Available attributes are:
de: Das Element <userinput>keywords</userinput> in der Gruppe <userinput>general</userinput> definiert Eigenschaften von Schlüsselwörtern. Verfügbare Eigenschaften sind:

note: Tag: para +> trunk5 stable5
en: <userinput>casesensitive</userinput> may be <emphasis>true</emphasis> or <emphasis>false</emphasis>. If <emphasis>true</emphasis>, all keywords are matched case sensitively.
de: <userinput>casesensitive</userinput> kann <emphasis>true</emphasis> oder <emphasis>false</emphasis> sein. Wenn es <emphasis>true</emphasis> ist, dann wird bei allen Schlüsselwörtern die Groß- und Kleinschreibung beachtet.

note: Tag: para +> trunk5 stable5
en: <userinput>weakDeliminator</userinput> is a list of characters that do not act as word delimiters. For example, the dot <userinput>'.'</userinput> is a word delimiter. Assume a keyword in a <userinput>list</userinput> contains a dot, it will only match if you specify the dot as a weak delimiter.
de: <userinput>weakDeliminator</userinput> ist eine Liste von Zeichen, die nicht als Wortbegrenzung wirken. Der Punkt <userinput>'.'</userinput> ist zum Beispiel eine Wortbegrenzung. Nehmen Sie an, ein Schlüsselwort in einer <userinput>list</userinput> enthält einen Punkt, diese Schlüsselwort kann nur dann erkannt werden, wenn Sie den Punkt als <userinput>weakDeliminator</userinput> festlegen.

note: Tag: para +> trunk5 stable5
en: <userinput>additionalDeliminator</userinput> defines additional delimiters.
de: <userinput>additionalDeliminator</userinput> definiert zusätzliche Wortbegrenzungen.

note: Tag: para +> trunk5 stable5
en: <userinput>wordWrapDeliminator</userinput> defines characters after which a line wrap may occur.
de: <userinput>wordWrapDeliminator</userinput> definiert Zeichen, nach denen ein Zeilenumbruch erfolgen kann.

note: Tag: para +> trunk5 stable5
en: Default delimiters and word wrap delimiters are the characters <userinput>.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\</userinput>, space (<userinput>' '</userinput>) and tabulator (<userinput>'\t'</userinput>).
de: Standard für Wortbegrenzer und Zeilenumbruchbegrenzer sind die Zeichen <userinput>.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\</userinput>, Leerzeichen (<userinput>' '</userinput>) und der Tabulator (<userinput>'\t'</userinput>).

note: Tag: term +> trunk5 stable5
en: The element <userinput>comment</userinput> in the group <userinput>comments</userinput> defines comment properties which are used for <menuchoice><guimenu>Tools</guimenu><guimenuitem>Comment</guimenuitem></menuchoice>, <menuchoice><guimenu>Tools</guimenu><guimenuitem>Uncomment</guimenuitem></menuchoice> and <menuchoice><guimenu>Tools</guimenu><guimenuitem>Toggle Comment</guimenuitem></menuchoice>. Available attributes are:
de: Das Element <userinput>comment</userinput> in der Gruppe <userinput>comments</userinput> definiert Eigenschaften für Kommentare, die für <menuchoice> <guimenu>Extras</guimenu><guimenuitem>Kommentar</guimenuitem> </menuchoice>, <menuchoice> <guimenu>Extras</guimenu><guimenuitem>Kommentar entfernen</guimenuitem></menuchoice> und <menuchoice><guimenu>Tools</guimenu><guimenuitem>Kommentar ein-/ausschalten</guimenuitem></menuchoice> benutzt werden. Verfügbare Eigenschaften hierfür sind:

note: Tag: para +> trunk5 stable5
en: <userinput>name</userinput> is either <emphasis>singleLine</emphasis> or <emphasis>multiLine</emphasis>. If you choose <emphasis>multiLine</emphasis> the attributes <emphasis>end</emphasis> and <emphasis>region</emphasis> are required. If you choose <emphasis>singleLine</emphasis> you can add the optional attribute <emphasis>position</emphasis>.
de: <userinput>name</userinput> ist entweder <emphasis>singleLine</emphasis> oder <emphasis>multiLine</emphasis>. Wenn Sie <emphasis>multiLine</emphasis> auswählen, müssen auch die Eigenschaften <emphasis>end</emphasis> und <emphasis>region</emphasis> benutzt werden. Bei <emphasis>singleLine</emphasis> können Sie das optionale Attribut <emphasis>position</emphasis> hinzufügen.

note: Tag: para +> trunk5 stable5
en: <userinput>start</userinput> defines the string used to start a comment. In C++ this would be &quot;/*&quot; in multiline comments. This attribute is required for types <emphasis>multiLine</emphasis> and <emphasis>singleLine</emphasis>.
de: <userinput>start</userinput> definiert die Zeichenfolge, die einen Kommentar beginnt. In C++ ist dies zum Beispiel &quot;/*&quot; in mehrzeiligen Kommentaren. Dieses Attribut ist für <emphasis>multiLine</emphasis> und <emphasis>singleLine</emphasis> nötig.

note: Tag: para +> trunk5 stable5
en: <userinput>end</userinput> defines the string used to close a comment. In C++ this would be &quot;*/&quot;. This attribute is only available and is required for comments of type <emphasis>multiLine</emphasis>.
de: <userinput>end</userinput> definiert die Zeichenfolge, die einen Kommentar beendet. In C++ ist dies zum Beispiel &quot;*/&quot;. Diese Attribut ist nur für den Typ <emphasis>multiLine</emphasis> verfügbar und erforderlich.

note: Tag: para +> trunk5 stable5
en: <userinput>region</userinput> should be the name of the foldable multiline comment. Assume you have <emphasis>beginRegion="Comment"</emphasis> ... <emphasis>endRegion="Comment"</emphasis> in your rules, you should use <emphasis>region="Comment"</emphasis>. This way uncomment works even if you do not select all the text of the multiline comment. The cursor only must be in the multiline comment. This attribute is only available for type <emphasis>multiLine</emphasis>.
de: <userinput>region</userinput> sollte der Name von ausblendbaren Mehrzeilenkommentaren sein. Nehmen Sie an, Sie haben <emphasis>beginRegion=<quote>Comment</quote></emphasis> ... <emphasis>endRegion=<quote>Comment</quote></emphasis> in Ihren Regeln, dann sollten Sie <emphasis>region=<quote>Comment</quote></emphasis> benutzen. Auf diesem Wege funktioniert das automatische Entfernen von Kommentaren auch dann, wenn Sie nicht den gesamten Text des mehrzeiligen Kommentars auswählen. Es muss nur der Cursor innerhalb des mehrzeiligen Kommentars stehen. diese Attribut ist nur für den Typ <emphasis>multiLine</emphasis> verfügbar.

note: Tag: para +> trunk5 stable5
en: <userinput>position</userinput> defines where the single line comment is inserted. By default, the single line comment is placed at the beginning of the line at column 0, but if you use <emphasis>position="afterwhitespace"</emphasis> the comment is inserted after leading whitespaces right, before the first non-whitespace character. This is useful for putting comments correctly in languages where indentation is important, such as Python or YAML. This attribute is optional and the only possible value is <emphasis>afterwhitespace</emphasis>. This is only available for type <emphasis>singleLine</emphasis>.
de: <userinput>position</userinput> definiert, wo der einzeilige Kommentar eingefügt wird. Standardmäßig wird der einzeilige Kommentar am Anfang der der Zeile bei Spalte 0 platziert, aber wenn Sie <emphasis>position="afterwhitespace"</emphasis> verwenden, wird der Kommentar nach führenden Leerraumzeichen rechts eingefügt, vor dem ersten Nicht-Leerraumzeichen. Dies ist nützlich für das korrekte Einfügen von Kommentaren in Sprachen, in denen die Einrückung wichtig ist, wie z. B. in Python oder YAML. Dieses Attribut ist optional und der einzig mögliche Wert ist <emphasis>afterwhitespace</emphasis>. Dies ist nur verfügbar für den Typ <emphasis>singleLine</emphasis>.

note: Tag: term +> trunk5 stable5
en: The element <userinput>folding</userinput> in the group <userinput>general</userinput> defines code folding properties. Available attributes are:
de: Das Element <userinput>folding</userinput> in der Gruppe <userinput>general</userinput> definiert Eigenschaften für ausblendbaren Quelltext. Verfügbare Eigenschaften sind:

note: Tag: para +> trunk5 stable5
en: <userinput>indentationsensitive</userinput> if <emphasis>true</emphasis>, the code folding markers will be added indentation based, as in the scripting language Python. Usually you do not need to set it, as it defaults to <emphasis>false</emphasis>.
de: <userinput>indentationsensitive</userinput> Wenn <emphasis>true</emphasis>, werden die Markierungen für Quelltextausblendungen basiert auf Einrückungen gesetzt, wie zum Beispiel in der Skriptsprache Python. Normalerweise brauchen Sie dies nicht zu setzen, Standard ist <emphasis>false</emphasis>.

note: Tag: term +> trunk5 stable5
en: The element <userinput>emptyLine</userinput> in the group <userinput>emptyLines</userinput> defines which lines should be treated as empty lines. This allows modifying the behavior of the <emphasis>lineEmptyContext</emphasis> attribute in the elements <userinput>context</userinput>. Available attributes are:
de: Das Element <userinput>emptyLine</userinput> in der Gruppe <userinput>emptyLines</userinput> definiert, welche Zeilen als Leerzeilen behandelt werden sollen. Damit lässt sich das Verhalten des Attributs <emphasis>lineEmptyContext</emphasis> in den Elementen <userinput>Kontext</userinput> ändern. Verfügbare Attribute sind:

note: Tag: para +> trunk5 stable5
en: <userinput>regexpr</userinput> defines a regular expression that will be treated as an empty line. By default, empty lines do not contain any characters, therefore, this adds additional empty lines, for example, if you want lines with spaces to also be considered empty lines. However, in most syntax definitions you do not need to set this attribute.
de: <userinput>regexpr</userinput> definiert einen regulären Ausdruck, der als eine leere Zeile behandelt wird. Standardmäßig enthalten leere Zeilen keine Zeichen, daher werden hier zusätzliche Leerzeilen hinzugefügt, z. B. wenn Zeilen mit Leerzeichen als Leerzeilen betrachtet werden sollen. In den meisten Syntaxdefinitionen brauchen Sie dieses Attribut jedoch nicht zu setzen.

note: Tag: term +> trunk5 stable5
en: The element <userinput>encoding</userinput> in the group <userinput>spellchecking</userinput> defines a character encoding for spell checking. Available attributes:
de: Das Element <userinput>encoding</userinput> in der Gruppe <userinput>spellchecking</userinput> definiert eine Zeichenkodierung für die Rechtschreibprüfung. Verfügbare Eigenschaften sind:

note: Tag: para +> trunk5 stable5
en: <userinput>char</userinput> is a encoded character.
de: <userinput>char</userinput> ist ein kodiertes Zeichen.

note: Tag: para +> trunk5 stable5
en: <userinput>string</userinput> is a sequence of characters that will be encoded as the character <emphasis>char</emphasis> in the spell checking. For example, in the language LaTeX, the string <userinput>\&quot;{A}</userinput> represents the character <userinput>&#196;</userinput>.
de: <userinput>string</userinput> ist eine Folge von Zeichen, die in der Rechtschreibprüfung als das Zeichen <emphasis>char</emphasis> kodiert wird. In der Sprache LaTeX repräsentiert beispielsweise die Zeichenfolge <userinput>\&quot;{A}</userinput> das Zeichen <userinput>&#196;</userinput>.

note: Tag: title +> trunk5 stable5
en: Available Default Styles
de: Verfügbare Standardstile

note: Tag: para +> trunk5 stable5
en: Default Styles were <link linkend="kate-highlight-system-default-styles">already explained</link>, as a short summary: Default styles are predefined font and color styles.
de: Standardstile wurden als <link linkend="kate-highlight-system-default-styles"> kurze Zusammenfassung</link> bereits erklärt. Standardstile sind vordefinierte Schriftarten und -farben.

note: Tag: term +> trunk5 stable5
en: General default styles:
de: Allgemeine Standardstile:

note: Tag: para +> trunk5 stable5
en: <userinput>dsNormal</userinput>, when no special highlighting is required.
de: <userinput>dsNormal</userinput>, wenn keine spezielle Hervorhebung benötigt wird

note: Tag: para +> trunk5 stable5
en: <userinput>dsKeyword</userinput>, built-in language keywords.
de: <userinput>dsKeyword</userinput>, benutzt für eingebaute Sprach-Schlüsselwörter.

note: Tag: para +> trunk5 stable5
en: <userinput>dsFunction</userinput>, function calls and definitions.
de: <userinput>dsFunction</userinput>, benutzt für Funktionsaufrufe und -definitionen.

note: Tag: para +> trunk5 stable5
en: <userinput>dsVariable</userinput>, if applicable: variable names (&eg; $someVar in PHP/Perl).
de: <userinput>dsVariable</userinput>, falls zutreffend Variablennamen &eg; $someVar in PHP/Perl.

note: Tag: para +> trunk5 stable5
en: <userinput>dsControlFlow</userinput>, control flow keywords like if, else, switch, break, return, yield, ...
de: <userinput>dsControlFlow</userinput>, Kontrollfluss-Schlüsselwörter wie if, else, switch, break, return, yield, ...

note: Tag: para +> trunk5 stable5
en: <userinput>dsOperator</userinput>, operators like + - * / :: &lt; &gt;
de: <userinput>dsOperator</userinput>, Operatoren wie + - * / :: &lt; &gt;

note: Tag: para +> trunk5 stable5
en: <userinput>dsBuiltIn</userinput>, built-in functions, classes, and objects.
de: <userinput>dsBuiltIn</userinput>, eingebaute Funktionen, Klassen und Objekte.

note: Tag: para +> trunk5 stable5
en: <userinput>dsExtension</userinput>, common extensions, such as &Qt; classes and functions/macros in C++ and Python.
de: <userinput>dsExtension</userinput>, allgemeine Erweiterungen wie zum Beispiel &Qt;-Klassen und Funktionen/Makros in C++ und Python.

note: Tag: para +> trunk5 stable5
en: <userinput>dsPreprocessor</userinput>, preprocessor statements or macro definitions.
de: <userinput>dsPreprocessor</userinput>, Präprozessor-Anweisungen oder Makro-Definitionen.

note: Tag: para +> trunk5 stable5
en: <userinput>dsAttribute</userinput>, annotations such as @override and __declspec(...).
de: <userinput>dsAttribute</userinput>, Anmerkungen wie @override und __declspec(...).

note: Tag: term +> trunk5 stable5
en: String-related default styles:
de: Standardstile für Zeichenfolgen:

note: Tag: para +> trunk5 stable5
en: <userinput>dsChar</userinput>, single characters, such as 'x'.
de: <userinput>dsChar</userinput>, benutzt für einzelne Buchstaben wie „X“.

note: Tag: para +> trunk5 stable5
en: <userinput>dsSpecialChar</userinput>, chars with special meaning in strings such as escapes, substitutions, or regex operators.
de: <userinput>dsSpecialChar</userinput>, Zeichen mit besonderer Bedeutung in Zeichenfolgen wie  Escape-Sequenzen, Ersetzungen oder Operatoren für reguläre Ausdrücke.

note: Tag: para +> trunk5 stable5
en: <userinput>dsString</userinput>, strings like "hello world".
de: <userinput>dsString</userinput>, benutzt für Zeichenfolgen wie „Hallo Welt“.

note: Tag: para +> trunk5 stable5
en: <userinput>dsVerbatimString</userinput>, verbatim or raw strings like 'raw \backlash' in Perl, CoffeeScript, and shells, as well as r'\raw' in Python.
de: <userinput>dsVerbatimString</userinput>, wörtliche oder unveränderte Zeichenfolgen wie „raw \backlash“ in Perl, CoffeeScript und Shells wie auch  r'\raw' in Python.

note: Tag: para +> trunk5 stable5
en: <userinput>dsSpecialString</userinput>, SQL, regexes, HERE docs, &latex; math mode, ...
de: <userinput>dsSpecialString</userinput>, SQL, Reguläre Ausdrücke, HERE-Dokumente, &latex;-Mathematikmodus, ...

note: Tag: para +> trunk5 stable5
en: <userinput>dsImport</userinput>, import, include, require of modules.
de: <userinput>dsImport</userinput>, import, include, erforderliche Module.

note: Tag: term +> trunk5 stable5
en: Number-related default styles:
de: Standardstile für Zahlen:

note: Tag: para +> trunk5 stable5
en: <userinput>dsDataType</userinput>, built-in data types like int, void, u64.
de: <userinput>dsDataType</userinput>, benutzt für eingebaute Datentypen wie int, void, u64.

note: Tag: para +> trunk5 stable5
en: <userinput>dsDecVal</userinput>, decimal values.
de: <userinput>dsDecVal</userinput>, benutzt für Dezimalwerte.

note: Tag: para +> trunk5 stable5
en: <userinput>dsBaseN</userinput>, values with a base other than 10.
de: <userinput>dsBaseN</userinput>, benutzt für Werte mit einer anderen Zahlenbasis als 10.

note: Tag: para +> trunk5 stable5
en: <userinput>dsFloat</userinput>, floating point values.
de: <userinput>dsFloat</userinput>, benutzt für Gleitkommawerte.

note: Tag: para +> trunk5 stable5
en: <userinput>dsConstant</userinput>, built-in and user defined constants like PI.
de: <userinput>dsConstant</userinput>, eingebaute und benutzerdefinierte Konsonanten wie Pi.PI.

note: Tag: term +> trunk5 stable5
en: Comment and documentation-related default styles:
de: Standardstile für Kommentare und Dokumentation:

note: Tag: para +> trunk5 stable5
en: <userinput>dsComment</userinput>, comments.
de: <userinput>dsComment</userinput>, benutzt für Kommentare.

note: Tag: para +> trunk5 stable5
en: <userinput>dsDocumentation</userinput>, /** Documentation comments */ or """docstrings""".
de: <userinput>dsDocumentation</userinput>, /** Dokumentation-Kommentare */ oder """docstrings""".

note: Tag: para +> trunk5 stable5
en: <userinput>dsAnnotation</userinput>, documentation commands like @param, @brief.
de: <userinput>dsAnnotation</userinput>, Dokumentations--Befehle  wie @param, @brief.

note: Tag: para +> trunk5 stable5
en: <userinput>dsCommentVar</userinput>, the variable names used in above commands, like "foobar" in @param foobar.
de: <userinput>dsCommentVar</userinput>, die in den vorher genannten Befehlen verwendeten Variablennamen wie „foobar“ in @param foobar.

note: Tag: para +> trunk5 stable5
en: <userinput>dsRegionMarker</userinput>, region markers like //BEGIN, //END in comments.
de: <userinput>dsRegionMarker</userinput>, benutzt für Markierungen von Bereichen wie //BEGIN, //END in Kommentaren.

note: Tag: term +> trunk5 stable5
en: Other default styles:
de: Andere Standardstile:

note: Tag: para +> trunk5 stable5
en: <userinput>dsInformation</userinput>, notes and tips like @note in doxygen.
de: <userinput>dsInformation</userinput>, Notizen und Hinweise wie @note in doxygen.

note: Tag: para +> trunk5 stable5
en: <userinput>dsWarning</userinput>, warnings like @warning in doxygen.
de: <userinput>dsWarning</userinput>, Warnungen wie @warning in doxygen.

note: Tag: para +> trunk5 stable5
en: <userinput>dsAlert</userinput>, special words like TODO, FIXME, XXXX.
de: <userinput>dsAlert</userinput>, besondere Wörter wie TODO, FIXME, XXXX.

note: Tag: para +> trunk5 stable5
en: <userinput>dsError</userinput>, error highlighting and wrong syntax.
de: <userinput>dsError</userinput>, benutzt für Hervorhebungen von Fehlern und für fehlerhafter Syntax.

note: Tag: para +> trunk5 stable5
en: <userinput>dsOthers</userinput>, when nothing else fits.
de: <userinput>dsOthers</userinput>, wenn nichts anderes passt.

note: Tag: title +> trunk5 stable5
en: Highlight Detection Rules
de: Hervorhebungs-Erkennungsregeln

note: Tag: para +> trunk5 stable5
en: This section describes the syntax detection rules.
de: Dieser Abschnitt beschreibt die Hervorhebungs-Erkennungsregeln

note: Tag: para +> trunk5 stable5
en: Each rule can match zero or more characters at the beginning of the string they are tested against. If the rule matches, the matching characters are assigned the style or <emphasis>attribute</emphasis> defined by the rule, and a rule may ask that the current context is switched.
de: Jede Regel kann auf Null oder mehrere Zeichen am Anfang der untersuchten Zeichenfolge zutreffen. Wenn eine Übereinstimmung gefunden wird, wird den erkannten Zeichen der Stil oder die <emphasis>Eigenschaft</emphasis>, die durch die Regel festgelegt wurde, zugeordnet, Außerdem kann die Regel ein Umschalten des aktuellen Kontexts anfordern.

note: Tag: para +> trunk5 stable5
en: A rule looks like this:
de: Eine Regel sieht wie folgt aus:

note: Tag: para +> trunk5 stable5
en: The <emphasis>attribute</emphasis> identifies the style to use for matched characters by name, and the <emphasis>context</emphasis> identifies the context to use from here.
de: Die <emphasis>attribute</emphasis> (Eigenschaft) legt den Namen des Stils fest, der für die erkannten Zeichen benutzt werden soll und der <emphasis>context</emphasis> (Kontext) legt den Kontext fest, der ab hier benutzt werden soll.

note: Tag: para +> trunk5 stable5
en: The <emphasis>context</emphasis> can be identified by:
de: Der <emphasis>context</emphasis> (Kontext) kann durch Folgendes identifiziert werden:

note: Tag: para +> trunk5 stable5
en: An <emphasis>identifier</emphasis>, which is the name of the other context.
de: Einen <emphasis>identifier</emphasis>, der der Name eines anderen Kontextes ist.

note: Tag: para +> trunk5 stable5
en: An <emphasis>order</emphasis> telling the engine to stay in the current context (<userinput>#stay</userinput>), or to pop back to a previous context used in the string (<userinput>#pop</userinput>).
de: Eine Anweisung, die vorgibt, im aktuellen Kontext zu bleiben (<userinput>#stay</userinput>), oder zu einem vorher in der Zeichenfolge benutzten Kontext zurückzuspringen (<userinput>#pop</userinput>).

note: Tag: para +> trunk5 stable5
en: To go back more steps, the #pop keyword can be repeated: <userinput>#pop#pop#pop</userinput>
de: Zum Zurückgehen über mehrere Schritte kann das Schlüsselwort #pop wiederholt werden: <userinput>#pop#pop#pop</userinput>

note: Tag: para +> trunk5 stable5
en: An <emphasis>order</emphasis> followed by an exclamation mark (<emphasis>!</emphasis>) and an <emphasis>identifier</emphasis>, which will make the engine first follow the order and then switch to the other context, &eg; <userinput>#pop#pop!OtherContext</userinput>.
de: Eine Anweisung <emphasis>order</emphasis>, die von einem Ausrufezeichen (<emphasis>!</emphasis>) und einem <emphasis>identifier</emphasis> gefolgt wird, veranlasst &kate; erst die Anweisung <emphasis>order</emphasis> auszuf&uuml;hren und dann in den anderen Kontext umzuschalten, &eg; <userinput>#pop#pop!OtherContext</userinput>.

note: Tag: para +> trunk5 stable5
en: An <emphasis>identifier</emphasis>, which is a context name, followed by two hashes (<userinput>##</userinput>) and another <emphasis>identifier</emphasis>, which is the name of a language definition. This naming is similar to that used in <userinput>IncludeRules</userinput> rules and allows you to switch to a context belonging to another syntax highlighting definition, e.g. <userinput>SomeContext##JavaScript</userinput>. Note that it is not possible to use this context switch in combination with <userinput>#pop</userinput>, for example, <userinput>#pop!SomeContext##JavaScript</userinput> is not valid.
de: Ein <emphasis>identifier</emphasis> ist ein Kontextname gefolgt von zwei Doppelkreuzen (<userinput>##</userinput>) und einem weiteren <emphasis>identifier</emphasis> für den Name einer Sprachdefinition. Diese Namensgebung ist ähnlich wie bei den Regeln <userinput>IncludeRules</userinput> und ermöglicht den Wechsel zu einem Kontext, der zu einer anderen Syntaxhervorhebungsdefinition gehört, z. B. <userinput>SomeContext##JavaScript</userinput>. Beachten Sie, dass es nicht möglich ist, diesen Kontextwechsel in Kombination mit <userinput>#pop</userinput> zu verwenden, z. B. <userinput>#pop!SomeContext##JavaScript</userinput> ist nicht gültig.

note: Tag: para +> trunk5 stable5
en: Rule specific attributes varies and are described in the following sections.
de: Regelspezifische Eigenschaften sind unterschiedlich und werden im Folgenden beschrieben.

note: Tag: title +> trunk5 stable5
en: Common attributes
de: Gemeinsame Eigenschaften

note: Tag: para +> trunk5 stable5
en: All rules have the following attributes in common and are available whenever <userinput>(common attributes)</userinput> appears. <emphasis>attribute</emphasis> and <emphasis>context</emphasis> are required attributes, all others are optional.
de: Alle Regeln haben die folgenden Eigenschaften gemeinsam und sind immer verfügbar, wenn <userinput>(common attributes)</userinput> erscheint. <emphasis>attribute</emphasis> und <emphasis>context</emphasis> sind notwendige Eigenschaften, alle anderen sind optional, müssen also nicht benutzt werden.

note: Tag: para +> trunk5 stable5
en: <emphasis>attribute</emphasis>: An attribute maps to a defined <emphasis>itemData</emphasis>.
de: <emphasis>attribute</emphasis>: Eine Eigenschaft zeigt auf ein bestimmtes <emphasis>itemData</emphasis>-Element.

note: Tag: para +> trunk5 stable5
en: <emphasis>context</emphasis>: Specify the context to which the highlighting system switches if the rule matches.
de: <emphasis>context</emphasis>: Legt den Kontext fest, zu dem das Hervorhebungssystem umschaltet, wenn die Regel als zutreffend erkannt wird.

note: Tag: para +> trunk5 stable5
en: <emphasis>beginRegion</emphasis>: Start a code folding block. Default: unset.
de: <emphasis>beginRegion</emphasis>: Beginnt einen Quelltextausblendungsblock. Standard ist: unset.

note: Tag: para +> trunk5 stable5
en: <emphasis>endRegion</emphasis>: Close a code folding block. Default: unset.
de: <emphasis>endRegion</emphasis>: Beendet eine Quelltextausblendungsblock. Standard ist: unset.

note: Tag: para +> trunk5 stable5
en: <emphasis>lookAhead</emphasis>: If <emphasis>true</emphasis>, the highlighting system will not process the matches length. Default: <emphasis>false</emphasis>.
de: <emphasis>lookAhead</emphasis>: Wenn <emphasis>true</emphasis>, dann wird das Hervorhebungssystem die Länge der Übereinstimmung nicht verarbeiten. Standard ist: <emphasis>false</emphasis>.

note: Tag: para +> trunk5 stable5
en: <emphasis>firstNonSpace</emphasis>: Match only, if the string is the first non-whitespace in the line. Default: <emphasis>false</emphasis>.
de: <emphasis>firstNonSpace</emphasis>: Trifft nur dann zu, wenn die Zeichenfolge als erstes nach Zwischenräumen in der Zeile erkannt wird. Standard ist: <emphasis>false</emphasis>.

note: Tag: para +> trunk5 stable5
en: <emphasis>column</emphasis>: Match only, if the column matches. Default: unset.
de: <emphasis>column</emphasis>: Trifft nur dann zu, wenn die Spalte zutrifft. Standard ist: unset.

note: Tag: title +> trunk5 stable5
en: Dynamic rules
de: Dynamische Regeln

note: Tag: para +> trunk5 stable5
en: Some rules allow the optional attribute <userinput>dynamic</userinput> of type boolean that defaults to <emphasis>false</emphasis>. If dynamic is <emphasis>true</emphasis>, a rule can use placeholders representing the text matched by a <emphasis>regular expression</emphasis> rule that switched to the current context in its <userinput>string</userinput> or <userinput>char</userinput> attributes. In a <userinput>string</userinput>, the placeholder <replaceable>%N</replaceable> (where N is a number) will be replaced with the corresponding capture <replaceable>N</replaceable> from the calling regular expression, starting from 1. In a <userinput>char</userinput> the placeholder must be a number <replaceable>N</replaceable> and it will be replaced with the first character of the corresponding capture <replaceable>N</replaceable> from the calling regular expression. Whenever a rule allows this attribute it will contain a <emphasis>(dynamic)</emphasis>.
de: Einige Regeln erlauben die Benutzung der optionalen Eigenschaft <userinput>dynamic</userinput>, Standard ist hier <emphasis>false</emphasis>.Wenn diese Eigenschaft auf <emphasis>true</emphasis> gesetzt wird, kann eine Regel in ihren Eigenschaften <userinput>string</userinput> oder <userinput>char</userinput> Platzhalter verwenden, die den zutreffenden Text aus einer als <emphasis>regulärem Ausdruck</emphasis> formulierten Regel enthält. Diese Regel muss direkt in den gegenwärtigen Kontext umgeschaltet haben. In einem <userinput>string</userinput> wird der Platzhalter <replaceable>%N</replaceable> (wobei N eine Zahl sein muss) ersetzt durch das Ergebnis für <replaceable>N</replaceable> aus dem aufrufenden regulären Ausdruck, startend mit 1. In einem <userinput>char</userinput> muss der Platzhalter auch eine Zahl <replaceable>N</replaceable> sein und wird durch das erste Zeichen aus dem Ergebnis für <replaceable>N</replaceable> aus dem aufrufenden regulären Ausdruck ersetzt. Immer wenn eine Regel diese Eigenschaft erlaubt, dann enthält diese ein <emphasis>(dynamic)</emphasis>.

note: Tag: para +> trunk5 stable5
en: <emphasis>dynamic</emphasis>: may be <emphasis>(true|false)</emphasis>.
de: <emphasis>dynamic</emphasis>: kann <emphasis>(true oder false)</emphasis> sein.

note: Tag: userinput +> trunk5 stable5
en: How does it work:
de: Wie es funktioniert:

note: Tag: para +> trunk5 stable5
en: In the <link linkend="regular-expressions">regular expressions</link> of the <userinput>RegExpr</userinput> rules, all text within simple curved brackets <userinput>(PATTERN)</userinput> is captured and remembered. These captures can be used in the context to which it is switched, in the rules with the attribute <userinput>dynamic</userinput> <emphasis>true</emphasis>, by <replaceable>%N</replaceable> (in <emphasis>String</emphasis>) or <replaceable>N</replaceable> (in <emphasis>char</emphasis>).
de: In den <link linkend="regular-expressions">regulären Ausdrücken</link> der der <userinput>RegExpr</userinput>-Regeln wird der gesamte Text innerhalb einfacher runder Klammern <userinput>(PATTERN)</userinput> erfasst und behalten. Diese Erfassungen können in dem Kontext verwendet werden, in den gewechselt wird, in den Regeln mit dem Attribut <userinput>dynamic</userinput> <emphasis>true</emphasis>, durch <replaceable>%N</replaceable> (in <emphasis>String</emphasis>) oder <replaceable>N</replaceable> (in <emphasis>char</emphasis>).

note: Tag: para +> trunk5 stable5
en: It is important to mention that a text captured in a <userinput>RegExpr</userinput> rule is only stored for the switched context, specified in its <userinput>context</userinput> attribute.
de: Ein Text, der in einer <userinput>RegExpr</userinput>-Regel erfasst wird, nur für den gewechselten Kontext behalten wird, der in seinem Attribut <userinput>Kontext</userinput> angegeben ist.

note: Tag: para +> trunk5 stable5
en: If the captures will not be used, both by dynamic rules and in the same regular expression, <userinput>non-capturing groups</userinput> should be used: <userinput>(?:PATTERN)</userinput>
de: Wenn die Erfassung nicht verwendet werden sollen, sowohl durch dynamische Regeln als auch im gleichen regulären Ausdruck, sollte <userinput>nicht-erfassende Gruppen</userinput> verwendet werden verwendet werden: <userinput>(?:PATTERN)</userinput>

note: Tag: para +> trunk5 stable5
en: The <emphasis>lookahead</emphasis> or <emphasis>lookbehind</emphasis> groups such as <userinput>(?=PATTERN)</userinput>, <userinput>(?!PATTERN)</userinput> or <userinput>(?&lt;=PATTERN)</userinput> are not captured. See <link linkend="regular-expressions">Regular Expressions</link> for more information.
de: Die Gruppen <emphasis>Vorwärtsreferenz</emphasis> oder <emphasis>Rückwärtsreferenz</emphasis> wie <userinput>(?=PATTERN)</userinput>, <userinput>(?!PATTERN)</userinput> oder <userinput>(?&lt;=PATTERN)</userinput> werden nicht erfasst. Weitere Informationen fingen Sie im Abschnitt <link linkend="regular-expressions">Reguläre Ausdrücke</link>.

note: Tag: para +> trunk5 stable5
en: The capture groups can be used within the same regular expression, using <replaceable>\N</replaceable> instead of <replaceable>%N</replaceable> respectively. For more information, see <link linkend="regex-capturing">Capturing matching text (back references)</link> in <link linkend="regular-expressions">Regular Expressions</link>.
de: Die Erfassungs-Gruppen können innerhalb desselben regulären Ausdrucks verwendet werden, indem <replaceable>\N</replaceable> anstelle von <replaceable>%N</replaceable> verwendet wird. Für weitere Informationen siehe <link linkend="regex-capturing">Erfassen von passendem Text (Rückwärtsreferenz)</link> in Abschnitt<link linkend="regular-expressions">Reguläre Ausdrücke</link>.

note: Tag: para +> trunk5 stable5
en: Example 1:
de: Beispiel 1:

note: Tag: para +> trunk5 stable5
en: In this simple example, the text matched by the regular expression <userinput>=*</userinput> is captured and inserted into <replaceable>%1</replaceable> in the dynamic rule. This allows the comment to end with the same amount of <userinput>=</userinput> as at the beginning. This matches text like: <userinput>[[ comment ]]</userinput>, <userinput>[=[ comment ]=]</userinput> or <userinput>[=====[ comment ]=====]</userinput>.
de: In diesem einfachen Beispiel wird der Text, der mit dem regulären Ausdruck <userinput>=*</userinput> übereinstimmt, erfasst und für <replaceable>%1</replaceable> in die dynamische Regel eingefügt. Dadurch kann der Kommentar mit der gleiche Zahl von Gleichheitszeichen <userinput>=</userinput> wie am Anfang beendet werden. Dies passt auf Text wie: <userinput>[[ Kommentar ]]</userinput>, <userinput>[=[ Kommentar ]=]</userinput> oder <userinput>[=====[ Kommentar ]=====]</userinput>.

note: Tag: para +> trunk5 stable5
en: In addition, the captures are available only in the switched context <emphasis>Multi-line Comment</emphasis>.
de: Außerdem sind die Erfassungen nur im gewechselten Kontext <emphasis>mehrzeiligen Kommentaren</emphasis> verfügbar.

note: Tag: para +> trunk5 stable5
en: Example 2:
de: Beispiel 2:

note: Tag: para +> trunk5 stable5
en: In the dynamic rule, <replaceable>%1</replaceable> corresponds to the capture that matches <userinput>#+</userinput>, and <replaceable>%2</replaceable> to <userinput>&amp;quot;+</userinput>. This matches text as: <userinput>#label""""inside the context""""#</userinput>.
de: In der dynamischen Regel entspricht <replaceable>%1</replaceable> der Erfassung, die auf <userinput>#+</userinput> passt und <replaceable>%2</replaceable> auf <userinput>&amp;quot;+</userinput>. Dies trifft auf Text wie <userinput>#label""""inside the context""""#</userinput> zu.

note: Tag: para +> trunk5 stable5
en: These captures will not be available in other contexts, such as <emphasis>OtherContext</emphasis>, <emphasis>FindEscapes</emphasis> or <emphasis>SomeContext</emphasis>.
de: Diese Erfassungen sind in anderen Kontexten wie z. B. <emphasis>OtherContext</emphasis>, <emphasis>FindEscapes</emphasis> oder <emphasis>SomeContext</emphasis> nicht verfügbar.

note: Tag: para +> trunk5 stable5
en: Example 3:
de: Beispiel 3:

note: Tag: para +> trunk5 stable5
en: This matches text like: <userinput>Class::function&lt;T&gt;( ... )</userinput>.
de: Die passt auf Text wie: <userinput>Class::function&lt;T&gt;( ... )</userinput>.

note: Tag: title +> trunk5 stable5
en: Local deliminators
de: Lokale Begrenzungszeichen

note: Tag: para +> trunk5 stable5
en: Some rules allow the optional attributes <userinput>weakDeliminator</userinput> and <userinput>additionalDeliminator</userinput> which are combined with attributes of the same name of <userinput>keywords</userinput> tag. For example, when <userinput>'%'</userinput> is a weak delimiter of <userinput>keywords</userinput>, it can become a word delimiter only for a rule by putting it in its <userinput>additionalDeliminator</userinput> attribute. Whenever a rule allows these attributes it will contain a <emphasis>(local deliminators)</emphasis>.
de: Einige Regeln erlauben die optionalen Attribute <userinput>weakDeliminator</userinput> und <userinput>additionalDeliminator</userinput>, die mit gleichnamigen Attributen des <userinput>Schlüsselworts</userinput> kombiniert werden. Wenn zum Beispiel <userinput>'%'</userinput> ein schwacher Wortbegrenzer des <userinput>Schlüsselworts</userinput> ist, kann es in einer Regel nur zum Wortbegrenzer werden, indem man es dem Attribut <userinput>additionalDeliminator</userinput> hinzufügt. Wann immer eine Regel diese Attribute zulässt, enthält sie <emphasis>lokale Begrenzungszeichen</emphasis>.

note: Tag: para +> trunk5 stable5
en: <emphasis>weakDeliminator</emphasis>: list of characters that do not act as word delimiters.
de: <emphasis>weakDeliminator</emphasis>: Liste der Zeichen, die nicht als Wortbegrenzungen fungieren.

note: Tag: para +> trunk5 stable5
en: <emphasis>additionalDeliminator</emphasis>: defines additional delimiters.
de: <emphasis>additionalDeliminator</emphasis> definiert zusätzliche Wortbegrenzungen.

note: Tag: title +> trunk5 stable5
en: The Rules in Detail
de: Die Regeln im Einzelnen:

note: Tag: para +> trunk5 stable5
en: Detect a single specific character. Commonly used for example to find the ends of quoted strings.
de: Findet ein einzelnes bestimmtes Zeichen. Häufig zum Finden des Endes von Zeichenfolgen in Anführungszeichen benutzt.

note: Tag: para +> trunk5 stable5
en: The <userinput>char</userinput> attribute defines the character to match.
de: Die Eigenschaft <userinput>char</userinput> definiert das zu erkennende Zeichen.

note: Tag: para +> trunk5 stable5
en: Detect two specific characters in a defined order.
de: Findet zwei bestimmte Zeichen in einer bestimmten Reihenfolge.

note: Tag: para +> trunk5 stable5
en: The <userinput>char</userinput> attribute defines the first character to match, <userinput>char1</userinput> the second.
de: Die Eigenschaft <userinput>char</userinput> definiert das erste zu erkennende Zeichen, <userinput>char1</userinput> das zweite.

note: Tag: para +> trunk5 stable5
en: Detect one character of a set of specified characters.
de: Findet ein Zeichen aus einem bestimmten Satz von Zeichen.

note: Tag: para +> trunk5 stable5
en: The <userinput>String</userinput> attribute defines the set of characters.
de: Die Eigenschaft <userinput>String</userinput> definiert den Satz der Zeichen.

note: Tag: para +> trunk5 stable5
en: Detect an exact string.
de: Findet eine bestimmte Zeichenfolge.

note: Tag: para +> trunk5 stable5
en: The <userinput>String</userinput> attribute defines the string to match. The <userinput>insensitive</userinput> attribute defaults to <emphasis>false</emphasis> and is passed to the string comparison function. If the value is <emphasis>true</emphasis> insensitive comparing is used.
de: Die Eigenschaft <userinput>String</userinput> definiert die zu erkennende Zeichenfolge. Die Eigenschaft <userinput>insensitive</userinput> ist standardmäßig auf <emphasis>false</emphasis> gesetzt und wird an die Zeichenfolgen-Vergleichsfunktion übergeben. Wenn der Wert auf <emphasis>true</emphasis> gesetzt wird, wird Groß- und Kleinschreibung ignoriert.

note: Tag: para +> trunk5 stable5
en: Detect an exact string but additionally require word boundaries such as a dot <userinput>'.'</userinput> or a whitespace on the beginning and the end of the word. Think of <userinput>\b&lt;string&gt;\b</userinput> in terms of a regular expression, but it is faster than the rule <userinput>RegExpr</userinput>.
de: Findet eine Zeichenfolge, aber zusätzlich werden die Wortgrenzen wie ein  Punkt <userinput>'.'</userinput> oder ein Leerzeichen am Anfang und Ende des Wortes beachtet. Dies funktioniert wie der reguläre Ausdruck <userinput>\b&lt;string&gt;\b</userinput>, ist aber schneller als die Regel  <userinput>RegExpr</userinput>.

note: Tag: para +> trunk5 stable5
en: Since: &kate; 3.5 (&kde; 4.5)
de: Ab Version: &kate; 3.5 (&kde; 4.5)

note: Tag: para +> trunk5 stable5
en: Matches against a regular expression.
de: Prüft die Übereinstimmung mit einem regulären Ausdruck.

note: Tag: para +> trunk5 stable5
en: The <userinput>String</userinput> attribute defines the regular expression.
de: Die Eigenschaft <userinput>String</userinput> definiert den regulären Ausdruck.

note: Tag: para +> trunk5 stable5
en: <userinput>insensitive</userinput> defaults to <emphasis>false</emphasis> and is passed to the regular expression engine.
de: Die Eigenschaft <userinput>insensitive</userinput> ist standardmäßig auf <emphasis>false</emphasis> gesetzt und wird an die Funktion zur Auswertung des regulären Ausdrucks übergeben.

note: Tag: para +> trunk5 stable5
en: <userinput>minimal</userinput> defaults to <emphasis>false</emphasis> and is passed to the regular expression engine.
de: Die Eigenschaft <userinput>minimal</userinput> ist standardmäßig auf <emphasis>false</emphasis> gesetzt und wird an die Funktion zur Auswertung des regulären Ausdrucks übergeben.

note: Tag: para +> trunk5 stable5
en: Because the rules are always matched against the beginning of the current string, a regular expression starting with a caret (<literal>^</literal>) indicates that the rule should only be matched against the start of a line.
de: Weil die Regeleinhaltung immer am Anfang der aktuellen Zeichenfolge geprüft wird, kann mit dem Hochzeichen (<literal>^</literal>) angegeben werden, dass die Regeleinhaltung nur am Anfang der Zeile untersucht werden soll.

note: Tag: para +> trunk5 stable5
en: See <link linkend="regular-expressions">Regular Expressions</link> for more information on those.
de: Sehen Sie unter <link linkend="regular-expressions">Reguläre Ausdrücke</link> für weitere Informationen zu diesen nach.

note: Tag: para +> trunk5 stable5
en: Detect a keyword from a specified list.
de: Erkennt ein Schlüsselwort aus einer angegebenen Liste.

note: Tag: para +> trunk5 stable5
en: The <userinput>String</userinput> attribute identifies the keyword list by name. A list with that name must exist.
de: Die Eigenschaft <userinput>String</userinput> definiert die Schlüsselwortliste durch deren Name. Eine Liste mit diesem Namen muss vorhanden sein.

note: Tag: para +> trunk5 stable5
en: The highlighting system processes keyword rules in a very optimized way. This makes it an absolute necessity that any keywords to be matched need to be surrounded by defined delimiters, either implied (the default delimiters), or explicitly specified within the <emphasis>additionalDeliminator</emphasis> property of the <emphasis>keywords</emphasis> tag.
de: Das Hervorhebungssystem verarbeitet die Regeln mit sehr stark optimierten Methoden. Deswegen ist es absolut notwendig, dass alle Schl&uuml;sselworte, die gefunden werden sollen, durch definierte Begrenzer eingeschlossen werden. Das k&ouml;nnen entweder die Standardbegrenzer sein oder Begrenzer, die mit der Eigenschaft <emphasis>additionalDeliminator</emphasis> des Tags <emphasis>keywords</emphasis> festgelegt wurden.

note: Tag: para +> trunk5 stable5
en: If a keyword to be matched shall contain a delimiter character, this respective character must be added to the <emphasis>weakDeliminator</emphasis> property of the <emphasis>keywords</emphasis> tag. This character will then loose its delimiter property in all <emphasis>keyword</emphasis> rules. It is also possible to use the <emphasis>weakDeliminator</emphasis> attribute of <emphasis>keyword</emphasis> so that this modification only applies to this rule.
de: Wenn ein Schl&uuml;sselwort ein Begrenzerzeichen enthalten soll, dann muss dieses Zeichen zur Eigenschaft <emphasis>weakDeliminator</emphasis> des Tags <emphasis>keywords</emphasis> hinzugef&uuml;gt werden. Dieses Zeichen verliert damit seine Funktion als Begrenzer in allen <emphasis>keyword</emphasis>-Regeln. Es ist auch möglich, das <emphasis>weakDeliminator</emphasis> Attribut vom <emphasis>keyword</emphasis> zu verwenden, so dass diese Änderung nur für diese Regel gilt.

note: Tag: para +> trunk5 stable5
en: Detect an integer number (as the regular expression: <userinput>\b[0-9]+</userinput>).
de: Erkennt eine ganze Zahl wie im regulären Ausdruck <userinput>\b[0-9]+</userinput>).

note: Tag: para +> trunk5 stable5
en: This rule has no specific attributes.
de: Diese Regel hat keine speziellen Eigenschaften.

note: Tag: para +> trunk5 stable5
en: Detect a floating point number (as the regular expression: <userinput>(\b[0-9]+\.[0-9]*|\.[0-9]+)([eE][-+]?[0-9]+)?</userinput>).
de: Erkennt eine Dezimalzahl wie im regulären Ausdruck <userinput>\b[0-9]+)\.[0-9]*|\.][-+]?[0-9]+)?</userinput>).

note: Tag: para +> trunk5 stable5
en: Detect an octal point number representation (as the regular expression: <userinput>\b0[0-7]+</userinput>).
de: Erkennt eine Oktalzahl wie im regulären Ausdruck <userinput>\b0[0-7]+</userinput>.

note: Tag: para +> trunk5 stable5
en: Detect a hexadecimal number representation (as a regular expression: <userinput>\b0[xX][0-9a-fA-F]+</userinput>).
de: Erkennt eine hexadezimale Zahl wie im regulären Ausdruck <userinput>\b0[xX][0-9a-fA-F]+</userinput>.

note: Tag: para +> trunk5 stable5
en: Detect an escaped character.
de: Findet ein Steuerzeichen.

note: Tag: para +> trunk5 stable5
en: It matches literal representations of characters commonly used in program code, for example <userinput>\n</userinput> (newline) or <userinput>\t</userinput> (TAB).
de: Solche Zeichen sind durch druckbare Zeichen dargestellte nicht druckbare Zeichen, die in Programmquelltexten häufig benutzt werden. &eg;: <userinput>\n</userinput> (Zeilenvorschub) oder <userinput>\t</userinput> (TAB)

note: Tag: para +> trunk5 stable5
en: The following characters will match if they follow a backslash (<literal>\</literal>): <userinput>abefnrtv&quot;'?\</userinput>. Additionally, escaped hexadecimal numbers such as for example <userinput>\xff</userinput> and escaped octal numbers, for example <userinput>\033</userinput> will match.
de: Die folgenden Zeichen werden erkannt, wenn sie einem Linksschrägstrich <literal>\</literal> folgen: <userinput>abefnrtv&quot;'?</userinput>. Zusätzlich werden auch hexadezimale (<userinput>\xff</userinput>) oder oktale (<userinput>\033</userinput>) Zahlen nach einem <literal>\</literal> erkannt.

note: Tag: para +> trunk5 stable5
en: Detect an C character.
de: Findet ein C Zeichen.

note: Tag: para +> trunk5 stable5
en: It matches C characters enclosed in a tick (Example: <userinput>'c'</userinput>). The ticks may be a simple character or an escaped character. See HlCStringChar for matched escaped character sequences.
de: Trifft zu, wenn C Zeichen in einfachen Anführungszeichen (Beispiel: <userinput>'c'</userinput>) vorkommen. In den Anführungszeichen kann ein einfaches Zeichen oder Sonderzeichen (Beispiel: <userinput>'
    '</userinput>) stehen. Für Zeichenfolgen von Sonderzeichen sehen Sie unter HlCStringChar nach.

note: Tag: para +> trunk5 stable5
en: Detect a string with defined start and end characters.
de: Findet eine Zeichenfolge mit definierten Anfangs- und Endzeichen.

note: Tag: para +> trunk5 stable5
en: <userinput>char</userinput> defines the character starting the range, <userinput>char1</userinput> the character ending the range.
de: <userinput>char</userinput> definiert das Zeichen am Anfang des Bereichs, <userinput>char1</userinput> das Zeichen am Ende des Bereichs.

note: Tag: para +> trunk5 stable5
en: Useful to detect for example small quoted strings and the like, but note that since the highlighting engine works on one line at a time, this will not find strings spanning over a line break.
de: Diese Regel ist für das Finden von kleinen Zeichenfolgen in Anführungszeichen nützlich, kann aber wegen der verwendeten Funktion keine über mehrere Zeilen gehenden Zeichenfolgen finden.

note: Tag: para +> trunk5 stable5
en: Matches a specified char at the end of a line.
de: Trifft auf ein angegebenes Zeichen an einem Zeilenende zu.

note: Tag: para +> trunk5 stable5
en: <userinput>char</userinput> optional character to match, default is backslash (<userinput>'\'</userinput>). New since &kde; 4.13.
de: Die Eigenschaft <userinput>char</userinput> definiert das optionale zu erkennende Zeichen, Standard ist der Rückstrich <userinput>'\'</userinput>. Neu seit &kde;  4.13.

note: Tag: para +> trunk5 stable5
en: This rule is useful for switching context at end of line. This is needed for example in C/C++ to continue macros or strings.
de: Diese Regel wird zum Umschalten des Kontextes am Ende einer Zeile benutzt. Dies wird in C/C++ zum Fortsetzen von Makros oder Zeichenfolgen gebraucht.

note: Tag: para +> trunk5 stable5
en: Include rules from another context or language/file.
de: Schließt Regeln aus einem anderen Kontext, einer anderen Sprache oder einer anderen Datei ein.

note: Tag: para +> trunk5 stable5
en: The <userinput>context</userinput> attribute defines which context to include.
de: Die Eigenschaft <userinput>context</userinput> definiert, welcher Kontext eingeschlossen werden soll.

note: Tag: para +> trunk5 stable5
en: If it is a simple string it includes all defined rules into the current context, example:
de: Wenn dies eine einfache Zeichenfolge ist, dann werden alle definierten Regeln in den gegenwärtigen Kontext eingeschlossen. Beispiel:

note: Tag: para +> trunk5 stable5
en: If the string contains a <userinput>##</userinput> the highlight system will look for a context from another language definition with the given name, for example <programlisting>&lt;IncludeRules context=&quot;String##C++&quot; /&gt;</programlisting> would include the context <emphasis>String</emphasis> from the <emphasis>C++</emphasis> highlighting definition.
de: Wenn die Zeichenfolge eine <userinput>##</userinput>-Nutzereingabe enth&auml;t, dann wird das Hervorhebungssystem einen Kontext aus einer anderen Sprachdefinition mit dem angegebenen Namen suchen, zum Beispiel: <programlisting>&lt;IncludeRules context=&quot;String##C++&quot; /&gt;</programlisting> schliesst den Kontext <emphasis>String</emphasis> aus der Sprachdefinition f&uuml;r <emphasis>C++</emphasis> ein.

note: Tag: para +> trunk5 stable5
en: If <userinput>includeAttrib</userinput> attribute is <emphasis>true</emphasis>, change the destination attribute to the one of the source. This is required to make, for example, commenting work, if text matched by the included context is a different highlight from the host context.
de: Wenn die Eigenschaft <userinput>includeAttrib</userinput> <emphasis>true</emphasis> ist, dann wird die Zieleigenschaft zu der aus der Quelle geändert. Dies wird zum Beispiel für Kommentare gebraucht, wenn der Text, der durch den eingeschlossenen Kontext anders hervorgehoben wird, als im gegenwärtigen Kontext.

note: Tag: para +> trunk5 stable5
en: Detect whitespaces.
de: Finde Zwischenräume.

note: Tag: para +> trunk5 stable5
en: Use this rule if you know that there can be several whitespaces ahead, for example in the beginning of indented lines. This rule will skip all whitespace at once, instead of testing multiple rules and skipping one at a time due to no match.
de: Benutzen Sie diese Regel, wenn Sie wissen, dass jetzt mehrere Zwischenräume folgen, zum Beispiel am Anfang von eingerückten Zeilen. Diese Regel überspringt mehrere Zwischenräume mit einem Mal, ohne diese einzeln auf die Einhaltung von anderen Regeln zu testen und dann nach Nichtzutreffen einzeln zu überspringen.

note: Tag: para +> trunk5 stable5
en: Detect identifier strings (as the regular expression: <userinput>[a-zA-Z_][a-zA-Z0-9_]*</userinput>).
de: Finde Zeichenfolgen als Bezeichner (als regulärer Ausdruck: <userinput>[a-zA-Z_][a-zA-Z0-9_]*</userinput>).

note: Tag: para +> trunk5 stable5
en: Use this rule to skip a string of word characters at once, rather than testing with multiple rules and skipping one at a time due to no match.
de: Benutzen Sie diese Regel zum Überspringen von Wörtern mit einem Mal, ohne die Zeichen im Wort einzeln auf die Einhaltung von anderen Regeln zu testen und dann nach Nichtzutreffen zu überspringen.

note: Tag: title +> trunk5 stable5
en: Tips &amp; Tricks
de: Tipps &amp; Tricks

note: Tag: para +> trunk5 stable5
en: Once you have understood how the context switching works it will be easy to write highlight definitions. Though you should carefully check what rule you choose in what situation. Regular expressions are very mighty, but they are slow compared to the other rules. So you may consider the following tips.
de: Wenn Sie einmal verstanden haben, wie das Umschalten zwischen Kontexten funktioniert, dann ist es einfach Hervorhebungsdefinitionen zu schreiben. Sie sollten jedoch sorgfältig entscheiden, welche Regel in welcher Situation Sie verwenden. Reguläre Ausdrücke sind sehr leistungsfähig, aber verglichen mit einfachen Regeln langsam. Sie sollten daher die folgenden Tipps beachten.

note: Tag: para +> trunk5 stable5
en: If you only match two characters use <userinput>Detect2Chars</userinput> instead of <userinput>StringDetect</userinput>. The same applies to <userinput>DetectChar</userinput>.
de: Wenn Sie nur zwei Zeichen vergleichen, dann benutzen Sie <userinput>Detect2Chars</userinput> an Stelle von <userinput>StringDetect</userinput>. Das Gleiche gilt für <userinput>DetectChar</userinput>.

note: Tag: para +> trunk5 stable5
en: Regular expressions are easy to use but often there is another much faster way to achieve the same result. Consider you only want to match the character <userinput>'#'</userinput> if it is the first character in the line. A regular expression based solution would look like this: <programlisting>&lt;RegExpr attribute=&quot;Macro&quot; context=&quot;macro&quot; String=&quot;^\s*#&quot; /&gt;</programlisting> You can achieve the same much faster in using: <programlisting>&lt;DetectChar attribute=&quot;Macro&quot; context=&quot;macro&quot; char=&quot;#&quot; firstNonSpace=&quot;true&quot; /&gt;</programlisting> If you want to match the regular expression <userinput>'^#'</userinput> you can still use <userinput>DetectChar</userinput> with the attribute <userinput>column=&quot;0&quot;</userinput>. The attribute <userinput>column</userinput> counts characters, so a tabulator is only one character.
de: Reguläre Ausdrücke sind einfach zu benutzen, aber oft gibt es einen anderen viel schnelleren Weg, um das gleiche Ergebnis zu erreichen. Nehmen Sie an, Sie wollen feststellen, ob das Zeichen <userinput>'#'</userinput> das erste Zeichen einer Zeile ist. Ein regulärer Ausdruck dafür wäre: <programlisting>&lt;RegExpr attribute=&quot;Macro&quot; context=&quot;macro&quot; String=&quot;^\s*#&quot; /&gt; </programlisting> Sie können aber auch die wesentlich schnellere Lösung: <programlisting>&lt;DetectChar attribute=&quot;Macro&quot; context=&quot;macro&quot; char=&quot;#&quot; firstNonSpace=&quot;true&quot; /&gt;</programlisting> benutzen. An Stelle des regulären Ausdrucks <userinput>'^#'</userinput> können Sie <userinput>DetectChar</userinput> mit der Eigenschaft <userinput>column=&quot;0&quot;</userinput> benutzen. Die Eigenschaft <userinput>column</userinput> zählt Zeichenbasiert, sodass auch ein Tabulator nur ein Zeichen ist.

note: Tag: para +> trunk5 stable5
en: In <userinput>RegExpr</userinput> rules, use the attribute <userinput>column="0"</userinput> if the pattern <userinput>^PATTERN</userinput> will be used to match text at the beginning of a line. This improves performance, as it will avoid looking for matches in the rest of the columns.
de: Verwenden Sie in <userinput>RegExpr</userinput>-Regeln das Attribut <userinput>column="0"</userinput>, wenn mit dem Muster <userinput>^PATTERN</userinput> Text am Anfang einer Zeile gefunden werden soll. Dies ist schneller, da nicht mehr in den restlichen Spalten der Zeile nach Übereinstimmungen gesucht wird.

note: Tag: para +> trunk5 stable5
en: In regular expressions, use non-capturing groups <userinput>(?:PATTERN)</userinput> instead of capturing groups <userinput>(PATTERN)</userinput>, if the captures will not be used in the same regular expression or in dynamic rules. This avoids storing captures unnecessarily.
de: Verwenden Sie in regulären Ausdrücken nicht-erfassende Gruppen <userinput>(?:PATTERN)</userinput> anstelle von erfassenden Gruppen <userinput>(PATTERN)</userinput>, wenn die Erfassungen nicht in demselben regulären Ausdruck oder in dynamischen Regeln verwendet werden. Dadurch wird das unnötige Speichern von Erfassungen vermieden.

note: Tag: para +> trunk5 stable5
en: You can switch contexts without processing characters. Assume that you want to switch context when you meet the string <userinput>*/</userinput>, but need to process that string in the next context. The below rule will match, and the <userinput>lookAhead</userinput> attribute will cause the highlighter to keep the matched string for the next context.
de: Sie können zwischen Kontexten umschalten, ohne Zeichen zu verarbeiten. Angenommen, Sie wollen den Kontext umschalten, wenn Sie die Zeichenfolge <userinput>*/</userinput> finden, aber Sie müssen diese Zeichenfolge im nächsten Kontext verarbeiten. Die folgende Regel trifft zu und die Eigenschaft <userinput>lookAhead</userinput> sorgt dafür, dass die zutreffende Zeichenfolge für den folgenden Kontext bereitgehalten wird.

note: Tag: para +> trunk5 stable5
en: Use <userinput>DetectSpaces</userinput> if you know that many whitespaces occur.
de: Benutzen Sie <userinput>DetectSpaces</userinput>, wenn Sie wissen, dass mehrere Zwischenräume vorkommen.

note: Tag: para +> trunk5 stable5
en: Use <userinput>DetectIdentifier</userinput> instead of the regular expression <userinput>'[a-zA-Z_]\w*'</userinput>.
de: Benutzen Sie <userinput>DetectIdentifier</userinput> an Stelle des regulären Ausdrucks <userinput>'[a-zA-Z_]\w*'</userinput>.

note: Tag: para +> trunk5 stable5
en: Use default styles whenever you can. This way the user will find a familiar environment.
de: Benutzen Sie Standardstile wann immer das möglich ist. Die Benutzer finden dadurch eine vertraute Umgebung vor.

note: Tag: para +> trunk5 stable5
en: Look into other &XML; files to see how other people implement tricky rules.
de: Sehen Sie in anderen &XML;-Dateien nach, wie andere Benutzer komplizierte Regeln geschrieben haben.

note: Tag: para +> trunk5 stable5
en: You can validate every &XML; file by using the command <command>validatehl.sh language.xsd mySyntax.xml</command>. The files <filename>validatehl.sh</filename> and <filename>language.xsd</filename> are available in <ulink url="https://commits.kde.org/syntax-highlighting?path=data/schema">Syntax Highlighting repository</ulink>.
de: Sie können die Gültigkeit jeder &XML;-Datei mit dem Befehl <command>validatehl.sh language.xsd mySyntax.xml</command> überprüfen. Die Dateien <filename>validatehl.sh</filename> und <filename>language.xsd</filename> finden Sie im <ulink url="https://commits.kde.org/syntax-highlighting?path=data/schema">Syntax-Highlighting-Repository</ulink>.

note: Tag: para +> trunk5 stable5
en: If you repeat complex regular expression very often you can use <emphasis>ENTITIES</emphasis>. Example:
de: Wenn Sie komplexe reguläre Ausdrücke oft wiederholen, können Sie  <emphasis>ENTITIES</emphasis> benutzen. Beispiel:

note: Tag: para +> trunk5 stable5
en: Now you can use <emphasis>&amp;myref;</emphasis> instead of the regular expression.
de: Nun können Sie <emphasis>&amp;myref;</emphasis> an Stelle des regulären Ausdrucks benutzen.

note: Tag: title +> trunk5 stable5
en: Working with Color Themes
de: Arbeiten mit Farbschemata

note: Tag: para +> trunk5 stable5
en: Color themes define the colors of the <link linkend="kate-part">text editing area</link> and the <link linkend="highlight">syntax highlighting</link>. A color theme encompasses the following:
de: Farbschemata definieren die Farben des <link linkend="kate-part">Text-Editierbereichs</link> und der <link linkend="highlight">Syntaxhervorhebung</link>. Ein Farbschema umfasst die folgenden Punkte:

note: Tag: para +> trunk5 stable5
en: The text style, used for syntax highlighting through the <emphasis>default styles attributes</emphasis>. For example, the text color and the selected text color.
de: Der Textstil für die Syntaxhervorhebung durch die <emphasis>Standard-Stilattribute</emphasis>. Zum Beispiel die Textfarbe und die ausgewählte Textfarbe.

note: Tag: para +> trunk5 stable5
en: The background of the text editing area, including the text selection and the current line.
de: Der Hintergrund des Textbearbeitungsbereichs, einschließlich der Textauswahl und der aktuellen Zeile.

note: Tag: para +> trunk5 stable5
en: The icon border of the text area: their background, the separator line, the line numbers, the line word wrap markers, the modified line marks and the code folding.
de: Die Symbolumrandung des Textbereichs, deren Hintergrund, die Trennlinie, die Zeilennummern, die Zeilenumbruchmarkierungen, die geänderten Zeilenmarkierungen und die Quelltextausblendung.

note: Tag: para +> trunk5 stable5
en: Text decorators such as the search markers, the indentation and tab/space line marks, the bracket matching and the spell checking.
de: Textmarkierungen wie die Suchmarkierungen, die Einrückung und die Zeilenmarkierungen für Tabulator-/Leerzeichen, zusammengehörende Klammern und die Rechtschreibprüfung.

note: Tag: para +> trunk5 stable5
en: Bookmarks and snippets.
de: Lesezeichen und Textbausteine.

note: Tag: para +> trunk5 stable5
en: To avoid confusion, the following is out of scope:
de: Um Verwechslungen zu vermeiden, liegt das Folgende außerhalb des Anwendungsbereichs:

note: Tag: para +> trunk5 stable5
en: The font type and the font size.
de: Die Schriftart und Schriftgröße.

note: Tag: para +> trunk5 stable5
en: The colors of the text editing application, such as the scroll bar map, the menus, the tab bar, the window color, etc. In &kde; applications, like &kate; or &kdevelop;, these colors are defined by the <userinput>&kde; &plasma; global color scheme</userinput>, which are set in the <ulink url="help:/kcontrol/colors/"><quote>Colors</quote> module in &systemsettings;</ulink> or from the application itself in the menu <menuchoice><guimenu>Settings</guimenu><guisubmenu>Color Scheme</guisubmenu></menuchoice>.
de: Die Farben der Textbearbeitung, wie z. B. die Textgrafik auf der Bildlaufleiste, die Menüs, die Unterfensterleiste, die Fensterfarbe usw. In &kde; Anwendungen, wie &kate; oder &kdevelop;, werden diese Farben durch das <userinput>globale &kde; &plasma;,Farbschema</userinput> definiert, die im Modul <ulink url="help:/kcontrol/colors/"><quote>Farben</quote> in den &systemsettings;</ulink> oder von der Anwendung selbst im Menü <menuchoice><guimenu>Einstellungen</guimenu><guisubmenu>Farbschema</guisubmenu></menuchoice> festgelegt werden.

note: Tag: phrase +> trunk5 stable5
en: <phrase><quote>Breeze Light</quote> and <quote>Breeze Dark</quote> color themes with the <quote>C++</quote> syntax highlighting.</phrase>
de: <phrase>Die Farbschemata <quote>Breeze-Hell</quote> und <quote>Breeze-Dunkel</quote> mit der Syntaxhervorhebung für <quote>C++</quote>.</phrase>

note: Tag: para +> trunk5 stable5
en: <para><quote>Breeze Light</quote> and <quote>Breeze Dark</quote> color themes with the <quote>C++</quote> syntax highlighting.</para>
de: <para>Die Farbschemata <quote>Breeze-Hell</quote> und <quote>Breeze-Dunkel</quote> mit der Syntaxhervorhebung für <quote>C++</quote>.</para>

note: Tag: title +> trunk5 stable5
en: The KSyntaxHighlighting Color Themes
de: Farbschemata für KSyntaxHighlighting

note: Tag: para +> trunk5 stable5
en: The <ulink url="https://api.kde.org/frameworks/syntax-highlighting/html/">KSyntaxHighlighting</ulink> framework, which is the <link linkend="highlight">syntax highlighting</link> engine, is the library that <userinput>provides and manages the color themes</userinput>. This is part of &kde; &frameworks; and is used in &kde; text editors such as <ulink url="https://apps.kde.org/en/kate">&kate;</ulink>, <ulink url="https://apps.kde.org/en/kwrite">&kwrite;</ulink>, <ulink url="https://apps.kde.org/en/kile">&kile;</ulink> and <ulink url="https://apps.kde.org/en/kdevelop">&kdevelop;</ulink>. This dependency looks like the following:
de: Das Framework <ulink url="https://api.kde.org/frameworks/syntax-highlighting/html/">KSyntaxHighlighting</ulink> enthält die <link linkend="highlight">Syntax-Highlighting</link>-Engine und ist eine Bibliothek, die <userinput>die Farbschemata bereitstellt und verwaltet</userinput>. Die Bibliothek ist Teil von von &kde;-&frameworks; und wird in &kde;-Texteditoren wie <ulink url="https://apps.kde.org/en/kate">&kate;</ulink>, <ulink url="https://apps.kde.org/de/kwrite">&kwrite;</ulink>, <ulink url="https://apps.kde.org/en/.kile">&kile;</ulink> und <ulink url="https://apps.kde.org/en/kdevelop">&kdevelop;</ulink> verwendet. Diese Abhängigkeit sieht wie folgt aus:

note: Tag: phrase +> trunk5 stable5
en: Dependence of &kde; &frameworks; 5 libraries on text editors.
de: Abhängigkeit von &kde;-&frameworks; 5 Bibliotheken von Texteditoren.

note: Tag: para +> trunk5 stable5
en: Dependence of &kde; &frameworks; libraries on text editors.
de: Abhängigkeit von &kde;-&frameworks;-Bibliotheken von Texteditoren.

note: Tag: para +> trunk5 stable5
en: KSyntaxHighlighting includes a variety of built-in themes which are displayed on the <ulink url="https://kate-editor.org/themes/"><quote>Color Themes</quote> page of the Kate editor website</ulink>.
de: KSyntaxHighlighting enthält eine Vielzahl von eingebauten Schemata, die auf der Seite <ulink url="https://kate-editor.org/themes/"><quote>Farbschemata</quote> der Webseite des Kate-Editors zu finden sind</ulink>.

note: Tag: para +> trunk5 stable5
en: The <ulink url="https://api.kde.org/frameworks/ktexteditor/html/">KTextEditor</ulink> framework, which is the text editing engine, provides a user interface for creating and editing color themes, including a tool for importing and exporting themes. This is the simplest way to create and edit them, you can access it from the <link linkend="config-dialog"><quote>Configure</quote> dialog</link> of the text editor. More details in <xref linkend="color-themes-gui"/>.
de: Das Framework <ulink url="https://api.kde.org/frameworks/ktexteditor/html/">KTextEditor</ulink> enthält eine Benutzeroberfläche zum Erstellen und Bearbeiten von Farbschemata und ermöglicht das Importieren und Exportieren von Schemata. Sie können diesen Dialog in den <link linkend="config-dialog"><quote>Einstellungen</quote></link> des Texteditors öffnen. Weitere Informationen finden Sie im Abschnitt <xref linkend="color-themes-gui"/>.

note: Tag: phrase +> trunk5 stable5
en: <phrase>The &GUI; to manage color themes in &kate;'s settings.</phrase>
de: <phrase>Die &GUI; zur Bearbeitung von Farbschemata in den Einstellungen von &kate;.</phrase>

note: Tag: para +> trunk5 stable5
en: <para>The &GUI; to manage color themes in &kate;'s settings.</para>
de: <para>Die &GUI; zur Bearbeitung von Farbschemata in den Einstellungen von &kate;.</para>

note: Tag: para +> trunk5 stable5
en: It is important to mention that, in the &kde; text editors like &kate; or &kdevelop;, the KSyntaxHighlighting color themes are used <ulink url="https://kate-editor.org/post/2020/2020-09-13-kate-color-themes-5.75/">since &kde; &frameworks; 5.75</ulink>, released on October 10, 2020. Previously, &kate;'s color schemes (KConfig based schema config) were used and are now deprecated. However, it is possible to convert the old &kate; schemes to the KSyntaxHighlighting color themes. The <ulink url="https://invent.kde.org/frameworks/syntax-highlighting">KSyntaxHighlighting repository</ulink> includes the <userinput>utils/kateschema_to_theme_converter.py</userinput> script and the <userinput>utils/schema-converter/</userinput> utility for that purpose.
de: In den &kde;-Texteditoren wie &kate; oder &kdevelop; werden die Farbschemata von KSyntaxHighlighting seit <ulink url="https://kate-editor.org/post/2020/2020-09-13-kate-color-themes-5.75/">&kde; &frameworks; 5.75</ulink> vom 10. Oktober 2020 verwendet. Zuvor wurden die Farbschemata von &kate; (KConfig-basierte Schema-Einstellungen) verwendet und die sind nun veraltet. Es ist jedoch möglich, die alten &kate;-Schemata in die KSyntaxHighlighting-Farbschemata umzuwandeln. Das <ulink url="https://invent.kde.org/frameworks/syntax-highlighting">KSyntaxHighlighting-Quelltextarchiv</ulink> enthält das Skript <userinput>utils/kateschema_to_theme_converter.py</userinput> und den Ordner <userinput>utils/schema-converter/</userinput> mit weiteren Hilfsprogrammen für diesen Zweck.

note: Tag: title +> trunk5 stable5
en: The Color Themes &JSON; Format
de: Das &JSON;-Format der Farbschemata

note: Tag: para +> trunk5 stable5
en: Color themes are stored in &JSON; format files, with the <userinput>.theme</userinput> extension.
de: Farbschemata werden in Dateien im &JSON;-Format mit der Dateierweiterung <userinput>.theme</userinput> gespeichert.

note: Tag: para +> trunk5 stable5
en: In the <ulink url="https://invent.kde.org/frameworks/syntax-highlighting"> KSyntaxHighlighting source code</ulink>, the &JSON; files of built-in themes are located in the <userinput>data/themes/</userinput> directory. Note that in text editors, the built-in themes are compiled into the KSyntaxHighlighting library, therefore, the way to access them is through the source code or by <link linkend="color-themes-gui-import-export">exporting them from the &GUI; to manage themes of KTextEditor</link>.
de: Im <ulink url="https://invent.kde.org/frameworks/syntax-highlighting"> KSyntaxHighlighting-Quelltext</ulink> befinden sich die &JSON;-Dateien der eingebauten Schemata im Ordner <userinput>data/themes/</userinput>. Die eingebauten Schemata werden in die Bibliothek KSyntaxHighlighting kompiliert, daher ist der Zugriff auf sie über den Quelltext oder durch <link linkend="color-themes-gui-import-export">Exportieren aus der &GUI; zur Verwaltung der Schemata von KTextEditor</link> möglich.

note: Tag: para +> trunk5 stable5
en: It is also possible to easily add additional or custom themes, which are loaded from the file system. User-customized theme files are located in the <filename class="directory">org.kde.syntax-highlighting/themes/</filename> directory in your user folder, which you can find with the command <userinput><command>qtpaths</command><option> --paths GenericDataLocation</option></userinput> and are commonly <filename class="directory"><envar>$HOME</envar>/.local/share/</filename> and <filename class="directory">/usr/share/</filename>.
de: Sie können auch auf einfache Weise zusätzliche oder benutzerdefinierte Schemata hinzuzufügen, die aus dem Dateisystem geladen werden. Benutzerdefinierte Schemadateien befinden sich im Ordner <filename class="directory">org.kde.syntax-highlighting/themes/</filename> in Ihrem persönlichen Ordner, den Sie mit dem Befehl <userinput><command>qtpaths</command><option> --paths GenericDataLocation</option></userinput> finden können, üblicherweise <filename class="directory"><envar>$HOME</envar>/.local/share/</filename> und <filename class="directory">/usr/share/</filename>.

note: Tag: para +> trunk5 stable5
en: In Flatpak and Snap packages, the above directory will not work as the data location is different for each application. In a Flatpak application, the location of custom theme files is usually <filename class="directory"><envar>$HOME</envar>/.var/app/<replaceable>flatpak-package-name</replaceable>/data/org.kde.syntax-highlighting/themes/</filename> and in a Snap application that location is <filename class="directory"><envar>$HOME</envar>/snap/<replaceable>snap-package-name</replaceable>/current/.local/share/org.kde.syntax-highlighting/themes/</filename>.
de: Bei Flatpak- und Snap-Paketen funktioniert der obige Ordner nicht, da der Speicherort der Daten für jede Anwendung unterschiedlich ist. In einer Flatpak-Anwendung ist der Speicherort der benutzerdefinierten Schemadateien normalerweise <filename class="directory"><envar>$HOME</envar>/.var/app/<replaceable>flatpak-package-name</replaceable>/data/org.kde.syntax-highlighting/themes/</filename> und in einer Snap-Anwendung ist dieser Ort <filename class="directory"><envar>$HOME</envar>/snap/<replaceable>snap-package-name</replaceable>/current/.local/share/org.kde.syntax-highlighting/themes/</filename>.

note: Tag: para +> trunk5 stable5
en: On &Windows; these files are located <filename>%USERPROFILE%&#92;AppData&#92;Local&#92;org.kde.syntax-highlighting&#92;themes</filename>. <replaceable>%USERPROFILE%</replaceable> usually expands to <filename>C:&#92;Users&#92;<replaceable>user-name</replaceable></filename>.
de: Auf &Windows;-Systemen finden Sie diese Dateien unter <filename>%USERPROFILE%&#92;AppData&#92;Local&#92;org.kde.syntax-highlighting&#92;themes</filename>. <replaceable>%USERPROFILE%</replaceable>. Dabei ist <replaceable>%USERPROFILE%</replaceable> normalerweise <filename>C:&#92;Users&#92;<replaceable>user-name</replaceable></filename>.

note: Tag: para +> trunk5 stable5
en: In summary, for most configurations the custom themes directory is as follows:
de: Zusammenfassend lässt sich sagen, dass der Ordner für benutzerdefinierte Schemata bei den meisten Einrichtungen wie folgt aussieht:

note: Tag: para +> trunk5 stable5
en: If multiple theme files exist with the same name, the file with the highest <userinput>revision</userinput> will be loaded.
de: Wenn mehrere Schemadateien mit demselben Namen existieren, wird die Datei mit der höchsten <userinput>Revision</userinput> geladen.

note: Tag: title +> trunk5 stable5
en: The &JSON; Structure
de: Dit &JSON;-Struktur

note: Tag: para +> trunk5 stable5
en: The structure of a &JSON; file is explained on <ulink url="https://www.json.org">their website</ulink>. Basically, a &JSON; format file consists of:
de: Der Aufbau einer &JSON;-Datei wird auf <ulink url="https://www.json.org">dieser Webseite</ulink> erläutert. Grundsätzlich besteht eine Datei im &JSON;-Format aus:

note: Tag: para +> trunk5 stable5
en: Collections of key/value pairs, separated by commas and grouped in <userinput>{ }</userinput> which we will call <quote>objects</quote>.
de: Sammlungen von Schlüssel/Wert-Paaren, getrennt durch Kommas und gruppiert in <userinput>{ }</userinput>, auch <quote>Objekte</quote> genannt.

note: Tag: para +> trunk5 stable5
en: Ordered lists of values, separated by commas and grouped in <userinput>[ ]</userinput> which we will call <quote>array</quote>.
de: Sortierte Listen von Werten, getrennt durch Kommas und gruppiert in <userinput>[ ]</userinput>, auch <quote>Feld</quote> genannt.

note: Tag: para +> trunk5 stable5
en: The nomenclature <quote>key</quote>, <quote>value</quote>, <quote>object</quote> and <quote>array</quote> will be used in this article. If this is your first time working with &JSON; files, understanding them is as simple as looking at the examples below.
de: Die Bezeichnungen <quote>Schlüssel</quote>, <quote>Wert</quote>, <quote>Objekt</quote> und <quote>Feld</quote> werden hier verwendet. Falls Sie zum ersten Mal mit &JSON;-Dateien arbeiten, helfen die folgenden Beispiele beim Verständnis.

note: Tag: title +> trunk5 stable5
en: Main Sections of the &JSON; Color Theme Files
de: Hauptabschnitte der &JSON;-Farbschemadateien

note: Tag: para +> trunk5 stable5
en: The root object of the color theme &JSON; file contains the following schema keys:
de: Das Basisobjekt der Farbschemadateien im &JSON;-Format enthält die folgenden Schema-Schlüssel:

note: Tag: para +> trunk5 stable5
en: <userinput>metadata</userinput>: It is mandatory. The value is an object with the theme's metadata, such as name, revision and license.
de: <userinput>metadata</userinput>: Dies ist obligatorisch. Der Wert ist ein Objekt mit den Metadaten des Schemas wie Name, Revision und Lizenz.

note: Tag: para +> trunk5 stable5
en: This is detailed in <xref linkend="color-themes-json-metadata"/>.
de: Ausführliche Informationen dazu unter <xref linkend="color-themes-json-metadata"/>.

note: Tag: para +> trunk5 stable5
en: <userinput>editor-colors</userinput>: It is mandatory. The value is an object with the colors of the text editing area, such as the background, the icon border and the text decoration.
de: <userinput>Editor-Farben</userinput>: Dies ist obligatorisch. Der Wert ist ein Objekt mit den Farben des Textbearbeitungsbereichs wie dem Hintergrund, dem Symbolrand und der Textdekoration.

note: Tag: para +> trunk5 stable5
en: This is detailed in <xref linkend="color-themes-editor-colors"/>.
de: Ausführliche Informationen dazu unter <xref linkend="color-themes-editor-colors"/>.

note: Tag: para +> trunk5 stable5
en: <userinput>text-styles</userinput>: It is mandatory. The value is an object with the <emphasis>default text style</emphasis> attributes of the syntax highlighting. Each attribute defines its <emphasis>text color</emphasis>, its <emphasis>selected text color</emphasis>, or whether it <emphasis>bold</emphasis> or <emphasis>italic</emphasis>, for example. The text styles can be referenced from <link linkend="kate-highlight-default-styles">the attributes of the syntax definition &XML; files</link>.
de: <userinput>Textstile</userinput>: Dies ist obligatorisch. Der Wert ist ein Objekt mit dem Attribut<emphasis>Standard-Textstil</emphasis> der Syntaxhervorhebung.  Jedes Attribut definiert seine <emphasis>Textfarbe</emphasis>, seine <emphasis>gewählte Textfarbe</emphasis>, oder ob es zum Beispiel <emphasis>fett</emphasis> oder <emphasis>kursiv</emphasis> sein soll. Die Textstile können aus den <link linkend="kate-highlight-default-styles">Attributen der Syntaxdefinitionsdateien referenziert werden</link>.

note: Tag: para +> trunk5 stable5
en: This is detailed in <xref linkend="color-themes-text-styles"/>.
de: Ausführliche Informationen dazu unter <xref linkend="color-themes-text-styles"/>.

note: Tag: para +> trunk5 stable5
en: <userinput>custom-styles</userinput>: It is optional. Defines text styles for the attributes of specific syntax highlighting definitions. For example, in a highlighting definition such as <userinput>Python</userinput> or <userinput>Markdown</userinput> you can specify a different text style that overrides the default defined in <userinput>text-styles</userinput>.
de: <userinput>custom-styles</userinput>: Ist optional. Definiert Textstile für die Attribute bestimmter Definitionen von Syntaxhervorhebungen. In einer Hervorhebungsdefinition wie <userinput>Python</userinput> oder <userinput>Markdown</userinput> können Sie einen anderen Textstil angeben, der den in <userinput>text-styles</userinput> definierten Standard überschreibt.

note: Tag: para +> trunk5 stable5
en: This is detailed in <xref linkend="color-themes-custom-styles"/>.
de: Ausführliche Informationen dazu unter <xref linkend="color-themes-custom-styles"/>.

note: Tag: para +> trunk5 stable5
en: The &JSON; language does not support comments. However, you can use the optional key <userinput>_comments</userinput> in the root object to write comments, for example, if you are adapting an existing theme you can put the URL of the original repository. The most practical way is to use an array of strings.
de: Die Sprache &JSON; unterstützt keine Kommentare. Sie können jedoch mit dem optionalen Schlüssel <userinput>_comments</userinput> im Basisobjekt Kommentare schreiben. Wenn sie zum Beispiel ein bestehendes Schema anpassen, können Sie die URL des ursprünglichen Archivs angeben. Der praktischste Weg ist die Verwendung eines Felds mit Zeichenfolgen.

note: Tag: para +> trunk5 stable5
en: Below is an example file for the <quote>Breeze Light</quote> theme. You can notice that, to avoid the example being too large, the <userinput>editor-colors</userinput> and <userinput>text-styles</userinput> objects do not contain all the required keys. You can see the full archive of <ulink url="https://invent.kde.org/frameworks/syntax-highlighting/-/blob/master/data/themes/breeze-light.theme"> the <quote>Breeze Light</quote> theme in the KSyntaxHighlighting repository</ulink>.
de: Nachfolgend finden Sie eine Beispieldatei für das Schema <quote>Breeze-Hell</quote>-. Um das Beispiel nicht zu lang werden zu lassen, enthalten die Objekte <userinput>editor-colors</userinput> und <userinput>text-styles</userinput> nicht alle alle erforderlichen Schlüssel. Sie können die vollständige Datei des <ulink url="https://invent.kde.org/frameworks/syntax-highlighting/-/blob/master/data/themes/breeze-light.theme">Schemas <quote>Breeze-Hell</quote> aus dem KSyntaxHighlighting-Quelltextarchiv</ulink> herunterladen.

note: Tag: title +> trunk5 stable5
en: Metadata
de: Metadaten

note: Tag: para +> trunk5 stable5
en: The &JSON; object of the <userinput>metadata</userinput> key contains relevant information on the theme. This object has the following keys:
de: Das &JSON; Objekt des Schlüssels <userinput>metadata</userinput> enthält die wichtigsten Informationen über das Schema. Dieses Objekt hat die folgenden Schlüssel:

note: Tag: para +> trunk5 stable5
en: <userinput>name</userinput>: It is a <emphasis>string</emphasis> sets the name of the language. It appears in the menus and dialogs afterwards. It is mandatory.
de: <userinput>Name</userinput>: Dies ist eine <emphasis>Zeichenfolge</emphasis> mit dem Name der Sprache. Dies wird in den Menüs und Dialogen angezeigt und ist verpflichtend.

note: Tag: para +> trunk5 stable5
en: <userinput>revision</userinput>: It is an <emphasis>integer</emphasis> number that specifies the current revision of the theme file. Whenever you update a color theme file, make sure to increase this number. It is mandatory.
de: <userinput>revision</userinput>: Es ist eine <emphasis>ganze Zahl</emphasis>. die die aktuelle Revision der Schemadatei angibt. Wann immer Sie eine Farbschemadatei aktualisieren, müssen Sie diese Zahl vergrößern. Diese Wert ist erforderlich.

note: Tag: para +> trunk5 stable5
en: <userinput>license</userinput>: It is a <emphasis>string</emphasis> that defines the license of the theme, using the identifier <userinput>SPDX-License-Identifier</userinput> from the standard <ulink url="https://spdx.dev/">SPDX license communication format</ulink>. It is optional.
de: <userinput>Lizenz</userinput>: Eine <emphasis>Zeichenfolge</emphasis>, die die Lizenz des Schemas  definiert, unter Verwendung des Lizenzbezeichner <userinput>SPDX-License-Identifier</userinput> aus dem Standard <ulink url="https://spdx.dev/">SPDX-Lizenzkommunikationsformat</ulink>. Dies ist optional.

note: Tag: para +> trunk5 stable5
en: You can see the full list of SPDX license identifiers <ulink url="https://spdx.org/licenses/">here</ulink>.
de: Die vollständige Liste der SPDX-Lizenzbezeichner können Sie <ulink url="https://spdx.org/licenses/">hier</ulink> einsehen.

note: Tag: para +> trunk5 stable5
en: <userinput>copyright</userinput>: It is an <emphasis>array</emphasis> of <emphasis>strings</emphasis> that specifies the authors of the theme, using the identifier <userinput>SPDX-FileCopyrightText</userinput> from the standard <ulink url="https://spdx.dev/">SPDX license communication format</ulink>. It is optional.
de: <userinput>copyright</userinput>: Ein <emphasis>Feld</emphasis> mit <emphasis>Zeichenfolgen</emphasis>, das die Autoren des Schemas angibt, mit  <userinput>SPDX-FileCopyrightText</userinput> aus dem Standard <ulink url="https://spdx.dev/">SPDX-Lizenzkommunikationsformat</ulink>. Dies ist optional.

note: Tag: title +> trunk5 stable5
en: Colors in Detail
de: Farben im Detail:

note: Tag: para +> trunk5 stable5
en: This section details all the available color attributes and available color settings.
de: In diesem Abschnitt werden all verfügbaren Attribute und Einstellungen für Farben aufgeführt:

note: Tag: title +> trunk5 stable5
en: Editor Colors
de: Editor-Farben

note: Tag: para +> trunk5 stable5
en: Corresponds to the colors of the <link linkend="kate-part">text editing area</link>.
de: Entspricht den Farben im <link linkend="kate-part">Editorbereichs</link>.

note: Tag: para +> trunk5 stable5
en: In the <link linkend="color-themes-json">&JSON; theme file</link>, the respective key <userinput>editor-colors</userinput> has as value an <emphasis>object</emphasis> where each key references an attribute color of the text editor. Here, <userinput>all available keys are mandatory</userinput>, their values are <userinput>strings</userinput> with hexadecimal color codes, like <quote>#00B5CF</quote>.
de: In der <link linkend="color-themes-json">&JSON;-Schemadatei</link> ist der Wert des entsprechenden Schlüssels <userinput>editor-colors</userinput> ein <emphasis>object</emphasis> wobei jeder Schlüssel auf eine Attribut-Farbe des des Texteditors verweist. Hier sind <userinput>alle verfügbaren Schlüssel notwendig</userinput>, ihre Werte sind <userinput>Zeichenfolgen</userinput> mit hexadezimalen Farbcodes wie <quote>#00B5CF</quote>.

note: Tag: para +> trunk5 stable5
en: In <link linkend="color-themes-gui">the &GUI; to manage themes of KTextEditor</link>, these attributes can be modified in the <userinput><guilabel>Colors</guilabel></userinput> tab.
de: In der <link linkend="color-themes-gui">&GUI; zum Verwalten von Schemata für KTextEditor</link> können diese Attribute auf der Karteikarte <userinput><guilabel>Farben</guilabel></userinput> ändern.

note: Tag: para +> trunk5 stable5
en: The available keys are the following; the keys used in the <link linkend="color-themes-json">&JSON; file</link> are listed in <emphasis>bold</emphasis>, the names used in the <link linkend="color-themes-gui">&GUI;</link> are shown in parentheses.
de: Folgende Schlüssel sind verfügbar: Die Schlüssel aus der <link linkend="color-themes-json">&JSON;-Datei</link> sind <emphasis>fett</emphasis>, die Namen in der <link linkend="color-themes-gui">&GUI;</link> sind in Klammern angegeben.

note: Tag: guilabel +> trunk5 stable5
en: Editor Background Colors
de: Hintergrundfarben des Editors

note: Tag: term +> trunk5 stable5
en: <userinput>BackgroundColor</userinput> (<guilabel>Text Area</guilabel>)
de: <userinput>BackgroundColor</userinput> (<guilabel>Textbereich</guilabel>)

note: Tag: para +> trunk5 stable5
en: This is the default background for the editor area, it will be the dominant color on the editor area.
de: Dies ist die Standardhintergrundfarbe für den Editorbereich, die vorherrschende Farbe im Editorbereich.

note: Tag: term +> trunk5 stable5
en: <userinput>TextSelection</userinput> (<guilabel>Selected Text</guilabel>)
de: <userinput>TextSelection</userinput> (<guilabel>Ausgewählter Text</guilabel>)

note: Tag: para +> trunk5 stable5
en: This is the background for selected text.
de: Dies ist die Hintergrundfarbe für ausgewählten Text.

note: Tag: term +> trunk5 stable5
en: <userinput>CurrentLine</userinput> (<guilabel>Current Line</guilabel>)
de: <userinput>CurrentLine</userinput> (<guilabel>Aktuelle Zeile</guilabel>)

note: Tag: para +> trunk5 stable5
en: Set the color for the current line. Setting this a bit different from the Normal text background helps to keep focus on the current line.
de: Setzt die Farbe für die aktuelle Zeile. Die Farbe ist ein klein wenig anders als die normale Hintergrundfarbe, sodass Sie die aktuelle Zeile schnell wiederfinden.

note: Tag: term +> trunk5 stable5
en: <userinput>SearchHighlight</userinput> (<guilabel>Search Highlight</guilabel>)
de: <userinput>SearchHighlight</userinput> (<guilabel>Suchen-Hervorhebung</guilabel>)

note: Tag: para +> trunk5 stable5
en: Set the color for the text that matches your last search.
de: Die Farbe für den Text, der bei der letzten Suche gefunden wurde.

note: Tag: term +> trunk5 stable5
en: <userinput>ReplaceHighlight</userinput> (<guilabel>Replace Highlight</guilabel>)
de: <userinput>ReplaceHighlight</userinput> (<guilabel>Ersetzen-Hervorhebung</guilabel>)

note: Tag: para +> trunk5 stable5
en: Set the color for the text that matches your last replace operation.
de: Die Farbe für den Text, der bei der letzten Suche gefunden wurde.

note: Tag: guilabel +> trunk5 stable5
en: Icon Border
de: Symbolrand

note: Tag: term +> trunk5 stable5
en: <userinput>IconBorder</userinput> (<guilabel>Background Area</guilabel>)
de: <userinput>IconBorder</userinput> (<guilabel>Hintergrundbereich</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used for the marks, line numbers and folding marker borders in the left side of the editor view when they are displayed.
de: Diese Farbe wird für den Hintergrund des Symbolrandes und des Zeilennummerrandes an der linken Seite des Editorfensters verwendet.

note: Tag: term +> trunk5 stable5
en: <userinput>LineNumbers</userinput> (<guilabel>Line Numbers</guilabel>)
de: <userinput>LineNumbers</userinput> (<guilabel>Zeilennummern</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to draw the line numbers on the left side of the view when displayed.
de: Diese Farbe wird für die Zeilennummern am linken Rand des Editorbereiches verwendet.

note: Tag: term +> trunk5 stable5
en: <userinput>CurrentLineNumber</userinput> (<guilabel>Current Line Number</guilabel>)
de: <userinput>CurrentLineNumber</userinput> (<guilabel>Aktuelle Zeilennummer</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to draw the line number of the current line, on the left side of the view when displayed. Setting this a bit different from <quote>LineNumbers</quote> helps to keep focus on the current line.
de: Diese Farbe wird verwendet, um die Zeilennummer der aktuellen Zeile darzustellen und wird auf der linken Seite der Ansicht eingeblendet. Wenn Sie dies etwas anders als für<quote>LineNumbers</quote> einstellen, erleichtert das die aktuellen Zeile im Blick zu behalten.

note: Tag: term +> trunk5 stable5
en: <userinput>Separator</userinput> (<guilabel>Separator</guilabel>)
de: <userinput>Separator</userinput> (<guilabel>Trennlinie</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to draw the vertical line that separates the icon border from the background of the text area.
de: Diese Farbe wird verwendet, um die senkrechte Linie zu zeichnen, die den Symbolrand vom Hintergrund des Textbereichs trennt.

note: Tag: term +> trunk5 stable5
en: <userinput>WordWrapMarker</userinput> (<guilabel>Word Wrap Marker</guilabel>)
de: <userinput>WordWrapMarker</userinput> (<guilabel>Markierungen für Zeilenumbrüche</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to draw a pattern to the left of dynamically wrapped lines when those are aligned vertically, as well as for the static word wrap marker.
de: Diese Farbe wird benutzt, wenn am linken Rand angezeigt wird, dass Zeilen dynamisch umgebrochen und eingerückt sind, sowie auch für die Markierung von festen Zeilenumbrüchen.

note: Tag: term +> trunk5 stable5
en: <userinput>CodeFolding</userinput> (<guilabel>Code Folding</guilabel>)
de: <userinput>CodeFolding</userinput> (<guilabel>Quelltextausblendung</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to highlight the section of code that would be folded when you click on the code folding arrow to the left of a document. For more information, see <link linkend="advanced-editing-tools-code-folding">the code folding documentation</link>.
de: Mit dieser Farbe wird der Abschnitt des Quelltextes hervorgehoben, der beim Klicken auf den Pfeil zur Quelltextausblendung am linken Rand des Dokuments ausgeblendet wird Weitere Informationen finden Sie im Abschnitt <link linkend="advanced-editing-tools-code-folding">Quelltextausblendung</link>.

note: Tag: term +> trunk5 stable5
en: <userinput>ModifiedLines</userinput> (<guilabel>Modified Lines</guilabel>)
de: <userinput>ModifiedLines</userinput> (<guilabel>Geänderte Zeilen</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to highlight to the left of a document lines that have been modified but not yet saved. For more information, see <xref linkend="kate-part-line-modification"/>.
de: Mit dieser Farbe werden links neben dem Dokument Zeilen hervorgehoben, die in dieser Sitzung geändert wurden aber noch nicht gespeichert sind. Weitere Informationen finden Sie unter <xref linkend="kate-part-line-modification"/>.

note: Tag: term +> trunk5 stable5
en: <userinput>SavedLines</userinput> (<guilabel>Saved Lines</guilabel>)
de: <userinput>SavedLines</userinput> (<guilabel>Gespeicherte Zeilen</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to highlight to the left of a document lines that have been modified this session and saved. For more information, see <xref linkend="kate-part-line-modification"/>.
de: Mit dieser Farbe werden links neben dem Dokument Zeilen hervorgehoben, die in dieser Sitzung geändert wurden und bereits gespeichert sind. Weitere Informationen finden Sie unter <xref linkend="kate-part-line-modification"/>.

note: Tag: guilabel +> trunk5 stable5
en: Text Decorations
de: Textdekorationen

note: Tag: term +> trunk5 stable5
en: <userinput>SpellChecking</userinput> (<guilabel>Spelling Mistake Line</guilabel>)
de: <userinput>SpellChecking</userinput> (<guilabel>Linie für Rechtschreibfehler</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to indicate spelling mistakes.
de: Dies legt die Farbe der Linie fest, die zum Markieren von Rechtschreibfehlern verwendet wird.

note: Tag: term +> trunk5 stable5
en: <userinput>TabMarker</userinput> (<guilabel>Tab and Space Markers</guilabel>)
de: <userinput>TabMarker</userinput> (<guilabel>Markierungen für Tabulatoren und Leerzeichen</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to draw white space indicators, when they are enabled.
de: Diese Farbe wird für dir Markierung von Tabulatoren und Leerzeichen verwendet, wenn Symbole für Wortzwischenräume angezeigt werden.

note: Tag: term +> trunk5 stable5
en: <userinput>IndentationLine</userinput> (<guilabel>Indentation Line</guilabel>)
de: <userinput>IndentationLine</userinput> (<guilabel>Einrückungslinie</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to draw a line to the left of indented blocks, if <link linkend="appearance-general">that feature is enabled</link>.
de: Diese Farbe wird verwendet,um eine Linie links von eingerückten Textblöcken anzuzeigen, wenn <link linkend="appearance-general">diese Funktion aktiviert ist</link>.

note: Tag: term +> trunk5 stable5
en: <userinput>BracketMatching</userinput> (<guilabel>Bracket Highlight</guilabel>)
de: <userinput>BracketMatching</userinput> (<guilabel>Hervorhebung für Klammern</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to draw the background of matching brackets.
de: Diese Farbe wird für den Hintergrund von zusammengehörenden Klammern verwendet.

note: Tag: guilabel +> trunk5 stable5
en: Marker Colors
de: Markierungsfarben

note: Tag: term +> trunk5 stable5
en: <userinput>MarkBookmark</userinput> (<guilabel>Bookmark</guilabel>)
de: <userinput>MarkBookmark</userinput> (<guilabel>Lesezeichen</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used to indicate bookmarks. Note that this color has an opacity of 22% (and 33% for the current line) with respect to the background. For more information, see <xref linkend="kate-part-bookmarks"/>.
de: Mit dieser Farbe werden Lesezeichen angezeigt. Beachten Sie, dass diese Farbe eine Deckkraft von 22 % (und 33 % für die aktuelle Zeile) in Bezug auf den Hintergrund hat. Weitere Informationen finden Sie unter <xref linkend="kate-part-bookmarks"/>.

note: Tag: term +> trunk5 stable5
en: <userinput>MarkBreakpointActive</userinput> (<guilabel>Active Breakpoint</guilabel>)
de: <userinput>MarkBreakpointActive</userinput> (<guilabel>Aktiver Haltepunkt</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the GDB plugin to indicate an active breakpoint. Notice that this color has an opacity to the background. For more information, see <ulink url="help:/kate/kate-application-plugin-gdb.html">the GDB Plugin documentation</ulink>.
de: In dieser Farbe wird vom GDB-Modul ein aktiver Haltepunkt angezeigt, Beachten Sie, dass diese Farbe eine Deckkraft gegenüber dem Hintergrund hat. Weitere Informationen finden Sie in der Dokumentation zum <ulink url="help:/kate/kate-application-plugin-gdb.html">GDB-Modul</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>MarkBreakpointReached</userinput> (<guilabel>Reached Breakpoint</guilabel>)
de: <userinput>MarkBreakpointReached</userinput> (<guilabel>Erreichter Haltepunkt</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the GDB plugin to indicate a breakpoint you have reached while debugging. Notice that this color has an opacity to the background. For more information, see <ulink url="help:/kate/kate-application-plugin-gdb.html">the GDB Plugin documentation</ulink>.
de: In dieser Farbe wird vom GDB-Modul ein Haltepunkt angezeigt, der bei der Fehlersuche erreicht wurde. Beachten Sie, dass diese Farbe eine Deckkraft gegenüber dem Hintergrund hat. Weitere Informationen finden Sie in der Dokumentation zum <ulink url="help:/kate/kate-application-plugin-gdb.html">GDB-Modul</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>MarkBreakpointDisabled</userinput> (<guilabel>Disabled Breakpoint</guilabel>)
de: <userinput>MarkBreakpointDisabled</userinput> (<guilabel>Nicht aktiver  Haltepunkt</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the GDB plugin to indicate an inactive breakpoint. Notice that this color has an opacity to the background. For more information, see <ulink url="help:/kate/kate-application-plugin-gdb.html">the GDB Plugin documentation</ulink>.
de: In dieser Farbe wird vom GDB-Modul ein nicht aktiver Haltepunkt angezeigt, Beachten Sie, dass diese Farbe eine Deckkraft gegenüber dem Hintergrund hat. Weitere Informationen finden Sie in der Dokumentation zum <ulink url="help:/kate/kate-application-plugin-gdb.html">GDB-Modul</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>MarkExecution</userinput> (<guilabel>Execution</guilabel>)
de: <userinput>MarkExecution</userinput> (<guilabel>Ausführung</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the GDB plugin the line presently being executed. Notice that this color has an opacity to the background. For more information, see <ulink url="help:/kate/kate-application-plugin-gdb.html">the GDB Plugin documentation</ulink>.
de: In dieser Farbe wird vom GDB-Modul die zur Zeit ausgeführte Zeile angezeigt, Beachten Sie, dass diese Farbe eine Deckkraft gegenüber dem Hintergrund hat Weitere Informationen finden Sie in der Dokumentation zum <ulink url="help:/kate/kate-application-plugin-gdb.html">GDB-Modul</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>MarkWarning</userinput> (<guilabel>Warning</guilabel>)
de: <userinput>MarkWarning</userinput> (<guilabel>Warnung</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the build plugin to indicate a line that has caused a compiler warning. Notice that this color has an opacity to the background. For more information, see <ulink url="help:/kate/kate-application-plugin-build.html">the Build Plugin documentation</ulink>.
de: Mit dieser Farbe wird vom Erstellen-Modul eine Zeile eingefärbt, für die Compiler eine Warnung ausgegeben hat. Beachten Sie, dass diese Farbe eine Deckkraft gegenüber dem Hintergrund hat. Weitere Informationen finden Sie in der Dokumentation zum <ulink url="help:/kate/kate-application-plugin-build.html">Erstellen-Modul</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>MarkError</userinput> (<guilabel>Error</guilabel>)
de: <userinput>MarkError</userinput> (<guilabel>Fehler</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the build plugin to indicate a line that has caused a compiler error. Notice that this color has an opacity to the background. For more information, see <ulink url="help:/kate/kate-application-plugin-build.html">the Build Plugin documentation</ulink>.
de: Mit dieser Farbe wird vom Erstellen-Modul eine Zeile eingefärbt, für die Compiler einen Fehler ausgegeben hat Beachten Sie, dass diese Farbe eine Deckkraft gegenüber dem Hintergrund hat. Weitere Informationen finden Sie in der Dokumentation zum <ulink url="help:/kate/kate-application-plugin-build.html">Erstellen-Modul</ulink>.

note: Tag: guilabel +> trunk5 stable5
en: Text Templates &amp; Snippets
de: Textvorlagen &amp; Textbausteine

note: Tag: term +> trunk5 stable5
en: <userinput>TemplateBackground</userinput> (<guilabel>Background</guilabel>)
de: <userinput>TemplateBackground</userinput> (<guilabel>Hintergrund</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the &kate; Snippets plugin to mark the background of a snippet. For more information, see <ulink url="help:/kate/kate-application-plugin-snippets.html">the &kate; Snippets documentation</ulink>.
de: In dieser Farbe wird der Hintergrund eines Textbausteins in &kate; angezeigt. Weitere Informationen dazu finden Sie in der <ulink url="help:/kate/kate-application-plugin-snippets.html">Dokumentation zu &kate;-Textbausteinen</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>TemplatePlaceholder</userinput> (<guilabel>Editable Placeholder</guilabel>)
de: <userinput>TemplatePlaceholder</userinput> (<guilabel>Editierbarer Platzhalter</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the &kate; Snippets plugin to mark a placeholder that you can click in to edit manually. For more information, see <ulink url="help:/kate/kate-application-plugin-snippets.html">the &kate; Snippets documentation</ulink>.
de: In dieser Farbe wird ein Platzhalter eines Textbausteins in &kate; angezeigt, den Sie zur manuellen Bearbeitung anklicken können. Weitere Informationen dazu finden Sie in der <ulink url="help:/kate/kate-application-plugin-snippetshtml">Dokumentation zu &kate;-Textbausteinen</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>TemplateFocusedPlaceholder</userinput> (<guilabel>Focused Editable Placeholder</guilabel>)
de: <userinput>TemplateFocusedPlaceholder</userinput> (<guilabel>Editierbarer Platzhalter mit Fokus</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the &kate; Snippets plugin to mark the placeholder that you are presently editing. For more information, see <ulink url="help:/kate/kate-application-plugin-snippets.html">the &kate; Snippets documentation</ulink>.
de: In dieser Farbe wird der gerade bearbeitete Platzhalter eines Textbausteins in &kate; angezeigt Weitere Informationen dazu finden Sie in der <ulink url="help:/kate/kate-application-plugin-snippets.html">Dokumentation zu &kate;-Textbausteinen</ulink>.

note: Tag: term +> trunk5 stable5
en: <userinput>TemplateReadOnlyPlaceholder</userinput> (<guilabel>Not Editable Placeholder</guilabel>)
de: <userinput>TemplateReadOnlyPlaceholder</userinput> (<guilabel>Nicht editierbarer Platzhalter</guilabel>)

note: Tag: para +> trunk5 stable5
en: This color is used by the &kate; Snippets plugin to mark a placeholder that cannot be edited manually, such as one that is automatically populated. For more information, see <ulink url="help:/kate/kate-application-plugin-snippets.html">the &kate; Snippets documentation</ulink>.
de: Diese Farbe wird im Textbausteinmodul von &kate; verwendet, um Platzhalter zu kennzeichnen, der nicht manuell editiert werden kann und zum Beispiel automatisch ausgefüllt wird. Weitere Informationen finden Sie in der Dokumentation zu <ulink url="help:/kate/kate-application-plugin-snippets.html">&kate;-Textbausteinen</ulink>.

note: Tag: title +> trunk5 stable5
en: Default Text Styles
de: Standardtextstile

note: Tag: para +> trunk5 stable5
en: The default text styles are inherited by the highlight text styles, allowing the editor to present text in a very consistent way, for example comment text is using the same style in almost all of the text formats that KSyntaxHighlighting can highlight.
de: Die Stile für Standardtext sind von den Stilen für Hervorhebungen abgeleitet, sodass der Editor Texte immer in der gleichen Form anzeigen kann. So sind zum Beispiel Kommentare unabhängig vom Textformat oder der Programmiersprache des Quelltextdokuments immer in der gleichen Farbe gekennzeichnet.

note: Tag: para +> trunk5 stable5
en: These text styles can be referenced from the <userinput>default styles</userinput> used in <link linkend="highlight">syntax highlighting</link> definition &XML; files, for example, the <quote>Normal</quote> attribute is equivalent to <quote>dsNormal</quote> in the &XML; files, and <quote>DataType</quote> is equivalent to <quote>dsDataType</quote>. See <xref linkend="kate-highlight-default-styles"/> in the syntax highlighting documentation.
de: Diese Textstile können von den <userinput>Standardstilen</userinput> in den Definitionen der &XML;-Dateien zur <link linkend="highlight">Syntaxhervorhebung</link> referenziert werden. Zum Beispiel entspricht das Attribut <quote>Normal</quote> dem Attribut <quote>dsNormal</quote> in den &XML;-Dateien, und <quote>DataType</quote> entspricht <quote>dsDataType</quote>. Weitere Informationen finden Sie in der  <xref linkend="kate-highlight-default-styles"/>Dokumentation zur Syntaxhervorhebung.

note: Tag: para +> trunk5 stable5
en: Make sure to choose readable colors with good contrast especially in combination with the <userinput><link linkend="color-themes-editor-colors">Editor Colors</link></userinput>. See <xref linkend="color-themes-contrast"/>.
de: Achten Sie darauf, lesbare Farben mit gutem Kontrast zu wählen, besonders in Kombination mit dem <userinput><link linkend="color-themes-editor-colors">Editor-Farben</link></userinput>. Siehe auch <xref linkend="color-themes-contrast"/>.

note: Tag: para +> trunk5 stable5
en: In the <link linkend="color-themes-json">&JSON; file</link>, the respective key <userinput>text-styles</userinput> has as value an <emphasis>object</emphasis> where each key corresponds to the name of a <emphasis>default text style</emphasis>, which are equivalent to those used in the syntax highlighting definitions. Here, <userinput>all available text style keys are mandatory</userinput>, these are listed below.
de: In der <link linkend="color-themes-json">&JSON;-Datei</link>, hat der jeweilige Schlüssel <userinput>text-styles</userinput> als Wert ein <emphasis>Objekt</emphasis>, wobei jeder Schlüssel dem Namen eines <emphasis>Standard-Textstils</emphasis> in den in den Definitionen für die Syntaxhervorhebung entspricht. Hier sind <userinput>alle verfügbaren Stil-Schlüsselwörter für Text obligatorisch </userinput>, diese sind unten aufgeführt.

note: Tag: term +> trunk5 stable5
en: Each key of <emphasis>default text style</emphasis> has a &JSON; object as its value, where values such as <emphasis>color</emphasis>, <emphasis>bold</emphasis>, <emphasis>italic</emphasis>, etc. are specified. These keys are as follows:
de: Jeder Schlüssel des <emphasis>Standardtextstils</emphasis> enthält ein &JSON;-Objekt als Wert, in dem Werte wie <emphasis>color</emphasis>, <emphasis>bold</emphasis>, <emphasis>italic</emphasis>, usw. angegeben werden. Es gibt folgende Schlüssel:

note: Tag: para +> trunk5 stable5
en: <userinput>text-color</userinput>: It is a <emphasis>string</emphasis> with the text color in hexadecimal color code. This key/value is required.
de: <userinput>text-color</userinput>: Eine <emphasis>Zeichenfolge</emphasis> mit der Textfarbe im hexadezimalen Farbcode. Dieser Schlüssel/Wert ist erforderlich.

note: Tag: para +> trunk5 stable5
en: <userinput>selected-text-color</userinput>: The text color when it is selected is generally the same value as <quote>text-color</quote>. When the text is selected, the background is defined by the value of <link linkend="variable-pref-colors-selected-text">TextSelection</link> in the <link linkend="color-themes-editor-colors">Editor Colors</link>, so you must ensure that the text has good contrast and is readable with this background. The value is a <emphasis>string</emphasis> with a hexadecimal color code. This key/value is required.
de: <userinput>selected-text-color</userinput>: Die Textfarbe für ausgewählten Text hat in der Regel den gleichen Wert wie <quote>text-color</quote>. Wenn der Text ausgewählt ist, wird der Hintergrund durch den Wert von <link linkend="variable-pref-colors-selected-text">TextSelection</link> in der <link linkend="color-themes-editor-colors">Editor-Farben</link> definiert, daher sollte der Text einen guten Kontrast haben und mit diesem Hintergrund gut lesbar ist. Der Wert ist eine <emphasis>Zeichenfolge</emphasis> mit einem hexadezimalen Farbcode. Dieser Schlüssel/Wert muss angegeben werden.

note: Tag: para +> trunk5 stable5
en: <userinput>bold</userinput>: It is a <emphasis>boolean</emphasis> that determines if the text is in bold. This key is optional, the default value is <userinput>false</userinput>.
de: <userinput>bold</userinput>: Ein <emphasis>Boolescher Wert</emphasis>, der festlegt, ob der Text in Fettschrift angezeigt wird. Dieser Schlüssel ist optional, der Standardwert ist <userinput>false</userinput>.

note: Tag: para +> trunk5 stable5
en: <userinput>italic</userinput>: It is a <emphasis>boolean</emphasis> that determines if the text is curved. This key is optional, the default value is <userinput>false</userinput>.
de: <userinput>italic</userinput>: Ein <emphasis>Boolescher Wert</emphasis>, der festlegt, ob der Text kursiv angezeigt wird. Dieser Schlüssel ist optional, der Standardwert ist <userinput>false</userinput>.

note: Tag: para +> trunk5 stable5
en: <userinput>underline</userinput>: It is a <emphasis>boolean</emphasis> that determines if the text is underlined. This key is optional, the default value is <userinput>false</userinput>.
de: <userinput>underline</userinput>: Ein <emphasis>Boolescher Wert</emphasis>, der festlegt, ob der Text in unterstrichen angezeigt wird. Dieser Schlüssel ist optional, der Standardwert ist <userinput>false</userinput>.

note: Tag: para +> trunk5 stable5
en: <userinput>strike-through</userinput>: It is a <emphasis>boolean</emphasis> that determines if the text is strike through. This key is optional, the default value is <userinput>false</userinput>.
de: <userinput>strike-through</userinput>: Ein <emphasis>Boolescher Wert</emphasis>, der festlegt, ob der Text in durchgestrichen angezeigt wird. Dieser Schlüssel ist optional, der Standardwert ist <userinput>false</userinput>.

note: Tag: para +> trunk5 stable5
en: <userinput>background-color</userinput>: Determines the background of the text, used for example in alerts in comments. The value is a <emphasis>string</emphasis> with a hexadecimal color code. This key is optional, by default there is no background.
de: <userinput>background-color</userinput>: Bestimmt die Hintergrundfarbe von Text und wird zum Beispiel in Warnungen (Alerts) in Kommentaren verwendet. Der Wert ist eine <emphasis>Zeichenfolge</emphasis> mit einem hexadezimalen Farbcode. Dieser Schlüssel ist optional, als Voreinstellung gibt es keine Hintergrundfarbe.

note: Tag: para +> trunk5 stable5
en: <userinput>selected-background-color</userinput>: Determines the background of the text when it is selected. The value is a <emphasis>string</emphasis> with a hexadecimal color code. This key is optional, by default there is no background.
de: <userinput>selected-background-color</userinput>: Bestimmt die Hintergrundfarbe von ausgewähltem Text. Der Wert ist eine <emphasis>Zeichenfolge</emphasis> mit einem hexadezimalen Farbcode. Dieser Schlüssel ist optional, als Voreinstellung gibt es keine Hintergrundfarbe.

note: Tag: para +> trunk5 stable5
en: In <link linkend="color-themes-gui">the &GUI; to manage color themes of KTextEditor</link>, these attributes can be modified in the <userinput><guilabel>Default Text Styles</guilabel></userinput> tab. The name in the list of styles is using the style configured for the item, providing you with an immediate preview when configuring a style. Each style lets you select common attributes as well as foreground and background colors. To unset a background color, right-click to use the context menu.
de: In <link linkend="color-themes-gui">der &GUI; zur Verwaltung der Farbthemen von KTextEditor</link> können diese Attribute auf der Karteikarte <userinput><guilabel>Standardtextstile</guilabel></userinput> geändert werden. Der Name in der Liste der Stile verwendet den für das Element eingerichteten Stil, so dass Sie beim Ändern eines Stils sofort eine Vorschau erhalten. Jeder Stil ermöglicht die Auswahl gemeinsamer Attribute sowie von Vorder- und Hintergrundfarben. Um eine Hintergrundfarbe zu deaktivieren, klicken Sie mit der rechten Maustaste, um das Kontextmenü zu verwenden.

note: Tag: para +> trunk5 stable5
en: The available text style keys are the following; the keys used in the <link linkend="color-themes-json">&JSON; file</link> are listed in <emphasis>bold</emphasis>, the names used in the <link linkend="color-themes-gui">&GUI;</link> are shown in parentheses if they are different.
de: Folgende Schlüssel für Textstile sind verfügbar: Die Schlüssel aus der <link linkend="color-themes-json">&JSON;-Datei</link> sind <emphasis>fett</emphasis> geschrieben, die Namen in der <link linkend="color-themes-gui">&GUI;</link> sind in Klammern angegeben, falls sie anders sind.

note: Tag: guilabel +> trunk5 stable5
en: Normal Text &amp; Source Code
de: Normaltext &amp; Quelltext

note: Tag: para +> trunk5 stable5
en: <userinput>Normal</userinput>: Default text style for normal text and source code without special highlighting.
de: <userinput>Normal</userinput>: Standard-Textstil für normalen Text und Quelltext ohne besondere Hervorhebung.

note: Tag: para +> trunk5 stable5
en: <userinput>Keyword</userinput>: Text style for built-in language keywords.
de: <userinput>Keyword</userinput>: Textstil für eingebaute Sprach-Schlüsselwörter.

note: Tag: para +> trunk5 stable5
en: <userinput>Function</userinput>: Text style for function definitions and function calls.
de: <userinput>Function</userinput>: Textstil für Funktionsaufrufe und -definitionen.

note: Tag: para +> trunk5 stable5
en: <userinput>Variable</userinput>: Text style for variables, if applicable. For instance, variables in PHP/Perl typically start with a <userinput>$</userinput>, so all identifiers following the pattern <userinput>$foo</userinput> are highlighted as variable.
de: <userinput>Variable</userinput>: Textstil für Variablen, falls zutreffend. Zum Beispiel beginnen Variablen in PHP/Perl typischerweise mit einem <userinput>$</userinput>, also werden alle Bezeichner mit dem Muster <userinput>$foo</userinput> als Variable hervorgehoben.

note: Tag: para +> trunk5 stable5
en: <userinput>ControlFlow</userinput> (<guilabel>Control Flow</guilabel>): Text style for control flow keywords, such as <emphasis>if</emphasis>, <emphasis>then</emphasis>, <emphasis>else</emphasis>, <emphasis>return</emphasis>, <emphasis>switch</emphasis>, <emphasis>break</emphasis>, <emphasis>yield</emphasis>, <emphasis>continue</emphasis>, etc.
de: <userinput>ControlFlow</userinput> (<guilabel>Kontrollfluss</guilabel>): Textstile für Schlüsselwörter den Programmablauf wie zum Beispiel <emphasis>if</emphasis>, <emphasis>then</emphasis>, <emphasis>else</emphasis>, <emphasis>return</emphasis>, <emphasis>switch</emphasis>, <emphasis>break</emphasis>, <emphasis>yield</emphasis>, <emphasis>continue</emphasis>, usw.

note: Tag: para +> trunk5 stable5
en: <userinput>Operator</userinput>: Text style for operators, such as <userinput>+</userinput>, <userinput>-</userinput>, <userinput>*</userinput>, <userinput>/</userinput>, <userinput>%</userinput>, etc.
de: <userinput>Operator</userinput>: Textstil für Operatoren wie <userinput>+</userinput>, <userinput>-</userinput>, <userinput>*</userinput>, <userinput>/</userinput>, <userinput>%</userinput> usw.

note: Tag: para +> trunk5 stable5
en: <userinput>BuiltIn</userinput> (<guilabel>Built-in</guilabel>): Text style for built-in language classes, functions and objects.
de: <userinput>BuiltIn</userinput>> (<guilabel>Built-in</guilabel>): Textstil eingebaute Funktionen, Klassen und Objekte.

note: Tag: para +> trunk5 stable5
en: <userinput>Extension</userinput>: Text style for well-known extensions, such as &Qt; classes, functions/macros in C++ and Python or boost.
de: <userinput>Extension</userinput>: Textstil für bekannte Erweiterungen wie zum Beispiel &Qt;-Klassen und Funktionen/Makros in C++ und Python oder Boost.

note: Tag: para +> trunk5 stable5
en: <userinput>Preprocessor</userinput>: Text style for preprocessor statements or macro definitions.
de: <userinput>Preprocessor</userinput>Textstil für Präprozessor-Anweisungen oder Makro-Definitionen.

note: Tag: para +> trunk5 stable5
en: <userinput>Attribute</userinput>: Text style for annotations or attributes of functions or objects, e.g. <userinput>@override</userinput> in Java, or <userinput>__declspec(...)</userinput> and <userinput>__attribute__((...))</userinput> in C++.
de: <userinput>Attribute</userinput>: Textstil für Anmerkungen oder Attribute von Funktionen oder Objekten wie zum Beispiel <userinput>@override</userinput> in Java oder <userinput>__declspec(...)</userinput> und <userinput>__attribute__((...))</userinput> in C++.

note: Tag: guilabel +> trunk5 stable5
en: Numbers, Types &amp; Constants
de: Zahlen, Typen &amp; Konstanten

note: Tag: para +> trunk5 stable5
en: <userinput>DataType</userinput> (<guilabel>Data Type</guilabel>): Text style for built-in data types such as <emphasis>int</emphasis>, <emphasis>char</emphasis>, <emphasis>float</emphasis>, <emphasis>void</emphasis>, <emphasis>u64</emphasis>, etc.
de: <userinput>DataType</userinput> (<guilabel>Datentyp</guilabel>): Textstil für eingebaute Datentypen wie <emphasis>int</emphasis>, <emphasis>char</emphasis>, <emphasis>float</emphasis>, <emphasis>void</emphasis>, <emphasis>u64</emphasis> usw.

note: Tag: para +> trunk5 stable5
en: <userinput>DecVal</userinput> (<guilabel>Decimal/Value</guilabel>): Text style for decimal values.
de: <userinput>DecVal</userinput> (<guilabel>Dezimal/Wert</guilabel>): Textstil für Dezimalwerte.

note: Tag: para +> trunk5 stable5
en: <userinput>BaseN</userinput> (<guilabel>Base-N Integer</guilabel>): Text style for numbers with base other than 10.
de: <userinput>BaseN</userinput> (<guilabel>Base-N Integer</guilabel>): Textstil für Werte mit einer anderen Zahlenbasis als 10.

note: Tag: para +> trunk5 stable5
en: <userinput>Float</userinput> (<guilabel>Floating Point</guilabel>): Text style for floating point numbers.
de: <userinput>Float</userinput> (<guilabel>Fließkommazahl</guilabel>): Textstil für Gleitkommawerte.

note: Tag: para +> trunk5 stable5
en: <userinput>Constant</userinput>: Text style for language constants and user defined constants, e.g. <emphasis>True</emphasis>, <emphasis>False</emphasis>, <emphasis>None</emphasis> in Python or <emphasis>nullptr</emphasis> in C/C++; or math constants like <emphasis>PI</emphasis>.
de: <userinput>Constant</userinput>: Textstile für Konstanten in Sprachen oder für benutzerdefinierte Konstanten wie zum Beispiel <emphasis>True</emphasis>, <emphasis>False</emphasis>, <emphasis>None</emphasis> in Python oder <emphasis>nullptr</emphasis> in C/C++; oder mathematische Konstanten wie <emphasis>PI</emphasis>.

note: Tag: guilabel +> trunk5 stable5
en: Strings &amp; Characters
de: Zeichenfolgen &amp; Zeichen

note: Tag: para +> trunk5 stable5
en: <userinput>Char</userinput> (<guilabel>Character</guilabel>): Text style for single characters such as <userinput>'x'</userinput>.
de: <userinput>Char</userinput> (<guilabel> Zeichen</guilabel>): Textstil für einzelne Zeichen wie <userinput>'x'</userinput>.

note: Tag: para +> trunk5 stable5
en: <userinput>SpecialChar</userinput> (<guilabel>Special Character</guilabel>): Text style for escaped characters in strings, e.g. <quote><userinput>hello\n</userinput></quote>, and other characters with special meaning in strings, such as substitutions or regex operators.
de: <userinput>SpecialChar</userinput> (<guilabel>Sonderzeichen</guilabel>): Textstil für maskierte Zeichen in Zeichenfolgen, z.B. <quote><userinput>hello
    </userinput></quote>, und andere Zeichen mit besonderer Bedeutung in Zeichenfolgen, z. B. Ersetzungen oder Regex-Operatoren.

note: Tag: para +> trunk5 stable5
en: <userinput>String</userinput>: Text style for strings like <quote><userinput>hello world</userinput></quote>.
de: <userinput>String</userinput>:Textstil für Zeichenfolgen wie <quote><userinput>Hallo Welt</userinput></quote>.

note: Tag: para +> trunk5 stable5
en: <userinput>VerbatimString</userinput> (<guilabel>Verbatim String</guilabel>): Text style for verbatim or raw strings like <userinput>'raw \backlash'</userinput> in Perl, CoffeeScript, and shells, as well as <userinput>r'\raw'</userinput> in Python, or such as HERE docs.
de: <userinput>VerbatimString</userinput> (<guilabel>Wörtliche Zeichenfolge</guilabel>): Textstile für wörtliche oder unveränderte Zeichenfolgen wie <userinput>raw \backlash</userinput> in Perl, CoffeeScript und Shells wie auch  <userinput>r'\raw'</userinput> in Python oder wie in HERE-Dokumenten.

note: Tag: para +> trunk5 stable5
en: <userinput>SpecialString</userinput> (<guilabel>Special String</guilabel>): Text style for special strings, such as regular expressions in ECMAScript, the &latex; math mode, SQL, etc.
de: <userinput>SpecialString</userinput> (<guilabel>Besondere Zeichenfolge</guilabel>): Textstil für besondere Zeichenfolgen wie reguläre Ausdrücke in ECMAScript, im &latex;-Mathematikmodus, SQL, usw.

note: Tag: para +> trunk5 stable5
en: <userinput>Import</userinput> (<guilabel>Imports, Modules, Includes</guilabel>): Text style for includes, imports, modules or &latex; packages.
de: <userinput>Import</userinput> (<guilabel>Importe, Module, Includes</guilabel>): Textstil für Includes, Importe, Module oder &latex;-Pakete.

note: Tag: guilabel +> trunk5 stable5
en: Comments &amp; Documentation
de: Kommentare &amp; Dokumentation

note: Tag: para +> trunk5 stable5
en: <userinput>Comment</userinput>: Text style for normal comments.
de: <userinput>Comment</userinput>: Textstile für normale Kommentare.

note: Tag: para +> trunk5 stable5
en: <userinput>Documentation</userinput>: Text style for comments that reflect API documentation, such as <userinput>/** doxygen comments */</userinput> or <userinput>"""docstrings"""</userinput>.
de: <userinput>Documentation</userinput>: Textstil für Kommentare zur API-Dokumentation wie z. B. <userinput>/** doxygen comments */</userinput> oder <userinput>"""docstrings"""</userinput>.

note: Tag: para +> trunk5 stable5
en: <userinput>Annotation</userinput>: Text style for annotations in comments or documentation commands, such as <userinput>@param</userinput> in Doxygen or JavaDoc.
de: <userinput>Annotation</userinput>: Textstil für Anmerkungen in Kommentaren oder Dokumentationsbefehle wie <userinput>@param</userinput> in Doxygen oder JavaDoc.

note: Tag: para +> trunk5 stable5
en: <userinput>CommentVar</userinput> (<guilabel>Comment Variable</guilabel>): Text style that refers to variables names used in above commands in a comment, such as <userinput>foobar</userinput> in <quote><userinput>@param foobar</userinput></quote>, in Doxygen or JavaDoc.
de: <userinput>KommentarVar</userinput> (<guilabel>Kommentar-Variable</guilabel>): Textstil, der auf Variablennamen verweist, die in obigen Befehlen in einem Kommentar verwendet werden, wie z. B. <userinput>foobar</userinput> in <quote><userinput>@param foobar</userinput></quote> in Doxygen oder JavaDoc.

note: Tag: para +> trunk5 stable5
en: <userinput>RegionMarker</userinput> (<guilabel>Region Marker</guilabel>): Text style for region markers, typically defined by <userinput>//BEGIN</userinput> and <userinput>//END</userinput> in comments.
de: <userinput>RegionMarker</userinput> (<guilabel>Bereichsmarkierungr</guilabel>): Textstil für das Markieren von Bereichen, typischerweise definiert durch<userinput>//BEGIN</userinput> und <userinput>//END</userinput> in Kommentaren.

note: Tag: para +> trunk5 stable5
en: <userinput>Information</userinput>: Text style for information, notes and tips, such as the keyword <userinput>@note</userinput> in Doxygen.
de: <userinput>Information</userinput>:Textstil für Notizen und Hinweise wie zum Beispiel Schlüsselwörter wie <userinput>@note</userinput> in Doxygen.

note: Tag: para +> trunk5 stable5
en: <userinput>Warning</userinput>: Text style for warnings, such as the keyword <userinput>@warning</userinput> in Doxygen.
de: <userinput>Warning</userinput>: Textstil für Warnungen wie das Schlüsselwort <userinput>@warning</userinput> in Doxygen.

note: Tag: para +> trunk5 stable5
en: <userinput>Alert</userinput>: Text style for special words in comments, such as <userinput>TODO</userinput>, <userinput>FIXME</userinput>, <userinput>XXXX</userinput> and <userinput>WARNING</userinput>.
de: <userinput>Alert</userinput>: Textstil für spezielle Wörter in Kommentaren wie <userinput>TODO</userinput>, <userinput>FIXME</userinput>, <userinput>XXXX</userinput> und <userinput>WARNING</userinput>.

note: Tag: guilabel +> trunk5 stable5
en: Miscellaneous
de: Verschiedenes

note: Tag: para +> trunk5 stable5
en: <userinput>Error</userinput>: Text style indicating error highlighting and wrong syntax.
de: <userinput>Error</userinput>: Textstil für Hervorhebungen von Fehlern und für fehlerhafter Syntax.

note: Tag: para +> trunk5 stable5
en: <userinput>Others</userinput>: Text style for attributes that do not match any of the other default styles.
de: <userinput>Others</userinput>: Textstile für Attribute, die nicht für einen der anderen Standardstile zutreffen.

note: Tag: title +> trunk5 stable5
en: Custom Highlighting Text Styles
de: Benutzerdefinierte Textstile für Hervorhebungen

note: Tag: para +> trunk5 stable5
en: Here you can establish text styles for a specific syntax highlighting definition, overriding the <userinput>default text style</userinput> described in <link linkend="color-themes-text-styles">the previous section</link>.
de: Hier können Sie Textstile für eine bestimmte Syntaxhervorhebung festlegen Definition festlegen und damit den <userinput>Standard-Textstil</userinput> überschreiben wie in <link linkend="color-themes-text-styles">dem vorherigen Abschnitt</link> beschrieben.

note: Tag: para +> trunk5 stable5
en: In the <link linkend="color-themes-json">&JSON; theme file</link>, this corresponds to the <userinput>custom-styles</userinput> key, whose value is an <emphasis>object</emphasis> where each subschema key corresponds to the <userinput>name of a syntax highlighting definition</userinput>. Its value is an <emphasis>object</emphasis> where each key refers to the <userinput>style attributes name</userinput> defined in <link linkend="kate-highlight-sections">the <userinput>itemData</userinput> elements</link> of the syntax highlighting &XML; file, and the respective value is a sub-object with the keys <emphasis>text-color</emphasis>, <emphasis>selected-text-color</emphasis>, <emphasis>bold</emphasis>, <emphasis>italic</emphasis>, <emphasis>underline</emphasis>, <emphasis>strike-through</emphasis>, <emphasis>background-color</emphasis> and <emphasis>selected-background-color</emphasis>, defined in <link linkend="color-themes-text-styles">the previous section</link>. Each of these values are optional, since if they are not present, the style set in <userinput>text-styles</userinput> is considered.
de: In der <link linkend="color-themes-json">&JSON;-Schemadatei</link> entspricht dies dem Schlüssel <userinput>custom-styles</userinput>, dessen Wert ein ein <emphasis>Objekt</emphasis> ist, wobei jeder Unterschema-Schlüssel mit dem <userinput>Name einer Syntaxhervorhebungsdefinition</userinput> korrespondiert. Sein Wert ist ein <emphasis>Objekt</emphasis>, bei dem jeder Schlüssel auf den <userinput>Name des Stilattributs</userinput> verweist, der in <link linkend="kate-highlight-sections">den <userinput>itemData</userinput>-Elementen</link> der der Syntaxhervorhebung-s&XML;-Datei definiert ist. Der jeweilige Wert ist ein Unterobjekt mit den Schlüsseln <emphasis>text-color</emphasis>, <emphasis>selected-text-color</emphasis>, <emphasis>bold</emphasis>, <emphasis>italic</emphasis>, <emphasis>underline</emphasis>, <emphasis>strike-through</emphasis>, <emphasis>background-color</emphasis> und <emphasis>selected-background-color</emphasis>, definiert im <link linkend="color-themes-text-styles">vorherigen Abschnitt</link>. Jeder dieser Werte ist optional, denn wenn sie nicht vorhanden sind, wird der in <userinput>text-styles</userinput> eingestellte Stil berücksichtigt.

note: Tag: para +> trunk5 stable5
en: For example, in this piece of code, the <quote>ISO C++</quote> syntax highlighting definition has a special text style for the <quote>Type Modifiers</quote> and <quote>Standard Classes</quote> attributes. In the corresponding &XML; file <quote>isocpp.xml</quote>, the defined attribute <quote>Standard Classes</quote> uses the default style <userinput>BuiltIn</userinput> (or dsBuiltIn). In this attribute, only the value of <userinput>text-color</userinput> is overwritten by the new color <quote>#6431b3</quote>.
de: Zum Beispiel hat die Syntaxhervorhebungsdefinition für <quote>ISO C++</quote> in diesem Quelltext einen speziellen Textstil für die Attribute <quote>Type Modifiers</quote> und <quote>Standard Classes</quote>. In der zugehörigen &XML;-Datei <quote>isocpp.xml</quote> verwendet das definierte Attribut <quote>Standard Classes</quote> den Standardstil <userinput>BuiltIn</userinput> (oder dsBuiltIn). In diesem Attribut wird nur der Wert von <userinput>text-color</userinput> durch die neue Farbe <quote>#6431b3</quote> überschrieben .

note: Tag: para +> trunk5 stable5
en: You should consider that these text styles are associated with the attribute names defined in the syntax highlighting &XML; files. If an XML file is updated and some attributes are renamed or removed, the custom style defined in the theme will no longer apply.
de: Sie sollten beachten, dass diese Textstile den Attributnamen zugeordnet sind, die in den &XML; -Syntaxhervorhebungsdateien definiert sind. Wenn eine XML-Datei aktualisiert und einige Attribute umbenannt oder entfernt werden, ist der im eigenen Schema definierte Stil nicht mehr gültig.

note: Tag: para +> trunk5 stable5
en: Syntax highlighting definitions often include other definitions. For example, the <quote>QML</quote> highlighter includes the <quote>JavaScript</quote> highlighter, since they share functionality in highlighting.
de: Definitionen für Syntaxhervorhebung enthalten oft andere Definitionen. Die Syntaxhervorhebung für <quote>QML</quote> zum Beispiel enthält die Syntaxhervorhebung für <quote>JavaScript</quote>, da beide die gleichen Funktionen für die Hervorhebung verwenden.

note: Tag: para +> trunk5 stable5
en: In <link linkend="color-themes-gui">the &GUI; to manage themes of KTextEditor</link>, these attributes can be modified in the <userinput><guilabel>Highlighting Text Styles</guilabel></userinput> tab. By default, the editor preselects the highlighting of the current document. You will notice that many highlights contain other highlights represented by groups in the style list. For example most highlights import the <quote>Alert</quote> highlight, and many source code formats import the <quote>Doxygen</quote> highlight.
de: In der <link linkend="color-themes-gui">&GUI; zum Verwalten von Schemata von KTextEditor</link> können Sie diese Attribute auf der Karteikarte <userinput><guilabel>Textstile für Hervorhebungen</guilabel></userinput> verwalten. Als Voreinstellung wird die Hervorhebung des aktuellen Dokuments vom Editor eingestellt. Sie werden feststellen, dass viele Hervorhebungen andere Hervorhebungen enthalten, die durch Gruppen in der Stilliste repräsentiert werden. Zum Beispiel importieren die meisten Hervorhebungen die Hervorhebung <quote>Alert</quote> und viele Quelltextformate importieren die Hervorhebung <quote>Doxygen</quote>.

note: Tag: title +> trunk5 stable5
en: The Color Themes &GUI;
de: Die &GUI; der Farbschemata

note: Tag: para +> trunk5 stable5
en: The simplest way to create and edit color themes is through the &GUI; within the <link linkend="config-dialog"><quote>Configure</quote> dialog</link> provided by <ulink url="https://api.kde.org/frameworks/ktexteditor/html/">KTextEditor</ulink>. To access it, select <menuchoice><guimenu>Settings</guimenu> <guimenuitem>Configure <replaceable>Application</replaceable>...</guimenuitem></menuchoice> from the menubar in your text editor. This brings up the <guilabel>Configure</guilabel> dialog box, there select <guilabel>Color Themes</guilabel> in the side panel.
de: Farbschemata lassen sich am einfachsten über die &GUI; im <link linkend="config-dialog"><quote>Einrichtungs</quote>-Dialog</link> von <ulink url="https://api.kde.org/frameworks/ktexteditor/html/">KTextEditor</ulink>erstellen und bearbeiten. .Um diesen Dialog zu öffnen, wählen Sie <menuchoice><guimenu>Einstellungen</guimenu> <guimenuitem><replaceable>Anwendung</replaceable> einrichten ...</guimenuitem></menuchoice> aus der Menüleiste in Ihrer Textverarbeitung. Wählen Sie dann <guilabel>Farbschema</guilabel> in der Seitenleiste.

note: Tag: phrase +> trunk5 stable5
en: <phrase>&kate;'s settings dialog box with the color theme management.</phrase>
de: <phrase>&kate;s Einrichtungsdialog mit der Bearbeitung von Farbschemata.</phrase>

note: Tag: para +> trunk5 stable5
en: <para>&kate;'s settings dialog box with the color theme management.</para>
de: <para>&kate;s Einrichtungsdialog mit der Bearbeitung von Farbschemata.</para>

note: Tag: para +> trunk5 stable5
en: In this <link linkend="config-dialog">dialog</link> you can configure all the colors in any theme you have, as well as create/copy new themes, delete them, export them to a <userinput>.theme</userinput> file with <link linkend="color-themes-json">&JSON; format</link> or import them from external <userinput>.theme</userinput> files. Each theme has settings for text colors and styles.
de: In diesem <link linkend="config-dialog">Dialog</link> können Sie alle alle Farben in einem beliebigen Schema einstellen, neue Schemata erstellen/kopieren, löschen, sie in eine <userinput>.theme</userinput>-Datei im <link linkend="color-themes-json">&JSON; Format</link> exportieren oder aus externen <userinput>.theme</userinput>-Dateien importieren. Jedes Schema hat Einstellungen für Textfarben und Stile.

note: Tag: para +> trunk5 stable5
en: The built-in themes cannot be modified by default. To do this, you need to copy them and give them a new name.
de: Die eingebauten Schemata können als Voreinstellung nicht geändert werden. Dazu müssen Sie sie unter einem neuen Namen kopieren.

note: Tag: para +> trunk5 stable5
en: To use a theme permanently in your text editor, you must select it in the combobox labeled <guilabel>Default theme for <replaceable>Application</replaceable></guilabel> at the bottom of the dialog and press <guibutton>Apply</guibutton> or <guibutton>OK</guibutton>. By default, the <userinput><guilabel>Automatic Selection</guilabel></userinput> option is active, which chooses a more appropriate color theme according to the <emphasis>&kde; &plasma; color scheme</emphasis> used in the text editing application; it usually chooses between <quote>Breeze Light</quote> and <quote>Breeze Dark</quote> if the scheme is light or dark, respectively.
de: Um ein Farbschema dauerhaft in im Texteditor zu verwenden, müssen Sie es im Kombinationsfeld mit der Bezeichnung <guilabel>Standardschema für <replaceable>Anwendung</replaceable></guilabel> am unteren Rand des Dialogs auswählen und dann <guibutton>Anwenden</guibutton> oder <guibutton>OK</guibutton> drücken.  Standardmäßig wird die <userinput><guilabel>Automatische Auswahl</guilabel></userinput> aktiviert. Damit wird ein geeigneteres Farbschema passend zum <emphasis>&kde; &plasma;-Farbschema</emphasis> für die Textbearbeitung gewählt. Normalerweise wird zwischen <quote>Breeze-Hellt</quote> und <quote>Breeze-Dunkel</quote> gewählt.

note: Tag: para +> trunk5 stable5
en: You can adjust the &kde; global color scheme in the <ulink url="help:/kcontrol/colors/"><quote>Colors</quote> module in &systemsettings;</ulink>. You can also change it in some applications individually such as &kate; or &kdevelop;, from the menu <menuchoice><guimenu>Settings</guimenu><guisubmenu>Color Scheme</guisubmenu></menuchoice>.
de: Sie können das globale Farbschema für &kde; im Modul <ulink url="help:/kcontrol/colors/"><quote>Farben</quote> in den &systemsettings;</ulink> anpassen. Für einzelne Anwendungen wie &kate; und &kdevelop; können Sie ein Schema auch mit <menuchoice><guimenu>Einstellungen</guimenu><guisubmenu>Farbschema</guisubmenu></menuchoice> ändern.

note: Tag: title +> trunk5 stable5
en: Create a new theme
de: Ein neues Schema erstellen

note: Tag: para +> trunk5 stable5
en: To create a new theme, it is first necessary to copy an existing one. Select an existing theme which you want to use as a base, such as <quote>Breeze Light</quote> or <quote>Breeze Dark</quote>, and click <guibutton>Copy</guibutton>. Then write a name for the new theme.
de: Um ein neues Farbschema zu erstellen, müssen Sie zuerst ein vorhandenes Schema kopieren, Wählen Sie ein vorhandenes Schema aus, das Sie als Grundlage verwenden möchten wie <quote>Breeze-Hell</quote> oder <quote>Breeze-Dunkel</quote>. Klicken Sie dann auf <guibutton>Kopieren</guibutton> und geben den Namen für das neue Schema ein.

note: Tag: para +> trunk5 stable5
en: If you want to modify a built-in or read-only theme, you must first copy it under a different name.
de: Möchten Sie ein eingebautes oder nur lesbares Schema verändern, müssen Sie es zuerst unter einem anderen Namen kopieren.

note: Tag: title +> trunk5 stable5
en: Import or export &JSON; theme files
de: &JSON;-Schemadateien importieren oder exportieren

note: Tag: para +> trunk5 stable5
en: You can export a selected theme (including built-in ones) to a <link linkend="color-themes-json">&JSON; file</link> with <userinput>.theme</userinput> extension, with the <guibutton>Export</guibutton> button. This will open a dialog to save the file. To add a color theme from an external <link linkend="color-themes-json">&JSON; file</link>, just press the <guibutton>Import</guibutton> button and select the <userinput>.theme</userinput> file from the dialog.
de: Mit <guibutton>Exportieren</guibutton> können Sie ein ausgewähltes Schema einschließlich der eingebauten Schemata in eine <link linkend="color-themes-json">&JSON;-Datei</link> mit der Dateierweiterung <userinput>.theme</userinput> exportieren. Damit öffnen Sie einen Dialog zum Speichern der Datei. Um eine Farbschema aus einer externen <link linkend="color-themes-json">&JSON;-Datei</link> hinzuzufügen, drücken Sie den Knopf <guibutton>Importieren</guibutton> und wählen dann die <userinput>.theme</userinput>-Datei im Dialog.

note: Tag: para +> trunk5 stable5
en: As <link linkend="color-themes-json-overview">mentioned above</link>, user-customized theme files are stored in the <filename class="directory">org.kde.syntax-highlighting/themes/</filename> directory. When you copy or create a theme, it will automatically appear there. Also, importing or adding a theme is equivalent to copying an external <userinput>.theme</userinput> file into this directory. KSyntaxHighlighting automatically picks up color theme files from this directory.
de: Wie <link linkend="color-themes-json-overview">oben erwähnt</link>, werden benutzerdefinierte Farbschema-Dateien im Ordner <filename class="directory">org.kde.syntax-highlighting/themes/</filename> abgelegt. Wenn Sie ein Farbschema kopieren oder neu erstellen, wird es automatisch dort gespeichert. Auch das Importieren oder Hinzufügen eines Farbschemas entspricht dem Kopieren einer externen <userinput>.theme</userinput>-Datei in diesen Ordner. KSyntaxHighlighting holt sich automatisch Schemadateien aus diesem Ordner.

note: Tag: para +> trunk5 stable5
en: If you want to publish a theme created by you, it is essential to check the <link linkend="color-themes-json-metadata">metadata</link> object of the <link linkend="color-themes-json">&JSON; file</link>, adding the respective license and checking the revision number.
de: Wenn Sie ein von Ihnen erstelltes Schema veröffentlichen wollen, ist es unbedingt erforderlich, das <link linkend="color-themes-json-metadata">Metadaten</link>-Objekt der <link linkend="color-themes-json">&JSON; Datei</link> zu prüfen, eine passende Lizenz hinzuzufügen und die Revisionsnummer zu überprüfen.

note: Tag: title +> trunk5 stable5
en: Editing color themes
de: Bearbeitung von Farbschemata

note: Tag: title +> trunk5 stable5
en: Colors
de: Farben

note: Tag: para +> trunk5 stable5
en: Here the colors of the text editing area are adjusted. These are detailed in <xref linkend="color-themes-editor-colors"/>.
de: Hier können die Farben des Editorbereichs angepasst werden. Mehr Informationen dazu finden Sie in <xref linkend="color-themes-editor-colors"/>.

note: Tag: para +> trunk5 stable5
en: The name in the list of styles is using the style configured for the item, providing you with an immediate preview when configuring a style.
de: Der Name in der Liste der Stile wird so wie Elemente im Dokument mit diesem Kontext angezeigt. So erhalten Sie sofort eine Vorschau beim Bearbeiten.

note: Tag: para +> trunk5 stable5
en: Each style lets you select common attributes as well as foreground and background colors. To unset a background color, right-click to use the context menu.
de: Zu jedem Stil können Sie Eigenschaften sowie Vordergrund- und Hintergrundfarbe einstellen. Um eine Hintergrundfarbe zu löschen, benutzen Sie die &RMB;, um das Kontextmenü aufzurufen.

note: Tag: para +> trunk5 stable5
en: The attributes of this area are detailed in <xref linkend="color-themes-text-styles"/>.
de: Die Attribute in diesem Bereich werden in <xref linkend="color-themes-text-styles"/> erläutert.

note: Tag: title +> trunk5 stable5
en: Highlighting Text Styles
de: Textstile für Hervorhebungen

note: Tag: para +> trunk5 stable5
en: Here you can edit the text styles used by a specific highlight definition. The editor preselects the highlight used by your current document. To work on a different highlight, select one in the <guilabel>Highlight</guilabel> combobox above the style list.
de: Hier können Sie die Textstile für bestimmte Hervorhebungsdefinitionen einstellen. Der Editor startet diese Seite mit der Hervorhebung für das aktuelle Dokument. Wenn Sie an einer anderen Hervorhebungsdefinition Veränderungen vornehmen wollen, dann wählen Sie diese mit dem Auswahlfeld <guilabel>Hervorhebung</guilabel> aus.

note: Tag: para +> trunk5 stable5
en: Each style lets you select common attributes as well as foreground and background colors. To unset a background color, right-click to use the context menu. In addition you can see if a style is equal to the default style used for the item, and set it to that if not.
de: Zu jedem Stil können Sie Eigenschaften sowie Vordergrund- und Hintergrundfarbe einstellen. Um eine Hintergrundfarbe zu löschen, benutzen Sie die &RMB;, um das Kontextmenü aufzurufen. Zusätzlich gibt es noch ein Feld, das anzeigt, ob der eingestellte Stil der Standarddefinition entspricht - wenn nicht klicken Sie einfach auf dieses Feld, um die Standardeinstellungen herzustellen.

note: Tag: para +> trunk5 stable5
en: You will notice that many highlights contain other highlights represented by groups in the style list. For example most highlights import the Alert highlight, and many source code formats imports the Doxygen highlight. Editing colors in those groups only affects the styles when used in the edited highlight format.
de: Sie werden feststellen, dass viele Hervorhebungen andere Hervorhebungen enthalten, die in Untergruppen geordnet sind. So werden zum Beispiel die Hervorhebungen für Warnungen (Alerts) in die meisten Hervorhebungen importiert, viele Quelltexte importieren außerdem die Hervorhebungen für Doxygen. Wenn Sie Änderungen an den importierten Hervorhebungen vornehmen, dann werden nur die Stile im bearbeiteten Format beeinflusst. Andere Formate, die die gleichen Hervorhebungen importiert haben, werden nicht beeinflusst.

note: Tag: title +> trunk5 stable5
en: Contrast of Text Colors
de: Kontrast von Textfarben

note: Tag: para +> trunk5 stable5
en: An important aspect when working with color themes is to choose a text contrast that makes it easier to read, especially in combination with the background.
de: Ein wichtiger Aspekt bei der Arbeit mit Farbschemata ist die Wahl eines Textkontrasts, der die Lesbarkeit des Textes erleichtert, insbesondere in Kombination mit dem Hintergrund.

note: Tag: para +> trunk5 stable5
en: The <userinput>Kontrast</userinput> application is a color contrast checker. It tells you that the text color and background color combinations are readable and accessible, so this is an excellent tool to help you create color themes.
de: <userinput>Kontrast</userinput> ist eine Anwendung zur Überprüfung von Farbkontrasten. Damit erkennen Sie, ob die Kombinationen aus Textfarbe und Hintergrundfarbe lesbar und zugänglich sind, daher ist dies ein ausgezeichnetes Werkzeug für die Erstellung von Farbschemata.

note: Tag: para +> trunk5 stable5
en: You can download <userinput>Kontrast</userinput> from <ulink url="https://apps.kde.org/en/kontrast">the &kde; Applications website</ulink> or from <ulink url="https://flathub.org/apps/details/org.kde.kontrast">the Flatpak package on Flathub</ulink> (only in GNU/Linux).
de: Sie können <userinput>Kontrast</userinput> von der <ulink url="https://apps.kde.org/de/kontrast">&kde;-Webseite mit Anwendungen</ulink> oder als <ulink url="https://flathub.org/apps/details/org.kde.kontrast">Flatpak-Paket auf Flathub</ulink> herunterladen (nur für GNU/Linux).

note: Tag: para +> trunk5 stable5
en: The GNOME <userinput>Contrast</userinput> application is similar. You can download <ulink url="https://flathub.org/apps/details/org.gnome.design.Contrast">the Flatpak package on Flathub</ulink> (only in GNU/Linux).
de: Die GNOME-Anwendung <userinput>Contrast</userinput> funktioniert ähnlich. Sie können sie als <ulink url="https://flathub.org/apps/details/org.kde.kontrast">Flatpak-Paket auf Flathub</ulink> herunterladen (nur für GNU/Linux).

note: Tag: title +> trunk5 stable5
en: Suggestions of Consistency with Syntax Highlighting
de: Vorschläge zur Konsistenz bei der Syntaxhervorhebung

note: Tag: para +> trunk5 stable5
en: KSyntaxHighlighting includes <ulink url="https://kate-editor.org/syntax/">more than 300 syntax highlighting definitions</ulink>, therefore it is ideal that you make sure your new theme looks good in all syntax highlighting definitions. The built-in color themes have the following similarities that it is recommended (but not required) to follow to achieve a correct display of all syntax highlighting definitions:
de: KSyntaxHighlighting enthält <ulink url="https://kate-editor.org/syntax/">mehr als 300 Definitionen für Syntaxhervorhebung</ulink>, daher sollten Sie dafür sorgen, dass Ihr neues Schema in allen Definitionen der Syntaxhervorhebung gut aussieht. Die eingebauten Farbschemata haben folgende Gemeinsamkeiten, die Sie beachten sollten, um eine eine korrekte Darstellung aller Definitionen der Syntaxhervorhebung zu erhalten:

note: Tag: para +> trunk5 stable5
en: Use bold for the <quote>Keyword</quote> and <quote>ControlFlow</quote> <link linkend="color-themes-text-styles">text styles</link>.
de: Verwenden Sie Fettschrift für <quote>Keyword</quote> und <quote>ControlFlow</quote> als <link linkend="color-themes-text-styles">Textstile</link>.

note: Tag: para +> trunk5 stable5
en: Do not use background color in any <link linkend="color-themes-text-styles">text style</link>, except <quote>Alert</quote> and <quote>RegionMarker</quote>.
de: Benutzen Sie keine Hintergrundfarbe in einem <link linkend="color-themes-text-styles">Textstil</link>, außer bei <quote>Alert</quote> und <quote>RegionMarker</quote>.

note: Tag: para +> trunk5 stable5
en: Most of the syntax highlighters are intended to look good on the default themes <quote>Breeze Light</quote> and <quote>Breeze Dark</quote>, therefore, another way to maintain consistency is to use similar colors in the <link linkend="color-themes-text-styles">text styles</link>, like <emphasis>green</emphasis> for <quote>Preprocessor</quote> and <quote>Others</quote>, <emphasis>blue</emphasis> for <quote>DataType</quote> and <quote>Attribute</quote>, or <emphasis>purple</emphasis> for <quote>Function</quote>.
de: Die meisten der Syntaxhervorhebungen sind für die Standarddesigns <quote>Breeze-Hell</quote> und <quote>Breeze-Dunkel</quote> optimiert.Daher sollten Sie für die Einheitlichkeit ähnlicher Farben verwenden wie in den <link linkend="color-themes-text-styles">Textstilen</link>, wie <emphasis>grün</emphasis> für <quote>Präprozessor</quote> und <quote>Andere</quote>, <emphasis>blau</emphasis> für <quote>Datentyp</quote> und <quote>Attribut</quote> oder <emphasis>purpur</emphasis> für <quote>Funktion</quote>.

note: Tag: para +> trunk5 stable5
en: Note that these recommendations are not mandatory when creating and publishing a theme.
de: Beachten Sie, dass diese Empfehlungen nicht zwingend für das Erstellen und Veröffentlichen eines Schemas sind.

note: Tag: title +> trunk5 stable5
en: Scripting with &javascript;
de: Scripting mit &javascript;

note: Tag: para +> trunk5 stable5
en: The &kappname; editor component is easily extensible by writing scripts. The scripting language is ECMAScript (widely known as &javascript;). &kappname; supports two kinds of scripts: indentation and command line scripts.
de: Die Editorkomponente von &kappname; kann durch Skripte erweitert werden. Als Skriptsprache wird ECMAScript verwendet, das auch unter dem Namen &javascript; bekannt ist. In &kappname; können zwei Arten von Skripten benutzt werden: Einrückungs- und Befehlszeilenskripte.

note: Tag: title +> trunk5 stable5
en: Indentation Scripts
de: Einrückungsskripte

note: Tag: para +> trunk5 stable5
en: Indentation scripts - also referred as indenters - automatically indent the source code while typing text. As an example, after hitting the return key the indentation level often increases.
de: Mit Einrückungsskripten wird der Quelltext automatisch bei der Eingabe eingerückt. Nach Drücken der Eingabetaste wird die Einrückungstiefe zum Beispiel oft vergrößert.

note: Tag: para +> trunk5 stable5
en: The following sections describe step by step how to create the skeleton for a simple indenter. As a first step, create a new <filename>*.js</filename> file called &eg; <filename>javascript.js</filename> in the local home folder <filename>$<envar>XDG_DATA_HOME</envar>/katepart5/script/indentation</filename>. Therein, the environment variable <envar>XDG_DATA_HOME</envar> typically expands to either <filename>~/.local</filename> or <filename>~/.local/share</filename>.
de: Die folgenden Abschnitte beschreiben Schritt für Schritt, wie das Gerüst für ein einfaches Einrückungsskript entsteht. Zuerst wird eine neue <filename>*.js</filename>-Datei &eg; mit dem Namen <filename>$<envar>XDG_DATA_HOME</envar>/katepart5/script/indentation</filename> erzeugt. Darin wird die Umgebungsvariable <envar>XDG_DATA_HOME</envar> normalerweise entweder zu <filename>~/.local</filename> oder <filename>~/.local/share</filename> erweitert.

note: Tag: title +> trunk5 stable5
en: The Indentation Script Header
de: Der Vorspann des Einrückungsskripts

note: Tag: para +> trunk5 stable5
en: The header of the file <filename>javascript.js</filename> is embedded as &JSON; at the beginning of the document as follows: <programlisting>
    var katescript = {
        "name": "JavaScript",
        "author": "Example Name &lt;example.name@some.address.org&gt;",
        "license": "BSD License",
        "revision": 1,
        "kate-version": "5.1",
        "required-syntax-style": "javascript",
        "indent-languages": ["javascript"],
        "priority": 0,
    }; // kate-script-header, must be at the start of the file without comments
    </programlisting> Each entry is explained in detail now:
de: Der Vorspann der Datei <filename>javascript.js</filename> ist als &JSON; am Anfang des Dokumentes eingebettet und hat folgende Form:  <programlisting>
    var katescript = {
        "name": "JavaScript",
        "author": "Example Name &lt;example.name@some.address.org&gt;",
        "license": "BSD License",
        "revision": 1,
        "kate-version": "5.1",
        "required-syntax-style": "javascript",
        "indent-languages": ["javascript"],
        "priority": 0,
    }; // kate-script-header, muss am Anfang der Datei stehen und darf keine Kommentare enthalten
    </programlisting> Jede Zeile wird jetzt im Detail erklärt:

note: Tag: para +> trunk5 stable5
en: <literal>name</literal> [required]: This is the indenter name that appears in the menu <menuchoice><guimenu>Tools</guimenu><guimenuitem>Indentation</guimenuitem></menuchoice> and in the configuration dialog.
de: <literal>name</literal> [erforderlich]: Dies ist der Name des Skripts, der im Menü  <menuchoice><guimenu>Extras</guimenu><guimenuitem>Einrückung</guimenuitem></menuchoice> und im Einrichtungsdialog angezeigt wird.

note: Tag: para +> trunk5 stable5
en: <literal>author</literal> [optional]: The author's name and contact information.
de: <literal>author</literal> [optional]: Der Name des Autors und weitere Kontaktinformationen.

note: Tag: para +> trunk5 stable5
en: <literal>license</literal> [optional]: Short form of the license, such as BSD License or LGPLv3.
de: <literal>license</literal> [optional]: Kurzform der Lizenz, wie zum Beispiel BSD-Lizenz oder LGPLv3.

note: Tag: para +> trunk5 stable5
en: <literal>revision</literal> [required]: The revision of the script. This number should be increased whenever the script is modified.
de: <literal>revision</literal> [erforderlich]: Die Version des Skripts, sie sollte bei jeder Änderung des Skripts erhöht werden.

note: Tag: para +> trunk5 stable5
en: <literal>kate-version</literal> [required]: Minimum required &kappname; version.
de: <literal>kate-version</literal> [required]: Minimal erforderliche &kappname;-Version.

note: Tag: para +> trunk5 stable5
en: <literal>required-syntax-style</literal> [optional]: The required syntax style, which matches the specified <literal>style</literal> in syntax highlighting files. This is important for indenters that rely on specific highlight information in the document. If a required syntax style is specified, the indenter is available only when the appropriate highlighter is active. This prevents <quote>undefined behavior</quote> caused by using the indenter without the expected highlighting schema. For instance, the Ruby indenter makes use of this in the files <filename>ruby.js</filename> and <filename>ruby.xml</filename>.
de: <literal>required-syntax-style</literal> [optional]: Der erforderliche Sytaxstil, der zum angebenen <literal>style</literal> in Syntaxhervorhebungs-Stildateien passt. Dies ist wichtig für Einrückungsskripte, die besondere Informationen über die Hervorhebung im Dokument benötigen. Wenn ein erforderlicher Syntaxstil angegeben ist, ist das Einrückungsskript nur verfügbar, wenn auch die zugehörige Hervorhebung aktiviert ist. Dies verhindert ein <quote>nicht definiertes Verhalten</quote> beim Verwenden einer Einrückung ohne das erwartete Hervorhebungschema. Ein Beispiel dafür ist das Einrückungsskript für Ruby, das diese Option in den Dateien <filename>ruby.js</filename> und <filename>ruby.xml</filename> benutzt.

note: Tag: para +> trunk5 stable5
en: <literal>indent-languages</literal> [optional]: &JSON; array of syntax styles the indenter can indent correctly, &eg;: <literal>["c++", "java"]</literal>.
de: <literal>indent-languages</literal> [optional]: &JSON;-Feld von Syntaxstilen, die das Skript richtig einrücken kann, &eg;: <literal>["c++", "java"]</literal>.

note: Tag: para +> trunk5 stable5
en: <literal>priority</literal> [optional]: If several indenters are suited for a certain highlighted file, the priority decides which indenter is chosen as default indenter.
de: <literal>priority</literal> [optional]: Wenn es mehrere Einrückungsskripte für eine bestimmte hervorgehobene Datei gibt, bestimmt die Priorität, welches Skript als Standard verwendet wird.

note: Tag: title +> trunk5 stable5
en: The Indenter Source Code
de: Der Quelltext des Einrückungsskripts

note: Tag: para +> trunk5 stable5
en: Consider the following example: Assume using tabs to indent, and tab width is set to 4. Here, &lt;tab&gt; represents a tab and '.' a space: <programlisting>
    1: &lt;tab&gt;&lt;tab&gt;foobar("hello",
    2: &lt;tab&gt;&lt;tab&gt;......."world");
    </programlisting> When indenting line 2, the <function>indent()</function> function returns [8, 15]. As result, two tabs are inserted to indent to column 8, and 7 spaces are added to align the second parameter under the first, so that it stays aligned if the file is viewed with a different tab width.
de: Betrachten Sie das folgende Beispiel: Angenommen das Tabulatorzeichen wird zur Einrückung verwendet und die Tabulatorweite beträgt 4. Hier steht &lt;tab&gt;  für den Tabulator und '.'  für ein Leerzeichen: <programlisting>
    1: &lt;tab&gt;&lt;tab&gt;foobar("hello",
    2: &lt;tab&gt;&lt;tab&gt;......."world");
    </programlisting> Beim Einrücken der Zeile 2 gibt die Funktion <function>indent()</function> [8, 15] zurück. Daher werden zwei Tabulatoren für das Einrücken bis Spalte 8 und noch zusätzlich 7 Leerzeichen hinzugefügt. Dadurch steht der zweite Parameter unter dem ersten und bleibt auch so ausgerichtet, wenn die Datei mit einer anderen Tabulatorweite angezeigt wird.

note: Tag: para +> trunk5 stable5
en: A default &kde; installation ships &kappname; with several indenters. The corresponding &javascript; source code can be found in <filename>$<envar>XDG_DATA_DIRS</envar>/katepart5/script/indentation</filename>.
de: In der Standardinstallation von &kde; wird &kappname; mit einigen Einrückungsskripten installiert. Die entsprechenden &javascript;-Quelltexte finden Sie unter <filename>$<envar>XDG_DATA_DIRS</envar>/katepart5/script/indentation</filename>.

note: Tag: para +> trunk5 stable5
en: Developing an indenter requires reloading the scripts to see whether the changes behave appropriately. Instead of restarting the application, simply switch to the command line and invoke the command <command>reload-scripts</command>.
de: Bei der Entwicklung eines Einrückungsskripts muss das Skript wieder neu geladen werden, um testen zu können, ob es richtig funktioniert. Anstatt das ganze Programm neu zu starten, wechseln Sie zur Befehlszeile und geben <command>reload-scripts</command> ein.

note: Tag: para +> trunk5 stable5
en: If you develop useful scripts please consider contributing to the &kappname; Project by <ulink url="mailto:kwrite-devel@kde.org">contacting the mailing list</ulink>.
de: Wenn Sie nützliche Skripte entwickelt haben, sollten Sie darüber nachdenken, sie zum &kappname;-Projekt hinzufügen. Schreiben Sie dazu an die <ulink url="mailto:kwrite-devel@kde.org">Mailingliste</ulink>.

note: Tag: title +> trunk5 stable5
en: Command Line Scripts
de: Befehlszeilenskripte

note: Tag: para +> trunk5 stable5
en: As it is hard to satisfy everyone's needs, &kappname; supports little helper tools for quick text manipulation through the <link linkend="advanced-editing-tools-commandline">built-in command line</link>. For instance, the command <command>sort</command> is implemented as a script. This section explains how to create <filename>*.js</filename> files to extend &kappname; with arbitrary helper scripts.
de: Da nicht alle gewünschten Funktionen in &kappname; eingebaut werden können, ist es möglich, kleine Hilfsskripte für die schnelle Änderung von Textes mit der <link linkend="advanced-editing-tools-commandline">eingebauten Befehlszeile</link> auszuführen. Der Befehl <command>sort</command> ist zum Beispiel als Skript geschrieben. Dieser Abschnitt erklärt, wie <filename>*.js</filename>-Dateien erstellt werden, um die Fähigkeiten von &kappname; mit beliebigen Hilfsskripten zu erweitern.

note: Tag: para +> trunk5 stable5
en: Command line scripts are located in the same folder as indentation scripts. So as a first step, create a new <filename>*.js</filename> file called <filename>myutils.js</filename> in the local home folder <filename>$<envar>XDG_DATA_HOME</envar>/katepart5/script/commands</filename>. Therein, the environment variable <envar>XDG_DATA_HOME</envar> typically expands to either <filename>~/.local</filename> or <filename>~/.local/share</filename>.
de: Befehlszeilenskripte werden im gleichen Ordner wie Einrückungsskripte gespeichert. Zuerst erstellen Sie eine neue <filename>*.js</filename>-Datei namens <filename>myutils.js</filename> im lokalen persönlichen Ordner <filename>$<envar>XDG_DATA_HOME</envar>/katepart5/script/commands</filename>. Darin wird die Umgebungsvariable <envar>XDG_DATA_HOME</envar> normalerweise entweder zu <filename>~/.local</filename> oder <filename>~/.local/share</filename> erweitert.

note: Tag: title +> trunk5 stable5
en: The Command Line Script Header
de: Der Vorspann des Befehlszeilenskripts

note: Tag: para +> trunk5 stable5
en: The header of each command line script is embedded in &JSON; at the beginning of the script as follows: <programlisting>
    var katescript = {
        "author": "Example Name &lt;example.name@some.address.org&gt;",
        "license": "LGPLv2+",
        "revision": 1,
        "kate-version": "5.1",
        "functions": ["sort", "moveLinesDown"],
        "actions": [
            {   "function": "sort",
                "name": "Sort Selected Text",
                "category": "Editing",
                "interactive": "false"
            },
            {   "function": "moveLinesDown",
                "name": "Move Lines Down",
                "category": "Editing",
                "shortcut": "Ctrl+Shift+Down",
                "interactive": "false"
            }
        ]
    }; // kate-script-header, must be at the start of the file without comments
    </programlisting> Each entry is explained in detail now:
de: Der Vorspann jedes Befehlszeilen-Skripts ist in der &JSON;-Datei am Anfang des Skripts so eingebettet: <programlisting>
    var katescript = {
        "author": "Example Name &lt;example.name@some.address.org&gt;",
        "license": "LGPLv2+",
        "revision": 1,
        "kate-version": "5.1",
        "functions": ["sort", "moveLinesDown"],
        "actions": [
            {   "function": "sort",
                "name": "Sort Selected Text",
                "category": "Editing",
                "interactive": "false"
            },
            {   "function": "moveLinesDown",
                "name": "Move Lines Down",
                "category": "Editing",
                "shortcut": "Ctrl+Shift+Down",
                "interactive": "false"
            }
        ]
    }; // kate-script-header, muss am Anfang der Datei stehen und darf keine Kommentare enthalten
    </programlisting> Jede Zeile wird jetzt im Detail erklärt:

note: Tag: para +> trunk5 stable5
en: <literal>license</literal> [optional]: Short form of the license, such as BSD License or LGPLv2.
de: <literal>license</literal> [optional]: Kurzform der Lizenz, wie zum Beispiel BSD-Lizenz oder LGPLv2.

note: Tag: para +> trunk5 stable5
en: <literal>functions</literal> [required]: &JSON; array of commands in the script.
de: <literal>functions</literal> [erforderlich]: &JSON;-Feld der Befehle im Skript.

note: Tag: para +> trunk5 stable5
en: <literal>actions</literal> [optional]: &JSON; Array of &JSON; objects that defines the actions that appear in the application menu. Detailed information is provided in the section <link linkend="advanced-editing-tools-commandline">Binding Shortcuts</link>.
de: <literal>actions</literal> [optional]: &JSON;-Feld mit &JSON;-Objekten, das die Aktionen festlegt, die im Anwendungsmenü erscheinen sollen. Weitergehende Informationen finden Sie im Abschnitt <link linkend="advanced-editing-tools-commandline">Kurzbefehle festlegen</link>.

note: Tag: para +> trunk5 stable5
en: Since the value of <literal>functions</literal> is a &JSON; array, a single script is able to contain an arbitrary number of command line commands. Each function is available through &kappname;'s <link linkend="advanced-editing-tools-commandline">built-in command line</link>.
de: Da der Inhalt von <literal>functions</literal> ein &JSON;-Feld ist, kann ein einzelnes Skript eine beliebige Anzahl von Befehlen für die Befehlszeile enthalten. Jede Funktion ist durch die <link linkend="advanced-editing-tools-commandline">eingebaute Befehlszeile</link> in &kappname; verfügbar.

note: Tag: title +> trunk5 stable5
en: The Script Source Code
de: Der Quelltext des Skripts

note: Tag: para +> trunk5 stable5
en: All functions specified in the header have to be implemented in the script. For instance, the script file from the example above needs to implement the two functions <command>sort</command> and <command>moveLinesDown</command>. All functions have the following syntax:
de: Alle im Vorspann aufgeführten Funktionen müssen im Skript implementiert werden. Im oben gezeigten Skript müssen zum Beispiel die beiden Funktionen  <command>sort</command> und <command>moveLinesDown</command> implementiert werden. Alle Funktionen haben folgende Syntax:

note: Tag: programlisting +> trunk5 stable5
en: // required katepart js libraries, &eg; range.js if you use Range
    require ("range.js");
    
    function &lt;name&gt;(arg1, arg2, ...)
    {
        // ... implementation, see also: Scripting API
    }
de: // benötigt die Bibliothek „katepart js“ &eg; range.js wenn Range benutzt wird
    require ("range.js");
    function &lt;name&gt;(arg1, arg2, ...)
    {
        // ... Implementierung, siehe auch: Skript-API
    }

note: Tag: para +> trunk5 stable5
en: Arguments in the command line are passed to the function as <parameter>arg1</parameter>, <parameter>arg2</parameter>, &etc; In order to provide documentation for each command, simply implement the '<function>help</function>' function as follows: <programlisting>
    function help(cmd)
    {
        if (cmd == "sort") {
            return i18n("Sort the selected text.");
        } else if (cmd == "...") {
            // ...
        }
    }
    </programlisting> Executing <command>help sort</command> in the command line then calls this help function with the argument <parameter>cmd</parameter> set to the given command, &ie; <parameter>cmd == "sort"</parameter>. &kappname; then presents the returned text as documentation to the user. Make sure to <link linkend="dev-scripting-api-i18n">translate the strings</link>.
de: Argumente in der Befehlszeile werden der Funktion als <parameter>arg1</parameter>, <parameter>arg2</parameter> &etc;  übergeben. Um für jeden Befehl eine Dokumentation zu Verfügung zu stellen, verwenden Sie die Funktion „<function>help</function>“ wie im folgenden Beispiel: <programlisting>
    function help(cmd)
    {
        if (cmd == "sort") {
            return i18n("Sortiert den ausgewählten Text.");
        } else if (cmd == "...") {
            // ...
        }
    }
    </programlisting> Durch den Aufruf von <command>help sort</command> auf der Befehlszeile wird dann diese Hilfefunktion mit dem Argument <parameter>cmd</parameter> für den verwendeten Befehl benutzt, &ie; mit <parameter>cmd == "sort"</parameter>. zeigt &kate; den zurückgegebenen Text als Hilfe für den Benutzer an. Denken Sie daran, die Texte zu <link linkend="dev-scripting-api-i18n">übersetzen </link>.

note: Tag: para +> trunk5 stable5
en: Developing a command line script requires reloading the scripts to see whether the changes behave appropriately. Instead of restarting the application, simply switch to the command line and invoke the command <command>reload-scripts</command>.
de: Bei der Entwicklung eines Befehlszeilenskripts muss das Skript wieder neu geladen werden, um testen zu können, ob es richtig funktioniert. Anstatt das ganze Programm neu zu starten, wechseln Sie zur Befehlszeile und geben <command>reload-scripts</command> ein.

note: Tag: title +> trunk5 stable5
en: Binding Shortcuts
de: Kurzbefehle festlegen

note: Tag: para +> trunk5 stable5
en: In order to make the scripts accessible in the application menu and assign shortcuts, the script needs to provide an appropriate script header. In the above example, both functions <literal>sort</literal> and <literal>moveLinesDown</literal> appear in the menu due to the following part in the script header: <programlisting>
    var katescript = {
        ...
        "actions": [
            {   "function": "sort",
                "name": "Sort Selected Text",
                "icon": "",
                "category": "Editing",
                "interactive": "false"
            },
            {   "function": "moveLinesDown",
                "name": "Move Lines Down",
                "icon": "",
                "category": "Editing",
                "shortcut": "Ctrl+Shift+Down",
                "interactive": "false"
            }
        ]
    };
    </programlisting> The fields for one action are as follows:
de: Das Skript braucht einen passenden Skript-Header, der die Skripte über das Anwendungsmenü verfügbar macht. Im Beispiel erscheinen die Funktionen <literal>sort</literal> und <literal>moveLinesDown</literal> im Menü. Das wird durch den folgenden Skript-Header erreicht: <programlisting>
    var katescript = {
        ...
        "actions": [
            {   "function": "sort",
                "name": "Sort Selected Text",
                "icon": "",
                "category": "Editing",
                "interactive": "false"
            },
            {   "function": "moveLinesDown",
                "name": "Move Lines Down",
                "icon": "",
                "category": "Editing",
                "shortcut": "Ctrl+Shift+Down",
                "interactive": "false"
            }
        ]
    };
    </programlisting> Die Felder für eine Aktion lauten wie folgt:

note: Tag: para +> trunk5 stable5
en: <literal>function</literal> [required]: The function that should appear in the menu <menuchoice><guimenu>Tools</guimenu> <guisubmenu>Scripts</guisubmenu></menuchoice>.
de: <literal>function</literal> [erforderlich]: Die Funktion, die im Menü  <menuchoice><guimenu>Extras</guimenu> <guisubmenu>Skripte</guisubmenu></menuchoice> erscheint.

note: Tag: para +> trunk5 stable5
en: <literal>name</literal> [required]: The text appears in the script menu.
de: <literal>name</literal> [erforderlich]: Der Text, der im Menü Skript angezeigt wird.

note: Tag: para +> trunk5 stable5
en: <literal>icon</literal> [optional]: The icon appears next to the text in the menu. All &kde; icon names can be used here.
de: <literal>icon</literal> [optional]: Dieses Symbol erscheint neben dem Text im Menü. Alle &kde;-Symbolnamen können hier benutzt werden.

note: Tag: para +> trunk5 stable5
en: <literal>category</literal> [optional]: If a category is specified, the script appears in a submenu.
de: <literal>category</literal> [optional]: Wenn eine Kategorie angegeben ist, dann erscheint das Skript in einem Untermenü.

note: Tag: para +> trunk5 stable5
en: <literal>shortcut</literal> [optional]: The shortcut given here is the default shortcut. Example: <literal>Ctrl+Alt+t</literal>. See the <ulink url="https://doc.qt.io/qt-5/qt.html#Key-enum">&Qt; documentation</ulink> for further details.
de: <literal>shortcut</literal> [optional]: Der hier angegebene Kurzbefehl ist der Standard. Beispiel: <literal>Ctrl+Alt+T</literal>. Sehen Sie in der <ulink url="https://doc.qt.io/qt-5/qt.html#Key-enum">&Qt;-Dokumentation</ulink> für weitere Einzelheiten nach.

note: Tag: para +> trunk5 stable5
en: <literal>interactive</literal> [optional]: If the script needs user input in the command line, set this to <literal>true</literal>.
de: <literal>interactive</literal> [optional]: Wenn das Skript Benutzereingaben auf der Befehlszeile braucht, dann setzen Sie diesen Parameter auf <literal>true</literal>.

note: Tag: title +> trunk5 stable5
en: Scripting API
de: Skript-API

note: Tag: para +> trunk5 stable5
en: The scripting API presented here is available to all scripts, &ie; indentation scripts and command line commands. The <classname>Cursor</classname> and <classname>Range</classname> classes are provided by library files in <filename>$<envar>XDG_DATA_DIRS</envar>/katepart5/libraries</filename>. If you want to use them in your script, which needs to use some of the <classname>Document</classname> or <classname>View</classname> functions, please include the necessary library by using:
de: Die hier vorgestellte Programmierschnittstelle (API) ist in allen Skripten verfügbar, &ie; in Einrückungs- und Befehlszeilenskripten. Die Klassen <classname>Cursor</classname> und <classname>Range</classname> werden durch die Bibliotheksdateien in <filename>$<envar>XDG_DATA_DIRS</envar>/katepart5/libraries</filename> bereit gestellt. Wenn Sie sie in Ihren Skripten verwenden möchten, was für einige der Funktionen <classname>Document</classname> oder <classname>View</classname> erforderlich ist, fügen Sie bitte die benötigte Bibliothek wie folgt ein:

note: Tag: programlisting +> trunk5 stable5
en: // required katepart js libraries, &eg; range.js if you use Range
    require ("range.js");
de: // benötigt die Bibliothek „katepart js“ &eg; range.js wenn Range benutzt wird
    require ("range.js");

note: Tag: para +> trunk5 stable5
en: To extend the standard scripting API with your own functions and prototypes simply create a new file in &kde;'s local configuration folder <filename>$<envar>XDG_DATA_HOME</envar>/katepart5/libraries</filename> and include it into your script using:
de: Um die Standard-Skript-API mit eigenen Funktionen und Prototypen zu erweitern, erzeugen Sie eine neue Datei im lokalen Einrichtungsordner für &kde; <filename>$<envar>XDG_DATA_HOME</envar>/katepart5/libraries</filename> und schließen Sie sie in Ihr Skript mit folgendem Befehl ein:

note: Tag: para +> trunk5 stable5
en: On &Windows; these files are located in <filename>%USERPROFILE%\AppData\Local\katepart5\libraries</filename>. <replaceable>%USERPROFILE%</replaceable> usually expands to <filename>C:\\Users\\<replaceable>user</replaceable></filename>.
de: Auf &Windows;-Systemen finden Sie diese Dateien unter <filename>%USERPROFILE%\AppData\Local\katepart5\libraries</filename>. Dabei ist <replaceable>%USERPROFILE%</replaceable> normalerweise <filename>C:\\Users\\<replaceable>user</replaceable></filename>.

note: Tag: para +> trunk5 stable5
en: To extend existing prototypes like <classname>Cursor</classname> or <classname>Range</classname>, the recommended way is to <emphasis>not</emphasis> modify the global <filename>*.js</filename> files. Instead, change the <classname>Cursor</classname> prototype in &javascript; after the <filename>cursor.js</filename> is included into your script via <literal>require</literal>.
de: Um vorhandene Prototypen wie <classname>Cursor</classname> oder <classname>Range</classname> zu erweitern, wird empfohlen, <emphasis>nicht</emphasis> die globalen <filename>*.js</filename>-Dateien zu ändern. Ändern Sie stattdessen den <classname>Cursor</classname>-Prototyp in &javascript;, nachdem <filename>cursor.js</filename> in Ihrem Skript mit <literal>require</literal> eingefügt ist.

note: Tag: title +> trunk5 stable5
en: Cursors and Ranges
de: Cursor und Bereiche

note: Tag: para +> trunk5 stable5
en: As &kappname; is a text editor, all the scripting API is based on cursors and ranges whenever possible. A Cursor is a simple <literal>(line, column)</literal> tuple representing a text position in the document. A Range spans text from a starting cursor position to an ending cursor position. The API is explained in detail in the next sections.
de: Da &kappname; ein Texteditor ist, basiert die Skript-API soweit möglich auf Cursor und Bereichen. Ein Cursor ist ein einfaches Tupel <literal>(Zeile, Spalte)</literal> für eine Textposition im Dokument. Ein Bereich umfasst Text vom Start bis zum Ende der Cursor-Position. Die Programmschnittstelle wird in den nächsten Abschnitten im Einzelnen erläutert.

note: Tag: title +> trunk5 stable5
en: The Cursor Prototype
de: Der Cursor-Prototyp

note: Tag: para +> trunk5 stable5
en: Constructor. Returns a Cursor at position <literal>(0, 0)</literal>.
de: Konstruktor. Gibt einen Cursor an der Position <literal>(0, 0)</literal> zurück.

note: Tag: para +> trunk5 stable5
en: Example: <function>var cursor = new Cursor();</function>
de: Beispiel: <function>var cursor = new Cursor();</function>

note: Tag: synopsis +> trunk5 stable5
en: Cursor(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
de: Cursor(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Constructor. Returns a Cursor at position (line, column).
de: Konstruktor. Gibt einen Cursor an der Position <literal>(zeile, spalte)</literal> zurück.

note: Tag: para +> trunk5 stable5
en: Example: <function>var cursor = new Cursor(3, 42);</function>
de: Beispiel: <function>var cursor = new Cursor(3, 42);</function>

note: Tag: para +> trunk5 stable5
en: Copy constructor. Returns a copy of the cursor <replaceable>other</replaceable>.
de: Kopierkonstruktor. Gibt die Kopie des Cursors <replaceable>other</replaceable> zurück.

note: Tag: para +> trunk5 stable5
en: Example: <function>var copy = new Cursor(other);</function>
de: Beispiel: <function>var copy = new Cursor(cursor);</function>

note: Tag: para +> trunk5 stable5
en: Returns a clone of the cursor.
de: Gibt einen Klon des Cursors zurück.

note: Tag: para +> trunk5 stable5
en: Example: <function>var clone = cursor.clone();</function>
de: Beispiel: <function>var clone = cursor.clone();</function>

note: Tag: synopsis +> trunk5 stable5
en: Cursor.setPosition(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
de: Cursor.setPosition(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Sets the cursor position to <replaceable>line</replaceable> and <replaceable>column</replaceable>.
de: Setzt die Cursor-Position auf <replaceable>zeile</replaceable> und <replaceable>spalte</replaceable>.

note: Tag: para +> trunk5 stable5
en: Check whether the cursor is valid. The cursor is invalid, if line and/or column are set to <literal>-1</literal>.
de: Überprüft, ob der Cursor gültig ist. Ein Cursor ist ungültig, wenn die Zeile und oder die Spalte den Wert <literal>-1</literal> haben.

note: Tag: para +> trunk5 stable5
en: Example: <function>var valid = cursor.isValid();</function>
de: Beispiel: <function>var valid = cursor.isValid();</function>

note: Tag: para +> trunk5 stable5
en: Returns a new invalid cursor located at <literal>(-1, -1)</literal>.
de: Gibt einen neuen ungültigen Cursor an der Position <literal>(-1, -1)</literal> zurück.

note: Tag: para +> trunk5 stable5
en: Example: <function>var invalidCursor = cursor.invalid();</function>
de: Beispiel: <function>var invalidCursor = cursor.invalid();</function>

note: Tag: para +> trunk5 stable5
en: Compares this cursor to the cursor <replaceable>other</replaceable>. Returns
de: Vergleicht diesen Cursor mit dem Cursor <replaceable>other</replaceable>. Gibt folgende Werte zurück:

note: Tag: para +> trunk5 stable5
en: <literal>-1</literal>, if this cursor is located before the cursor <replaceable>other</replaceable>,
de: <literal>-1</literal>, wenn dieser Cursor sich vor dem Cursor <replaceable>other</replaceable> befindet,

note: Tag: para +> trunk5 stable5
en: <literal>0</literal>, if both cursors equal and
de: <literal>0</literal>, wenn beide Cursor an der gleichen Stelle stehen und

note: Tag: para +> trunk5 stable5
en: <literal>+1</literal>, if this cursor is located after the cursor <replaceable>other</replaceable>.
de: <literal>+1</literal>, wenn dieser Cursor sich hinter dem Cursor <replaceable>other</replaceable> befindet.

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if this cursor and the cursor <replaceable>other</replaceable> are equal, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn dieser Cursor und der Cursor <replaceable>other</replaceable> gleich sind, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns the cursor as a string of the form <quote><literal>Cursor(line, column)</literal></quote>.
de: Gibt den Cursor als Zeichenfolge in der Form <quote><literal>Cursor(zeile, spalte)</literal></quote> zurück.

note: Tag: title +> trunk5 stable5
en: The Range Prototype
de: Der Bereich-Prototyp

note: Tag: para +> trunk5 stable5
en: Constructor. Calling <literal>new Range()</literal> returns a Range at (0, 0) - (0, 0).
de: Konstruktor. Der Aufruf <literal>new Range()</literal> gibt einen Bereich von  (0, 0) - (0, 0) zurück.

note: Tag: synopsis +> trunk5 stable5
en: Range(<parameter>Cursor <replaceable>start</replaceable></parameter>, <parameter>Cursor <replaceable>end</replaceable></parameter>);
de: Range(<parameter>Cursor <replaceable>start</replaceable></parameter>, <parameter>Cursor <replaceable>ende</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Constructor. Calling <literal>new Range(<replaceable>start</replaceable>, <replaceable>end</replaceable>)</literal> returns the Range (<replaceable>start</replaceable>, <replaceable>end</replaceable>).
de: Konstruktor. Der Aufruf <literal>new Range(<replaceable>start</replaceable>, <replaceable>end</replaceable>)</literal> gibt einen Bereich von (<replaceable>start</replaceable>, <replaceable>ende</replaceable>) zurück.

note: Tag: synopsis +> trunk5 stable5
en: Range(<parameter>int <replaceable>startLine</replaceable></parameter>, <parameter>int <replaceable>startColumn</replaceable></parameter>, <parameter>int <replaceable>endLine</replaceable></parameter>, <parameter>int <replaceable>endColumn</replaceable></parameter>);
de: Range(<parameter>int <replaceable>startZeile</replaceable></parameter>, <parameter>int <replaceable>startspalte</replaceable></parameter>, <parameter>int <replaceable>endZeile</replaceable></parameter>, <parameter>int <replaceable>endSpalte</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Constructor. Calling <literal>new Range(<replaceable>startLine</replaceable>, <replaceable>startColumn</replaceable>, <replaceable>endLine</replaceable>, <replaceable>endColumn</replaceable>)</literal> returns the Range from (<replaceable>startLine</replaceable>, <replaceable>startColumn</replaceable>) to (<replaceable>endLine</replaceable>, <replaceable>endColumn</replaceable>).
de: Konstruktor. Der Aufruf von <literal>new Range(<replaceable>startZeile</replaceable>, <replaceable>startSpalte</replaceable>, <replaceable>endZeile</replaceable>, <replaceable>endSpalte</replaceable>)</literal>. Gibt den Bereich von (<replaceable>startZeile</replaceable>, <replaceable>startSpalte</replaceable>) bis (<replaceable>endZeile</replaceable>, <replaceable>endSpalte</replaceable>) zurück.

note: Tag: para +> trunk5 stable5
en: Copy constructor. Returns a copy of Range <replaceable>other</replaceable>.
de: Kopierkonstruktor. Gibt eine Kopie von Range <replaceable>other</replaceable> zurück.

note: Tag: para +> trunk5 stable5
en: Returns a clone of the range.
de: Gibt einen Klon des Bereichs zurück.

note: Tag: para +> trunk5 stable5
en: Example: <function>var clone = range.clone();</function>
de: Beispiel: <function>var clone = range.clone();</function>

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the start and end cursors are equal.
de: Gibt <literal>true</literal> zurück, wenn der Start- und der End-Cursor gleich sind.

note: Tag: para +> trunk5 stable5
en: Example: <function>var empty = range.isEmpty();</function>
de: Beispiel: <function>var empty = range.isEmpty();</function>

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if both start and end cursor are valid, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn sowohl Start- als auch End-Cursor gültig sind, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Example: <function>var valid = range.isValid();</function>
de: Beispiel: <function>var valid = range.isValid();</function>

note: Tag: para +> trunk5 stable5
en: Returns the Range from (-1, -1) to (-1, -1).
de: Gibt den Bereich von (-1, -1) bis (-1, -1) zurück.

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if this range contains the cursor position, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn dieser Bereich die Cursor-Position enthält, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if this range contains the Range <replaceable>other</replaceable>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn dieser Bereich den Bereich <replaceable>other</replaceable> enthält, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool Range.containsColumn(<parameter>int <replaceable>column</replaceable></parameter>);
de: bool Range.containsColumn(<parameter>int <replaceable>spalte</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if <replaceable>column</replaceable> is in the half open interval <literal>[start.column, end.column)</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn <replaceable>spalte</replaceable> in dem halboffenen Intervall <literal>[start.spalte, end.spalte)</literal> liegt, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool Range.containsLine(<parameter>int <replaceable>line</replaceable></parameter>);
de: bool Range.containsLine(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if <replaceable>line</replaceable> is in the half open interval <literal>[start.line, end.line)</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn <replaceable>zeile</replaceable> in dem halboffenen Intervall <literal>[start.zeile, end.zeile)</literal> liegt, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if this range and the range <replaceable>other</replaceable> share a common region, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn dieser Bereich und der Bereich <replaceable>other</replaceable> sich überlappen, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool Range.overlapsLine(<parameter>int <replaceable>line</replaceable></parameter>);
de: bool Range.overlapsLine(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if <replaceable>line</replaceable> is in the interval <literal>[start.line, end.line]</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn <replaceable>zeile</replaceable> in dem Intervall <literal>[start.zeile, end.zeile]</literal> liegt, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool Range.overlapsColumn(<parameter>int <replaceable>column</replaceable></parameter>);
de: bool Range.overlapsColumn(<parameter>int <replaceable>spalte</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if <replaceable>column</replaceable> is in the interval <literal>[start.column, end.column]</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn <replaceable>spalte</replaceable> in dem Intervall <literal>[start.spalte, end.spalte]</literal> liegt, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the range starts and ends at the same line, &ie; if <replaceable>Range.start.line == Range.end.line</replaceable>.
de: Gibt <literal>true</literal> zurück, wenn der Bereich in der gleichen Zeile beginnt  und endet, &ie; wenn <replaceable>Range.start.line == Range.end.line</replaceable> ist.

note: Tag: para +> trunk5 stable5
en: Since: &kde; 4.9
de: Seit: &kde; 4.9

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if this range and the Range <replaceable>other</replaceable> are equal, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn dieser Bereich und der Bereich <replaceable>other</replaceable> gleich sind, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns the range as a string of the form <quote><literal>Range(Cursor(line, column), Cursor(line, column))</literal></quote>.
de: Gibt den Bereich als Zeichenfolge in der Form <quote><literal>Range(Cursor(zeile, spalte), Cursor(zeile, spalte))</literal></quote> zurück.

note: Tag: title +> trunk5 stable5
en: Global Functions
de: Globale Funktionen

note: Tag: para +> trunk5 stable5
en: This section lists all global functions.
de: Dieser Abschnitt listet alle globalen Funktionen auf.

note: Tag: title +> trunk5 stable5
en: Reading &amp; Including Files
de: Lesen &amp; Einfügen von Dateien

note: Tag: synopsis +> trunk5 stable5
en: String read(<parameter>String <replaceable>file</replaceable></parameter>);
de: String read(<parameter>String <replaceable>datei</replaceable></parameter>);

note: Tag: synopsis +> trunk5 stable5
en: void require(<parameter>String <replaceable>file</replaceable></parameter>);
de: void require(<parameter>String <replaceable>datei</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Since: &kde; 4.10
de: Seit: &kde; 4.10

note: Tag: title +> trunk5 stable5
en: Debugging
de: Fehlersuche

note: Tag: para +> trunk5 stable5
en: Prints <replaceable>text</replaceable> to <literal>stdout</literal> in the console launching the application.
de: Gibt den <replaceable>text</replaceable> auf der Standardausgabe <literal>stdout</literal> in der Konsole aus, von der das Programm gestartet wurde.

note: Tag: title +> trunk5 stable5
en: Translation
de: Übersetzung

note: Tag: para +> trunk5 stable5
en: In order to support full localization, there are several functions to translate strings in scripts, namely <literal>i18n</literal>, <literal>i18nc</literal>, <literal>i18np</literal> and <literal>i18ncp</literal>. These functions behave exactly like <ulink url="https://techbase.kde.org/Development/Tutorials/Localization/i18n"> &kde;'s translation functions</ulink>.
de: Die Lokalisierung wird durch einige Funktionen zum Übersetzen von Zeichenfolgen in Skripten unterstützt, so durch <literal>i18n</literal>, <literal>i18nc</literal>, <literal>i18np</literal> und <literal>i18ncp</literal>. Diese Funktionen arbeiten genau wie auf der Seite <ulink url="https://techbase.kde.org/Development/Tutorials/Localization/i18n"> &kde;'s Übersetzungsfunktionen</ulink> beschrieben.

note: Tag: para +> trunk5 stable5
en: The translation functions translate the wrapped strings through &kde;'s translation system to the language used in the application. Strings in scripts being developed in the official &kappname; sources are automatically extracted and translatable. In other words, as a &kappname; developer you do not have to bother with message extraction and translation. It should be noted though, that the translation only works inside the &kde; infrastructure, &ie;, new strings in 3rd-party scripts developed outside of &kde; are not translated. Therefore, please consider contributing your scripts to &kate; such that proper translation is possible.
de: Die Übersetzungsfunktionen übersetzen die eingepackten Zeichenfolgen durch &kde;'s Übersetzungssystem in die Sprache, die in der Anwendung benutzt wird. Zeichenfolgen in Skripten, die in den offiziellen &kappname;-Quellen entwickelt werden, werden automatisch extrahiert und sind übersetzbar. Anders gesagt, müssen Sie sich als Entwickler von &kappname; nicht um das Extrahieren und Übersetzen kümmern. Achtung, diese Funktionalität gibt es nur innerhalb  der &kde;-Infrastruktur. Neue Texte in Skripten, die von Anderen ausserhalb von &kde; entwickelt wurden, werden nicht automatisch  übersetzt. Bitte denken Sie darüber nach, solche Skripte an &kde; zu geben, so dass die korrekte Übersetzung möglich wird.

note: Tag: para +> trunk5 stable5
en: Translates <replaceable>text</replaceable> into the language used by the application. The arguments <replaceable>arg1</replaceable>, ..., are optional and used to replace the placeholders <literal>%1</literal>, <literal>%2</literal>, &etc;
de: Übersetzt <replaceable>text</replaceable> in die von der Anwendung benutzte Sprache. Die Argumente <replaceable>arg1</replaceable>, ..., sind optional und werden benutzt, um die Platzhalter <literal>%1</literal>, <literal>%2</literal> &etc; zu ersetzen.

note: Tag: para +> trunk5 stable5
en: Translates <replaceable>text</replaceable> into the language used by the application. Additionally, the string <replaceable>context</replaceable> is visible to translators so they can provide a better translation. The arguments <replaceable>arg1</replaceable>, ..., are optional and used to replace the placeholders <literal>%1</literal>, <literal>%2</literal>, &etc;
de: Übersetzt <replaceable>text</replaceable> in die von der Anwendung benutzte Sprache. Zusätzlich ist die Zeichenfolge <replaceable>context</replaceable> sichtbar, so dass Übersetzer bessere Übersetzungen anfertigen können. Die Argumente <replaceable>arg1</replaceable>, ..., sind optional und werden benutzt, um die Platzhalter <literal>%1</literal>, <literal>%2</literal> &etc;. zu ersetzen.

note: Tag: para +> trunk5 stable5
en: Translates either <replaceable>singular</replaceable> or <replaceable>plural</replaceable> into the language used by the application, depending on the given <replaceable>number</replaceable>. The arguments <replaceable>arg1</replaceable>, ..., are optional and used to replace the placeholders <literal>%1</literal>, <literal>%2</literal>, &etc;
de: Übersetzt entweder <replaceable>singular</replaceable> oder <replaceable>plural</replaceable> in die von der Anwendung benutzte Sprache. Dies ist abhängig von der angegebenen <replaceable>number</replaceable>. Die Argumente <replaceable>arg1</replaceable>, ..., sind optional und werden benutzt, um die Platzhalter <literal>%1</literal>, <literal>%2</literal> &etc;. zu ersetzen.

note: Tag: para +> trunk5 stable5
en: Translates either <replaceable>singular</replaceable> or <replaceable>plural</replaceable> into the language used by the application, depending on the given <replaceable>number</replaceable>. Additionally, the string <replaceable>context</replaceable> is visible to translators so they can provide a better translation. The arguments <replaceable>arg1</replaceable>, ..., are optional and used to replace the placeholders <literal>%1</literal>, <literal>%2</literal>, &etc;
de: Übersetzt entweder <replaceable>singular</replaceable> oder <replaceable>plural</replaceable> in die von der Anwendung benutzte Sprache. Dies ist abhängig von der angegebenen <replaceable>number</replaceable>. Zusätzlich ist die Zeichenfolge <replaceable>context</replaceable> sichtbar, so dass Übersetzer bessere Übersetzungen anfertigen können. Die Argumente <replaceable>arg1</replaceable>, ..., sind optional und werden benutzt, um die Platzhalter <literal>%1</literal>, <literal>%2</literal> &etc;. zu ersetzen.

note: Tag: title +> trunk5 stable5
en: The View API
de: Die Programmschnittstelle zur Ansicht

note: Tag: para +> trunk5 stable5
en: Whenever a script is being executed, there is a global variable <quote><literal>view</literal></quote> representing the current active editor view. The following is a list of all available View functions.
de: Für jedes ausgeführte Skript gibt es eine globale Variable <quote><literal>view</literal></quote>, für die aktuelle Editoransicht. Im Folgenden finden Sie eine Liste aller verfügbaren Funktionen für eine Ansicht.

note: Tag: para +> trunk5 stable5
en: Copy the selection if there is one, otherwise the current line if the option <userinput>[ ] Copy/Cut the current line if no selection</userinput> is set.
de: Kopiert eine vorhandene Auswahl, ansonsten die aktuelle Zeile, wenn die Einstellung <userinput>[ ] Die aktuelle Zeile kopieren/ausschneiden, wenn keine Markierung vorliegt</userinput> aktiviert ist.

note: Tag: para +> trunk5 stable5
en: Since: &kde-frameworks; 5.79
de: Seit &kde-frameworks; 5.79

note: Tag: para +> trunk5 stable5
en: Cut the selection if there is one, otherwise the current line if the option <userinput>[ ] Copy/Cut the current line if no selection</userinput> is set.
de: Schneidet eine vorhandene Auswahl, ansonsten die aktuelle Zeile aus, wenn die Einstellung <userinput>[ ] Die aktuelle Zeile kopieren/ausschneiden, wenn keine Markierung vorliegt</userinput> aktiviert ist.

note: Tag: para +> trunk5 stable5
en: Paste the clipboard content.
de: Inhalt der Zwischenablage einfügen.

note: Tag: para +> trunk5 stable5
en: Returns the current cursor position in the view.
de: Gibt die aktuelle Position des Cursors in der Ansicht zurück.

note: Tag: synopsis +> trunk5 stable5
en: void view.setCursorPosition(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    void view.setCursorPosition(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: void view.setCursorPosition(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    void view.setCursorPosition(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Set the current cursor position to either (line, column) or to the given cursor.
de: Setzt die aktuelle Position des Cursors entweder auf (zeile, spalte) oder auf den angegebenen Cursor.

note: Tag: para +> trunk5 stable5
en: Returns the virtual cursor position with each tab counting the corresponding amount of spaces depending on the current tab width.
de: Gibt die virtuelle Cursor-Position zurück, dabei wird jeder Tabulator mit der Anzahl der Leerzeichen entsprechend der aktuellen Tabulatorweite berechnet.

note: Tag: synopsis +> trunk5 stable5
en: void view.setVirtualCursorPosition(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    void view.setVirtualCursorPosition(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: void view.setVirtualCursorPosition(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    void view.setVirtualCursorPosition(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Set the current virtual cursor position to (line, column) or to the given cursor.
de: Setzt die aktuelle Position des virtuellen Cursors entweder auf (zeile, spalte) oder auf den angegebenen Cursor.

note: Tag: para +> trunk5 stable5
en: Returns the selected text. If no text is selected, the returned string is empty.
de: Gibt den ausgewählten Text zurück. Ist kein Text ausgewählt, wird eine leere Zeichenfolge zurückgegeben.

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the view has selected text, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn die Ansicht ausgewählten Text enthält, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns the selected text range. The returned range is invalid if there is no selected text.
de: Gibt den ausgewählten Textbereich zurück. Der zurückgegebene Bereich ist ungültig, wenn kein Text ausgewählt ist.

note: Tag: para +> trunk5 stable5
en: Set the selected text to the given range.
de: Setzt den ausgewählten Text zum angegebenen Bereich.

note: Tag: para +> trunk5 stable5
en: Remove the selected text. If the view does not have any selected text, this does nothing.
de: Entfernt den ausgewählten Text. Wenn in der Ansicht kein Text ausgewählt ist, passiert nichts.

note: Tag: para +> trunk5 stable5
en: Selects the entire text in the document.
de: Wählt den gesamten Text im Dokument aus.

note: Tag: para +> trunk5 stable5
en: Clears the text selection without removing the text.
de: Löscht die Textauswahl, aber nicht den Text selbst.

note: Tag: para +> trunk5 stable5
en: <literal>view.alignOn(document.documentRange(), '-');</literal> will insert spaces before the first <literal>-</literal> of each lines to align them all on the same column.
de: <literal>view.alignOn(document.documentRange(), '-');</literal> fügt Leerzeichen vor dem ersten <literal>-</literal> in jeder Zeile ein, um diese an derselben Spalte auszurichten.

note: Tag: para +> trunk5 stable5
en: <literal>view.alignOn(document.documentRange(), ':\\s+(.)');</literal> will insert spaces before the first non-blank character that occurs after a colon to align them all on the same column.
de: <literal>view.alignOn(document.documentRange(), ':\\s+(.)');</literal> fügt Leerzeichen vor dem ersten nicht leeren Zeichen ein, das auf einen Doppelpunkt folgt, um die Zeilen an dessen Spalte auszurichten.

note: Tag: para +> trunk5 stable5
en: Executes the <link linkend="advanced-editing-tools-commandline">command line command</link> <replaceable>command</replaceable> with the optional arguments <replaceable>args</replaceable> and the optional <replaceable>range</replaceable>. The returned <replaceable>object</replaceable> has a boolean property <replaceable>object.ok</replaceable> that indicates whether execution of the <replaceable>command</replaceable> was successful. In case of an error, the string <replaceable>object.status</replaceable> contains an error message.
de: Führt den <link linkend="advanced-editing-tools-commandline">Befehl</link> <replaceable>command</replaceable> mit den optionalen Argumenten <replaceable>args</replaceable> und <replaceable>range</replaceable> aus. Das zurückgegebene <replaceable>object</replaceable>hat die boolesche Eigenschaft <replaceable>object.ok</replaceable>, mit der angegeben wird, ob der Befehl <replaceable>command</replaceable> erfolgreich ausgeführt wurde. Bei einem Fehler enthält <replaceable>object.status</replaceable> die Fehlermeldung.

note: Tag: para +> trunk5 stable5
en: Since: &kde-frameworks; 5.50
de: Seit &kde-frameworks; 5.50

note: Tag: title +> trunk5 stable5
en: The Document API
de: Die Programmschnittstelle zum Dokument

note: Tag: para +> trunk5 stable5
en: Whenever a script is being executed, there is a global variable <quote><literal>document</literal></quote> representing the current active document. The following is a list of all available Document functions.
de: Für jedes ausgeführte Skript gibt es eine globale Variable <quote><literal>document</literal></quote>, die das aktuelle Dokument verweist. Im Folgenden finden Sie eine Liste aller verfügbaren Funktionen für ein Dokument.

note: Tag: para +> trunk5 stable5
en: Returns the document's filename or an empty string for unsaved text buffers.
de: Gibt den Dateinamen des Dokuments zurück oder eine leere Zeichenfolge für nicht gespeicherte Textpuffer.

note: Tag: para +> trunk5 stable5
en: Returns the document's full &URL; or an empty string for unsaved text buffers.
de: Gibt die vollständige &URL; des Dokuments zurück oder eine leere Zeichenfolge für nicht gespeicherte Textpuffer.

note: Tag: para +> trunk5 stable5
en: Returns the document's &MIME; type or the &MIME; type <literal>application/octet-stream</literal> if no appropriate &MIME; type could be found.
de: Gibt den &MIME;-Typ des Dokuments zurück oder <literal>application/octet-stream</literal>, wenn kein passender &MIME;-Typ gefunden wurde.

note: Tag: para +> trunk5 stable5
en: Returns the currently used encoding to save the file.
de: Gibt die aktuell verwendete Kodierung zum Speichern der Datei zurück.

note: Tag: para +> trunk5 stable5
en: Returns the global highlighting mode used for the whole document.
de: Gibt den globalen Hervorhebungsmodus für das gesamte Dokument zurück.

note: Tag: para +> trunk5 stable5
en: Returns the highlighting mode used at the given position in the document.
de: Gibt den Hervorhebungsmodus an der angegebenen Cursor-Position im Dokument zurück.

note: Tag: para +> trunk5 stable5
en: Returns an array of highlighting modes embedded in this document.
de: Gibt ein Feld von Hervorhebungsmodi zurück, die in diesem Dokument eingebettet sind..

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the document has unsaved changes (modified), otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Dokument ungespeicherte Änderungen enthält, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns the entire content of the document in a single text string. Newlines are marked with the newline character <quote><literal>\n</literal></quote>.
de: Gibt den gesamten Inhalt des Dokuments in einer einzigen Zeichenfolge zurück. Zeilenumbrüche werden mit dem zugehörigen Zeichen <quote><literal>\n</literal></quote> markiert.

note: Tag: synopsis +> trunk5 stable5
en: String document.text(<parameter>int <replaceable>fromLine</replaceable></parameter>, <parameter>int <replaceable>fromColumn</replaceable></parameter>, <parameter>int <replaceable>toLine</replaceable></parameter>, <parameter>int <replaceable>toColumn</replaceable></parameter>);
    String document.text(<parameter>Cursor <replaceable>from</replaceable></parameter>, <parameter>Cursor <replaceable>to</replaceable></parameter>);
    String document.text(<parameter>Range <replaceable>range</replaceable></parameter>);
de: String document.text(<parameter>int <replaceable>vonZeile</replaceable></parameter>, <parameter>int <replaceable>vonSpalte</replaceable></parameter>, <parameter>int <replaceable>bisZeile</replaceable></parameter>, <parameter>int <replaceable>bisSpalte</replaceable></parameter>);
    String document.text(<parameter>Cursor <replaceable>von</replaceable></parameter>, <parameter>Cursor <replaceable>bis</replaceable></parameter>);
    String document.text(<parameter>Range <replaceable>range</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the text in the given range. It is recommended to use the cursor and range based version for better readability of the source code.
de: Gibt den Text im angegebenen Bereich zurück. Es wird empfohlen, die Cursor- und Bereichsbasierte Version zu benutzen, dadurch ist der Quelltext besser lesbar.

note: Tag: synopsis +> trunk5 stable5
en: String document.line(<parameter>int <replaceable>line</replaceable></parameter>);
de: String document.line(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the given text line as string. The string is empty if the requested line is out of range.
de: Gibt die angegebene Textzeile als Zeichenfolge zurück. Die Zeichenfolge ist leer, wenn die angeforderte Zeile außerhalb des Bereichs liegt.

note: Tag: synopsis +> trunk5 stable5
en: String document.wordAt(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    String document.wordAt(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: String document.wordAt(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    String document.wordAt(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the word at the given cursor position.
de: Gibt das Wort an der angegebenen Cursor-Position zurück.

note: Tag: synopsis +> trunk5 stable5
en: Range document.wordRangeAt(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    Range document.wordRangeAt(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: Range document.wordRangeAt(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    Range document.wordRangeAt(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Return the range of the word at the given cursor position. The returned range is invalid (see Range.isValid()), if the text position is after the end of a line. If there is no word at the given cursor, an empty range is returned.
de: Gibt den Bereich des Wortes an der angegebenen Cursor-Position zurück. Der zurückgegebene Bereich ist ungültig (siehe Range.isValid()), wenn die Textposition nach dem Zeilenende liegt. Befindet sich an der angegebenen Cursor-Position kein Wort, wird ein leere Bereich zurückgegeben.

note: Tag: synopsis +> trunk5 stable5
en: String document.charAt(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    String document.charAt(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: String document.charAt(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    String document.charAt(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the character at the given cursor position.
de: Gibt das Zeichen an der aktuellen Cursor-Position zurück.

note: Tag: synopsis +> trunk5 stable5
en: String document.firstChar(<parameter>int <replaceable>line</replaceable></parameter>);
de: String document.firstChar(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the first character in the given <replaceable>line</replaceable> that is not a whitespace. The first character is at column 0. If the line is empty or only contains whitespace characters, the returned string is empty.
de: Gibt in der angegebenen <replaceable>zeile</replaceable> das erste Zeichen zurück, das kein Leerraumzeichen ist. Wenn die Zeile leer ist oder nur Leerraumzeichen enthält, wird eine leere Zeichenfolge zurückgegeben.

note: Tag: synopsis +> trunk5 stable5
en: String document.lastChar(<parameter>int <replaceable>line</replaceable></parameter>);
de: String document.lastChar(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the last character in the given <replaceable>line</replaceable> that is not a whitespace. If the line is empty or only contains whitespace characters, the returned string is empty.
de: Gibt in der angegebenen <replaceable>zeile</replaceable> das letzten Zeichen zurück, das kein Leerraumzeichen ist. Wenn die Zeile leer ist oder nur Leerraumzeichen enthält, wird eine leere Zeichenfolge zurückgegeben.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isSpace(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.isSpace(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.isSpace(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.isSpace(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the character at the given cursor position is a whitespace, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Zeichen an der angegebenen Cursor-Position ein Leerraumzeichen ist, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the given <replaceable>text</replaceable> matches at the corresponding cursor position, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn der angegebene <replaceable>text</replaceable> mit der zugehörigen Cursor-Position übereinstimmt, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.startsWith(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>bool <replaceable>skipWhiteSpaces</replaceable></parameter>);
de: bool document.startsWith(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>bool <replaceable>skipWhiteSpaces</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the line starts with <replaceable>text</replaceable>, otherwise <literal>false</literal>. The argument <replaceable>skipWhiteSpaces</replaceable> controls whether leading whitespaces are ignored.
de: Gibt <literal>true</literal> zurück, wenn die Zeile mit <replaceable>text</replaceable> beginnt, sonst <literal>false</literal>. Das Argument <replaceable>skipWhiteSpaces</replaceable> bestimmt, ob führende Leerraumzeichen ignoriert werden.

note: Tag: synopsis +> trunk5 stable5
en: bool document.endsWith(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>bool <replaceable>skipWhiteSpaces</replaceable></parameter>);
de: bool document.endsWith(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>bool <replaceable>skipWhiteSpaces</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the line ends with <replaceable>text</replaceable>, otherwise <literal>false</literal>. The argument <replaceable>skipWhiteSpaces</replaceable> controls whether trailing whitespaces are ignored.
de: Gibt <literal>true</literal> zurück, wenn die Zeile mit <replaceable>text</replaceable> endet, sonst <literal>false</literal>. Das Argument <replaceable>skipWhiteSpaces</replaceable> bestimmt, ob angehängte Leerraumzeichen ignoriert werden.

note: Tag: para +> trunk5 stable5
en: Sets the entire document text.
de: Setzt den Text für das gesamte Dokument.

note: Tag: para +> trunk5 stable5
en: Removes the entire text in the document.
de: Löscht den gesamten Text im Dokument.

note: Tag: synopsis +> trunk5 stable5
en: bool document.truncate(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.truncate(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.truncate(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.truncate(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Truncate the given line at the given column or cursor position. Returns <literal>true</literal> on success, or <literal>false</literal> if the given line is not part of the document range.
de: Schneidet die angegebene Zeile an der Spalte oder an der Cursor-Position ab. War das erfolgreich, wird <literal>true</literal> zurückgegeben, oder <literal>false</literal>, wenn die angegeben Zeile nicht im Bereich des Dokuments liegt.

note: Tag: synopsis +> trunk5 stable5
en: bool document.insertText(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>);
    bool document.insertText(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>);
de: bool document.insertText(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>);
    bool document.insertText(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Inserts the <replaceable>text</replaceable> at the given cursor position. Returns <literal>true</literal> on success, or <literal>false</literal>, if the document is in read-only mode.
de: Fügt den <replaceable>text</replaceable> an der angegebenen Cursor-Position ein. War das erfolgreich, wird <literal>true</literal> zurückgegeben, oder <literal>false</literal>, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde.

note: Tag: synopsis +> trunk5 stable5
en: bool document.removeText(<parameter>int <replaceable>fromLine</replaceable></parameter>, <parameter>int <replaceable>fromColumn</replaceable></parameter>, <parameter>int <replaceable>toLine</replaceable></parameter>, <parameter>int <replaceable>toColumn</replaceable></parameter>);
    bool document.removeText(<parameter>Cursor <replaceable>from</replaceable></parameter>, <parameter>Cursor <replaceable>to</replaceable></parameter>);
    bool document.removeText(<parameter>Range <replaceable>range</replaceable></parameter>);
de: bool document.removeText(<parameter>int <replaceable>vonZeile</replaceable></parameter>, <parameter>int <replaceable>vonSpalte</replaceable></parameter>, <parameter>int <replaceable>bisZeile</replaceable></parameter>, <parameter>int <replaceable>bisSpalte</replaceable></parameter>);
    bool document.removeText(<parameter>Cursor <replaceable>von</replaceable></parameter>, <parameter>Cursor <replaceable>bis</replaceable></parameter>);
    bool document.removeText(<parameter>Range <replaceable>bereich</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Removes the text in the given range. Returns <literal>true</literal> on success, or <literal>false</literal>, if the document is in read-only mode.
de: Löscht den Text im angegebenen Bereich. War das erfolgreich, wird <literal>true</literal> zurückgegeben, oder <literal>false</literal>, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde.

note: Tag: synopsis +> trunk5 stable5
en: bool document.insertLine(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>);
de: bool document.insertLine(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Inserts text in the given line. Returns <literal>true</literal> on success, or <literal>false</literal>, if the document is in read-only mode or the line is not in the document range.
de: Fügt Text in einer angegebenen Zeile ein. War das erfolgreich, wird <literal>true</literal> zurückgegeben, oder <literal>false</literal>, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde oder die Zeile nicht mehr im Bereich des Dokuments liegt.

note: Tag: synopsis +> trunk5 stable5
en: bool document.removeLine(<parameter>int <replaceable>line</replaceable></parameter>);
de: bool document.removeLine(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Removes the given text line. Returns <literal>true</literal> on success, or <literal>false</literal>, if the document is in read-only mode or the line is not in the document range.
de: Löscht die angegebene Textzeile. War das erfolgreich, wird <literal>true</literal> zurückgegeben, oder <literal>false</literal>, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde oder die Zeile nicht mehr im Bereich des Dokuments liegt.

note: Tag: synopsis +> trunk5 stable5
en: bool document.wrapLine(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.wrapLine(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.wrapLine(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.wrapLine(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Wraps the line at the given cursor position. Returns <literal>true</literal> on success, otherwise <literal>false</literal>, &eg; if line &lt; 0.
de: Bricht die Zeile an der angegebenen Cursor-Position um. War das erfolgreich, wird <literal>true</literal> zurückgegeben, ansonsten <literal>false</literal>, &eg; wenn die angegeben Zeilennummer &lt; 0 ist.

note: Tag: synopsis +> trunk5 stable5
en: void document.joinLines(<parameter>int <replaceable>startLine</replaceable></parameter>, <parameter>int <replaceable>endLine</replaceable></parameter>);
de: void document.joinLines(<parameter>int <replaceable>startZeile</replaceable></parameter>, <parameter>int <replaceable>endZeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Joins the lines from <replaceable>startLine</replaceable> to <replaceable>endLine</replaceable>. Two succeeding text lines are always separated with a single space.
de: Verbindet die Zeilen von <replaceable>startZeile</replaceable> bis <replaceable>endZeile</replaceable>. Zwei aufeinanderfolgende Textzeilen werden immer mit einem einzelnen Leerzeichen getrennt.

note: Tag: para +> trunk5 stable5
en: Returns the number of lines in the document.
de: Gibt die Zeilenanzahl des Dokuments zurück.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isLineModified(<parameter>int <replaceable>line</replaceable></parameter>);
de: bool document.isLineModified(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if <replaceable>line</replaceable> currently contains unsaved data.
de: Gibt <literal>true</literal> zurück, wenn die <replaceable>zeile</replaceable> noch nicht gespeicherte Daten enthält.

note: Tag: para +> trunk5 stable5
en: Since: &kde; 5.0
de: Seit: &kde; 5.0

note: Tag: synopsis +> trunk5 stable5
en: bool document.isLineSaved(<parameter>int <replaceable>line</replaceable></parameter>);
de: bool document.isLineSaved(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if <replaceable>line</replaceable> was changed, but the document was saved. Hence, the line currently does not contain any unsaved data.
de: Gibt <literal>true</literal> zurück, wenn <replaceable>zeile</replaceable> geändert und das Dokument gespeichert wurde. Folglich enthält die aktuelle Zeile keine ungesicherten Daten.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isLineTouched(<parameter>int <replaceable>line</replaceable></parameter>);
de: bool document.isLineTouched(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if <replaceable>line</replaceable> currently contains unsaved data or was changed before.
de: Gibt <literal>true</literal> zurück, wenn <replaceable>zeile</replaceable> ungesicherte Daten enthält oder geändert wurde.

note: Tag: synopsis +> trunk5 stable5
en: bool document.findTouchedLine(<parameter>int <replaceable>startLine</replaceable></parameter>, <parameter>bool <replaceable>down</replaceable></parameter>);
de: void document.findTouchedLine(<parameter>int <replaceable>startZeile</replaceable></parameter>, <parameter>bool <replaceable>nach unten</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Search for the next touched line starting at <replaceable>line</replaceable>. The search is performed either upwards or downwards depending on the search direction specified in <replaceable>down</replaceable>.
de: Suche nach der nächsten Zeile, die ungesicherte Daten enthält oder geändert wurde. Die Suche wird in der <replaceable>startZeile</replaceable> begonnen und in der Richtung durchgeführt, die in <replaceable>nach unten</replaceable> angegeben ist.

note: Tag: para +> trunk5 stable5
en: Returns the number of characters in the document.
de: Gibt die Anzahl der Zeichen des Dokuments zurück.

note: Tag: synopsis +> trunk5 stable5
en: int document.lineLength(<parameter>int <replaceable>line</replaceable></parameter>);
de: int document.lineLength(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the <replaceable>line</replaceable>'s length.
de: Gibt die Länge der <replaceable>zeile</replaceable> zurück.

note: Tag: para +> trunk5 stable5
en: Starts an edit group for undo/redo grouping. Make sure to always call <function>editEnd()</function> as often as you call <function>editBegin()</function>. Calling <function>editBegin()</function> internally uses a reference counter, &ie;, this call can be nested.
de: Beginnt eine Bearbeitungsgruppe für die Gruppierung von Rückgängig/Wiederherstellen. Achten Sie darauf, <function>editEnd()</function> immer genauso oft wie <function>editBegin()</function> zu benutzen. Der Aufruf von <function>editBegin()</function> verwendet intern einen Referenzzähler, &ie; diese Aufrufe können geschachtelt werden.

note: Tag: para +> trunk5 stable5
en: Ends an edit group. The last call of <function>editEnd()</function> (&ie; the one for the first call of <function>editBegin()</function>) finishes the edit step.
de: Beendet eine Bearbeitungsgruppe. Der letzte Aufruf von <function>editEnd()</function> (&ie; der Aufruf zum ersten Aufruf von <function>editBegin()</function>) beendet den Bearbeitungsschritt.

note: Tag: synopsis +> trunk5 stable5
en: int document.firstColumn(<parameter>int <replaceable>line</replaceable></parameter>);
de: int document.firstColumn(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the first non-whitespace column in the given <replaceable>line</replaceable>. If there are only whitespaces in the line, the return value is <literal>-1</literal>.
de: Gibt die erste Spalte in der angegebenen <replaceable>zeile</replaceable> zurück, die kein Leerraumzeichen enthält. Besteht die Zeile nur aus Leerraumzeichen, wird <literal>-1</literal> zurückgegeben.

note: Tag: synopsis +> trunk5 stable5
en: int document.lastColumn(<parameter>int <replaceable>line</replaceable></parameter>);
de: int document.lastColumn(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the last non-whitespace column in the given <replaceable>line</replaceable>. If there are only whitespaces in the line, the return value is <literal>-1</literal>.
de: Gibt die letzte Spalte in der angegebenen <replaceable>zeile</replaceable> zurück, die kein Leerraumzeichen enthält. Besteht die Zeile nur aus Leerraumzeichen, wird <literal>-1</literal> zurückgegeben.

note: Tag: synopsis +> trunk5 stable5
en: int document.prevNonSpaceColumn(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    int document.prevNonSpaceColumn(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: int document.prevNonSpaceColumn(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    int document.prevNonSpaceColumn(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the column with a non-whitespace character starting at the given cursor position and searching backwards.
de: Gibt die Spalte zurück, die keine Leerraumzeichen enthält. Die Suche beginnt an der angegebenen Cursor-Position und erfolgt dabei rückwärts.

note: Tag: synopsis +> trunk5 stable5
en: int document.nextNonSpaceColumn(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    int document.nextNonSpaceColumn(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: int document.nextNonSpaceColumn(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    int document.nextNonSpaceColumn(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the column with a non-whitespace character starting at the given cursor position and searching forwards.
de: Gibt die Spalte zurück, die keine Leerraumzeichen enthält. Die Suche beginnt an der angegebenen Cursor-Position und erfolgt dabei vorwärts.

note: Tag: synopsis +> trunk5 stable5
en: int document.prevNonEmptyLine(<parameter>int <replaceable>line</replaceable></parameter>);
de: int document.prevNonEmptyLine(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the next non-empty line containing non-whitespace characters searching backwards.
de: Gibt die nächste nicht leere Zeile zurück, die keine Leerraumzeichen enthält. Die Suche erfolgt dabei rückwärts.

note: Tag: synopsis +> trunk5 stable5
en: int document.nextNonEmptyLine(<parameter>int <replaceable>line</replaceable></parameter>);
de: int document.nextNonEmptyLine(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the next non-empty line containing non-whitespace characters searching forwards.
de: Gibt die nächste nicht leere Zeile zurück, die keine Leerraumzeichen enthält. Die Suche erfolgt dabei vorwärts.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isInWord(<parameter>String <replaceable>character</replaceable></parameter>, <parameter>int <replaceable>attribute</replaceable></parameter>);
de: bool document.isInWord(<parameter>String <replaceable>zeichen</replaceable></parameter>, <parameter>int <replaceable>attribut</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the given <replaceable>character</replaceable> with the given <replaceable>attribute</replaceable> can be part of a word, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das angegebene <replaceable>zeichen</replaceable> mit den angegebenen <replaceable>attribut</replaceable> Teil eines Wortes sein kann, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.canBreakAt(<parameter>String <replaceable>character</replaceable></parameter>, <parameter>int <replaceable>attribute</replaceable></parameter>);
de: bool document.canBreakAt(<parameter>String <replaceable>zeichen</replaceable></parameter>, <parameter>int <replaceable>attribut</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the given <replaceable>character</replaceable> with the given <replaceable>attribute</replaceable> is suited to wrap a line, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn die Zeile an dem angegebenen <replaceable>zeichen</replaceable> mit den angegebenen <replaceable>attribut</replaceable> umgebrochen werden kann, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.canComment(<parameter>int <replaceable>startAttribute</replaceable></parameter>, <parameter>int <replaceable>endAttribute</replaceable></parameter>);
de: bool document.canComment(<parameter>int <replaceable>startAttribut</replaceable></parameter>, <parameter>int <replaceable>endAttribut</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if a range starting and ending with the given attributes is suited to be commented out, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn ein mit dem angegebenen Attribut beginnender und endender Bereich auskommentiert werden kann, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: String document.commentMarker(<parameter>int <replaceable>attribute</replaceable></parameter>);
de: String document.commentMarker(<parameter>int <replaceable>attribut</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the comment marker for single line comments for a given <replaceable>attribute</replaceable>.
de: Gibt das Kommentarzeichen für einzeilige Kommentare für ein angegebenes <replaceable>attribut</replaceable> zurück.

note: Tag: synopsis +> trunk5 stable5
en: String document.commentStart(<parameter>int <replaceable>attribute</replaceable></parameter>);
de: String document.commentStart(<parameter>int <replaceable>attribut</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the comment marker for the start of multi-line comments for a given <replaceable>attribute</replaceable>.
de: Gibt das Kommentarzeichen für den Beginn von mehrzeiligen Kommentaren für ein angegebenes <replaceable>attribut</replaceable> zurück.

note: Tag: synopsis +> trunk5 stable5
en: String document.commentEnd(<parameter>int <replaceable>attribute</replaceable></parameter>);
de: String document.commentEnd(<parameter>int <replaceable>attribut</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the comment marker for the end of multi-line comments for a given <replaceable>attribute</replaceable>.
de: Gibt das Kommentarzeichen für das Ende von mehrzeiligen Kommentaren für ein angegebenes <replaceable>attribut</replaceable> zurück.

note: Tag: para +> trunk5 stable5
en: Returns a range that encompasses the whole document.
de: Gibt einen Bereich zurück, der dass gesamte Dokument umfasst.

note: Tag: para +> trunk5 stable5
en: Returns a cursor positioned at the last column of the last line in the document.
de: Gibt einen Cursor zurück, der an der letzten Spalte in der letzten Zeile des Dokuments positioniert ist.

note: Tag: synopsis +> trunk5 stable5
en: bool isValidTextPosition(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool isValidTextPosition(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool isValidTextPosition(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool isValidTextPosition(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the given cursor position is positioned at a valid text position. A text position is valid only if it locate at the start, in the middle, or the end of a valid line. Further, a text position is invalid if it is located in a Unicode surrogate.
de: Gibt <literal>true</literal> zurück, wenn der Cursor an eine gültigen Position innerhalb eines Textes positioniert ist. Eine Textposition ist nur dann gültig, wenn der Cursor am Anfang, in der Mitte oder am Ende einer gültigen Zeile positioniert ist. Weiterhin ist eine Textposition ungültig, wenn diese in einem Unicode-Surrogat liegt.

note: Tag: synopsis +> trunk5 stable5
en: int document.attribute(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    int document.attribute(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: int document.attribute(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    int document.attribute(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the attribute at the given cursor position.
de: Gibt das Attribut an der aktuellen Cursor-Position zurück.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isAttribute(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>, <parameter>int <replaceable>attribute</replaceable></parameter>);
    bool document.isAttribute(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>int <replaceable>attribute</replaceable></parameter>);
de: bool document.isAttribute(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>, <parameter>int <replaceable>attribut</replaceable></parameter>);
    bool document.isAttribute(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>int <replaceable>attribut</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute at the given cursor position equals <replaceable>attribute</replaceable>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Attribut an der angegebenen Cursor-Position gleich <replaceable>attribut</replaceable> ist, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: String document.attributeName(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    String document.attributeName(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: String document.attributeName(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    String document.attributeName(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the attribute name as human readable text. This is equal to the <literal>itemData</literal> name in the syntax highlighting files.
de: Gibt den Attributnamen als lesbaren Text zurück. Dies entspricht dem Namen <literal>itemData</literal> in den Syntaxhervorhebungs-Dateien.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isAttributeName(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>, <parameter>String <replaceable>name</replaceable></parameter>);
    bool document.isAttributeName(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>String <replaceable>name</replaceable></parameter>);
de: bool document.isAttributeName(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>, <parameter>String <replaceable>name</replaceable></parameter>);
    bool document.isAttributeName(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>String <replaceable>name</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute name at a certain cursor position matches the given <replaceable>name</replaceable>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn der Attributname an der angegebenen Cursor-Position gleich <replaceable>name</replaceable> ist, sonst <literal>false</literal>.

note: Tag: para +> trunk5 stable5
en: Returns the value of the requested document variable <replaceable>key</replaceable>. If the document variable does not exist, the return value is an empty string.
de: Gibt den Wert der angefragten Dokumentvariablen <replaceable>key</replaceable> zurück. Existiert diese Variable nicht, wird eine leere Zeichenfolge zurückgegeben.

note: Tag: para +> trunk5 stable5
en: Set the value of the requested document variable <replaceable>key</replaceable>.
de: Setzt den Wert der angefragten Dokumentvariablen <replaceable>key</replaceable>.

note: Tag: para +> trunk5 stable5
en: See also: <link linkend="config-variables">Kate document variables</link>
de: Siehe auch: <link linkend="config-variables">Kate-Dokumentvariable</link>

note: Tag: para +> trunk5 stable5
en: Since: &kde; 4.8
de: Seit: &kde; 4.8

note: Tag: synopsis +> trunk5 stable5
en: int document.firstVirtualColumn(<parameter>int <replaceable>line</replaceable></parameter>);
de: int document.firstVirtualColumn(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the virtual column of the first non-whitespace character in the given line or <literal>-1</literal>, if the line is empty or contains only whitespace characters.
de: Gibt in der angegebenen Zeile die virtuelle Spalte des ersten Zeichens zurück, das kein Leerraumzeichen ist, oder <literal>-1</literal>, wenn die Zeile leer ist oder nur Leerraumzeichen enthält.

note: Tag: synopsis +> trunk5 stable5
en: int document.lastVirtualColumn(<parameter>int <replaceable>line</replaceable></parameter>);
de: int document.lastVirtualColumn(<parameter>int <replaceable>zeile</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the virtual column of the last non-whitespace character in the given line or <literal>-1</literal>, if the line is empty or contains only whitespace characters.
de: Gibt in der angegebenen Zeile die virtuelle Spalte des letzten Zeichens zurück, das kein Leerraumzeichen ist, oder <literal>-1</literal>, wenn die Zeile leer ist oder nur Leerraumzeichen enthält.

note: Tag: synopsis +> trunk5 stable5
en: int document.toVirtualColumn(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    int document.toVirtualColumn(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
    Cursor document.toVirtualCursor(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: int document.toVirtualColumn(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    int document.toVirtualColumn(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
    Cursor document.toVirtualCursor(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Converts the given <quote>real</quote> cursor position to a virtual cursor position, either returning an int or a Cursor object.
de: Wandelt die angegebene <quote>reale</quote> Cursor-Position in eine virtuelle Cursor-Position um und gibt entweder einen „int“-Wert oder ein Cursor-Objekt zurück.

note: Tag: synopsis +> trunk5 stable5
en: int document.fromVirtualColumn(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>virtualColumn</replaceable></parameter>);
    int document.fromVirtualColumn(<parameter>Cursor <replaceable>virtualCursor</replaceable></parameter>);
    Cursor document.fromVirtualCursor(<parameter>Cursor <replaceable>virtualCursor</replaceable></parameter>);
de: int document.fromVirtualColumn(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>virtuelleSpalte</replaceable></parameter>);
    int document.fromVirtualColumn(<parameter>Cursor <replaceable>virtuellerCursor</replaceable></parameter>);
    Cursor document.fromVirtualCursor(<parameter>Cursor <replaceable>virtuellerCursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Converts the given virtual cursor position to a <quote>real</quote> cursor position, either returning an int or a Cursor object.
de: Wandelt die angegebene virtuelle Cursor-Position in eine <quote>reale</quote> Cursor-Position um und gibt entweder einen „int“-Wert oder ein Cursor-Objekt zurück.

note: Tag: synopsis +> trunk5 stable5
en: Cursor document.anchor(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>, <parameter>Char <replaceable>character</replaceable></parameter>);
    Cursor document.anchor(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>Char <replaceable>character</replaceable></parameter>);
de: Cursor document.anchor(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>, <parameter>Char <replaceable>zeichen</replaceable></parameter>);
    Cursor document.anchor(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>Char <replaceable>zeichen</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Searches backward for the given character starting from the given cursor. As an example, if '(' is passed as character, this function will return the position of the opening '('. This reference counting, &ie; other '(...)' are ignored.
de: Sucht rückwärts nach dem angegebenen Zeichen und beginnt dabei an dem angegebenen Cursor. Wenn zum Beispiel „(“ als Zeichen ist, gibt diese Funktion die Position der öffnenden Klammer „(“. Dabei wird das Vorkommen mitgezählt, &ie; andere Klammern „(...)“ werden ignoriert.

note: Tag: synopsis +> trunk5 stable5
en: Cursor document.rfind(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>int <replaceable>attribute</replaceable> = -1</parameter>);
    Cursor document.rfind(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>int <replaceable>attribute</replaceable> = -1</parameter>);
de: Cursor document.rfind(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>int <replaceable>attribut</replaceable> = -1</parameter>);
    Cursor document.rfind(<parameter>Cursor <replaceable>cursor</replaceable></parameter>, <parameter>String <replaceable>text</replaceable></parameter>, <parameter>int <replaceable>attribut</replaceable> = -1</parameter>);

note: Tag: para +> trunk5 stable5
en: Find searching backwards the given text with the appropriate <replaceable>attribute</replaceable>. The argument <replaceable>attribute</replaceable> is ignored if it is set to <literal>-1</literal>. The returned cursor is invalid, if the text could not be found.
de: Sucht rückwärts nach dem angegeben Text mit dem passenden <replaceable>attribut</replaceable>. Ein Attribut mit dem Wert <literal>-1</literal>wird dabei ignoriert. Es wird ein ungültiger Cursor zurückgegeben, wenn der Text nicht gefunden wurde.

note: Tag: synopsis +> trunk5 stable5
en: int document.defStyleNum(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    int document.defStyleNum(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: int document.defStyleNum(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    int document.defStyleNum(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns the default style used at the given cursor position.
de: Gibt den Standardstil zurück, der an der angegebenen Cursor-Position benutzt wird.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isCode(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.isCode(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.isCode(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.isCode(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute at the given cursor position is not equal to all of the following styles: <literal>dsComment</literal>, <literal>dsString</literal>, <literal>dsRegionMarker</literal>, <literal>dsChar</literal>, <literal>dsOthers</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Attribut an der angegeben Cursor-Position nicht den folgenden Stilen entspricht: <literal>dsComment</literal>, <literal>dsString</literal>, <literal>dsRegionMarker</literal>, <literal>dsChar</literal>, <literal>dsOthers</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isComment(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.isComment(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.isComment(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.isComment(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute of the character at the cursor position is <literal>dsComment</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Attribut des Zeichens an der Cursor-Position <literal>dsComment</literal> ist, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isString(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.isString(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.isString(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.isString(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute of the character at the cursor position is <literal>dsString</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Attribut des Zeichens an der Cursor-Position <literal>dsString</literal> ist, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isRegionMarker(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.isRegionMarker(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.isRegionMarker(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.isRegionMarker(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute of the character at the cursor position is <literal>dsRegionMarker</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Attribut des Zeichens an der Cursor-Position <literal>dsRegionMarker</literal> ist, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isChar(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.isChar(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.isChar(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.isChar(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute of the character at the cursor position is <literal>dsChar</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Attribut des Zeichens an der Cursor-Position <literal>dsChar</literal> ist, sonst <literal>false</literal>.

note: Tag: synopsis +> trunk5 stable5
en: bool document.isOthers(<parameter>int <replaceable>line</replaceable></parameter>, <parameter>int <replaceable>column</replaceable></parameter>);
    bool document.isOthers(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);
de: bool document.isOthers(<parameter>int <replaceable>zeile</replaceable></parameter>, <parameter>int <replaceable>spalte</replaceable></parameter>);
    bool document.isOthers(<parameter>Cursor <replaceable>cursor</replaceable></parameter>);

note: Tag: para +> trunk5 stable5
en: Returns <literal>true</literal>, if the attribute of the character at the cursor position is <literal>dsOthers</literal>, otherwise <literal>false</literal>.
de: Gibt <literal>true</literal> zurück, wenn das Attribut des Zeichens an der Cursor-Position <literal>dsOthers</literal> ist, sonst <literal>false</literal>.

note: Tag: title +> trunk5 stable5
en: The Editor API
de: Die Programmschnittstelle zum Editor

note: Tag: para +> trunk5 stable5
en: In addition to the document and view API, there is a general editor API that provides functions for general editor scripting functionality.
de: Zusätzlich zur Programmierschnittstelle für das Dokument und die Ansicht gibt es eine weitere Schnittstelle mit Funktionen für Skripte des Editors.

note: Tag: para +> trunk5 stable5
en: Returns the text that currently is in the global clipboard.
de: Gibt den aktuellen Text aus der globalen Zwischenablage zurück.

note: Tag: para +> trunk5 stable5
en: The editor holds a clipboard history that contains up to 10 clipboard entries. This function returns all entries that currently are in the clipboard history.
de: Der Editor enthält den Verlauf der Zwischenablage mit bis zu 10 Eintragen. Diese Funktion gibt alle Einträge zurück, die aktuell im Verlauf der Zwischenablage vorhanden sind.

note: Tag: para +> trunk5 stable5
en: Set the contents of the clipboard to <replaceable>text</replaceable>. The <replaceable>text</replaceable> will be added to the clipboard history.
de: Setzt den Inhalt der Zwischenablagen auf den Wert <replaceable>text</replaceable>, der auch zum Verlauf hinzugefügt wird.
