配置

所有的设置都存储在 settings.py 中(就像 Django 通常那样)。

备注

更改这些设置中的任意一项后,您需要重新启动 Weblate—包括 WSGI 和 Celery 进程。

在它作为 mod_wsgi 运行的情况下,需要重新启动 Apache,来重新加载配置。

参见

另请查阅 Django's documentation 了解配置 Django 自身的参数。

ADMINS_CONTACT

配置联络表单向何处发送电子邮件。如未配置,将使用来自 ADMINS 的电子邮件地址。

将这个作为电子邮件地址列表进行配置:

ADMINS_CONTACT = ["admin@example.com", "support@example.com"]

ALLOWED_ASSET_DOMAINS

Added in version 5.14.

Configures which domains are allowed for fetching assets in Weblate.

This enhances security by preventing loading assets from untrusted sources. Assets are downloaded once by the Weblate server and stored locally, rather than being served directly from external domains to users.

It expects a list of host/domain names. You can use fully qualified names (e.g www.example.com) or prepend with a period as a wildcard to match all subdomains (e.g .example.com will match cdn.example.com or static.example.com).

Defaults to [*] which will allow all domains.

Example

ALLOWED_ASSET_DOMAINS = [
    # Allows only cdn.anotherdomain.org
    "cdn.anotherdomain.org",
    # Allows example.com and all its subdomains
    ".example.com",
]

This is currently used in the following places:

ALLOWED_ASSET_SIZE

Added in version 5.14.

Configures size limit for fetching assets in Weblate. Defaults to 4 MB.

ALTCHA_MAX_NUMBER

Added in version 5.9.

配置 ALTCHA 工作证明机制的最大数字。

ANONYMOUS_USER_NAME

未登录用户的用户名。

参见

访问控制

AUDITLOG_EXPIRY

Weblate 将保留包含有关账号活动信息的审核日志的最长天数。

默认为 180 天。

AUTH_LOCK_ATTEMPTS

应用速率限制之前,认证尝试失败的最大次数。

当前,这应用在后面的位置:

  • 登录。删除账户密码,防止用户不请求新的密码而登录。

  • 密码重置。防止发出新的电子邮件,避免向用户发出太多密码重置尝试的垃圾电子邮件。

默认为 10。

参见

频次限制

AUTO_UPDATE

以每天的频率更新所有仓库。

提示

在不使用 通知钩子 来自动更新 Weblate 仓库的情况下有用。

备注

除了字符串选项还存在开关选项,用于向后兼容。

选项有:

"none"

不进行每日更新。

"remote" 也是 False

只进行远程更新。

"full" 也是 True

更新远程,并合并工作副本。

备注

这需要 使用 Celery 的后台任务 工作,并在重启后生效。

AVATAR_URL_PREFIX

构成头像 URL 的前缀为:${AVATAR_URL_PREFIX}/avatar/${MAIL_HASH}?${PARAMS}。已知后面的服务工作:

Gravatar(默认),根据 https://gravatar.com/

AVATAR_URL_PREFIX = 'https://www.gravatar.com/'

Libravatar,根据 https://www.libravatar.org/

AVATAR_URL_PREFIX = 'https://www.libravatar.org/'

AUTH_TOKEN_VALID

身份验证令牌和密码重置电子邮件中临时密码的有效时间。以秒为单位,默认为 172800(2 天)。

AUTH_PASSWORD_DAYS

Weblate 拒绝用户重复使用之前用过的密码的情况要持续多少天。

检查是基于审计日志进行的,AUDITLOG_EXPIRY 需要至少和这个一样。

备注

Weblate 2.15 版本之前的密码更改不遵从这个原则。

默认为 180 天。

AUTOFIX_LIST

当存储字符串时应用自动修复列表。

备注

向实现 autofixer 接口的 Python 类提供一个完全合格的路径。

自动修正 描述了可用的修复。

可以选择使用哪一个:

AUTOFIX_LIST = (
    "weblate.trans.autofixes.whitespace.SameBookendingWhitespace",
    "weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis",
)

BACKGROUND_TASKS

Added in version 4.5.2.

定义应为部件触发冗长维护任务的频率。

现在这个控件:

可能的选项:

  • monthly(这是默认设置)

  • weekly

  • daily

  • never

备注

当 Weblate 包含数千个部件时,不建议增加频率。

BASIC_LANGUAGES

Added in version 4.4.

提供给用户开始新的翻译的语言列表。当未指定时,使用内建列表(其中包括所有常用的语言,但没有特定国家/地区的变体)。

这只是限制了非特权用户将不想要的语言添加进来。项目管理员仍然被给出 Weblate 中定义的所有语言选择。

备注

这对 Weblate 并不定义新的语言,它只在数据库中筛选了现有的那些。

示例:

BASIC_LANGUAGES = {"cs", "it", "ja", "en"}

参见

语言定义

BORG_EXTRA_ARGS

Added in version 4.9.

当内置备份被触发时,你可以将额外的变量传递给 borg create

示例:

BORG_EXTRA_ARGS = ["--exclude", "vcs/"]

CACHE_DIR

Added in version 4.16.

Weblate 存放缓存文件的目录。默认为 DATA_DIR 中的 cache 子目录。

将此更改为本地或临时文件系统,如果 DATA_DIR 位于网络文件系统上。

Docker 容器为这个使用了一个单独的卷,请参阅 Docker 容器卷

后面的子目录通常存在:

fonts

管理字型font-config 缓存。

avatar

缓存的用户头像,见 头像

static

静态 Django 文件的默认位置,由 STATIC_ROOT 指定。见 为静态文件提供服务

tesseract

字符串的可视化上下文 的 OCR 训练数据。

CSP_SCRIPT_SRC, CSP_IMG_SRC, CSP_CONNECT_SRC, CSP_STYLE_SRC, CSP_FONT_SRC, CSP_FORM_SRC

为 Weblate 定制 Content-Security-Policy 标头。根据允许集成的第三方服务(Matomo、Google Analytics、Sentry……)来自动生成标头。

这些都是空列表的默认值。

示例:

# Enable Cloudflare Javascript optimizations
CSP_SCRIPT_SRC = ["ajax.cloudflare.com"]

CHECK_LIST

翻译时执行的质量检查列表。

备注

提供一个实现了检查接口的 Python 类的完全合规路径。

调整检查列表,来包括与你相关的那些检查。

所有内建的 质量检查 默认都打开,可以从那里更改设置。它们在 配置的示例 中被默认注释掉,从而使用默认值。然后每个新的 Weblate 版本执行新的检查。

可以关闭所有检查:

CHECK_LIST = ()

可以只打开一部分检查:

CHECK_LIST = (
    "weblate.checks.chars.BeginNewlineCheck",
    "weblate.checks.chars.EndNewlineCheck",
    "weblate.checks.chars.MaxLengthCheck",
)

备注

更改这些设置只影响新更改的翻译,现存的检查仍然存储在数据库中。为了将更改同样应用到存储的翻译中,运行 updatechecks

COMMENT_CLEANUP_DAYS

在给定天数后删除评论。默认为 None,表示不删除。

COMMIT_PENDING_HOURS

通过后台任务方式提交待处理更改之间的小时数。

CONTACT_FORM

Added in version 4.6.

配置来自联系表单的电子邮件的发送方式。选择与您的电子邮件服务器配置相匹配的配置。

"reply-to"

发送者在 Reply-To 中使用,这是默认行为。

"from"

发件人为 From,你的电子邮箱服务器需要允许发送此类电子邮件。

DATA_DIR

Weblate 存储所有数据的文件夹。它包含指向版本控制系统仓库、全文索引和外部工具的各种配置文件。

后面的子目录通常存在:

home

Home 目录用于调用脚本。

ssh

SSH 密钥和配置。

media

Django 媒体文件的默认位置,由 MEDIA_ROOT 指定。包含已上传的截屏,见 字符串的可视化上下文

vcs

翻译的版本控制仓库。

backups

每日备份数据,详情请查阅 下载的数据用于备份

fonts:

用户上传的字体,参见 管理字型

cache

各种缓存。可使用 CACHE_DIR 置于别处。

Docker 容器为这个使用了一个单独的卷,请参阅 Docker 容器卷

备注

这个目录必须由 Weblate 写入。将它作为 WSGI 运行意味着 www-data 用户应该对它具有写入权限。

实现这个的最简单方式是使用户作为目录的所有者:

sudo chown www-data:www-data -R $DATA_DIR

默认为 /home/weblate/data,但预计将进行配置。

DATABASE_BACKUP

数据库备份应该存储为纯文本,压缩还是跳过。授权值为:

  • "plain"

  • "compressed"

  • "none"

DEFAULT_ACCESS_CONTROL

新项目的默认访问控制设置:

0

公开的

1

受保护的

100

私有的

200

自定义

如果手动管理 ACL 则使用 自定义,这意味着不依赖于 Weblate 内部管理。

DEFAULT_AUTO_WATCH

Added in version 4.5.

配置是否应该为新用户打开 自动关注作出贡献的项目。默认为 True

参见

通知

DEFAULT_RESTRICTED_COMPONENT

Added in version 4.1.

部件限制的默认值。

DEFAULT_ADD_MESSAGE, DEFAULT_ADDON_MESSAGE, DEFAULT_COMMIT_MESSAGE, DEFAULT_DELETE_MESSAGE, DEFAULT_MERGE_MESSAGE

不同操作的默认提交说明,请查阅 部件配置 了解详情。

DEFAULT_ADDONS

安装在每个创建的部件中的默认附加组件。

备注

此设置只影响新创建的部件。

示例:

DEFAULT_ADDONS = {
    # Add-on with no parameters
    "weblate.flags.target_edit": {},
    # Add-on with parameters
    "weblate.autotranslate.autotranslate": {
        "mode": "suggest",
        "filter_type": "todo",
        "auto_source": "mt",
        "component": "",
        "engines": ["weblate-translation-memory"],
        "threshold": "80",
    },
}

DEFAULT_COMMITER_EMAIL

提交者电子邮箱地址默认为 noreply@weblate.org

DEFAULT_COMMITER_NAME

提交者姓名默认为 Weblate

DEFAULT_LANGUAGE

Added in version 4.3.2.

任何新部件的 源语言

默认为 en。匹配的语言对象需要存在于数据库中。

DEFAULT_MERGE_STYLE

任何新部件的 合并方式

  • rebase - default

  • merge

DEFAULT_SHARED_TM

配置 使用共享的翻译记忆库贡献到共享的翻译记忆库 的默认值。

DEFAULT_AUTOCLEAN_TM

Added in version 5.13.

配置 自动清理翻译记忆库 的默认值。

DEFAULT_TRANSLATION_PROPAGATION

翻译传播的默认设置,默认为 True

DEFAULT_PULL_MESSAGE

配置拉取请求的默认标题和说明。

ENABLE_AVATARS

是否为用户开启基于 Gravatar 的头像。默认开启。

头像取出并缓存在从服务器中,降低了泄漏个人信息的风险,加速了用户体验。

ENABLE_HOOKS

是否打开匿名远程钩子。

参见

通知钩子

ENABLE_HTTPS

在 5.7 版本发生变更: 对于 WebAuthn 支持,Weblate 现在要求 https。

将链接作为 HTTPS 还是 HTTP 发送给 Weblate。这个设置影响发送电子邮件,并产生绝对 URL。

在默认配置中,这还用于与 HTTPS 相关的几个 Django 设置 — 启用安全 Cookie、切换 HSTS 或允许重定向到 HTTPS URL。

在一些情况下 HTTPS 重定向会有问题,您可以在使用反向代理进行 SSL 终端连接的情况下碰到无限重定向的问题,使用反向代理进行 SSL 终端连接不能将协议标头正确地传递给 Django。请调整自己的反向代理配置以传递 X-Forwarded-ProtoForwarded 标头,或者配置 SECURE_PROXY_SSL_HEADER,让 Django 正确地检测 SSL 状态。

如果它被停用,Weblate 启动会失败,显示错误 otp_webauthn.E031 。要不显示这个错误,你可以将它添加到 SILENCED_SYSTEM_CHECKS,但即使这么做,WebAuthn 也不会适用于没有 HTTPS 的站点。

ENABLE_SHARING

打开/关闭 社区 菜单,使用户能够将翻译过程分享到社交网络上。

EXTRA_HTML_HEAD

Added in version 4.15.

将附加标记插入 HTML 标头。可用于验证站点所有权,示例:

EXTRA_HTML_HEAD = '<link href="https://fosstodon.org/@weblate" rel="me">'

警告

未对字符串进行清洁操作,它按原样插入到 HTML 标头中。

GET_HELP_URL

Added in version 4.5.2.

可以找到你的 Weblate 实例支持的 URL。

GITEA_CREDENTIALS

Added in version 4.12.

Gitea 服务器凭据列表。

GITEA_CREDENTIALS = {
    "try.gitea.io": {
        "username": "weblate",
        "token": "your-api-token",
    },
}

配置目录由为每个 API 主机定义的凭据所组成。几乎所有版本控制集成的布局都是一样的,描述见 配置版本控制凭据

GITLAB_CREDENTIALS

Added in version 4.3.

用于 GitLab 服务器的证明列表。

GITLAB_CREDENTIALS = {
    "gitlab.com": {
        "username": "weblate",
        "token": "your-api-token",
    },
}

备注

The personal access token needs the api scope to be able to use the API.

配置目录由为每个 API 主机定义的凭据所组成。几乎所有版本控制集成的布局都是一样的,描述见 配置版本控制凭据

GITHUB_CREDENTIALS

Added in version 4.3.

用于 GitHub 服务器的证明列表。

GITHUB_CREDENTIALS = {
    "api.github.com": {
        "username": "weblate",
        "token": "your-api-token",
    },
}

备注

同时使用精细个人访问令牌和经典个人访问令牌是能做到的。精细令牌被限制在单个组织,因此如果你要 Weblate 去 fork 一个组织之外的仓库(通常到用户命名空间),它不会工作。

要克隆、推送并创建拉取请求,需要对 ContentsPull requests 的读取和写入权限。

Administration 对 fork 仓库来说可能也是必需的,如果你打算使用 fork,而原始仓库并不公开。

提示

使用 api.github.com 作为 https://github.com/ 的 API 主机。

配置目录由为每个 API 主机定义的凭据所组成。几乎所有版本控制集成的布局都是一样的,描述见 配置版本控制凭据

BITBUCKETSERVER_CREDENTIALS

Added in version 4.16.

Bitbucket 数据中心凭据列表。

BITBUCKETSERVER_CREDENTIALS = {
    "git.self-hosted.com": {
        "username": "weblate",
        "token": "http-access-token",
    },
}

配置目录由为每个 API 主机定义的凭据所组成。几乎所有版本控制集成的布局都是一样的,描述见 配置版本控制凭据

BITBUCKETCLOUD_CREDENTIALS

Added in version 5.8.

Bitbucket Cloud 服务器凭据列表。

BITBUCKETCLOUD_CREDENTIALS = {
    "bitbucket.org": {
        "username": "your-username",
        "workspace": "your-workspace-slug",
        "token": "your-api-token",
    },
}

配置目录由为每个 API 主机定义的凭据所组成。API 主机可能和你在网页浏览器中所用的不同,比如 GitHub API 访问地址为 api.github.com.

下列配置对每个主机可用:

username

API 用户。

workspace

用户工作区标识符。

token

The API token with pullrequest:write permission.

此处未说明的其他设置可以在 配置版本控制凭据 中找到。

AZURE_DEVOPS_CREDENTIALS

Added in version 5.2.

Azure DevOps 服务器凭据列表。

AZURE_DEVOPS_CREDENTIALS = {
    "dev.azure.com": {
        "username": "project-name",
        "token": "your-api-token",
        "organization": "organization-name",
    },
}

配置目录由为每个 API 主机定义的凭据所组成。API 主机可能和你在网页浏览器中所用的不同,比如 GitHub API 访问地址为 api.github.com.

下列配置对每个主机可用:

username

Azure DevOps 项目名。注意不是仓库名。

organization

项目组织名。

workItemIds

贵组织工作项 ID 的可选列表。提供之后,新的拉取请求会附上这些 ID。

token

API 用户的 API 令牌,必填。

此处未说明的其他设置可以在 配置版本控制凭据 中找到。

GOOGLE_ANALYTICS_ID

Google Analytics ID,打开使用 Google Universal Analytics 对 Weblate 的监控。

备注

Google Analytics 4 集成当前对 Weblate 不可用,请见 https://github.com/WeblateOrg/weblate/issues/14015

HIDE_REPO_CREDENTIALS

隐藏仓库凭据避免出现在 web 界面中。在仓库 URL 带有用户名和密码的情况下,Weblate 会在相关信息显示给用户时将其隐藏起来。

例如,它将显示 https://git.example.com/repo.git 不会显示 https://user:password@git.example.com/repo.git。它也尝试以相似的方式清除版本控制系统错误信息。

备注

默认开启。

HIDE_VERSION

Added in version 4.3.1.

对未经身份验证用户隐藏版本信息。这也会使所有文档链接都指向最新的版本,而不是与当前安装版本相匹配的文档。

隐藏版本是某些企业推荐的安全实践,但不能防止攻击者通过试探行为来找出版本。

备注

默认这是关闭的。

INTERLEDGER_PAYMENT_BUILTIN

Added in version 5.11.

开关用于资助 Weblate 的内置的 Interledger Payment 提示。

INTERLEDGER_PAYMENT_POINTERS

Added in version 4.12.1.

用于网络货币化的分类账间支付指针(ILP)列表。

如果指定了多个,则通过随机选择一个来实现概率收入共享。

请查阅 <https://webmonetization.org/> 了解更多细节。

提示

除非通过 INTERLEDGER_PAYMENT_BUILTIN 关闭,否则会自动添加资助 Weblate 的提示。

IP_BEHIND_REVERSE_PROXY

指示 Weblate 是否在反向代理之后运行。

如果设置为 True,Weblate 会从 IP_PROXY_HEADER 定义的标头中获取 IP 地址。

警告

确保真正使用反向代理,并且设置了这个标头,否则用户将能够假冒 IP 地址。

备注

默认这不是打开的。

IP_PROXY_HEADER

指示当 IP_BEHIND_REVERSE_PROXY 打开时,Weblate应该从那个标头得到 IP 地址。

默认为 HTTP_X_FORWARDED_FOR

IP_PROXY_OFFSET

在 5.0.1 版本发生变更: 默认值从 1 改成了 -1。

指示 IP_PROXY_HEADER 的哪部分用作客户端 IP 地址。

取决于你的设置,这个标头会包括几个 IP 地址,(例如 X-Forwarded-For: client-ip, proxy-a, proxy-b),并且可以配置标头的哪个地址在这里用作客户端 IP 地址。

警告

设置这个会影响你安装的安全性,应该只配置它来使用信任的代理来确定 IP 地址。请查阅 <https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Reference/Headers/X-Forwarded-For#安全和隐私考虑> 了解更多信息。

默认为 -1。

LICENSE_EXTRA

包括在许可选择中的其他许可。

备注

每个许可证定义应该是其短名称、长名称、URL 和布尔值的元组,表明其是自由许可证。

例如:

LICENSE_EXTRA = [
    (
        "AGPL-3.0",
        "GNU Affero General Public License v3.0",
        "https://www.gnu.org/licenses/agpl-3.0-standalone.html",
        True,
    ),
]

LICENSE_FILTER

在 4.3 版本发生变更: 现在将此设置为空值可禁用许可证警报。

筛选要显示的许可证列表。将此设置为空可禁用许可证警报。

备注

这个过滤器使用简短的许可证名称。

例如:

LICENSE_FILTER = {"AGPL-3.0", "GPL-3.0-or-later"}

以下为禁用许可证警报的方法:

LICENSE_FILTER = set()

LICENSE_REQUIRED

定义了是否需要 部件配置 中的许可属性。

备注

默认这是关闭的。

LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH

是否应限制给定翻译的长度。限制为源字符串的长度 × 10 个字符。

提示

将其设置为 False 即可允许更长的翻译(最多 10,000 个字符),而不管源字符串的长度。

备注

默认为 True

LOCALIZE_CDN_URL 和 LOCALIZE_CDN_PATH

这些设置配置 JavaScript 本地化 CDN 附加组件。LOCALIZE_CDN_URL 定义了本地化 CDN 可用的根 URL,而 LOCALIZE_CDN_PATH 定义了 Weblate 应把 LOCALIZE_CDN_URL 将提供的生成文件存储在哪个路径。

提示

在 Hosted Weblate 中,这使用 https://weblate-cdn.com/

LOGIN_REQUIRED_URLS

你希望需要登录的 URL 列表。(除了 Weblate 内建立的标准规则)。

提示

这允许密码保护整个安装,通过使用:

LOGIN_REQUIRED_URLS = (r"/(.*)$",)
REST_FRAMEWORK["DEFAULT_PERMISSION_CLASSES"] = [
    "rest_framework.permissions.IsAuthenticated"
]

提示

同样想要锁住 API 访问,如上面的示例所示。

参见

REQUIRE_LOGIN

LOGIN_REQUIRED_URLS_EXCEPTIONS

用于 LOGIN_REQUIRED_URLS 的例外列表。如果未指定,则允许用户访问登录页。

配置的示例 了解此设置的推荐配置。

MATOMO_SITE_ID

你想用来跟踪 Weblate 的 Matomo(以前的 Piwik)网站的 ID。

备注

这个集成不支持 Matomo Tag Manager。

参见

MATOMO_URL

MATOMO_URL

你想用于跟踪 Weblate 使用情况的 Matomo(以前的 Piwik)安装的完整 URL(包括结尾的斜杠)。请查阅 <https://matomo.org/> 了解详情。

提示

这个集成不支持 Matomo Tag Manager。

例如:

MATOMO_SITE_ID = 1
MATOMO_URL = "https://example.matomo.cloud/"

NEARBY_MESSAGES

完整编辑器中在两个方向上显示的附近字符串数量。

这只是默认值,用户可以在 用户个人资料 中调整这个。

DEFAULT_PAGE_LIMIT

Added in version 4.7.

分页激活时显示的默认元素数量。

PAGURE_CREDENTIALS

Added in version 4.3.2.

Pagure 服务器凭据列表。

PAGURE_CREDENTIALS = {
    "pagure.io": {
        "username": "weblate",
        "token": "your-api-token",
    },
}

配置目录由为每个 API 主机定义的凭据所组成。几乎所有版本控制集成的布局都是一样的,描述见 配置版本控制凭据

PASSWORD_MINIMAL_STRENGTH

Added in version 5.10.2.

最小的密码得分由 zxcvbn 密码长度预测器进行评估。

默认为 0,表示停用强度检查。

PRIVACY_URL

Added in version 4.8.1.

你的 Weblate 实例显示隐私政策的 URL。

提示

在将你的法律文件保存在 Weblate 之外,而将其嵌入 Weblate 的情况下有用。细节请查看 法律组件

示例:

PRIVACY_URL = "https://weblate.org/terms/"

参见

LEGAL_URL

PRIVATE_COMMIT_EMAIL_OPT_IN

Added in version 4.15.

配置私密提交邮箱是手动启用还是默认启用(默认情况下为手动启用)。

提示

此设置仅适用于未明确选择提交邮箱的用户。

PRIVATE_COMMIT_EMAIL_TEMPLATE

Added in version 4.15.

为用户生成私密提交邮箱的模板。默认为 "{username}@users.noreply.{site_domain}"

留空禁用该功能。

备注

除非通过 PRIVATE_COMMIT_EMAIL_OPT_IN 配置,否则使用不同的提交邮箱对用户而言默认处于手动启用状态。用户可以在 个人资料 中配置提交邮箱。

PROJECT_BACKUP_KEEP_COUNT

Added in version 4.14.

定义每个项目在服务器上保留多少备份,它默认为3。

PROJECT_BACKUP_KEEP_DAYS

Added in version 4.14.

定义项目备份将在服务器上保留多长时间,默认值为 30 天。

PROJECT_NAME_RESTRICT_RE

Added in version 4.15.

定义用于限制项目命名的正则表达式。任何匹配的名称都将被拒绝。

参见

项目名称

PROJECT_WEB_RESTRICT_HOST

Added in version 4.16.2.

在项目网站中拒绝使用特定的主机。匹配任意子域名,因此包含 example.com 会同样拦截 test.example.com. 此列表只应包含小写字符串,进行匹配前,解析的域名名称会转为小写。

默认配置:

PROJECT_WEB_RESTRICT_HOST = {"localhost"}

PROJECT_WEB_RESTRICT_NUMERIC

Added in version 4.16.2.

拒绝在项目网站中使用数字 IP 地址。默认启用。

PROJECT_WEB_RESTRICT_RE

Added in version 4.15.

定义正则表达式限制什么可以被输入为 项目网站。任何匹配的 URL 都将被拒绝。

RATELIMIT_NOTIFICATION_LIMITS

Added in version 5.14.

Limits how many notifications for a single user will be sent out.

默认设置为:

# Multi-level rate limiting for email notifications
# Each tuple contains (max_emails, time_window_seconds)
RATELIMIT_NOTIFICATION_LIMITS = [
    # Prevent burst sends - 3 emails per 2 minutes
    (3, 120),
    # Equalize to avoid getting blocked for too long - 10 emails per hour
    (10, 3600),
    # Daily limit: 50 emails per day
    (50, 86400),
]

RATELIMIT_ATTEMPTS

在应用次数限制前,身份认证尝试的最多次数。

默认为 5。

RATELIMIT_WINDOW

应用次数限制后,可接受多少次身份认证。

秒数默认为 300(5 分钟)。

RATELIMIT_LOCKOUT

在应用次数限制后,身份认证锁定多久。

秒数默认为 600(10 分钟)。

REGISTRATION_ALLOW_BACKENDS

Added in version 4.1.

身份验证后端的列表,允许从中注册。这只限制新的注册,用户可以使用配置的身份验证后端,来进行身份验证和添加身份验证。

限制注册后端的同时,推荐保持 REGISTRATION_OPEN 为开启状态,否则用户将能够注册,但Weblate不会在用户界面显示注册的链接。

示例:

REGISTRATION_ALLOW_BACKENDS = ["azuread-oauth2", "azuread-tenant-oauth2"]

提示

与身份验证 URL 中使用的名称匹配的后端名称。

REGISTRATION_CAPTCHA

新账户注册是否受 CAPTCHA 的保护。此功能默认开启。

如果打开,CAPTCHA 会添加到用户输入其电子邮箱地址的所有页面中:

  • 新账户注册。

  • 找回密码。

  • 将电子邮箱地址添加到账户中。

  • 供未登录用户使用的联系表单。

保护当前由下列步骤组成:

  • 用户要解决的数学人机验证。

  • 由浏览器计算的工作证明挑战。可使用 ALTCHA_MAX_NUMBER 调整难度。

REGISTRATION_EMAIL_MATCH

允许你筛选哪个电子邮箱地址可以注册。

默认为 .*,允许使用任何电子邮箱地址注册。

可以用它限制注册到单一的电子邮箱域名:

REGISTRATION_EMAIL_MATCH = r"^.*@weblate\.org$"

REGISTRATION_OPEN

当前是否允许注册新账户。默认为允许。

这个设置影响了内建的通过电子邮箱地址或通过 Python 社交认证的身份验证(可以允许某些后端使用 REGISTRATION_ALLOW_BACKENDS)。

备注

如果使用第三方身份验证方法,如 LDAP 身份验证,只是隐藏注册表单,而新用户仍然能够登录并建立账户。

REGISTRATION_REBIND

Added in version 4.16.

允许为现有用户重新绑定身份验证后端。在不同身份验证提供者之间迁移时请打开此选项。

备注

默认禁用,不允许添加其他身份验证后端到现有账户。使用更多第三方身份验证后端时,重新绑定可导致账户沦陷。

REPOSITORY_ALERT_THRESHOLD

Added in version 4.0.2.

触发仓库过期警报的阈值,或者包含了太多更改的阈值。默认为 25。

REQUIRE_LOGIN

Added in version 4.1.

这会启用 LOGIN_REQUIRED_URLS 并配置 REST 框架来对所有 API 端点都要求登录。

备注

这实现在 配置的示例 中。对于 Docker,使用 WEBLATE_REQUIRE_LOGIN

SENTRY_DSN

Sentry DSN 用于 收集错误报告并监控性能

SENTRY_ENVIRONMENT

配置 Sentry 环境。默认值为 devel.

SENTRY_MONITOR_BEAT_TASKS

Added in version 5.13.

配置是否用 Sentry 监控 Celery Beat 任务。默认值是 True.

SENTRY_PROFILES_SAMPLE_RATE

配置性能监控采样率。设为 1 跟踪所有事件,0(默认值)禁用跟踪。

SENTRY_SEND_PII

允许 Sentry 收集特定的个人可识别身份信息。此选项默认关闭。

在 5.7 版本发生变更: 默认关闭,曾经默认开启。

SENTRY_TRACES_SAMPLE_RATE

配置个人资料监控采样率。设为 1 跟踪所有事件,0(默认)禁用跟踪。

SIMPLIFY_LANGUAGES

对于默认语言/国家组合使用简单语言代码。例如,fr_FR 翻译将使用 fr 语言代码。这通常是受欢迎的特性,因为它简化了这些默认群组合列出的语言。

如果对每种不同的变化想要不同的翻译,那么请将其关闭。

SITE_DOMAIN

配置网站域名。这对于在很多地方获得正确的绝对链接是必要的(例如激活电子邮箱、通知或 RSS 订阅源)。

在 Weblate 运行在非标准端口时,这里同样要包括它。

示例:

# Production site with domain name
SITE_DOMAIN = "weblate.example.com"

# Local development with IP address and port
SITE_DOMAIN = "127.0.0.1:8000"

备注

这个设置应该只包含域名。对于配置协议,(开启并强制 HTTPS)使用 ENABLE_HTTPS;对于修改 URL,使用 URL_PREFIX

提示

关于 Docker 容器,网站域名通过 WEBLATE_ALLOWED_HOSTS 来配置。

SITE_TITLE

用于网站和发送电子邮件的网站名称。

SPECIAL_CHARS

屏幕键盘中包括的另外的字符,虚拟键盘

默认值为:

SPECIAL_CHARS = ("\t", "\n", "\u00a0", "…")

SINGLE_PROJECT

将用户直接重定向到项目或部件,而不是显示操作面板。可以将其设置为 True,这样它只在 Weblate 中确实只有单一的项目时生效。另外可以设置项目标识串,将无条件地重定向到这个项目。

示例:

SINGLE_PROJECT = "test"

SSH_EXTRA_ARGS

Added in version 4.9.

允许在 Weblate 调用SSH时添加自定义参数。这会在连接到使用传统加密或其他非标准功能的服务器时帮助巨大。

例如,当 Weblate 的 SSH 连接失败并提示 Unable to negotiate with legacyhost: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 时,你可以用以下方式启用:

SSH_EXTRA_ARGS = "-oKexAlgorithms=+diffie-hellman-group1-sha1"

提示

该字符串由 shell 评估,因此请确保任何空格和特殊字符都用引号括起来。

STATUS_URL

你的 Weblate 实例报告其状态的 URL。

SUGGESTION_CLEANUP_DAYS

在给定天数后自动删除建议。默认为 None,表示不删除。

SUPPORT_STATUS_CHECK

Added in version 5.5.

停用半年度支持状态检查并在登录捐赠页时重定向超级用户,假使不存在活跃的支持订阅。

提示

购买支持订阅改进你的 Weblate 体验并推进 Weblate 项目进展。

UNUSED_ALERT_DAYS

Added in version 4.17.

配置何时触发 该部件似乎从未使用 警报。

默认为 365 天,设置为 0 则禁用。

UPDATE_LANGUAGES

Added in version 4.3.2.

控制在运行数据库迁移时是否应该更新语言数据库,默认开启。这个设置对 setuplang 的调用没有影响。

警告

语言显示可能会与此不一致。Weblate 语言定义会随着时间的推移而扩展,并且它不会显示所定义语言的语言代码。

URL_PREFIX

这个设置允许在一些路径下运行 Weblate(否则它依赖于从 web 服务器根目录运行)。

备注

为了使用这个设置,还需要配置服务器来去掉这个前缀。例如 WSGI,可以通过设置 WSGIScriptAlias 来实现。

提示

前缀应该以 / 开始。

示例:

URL_PREFIX = "/translations"

备注

这个设置在 Django 内建服务器中不起作用,必须调整 urls.py 来包含这个前缀。

VCS_API_DELAY

Added in version 4.15.1.

GitHub 拉取请求GitLab 合并请求Gitea 拉取请求Pagure 合并请求Azure DevOps 拉取请求 中配置第三方 API 调用之间的最小延迟(以秒为单位)。

这个速率限制 Weblate 对这些服务的调用,避免服务过载。

如果你正受限于 GitHub 的二级限速器,提升这个值可能会有帮助。

默认值为 10。

VCS_BACKENDS

可用的版本控制系统后端的配置。

备注

Weblate 尝试使用你所有工具支持的后端。

提示

可以使用这个来限制选择或添加定制版本控制系统后端。

VCS_BACKENDS = ("weblate.vcs.git.GitRepository",)

VCS_CLONE_DEPTH

配置 Weblate应该对仓库进行深度为多少的克隆。

备注

当前这只在 Git 中支持。默认 Weblate 进行仓库的浅克隆,使克隆更快并节省磁盘空间。根据应用(例如当使用定制的 附加组件 时),你可能想要增加深度,或通过设置为 0 来完全关闭浅克隆。

提示

在从 Weblate 推送而得到 fatal: protocol error: expected old/new/ref, got 'shallow <commit hash>' 错误的情况下,通过设置来完全关闭浅克隆:

VCS_CLONE_DEPTH = 0

WEBLATE_ADDONS

可供使用的附加组件列表。为了使用,必须为给定的翻译部件启用它们。默认包括了所有内建附加组件,当扩展列表时您可能希望保持现有的附加组件处于启用状态,例如:

WEBLATE_ADDONS = (
    # Built-in add-ons
    "weblate.addons.gettext.GenerateMoAddon",
    "weblate.addons.gettext.UpdateLinguasAddon",
    "weblate.addons.gettext.UpdateConfigureAddon",
    "weblate.addons.gettext.MsgmergeAddon",
    "weblate.addons.gettext.GettextAuthorComments",
    "weblate.addons.cleanup.CleanupAddon",
    "weblate.addons.consistency.LanguageConsistencyAddon",
    "weblate.addons.discovery.DiscoveryAddon",
    "weblate.addons.flags.SourceEditAddon",
    "weblate.addons.flags.TargetEditAddon",
    "weblate.addons.flags.SameEditAddon",
    "weblate.addons.flags.BulkEditAddon",
    "weblate.addons.generate.GenerateFileAddon",
    "weblate.addons.properties.PropertiesSortAddon",
    "weblate.addons.git.GitSquashAddon",
    "weblate.addons.removal.RemoveComments",
    "weblate.addons.removal.RemoveSuggestions",
    "weblate.addons.resx.ResxUpdateAddon",
    "weblate.addons.autotranslate.AutoTranslateAddon",
    "weblate.addons.cdn.CDNJSAddon",
    # Add-on you want to include
    "weblate.addons.example.ExampleAddon",
)

备注

从列表中删除附加组件并不能将其从部件中卸载。Weblate 在这种情况下会崩溃。请先从所有部件中卸载附加组件,然后再将其从此列表中删除。

ADDON_ACTIVITY_LOG_EXPIRY

Added in version 5.6.

配置要保留附加组件活动记录多长时间。默认为 180 天。

WEBLATE_EXPORTERS

Added in version 4.2.

可用的导出程序列表,提供下载各种文件格式的翻译或术语表。

WEBLATE_FORMATS

可供使用的文件格式列表。

备注

默认列表已经具有了常见格式。

WEBLATE_MACHINERY

Added in version 4.13.

可供使用的机器翻译服务列表。

WEBLATE_GPG_IDENTITY

Weblate 对 Git 提交进行签名的身份,例如:

WEBLATE_GPG_IDENTITY = "Weblate <weblate@example.com>"

在 Weblate GPG 密钥环中搜索匹配的密钥(DATA_DIR 下的 home/.gnupg)。如果找不到,则会生成一个密钥,请查阅 使用 GnuPG 为 Git 提交签名 了解详情。

WEBSITE_REQUIRED

定义了在创建项目时是否需要指定 项目网站。默认打开,因为这适合公共服务器的设置。

配置版本控制凭据

配置目录由为每个 API 主机定义的凭据所组成。API 主机可能和你在网页浏览器中所用的不同,比如 GitHub API 访问地址为 api.github.com.

凭据也可以在 仓库推送 URL源代码仓库 中被覆盖(如果没有配置 URL),这些凭据的优先级高于配置文件中所指定的凭据。

下列配置对每个主机可用:

username

API 用户,必填。

token

API 用户的 API 令牌,必填。

scheme

Added in version 4.18.

方案覆盖。Weblate 尝试从仓库 URL 解析方案并退回到 https。如果你正在内部运行 API 服务器,你也许想转而使用 http,但考虑安全性。

提示

在 Docker 容器中,可使用环境变量配置凭据,见 代码托管站点凭据