可选的 Weblate 模块

可以获得几个可选的模块来配置您的设置。

Git 导出器

2.10 新版功能.

使用 HTTP(S) 为您提供对底层 Git 仓库的只读访问。

安装

  1. weblate.gitexport 添加到 settings.py 中安装的 apps 中:

INSTALLED_APPS += ("weblate.gitexport",)
  1. 通过安装后迁移数据库,将现有的仓库导出:

weblate migrate

用法

模块自动钩入 Weblate,并且在 部件配置 中设置导出仓库 URL。仓库在 Weblate URL的 /git/ 部分下是可以访问的,例如 https://example.org/git/weblate/main/

公共可用项目的仓库可以被克隆而无需认证:

git clone 'https://example.org/git/weblate/main/'

对存储库的受限制的访问(使用 Private access control 或在 REQUIRE_LOGIN 处于启用状态时)需要一个 API 令牌,获取位置在你的 用户个人资料:

git clone 'https://user:KEY@example.org/git/weblate/main/'

提示

成员或 用户 群组与匿名用户默认通过 访问代码库高级用户 角色访问公开项目。

账单

2.4 新版功能.

这在 Hosted Weblate 上用于确定付费套餐、跟踪发票和使用限制。

安装

1. Add weblate.billing to installed apps in settings.py:

INSTALLED_APPS += ("weblate.billing",)
  1. 运行数据库迁移,来可选地为模块安装另外的数据库结构:

weblate migrate

用法

安装后您可以在管理界面控制账单。启用了账单模块的用户将在 TA 们的 用户个人资料 中看到新的 Billing 选项卡。

账单模块额外允许项目管理员不是超级用户的情况下去新建新的项目和部件(请参见 添加翻译项目和部件)。当后面的条件满足是这是可能的:

  • 账单在其配置的限制下(任何过度的使用都会阻止新建项目/部件),并且被支付(如果价格为非零值的话)

  • 用户是现有的带有账单项目的管理员,或者用户是账单的所有者(当为用户新建新的账单,而允许导入新的项目时,后者是必要的)。

在新建项目时,用户在访问多个账单的情况下,能够选择将项目记在哪个账单上。

头像

头像在服务器端下载并缓存,来减少对默认服务的网站的泄露。通过为其配置的电子邮件地址来取回头像的内建支持,可以使用 ENABLE_AVATARS 来关闭。

当前的 Weblate 支持:

针对垃圾邮件的保护

您可以使用 Akismet 服务来免受用户发送的垃圾侵扰。

  1. Install the akismet Python module (this is already included in the official Docker image).

  2. 获取 Akismet API 密钥。

  3. Store it as AKISMET_API_KEY or WEBLATE_AKISMET_API_KEY in Docker.

Following content is sent to Akismet for checking:

  • 来自未经身份验证用户的建议

  • 项目和部件描述及链接

备注

这(除了其它事情以外)依赖于客户端的 IP 地址,适当的配置请参见: 在反向代理之后运行

使用 GnuPG 为 Git 提交签名

3.1 新版功能.

所有的提交均可由 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.png

2. Alternatively you can also import existing keys into Weblate, just set HOME=$DATA_DIR/home when invoking gpg.

频次限制

在 3.2 版更改: 频次限制先择接受更细粒度的配置。

在 4.6 版更改: The rate limiting no longer applies to superusers.

Weblate 的一些操作受到频次限制。在 RATELIMIT_WINDOW 的秒数内最多允许 RATELIMIT_ATTEMPTS 次数的尝试。然后阻止用户 RATELIMIT_LOCKOUT 时间。还有指定范围的设置,例如 RATELIMIT_CONTACT_ATTEMPTSRATELIMIT_TRANSLATE_ATTEMPTS。下面的表格是可用范围的完整列表。

后面的操作受到频次限制:

名称

范围

允许的尝试

频次限制窗口

锁定时间

注册

REGISTRATION

5

300

600

将消息发送给管理员

MESSAGE

5

300

600

登录时的密码验证

LOGIN

5

300

600

网站范围的搜索

SEARCH

6

60

60

翻译

TRANSLATE

30

60

600

添加到术语表

GLOSSARY

30

60

600

开始翻译到一种新语言

LANGUAGE

2

300

600

创建新项目

PROJECT

5

600

600

如果用户没能在 AUTH_LOCK_ATTEMPTS 的次数内登录,那么账户的密码验证将关闭,直到完成了重置密码过程为止。

The settings can be also applied in the Docker container by adding WEBLATE_ prefix to the setting name, for example RATELIMIT_ATTEMPTS becomes WEBLATE_RATELIMIT_ATTEMPTS.

API 具有另外的速率限制设置,请参见 API 频次限制

Fedora Messaging 集成

Fedora Messaging is AMQP-based publisher for all changes happening in Weblate. You can hook additional services on changes happening in Weblate using this.

The Fedora Messaging integration is available as a separate Python module weblate-fedora-messaging. Please see <https://github.com/WeblateOrg/fedora_messaging/> for setup instructions.