Ü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 falsch positiven Ergebnissen 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#
Leerzeichen ohne Breite 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 (।
).
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
feinabgestimmt 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#
- 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 falsch positiven Ergebnissen führt.
Aufeinanderfolgende doppelte Wörter#
Neu 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
Checks that no consecutive duplicate words occur in a translation. This usually indicates a mistake in the translation.
Hinweis
This check includes language specific rules to avoid false positives. In case it triggers falsely in your case, let us know. See Probleme in Weblate melden.
Folgt nicht dem Glossar#
Neu 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
This check has to be turned on using check-glossary
flag (see
Anpassen des Verhaltens mit Markierungen). Please consider following prior to enabling it:
It does exact string matching, the glossary is expected to contain terms in all variants.
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.
It also utilizes untranslatable glossary terms in Unveränderte Übersetzung.
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
Checks that double space is present in translation to avoid false positives on other space-related checks.
Check is false when double space is found in source meaning double space is intentional.
Fluent-Teile#
Neu 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
Each Fluent Message can have an optional value (the main text content), and optional attributes, each of which is a „part“ of the Message. In Weblate, all these parts appear within the same block, using Fluent-like syntax to specify the attributes. For example:
This is the Message value
.title = This is the title attribute
.alt = This is the alt attribute
This check ensures that the translated Message also has a value if the source Message has one, or no value if the source has none. This also checks that the same attributes used in the source Message also appear in the translation, with no additions.
Bemerkung
This check is not applied to Fluent Terms since Terms always have a value, and Term attributes tend to be locale-specific (used for grammar rules, etc.), and are not expected to appear in all translations.
Siehe auch
Fluent-Referenzen#
Neu 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
A Fluent Message or Term can reference another Message, Term, Attribute, or a variable. For example:
Here is a { message }, a { message.attribute } a { -term } and a { $variable }.
Within a function { NUMBER($num, minimumFractionDigits: 2) }
Generally, translated Messages or Terms are expected to contain the same references as the source, although not necessarily in the same order of appearance. So this check ensures that translations use the same references in their value as the source value, the same number of times, and with no additions. For Messages, this will also check that each Attribute in the translation uses the same references as the matching Attribute in the source.
When the source or translation contains Fluent Select Expressions, then each possible variant in the source must be matched with at least one variant in the translation with the same references, and vice versa.
Moreover, if a variable reference appears both in the Select Expression’s selector and within one of its variants, then all variants may also be considered as if they also contain that reference. The assumption being that the variant’s key may have made the reference redundant for that variant. For example:
{ $num ->
[one] an apple
*[other] { $num } apples
}
Here, for the purposes of this check, the [one]
variant will also be
considered to contain the $num
reference.
However, a reference within the Select Expression’s selector, which can only be a variable of a Term Attribute in Fluent’s syntax, will not by itself count as a required reference because they do not form the actual text content of the string that the end-user will see, and the presence of a Select Expression is considered locale-specific. For example:
{ -term.starts-with-vowel ->
[yes] an { -term }
*[no] a { -term }
}
Here a reference to -term.starts-with-vowel
is not expected to appear in
translations, but a reference to -term
is.
Inneres HTML der Fluent-Übersetzung#
Neu 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
This check will verify that the translated value of a Message or Term contains the same HTML elements as the source value.
First, if the source value fails the Inneres HTML der Fluent-Quelle check, then this check will do nothing. Otherwise, the translated value will also be checked under the same conditions.
Second, the HTML elements found in the translated value will be compared against the HTML elements found in the source value. Two elements will match if they share the exact same tag name, the exact same attributes and values, and all their ancestors match in the same way. This check will ensure that all the elements in the source appear somewhere in the translation, with the same number of appearances, and with no additional elements added. When there are multiple elements in the value, they need not appear in the same order in the translation value.
When the source or translation contains Fluent Select Expressions, then each possible variant in the source must be matched with at least one variant in the translation with the same HTML elements, and vice versa.
When using Fluent in combination with the Fluent DOM package, this check will
ensure that the translation also includes any required data-l10n-name
elements that appear in the source, or any of the allowed inline elements like
<br>
.
Zum Beispiel die folgende Quelle:
Source message <img data-l10n-name="icon"/> with icon
would match with:
Translated message <img data-l10n-name="icon"/> with icon
but not:
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#
Neu 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, Fluent strings use Fluent syntax for references and variables, but also for more complex features like defining attributes and selector variants, including plurals. This check ensures that the syntax used in the translation will be valid for Fluent.
Formatierte Zeichenketten#
Checks that the formatting in strings is replicated between both source and translation. Omitting format strings in translation usually causes severe problems, so the formatting in strings should usually match the source.
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.
Most of the format checks allow omitting format strings for plural forms having
a single count. This allows translators to write nicer strings for these cases
(One apple instead of %d apple). Turn this off by adding strict-format
flag.
The flags can be customized per string (see Zusätzliche Informationen über Ausgangszeichenketten) or in a Komponentenkonfiguration. Having it defined per component is simpler, but it can lead to false positives in case the string is not interpreted as a formatting string, but format string syntax happens to be used.
Hinweis
In case specific format check is not available in Weblate, you can use generic Platzhalter.
Besides checking, this will also highlight the formatting strings to easily insert them into translated strings:
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#
Neu 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#
Neu 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}}.
This check has support for both pure ICU MessageFormat messages as well as ICU with simple
XML tags. You can configure the behavior of this check by using icu-flags:*
, either by
opting into XML support or by disabling certain sub-checks. For example, the following flag
enables XML support while disabling validation of plural sub-messages:
icu-message-format, icu-flags:xml:-plural_selectors
|
Enable support for simple XML tags. By default, XML tags
are parsed loosely. Stray |
|
Enable support for strict XML tags. All |
|
Die Hervorhebung von Platzhaltern im Editor deaktivieren. |
|
Disable requiring sub-messages to have an |
|
Skip checking that sub-message selectors match the source. |
|
Die Prüfung überspringen, ob Platzhaltertypen mit der Ausgangszeichenkette übereinstimmen. |
|
Die Prüfung überspringen, ob Platzhalter vorhanden sind, die in der Ausgangszeichenkette nicht vorhanden waren. |
|
Die Prüfung überspringen, ob keine Platzhalter fehlen, die in der Ausgangszeichenkette vorhanden waren. |
Additionally, when strict-xml
is not enabled but xml
is enabled, you can use the
icu-tag-prefix:PREFIX
flag to require that all XML tags start with a specific string.
For example, the following flag will only allow XML tags to be matched if they start with
<x:
:
icu-message-format, icu-flags:xml, icu-tag-prefix:"x:"
This would match <x:link>click here</x:link>
but not <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: This used to be toggled by java-format
flag, it was changed for consistency with GNU gettext.
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: This used to be toggled by java-messageformat
flag, it was changed for consistency with GNU gettext.
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#
Neu 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-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
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
- Named template string:
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
- Verknüpfte 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
Means a string has been translated already. This can happen when the translations have been reverted in VCS or lost otherwise.
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.
The check fails on differing translations of one string within a project. This can also lead to inconsistencies in displayed checks. You can find other translations of this string on the Other occurrences tab.
This check applies to all components in a project that have Weitergabe von Übersetzungen erlauben turned on.
Hinweis
Aus Leistungsgründen findet die Qualitätsprüfung möglicherweise nicht alle Inkonsistenzen, so dass die Anzahl der Übereinstimmungen begrenzt ist.
Bemerkung
This check also fires in case the string is translated in one component and not in another. It can be used as a quick way to manually handle strings which are untranslated in some components just by clicking on the Use this translation button displayed on each line in the Other occurrences tab.
You can use Automatische Übersetzung add-on to automate translating of newly added strings which are already translated in another component.
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 do not match source.
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 references do not match source.
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
Checks that translations are of acceptable length to fit available space. This only checks for the length of translation characters.
Unlike the other checks, the flag should be set as a key:value
pair like
max-length:100
.
Hinweis
This check looks at number of chars, what might not be the best metric when using proportional fonts to render the text. The Maximaler Umfang der Übersetzung check does check actual rendering of the text.
Die Markierung replacements:
kann auch nützlich sein, um Platzhalter vor der Überprüfung der Zeichenkette zu erweitern.
When xml-text
flag is also used, the length calculation ignores 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
Translation rendered text should not exceed given size. It renders the text with line wrapping and checks if it fits into given boundaries.
This check needs one or two parameters - maximal width and maximal number of lines. In case the number of lines is not provided, one line text is considered.
You can also configure used font by font-*
directives (see
Anpassen des Verhaltens mit Markierungen), for example following translation flags say that the
text rendered with ubuntu font size 22 should fit into two lines and 500
pixels:
max-size:500:2, font-family:ubuntu, font-size:22
Hinweis
You might want to set font-*
directives in Komponentenkonfiguration to have the same
font configured for all strings within a component. You can override those
values per string in case you need to customize it per string.
Die Markierung replacements:
kann auch nützlich sein, um Platzhalter vor der Überprüfung der Zeichenkette zu erweitern.
When xml-text
flag is also used, the length calculation ignores 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
Checks that colons are replicated between both source and translation. The presence of colons is also checked for various languages where they do not belong (Chinese or Japanese).
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 Ausgangszeichenkette und in der Übersetzung wiedergegeben werden. 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
Checks that exclamations are replicated between both source and translation. The presence of exclamation marks is also checked for various languages where they do not belong (Chinese, Japanese, Korean, Armenian, Limbu, Myanmar or Nko).
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
Checks that full stops are replicated between both source and translation. The presence of full stops is checked for various languages where they do not belong (Chinese, Japanese, Devanagari or 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
Checks that question marks are replicated between both source and translation. The presence of question marks is also checked for various languages where they do not belong (Armenian, Arabic, Chinese, Korean, Japanese, Ethiopic, Vai or Coptic).
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 Ende von Sätzen sowohl in der Ausgangszeichenkette als auch in der Übersetzung wiedergegeben werden.
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
Checks that all plural forms of a source string have been translated. Specifics on how each plural form is used can be found in the string definition.
Failing to fill in plural forms will in some cases lead to displaying nothing when the plural form is in use.
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: Sie können einen regulären Ausdruck als Platzhalter verwenden.
Geändert in Version 4.13: With the case-insensitive
flag, the placeholders are not case-sensitive.
Translation is missing some placeholders. These are either extracted from the
translation file or defined manually using placeholders
flag, more can be
separated with colon, strings with space can be quoted:
placeholders:$URL$:$TARGET$:"some long text"
In case you have some syntax for placeholders, you can use a regular expression:
placeholders:r"%[^% ]%"
You can also have case insensitive placeholders:
placeholders:$URL$:$TARGET$,case-insensitive
Siehe auch
Satzzeichenabstand#
- Zusammenfassung:
Es fehlt ein untrennbares Leerzeichen vor doppelten Satzzeichen
- 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 nicht abbrechbares Leerzeichen steht. Diese Regel wird nur in einigen ausgewählten Sprachen wie Französisch oder Bretonisch verwendet, wo das Leerzeichen vor doppelten Satzzeichen 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
Translation does not match regular expression. The expression is either extracted from the
translation file or defined manually using regex
flag:
regex:^foo|bar$
Wiederverwendete Übersetzung#
Neu 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
Check that fails if the same translation is used on different source strings. Such translations can be intentional, but can also confuse users.
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
Check that fails if some plural forms are duplicated in the translation. In most languages they have to be different.
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:
Quelle und Übersetzung 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 die Leerzeichen am Ende des Textes zwischen Ausgangszeichenkette und Übersetzung wiedergegeben werden.
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 falsch-positiven Ergebnisse reduziert.
This check can help find strings mistakenly untranslated.
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: With check-glossary
flag (see Folgt nicht dem Glossar), the
untranslatable glossary terms are excluded from the checking.
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
When md-text
flag is also used, the Markdown style links are also allowed.
Siehe auch
The HTML check is performed by the Ammonia library.
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.
Checks that XML tags are replicated between both source and translation.
The check is automatically enabled for XML like strings. You might need to add
xml-text
flag in some cases to force turning it on.
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.
The check is automatically enabled for XML like strings. You might need to add
xml-text
flag in some cases to force turning it on.
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.
Leerzeichen ohne Breite#
- Zusammenfassung:
Übersetzung enthält zusätzliche Leerzeichen ohne Breite
- Bereich:
Übersetzte Zeichenketten
- Prüfklasse:
weblate.checks.chars.ZeroWidthSpaceCheck
- Prüfungskennung:
zero-width-space
- Markierung zum Ignorieren:
ignore-zero-width-space
Zero-width space (<U+200B>) characters are used to break messages within words (word wrapping).
As they are usually inserted by mistake, this check is triggered once they are present in translation. Some programs might have problems when this character is used.
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#
Neu 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 is often used in contexts where the value for a Message (or Term) is
meant to be used directly as .innerHTML
(rather than .textContent
) for
some HTML element. For example, when using the Fluent DOM package.
The aim of this check is to predict how the value will be parsed as inner HTML, assuming a HTML5 conforming parser, to catch cases where there would be some „unintended“ loss of the string, without being too strict about technical parsing errors that do not lead to a loss of the string.
This check is applied to the value of Fluent Messages or Terms, but not their Attributes. For Messages, the Fluent Attributes are often just HTML attribute values, so can be arbitrary strings. For Terms, the Fluent Attributes are often language properties that can only be referenced in the selectors of Fluent Select Expressions.
Generally, most Fluent values are not expected to contain any HTML markup. Therefore, this check does not expect or want translators and developers to have to care about strictly avoiding any technical HTML5 parsing errors (let alone XHTML parsing errors). Instead, this check will just want to warn them when they may have unintentionally opened a HTML tag or inserted a character reference.
Moreover, for the Fluent values that intentionally contain HTML tags or character references, this check will verify some „good practices“, such as matching closing and ending tags, valid character references, and quoted attribute values. In addition, whilst the HTML5 specification technically allows for quite arbitrary tag and attribute names, this check will restrain them to some basic ASCII values that should cover the standard HTML5 element tags and attributes, as well as allow some custom element or attribute names. This is partially to ensure that the user is using HTML intentionally.
Beispiele:
Value |
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
This check will not ensure the inner HTML is safe or sanitized, and is not
meant to protect against malicious attempts to alter the inner HTML.
Moreover, it should be remembered that Fluent variables and references may
expand to arbitrary strings, so could expand to arbitrary HTML unless they
are escaped. As an exception, a <
or &
character before a Fluent
reference will trigger this check since even an escaped value could lead to
unexpected results.
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#
Neu 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, Fluent strings use Fluent syntax for references and variables, but also for more complex features like defining attributes and selector variants, including plurals. This check ensures that the syntax used in source will be valid for Fluent.
ICU MessageFormat-Syntax#
Neu 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#
Neu 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
When the string has not been translated for a long time, it can indicate a problem in a source string making it hard to translate.
Mehrfach fehlgeschlagene Überpü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
Numerous translations of this string have failing quality checks. This is usually an indication that something could be done to improve the source string.
This check failing can quite often be caused by a missing full stop at the end of a sentence, or similar minor issues which translators tend to fix in translation, while it would be better to fix it in the source string.
Mehrere unbenannte Variablen#
Neu 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
There are multiple unnamed variables in the string, making it impossible for translators to reorder them.
Consider using named variables instead to allow translators to reorder them.
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
The string is used as a plural, but does not use plural forms. In case your translation system supports this, you should use the plural aware variant of it.
For example with Gettext in Python it could be:
from gettext import ngettext
print(ngettext("Selected %d file", "Selected %d files", files) % files)