Kontroller och korrigeringar

Kvalitetskontrollerna hjälper till att upptäcka vanliga översättningsfel och säkerställer att översättningen är av god kvalitet. Kontrollerna kan ignoreras vid falska positiva resultat.

När en översättning med ett felaktigt resultat skickas in visas detta omedelbart för användaren:

../_images/checks.webp

Automatiska korrigeringar

Förutom Kvalitetskontroller kan Weblate automatiskt korrigera vissa vanliga fel i översatta strängar. Använd funktionen med försiktighet så att den inte lägger till fel.

Se även

AUTOFIX_LIST

Ersättning för utdragna ellipser

Klassnamn:

weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis

Ersätt punkter i slutet (...) med tre punkter () för att göra det konsekvent med källsträngen.

Borttagning av mellanslag med nollbredd

Klassnamn:

weblate.trans.autofixes.chars.RemoveZeroSpace

Nollbreddsutrymme är vanligtvis inte önskvärt i översättningen. Denna korrigering tar bort det om det inte också finns i källsträngen.

Borttagning av kontrolltecken

Klassnamn:

weblate.trans.autofixes.chars.RemoveControlChars

Tar bort kontrolltecken om källan inte innehåller några.

Devanagari danda

Klassnamn:

weblate.trans.autofixes.chars.DevanagariDanda

Ersätter punkt i bengali med devanagari-tecknet danda ().

Skiljeteckensavstånd

Klassnamn:

weblate.trans.autofixes.chars.PunctuationSpacing

Added in version 5.3.

Säkerställer att franska använder korrekt interpunktionsavstånd.

Denna korrigering kan inaktiveras via flaggan ignore-punctuation-spacing (som också inaktiverar Skiljeteckensavstånd).

Rensning av osäker HTML

Klassnamn:

weblate.trans.autofixes.html.BleachHTML

Tar bort osäkra HTML-markeringar från strängar som är markerade som safe-html.

Se även

Osäker HTML

Korrigering av efterföljande och föregående blanksteg

Klassnamn:

weblate.trans.autofixes.whitespace.SameBookendingWhitespace

Gör ledande och efterföljande blanksteg konsekventa med källsträngen. Beteendet kan finjusteras med hjälp av flaggorna ignore-begin-space och ignore-end-space för att hoppa över bearbetning av delar av strängen.

Kvalitetskontroller

Weblate använder ett brett spektrum av kvalitetskontroller på strängar. Följande avsnitt beskriver dem alla mer detaljerat. Det finns också språkspecifika kontroller. Vänligen rapportera ett fel om något rapporteras felaktigt.

Översättningskontroller

Utförs vid varje översättningsändring, vilket hjälper översättarna att upprätthålla en hög kvalitet på översättningarna.

BBCode-märkning

Sammanfattning:

BBCode i översättningen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.BBCodeCheck

Kontrollera identifierare:

bbcode

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

bbcode-text

Flagga för att ignorera:

ignore-bbcode

Förändrat i version 5.10.

Denna kontroll är inte längre beroende av opålitlig automatisk detektering, utan måste nu aktiveras med flaggan bbcode-text.

BBCode representerar enkel markering, till exempel att markera viktiga delar av ett meddelande med fet stil eller kursiv stil.

Denna kontroll säkerställer att de också finns med i översättningen.

Observera

Metoden för att upptäcka BBCode är för närvarande ganska enkel, så denna kontroll kan ge falska positiva resultat.

På varandra följande identiska ord

Added in version 4.1.

Sammanfattning:

Text innehållande samma ord två gånger i rad.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.duplicate.DuplicateCheck

Kontrollera identifierare:

duplicate

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-duplicate

Kontrollerar att inga ord förekommer två gånger i rad i en översättning. Detta indikerar vanligtvis ett fel i översättningen.

Råd

Denna kontroll inkluderar språkspecifika regler för att undvika falska positiva resultat. Om den utlöser falska positiva resultat i ditt fall, vänligen meddela oss. Se Rapportera problem i Weblate.

Överensstämmer inte med ordlistan

Added in version 4.5.

Sammanfattning:

Översättningen följer inte poster som definierats i en ordlista.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.glossary.GlossaryCheck

Kontrollera identifierare:

check_glossary

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

check-glossary

Flagga för att ignorera:

ignore-check-glossary

Denna kontroll måste aktiveras med flaggan check-glossary (se Anpassa beteende med hjälp av flaggor). Tänk på följande innan du aktiverar den:

  • Den utför exakt strängmatchning, och ordlistan förväntas innehålla termer i alla varianter.

  • Att kontrollera varje sträng mot ordlistan är kostsamt och kommer att sakta ner alla operationer i Weblate som involverar kontroller, såsom import av strängar eller översättning.

  • Den använder också oöversättbara termer i Oförändrad översättning.

Dubbla mellanslag

Sammanfattning:

Översättningen innehåller dubbla mellanslag.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.DoubleSpaceCheck

Kontrollera identifierare:

double_space

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-double-space

Kontrollerar att dubbla mellanslag förekommer i översättningen för att undvika falska positiva resultat vid andra mellanslagsrelaterade kontroller.

Kontrollen är falsk när dubbla mellanslag hittas i källan, vilket innebär att dubbla mellanslag är avsiktliga.

Fluent-delar

Added in version 5.0.

Sammanfattning:

Fluent-delar ska matcha varandra.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.fluent.parts.FluentPartsCheck

Kontrollera identifierare:

fluent-parts

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Fluent-format

Flagga för att aktivera:

fluent-parts

Flagga för att ignorera:

ignore-fluent-parts

Varje Fluent-meddelande kan ha ett valfritt värde (huvudtexten) och valfria attribut, som var och en är en ”del” av meddelandet. I Weblate visas alla dessa delar i samma block, med Fluent-liknande syntax för att ange attributen. Till exempel:

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

Denna kontroll säkerställer att det översatta meddelandet också har ett värde om källmeddelandet har ett, eller inget värde om källmeddelandet inte har något. Detta kontrollerar också att samma attribut som används i källmeddelandet också förekommer i översättningen, utan tillägg.

Observera

Denna kontroll tillämpas inte på flytande termer, eftersom termer alltid har ett värde och termattribut tenderar att vara lokalspecifika (används för grammatikregler etc.) och inte förväntas förekomma i alla översättningar.

Fluent-referenser

Added in version 5.0.

Sammanfattning:

Fluent-referenser ska stämma överens.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.fluent.references.FluentReferencesCheck

Kontrollera identifierare:

fluent-references

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Fluent-format

Flagga för att aktivera:

fluent-references

Flagga för att ignorera:

ignore-fluent-references

Ett flytande meddelande eller begrepp kan hänvisa till ett annat meddelande, begrepp, attribut eller en variabel. Till exempel:

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

I allmänhet förväntas översatta meddelanden eller termer innehålla samma referenser som källan, men inte nödvändigtvis i samma ordning. Denna kontroll säkerställer alltså att översättningarna använder samma referenser i sitt värde som källvärdet, samma antal gånger och utan tillägg. För meddelanden kontrolleras också att varje attribut i översättningen använder samma referenser som motsvarande attribut i källan.

När källtexten eller översättningen innehåller Fluent Select Expressions måste varje möjlig variant i källtexten matchas med minst en variant i översättningen med samma referenser, och vice versa.

Om en variabelreferens förekommer både i Select Expression-väljaren och i en av dess varianter, kan dessutom alla varianter betraktas som om de också innehåller den referensen. Antagandet är att variantens nyckel kan ha gjort referensen överflödig för den varianten. Till exempel:

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

Här, för denna kontroll, kommer varianten [one] också att anses innehålla referensen $num.

En referens inom Select Expression-selektorn, som endast kan vara en variabel av ett Term Attribute i Fluents syntax, räknas dock inte i sig som en obligatorisk referens, eftersom den inte utgör det faktiska textinnehållet i den sträng som slutanvändaren ser, och förekomsten av en Select Expression anses vara lokaliseringsspecifik. Till exempel:

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

Här förväntas inte en hänvisning till -term.starts-with-vowel förekomma i översättningarna, men en hänvisning till -term förväntas förekomma.

Fluent- översättning, inre HTML

Added in version 5.0.

Sammanfattning:

Fluent-mål bör vara giltig inre HTML som matchar.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.fluent.inner_html.FluentTargetInnerHTMLCheck

Kontrollera identifierare:

fluent-target-inner-html

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Fluent-format

Flagga för att aktivera:

fluent-target-inner-html

Flagga för att ignorera:

ignore-fluent-target-inner-html

Denna kontroll verifierar att det översatta värdet för ett meddelande eller en term innehåller samma HTML-element som källvärdet.

För det första, om källvärdet inte klarar Fluent källkod för inre HTML-kontrollen, kommer denna kontroll inte att göra något. I annat fall kommer det översatta värdet också att kontrolleras under samma villkor.

För det andra kommer HTML-elementen som finns i det översatta värdet att jämföras med HTML-elementen som finns i källvärdet. Två element matchar varandra om de har exakt samma taggnamn, exakt samma attribut och värden, och alla deras överordnade element matchar varandra på samma sätt. Denna kontroll säkerställer att alla element i källan förekommer någonstans i översättningen, med samma antal förekomster och utan att några ytterligare element har lagts till. När det finns flera element i värdet behöver de inte förekomma i samma ordning i översättningsvärdet.

När källtexten eller översättningen innehåller Fluent Select Expressions måste varje möjlig variant i källtexten matchas med minst en variant i översättningen med samma HTML-element, och vice versa.

När Fluent används i kombination med Fluent DOM-paketet säkerställer denna kontroll att översättningen även inkluderar alla nödvändiga data-l10n-name-element som förekommer i källtexten, eller något av de tillåtna inline-elementen som <br>.

Till exempel följande källa:

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

skulle matcha med:

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

men inte:

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

inte heller

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

Fluent översättningssyntax

Added in version 5.0.

Sammanfattning:

Fluent-syntaxfel i översättningen.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.fluent.syntax.FluentTargetSyntaxCheck

Kontrollera identifierare:

fluent-target-syntax

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Fluent-format

Flagga för att aktivera:

fluent-target-syntax

Flagga för att ignorera:

ignore-fluent-target-syntax

I Weblate använder Fluent-strängar Fluent-syntax för referenser och variabler, men också för mer komplexa funktioner som att definiera attribut och selektorsvarianter, inklusive pluralformer. Denna kontroll säkerställer att syntaxen som används i översättningen är giltig för Fluent.

Formaterade strängar

Kontrollerar att formateringen i strängar replikeras mellan både källan och översättningen. Att utelämna formatsträngar i översättningen orsakar vanligtvis allvarliga problem, så formateringen i strängar bör vanligtvis matcha källan.

Weblate stöder kontroll av formatsträngar på flera språk. Kontrollen aktiveras inte automatiskt, utan endast om en sträng är korrekt flaggad (t.ex. c-format för C-format). Gettext lägger till detta automatiskt, men du måste troligen lägga till det manuellt för andra filformat eller om dina PO-filer inte genereras av xgettext.

De flesta formatkontroller tillåter att formatsträngar för pluralformer med ett enda antal utelämnas. Detta gör det möjligt för översättare att skriva snyggare strängar för dessa fall (Ett äpple istället för %d äpple). Inaktivera detta genom att lägga till flaggan strict-format.

Flaggorna kan anpassas per sträng (se Ytterligare information om källsträngar) eller i en Komponentkonfiguration. Att definiera dem per komponent är enklare, men det kan leda till falska positiva resultat om strängen inte tolkas som en formateringssträng, men formateringssträngsyntax råkar användas.

Råd

Om specifik formatkontroll inte är tillgänglig i Weblate kan du använda generiska Platshållare.

Förutom att kontrollera kommer detta också att markera formateringssträngarna så att de enkelt kan infogas i översatta strängar:

../_images/format-highlight.webp

AngularJS interpolationssträng

Sammanfattning:

AngularJS-interpoleringssträngar stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.angularjs.AngularJSInterpolationCheck

Kontrollera identifierare:

angularjs_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

angularjs-format

Flagga för att ignorera:

ignore-angularjs-format

Exempel på namngiven formatsträng:

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

Formatering av Automattic-komponenter

Sammanfattning:

Automattic-komponenternas platshållare stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.AutomatticComponentsCheck

Kontrollera identifierare:

automattic_components_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

automattic-components-format

Flagga för att ignorera:

ignore-automattic-components-format

Enkelt exempel på formatsträng:

They bought {{strong}}apples{{/strong}}.

C-format

Sammanfattning:

C-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.CFormatCheck

Kontrollera identifierare:

c_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

c-format

Flagga för att ignorera:

ignore-c-format

Enkelt exempel på formatsträng:

There are %d apples

Exempel på positionsformatsträng:

Your balance is %1$d %2$s

C#-format

Sammanfattning:

C#-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.CSharpFormatCheck

Kontrollera identifierare:

c_sharp_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

ResourceDictionary-filer

Flagga för att aktivera:

c-sharp-format, csharp-format

Flagga för att ignorera:

ignore-c-sharp-format

Exempel på positionsformatsträng:

There are {0} apples

EMAScript-mallitteraler

Sammanfattning:

ECMAScript-malltext matchar inte källkoden.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.ESTemplateLiteralsCheck

Kontrollera identifierare:

es_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

draggable/i18n-språkfiler

Flagga för att aktivera:

es-format

Flagga för att ignorera:

ignore-es-format

Interpolationsexempel:

There are ${number} apples

i18next-interpolation

Added in version 4.0.

Sammanfattning:

Interpoleringen i18next stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.I18NextInterpolationCheck

Kontrollera identifierare:

i18next_interpolation

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

i18next JSON-filer, i18next JSON-filer

Flagga för att aktivera:

i18next-interpolation

Flagga för att ignorera:

ignore-i18next-interpolation

Interpolationsexempel:

There are {{number}} apples

Exempel på kapsling:

There are $t(number) apples

ICU MessageFormat

Added in version 4.9.

Sammanfattning:

Syntaxfel och/eller platshållarfel i ICU MessageFormat-strängar.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.icu.ICUMessageFormatCheck

Kontrollera identifierare:

icu_message_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

ARB-fil, Format.JS JSON-fil

Flagga för att aktivera:

icu-message-format

Flagga för att ignorera:

ignore-icu-message-format

Interpolationsexempel:

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

Denna kontroll stöder både rena ICU MessageFormat-meddelanden och ICU med enkla XML-taggar. Du kan konfigurera beteendet för denna kontroll med hjälp av icu-flags:*, antingen genom att välja XML-stöd eller genom att inaktivera vissa underkontroller. Till exempel aktiverar följande flagga XML-stöd samtidigt som validering av pluralundermeddelanden inaktiveras:

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

xml

Aktivera stöd för enkla XML-taggar. Som standard analyseras XML-taggar löst. Enstaka <-tecken ignoreras om de inte rimligen ingår i en tagg.

strict-xml

Aktivera stöd för strikta XML-taggar. Alla <-tecken måste undantas om de inte ingår i en tagg.

-highlight

Inaktivera markering av platshållare i redigeraren.

-require_other

Inaktivera kravet på att undermeddelanden måste ha en annan selektor.

-submessage_selectors

Hoppa över kontrollen av att delmeddelandeselektorer matchar källan.

-types

Hoppa över kontrollen av att platshållartyperna stämmer överens med källan.

-extra

Hoppa över kontrollen av att det inte finns några platshållare som inte fanns i källsträngen.

-missing

Hoppa över kontrollen av att inga platshållare som fanns i källsträngen saknas.

Dessutom, när strict-xml inte är aktiverat men xml är aktiverat, kan du använda flaggan icu-tag-prefix:PREFIX för att kräva att alla XML-taggar börjar med en specifik sträng. Till exempel tillåter följande flagga endast XML-taggar som börjar med <x::

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

Detta skulle matcha <x:link>klicka här</x:link> men inte <strong>detta</strong>.

Java-format

Sammanfattning:

Java-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.JavaFormatCheck

Kontrollera identifierare:

java_printf_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Android-strängresurser, Mobile Kotlin-resurser, Skapa resurser för flera plattformar

Flagga för att aktivera:

java-printf-format

Flagga för att ignorera:

ignore-java-printf-format

Enkelt exempel på formatsträng:

There are %d apples

Exempel på positionsformatsträng:

Your balance is %1$d %2$s

Förändrat i version 4.14: Detta brukade aktiveras med flaggan java-format, men ändrades för att överensstämma med GNU gettext.

Java Message-format

Sammanfattning:

Java MessageFormat-strängen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.JavaMessageFormatCheck

Kontrollera identifierare:

java_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

java-format, auto-java-messageformat aktiverar endast kontroll om det finns en formatsträng i källan

Flagga för att ignorera:

ignore-java-format

Exempel på positionsformatsträng:

There are {0} apples

Förändrat i version 4.14: Detta brukade aktiveras med flaggan java-messageformat, men ändrades för att överensstämma med GNU gettext.

Denna kontroll validerar att formatsträngen är giltig för klassen Java MessageFormat. Förutom att matcha formatsträngar inom klamrarna, verifierar den även enkla citattecken eftersom de har en speciell betydelse. När du skriver ett enkelt citattecken ska det skrivas som ''. När det inte är parat behandlas det som början på ett citat och visas inte när strängen renderas.

JavaScript-format

Sammanfattning:

JavaScript-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.JavaScriptFormatCheck

Kontrollera identifierare:

javascript_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

javascript-format

Flagga för att ignorera:

ignore-javascript-format

Enkelt exempel på formatsträng:

There are %d apples

Laravel-format

Sammanfattning:

Laravel-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.LaravelFormatCheck

Kontrollera identifierare:

laravel_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

laravel-format

Flagga för att ignorera:

ignore-laravel-format

Exempel på namngiven formatsträng:

The :attribute must be :value

Lua-format

Sammanfattning:

Lua-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.LuaFormatCheck

Kontrollera identifierare:

lua_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

lua-format

Flagga för att ignorera:

ignore-lua-format

Enkelt exempel på formatsträng:

There are %d apples

Object Pascal-format

Sammanfattning:

Object Pascal-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.ObjectPascalFormatCheck

Kontrollera identifierare:

object_pascal_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

object-pascal-format

Flagga för att ignorera:

ignore-object-pascal-format

Enkelt exempel på formatsträng:

There are %d apples

Procentplatshållare

Added in version 4.0.

Sammanfattning:

Procentplatshållarna stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.PercentPlaceholdersCheck

Kontrollera identifierare:

percent_placeholders

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

percent-placeholders

Flagga för att ignorera:

ignore-percent-placeholders

Enkelt exempel på formatsträng:

There are %number% apples

Perl-parentesformat

Sammanfattning:

Perl-formatsträngen för klamrar stämmer inte överens med källkoden.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.PerlBraceFormatCheck

Kontrollera identifierare:

perl_brace_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

perl-brace-format

Flagga för att ignorera:

ignore-perl-brace-format

Exempel på namngiven formatsträng:

There are {number} apples

Perl-format

Sammanfattning:

Perl-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.PerlFormatCheck

Kontrollera identifierare:

perl_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

perl-format

Flagga för att ignorera:

ignore-perl-format

Enkelt exempel på formatsträng:

There are %d apples

Exempel på positionsformatsträng:

Your balance is %1$d %2$s

PHP-format

Sammanfattning:

PHP-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.PHPFormatCheck

Kontrollera identifierare:

php_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

php-format

Flagga för att ignorera:

ignore-php-format

Enkelt exempel på formatsträng:

There are %d apples

Exempel på positionsformatsträng:

Your balance is %1$d %2$s

Python brace-format

Sammanfattning:

Python-formatsträngen för klamrar stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.PythonBraceFormatCheck

Kontrollera identifierare:

python_brace_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

python-brace-format

Flagga för att ignorera:

ignore-python-brace-format

Enkel formatsträng:

There are {} apples

Exempel på namngiven formatsträng:

Your balance is {amount} {currency}

Python-format

Sammanfattning:

Python-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.PythonFormatCheck

Kontrollera identifierare:

python_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

python-format

Flagga för att ignorera:

ignore-python-format

Enkel formatsträng:

There are %d apples

Exempel på namngiven formatsträng:

Your balance is %(amount)d %(currency)s

Qt-format

Sammanfattning:

Qt-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.qt.QtFormatCheck

Kontrollera identifierare:

qt_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

qt-format

Flagga för att ignorera:

ignore-qt-format

Exempel på positionsformatsträng:

There are %1 apples

Qt pluralformat

Sammanfattning:

Qt-pluralformatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.qt.QtPluralCheck

Kontrollera identifierare:

qt_plural_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

qt-plural-format

Flagga för att ignorera:

ignore-qt-plural-format

Exempel på formatsträng i pluralform:

There are %Ln apple(s)

Ruby-format

Sammanfattning:

Ruby-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.ruby.RubyFormatCheck

Kontrollera identifierare:

ruby_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

ruby-format

Flagga för att ignorera:

ignore-ruby-format

Enkelt exempel på formatsträng:

There are %d apples

Exempel på positionsformatsträng:

Your balance is %1$f %2$s

Exempel på namngiven formatsträng:

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

Namngiven mallsträng:

Your balance is %{amount} %{currency}

Schemaformat

Sammanfattning:

Scheme-formatsträngen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.SchemeFormatCheck

Kontrollera identifierare:

scheme_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

scheme-format

Flagga för att ignorera:

ignore-scheme-format

Enkelt exempel på formatsträng:

There are ~d apples

Vue I18n-formatering

Sammanfattning:

Vue I18n-formateringen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.format.VueFormattingCheck

Kontrollera identifierare:

vue_format

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

vue-format

Flagga för att ignorera:

ignore-vue-format

Namngiven formatering:

There are {count} apples

Rails i18n-formatering:

There are %{count} apples

Länkade lokala meddelanden:

@:message.dio @:message.the_world!

Har blivit översatt

Sammanfattning:

Denna sträng har översatts tidigare.

Omfattning:

alla strängar

Kontrollera klass:

weblate.checks.consistency.TranslatedCheck

Kontrollera identifierare:

translated

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-translated

Betyder att en sträng redan har översatts. Detta kan inträffa när översättningarna har återställts i VCS eller på annat sätt gått förlorade.

Inkonsekvent

Sammanfattning:

Strängen har mer än en översättning i det här projektet eller är inte översatt i vissa komponenter.

Omfattning:

alla strängar

Kontrollera klass:

weblate.checks.consistency.ConsistencyCheck

Kontrollera identifierare:

inconsistent

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-inconsistent

Weblate kontrollerar översättningar av samma sträng i alla översättningar inom ett projekt för att hjälpa dig att hålla översättningarna konsekventa.

Kontrollen misslyckas på grund av olika översättningar av en sträng inom ett projekt. Detta kan också leda till inkonsekvenser i de kontroller som visas. Du kan hitta andra översättningar av denna sträng på fliken Andra förekomster.

Denna kontroll gäller alla komponenter i ett projekt som har Tillåt spridning av översättning aktiverat.

Råd

Av prestandaskäl kan det hända att kontrollen inte hittar alla inkonsekvenser, eftersom den begränsar antalet träffar.

Observera

Denna kontroll utlöses även om strängen är översatt i en komponent men inte i en annan. Den kan användas som ett snabbt sätt att manuellt hantera strängar som inte är översatta i vissa komponenter genom att klicka på knappen Använd denna översättning som visas på varje rad i fliken Andra förekomster.

Du kan använda tillägget Automatisk översättning för att automatisera översättningen av nyinlagda strängar som redan är översatta i en annan komponent.

Inkonsekvent reStructuredText

Added in version 5.10.

Sammanfattning:

Inkonsekvent reStructuredText-markup i det översatta meddelandet.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.RSTReferencesCheck

Kontrollera identifierare:

rst-references

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

rst-text

Flagga för att ignorera:

ignore-rst-references

reStructuredText-termreferenser eller andra markeringar stämmer inte överens med källan. De vanligaste orsakerna till dessa fel är:

  • Felaktiga eller saknade bakstreck.

  • Saknade mellanslag eller skiljetecken runt referensen. Inline-blocken i reStructuredText måste separeras med icke-ordtecken.

  • Mellanslag mellan inline-taggen och backticks.

  • Referensnamnet översätts inte.

  • Använda citattecken istället för backticks.

  • Felaktiga ersättningar eller fotnotreferenser.

Använder kashida

Sammanfattning:

De dekorativa kashida-bokstäverna bör inte användas.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.KashidaCheck

Kontrollera identifierare:

kashida

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-kashida

De dekorativa Kashida-bokstäverna bör inte användas i översättningar. Dessa kallas även Tatweel.

Markdown-referenser

Sammanfattning:

Markdown-länkreferenser stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.MarkdownRefLinkCheck

Kontrollera identifierare:

md-reflink

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Markdown-filer

Flagga för att aktivera:

md-text

Flagga för att ignorera:

ignore-md-reflink

Markdown-länkreferenser stämmer inte överens med källan.

Se även

Markdown-länkar

Markdown-syntax

Sammanfattning:

Markdown-syntaxen stämmer inte överens med källan.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.MarkdownSyntaxCheck

Kontrollera identifierare:

md-syntax

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Markdown-filer

Flagga för att aktivera:

md-text

Flagga för att ignorera:

ignore-md-syntax

Markdown-syntax stämmer inte överens med källan

Maximal längd av översättningen

Sammanfattning:

Översättningen får inte överskrida angiven längd.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.MaxLengthCheck

Kontrollera identifierare:

max-length

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

max-length

Flagga för att ignorera:

ignore-max-length

Kontrollerar att översättningarna har en acceptabel längd för att passa det tillgängliga utrymmet. Detta kontrollerar endast längden på översättningens tecken.

Till skillnad från de andra kontrollerna ska flaggan anges som ett nyckel:värde-par, till exempel max-length:100.

Råd

Denna kontroll tittar på antalet tecken, vilket kanske inte är den bästa måttstocken när man använder proportionella teckensnitt för att återge texten. Kontrollen Maximal storlek för översättningen kontrollerar den faktiska återgivningen av texten.

Flaggan replacements: kan också vara användbar för att expandera placerbara objekt innan strängen kontrolleras.

När flaggan xml-text också används ignoreras XML-taggar vid längdberäkningen.

Maximal storlek för översättningen

Sammanfattning:

Översättningens renderade text får inte överskrida angiven storlek.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.render.MaxSizeCheck

Kontrollera identifierare:

max-size

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

max-size

Flagga för att ignorera:

ignore-max-size

Översättningen får inte överskrida angiven storlek. Den renderar texten med radbrytning och kontrollerar om den passar inom angivna gränser.

Denna kontroll kräver en eller två parametrar – maximal bredd och maximalt antal rader. Om antalet rader inte anges, antas texten bestå av en rad.

Du kan också konfigurera använda teckensnitt med font-*-direktiv (se Anpassa beteende med hjälp av flaggor). Till exempel anger följande översättningsflaggor att texten som renderas med ubuntu-teckensnitt storlek 22 ska passa in på två rader och 500 pixlar:

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

Råd

Du kanske vill ställa in font-*-direktiv i Komponentkonfiguration så att samma teckensnitt konfigureras för alla strängar inom en komponent. Du kan åsidosätta dessa värden per sträng om du behöver anpassa dem per sträng.

Flaggan replacements: kan också vara användbar för att expandera placerbara objekt innan strängen kontrolleras.

När flaggan xml-text också används ignoreras XML-taggar vid längdberäkningen.

Felaktig matchning \n

Sammanfattning:

Antalet \n-literaler i översättningen stämmer inte överens med källtexten.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EscapedNewlineCountingCheck

Kontrollera identifierare:

escaped_newline

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-escaped-newline

Vanligtvis är undantagna radbrytningar viktiga för formateringen av programmets utdata. Kontrollen misslyckas om antalet \n-tecken i översättningen inte stämmer överens med källtexten.

Omatchat kolon

Sammanfattning:

Källan och översättningen slutar inte båda med ett kolon.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndColonCheck

Kontrollera identifierare:

end_colon

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-colon

Kontrollerar att kolon replikeras mellan både källan och översättningen. Förekomsten av kolon kontrolleras också för olika språk där de inte hör hemma (kinesiska eller japanska).

Omatchad ellips

Sammanfattning:

Källan och översättningen slutar inte båda med tre punkter (ellips).

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndEllipsisCheck

Kontrollera identifierare:

end_ellipsis

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-ellipsis

Kontrollerar att ellipser i slutet av meningar återges både i källtexten och översättningen. Detta kontrollerar endast riktiga ellipser () och inte tre punkter (...).

En ellipsis ser oftast bättre ut än tre punkter i tryck och låter bättre med text-till-tal.

Omatchat utropstecken

Sammanfattning:

Källan och översättningen slutar inte båda med ett utropstecken.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndExclamationCheck

Kontrollera identifierare:

end_exclamation

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-exclamation

Kontrollerar att utropstecken återges både i källtexten och översättningen. Förekomsten av utropstecken kontrolleras också för olika språk där de inte hör hemma (kinesiska, japanska, koreanska, armeniska, limbu, burmesiska eller nko).

Omatchad slutpunkt

Sammanfattning:

Källan och översättningen slutar inte båda med punkt.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndStopCheck

Kontrollera identifierare:

end_stop

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-stop

Kontrollerar att punkttecken återges både i källtexten och översättningen. Förekomsten av punkttecken kontrolleras för olika språk där de inte hör hemma (kinesiska, japanska, devanagari eller urdu).

Omatchade interrobang

Sammanfattning:

Källan och översättningen slutar inte båda med ett interrobang-uttryck.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndInterrobangCheck

Kontrollera identifierare:

end_interrobang

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-interrobang

Kontrollerar att interrobang-tecken återges både i källtexten och översättningen. Det går att växla mellan ”!?” och ”?!”.

Omatchat frågetecken

Sammanfattning:

Källan och översättningen slutar inte båda med ett frågetecken.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndQuestionCheck

Kontrollera identifierare:

end_question

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-question

Kontrollerar att frågetecken återges både i källtexten och översättningen. Förekomsten av frågetecken kontrolleras även för olika språk där de inte hör hemma (armeniska, arabiska, kinesiska, koreanska, japanska, etiopiska, vai eller koptiska).

Omatchat semikolon

Sammanfattning:

Källan och översättningen slutar inte båda med semikolon.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndSemicolonCheck

Kontrollera identifierare:

end_semicolon

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-semicolon

Kontrollerar att semikolon i slutet av meningar återges både i källtexten och översättningen.

Radbrytningarna matchar inte

Sammanfattning:

Antalet nya rader i översättningen stämmer inte överens med källtexten.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.NewLineCountCheck

Kontrollera identifierare:

newline-count

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-newline-count

Vanligtvis är radbrytningar viktiga för formateringen av programmets utdata. Kontrollen misslyckas om antalet radbrytningar i översättningen inte stämmer överens med källtexten.

Saknade pluralformer

Sammanfattning:

Vissa pluralformer är inte översatta.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.consistency.PluralsCheck

Kontrollera identifierare:

plurals

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-plurals

Kontrollerar att alla pluralformer av en källsträng har översatts. Detaljer om hur varje pluralform används finns i strängdefinitionen.

Om pluralformer inte fylls i kommer det i vissa fall att leda till att ingenting visas när pluralformen används.

Icke-standardtecken i kabyliska

Added in version 5.12.

Sammanfattning:

Använd standardiserade latinska kabyliska tecken (t.ex. ɣ istället för grekiska γ; ɛ istället för ε).

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.KabyleCharactersCheck

Kontrollera identifierare:

kabyle-characters

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-kabyle-characters

Kontrollerar att kabyliska översättningar använder korrekta kabyliska bokstäver och inte liknande grekiska bokstäver, som ofta användes innan kabyliska tecken standardiserades i Unicode.

Platshållare

Sammanfattning:

Översättningen saknar några platshållare.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.placeholders.PlaceholderCheck

Kontrollera identifierare:

placeholders

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

placeholders

Flagga för att ignorera:

ignore-placeholders

Förändrat i version 4.3: Du kan använda reguljära uttryck som platshållare.

Förändrat i version 4.13: Med flaggan case-insensitive är platshållarna inte skiftlägeskänsliga.

Översättningen saknar några platshållare. Dessa extraheras antingen från översättningsfilen eller definieras manuellt med flaggan placeholders. Flera kan separeras med kolon, strängar med mellanslag kan anges inom citationstecken:

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

Om du har någon syntax för platshållare kan du använda ett reguljärt uttryck:

placeholders:r"%[^% ]%"

Du kan också ha platshållare som inte är skiftlägeskänsliga:

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

Förbjuden inledande bokstav

Added in version 5.9.

Sammanfattning:

Strängen börjar med ett otillåtet tecken i CSV.

Omfattning:

ordlista strängar

Kontrollera klass:

weblate.checks.glossary.ProhibitedInitialCharacterCheck

Kontrollera identifierare:

prohibited_initial_character

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-prohibited-initial-character

Ordlistan delas ofta som CSV-fil, och användningen av vissa tecken i början är begränsad i många applikationer, eftersom dessa kan leda till att texten tolkas som ett uttryck. Detta påverkar även Ordlistor i automatiska förslag, där många tjänster använder CSV för att synkronisera ordlistor och avvisar sådana strängar.

Skiljeteckensavstånd

Sammanfattning:

Saknat fast mellanslag före dubbelt skiljetecken.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.PunctuationSpacingCheck

Kontrollera identifierare:

punctuation_spacing

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-punctuation-spacing

Förändrat i version 5.10: Denna kontroll gällde tidigare även bretonska språket, men begränsades till franska.

Kontrollerar att det finns ett icke-brytbart mellanslag före dubbla skiljetecken (utropstecken, frågetecken, semikolon och kolon). Denna regel används endast i några utvalda språk, såsom franska, där mellanslag före dubbla skiljetecken är en typografisk regel.

Reguljärt uttryck

Sammanfattning:

Översättningen stämmer inte överens med det reguljära uttrycket.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.placeholders.RegexCheck

Kontrollera identifierare:

regex

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

regex

Flagga för att ignorera:

ignore-regex

Förändrat i version 5.10: Utökat stöd för avancerade reguljära uttryck, inklusive Unicode-kodpunktsegenskaper.

Översättningen stämmer inte överens med det reguljära uttrycket. Uttrycket extraheras antingen från översättningsfilen eller definieras manuellt med hjälp av flaggan regex:

regex:^foo|bar$

Matchningen stöder även Unicode-kodpunktsegenskaper, inklusive skript och block:

regex:^[-_\p{L}\p{N}\p{sc=Deva}\p{sc=Thai}]{1,32}$

reStructuredText-syntaxfel

Added in version 5.10.

Sammanfattning:

reStructuredText-syntaxfel i översättningen.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.RSTSyntaxCheck

Kontrollera identifierare:

rst-syntax

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

rst-text

Flagga för att ignorera:

ignore-rst-syntax

reStructuredText-syntaxfel i översättningen. Problem att leta efter:

  • Felaktigt matchade stängnings-/öppningstaggar.

  • Saknade mellanslag eller skiljetecken runt referensen. Inline-blocken i reStructuredText måste separeras med icke-ordtecken.

  • Använda citattecken istället för backticks.

Återanvänd översättning

Added in version 4.18.

Sammanfattning:

Olika strängar översätts likadant.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.consistency.ReusedCheck

Kontrollera identifierare:

reused

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-reused

Kontrollera att samma översättning inte används för olika källsträngar. Sådana översättningar kan vara avsiktliga, men kan också förvirra användarna.

Identiska pluralformer

Sammanfattning:

Vissa pluralformer översattes på samma sätt.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.consistency.SamePluralsCheck

Kontrollera identifierare:

same-plurals

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-same-plurals

Kontrollera att det inte finns några pluralformer som förekommer dubbelt i översättningen. I de flesta språk måste de vara olika.

Inledande radbryt

Sammanfattning:

Källan och översättningen börjar inte båda med en ny rad.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.BeginNewlineCheck

Kontrollera identifierare:

begin_newline

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-begin-newline

Nya rader förekommer vanligtvis i källsträngar av goda skäl, eftersom utelämnanden eller tillägg kan leda till formateringsproblem när den översatta texten används.

Inledande mellanslag

Sammanfattning:

Källan och översättningen börjar inte med samma antal mellanslag.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.BeginSpaceCheck

Kontrollera identifierare:

begin_space

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-begin-space

Ett mellanslag i början av en sträng används vanligtvis för indrag i gränssnittet och är därför viktigt att behålla.

Avslutande radbryt

Sammanfattning:

Källan och översättningen slutar inte båda med en ny rad.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndNewlineCheck

Kontrollera identifierare:

end_newline

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-newline

Nya rader förekommer vanligtvis i källsträngar av goda skäl, eftersom utelämnanden eller tillägg kan leda till formateringsproblem när den översatta texten används.

Avslutande mellanslag

Sammanfattning:

Källan och översättningen slutar inte båda med ett mellanslag.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.EndSpaceCheck

Kontrollera identifierare:

end_space

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-end-space

Kontrollerar att efterföljande mellanslag replikeras mellan både källan och översättningen.

Efterföljande mellanslag används vanligtvis för att skapa avstånd mellan närliggande element, så att ta bort det kan förstöra layouten.

Oförändrad översättning

Sammanfattning:

Källan och översättningen är identiska.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.same.SameCheck

Kontrollera identifierare:

same

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-same

Händer om källtexten och motsvarande översättningssträngar är identiska, åtminstone när det gäller en av pluralformerna. Vissa strängar som förekommer i alla språk ignoreras, och olika markeringar tas bort. Detta minskar antalet falska positiva resultat.

Denna kontroll kan hjälpa till att hitta strängar som av misstag inte har översatts.

Standardinställningen för denna kontroll är att utesluta ord från den inbyggda termlistan från kontrollen. Det är ord som ofta inte översätts. Detta är användbart för att undvika falska positiva resultat på korta strängar, som endast består av ett enda ord som är detsamma på flera språk. Denna lista kan inaktiveras genom att lägga till flaggan strict-same till en sträng eller komponent.

Förändrat i version 4.17: Med flaggan check-glossary (se Överensstämmer inte med ordlistan) utesluts de icke översättningsbara termerna i ordlistan från kontrollen.

Osäker HTML

Sammanfattning:

Översättningen använder osäker HTML-markup.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.SafeHTMLCheck

Kontrollera identifierare:

safe-html

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

HTML-filer, Markdown-filer

Flagga för att aktivera:

safe-html

Flagga för att ignorera:

ignore-safe-html

Översättningen använder osäker HTML-markering. Denna kontroll måste aktiveras med flaggan safe-html (se Anpassa beteende med hjälp av flaggor). Det finns också en medföljande autofixer som automatiskt kan rensa markeringen.

Råd

När flaggan md-text också används är länkar i Markdown-stil också tillåtna.

Se även

HTML-kontrollen utförs av biblioteket Ammonia.

URL

Sammanfattning:

Översättningen innehåller ingen URL.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.URLCheck

Kontrollera identifierare:

url

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Flagga för att aktivera:

url

Flagga för att ignorera:

ignore-url

Översättningen innehåller ingen URL. Detta utlöses endast om enheten är markerad som innehållande URL. I så fall måste översättningen vara en giltig URL.

XML-markering

Sammanfattning:

XML-taggarna i översättningen stämmer inte överens med källtexten.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.XMLTagsCheck

Kontrollera identifierare:

xml-tags

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-xml-tags

Detta innebär vanligtvis att det slutliga resultatet kommer att se annorlunda ut. I de flesta fall är detta inte ett önskat resultat av att översättningen ändras, men ibland är det det.

Kontrollerar att XML-taggar replikeras mellan både källan och översättningen.

Kontrollen aktiveras automatiskt för XML-liknande strängar. I vissa fall kan du behöva lägga till flaggan xml-text för att tvinga fram aktiveringen.

Observera

Denna kontroll inaktiveras av flaggan safe-html eftersom HTML-rensningen som utförs av den kan generera HTML-markeringar som inte är giltiga XML.

XML-syntax

Sammanfattning:

Översättningen är inte giltig XML.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.markup.XMLValidityCheck

Kontrollera identifierare:

xml-invalid

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-xml-invalid

XML-markeringen är inte giltig.

Kontrollen aktiveras automatiskt för XML-liknande strängar. I vissa fall kan du behöva lägga till flaggan xml-text för att tvinga fram aktiveringen.

Observera

Denna kontroll inaktiveras av flaggan safe-html eftersom HTML-rensningen som utförs av den kan generera HTML-markeringar som inte är giltiga XML.

Mellanrum utan bredd

Sammanfattning:

Översättningen innehåller extra nollbreddstecken.

Omfattning:

översatta strängar

Kontrollera klass:

weblate.checks.chars.ZeroWidthSpaceCheck

Kontrollera identifierare:

zero-width-space

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-zero-width-space

Tecken med nollbredd (<U+200B>) används för att dela upp meddelanden inom ord (ordbrytning).

Eftersom de vanligtvis infogas av misstag, utlöses denna kontroll när de förekommer i översättningen. Vissa program kan ha problem när detta tecken används.

Källkontroller

Källkontroller kan hjälpa utvecklare att förbättra kvaliteten på källsträngar.

Ellips

Sammanfattning:

Strängen använder tre punkter (...) istället för ett ellipsstecken ().

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.source.EllipsisCheck

Kontrollera identifierare:

ellipsis

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-ellipsis

Detta misslyckas när strängen använder tre punkter (...) när den borde använda ett ellipsistecken ().

Att använda Unicode-tecknet är i de flesta fall det bästa alternativet, eftersom det ser bättre ut och kan låta bättre med text-till-tal-funktioner.

Fluent källkod för inre HTML

Added in version 5.0.

Sammanfattning:

Fluent-källkod ska vara giltig inre HTML.

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.fluent.inner_html.FluentSourceInnerHTMLCheck

Kontrollera identifierare:

fluent-source-inner-html

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Fluent-format

Flagga för att aktivera:

fluent-source-inner-html

Flagga för att ignorera:

ignore-fluent-source-inner-html

Fluent används ofta i sammanhang där värdet för ett meddelande (eller term) är avsett att användas direkt som .innerHTML (istället för .textContent) för vissa HTML-element. Till exempel när man använder Fluent DOM-paketet.

Syftet med denna kontroll är att förutsäga hur värdet kommer att analyseras som inre HTML, förutsatt att det finns en HTML5-kompatibel analysator, för att upptäcka fall där det skulle kunna uppstå en ”oavsiktlig” förlust av strängen, utan att vara för strikt när det gäller tekniska analysfel som inte leder till en förlust av strängen.

Denna kontroll tillämpas på värdet av Fluent Messages eller Terms, men inte på deras attribut. För Messages är Fluent-attributen ofta bara HTML-attributvärden, så de kan vara godtyckliga strängar. För Terms är Fluent-attributen ofta språkgenskaper som endast kan refereras till i selektorerna för Fluent Select Expressions.

I allmänhet förväntas de flesta Fluent-värden inte innehålla någon HTML-markering. Därför förväntar sig eller kräver denna kontroll inte att översättare och utvecklare strikt undviker alla tekniska HTML5-parsningsfel (för att inte tala om XHTML-parsningsfel). Istället vill denna kontroll bara varna dem när de oavsiktligt har öppnat en HTML-tagg eller infogat en teckenreferens.

Dessutom kommer denna kontroll, för Fluent-värden som avsiktligt innehåller HTML-taggar eller teckenreferenser, att verifiera vissa ”god praxis”, såsom matchande slut- och avslutningstaggar, giltiga teckenreferenser och citerade attributvärden. Även om HTML5-specifikationen tekniskt sett tillåter ganska godtyckliga tagg- och attributnamn, kommer denna kontroll att begränsa dem till vissa grundläggande ASCII-värden som bör täcka standard HTML5-elementtaggar och -attribut, samt tillåta vissa anpassade element- eller attributnamn. Detta är delvis för att säkerställa att användaren använder HTML avsiktligt.

Exempel:

Flytande interna HTML-exempel

Värde

Varnar?

Anledning

three<four

ja

Den delen som heter <four skulle försvinna som .innerHTML.

three < four

nej

.innerHTML skulle matcha .textContent.

three <four>

ja

Slutstaggen saknas.

three <four/>

ja

four är inte ett HTML-tomt element, så det bör inte stängas automatiskt.

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

nej

Anpassad elementtagg med en matchande avslutande tagg.

a <img/> b

nej

img är ett HTML-tomt element. Självstängande är tillåtet.

a <br> b

nej

br är ett HTML-tomt element.

<img class=a/>

ja

Attributvärdet är inte angivet inom citationstecken.

<aØ attr=''/>

ja

Icke-ASCII-taggnamn.

kind&ethical

ja

Delarna &eth skulle konverteras till ð.

kind&eth;ical

nej

Karaktärsreferensen verkar vara avsiktlig.

three&lte;four

ja

Delen <e; skulle konverteras till <e;.

three&lf;four

ja

Karaktärsreferensen är ogiltig.

three<{ $val }

ja

Variabeln Fluent kan oavsiktligt bli en tagg.

&l{ $val }

ja

Variabeln Fluent kan oavsiktligt bli en teckenreferens.

Observera

Denna kontroll garanterar inte att den inre HTML-koden är säker eller sanerad, och är inte avsedd att skydda mot skadliga försök att ändra den inre HTML-koden. Dessutom bör man komma ihåg att Fluent-variabler och referenser kan expandera till godtyckliga strängar, så de kan expandera till godtycklig HTML om de inte är undantagna. Som ett undantag kommer ett <- eller &-tecken före en Fluent-referens att utlösa denna kontroll, eftersom även ett undantaget värde kan leda till oväntade resultat.

Observera

Fluent DOM-paketet har ytterligare begränsningar, såsom tillåtna taggar och attribut, som denna kontroll inte kommer att tillämpa.

Fluent källsyntax

Added in version 5.0.

Sammanfattning:

Fluent-syntaxfel i källan.

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.fluent.syntax.FluentSourceSyntaxCheck

Kontrollera identifierare:

fluent-source-syntax

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

Fluent-format

Flagga för att aktivera:

fluent-source-syntax

Flagga för att ignorera:

ignore-fluent-source-syntax

I Weblate använder Fluent-strängar Fluent-syntax för referenser och variabler, men också för mer komplexa funktioner som att definiera attribut och selektorsvarianter, inklusive pluralformer. Denna kontroll säkerställer att syntaxen som används i källkoden är giltig för Fluent.

ICU MessageFormat syntax

Added in version 4.9.

Sammanfattning:

Syntaxfel i ICU MessageFormat-strängar.

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.icu.ICUSourceCheck

Kontrollera identifierare:

icu_message_format_syntax

Utlösare:

Denna kontroll måste aktiveras med hjälp av en flagga.

Filformat som automatiskt aktiverar denna kontroll:

ARB-fil, Format.JS JSON-fil

Flagga för att aktivera:

icu-message-format

Flagga för att ignorera:

ignore-icu-message-format

Sedan länge oöversatt

Added in version 4.1.

Sammanfattning:

Strängen har inte översatts på länge.

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.source.LongUntranslatedCheck

Kontrollera identifierare:

long_untranslated

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-long-untranslated

Om strängen inte har översatts på länge kan det tyda på ett problem i källsträngen som gör den svår att översätta.

Flera fallerande kontroller

Sammanfattning:

Översättningarna till flera språk har felaktiga kontroller.

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.source.MultipleFailingCheck

Kontrollera identifierare:

multiple_failures

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-multiple-failures

Många översättningar av denna sträng har underkänts i kvalitetskontroller. Detta är vanligtvis ett tecken på att något kan göras för att förbättra källsträngen.

Denna kontroll misslyckas ofta på grund av att en punkt saknas i slutet av en mening eller liknande mindre problem som översättare tenderar att åtgärda i översättningen, medan det skulle vara bättre att åtgärda det i källsträngen.

Flera namnlösa variabler

Added in version 4.1.

Sammanfattning:

Det finns flera namnlösa variabler i strängen, vilket gör det omöjligt för översättare att ordna om dem.

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.format.MultipleUnnamedFormatsCheck

Kontrollera identifierare:

unnamed_format

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-unnamed-format

Det finns flera namnlösa variabler i strängen, vilket gör det omöjligt för översättare att ordna om dem.

Överväg att använda namngivna variabler istället så att översättarna kan ordna om dem.

Opluraliserad

Sammanfattning:

Strängen används i plural, men utan att använda pluralformer.

Omfattning:

källsträngar

Kontrollera klass:

weblate.checks.source.OptionalPluralCheck

Kontrollera identifierare:

optional_plural

Utlösare:

Denna kontroll är alltid aktiverad men kan ignoreras med hjälp av en flagga.

Flagga för att ignorera:

ignore-optional-plural

Strängen används som plural, men använder inte pluralformer. Om ditt översättningssystem stöder detta bör du använda den pluralmedvetna varianten av den.

Med Gettext i Python kan det till exempel se ut så här:

from gettext import ngettext

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

Placerbara objekt i automatiska förslag

Kontroller av placerbara objekt visar information om aktuella placerbara objekt, och detta kan användas för att instruera automatiska förslagsmotorer att behålla dem. Stödet för detta varierar mellan olika tjänster, och i många fall finns det inget sätt att tvinga fram att placerbara objekt behålls intakta.