存取控制

Weblate 具有一個精細的權利系統,可以為整個實例或在有限範圍內分配使用者權限。

在 3.0 版本變更: 在 Weblate 3.0之前的權利系統是基於Django 的,但現在是專門為Weblate構建的。如果您使用的是舊版本,請查閱該版本的文件,此處的資訊將不適用。

簡單的訪問控制

如果您不是管理整個 Weblate 的安裝,而只是有權限管理某些項目(例如在 託管的 Weblate),您的存取控制管理選項僅限於以下設定。如果您不需要任何複雜的設定,這些就足夠了。

專案存取控制

備註

此功能不適用於運行在 Weblate 伺服器的 Libre 方案 。

您可以透過選擇不同的:guilabel:`存取控制`設定來限制使用者對單個項目的存取。可用的選項有:

公開

公開可見,但只有已經登入的使用者可以翻譯。

受保護

公開可見,但僅對選定使用者可翻譯。

私人

僅選定使用者可以瀏覽和翻譯。

自訂

:ref:`使用者管理<manage-acl>`功能將被停用;預設情況下,所有使用者都被禁止在專案上進行任何操作。您必須使用:ref:`custom-acl`設定所有的權限。

可以在每個項目的配置(:guilabel:`Manage↓:guilabel:`Settings)的:guilabel:`Access`選項卡中更改Access控制。

../_images/project-access.png

可以透過 DEFAULT_ACCESS_CONTROL 修改預設值。

備註

即使對於 “私有” 項目,也會公開有關項目的一些信息: 儘管具有訪問控制設置,所有項目的計數都會包含在整個實例的統計信息和語言摘要裡面。您的項目名稱和其他信息不會揭露。

備註

項目中預設提供“公開”,”受保護”,及“私有”的使用者權限組合, Weblate的實例管理員也可以使用:ref:`custom settings <custom-acl>`進行個性化定制.

也參考

存取控制

管理單一專案的存取控制

Manage project access 特權的使用者(請參見 特殊權限列表與內建角色 )可以管理專案內的使用者,透過將他們加入到專案內。初始的團隊由 Weblate 系統建立,但額外新增的可以被定義提供更多較仔細的存取控制。您可以限制團隊翻譯的語言與指派已定義的角色(參閱: 特殊權限列表與內建角色)。

以下的團隊將隨著每一專案自動建立:

於`公開`、`保護`與`隱私`專案:

管理

包含此專案所有可使用的權限。

複查 (僅限 :ref:`review workflow <reviews>`設置為打開)

可以在復查時批准翻譯。

只限‘受保護’及‘私有’項目:

翻譯

可以翻譯項目,並將離線的翻譯上傳。

原文

可以編輯來源字串 (如果在 project settings 中允許的話 )及來源字串信息。

語言

可以管理已翻譯的語言(新增或移除翻譯字串)。

詞彙表

可以管理字典檔(新增或移除項目與上傳)。

記憶

可以管理翻譯記憶。

畫面快照

可以管理截圖(新增或移除他們或與來源文字作關聯)。

自動翻譯

可以使用自動翻譯。

VCS

可以管理版本控制系統(VCS)並訪問導出的倉儲。

帳單

可以訪問賬單信息和設置(請參見 帳單 )。

../_images/manage-users.png

這些功能可在 Access control 頁面上找到,頁面訪問路徑為項目 menu ManageUsers

團隊管理員

在 4.15 版本新加入.

每一團隊可以擁有團隊的管理員,他可以新增或移除團隊中的成員。對於想要建立自治的團隊是很有用的。

新使用者邀請函

此外,除了將現有使用者添加到項目之外,還可以邀請新使用者。將立即創建任何新使用者,但是該帳戶將保持不活動狀態,直到使用通過電子郵件發送的邀請中的鏈接登錄為止。不需要具有任何站點範圍的權限,就可以這麼做,項目級別的訪問管理權限 (如,Administration 組成員資格) 就足夠了。

提示

如果被邀請的使用者錯過了邀請的有效性,則可以在密碼重置表單中使用被邀請的電子郵件地址設置密碼,因為已經創建了帳戶。

在 3.11 版本新加入: 重新發送使用者邀請電子郵件是有可能的 (使任何之前發送的邀請無效)。

同樣的邀請函數可以從 管理界面 :guilabel:`使用者`標籤。

禁用使用者

在 4.7 版本新加入.

避免一些行為惡意的使用者在您的專案中,您可以限制他們貢獻。被限制的使用者若有權限依舊能看到專案,但是他不能做出貢獻。

單一專案權限管理

將專案設定為`保護`、隱私`與 :ref:`manage users <manage-acl> 並在 Weblate 介面中管理每個專案的使用者。

預設情況下,這可以防止 Weblate 授權 UsersViewers 提供 default teams 由於這些團隊所擁有的設定。這不會阻止您通過更改預設團隊,為預設團隊創建新的一個項目,或者為以下單個組件創建其他自定義設定,或者如 自訂存取控制 所描述。

其中一個透過 Weblate 使用者介面管理權限的主要好處是,您可以將其委派給其他使用者,而不需要給予他們超級使用者權限。為了這樣做,請將他們加入專案的 Administration 團隊。

自訂存取控制

備註

此功能不適用於運行在 Weblate 伺服器的 Libre 方案 。

權限系統基於團隊和角色,其中角色定義一組權限,團隊將其與使用者和翻譯相關聯。參閱 使用者,角色,團隊與權限 瞭解更多資訊。

Weberate’s Access Control系統的最強大功能僅通過以下方式提供:ref:Django管理員界面<admin-interface>。您可以使用它來管理任何項目的權限。您不一定必須將其切換到“自定義”:ref:“訪問控制<ACL>”使用它。但是,您必須具有超級使用者權限才能使用它。

如果您對實現的詳細信息不感興趣,並且只想根據預設值創建一個簡單的配置,或者沒有對整個 Weblate 安裝的站點廣泛訪問(如 託管的 Weblate),請參閱 簡單的訪問控制

常見設定

此部分包含了一些您可能感興趣的常用配置選項的概覽。

網站範圍內的權限管理

要一次管理整個執行個體的權限,請將使用者新增到合適的 default teams:

  • 使用者 (預設完成於經由 automatic team assignment)。

  • `審稿人員(如果您使用的是:ref:“評論工作流程<評論>”與專用評論者)。

  • “經理”(如果您想將大多數管理操作委派給其他人)。

您應該使所有專案設置為 公開`(參閱 :ref:`acl),否則網站層級的權限將對 使用者檢閱者 不會有任何影響。

您還可以賦予您所選擇的一些額外權限到預設組。例如,您可能希望允許管理所有 使用者 的屏幕截圖。

您也可以定義一些新的自定義團隊。如果您想繼續管理這些團隊的網站範圍內的權限,請選擇適當的 Project selection (如 All projectsAll public projects )。

為語言、組件或專案自訂權限

您可以創建自己的專用團隊來管理不同對象(如語言,組件和項目)的權限。您不能透過新增一組自定義的團隊來撤銷任何來自全站設定的權限或某一團隊的權限,即使這些團隊只能授予額外的權限。

示例:

如果您想要(無論出於何種原因)允許翻譯到特定語言(讓我們說“捷克語”)僅在一組封閉式的可靠翻譯器,同時保持翻譯到其他語言公眾,您將不得不:

  1. 從所有使用者中刪除翻譯 捷克語 的權限。在預設配置中,可以通過修改 使用者 來完成此操作 default team

    群組 使用者

    語言選取

    如定義

    語言

    捷克語 以外

  1. 捷克語 翻譯新增專門組別。

    捷克語 翻譯群組

    角色

    超級使用者

    專案選取

    所有公開專案

    語言選取

    如定義

    語言

    捷克語

  1. 新增團隊中您希望賦予權限的使用者。

正如您所看到的,這種方式的權限管理是強大的,但可能是相當繁瑣的工作。除非授予超級使用者權限,否則您無法將其委派給另一個使用者。

使用者,角色,團隊與權限

身份驗證模型包括幾個對象:

許可

Weblate 定義的個人權限。權限不能分配給使用者。這只能通過分配角色來完成。

角色

角色定義為一組權限。這允許在幾個地方重複使用這些組,使管理更容易。

使用者

使用者可隸屬於許多個團隊。

群組

使用者組連接角色、使用者和身份驗證對象(項目、語言和組件列表)。

graph auth { "User" -- "Group"; "Group" -- "Role"; "Role" -- "Permission"; "Group" -- "Project"; "Group" -- "Language"; "Group" -- "Components"; "Group" -- "Component list"; }

備註

一個團隊可以沒有分配角色,在這種情況下,假設任何人能訪問專案(見下文)。

專案的瀏覽權限

使用者必須為團隊成員並團隊連結到專案或任何組件的成員。擁有成員身份就足夠了,瀏覽項目不需要特定的權限(這被用於預設的 查看者 小組,見 default-groups )。

組件的瀏覽權限

使用者一旦能夠訪問組件的項目,就可以不受限制地訪問組件。 (並將擁有該項目授予使用者的所有權限)。在開啟 受限制的訪問 的情況下,訪問組件需要對該組件(或該組件所在的組件列表)具有顯式權限。

團隊範圍

The scope of the permission assigned by the roles in the teams are applied by the following rules:

  • 如果團隊指定任何 Component list,所有在團隊已賦予到成員的權限也將賦權在團隊裡組件列表中的所有組件。若無額外指定的權限在所有的專案,這些組件在 ComponentsProjects 會被忽略。

  • If the team specifies any Components, all the permissions given to the members of that team are granted for all the components attached to the team, and an access with no additional permissions is granted for all the projects these components are in. Projects are ignored.

  • Otherwise, if the team specifies any Projects, either by directly listing them or by having Projects selection set to a value like All public projects, all those permissions are applied to all the projects, which effectively grants the same permissions to access all projects unrestricted components.

  • The restrictions imposed by a team’s Languages are applied separately, when it’s verified if a user has an access to perform certain actions. Namely, it’s applied only to actions directly related to the translation process itself like reviewing, saving translations, adding suggestions, etc.

提示

使用 Language selectionProject selection 來自動包括所有語言或項目。

示例:

可以這麼說這是一個專案 foo 擁有組件: foo/barfoo/baz 以及以下的團隊:

群組 西班牙語管理審查員

角色

審核字串, 管理倉儲

組件

foo/bar

語言

西班牙語

該組的成員將有以下權限(假定使用預設角色設定):

  • 一般(瀏覽)訪問整個項目``foo``,包括它的兩個組件:foo / bar``和``foo / baz

  • 審核字串 foo/bar 在西班牙語翻譯中(不在其他地方)。

  • 管理整個```foo / bar``jociticory的VCS。提交待定的翻譯人員對所有語言進行的更改。

自動團隊分派

在底部的 Group 編輯頁面 Django admin interface,您可以指定 Automatic team assignments,在正規表示法的列表中根據其電子郵件自動建立的使用者分配團隊。此操作僅在帳戶建立時發生。

The most common use-case for the feature is to assign all new users to some default team. In order to do so, you will probably want to keep the default value (^.*$) in the regular expression field. Another use-case for this option might be to give some additional privileges to employees of your company by default. Assuming all of them use corporate e-mail addresses on your domain, this can be accomplished with an expression like ^.*@mycompany.com.

備註

Automatic team assignment to Users and Viewers is always recreated when upgrading from one Weblate version to another. If you want to turn it off, set the regular expression to ^$ (which won’t match anything).

備註

直到現在,無法通過使用者界面向某些團隊批量新增已現有使用者。為此,您可以使用以下方法 REST API

預設團隊和角色

After installation, a default set of teams is created (see 團隊列表).

These roles and teams are created upon installation. The built-in roles are always kept up to date by the database migration when upgrading. You can’t actually change them, please define a new role if you want to define your own set of permissions.

特殊權限列表與內建角色

範圍

權限

角色

帳單(參閱 帳單

檢視帳單資訊

Administration, Billing

更動

下載更動處

Administration

評註

張貼評註

管理權限編輯來源超級使用者審核字串翻譯

刪除評註

Administration

解決評註

管理權限審核字串

組件

編輯組件設定

Administration

鎖定組件,防止翻譯

Administration

詞彙表

增加詞彙表條目

Administration, Manage glossary, Power user

編輯詞彙表條目

Administration, Manage glossary, Power user

刪除詞彙表條目

Administration, Manage glossary, Power user

上傳詞彙表條目

Administration, Manage glossary, Power user

自動建議

使用自動建議

管理權限編輯來源超級使用者審核字串翻譯

翻譯記憶

編輯翻譯記憶

Administration, Manage translation memory

刪除翻譯記憶

Administration, Manage translation memory

專案

編輯專案設定

Administration

管理專案存取權

Administration

回報

下載報表

Administration

畫面快照

加入畫面快照

Administration, Manage screenshots

編輯畫面快照

Administration, Manage screenshots

刪除畫面快照

Administration, Manage screenshots

來源字串

編輯額外字串資訊

Administration, Edit source

字串

新增新字串

Administration

移除字串

Administration

略過未通過查核

管理權限編輯來源超級使用者審核字串翻譯

編輯字串

管理權限編輯來源超級使用者審核字串翻譯

檢閱字串

管理權限審核字串

當施行建議時編輯字串

管理權限審核字串

編輯來源字串

Administration, Edit source, Power user

建議

接受建議

管理權限編輯來源超級使用者審核字串翻譯

新增建議

管理權限編輯來源新增建議超級使用者審核字串翻譯

刪除建議

Administration, Power user

建議的投票

管理權限編輯來源超級使用者審核字串翻譯

翻譯

加入新語言的翻譯

Administration, Power user, Manage languages

執行自動翻譯

Administration, Automatic translation

刪除既有的翻譯

Administration, Manage languages

下載翻譯檔案

管理權限編輯來源存取倉儲超級使用者審核字串翻譯管理語言

加入多種新語言的翻譯

Administration, Manage languages

上傳

定義上傳翻譯的作者

Administration

以上傳內容覆蓋現在的翻譯

管理權限編輯來源超級使用者審核字串翻譯

上傳翻譯

管理權限編輯來源超級使用者審核字串翻譯

VCS

存取內部倉儲

Administration, Access repository, Power user, Manage repository

將更動提交到內部倉儲

Administration, Manage repository

從內部倉儲推入更動

Administration, Manage repository

重設內部倉儲中的更動

Administration, Manage repository

檢視上游倉儲的位置

Administration, Access repository, Power user, Manage repository

更新內部倉儲

Administration, Manage repository

全網站範圍的特權

使用管理介面

加入新的專案

加入語言定義

管理語言定義

管理團隊

管理使用者

管理角色

管理公告

管理翻譯記憶

管理機器翻譯

管理組件列表

備註

站點範圍的特權不會被授予任何預設角色。它們功能強大,非常接近超級使用者的地位。它們中的大多數都會影響到您的 Weblate 安裝中的所有項目。

團隊列表

The following teams are created upon installation (or after executing setupgroups) and you are free to modify them. The migration will, however, re-create them if you delete or rename them.

訪客

定義未經身份驗證的使用者權限。

This team only contains anonymous users (see ANONYMOUS_USER_NAME).

You can remove roles from this team to limit permissions for non-authenticated users.

預設角色: Add suggestion, Access repository

審查員

This role ensures visibility of public projects for all users. By default, all users are members of this team.

By default, automatic team assignment makes all new accounts members of this team when they join.

預設角色:無

使用者

Default team for all users.

By default, automatic team assignment makes all new accounts members of this team when they join.

預設角色: Power user

審核員

審核員專用的群組(參閱 翻譯工作流 )。

預設角色:審核字串

管理員

管理員專用群組。

預設角色: 管理權限

警告

Never remove the predefined Weblate teams and users as this can lead to unexpected problems! If you have no use for them, you can removing all their privileges instead.

Additional access restrictions

If you want to use your Weblate installation in a less public manner, i.e. allow new users on an invitational basis only, it can be done by configuring Weblate in such a way that only known users have an access to it. In order to do so, you can set REGISTRATION_OPEN to False to prevent registrations of any new users, and set REQUIRE_LOGIN to /.* to require signing in to access all the site pages. This is basically the way to lock your Weblate installation.

提示

您可以使用內建的 :ref:`invite-user`新增使用者。