Ellenőrzések és javítások¶
Egyéni automatikus javítások¶
A meglévő automatikus javítások mellett sajátot is készíthet, és hozzáadhatja az AUTOFIX_LIST beállításhoz.
Az automatikus javítások hatékonyak, de károkat is okozhatnak, ezért körültekintően kell őket megírni.
Például az alábbi automatikus javítás minden fordításban kicseréli a foo szöveget bar szövegre:
from weblate.trans.autofixes.base import AutoFix
class ReplaceFooWithBar(AutoFix):
"""Replace foo with bar."""
# Might be localized using gettext_lazy
name = "Foobar"
def fix_single_target(self, target, source, unit):
if "foo" in target:
return target.replace("foo", "bar"), True
return target, False
Egyedi ellenőrzések telepítéséhez adja meg a Python osztály teljes elérési útját az AUTOFIX_LIST beállításban, részletek: Custom quality checks, add-ons, automatic suggestions and auto-fixes.
Viselkedés testreszabása jelzők használatával¶
A Weblate viselkedése finomhangolható jelzők segítségével. A jelzők vizuális visszajelzést adnak a fordítóknak, és segítik őket a fordítások minőségének javításában. A jelzők az alábbi forrásokból származhatnak:
Forrásszöveghez tartozó további jelzők:
További információk a forrásszövegekről részletezi a kézi szerkesztést.
Tömeges szerkesztés segítségével tömegesen alkalmazhatók jelzők.
A Tömeges szerkesztés kiegészítő automatikusan is alkalmazhat jelzőket.
Egyes szövegekhez tartozó jelzők, amelyeket a fájlformátumból nyer ki a rendszer, lásd: Fordítási fájlformátumok.
Translation flags (currently only
read-onlyflag for bilingual source string or when monolingual template editing is turned off).Fájlformátum-specifikus jelzők.
A jelzők vesszővel elválasztva jelennek meg; ha paraméterezettek, akkor kettősponttal választjuk el őket. Szóközök vagy speciális karakterek megadásához idézőjeleket lehet használni. Például:
placeholders:"special:value":"other value", regex:.*
Mind az egyszeres (» «), mind a dupla (” „) idézőjelek elfogadottak, a speciális karaktereket visszaperrel kell kimenekíteni:
placeholders:"quoted \"string\"":'single \'quoted\''
placeholders:r"^#*"
Például, hogy ellenőrizzük, a fordítók nem módosították-e egy Markdown-dokumentum fejlécét. Sikertelen ellenőrzés történik, ha a ### Index szöveget például # Indice fordítják.
placeholders:r"\]\([^h].*?\)"
Vagy például annak biztosítására, hogy belső hivatkozások ne legyenek lefordítva (tehát a [test](../checks) ne váljon [test](../chequeos) alakra).
A magasabb szinten definiált jelzők felülírhatók a discard:NAME szintaxis használatával. Például, ha egy összetevőn a safe-html jelző aktív, akkor a szövegspecifikus jelzőkben discard:safe-html megadásával kihagyható az adott szövegre vonatkozóan.
Jelenleg az alábbi jelzők használhatók:
read-onlyA szöveg csak olvasható, nem szerkeszthető Weblate-ben, lásd: Csak olvasható szövegek.
terminologyHasználat a Szójegyzék esetén. A szöveget automatikusan átmásolja minden szójegyzék-nyelvre, így következetesen használható a fordításokban. Különösen hasznos például terméknevek esetén a
read-onlyjelzővel kombinálva.priority:NA szöveg prioritása. A magasabb prioritású szövegek jelennek meg először fordításra. Az alapértelmezett prioritás értéke 100; minél magasabb a prioritás, annál hamarabb kínálja fel a rendszer fordításra a szöveget.
max-length:NKorlátozza a szöveg maximális hosszát N karakterre, lásd: Fordítás maximális hossza.
xml-textA szöveget XML-dokumentumként kezeli, hatással van az XML szintaxis és XML jelölő ellenőrzésekre.
font-family:NAMEBetűtípus-család meghatározása a megjelenítési ellenőrzésekhez, lásd: Betűtípusok kezelése.
font-weight:WEIGHTBetűvastagság meghatározása a megjelenítési ellenőrzésekhez, lásd: Betűtípusok kezelése.
font-size:SIZEBetűméret meghatározása a megjelenítési ellenőrzésekhez, lásd: Betűtípusok kezelése.
font-spacing:SPACINGBetűk közötti térköz meghatározása a megjelenítési ellenőrzésekhez, lásd: Betűtípusok kezelése.
icu-flags:FLAGSJelzők megadása a ICU-üzenetformátum minőség-ellenőrzés viselkedésének testreszabásához.
icu-tag-prefix:PREFIXKötelező előtag beállítása XML-címkékhez a ICU-üzenetformátum minőség-ellenőrzéshez.
placeholders:NAME:NAME2:...A fordításban elvárt helyettesítő szövegek megadása, lásd: Helyettesítők.
replacements:FROM:TO:FROM2:TO2...Csereértékek megadása az eredményül kapott szövegparaméterek ellenőrzésekor (például a Fordítás maximális mérete vagy Fordítás maximális hossza ellenőrzéseknél). Tipikus használati példa: helykitöltők bővítése annak érdekében, hogy a szöveg hosszabb értékek mellett is illeszkedjen, például:
replacements:%s:\"John Doe\".variants:SOURCEA szöveg megjelölése olyan változatként, amely egy egyező forrásszöveg változata, lásd: Szövegváltozatok.
regex:REGEXReguláris kifejezés megadása a fordítás egyeztetéséhez, lásd: Reguláris kifejezés.
discard:NAMEMagasabb szinten definiált jelzők elvetése.
forbiddenTiltott fordítás jelzése egy szójegyzékben, lásd: Tiltott fordítások.
strict-sameA Változatlan fordítás ellenőrzésnél a beépített szó-kivétellisták használatának mellőzése.
strict-formatA formátumellenőrzések szigorú érvényesítése, még olyan többes számú alakok esetén is, ahol csak egy érték szerepel, lásd: Formázott szövegek.
case-insensitiveAz ellenőrzések viselkedését kis- és nagybetűk figyelmen kívül hagyására állítja. Jelenleg csak a Helyettesítők minőség-ellenőrzést érinti.
bbcode-textTreat a text as an Bulletin Board Code (BBCode) document, affects Változatlan fordítás. Enables the BBCode jelölés quality check.
check-glossaryEnables the Nem követi a szójegyzéket quality check.
fluent-partsEnables the Fluent-részek quality check.
fluent-referencesEnables the Fluent-hivatkozások quality check.
fluent-target-inner-htmlEnables the Fluent-fordítás belső HTML quality check.
fluent-target-syntaxEnables the Fluent-fordítás szintaxisa quality check.
angularjs-formatEnables the AngularJS-helyettesítési szöveg quality check.
automattic-components-formatEnables the Automattic-összetevők formázása quality check.
c-formatEnables the C formátum quality check.
c-sharp-formatEnables the C# formátum quality check.
csharp-formatEnables the C# formátum quality check.
es-formatEnables the ECMAScript sablonszövegek quality check.
i18next-interpolationEnables the i18next-helyettesítés quality check.
icu-message-formatEnables the ICU-üzenetformátum and ICU üzenetformátum szintaxis quality checks.
java-printf-formatEnables the Java formátum quality check.
java-formatEnables the Java-üzenetformátum quality check.
auto-java-messageformatTreat a text as conditional Java MessageFormat, enabling Java-üzenetformátum only when the source contains Java MessageFormat placeholders. Enables the Java-üzenetformátum quality check.
javascript-formatEnables the JavaScript formátum quality check.
laravel-formatEnables the Laravel formátum quality check.
lua-formatEnables the Lua formátum quality check.
object-pascal-formatEnables the Object Pascal formátum quality check.
objc-formatEnables the Objective-C format quality check.
percent-placeholdersEnables the Százalékos helyettesítők quality check.
perl-brace-formatEnables the Perl kapcsos zárójeles formátum quality check.
perl-formatEnables the Perl formátum quality check.
php-formatEnables the PHP formátum quality check.
python-brace-formatEnables the Python kapcsos zárójeles formátum quality check.
python-formatEnables the Python formátum quality check.
qt-formatEnables the Qt formátum quality check.
qt-plural-formatEnables the Qt többes szám formátum quality check.
ruby-formatEnables the Ruby formátum quality check.
scheme-formatEnables the Scheme formátum quality check.
vue-formatEnables the Vue I18n formázás quality check.
rst-textTreat a text as an reStructuredText document, affects Változatlan fordítás. Enables the Nem egységes reStructuredText and reStructuredText szintaxis hiba quality checks.
md-textTreat a text as a Markdown document, and provide Markdown syntax highlighting on the translation text area. Enables the Markdown hivatkozások, Markdown hivatkozási címkék and Markdown szintaxis quality checks.
max-lengthEnables the Fordítás maximális hossza quality check.
max-sizeEnables the Fordítás maximális mérete quality check.
placeholdersEnables the Helyettesítők quality check.
regexEnables the Reguláris kifejezés quality check.
safe-htmlEnables the Nem biztonságos HTML quality check.
auto-safe-htmlTreat a text as conditional HTML, enabling Nem biztonságos HTML only for plain text or source strings that contain standard HTML markup or valid custom elements. This is useful for extended Markdown variants such as MDX, where angle-bracket syntax may not be HTML. Enables the Nem biztonságos HTML quality check.
urlThe string should consist of only a URL. Enables the URL quality check.
fluent-source-inner-htmlEnables the Fluent-forrás – belső HTML quality check.
fluent-source-syntaxEnables the Fluent forrásszintaxis quality check.
ignore-all-checksMinden minőség-ellenőrzés figyelmen kívül hagyása.
ignore-bbcodeA BBCode jelölés minőség-ellenőrzés kihagyása.
ignore-xml-chars-around-tagsSkip the Karakterek XML-címkék körül quality check.
ignore-duplicateAz Egymás utáni ismétlődő szavak minőség-ellenőrzés kihagyása.
ignore-check-glossaryA Nem követi a szójegyzéket minőség-ellenőrzés kihagyása.
ignore-double-spaceA Dupla szóköz minőség-ellenőrzés kihagyása.
ignore-fluent-partsA Fluent-részek minőség-ellenőrzés kihagyása.
ignore-fluent-referencesA Fluent-hivatkozások minőség-ellenőrzés kihagyása.
ignore-fluent-target-inner-htmlA Fluent-fordítás belső HTML minőség-ellenőrzés kihagyása.
ignore-fluent-target-syntaxA Fluent-fordítás szintaxisa minőség-ellenőrzés kihagyása.
ignore-angularjs-formatA AngularJS-helyettesítési szöveg minőség-ellenőrzés kihagyása.
ignore-automattic-components-formatAz Automattic-összetevők formázása minőség-ellenőrzés kihagyása.
ignore-c-formatA C formátum minőség-ellenőrzés kihagyása.
ignore-c-sharp-formatA C# formátum minőség-ellenőrzés kihagyása.
ignore-es-formatA ECMAScript sablonszövegek minőség-ellenőrzés kihagyása.
ignore-i18next-interpolationA i18next-helyettesítés minőség-ellenőrzés kihagyása.
ignore-icu-message-formatA ICU-üzenetformátum minőség-ellenőrzés kihagyása.
ignore-java-printf-formatA Java formátum minőség-ellenőrzés kihagyása.
ignore-java-formatA Java-üzenetformátum minőség-ellenőrzés kihagyása.
ignore-javascript-formatA JavaScript formátum minőség-ellenőrzés kihagyása.
ignore-laravel-formatSkip the Laravel formátum quality check.
ignore-lua-formatA Lua formátum minőség-ellenőrzés kihagyása.
ignore-object-pascal-formatA Object Pascal formátum minőség-ellenőrzés kihagyása.
ignore-objc-formatSkip the Objective-C format quality check.
ignore-percent-placeholdersA Százalékos helyettesítők minőség-ellenőrzés kihagyása.
ignore-perl-brace-formatA Perl kapcsos zárójeles formátum minőség-ellenőrzés kihagyása.
ignore-perl-formatA Perl formátum minőség-ellenőrzés kihagyása.
ignore-php-formatA PHP formátum minőség-ellenőrzés kihagyása.
ignore-python-brace-formatA Python kapcsos zárójeles formátum minőség-ellenőrzés kihagyása.
ignore-python-formatA Python formátum minőség-ellenőrzés kihagyása.
ignore-qt-formatA Qt formátum minőség-ellenőrzés kihagyása.
ignore-qt-plural-formatA Qt többes szám formátum minőség-ellenőrzés kihagyása.
ignore-ruby-formatA Ruby formátum minőség-ellenőrzés kihagyása.
ignore-scheme-formatA Scheme formátum minőség-ellenőrzés kihagyása.
ignore-vue-formatA Vue I18n formázás minőség-ellenőrzés kihagyása.
ignore-translatedA Már le lett fordítva minőség-ellenőrzés kihagyása.
ignore-inconsistentA Nem egységes minőség-ellenőrzés kihagyása.
ignore-rst-referencesA Nem egységes reStructuredText minőség-ellenőrzés kihagyása.
ignore-kashidaA Kashida karakter használata minőség-ellenőrzés kihagyása.
ignore-md-linkA Markdown hivatkozások minőség-ellenőrzés kihagyása.
ignore-md-reflinkA Markdown hivatkozási címkék minőség-ellenőrzés kihagyása.
ignore-md-syntaxA Markdown szintaxis minőség-ellenőrzés kihagyása.
ignore-max-lengthA Fordítás maximális hossza minőség-ellenőrzés kihagyása.
ignore-max-sizeA Fordítás maximális mérete minőség-ellenőrzés kihagyása.
ignore-escaped-newlineA Eltérő \n-karakterek minőség-ellenőrzés kihagyása.
ignore-end-colonAz Eltérő kettőspont minőség-ellenőrzés kihagyása.
ignore-end-ellipsisA Eltérő hármaspont minőség-ellenőrzés kihagyása.
ignore-end-exclamationA Eltérő felkiáltójel minőség-ellenőrzés kihagyása.
ignore-end-stopAz Eltérő mondatvégi pont minőség-ellenőrzés kihagyása.
ignore-end-interrobangA Eltérő felkiáltójel–kérdőjel kombináció minőség-ellenőrzés kihagyása.
ignore-end-questionA Eltérő kérdőjel minőség-ellenőrzés kihagyása.
ignore-end-semicolonA Eltérő pontosvessző minőség-ellenőrzés kihagyása.
ignore-newline-countA Eltérő sortörések minőség-ellenőrzés kihagyása.
ignore-pluralsA Hiányzó többes számú alakok minőség-ellenőrzés kihagyása.
ignore-multiple-capitalSkip the Több nagybetű quality check.
ignore-kabyle-charactersA Nem szabványos karakterek a kabil nyelvben minőség-ellenőrzés kihagyása.
ignore-placeholdersA Helyettesítők minőség-ellenőrzés kihagyása.
ignore-prohibited-initial-characterA Tiltott kezdőkarakter minőség-ellenőrzés kihagyása.
ignore-punctuation-spacingAz Írásjel térköze minőség-ellenőrzés kihagyása.
ignore-regexA Reguláris kifejezés minőség-ellenőrzés kihagyása.
ignore-rst-syntaxA reStructuredText szintaxis hiba minőség-ellenőrzés kihagyása.
ignore-reusedAz Újrahasznált fordítás minőség-ellenőrzés kihagyása.
ignore-same-pluralsA Ugyanaz a többes szám minőség-ellenőrzés kihagyása.
ignore-begin-newlineA Kezdő soremelés minőség-ellenőrzés kihagyása.
ignore-begin-spaceA Kezdő szóközök minőség-ellenőrzés kihagyása.
ignore-end-newlineA Lezáró soremelés minőség-ellenőrzés kihagyása.
ignore-end-spaceA Lezáró szóköz minőség-ellenőrzés kihagyása.
ignore-sameA Változatlan fordítás minőség-ellenőrzés kihagyása.
ignore-safe-htmlA Nem biztonságos HTML minőség-ellenőrzés kihagyása.
ignore-urlA URL minőség-ellenőrzés kihagyása.
ignore-xml-tagsAz XML jelölő minőség-ellenőrzés kihagyása.
ignore-xml-invalidAz XML szintaxis minőség-ellenőrzés kihagyása.
ignore-zero-width-spaceA Nulla szélességű szóköz minőség-ellenőrzés kihagyása.
ignore-ellipsisA Hármaspont minőség-ellenőrzés kihagyása.
ignore-fluent-source-inner-htmlA Fluent-forrás – belső HTML minőség-ellenőrzés kihagyása.
ignore-fluent-source-syntaxA Fluent forrásszintaxis minőség-ellenőrzés kihagyása.
ignore-icu-message-formatA ICU üzenetformátum szintaxis minőség-ellenőrzés kihagyása.
ignore-long-untranslatedA Régóta lefordítatlan minőség-ellenőrzés kihagyása.
ignore-multiple-failuresA Több sikertelen ellenőrzés minőség-ellenőrzés kihagyása.
ignore-unnamed-formatA Több névtelen változó minőség-ellenőrzés kihagyása.
ignore-optional-pluralA Többes szám nélküli minőség-ellenőrzés kihagyása.
Megjegyzés
Általánosan igaz, hogy bármely ellenőrzés esetében az ignore-* elnevezést kell használni az azonosító alapján, így ezt saját egyedi ellenőrzéseknél is alkalmazhatja.
Ezeket a jelzőket az összetevő beállításai, a forrásszövegenkénti beállítások és maga a fordítási fájl is értelmezi (például a GNU gettext esetében).
Location-based flags¶
Some flags are added to strings by default, based on their locations. This means that certain checks will be automatically enabled depending on where the string is used.
rst-text: This flag is automatically added to strings in reStructuredText files, if location extension is.rst.md-text: This flag is automatically added to strings in Markdown and MDX files, if location extension is.md,.markdown, or.mdx.
Ellenőrzések kötelezővé tétele¶
The enforced checks cannot be dismissed and mark string as Needs editing (see Fordítási állapotok). This prevents translators from hiding such checks.
Tipp
Turning on check enforcing doesn’t enable it automatically. Some checks have to be turned on by adding the corresponding flag to the string or component flags.
This is best used with checks that can cause serious issues when used like checks for Formázott szövegek. Using for style checks like Változatlan fordítás is not recommended because dismissal is sometimes a reasonable approach in these.
The Fordításminőség szűrő can then be used to exclude strings needing editing from being committed to the version control.
Betűtípusok kezelése¶
Tipp
A Weblate-be feltöltött betűtípusok kizárólag a Fordítás maximális mérete ellenőrzéshez szükségesek, a Weblate felhasználói felületének megjelenését nem befolyásolják.
A Fordítás maximális mérete ellenőrzés, amely a megjelenített szöveg méretét számítja ki, megköveteli a megfelelő betűtípus betöltését a Weblate-be, és annak kiválasztását egy fordítási jelzőn keresztül (lásd: Viselkedés testreszabása jelzők használatával).
Weblate font management tool in Fonts under the Operations menu of your translation project provides interface to upload and manage fonts. TrueType or OpenType fonts can be uploaded, set up font-groups and use those in the check.
A betűcsoportok lehetővé teszik, hogy különböző nyelvekhez eltérő betűtípusokat rendeljen, ami jellemzően nem latin alapú nyelveknél szükséges:
A betűcsoportokat névvel kell azonosítani, amely nem tartalmazhat szóközt vagy speciális karaktert, hogy könnyen lehessen hivatkozni rájuk az ellenőrzésekben:
Font-family and style are automatically recognized after uploading them:
Több betűtípus is betölthető a Weblate-be:
A szöveghossz ellenőrzéséhez a megfelelő jelzők segítségével kell beállítani a használandó betűtípust (lásd: Viselkedés testreszabása jelzők használatával). Általában az alábbi beállításokra lesz szükség:
max-size:500/max-size:300:5Maximális szélesség pixelben, és opcionálisan a maximális sorok száma (szövegtördelés figyelembevételével).
font-family:ubuntuA használandó betűcsoport azonosítójának megadása.
font-size:22A betűméret pixelben.
Egyedi ellenőrzések írása¶
Számos minőség-ellenőrzés be van építve (lásd: Minőség-ellenőrzések), de ezek nem feltétlenül fednek le minden egyedi igényt. Az elvégzett ellenőrzések listája a CHECK_LIST beállítással módosítható, és saját egyedi ellenőrzéseket is hozzá lehet adni.
Ehhez származtasson egy osztályt a weblate.checks.Check osztályból
Állítson be néhány attribútumot.
Valósítsa meg vagy a
checkmetódust (ha a többes számok kezelését is saját kódban szeretné végezni) vagy acheck_singlemetódust (ami ezt automatikusan elintézi).
Néhány példa:
Egyedi ellenőrzések telepítéséhez adja meg a Python osztály teljes elérési útját a CHECK_LIST beállításban, részletek: Custom quality checks, add-ons, automatic suggestions and auto-fixes.
Ellenőrzés: a fordítás szövege nem tartalmazhatja a „foo” karakterláncot¶
Ez egy egyszerű ellenőrzés, amely csak azt vizsgálja, hogy a fordításból hiányzik-e a „foo” szöveg.
"""Simple quality check example."""
from django.utils.translation import gettext_lazy
from weblate.checks.base import TargetCheck
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, target, unit):
return "foo" in target
Ellenőrzés: a cseh fordítás többes számai eltérnek-e¶
Ez az ellenőrzés nyelvi információ alapján ellenőrzi, hogy a cseh nyelv két többes számú alakja nem azonos-e.
"""Quality check example for Czech plurals."""
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):
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