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:
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
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
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:
- 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.
Se även
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:
- 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:
- 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:
- 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:
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:
- 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
Se även
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:
- Flagga för att aktivera:
es-format- Flagga för att ignorera:
ignore-es-format- Interpolationsexempel:
There are ${number} apples
Se även
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:
- 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:
- 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
|
Aktivera stöd för enkla XML-taggar. Som standard analyseras XML-taggar löst. Enstaka |
|
Aktivera stöd för strikta XML-taggar. Alla |
|
Inaktivera markering av platshållare i redigeraren. |
|
Inaktivera kravet på att undermeddelanden måste ha en |
|
Hoppa över kontrollen av att delmeddelandeselektorer matchar källan. |
|
Hoppa över kontrollen av att platshållartyperna stämmer överens med källan. |
|
Hoppa över kontrollen av att det inte finns några platshållare som inte fanns i källsträngen. |
|
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-messageformataktiverar 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.
Se även
Java MessageFormat <https://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html>_
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
Se även
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)
Se även
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.
Se även
Markdown-länkar¶
- Sammanfattning:
Markdown-länkar stämmer inte överens med källan.
- Omfattning:
översatta strängar
- Kontrollera klass:
weblate.checks.markup.MarkdownLinkCheck- Kontrollera identifierare:
md-link- Utlösare:
Denna kontroll måste aktiveras med hjälp av en flagga.
- Filformat som automatiskt aktiverar denna kontroll:
- Flagga för att aktivera:
md-text- Flagga för att ignorera:
ignore-md-link
Markdown-länkar stämmer inte överens med källan.
Se även
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:
- 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-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:
- Flagga för att aktivera:
md-text- Flagga för att ignorera:
ignore-md-syntax
Markdown-syntax stämmer inte överens med källan
Se även
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).
Se även
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.
Se även
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).
Se även
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).
Se även
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 ”?!”.
Se även
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).
Se även
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.
Se även
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}$
Se även
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.
Se även
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.
Se även
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:
- 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.
Se även
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:
- 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:
Värde |
Varnar? |
Anledning |
|---|---|---|
|
ja |
Den delen som heter |
|
nej |
|
|
ja |
Slutstaggen saknas. |
|
ja |
|
|
nej |
Anpassad elementtagg med en matchande avslutande tagg. |
|
nej |
|
|
nej |
|
|
ja |
Attributvärdet är inte angivet inom citationstecken. |
|
ja |
Icke-ASCII-taggnamn. |
|
ja |
Delarna |
|
nej |
Karaktärsreferensen verkar vara avsiktlig. |
|
ja |
Delen |
|
ja |
Karaktärsreferensen är ogiltig. |
|
ja |
Variabeln Fluent kan oavsiktligt bli en tagg. |
|
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:
- 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:
- Flagga för att aktivera:
icu-message-format- Flagga för att ignorera:
ignore-icu-message-format
Se även
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.
Se även