Установка на Debian и Ubuntu

Требования к оборудованию

Weblate should run on any contemporary hardware without problems, the following is the minimal configuration required to run Weblate on a single host (Weblate, database and web server):

  • 3 ГБ ОЗУ

  • 2-х ядерный процессор

  • 1 ГБ дискового пространства

Примечание

Фактические требования к вашей установке Weblate сильно зависят от размера управляемых ею переводов.

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

The more memory the better - it is used for caching on all levels (file system, database and Weblate). For hundreds of translation components, at least 4 GB of RAM is recommended.

Подсказка

Для систем с меньшим, чем рекомендуется, объёмом памяти рекомендуется использовать Однопроцессная установка для производства Celery.

CPU usage

Many concurrent users increase the amount of needed CPU cores.

Storage usage

The typical database storage usage is around 300 MB per 1 million hosted words.

Storage space needed for cloned repositories varies, but Weblate tries to keep their size minimal by doing shallow clones.

Nodes

For small and medium-sized sites (millions of hosted words), all Weblate components (see Обзор архитектуры) can be run on a single node.

When you grow to hundreds of millions of hosted words, it is recommended to have a dedicated node for database (see Настройка базы данных для Weblate).

Установка

Системные требования

Установите зависимости, необходимые для сборки модулей Python (смотрите раздел Требования к программному обеспечению):

apt install -y \
   libxml2-dev libxslt-dev libfreetype6-dev libjpeg-dev libz-dev libyaml-dev \
   libffi-dev libcairo-dev gir1.2-pango-1.0 gir1.2-rsvg-2.0 libgirepository1.0-dev \
   libacl1-dev liblz4-dev libzstd-dev libxxhash-dev libssl-dev libpq-dev libjpeg-dev build-essential \
   python3-gdbm python3-dev git

Установите необходимые необязательные зависимости в зависимости от возможностей, которые вы собираетесь использовать (см. Зависимости Python):

apt install -y \
   libldap2-dev libldap-common libsasl2-dev \
   libxmlsec1-dev

При желании установите программное обеспечение для запуска рабочего сервера, смотрите разделы Запуск сервера, Настройка базы данных для Weblate и Фоновые задачи с использованием Celery. В зависимости от размера вашей установки вы можете захотеть запустить эти компоненты на выделенных серверах.

Инструкции по установке на местах:

# Web server option 1: NGINX and uWSGI
apt install -y nginx uwsgi uwsgi-plugin-python3

# Web server option 2: Apache with ``mod_wsgi``
apt install -y apache2 libapache2-mod-wsgi-py3

# Caching backend: Redis
apt install -y redis-server

# Database server: PostgreSQL
apt install -y postgresql postgresql-contrib

# SMTP server
apt install -y exim4

# Gettext for the msgmerge add-on
apt install -y gettext

uv package manager

Подсказка

We’re using uv package manager to install Weblate.

curl -LsSf https://astral.sh/uv/install.sh | sh

См. также

Installing uv

Модули Python

Подсказка

Для установки Weblate мы используем виртуальное окружение, предоставляемое пакетом virtualenv, чтобы отделить Weblate от вашей системы. Если вы не знакомы с этим понятием, обратитесь к документации пакета.

  1. Создайте виртуальное окружение для Weblate:

    uv venv ~/weblate-env
    
  2. Активируйте виртуальное окружение для Weblate:

    . ~/weblate-env/bin/activate
    
  3. Установите Weblate, включая все его необязательные зависимости:

    # Install Weblate with all optional dependencies
    uv pip install "weblate[all]"
    

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

    Примечание

    В некоторых дистрибутивах Linux запуск Weblate завершается с ошибкой libffi:

    ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
    

    Это вызвано несовместимостью бинарных пакетов, распространяемых через PyPI, с дистрибутивом. Для решения этой проблемы необходимо пересобрать пакет в вашей системе:

    uv pip install --force-reinstall --no-binary :all: cffi
    

Настройка Weblate

Примечание

Далее предполагается, что виртуальное окружение, используемое Weblate активно (активировать можно командой . ~/weblate-env/bin/activate). Если это не так, укажите полный путь к команде weblate: ~/weblate-env/bin/weblate.

  1. Скопируйте файл ~/weblate-env/lib/python3.9/site-packages/weblate/settings_example.py в ~/weblate-env/lib/python3.9/site-packages/weblate/settings.py.

  2. По своему усмотрению подкорректируйте значения в новом файле settings.py. Вам нужно будет предоставить как минимум учётные данные базы данных и секретный ключ Django, но для установки на рабочей системе вам понадобится больше изменений, смотрите больше в разделе Изменение конфигурации под свои нужды.

  3. Создайте базу данных и её структуру для Weblate (для примера настройки используется PostgreSQL, ознакомьтесь с Настройка базы данных для Weblate, чтобы узнать информацию о готовой установке):

    weblate migrate
    

    См. также

    migrate

  4. Создайте учётную запись администратора admin, создайте её пароль и скопируйте его в буфер обмена; не забудьте сохранить его для дальнейшего использования:

    weblate createadmin
    

    Подсказка

    Если вы ранее пропустили/потеряли пароль администратора, вы можете создать новый с помощью следующей команды:

    weblate createadmin --update
    

    См. также

    createadmin

  5. Соберите статические файлы для своего веб-сервера (см. разделы Запуск сервера и Обслуживание статических файлов):

    weblate collectstatic
    
  6. Сожмите файлы JavaScript и CSS (необязательно, смотрите раздел Сжатие клиентских ресурсов):

    weblate compress
    
  7. Запустите обработчики Celery. Для целей разработки это делать не обязательно, но настоятельно рекомендуется. Больше информации смотрите в разделе Фоновые задачи с использованием Celery:

    ~/weblate-env/lib/python3.9/site-packages/weblate/examples/celery start
    
  8. Запустите сервер разработки (в разделе Запуск сервера подробно описана настройка):

    weblate runserver
    

После установки

Поздравляем, теперь ваш сервер Weblate запущен и вы можете начать его использовать.

  • Теперь вы можете получить доступ к Weblate по адресу http://localhost:8000/.

  • Войдите в систему с учётными данными администратора, полученными во время установки, или зарегистрируйтесь в качестве нового пользователя.

  • Теперь при помощи команды weblate и когда активно виртуальное окружение Weblate вы можете запускать его команды, смотрите раздел Команды управления.

  • Остановить тестовый сервер можно комбинацией Ctrl+C.

  • Review potential issues with your installation either on /manage/performance/ URL (see Отчёт о производительности) or using weblate check --deploy, see Рабочая среда.

Добавление перевода

  1. Откройте интерфейс администратора (http://localhost:8000/create/project/) и создайте проект, который вы хотите перевести. Подробнее смотрите в разделе Настройки проекта.

    Всё, что вам нужно здесь указать — это название проекта и его веб-сайт.

  2. Создайте компонент, который является реальным объектом для перевода — он указывает на репозиторий системы контроля версий и задаёт файлы для перевода. Подробнее смотрите в разделе Настройки компонента.

    Здесь важны следующие поля: Название компонента, Репозиторий исходного кода и component-filemask`для поиска файлов перевода. Weblate поддерживает широкий спектр форматов, включая :ref:`gettext, ресурсы строк Android, Строки Apple iOS, Файлы свойств Java, Формат Stringsdict или Формат Fluent, см. Поддерживаемые форматы файлов, чтобы получить больше подробностей.

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