Começar a contribuir com código para o Weblate¶
Entenda o código-fonte do Weblate a passar por Código-fonte do Weblate, Frontend do Weblate e Componentes internos do Weblate.
Começar com a base de código¶
Familiarize-se com a base de código do Weblate, a dar uma olhada nos bugs etiquetados como good first issue.
É bem-vindo para começar a trabalhar nesses problemas sem perguntar. Apenas anuncie isso no relatório de problemas, para que fique claro que alguém está a trabalhar nesse relatório de problemas.
Execução local de Weblate¶
The most comfortable approach to get started with Weblate development is to follow Instalar a partir do código fonte. It will get you a Python environment with editable Weblate sources.
Clone o código-fonte do Weblate:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Install Weblate and all dependencies useful for development:
uv sync --all-extras --dev
Inicie um servidor de desenvolvimento:
uv run weblate runserver
Dependendo da sua configuração, também quereria inciar workers do Celery:
uv run ./weblate/examples/celery start
To run tests (see Local testing of Weblate for more details):
. scripts/test-database.sh uv run pytest
Veja também
Executando Weblate localmente no Docker¶
Se tiver o Docker e o docker-compose-plugin instalados, precisará de uma ferramenta adicional chamada jq que pode ser instalada por meio do seu gestor de pacotes favorito. Depois, pode ativar o ambiente de desenvolvimento simplesmente executando:
./rundev.sh
Isso irá criar uma imagem do Docker de desenvolvimento e iniciá-lo. Weblate está a ser executado em <http://127.0.0.1:8080/> e pode entrar como o utilizador admin, a usar admin como a palavra-passe. A nova instalação está vazia, então quererá seguir Adicionar projetos e componentes de tradução.
Weblate está configurado para usar o contentor maildev como um servidor de e-mail. Os e-mails entregues podem ser vistos em <http://127.0.0.1:1080/>.
Os ficheiros Dockerfile e docker-compose.yml para isto estão localizados no diretório dev-docker. Para acesso mais fácil à base de dados durante o desenvolvimento, o contentor que executa o PostgreSQL é exposto na porta 5433.
O script também aceita alguns parâmetros; para executar testes, execute-o com o parâmetro test e então especifique qualquer parâmetro test, por exemplo executar apenas testes no módulo weblate.machine:
./rundev.sh test --exitfirst weblate/machine
Nota
Tenha cuidado para que os seus contentores Docker estejam prontos e em execução antes de fazer os testes. Pode verificar isso a executar o comando docker ps.
Para exibir os logs:
./rundev.sh logs
Para parar os contentores em segundo fundo, execute:
./rundev.sh stop
A execução do script sem argumentos vai recriar o contentor Docker e reiniciá-lo.
Aviso
Este contentor não é adequado para o uso em produção. A segurança é sacrificada para fazer o desenvolvimento mais fácil.
Inicializar a sua instância de desenvolvimento¶
Pode usar import_demo para criar traduções de demonstração e createadmin para criar um utilizador administrador.
If you have Faturação installed as well, you can use
billing_demo to create a demo billing project.
Codificando Weblate com PyCharm¶
PyCharm é uma IDE conhecida para Python, aqui estão algumas linhas diretrizes para o ajudar a configurar o seu projeto Weblate nele.
Considerando que acabou de clonar o repositório GitHub, para uma pasta, basta abri-la com o PyCharm. Assim que a IDE estiver aberta, o primeiro passo é especificar o interpretador que deseja:
Select the .venv environment created by uv sync --all-extras --dev
to match the command-line development setup. You can also let PyCharm create a
Python environment for you, but the uv-managed environment is preferred:
Don’t forget to install the dependencies once the interpreter is set. When
using the preferred uv-managed environment, run uv sync --all-extras --dev
from the console.
O segundo passo é definir a informação certa para usar o Django nativo dentro do PyCharm: a ideia é ser capaz de acionar imediatamente os testes unitários no IDE. Para isso, precisa especificar o caminho raiz do projeto Django e o caminho para as suas configurações:
Tenha cuidado, Django project root é a raiz real do repositório, não o subdiretório do Weblate. Sobre as configurações, poderia usar o weblate/settings_test.py do repositório, mas pode criar a sua própria configuração e configurá-la lá.
O último passo é executar o servidor e pôr pontos de interrupção no código para poder depurá-lo. Isto é feito a criar uma nova configuração do Django Server:
Dica
Tenha cuidado com a propriedade chamada No reload: ela evita do servidor ser recarregado automaticamente quando modificar os ficheiros. Isso permite que os pontos de interrupção de depuração existentes persistam, quando eles normalmente seriam descartados no recarregamento do servidor.