Ü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:
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
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
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.
Siehe auch
Übersetzungsprüfungen¶
Wird bei jeder Übersetzungsänderung ausgeführt und hilft den Übersetzern, die Qualität der Übersetzungen aufrechtzuerhalten.
BBCode-Auszeichnung¶
Geändert in Version 5.10.
This checks no longer relies on unreliable automatic detection, it now needs to be turned on using the bbcode-text
flag.
- Zusammenfassung:
BBCode in der Übersetzung passt nicht zur Ausgangszeichenkette
- Bereich:
Übersetzte Zeichenketten
- Prüfklasse:
weblate.checks.markup.BBCodeCheck
- Prüfungskennung:
bbcode
- Markierung zum Aktivieren:
bbcode-text
- 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-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 Inneres HTML der Fluent-Quelle 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
Siehe auch
Fluent-Übersetzungssyntax¶
Added in version 5.0.
- Zusammenfassung:
Fluent-Syntaxfehler in der Ü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:
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
Siehe auch
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
Siehe auch
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
Siehe auch
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
|
Aktiviert die Unterstützung für einfache XML-Tags. Standardmäßig werden XML-Tags lose analysiert. Vereinzelte |
|
Aktiviert die Unterstützung für strikte XML-Tags. Alle |
|
Deaktiviert das Hervorheben von Platzhaltern im Editor. |
|
Deaktiviert die Anforderung, dass Unternachrichten einen |
|
Überspringt die Prüfung, ob die Selektoren der Unternachrichten mit der Ausgangszeichenkette übereinstimmen. |
|
Überspringt die Prüfung, ob Platzhaltertypen mit der Ausgangszeichenkette übereinstimmen. |
|
Überspringt die Prüfung, ob Platzhalter vorhanden sind, die in der Ausgangszeichenkette nicht vorhanden waren. |
|
Ü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 die java-format
-Markierung umgeschaltet, dies wurde aus Gründen der Konsistenz mit GNU gettext geändert.
Siehe auch
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.
Siehe auch
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
Siehe auch
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
Siehe auch
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
Siehe auch
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:
Your balance is %(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
Siehe auch
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)
Siehe auch
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}
Siehe auch
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.
Inkonsistente reStructuredText-Referenzen¶
Added in version 5.10.
- Zusammenfassung:
Inkonsistente reStructuredText-Begriffsreferenzen in der übersetzten Nachricht.
- Bereich:
Übersetzte Zeichenketten
- Prüfklasse:
weblate.checks.markup.RSTReferencesCheck
- Prüfungskennung:
rst-references
- Markierung zum Aktivieren:
rst-text
- Markierung zum Ignorieren:
ignore-rst-references
reStructuredText term references do not match source, the typical causes for these errors are:
Mismatched or missing backticks.
Missing spaces or interpunction around the reference. The reStructuredText inline blocks need to be separated by non-word characters.
Space between inline tag and backticks.
The reference name is not being translated.
Using quotes instead of backticks.
Siehe auch
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.
Siehe auch
Markdown-Links¶
- Zusammenfassung:
Markdown-Links in der Übersetzung passen nicht zur Ausgangszeichenkette
- Bereich:
Übersetzte Zeichenketten
- Prüfklasse:
weblate.checks.markup.MarkdownLinkCheck
- Prüfungskennung:
md-link
- Markierung zum Aktivieren:
md-text
- Markierung zum Ignorieren:
ignore-md-link
Markdown-Links passen nicht zur Ausgangszeichenkette.
Siehe auch
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-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
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).
Siehe auch
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.
Siehe auch
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).
Siehe auch
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
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).
Siehe auch
Nicht übereinstimmendes Fragerufzeichen¶
- Zusammenfassung:
Ausgangs- und übersetzte Zeichenkette enden nicht beide mit einem Fragerufzeichen
- Bereich:
Übersetzte Zeichenketten
- Prüfklasse:
weblate.checks.chars.EndInterrobangCheck
- Prüfungskennung:
end_Interrobang
- Markierung zum Ignorieren:
ignore-end-Interrobang
Prüft, ob Fragerufzeichen in Quelle und Übersetzung identisch sind. Erlaubt den Tausch zwischen „!?“ und „?!“.
Siehe auch
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.
Siehe auch
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
Siehe auch
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$
reStructuredText-Syntaxfehler¶
Added in version 5.10.
- Zusammenfassung:
reStructuredText-Syntaxfehler in der Übersetzung.
- Bereich:
Übersetzte Zeichenketten
- Prüfklasse:
weblate.checks.markup.RSTSyntaxCheck
- Prüfungskennung:
rst-syntax
- Markierung zum Aktivieren:
rst-text
- Markierung zum Ignorieren:
ignore-rst-syntax
reStructuredText syntax error in the translation. Issues to look for:
Mismatched closing/opening tags.
Missing spaces or interpunction around the reference. The reStructuredText inline blocks need to be separated by non-word characters.
Using quotes instead of backticks.
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.
Siehe auch
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.
Siehe auch
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
Happens if the source and corresponding translation strings are identical, down to at least one of the plural forms. Some strings commonly found across all languages are ignored, and various markups are stripped. This reduces the number of false positives.
Diese Prüfung kann helfen, irrtümlich nicht übersetzte Zeichenketten zu finden.
The default behavior of this check is to exclude words from the built-in terms
list from the checking. These are words which are frequently not being
translated. This is useful to avoid false positives on short strings, which
consist only of a single word which is the same in several languages. This list
can be disabled by adding strict-same
flag to a string or component.
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.
Siehe auch
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.
Siehe auch
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 |
---|---|---|
|
ja |
|
|
nein |
|
|
ja |
Ein schließendes Tag fehlt. |
|
ja |
|
|
nein |
Benutzerdefiniertes Element-Tag mit einem passenden schließenden Tag. |
|
nein |
|
|
nein |
|
|
ja |
Der Attributwert ist nicht in Anführungszeichen gesetzt. |
|
ja |
Nicht-ASCII-Tag-Name. |
|
ja |
|
|
nein |
Die Zeichenreferenz scheint beabsichtigt zu sein. |
|
ja |
|
|
ja |
Die Zeichenreferenz ist nicht gültig. |
|
ja |
Die Fluent-Variable kann unbeabsichtigt zu einem Tag werden. |
|
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.
Siehe auch
Fluent-Quellsyntax¶
Added in version 5.0.
- Zusammenfassung:
Fluent-Syntaxfehler in der 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
Lange nicht übersetzt¶
Added in version 4.1.
- Zusammenfassung:
Die Zeichenkette wurde seit langem nicht ü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.
Unzulässiges Anfangszeichen¶
Added in version 5.9.
- Zusammenfassung:
Die Zeichenkette beginnt mit einem in CSV unzulässigen Zeichen
- Bereich:
Ausgangszeichenketten
- Prüfklasse:
weblate.checks.glossary.ProhibitedInitialCharacterCheck
- Prüfungskennung:
prohibited_initial_character
- Markierung zum Ignorieren:
ignore-prohibited-initial-character
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)