配置

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

备注

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

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

参见

另请查阅 Django 的文档 了解配置 Django 自身的参数。

ADMINS_CONTACT

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

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

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

ALLOWED_ASSET_DOMAINS

Added in version 5.14.

配置允许哪些域名获取 Weblate 中的资产。

这通过阻止加载来自不受信任资源的资产增强安全性。资产由 Weblate 服务器下载一次并在本地存储,而非直接从外部域名提供给用户。

在 Weblate 遵循此规则之前,允许列表将应用于初始 URL 和每个 HTTP 重定向目标。重定向到此允许列表之外的主机将被拒绝。

预期的是主机名/域名列表。可以使用完全合格的名称(如 www.example.com)或在名称前加上英文句号作为匹配所有子域名的通配符(如 .example.com 会匹配 cdn.example.comstatic.example.com)。

默认为 ["*"],允许所有域。

示例

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

当前,这应用在下列地方:

ALLOWED_MACHINERY_DOMAINS

配置在项目级机器翻译配置中明确允许哪些自定义机器翻译服务域名。

此设置仅适用于机器翻译服务,不会影响 ALLOWED_ASSET_DOMAINS

预期的是主机名/域名列表。可以使用完全合格的名称或在名称前加上英文句号作为匹配所有子域名的通配符。

默认为 []

允许列表对项目管理的机器翻译服务的影响体现在两个方面:一是在出站验证期间允许配置的端点,二是在决定是否可以向用户显示远程提供商错误详情或响应正文时将匹配主机标记为可信。对于直接连接,运行时检查仍会拒绝解析为私有或非公开地址的目标。使用 HTTP(S) 代理时,运行时验证将回退到主机名验证,并且不会执行相同的本地 DNS 或对等 IP 检查。

ALLOWED_ASSET_SIZE

Added in version 5.14.

配置获取 Weblate 资产的大小限制。默认为 10 MB。

ASSET_PRIVATE_ALLOWLIST

Added in version 2025.5.

Defines hostnames or domains exempt from ASSET_RESTRICT_PRIVATE for remote asset downloads that enforce private-target checks. Entries follow Django host matching semantics, so values such as assets.internal.example or .internal.example can be used.

This does not replace ALLOWED_ASSET_DOMAINS; remote assets must still match the asset domain allowlist.

默认配置:

ASSET_PRIVATE_ALLOWLIST = []

ASSET_RESTRICT_PRIVATE

Added in version 2025.5.

Reject remote asset URLs pointing to internal or non-public addresses unless the target host is included in ASSET_PRIVATE_ALLOWLIST. On by default.

When enabled, hostnames that cannot be resolved during validation are rejected unless they are explicitly included in ASSET_PRIVATE_ALLOWLIST. This currently applies to screenshot URL uploads and remote HTML downloads for the JavaScript 本地化 CDN add-on.

ALTCHA_COST

Added in version 5.18.

Argon2id time cost for the ALTCHA proof-of-work challenge. Defaults to 3.

Replaces ALTCHA_MAX_NUMBER, which applied to the removed ALTCHA widget v2.

ALTCHA_MEMORY_COST

Added in version 5.18.

Argon2id memory cost in KiB. Defaults to 65536.

ALTCHA_PARALLELISM

Added in version 5.18.

Argon2id parallelism factor. Defaults to 1.

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 位于网络文件系统上。

Weblate stores generated helper files here and executes some of them, so CACHE_DIR has to be writable and mounted on a filesystem that allows execution. Avoid using noexec mount options for this directory.

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

后面的子目录通常存在:

ssh

Generated helper files used for VCS access.

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

COMMIT_PENDING_HOURS

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

COMPONENT_ZIP_UPLOAD_MAX_SIZE

Added in version 5.17.1.

配置上传部件 ZIP 文件的最大大小,单位为字节。默认 50 MB。

在 Docker 中,用 WEBLATE_COMPONENT_ZIP_UPLOAD_MAX_SIZE 环境变量配置这个。

参见

CONTACT_FORM

Added in version 4.6.

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

"reply-to"

The sender is used as Reply-To, this is the default behaviour.

"from"

The sender is used as From. Your mail server needs to allow sending such e-mails.

"disabled"

彻底停用联系表单。

Added in version 5.15.

DATA_DIR

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

后面的子目录通常存在:

home

Home 目录用于调用脚本。

ssh

SSH 密钥和配置。

media

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

vcs

翻译的版本控制仓库。

backups

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

字体:

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

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_TRANSLATION_REVIEW

Added in version 5.16.

配置 启用审核 的默认值,默认关闭。

DEFAULT_SOURCE_REVIEW

Added in version 5.16.

配置 启用原文审核 的默认值,默认关闭。

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",
    },
}

备注

要能使用该 API,个人访问令牌需要 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,而原始仓库并不公开。

提示

Use api.github.com as an API host for https://github.com/.

配置目录由为每个 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-email",
        "workspace": "your-workspace-slug",
        "token": "your-api-token",
    },
}

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

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

username

API 用户。

workspace

用户工作区标识符。

token

pullrequest:write 权限的 API 令牌。

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

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。它也尝试以相似的方式清除版本控制系统错误信息。

备注

默认开启。

VERSION_DISPLAY

Added in version 5.17.

控制 Weblate 暴露自身版本的显著程度。

支持的值为:

show

在页脚等共享用户界面中显示版本并在 GET /api/metrics/ 中暴露它。

soft

在显眼的共享用户界面中隐藏版本,但在 关于 页面和 GET /api/metrics/ 中让版本可发现。

hide

在共享的用户界面和 GET /api/metrics/ 中隐藏版本。这还会使匿名文档链接指向最新文档而不是匹配已安装 Weblate 版本的文档。

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

备注

默认值是 显示

HIDE_VERSION

Added in version 4.3.1.

自 5.17 版本弃用.

VERSION_DISPLAY 的兼容性别称。将这个设为 True 以获取和 VERSION_DISPLAY = "hide" 相同的行为。

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

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

备注

Each license definition should be a tuple of its short name, a long name, a URL and a boolean, indicating whether it is a libre license.

例如:

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

These settings configure the CDN add-ons, including JavaScript 本地化 CDN and Translation files CDN. LOCALIZE_CDN_URL defines root URL where the localization CDN is available and LOCALIZE_CDN_PATH defines path where Weblate should store generated files which will be served at the LOCALIZE_CDN_URL. The files are served by your web server or CDN, not by Weblate; see 语言本地化内容分发网络 for secure serving guidance.

提示

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

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,表示停用强度检查。

PASSWORD_RESET_URL

Added in version 5.17.

当身份认证由 LDAP、SAML 或 OAuth 等外部身份提供方处理时的密码重置 URL。

设置后,登录页上的 忘记密码了吗? 链接到此 URL 而不是 Weblate 内置的密码重置页面。

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}"

它可以包含 {user_id}, {username}, {site_title}, 和 {site_domain}.

留空禁用该功能。

备注

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

PRIVATE_COMMIT_NAME_OPT_IN

Added in version 5.16.

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

提示

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

PRIVATE_COMMIT_NAME_TEMPLATE

Added in version 5.16.

为用户生成私密提交名称的模板。默认为 "{site_title} user {user_id}".

它可以包含 {user_id}, {username}, {site_title}, 和 {site_domain}.

留空禁用该功能。

备注

除非通过 PRIVATE_COMMIT_NAME_OPT_IN 配置,否则使用不同的提交名称对用户处于手动启用状态。用户可以在 个人资料 中配置提交名称。

PROJECT_BACKUP_KEEP_COUNT

Added in version 4.14.

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

PROJECT_BACKUP_KEEP_DAYS

Added in version 4.14.

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

PROJECT_BACKUP_UPLOAD_MAX_SIZE

Added in version 5.17.1.

Configures the maximum size, in bytes, for uploaded project backup ZIP files. Defaults to 536870912 bytes (512 MiB).

In Docker, configure this using the WEBLATE_PROJECT_BACKUP_UPLOAD_MAX_SIZE environment variable. Docker setups can also be constrained by CLIENT_MAX_BODY_SIZE; other deployments can be constrained by their reverse proxy request body-size limit.

PROJECT_BACKUP_IMPORT_MAX_MEMBERS

Added in version 5.17.

定义导入项目备份时允许的 ZIP 条目的最大数量。

这是针对格式错误或刻意碎片化归档文件的一种防护措施。默认为 100000 个条目。

In Docker, configure this using the WEBLATE_PROJECT_BACKUP_IMPORT_MAX_MEMBERS environment variable.

PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE

Added in version 5.17.1.

Defines the maximum total uncompressed size, in bytes, for ZIP entries in an imported project backup. Defaults to 536870912 bytes (512 MiB).

This limits archives that are small when uploaded but expand to much more data during validation or restore.

In Docker, configure this using the WEBLATE_PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE environment variable.

PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE

Added in version 5.17.

定义导入的项目备份中单个高度压缩的 ZIP 条目的最大未压缩大小(以字节为单位)。

此限制仅适用于那些体积足够大且压缩程度足够高、看起来可疑的条目。这里特意允许使用体积大但压缩率低的文件,并且预计会受到 HTTP 上传限制的约束。默认为 262144000 字节(250 MiB)。

In Docker, configure this using the WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE environment variable.

PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE

Added in version 5.17.

定义 Weblate 在项目备份导入期间开始考虑 ZIP 压缩比的最小未压缩大小(以字节为单位)。

基于压缩比的验证会忽略较小的文件,以避免拒绝那些压缩效果良好且大小合理的文件。默认为 1048576 字节(1 MiB)。

In Docker, configure this using the WEBLATE_PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE environment variable.

PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO

Added in version 5.17.

定义项目备份导入期间大型 ZIP 条目的未压缩大小和压缩大小之间允许的最大比例。

此设置与 PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZEPROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE 配合使用来检测可疑的压缩条目,同时仍然允许大型仓库打包文件和其他低压缩率内容。默认为 250。

In Docker, configure this using the WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO environment variable.

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_ALLOWLIST

Added in version 5.17.

定义一组验证项目网站时排除在 PROJECT_WEB_RESTRICT_HOSTPROJECT_WEB_RESTRICT_NUMERICPROJECT_WEB_RESTRICT_PRIVATEPROJECT_WEB_RESTRICT_RE 之外的项目标识符。项目标识符匹配不区分大小写。

小心

此排除削弱对匹配项目的外联 URL 保护,包括 PROJECT_WEB_RESTRICT_PRIVATE 所强制的内网目标限制。请只把它用于受信任的由管理员管理的项目,绕过这些检查在此类项目中是有意为之的。

默认配置:

PROJECT_WEB_RESTRICT_ALLOWLIST = set()

PROJECT_WEB_RESTRICT_NUMERIC

Added in version 4.16.2.

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

PROJECT_WEB_RESTRICT_PRIVATE

Added in version 5.17.

拒绝使用指向内部或非公开地址的项目网站和仓库浏览器 URL。默认开启。

PROJECT_WEB_RESTRICT_RE

Added in version 4.15.

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

WEBHOOK_PRIVATE_ALLOWLIST

Added in version 5.17.

定于免于对外 webhook 传送限制 WEBHOOK_RESTRICT_PRIVATE 设置的主机名或域名。条目遵守 Django 主机匹配语义,因此可以使用 hooks.internal.example.internal.example 等值。

默认配置:

WEBHOOK_PRIVATE_ALLOWLIST = []

WEBHOOK_RESTRICT_PRIVATE

Added in version 5.17.

拒绝指向内部或非公开地址的 webhook URL,除非目标主机包含在 WEBHOOK_PRIVATE_ALLOWLIST 中。默认开启。

启用后将拒绝验证期间无法解析的主机名,除非在 WEBHOOK_PRIVATE_ALLOWLIST 中明确允许它们。

PUBLIC_ENGAGE

Added in version 5.16.2.

即使设置了 REQUIRE_LOGIN,仍允许公众参与页面。

RATELIMIT_NOTIFICATION_LIMITS

Added in version 5.14.

限制向单一用户发送多少条通知。

默认设置为:

# 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 的保护。此功能默认开启。

If turned on, a CAPTCHA is added to all pages where a user enters their e-mail address:

  • 新账户注册。

  • 找回密码。

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

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

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

REGISTRATION_EMAIL_MATCH

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

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

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

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

REGISTRATION_ALLOW_DISPOSABLE_EMAILS

Added in version 5.16.1.

允许使用一次性电子邮件域名进行注册。启用后,会绕过一次性域名屏蔽列表。默认为 False

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.

这会启用 django.contrib.auth.middleware.LoginRequiredMiddleware 并配置 REST 框架要求所有 API 端点进行身份认证。

在 5.15 版本发生变更: Weblate 现在依赖 Django 内置中间件。

备注

这实现在 配置的示例 中。对于 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 语言代码。这通常是受欢迎的特性,因为它简化了这些默认群组合列出的语言。

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

HIDE_SHARED_GLOSSARY_COMPONENTS

Added in version 5.16.

术语表部件通常被分享至其他项目让它们可用于翻译工作。当可以在正使用它们的项目的部件列表中看到它们的时会造成困惑或将译者的注意力从实际需要被翻译的部件上移开。

这默认关闭,让共享的术语表可见。

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。

SUPPORT_STATUS_CHECK

Added in version 5.5.

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

提示

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

TRANSLATION_UPLOAD_MAX_SIZE

Added in version 5.17.1.

配置上传的翻译文件的最大大小,单位为字节。默认 50 MB。

在 Docker 中,用 WEBLATE_TRANSLATION_UPLOAD_MAX_SIZE 环境变量配置这个。

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_ALLOW_HOSTS

Added in version 5.15.

配置 VCS URL 时要允许的一组主机。默认是空组,表示完全不筛选。

启用 VCS_RESTRICT_PRIVATE 时,匹配的主机同样豁免内网目标限制。

VCS_ALLOW_SCHEMES

Added in version 5.15.

配置 VCS URL 时要允许的一组 URL 方案。默认只允许 https and ssh.

VCS_RESTRICT_PRIVATE

Added in version 5.17.

拒绝指向内部或非公开地址的 VCS 仓库 URL,除非目标主机包含在 VCS_ALLOW_HOSTS 中。默认开启。

启用后,将拒绝无法在验证期间解析的主机名,除非在 VCS_ALLOW_HOSTS 中明确包含它们。

VCS_API_DELAY

Added in version 4.15.1.

Configures minimal delay in seconds between third-party API calls in GitHub 拉取请求, GitLab 合并请求, Gitea 拉取请求, Pagure 合并请求, and Azure DevOps 拉取请求.

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

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

默认值为 10。

VCS_API_TIMEOUT

Added in version 5.15.

Configures timeout in seconds for third-party API calls such as forking or creating merge requests in GitHub 拉取请求, GitLab 合并请求, Gitea 拉取请求, Pagure 合并请求, and Azure DevOps 拉取请求.

默认值为 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

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

WEBSITE_ALERTS_ENABLED

Added in version 5.17.

默认: True

定义 Weblate 是否应检查项目网站可用性并对无法访问的项目网站显示警报。

当设置为 False 时,Weblate 将跳过网站可用性检查,并且不会生成项目网站警报。这在以下情况下非常有用:

  • 您的网站位于防火墙后面,会阻止 Weblate 的请求

  • 您希望避免因机器人防护而导致的 403/503 类型的错误

  • 项目网站的可用性并非您安装所关注的问题

配置版本控制凭据

配置目录由为每个 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 容器中,可使用环境变量配置凭据,见 代码托管站点凭据