Atualizando o Weblate¶
Atualizações de imagem Docker¶
A imagem oficial do Weblate no Docker (consulte Instalando usando Docker) integra todas as etapas de atualização. Normalmente, não é necessária nenhuma interação manual além de obter a versão mais recente (ou pelo menos a mais atual).
Ver também
Instruções genéricas de atualização¶
Sempre procure por novas alterações em Requisitos de software antes de fazer a atualização. Depois que todos os requisitos forem instalados ou atualizados, verifique se o settings.py corresponde às alterações na configuração (consulte settings_example.py para obter os valores corretos).
Sempre verifique Instruções específicas da versão antes de fazer a atualização. Se estiver pulando algumas versões. certifique-se de seguir as instruções de todas as versões que estiver pulando durante essa atualização. Às vezes, é melhor atualizar gradualmente para uma versão intermediária para garantir uma migração tranquila. A atualização em várias versões deve funcionar, mas não é tão bem testada quanto as atualizações em uma única versão!
Nota
Sempre faça backup completo do banco de dados antes de atualizar, para que você possa reverter o banco de dados se a atualização falhar, consulte Fazendo backup e movendo o Weblate.
Wait for the Celery queues to become empty, then stop the WSGI and Celery processes to avoid old processes running while upgrading. Otherwise incompatible changes in the database might occur.
The Celery task queue is not a stable interface across releases, so queued tasks from the old version are not guaranteed to work after the upgrade. You can monitor queue length in the Interface de gerenciamento or by using
celery_queues.Atualização do Weblate
Para instalações pip, isso pode ser alcançado da seguinte forma:
uv pip install -U "weblate[all]==version"
Ou, se você quiser apenas obter a versão lançada mais recente:
uv pip install -U "weblate[all]"
Se você não quiser instalar todas as dependências opcionais, faça:
uv pip install -U weblate
Usando o checkout do Git, você precisa buscar o novo código-fonte e atualizar sua instalação:
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]'
Novas versões do Weblate podem ter novos Dependências Python, verifique se eles abrangem as funcionalidades que você deseja.
Atualize o arquivo de configuração seguindo
settings_example.pyou Instruções específicas da versão.Atualizar o banco de dados:
weblate migrate --noinput
Colete arquivos estáticos atualizados (consulte Executando servidor e Servindo arquivos estáticos):
weblate collectstatic --noinput --clear
Compactar arquivos JavaScript e CSS (opcional, consulte Comprimindo os ativos do cliente):
weblate compressSe você estiver executando uma instalação a partir do Git, também deverá gerar novamente os arquivos de localidade sempre que fizer uma atualização. Você pode fazer isso invocando:
weblate compilemessagesVerifique que sua configuração é sana (ver também Configuração de produção):
weblate check --deploy
Reinicie o worker do Celery (consulte Tarefas de fundo usando Celery).
Instruções específicas da versão¶
Alterado na versão 5.0: Instruções específicas da versão agora estão incluídas nas notas de lançamento, consulte Weblate 2026.6.
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.
Se estiver atualizando a partir da versão 2.x, sempre atualize primeiro para a versão 3.0.1.
Se estiver atualizando a partir da versão 3.x, sempre atualize primeiro para a versão 4.0.4.
Se estiver atualizando a partir da versão 4.x, sempre atualize primeiro para a versão 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.
Migrando de outros bancos de dados para o PostgreSQL¶
Aviso
MySQL and MariaDB are no longer supported in Weblate. You must migrate to PostgreSQL before upgrading.
If you are running Weblate with MySQL or MariaDB, consider migrating to PostgreSQL for better performance by doing the following steps. Remember to stop both, the web and Celery servers beforehand, otherwise you might end up with inconsistent data.
Criando um banco de dados no PostgreSQL¶
Normalmente, é uma boa ideia executar o Weblate em um banco de dados separado e em uma conta de usuário separada:
# 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
Migrando para PostgreSQL usando pgloader¶
O pgloader é uma ferramenta de migração genérica para migrar dados para o PostgreSQL. Você pode usá-lo para migrar seu banco de dados do Weblate.
Ajuste seu
settings.pypara usar o PostgreSQL como banco de dados.Migre o esquema no banco de dados 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' ;
Migrando de Pootle¶
Como o Weblate foi originalmente escrito como um substituto para o Pootle, há suporte para a migração das contas de usuário a partir dele. Você pode despejar os usuários do Pootle e importá-los usando importusers.