Kontroly a opravy¶
Vlastné automatické opravy¶
Môžete tiež implementovať vlastnú automatickú opravu navyše k štandardným a zahrnúť ich do AUTOFIX_LIST.
Automatické opravy sú mocné, ale môžu tiež spôsobiť škody; buďte opatrní pri ich písaní.
Napríklad nasledujúca automatická oprava by nahradila každý výskyt reťazca foo v preklade reťazcom bar:
from __future__ import annotations
from typing import TYPE_CHECKING
from weblate.trans.autofixes.base import AutoFix
if TYPE_CHECKING:
from weblate.trans.models import Unit
class ReplaceFooWithBar(AutoFix):
"""Replace foo with bar."""
# Might be localized using gettext_lazy
name = "Foobar"
def fix_single_target(
self, target: str, source: str, unit: Unit
) -> tuple[str, bool]:
if "foo" in target:
return target.replace("foo", "bar"), True
return target, False
Na inštaláciu vlastných kontrol uveďte úplnú cestu k triede v Pythone v AUTOFIX_LIST, pozri Custom quality checks, add-ons, translation services and auto-fixes.
Prispôsobenie správania pomocou príznakov¶
Správanie Weblate môžete jemne doladiť pomocou príznakov. Príznaky poskytujú vizuálnu spätnú väzbu prekladateľom a pomáhajú im zlepšiť ich preklad. Príznaky sa spájajú z nasledujúcich zdrojov:
Dodatočné príznaky zdrojového reťazca:
Dodatočné informácie o zdrojových reťazcoch opisuje manuálne úpravy.
Hromadná úprava sa dá použiť na hromadné aplikovanie príznakov.
Doplnok Hromadná úprava môže aplikovať príznaky automaticky.
Príznaky pre každý reťazec extrahované z formátu súboru, pozri Formáty lokalizačných súborov.
Príznaky prekladu (momentálne iba príznak
read-onlypre dvojjazyčný zdrojový reťazec alebo keď je vypnutá úprava jednojazyčnej šablóny).Príznaky špecifické pre formát súboru.
Príznaky sú oddelené čiarkami; ak majú parametre, sú oddelené dvojbodkou. Môžete použiť úvodzovky na zahrnutie medzier alebo špeciálnych znakov v reťazci. Napríklad:
placeholders:"special:value":"other value", regex:.*
Akceptujú sa jednoduché aj dvojité úvodzovky, špeciálne znaky sa escapujú pomocou spätnej lomky:
placeholders:"quoted \"string\"":'single \'quoted\''
placeholders:r"^#*"
Na overenie, že prekladatelia nemenia nadpis dokumentu Markdown. Neúspešná kontrola sa spustí, ak sa reťazec ### Index preloží ako # Indice.
placeholders:r"\]\([^h].*?\)"
Na zabezpečenie, že interné odkazy sa neprekladajú (t.j. [test](../checks) sa nestane [test](../chequeos).
Príznaky definované na vyššej úrovni možno zahodiť pomocou syntaxe discard:NAME. Napríklad, ak je komponent nakonfigurovaný na safe-html, môžete pridať discard:safe-html k príznakom reťazca, aby ste ho pre tento konkrétny reťazec preskočili. Prekladové príznaky nemôžu zrušiť explicitný príznak read-only nastavený na zdrojovom reťazci.
Tu je zoznam momentálne akceptovaných príznakov:
read-onlyReťazec je iba na čítanie a nemal by sa upravovať vo Weblate, pozrite Reťazce iba na čítanie.
terminologyPoužíva sa v Slovník. Kopíruje reťazec do všetkých jazykov slovníka, aby sa mohol konzistentne používať vo všetkých prekladoch. Tiež užitočné v kombinácii s
read-only, napríklad pri názvoch produktov.priority:NPriorita reťazca. Reťazce s vyššou prioritou sa prezentujú ako prvé na preklad. Predvolená priorita je 100, čím vyššiu prioritu má reťazec, tým skôr je ponúknutý na preklad.
xml-textSpracovávať text ako dokument XML, ovplyvňuje Syntax XML a Značkovanie XML.
font-family:NAMEDefinujte font-family pre kontroly vykresľovania, pozri Správa písiem.
font-weight:WEIGHTDefinujte font-weight pre kontroly vykresľovania, pozri Správa písiem.
font-size:SIZEDefinovať font-size pre kontroly vykresľovania, pozrite Správa písiem.
font-spacing:SPACINGDefinujte letter spacing pre kontroly vykresľovania, pozri Správa písiem.
font-monospaceZobrazovať reťazec v editore prekladu pomocou písma s pevnou šírkou. Na rozdiel od príznakov
font-family/font-size/font-weight/font-spacingtoto neovplyvňuje kontroly vykresľovania a nikdy nenačítava nahrané písmo; iba prepne editor na vstavaný zásobník písma s pevnou šírkou prehliadača.icu-flags:FLAGSDefinovať príznaky na prispôsobenie správania kontroly kvality ICU MessageFormat.
icu-tag-prefix:PREFIXNastaviť požadovaný prefix pre značky XML pre kontrolu kvality ICU MessageFormat.
placeholders:NAME:NAME2:...Očakávané reťazce zástupných symbolov v preklade, pozrite Zástupné symboly.
replacements:FROM:TO:FROM2:TO2...Nahrádzania na vykonanie pri kontrole výsledných textových parametrov (napríklad v Maximálna veľkosť prekladu alebo Maximálna dĺžka prekladu). Typickým prípadom použitia je rozšírenie umiestniteľných prvkov, aby sa zabezpečilo, že text zapadne aj pri dlhých hodnotách, napríklad:
replacements:%s:"John Doe".variants:SOURCEOznačiť tento reťazec ako variant reťazca so zodpovedajúcim zdrojom. Pozrite Varianty reťazcov.
regex:REGEXRegulárny výraz na zhodu s prekladom, pozrite Regulárny výraz.
discard:NAMEZahodí príznak definovaný na vyššej úrovni.
forbiddenOznačuje zakázaný preklad v slovníku, pozrite Zakázané preklady.
strict-sameSpôsobiť, že Nezmenený preklad nebude používať vstavané výnimky slov.
strict-formatSpôsobiť, že kontroly formátu vynútia používanie formátu aj pre tvary množného čísla s jednou hodnotou, pozrite Formátované reťazce.
case-insensitiveUpraviť správanie kontrol tak, aby nerozlišovali veľkosť písmen. Momentálne ovplyvňuje iba kontrolu kvality Zástupné symboly.
acceleratorUrčite jediný interpunkčný znak akcelerátora, napríklad
accelerator:&,accelerator:_aleboaccelerator:~. Zapína kontrolu kvality Kľúč akcelerátora.asciidoc-textSpracovávať text ako dokument AsciiDoc, ovplyvňuje Nezmenený preklad. Zapína kontrolu kvality Značkovanie AsciiDoc.
bbcode-textSpracovávať text ako dokument Bulletin Board Code (BBCode), ovplyvňuje Nezmenený preklad. Zapína kontrolu kvality Značkovanie BBCode.
check-glossaryZapína kontrolu kvality Nenasleduje slovník.
fluent-partsZapína kontrolu kvality Časti Fluent.
fluent-referencesZapína kontrolu kvality Referencie Fluent.
fluent-target-inner-htmlZapína kontrolu kvality Vnútorné HTML prekladu Fluent.
fluent-target-syntaxZapína kontrolu kvality Syntax prekladu Fluent.
angularjs-formatZapína kontrolu kvality Reťazec interpolácie AngularJS.
automattic-components-formatZapína kontrolu kvality Formátovanie komponentov Automattic.
c-formatZapína kontrolu kvality Formát C.
c-sharp-formatZapína kontrolu kvality Formát C#.
csharp-formatZapína kontrolu kvality Formát C#.
es-formatZapína kontrolu kvality Šablónové literály ECMAScript.
i18next-interpolationZapína kontrolu kvality Interpolácia i18next.
icu-message-formatZapína kontroly kvality ICU MessageFormat a Syntax ICU MessageFormat.
java-printf-formatZapína kontrolu kvality Formát Java.
java-formatZapína kontrolu kvality Java MessageFormat.
auto-java-messageformatSpracovávať text ako podmienený Java MessageFormat, zapína Java MessageFormat iba vtedy, keď zdroj obsahuje zástupné symboly Java MessageFormat. Zapína kontrolu kvality Java MessageFormat.
javascript-formatZapína kontrolu kvality Formát JavaScript.
laravel-formatZapína kontrolu kvality Formát Laravel.
lua-formatZapína kontrolu kvality Formát Lua.
object-pascal-formatZapína kontrolu kvality Formát Object Pascal.
objc-formatZapína kontrolu kvality Formát Objective-C.
percent-placeholdersZapína kontrolu kvality Percentuálne zástupné symboly.
perl-brace-formatZapína kontrolu kvality Formát zátvoriek Perl.
perl-formatZapína kontrolu kvality Formát Perl.
php-formatZapína kontrolu kvality Formát PHP.
python-brace-formatZapína kontrolu kvality Formát zátvoriek Python.
python-formatZapína kontrolu kvality Formát Python.
qt-formatZapína kontrolu kvality Formát Qt.
qt-plural-formatZapína kontrolu kvality Formát množného čísla Qt.
ruby-formatZapína kontrolu kvality Formát Ruby.
scheme-formatZapína kontrolu kvality Formát Scheme.
vue-formatZapína kontrolu kvality Formátovanie Vue I18n.
rst-textSpracovávať text ako dokument reStructuredText, ovplyvňuje Nezmenený preklad. Zapína kontroly kvality Nekonzistentné reStructuredText a Chyba syntaxe reStructuredText.
md-textSpracovávať text ako dokument Markdown a poskytovať zvýraznenie syntaxe Markdown v oblasti textu prekladu. Zapína kontroly kvality Odkazy Markdown, Referencie Markdown a Syntax Markdown.
max-lengthZapína kontrolu kvality Maximálna dĺžka prekladu.
max-linesZapína kontrolu kvality Maximálny počet riadkov.
max-sizeZapína kontrolu kvality Maximálna veľkosť prekladu.
placeholdersZapína kontrolu kvality Zástupné symboly.
regexZapína kontrolu kvality Regulárny výraz.
safe-mdxZapína kontrolu kvality Bezpečný MDX.
safe-htmlZapína kontrolu kvality Nebezpečné HTML.
auto-safe-htmlSpracovávať text ako podmienené HTML, zapína Nebezpečné HTML iba pre prostý text alebo zdrojové reťazce, ktoré obsahujú štandardné značky HTML alebo platné vlastné prvky. Toto je užitočné pre rozšírené varianty Markdown, ako je MDX, kde syntax s lomenými zátvorkami nemusí byť HTML. Zapína kontrolu kvality Nebezpečné HTML.
urlReťazec by mal pozostávať iba z URL. Zapína kontrolu kvality URL.
fluent-source-inner-htmlZapína kontrolu kvality Vnútorné HTML zdroja Fluent.
fluent-source-syntaxZapína kontrolu kvality Syntax zdroja Fluent.
ignore-all-checksIgnorovať všetky kontroly kvality.
ignore-acceleratorPreskočiť kontrolu kvality Kľúč akcelerátora.
ignore-ai-accuracyPreskočiť kontrolu kvality AI: Presnosť.
ignore-ai-fluencyPreskočiť kontrolu kvality AI: Plynulosť.
ignore-ai-formattingPreskočiť kontrolu kvality AI: Formátovanie.
ignore-ai-stylePreskočiť kontrolu kvality AI: Štýl.
ignore-ai-terminologyPreskočiť kontrolu kvality AI: Terminológia.
ignore-asciidoc-markupPreskočiť kontrolu kvality Značkovanie AsciiDoc.
ignore-bbcodePreskočiť kontrolu kvality Značkovanie BBCode.
ignore-xml-chars-around-tagsPreskočiť kontrolu kvality Znaky okolo značiek XML.
ignore-duplicatePreskočiť kontrolu kvality Po sebe idúce duplicitné slová.
ignore-check-glossaryPreskočiť kontrolu kvality Nenasleduje slovník.
ignore-double-spacePreskočiť kontrolu kvality Dvojitá medzera.
ignore-fluent-partsPreskočiť kontrolu kvality Časti Fluent.
ignore-fluent-referencesPreskočiť kontrolu kvality Referencie Fluent.
ignore-fluent-target-inner-htmlPreskočiť kontrolu kvality Vnútorné HTML prekladu Fluent.
ignore-fluent-target-syntaxPreskočiť kontrolu kvality Syntax prekladu Fluent.
ignore-angularjs-formatPreskočiť kontrolu kvality Reťazec interpolácie AngularJS.
ignore-automattic-components-formatPreskočiť kontrolu kvality Formátovanie komponentov Automattic.
ignore-c-formatPreskočiť kontrolu kvality Formát C.
ignore-c-sharp-formatPreskočiť kontrolu kvality Formát C#.
ignore-es-formatPreskočiť kontrolu kvality Šablónové literály ECMAScript.
ignore-i18next-interpolationPreskočiť kontrolu kvality Interpolácia i18next.
ignore-icu-message-formatPreskočiť kontrolu kvality ICU MessageFormat.
ignore-java-printf-formatPreskočiť kontrolu kvality Formát Java.
ignore-java-formatPreskočiť kontrolu kvality Java MessageFormat.
ignore-javascript-formatPreskočiť kontrolu kvality Formát JavaScript.
ignore-laravel-formatPreskočiť kontrolu kvality Formát Laravel.
ignore-lua-formatPreskočiť kontrolu kvality Formát Lua.
ignore-object-pascal-formatPreskočiť kontrolu kvality Formát Object Pascal.
ignore-objc-formatPreskočiť kontrolu kvality Formát Objective-C.
ignore-percent-placeholdersPreskočiť kontrolu kvality Percentuálne zástupné symboly.
ignore-perl-brace-formatPreskočiť kontrolu kvality Formát zátvoriek Perl.
ignore-perl-formatPreskočiť kontrolu kvality Formát Perl.
ignore-php-formatPreskočiť kontrolu kvality Formát PHP.
ignore-python-brace-formatPreskočiť kontrolu kvality Formát zátvoriek Python.
ignore-python-formatPreskočiť kontrolu kvality Formát Python.
ignore-qt-formatPreskočiť kontrolu kvality Formát Qt.
ignore-qt-plural-formatPreskočiť kontrolu kvality Formát množného čísla Qt.
ignore-ruby-formatPreskočiť kontrolu kvality Formát Ruby.
ignore-scheme-formatPreskočiť kontrolu kvality Formát Scheme.
ignore-vue-formatPreskočiť kontrolu kvality Formátovanie Vue I18n.
ignore-translatedPreskočiť kontrolu kvality Bolo preložené.
ignore-inconsistentPreskočiť kontrolu kvality Nekonzistentné.
ignore-rst-referencesPreskočiť kontrolu kvality Nekonzistentné reStructuredText.
ignore-kashidaPreskočiť kontrolu kvality Použitý znak Kashida.
ignore-md-linkPreskočiť kontrolu kvality Odkazy Markdown.
ignore-md-reflinkPreskočiť kontrolu kvality Referencie Markdown.
ignore-md-syntaxPreskočiť kontrolu kvality Syntax Markdown.
ignore-max-lengthPreskočiť kontrolu kvality Maximálna dĺžka prekladu.
ignore-max-linesPreskočiť kontrolu kvality Maximálny počet riadkov.
ignore-max-sizePreskočiť kontrolu kvality Maximálna veľkosť prekladu.
ignore-escaped-newlinePreskočiť kontrolu kvality Nezhodné \n.
ignore-end-colonPreskočiť kontrolu kvality Nesúlad dvojbodky.
ignore-end-ellipsisPreskočiť kontrolu kvality Nesúlad trojbodky.
ignore-end-exclamationPreskočiť kontrolu kvality Nesúlad výkričníka.
ignore-end-stopPreskočiť kontrolu kvality Nesúlad bodky.
ignore-end-interrobangPreskočiť kontrolu kvality Nesúlad interrobangu.
ignore-end-questionPreskočiť kontrolu kvality Nesúlad otáznika.
ignore-end-semicolonPreskočiť kontrolu kvality Nesúlad bodkočiarky.
ignore-newline-countPreskočiť kontrolu kvality Nesúlad zalomenia riadkov.
ignore-pluralsPreskočiť kontrolu kvality Chýbajúce množné čísla.
ignore-multiple-capitalPreskočiť kontrolu kvality Viacero veľkých písmen.
ignore-kabyle-charactersPreskočiť kontrolu kvality Neštandardné znaky v kabylčine.
ignore-placeholdersPreskočiť kontrolu kvality Zástupné symboly.
ignore-prohibited-initial-characterPreskočiť kontrolu kvality Zakázaný počiatočný znak.
ignore-punctuation-spacingPreskočiť kontrolu kvality Rozostup interpunkcie.
ignore-regexPreskočiť kontrolu kvality Regulárny výraz.
ignore-rst-syntaxPreskočiť kontrolu kvality Chyba syntaxe reStructuredText.
ignore-reusedPreskočiť kontrolu kvality Opakovane použitý preklad.
ignore-safe-mdxPreskočiť kontrolu kvality Bezpečný MDX.
ignore-same-pluralsPreskočiť kontrolu kvality Rovnaké množné čísla.
ignore-begin-newlinePreskočiť kontrolu kvality Počiatočný nový riadok.
ignore-begin-spacePreskočiť kontrolu kvality Počiatočné medzery.
ignore-end-newlinePreskočiť kontrolu kvality Koncový nový riadok.
ignore-end-spacePreskočiť kontrolu kvality Koncová medzera.
ignore-samePreskočiť kontrolu kvality Nezmenený preklad.
ignore-safe-htmlPreskočiť kontrolu kvality Nebezpečné HTML.
ignore-urlPreskočiť kontrolu kvality URL.
ignore-xml-tagsPreskočiť kontrolu kvality Značkovanie XML.
ignore-xml-invalidPreskočiť kontrolu kvality Syntax XML.
ignore-zero-width-spacePreskočiť kontrolu kvality Medzera nulovej šírky.
ignore-ellipsisPreskočiť kontrolu kvality Trojbodka.
ignore-fluent-source-inner-htmlPreskočiť kontrolu kvality Vnútorné HTML zdroja Fluent.
ignore-fluent-source-syntaxPreskočiť kontrolu kvality Syntax zdroja Fluent.
ignore-icu-message-formatPreskočiť kontrolu kvality Syntax ICU MessageFormat.
ignore-long-untranslatedPreskočiť kontrolu kvality Dlhodobo nepreložený.
ignore-multiple-failuresPreskočiť kontrolu kvality Viacero zlyhávajúcich kontrol.
ignore-unnamed-formatPreskočiť kontrolu kvality Viacero nepomenovaných premenných.
ignore-source-max-lengthPreskočiť kontrolu kvality Dĺžka zdrojového reťazca.
ignore-optional-pluralPreskočiť kontrolu kvality Nemnožné číslo.
Poznámka
Všeobecne sa pravidlo nazýva ignore-* pre akúkoľvek kontrolu, používajúc jej identifikátor, takže to môžete použiť aj pre vaše vlastné kontroly.
Tieto príznaky sú chápané v nastaveniach Konfigurácia komponentu, v nastaveniach pre každý zdrojový reťazec a v samotnom prekladovom súbore (napríklad v GNU gettext).
Príznaky založené na umiestnení¶
Niektoré príznaky sa pridávajú k reťazcom predvolene, na základe ich umiestnenia. To znamená, že určité kontroly sa automaticky povolia v závislosti od toho, kde sa reťazec používa.
rst-text: Tento príznak sa automaticky pridáva k reťazcom v súboroch reStructuredText, ak je prípona umiestnenia.rst.md-text: Tento príznak sa automaticky pridáva k reťazcom v súboroch Markdown a MDX, ak je prípona umiestnenia.md,.markdownalebo.mdx.
Vynucovanie kontrol¶
Vynútené kontroly nemožno zamietnuť a označia reťazec ako Potrebuje úpravu (pozri Stavy prekladu). Toto bráni prekladateľom skrývať takéto kontroly.
Rada
Zapnutie vynucovania kontrol ho nezapne automaticky. Niektoré kontroly je potrebné zapnúť pridaním zodpovedajúceho príznaku k príznakom reťazca alebo komponentu.
Najlepšie sa to používa s kontrolami, ktoré môžu spôsobiť vážne problémy, ako sú kontroly pre Formátované reťazce. Použitie pre štýlové kontroly ako Nezmenený preklad sa neodporúča, pretože zamietnutie je niekedy rozumný prístup v týchto prípadoch.
Filter kvality prekladu sa potom dá použiť na vylúčenie reťazcov potrebujúcich úpravu zo zapísania do správy verzií.
Správa písiem¶
Rada
Písma nahrané do Weblate sa používajú výlučne na účely kontroly Maximálna veľkosť prekladu, nemajú vplyv na používateľské rozhranie Weblate.
Kontrola Maximálna veľkosť prekladu používaná na výpočet rozmerov vykresleného textu potrebuje, aby bolo písmo načítané do Weblate a vybrané pomocou prekladového príznaku (pozri Prispôsobenie správania pomocou príznakov).
Nástroj na správu písiem Weblate v Písma pod ponukou Operácie vášho prekladového projektu poskytuje rozhranie na nahrávanie a správu písiem. Je možné nahrať písma TrueType alebo OpenType, nastaviť skupiny písiem a použiť ich v kontrole.
Skupiny písiem vám umožňujú definovať rôzne písma pre rôzne jazyky, čo je typicky potrebné pre nelatinské jazyky:
Skupiny písiem sú identifikované podľa názvu, ktorý nemôže obsahovať medzery alebo špeciálne znaky, aby sa dali ľahko použiť v definícii kontroly:
Rodina písiem a štýl sú automaticky rozpoznané po ich nahraní:
Môžete mať načítaných niekoľko písiem do Weblate:
Na použitie písiem na kontrolu dĺžky reťazca mu odovzdajte vhodné príznaky (pozri Prispôsobenie správania pomocou príznakov). Pravdepodobne budete potrebovať nasledujúce:
max-size:500/max-size:300:5Definuje maximálnu šírku v pixeloch a voliteľne maximálny počet riadkov. Zalamovanie slov sa aplikuje, keď je nakonfigurovaný viac ako jeden riadok.
font-family:ubuntuDefinuje skupinu písiem na použitie špecifikovaním jej identifikátora.
font-size:22Definuje veľkosť písma v pixeloch.
Písanie vlastných kontrol¶
Je vstavaný široký rozsah kontrol kvality (pozri Kontroly kvality), hoci nemusia pokrývať všetko, čo chcete kontrolovať. Zoznam vykonávaných kontrol je možné upraviť pomocou CHECK_LIST a môžete tiež pridať vlastné kontroly.
Podtrieda weblate.checks.Check
Nastavte niekoľko atribútov.
Implementujte buď metódu
check(ak chcete riešiť množné čísla vo svojom kóde) alebo metóducheck_single(ktorá to urobí za vás).
Niektoré príklady:
Na inštaláciu vlastných kontrol uveďte úplnú cestu k triede v Pythone v CHECK_LIST, pozri Custom quality checks, add-ons, translation services and auto-fixes.
Kontroly deklarujúce propagates = "source" alebo propagates = "target" aktualizujú súvisiace reťazce na pozadí po uložení. Môžu prepísať evaluate_propagated(units) na hromadné vyhodnotenie zodpovedajúcej skupiny. Vráťte pár (unit, failed) pre každý reťazec, vrátane prechádzajúcich reťazcov, aby sa mohli odstrániť zastarané varovania. Bez tohto prepísania Weblate vyhodnocuje kontrolu na každom zodpovedajúcom reťazci v chunkoch.
Kontrola, že prekladový text neobsahuje „foo“¶
Toto je celkom jednoduchá kontrola, ktorá len kontroluje, či v preklade nechýba reťazec „foo“.
"""Simple quality check example."""
from __future__ import annotations
from typing import TYPE_CHECKING
from django.utils.translation import gettext_lazy
from weblate.checks.base import TargetCheck
if TYPE_CHECKING:
from weblate.trans.models import Unit
class FooCheck(TargetCheck):
# Used as identifier for check, should be unique
# Has to be shorter than 50 characters
check_id = "foo"
# Short name used to display failing check
# Might be localized using gettext_lazy
name = "Foo check"
# Description for failing check
description = gettext_lazy("Your translation is foo")
# Real check code
def check_single(self, source: str, target: str, unit: Unit) -> bool:
return "foo" in target
Kontrola, že plurály v českom prekladovom texte sa líšia¶
Kontrola pomocou informácií o jazyku na overenie, že dve formy množného čísla v češtine nie sú rovnaké.
"""Quality check example for Czech plurals."""
from __future__ import annotations
from django.utils.translation import gettext_lazy
from weblate.checks.base import TargetCheck
class PluralCzechCheck(TargetCheck):
# Used as identifier for check, should be unique
# Has to be shorter than 50 characters
check_id = "foo"
# Short name used to display failing check
# Might be localized using gettext_lazy
name = "Foo check"
# Description for failing check
description = gettext_lazy("Your translation is foo")
# Real check code
def check_target_unit(self, sources, targets, unit) -> bool:
if unit.translation.language.is_base({"cs"}):
return targets[1] == targets[2]
return False
def check_single(self, source, target, unit) -> bool:
"""We don't check target strings here."""
return False