選擇性的 Weblate 模組¶
可以獲得幾個可選的模組來組態您的設定。
Git 導出器¶
使用 HTTP(S) 為您提供對底層 Git 倉儲的只讀存取。
安裝¶
將
weblate.gitexport
新增到settings.py
中安裝的 apps 中:INSTALLED_APPS += ("weblate.gitexport",)
通過安裝後遷移資料庫,將現有的倉儲導出:
weblate migrate
提示
Git exporter is turned on in our official Docker image. To turn it of, use:
WEBLATE_REMOVE_APPS=weblate.gitexport
使用¶
模組自動鉤入 Weblate,並且在 組件組態 中設定匯出儲存庫 URL。儲存庫在 Weblate URL 的 /git/
部分下是可以存取的,例如 https://example.org/git/weblate/main/
。
公共可用項目的倉儲可以被克隆而無需認證:
git clone 'https://example.org/git/weblate/main/'
對儲存庫的受限制的存取(使用 Private 存取控制 或在 REQUIRE_LOGIN
處於啟用狀態時)需要一個 API 代符,取得位置在您的 :ref: user-profile <user-profile>:
git clone 'https://user:KEY@example.org/git/weblate/main/'
提示
成員或 Users 使用者組與匿名使用者預設通過 Access repository 和 Power user 角色存取公開項目。
帳單¶
這用在 Hosted Weblate 上來確定付費套餐,跟踪收據和使用限制。
安裝¶
1. Add weblate.billing
to installed apps in
settings.py
:
INSTALLED_APPS += ("weblate.billing",)
執行資料庫遷移,來可選地為模組安裝另外的資料庫結構:
weblate migrate
Billing plan creation and assignment¶
You first need to create a billing plan to activate billing. Navigate to the Administration section (represented by the wrench icon) and open the Tools screen. From there, proceed to the Django admin interface.
In the Django admin interface, locate the BILLING section and add a billing plan. For instance, you can add a Free plan with no cost.
If you wish to assign a billing plan to an existing project, this can also be done within the Django admin interface using the Customer billings option.
Lastly, the Django admin interface provides an Invoice option for logging your customer payments.
使用¶
安裝後您可以在管理界面控制帳單。允許了帳單的使用者將在他們的 使用者個人檔案 中得到新的 Billing 標籤。
帳單模組額外允許專案管理員在不是超級使用者的情況下去建立新的專案和組件(請參見 新增翻譯項目和組件)。當後面的條件滿足是這是可能的:
帳單在其組態的限制下(任何過度的使用都會阻止新建項目/元件),並且被支付(如果價格為非零值的話)
使用者是現有的帶有帳單項目的管理員,或者使用者是帳單的所有者(當為使用者新建新的帳單,而允許導入新的項目時,後者是必要的)。
在新建項目時,使用者在存取多個帳單的情況下,能夠選擇將項目記在哪個帳單上。
法律¶
這用在 Hosted Weblate 上,來提供所需的法律文件。它開始時提供空白文件,會希望您填充文件中後面的模板:
legal/documents/tos.html
服務條款文件
legal/documents/privacy.html
Privacy policy document
legal/documents/summary.html
服務條款與隱私政策的簡短概覽
On changing the terms of service documents, please adjust
LEGAL_TOS_DATE
so that users are forced to agree with the updated
documents.
備註
可以在這個 Git 儲存庫 <https://github.com/WeblateOrg/wllegal/tree/main/wllegal/templates/legal/documents> 中取得 Hosted Weblate 的法律文件。
這些很可能對您沒有直接的用處,但如果調整來滿足您的需求時,以此作為起點可能會比較方便。
安裝¶
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 += ("weblate.legal.pipeline.tos_confirm",)
# Middleware to enforce TOS confirmation of signed in users
MIDDLEWARE += [
"weblate.legal.middleware.RequireTOSMiddleware",
]
執行資料庫遷移,來可選地為模組安裝另外的資料庫結構:
weblate migrate
編輯
weblate/legal/templates/legal/
文件夾中的而法律文件,與您的服務匹配。
使用¶
安裝並編輯後,法律文件顯示在 Weblate UI 中。
頭像¶
頭像在伺服器端下載並快取,來減少對預設服務的網站的洩露。通過為其組態的電子郵件地址來取回頭像的內建支援,可以使用 ENABLE_AVATARS
來關閉。
Weblate 目前支援:
針對垃圾郵件的保護¶
您可以免受使用者發送垃圾郵件的侵擾,方法是使用 Akismet 服務。
安裝 akismet Python 模組(這已包含在官方 Docker image 中)。
取得 Akismet API 金鑰。
將其儲存為:設定:akismet_api_key`或:envvar:`weblate_akismet_api_key in docker。
以下內容被發送到AkisMet進行檢查:
Suggestions from unauthenticated users
Project and component descriptions and links
備註
這(除了其它事情以外)相依於客戶端的 IP 地址,適當的組態請參見: 在反向代理後面執行。
簽署 GnuPG 的 Git 承諾¶
所有的承諾可以由 Weblate 時間的 GnuPG 金鑰簽署。
1. Turn on WEBLATE_GPG_IDENTITY
. (Weblate will generate a GnuPG
key when needed and will use it to sign all translation commits.)
這個特性需要安裝 GnuPG 2.1 或更新版。
您可以在 DATA_DIR
中找到金鑰,而公鑰顯示在“關於”頁面上:
![../_images/about-gpg.webp](../_images/about-gpg.webp)
2. Alternatively you can also import existing keys into Weblate, just set
HOME=$DATA_DIR/home
when invoking gpg.
提示
The key material is cached by Weblate for a long period. In case you let
Weblate generate a key with WEBLATE_GPG_IDENTITY
and then import
key with the same identity to use an existing key, purging redis cache is
recommended to see the effect of such change.
備註
When sharing DATA_DIR
between multiple hosts, please follow instructions
at https://wiki.gnupg.org/NFS to make GnuPG signing work reliably.
頻次限制¶
在 4.6 版的變更: 速率限制不再適用於超級使用者。
Weblate 的一些操作受到頻次限制。在 RATELIMIT_WINDOW
的秒數內最多允許 RATELIMIT_ATTEMPTS
次數的嘗試。然後阻止使用者 RATELIMIT_LOCKOUT
時間。還有指定範圍的設定,例如 RATELIMIT_CONTACT_ATTEMPTS
或 RATELIMIT_TRANSLATE_ATTEMPTS
。下面的表格是可用範圍的完整列表。
後面的操作受到頻次限制:
名稱 |
範圍 |
允許的嘗試 |
頻次限制窗口 |
鎖定時間 |
---|---|---|---|---|
註冊 |
|
5 |
300 |
600 |
將消息發送給管理員 |
|
2 |
300 |
600 |
Password authentication on sign in |
|
5 |
300 |
600 |
網站範圍的搜尋 |
|
6 |
60 |
60 |
正在翻譯 |
|
30 |
60 |
600 |
Adding to glossary |
|
30 |
60 |
600 |
Starting translation into a new language |
|
2 |
300 |
600 |
Creating new project |
|
5 |
600 |
600 |
If a user fails to sign in AUTH_LOCK_ATTEMPTS
times, password authentication will be turned off on the account until having gone through the process of having its password reset.
這個設定也可被使用在 Docker 容器中,透過新增 WEBLATE_
前綴字在設定名稱前。如: RATELIMIT_ATTEMPTS
可使用 WEBLATE_RATELIMIT_ATTEMPTS
。
API 具有另外的速率限制設定,請參見 API 頻次限制。
Fedora Messaging integration¶
Fedora Messaging是基於AMQP的發佈者,用於Weberate中發生的所有變化。您可以在使用此操作中掛鉤正在發生的更改的其他服務。
Fedora Messaging Integration可作為單獨的Python模塊``weblate-fedora-messaging``。請參閱<https://github.com/weblateorg/fedora_messaging/>用於設定說明。