Überprüfungen und Korrekturen

Die Qualitätsprüfungen helfen dabei, häufige Übersetzungsfehler zu erkennen und stellen sicher, dass die Übersetzung in gutem Zustand ist. Die Prüfungen können bei Fehlalarmen ignoriert werden.

Wenn bei einer eingereichten Übersetzung die Prüfung fehlschlägt, wird dies dem Benutzer sofort angezeigt:

../_images/checks.webp

Automatische Korrekturen

Ergänzend zu Qualitätsprüfungen, kann Weblate einige häufige Fehler in übersetzten Zeichenketten automatisch beheben. Um keine Fehler hinzuzufügen, sollte diese Funktion mit Bedacht angewendet werden.

Siehe auch

AUTOFIX_LIST

Auslassungspunkte ersetzen

Ersetzt aufeinanderfolgende Punkte (...) durch einen Dreipunkt (), um eine Übereinstimmung mit der Ausgangszeichenkette herzustellen.

Breitenlose Leerzeichen entfernen

Breitenlose Leerzeichen sind in der Regel in der Übersetzung nicht erwünscht. Mit dieser Korrektur wird es entfernt, sofern es nicht auch in der Ausgangszeichenkette vorhanden ist.

Steuerzeichen entfernen

Entfernt alle Steuerzeichen aus der Übersetzung.

Devanagari Danda

Ersetzt den falschen Punkt in Devenagari durch Devanagari Danda ().

Interpunktionszeichenabstand

Added in version 5.3.

Stellt sicher, dass Französisch und Bretonisch korrekte Interpunktionszeichenabstände verwenden.

Diese Korrektur kann über die Markierung ignore-punctuation-spacing deaktiviert werden (wodurch auch Interpunktionszeichenabstand deaktiviert wird).

Unsicheres HTML bereinigen

Wenn mittels safe-html-Markierung aktiviert, wird die HTML-Auszeichnung bereinigt.

Siehe auch

Unsicheres HTML

Leerzeichen an Beginn und Ende korrigieren

Stellt führende und nachgestellte Leerzeichen in Übereinstimmung mit der Ausgangszeichenkette her. Das Verhalten kann mit den Markierungen ignore-begin-space und ignore-end-space genau abgestimmt werden, um Teile der Zeichenkette bei der Bearbeitung zu überspringen.

Qualitätsprüfungen

Weblate wendet eine Vielzahl von Qualitätsprüfungen für Zeichenketten an. Der folgende Abschnitt beschreibt sie alle im Detail. Es gibt auch sprachspezifische Prüfungen. Bitte melden Sie einen Fehler, wenn etwas falsch gemeldet wird.

Übersetzungsprüfungen

Wird bei jeder Übersetzungsänderung ausgeführt und hilft den Übersetzern, die Qualität der Übersetzungen aufrechtzuerhalten.

BBCode-Auszeichnung

Zusammenfassung:

BBCode in der Übersetzung passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.markup.BBCodeCheck

Prüfungskennung:

bbcode

Markierung zum Ignorieren:

ignore-bbcode

BBCode steht für einfache Auszeichnungen, wie z. B. das Hervorheben wichtiger Teile einer Nachricht in Fett- oder Kursivschrift.

Diese Prüfung stellt sicher, dass sie auch in der Übersetzung gefunden werden.

Bemerkung

Die Methode um BBCode zu erkennen ist derzeit noch recht schlicht, so dass diese Prüfung möglicherweise zu Fehlalarmen führt.

Aufeinanderfolgende doppelte Wörter

Added in version 4.1.

Zusammenfassung:

Text enthält zweimal hintereinander dasselbe Wort:

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.duplicate.DuplicateCheck

Prüfungskennung:

duplicate

Markierung zum Ignorieren:

ignore-duplicate

Prüft, ob in einer Übersetzung aufeinanderfolgende doppelte Wörter vorkommen. Dies weist normalerweise auf einen Fehler in der Übersetzung hin.

Hinweis

Diese Prüfung umfasst sprachspezifische Regeln, um Fehlalarme zu vermeiden. Sollte sie fälschlicherweise ausgelöst werden, lassen Sie es uns wissen. Siehe Probleme in Weblate melden.

Folgt nicht dem Glossar

Added in version 4.5.

Zusammenfassung:

Die Übersetzung folgt nicht den definierten Begriffen im Glossar.

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.glossary.GlossaryCheck

Prüfungskennung:

check_glossary

Markierung zum Aktivieren:

check-glossary

Markierung zum Ignorieren:

ignore-check-glossary

Diese Prüfung muss mit der Markierung check-glossary aktiviert werden (siehe Anpassen des Verhaltens mit Markierungen). Vor dem Aktivieren bitte Folgendes beachten:

  • Es wird ein genauer Abgleich der Zeichenkette durchgeführt, wobei das Glossar Begriffe in allen Varianten enthalten sollte.

  • Das Überprüfen jeder einzelnen Zeichenkette anhand des Glossars ist aufwendig und verlangsamt alle Vorgänge in Weblate, die Überprüfungen wie das Importieren von Zeichenketten oder das Übersetzen beinhalten.

  • Es werden auch die unübersetzbaren Glossarbegriffe aus Unveränderte Übersetzung benutzt.

Doppeltes Leerzeichen

Zusammenfassung:

Übersetzung enthält doppelte Leerzeichen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.DoubleSpaceCheck

Prüfungskennung:

double_space

Markierung zum Ignorieren:

ignore-double-space

Prüft, ob ein doppeltes Leerzeichen in der Übersetzung vorhanden ist, um Fehlalarme bei anderen Leerzeichen-bezogenen Prüfungen zu vermeiden.

Die Prüfung ist falsch, wenn in der Ausgangszeichenkette ein doppeltes Leerzeichen gefunden wird, da dies bedeutet, dass das doppelte Leerzeichen beabsichtigt ist.

Fluent-Teile

Added in version 5.0.

Zusammenfassung:

Fluent-Teile sollten übereinstimmen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.fluent.parts.FluentPartsCheck

Prüfungskennung:

fluent-parts

Markierung zum Aktivieren:

fluent-parts

Markierung zum Ignorieren:

ignore-fluent-parts

Jede Fluent-Nachricht kann einen optionalen Wert (den Haupttextinhalt) und optionale Attribute haben, von denen jedes ein „Teil“ der Meldung ist. In Weblate erscheinen alle diese Teile innerhalb desselben Blocks, wobei eine Fluent-ähnliche Syntax zur Angabe der Attribute verwendet wird. Zum Beispiel:

This is the Message value
.title = This is the title attribute
.alt = This is the alt attribute

Diese Prüfung stellt sicher, dass die übersetzte Nachricht auch einen Wert hat, wenn die Quellnachricht einen hat, oder keinen Wert, wenn die Quelle keinen hat. Außerdem wird geprüft, ob die gleichen Attribute, die in der Quellnachricht verwendet werden, auch in der Übersetzung vorkommen, ohne dass etwas hinzugefügt wird.

Bemerkung

Diese Prüfung wird nicht auf Fluent-Begriffe angewendet, da Begriffe immer einen Wert haben und ihre Attribute in der Regel gebietsschemaspezifisch sind (für Grammatikregeln usw.) und nicht in allen Übersetzungen vorkommen sollen.

Siehe auch

Fluent-Attribute

Fluent-Referenzen

Added in version 5.0.

Zusammenfassung:

Fluent-Referenzen sollten übereinstimmen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.fluent.references.FluentReferencesCheck

Prüfungskennung:

fluent-references

Markierung zum Aktivieren:

fluent-references

Markierung zum Ignorieren:

ignore-fluent-references

Eine Fluent-Nachricht oder ein Fluent-Begriff kann auf eine andere Nachricht, einen Begriff, ein Attribut oder eine Variable verweisen. Zum Beispiel:

Here is a { message }, a { message.attribute } a { -term } and a { $variable }.
Within a function { NUMBER($num, minimumFractionDigits: 2) }

Im Allgemeinen wird erwartet, dass übersetzte Nachrichten oder Begriffe die gleichen Referenzen enthalten wie die Quelle, wenn auch nicht unbedingt in der gleichen Reihenfolge. Diese Prüfung stellt also sicher, dass die Übersetzungen dieselben Referenzen in ihrem Wert verwenden wie der Quellwert, und zwar in derselben Anzahl und ohne Zusätze. Bei Nachrichten wird auch geprüft, ob jedes Attribut in der Übersetzung die gleichen Referenzen wie das entsprechende Attribut in der Quelle verwendet.

Wenn die Quelle oder Übersetzung Fluent-Select-Ausdrücke enthält, dann muss jede mögliche Variante in der Quelle mit mindestens einer Variante in der Übersetzung mit den gleichen Referenzen übereinstimmen und umgekehrt.

Wenn eine Variablenreferenz sowohl im Selektor des Select-Ausdrucks als auch in einer seiner Varianten erscheint, können alle Varianten so betrachtet werden, als ob sie diese Referenz ebenfalls enthalten. Die Annahme ist, dass der Schlüssel der Variante die Referenz für diese Variante überflüssig gemacht hat. Zum Beispiel:

{ $num ->
    [one] an apple
   *[other] { $num } apples
}

Für die Zwecke dieser Prüfung wird davon ausgegangen, dass die Variante [one] auch die Referenz $num enthält.

Eine Referenz innerhalb des Selektors des Select-Ausdrucks, die in der Fluent-Syntax nur eine Variable eines Begriff-Attributs sein kann, zählt jedoch nicht als erforderliche Referenz, da sie nicht den tatsächlichen Textinhalt der Zeichenkette abbildet, den der Endbenutzer sehen wird, und das Vorhandensein eines Select-Ausdrucks als gebietsschemaspezifisch betrachtet wird. Zum Beispiel:

{ -term.starts-with-vowel ->
    [yes] an { -term }
   *[no] a { -term }
}

Hier wird nicht erwartet, dass ein Verweis auf -term.starts-with-vowel in Übersetzungen erscheint, ein Verweis auf -term hingegen schon.

Inneres HTML der Fluent-Übersetzung

Added in version 5.0.

Zusammenfassung:

Fluent-Ziel sollte gültiges inneres HTML sein, welches übereinstimmt

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.fluent.inner_html.FluentTargetInnerHTMLCheck

Prüfungskennung:

fluent-target-inner-html

Markierung zum Aktivieren:

fluent-target-inner-html

Markierung zum Ignorieren:

ignore-fluent-target-inner-html

Mit dieser Prüfung wird sichergestellt, dass der übersetzte Wert einer Nachricht oder eines Begriffs die gleichen HTML-Elemente enthält wie der Quellwert.

Erstens, wenn der Quellwert die Prüfung :ref:`check-fluent-source-inner-html`nicht besteht, dann wird diese Prüfung nichts bewirken. Andernfalls wird auch der übersetzte Wert unter den gleichen Bedingungen geprüft.

Zweitens werden die im übersetzten Wert gefundenen HTML-Elemente mit denen im Quellwert gefundenen verglichen. Zwei Elemente gelten als übereinstimmend, wenn sie genau denselben Tag-Namen, dieselben Attribute und Werte haben und alle ihre Vorgänger auf dieselbe Weise übereinstimmen. Durch diese Prüfung wird sichergestellt, dass alle Elemente in der Quelle irgendwo in der Übersetzung vorkommen, mit der gleichen Anzahl an Vorkommen und ohne zusätzliche Elemente. Wenn der Wert mehrere Elemente enthält, müssen diese nicht in der gleichen Reihenfolge im Übersetzungswert erscheinen.

Wenn die Quelle oder Übersetzung Fluent-Select-Ausdrücke enthält, dann muss jede mögliche Variante in der Quelle mit mindestens einer Variante in der Übersetzung mit den gleichen HTML-Elementen übereinstimmen und umgekehrt.

Wenn Fluent in Kombination mit dem Fluent-DOM-Paket verwendet wird, stellt diese Prüfung sicher, dass die Übersetzung auch alle erforderlichen data-l10n-name-Elemente enthält, die in der Quelle erscheinen, oder alle erlaubten Inline-Elemente wie <br>.

Zum Beispiel die folgende Quelle:

Source message <img data-l10n-name="icon"/> with icon

würde übereinstimmen mit:

Translated message <img data-l10n-name="icon"/> with icon

aber nicht mit:

Translated message <img data-l10n-name="new-val"/> with icon

noch

Translated message <br data-l10n-name="icon"/> with no icon

Fluent-Übersetzungssyntax

Added in version 5.0.

Zusammenfassung:

Fluent-Syntaxfehler in Übersetzung

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.fluent.syntax.FluentTargetSyntaxCheck

Prüfungskennung:

fluent-target-syntax

Markierung zum Aktivieren:

fluent-target-syntax

Markierung zum Ignorieren:

ignore-fluent-target-syntax

In Weblate verwenden Fluent-Zeichenketten die Fluent-Syntax für Verweise und Variablen, aber auch für komplexere Funktionen wie die Definition von Attributen und Selektor-Varianten, einschließlich Pluralformen. Diese Prüfung stellt sicher, dass die in der Übersetzung verwendete Syntax für Fluent gültig ist.

Formatierte Zeichenketten

Prüft, ob Zeichenkettenformatierungen in der Quelle und Übersetzung identisch sind. Das Weglassen von Formatzeichenketten in der Übersetzung führt in der Regel zu schwerwiegenden Problemen, daher sollte die Formatierung in Zeichenketten in der Regel mit der Quelle übereinstimmen.

Weblate unterstützt die Überprüfung von Formatzeichenketten in mehreren Sprachen. Die Prüfung wird nicht automatisch aktiviert, sondern nur, wenn eine Zeichenkette entsprechend markiert ist (z. B. c-format für C-Format). Gettext fügt dies automatisch hinzu, aber Sie müssen es wahrscheinlich manuell für andere Dateiformate hinzufügen oder wenn Ihre PO-Dateien nicht von xgettext erzeugt werden.

Die meisten Formatprüfungen erlauben es, Formatzeichenketten für Pluralformen mit einfacher Anzahl wegzulassen. Dies erlaubt Übersetzern, schönere Zeichenketten für diese Fälle zu schreiben (Ein Apfel anstatt %d Apfel). Ausschalten, indem die Markierung strict-format hinzugefügt wird.

Die Markierungen können pro Zeichenkette (siehe Zusätzliche Informationen über Ausgangszeichenketten) oder in einer Komponentenkonfiguration angepasst werden. Die Definition pro Komponente ist einfacher, kann aber zu Fehlalarmen führen, wenn die Zeichenkette nicht als Formatzeichenkette interpretiert wird, doch jene Syntax verwendet.

Hinweis

Für den Fall, dass eine spezifische Formatprüfung in Weblate nicht verfügbar ist, können allgemeine Platzhalter verwendet werden.

Neben der Überprüfung werden auch die Formatzeichenketten hervorgehoben, um sie leicht in die übersetzten Zeichenketten einzufügen:

../_images/format-highlight.webp

AngularJS-Interpolations-Zeichenkette

Zusammenfassung:

AngularJS-Interpolations-Format-Zeichenketten passen nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.angularjs.AngularJSInterpolationCheck

Prüfungskennung:

angularjs_format

Markierung zum Aktivieren:

angularjs-format

Markierung zum Ignorieren:

ignore-angularjs-format

Beispiel für eine benannte Formatzeichenkette:

Your balance is {{amount}} {{ currency }}

C-Format

Zusammenfassung:

C-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.CFormatCheck

Prüfungskennung:

c_format

Markierung zum Aktivieren:

c-format

Markierung zum Ignorieren:

ignore-c-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Beispiel für eine Zeichenkette im Positionsformat:

Your balance is %1$d %2$s

C#-Format

Zusammenfassung:

C#-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.CSharpFormatCheck

Prüfungskennung:

c_sharp_format

Markierung zum Aktivieren:

c-sharp-format

Markierung zum Ignorieren:

ignore-c-sharp-format

Beispiel für eine Zeichenkette im Positionsformat:

There are {0} apples

ECMAScript-Buchstabenvorlagen

Zusammenfassung:

ECMAScript-Buchstabenvorlagen passen nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.ESTemplateLiteralsCheck

Prüfungskennung:

es_format

Markierung zum Aktivieren:

es-format

Markierung zum Ignorieren:

ignore-es-format

Beispiel für Interpolation:

There are ${number} apples

i18next Interpolation

Added in version 4.0.

Zusammenfassung:

Die i18next Interpolation passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.I18NextInterpolationCheck

Prüfungskennung:

i18next_interpolation

Markierung zum Aktivieren:

i18next-interpolation

Markierung zum Ignorieren:

ignore-i18next-interpolation

Beispiel für Interpolation:

There are {{number}} apples

Beispiel für Verschachtelung:

There are $t(number) apples

ICU MessageFormat

Added in version 4.9.

Zusammenfassung:

Syntaxfehler und/oder nicht übereinstimmende Platzhalter in ICU MessageFormat-Zeichenketten.

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.icu.ICUMessageFormatCheck

Prüfungskennung:

icu_message_format

Markierung zum Aktivieren:

icu-message-format

Markierung zum Ignorieren:

ignore-icu-message-format

Beispiel für Interpolation:

There {number, plural, one {is one apple} other {are # apples}}.

Diese Prüfung unterstützt sowohl reine ICU-MessageFormat-Nachrichten als auch ICU mit einfachen XML-Tags. Das Verhalten dieser Prüfung kann mit icu-flags:* konfiguriert werden, indem man entweder die XML-Unterstützung aktiviert oder bestimmte Unterprüfungen deaktiviert. Die folgende Markierung aktiviert zum Beispiel die XML-Unterstützung und deaktiviert die Validierung von mehreren Teilnachrichten:

icu-message-format, icu-flags:xml:-plural_selectors

xml

Aktiviert die Unterstützung für einfache XML-Tags. Standardmäßig werden XML-Tags lose analysiert. Vereinzelte <-Zeichen werden ignoriert, wenn sie nicht sinnvoller Teil eines Tags sind.

strict-xml

Aktiviert die Unterstützung für strikte XML-Tags. Alle <-Zeichen müssen maskiert werden, wenn sie nicht Teil eines Tags sind.

-highlight

Deaktiviert das Hervorheben von Platzhaltern im Editor.

-require_other

Deaktiviert die Anforderung, dass Unternachrichten einen other-Selektor haben müssen.

-submessage_selectors

Überspringt die Prüfung, ob die Selektoren der Unternachrichten mit der Ausgangszeichenkette übereinstimmen.

-types

Überspringt die Prüfung, ob Platzhaltertypen mit der Ausgangszeichenkette übereinstimmen.

-extra

Überspringt die Prüfung, ob Platzhalter vorhanden sind, die in der Ausgangszeichenkette nicht vorhanden waren.

-missing

Überspringt die Prüfung, ob Platzhalter fehlen, die in der Ausgangszeichenkette vorhanden waren.

Wenn strict-xml nicht aktiviert und xml aktiviert ist, kann außerdem die Markierung icu-tag-prefix:PREFIX verwendet werden, um zu verlangen, dass alle XML-Tags mit einer bestimmten Zeichenkette beginnen. Mit der folgenden Markierung können beispielsweise nur XML-Tags abgeglichen werden, die mit <x: beginnen:

icu-message-format, icu-flags:xml, icu-tag-prefix:"x:"

Dies würde <x:link>click here</x:link> entsprechen, aber nicht <strong>this</strong>.

Java-Format

Zusammenfassung:

Java-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.JavaFormatCheck

Prüfungskennung:

java_printf_format

Markierung zum Aktivieren:

java-printf-format

Markierung zum Ignorieren:

ignore-java-printf-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Beispiel für eine Zeichenkette im Positionsformat:

Your balance is %1$d %2$s

Geändert in Version 4.14: Früher wurde dies durch java-format umgeschaltet, dies wurde aus Gründen der Konsistenz mit GNU gettext geändert.

Java-MessageFormat

Zusammenfassung:

Java-MessageFormat-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.JavaMessageFormatCheck

Prüfungskennung:

java_format

Markierung zum bedingungslosen Aktivieren:

java-format

Markierung zum Aktivieren der automatischen Erkennung:

auto-java-messageformat aktiviert die Prüfung nur, wenn eine Formatzeichenkette in der Ausgangszeichenkette vorhanden ist

Markierung zum Ignorieren:

ignore-java-format

Beispiel für eine Zeichenkette im Positionsformat:

There are {0} apples

Geändert in Version 4.14: Früher wurde dies durch java-messageformat umgeschaltet, dies wurde aus Gründen der Konsistenz mit GNU gettext geändert.

Mit dieser Prüfung wird sichergestellt, dass die Formatzeichenkette für die Java-MessageFormat-Klasse gültig ist. Neben der Überprüfung von Formatzeichenketten in geschweiften Klammern werden auch einfache Anführungszeichen überprüft, da sie eine besondere Bedeutung haben. Wenn ein einfaches Anführungszeichen geschrieben wird, sollte es als '' geschrieben werden. Wenn es nicht gepaart ist, wird es als Beginn des Anführungszeichens behandelt und beim Darstellen der Zeichenkette nicht angezeigt.

JavaScript-Format

Zusammenfassung:

JavaScript-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.JavaScriptFormatCheck

Prüfungskennung:

javascript_format

Markierung zum Aktivieren:

javascript-format

Markierung zum Ignorieren:

ignore-javascript-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Lua-Format

Zusammenfassung:

Lua-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.LuaFormatCheck

Prüfungskennung:

lua_format

Markierung zum Aktivieren:

lua-format

Markierung zum Ignorieren:

ignore-lua-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Object Pascal-Format

Zusammenfassung:

Object-Pascal-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.ObjectPascalFormatCheck

Prüfungskennung:

object_pascal_format

Markierung zum Aktivieren:

object-pascal-format

Markierung zum Ignorieren:

ignore-object-pascal-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Platzhalter in Prozent

Added in version 4.0.

Zusammenfassung:

Die prozentualen Platzhalter passen nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.PercentPlaceholdersCheck

Prüfungskennung:

percent_placeholders

Markierung zum Aktivieren:

percent-placeholders

Markierung zum Ignorieren:

ignore-percent-placeholders

Beispiel für eine einfache Formatzeichenkette:

There are %number% apples

Perl-Brace-Format

Zusammenfassung:

Perl-Brace-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.PerlBraceFormatCheck

Prüfungskennung:

perl_brace_format

Markierung zum Aktivieren:

perl-brace-format

Markierung zum Ignorieren:

ignore-perl-brace-format

Beispiel für eine benannte Formatzeichenkette:

There are {number} apples

Perl-Format

Zusammenfassung:

Perl-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.PerlFormatCheck

Prüfungskennung:

perl_format

Markierung zum Aktivieren:

perl-format

Markierung zum Ignorieren:

ignore-perl-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Beispiel für eine Zeichenkette im Positionsformat:

Your balance is %1$d %2$s

PHP-Format

Zusammenfassung:

PHP-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.PHPFormatCheck

Prüfungskennung:

php_format

Markierung zum Aktivieren:

php-format

Markierung zum Ignorieren:

ignore-php-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Beispiel für eine Zeichenkette im Positionsformat:

Your balance is %1$d %2$s

Python-Brace-Format

Zusammenfassung:

Python-Brace-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.PythonBraceFormatCheck

Prüfungskennung:

python_brace_format

Markierung zum Aktivieren:

python-brace-format

Markierung zum Ignorieren:

ignore-python-brace-format

Einfache Formatzeichenkette:

There are {} apples

Beispiel für eine benannte Formatzeichenkette:

Your balance is {amount} {currency}

Python-Format

Zusammenfassung:

Python-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.PythonFormatCheck

Prüfungskennung:

python_format

Markierung zum Aktivieren:

python-format

Markierung zum Ignorieren:

ignore-python-format

Einfache Formatzeichenkette:

There are %d apples

Beispiel für eine benannte Formatzeichenkette:

Ihr Saldo beträgt %(amount)d %(currency)s

Qt-Format

Zusammenfassung:

Qt-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.qt.QtFormatCheck

Prüfungskennung:

qt_format

Markierung zum Aktivieren:

qt-format

Markierung zum Ignorieren:

ignore-qt-format

Beispiel für eine Zeichenkette im Positionsformat:

There are %1 apples

Qt-Plural-Format

Zusammenfassung:

Qt-Plural-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.qt.QtPluralCheck

Prüfungskennung:

qt_plural_format

Markierung zum Aktivieren:

qt-plural-format

Markierung zum Ignorieren:

ignore-qt-plural-format

Beispiel für eine Zeichenkette im Pluralformat:

There are %Ln apple(s)

Ruby-Format

Zusammenfassung:

Ruby-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.ruby.RubyFormatCheck

Prüfungskennung:

ruby_format

Markierung zum Aktivieren:

ruby-format

Markierung zum Ignorieren:

ignore-ruby-format

Beispiel für eine einfache Formatzeichenkette:

There are %d apples

Beispiel für eine Zeichenkette im Positionsformat:

Your balance is %1$f %2$s

Beispiel für eine benannte Formatzeichenkette:

Your balance is %+.2<amount>f %<currency>s

Beispiel für eine benannte Vorlagenzeichenkette:

Your balance is %{amount} %{currency}

Scheme-Format

Zusammenfassung:

Scheme-Format-Zeichenkette passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.SchemeFormatCheck

Prüfungskennung:

scheme_format

Markierung zum Aktivieren:

scheme-format

Markierung zum Ignorieren:

ignore-scheme-format

Beispiel für eine einfache Formatzeichenkette:

There are ~d apples

Vue I18n-Formatierung

Zusammenfassung:

Die Vue I18n-Formatierung passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.format.VueFormattingCheck

Prüfungskennung:

vue_format

Markierung zum Aktivieren:

vue-format

Markierung zum Ignorieren:

ignore-vue-format

Benannte Formatierung:

There are {count} apples

Rails i18n-Formatierung:

There are %{count} apples

Verlinkte lokale Nachrichten:

@:message.dio @:message.the_world!

Ist übersetzt worden

Zusammenfassung:

Diese Zeichenkette wurde in der Vergangenheit übersetzt

Bereich:

Alle Zeichenketten

Prüfklasse:

weblate.checks.consistency.TranslatedCheck

Prüfungskennung:

translated

Markierung zum Ignorieren:

ignore-translated

Bedeutet, dass eine Zeichenkette bereits übersetzt wurde. Dies kann passieren, wenn die Übersetzungen im VCS rückgängig gemacht wurden oder anderweitig verloren gegangen sind.

Inkonsistent

Zusammenfassung:

Diese Zeichenkette hat in diesem Projekt mehr als eine Übersetzung oder ist in einigen Komponenten nicht übersetzt.

Bereich:

Alle Zeichenketten

Prüfklasse:

weblate.checks.consistency.ConsistencyCheck

Prüfungskennung:

inconsistent

Markierung zum Ignorieren:

ignore-inconsistent

Weblate prüft Übersetzungen derselben Zeichenkette für alle Übersetzungen innerhalb eines Projekts, um Ihnen zu helfen, konsistente Übersetzungen zu erhalten.

Die Prüfung schlägt bei abweichenden Übersetzungen dergleichen Zeichenkette innerhalb eines Projekts fehl. Dies kann auch zu Inkonsistenzen in den angezeigten Prüfungen führen. Weitere Übersetzungen dieser Zeichenkette lassen sich auf der Registerkarte Andere Vorkommnisse finden.

Diese Prüfung gilt für alle Komponenten in einem Projekt, bei denen Weitergabe von Übersetzungen erlauben eingeschaltet ist.

Hinweis

Aus Leistungsgründen findet die Qualitätsprüfung möglicherweise nicht alle Inkonsistenzen, so dass die Anzahl der Übereinstimmungen begrenzt ist.

Bemerkung

Diese Prüfung wird auch ausgelöst, wenn die Zeichenkette in einer Komponente übersetzt wird und in einer anderen nicht. Sie kann als schneller Weg genutzt werden, um Zeichenketten, die in einigen Komponenten nicht übersetzt sind, manuell zu behandeln, indem man einfach auf die Schaltfläche Diese Übersetzung verwenden klickt, die in jeder Zeile unter dem Reiter Andere Vorkommnisse angezeigt wird.

Die Erweiterung Automatische Übersetzung kann verwendet werden, um die Übersetzung von neu hinzugefügten und bereits in einer anderen Komponente übersetzten Zeichenketten zu automatisieren.

Kashida-Buchstabe verwendet

Zusammenfassung:

Dekorative Kashida-Buchstaben sollten nicht verwendet werden

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.KashidaCheck

Prüfungskennung:

kashida

Markierung zum Ignorieren:

ignore-kashida

Die dekorativen Kashida-Buchstaben sollten in der Übersetzung nicht verwendet werden. Diese sind auch als Tatweel bekannt.

Markdown-Referenzen

Zusammenfassung:

Markdown-Link-Referenzen passen nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.markup.MarkdownRefLinkCheck

Prüfungskennung:

md-reflink

Markierung zum Aktivieren:

md-text

Markierung zum Ignorieren:

ignore-md-reflink

Markdown-Link-Referenzen passen nicht zur Ausgangszeichenkette.

Siehe auch

Markdown links

Markdown-Syntax

Zusammenfassung:

Markdown-Syntax passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.markup.MarkdownSyntaxCheck

Prüfungskennung:

md-syntax

Markierung zum Aktivieren:

md-text

Markierung zum Ignorieren:

ignore-md-syntax

Markdown-Syntax passt nicht zur Ausgangszeichenkette

Siehe auch

Markdown inlines

Maximale Länge der Übersetzung

Zusammenfassung:

Die Übersetzung sollte die angegebene Länge nicht überschreiten

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.MaxLengthCheck

Prüfungskennung:

max-length

Markierung zum Aktivieren:

max-length

Markierung zum Ignorieren:

ignore-max-length

Prüft, ob die Übersetzungen eine zulässige Länge haben, damit sie in den verfügbaren Platz passen. Dabei wird nur die Länge der Übersetzungszeichen geprüft.

Im Gegensatz zu den anderen Prüfungen sollte die Markierung als key:value-Paar wie max-length:100 gesetzt werden.

Hinweis

Diese Prüfung bezieht sich auf die Anzahl der Zeichen, was bei der Verwendung von Proportionalschriften zur Textdarstellung nicht unbedingt die beste Metrik ist. Die Prüfung Maximaler Umfang der Übersetzung prüft das tatsächliche Rendering des Textes.

Die Markierung replacements: kann auch nützlich sein, um Platzhalter vor dem Überprüfen der Zeichenkette zu erweitern.

Wenn xml-text ebenfalls verwendet wird, ignoriert die Längenberechnung XML-Tags.

Maximaler Umfang der Übersetzung

Zusammenfassung:

Der übersetzte, gerenderte Text sollte die vorgegebene Größe nicht überschreiten

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.render.MaxSizeCheck

Prüfungskennung:

max-size

Markierung zum Aktivieren:

max-size

Markierung zum Ignorieren:

ignore-max-size

Der übersetzte, gerenderte Text sollte die vorgegebene Größe nicht überschreiten. Es wird der Text mit Zeilenumbruch gerendert und überprüft, ob er innerhalb der vorgegebenen Grenzen liegt.

Für diese Prüfung sind ein oder zwei Parameter erforderlich – die maximale Breite und die maximale Anzahl der Zeilen. Wird die Anzahl der Zeilen nicht angegeben, wird es als einzeiliger Text betrachtet.

Die verwendete Schriftart kann auch durch font-*-Anweisungen konfiguriert werden (siehe Anpassen des Verhaltens mit Markierungen), zum Beispiel besagen die folgenden Übersetzungsmarkierungen, dass der mit der Ubuntu-Schriftgröße 22 gerenderte Text in zwei Zeilen und 500 Pixel passen sollte:

max-size:500:2, font-family:ubuntu, font-size:22

Hinweis

Sie können font-*-Anweisungen in der Komponentenkonfiguration setzen, um die gleiche Schriftart für alle Zeichenketten innerhalb einer Komponente zu konfigurieren. Sie können diese Werte für jede Zeichenkette überschreiben, falls Sie sie pro Zeichenkette anpassen müssen.

Die Markierung replacements: kann auch nützlich sein, um Platzhalter vor dem Überprüfen der Zeichenkette zu erweitern.

Wenn xml-text ebenfalls verwendet wird, ignoriert die Längenberechnung XML-Tags.

Unterschiedliche Menge \n

Zusammenfassung:

Anzahl der n-Symbole in der Übersetzung passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EscapedNewlineCountingCheck

Prüfungskennung:

escaped_newline

Markierung zum Ignorieren:

ignore-escaped-newline

Normalerweise sind maskierte Zeilenumbrüche wichtig für die Formatierung der Programmausgabe. Die Prüfung schlägt fehl, wenn die Anzahl der \n-Symbole in der Übersetzung nicht zur Ausgangszeichenkette passt.

Nicht übereinstimmender Doppelpunkt

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Doppelpunkt

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndColonCheck

Prüfungskennung:

end_colon

Markierung zum Ignorieren:

ignore-end-colon

Prüft, ob Doppelpunkte in der Quelle und Übersetzung identisch sind. Das Vorhandensein von Doppelpunkten wird auch für verschiedene Sprachen geprüft, in denen sie nicht vorkommen (Chinesisch oder Japanisch).

Nicht übereinstimmende Auslassungspunkte

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit Auslassungspunkten (…)

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndEllipsisCheck

Prüfungskennung:

end_ellipsis

Markierung zum Ignorieren:

ignore-end-ellipsis

Prüft, ob nachgestellte Auslassungspunkte in der Quelle und Übersetzung identisch sind. Dies gilt nur für echte Auslassungspunkte (), nicht für drei Punkte (...).

Auslassungspunkte werden in der Regel schöner als drei Punkte in der Druckschrift dargestellt und hören sich bei Text-to-Speech besser an.

Nicht übereinstimmendes Ausrufezeichen

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Ausrufezeichen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndExclamationCheck

Prüfungskennung:

end_exclamation

Markierung zum Ignorieren:

ignore-end-exclamation

Prüft, ob Ausrufezeichen in der Quelle und Übersetzung identisch sind. Das Vorhandensein von Ausrufezeichen wird auch für verschiedene Sprachen geprüft, in denen sie nicht vorkommen (Chinesisch, Japanisch, Koreanisch, Armenisch, Limbu, Birmanisch oder N’Ko).

Nicht übereinstimmender Punkt

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Punkt

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndStopCheck

Prüfungskennung:

end_stop

Markierung zum Ignorieren:

ignore-end-stop

Prüft, ob Punkte in der Quelle und Übersetzung identisch sind. Das Vorhandensein von Punkten wird auch für verschiedene Sprachen geprüft, in denen sie nicht vorkommen (Chinesisch, Japanisch, Devanagari oder Urdu).

Siehe auch

Punkt auf Wikipedia

Nicht übereinstimmendes Fragezeichen

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Fragezeichen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndQuestionCheck

Prüfungskennung:

end_question

Markierung zum Ignorieren:

ignore-end-question

Prüft, ob Fragezeichen in der Quelle und Übersetzung identisch sind. Das Vorhandensein von Fragezeichen wird auch für verschiedene Sprachen geprüft, in denen sie nicht vorkommen (Armenisch, Arabisch, Chinesisch, Koreanisch, Japanisch, Äthiopisch, Vai oder Koptisch).

Mismatched interrobang mark

Zusammenfassung:

Source and translation do not both end with a interrobang mark

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndInterrobangCheck

Prüfungskennung:

end_Interrobang

Markierung zum Ignorieren:

ignore-end-Interrobang

Checks that interrobang marks are replicated between both source and translation. It allows the swap between „!?“ and „?!“.

Nicht übereinstimmendes Semikolon

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Semikolon

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndSemicolonCheck

Prüfungskennung:

end_semicolon

Markierung zum Ignorieren:

ignore-end-semicolon

Prüft, ob Semikolons am Satzende in der Quelle und Übersetzung identisch sind.

Nicht übereinstimmende Zeilenumbrüche

Zusammenfassung:

Anzahl der Zeilenumbrüche in der Übersetzung passt nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.NewLineCountCheck

Prüfungskennung:

newline-count

Markierung zum Ignorieren:

ignore-newline-count

Normalerweise sind Zeilenumbrüche wichtig für die Formatierung der Programmausgabe. Die Prüfung schlägt fehl, wenn die Anzahl der Zeilenumbrüche in der Übersetzung nicht zur Ausgangszeichenkette passt.

Fehlende Pluralformen

Zusammenfassung:

Einige Pluralformen sind nicht übersetzt

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.consistency.PluralsCheck

Prüfungskennung:

plurals

Markierung zum Ignorieren:

ignore-plurals

Prüft, ob alle Pluralformen einer Ausgangszeichenkette übersetzt wurden. Wie die einzelnen Pluralformen verwendet werden, ist in der Definition der Zeichenkette angegeben.

Wenn nicht alle Pluralformen ausgefüllt werden, kann es vorkommen, dass beim Verwenden der Pluralform nichts angezeigt wird.

Platzhalter

Zusammenfassung:

Der Übersetzung fehlen einige Platzhalter

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.placeholders.PlaceholderCheck

Prüfungskennung:

placeholders

Markierung zum Aktivieren:

placeholders

Markierung zum Ignorieren:

ignore-placeholders

Geändert in Version 4.3: Ein regulärer Ausdruck kann als Platzhalter verwendet werden.

Geändert in Version 4.13: Mit der Markierung case-insensitive wird bei Platzhaltern nicht zwischen Groß-/Kleinschreibung unterschieden.

In der Übersetzung fehlen einige Platzhalter. Diese werden entweder aus der Übersetzungsdatei extrahiert oder manuell mit der placeholders-Markierung definiert, weitere können mit Doppelpunkt getrennt werden, Zeichenketten mit Leerzeichen können in Anführungszeichen gesetzt werden:

placeholders:$URL$:$TARGET$:"some long text"

Falls Sie eine Syntax für Platzhalter haben, können Sie einen regulären Ausdruck verwenden:

placeholders:r"%[^% ]%"

Sie können auch Platzhalter verwenden, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird:

placeholders:$URL$:$TARGET$,case-insensitive

Interpunktionszeichenabstand

Zusammenfassung:

Es fehlt ein geschütztes Leerzeichen vor doppeltem Interpunktionszeichen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.PunctuationSpacingCheck

Prüfungskennung:

punctuation_spacing

Markierung zum Ignorieren:

ignore-punctuation-spacing

Prüft, ob vor doppelten Interpunktionszeichen (Ausrufezeichen, Fragezeichen, Semikolon und Doppelpunkt) ein geschütztes Leerzeichen steht. Diese Regel wird nur in einigen ausgewählten Sprachen wie Französisch oder Bretonisch verwendet, wo das Leerzeichen vor doppelten Interpunktionszeichen eine typografische Regel ist.

Regulärer Ausdruck

Zusammenfassung:

Übersetzung stimmt nicht mit regulärem Ausdruck überein

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.placeholders.RegexCheck

Prüfungskennung:

regex

Markierung zum Aktivieren:

regex

Markierung zum Ignorieren:

ignore-regex

Die Übersetzung stimmt nicht mit dem regulärem Ausdruck überein. Der Ausdruck wird entweder aus der Übersetzungsdatei extrahiert oder manuell mit der Markierung regex definiert:

regex:^foo|bar$

Wiederverwendete Übersetzung

Added in version 4.18.

Zusammenfassung:

Verschiedene Zeichenketten sind gleich übersetzt.

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.consistency.ReusedCheck

Prüfungskennung:

reused

Markierung zum Ignorieren:

ignore-reused

Prüft, ob dieselbe Übersetzung für verschiedene Ausgangszeichenketten verwendet wird. Solche Übersetzungen können beabsichtigt sein, aber auch Benutzer verwirren.

Identische Pluralformen

Zusammenfassung:

Einige Pluralformen sind identisch übersetzt

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.consistency.SamePluralsCheck

Prüfungskennung:

same-plurals

Markierung zum Ignorieren:

ignore-same-plurals

Prüft, ob Pluralformen in der Übersetzung doppelt vorkommen. In den meisten Sprachen müssen diese unterschiedlich sein.

Zeilenumbruch am Anfang

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette beginnen nicht beide mit einem Zeilenumbruch

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.BeginNewlineCheck

Prüfungskennung:

begin_newline

Markierung zum Ignorieren:

ignore-begin-newline

Zeilenumbrüche erscheinen normalerweise aus gutem Grund in den Ausgangszeichenketten, denn fehlende oder hinzugefügte Zeilenumbrüche können zu Formatierungsproblemen führen, wenn der übersetzte Text verwendet wird.

Leerzeichen am Anfang

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette beginnen mit unterschiedlich vielen Leerzeichen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.BeginSpaceCheck

Prüfungskennung:

begin_space

Markierung zum Ignorieren:

ignore-begin-space

Ein Leerzeichen am Anfang einer Zeichenkette wird üblicherweise für Einrückungen in der Darstellung verwendet und sollte deshalb beibehalten werden.

Zeilenumbruch am Ende

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Zeilenumbruch

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndNewlineCheck

Prüfungskennung:

end_newline

Markierung zum Ignorieren:

ignore-end-newline

Zeilenumbrüche erscheinen normalerweise aus gutem Grund in den Ausgangszeichenketten, denn fehlende oder hinzugefügte Zeilenumbrüche können zu Formatierungsproblemen führen, wenn der übersetzte Text verwendet wird.

Leerzeichen am Ende

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Leerzeichen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.EndSpaceCheck

Prüfungskennung:

end_space

Markierung zum Ignorieren:

ignore-end-space

Prüft, ob nachgestellte Leerzeichen in der Quelle und Übersetzung identisch sind.

Leerzeichen am Ende werden in der Regel verwendet, um benachbarte Elemente voneinander abzugrenzen, so dass ihre Entfernung das Layout beeinträchtigen könnte.

Unveränderte Übersetzung

Zusammenfassung:

Ausgangs- und übersetzte Zeichenkette sind identisch

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.same.SameCheck

Prüfungskennung:

same

Markierung zum Ignorieren:

ignore-same

Tritt ein, wenn der Ausgangstext und die entsprechende Übersetzung identisch sind, bis hin zu mindestens einer der Pluralformen. Einige Zeichenketten, die in allen Sprachen vorkommen, werden ignoriert, und verschiedene Auszeichnungselemente werden entfernt. Dadurch wird die Anzahl der Fehlalarme reduziert.

Diese Prüfung kann helfen, irrtümlich nicht übersetzte Zeichenketten zu finden.

Das Standardverhalten dieser Prüfung ist, dass Wörter aus der integrierten Sperrliste von der Prüfung ausgeschlossen werden. Dies sind Wörter, die häufig nicht übersetzt werden. Dies ist nützlich, um Fehlalarme bei kurzen Zeichenketten zu vermeiden, die nur aus einem einzigen Wort bestehen, das in mehreren Sprachen gleich ist. Diese Sperrliste kann durch Hinzufügen der Markierung``strict-same`` zur Zeichenkette oder Komponente deaktiviert werden.

Geändert in Version 4.17: Mit der check-glossary-Markierung (siehe Folgt nicht dem Glossar) werden die nicht übersetzbaren Glossarbegriffe von der Prüfung ausgeschlossen.

Unsicheres HTML

Zusammenfassung:

Die Übersetzung verwendet unsichere HTML-Auszeichnungen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.markup.SafeHTMLCheck

Prüfungskennung:

safe-html

Markierung zum Aktivieren:

safe-html

Markierung zum Ignorieren:

ignore-safe-html

Die Übersetzung verwendet unsichere HTML-Auszeichnung. Diese Prüfung muss mit der safe-html-Markierung aktiviert werden (siehe Anpassen des Verhaltens mit Markierungen). Es gibt auch einen begleitenden Autofixer, der die Auszeichnung automatisch bereinigen kann.

Hinweis

Wenn die Markierung md-text ebenfalls verwendet wird, sind auch Links im Markdown-Stil erlaubt.

Siehe auch

Die HTML-Prüfung wird von der Ammonia-Bibliothek durchgeführt.

URL

Zusammenfassung:

Die Übersetzung enthält keine URL

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.markup.URLCheck

Prüfungskennung:

url

Markierung zum Aktivieren:

url

Markierung zum Ignorieren:

ignore-url

Die Übersetzung enthält keine URL. Dies wird nur ausgelöst, wenn die Einheit als URL-haltig markiert ist. In diesem Fall muss die Übersetzung eine gültige URL sein.

XML-Auszeichnung

Zusammenfassung:

XML-Tags in der Übersetzung passen nicht zur Ausgangszeichenkette

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.markup.XMLTagsCheck

Prüfungskennung:

xml-tags

Markierung zum Ignorieren:

ignore-xml-tags

Das bedeutet normalerweise, dass die Ausgabe unterschiedlich aussieht. In den meisten Fällen ist dies kein erwünschtes Ergebnis einer Änderung der Übersetzung, aber gelegentlich schon.

Prüft, ob XML-Tags in der Quelle und Übersetzung identisch sind.

Die Prüfung wird automatisch für XML-ähnliche Zeichenketten aktiviert. Möglicherweise muss dies mit der xml-text-Markierung in einigen Fällen erzwungen werden.

Bemerkung

Diese Prüfung wird durch die safe-html-Markierung deaktiviert, da die von ihr durchgeführte HTML-Bereinigung Auszeichnungen erzeugen kann, die kein gültiges XML sind.

XML-Syntax

Zusammenfassung:

Die Übersetzung ist kein gültiges XML

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.markup.XMLValidityCheck

Prüfungskennung:

xml-invalid

Markierung zum Ignorieren:

ignore-xml-invalid

Die XML-Auszeichnung ist nicht gültig.

Die Prüfung wird automatisch für XML-ähnliche Zeichenketten aktiviert. Möglicherweise muss dies mit der xml-text-Markierung in einigen Fällen erzwungen werden.

Bemerkung

Diese Prüfung wird durch die safe-html-Markierung deaktiviert, da die von ihr durchgeführte HTML-Bereinigung Auszeichnungen erzeugen kann, die kein gültiges XML sind.

Breitenloses Leerzeichen

Zusammenfassung:

Übersetzung enthält zusätzliche breitenlose Leerzeichen

Bereich:

Übersetzte Zeichenketten

Prüfklasse:

weblate.checks.chars.ZeroWidthSpaceCheck

Prüfungskennung:

zero-width-space

Markierung zum Ignorieren:

ignore-zero-width-space

Breitenlose Leerzeichen (<U+200B>) werden verwendet, um Nachrichten innerhalb von Wörtern umzubrechen (Wortumbruch).

Da sie normalerweise versehentlich eingefügt werden, wird diese Prüfung ausgelöst, sobald sie in der Übersetzung vorkommen. Einige Programme könnten Probleme haben, wenn dieses Zeichen verwendet wird.

Quellenüberprüfungen

Quellenüberprüfungen können Entwicklern helfen, die Qualität der Ausgangszeichenketten zu verbessern.

Auslassungspunkte

Zusammenfassung:

Die Zeichenkette verwendet drei Punkte (…) anstelle der Auslassungspunkte (…)

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.source.EllipsisCheck

Prüfungskennung:

ellipsis

Markierung zum Ignorieren:

ignore-ellipsis

Dies schlägt fehl, wenn die Zeichenkette drei Punkte enthält (...), obwohl sie Auslassungspunkte verwenden sollte ().

Die Verwendung von Unicode-Zeichen ist in den meisten Fällen der bessere Ansatz, sieht besser aus und hört sich mit Text-to-Speech vermutlich besser an.

Inneres HTML der Fluent-Quelle

Added in version 5.0.

Zusammenfassung:

Fluent-Quelle sollte gültiges inneres HTML sein

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.fluent.inner_html.FluentSourceInnerHTMLCheck

Prüfungskennung:

fluent-source-inner-html

Markierung zum Aktivieren:

fluent-source-inner-html

Markierung zum Ignorieren:

ignore-fluent-source-inner-html

Fluent wird oft in Kontexten verwendet, in denen der Wert für eine Nachricht (oder einen Begriff) direkt als .innerHTML (statt .textContent) für ein HTML-Element verwendet werden soll. Zum Beispiel, wenn das Fluent-DOM-Paket verwendet wird.

Ziel dieser Prüfung ist es, vorherzusagen, wie der Wert als inneres HTML analysiert wird. Wobei ein HTML5-konformer Parser vorausgesetzt wird, um Fälle abzufangen, in denen es zu einem „unbeabsichtigten“ Verlust der Zeichenkette kommt, ohne zu streng mit technischen Analysefehlern zu sein, die nicht zu einem Verlust der Zeichenkette führen.

Diese Prüfung wird auf den Wert von Fluent-Nachrichten oder -Begriffe angewendet, nicht aber auf deren Attribute. Bei Nachrichten sind die Fluent-Attribute oft nur HTML-Attributwerte, können also beliebige Zeichenketten sein. Bei Begriffen sind die Fluent-Attribute oft Spracheigenschaften, auf die nur in den Selektoren von Fluent-Select-Ausdrücken verwiesen werden kann.

Im Allgemeinen wird von den meisten Fluent-Werten nicht erwartet, dass sie HTML-Auszeichnung enthalten. Daher erwartet diese Prüfung nicht, dass sich Übersetzer und Entwickler um die strikte Vermeidung von irgendwelchen technischen HTML5-Analysefehlern (geschweige denn XHTML-Analysefehlern) kümmern müssen. Stattdessen will diese Prüfung sie nur warnen, wenn sie unbeabsichtigt ein HTML-Tag geöffnet oder eine Zeichenreferenz eingefügt haben.

Darüber hinaus werden für die Fluent-Werte, die absichtlich HTML-Tags oder Zeichenreferenzen enthalten, einige „gute Praktiken“ überprüft, wie z. B. übereinstimmende schließende und endende Tags, gültige Zeichenreferenzen und zitierte Attributwerte. Während die HTML5-Spezifikation technisch gesehen beliebige Tag- und Attributnamen zulässt, beschränkt diese Prüfung sie auf einige grundlegende ASCII-Werte, welche die Standard-HTML5-Element-Tags und -Attribute abdecken sollten, und erlaubt einige benutzerdefinierte Element- oder Attributnamen. Damit soll teilweise sichergestellt werden, dass der Benutzer HTML absichtlich verwendet.

Beispiele:

Wert

Warnt?

Grund

three<four

ja

<four würde als .innerHTML verloren gehen.

three < four

nein

.innerHTML würde mit .textContent übereinstimmen.

three <four>

ja

Ein schließendes Tag fehlt.

three <four/>

ja

four ist kein HTML-Void-Element und sollte sich daher nicht selbst schließen.

<a-b>text</a-b>

nein

Benutzerdefiniertes Element-Tag mit einem passenden schließenden Tag.

a <img/> b

nein

img ist ein HTML-Void-Element. Selbstschließend ist erlaubt.

a <br> b

nein

br ist ein HTML-Void-Element.

<img class=a/>

ja

Der Attributwert ist nicht in Anführungszeichen gesetzt.

<aØ attr=''/>

ja

Nicht-ASCII-Tag-Name.

kind&ethical

ja

&eth würde in ð umgewandelt werden.

kind&eth;ical

nein

Die Zeichenreferenz scheint beabsichtigt zu sein.

three&lte;four

ja

&lte; würde in <e; umgewandelt werden.

three&lf;four

ja

Die Zeichenreferenz ist nicht gültig.

three<{ $val }

ja

Die Fluent-Variable kann unbeabsichtigt zu einem Tag werden.

&l{ $val }

ja

Die Fluent-Variable kann unbeabsichtigt zu einer Zeichenreferenz werden.

Bemerkung

Diese Prüfung stellt nicht sicher, dass der innere HTML-Code sicher oder bereinigt ist, und ist nicht dazu gedacht, vor böswilligen Versuchen zu schützen, den inneren HTML-Code zu ändern. Außerdem sollte man beachten, dass Fluent-Variablen und -Referenzen zu beliebigen Zeichenfolgen erweitert werden können, also zu beliebigem HTML, wenn sie nicht maskiert werden. Als Ausnahme wird ein <- oder &-Zeichen vor einer Fluent-Referenz diese Prüfung auslösen, da auch ein maskierter Wert zu unerwarteten Ergebnissen führen könnte.

Bemerkung

Das Fluent-DOM-Paket hat weitere Einschränkungen, wie z. B. erlaubte Tags und Attribute, die durch diese Prüfung nicht erzwungen werden.

Fluent-Quellsyntax

Added in version 5.0.

Zusammenfassung:

Fluent-Syntaxfehler in Quelle

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.fluent.syntax.FluentSourceSyntaxCheck

Prüfungskennung:

fluent-source-syntax

Markierung zum Aktivieren:

fluent-source-syntax

Markierung zum Ignorieren:

ignore-fluent-source-syntax

In Weblate verwenden Fluent-Zeichenketten die Fluent-Syntax für Verweise und Variablen, aber auch für komplexere Funktionen wie die Definition von Attributen und Selektor-Varianten, einschließlich Pluralformen. Diese Prüfung stellt sicher, dass die in der Quelle verwendete Syntax auch für Fluent gültig ist.

ICU MessageFormat-Syntax

Added in version 4.9.

Zusammenfassung:

Syntaxfehler in ICU MessageFormat-Zeichenketten.

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.icu.ICUSourceCheck

Prüfungskennung:

icu_message_format_syntax

Markierung zum Aktivieren:

icu-message-format

Markierung zum Ignorieren:

ignore-icu-message-format

Siehe auch

ICU MessageFormat

Lange nicht übersetzt

Added in version 4.1.

Zusammenfassung:

Die Zeichenkette wurde schon lange nicht mehr übersetzt

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.source.LongUntranslatedCheck

Prüfungskennung:

long_untranslated

Markierung zum Ignorieren:

ignore-long-untranslated

Wenn die Zeichenkette lange Zeit nicht übersetzt wurde, kann dies auf ein Problem in der Ausgangszeichenkette hinweisen, welches die Übersetzung erschwert.

Mehrfach fehlgeschlagene Überprüfungen

Zusammenfassung:

In mehreren Sprachen liegen bei den Übersetzungen fehlgeschlagene Qualitätsprüfungen vor

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.source.MultipleFailingCheck

Prüfungskennung:

multiple_failures

Markierung zum Ignorieren:

ignore-multiple-failures

Zahlreiche Übersetzungen dieser Zeichenkette haben die Qualitätsprüfung nicht bestanden. Dies ist in der Regel ein Hinweis darauf, dass etwas zur Verbesserung der Ausgangszeichenkette getan werden könnte.

Wenn die Prüfung fehlschlägt, kann das oft an einem fehlenden Punkt am Ende eines Satzes liegen oder an ähnlichen Kleinigkeiten, welche die Übersetzer in der Regel in der Übersetzung korrigieren, während es besser wäre, dies in der Ausgangszeichenkette zu beheben.

Mehrere unbenannte Variablen

Added in version 4.1.

Zusammenfassung:

Es existieren mehrere unbenannte Variablen in der Zeichenkette, so dass es für Übersetzer unmöglich ist, sie neu zu ordnen

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.format.MultipleUnnamedFormatsCheck

Prüfungskennung:

unnamed_format

Markierung zum Ignorieren:

ignore-unnamed-format

Es existieren mehrere unbenannte Variablen in der Zeichenkette, so dass es für Übersetzer unmöglich ist, sie neu zu ordnen.

Erwägen Sie, stattdessen benannte Variablen zu verwenden, damit die Übersetzer sie neu anordnen können.

Ohne Pluralformen

Zusammenfassung:

Die Zeichenkette wird im Plural verwendet, hat aber keine Pluralformen

Bereich:

Ausgangszeichenketten

Prüfklasse:

weblate.checks.source.OptionalPluralCheck

Prüfungskennung:

optional_plural

Markierung zum Ignorieren:

ignore-optional-plural

Die Zeichenkette wird als Plural verwendet, benutzt aber keine Pluralformen. Falls Ihr Übersetzungssystem dies unterstützt, sollte die pluralbewusste Variante davon verwendet werden.

Mit Gettext in Python könnte es zum Beispiel so aussehen:

from gettext import ngettext

print(ngettext("Selected %d file", "Selected %d files", files) % files)