Personalizar o Weblate
Amplie e personalize a usar Django e Python. Contribua as suas alterações para o upstream acima para que todos possam se beneficiar. Isso reduz os seus custos de manutenção; código no Weblate é cuidado ao alterar interfaces internas ou refatorar o código.
Aviso
Nem interfaces internas nem modelos são considerados uma API estável. Por favor, revise as suas próprias personalizações para cada atualização, as interfaces ou a semântica deles podem mudar sem aviso prévio.
Veja também
Criar um módulo Python
Se não conheçe o Python, pode olhar para Python For Beginners, que explica o básico e aponta aos tutoriais adicionais.
Para escrever algum código Python personalizado (chamado de módulo), é necessário um lugar para armazená-lo, seja no caminho do sistema (geralmente algo como /usr/lib/python3.9/site-packages/
) ou no diretório Weblate, que também é adicionado ao caminho de pesquisa do interpretador.
Melhor ainda, transforme a sua personalização num pacote Python adequado:
Crie uma pasta para o seu pacote (usaremos weblate_customization).
Dentro dele, crie um ficheiro
setup.py
para descrever o pacote:from setuptools import setup setup( name="weblate_customization", version="0.0.1", author="Your name", author_email="yourname@example.com", description="Sample Custom check for Weblate.", license="GPLv3+", keywords="Weblate check example", packages=["weblate_customization"], )
Crie uma pasta para o módulo Python (também chamado de
weblate_customization
) para o código de personalização.Dentro dele, crie um ficheiro
__init__.py
para garantir que o Python possa importar o módulo.Este pacote agora pode ser instalado a usar pip install -e. Mais informações a serem encontradas em Editable installs.
Uma vez instalado, o módulo pode ser usado na configuração Weblate (por exemplo,
weblate_customization.checks.FooCheck
).
Sua estrutura de módulo deve ser assim:
weblate_customization
├── setup.py
└── weblate_customization
├── __init__.py
├── addons.py
└── checks.py
Pode encontrar um exemplo de personalização do Weblate em <https://github.com/WeblateOrg/customize-example>, ele abrange todos os tópicos descritos abaixo.
Alterar o logotipo
Crie uma app Django simples a conter os ficheiros estáticos que deseja substituir (veja Criar um módulo Python).
A marca aparece nos ficheiros seguintes:
icons/weblate.svg
Logotipo mostrado na barra de navegação.
logo-*.png
Ícones web dependendo da resolução do ecrã e do navegador web.
favicon.ico
Ícone web usado por navegadores legados.
weblate-*.png
Avatares para bots ou utilizadores anônimos. Alguns navegadores web usam-nos como ícones de atalho.
email-logo.png
Usado em e-mails de notificações.
Adicione-o a
INSTALLED_APPS
:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
Execute
weblate collectstatic --noinput
, para coletar ficheiros estáticos servidos aos clientes.
Verificações de qualidade personalizadas, extensões e correções automáticas
Para instalar o seu código para Correções automáticas personalizadas, Escrever próprias verificações ou Escrevendo extensões no Weblate:
Ponha os ficheiros no seu módulo Python a conter a personalização ao Weblate (veja Criar um módulo Python).
Adicione o caminho totalmente qualificado dele à classe Python nas configurações dedicadas (
WEBLATE_ADDONS
,CHECK_LIST
ouAUTOFIX_LIST
):
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)