Módulos opcionais do Weblate

Vários módulos opcionais estão disponíveis para sua configuração.

Exportador git

Fornece acesso somente leitura ao repositório Git subjacente usando HTTP(S).

Instalação

  1. Adicione weblate.gitexport aos aplicativos instalados em settings.py:

    INSTALLED_APPS += ("weblate.gitexport",)
    
  2. Exporte repositórios existentes migrando seu banco de dados após a instalação:

    weblate migrate
    

Dica

O exportador Git está ativado em nossa imagem oficial do Docker. Para desativá-lo, use:

WEBLATE_REMOVE_APPS=weblate.gitexport

Uso

O módulo conecta-se automaticamente ao Weblate e define a URL do repositório exportado na Configuração de componente. Os repositórios são acessíveis na parte /git/ da URL do Weblate, por exemplo, https://example.org/git/weblate/main/.

Repositórios para projetos disponíveis publicamente podem ser clonados sem autenticação:

git clone 'https://example.org/git/weblate/main/'

Access to browse the repositories with restricted access (with Private access control or when REQUIRE_LOGIN is enabled) requires an API token which can be obtained in your user profile:

git clone 'https://user:KEY@example.org/git/weblate/main/'

Dica

Por padrão, os membros ou o grupo Usuários e usuário anônimo têm acesso aos repositórios para projetos públicos via Acessar repositório e funções de Usuário avançado.

Cobrança

Isso é usado no Hosted Weblate para definir planos de cobrança, rastrear faturas e limites de uso.

Instalação

1. Add weblate.billing to installed apps in settings.py:

INSTALLED_APPS += ("weblate.billing",)
  1. Execute a migração do banco de dados para instalar opcionalmente estruturas de banco de dados adicionais para o módulo:

weblate migrate

Criação e atribuição de plano de cobrança

Você primeiro precisa criar um plano de cobrança para ativar a cobrança. Navegue até a seção Administration (representada pelo ícone de chave inglesa) e abra a tela Tools. Em seguida, acesse a Django admin interface.

Na interface administrativa do Django, localize a seção BILLING e adicione um plano de cobrança. Por exemplo, você pode adicionar um plano Free sem custo.

Se desejar atribuir um plano de cobrança a um projeto existente, isso também pode ser feito na Django admin interface usando a opção Customer billings.

Por fim, a Django admin interface fornece uma opção Invoice para registrar os pagamentos dos clientes.

Uso

Após a instalação, você pode controlar a cobrança na interface de administração. Os usuários com cobrança habilitada obterão a nova aba Cobrança em seu Perfil do usuário.

O módulo de cobrança também permite que os administradores do projeto criem novos projetos e componentes sem serem superusuários (consulte Adicionando projetos e componentes de tradução). Isso é possível quando as seguintes condições são atendidas:

  • A cobrança está em seus limites configurados (qualquer uso excessivo resulta no bloqueio da criação do projeto/componente) e pago (se seu preço for diferente de zero)

  • O usuário é administrador do projeto existente com cobrança ou o usuário é proprietário da cobrança (este último é necessário ao criar uma nova cobrança para que os usuários possam importar novos projetos).

Após a criação do projeto, o usuário pode escolher qual faturamento deve ser cobrado pelo projeto, caso tenha acesso a mais deles.

Avatares

Os avatares são baixados e armazenados em cache no lado do servidor para reduzir o vazamento de informações para os sites que os servem por padrão. O suporte embutido para buscar avatares de endereços de e-mail configurados para isso pode ser desligado usando ENABLE_AVATARS.

Atualmente, o Weblate oferece suporte a:

Assinando commits do Git com GnuPG

Todos os commits podem ser assinados pela chave GnuPG da instância Weblate.

  • Ative WEBLATE_GPG_IDENTITY. (Weblate irá gerar uma chave GnuPG quando necessário e irá usá-la para assinar todos os commits de tradução.)

    Este recurso precisa do GnuPG 2.1 ou mais recente instalado.

    Você pode encontrar a chave em DATA_DIR e a chave pública é mostrada na página “Sobre”:

    ../_images/about-gpg.webp
  • Alternativamente, você também pode importar as chaves existentes para o Weblate, apenas defina HOME=$DATA_DIR/home ao invocar gpg.

Dica

O material da chave é armazenado em cache pelo Weblate por um longo período. Caso você permita que o Weblate gere uma chave com WEBLATE_GPG_IDENTITY e, em seguida, importe uma chave com a mesma identidade para usar uma chave existente, é recomendável limpar o cache do Redis para ver o efeito dessa alteração.

Nota

Ao compartilhar DATA_DIR entre vários hosts, siga as instruções em https://wiki.gnupg.org/NFS para garantir que a assinatura do GnuPG funcione de forma confiável.

Ver também

WEBLATE_GPG_IDENTITY

Limitação de taxa

Alterado na versão 4.6: A limitação de taxa não se aplica mais a superusuários logados.

Várias operações no Weblate são limitadas por taxas. No máximo RATELIMIT_ATTEMPTS tentativas são permitidas dentro de RATELIMIT_WINDOW segundos. O usuário é bloqueado por RATELIMIT_LOCKOUT. Há também configurações específicas para escopos como, por exemplo, RATELIMIT_CONTACT_ATTEMPTS ou RATELIMIT_TRANSLATE_ATTEMPTS. A tabela abaixo é uma lista completa de escopos disponíveis.

As seguintes operações estão sujeitas a limitação de taxa:

Nome

Assunto

Tentativas permitidas

Janela de limite de tempo

Período de bloqueio

Cadastro

REGISTRATION

5

300

600

Enviando mensagem para administradores

MESSAGE

2

300

600

Autenticação de senha ao entrar

LOGIN

5

300

600

Second-factor authentication

SECOND_FACTOR

5

300

600

Busca em todo o site

SEARCH

6

60

60

Traduzindo

TRANSLATE

30

60

600

Adicionando ao glossário

GLOSSARY

30

60

600

Iniciando a tradução para um novo idioma

LANGUAGE

2

300

600

Criando um novo projeto

PROJECT

5

600

600

A limitação de taxa é baseada em sessões quando o usuário está logado e, do contrário, em endereço IP.

Se um usuário falhar ao fazer o login AUTH_LOCK_ATTEMPTS vezes, a autenticação da senha será desativada na conta até ter passado pelo processo de redefinição da senha.

As configurações também podem ser aplicadas no contêiner do Docker adicionando o prefixo WEBLATE_ ao nome da configuração, por exemplo RATELIMIT_ATTEMPTS torna-se WEBLATE_RATELIMIT_ATTEMPTS.

A API possui configurações separadas de limitação de taxa, consulte Limitação de taxa da API.