Оновлення Weblate¶
Оновлення образу Docker¶
До офіційного образу Docker для Weblate (див. Установлення за допомогою Docker) інтегровано усі кроки оновлення. Кроків, які слід виконати вручну, окрім отримання коду найсвіжішої (або принаймні новішої) версії, немає.
Дивись також
Загальні настанови щодо оновлення¶
Завжди перевіряйте наявність нових змін у Вимоги для програмного забезпечення перед оновленням. Після встановлення або оновлення всіх вимог переконайтеся, що ваш settings.py відповідає змінам у конфігурації (зверніться до settings_example.py для отримання правильних значень).
Завжди перевіряйте Специфічні для версій настанови перед оновленням. Якщо ви пропускаєте якісь версії, обов’язково дотримуйтесь інструкцій для всіх версій, які ви пропускаєте під час такого оновлення. Іноді краще поступово оновлюватися до проміжної версії, щоб забезпечити плавну міграцію. Оновлення між кількома випусками має працювати, але воно не так добре перевірене, як оновлення однієї версії!
Примітка
До оновлення рекомендуємо вам створити повну резервну копію бази даних, щоб ви могли повернутися до попереднього стану бази даних, якщо не вдасться виконати оновлення, див. Резервне копіювання і пересування Weblate.
Дочекайтеся, поки черги Celery повністю спорожніють, а потім зупиніть процеси WSGI та Celery, щоб уникнути виконання старих процесів під час оновлення. Інакше можуть статися несумісні зміни в базі даних.
Черга завдань Celery не є стабільним інтерфейсом у різних версіях, тому не гарантується, що завдання, поставлені в чергу у старій версії, працюватимуть після оновлення. Ви можете відстежувати довжину черги в Інтерфейс керування або за допомогою команди
celery_queues.Оновлення Weblate
Для встановлень за допомогою pip цього можна досягти такою командою:
uv pip install -U "weblate[all]==version"
Або, якщо ви просто хочете отримати найсвіжішу випущену версію:
uv pip install -U "weblate[all]"
Якщо ви не хочете встановлювати усі необов’язкові залежності, зробіть так:
uv pip install -U weblate
Якщо ви працюєте із копією з Git, вам слід отримати новий початковий коді і оновити встановлену у вас версію:
cd weblate-src git pull # Update Weblate inside your Python environment . ~/weblate-env/bin/uv pip install -e '.[all]' # Install dependencies directly when not using Python environment uv pip install --upgrade -e . # Install optional dependencies directly when not using a Python environment uv pip install --upgrade -e '.[all]'
У нового випуску Weblate можуть бути нові Залежності Python. Перевірте, чи забезпечують вони роботу потрібних вам можливостей.
Оновіть файл конфігурації, виконавши або
settings_example.py, або Специфічні для версій настанови.Оновлення бази даних:
weblate migrate --noinput
Зберіть оновлені статичні файли (див. Запуск сервера і Обслуговування статичних файлів):
weblate collectstatic --noinput --clear
Стисніть файли JavaScript і CSS (необов’язково, див. Стиснення клієнтських даних):
weblate compressЯкщо ви працюєте із версією з Git, вам слід також повторно створювати файли локалей кожного разу після оновлення. Зробити це можна за допомогою такої команди:
weblate compilemessagesПеревірте, чи є працездатною ваша конфігурація (див. також Промислові налаштування):
weblate check --deploy
Перезапустіть засіб обробки Celery (див. Фонові завдання з використанням Celery).
Специфічні для версій настанови¶
Змінено в версії 5.0: Специфічні настанови щодо версій тепер включено до приміток щодо випуску, див. Weblate 2026.7.
Upgrade from an older unsupported release¶
Direct upgrades are only supported for releases from the current or previous calendar year. If you need to upgrade across this boundary, upgrade first to an intermediate version as listed below. Upgrades skipping this step are not supported and will break.
Якщо ви оновлюєте систему з версії 2.x, завжди спочатку оновіться до версії 3.0.1.
Якщо ви оновлюєте систему з версії 3.x, завжди спочатку оновіться до версії 4.0.4.
Якщо ви оновлюєтесь з версії 4.x, завжди спочатку оновлюйтесь до 5.0.2.
If you are upgrading from 5.0.x-5.9.x, always first upgrade to 5.10.4.
Upgrades from 5.10.x and newer are currently directly supported.
Перенесення даних з інших баз даних до PostgreSQL¶
Попередження
Weblate більше не підтримує MySQL та MariaDB. Перед оновленням необхідно перейти на PostgreSQL.
Якщо ви використовуєте Weblate з MySQL або MariaDB, рекомендуємо перейти на PostgreSQL для підвищення продуктивності, виконавши наведені нижче кроки. Не забудьте попередньо зупинити як веб-сервер, так і сервер Celery, інакше дані можуть стати несумісними.
Створення бази даних у PostgreSQL¶
Зазвичай, варто зробити так, щоб Weblate працював із окремою базою даних і окремим обліковим записом користувача:
# If PostgreSQL was not installed before, set the main password
sudo -u postgres psql postgres -c "\password postgres"
# Create a database user called "weblate"
sudo -u postgres createuser -D -P weblate
# Create the database "weblate" owned by "weblate"
sudo -u postgres createdb -E UTF8 -O weblate weblate
Перенесення даних до PostgreSQL за допомогою pgloader¶
pgloader — типовий інструмент для перенесення даних до PostgreSQL. Ви можете скористатися ним для перенесення бази даних Weblate.
Скоригуйте ваш
settings.pyтак, щоб у ньому було використано базу даних PostgreSQL.Перенесіть схему до бази даних PostgreSQL:
weblate migrate weblate sqlflush | weblate dbshell
3. Run the pgloader to transfer the data. The following script can be used to migrate the database, but you might want to learn more about pgloader to better understand what it does, and tweak it to match your setup:
LOAD DATABASE FROM mysql://weblate:password@localhost/weblate INTO postgresql://weblate:password@localhost/weblate WITH include no drop, truncate, create no tables, create no indexes, no foreign keys, disable triggers, reset sequences, data only ALTER SCHEMA 'weblate' RENAME TO 'public' ;
Перенесення даних з Pootle¶
Перші версії Weblate було написано як замінник Pootle, тому у програмі передбачено підтримку перенесення облікових записів з Pootle. Ви можете створити дамп записів користувачів з Pootle і імпортувати їх за допомогою importusers.