Atualizando o Weblate¶
Atualizações de imagem Docker¶
A imagem oficial do Weblate no Docker (consulte Instalar utilizando 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).
Veja 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 pular algumas versões. certifique-se de seguir as instruções de todas as versões que pular 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 numa única versão!
Nota
Sempre faça um backup completo da base de dados antes de atualizar, para que possa reverter a base de dados se a atualização falhar, consulte Efetuar cópias de segurança e mover o Weblate.
Espere que as consultas Celery fiquem vazias e pare os processos WSGI e Celery para evitar que processos antigos continuem em execução durante a atualização. Caso contrário, mudanças incompatíveis na base de dados podem ocorrer.
A fila de tarefas Celery não é uma interface estável entre lançamentos, e por isso tarefas em fila da versão anterior não têm garantia que funcionem após a atualização. Pode monitorizar o comprimento da fila na Interface de gestão ou ao usar
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 quiser apenas obter a versão lançada mais recente:
uv pip install -U "weblate[all]"
Se não quiser instalar todas as dependências opcionais, faça:
uv pip install -U weblate
Quando usar o checkout do Git, precisa buscar o novo código-fonte e atualizar a 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 deseja.
Atualize o ficheiro de configuração seguindo
settings_example.pyou Instruções específicas da versão.Atualizar a base de dados:
weblate migrate --noinput
Colete ficheiros estáticos atualizados (veja Executar o servidor e Servir ficheiros estáticos):
weblate collectstatic --noinput
Se estiver a executar uma instalação a partir do Git, também deverá gerar novamente os ficheiros de localização sempre que efetuar uma atualização. Pode fazer isto invocando:
weblate compilemessagesVerifique que a sua configuração é sana (ver também Configuração de produção):
weblate check --deploy
Reinicie o worker do Celery (veja Tarefas de fundo a usar o Celery).
Algumas atualizações executam o preenchimento e a consolidação do âmbito da memória de tradução em segundo plano, utilizando tarefas periódicas do Celery. Mantenha o Celery a correr após a atualização e monitorize o progresso em Administração > Relatório de desempenho. Veja Escopos de memória de tradução para detalhes.
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.8.
Atualize de uma versão não suportada¶
Atualizações diretas são apenas suportadas para lançamentos do ano civil atual ou anterior. Se precisa de atualizar para além desta barreira, atualize primeiro para uma versão intermédia conforme listado abaixo. Atualizações que ignoram este passo não são suportadas e irão quebrar.
Se estiver a atualizar a partir da versão 2.x, sempre atualize primeiro para a versão 3.0.1.
Se estiver a atualizar a partir da versão 3.x, sempre atualize primeiro para a versão 4.0.4.
Se estiver a atualizar a partir da versão 4.x, sempre atualize primeiro para a versão 5.0.2.
Se estiver a atualizar a partir da versão 5.0.x-5.9.x, atualize primeiro sempre para 5.10.4.
Atualizações de versões anteriores a 5.10.x e mais recentes são diretamente suportadas, atualmente.
Migrando de outros bancos de dados para o PostgreSQL¶
Aviso
MySQL e MariaDB já não são suportadas no Weblate. Tem que migrar para PostgreSQL antes de atualizar.
Se executar o Weblate com MySQL ou MariDB, considere a possibilidade de migrar para o PostgreSQL para obter melhor desempenho, executando as etapas a seguir. Lembre-se de interromper os servidores Web e Celery antes, caso contrário, poderá acabar com dados inconsistentes.
Criar uma base de dados no PostgreSQL¶
Normalmente, é uma boa ideia executar o Weblate numa base de dados separada e numa conta de utilizador 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
Migrar para PostgreSQL usa usargloader¶
O pgloader é uma ferramenta de migração genérica para migrar dados para o PostgreSQL. Pode usá-lo para migrar a sua base de dados do Weblate.
Ajuste o seu
settings.pypara usar o PostgreSQL como base de dados.Migre o esquema na base 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 utilizador a partir dele. Pode despejar os utilizadores do Pootle e importá-los usando importusers.