ໂມດູນ Weblate ເພີ່ມເຕີມ¶
ມີຫຼາຍໂມດູນເພີ່ມເຕີມສຳລັບການຕິດຕັ້ງຂອງທ່ານ.
Git exporter¶
ສະໜອງການເຂົ້າເຖິງແບບອ່ານຢ່າງດຽວໄປຍັງ Git repository ເບື້ອງຫຼັງໂດຍໃຊ້ HTTP(S).
ການຕິດຕັ້ງ¶
ເພີ່ມ
weblate.gitexportໄປຍັງ installed apps ໃນsettings.py:INSTALLED_APPS += ("weblate.gitexport",)
ສົ່ງອອກ repositories ທີ່ມີຢູ່ໂດຍການຍ້າຍຖານຂໍ້ມູນຂອງທ່ານຫຼັງຈາກການຕິດຕັ້ງ:
weblate migrate
Hint
Git exporter ຖືກເປີດໃຊ້ໃນ Docker image ທາງການຂອງພວກເຮົາ. ເພື່ອປິດມັນ, ໃຊ້:
WEBLATE_REMOVE_APPS=weblate.gitexport
ການນຳໃຊ້¶
ໂມດູນນີ້ຈະເຊື່ອມຕໍ່ເຂົ້າກັບ Weblate ໂດຍອັດຕະໂນມັດ ແລະ ຕັ້ງຄ່າ URL repository ທີ່ສົ່ງອອກໃນ ການຕັ້ງຄ່າ Component. repositories ສາມາດເຂົ້າເຖິງໄດ້ພາຍໃຕ້ສ່ວນ /git/ ຂອງ Weblate URL, ຕົວຢ່າງ https://example.org/git/weblate/main/.
Repositories ສຳລັບໂຄງການສາທາລະນະສາມາດຖືກ clone ໂດຍບໍ່ຕ້ອງມີການຢັ້ງຢືນຕົວຕົນ:
git clone 'https://example.org/git/weblate/main/'
ການເຂົ້າເຖິງເພື່ອເບິ່ງ repositories ທີ່ມີການເຂົ້າເຖິງແບບຈຳກັດ (ດ້ວຍ Private access control ຫຼື ເມື່ອເປີດໃຊ້ REQUIRE_LOGIN) ຕ້ອງໃຊ້ API token ເຊິ່ງສາມາດໄດ້ຮັບໃນ user profile ຂອງທ່ານ:
git clone 'https://user:KEY@example.org/git/weblate/main/'
Note
Weblate serves the Git repository itself, but it does not serve Git LFS
objects. See Git LFS for supported behavior. Clone repositories using
Git LFS from the upstream repository and add Weblate as another remote. If
you only need Git-tracked files, you can clone from Weblate with
GIT_LFS_SKIP_SMUDGE=1 to skip downloading Git LFS objects.
Hint
ໂດຍເລີ່ມຕົ້ນ, ສະມາຊິກຂອງກຸ່ມ Users ແລະ ຜູ້ໃຊ້ທີ່ບໍ່ລະບຸຕົວຕົນ ມີການເຂົ້າເຖິງ repositories ສຳລັບໂຄງການສາທາລະນະຜ່ານບົດບາດ Access repository ແລະ Power user.
ການຮຽກເກັບເງິນ¶
ສິ່ງນີ້ຖືກໃຊ້ໃນ Hosted Weblate ເພື່ອກຳນົດແຜນການເກັບເງິນ, ຕິດຕາມໃບແຈ້ງໜີ້ ແລະ ຂີດຈຳກັດການນຳໃຊ້.
ການຕິດຕັ້ງ¶
1. Add weblate.billing to installed apps in
settings.py:
INSTALLED_APPS += ("weblate.billing",)
ດຳເນີນການຍ້າຍຖານຂໍ້ມູນ (migration) ເພື່ອຕິດຕັ້ງໂຄງສ້າງຖານຂໍ້ມູນເພີ່ມເຕີມສຳລັບໂມດູນ (ຖ້າຕ້ອງການ):
weblate migrate
ການສ້າງ ແລະ ມອບໝາຍແຜນການເກັບເງິນ¶
ທຳອິດທ່ານຕ້ອງສ້າງແຜນການເກັບເງິນເພື່ອເປີດໃຊ້ງານການເກັບເງິນ. ໄປທີ່ພາກ Administration (ສະແດງດ້ວຍໄອຄອນປະແຈ) ແລະ ເປີດໜ້າຈໍ Tools. ຈາກນັ້ນ, ໄປທີ່ Django admin interface.
ໃນ Django admin interface, ຊອກຫາພາກ BILLING ແລະ ເພີ່ມແຜນການເກັບເງິນ. ຕົວຢ່າງ, ທ່ານສາມາດເພີ່ມແຜນ Free ໂດຍບໍ່ມີຄ່າໃຊ້ຈ່າຍ.
ຖ້າທ່ານຕ້ອງການມອບໝາຍແຜນການເກັບເງິນໃຫ້ກັບໂຄງການທີ່ມີຢູ່, ສິ່ງນີ້ສາມາດເຮັດໄດ້ພາຍໃນ Django admin interface ໂດຍໃຊ້ຕົວເລືອກ Customer billings.
ສຸດທ້າຍ, Django admin interface ມີຕົວເລືອກ Invoice ສຳລັບການບັນທຶກການຊຳລະເງິນຂອງລູກຄ້າ.
ການນຳໃຊ້¶
ຫຼັງຈາກການຕິດຕັ້ງ, ທ່ານສາມາດຄວບຄຸມການເກັບເງິນໄດ້ໃນ admin interface. ຜູ້ໃຊ້ທີ່ເປີດໃຊ້ການເກັບເງິນຈະໄດ້ຮັບແຖບ Billing ໃໝ່ໃນ ໂປຣໄຟລ໌ຜູ້ໃຊ້ ຂອງເຂົາເຈົ້າ.
Superusers can view the 20 most recent billing audit entries on the billing detail page. Select View all in the Audit log section to browse older entries using the pagination controls.
ໂມດູນການເກັບເງິນຍັງອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສ້າງໂຄງການ ແລະ ອົງປະກອບໃໝ່ໄດ້ໂດຍບໍ່ຕ້ອງເປັນ superuser (ເບິ່ງ ການເພີ່ມໂຄງການແປ ແລະ ອົງປະກອບ). ສິ່ງນີ້ເປັນໄປໄດ້ເມື່ອເງື່ອນໄຂຕໍ່ໄປນີ້ຖືກຕອບສະໜອງ:
ການເກັບເງິນຢູ່ໃນຂີດຈຳກັດທີ່ຕັ້ງໄວ້ (ການໃຊ້ເກີນຈະສົ່ງຜົນໃຫ້ຖືກບລັອກການສ້າງໂຄງການ/ອົງປະກອບ) ແລະ ໄດ້ຮັບການຊຳລະແລ້ວ (ຖ້າລາຄາບໍ່ແມ່ນສູນ)
ຜູ້ໃຊ້ມີສິດທິອະນຸຍາດ Add projects to workspace ສຳລັບພື້ນທີ່ເຮັດວຽກທີ່ກວມເອົາໂດຍແຜນການເກັບເງິນ.
ເມື່ອສ້າງໂຄງການ, ຜູ້ໃຊ້ສາມາດເລືອກໄດ້ວ່າພື້ນທີ່ເຮັດວຽກໃດຄວນບັນຈຸໂຄງການນັ້ນ. ໂຄງການທີ່ສ້າງໃນພື້ນທີ່ເຮັດວຽກທີ່ມີການເກັບເງິນຈະຖືກນັບລວມໃນແຜນການເກັບເງິນທີ່ມອບໝາຍໃຫ້ພື້ນທີ່ເຮັດວຽກນັ້ນ. ຜູ້ໃຊ້ທີ່ມີສິດທິອະນຸຍາດ Edit workspace settings ສາມາດເບິ່ງ ແລະ ຊຳລະແຜນການເກັບເງິນໄດ້; ອີເມວແຈ້ງເຕືອນການເກັບເງິນຈະຖືກສົ່ງຫາຜູ້ໃຊ້ເຫຼົ່ານີ້. ເບິ່ງ ການຮຽກເກັບເງິນ ສຳລັບລາຍລະອຽດ.
ໂມດູນທາງກົດໝາຍ¶
ສິ່ງນີ້ຖືກໃຊ້ໃນ Hosted Weblate ເພື່ອສະໜອງເອກະສານທາງກົດໝາຍທີ່ຈຳເປັນ. ມັນມາພ້ອມກັບເອກະສານເປົ່າ, ແລະ ທ່ານຕ້ອງຕື່ມຂໍ້ມູນໃນແມ່ແບບຕໍ່ໄປນີ້ໃນເອກະສານ:
legal/documents/tos.htmlເອກະສານເງື່ອນໄຂການໃຫ້ບໍລິການ
legal/documents/privacy.htmlເອກະສານນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ
legal/documents/summary.htmlພາບລວມສັ້ນໆຂອງເງື່ອນໄຂການໃຫ້ບໍລິການ ແລະ ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ
legal/documents/contracts.htmlຂໍ້ມູນຜູ້ຮັບເໝົາຊ່ວງ
ໂມດູນທາງກົດໝາຍຈະຝັງເທັມເພລດເຫຼົ່ານີ້ໄວ້ພາຍໃນ Weblate. ໜ້າຢືນຢັນຈະໃຊ້ legal/documents/tos.html ແລະ ເມື່ອມີລິ້ງນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ, ຈະຕ້ອງມີການຍອມຮັບຂໍ້ຕົກລົງດຽວທີ່ກວມເອົາທັງຂໍ້ກຳນົດການບໍລິການ ແລະ ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ. ນີ້ແມ່ນແຍກຕ່າງຫາກຈາກ LEGAL_URL ແລະ PRIVACY_URL, ເຊິ່ງມີໄວ້ສຳລັບການລິ້ງໄປຫາເອກະສານທາງກົດໝາຍທີ່ຝາກໄວ້ພາຍນອກຈາກສ່ວນທ້າຍຂອງເວັບ (footer) ເມື່ອບໍ່ໄດ້ເປີດໃຊ້ໂມດູນທາງກົດໝາຍ ຫຼື ເປັນທາງເລືອກສຳຮອງສຳລັບໜ້າພາຍໃນທີ່ຖືກເຊື່ອງໄວ້. ເມື່ອເປີດໃຊ້ໂມດູນທາງກົດໝາຍ, ໂດຍເລີ່ມຕົ້ນແລ້ວ Weblate ຈະລິ້ງໄປຫາໜ້າທາງກົດໝາຍພາຍໃນ.
ເມື່ອມີການປ່ຽນແປງຂໍ້ກຳນົດການບໍລິການ ຫຼື ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ, ໃຫ້ປັບປ່ຽນ LEGAL_TOS_DATE ເມື່ອຕ້ອງການບັງຄັບໃຫ້ຜູ້ໃຊ້ຍອມຮັບເອກະສານທີ່ອັບເດດໃໝ່.
Note
ເອກະສານທາງກົດໝາຍສຳລັບບໍລິການ Hosted Weblate ທີ່ດຳເນີນງານໂດຍ Weblate s.r.o. ມີຢູ່ໃນ Git repository ນີ້: <https://github.com/WeblateOrg/wllegal/tree/main/wllegal/templates/legal/documents>.
ຂໍ້ກຳນົດການບໍລິການ ແລະ ເອກະສານທາງກົດໝາຍທີ່ຕິດມານຳແມ່ນສະເພາະສຳລັບບໍລິການທີ່ດຳເນີນການໂດຍ Weblate s.r.o. ເທົ່ານັ້ນ. ພວກມັນສາມາດໃຊ້ເປັນຕົວຢ່າງໃນການນຳໄປໃຊ້, ແຕ່ບໍ່ຄວນໃຊ້ເປັນພື້ນຖານສຳລັບເອກະສານທາງກົດໝາຍຂອງບໍລິການອື່ນໆ.
ການຕິດຕັ້ງ¶
1. Add weblate.legal to installed apps in
settings.py:
INSTALLED_APPS += ("weblate.legal",)
# Optional:
# Social auth pipeline to confirm TOS upon registration/subsequent sign in
SOCIAL_AUTH_PIPELINE = list(SOCIAL_AUTH_PIPELINE)
SOCIAL_AUTH_PIPELINE.insert(
SOCIAL_AUTH_PIPELINE.index("weblate.accounts.pipeline.second_factor") + 1,
"weblate.legal.pipeline.tos_confirm",
)
# Middleware to enforce TOS confirmation of signed in users
MIDDLEWARE += [
"weblate.legal.middleware.RequireTOSMiddleware",
]
Insert terms confirmation after two-factor authentication and before team synchronization so that logins awaiting terms acceptance do not change team memberships.
ດຳເນີນການຍ້າຍຖານຂໍ້ມູນ (migration) ເພື່ອຕິດຕັ້ງໂຄງສ້າງຖານຂໍ້ມູນເພີ່ມເຕີມສຳລັບໂມດູນ (ຖ້າຕ້ອງການ):
weblate migrate
ສະໜອງເທັມເພລດເອກະສານທາງກົດໝາຍທີ່ກົງກັບການບໍລິການຂອງທ່ານ, ຕາມທີ່ອະທິບາຍໄວ້ໃນ ການປັບແຕ່ງເອກະສານ ແລະ ຮູບແບບທາງກົດໝາຍ.
Hint
ໃນການຕິດຕັ້ງຜ່ານ Docker, ໃຫ້ເປີດໃຊ້ໂມດູນທາງກົດໝາຍໂດຍໃຊ້ WEBLATE_LEGAL_INTEGRATION ແທນການແກ້ໄຂໄຟລ໌ settings.py. ໃຊ້ tos-confirm ເພື່ອເປີດໃຊ້ໂມດູນທາງກົດໝາຍ ແລະ ການບັງຄັບຢືນຢັນເອກະສານ, ຫຼື wllegal ເພື່ອໂຫລດເທັມເພລດເອກະສານທາງກົດໝາຍທີ່ໃຊ້ໂດຍບໍລິການຂອງ Weblate s.r.o. ເພີ່ມເຕີມ. ເທັມເພລດເຫຼົ່ານີ້ບໍ່ໄດ້ມີໄວ້ສຳລັບການໃຊ້ງານທົ່ວໄປ. ເພື່ອໃຊ້ເທັມເພລດຂອງທ່ານເອງໃນ Docker, ໃຫ້ວາງພວກມັນໄວ້ໃນ /app/data/python/customize/templates/legal/documents, ເບິ່ງທີ່ ການປ່ຽນໂລໂກ້ ແລະ ໄຟລ໌ static ອື່ນໆ.
ສ້າງ Docker container ໃໝ່ຫຼັງຈາກປ່ຽນແປງ environment variables, ຕົວຢ່າງໂດຍໃຊ້ docker compose up -d. ການຣີສະຕາດ container ທີ່ມີຢູ່ຈະບໍ່ນຳໃຊ້ຄ່າ environment ທີ່ປ່ຽນແປງ.
ການນຳໃຊ້¶
ຫຼັງຈາກການຕິດຕັ້ງ ແລະ ການປັບແຕ່ງແລ້ວ, ເອກະສານທາງກົດໝາຍຈະຖືກສະແດງຢູ່ໃນສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ (UI) ຂອງ Weblate.
ແມ່ແບບເອກະສານທາງກົດໝາຍແມ່ນ Django templates ປົກກະຕິ. ຂໍ້ຄວາມຈະຖືກແປກໍຕໍ່ເມື່ອທ່ານໃຊ້ Django translation tags ເຊັ່ນ {% translate %} ຫຼື {% blocktranslate %}; ຂໍ້ຄວາມ HTML ປົກກະຕິຈະຖືກສະແດງຕາມທີ່ຂຽນໄວ້.
ໜ້າທາງກົດໝາຍ ແລະ ພາບລວມການລົງຊື່ເຂົ້າໃຊ້ ແລະ ການລົງທະບຽນ ຈະມີຕົວແປ terms_url ແລະ privacy_url ສຳລັບການລິ້ງໄປຍັງເອກະສານເງື່ອນໄຂການໃຫ້ບໍລິການ ແລະ ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ.
ການປັບແຕ່ງເອກະສານ ແລະ ຮູບແບບທາງກົດໝາຍ¶
ສະໜອງເອກະສານທາງກົດໝາຍຂອງທ່ານເອງໂດຍການຂ້າມເທັມເພລດເຫຼົ່ານີ້ໃນ ການສ້າງໂມດູນ Python:
templates/legal/documents/tos.htmltemplates/legal/documents/privacy.htmltemplates/legal/documents/summary.htmltemplates/legal/documents/contracts.htmltemplates/legal/styles.htmlstatic/weblate_customization/legal.css
ວາງແອັບປັບແຕ່ງ (customization app) ໄວ້ກ່ອນ weblate.legal ແລະ ແອັບອື່ນໆທີ່ ມີການຂ້າມເທັມເພລດທາງກົດໝາຍໃນ INSTALLED_APPS ເພື່ອໃຫ້ Django ເລືອກໃຊ້ເທັມເພລດເຫຼົ່ານັ້ນ. ສະເພາະເທັມເພລດທີ່ທ່ານສະໜອງໃຫ້ເທົ່ານັ້ນທີ່ຈະຖືກຂ້າມ; ສ່ວນເທັມເພລດທາງກົດໝາຍທີ່ເຫຼືອຈະຍັງຄົງໃຊ້ຄ່າເລີ່ມຕົ້ນຈາກແອັບທີ່ຢູ່ຖັດໄປ.
ເທັມເພລດ legal/styles.html ຖືກລວມຢູ່ໃນສ່ວນຫົວ (head) ຂອງ HTML ຂອງທຸກໆໜ້າທາງກົດໝາຍ. ໃຊ້ເພື່ອໂຫຼດໄຟລ໌ຮູບແບບ (stylesheet) ຈາກແອັບປັບແຕ່ງຂອງທ່ານ:
{% load static %}
<link rel="stylesheet" href="{% static 'weblate_customization/legal.css' %}" />
ຣັນຄຳສັ່ງ weblate collectstatic --noinput ຫຼັງຈາກທີ່ເພີ່ມ ຫຼື ປ່ຽນແປງໄຟລ໌ static.
ໃນການຕິດຕັ້ງແບບ Docker, ໃຫ້ວາງເທັມເພລດເອກະສານໄວ້ໃນ /app/data/python/customize/templates/legal/documents, ໄຟລ໌ styles.html ໄວ້ໃນ /app/data/python/customize/templates/legal/styles.html, ແລະ ໄຟລ໌ຮູບແບບໄວ້ໃນ /app/data/python/customize/static/legal.css. ຈາກນັ້ນເທັມເພລດຮູບແບບ ຈະໃຊ້ຄຳສັ່ງ {% static 'legal.css' %}. ໃຫ້ເລີ່ມຕົ້ນ container ໃໝ່ເພື່ອໃຫ້ການປ່ຽນແປງມີຜົນ, ເບິ່ງທີ່ ການປ່ຽນໂລໂກ້ ແລະ ໄຟລ໌ static ອື່ນໆ.
ໂດຍເລີ່ມຕົ້ນແລ້ວ, wrapper ຂອງເອກະສານທາງກົດໝາຍຈະໃຊ້ CSS class ຊື່ວ່າ tos. Weblate ຈະບໍ່ໄດ້ກຳນົດຮູບແບບໃດໆໃຫ້ກັບ class ນີ້; ທ່ານສາມາດກຳນົດເປົ້າໝາຍໃສ່ class ນີ້ຈາກ ໄຟລ໌ຮູບແບບຂອງທ່ານເອງ, ຫຼື ຕັ້ງຄ່າ LEGAL_DOCUMENT_CSS_CLASS ໃຫ້ເປັນ class ອື່ນ ທີ່ກົງກັບ markup ຂອງເອກະສານທ່ານ. ໃຫ້ຕັ້ງຄ່ານີ້ເປັນຄ່າວ່າງ ຫາກບໍ່ຈຳເປັນຕ້ອງໃຊ້ wrapper class.
ໃຊ້ LEGAL_HIDDEN_DOCUMENTS ເພື່ອເຊື່ອງໜ້າທາງກົດໝາຍເພີ່ມເຕີມ ເຊັ່ນ ຜູ້ຮັບເໝົາຊ່ວງ ອອກຈາກເມນູທາງກົດໝາຍ. ໜ້າທີ່ຖືກເຊື່ອງໄວ້ຈະສົ່ງກັບຄ່າຕອບໂຕ້ 404 ເມື່ອຖືກຮ້ອງຂໍໂດຍກົງ. ຖ້າ terms ຫຼື privacy ຖືກເຊື່ອງໄວ້, ລິ້ງທີ່ໃຊ້ terms_url ຫຼື privacy_url ຈະກັບໄປໃຊ້ LEGAL_URL ຫຼື PRIVACY_URL ເມື່ອຕັ້ງຄ່າໄວ້, ຖ້າບໍ່ດັ່ງນັ້ນລິ້ງຈະຖືກລະເວັ້ນ.
ເພື່ອໃຊ້ເອກະສານທາງກົດໝາຍທີ່ຝາກໄວ້ພາຍນອກຮ່ວມກັບການຢືນຢັນທາງກົດໝາຍ, ໃຫ້ຕັ້ງຄ່າ LEGAL_HIDDEN_DOCUMENTS ເພື່ອເຊື່ອງ terms ແລະ privacy ແລະ ຕັ້ງຄ່າ LEGAL_URL ແລະ PRIVACY_URL. ຈາກນັ້ນ ໜ້າຢືນຢັນຈະລິ້ງໄປຫາເອກະສານພາຍນອກເຫຼົ່ານັ້ນ ແລະ ຕ້ອງການການຍອມຮັບດຽວທີ່ກວມເອົາທັງສອງ ໂດຍບໍ່ຈຳເປັນຕ້ອງຂຽນທັບເທັມເພລດ legal/documents/tos.html. ຖ້າບໍ່ມີລິ້ງນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ, ການຢືນຢັນຈະກວມເອົາພຽງແຕ່ຂໍ້ກຳນົດການບໍລິການເທົ່ານັ້ນ.
ຮູບໂປຣໄຟລ໌¶
ຮູບໂປຣໄຟລ໌ຈະຖືກດາວໂຫຼດ ແລະ ແຄຊ (cache) ໄວ້ທາງຝັ່ງເຊີບເວີ ເພື່ອຫຼຸດຜ່ອນການຮົ່ວໄຫຼຂອງຂໍ້ມູນໄປຍັງເວັບໄຊທີ່ໃຫ້ບໍລິການຮູບເຫຼົ່ານັ້ນໂດຍເລີ່ມຕົ້ນ. ການຮອງຮັບໃນຕົວສຳລັບການດຶງຮູບໂປຣໄຟລ໌ຈາກທີ່ຢູ່ອີເມວທີ່ຕັ້ງຄ່າໄວ້ ສາມາດປິດໃຊ້ງານໄດ້ໂດຍໃຊ້ ENABLE_AVATARS.
ປັດຈຸບັນ Weblate ຮອງຮັບ:
Localization CDN¶
ສ່ວນເສີມ (Add-ons) CDN ສຳລັບການແປພາສາ JavaScript ແລະ CDN ສຳລັບໄຟລ໌ການແປ ຈະຂຽນໄຟລ໌ລົງໃນ LOCALIZE_CDN_PATH; ໂດຍທີ່ Weblate ຈະບໍ່ໄດ້ເປັນຜູ້ໃຫ້ບໍລິການໄຟລ໌ເຫຼົ່ານັ້ນ. ໃຫ້ຕັ້ງຄ່າເວັບເຊີເວີ ຫຼື CDN ທີ່ໃຫ້ບໍລິການ LOCALIZE_CDN_URL ເປັນໂຮສໄຟລ໌ static ແບບສາທາລະນະ ແລະ ອ່ານໄດ້ຢ່າງດຽວ.
ຖືວ່າທຸກໄຟລ໌ CDN ທີ່ເຜີຍແຜ່ເປັນສາທາລະນະ. UUID ສະເພາະຂອງ add-on ໃນ URL ບໍ່ແມ່ນກົນໄກການຄວບຄຸມການເຂົ້າເຖິງ. ຢ່າເປີດໃຊ້ CDN add-ons ສຳລັບອົງປະກອບທີ່ມີຂໍ້ຄວາມສ່ວນຕົວ, ຂໍ້ຄວາມຜະລິດຕະພັນທີ່ຍັງບໍ່ທັນປ່ອຍ, ຂໍ້ມູນລູກຄ້າ, URL ພາຍໃນ, API examples, repository paths, ຄຳເຫັນຂອງນັກແປ, ຫຼື ເມຕາດາຕ້າຮູບແບບໄຟລ໌ທີ່ບໍ່ຄວນຖືກເປີດເຜີຍ.
ສ່ວນເສີມ CDN ສຳລັບໄຟລ໌ການແປ ຈະເຜີຍແຜ່ໄຟລ໌ການແປແບບດິບໃນຮູບແບບທີ່ Weblate ຮອງຮັບ. ບາງຮູບແບບອາດຖືກແປຄວາມໝາຍໂດຍບຣາວເຊີ ຫຼື ໄຄເອັນອື່ນໆໃຫ້ເປັນ HTML, SVG, XML, JavaScript, YAML, ຫຼື ການຕັ້ງຄ່າສະເພາະຂອງແອັບພລິເຄຊັນ. ຄວນໃຫ້ບໍລິການ CDN ຈາກໂດເມນສະເພາະທີ່ແຍກອອກຈາກ Weblate ແລະ ແຍກຈາກແອັບພລິເຄຊັນທີ່ໃຊ້ການແປນັ້ນ. ຫ້າມແບ່ງປັນຄຸກກີ້ການຢືນຢັນຕົວຕົນກັບໂດເມນ CDN.
ການຕັ້ງຄ່າເຊີບເວີທີ່ແນະນຳ:
ໃຫ້ບໍລິການສະເພາະໄດເລກະທໍຣີທີ່ຕັ້ງຄ່າໂດຍ
LOCALIZE_CDN_PATH; ຢ່າເປີດເຜີຍ Weblate repositories, backups, media, configuration, ຫຼື ໄດເລກະທໍຣີຂໍ້ມູນທັງໝົດ.ປິດການສະແດງລາຍການໄດເລກະທໍຣີ.
Deny access to
.kotlin-sdk-stagingand all its contents. The Kotlin SDK add-on uses this directory for temporary preparation, not publication. Apply this restriction before enabling the add-on, including when a CDN copies files from the origin directory.ໃຊ້ HTTPS ແລະ ເຮັດໃຫ້ CDN host ອ່ານໄດ້ຢ່າງດຽວຈາກເວັບເຊີບເວີ.
ສົ່ງ X-Content-Type-Options ພ້ອມກັບ
nosniff.ຕັ້ງຄ່າ MIME types ແບບອະນຸລັກ. ໃຫ້ບໍລິການຮູບແບບການແປທີ່ບໍ່ຮູ້ຈັກເປັນ text/plain ຫຼື application/octet-stream; ໃຫ້ບໍລິການພຽງ
weblate.jsເປັນ JavaScript.ສຳລັບຮູບແບບການແປດິບທີ່ບໍ່ມີເຈດຕະນາໃຫ້ສະແດງຜົນໃນບຣາວເຊີ, ພິຈາລະນາເພີ່ມ Content-Disposition ພ້ອມກັບ
attachment.ຕັ້ງຄ່າ
Access-Control-Allow-Originສະເພາະສຳລັບເວັບໄຊທີ່ຕ້ອງການການເຂົ້າເຖິງໄຟລ໌ຜ່ານບຣາວເຊີ.ຕັ້ງຄ່າອາຍຸການໃຊ້ງານຂອງ cache ໃຫ້ກົງກັບຄວາມຄາດຫວັງໃນການອັບເດດຂອງທ່ານ, ແລະ ລ້າງ CDN caches ເມື່ອການແປທີ່ລ້າສະໄໝຕ້ອງຫາຍໄປຢ່າງໄວວາ.
ສະນິບເປັດ nginx ຕໍ່ໄປນີ້ໃຫ້ບໍລິການສະເພາະໄດເລັກທໍຣີ CDN ທີ່ຕັ້ງຄ່າໄວ້ ແລະ ນຳໃຊ້ຄ່າເລີ່ມຕົ້ນແບບອະນຸລັກສຳລັບໄຟລ໌ແປພາສາຕົ້ນສະບັບ:
#
# nginx configuration for the Weblate localization CDN
#
# You will want to change:
#
# - server_name to match the host configured in LOCALIZE_CDN_URL
# - root to match LOCALIZE_CDN_PATH
# - Access-Control-Allow-Origin to the sites that need browser access
# - TLS configuration if HTTPS is not terminated before nginx
#
server {
listen 80;
server_name cdn.example.com;
# LOCALIZE_CDN_PATH
root /home/weblate/data/l10n-cdn;
autoindex off;
disable_symlinks on;
location = / {
return 404;
}
# Kotlin SDK preparation files must never be served.
location ^~ /.kotlin-sdk-staging {
return 404;
}
# The JavaScript localization add-on publishes this loader.
location ~ "^/[0-9a-f]{32}/weblate\.js$" {
try_files $uri =404;
types {
application/javascript js;
}
default_type application/javascript;
add_header X-Content-Type-Options nosniff always;
# add_header Access-Control-Allow-Origin "https://www.example.com" always;
expires 1h;
}
# Content-addressed Android artifacts never change at the same URL.
location ~ "^/[0-9a-f]{32}/artifacts/[0-9a-f]{64}\\.arsc$" {
try_files $uri =404;
types { }
default_type application/octet-stream;
add_header X-Content-Type-Options nosniff always;
add_header Content-Disposition "attachment" always;
add_header Cache-Control "public, max-age=31536000, immutable";
# add_header Access-Control-Allow-Origin "https://www.example.com" always;
}
# Other CDN files are translation files. Serve them conservatively so raw
# formats are not interpreted as active browser content.
# Manifest JSON files also use this one-hour cache policy.
location / {
try_files $uri =404;
types {
}
default_type text/plain;
add_header X-Content-Type-Options nosniff always;
add_header Content-Disposition "attachment" always;
# add_header Access-Control-Allow-Origin "https://www.example.com" always;
expires 1h;
}
}
ການເຊັນ Git commits ດ້ວຍ GnuPG¶
ການຄອມມິດທັງໝົດສາມາດລົງນາມດ້ວຍກຸນແຈ GnuPG ຂອງອິນສະແຕນ Weblate.
ເປີດໃຊ້
WEBLATE_GPG_IDENTITY. (Weblate ຈະສ້າງ GnuPG key ເມື່ອຈຳເປັນ ແລະ ຈະໃຊ້ມັນເພື່ອເຊັນການຄອມມິດການແປທັງໝົດ.)ຄຸນສົມບັດນີ້ຕ້ອງການ GnuPG 2.1 ຫຼື ໃໝ່ກວ່າທີ່ຕິດຕັ້ງໄວ້.
ທ່ານສາມາດພົບ key ໃນ
DATA_DIRແລະ public key ຈະສະແດງຢູ່ໃນໜ້າ "About":
ທາງເລືອກອື່ນ ທ່ານຍັງສາມາດນຳເຂົ້າ keys ທີ່ມີຢູ່ເຂົ້າໃນ Weblate, ພຽງແຕ່ຕັ້ງ
HOME=$DATA_DIR/homeເມື່ອເອີ້ນໃຊ້ gpg.
Hint
ຂໍ້ມູນຄີຈະຖືກເກັບໄວ້ໃນແຄຊ (cache) ຂອງ Weblate ເປັນເວລາດົນ. ໃນກໍລະນີທີ່ເຈົ້າໃຫ້ Weblate ສ້າງຄີດ້ວຍ WEBLATE_GPG_IDENTITY ແລ້ວຈາກນັ້ນນຳເຂົ້າຄີທີ່ມີ identity ດຽວກັນເພື່ອໃຊ້ຄີທີ່ມີຢູ່ແລ້ວ, ແນະນຳໃຫ້ລ້າງແຄຊ redis ເພື່ອໃຫ້ເຫັນຜົນຂອງການປ່ຽນແປງດັ່ງກ່າວ.
Note
ເມື່ອແບ່ງປັນ DATA_DIR ລະຫວ່າງຫຼາຍ hosts, ກະລຸນາປະຕິບັດຕາມຄຳແນະນຳທີ່ https://wiki.gnupg.org/NFS ເພື່ອເຮັດໃຫ້ການເຊັນ GnuPG ເຮັດວຽກໄດ້ຢ່າງໜ້າເຊື່ອຖື.
See also
ການຈຳກັດອັດຕາ¶
Changed in version 4.6: ການຈຳກັດອັດຕາບໍ່ມີຜົນອີກຕໍ່ໄປກັບ superusers ທີ່ລົງຊື່ເຂົ້າໃຊ້ແລ້ວ.
ການດຳເນີນການຫຼາຍຢ່າງໃນ Weblate ມີການຈຳກັດອັດຕາ. ການຈຳກັດອັດຕາຈະຖືກປະເມີນຢ່າງອິດສະຫຼະສຳລັບແຕ່ລະຂອບເຂດ. ອະນຸຍາດໃຫ້ມີການພະຍາຍາມສູງສຸດ RATELIMIT_ATTEMPTS ພາຍໃນ RATELIMIT_WINDOW ວິນາທີໃນໜຶ່ງຂອບເຂດ. ຂອບເຂດນັ້ນຈະຖືກບລັອກເປັນເວລາ RATELIMIT_LOCKOUT; Weblate ບໍ່ໄດ້ປ່ຽນສິ່ງນີ້ເປັນການບລັອກ IP ຊົ່ວຄາວທັງເວັບໄຊ. ການເກີນຂີດຈຳກັດໃນໜຶ່ງຂອບເຂດ, ເຊັ່ນ TRANSLATE ຫຼື SEARCH, ຈະບໍ່ບລັອກຂອບເຂດທີ່ບໍ່ກ່ຽວຂ້ອງ ເຊັ່ນ LOGIN ຫຼື SECOND_FACTOR ດ້ວຍຕົນເອງ. ຍັງມີການຕັ້ງຄ່າສະເພາະສຳລັບຂອບເຂດ, ຕົວຢ່າງ RATELIMIT_CONTACT_ATTEMPTS ຫຼື RATELIMIT_TRANSLATE_ATTEMPTS. ຕາຕະລາງຂ້າງລຸ່ມນີ້ແມ່ນລາຍການເຕັມຂອງຂອບເຂດທີ່ມີຢູ່.
ການດຳເນີນການຕໍ່ໄປນີ້ແມ່ນຢູ່ພາຍໃຕ້ການຈຳກັດອັດຕາ:
ຊື່ |
ຂອບເຂດ |
ຈຳນວນຄັ້ງທີ່ອະນຸຍາດໃຫ້ພະຍາຍາມ |
ຊ່ວງເວລາການຈຳກັດອັດຕາ |
ໄລຍະເວລາການບລັອກ |
|---|---|---|---|---|
ການລົງທະບຽນ |
|
5 |
300 |
600 |
ການສົ່ງຂໍ້ຄວາມຫາຜູ້ເບິ່ງແຍງລະບົບ |
|
2 |
300 |
600 |
ການຢັ້ງຢືນລະຫັດຜ່ານເມື່ອລົງຊື່ເຂົ້າໃຊ້ |
|
5 |
300 |
600 |
ຕັ້ງລະຫັດຜ່ານໃໝ່ |
|
5 |
300 |
600 |
ການຢັ້ງຢືນຕົວຕົນຂັ້ນສອງ |
|
5 |
300 |
600 |
ການຄົ້ນຫາທັງເວັບໄຊ |
|
6 |
60 |
60 |
ການແປ |
|
30 |
60 |
600 |
ການເພີ່ມເຂົ້າໃນຄຳສັບ |
|
30 |
60 |
600 |
ການເລີ່ມການແປເປັນພາສາໃໝ່ |
|
2 |
300 |
600 |
ການສ້າງໂຄງການໃໝ່ |
|
5 |
600 |
600 |
ການເຊື່ອມຕໍ່ບັນຊີ GitHub |
|
100 |
3600 |
600 |
Rendering a Markdown preview |
|
60 |
60 |
60 |
ພາຍໃນແຕ່ລະຂອບເຂດ, ການຈຳກັດອັດຕາຈະອີງໃສ່ເຊສຊັນ (sessions) ເມື່ອຜູ້ໃຊ້ລົງຊື່ເຂົ້າໃຊ້, ແລະ ໃສ່ IP address ຖ້າບໍ່ໄດ້ລົງຊື່ເຂົ້າໃຊ້.
Strict enforcement across concurrent workers requires a cache backend with atomic increment and decrement operations. The standard ຕັ້ງຄ່າແຄສ (cache) configuration using Valkey or Redis provides these operations.
ສຳລັບຜູ້ໃຊ້ທີ່ເຂົ້າສູ່ລະບົບແລ້ວ, Weblate ຈະບັນທຶກຄຳຮ້ອງຂໍທຳອິດທີ່ຖືກປະຕິເສດໃນລະຫວ່າງ ການລັອກເອົາຂອບເຂດທີ່ກຳລັງເຮັດວຽກໄວ້ໃນ ບັນທຶກການກວດສອບ, ເຊິ່ງລວມມີຂອບເຂດ ແລະ ເສັ້ນທາງຄຳຮ້ອງຂໍ. ການຖືກປະຕິເສດຊ້ຳໆໃນລະຫວ່າງການລັອກຄັ້ງດຽວກັນ ຈະບໍ່ມີການສ້າງບັນທຶກ audit-log ເພີ່ມເຕີມ.
ຖ້າຜູ້ໃຊ້ລົງຊື່ເຂົ້າໃຊ້ລົ້ມເຫຼວ AUTH_LOCK_ATTEMPTS ຄັ້ງ, ການຢັ້ງຢືນດ້ວຍລະຫັດຜ່ານຈະຖືກປິດໃຊ້ງານໃນບັນຊີນັ້ນ ຈົນກວ່າຈະຜ່ານຂະບວນການຣີເຊັດລະຫັດຜ່ານ.
ການຕັ້ງຄ່າສາມາດຖືກນຳໃຊ້ໃນ Docker container ໂດຍການເພີ່ມ prefix WEBLATE_ ໃສ່ຊື່ການຕັ້ງຄ່າ, ຕົວຢ່າງ RATELIMIT_ATTEMPTS ຈະກາຍເປັນ WEBLATE_RATELIMIT_ATTEMPTS.
API ມີການຕັ້ງຄ່າການຈຳກັດອັດຕາແຍກຕ່າງຫາກ, ເບິ່ງ ການຈຳກັດອັດຕາ API.