ການກວດສອບ ແລະການແກ້ໄຂ¶
ການແກ້ໄຂອັດຕະໂນມັດແບບກຳນົດເອງ¶
ທ່ານຍັງສາມາດສ້າງການແກ້ໄຂອັດຕະໂນມັດຂອງທ່ານເອງນອກເໜືອໄປຈາກອັນມາດຕະຖານ ແລະລວມພວກມັນໄວ້ໃນ AUTOFIX_LIST.
ການແກ້ໄຂອັດຕະໂນມັດມີພະລັງ, ແຕ່ກໍສາມາດເຮັດໃຫ້ເກີດຄວາມເສຍຫາຍໄດ້; ຕ້ອງລະມັດລະວັງເມື່ອຂຽນມັນ.
ຕົວຢ່າງ, ການແກ້ໄຂອັດຕະໂນມັດຕໍ່ໄປນີ້ຈະປ່ຽນແທນທຸກໆຄັ້ງທີ່ພົບຂໍ້ຄວາມ foo ໃນການແປດ້ວຍ 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
ເພື່ອຕິດຕັ້ງການກວດສອບແບບກຳນົດເອງ, ໃຫ້ລະບຸເສັ້ນທາງແບບເຕັມ (fully-qualified path) ໄປຍັງ Python class ໃນ AUTOFIX_LIST, ເບິ່ງ ການກວດສອບຄຸນນະພາບແບບກຳນົດເອງ, add-ons, ຄຳແນະນຳອັດຕະໂນມັດ ແລະ ການແກ້ໄຂອັດຕະໂນມັດ.
ການປັບແຕ່ງພຶດຕິກຳໂດຍໃຊ້ທຸງ (flags)¶
ທ່ານສາມາດປັບແຕ່ງພຶດຕິກຳຂອງ Weblate ຢ່າງລະອຽດໂດຍໃຊ້ທຸງ. ທຸງຈະໃຫ້ຂໍ້ມູນສະທ້ອນກັບທາງສາຍຕາແກ່ນັກແປ ແລະຊ່ວຍໃຫ້ພວກເຂົາປັບປຸງການແປຂອງເຂົາເຈົ້າ. ທຸງຈະຖືກລວມມາຈາກແຫຼ່ງຕໍ່ໄປນີ້:
ທຸງເພີ່ມເຕີມສຳລັບ Source string:
ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຂໍ້ຄວາມຕົ້ນສະບັບ ອະທິບາຍການແກ້ໄຂດ້ວຍຕົນເອງ.
ແກ້ໄຂເປັນຊຸດ ສາມາດໃຊ້ເພື່ອໃຊ້ທຸງແບບ batch.
Add-on ແກ້ໄຂເປັນຊຸດ ສາມາດໃຊ້ທຸງໂດຍອັດຕະໂນມັດ.
ທຸງປະຈຳຂໍ້ຄວາມທີ່ສະກັດມາຈາກຮູບແບບໄຟລ໌, ເບິ່ງ ຮູບແບບໄຟລ໌ການແປພາສາ.
ທຸງການແປ (ປະຈຸບັນມີພຽງທຸງ
read-onlyສຳລັບ source string ແບບສອງພາສາ ຫຼືເມື່ອການແກ້ໄຂເທມເພລດແບບພາສາດຽວຖືກປິດຢູ່).ທຸງສະເພາະຮູບແບບໄຟລ໌.
ທຸງຖືກແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ; ຖ້າມັນມີພາຣາມິເຕີ, ພວກມັນຈະຖືກແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຊ້ອນ (colon). ທ່ານສາມາດໃຊ້ເຄື່ອງໝາຍວົງຢືມເພື່ອລວມຊ່ອງຫວ່າງ ຫຼືຕົວອັກສອນພິເສດໃນຂໍ້ຄວາມ. ຕົວຢ່າງ:
placeholders:"special:value":"other value", regex:.*
ຍອມຮັບທັງເຄື່ອງໝາຍວົງຢືມດ່ຽວ ແລະວົງຢືມຄູ່, ຕົວອັກສອນພິເສດຖືກ Escape ໂດຍໃຊ້ backslash:
placeholders:"quoted \"string\"":'single \'quoted\''
placeholders:r"^#*"
ເພື່ອຢືນຢັນວ່ານັກແປບໍ່ໄດ້ປ່ຽນຫົວຂໍ້ຂອງເອກະສານ Markdown. ການກວດສອບທີ່ລົ້ມເຫຼວຈະຖືກກະຕຸ້ນຖ້າຂໍ້ຄວາມ ### Index ຖືກແປເປັນ # Indice.
placeholders:r"\]\([^h].*?\)"
ເພື່ອຮັບປະກັນວ່າລິ້ງພາຍໃນບໍ່ໄດ້ຖືກແປ (ເຊັ່ນ: [test](../checks) ບໍ່ກາຍເປັນ [test](../chequeos).
ທຸງທີ່ຖືກກຳນົດໄວ້ໃນລະດັບທີ່ສູງກວ່າສາມາດຍົກເລີກໄດ້ໂດຍໃຊ້ syntax discard:NAME. ຕົວຢ່າງ, ຖ້າອົງປະກອບຖືກຕັ້ງຄ່າເປັນ safe-html, ທ່ານສາມາດເພີ່ມ discard:safe-html ເຂົ້າໃນທຸງຂອງຂໍ້ຄວາມເພື່ອຂ້າມມັນສຳລັບຂໍ້ຄວາມນີ້ໂດຍສະເພາະ.
ນີ້ແມ່ນລາຍການທຸງທີ່ຍອມຮັບໃນປະຈຸບັນ:
read-onlyຂໍ້ຄວາມນີ້ເປັນແບບອ່ານໄດ້ຢ່າງດຽວ ແລະ ບໍ່ຄວນແກ້ໄຂໃນ Weblate, ເບິ່ງ ຂໍ້ຄວາມທີ່ອ່ານໄດ້ຢ່າງດຽວ.
terminologyໃຊ້ໃນ ຄຳສັບສະເພາະ. ຄັດລອກຂໍ້ຄວາມໄປຍັງທຸກພາສາຂອງພົດຈະນານຸກົມ (glossary) ເພື່ອໃຫ້ສາມາດໃຊ້ໄດ້ຢ່າງສອດຄ່ອງກັນໃນທຸກການແປ. ຍັງມີປະໂຫຍດເມື່ອໃຊ້ຮ່ວມກັບ
read-only, ຕົວຢ່າງ: ໃນຊື່ຜະລິດຕະພັນ.priority:Nລຳດັບຄວາມສຳຄັນຂອງຂໍ້ຄວາມ. ຂໍ້ຄວາມທີ່ມີຄວາມສຳຄັນສູງກວ່າຈະຖືກສະແດງໃຫ້ແປກ່ອນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 100, ຍິ່ງຂໍ້ຄວາມມີຄວາມສຳຄັນສູງເທົ່າໃດ, ມັນກໍ່ຈະຖືກສະເໜີໃຫ້ແປໄວຂຶ້ນເທົ່ານັ້ນ.
xml-textປະຕິບັດຕໍ່ຂໍ້ຄວາມຄືກັບເອກະສານ XML, ເຊິ່ງມີຜົນຕໍ່ ໄວຍາກອນ XML ແລະ ມາກອັບ XML.
font-family:NAMEກຳນົດ font-family ສຳລັບການກວດສອບການສະແດງຜົນ, ເບິ່ງ ການຈັດການຟອນ (fonts).
font-weight:WEIGHTກຳນົດ font-weight ສຳລັບການກວດສອບການສະແດງຜົນ, ເບິ່ງ ການຈັດການຟອນ (fonts).
font-size:SIZEກຳນົດ font-size ສຳລັບການກວດສອບການສະແດງຜົນ, ເບິ່ງ ການຈັດການຟອນ (fonts).
font-spacing:SPACINGກຳນົດໄລຍະຍ່າງລະຫວ່າງຕົວອັກສອນສຳລັບການກວດສອບການສະແດງຜົນ, ເບິ່ງ ການຈັດການຟອນ (fonts).
icu-flags:FLAGSກຳນົດແຟລັກ (flags) ເພື່ອປັບແຕ່ງພຶດຕິກຳຂອງການກວດສອບຄຸນນະພາບ ICU MessageFormat.
icu-tag-prefix:PREFIXຕັ້ງຄຳນຳໜ້າ (prefix) ທີ່ຈຳເປັນສຳລັບແທັກ XML ສຳລັບການກວດສອບຄຸນນະພາບ ICU MessageFormat.
placeholders:NAME:NAME2:...ຂໍ້ຄວາມ Placeholder ທີ່ຄາດວ່າຈະມີໃນການແປ, ເບິ່ງ ຕົວແທນ (Placeholders).
replacements:FROM:TO:FROM2:TO2...ການແທນທີ່ທີ່ຈະເຮັດເມື່ອກວດສອບພາລາມິເຕີຂອງຂໍ້ຄວາມຜົນລັບ (ຕົວຢ່າງ: ໃນ ຂະໜາດສູງສຸດຂອງການແປ ຫຼື ຄວາມຍາວສູງສຸດຂອງການແປ). ກໍລະນີການໃຊ້ງານທົ່ວໄປແມ່ນການຂະຫຍາຍຂໍ້ຄວາມທີ່ແທນທີ່ໄດ້ ເພື່ອຮັບປະກັນວ່າຂໍ້ຄວາມຈະພໍດີເຖິງວ່າຈະມີຄ່າທີ່ຍາວ, ຕົວຢ່າງ:
replacements:%s:"John Doe".variants:SOURCEໝາຍຂໍ້ຄວາມນີ້ວ່າເປັນເວີຊັນຍ່ອຍ (variant) ຂອງຂໍ້ຄວາມທີ່ມີຕົ້ນສະບັບກົງກັນ. ເບິ່ງ ຕົວເລືອກຂໍ້ຄວາມ (String variants).
regex:REGEXRegular expression ເພື່ອກວດສອບໃຫ້ກົງກັບການແປ, ເບິ່ງ ເຣກູລາເອັກເພຣດຊັນ.
discard:NAMEຍົກເລີກແຟລັກ (flag) ທີ່ຖືກກຳນົດໄວ້ໃນລະດັບທີ່ສູງກວ່າ.
forbiddenລະບຸການແປທີ່ຕ້ອງຫ້າມໃນພົດຈະນານຸກົມ, ເບິ່ງ ການແປທີ່ຫ້າມໃຊ້.
strict-sameເຮັດໃຫ້ ການແປທີ່ບໍ່ມີການປ່ຽນແປງ ຫຼີກເວັ້ນການໃຊ້ຄຳສັບທີ່ໄດ້ຮັບການຍົກເວັ້ນທີ່ມີມາໃນຕົວ.
strict-formatເຮັດໃຫ້ການກວດສອບຮູບແບບບັງຄັບໃຊ້ຮູບແບບນັ້ນໆ ເຖິງວ່າຈະເປັນຮູບພະຫຸພົດທີ່ມີຄ່າດຽວກໍ່ຕາມ, ເບິ່ງ ຂໍ້ຄວາມທີ່ມີຮູບແບບ (Formatted strings).
case-insensitiveປັບພຶດຕິກຳການກວດສອບໃຫ້ບໍ່ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່. ປະຈຸບັນມີຜົນສະເພາະກັບການກວດສອບຄຸນນະພາບ ຕົວແທນ (Placeholders) ເທົ່ານັ້ນ.
acceleratorລະບຸຕົວໝາຍປຸ່ມລັດ (accelerator marker) ເປັນເຄື່ອງໝາຍວັກຕອນດຽວ, ຕົວຢ່າງ
accelerator:&,accelerator:_, ຫຼືaccelerator:~. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ປຸ່ມລັດ (Accelerator key).asciidoc-textກຳນົດໃຫ້ຂໍ້ຄວາມເປັນເອກະສານ AsciiDoc, ເຊິ່ງສົ່ງຜົນຕໍ່ ການແປທີ່ບໍ່ມີການປ່ຽນແປງ. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ມາກອັບ AsciiDoc.
bbcode-textປະຕິບັດຕໍ່ຂໍ້ຄວາມຄືກັບເອກະສານ BBCode, ມີຜົນຕໍ່ ການແປທີ່ບໍ່ມີການປ່ຽນແປງ. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ມາກອັບ BBCode.
check-glossaryເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ບໍ່ປະຕິບັດຕາມຄຳສັບສະເພາະ (Glossary).
fluent-partsເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ສ່ວນຂອງ Fluent.
fluent-referencesເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ການອ້າງອີງ Fluent.
fluent-target-inner-htmlເປີດໃຊ້ການກວດສອບຄຸນນະພາບ HTML ພາຍໃນຂອງການແປ Fluent.
fluent-target-syntaxເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ໄວຍາກອນ Fluent ໃນການແປ.
angularjs-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຂໍ້ຄວາມ Interpolation ຂອງ AngularJS.
automattic-components-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບສ່ວນປະກອບຂອງ Automattic.
c-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ C.
c-sharp-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ C#.
csharp-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ C#.
es-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ Template literals ຂອງ ECMAScript.
i18next-interpolationເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ການແຊກຕົວແປ i18next.
icu-message-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ICU MessageFormat ແລະ ໄວຍາກອນ ICU MessageFormat.
java-printf-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Java.
java-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ Java MessageFormat.
auto-java-messageformatປະຕິບັດຕໍ່ຂໍ້ຄວາມຄືກັບ Java MessageFormat ແບບມີເງື່ອນໄຂ, ໂດຍຈະເປີດໃຊ້ Java MessageFormat ກໍ່ຕໍ່ເມື່ອຕົ້ນສະບັບມີ Java MessageFormat placeholders. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ Java MessageFormat.
javascript-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ JavaScript.
laravel-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Laravel.
lua-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Lua.
object-pascal-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Object Pascal.
objc-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Objective-C.
percent-placeholdersເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຕົວແທນແບບເປີເຊັນ.
perl-brace-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບວົງເລັບ Perl.
perl-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Perl.
php-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ PHP.
python-brace-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບວົງເລັບ Python.
python-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Python.
qt-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Qt.
qt-plural-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບພຫູພົດ Qt.
ruby-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Ruby.
scheme-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Scheme.
vue-formatເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຮູບແບບ Vue I18n.
rst-textປະຕິບັດຕໍ່ຂໍ້ຄວາມຄືກັບເອກະສານ reStructuredText, ມີຜົນຕໍ່ ການແປທີ່ບໍ່ມີການປ່ຽນແປງ. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ reStructuredText ບໍ່ສອດຄ່ອງກັນ ແລະ ຂໍ້ຜິດພາດທາງໄວຍາກອນ reStructuredText.
md-textປະຕິບັດຕໍ່ຂໍ້ຄວາມຄືກັບເອກະສານ Markdown, ແລະ ໃຫ້ມີການເນັ້ນໄວຍາກອນ Markdown ໃນພື້ນທີ່ການແປ. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ລິ້ງ Markdown, ການອ້າງອີງ Markdown ແລະ ໄວຍາກອນ Markdown.
max-lengthເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຄວາມຍາວສູງສຸດຂອງການແປ.
max-linesເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຈຳນວນແຖວສູງສຸດ.
max-sizeເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຂະໜາດສູງສຸດຂອງການແປ.
placeholdersເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ຕົວແທນ (Placeholders).
regexເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ເຣກູລາເອັກເພຣດຊັນ.
safe-mdxເປີດໃຊ້ການກວດສອບຄຸນນະພາບ MDX ທີ່ປອດໄພ.
safe-htmlເປີດໃຊ້ການກວດສອບຄຸນນະພາບ HTML ທີ່ບໍ່ປອດໄພ.
auto-safe-htmlປະຕິບັດຕໍ່ຂໍ້ຄວາມຄືກັບ HTML ແບບມີເງື່ອນໄຂ, ໂດຍຈະເປີດໃຊ້ HTML ທີ່ບໍ່ປອດໄພ ສະເພາະກັບຂໍ້ຄວາມທຳມະດາ ຫຼື ຂໍ້ຄວາມຕົ້ນສະບັບທີ່ມີ markup HTML ມາດຕະຖານ ຫຼື custom elements ທີ່ຖືກຕ້ອງ. ສິ່ງນີ້ມີປະໂຫຍດສຳລັບ Markdown ເວີຊັນຂະຫຍາຍ ເຊັ່ນ MDX, ເຊິ່ງໄວຍາກອນໃນວົງເລັບແຫຼມອາດຈະບໍ່ແມ່ນ HTML. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ HTML ທີ່ບໍ່ປອດໄພ.
urlຂໍ້ຄວາມຄວນປະກອບມີພຽງແຕ່ URL ເທົ່ານັ້ນ. ເປີດໃຊ້ການກວດສອບຄຸນນະພາບ URL.
fluent-source-inner-htmlເປີດໃຊ້ການກວດສອບຄຸນນະພາບ HTML ພາຍໃນຂອງແຫຼ່ງຂໍ້ມູນ Fluent.
fluent-source-syntaxເປີດໃຊ້ການກວດສອບຄຸນນະພາບ ໄວຍາກອນ Fluent ຕົ້ນສະບັບ.
ignore-all-checksລະເລີຍການກວດສອບຄຸນນະພາບທັງໝົດ.
ignore-acceleratorຂ້າມການກວດສອບຄຸນນະພາບ ປຸ່ມລັດ (Accelerator key).
ignore-asciidoc-markupຂ້າມການກວດສອບຄຸນນະພາບ ມາກອັບ AsciiDoc.
ignore-bbcodeຂ້າມການກວດສອບຄຸນນະພາບ ມາກອັບ BBCode.
ignore-xml-chars-around-tagsຂ້າມການກວດສອບຄຸນນະພາບ ຕົວອັກສອນອ້ອມຮອບ XML tags.
ignore-duplicateຂ້າມການກວດສອບຄຸນນະພາບ ມີຄຳສັບຊ້ຳກັນລຽນຕິດ.
ignore-check-glossaryຂ້າມການກວດສອບຄຸນນະພາບ ບໍ່ປະຕິບັດຕາມຄຳສັບສະເພາະ (Glossary).
ignore-double-spaceຂ້າມການກວດສອບຄຸນນະພາບ ຍະຫວ່າງສອງເທົ່າ.
ignore-fluent-partsຂ້າມການກວດສອບຄຸນນະພາບ ສ່ວນຂອງ Fluent.
ignore-fluent-referencesຂ້າມການກວດສອບຄຸນນະພາບ ການອ້າງອີງ Fluent.
ignore-fluent-target-inner-htmlຂ້າມການກວດສອບຄຸນນະພາບ HTML ພາຍໃນຂອງການແປ Fluent.
ignore-fluent-target-syntaxຂ້າມການກວດສອບຄຸນນະພາບ ໄວຍາກອນ Fluent ໃນການແປ.
ignore-angularjs-formatຂ້າມການກວດສອບຄຸນນະພາບ ຂໍ້ຄວາມ Interpolation ຂອງ AngularJS.
ignore-automattic-components-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບສ່ວນປະກອບຂອງ Automattic.
ignore-c-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ C.
ignore-c-sharp-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ C#.
ignore-es-formatຂ້າມການກວດສອບຄຸນນະພາບ Template literals ຂອງ ECMAScript.
ignore-i18next-interpolationຂ້າມການກວດສອບຄຸນນະພາບ ການແຊກຕົວແປ i18next.
ignore-icu-message-formatຂ້າມການກວດສອບຄຸນນະພາບ ICU MessageFormat.
ignore-java-printf-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Java.
ignore-java-formatຂ້າມການກວດສອບຄຸນນະພາບ Java MessageFormat.
ignore-javascript-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ JavaScript.
ignore-laravel-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Laravel.
ignore-lua-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Lua.
ignore-object-pascal-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Object Pascal.
ignore-objc-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Objective-C.
ignore-percent-placeholdersຂ້າມການກວດສອບຄຸນນະພາບ ຕົວແທນແບບເປີເຊັນ.
ignore-perl-brace-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບວົງເລັບ Perl.
ignore-perl-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Perl.
ignore-php-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ PHP.
ignore-python-brace-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບວົງເລັບ Python.
ignore-python-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Python.
ignore-qt-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Qt.
ignore-qt-plural-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບພຫູພົດ Qt.
ignore-ruby-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Ruby.
ignore-scheme-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Scheme.
ignore-vue-formatຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບ Vue I18n.
ignore-translatedຂ້າມການກວດສອບຄຸນນະພາບ ໄດ້ຮັບການແປແລ້ວ.
ignore-inconsistentຂ້າມການກວດສອບຄຸນນະພາບ ບໍ່ສອດຄ່ອງກັນ.
ignore-rst-referencesຂ້າມການກວດສອບຄຸນນະພາບ reStructuredText ບໍ່ສອດຄ່ອງກັນ.
ignore-kashidaຂ້າມການກວດສອບຄຸນນະພາບ ມີການໃຊ້ຕົວອັກສອນ Kashida.
ignore-md-linkຂ້າມການກວດສອບຄຸນນະພາບ ລິ້ງ Markdown.
ignore-md-reflinkຂ້າມການກວດສອບຄຸນນະພາບ ການອ້າງອີງ Markdown.
ignore-md-syntaxຂ້າມການກວດສອບຄຸນນະພາບ ໄວຍາກອນ Markdown.
ignore-max-lengthຂ້າມການກວດສອບຄຸນນະພາບ ຄວາມຍາວສູງສຸດຂອງການແປ.
ignore-max-linesຂ້າມການກວດສອບຄຸນນະພາບ ຈຳນວນແຖວສູງສຸດ.
ignore-max-sizeຂ້າມການກວດສອບຄຸນນະພາບ ຂະໜາດສູງສຸດຂອງການແປ.
ignore-escaped-newlineຂ້າມການກວດສອບຄຸນນະພາບ \n ບໍ່ກົງກັນ.
ignore-end-colonຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍສອງຈຳ (Colon) ບໍ່ກົງກັນ.
ignore-end-ellipsisຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍຈຳສາມເມັດ (...) ບໍ່ກົງກັນ.
ignore-end-exclamationຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍທ້ວງບໍ່ກົງກັນ.
ignore-end-stopຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍຈຳເມັດບໍ່ກົງກັນ.
ignore-end-interrobangຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍ Interrobang ບໍ່ກົງກັນ.
ignore-end-questionຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍຖາມບໍ່ກົງກັນ.
ignore-end-semicolonຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍຈຳຈຸດ (Semicolon) ບໍ່ກົງກັນ.
ignore-newline-countຂ້າມການກວດສອບຄຸນນະພາບ ການຂຶ້ນແຖວໃໝ່ບໍ່ກົງກັນ.
ignore-pluralsຂ້າມການກວດສອບຄຸນນະພາບ ຂາດຮູບແບບພຫູພົດ.
ignore-multiple-capitalຂ້າມການກວດສອບຄຸນນະພາບ ຕົວອັກສອນໃຫຍ່ຫຼາຍຕົວ.
ignore-kabyle-charactersຂ້າມການກວດສອບຄຸນນະພາບ ຕົວອັກສອນທີ່ບໍ່ແມ່ນມາດຕະຖານໃນພາສາ Kabyle.
ignore-placeholdersຂ້າມການກວດສອບຄຸນນະພາບ ຕົວແທນ (Placeholders).
ignore-prohibited-initial-characterຂ້າມການກວດສອບຄຸນນະພາບ ຕົວອັກສອນເລີ່ມຕົ້ນທີ່ຕ້ອງຫ້າມ.
ignore-punctuation-spacingຂ້າມການກວດສອບຄຸນນະພາບ ການຍະຫວ່າງເຄື່ອງໝາຍວັກຕອນ.
ignore-regexຂ້າມການກວດສອບຄຸນນະພາບ ເຣກູລາເອັກເພຣດຊັນ.
ignore-rst-syntaxຂ້າມການກວດສອບຄຸນນະພາບ ຂໍ້ຜິດພາດທາງໄວຍາກອນ reStructuredText.
ignore-reusedຂ້າມການກວດສອບຄຸນນະພາບ ມີການໃຊ້ຄຳແປຊ້ຳ.
ignore-safe-mdxຂ້າມການກວດສອບຄຸນນະພາບ MDX ທີ່ປອດໄພ.
ignore-same-pluralsຂ້າມການກວດສອບຄຸນນະພາບ ຮູບແບບພຫູພົດຄືກັນ.
ignore-begin-newlineຂ້າມການກວດສອບຄຸນນະພາບ ຂຶ້ນແຖວໃໝ່ໃນຕອນເລີ່ມຕົ້ນ.
ignore-begin-spaceຂ້າມການກວດສອບຄຸນນະພາບ ຍະຫວ່າງໃນຕອນເລີ່ມຕົ້ນ.
ignore-end-newlineຂ້າມການກວດສອບຄຸນນະພາບ ຂຶ້ນແຖວໃໝ່ໃນຕອນທ້າຍ.
ignore-end-spaceຂ້າມການກວດສອບຄຸນນະພາບ ຍະຫວ່າງທາງທ້າຍ.
ignore-sameຂ້າມການກວດສອບຄຸນນະພາບ ການແປທີ່ບໍ່ມີການປ່ຽນແປງ.
ignore-safe-htmlຂ້າມການກວດສອບຄຸນນະພາບ HTML ທີ່ບໍ່ປອດໄພ.
ignore-urlຂ້າມການກວດສອບຄຸນນະພາບ URL.
ignore-xml-tagsຂ້າມການກວດສອບຄຸນນະພາບ ມາກອັບ XML.
ignore-xml-invalidຂ້າມການກວດສອບຄຸນນະພາບ ໄວຍາກອນ XML.
ignore-zero-width-spaceຂ້າມການກວດສອບຄຸນນະພາບ ຍະຫວ່າງທີ່ມີຄວາມກວ້າງເປັນສູນ.
ignore-ellipsisຂ້າມການກວດສອບຄຸນນະພາບ ເຄື່ອງໝາຍຈຳສາມເມັດ.
ignore-fluent-source-inner-htmlຂ້າມການກວດສອບຄຸນນະພາບ HTML ພາຍໃນຂອງແຫຼ່ງຂໍ້ມູນ Fluent.
ignore-fluent-source-syntaxຂ້າມການກວດສອບຄຸນນະພາບ ໄວຍາກອນ Fluent ຕົ້ນສະບັບ.
ignore-icu-message-formatຂ້າມການກວດສອບຄຸນນະພາບ ໄວຍາກອນ ICU MessageFormat.
ignore-long-untranslatedຂ້າມການກວດສອບຄຸນນະພາບ ບໍ່ໄດ້ຮັບການແປເປັນເວລານານ.
ignore-multiple-failuresຂ້າມການກວດສອບຄຸນນະພາບ ມີການກວດສອບທີ່ບໍ່ຜ່ານຫຼາຍອັນ.
ignore-unnamed-formatຂ້າມການກວດສອບຄຸນນະພາບ ມີຕົວປ່ຽນທີ່ບໍ່ມີຊື່ຫຼາຍຕົວ.
ignore-source-max-lengthຂ້າມການກວດສອບຄຸນນະພາບ ຄວາມຍາວຂອງຂໍ້ຄວາມຕົ້ນສະບັບ.
ignore-optional-pluralຂ້າມການກວດສອບຄຸນນະພາບ ບໍ່ໄດ້ໃຊ້ຮູບແບບພຫູພົດ.
Note
ໂດຍທົ່ວໄປກົດຈະຖືກຕັ້ງຊື່ເປັນ ignore-* ສຳລັບການກວດສອບໃດໆ, ໂດຍໃຊ້ຕົວລະບຸຂອງມັນ, ສະນັ້ນທ່ານສາມາດໃຊ້ສິ່ງນີ້ໄດ້ເຖິງແມ່ນວ່າຈະເປັນການກວດສອບແບບກຳນົດເອງຂອງທ່ານເອງກໍຕາມ.
ທຸງເຫຼົ່ານີ້ເຂົ້າໃຈໄດ້ທັງໃນການຕັ້ງຄ່າ ການຕັ້ງຄ່າ Component, ການຕັ້ງຄ່າຕໍ່ source string ແລະໃນໄຟລ໌ການແປເອງ (ຕົວຢ່າງໃນ GNU gettext).
ທຸງໂດຍອີງຕາມສະຖານທີ່¶
ທຸງບາງຢ່າງຖືກເພີ່ມເຂົ້າໃນຂໍ້ຄວາມໂດຍອັດຕະໂນມັດ, ໂດຍອີງຕາມສະຖານທີ່ຂອງພວກມັນ. ນີ້ໝາຍຄວາມວ່າການກວດສອບບາງຢ່າງຈະຖືກເປີດໃຊ້ໂດຍອັດຕະໂນມັດຂຶ້ນຢູ່ກັບວ່າຂໍ້ຄວາມນັ້ນຖືກໃຊ້ຢູ່ໃສ.
rst-text: ທຸງນີ້ຖືກເພີ່ມເຂົ້າໃນຂໍ້ຄວາມໃນໄຟລ໌ reStructuredText ໂດຍອັດຕະໂນມັດ, ຖ້ານາມສະກຸນໄຟລ໌ຄື.rst.md-text: ທຸງນີ້ຖືກເພີ່ມເຂົ້າໃນຂໍ້ຄວາມໃນໄຟລ໌ Markdown ແລະ MDX ໂດຍອັດຕະໂນມັດ, ຖ້ານາມສະກຸນໄຟລ໌ຄື.md,.markdownຫຼື.mdx.
ການບັງຄັບໃຊ້ການກວດສອບ¶
ການກວດສອບທີ່ຖືກບັງຄັບໃຊ້ບໍ່ສາມາດຖືກຍົກເລີກໄດ້ ແລະຈະໝາຍຂໍ້ຄວາມເປັນ Needs editing (ເບິ່ງ ສະຖານະການແປ). ສິ່ງນີ້ປ້ອງກັນບໍ່ໃຫ້ນັກແປປິດບັງການກວດສອບດັ່ງກ່າວ.
Hint
ການເປີດໃຊ້ການບັງຄັບການກວດສອບບໍ່ໄດ້ເຮັດໃຫ້ມັນເປີດໃຊ້ໂດຍອັດຕະໂນມັດ. ການກວດສອບບາງຢ່າງຕ້ອງຖືກເປີດໃຊ້ໂດຍການເພີ່ມທຸງທີ່ກ່ຽວຂ້ອງເຂົ້າໃນທຸງຂອງຂໍ້ຄວາມ ຫຼືອົງປະກອບ.
ວິທີນີ້ເໝາະສົມທີ່ສຸດກັບການກວດສອບທີ່ອາດເຮັດໃຫ້ເກີດບັນຫາຮ້າຍແຮງເມື່ອໃຊ້ ເຊັ່ນການກວດສອບສຳລັບ ຂໍ້ຄວາມທີ່ມີຮູບແບບ (Formatted strings). ການໃຊ້ສຳລັບການກວດສອບແບບ (style checks) ເຊັ່ນ ການແປທີ່ບໍ່ມີການປ່ຽນແປງ ບໍ່ໄດ້ຖືກແນະນຳ ເພາະການຍົກເລີກບາງຄັ້ງກໍເປັນວິທີທີ່ສົມເຫດສົມຜົນໃນກໍລະນີເຫຼົ່ານີ້.
ຕົວຕອງຄຸນນະພາບການແປ ສາມາດໃຊ້ເພື່ອຍົກເວັ້ນຂໍ້ຄວາມທີ່ຕ້ອງການການແກ້ໄຂບໍ່ໃຫ້ຖືກຄອມມິດ (commit) ເຂົ້າໃນການຄວບຄຸມເວີຊັນ.
ການຈັດການຟອນ (fonts)¶
Hint
ຟອນທີ່ອັບໂຫຼດເຂົ້າໃນ Weblate ຖືກໃຊ້ເພື່ອຈຸດປະສົງຂອງການກວດສອບ ຂະໜາດສູງສຸດຂອງການແປ ເທົ່ານັ້ນ, ພວກມັນບໍ່ມີຜົນໃນອິນເຕີເຟສຜູ້ໃຊ້ຂອງ Weblate.
ການກວດສອບ ຂະໜາດສູງສຸດຂອງການແປ ທີ່ໃຊ້ເພື່ອຄຳນວນມິຕິຂອງຂໍ້ຄວາມທີ່ສະແດງຜົນ ຕ້ອງການຟອນເພື່ອໂຫຼດເຂົ້າໃນ Weblate ແລະເລືອກໂດຍໃຊ້ທຸງການແປ (ເບິ່ງ ການປັບແຕ່ງພຶດຕິກຳໂດຍໃຊ້ທຸງ (flags)).
ເຄື່ອງມືຈັດການຟອນຂອງ Weblate ໃນ Fonts ພາຍໃຕ້ເມນູ Operations ຂອງໂປຣເຈັກການແປຂອງທ່ານ ໃຫ້ອິນເຕີເຟສເພື່ອອັບໂຫຼດ ແລະຈັດການຟອນ. ຟອນ TrueType ຫຼື OpenType ສາມາດອັບໂຫຼດ, ຕັ້ງຄ່າກຸ່ມຟອນ ແລະໃຊ້ພວກມັນໃນການກວດສອບໄດ້.
ກຸ່ມຟອນຊ່ວຍໃຫ້ທ່ານສາມາດກຳນົດຟອນທີ່ແຕກຕ່າງກັນສຳລັບພາສາທີ່ແຕກຕ່າງກັນ ເຊິ່ງປົກກະຕິແລ້ວຈຳເປັນສຳລັບພາສາທີ່ບໍ່ແມ່ນພາສາລາຕິນ:
ກຸ່ມຟອນຖືກລະບຸດ້ວຍຊື່ ເຊິ່ງບໍ່ສາມາດມີຊ່ອງຫວ່າງ ຫຼືຕົວອັກສອນພິເສດໄດ້ ເພື່ອໃຫ້ສາມາດໃຊ້ໃນຄຳນິຍາມການກວດສອບໄດ້ງ່າຍ:
Font-family ແລະ style ຈະຖືກຮັບຮູ້ໂດຍອັດຕະໂນມັດຫຼັງຈາກອັບໂຫຼດພວກມັນ:
ທ່ານສາມາດມີຟອນຫຼາຍອັນໂຫຼດເຂົ້າໃນ Weblate:
ເພື່ອໃຊ້ຟອນສຳລັບການກວດສອບຄວາມຍາວຂອງຂໍ້ຄວາມ, ໃຫ້ສົ່ງທຸງທີ່ເໝາະສົມໃຫ້ມັນ (ເບິ່ງ ການປັບແຕ່ງພຶດຕິກຳໂດຍໃຊ້ທຸງ (flags)). ທ່ານອາດຈະຕ້ອງການທຸງຕໍ່ໄປນີ້:
max-size:500/max-size:300:5ກຳນົດຄວາມກວ້າງສູງສຸດເປັນພິກເຊວ ແລະ ທາງເລືອກແມ່ນຈຳນວນແຖວສູງສຸດ. ການຕັດຄຳ (Word wrapping) ຈະຖືກນຳໃຊ້ເມື່ອມີການຕັ້ງຄ່າຫຼາຍກວ່າໜຶ່ງແຖວ.
font-family:ubuntuກຳນົດກຸ່ມຟອນທີ່ຈະໃຊ້ໂດຍການລະບຸຕົວລະບຸຂອງມັນ.
font-size:22ກຳນົດຂະໜາດຟອນເປັນພິກເຊວ.
ການຂຽນການກວດສອບຂອງທ່ານເອງ¶
ການກວດສອບຄຸນນະພາບຫຼາກຫຼາຍໄດ້ຖືກລວມມາໃຫ້ແລ້ວ (ເບິ່ງ ການກວດສອບຄຸນນະພາບ), ເຖິງແມ່ນວ່າມັນອາດຈະບໍ່ກວມເອົາທຸກສິ່ງທີ່ທ່ານຕ້ອງການກວດສອບ. ລາຍການການກວດສອບທີ່ປະຕິບັດສາມາດປັບແຕ່ງໄດ້ໂດຍໃຊ້ CHECK_LIST, ແລະທ່ານຍັງສາມາດເພີ່ມການກວດສອບແບບກຳນົດເອງໄດ້ອີກ.
Subclass ຈາກ weblate.checks.Check
ຕັ້ງຄ່າຄຸນລັກສະນະບາງຢ່າງ.
ປະຕິບັດ (Implement) ເມທັອດ
check(ຖ້າທ່ານຕ້ອງການຈັດການກັບຮູບພົດ (plurals) ໃນລະຫັດຂອງທ່ານ) ຫຼືເມທັອດcheck_single(ເຊິ່ງຈະຈັດການໃຫ້ທ່ານ).
ຕົວຢ່າງບາງຢ່າງ:
ເພື່ອຕິດຕັ້ງການກວດສອບແບບກຳນົດເອງ, ໃຫ້ລະບຸເສັ້ນທາງແບບເຕັມ (fully-qualified path) ໄປຍັງ Python class ໃນ CHECK_LIST, ເບິ່ງ ການກວດສອບຄຸນນະພາບແບບກຳນົດເອງ, add-ons, ຄຳແນະນຳອັດຕະໂນມັດ ແລະ ການແກ້ໄຂອັດຕະໂນມັດ.
ການກວດສອບວ່າຂໍ້ຄວາມການແປບໍ່ມີ "foo"¶
ນີ້ແມ່ນການກວດສອບທີ່ງ່າຍດາຍຫຼາຍ ເຊິ່ງພຽງແຕ່ກວດສອບວ່າການແປຂາດຂໍ້ຄວາມ "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
ການກວດສອບວ່າຮູບພົດຂອງຂໍ້ຄວາມການແປພາສາເຊັກ (Czech) ແຕກຕ່າງກັນ¶
ກວດສອບໂດຍໃຊ້ຂໍ້ມູນພາສາເພື່ອຢືນຢັນວ່າສອງຮູບພົດໃນພາສາເຊັກບໍ່ຄືກັນ.
"""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