访问控制¶
Weblate 具有精细的权限系统,可以用预定义的角色为整个实例分配用户权限,也可以为所有内容或单个项目、部件、术语表等分配一组或多组权限。
项目访问控制¶
备注
Hosted Weblate 上托管的免费套餐项目始终是 公开的。如果你想限制对项目的访问,请切换到付费套餐。
可以通过选择不同的 访问控制 设置来限制用户对单个项目的访问。可用的选项有:
- 公开的
对所有人可见。
任何已验证用户均可参与贡献。
版本控制系统仓库可能会暴露给所有人。
对于开源项目请选择这个,或者当你的 Weblate 实例是私密的被锁定时选择它。
- 受保护的
对所有人可见。
只允许指定的用户贡献。
只有指定的用户可访问版本控制系统仓库。
如果要增加项目可见性,但仍希望控制谁可以作贡献,请选择这个。
- 私有的
只对指定的用户可见。
只允许指定的用户贡献。
只有指定的用户可访问版本控制系统仓库。
完全不应该公开暴露的项目请选择这个。
- 自定义
只对指定的用户可见。
只允许指定的用户贡献。
只有指定的用户可访问版本控制系统仓库。
Hosted Weblate 上不可用。
你必须使用 全站访问控制 设置所有权限。
如果您想以一种特定的、精细定制的方式定义访问,请在你自己的 Weblate 实例上选择这个。
可以在每个项目的配置(管理 ↓ 设置)的 访问 选项卡中更改 访问控制。

可以通过设置中的 DEFAULT_ACCESS_CONTROL
更改默认值。
备注
即使是 私有的 项目统计数据也会计入整个网站的统计数据和语言摘要。这不会透露项目名称或任何其他信息。
备注
实例管理员可通过 自定义设置 修改对 公开、受保护 和 私有 项目中用户默认可用的权限组合。
参见
管理每个项目的访问控制¶
适用于 公开、受保护 和 私有 项目:
授予用户 管理项目访问 (见 特权列表) 权限允许被授权用户将其他用户分派到 公开、受保护 和 私有 (但不是 自定义)项目中,方法是添加其他用户到不同团队。
这些事 Weblate 提供的默认团队,有足够权限的用户可以添加或修稿团队:
- 管理
项目的所有可用权限。
- 审校
在审校中核准翻译。
只有 审校流程 开启才可用。
只适用于 受保护 和 私有 项目:
- 翻译
翻译项目,并上传离线的翻译。
- 原文
编辑源字符串(如果 项目设置 中允许)和源字符串信息。
- 语言
管理翻译语言(添加或删除翻译)。
- 术语表
管理术语表(添加、删除及上传条目)。
- 记忆库
管理翻译记忆库。
- 截屏
管理截屏(添加、删除并将其与源字符串关联)。
- 自动翻译
可以使用自动翻译。
- VCS
管理版本控制系统并访问导出的仓库。
- 账单
访问账单信息和设置(见 账单)。

可以在 访问控制 页面中找到这些功能,‘访问控制’页面路径为项目菜单 管理 ↓ 用户。
提示
你可以限制团队只能访问某些语言或部件,并给团队分派指定的访问角色(见 特权列表)。
团队管理员¶
Added in version 4.15.
每个团队都可以有团队管理员,他们可以在团队中添加和删除用户。这在您想要构建自治团队时很有用。
邀请新用户¶
添加现有用户将给这些用户发送邀请进行确认。借助 REGISTRATION_OPEN
,管理员还可以使用电子邮件邀请新用户。被邀请的用户必须完成注册过程才能访问项目。
进行此操作不需要有任何站点范围的权限,项目级别的访问管理权限(如 Administration 团队成员资格)就足够了。
提示
如果被邀请的用户错过了邀请的有效期,必须下创建新邀请。
通过 用户 选项卡下的 管理界面 获取可在站点范围内使用的同样的邀请。
在 5.0 版本发生变更: Weblate 现在不自动创建账户或添加用户到团队中。此类操作只有在用户确认后才会进行。
阻止用户¶
Added in version 4.7.
如果用户在您的项目中行为不佳,您可以阻止其进行贡献。如果相关权限被封禁,这些用户仍可以看到项目,但无法做贡献。
每个项目的权限管理¶
你可以将你的项目设为 受保护 或 私密(见 项目访问控制)并根据不同项目 管理用户权限。
默认情况下,这可防止 Weblate 因 用户 和 查看者 默认团队 本身的配置而授予其提供的访问权限。但这并不妨碍您向这些项目授予站点范围的权限,可用的方法有改变默认团队、创建一个新团队,或如下方 全站访问控制 中所述为单个部件创建额外的自定义设置。
通过 Weblate 用户界面管理权限的一个主要好处是,您可以将其委托给其他用户,而无需授予这些用户超级用户权限。为此,请将这些用户添加到项目的 Administration 团队中。
项目访问令牌¶
Added in version 4.10.
你可以在 API access 标签页中定义项目范围的访问令牌。可以对这些令牌设置到期日,此外,和用户权限一样,它们的权限可以根据团队成员资格进行定制。
参见
全站访问控制¶
备注
此功能在 Hosted Weblate 上不可用。
权限系统基于定义权限集合的角色以及将角色关联到用户和翻译的团队,请参阅 用户、角色、团队和权限 获取更多详细信息。
Weblate 访问控制系统最强大的功能可以在 管理界面 进行配置。您可以使用它来管理任何项目的权限。你不一定要将它切换到 自定义 访问控制 来使用它。但是你必须有超级用户权限才能使用它。
如果您对实现的细节不感兴趣,只是想创建一个基于默认值的足够简单的配置,或者不能访问整个 Weblate 安装(如 Hosted Weblate),请参见 管理每个项目的访问控制 部分。
站点范围内的权限管理¶
要一次性管理整个实例的权限,请将用户添加到适当的 默认团队:
您应该将所有项目配置为 公开的(参见 项目访问控制),否则 用户 和 审校员 团队成员资格提供的站点范围权限将不起任何作用。
您还可以向默认团队授予一些您选择的额外权限。例如,你可能想给所有 用户 管理截图的权限。
您还可以定义一些新的自定义团队。如果希望继续在站点范围内管理这些团队的权限,请为 项目选择 选择一个合适的值(如 所有项目 或 所有公开项目)。
语言、部件或项目的自定义权限¶
您可以创建自己的专门团队来管理不同对象(如语言、部件和项目)的权限。虽然这些团队只能授予额外的权限,但您不能通过添加另一个自定义团队来撤销全站或每个项目团队授予的任意权限。
示例:
这样的权限管理功能强大,但可能是一项相当乏味的工作。您只能通过授予 Superuser 状态来将其委托给其他用户。
用户、角色、团队和权限¶
身份验证模型由几个对象组成:
- 权限
Weblate 定义的单独权限。不能直接给用户分派权限,只能通过分配角色来完成。
- 角色
角色定义了一组权限。(可以在多个地方重新使用)。
- 用户
一名用户可以属于多个团队。
- 群组
群组用身份认证对象(项目、语言、部件和部件列表)链接角色和用户。
备注
团队可以不分配任何角色,但在这种情况下任何人都可以浏览它的项目(见下文)。
项目浏览权限¶
用户必须是链接到项目的团队或项目中的任何部件的成员。拥有成员身份就足够了,浏览项目不需要特定的权限(这被用于默认的 查看者 团队,见 团队列表)。
部件浏览权限¶
授予项目中一名用户浏览权限意味着这名用户可以访问任何浏览权限衍生自该项目的部件。开启 受限制的访问 后,需要显式授予访问部件(或部件列表)的权限。
团队范围¶
团队内角色分配的权限范围适用如下规则:
如果团队指定了任何 部件列表,则授予该团队成员的所有权限都适用于附加到该团队的部件列表中的所有部件,并为这些部件所在的所有项目授予没有额外权限的访问权限。部件 和 项目 将被忽略。
使用巨大的部件列表可能影响性能,请考虑通过项目给予访问权限。
如果该团队指定了任何 部件,则授予该团队成员的所有权限都适用于附加到该团队的所有部件,并为这些部件所在的所有项目授予没有额外权限的访问权限。项目 将被忽略。
否则,如果团队指定了任何 项目,通过直接列出它们或通过将 项目选择 设置为类似 所有公开项目 的值,所有这些权限将应用于所有项目,它有效地授予访问所有项目的相同权限 不受限制的部件。
当验证用户是否有权限执行某些操作时,由团队的 语言 施加的限制将单独应用。也就是说,它仅适用于与翻译过程本身直接相关的操作,例如审校、保存翻译、添加建议等。
提示
使用 语言选择 或 项目选择 来自动包括所有语言或项目。
示例:
下列团队中的项目
foo
,项目含部件:foo/bar
和foo/baz
,有审校和管理权:
西班牙语管理审校员 群组¶ 角色
审校字符串、管理仓库
部件
foo/bar
语言
西班牙语
该团队的成员将有这些权限(假设使用默认角色设置):
对整个项目
foo
的一般(浏览)访问,包括其中的两个部件:foo/bar
和foo/baz
。审校
foo/bar
西班牙语翻译(而非其他地方)中的字符串。管理整个
foo/bar
仓库的版本控制系统,例如提交所有语言的译者所做的待处理更改。
自动团队分配¶
编辑 团队 时,你可以指定 自动 分配,这是一个正则表达式列表,用于根据他们的电子邮箱地址自动将新创建的用户分配到团队。此分配仅在创建账户时发生。
该功能最常见的用例是将所有新用户分配到某些默认的团队中。此行为用于默认的 Users 和 Guest 团队(见 团队列表)。使用正则表达式 ^.*$
来匹配所有用户。
此选项的另一个用例可能是默认为您公司的员工提供一些额外的权限。假设他们都使用您域中的公司电子邮箱地址,这可以通过像 ^.*@mycompany.com
这样的表达式来完成。
备注
从一个 Weblate 版本升级到另一个版本时,总是会重新创建对 用户 和 查看者 的自动团队分配。如果你想关闭它,将正则表达式设置为 ^$
(不匹配任何内容)。
备注
就目前而言,还没有办法通过用户界面将现有用户批量添加到某个团队。为此,您可以通过 REST API 来实现。
默认团队和角色¶
安装完成后,将创建一组默认团队(参见 团队列表)。
这些角色和团队是在安装时创建的。升级时,内置角色始终通过数据库迁移保持最新状态。实际上你无法更改它们,如果要定义自己的权限组合,请定义一个新角色。
特权列表¶
范围 |
权限 |
内置角色 |
---|---|---|
账单(请参见 账单) |
查看账单信息 |
管理, 账单 |
变化 |
下载变化 |
管理 |
评论 |
发表评论 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
删除评论 |
管理 |
|
解决评论 |
管理, 审校字符串 |
|
部件 |
编辑部件设置 |
管理 |
锁定部件,阻止翻译 |
管理, 管理仓库 |
|
术语表 |
添加术语表条目 |
管理, 管理术语表, 高级用户 |
添加术语表术语 |
管理, 管理术语表 |
|
编辑术语表条目 |
管理, 管理术语表, 高级用户 |
|
删除术语表条目 |
管理, 管理术语表, 高级用户 |
|
上传术语表条目 |
管理, 管理术语表, 高级用户 |
|
自动建议 |
使用自动建议 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
翻译记忆库 |
编辑翻译记忆 |
管理, 管理翻译记忆库 |
删除翻译记忆 |
管理, 管理翻译记忆库 |
|
项目 |
编辑项目设置 |
管理 |
管理项目访问权 |
管理 |
|
报告 |
下载报告 |
管理 |
截屏 |
添加截图 |
管理, 管理截图 |
编辑截图 |
管理, 管理截图 |
|
删除截图 |
管理, 管理截图 |
|
源字符串 |
编辑字符串额外信息 |
管理, 编辑原文 |
字符串 |
添加新字符串 |
管理 |
移除字符串 |
管理 |
|
忽略未通过的检查 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
|
编辑字符串 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
|
审校字符串 |
管理, 审校字符串 |
|
当建议被强制执行时需要编辑字符串 |
管理, 审校字符串 |
|
编辑源字符串 |
管理, 编辑原文, 高级用户 |
|
建议 |
接受建议 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
添加建议 |
管理, 编辑原文, 添加建议, 高级用户, 审校字符串, 翻译 |
|
删除建议 |
管理, 高级用户 |
|
为建议投票 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
|
翻译 |
添加翻译语言 |
管理, 高级用户, 管理语言 |
执行自动翻译 |
管理, 自动翻译 |
|
删除现有翻译 |
管理, 管理语言 |
|
下载翻译文件 |
管理, 编辑原文, 访问仓库, 高级用户, 审校字符串, 翻译, 管理语言 |
|
添加多种翻译语言 |
管理, 管理语言 |
|
上传 |
定义上传译文的作者 |
管理 |
上传时覆盖已有字符串 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
|
上传译文 |
管理, 编辑源, 高级用户, 审校字符串, 翻译 |
|
版本控制系统 |
访问内部仓库 |
管理, 访问仓库, 高级用户, 管理仓库 |
将更改提交到内部仓库 |
管理, 管理仓库 |
|
从内部仓库推送更改 |
管理, 管理仓库 |
|
重置内部仓库的更改 |
管理, 管理仓库 |
|
查看上游仓库位置 |
管理, 访问仓库, 高级用户, 管理仓库 |
|
更新内部仓库 |
管理, 管理仓库 |
|
全网站范围的特权 |
使用管理界面 |
|
添加新项目 |
添加新项目 |
|
添加语言定义 |
||
管理语言定义 |
||
管理团队 |
||
管理用户 |
||
管理角色 |
||
管理公告 |
||
管理翻译记忆库 |
||
机器翻译 |
||
管理部件列表 |
||
管理账单 |
||
管理全站范围的附加组件 |
备注
站点范围的特权不会被授予任何默认角色。它们功能强大,非常接近超级用户的地位。它们中的大多数都会影响到你的 Weblate 安装中的所有项目。
内置角色列表¶
管理 |
|
编辑原文 |
|
添加建议 |
|
访问仓库 |
|
管理术语表 |
|
高级用户 |
|
审校字符串 |
|
翻译 |
|
管理语言 |
|
自动翻译 |
|
管理翻译记忆库 |
|
管理截图 |
|
管理仓库 |
|
账单 |
|
添加新项目 |
|
团队列表¶
下面的团队在安装时建立(或在执行 setupgroups
后),您可以自由修改它们。但是,如果它们被删除或重命名,迁移后将重新创建这些名称。
- 访客
定义非授权用户的权限。
这个团队只包括匿名用户(请参见
ANONYMOUS_USER_NAME
)。从这个团队中去掉角色,来限制非认证用户的权限。
默认角色:添加建议、访问仓库
- 查看者
这一角色确保公开项目对所有用户可见。默认情况下,所有用户都是该团队的成员。
默认情况下,自动团队分配 将会使所有新账户在加入时成为该团队的成员。
默认角色:无
- 用户
所有用户的默认团队。
默认情况下,自动团队分配 将会使所有新账户在加入时成为该团队的成员。
默认角色:高级用户
- 审校员
审校员的群组(参见 翻译工作流)。
默认角色:审校字符串
- 管理者
管理员的群组。
默认角色:管理
- 项目创建者
Added in version 5.1.
可以新建项目的用户。
默认角色:添加新项目
警告
切勿移除预先定义的 Weblate 团队和用户,因为这可能会导致意想不到的问题!如果你用不到它们,只需移除它们的全部权限。
额外访问限制¶
如果您想以不那么公开的方式使用您的 Weblate 安装,即只允许新用户在受邀的基础上,可以通过配置 Weblate 以这样一种方式来实现,即只有已知用户才能访问它。为此,您可以将 REGISTRATION_OPEN
设置为 False
以防止任何新用户注册,并将 REQUIRE_LOGIN
设置为 /.*
以要求登录 访问所有网站页面。这基本上是锁定您的 Weblate 安装的方法。
提示
您可以使用内置的 邀请新用户 来添加新用户。