Weblate Client

ການຕິດຕັ້ງ

The Weblate Client is shipped separately and includes the Python module. The source code is maintained in the WeblateOrg/wlc repository. To use the commands below, you need to install wlc using pip:

pip install wlc

ທ່ານຍັງສາມາດລັນມັນໄດ້ໂດຍກົງໂດຍໃຊ້ uvx:

uvx wlc --help

Hint

ທ່ານຍັງສາມາດໃຊ້ wlc ນີ້ເປັນໂມດູນ Python ໄດ້, ເບິ່ງ wlc.

ການໃຊ້ Docker

ຕົວລູກຄ້າ Weblate ຍັງມີໃຫ້ໃຊ້ໃນຮູບແບບ Docker image.

ຮູບພາບ (Images) ຖືກເຜີຍແຜ່ໃນ Docker Hub ແລະ GitHub Container Registry. ຕົວຢ່າງດ້ານລຸ່ມນີ້ຈະໃຊ້ຊື່ຮູບພາບຈາກ Docker Hub.

ການຕິດຕັ້ງ:

docker pull weblate/wlc

The following tags are available:

latest

Latest stable release.

ເວີຊັນເຕັມ, ຕົວຢ່າງ: 2.2.0

A specific stable release.

ເວີຊັນຫຼັກ, ຕົວຢ່າງ: 2

Latest stable release in that major series.

edge

ເວີຊັນທີ່ກຳລັງພັດທະນາປັດຈຸບັນຈາກສາຂາຫຼັກ.

edge-YYYY-MM-DD-COMMIT

ພາບລວມການພັດທະນາ (snapshot) ທີ່ລະບຸສະເພາະ.

ເພື່ອສ້າງຮູບພາບຈາກການ Checkout ຊອດໂຄ້ດ:

docker build -t weblate/wlc .

Docker container ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງ Weblate Client ແລະ ເຊື່ອມຕໍ່ກັບ API ທີ່ຕິດຕັ້ງຢູ່ localhost. ໃຫ້ຕັ້ງຄ່າ API URL ແລະ API key ໂດຍໃຊ້ພາກສ່ວນເສີມຂອງ wlc ປົກກະຕິ ຫຼື ຕົວປ່ຽນສະພາບແວດລ້ອມ, ຕົວຢ່າງ --url, --key, WLC_URL, ແລະ WLC_KEY. ໂດຍຄ່າເລີ່ມຕົ້ນ, API key ຈະຖືກປະຕິເສດຜ່ານ URL ທີ່ເປັນ http:// ທີ່ບໍ່ແມ່ນ local; ໃຫ້ໃຊ້ HTTPS, loopback HTTP ສຳລັບການພັດທະນາພາຍໃນເຄື່ອງ, ຫຼື ເລືອກໃຊ້ HTTP ທີ່ບໍ່ປອດໄພຢ່າງຊັດເຈນ.

ຄຳສັ່ງເພື່ອເປີດໃຊ້ container ແມ່ນໃຊ້ຮູບແບບດັ່ງນີ້:

docker run --rm weblate/wlc [WLC_ARGS]

ຕົວຢ່າງ:

docker run --rm weblate/wlc --url https://hosted.weblate.org/api/ list-projects

ທ່ານອາດຈະຕ້ອງການສົ່ງ ໄຟລ໌ຕັ້ງຄ່າ ຂອງທ່ານໄປຍັງ Docker container. ເມື່ອຄັງເກັບຂໍ້ມູນຂອງທ່ານມີການຕັ້ງຄ່າໂຄງການເຊັ່ນ .weblate, ວິທີທີ່ງ່າຍທີ່ສຸດແມ່ນການເພີ່ມໄດເຣັກທໍຣີປະຈຸບັນຂອງທ່ານເປັນ /home/weblate volume:

docker run --volume $PWD:/home/weblate --rm weblate/wlc show

When the mounted repository provides the API URL in project configuration and you pass an unscoped API key to the container, also pin the URL explicitly: WLC_KEY requires WLC_URL, and --key requires --url. The same pairing is required for the --allow-insecure-http and --allow-insecure-ssl overrides.

If the configured API URL uses non-local http:// and an API key is provided, the container refuses to send the key unless insecure HTTP is explicitly enabled. Prefer HTTPS; for legacy deployments, pass --allow-insecure-http or set WLC_ALLOW_INSECURE_HTTP. TLS certificates are always verified by default, including for loopback URLs. Use --allow-insecure-ssl or WLC_ALLOW_INSECURE_SSL only when certificate verification can not be enabled.

ການເລີ່ມຕົ້ນໃຊ້ງານ

ວິທີທີ່ງ່າຍທີ່ສຸດໃນການເລີ່ມຕົ້ນແມ່ນການສ້າງການຕັ້ງຄ່າ wlc ສ່ວນຕົວໃນ ~/.config/weblate (ເບິ່ງ ໄຟລ໌ຕັ້ງຄ່າ ສຳລັບກົດເກນການຊອກຫາທັງໝົດ ແລະ ສະຖານທີ່ອື່ນໆ):

[weblate]
url = https://hosted.weblate.org/api/

[keys]
https://hosted.weblate.org/api/ = APIKEY

ຈາກນັ້ນທ່ານສາມາດເອີ້ນໃຊ້ຄຳສັ່ງໃນເຊີເວີເລີ່ມຕົ້ນໄດ້:

wlc ls
wlc commit sandbox/hello-world

ການຕັ້ງຄ່າແບບເກົ່າ

Changed in version 1.17: ການຕັ້ງຄ່າແບບເກົ່າທີ່ໃຊ້ key ແບບບໍ່ລະບຸຂອບເຂດແມ່ນບໍ່ຮອງຮັບອີກຕໍ່ໄປ.

Changed in version 2.2.0: ການຕັ້ງຄ່າ allow_insecure_http ແບບທົ່ວໂລກບໍ່ໄດ້ຮັບການຮອງຮັບອີກຕໍ່ໄປ. ໃຫ້ຕັ້ງຄ່າແຫຼ່ງທີ່ມາ (origin) ໃນສ່ວນ [insecure_http] ແທນ.

ຍ້າຍການຕັ້ງຄ່າແບບເກົ່າ:

[weblate]
url = https://hosted.weblate.org/api/
key = YOUR_KEY_HERE

ໄປເປັນການຕັ້ງຄ່າທີ່ມີຄີລະບຸຂອບເຂດຕາມ API URL:

[weblate]
url = https://hosted.weblate.org/api/

[keys]
https://hosted.weblate.org/api/ = YOUR_KEY_HERE

ພາບລວມຄຳສັ່ງ

wlc [arguments] <command> [options]

ຄຳສັ່ງຈະລະບຸວ່າຄວນຈະດຳເນີນການໃດ.

ຄຳອະທິບາຍ

Weblate Client is a Python library and command-line utility to manage Weblate remotely using REST API ຂອງ Weblate. Invoke the command-line utility as wlc; see wlc for the Python API.

ພາກສ່ວນເສີມ (Arguments)

ໂປຣແກຣມຮອງຮັບພາກສ່ວນເສີມດັ່ງຕໍ່ໄປນີ້ ເຊິ່ງກຳນົດຮູບແບບການສະແດງຜົນ ຫຼື ກຳນົດວ່າຈະໃຊ້ Weblate ອິນສະແຕນຊ໌ (instance) ໃດ. ສິ່ງເຫຼົ່ານີ້ຕ້ອງຖືກປ້ອນກ່ອນຄຳສັ່ງໃດໆ.

--format {csv,json,text,html}

Specify the output format. The default is text.

--version

ສະແດງເວີຊັນຂອງໂປຣແກຣມແລ້ວອອກ. ຄຳສັ່ງ version ຮອງຮັບການຈັດຮູບແບບການສະແດງຜົນ ແລະ ສາມາດສະແດງສະເພາະເລກເວີຊັນໄດ້.

--debug

ສະແດງລາຍລະອຽດການສື່ສານ HTTP. ຄ່າໃນສ່ວນຫົວການຢືນຢັນຕົວຕົນ (Authorization header) ຈະຖືກປິດບັງ ແລະ ສ່ວນເນື້ອໃນຄຳຮ້ອງ (request bodies) ຈະບໍ່ຖືກບັນທຶກ, ແຕ່ query parameters ຈະຖືກບັນທຶກ; ຫ້າມໃສ່ຂໍ້ມູນລັບໃນ query parameters.

--url URL

ກຳນົດ API URL. ຈະທັບຊ້ອນຄ່າໃດໆທີ່ພົບໃນໄຟລ໌ຕັ້ງຄ່າ, ເບິ່ງ ໄຟລ໌ຕັ້ງຄ່າ. URL ຄວນລົງທ້າຍດ້ວຍ /api/, ຕົວຢ່າງ https://hosted.weblate.org/api/.

--key KEY

ກຳນົດ API user key ທີ່ຈະໃຊ້. ຈະທັບຊ້ອນຄ່າໃດໆທີ່ພົບໃນໄຟລ໌ຕັ້ງຄ່າ, ເບິ່ງ ໄຟລ໌ຕັ້ງຄ່າ. ທ່ານສາມາດຊອກຫາຄີຂອງທ່ານໄດ້ໃນໂປຣໄຟລ໌ຂອງທ່ານໃນ Weblate. ເມື່ອ API URL ຖືກໂຫຼດຈາກການຕັ້ງຄ່າໂຄງການທີ່ກວດພົບໂດຍອັດຕະໂນມັດ, ຕ້ອງໃຊ້ --key ຮ່ວມກັບ --url. ໂດຍຄ່າເລີ່ມຕົ້ນ, API key ຈະຖືກປະຕິເສດຜ່ານ URL ທີ່ເປັນ http:// ທີ່ບໍ່ແມ່ນ local.

--allow-insecure-http

Allow sending API keys over non-local http:// URLs. Prefer HTTPS or loopback HTTP instead; this option is intended only for legacy deployments where HTTPS is not available. This option only enables insecure HTTP for the current run. When the API URL comes from automatically discovered project configuration, this option requires --url.

--allow-insecure-ssl

ປິດໃຊ້ງານການກວດສອບໃບຢັ້ງຢືນ TLS ສຳລັບການລັນປັດຈຸບັນ. ໂດຍເລີ່ມຕົ້ນ ໃບຢັ້ງຢືນຈະຖືກກວດສອບ ສຳລັບທຸກ URL ທີ່ເປັນ HTTPS, ລວມທັງ loopback URLs. ເມື່ອ API URL ມາຈາກ ການຄົ້ນຫາການຕັ້ງຄ່າໂຄງການໂດຍອັດຕະໂນມັດ, ຕົວເລືອກນີ້ຈະຕ້ອງໃຊ້ຮ່ວມກັບ --url.

--config PATH

ໂຫຼດການຕັ້ງຄ່າຈາກ PATH ເທົ່ານັ້ນ ແທນທີ່ຈະເປັນໄຟລ໌ຕັ້ງຄ່າສ່ວນກາງ ແລະ ໄຟລ໌ຕັ້ງຄ່າໂຄງການທີ່ກວດພົບ, ເບິ່ງ ໄຟລ໌ຕັ້ງຄ່າ.

--config-section SECTION

Selects the configuration file section to use instead of [weblate], see ໄຟລ໌ຕັ້ງຄ່າ.

Object paths

ຄຳສັ່ງທີ່ດຳເນີນການກັບອັອບເຈັກຈະຍອມຮັບເສັ້ນທາງໃດໜຶ່ງດັ່ງນີ້:

PROJECT

Project slug.

PROJECT/COMPONENT

Component slug, including its project.

PROJECT/COMPONENT/LANGUAGE

Translation language, including its project and component.

UNIT_ID

ID ຂອງໜ່ວຍການແປ (translation unit ID) ທີ່ເປັນຕົວເລກ. ສະເພາະຄຳສັ່ງທີ່ຮອງຮັບ units ຢ່າງຈະແຈ້ງເທົ່ານັ້ນທີ່ຈະຍອມຮັບຮູບແບບນີ້.

ຄຳສັ່ງທີ່ຕ້ອງການອັອບເຈັກຈະໃຊ້ການຕັ້ງຄ່າ translation ຈາກ ໄຟລ໌ຕັ້ງຄ່າ ເມື່ອບໍ່ມີການລະບຸເສັ້ນທາງ. ຄຳສັ່ງ ls ແລະ download ຍັງຈະໃຊ້ ການຕັ້ງຄ່ານີ້ ກ່ອນທີ່ຈະກັບໄປໃຊ້ພຶດຕິກຳແບບບໍ່ມີອັອບເຈັກ. ສຳລັບ list-components ແລະ list-translations, ຫາກບໍ່ລະບຸອັອບເຈັກ ຈະໝາຍເຖິງການຂໍລາຍຊື່ທົ່ວທັງລະບົບສະເໝີ.

ຄຳສັ່ງ

ຄຳສັ່ງທີ່ມີໃຫ້ໃຊ້ມີດັ່ງນີ້:

version

ສະແດງເວີຊັນປະຈຸບັນ.

--bare

Prints only the version number.

list-languages

Lists all languages in Weblate.

list-projects

Lists all projects in Weblate.

list-components

Lists all components in Weblate, or components in the specified project.

list-translations

Lists all translations in Weblate, or translations in the specified component.

list-units

Lists units in the specified translation.

--query QUERY

ກັ່ນຕອງໜ່ວຍການແປໂດຍໃຊ້ ໄວຍາກອນຄຳສັ່ງຄົ້ນຫາ.

show

Shows a project, component, translation, or unit.

delete

Deletes a project, component, translation, or unit without a confirmation prompt.

ls

Lists all projects when no object is specified, components in a project, or translations in a component.

commit

ຄອມມິດການປ່ຽນແປງທີ່ເຮັດໃນວັດຖຸ Weblate (ການແປ, ອົງປະກອບ ຫຼື ໂຄງການ).

pull

ດຶງ (Pull) ການປ່ຽນແປງຈາກຄັງເກັບຂໍ້ມູນທາງໄກເຂົ້າໃນວັດຖຸ Weblate (ການແປ, ອົງປະກອບ ຫຼື ໂຄງການ).

push

ພຸດ (Push) ການປ່ຽນແປງຂອງວັດຖຸ Weblate ເຂົ້າໃນຄັງເກັບຂໍ້ມູນທາງໄກ (ການແປ, ອົງປະກອບ ຫຼື ໂຄງການ).

reset

ຣີເຊັດການປ່ຽນແປງໃນວັດຖຸ Weblate ໃຫ້ກົງກັບຄັງເກັບຂໍ້ມູນທາງໄກ (ການແປ, ອົງປະກອບ ຫຼື ໂຄງການ).

cleanup

ລຶບການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕິດຕາມໃນວັດຖຸ Weblate ເພື່ອໃຫ້ກົງກັບຄັງເກັບຂໍ້ມູນທາງໄກ (ການແປ, ອົງປະກອບ ຫຼື ໂຄງການ).

repo

ສະແດງສະຖານະຄັງເກັບຂໍ້ມູນສຳລັບວັດຖຸ Weblate ທີ່ລະບຸ (ການແປ, ອົງປະກອບ ຫຼື ໂຄງການ).

stats

ສະແດງສະຖິຕິລະອຽດສຳລັບວັດຖຸ Weblate ທີ່ລະບຸ (ການແປ, ອົງປະກອບ ຫຼື ໂຄງການ).

lock-status

Displays the lock status of a component.

lock

ລັອກອົງປະກອບເພື່ອບໍ່ໃຫ້ມີການແປຕໍ່ໃນ Weblate.

unlock

ປົດລັອກການແປຂອງອົງປະກອບ Weblate.

changes

Displays changes for a project, component, or translation.

download

ດາວໂຫລດໄຟລ໌ການແປ. ສຳລັບການແປໃດໜຶ່ງ, wlc ຈະຂຽນໄຟລ໌ລົງໃນ --output ຫຼື ສົ່ງໄປຍັງ standard output. ມັນຈະປະຕິເສດການຂຽນເນື້ອໃນໄຟລ໌ດິບລົງໃນເທີມີນໍ (terminal) ແບບໂຕ້ຕອບ.

ສຳລັບສ່ວນປະກອບ ຫຼື ໂຄງການ, ຕ້ອງລະບຸ --output ແລະ ຈະຖືກຖືວ່າເປັນໂຟນເດີ. wlc ຈະຂຽນໄຟລ໌ ZIP ໜຶ່ງໄຟລ໌ຕໍ່ໜຶ່ງສ່ວນປະກອບ. ຫາກບໍ່ມີອັອບເຈັກ, ມັນຈະດາວໂຫລດທຸກສ່ວນປະກອບໃນລະບົບ Weblate ດ້ວຍວິທີດຽວກັນ.

--convert FORMAT

ຮ້ອງຂໍການແປງເປັນ FORMAT ໃນເຊີບເວີ. ຫາກບໍ່ໄດ້ລະບຸ, ຈະບໍ່ມີການແປງໃດໆເກີດຂຶ້ນ.

--output PATH

ລະບຸໄຟລ໌ຂາອອກສຳລັບການແປ ຫຼື ໂຟນເດີຂາອອກສຳລັບສ່ວນປະກອບ, ໂຄງການ ຫຼື ການດາວໂຫລດທົ່ວທັງລະບົບ. ໃຊ້ - ເພື່ອຂຽນການແປລົງໃນ standard output.

--no-glossary

ບໍ່ລວມສ່ວນປະກອບອະພິທານສັບ (glossary) ຈາກການດາວໂຫລດສ່ວນປະກອບ, ໂຄງການ ແລະ ທົ່ວທັງລະບົບ.

upload

ອັບໂຫຼດໄຟລ໌ການແປ.

--overwrite

ຂຽນທັບຂໍ້ຄວາມທີ່ແປແລ້ວທີ່ມີຢູ່. ນີ້ມີຄ່າເທົ່າກັບ --conflicts replace-translated.

--conflicts {ignore,replace-translated,replace-approved}

ເລືອກວິທີຈັດການເມື່ອເກີດຂໍ້ຂັດແຍ່ງກັບການແປທີ່ມີຢູ່.

--input PATH

ອ່ານເນື້ອໃນຈາກ PATH. ຫາກບໍ່ໄດ້ລະບຸ ຫຼື ເປັນ -, ເນື້ອໃນຈະຖືກອ່ານຈາກ standard input.

--method {translate,approve,suggest,fuzzy,replace,source,add}

Upload method to use, see ວິທີການນຳເຂົ້າ. The default is translate.

--fuzzy {process,approve}

ເລືອກການປະມວນຜົນຂໍ້ຄວາມທີ່ບໍ່ຊັດເຈນ (fuzzy) (ທີ່ຖືກໝາຍໄວ້ເພື່ອແກ້ໄຂ).

--author-name NAME

ຊື່ຜູ້ຂຽນ, ເພື່ອທັບຊ້ອນຜູ້ໃຊ້ທີ່ຢືນຢັນຕົວຕົນໃນປະຈຸບັນ

--author-email EMAIL

ອີເມວຜູ້ຂຽນ, ເພື່ອທັບຊ້ອນຜູ້ໃຊ້ທີ່ຢືນຢັນຕົວຕົນໃນປະຈຸບັນ

edit-unit

ອັບເດດໜ່ວຍການແປ. ຕ້ອງມີຕົວເລືອກການອັບເດດຢ່າງໜ້ອຍໜຶ່ງຢ່າງ.

--target TARGET [TARGET ...]

Sets one or more translated strings.

--state STATE

ຕັ້ງສະຖານະໜ່ວຍການແປ: 0 ສຳລັບຫວ່າງເປົ່າ, 10 ສຳລັບ fuzzy, 20 ສຳລັບແປແລ້ວ, ຫຼື 30 ສຳລັບອະນຸມັດແລ້ວ.

--explanation EXPLANATION

Sets the string explanation.

--extra-flags FLAGS

Sets additional string flags.

Hint

ທ່ານສາມາດເບິ່ງຂໍ້ມູນລະອຽດເພີ່ມເຕີມກ່ຽວກັບການໃຊ້ແຕ່ລະຄຳສັ່ງໄດ້ໂດຍການສົ່ງ --help, ຕົວຢ່າງ: wlc ls --help.

ໄຟລ໌ຕັ້ງຄ່າ

ເມື່ອມີການລະບຸ --config, wlc ຈະໂຫຼດສະເພາະໄຟລ໌ນັ້ນ.

ຫາກບໍ່ມີ --config, wlc ຈະໂຫຼດໄຟລ໌ຕັ້ງຄ່າສ່ວນກາງທີ່ກວດພົບຈາກສະຖານທີ່ມາດຕະຖານຕາມແຕ່ລະລະບົບກ່ອນ:

C:\Users\NAME\AppData\Roaming\weblate.ini

ໄຟລ໌ຕັ້ງຄ່າສ່ວນກາງໃນ Windows ໃນ roamed profile.

C:\Users\NAME\AppData\Local\weblate.ini

ໄຟລ໌ຕັ້ງຄ່າສ່ວນກາງໃນ Windows ໃນ local profile.

~/.config/weblate

ໄຟລ໌ຕັ້ງຄ່າສ່ວນກາງໃນລະບົບທີ່ຄ້າຍຄື Unix.

~/.config/weblate.ini

Alternative global configuration filename on Unix-like systems.

/etc/xdg/weblate

ໄຟລ໌ຕັ້ງຄ່າສຳຮອງສຳລັບທັງລະບົບ.

/etc/xdg/weblate.ini

Alternative system-wide fallback filename.

ໂປຣແກຣມປະຕິບັດຕາມຂໍ້ກຳນົດ XDG, ດັ່ງນັ້ນທ່ານສາມາດປັບປ່ຽນຕຳແໜ່ງຂອງໄຟລ໌ຕັ້ງຄ່າໄດ້ໂດຍໃຊ້ຕົວປ່ຽນສະພາບແວດລ້ອມ XDG_CONFIG_HOME ຫຼື XDG_CONFIG_DIRS.

ໃນ Windows, ໄດເຣັກທໍຣີ APPDATA ແລະ LOCALAPPDATA ແມ່ນສະຖານທີ່ທີ່ແນະນຳສຳລັບໄຟລ໌ຕັ້ງຄ່າ.

ຫຼັງຈາກໂຫຼດການຕັ້ງຄ່າສ່ວນກາງແລ້ວ, wlc ຈະໂຫຼດໄຟລ໌ຕັ້ງຄ່າໂຄງການທີ່ໃກ້ທີ່ສຸດຈາກໄດເຣັກທໍຣີປະຈຸບັນ ຫຼື ໄດເຣັກທໍຣີຫຼັກ:

.weblate, .weblate.ini, weblate.ini

ໄຟລ໌ຕັ້ງຄ່າໂຄງການທີ່ວາງໄວ້ໃນຄັງເກັບຂໍ້ມູນ.

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

ຈະມີພຽງໄຟລ໌ຕັ້ງຄ່າໂຄງການທີ່ໃກ້ທີ່ສຸດເທົ່ານັ້ນທີ່ຈະຖືກໂຫຼດ. ໄຟລ໌ຕັ້ງຄ່າໃນໄດເຣັກທໍຣີຫຼັກທີ່ຢູ່ໄກອອກໄປຈະຖືກລະເລີຍ.

ການຕັ້ງຄ່າຕໍ່ໄປນີ້ສາມາດຕັ້ງຄ່າໄດ້ໃນສ່ວນ [weblate] (ທ່ານສາມາດປັບແຕ່ງສິ່ງນີ້ໄດ້ໂດຍ --config-section):

key

Removed in version 1.17: ໃຊ້ສ່ວນ [keys] ເພື່ອກຳນົດຄີທີ່ລະບຸຂອບເຂດສຳລັບແຕ່ລະ API URL, ເບິ່ງ ການຕັ້ງຄ່າແບບເກົ່າ.

url

API server URL, ຄ່າເລີ່ມຕົ້ນແມ່ນ http://127.0.0.1:8000/api/.

translation

ເສັ້ນທາງອັອບເຈັກເລີ່ມຕົ້ນສຳລັບຄຳສັ່ງທີ່ຍອມຮັບມັນ: ໂຄງການ, ສ່ວນປະກອບ, ການແປ, ຫຼື ID ຂອງໜ່ວຍການແປທີ່ເປັນຕົວເລກ.

retries, timeout, allowed_methods, backoff_factor, status_forcelist

ການຕັ້ງຄ່າການລອງໃໝ່ ແລະ ການໝົດເວລາຂອງຄຳຮ້ອງ HTTP. retries ເລີ່ມຕົ້ນທີ່ 0 ແລະ backoff_factor ເປັນ 0. status_forcelist ແມ່ນລາຍຊື່ລະຫັດສະຖານະ HTTP ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ ເຊິ່ງຈະເຮັດໃຫ້ເກີດການລອງໃໝ່ ແລະ ໂດຍເລີ່ມຕົ້ນແມ່ນຫວ່າງເປົ່າ.

allowed_methods ລະບຸວິທີການ (methods) ທີ່ອາດຈະມີການລອງໃໝ່, ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ ຫຼື ການເວັ້ນວ່າງ. ໂດຍເລີ່ມຕົ້ນແມ່ນ HEAD, DELETE, OPTIONS, PUT, ແລະ GET. ການຕັ້ງຄ່າການລອງໃໝ່ເຫຼົ່ານີ້ຈະຖືກສົ່ງໄປຫາ urllib3.util.Retry.

timeout is the request timeout in seconds and defaults to 300. Current wlc releases use allowed_methods in place of the older method_whitelist option.

ໄຟລ໌ຕັ້ງຄ່າແມ່ນໄຟລ໌ຮູບແບບ INI, ຕົວຢ່າງ:

[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application
retries = 3
allowed_methods = PUT,POST,GET
backoff_factor = 0.2
status_forcelist = 429,500,502,503,504
timeout = 30

API keys ຈະຖືກເກັບໄວ້ໃນສ່ວນ [keys]:

[keys]
https://hosted.weblate.org/api/ = APIKEY

This allows you to store keys in your personal settings, while using the .weblate configuration in the VCS repository so that wlc knows which server it should talk to. The [keys] lookup is scoped to the complete configured API URL, not merely its network origin.

ການຕັ້ງຄ່າໂຄງການຍັງສາມາດລະບຸ ຫຼື ແທນທີ່ລາຍການທີ່ກົງກັນໃນ [keys]. ຫ້າມຄອມມິດ API keys ທີ່ມີຄ່າລົງໃນລະບົບຄວບຄວມເວີຊັນ; ໂດຍປົກກະຕິຄວນເກັບ keys ໄວ້ ໃນການຕັ້ງຄ່າສ່ວນຕົວ ແລະ ເກັບສະເພາະ API URL ແລະ ອັອບເຈັກເລີ່ມຕົ້ນໄວ້ໃນການຕັ້ງຄ່າໂຄງການ.

ຂໍ້ຍົກເວັ້ນການຮັບສົ່ງຂໍ້ມູນທີ່ບໍ່ປອດໄພ ຈະຖືກເກັບໄວ້ໃນສ່ວນທີ່ມີຂອບເຂດຕາມແຫຼ່ງທີ່ມາ (origin) ໃນການຕັ້ງຄ່າຜູ້ໃຊ້ທີ່ໜ້າເຊື່ອຖື:

[insecure_http]
http://legacy.example.com:80 = true

[insecure_ssl]
https://legacy.example.com:443 = true

ແຫຼ່ງທີ່ມາ (origin) ປະກອບມີ scheme, ຊື່ໂຮສທີ່ປັບເປັນມາດຕະຖານ, ແລະ ພອດທີ່ໃຊ້ງານ. ເສັ້ນທາງ API ຈະຖືກລະເລີຍ, ໃນຂະນະທີ່ scheme ແລະ ພອດທີ່ຕ່າງກັນຈະຖືກແຍກອອກຈາກກັນ. ສ່ວນ [insecure_http] ອະນຸຍາດໃຫ້ໃຊ້ API keys ຜ່ານ HTTP ທີ່ບໍ່ແມ່ນ local ສຳລັບແຫຼ່ງທີ່ມາທີ່ກົງກັນ. ສ່ວນ [insecure_ssl] ຈະປິດໃຊ້ງານການກວດສອບໃບຢັ້ງຢືນ TLS ສຳລັບແຫຼ່ງທີ່ມາທີ່ກົງກັນ.

Changed in version 2.2.0: ໃບຢັ້ງຢືນ TLS ຈະຖືກກວດສອບສຳລັບທຸກໂຮສໂດຍເລີ່ມຕົ້ນ. ການຕັ້ງຄ່າ HTTP ແລະ TLS ທີ່ບໍ່ປອດໄພ ຈະມີຂອບເຂດຕາມແຫຼ່ງທີ່ມາ. ການຕັ້ງຄ່າໂຄງການທີ່ຄົ້ນຫາໂດຍອັດຕະໂນມັດ ຈະບໍ່ສາມາດເພີ່ມລາຍການ ເຂົ້າໃນສ່ວນເຫຼົ່ານີ້ ຫຼື ເປີດໃຊ້ການຕັ້ງຄ່າທົ່ວໂລກທີ່ຖືກລຶບອອກແລ້ວໄດ້. ການຕັ້ງຄ່າຜູ້ໃຊ້ ແລະ ໄຟລ໌ --config ທີ່ເລືອກຢ່າງຈະແຈ້ງແມ່ນຖືວ່າໜ້າເຊື່ອຖື.

ໃນ CI, ຄີທີ່ບໍ່ໄດ້ລະບຸຂອບເຂດຕ້ອງລະບຸ API URL ຢ່າງຊັດເຈນ: ໃຫ້ຕັ້ງຄ່າທັງ WLC_URL ແລະ WLC_KEY, ຫຼື ໃຊ້ --url ຮ່ວມກັບ --key.

ຕົວປ່ຽນສະພາບແວດລ້ອມ (Environment variables)

Added in version 1.18.0.

Changed in version 2.0.1: API key ແບບບໍ່ລະບຸຂອບເຂດຕ້ອງການ API URL ທີ່ຊັດເຈນ ເມື່ອມີການກວດພົບການຕັ້ງຄ່າໂຄງການໂດຍອັດຕະໂນມັດ. API key ຈະຖືກປະຕິເສດຜ່ານ URL http:// ທີ່ບໍ່ແມ່ນ local ຍົກເວັ້ນແຕ່ຈະມີການເປີດໃຊ້ insecure HTTP ຢ່າງຊັດເຈນ.

Changed in version 2.2.0: ການຂຽນທັບສະພາບແວດລ້ອມ HTTP ແລະ TLS ທີ່ບໍ່ປອດໄພ ຕ້ອງການ WLC_URL ເມື່ອ API URL ມາຈາກການຄົ້ນຫາການຕັ້ງຄ່າໂຄງການໂດຍອັດຕະໂນມັດ.

API URL ແລະ key ຍັງສາມາດຕັ້ງຄ່າໄດ້ໂດຍໃຊ້ຕົວປ່ຽນສະພາບແວດລ້ອມ. ສິ່ງນີ້ມີປະໂຫຍດຫຼາຍສຳລັບຂັ້ນຕອນການເຮັດວຽກຂອງ CI ບ່ອນທີ່ WLC_URL ລະບຸປາຍທາງ ແລະ WLC_KEY ຖືກແຊກເຂົ້າມາເປັນຄວາມລັບ (secret):

WLC_URL

API URL

WLC_KEY

API key. ໃນກໍລະນີທີ່ API URL ມາຈາກການຕັ້ງຄ່າໂຄງການທີ່ກວດພົບໂດຍອັດຕະໂນມັດ, WLC_KEY ຈະຖືກຍອມຮັບເມື່ອໃຊ້ຮ່ວມກັບ WLC_URL ເທົ່ານັ້ນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, API key ຈະຖືກປະຕິເສດຜ່ານ URL http:// ທີ່ບໍ່ແມ່ນ local.

WLC_ALLOW_INSECURE_HTTP

Set to 1, true, yes, or on to allow API keys over non-local http:// URLs. Prefer HTTPS or loopback HTTP instead. Other values, such as 0 or false, are treated as unset. When the API URL would otherwise come from automatically discovered project configuration, this variable is accepted only together with WLC_URL.

WLC_ALLOW_INSECURE_SSL

ຕັ້ງເປັນ 1, true, yes, ຫຼື on ເພື່ອປິດໃຊ້ງານການກວດສອບໃບຢັ້ງຢືນ TLS. ຄ່າອື່ນໆ ເຊັ່ນ 0 ຫຼື false ຈະຖືກຖືວ່າບໍ່ໄດ້ຕັ້ງຄ່າ. ເມື່ອ API URL ມາຈາກ ການຄົ້ນຫາການຕັ້ງຄ່າໂຄງການໂດຍອັດຕະໂນມັດ, ຕົວປ່ຽນນີ້ຈະຖືກຍອມຮັບກໍຕໍ່ເມື່ອໃຊ້ຮ່ວມກັບ WLC_URL ເທົ່ານັ້ນ.

The same protection applies to command-line arguments: --key, --allow-insecure-http, and --allow-insecure-ssl are accepted with automatically discovered project configuration only when --url is provided.

ລຳດັບຄວາມສຳຄັນຂອງການຕັ້ງຄ່າ API URL ແລະ key (ສູງສຸດຫາຕ່ຳສຸດ) ແມ່ນ:

  1. Command-line arguments (--url, --key).

  2. ຕົວປ່ຽນສະພາບແວດລ້ອມ (WLC_URL, WLC_KEY).

  3. ການຕັ້ງຄ່າທີ່ໂຫຼດຈາກ --config, ຫຼື ຈາກການຕັ້ງຄ່າສ່ວນກາງທີ່ກວດພົບ ບວກກັບການຕັ້ງຄ່າໂຄງການທີ່ໃກ້ທີ່ສຸດ ເມື່ອບໍ່ໄດ້ໃຊ້ --config.

ການເລືອກໃຊ້ການຮັບສົ່ງຂໍ້ມູນທີ່ບໍ່ປອດໄພ ແມ່ນເປັນການເປີດໃຊ້ງານເທົ່ານັ້ນ ບໍ່ແມ່ນການຕັ້ງຄ່າ ລຳດັບຄວາມສຳຄັນຕາມປົກກະຕິ. ພວກມັນຖືກເປີດໃຊ້ໂດຍການຂຽນທັບຜ່ານ command-line ຫຼື ສະພາບແວດລ້ອມ, ຫຼື ໂດຍແຫຼ່ງທີ່ມາທີ່ກົງກັນໃນສ່ວນ [insecure_http] ຫຼື [insecure_ssl] ທີ່ໜ້າເຊື່ອຖື. ການຕັ້ງຄ່າໂຄງການທີ່ຄົ້ນຫາໂດຍອັດຕະໂນມັດ ບໍ່ສາມາດເພີ່ມແຫຼ່ງທີ່ມາທີ່ໜ້າເຊື່ອຖືໄດ້.

Security model

ການຕັ້ງຄ່າໂຄງການແມ່ນສ່ວນໜຶ່ງຂອງຂະບວນການເຮັດວຽກຂອງຄັງເກັບ ແລະ ໄດ້ຮັບຄວາມໄວ້ວາງໃຈ ໃນການເລືອກ API endpoint, ອັອບເຈັກເລີ່ມຕົ້ນ, ການຕັ້ງຄ່າຄຳຮ້ອງ ແລະ API key ທີ່ກົງກັບ URL. ການລັນ wlc ພາຍໃນຄັງເກັບ ຈະເປັນການໃຫ້ສິດແກ່ການຕັ້ງຄ່າໂຄງການທີ່ຢູ່ໃກ້ທີ່ສຸດ ໃນການເລືອກເຊີບເວີທີ່ຈະຮັບຄຳສັ່ງ ແລະ ການອັບໂຫລດ ພ້ອມທັງໃຫ້ຂໍ້ມູນເນື້ອໃນທີ່ສະແດງ ຫຼື ດາວໂຫລດ. ໃຫ້ໃຊ້ໄຟລ໌ --config ທີ່ໜ້າເຊື່ອຖືຢ່າງຈະແຈ້ງ ເມື່ອບໍ່ຕ້ອງການໃຫ້ເປັນແບບນີ້.

command-line client ຍອມຮັບ API keys ຈາກ --key, WLC_KEY, ຫຼື ສ່ວນ [keys]. ມັນຈະບໍ່ໂຫລດການຢືນຢັນຕົວຕົນ HTTP ຈາກ .netrc ຫຼື ໄຟລ໌ທີ່ລະບຸໂດຍ NETRC. ຂໍ້ມູນການຢືນຢັນຕົວຕົນທີ່ຝັງຢູ່ໃນ API URLs ຈະຖືກປະຕິເສດ; ໃຫ້ໃຊ້ API key ແທນ. ການເຊື່ອມໂຍງສະພາບແວດລ້ອມ Requests ອື່ນໆ, ລວມທັງ proxy ແລະ ຕົວປ່ຽນ CA-bundle ຍັງຄົງເປີດໃຊ້ງານຢູ່.

wlc threat model ຈະລະບຸຂອບເຂດຄວາມໄວ້ວາງໃຈທີ່ສົມບູນ, ຄຸນສົມບັດດ້ານຄວາມປອດໄພ, ສິ່ງທີ່ບໍ່ແມ່ນເປົ້າໝາຍ ແລະ ຄວາມຮັບຜິດຊອບໃນຂັ້ນຕໍ່ໄປ. ສຳເນົາທີ່ກົງກັບເວີຊັນຈະຖືກລວມເຂົ້າໃນການແຈກຢາຍ source ແລະ wheel. ໃຫ້ລາຍງານບັນຫາດ້ານຄວາມປອດໄພໂດຍໃຊ້ ຂະບວນການລາຍງານຊ່ອງໂຫວ່ຂອງ Weblate.

ຕົວຢ່າງ

ສະແດງເວີຊັນຂອງໂປຣແກຣມປະຈຸບັນ:

$ wlc version

ສະແດງລາຍຊື່ໂຄງການທັງໝົດ:

$ wlc list-projects
name: Hello
slug: hello
url: http://example.com/api/projects/hello/
web: https://weblate.org/
web_url: http://example.com/projects/hello/

ອັບໂຫຼດໄຟລ໌ການແປ:

$ wlc upload project/component/language --input /tmp/hello.po

ທ່ານຍັງສາມາດກຳນົດໄດ້ວ່າ wlc ຄວນເຮັດວຽກກັບໂຄງການໃດ:

$ cat .weblate
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application

$ wlc show
branch: main
file_format: po
source_language: en
filemask: weblate/locale/*/LC_MESSAGES/django.po
git_export: https://hosted.weblate.org/git/weblate/application/
license: GPL-3.0+
license_url: https://spdx.org/licenses/GPL-3.0+
name: Application
new_base: weblate/locale/django.pot
project: weblate
repo: git://github.com/WeblateOrg/weblate.git
slug: application
template:
url: https://hosted.weblate.org/api/components/weblate/application/
vcs: git
web_url: https://hosted.weblate.org/projects/weblate/application/

ດ້ວຍການຕັ້ງຄ່ານີ້, ມັນງ່າຍທີ່ຈະຄອມມິດການປ່ຽນແປງທີ່ຄ້າງຢູ່ໃນໂຄງການປະຈຸບັນ:

$ wlc commit