Дополнительные модули Weblate

Для вашей установки доступно несколько дополнительных модулей.

Экспортер Git

Добавлено в версии 2.10.

Предоставляет доступ на чтение к нижележащему репозиторию Git через HTTP(S).

Установка

  1. Добавьте weblate.gitexport в установленные приложения в файле settings.py:

INSTALLED_APPS += ("weblate.gitexport",)
  1. Экспортируйте существующие репозитории, выполнив перено своей базы данных после установки:

weblate migrate

Использование

Этот модуль автоматически вставляет свои обработчики в Weblate и устанавливает URL репозитория в настройках компонента. Репозитории будут располагаться под «каталогом» URL Weblate /git/, например https://example.org/git/weblate/master/.

Репозитории для проектов, доступных публично, могут быть склонированы без аутентификации:

git clone 'https://example.org/git/weblate/master/'

Доступ к репозиториям с ограниченным доступом (использующие управление доступом к проекту или когда REQUIRE_LOGIN включено) требуют API-токен, который можно получить в настройках своего профиля:

git clone 'https://user:KEY@example.org/git/weblate/master/'

Подсказка

По умолчанию у членов группы Пользователи и анонимных пользователей есть доступ к репозиториям публичных проектов через роли Доступ к репозиторию и Опытный пользователь.

Тарифный план

Добавлено в версии 2.4.

Этот модуль используется на Облачном хостинге Weblate, для задания тарифных планов, а также отслеживания платежей и лимитов.

Установка

Добавьте weblate.billing в установленные приложения в файле settings.py:

INSTALLED_APPS += ("weblate.billing",)
  1. Запустите миграцию базы данных для необязательной установки для модуля дополнительных структур базы данных:

weblate migrate

Использование

После установки вы сможете в интерфейсе администратора управлять тарификацией. У пользователей с включённой функцией тарификации в их профиле появится новая вкладка Тарифный план.

Также модуль тарифных планов даёт возможность администраторам проектов создавать новые проекты и компоненты без прав суперпользователя (см. Добавление проектов и компонентов перевода). Это становится возможным, если удовлетворены следующие условия:

  • Тариф не исчерпал заданные лимиты (любое избыточное использование ресурсов влечёт блокировку создания проектов/компонентов) и оплачен (если он не бесплатный)

  • Пользователь является администратором существующего тарифицируемого проекта или владельцем тарифного плана (последнее необходимо пользователям только подписавшимся на тариф для того, чтобы они могли загрузить новый проект).

При создании проекта пользователь может выбрать, к какому тарифу проект должен относиться, если у пользователя их несколько.

Аватары

Аватары загружаются и кэшируются на стороне сервера, чтобы уменьшить утечку информации на сайты, обслуживающие их по умолчанию. Встроенную поддержку получения аватаров из настроенных для этого адресов электронной почты можно отключить с помощью параметра ENABLE_AVATARS.

В настоящее время Weblate поддерживает:

Защита от спама

Вы можете защититься от спама в предложениях от неаутентифицированных пользователей, воспользовавшись сервисом akismet.com.

  1. Установите модуль Python akismet

  2. Настройте ключ API Akismet.

Примечание

Защита (среди всего прочего) зависит от IP-адреса клиента, для правильной её настройки, пожалуйста, смотрите раздел Работа за обратным прокси.

Подписание коммитов Git с помощью GnuPG

Добавлено в версии 3.1.

Все коммиты могут быть подписаны с помощью ключа GnuPG вашего экземпляра Weblate.

1. Turn on WEBLATE_GPG_IDENTITY. (Weblate will generate a GnuPG key when needed and will use it to sign all translation commits.)

Эта функция требует установки GnuPG 2.1 или новее.

Этот ключ будет хранится по пути, указанному в DATA_DIR, а открытый ключ будет отображаться на странице «О Weblate» (/about/):

../_images/about-gpg.png

2. Alternatively you can also import existing keys into Weblate, just set HOME=$DATA_DIR/home when invoking gpg.

См.также

WEBLATE_GPG_IDENTITY

Ограничение частоты запросов

Изменено в версии 3.2: Модуль «Ограничение частоты запросов» теперь допускает более тонкую настройку.

Некоторые операции Weblate ограничены по частоте. Допустимо не более RATELIMIT_ATTEMPTS попыток за период RATELIMIT_WINDOW секунд. Если это количество превышено, то пользователь блокируется на RATELIMIT_LOCKOUT секунд. Существуют также параметры, задающие ограничения, специфические для конкретных действий, например RATELIMIT_CONTACT_ATTEMPTS или RATELIMIT_TRANSLATE_ATTEMPTS. Следующая таблица является исчерпывающим списком таких параметров.

Следующие операции подвержены ограничению частоты запросов:

Имя

Область

Допустимо попыток

Временное окно

Период блокировки

Регистрация

REGISTRATION

5

300

600

Отправка сообщения администраторам

MESSAGE

5

300

600

Аутентификация по паролю при входе

LOGIN

5

300

600

Поиск по всему сайту

SEARCH

6

60

60

Перевод

TRANSLATE

30

60

600

Добавление в глоссарий

GLOSSARY

30

60

600

Начало перевода на новый язык

LANGUAGE

2

300

600

Если у пользователя не получается залогинится с AUTH_LOCK_ATTEMPTS попыток, то аутентификация по паролю полностью отключается до тех пор пока пользователь не сбросит свой пароль.

Для API есть отдельные настройки ограничения колличества запросов, см. Ограничение частоты запросов API.