配置#

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

备注

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

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

参见

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

AKISMET_API_KEY#

Weblate 可以使用 Akismet 检查传入的匿名建议是否为垃圾。请访问 akismet.com 来购买 API 密钥,并将它与网站关联。

ANONYMOUS_USER_NAME#

未登录用户的用户名。

参见

访问控制

AUDITLOG_EXPIRY#

在 3.6 版本加入.

Weblate 应该将审计日志保存多少天(审计日志包括了账户活动的信息)。

默认为 180 天。

AUTH_LOCK_ATTEMPTS#

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

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

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

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

默认为 10。

参见

频次限制

AUTO_UPDATE#

在 3.2 版本加入.

在 3.11 版本发生变更: 更改原来的开关选项,来区别接受哪条字符串。

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

提示

在不使用 通知钩子 来自动更新 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 类提供一个完全合格的路径。

可用的修复:

weblate.trans.autofixes.whitespace.SameBookendingWhitespace

将字符串开头和结尾处的空格与原文匹配。

weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis

替换连续的点 (…),如果源字符串有一个对应的省略号 (…)。

weblate.trans.autofixes.chars.RemoveZeroSpace

如果原文不包含任何零宽空格字符,则删除零宽空格字符。

weblate.trans.autofixes.chars.RemoveControlChars

如果原文不包含任何控制字符,则删除控制字符。

weblate.trans.autofixes.chars.DevanagariDanda

用梵文 danda 字符替换孟加拉语中的句号。

weblate.trans.autofixes.html.BleachHTML

从标记为 safe-html 的字符串中去掉不安全的 HTML 标记( 请参见 不安全的 HTML )。

可以选择使用哪一个:

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

BACKGROUND_TASKS#

在 4.5.2 版本加入.

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

现在这个控件:

可能的选项:

  • monthly (这是默认设置)

  • weekly

  • daily

  • never

备注

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

BASIC_LANGUAGES#

在 4.4 版本加入.

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

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

备注

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

示例:

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

参见

语言定义

BORG_EXTRA_ARGS#

在 4.9 版本加入.

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

示例:

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

CACHE_DIR#

在 4.16 版本加入.

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

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

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

CSP_SCRIPT_SRC, CSP_IMG_SRC, CSP_CONNECT_SRC, CSP_STYLE_SRC, CSP_FONT_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",
)

备注

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

COMMENT_CLEANUP_DAYS#

在 3.6 版本加入.

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

COMMIT_PENDING_HOURS#

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

CONTACT_FORM#

在 4.6 版本加入.

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

"reply-to"

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

"from"

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

DATA_DIR#

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

后面的子目录通常存在:

home

Home 目录用于调用脚本。

ssh

SSH 密钥和配置。

static

静态 Django 文件的默认位置,由 django:STATIC_ROOT`指定。见 :ref:`static-files

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

media

Django 媒体文件的默认位置,由 django:MEDIA_ROOT`指定。包含已上传的截屏,见 :ref:`screenshots

vcs

翻译的版本控制仓库。

backups

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

fonts:

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

cache

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

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

备注

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

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

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

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

DATABASE_BACKUP#

在 3.1 版本加入.

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

  • "plain"

  • "compressed"

  • "none"

DEFAULT_ACCESS_CONTROL#

在 3.3 版本加入.

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

0

公开的

1

受保护的

100

私有的

200

自定义

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

DEFAULT_AUTO_WATCH#

在 4.5 版本加入.

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

参见

通知

DEFAULT_RESTRICTED_COMPONENT#

在 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#

在 4.3.2 版本加入.

任何新部件的 源语言

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

DEFAULT_MERGE_STYLE#

在 3.4 版本加入.

任何新部件的 合并方式

  • rebase - default

  • merge

DEFAULT_SHARED_TM#

在 3.2 版本加入.

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

DEFAULT_TRANSLATION_PROPAGATION#

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

DEFAULT_PULL_MESSAGE#

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

ENABLE_AVATARS#

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

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

ENABLE_HOOKS#

是否打开匿名远程钩子。

参见

通知钩子

ENABLE_HTTPS#

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

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

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

ENABLE_SHARING#

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

EXTRA_HTML_HEAD#

在 4.15 版本加入.

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

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

警告

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

GET_HELP_URL#

在 4.5.2 版本加入.

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

GITEA_CREDENTIALS#

在 4.12 版本加入.

Gitea 服务器凭据列表。

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

The configuration dictionary consists of credentials defined for each API host. The API host might be different from what you use in the web browser, for example GitHub API is accessed as api.github.com.

The following configuration is available for each host:

username

API user, required.

token

API token for the API user, required.

scheme

在 4.18 版本加入.

Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to https. If you are running the API server internally, you might want to use http instead, but consider security.

提示

In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:

WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com

Will be used as:

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

GITLAB_CREDENTIALS#

在 4.3 版本加入.

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

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

The configuration dictionary consists of credentials defined for each API host. The API host might be different from what you use in the web browser, for example GitHub API is accessed as api.github.com.

The following configuration is available for each host:

username

API user, required.

token

API token for the API user, required.

scheme

在 4.18 版本加入.

Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to https. If you are running the API server internally, you might want to use http instead, but consider security.

提示

In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:

WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com

Will be used as:

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

GITHUB_CREDENTIALS#

在 4.3 版本加入.

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

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

The configuration dictionary consists of credentials defined for each API host. The API host might be different from what you use in the web browser, for example GitHub API is accessed as api.github.com.

The following configuration is available for each host:

username

API user, required.

token

API token for the API user, required.

scheme

在 4.18 版本加入.

Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to https. If you are running the API server internally, you might want to use http instead, but consider security.

提示

In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:

WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com

Will be used as:

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

BITBUCKETSERVER_CREDENTIALS#

在 4.16 版本加入.

Bitbucket 服务器凭据列表。

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

The configuration dictionary consists of credentials defined for each API host. The API host might be different from what you use in the web browser, for example GitHub API is accessed as api.github.com.

The following configuration is available for each host:

username

API user, required.

token

API token for the API user, required.

scheme

在 4.18 版本加入.

Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to https. If you are running the API server internally, you might want to use http instead, but consider security.

提示

In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:

WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com

Will be used as:

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

GOOGLE_ANALYTICS_ID#

使用 Google Analytics 时,开启对 Weblate 的监测的 Google Analytics ID。

HIDE_REPO_CREDENTIALS#

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

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

备注

默认开启。

HIDE_VERSION#

在 4.3.1 版本加入.

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

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

备注

默认这是关闭的。

INTERLEDGER_PAYMENT_POINTERS#

在 4.12.1 版本加入.

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

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

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

提示

默认值让用户为 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#

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

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

警告

设置这个会影响你安装的安全性,应该只配置它来使用信任的代理来确定 IP 地址。

默认为 0。

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",
    ),
]

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 的例外列表。如果未指定,则允许用户访问登录页。

你可能想要包括的一些例外:

LOGIN_REQUIRED_URLS_EXCEPTIONS = (
    r"/accounts/(.*)$",  # Required for sign-in
    r"/static/(.*)$",  # Required for development mode
    r"/widgets/(.*)$",  # Allowing public access to widgets
    r"/data/(.*)$",  # Allowing public access to data exports
    r"/hooks/(.*)$",  # Allowing public access to notification hooks
    r"/api/(.*)$",  # Allowing access to API
    r"/js/i18n/$",  # JavaScript localization
)

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#

在查看当前翻译字符串时显示多少字符串。这只是默认值,用户可以在 :ref:`user-profile`中调整。

DEFAULT_PAGE_LIMIT#

在 4.7 版本加入.

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

PAGURE_CREDENTIALS#

在 4.3.2 版本加入.

Pagure服务器凭据列表。

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

The configuration dictionary consists of credentials defined for each API host. The API host might be different from what you use in the web browser, for example GitHub API is accessed as api.github.com.

The following configuration is available for each host:

username

API user, required.

token

API token for the API user, required.

scheme

在 4.18 版本加入.

Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to https. If you are running the API server internally, you might want to use http instead, but consider security.

提示

In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:

WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com

Will be used as:

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

PRIVACY_URL#

在 4.8.1 版本加入.

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

提示

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

示例:

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

参见

LEGAL_URL

PRIVATE_COMMIT_EMAIL_OPT_IN#

在 4.15 版本加入.

配置私密的代码提交电子邮箱默认情况下是开启还是关闭(默认开启)。

PRIVATE_COMMIT_EMAIL_TEMPLATE#

在 4.15 版本加入.

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

留空禁用该功能。

备注

除非通过 PRIVATE_COMMIT_EMAIL_OPT_IN 配置,否则用户可以选择使用不同的提交电子邮件 。用户可以在 个人资料 中配置提交电子邮件。

PROJECT_BACKUP_KEEP_COUNT#

在 4.14 版本加入.

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

PROJECT_BACKUP_KEEP_DAYS#

在 4.14 版本加入.

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

PROJECT_NAME_RESTRICT_RE#

在 4.15 版本加入.

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

参见

项目名称

PROJECT_WEB_RESTRICT_HOST#

在 4.16.2 版本加入.

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

默认配置:

PROJECT_WEB_RESTRICT_HOST = {"localhost"}

PROJECT_WEB_RESTRICT_NUMERIC#

在 4.16.2 版本加入.

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

PROJECT_WEB_RESTRICT_RE#

在 4.15 版本加入.

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

RATELIMIT_ATTEMPTS#

在 3.2 版本加入.

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

默认为 5。

RATELIMIT_WINDOW#

在 3.2 版本加入.

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

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

RATELIMIT_LOCKOUT#

在 3.2 版本加入.

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

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

REGISTRATION_ALLOW_BACKENDS#

在 4.1 版本加入.

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

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

示例:

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

提示

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

REGISTRATION_CAPTCHA#

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

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

  • 新账户注册。

  • 找回密码。

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

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

REGISTRATION_EMAIL_MATCH#

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

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

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

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

REGISTRATION_OPEN#

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

这个设置影响了内建的通过电子邮箱地址或通过 Python 社交认证的身份验证( 可以使用 REGISTRATION_ALLOW_BACKENDS 为适当的后端建立白名单)。

备注

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

REGISTRATION_REBIND#

在 4.16 版本加入.

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

备注

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

REPOSITORY_ALERT_THRESHOLD#

在 4.0.2 版本加入.

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

REQUIRE_LOGIN#

在 4.1 版本加入.

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

备注

这实现在 sample-configuration`中。对于 Docker,使用 :envvar:`WEBLATE_REQUIRE_LOGIN

SENTRY_DSN#

在 3.9 版本加入.

Sentry DSN 用于 收集错误报告

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#

在 3.8 版本加入.

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

在 3.11 版本发生变更: 设置只接受项目标识串,来强制显示那个单一项目。

示例:

SINGLE_PROJECT = "test"

SSH_EXTRA_ARGS#

在 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#

在 3.2.1 版本加入.

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

UNUSED_ALERT_DAYS#

在 4.17 版本加入.

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

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

UPDATE_LANGUAGES#

在 4.3.2 版本加入.

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

警告

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

URL_PREFIX#

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

备注

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

提示

前缀应该以 / 开始。

示例:

URL_PREFIX = "/translations"

备注

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

VCS_API_DELAY#

在 4.15.1 版本加入.

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

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

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

默认值为 10。

VCS_BACKENDS#

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

备注

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

提示

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

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

VCS_CLONE_DEPTH#

在 3.10.2 版本加入.

配置 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.GettextCustomizeAddon",
    "weblate.addons.gettext.GettextAuthorComments",
    "weblate.addons.cleanup.CleanupAddon",
    "weblate.addons.consistency.LangaugeConsistencyAddon",
    "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.json.JSONCustomizeAddon",
    "weblate.addons.xml.XMLCustomizeAddon",
    "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.yaml.YAMLCustomizeAddon",
    "weblate.addons.cdn.CDNJSAddon",
    # Add-on you want to include
    "weblate.addons.example.ExampleAddon",
)

备注

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

WEBLATE_EXPORTERS#

在 4.2 版本加入.

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

WEBLATE_FORMATS#

在 3.0 版本加入.

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

备注

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

WEBLATE_MACHINERY#

在 4.13 版本加入.

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

WEBLATE_GPG_IDENTITY#

在 3.1 版本加入.

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

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

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

WEBSITE_REQUIRED#

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