Personalizando o Weblate#

Amplie e personalize usando Django e Python. Contribua suas alterações para o upstream acima para que todos possam se beneficiar. Isso reduz seus custos de manutenção; código no Weblate é cuidado ao alterar interfaces internas ou refatorar o código.

Dica

You can also customize Weblate look in Appearance customization.

Aviso

Neither internal interfaces nor templates are considered a stable API. Please review your customizations for every upgrade, the interfaces or their semantics might change without notice.

Criando um módulo Python#

Se você não está familiarizado com Python, você pode querer olhar para Python For Beginners, explicando o básico e apontando para os tutoriais adicionais.

Para escrever um arquivo com 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.

Dica

Quando se está usando Docker você pode colocar os módulos Python em /app/data/python/ (veja Volumes de contêiner Docker), de forma que eles podem ser carregados pelo Weblate. Por exemplo, a partir de um arquivo de substituição de configurações.

Melhor ainda, transforme sua personalização em um pacote Python adequado:

  1. Crie uma pasta para o seu pacote (usaremos weblate_customization).

  2. Dentro dele, crie um arquivo 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"],
    )
    
  3. Crie uma pasta para o módulo Python (também chamado de weblate_customization) para o código de personalização.

  4. Dentro dele, crie um arquivo __init__.py para garantir que o Python possa importar o módulo.

  5. Este pacote agora pode ser instalado usando pip install -e. Mais informações a serem encontradas em Editable installs.

  6. Uma vez instalado, o módulo pode ser usado na configuração Weblate (por exemplo, weblate_customization.checks.FooCheck).

Sua estrutura de pacotes deve ser assim:

weblate_customization
├── setup.py
└── weblate_customization
    ├── __init__.py
    ├── addons.py
    └── checks.py

Você pode encontrar um exemplo de personalização do Weblate em <https://github.com/WeblateOrg/customize-example>, ele abrange todos os tópicos descritos abaixo.

Verificações de qualidade personalizadas, extensões e correções automáticas#

Para instalar seu código para Correções automáticas personalizadas, Escrevendo as próprias verificações ou Escrevendo extensões no Weblate:

  1. Coloque os arquivos em seu módulo Python contendo a personalização ao Weblate (veja Criando um módulo Python).

  2. Adicione seu caminho totalmente qualificado à classe Python nas configurações dedicadas (WEBLATE_ADDONS, CHECK_LIST ou AUTOFIX_LIST):

# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)

# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)

# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)

Ver também

autocorreção-personalizada, verificações-próprias, extensão-própria, script-extensão