Керування доступом#
Weblate постачається із системою прав доступу із багатьма рівнями, які надають змогу визначати права доступу користувача для усього екземпляра системи або для певного її складника.
Змінено в версії 3.0: До версії Weblate 3.0 система прав доступу базувалася на Django, але тепер її побудовано окремо для Weblate. Якщо ви користуєтеся застарілою версією зверніться до документації для вашої версії.
Просте керування доступом#
Якщо ви не адмініструєте увесь встановлений екземпляр Weblate і просто маєте доступ до керування певними проєктами (як на Hosted Weblate), ваші варіанти керування доступом обмежено вказаними нижче параметрами. Якщо вам не потрібна складна конфігурація, цих варіантів має бути достатньо.
Керування доступом на рівні проєкту#
Примітка
Проєкти, які користуються тарифним планом gratis Libre на Hosted Weblate, завжди Відкриті. Ви можете перемкнутися на платний план, якщо хочете обмежити доступ до вашого проєкту.
Ви можете обмежити доступ користувачів до окремих проєктів, вибравши інший варіант Керування доступом. Доступні варіанти:
- Відкритий
Видно всім.
Будь-який авторизований користувач може брати участь.
Репозиторій VCS може бути відкритим для всіх.
Виберіть цей варіант для проєктів з відкритим кодом або якщо ваш екземпляр Weblate є приватним або таким, доступ до якого заблоковано.
- Захищений
Видно всім.
Тільки обрані користувачі можуть брати участь.
Лише вибрані користувачі можуть отримати доступ до репозиторію VCS.
Виберіть цей варіант, якщо вам потрібна більше доступність, але ви хочете зберігати контроль над тим, хто бере участь у перекладі.
- Приватний
Доступно лише вибраним користувачам.
Тільки обрані користувачі можуть брати участь.
Лише вибрані користувачі можуть отримати доступ до репозиторію VCS.
Виберіть цей варіант для проєктів, які мають бути повністю закритими.
- Нетиповий
Доступно лише вибраним користувачам.
Тільки обрані користувачі можуть брати участь.
Лише вибрані користувачі можуть отримати доступ до репозиторію VCS.
Недоступний на Hosted Weblate.
Вам доведеться налаштувати усі права доступу за допомогою варіанта Нетипове керування доступом.
Виберіть цей варіант на вашому власному екземплярі Weblate, якщо хочете визначити доступ у спеціалізований, точно запрограмований спосіб.
Керування доступом може бути змінено на вкладці Доступ налаштувань (Управління ↓ Налаштування) відповідного проєкту.

Типове значення можна змінити за допомогою DEFAULT_ACCESS_CONTROL
.
Примітка
Навіть для приватних проєктів буде розкрито певні дані про проєкт: статистику і підсумок про мови для всього екземпляра міститимуть дані для всіх проєктів, всупереч варіанту керування доступом. За цим можна визначити назву вашого проєкту та інші відомості.
Примітка
Набір прав доступу, який типово доступний для користувачів у проєктах Public, Protected і Private, може бути перевизначено адміністратором екземпляра Weblate за допомогою нетипових параметрів.
Дивись також
Керування правами доступу на рівні проєкту#
Користувачі з правами доступу Керування доступом до проєкту (див. Список привілеїв і вбудовані ролі) можуть керувати записами користувачів у проєктах додаванням цих записів до команд. Початковий набір команд надається самим Weblate, а додаткові можна визначити коригуванням керування доступом. Ви можете обмежити команди певними мовами і призначити їм створені вами ролі доступу (див. Список привілеїв і вбудовані ролі).
Вказані нижче команди буде автоматично створено в усіх проєктах:
Для проєктів Public, Protected і Private:
- Адміністрування
Включає усі можливі права доступу до проєкту.
- Рецензування (лише якщо увімкнено процес із рецензуванням)
Може затверджувати переклади у процесі рецензування.
Лише для проєктів Protected і Private:
- Переклад
Може перекладати проєкт і вивантажувати виконані поза межами вебредактора переклади.
- Джерела
Можуть редагувати початкові рядки (якщо дозволено параметрами проєкту) і дані щодо початкового рядка.
- Мови
Може керувати мовами перекладу (додавати або вилучати переклади).
- Глосарій
Може змінювати глосарій (додавати або вилучати записи, а також вивантажувати дані).
- Пам’ять
Може керувати пам’яттю перекладів.
- Знімки екрана
Може керувати знімками вікон (додавати і вилучати знімки, а також пов’язувати зніми із початковими рядками).
- Автоматичний переклад
Може використовувати автоматичний переклад.
- VCS
Може управляти системою керування версіями та має доступ до експортованого репозиторію початкового коду.
- Оплата
Має доступ до даних щодо фінансових рахунків і параметрів (див. Оплата).

Доступ до цих можливостей можна отримати за допомогою сторінки Керування доступом, доступ до якої можна отримати з меню проєкту: Управління ↓ Користувачі.
Адміністратори команд#
Нове в версії 4.15.
У кожної команди може бути адміністратор, який додає і вилучає користувачів у команді. Це корисно, якщо ви хочете побудувати самоврядні команди.
Запрошення нових користувачів#
Крім того, окрім додавання наявного користувача до проєкту, можна запросити нових користувачів. Запис нового користувача буде створено негайно, але він лишатиметься неактивним до входу користувача до системи за допомогою посилання у запрошенні, яке буде надіслано електронною поштою. Для надсилання запрошення не потрібні права доступу на рівні сайту, достатньо буде прав доступу до керування доступом на рівні проєкту (наприклад, членства у команді Administration).
Підказка
Якщо запрошеним користувачем пропущено строк чинності запрошення, він або вона може встановити пароль, вказавши адресу електронної пошти запрошення у формі скидання пароля, оскільки обліковий запис для відповідного користувача вже створено.
Нове в версії 3.11: Передбачено можливість повторного надсилання запрошення користувачам електронною поштою (скасовує будь-які раніше надіслані запрошення).
Подібний тип запрошень доступний і на рівні сайта з інтерфейсу керування на вкладці Користувачі.
Блокування користувачів#
Нове в версії 4.7.
Якщо якісь користувачі поводяться недостойно у вашому проєкті, у вас є можливість заблокувати їхню участь. Заблоковані користувачі все одно зможуть бачити проєкт, якщо у них є для цього дозволи, але вони не зможуть робити свій внесок.
Керування правами доступу на рівні проєктів#
Ви можете налаштувати ваші проєкти як Protected або Private і :ref:`керувати користувачами <manage-acl>`окремих проєктів за допомогою інтерфейсу Weblate.
Типово, це запобігає наданню доступу типовим командам Users and Viewers через власні налаштування цих команд. Це не заборонить вам надавати права доступу до цих проєктів на рівня сайта шляхом зміни параметрів типових групи, створення нової команди або створення додаткових нетипових параметрів для окремого складника, як це описано у розділі Нетипове керування доступом.
Однією з головних переваг керування правами доступу з інтерфейсу користувача Weblate є те, що ви можете делегувати його іншим користувачам без надання їм прав доступу надкористувача. Для цього додайте користувачів до команди Administration проєкту.
Нетипове керування доступом#
Примітка
Ця можливість є недоступною на Hosted Weblate.
Систему прав доступу засновано на командах і ролях, де ролі визначають набір прав доступу, а команди пов’язують їх із користувачами та перекладами, див. Користувачі, ролі, команди і права доступу, щоб дізнатися більше.
Найпотужнішими можливостями поточної версії системи керування доступом Weblate можна скористатися лише за допомогою адміністративного інтерфейсу Django. Цей інтерфейс надає змогу керувати правами доступу до будь-якого проєкту. Щоб скористатися ним, не обов’язково перемикатися на керування доступом Custom. Втім, що скористатися цим вам знадобляться права доступу надкористувача.
Якщо вам не цікаві подробиці реалізації і ви просто хочете створити достатньо прості налаштування на основі типових або не маєте доступу на рівні сайта до усього встановленого екземпляра Weblate (зокрема на Hosted Weblate), будь ласка, зверніться до розділу Просте керування доступом.
Типові налаштування#
У цьому розділі міститься огляд деяких типових конфігурацій, які можуть бути для вас цікавим.
Керування правами доступу на рівні сайта#
Для керування правами доступами для усього екземпляра одразу додайте користувачів до відповідних типових команд:
Users (це виконується типово автоматичною прив’язкою до команд).
Reviewers (якщо ви використовуєте процес із рецензуванням із спеціалізованими рецензентами).
Managers (якщо ви хочете делегувати більшість дій з керування комусь іншому).
Вам слід зберігати налаштовування усіх проєктів як Public (див. Керування доступом на рівні проєкту). Якщо цього не зробити, загальносайтові права доступу, які надаються членством у командах Users і Reviewers, ні на що не вплинуть.
Крім того, ви можете надати бажані додаткові права доступу типовим командам. Наприклад, ви можете надати права доступу для керування знімками вікон усім учасникам групи Users.
Ви також маєте визначити деякі нові нетипові команди. Якщо ви хочете зберегти керування вашими загальносайтовими правами доступу для цих команд, виберіть відповідне значення для параметра Вибір проєкту (наприклад, Усі проєкти або Усі публічні проєкти).
Нетипові права доступу до мов, складників або проєктів#
Ви можете створити ваші власні спеціалізовані команди для керування правами доступу для певних об’єктів, зокрема мов, складників та проєктів. Хоча ці команди можуть додавати лише додаткові права доступу — ви не можете відкликати будь-які права доступу за загальносайтовими командами або командами проєкту додаванням ще однієї нетипової команди.
Приклад:
Якщо ви хочете (з будь-яких причин) дозволити переклад певною мовою (наприклад чеською) лише обмеженому набору надійних перекладачів, а переклади іншими мовами зробити загальнодоступними, вам слід зробити так:
Вилучити права доступу до перекладу Czech для всіх користувачів. За типових налаштувань це можна зробити зміною типової команди Users.
Група Users# Вибір мови
As defined
Мови
Усі, окрім Czech
Додати спеціалізовану команду для перекладачів Czech.
Група Czech translators# Ролі
Power users
Вибір проєкту
All public projects
Вибір мови
As defined
Мови
Czech
Додати користувачів, яким ви хочете надати права доступу, до цієї команди.
Як ви можете бачити, керування правами доступу у цей спосіб є потужним, але користуватися ним є марудною справою. Ви не можете делегувати його іншому користувачу без надання прав доступу надкористувача.
Користувачі, ролі, команди і права доступу#
Моделі розпізнавання складаються з декількох об’єктів:
- Права доступу
Персональні права доступу, які визначаються Weblate. Ви не можете визначати права доступу для користувачів — це завдання може бути виконане лише за допомогою призначення ролей.
- Роль
Роль визначає набір прав доступу. За допомогою ролі ви можете використовувати однакові набори прав доступу у декількох місцях. Ролі також спрощують адміністрування.
- Користувач
Користувачі можуть бути учасниками декількох команд одночасно.
- Група
Групи поєднують об’єкти ролей, користувачів та розпізнавання (проєкти, мови і списки складників).
Примітка
Із командою може бути не пов’язано жодних ролей. У цьому випадку програма припускатиме доступ до навігації проєктом для будь-кого (див. нижче).
Доступ до навігації проєктом#
Користувач має бути учасником команди, пов’язаної із проєктом або будь-яким складником у проєкті. Участі достатньо — для навігації проєктом не потрібні якісь особливі права доступу (це використано у типовій команді Переглядачі, див. Список команд).
Доступ до навігації складником#
Користувач отримує доступ до необмеженого складника, щойно він отримує доступ до проєкту складника (і матиму усі права доступу, які надаються користувачів у проєкті). Із увімкненим параметром Обмежений доступ доступ до складника потребує явного доступу до складника (або списку складників, який його містить).
Область команд#
Область дії прав доступу, які призначаються ролями у командах, застосовуються такими правилами:
Якщо група визначає якийсь Список складників, усі права доступу, надані учасникам цієї групи, надаються для всіх складників у списках складників, пов’язаних із командою, і доступ без додаткових прав доступу надається для всіх проєктів, частиною яких є ці складники. Складники і Проєкти буде проігноровано.
Якщо команда визначає якийсь Складник, усі права доступу, надані учасникам цієї команди, надаються для всіх складників, пов’язаних із командою, і доступ без додаткових прав доступу надається для всіх проєктів, частиною яких є ці складники. Проєкти буде проігноровано.
Інакше, якщо команда визначає якісь Проєкти, або безпосереднім визначенням їхнього списку, або встановленням для параметра Вибір проєктів значення, подібного до Усі публічні проєкти, усі ці права доступу застосовуються до усіх проєктів, які насправді надають ті самі права доступу для доступу до усіх складників без обмежень проєкту.
Обмеження, які накладаються параметром Мови команди, застосовуються окремо, після перевірки, чи має користувач доступ до певних дій. А саме, вони застосовуються лише до дій безпосередньо пов’язаних із самим процесом перекладу, зокрема рецензуванням, збереженням перекладів, додаванням пропозицій тощо.
Підказка
Для автоматизації включення всіх мов або проєктів ви можете скористатися пунктами Вибір мови та Вибір проєкту.
Приклад:
Припустімо, маємо проєкт
щось
із такими складниками:щось/десь
іщось/там
і таку команду:
Група Spanish Admin-Reviewers# Ролі
Рецензування рядків, Управління репозиторієм
Складники
щось/десь
Мови
Spanish
Учасники цієї команди матимуть такі права доступу (припускаємо параметри типової ролі):
Загальний доступ (до навігації) до усього проєкту
щось
, включно із обома складниками у ньому:щось/десь
іщось/там
.Рецензування рядків у іспанському перекладі
щось/десь
(і тільки у ньому).Управління системою керування версіями для усього репозиторію
щось/десь
, наприклад внесення зміни з черги, які є результатами роботи перекладачів, для всіх мов.
Автоматичні призначення команд#
У нижній частині сторінки редагування Група адміністративного інтерфейсу Django ви можете вказати Автоматичні призначення команд, тобто список формальних виразів, які використовуватимуться для автоматичного пов’язування створених записів користувачів до команди на основі адреси електронної пошти. Ця прив’язка виконуватиметься лише під час створення облікового запису.
Найпоширеніший випадок використання цієї можливості — пов’язування всіх нових користувачів до певної типової команди. Для цього вам, імовірно, слід зберегти типове значення (^.*$
) у полі регулярного виразу. Ще одним випадком використання цього параметра може бути типове надання певних додаткових прав доступу працівникам вашої компанії. Припускаючи, що всі вони користуються корпоративними адресами електронної пошти на вашому домені, досягти цього можна виразом, подібним до ^.*@mycompany.com
.
Примітка
Автоматична прив’язка до команд для команд Users і Viewers виконуватиметься завжди при оновленні версії Weblate. Якщо ви хочете вимкнути її, встановіть для формального виразу прив’язки значення ^$
, якому не відповідає жоден рядок.
Примітка
У поточній версії немає способу пакетного додавання наявних користувачів до певної команди за допомогою інтерфейсу користувача. Для цього ви можете вдатися до використання програмного інтерфейсу REST.
Типові команди і ролі#
Після встановлення буде створено типовий набір команд (див. Список команд).
Ці ролі та команди створюються під час встановлення. Актуальність вбудованих ролей завжди підтримується перенесенням бази даних під час оновлення. Ви не зможете внести зміни. Якщо ви хочете визначити власний набір прав доступу, визначте для нього нову роль.
Список привілеїв і вбудовані ролі#
Область |
Дозвіл |
Ролі |
---|---|---|
Фінансові рахунки (див. Оплата) |
Переглянути відомості про оплату |
Administration, Billing |
Зміни |
Завантажити зміни |
Administration |
Коментарі |
Опублікувати коментар |
Administration, Edit source, Power user, Review strings, Translate |
Вилучити коментар |
Administration |
|
Вирішити коментар |
Administration, Review strings |
|
Складник |
Змінити налаштування складників |
Administration |
Блокувати складник, запобігаючи перекладу |
Administration |
|
Глосарій |
Додати запис до глосарія |
Administration, Manage glossary, Power user |
Змінити словникове гніздо |
Administration, Manage glossary, Power user |
|
Видалити словникове гніздо |
Administration, Manage glossary, Power user |
|
Вивантажити словникове гніздо |
Administration, Manage glossary, Power user |
|
Автоматичні пропозиції |
Використовувати автоматичні пропозиції |
Administration, Edit source, Power user, Review strings, Translate |
Памʼять перекладів |
Змінити памʼять перекладів |
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, Review strings, Translate |
|
Змінити рядки |
Administration, Edit source, Power user, Review strings, Translate |
|
Перерити рядки |
Administration, Review strings |
|
Змінювати рядок з примусовими пропозиціями |
Administration, Review strings |
|
Змінити джерельні рядки |
Administration, Edit source, Power user |
|
Пропозиції |
Прийняти пропозицію |
Administration, Edit source, Power user, Review strings, Translate |
Додати пропозицію |
Administration, Edit source, Add suggestion, Power user, Review strings, Translate |
|
Вилучити пропозицію |
Administration, Power user |
|
Проголосувати за пропозицію |
Administration, Edit source, Power user, Review strings, Translate |
|
Переклади |
Додати мову перекладу |
Administration, Power user, Manage languages |
Виконати автоматичний переклад |
Administration, Automatic translation |
|
Видалити наявний переклад |
Administration, Manage languages |
|
Завантажити файл перекладу |
Administration, Edit source, Access repository, Power user, Review strings, Translate, Manage languages |
|
Додати кілька мов для перекладу |
Administration, Manage languages |
|
Вивантаження |
Задати творця завантаженого перекладу |
Administration |
Переписати наявні переклади завантаженням |
Administration, Edit source, Power user, Review strings, Translate |
|
Вивантажити переклади |
Administration, Edit source, Power user, Review strings, Translate |
|
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.
Список команд#
Під час встановлення (або після виконання weblate setupgroups
) буде створено вказані нижче команди. Ви можете внести зміни до цих груп. Втім, під час перенесення даних типові групи, якщо ви вилучите або перейменуєте їх, буде створено повторно.
- Guests
Визначає права доступу для користувачів, які не пройшли розпізнавання.
У цій команді містяться записи лише анонімних користувачів (див.
ANONYMOUS_USER_NAME
).Ви можете вилучати ролі з цієї команди для обмеження прав доступу користувачів, які не пройшли розпізнавання.
Типові ролі: Add suggestion, Access repository
- Переглядачі
Ця роль забезпечує видимість відкритих проєктів для всіх користувачів. Типово учасниками цієї команди є всі користувачі.
Типово, автоматична прив’язка команд створює усі нові облікові записи учасників цієї команди, коли вони долучаються.
Типові ролі: немає
- Users
Типова команда для всіх користувачів.
Типово, автоматична прив’язка команд створює усі нові облікові записи учасників цієї команди, коли вони долучаються.
Типові ролі: Power user
- Рецензенти
Група для рецензентів (див. Процеси перекладу).
Типові ролі: Review strings
- Керівники
Група для адміністраторів.
Типові ролі: Administration
Попередження
Ніколи не вилучайте попередньо визначені команди і користувачів Weblate, оскільки це може призвести до неочікуваних проблем. Якщо ви не хочете скористатися цими можливостями, просто вилучіть усі привілеї з цих записів.
Додаткові обмеження доступу#
Якщо ви хочете скористатися встановленим вами Weblate у менш відкритий спосіб, тобто дозволити нових користувачів лише на основі запрошень, зробити це можна налаштовуванням Weblate так, що до нього матимуть доступ лише відомі користувачі. Для цього ви можете встановити для параметра REGISTRATION_OPEN
значення False
для запобігання реєстрації будь-яких нових користувачів і встановити для REQUIRE_LOGIN
значення /.*
, щоб вимагати входу до системи для доступу до усіх сторінок сайта. Це, на базовому рівні, є способом блокування встановленого вами Weblate.
Підказка
Ви можете скористатися вбудованими запрошеннями для додавання нових користувачів.