ການກວດສອບ ແລະການແກ້ໄຂ

ການແກ້ໄຂອັດຕະໂນມັດແບບກຳນົດເອງ

ທ່ານຍັງສາມາດສ້າງການແກ້ໄຂອັດຕະໂນມັດຂອງທ່ານເອງນອກເໜືອໄປຈາກອັນມາດຕະຖານ ແລະລວມພວກມັນໄວ້ໃນ 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 ຢ່າງລະອຽດໂດຍໃຊ້ທຸງ. ທຸງຈະໃຫ້ຂໍ້ມູນສະທ້ອນກັບທາງສາຍຕາແກ່ນັກແປ ແລະຊ່ວຍໃຫ້ພວກເຂົາປັບປຸງການແປຂອງເຂົາເຈົ້າ. ທຸງຈະຖືກລວມມາຈາກແຫຼ່ງຕໍ່ໄປນີ້:

ທຸງຖືກແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ; ຖ້າມັນມີພາຣາມິເຕີ, ພວກມັນຈະຖືກແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຊ້ອນ (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:REGEX

Regular 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 ສາມາດອັບໂຫຼດ, ຕັ້ງຄ່າກຸ່ມຟອນ ແລະໃຊ້ພວກມັນໃນການກວດສອບໄດ້.

ກຸ່ມຟອນຊ່ວຍໃຫ້ທ່ານສາມາດກຳນົດຟອນທີ່ແຕກຕ່າງກັນສຳລັບພາສາທີ່ແຕກຕ່າງກັນ ເຊິ່ງປົກກະຕິແລ້ວຈຳເປັນສຳລັບພາສາທີ່ບໍ່ແມ່ນພາສາລາຕິນ:

../_images/font-group-edit.webp

ກຸ່ມຟອນຖືກລະບຸດ້ວຍຊື່ ເຊິ່ງບໍ່ສາມາດມີຊ່ອງຫວ່າງ ຫຼືຕົວອັກສອນພິເສດໄດ້ ເພື່ອໃຫ້ສາມາດໃຊ້ໃນຄຳນິຍາມການກວດສອບໄດ້ງ່າຍ:

../_images/font-group-list.webp

Font-family ແລະ style ຈະຖືກຮັບຮູ້ໂດຍອັດຕະໂນມັດຫຼັງຈາກອັບໂຫຼດພວກມັນ:

../_images/font-edit.webp

ທ່ານສາມາດມີຟອນຫຼາຍອັນໂຫຼດເຂົ້າໃນ Weblate:

../_images/font-list.webp

ເພື່ອໃຊ້ຟອນສຳລັບການກວດສອບຄວາມຍາວຂອງຂໍ້ຄວາມ, ໃຫ້ສົ່ງທຸງທີ່ເໝາະສົມໃຫ້ມັນ (ເບິ່ງ ການປັບແຕ່ງພຶດຕິກຳໂດຍໃຊ້ທຸງ (flags)). ທ່ານອາດຈະຕ້ອງການທຸງຕໍ່ໄປນີ້:

max-size:500 / max-size:300:5

ກຳນົດຄວາມກວ້າງສູງສຸດເປັນພິກເຊວ ແລະ ທາງເລືອກແມ່ນຈຳນວນແຖວສູງສຸດ. ການຕັດຄຳ (Word wrapping) ຈະຖືກນຳໃຊ້ເມື່ອມີການຕັ້ງຄ່າຫຼາຍກວ່າໜຶ່ງແຖວ.

font-family:ubuntu

ກຳນົດກຸ່ມຟອນທີ່ຈະໃຊ້ໂດຍການລະບຸຕົວລະບຸຂອງມັນ.

font-size:22

ກຳນົດຂະໜາດຟອນເປັນພິກເຊວ.

ການຂຽນການກວດສອບຂອງທ່ານເອງ

ການກວດສອບຄຸນນະພາບຫຼາກຫຼາຍໄດ້ຖືກລວມມາໃຫ້ແລ້ວ (ເບິ່ງ ການກວດສອບຄຸນນະພາບ), ເຖິງແມ່ນວ່າມັນອາດຈະບໍ່ກວມເອົາທຸກສິ່ງທີ່ທ່ານຕ້ອງການກວດສອບ. ລາຍການການກວດສອບທີ່ປະຕິບັດສາມາດປັບແຕ່ງໄດ້ໂດຍໃຊ້ CHECK_LIST, ແລະທ່ານຍັງສາມາດເພີ່ມການກວດສອບແບບກຳນົດເອງໄດ້ອີກ.

  1. Subclass ຈາກ weblate.checks.Check

  2. ຕັ້ງຄ່າຄຸນລັກສະນະບາງຢ່າງ.

  3. ປະຕິບັດ (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