配置¶
所有的设置存储在 settings.py
中,(如 Django 通常那样)。
注解
在更改这些设置的任何一部分后,需要重新启动 Weblate —— WSGI 和 Celery 两个过程。
在它作为 mod_wsgi 运行的情况下,需要重新启动 Apache ,来重新加载配置。
参见
还要请查看 Django’s documentation 中关于配置 Django 自身的参数。
AUTH_LOCK_ATTEMPTS¶
2.14 新版功能.
在rate限制应用前,授权尝试失败的最多次数。
当前,这应用在后面的位置:
登录。删除账户密码,防止用户不请求新的密码而登录。
密码重置。防止发出新的电子邮件,避免向用户发出太多密码重置尝试的垃圾邮件。
默认为 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/'
参见
AUTOFIX_LIST¶
当存储字符串时应用自动修复列表。
注解
为应用自动修复见面的 Python 类提供完全合规的路径。
可用的修复:
weblate.trans.autofixes.whitespace.SameBookendingWhitespace
将字符串开始与结尾的空白字符与元字符串匹配。
weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis
如果字符串有省略号的话( … ),用来连续的点符号( … )代替。
weblate.trans.autofixes.chars.RemoveZeroSpace
去掉零宽度字符,如果源字符串不包含的话。
weblate.trans.autofixes.chars.RemoveControlChars
去掉控制字符,如果源字符串不包含的话。
weblate.trans.autofixes.html.BleachHTML
从标记为
safe-html
的字符串中去掉不安全的 HTML 标记( 请参见 不安全的 HTML 网站 )。
可以选择使用哪一个:
AUTOFIX_LIST = (
'weblate.trans.autofixes.whitespace.SameBookendingWhitespace',
'weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis',
)
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',
)
注解
更改这些设置只影响新更改的翻译,现存的检查仍然存储在数据库中。为了将更改同样应用到存储的翻译中,运行 updatechecks
。
DATA_DIR¶
Weblate 文件夹将所有数据存储其中。它包含到版本控制系统(VCS )仓库的链接,全文本索引和外部工具的各种文件。
后面的子目录通常存在:
home
Home 目录用于调用脚本。
ssh
SSH 密钥和配置。
static
静态 Django 文件的默认位置,由
STATIC_ROOT
指定。media
Django 媒体文件的默认位置,由
MEDIA_ROOT
指定。vcs
版本控制仓库。
backups
每日备份数据,细节请参考 下载的数据用于备份 。
注解
这个目录必须由 Weblate 写入。运行作为 uWSGI 意味着 www-data
用户应该对它具有写入权限。
实现这个的最简单方式是使用户作为目录的所有者:
sudo chown www-data:www-data -R $DATA_DIR
默认到 $BASE_DIR/data
。
DEFAULT_ACCESS_CONTROL¶
3.3 新版功能.
新项目的默认访问控制设置:
0
Public
1
Protected
100
Private
200
Custom
如果手动管理 ACL 则使用 Custom ,这意味着不依赖于 Weblate 内部管理。
DEFAULT_ADD_MESSAGE, DEFAULT_ADDON_MESSAGE, DEFAULT_COMMIT_MESSAGE, DEFAULT_DELETE_MESSAGE, DEFAULT_MERGE_MESSAGE¶
不同操作的默认执行信息,细节请查阅 组件配置 。
参见
DEFAULT_ADDONS¶
安装在每个创建的组件上的默认附加组件。
注解
此设置只影响新创建的组件。
例:
DEFAULT_ADDONS = {
# Addon with no parameters
"weblate.flags.target_edit": {},
# Addon with parameters
"weblate.autotranslate.autotranslate": {
"mode": "suggest",
"filter_type": "todo",
"auto_source": "mt",
"component": "",
"engines": ["weblate-translation-memory"],
"threshold": "80",
}
}
DEFAULT_PULL_MESSAGE¶
用于新的拉取请求的标题,默认为 'Update from Weblate'
。
ENABLE_HTTPS¶
将链接作为 HTTPS 还是 HTTP 发送给 Weblate。这个设置影响发送电子邮件,并产生绝对 URL。
提示
在默认配置中,这还用于与 HTTPS 相关的几个 Django 设置。
ENABLE_SHARING¶
打开/关闭 :guilabel: Share 菜单,使用户能够将翻译过程分享到社交网络上。
GITLAB_CREDENTIALS¶
4.3 新版功能.
用于 GitLab 服务器的证明列表。
提示
如果你想要Weblate与它们中的更多进行交互,请使用此功能,对于单一的 GitLab 端点,继续使用 GITLAB_USERNAME
和 GITLAB_TOKEN
。
GITLAB_CREDENTIALS = {
"gitlab.com": {
"username": "weblate",
"token": "your-api-token",
},
"gitlab.example.com": {
"username": "weblate",
"token": "another-api-token",
},
}
GITHUB_CREDENTIALS¶
4.3 新版功能.
用于 GitHub 服务器的证明列表。
提示
在想要 Weblate 与它们中的更多进行交互的情况下,使用这个,对于单一的 GitHub 终点,紧跟 GITHUB_USERNAME
and GITHUB_TOKEN
。
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "weblate",
"token": "your-api-token",
},
"github.example.com": {
"username": "weblate",
"token": "another-api-token",
},
}
GOOGLE_ANALYTICS_ID¶
谷歌分析 ID ,开启使用谷歌分析对 Weblate 的监控。
HIDE_REPO_CREDENTIALS¶
隐藏仓库证明避免出现在 web 网站界面中。在仓库 URL 带有用户名和密码的情况下, Weblate 会在相关信息显示给用户时将其隐藏起来。
例如除了 https://user:password@git.example.com/repo.git
会只显示 https://git.example.com/repo.git
。它也试图以相似的方式清除版本控制系统(VCS )错误信息。
注解
默认这是打开的。
HIDE_VERSION¶
4.3.1 新版功能.
Hides version information from unauthenticated users. This also makes all documentation links point to latest version instead of the documentation matching currently installed version.
Hiding version is recommended security practice in some corporations, but it doesn’t prevent attacker to figure out version by probing the behavior.
注解
默认这是关闭的。
IP_BEHIND_REVERSE_PROXY¶
2.14 新版功能.
指示 Weblate 是否在反向代理后面运行。
如果设置为 True
, Weblate 会从 :setting:`IP_PROXY_HEADER`定义的标头中得到 IP 地址。
警告
确保真正使用反向代理,并且设置了这个标头,否则用户将能够假冒 IP 地址。
注解
默认这不是打开的。
IP_PROXY_HEADER¶
2.14 新版功能.
指示当 IP_BEHIND_REVERSE_PROXY
打开时,Weblate应该从那个标头得到 IP 地址。
默认为 HTTP_X_FORWARDED_FOR
。
IP_PROXY_OFFSET¶
2.14 新版功能.
指示 IP_PROXY_HEADER
的哪部分用作客户端 IP 地址。
依赖于你的设置,这个标头会包括几个 IP 地址,(例如 X-Forwarded-For: a, b, client-ip
),并且可以配置标头的哪个地址在这里用作客户端 IP 地址。
警告
设置这个会影响你安装的安全性,应该只配置它来使用信任的代理来确定 IP 地址。
默认为 0 。
LEGAL_URL¶
3.5 新版功能.
你的 Weblate 事例显示其法律文件的 URL 。
提示
在将你的法律文件保存在 Weblate 之外,而将其嵌入 Weblate 的情况下有用。细节请查看 法律声明 。
例:
LEGAL_URL = "https://weblate.org/terms/"
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()
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH¶
给定翻译的长度是否应被限制。限制为源字符串的长度 * 10 个字符。
提示
将其设置为 False
来允许更长的翻译,而不管源字符串的长度。
注解
默认为 True
。
LOCALIZE_CDN_URL and 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 访问,如上面的例子所示。
LOGIN_REQUIRED_URLS_EXCEPTIONS¶
用于 LOGIN_REQUIRED_URLS
的例外列表。如果不指定,可以允许用户访问登录页。
你可能想要包括的一些例外:
LOGIN_REQUIRED_URLS_EXCEPTIONS = (
r'/accounts/(.*)$', # Required for login
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_URL¶
你想要跟踪的 Matomo (以前的 Piwik )安装的全 URL (包括反斜杠)。更多细节请查阅 <https://matomo.org/> 。
提示
这个集成不支持 Matomo Tag Manager 。
例如:
MATOMO_SITE_ID = 1
MATOMO_URL = "https://example.matomo.cloud/"
MT_SERVICES¶
在 3.0 版更改: 设置从 MACHINE_TRANSLATION_SERVICES
重命名为 MT_SERVICES
,而与其它机器翻译设置一致。
允许使用的机器翻译服务的列表。
注解
很多服务需要像类似API 密钥的额外配置,更多细节请查阅:ref:machine-translation-setup。
MT_SERVICES = (
'weblate.machinery.apertium.ApertiumAPYTranslation',
'weblate.machinery.deepl.DeepLTranslation',
'weblate.machinery.glosbe.GlosbeTranslation',
'weblate.machinery.google.GoogleTranslation',
'weblate.machinery.microsoft.MicrosoftCognitiveTranslation',
'weblate.machinery.microsoftterminology.MicrosoftTerminologyService',
'weblate.machinery.mymemory.MyMemoryTranslation',
'weblate.machinery.tmserver.AmagamaTranslation',
'weblate.machinery.tmserver.TMServerTranslation',
'weblate.machinery.yandex.YandexTranslation',
'weblate.machinery.weblatetm.WeblateTranslation',
'weblate.machinery.saptranslationhub.SAPTranslationHub',
'weblate.memory.machine.WeblateMemory',
)
MT_APERTIUM_APY¶
Apertium-APy 服务器的 URL, https://wiki.apertium.org/wiki/Apertium-apy
MT_DEEPL_API_VERSION¶
4.1.1 新版功能.
DeepL 服务使用的 API 版本。版本限制了使用范围:
- v1
意味着计算机辅助翻译工具,并且在基于用户的订阅时使用。
- v2
意味着 API 应用,并且订阅是基于使用的。
此前 Weblate 被 DeepL 分类为计算机辅助翻译工具,因此应该使用 v1 API ,但现在应该使用 v2 API 。这样默认为 v2 ,在你有现有的计算机辅助翻译工具订阅,并想要 Weblate 使用它的情况下,可以将其更改为 v1 。
MT_GOOGLE_CREDENTIALS¶
Google 云控制台中得到 API v3 JSON 证明文件。请提供 OS 全路径。证明根据服务账户而隶属于特定项目。更多细节请查看 https://cloud.google.com/docs/authentication/getting-started 。
MT_GOOGLE_PROJECT¶
已激活翻译服务和账单处于激活状态的Google Cloud API v3 项目ID,更多细节请看https://cloud.google.com/appengine/docs/standard/nodejs/building-app/creating-project
MT_GOOGLE_LOCATION¶
API v3 Google 云应用引擎可能特定于某个位置。如果默认的``global`` 回退无法正常工作,则需要相应地进行更改。
MT_MICROSOFT_BASE_URL¶
在 “Base URLs” 部分 定义的基于 URL 域名的区域。
Azure Global 的默认值为 api.cognitive.microsofttranslator.com
。
对于 Azure China ,请使用 api.translator.azure.cn
。
MT_MICROSOFT_COGNITIVE_KEY¶
Microsoft Cognitive Services Translator API 客户端密匙。
MT_MICROSOFT_REGION¶
“通过一个多服务资源进行验证” 部分中定义的地区前缀。
MT_MICROSOFT_ENDPOINT_URL¶
在 “Authenticating with an access token” 部分 定义的用于访问令牌的区域端点 URL 域名。
Azure Global 的默认值为 api.cognitive.microsoft.com
。
对于 Azure 中国,请使用你的 Azure Portal 的端点。
MT_MYMEMORY_EMAIL¶
MyMemory 身份电子邮件地址。每天允许 1000 个请求。
MT_MYMEMORY_KEY¶
MyMemory 访问密钥,用于私有翻译记忆,与 MT_MYMEMORY_USER
一起使用。
REGISTRATION_ALLOW_BACKENDS¶
4.1 新版功能.
身份验证后端的列表,允许从中注册。这只限制新的注册,用户可以使用配置的身份验证后端,来进行身份验证和添加身份验证。
当限制注册后端时,推荐保持 REGISTRATION_OPEN
为开启状态,否则用户将能够注册,但Weblate不会在用户界面显示注册的链接。
例:
REGISTRATION_ALLOW_BACKENDS = ["azuread-oauth2", "azuread-tenant-oauth2"]
提示
与身份验证 URL 中使用的名称匹配的后端名称。
REGISTRATION_CAPTCHA¶
True
或 False
的值指示新账户注册是否被 CAPTCHA 保护。这个设置是可选的,默认的 True
是假定不提供。
如果打开,CAPTCHA 会添加到用户输入其电子邮箱地址的所有页面中:
新账户注册。
找回密码。
将电子邮箱地址添加到账户中。
供未登录用户使用的联系表格。
REGISTRATION_EMAIL_MATCH¶
2.17 新版功能.
允许你筛选哪个电子邮箱地址可以注册。
默认为 .*
,允许使用任何电子邮箱地址注册。
可以用它限制注册到单一的电子邮箱域名:
REGISTRATION_EMAIL_MATCH = r'^.*@weblate\.org$'
REGISTRATION_OPEN¶
是否注册新账户在当前是允许的。这个可选设置可以保持默认为 True
,或更改为 False
。
这个设置影响了内建的通过电子邮箱地址或通过 Python Social Auth 的身份验证( 可以使用 REGISTRATION_ALLOW_BACKENDS
为适当的后端建立白名单)。
注解
如果使用第三方身份验证方法,如 LDAP 身份验证 ,只是隐藏注册表格,而新用户仍然能够登录并建立账户。
REQUIRE_LOGIN¶
4.1 新版功能.
这启动了 LOGIN_REQUIRED_URLS
并配置 REST 框架,对所有 API 端点需要登录。
注解
这应用于 配置的例子。对于 Docker,使用 WEBLATE_REQUIRE_LOGIN
。
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
and for changing URL, use URL_PREFIX
。
提示
关于 Docker 容器,网站域名通过 WEBLATE_ALLOWED_HOSTS
来配置。
SITE_TITLE¶
用于网站和发送电子邮件的网站名称。
SINGLE_PROJECT¶
3.8 新版功能.
将用户直接重定向到项目或组件,而不是显示控制面板。可以将其设置为 True
,在这种情况下,只在 Weblate 实际只有单一的项目时有用。另外可以设置项目标识串,将无条件地重定向到这个项目。
在 3.11 版更改: 设置只接受项目标识串,来强制显示那个单一项目。
例:
SINGLE_PROJECT = "test"
STATUS_URL¶
Weblate 事例报告其状态的 URL 。
URL_PREFIX¶
这个设置允许在一些路径下运行 Weblate (否则它依赖于从 web 服务器根目录运行)。
注解
为了使用这个设置,还需要配置服务器来去掉这个前缀。例如 WSGI ,可以通过设置 WSGIScriptAlias
来实现。
提示
前缀应该以 /
开始。
例:
URL_PREFIX = '/translations'
注解
这个设置在 Django’s 内建服务器中不起作用,必须调整 urls.py
来包含这个前缀。
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 addons
"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.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",
# Addon you want to include
"weblate.addons.example.ExampleAddon",
)
参见
WEBLATE_GPG_IDENTITY¶
3.1 新版功能.
Weblate 使用的身份,用于登录 Git Commits ,例如:
WEBLATE_GPG_IDENTITY = 'Weblate <weblate@example.com>'
搜索 Weblate GPG 钥匙链( home/.gnupg
,在 DATA_DIR
之下)。如果没有找到,则产生密钥,更多细节请查询 签署 GnuPG 的 Git 承诺 。