ການປັບແຕ່ງພາສາແບບຕໍ່ເນື່ອງ

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

See also

ການເຊື່ອມໂຍງກັບ Weblate ອະທິບາຍວິທີການພື້ນຖານໃນການເຊື່ອມຕໍ່ການພັດທະນາຂອງທ່ານກັບ Weblate. ການເຊື່ອມຕໍ່ກັບບໍລິການຝາກໂຄ້ດ ລວມລາຍຊື່ຂັ້ນຕອນການຕັ້ງຄ່າສະເພາະຂອງແຕ່ລະຜູ້ໃຫ້ບໍລິການສຳລັບເວັບໄຊຝາກໂຄ້ດທົ່ວໄປ.

ນີ້ຄືຂະບວນການ:

  1. ນັກພັດທະນາເຮັດການປ່ຽນແປງ ແລະ ພຣັຊ (push) ພວກມັນໄປຍັງຮີໂປຊິທໍຣີ VCS.

  2. ທາງເລືອກແມ່ນໄຟລ໌ການແປຈະຖືກອັບເດດ, ເບິ່ງ ການແນະນຳຂໍ້ຄວາມໃໝ່.

  3. Weblate ດຶງການປ່ຽນແປງຈາກຮີໂປຊິທໍຣີ VCS, ແຍກວິເຄາະໄຟລ໌ການແປ ແລະ ອັບເດດຖານຂໍ້ມູນຂອງມັນ, ເບິ່ງ ການອັບເດດຮີໂປຊິທໍຣີ.

  4. ນັກແປສົ່ງການແປໂດຍໃຊ້ເວັບອິນເຕີເຟສຂອງ Weblate, ຫຼື ອັບໂຫຼດການປ່ຽນແປງແບບອອບໄລນ໌.

  5. ເມື່ອນັກແປເຮັດສຳເລັດ, Weblate ຈະຄອມມິດ (commit) ການປ່ຽນແປງໄປຍັງຮີໂປຊິທໍຣີທ້ອງຖິ່ນ (ເບິ່ງ Lazy commits).

  6. ການປ່ຽນແປງຈະຖືກພຣັຊກັບຄືນໄປຍັງຮີໂປຊິທໍຣີຕົ້ນທາງ (ເບິ່ງ ການ Push ການປ່ຽນແປງຈາກ Weblate).

digraph translations { graph [fontname = "sans-serif", fontsize=10, ranksep=0.6, newrank=true]; node [fontname = "sans-serif", fontsize=10, margin=0.15]; edge [fontname = "sans-serif", fontsize=10]; subgraph cluster_codehosting { rank=same; graph [color=lightgrey, label="Upstream code-hosting site", style=filled ]; "VCS repository" [shape=cylinder]; } subgraph cluster_weblate { rank=same; graph [color=lightgrey, label="Weblate", style=filled ]; repo [label="Weblate repository", shape=cylinder]; database [label=Database, shape=cylinder]; } "Developers" [shape=box, fillcolor="#144d3f", fontcolor=white, style=filled]; "Translators" [shape=box, fillcolor="#144d3f", fontcolor=white, style=filled]; "Developers" -> "VCS repository" [label=" 1. Push "]; "VCS repository" -> "VCS repository" [label=" 2. Updating translations ", style=dotted]; "VCS repository" -> repo [label=" 3. Pull "]; repo -> database [label=" 3. Parse translations "]; "database" -> repo [label=" 5. Commit changes "]; "Translators" -> "database" [label=" 4. Translate "]; "repo" -> "VCS repository" [label=" 6. Push repository "]; }

Hint

ເວັບໄຊຝາກໂຄ້ດຕົ້ນທາງແມ່ນບໍ່ຈຳເປັນສະເໝີໄປ, ທ່ານສາມາດໃຊ້ Weblate ຮ່ວມກັບ ໄຟລ໌ພາຍໃນເຄື່ອງ ເຊິ່ງຈະມີພຽງແຕ່ຄັງເກັບໂຄ້ດພາຍໃນ Weblate ເທົ່ານັ້ນ.

ການອັບເດດຮີໂປຊິທໍຣີ

ເຈົ້າຄວນຕັ້ງຄ່າບາງວິທີໃນການອັບເດດຮີໂປຊິທໍຣີເບື້ອງຫຼັງຈາກແຫຼ່ງຂອງພວກມັນ.

ເມື່ອໃດກໍຕາມທີ່ Weblate ອັບເດດຮີໂປຊິທໍຣີ, add-ons ຫຼັງການອັບເດດຈະຖືກກະຕຸ້ນ, ເບິ່ງ ສ່ວນເສີມ.

Matching webhook targets

Forge webhooks update components whose ຄັງເກັບຊອດໂຄ້ດ exactly matches a repository URL from the payload (HTTPS or SSH as reported by the forge, plus common variants such as a trailing slash).

Generic forge webhook endpoints are compatibility interfaces, and ordinary repository deliveries are not cryptographically authenticated. Legacy GitHub App deliveries containing installation data are an exception: the generic GitHub endpoint verifies their signature using GITHUB_LEGACY_APP_WEBHOOK_SECRET. Repository matching does not apply project or component access control because webhooks also need to update private projects and restricted components. Their JSON responses include diagnostic counts for repository, branch, and enabled-hook matches. Successful responses also include the full project/component slugs and absolute API URLs of updated components. Supplying a matching repository URL can therefore confirm that a repository is registered and reveal these identifiers.

Components managed through an authenticated integration are excluded from generic webhook matching and its diagnostic counts. Currently this applies to the GitHub (via Weblate GitHub app) VCS backend. These components receive notifications only through their dedicated tokenized and signed GitHub App webhook URL. Future authenticated integrations are expected to use the same separation.

The returned API URLs do not grant access to the components. The web interface and API continue to enforce normal access control, and webhook responses do not include repository content, translations, or credentials. Where available, prefer an authenticated integration such as App Webhook URL.

Changed in version 2026.9: Host and path suffix fallback matching was removed. If updates stop, align ຄັງເກັບຊອດໂຄ້ດ with a URL from the forge webhook payload.

ການຫຼີກລ່ຽງຂໍ້ຂັດແຍ່ງໃນການລວມ (merge conflicts)

ຂໍ້ຂັດແຍ່ງໃນການລວມຈາກ Weblate ເກີດຂຶ້ນເມື່ອໄຟລ໌ດຽວກັນຖືກປ່ຽນແປງທັງໃນ Weblate ແລະ ພາຍນອກມັນ. ຂຶ້ນຢູ່ກັບສະຖານະການ, ມີຫຼາຍວິທີທີ່ອາດຊ່ວຍໄດ້:

ການຫຼີກລ່ຽງຂໍ້ຂັດແຍ່ງໃນການລວມໂດຍການປ່ຽນແປງໄຟລ໌ການແປໃນ Weblate ເທົ່ານັ້ນ

ການຫຼີກລ່ຽງການແກ້ໄຂນອກ Weblate ແມ່ນງ່າຍດ້ວຍໄຟລ໌ພາສາດຽວ — ເຈົ້າສາມາດເພີ່ມຂໍ້ຄວາມໃໝ່ພາຍໃນ Weblate ແລະ ປ່ອຍໃຫ້ການແກ້ໄຂໄຟລ໌ທັງໝົດຢູ່ທີ່ນັ້ນ. ສຳລັບໄຟລ໌ສອງພາສາ, ປົກກະຕິແລ້ວຈະມີຂະບວນການສະກັດຂໍ້ຄວາມບາງຢ່າງເພື່ອສ້າງໄຟລ໌ທີ່ແປໄດ້ຈາກໂຄດຕົ້ນສະບັບ. ໃນບາງກໍລະນີ, ສິ່ງນີ້ສາມາດແບ່ງອອກເປັນສອງສ່ວນ:

  1. ການສະກັດຈະສ້າງເທມເພລດ (ຕົວຢ່າງ gettext POT ຖືກສ້າງໂດຍໃຊ້ xgettext).

  2. ຂະບວນການຕໍ່ມາຈະລວມມັນເຂົ້າກັບການແປຕົວຈິງ (ໄຟລ໌ gettext PO ຖືກອັບເດດໂດຍໃຊ້ msgmerge).

ເຈົ້າສາມາດປະຕິບັດຂັ້ນຕອນທີສອງພາຍໃນ Weblate ແລະ ມັນຈະຮັບປະກັນວ່າການປ່ຽນແປງທີ່ຄ້າງຢູ່ທັງໝົດຈະຖືກລວມເຂົ້າກ່ອນການດຳເນີນການນີ້.

ການຫຼີກລ່ຽງຂໍ້ຂັດແຍ່ງໃນການລວມໂດຍການລັອກ Weblate ໃນຂະນະທີ່ເຮັດການປ່ຽນແປງພາຍນອກ

ການລວມ Weblate ເຂົ້າໃນຂະບວນການອັບເດດຂອງເຈົ້າເພື່ອໃຫ້ມັນລຶບລ້າງການປ່ຽນແປງກ່ອນທີ່ຈະອັບເດດໄຟລ໌ນອກ Weblate ສາມາດເຮັດໄດ້ໂດຍການໃຊ້ REST API ຂອງ Weblate ເພື່ອບັງຄັບໃຫ້ Weblate ພຣັຊການປ່ຽນແປງທີ່ຄ້າງຢູ່ທັງໝົດ ແລະ ລັອກການແປໃນຂະນະທີ່ເຈົ້າກຳລັງເຮັດການປ່ຽນແປງຢູ່ທາງຝັ່ງຂອງເຈົ້າ.

ສະຄຣິບສຳລັບການອັບເດດສາມາດເບິ່ງຄືກັບນີ້:

# Lock Weblate translation
wlc lock
# Push changes from Weblate to upstream repository
wlc push
# Pull changes from upstream repository to your local copy
git pull
# Update translation files, this example is for Django
./manage.py makemessages --keep-pot -a
git commit -m 'Locale updates' -- locale
# Push changes to upstream repository
git push
# Tell Weblate to pull changes (not needed if Weblate follows your repo
# automatically)
wlc pull
# Unlock translations
wlc unlock

ຖ້າເຈົ້າມີຫຼາຍອົງປະກອບທີ່ໃຊ້ຮີໂປຊິທໍຣີດຽວກັນ, ເຈົ້າຕ້ອງລັອກພວກມັນແຍກຕ່າງຫາກ:

wlc lock foo/bar
wlc lock foo/baz
wlc lock foo/baj

Note

ຕົວຢ່າງໃຊ້ Weblate Client, ເຊິ່ງຕ້ອງການການຕັ້ງຄ່າ (API keys) ເພື່ອໃຫ້ສາມາດຄວບຄຸມ Weblate ຈາກໄລຍະໄກ. ເຈົ້າຍັງສາມາດບັນລຸສິ່ງນີ້ໂດຍໃຊ້ HTTP client ໃດກໍໄດ້ແທນ Weblate Client, ຕົວຢ່າງ curl, ເບິ່ງ REST API ຂອງ Weblate.

ການບຳລຸງຮັກສາຄັງເກັບ

ມຸມມອງ Repository maintenance ສະແດງສະຖານະຮີໂປຊິທໍຣີສຳລັບໂຄງການ, ອົງປະກອບ ຫຼື ການແປ ແລະ ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ທີ່ມີສິດທິພິເສດດຳເນີນການບຳລຸງຮັກສາຈາກອິນເຕີເຟສຜູ້ໃຊ້.

ການກະທຳດຽວກັນຍັງສາມາດຖືກກະຕຸ້ນໂດຍໃຊ້ REST API ຂອງ Weblate ຫຼື, ສຳລັບຊຸດຍ່ອຍທີ່ຮອງຮັບ, Weblate Client.

ຄວາມພ້ອມຂອງການກະທຳແຕ່ລະອັນຂຶ້ນຢູ່ກັບສິດທິ, ລະບົບຄວບຄຸມເວີຊັນທີ່ຕັ້ງຄ່າໄວ້, ບໍ່ວ່າຈະມີການຕັ້ງຄ່າການພຣັຊ (pushing) ຫຼືບໍ່, ແລະ ບໍ່ວ່າວັດຖຸທີ່ເລືອກຈະສາມາດຖືກລັອກໄດ້ຫຼືບໍ່.

ການກະທຳ File management ມີໃຫ້ພຽງແຕ່ຈາກ Repository maintenance ສຳລັບການແປສ່ວນບຸກຄົນເທົ່ານັ້ນ. ການກະທຳເຫຼົ່ານີ້ຈະຂຽນໄຟລ໌ການແປນັ້ນໃໝ່ ແລະ ຄອມມິດຜົນໄດ້ຮັບ; ພວກມັນບໍ່ແມ່ນການດຳເນີນການທົ່ວໂຄງການ ຫຼື ທົ່ວອົງປະກອບ.

ການດຳເນີນການທີ່ອ່ານເນື້ອຫາຮີໂປຊິທໍຣີ, ເຊັ່ນ: ການອັບເດດ, ການຣີເຊັດ, ຫຼື ການສະແກນໃໝ່, ຍັງເຮັດການປອງດອງໄຟລ໌ການແປໃນ Weblate. ໄຟລ໌ການແປທີ່ຖືກເພີ່ມ ຫຼື ລຶບອອກຈະສະທ້ອນໃຫ້ເຫັນຫຼັງຈາກການປະມວນຜົນນີ້ສິ້ນສຸດລົງ. ການຊິ້ງຂໍ້ມູນພາສາອະພິທານສັບ ແລະ ການລຶບລ້າງຂໍ້ມູນຖືກອະທິບາຍໄວ້ໃນ ໄຟລ໌ພາສາ ແລະ ການຊິງໂຄຣໄນ.

ການດຳເນີນການ

ມັນເຮັດຫຍັງ

ການນຳໃຊ້ທົ່ວໄປ

ຄອມມິດ

ຄອມມິດການປ່ຽນແປງທີ່ຄ້າງຢູ່ເຊິ່ງເກັບໄວ້ໃນ Weblate ໄປຍັງຮີໂປຊິທໍຣີທ້ອງຖິ່ນ.

ລຶບລ້າງການປ່ຽນແປງ Weblate ທີ່ຄ້າງຢູ່ກ່ອນທີ່ຈະເຮັດວຽກຮີໂປຊິທໍຣີບ່ອນອື່ນ.

ພຸຊ

ພຣັຊການປ່ຽນແປງຂອງຮີໂປຊິທໍຣີທ້ອງຖິ່ນທີ່ຄອມມິດແລ້ວໄປຍັງຕົ້ນທາງທີ່ຕັ້ງຄ່າໄວ້.

ສົ່ງການແປທີ່ຄອມມິດແລ້ວໄປຍັງຕົ້ນທາງເມື່ອການພຣັຊອັດຕະໂນມັດຖືກປິດໃຊ້ງານ ຫຼື ຖືກຊັກຊ້າ.

ອັບເດດ

ດຶງການປ່ຽນແປງຈາກຕົ້ນທາງ, ລວມເຂົ້າກັບມັນໂດຍໃຊ້ ຮູບແບບການລວມ (Merge style) ທີ່ຕັ້ງຄ່າໄວ້ຂອງອົງປະກອບ, ແລະ ປອງດອງໄຟລ໌ການແປ.

ເຮັດໃຫ້ Weblate ຊິ້ງຂໍ້ມູນກັບຕົ້ນທາງໂດຍໃຊ້ຍຸດທະສາດການລວມແບບເລີ່ມຕົ້ນ.

ອັບເດດດ້ວຍການລວມ

ດຶງການປ່ຽນແປງຈາກຕົ້ນທາງ ແລະ ລວມເຂົ້າກັບມັນດ້ວຍການລວມທີ່ລະບຸຢ່າງຈະແຈ້ງ.

ແທນທີ່ຮູບແບບການລວມແບບເລີ່ມຕົ້ນສຳລັບການອັບເດດດຽວ.

ອັບເດດດ້ວຍການປ່ຽນຖານ (rebase)

ດຶງການປ່ຽນແປງຈາກຕົ້ນທາງ ແລະ ລີເບສ (rebases) ຄອມມິດ Weblate ທ້ອງຖິ່ນໃສ່ເທິງຕົ້ນທາງ.

ຮັກສາປະຫວັດໃຫ້ເປັນເສັ້ນຊື່ເມື່ອສິ່ງນັ້ນກົງກັບຂະບວນການເຮັດວຽກຂອງເຈົ້າ.

ອັບເດດດ້ວຍການລວມແບບບໍ່ມີ fast-forward

ດຶງການປ່ຽນແປງຈາກຕົ້ນທາງ ແລະ ສ້າງຄອມມິດການລວມທີ່ລະບຸຢ່າງຈະແຈ້ງ ເຖິງແມ່ນວ່າການຟັສ-ຟໍຣ໌ເວີດ (fast-forward) ຈະເປັນໄປໄດ້.

ຮັກສາຄອມມິດການລວມໄວ້ເພື່ອເຫດຜົນດ້ານການກວດສອບ ຫຼື ການຈັດການສາຂາ.

ລັອກ / ປົດລັອກ

ປ້ອງກັນ ຫຼື ອະນຸຍາດໃຫ້ນັກແປເຮັດການປ່ຽນແປງເພີ່ມເຕີມໃນ Weblate.

ແຊ່ແຂງ (Freeze) ການປ່ຽນແປງການແປໃນຂະນະທີ່ເຮັດການບຳລຸງຮັກສາຮີໂປຊິທໍຣີພາຍນອກ Weblate.

ຣີເຊັດ ແລະ ຖິ້ມການປ່ຽນແປງ

ຣີເຊັດຮີໂປຊິທໍຣີທ້ອງຖິ່ນຂອງ Weblate ໄປຍັງຕົ້ນທາງ, ຍົກເລີກການປ່ຽນແປງ Weblate ທີ່ຄ້າງຢູ່, ແລະ ປອງດອງໄຟລ໌ການແປ.

ໃຊ້ເມື່ອຕົ້ນທາງຄວນຂຽນທັບສະຖານະຮີໂປຊິທໍຣີ Weblate ທ້ອງຖິ່ນ.

ຣີເຊັດ ແລະ ນຳໃຊ້ຄືນໃໝ່

ຣີເຊັດຮີໂປຊິທໍຣີທ້ອງຖິ່ນຂອງ Weblate ໄປຍັງຕົ້ນທາງ, ປອງດອງໄຟລ໌ການແປ, ແລະ ນຳໃຊ້ການແປທີ່ຄ້າງຢູ່ຄືນໃໝ່. ເບິ່ງ ພຶດຕິກຳການຟື້ນຟູການຣີເຊັດ ແລະ ນຳໃຊ້ຄືນໃໝ່.

ຟື້ນຟູຈາກປະຫວັດທີ່ແຕກຕ່າງໃນຂະນະທີ່ຮັກສາການແປ Weblate ທີ່ຄ້າງຢູ່.

ລ້າງຂໍ້ມູນ

ລຶບໄຟລ໌ທີ່ບໍ່ໄດ້ຕິດຕາມ ແລະ ສາຂາທີ່ເກົ່າແກ່ອອກຈາກການເຊັກເອົາ (checkout) ຮີໂປຊິທໍຣີທ້ອງຖິ່ນ.

ລຶບລ້າງໄຟລ໌ທີ່ເຫຼືອຢູ່ ຫຼື ສະຖານະຮີໂປຊິທໍຣີທີ່ເກົ່າແກ່ໃນການເຊັກເອົາຂອງ Weblate.

ຊິງໂຄຣໄນ

ບັງຄັບໃຫ້ Weblate ຂຽນການແປທີ່ຮູ້ຈັກທັງໝົດກັບຄືນໄປຍັງໄຟລ໌ຮີໂປຊິທໍຣີ.

ສ້ອມແປງກໍລະນີທີ່ໄຟລ໌ຮີໂປຊິທໍຣີບໍ່ຊິ້ງກັບສະຖານະຖານຂໍ້ມູນ.

ສະແກນໃໝ່

ອ່ານໄຟລ໌ການແປຄືນໃໝ່ຈາກຮີໂປຊິທໍຣີທ້ອງຖິ່ນເຂົ້າໄປໃນ Weblate ແລະ ລຶບການແປທີ່ໄຟລ໌ຂອງພວກມັນບໍ່ກົງກັບການຕັ້ງຄ່າອົງປະກອບອີກຕໍ່ໄປ.

ນຳເຂົ້າການປ່ຽນແປງໄຟລ໌ຫຼັງຈາກການເຮັດວຽກຮີໂປຊິທໍຣີດ້ວຍຕົນເອງ ຫຼື ການສ້າງໄຟລ໌.

ລຶບລາຍການທີ່ຊ້ຳກັນ

ລຶບຂໍ້ຄວາມຊ້ຳໆທີ່ມີຕົວລະບຸອັນດຽວກັນອອກຈາກໄຟລ໌ການແປອັນດຽວ.

ສ້ອມແປງຂໍ້ຄວາມຊ້ຳທີ່ Weblate ລາຍງານເມື່ອໄຟລ໌ມີໜ່ວຍຊ້ຳກັນ.

ລ້າງລາຍການທີ່ບໍ່ໄດ້ໃຊ້

ລຶບຂໍ້ຄວາມທີ່ບໍ່ມີຢູ່ໃນໄຟລ໌ພື້ນຖານອີກຕໍ່ໄປອອກຈາກໄຟລ໌ການແປອັນດຽວ. add-on ລຶບລ້າງໄຟລ໌ການແປ ສາມາດປະຕິບັດສິ່ງນີ້ໂດຍອັດຕະໂນມັດ.

ດຳເນີນການລຶບລ້າງຄັ້ງດຽວໂດຍບໍ່ຕ້ອງຕິດຕັ້ງ add-on.

ລຶບລາຍການທີ່ລ້າສະໄໝ

ລຶບຂໍ້ຄວາມທີ່ລ້າສະໄໝອອກຈາກໄຟລ໌ການແປ PO ອັນດຽວ.

ດຳເນີນການລຶບລ້າງ PO ຄັ້ງດຽວໂດຍບໍ່ຕ້ອງເປີດໃຊ້ການລຶບຂໍ້ຄວາມທີ່ລ້າສະໄໝໂດຍອັດຕະໂນມັດ.

ພຶດຕິກຳການຟື້ນຟູການຣີເຊັດ ແລະ ນຳໃຊ້ຄືນໃໝ່

ການດຳເນີນການ Reset and reapply ຈະຮັກສາການແປທີ່ຄ້າງຢູ່ຈາກ Weblate ໃນຂະນະທີ່ຣີເຊັດສະຖານະຮີໂປຊິທໍຣີທ້ອງຖິ່ນໃຫ້ກົງກັບຕົ້ນທາງ.

ການດຳເນີນການສາມາດກູ້ຄືນການແປທີ່ຄ້າງຢູ່ໄດ້ກໍຕໍ່ເມື່ອໄຟລ໌ພາສາເປົ້າໝາຍຍັງມີຢູ່ຫຼັງຈາກການຣີເຊັດ ຫຼື ເມື່ອ Weblate ສາມາດສ້າງພວກມັນສຳລັບອົງປະກອບນັ້ນ, ຕົວຢ່າງໂດຍໃຊ້ ແມ່ແບບສຳລັບການແປໃໝ່ ທີ່ຖືກຕ້ອງ.

ຖ້າບໍ່ມີເງື່ອນໄຂໃດໃນນີ້ຖືກຕອບສະໜອງ, Weblate ຈະຮັກສາການປ່ຽນແປງທີ່ຄ້າງຢູ່ໄວ້ໃນຖານຂໍ້ມູນຂອງມັນ ແລະ ລາຍງານຂໍ້ຜິດພາດການຟື້ນຟູແທນທີ່ຈະລົ້ມເຫຼວພາຍຫຼັງດ້ວຍຂໍ້ຜິດພາດການແຍກວິເຄາະທົ່ວໄປ.

ການຫຼີກລ່ຽງຂໍ້ຂັດແຍ່ງໃນການລວມໂດຍການເນັ້ນໃສ່ການກະທຳຂອງ Git

ເຖິງແມ່ນວ່າ Weblate ຈະເປັນແຫຼ່ງດຽວຂອງການປ່ຽນແປງໃນໄຟລ໌ການແປ, ຂໍ້ຂັດແຍ່ງອາດເກີດຂຶ້ນໄດ້ເມື່ອໃຊ້ add-on ຮວມ Git commits, ຮູບແບບການລວມ (Merge style) ຖືກຕັ້ງຄ່າເປັນ Rebase, ຫຼື ເຈົ້າກຳລັງສະຄວັຊ (squashing) ຄອມມິດນອກ Weblate (ຕົວຢ່າງ, ເມື່ອລວມຄຳຮ້ອງຂໍດຶງຂໍ້ມູນ - pull request).

ເຫດຜົນສຳລັບຂໍ້ຂັດແຍ່ງໃນການລວມແມ່ນແຕກຕ່າງກັນໃນກໍລະນີນີ້. Weblate ສາມາດມີຄອມມິດທ້ອງຖິ່ນໃໝ່ຫຼັງຈາກເຈົ້າລວມຄອມມິດ Weblate ກ່ອນໜ້ານີ້ເຂົ້າກັບຕົ້ນທາງ. ສິ່ງນີ້ມັກຈະເກີດຂຶ້ນຖ້າການລວມບໍ່ໄດ້ເຮັດໂດຍອັດຕະໂນມັດ ແລະ ການປ່ຽນແປງລໍຖ້າເປັນເວລາຫຼາຍມື້ ຫຼື ຫຼາຍອາທິດເພື່ອໃຫ້ມະນຸດກວດສອບ. ບາງຄັ້ງ Git ບໍ່ສາມາດລະບຸການປ່ຽນແປງຕົ້ນທາງວ່າກົງກັບຂອງ Weblate ແລະ ປະຕິເສດທີ່ຈະປະຕິບັດການລີເບສ.

ການລວມແບບສະຄວັຊ (Squash merging) ການປ່ຽນແປງ Weblate ເຮັດໃຫ້ສິ່ງນີ້ຟື້ນຟູໄດ້ຍາກຂຶ້ນ. ການລວມແບບສະຄວັຊຈະສ້າງຄອມມິດໃໝ່ແທນທີ່ຈະຮັກສາຄອມມິດ Weblate ແຕ່ລະອັນໃນປະຫວັດຕົ້ນທາງ. Weblate ຍັງມີຄອມມິດເດີມຢູ່ໃນຮີໂປຊິທໍຣີທ້ອງຖິ່ນ, ແລະ Git ບໍ່ສາມາດພິສູດໄດ້ອີກຕໍ່ໄປວ່າຕົ້ນທາງມີພວກມັນຢູ່ແລ້ວ. ຖ້າຂໍ້ຂັດແຍ່ງຖືກແກ້ໄຂດ້ວຍຕົນເອງ, ເນື້ອຫາໄຟລ໌ອາດແຕກຕ່າງຈາກທັງສອງຮີໂປຊິທໍຣີ, ສະນັ້ນ Weblate ສາມາດສືບຕໍ່ລົ້ມເຫຼວໃນການອັບເດດເຖິງແມ່ນວ່າຫຼັງຈາກຄຳຮ້ອງຂໍດຶງຂໍ້ມູນ (pull request) ໄດ້ຖືກລວມເຂົ້າຕົ້ນທາງແລ້ວ.

ຖ້າຕົ້ນທາງບໍ່ມີຄອມມິດ Weblate ອີກຕໍ່ໄປເພາະວ່າພວກມັນຖືກລວມແບບສະຄວັຊ, ການອັບເດດຮີໂປຊິທໍຣີອາດບໍ່ພຽງພໍ. ໃຊ້ Reset and reapply ຈາກ Repository maintenance ເພື່ອຣີເຊັດ Weblate ໄປຍັງຕົ້ນທາງໃນຂະນະທີ່ຮັກສາການແປທີ່ຄ້າງຢູ່; ເບິ່ງ ພຶດຕິກຳການຟື້ນຟູການຣີເຊັດ ແລະ ນຳໃຊ້ຄືນໃໝ່. ໃຊ້ Reset and discard ເມື່ອຕົ້ນທາງຄວນທົດແທນການປ່ຽນແປງທ້ອງຖິ່ນຂອງ Weblate ຢ່າງສົມບູນເທົ່ານັ້ນ.

ເພື່ອຮັບມືກັບສິ່ງນີ້, ເຈົ້າຈຳເປັນຕ້ອງຫຼຸດຜ່ອນຈຳນວນການປ່ຽນແປງທີ່ຄ້າງຢູ່ໃນ Weblate ເມື່ອເຈົ້າລວມຄຳຮ້ອງຂໍດຶງຂໍ້ມູນ, ຫຼື ຫຼີກລ່ຽງຂໍ້ຂັດແຍ່ງໂດຍການບໍ່ສະຄວັຊການປ່ຽນແປງ.

ນີ້ຄືບາງທາງເລືອກໃນການຫຼີກລ່ຽງສິ່ງນັ້ນ:

  • ຢ່າໃຊ້ ຮວມ Git commits ຫຼື ການລວມແບບສະຄວັຊສຳລັບການປ່ຽນແປງ Weblate. ການສະຄວັຊແມ່ນເຫດຜົນທີ່ Git ອາດບໍ່ຮັບຮູ້ການປ່ຽນແປງຫຼັງຈາກການລວມ.

  • ເມື່ອແກ້ໄຂຂໍ້ຂັດແຍ່ງນອກ Weblate, ໃຫ້ລວມຄອມມິດ Weblate ດ້ວຍຄອມມິດການລວມແບບປົກກະຕິ ແລະ ພຣັຊຜົນນັ້ນໄປຍັງຕົ້ນທາງ. ຢ່າສະຄວັຊລວມຄຳຮ້ອງຂໍດຶງຂໍ້ມູນການແກ້ໄຂຂໍ້ຂັດແຍ່ງ.

  • ໃຫ້ Weblate ຄອມມິດການປ່ຽນແປງທີ່ຄ້າງຢູ່ກ່ອນການລວມ. ສິ່ງນີ້ຈະອັບເດດຄຳຮ້ອງຂໍດຶງຂໍ້ມູນດ້ວຍການປ່ຽນແປງທັງໝົດຂອງມັນ, ແລະ ທັງສອງຮີໂປຊິທໍຣີຈະຊິ້ງຂໍ້ມູນກັນ.

  • ໃຊ້ຄຸນສົມບັດການກວດສອບໃນ Weblate (ເບິ່ງ ຂັ້ນຕອນການເຮັດວຽກຂອງການແປ) ເພື່ອໃຫ້ເຈົ້າສາມາດລວມຄຳຮ້ອງຂໍດຶງຂໍ້ມູນ GitHub ໄດ້ໂດຍອັດຕະໂນມັດຫຼັງຈາກ CI ຜ່ານ.

  • ໃຊ້ການລັອກໃນ Weblate ເພື່ອຫຼີກລ່ຽງການປ່ຽນແປງໃນຂະນະທີ່ຄຳຮ້ອງຂໍດຶງຂໍ້ມູນ GitHub ກຳລັງຢູ່ໃນການກວດສອບ.

See also

Weblate Client

ການແຈ້ງເຕືອນຈາກບໍລິການຝາກໂຄ້ດ

ຄຳແນະນຳແອັບ ແລະ ເວັບຮຸກ (webhook) ສະເພາະຜູ້ໃຫ້ບໍລິການສຳລັບ GitHub, GitLab, Bitbucket, Pagure, Azure Repos, Gitea, Forgejo, ແລະ Gitee ຖືກກວມເອົາໃນ ການເຊື່ອມຕໍ່ກັບບໍລິການຝາກໂຄ້ດ.

ການແຈ້ງເຕືອນສະເພາະຜູ້ໃຫ້ບໍລິການ

ແອນເຄີ (anchors) ເດີມເຫຼົ່ານີ້ຖືກຮັກສາໄວ້ເພື່ອຄວາມເຂົ້າກັນໄດ້. ການຕັ້ງຄ່າແອັບ ແລະ ເວັບຮຸກສະເພາະຜູ້ໃຫ້ບໍລິການໃນປັດຈຸບັນຖືກເອກະສານໄວ້ໃນ ການເຊື່ອມຕໍ່ກັບບໍລິການຝາກໂຄ້ດ.

ການອັບເດດຮີໂປຊິທໍຣີໂດຍອັດຕະໂນມັດໃນຕອນກາງຄືນ

Weblate ດຶງຂໍ້ມູນຮີໂປຊິທໍຣີທາງໄກໂດຍອັດຕະໂນມັດໃນຕອນກາງຄືນເພື່ອປັບປຸງປະສິດທິພາບເມື່ອລວມການປ່ຽນແປງໃນພາຍຫຼັງ. ເຈົ້າສາມາດເລືອກເຮັດໃຫ້ມັນເປັນການລວມໃນຕອນກາງຄືນໄດ້ເຊັ່ນກັນ, ໂດຍການເປີດໃຊ້ AUTO_UPDATE.

ການ Push ການປ່ຽນແປງຈາກ Weblate

ແຕ່ລະອົງປະກອບການແປສາມາດມີການຕັ້ງຄ່າ push URL (ເບິ່ງ URL ສຳລັບ push ຄັງເກັບ), ແລະ ໃນກໍລະນີນັ້ນ Weblate ຈະສາມາດພຣັຊການປ່ຽນແປງໄປຍັງຮີໂປຊິທໍຣີທາງໄກ. Weblate ຍັງສາມາດຖືກຕັ້ງຄ່າໃຫ້ພຣັຊການປ່ຽນແປງໂດຍອັດຕະໂນມັດໃນທຸກຄອມມິດ, ເບິ່ງ Push ເມື່ອບັນທຶກການປ່ຽນແປງ (Commit).

ສຳລັບຕາຕະລາງທາງເລືອກການພຣັຊ ແລະ ຂະບວນການຄຳຮ້ອງຂໍດຶງຂໍ້ມູນ, ລວມ, ແລະ ກວດສອບສະເພາະຜູ້ໃຫ້ບໍລິການ, ເບິ່ງ ການ Push ການປ່ຽນແປງຈາກ Weblate.

See also

ເບິ່ງ ການເຂົ້າເຖິງຄັງເກັບ (repositories) ສຳລັບການຕັ້ງຄ່າ SSH keys, ແລະ Lazy commits ສຳລັບຂໍ້ມູນກ່ຽວກັບເວລາທີ່ Weblate ຕັດສິນໃຈຄອມມິດການປ່ຽນແປງ.

ສາຂາທີ່ຖືກປົກປ້ອງ

ຖ້າເຈົ້າກຳລັງໃຊ້ Weblate ໃນສາຂາທີ່ຖືກປົກປ້ອງ, ເຈົ້າສາມາດຕັ້ງຄ່າມັນໃຫ້ໃຊ້ຄຳຮ້ອງຂໍດຶງຂໍ້ມູນ ແລະ ດຳເນີນການກວດສອບການແປຕົວຈິງ (ສິ່ງທີ່ອາດເປັນບັນຫາສຳລັບພາສາທີ່ເຈົ້າບໍ່ຮູ້). ວິທີທາງເລືອກແມ່ນການຍົກເວັ້ນຂໍ້ຈຳກັດນີ້ສຳລັບຜູ້ໃຊ້ Weblate push.

ຕົວຢ່າງໃນ GitHub ສິ່ງນີ້ສາມາດເຮັດໄດ້ໃນການຕັ້ງຄ່າຮີໂປຊິທໍຣີ:

../_images/github-protected.png

ການພົວພັນກັບຄົນອື່ນ

Weblate ເຮັດໃຫ້ການພົວພັນກັບຄົນອື່ນເປັນເລື່ອງງ່າຍໂດຍໃຊ້ API ຂອງມັນ.

Lazy commits

ພຶດຕິກຳຂອງ Weblate ແມ່ນການຈັດກຸ່ມຄອມມິດຈາກຜູ້ຂຽນດຽວກັນເຂົ້າເປັນຄອມມິດດຽວຖ້າເປັນໄປໄດ້. ສິ່ງນີ້ຊ່ວຍຫຼຸດຈຳນວນຄອມມິດໄດ້ຢ່າງຫຼວງຫຼາຍ, ຢ່າງໃດກໍຕາມເຈົ້າອາດຈະຕ້ອງບອກມັນຢ່າງຈະແຈ້ງໃຫ້ເຮັດຄອມມິດໃນກໍລະນີທີ່ເຈົ້າຕ້ອງການຊິ້ງຮີໂປຊິທໍຣີ VCS, ເຊັ່ນ: ສຳລັບການລວມ (ສິ່ງນີ້ຖືກອະນຸຍາດໂດຍຄ່າເລີ່ມຕົ້ນສຳລັບກຸ່ມ Managers, ເບິ່ງ ລາຍຊື່ສິດທິ).

ການປ່ຽນແປງໃນໂໝດນີ້ຈະຖືກຄອມມິດເມື່ອເງື່ອນໄຂໃດໜຶ່ງຕໍ່ໄປນີ້ຖືກຕອບສະໜອງ:

  • ຜູ້ອື່ນປ່ຽນແປງຂໍ້ຄວາມທີ່ຖືກປ່ຽນແປງແລ້ວ.

  • ການລວມຈາກຕົ້ນທາງເກີດຂຶ້ນ.

  • ມີການຮ້ອງຂໍຄອມມິດຢ່າງຈະແຈ້ງ.

  • ມີການຮ້ອງຂໍດາວໂຫຼດໄຟລ໌.

  • ການປ່ຽນແປງເກົ່າກວ່າໄລຍະເວລາທີ່ກຳນົດເປັນ ອາຍຸຂອງການປ່ຽນແປງທີ່ຈະ commit ໃນ ການຕັ້ງຄ່າ Component.

Hint

ຄອມມິດຈະຖືກສ້າງຂຶ້ນສຳລັບທຸກອົງປະກອບ. ສະນັ້ນໃນກໍລະນີທີ່ເຈົ້າມີຫຼາຍອົງປະກອບ ເຈົ້າຍັງຈະເຫັນຄອມມິດຈຳນວນຫຼາຍ. ເຈົ້າອາດໃຊ້ add-on ຮວມ Git commits ໃນກໍລະນີນັ້ນ.

ຖ້າເຈົ້າຕ້ອງການຄອມມິດການປ່ຽນແປງເລື້ອຍໆຂຶ້ນ ແລະ ໂດຍບໍ່ຕ້ອງກວດສອບອາຍຸ, ເຈົ້າສາມາດຕັ້ງຕາຕະລາງວຽກງານປົກກະຕິເພື່ອປະຕິບັດຄອມມິດ. ສິ່ງນີ້ສາມາດເຮັດໄດ້ໂດຍໃຊ້ Periodic Tasks ໃນ ອິນເຕີເຟດຜູ້ດູແລ Django. ກ່ອນອື່ນໃຫ້ສ້າງ Interval ທີ່ຕ້ອງການ (ຕົວຢ່າງ 120 ວິນາທີ). ຈາກນັ້ນເພີ່ມວຽກງານປົກກະຕິໃໝ່ ແລະ ເລືອກ weblate.trans.tasks.commit_pending ເປັນ Task ດ້ວຍ {"hours": 0} ເປັນ Keyword Arguments ແລະ ໄລຍະເວລາທີ່ຕ້ອງການ.

ການປະມວນຜົນຮີໂປຊິທໍຣີດ້ວຍສະຄຣິບ

ວິທີການປັບແຕ່ງວິທີທີ່ Weblate ພົວພັນກັບຮີໂປຊິທໍຣີແມ່ນ ສ່ວນເສີມ. ເບິ່ງ ການດຳເນີນການສະຄຣິບຈາກສ່ວນເສີມ ສຳລັບຂໍ້ມູນກ່ຽວກັບວິທີປະຕິບັດສະຄຣິບພາຍນອກຜ່ານ add-ons.

ການຮັກສາການແປໃຫ້ຄືກັນໃນທຸກອົງປະກອບ

ເມື່ອເຈົ້າມີຫຼາຍອົງປະກອບການແປ, ເຈົ້າອາດຕ້ອງການຮັບປະກັນວ່າຂໍ້ຄວາມດຽວກັນມີການແປດຽວກັນ. ສິ່ງນີ້ສາມາດບັນລຸໄດ້ໃນຫຼາຍລະດັບ.

ການແຜ່ຂະຫຍາຍການແປ

ດ້ວຍການເປີດໃຊ້ ອະນຸຍາດການກະຈາຍການແປ (ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ, ເບິ່ງ ການຕັ້ງຄ່າ Component), ການແປໃໝ່ທັງໝົດຈະຖືກເຮັດໂດຍອັດຕະໂນມັດໃນທຸກອົງປະກອບທີ່ມີຂໍ້ຄວາມທີ່ກົງກັນ. ການແປດັ່ງກ່າວຈະຖືກໃຫ້ເຄຣດິດຢ່າງຖືກຕ້ອງແກ່ຜູ້ໃຊ້ທີ່ກຳລັງແປໃນທຸກອົງປະກອບ.

ເງື່ອນໄຂເບື້ອງຕົ້ນຂອງການແຜ່ຂະຫຍາຍ:

  • ທຸກອົງປະກອບຕ້ອງຢູ່ໃນໂຄງການດຽວ (ການເຊື່ອມໂຍງອົງປະກອບບໍ່ພຽງພໍ).

  • ເປີດໃຊ້ ອະນຸຍາດການກະຈາຍການແປ ເພື່ອນຳໃຊ້ການແປຄືນໃໝ່ໂດຍອັດຕະໂນມັດສຳລັບຂໍ້ຄວາມທີ່ກົງກັນ.

  • ການແຜ່ຂະຫຍາຍການແປຕ້ອງການໃຫ້ຄີກົງກັນສຳລັບຮູບແບບການແປພາສາດຽວ, ສະນັ້ນຈົ່ງຈື່ໄວ້ເມື່ອສ້າງຄີການແປ.

  • ຂໍ້ຄວາມຈະຖືກແຜ່ຂະຫຍາຍໃນຂະນະທີ່ແປ, ຂໍ້ຄວາມທີ່ໂຫຼດຈາກຮີໂປຊິທໍຣີຈະບໍ່ຖືກແຜ່ຂະຫຍາຍ.

Tip

ປັດຈຸບັນຄຸນສົມບັດນີ້ມີຂໍ້ຈຳກັດ, ແລະ ພວກເຮົາຕ້ອງການເຮັດໃຫ້ມັນເປັນສາກົນຫຼາຍຂຶ້ນ. ກະລຸນາແບ່ງປັນຄຳຕິຊົມຂອງເຈົ້າທີ່ https://github.com/WeblateOrg/weblate/issues/3166.

ການກວດສອບຄວາມສອດຄ່ອງ

ການກວດສອບ ບໍ່ສອດຄ່ອງກັນ ຈະເຮັດວຽກເມື່ອໃດກໍຕາມທີ່ຂໍ້ຄວາມແຕກຕ່າງກັນ. ເຈົ້າສາມາດໃຊ້ສິ່ງນີ້ເພື່ອທົບທວນຄວາມແຕກຕ່າງດັ່ງກ່າວດ້ວຍຕົນເອງ ແລະ ເລືອກການແປທີ່ຖືກຕ້ອງ.

ການແປອັດຕະໂນມັດ

ການແປອັດຕະໂນມັດໂດຍອີງໃສ່ອົງປະກອບຕ່າງໆສາມາດເປັນວິທີໃນການຊິ້ງການແປຂ້າມອົງປະກອບ. ເຈົ້າສາມາດກະຕຸ້ນມັນດ້ວຍຕົນເອງ (ເບິ່ງ ການແປອັດຕະໂນມັດ) ຫຼື ເຮັດໃຫ້ມັນເຮັດວຽກໂດຍອັດຕະໂນມັດໃນການອັບເດດຮີໂປຊິທໍຣີໂດຍໃຊ້ add-on (ເບິ່ງ ການແປອັດຕະໂນມັດ).