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

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

Weblate должен без проблем работать на любом современном оборудовании, ниже приведена минимальная конфигурация, необходимая для запуска Weblate на одном сервере (сам Weblate, база данных и веб-сервер):

  • 2 ГБ оперативной памяти

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

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

Чем больше памяти, тем лучше — она используется для кэширования на всех уровнях (на уровне файловой системы, уровне базы данных и уровне Weblate).

Множество одновременно работающих пользователей увеличивают количество необходимых ядер процессора. Для сотен компонентов перевода рекомендуется не менее 4 Гб оперативной памяти.

Типовое использование дискового пространства базой данной находится в районе 300MB на 1 миллион хранимых слов. Пространство необходимое для клонирования репозиториев разнится, хотя Weblate и пытается поддерживать их размер минимальным, делая поверхностные (shallow) копии.

Примечание

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

Установка

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

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

apt install \
   libxml2-dev libxslt-dev libfreetype6-dev libjpeg-dev libz-dev libyaml-dev \
   libcairo-dev gir1.2-pango-1.0 libgirepository1.0-dev libacl1-dev libssl-dev \
   build-essential python3-gdbm python3-dev python3-pip python3-virtualenv virtualenv git

Установите желаемые необязательные зависимости в зависимости от функций, которые вы собираетесь использовать (смотрите раздел Необязательные зависимости):

apt install tesseract-ocr libtesseract-dev libleptonica-dev

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

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

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

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

# Caching backend: Redis
apt install redis-server

# Database server: PostgreSQL
apt install postgresql postgresql-contrib

# SMTP server
apt install exim4

Модули Python

Подсказка

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

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

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

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

    pip install Weblate
    
  4. Установите драйвер базы данных:

    pip install psycopg2-binary
    
  5. Установите желаемые необязательные зависимости в зависимости от функций, которые вы собираетесь использовать (некоторые из них могут потребовать дополнительных системных библиотек, проверьте раздел Необязательные зависимости):

    pip install ruamel.yaml aeidon boto3 zeep chardet tesserocr
    

Настройка Weblate

Примечание

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

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

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

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

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

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

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

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

    ~/weblate-env/lib/python3.7/site-packages/weblate/examples/celery start
    
  8. Запустите сервер разработки (шаги для запуска рабочего сервера смотрите в разделе Запуск сервера):

    weblate runserver
    

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

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

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

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

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

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

  • Просмотрите список вероятных проблем с вашей установкой или по адресу /manage/performance/ в URL, или с помощью команды weblate check --deploy; смотреть также раздел Рабочая среда.

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

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

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

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

    Здесь важны следующие поля: название компонента, адрес репозитория системы контроля версий и маска для поиска переводимых файлов. Weblate поддерживает широкий спектр форматов, включая PO-файлы gettext, строки ресурсов Android’а, строки свойств iOS, файлы свойств Java или Qt Linguist, подробнее смотрите в разделе Поддерживаемые форматы файлов.

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