Módulos opcionais do Weblate¶
Vários módulos opcionais estão disponíveis para sua configuração.
Exportador git¶
Fornece acesso de apenas leitura ao repositório Git subjacente usando HTTP(S).
Instalação¶
Adicione
weblate.gitexport
às apps instaladas emsettings.py
:INSTALLED_APPS += ("weblate.gitexport",)
Exporte repositórios existentes migrando seu banco de dados após a instalação:
weblate migrate
Dica
O exportador Git está ativado na 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/'
O acesso para navegar nos repositórios com acesso restrito (com controle de acesso Privado ou quando REQUIRE_LOGIN
está ativado) requer um token de API que pode ser obtido no seu perfil de utilizador:
git clone 'https://user:KEY@example.org/git/weblate/main/'
Dica
Por predefinição, os membros ou o grupo Utilizadores e utilizador anônimo têm acesso aos repositórios para projetos públicos via Acessar repositório e funções de Utilizador avançado.
Faturação¶
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",)
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¶
Primeiro precisa criar um plano de cobrança para ativar a cobrança. Navegue até a secção Administration (representada pelo ícone de chave inglesa) e abra o ecrã Tools. Depois aceda a Django admin interface.
Na interface administrativa do Django, localize a secção BILLING e adicione um plano de cobrança. Por exemplo, pode adicionar um plano Free sem custo.
Se desejar atribuir um plano de cobrança a um projeto existente, isto 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 registar os pagamentos dos clientes.
Uso¶
Após a instalação, pode controlar a cobrança na interface de administração. Os utilizadores com cobrança ativada obterão a nova guia Cobrança no Perfil do utilizador deles.
O módulo de cobrança também permite que os administradores do projeto criem novos projetos e componentes sem serem superutilizadores (veja Adicionando projetos e componentes de tradução). Isso é possível quando as seguintes condições são atendidas:
A cobrança está nos limites configurados dele (qualquer uso excessivo resulta no bloqueio da criação do projeto/componente) e pago (se o preço dele for diferente de zero)
O utilizador é administrador do projeto existente com cobrança ou o utilizador é proprietário da cobrança (este último é necessário ao criar uma nova cobrança para que os utilizadores possam importar novos projetos).
Após a criação do projeto, o utilizador pode escolher qual faturamento deve ser cobrado pelo projeto, caso tenha acesso a mais deles.
Legal¶
Isso é usado em Weblate hospedado para fornecer documentos legais necessários. Ele vem fornecido com documentos em branco e espera-se que preencha os seguintes modelos nos documentos:
legal/documents/tos.html
Documento de termos de serviço
legal/documents/privacy.html
Documento de política de privacidade
legal/documents/summary.html
Visão geral breve dos termos de serviço e política de privacidade
Ao alterar os documentos dos termos de serviço, ajuste LEGAL_TOS_DATE
para que os utilizadores sejam forçados a concordar com os documentos atualizados.
Nota
Documentos legais para o serviço Hosted Weblate estão disponíveis neste repositório Git <https://github.com/WeblateOrg/wllegal/tree/main/wllegal/templates/legal/documents>.
Muito provavelmente, eles não serão úteis diretamente para si, mas podem ser úteis como um ponto de partida se ajustados para atender às suas necessidades.
Instalação¶
1. Add weblate.legal
to installed apps in
settings.py
:
INSTALLED_APPS += ("weblate.legal",)
# Optional:
# Social auth pipeline to confirm TOS upon registration/subsequent sign in
SOCIAL_AUTH_PIPELINE += ("weblate.legal.pipeline.tos_confirm",)
# Middleware to enforce TOS confirmation of signed in users
MIDDLEWARE += [
"weblate.legal.middleware.RequireTOSMiddleware",
]
Execute a migração do banco de dados para instalar opcionalmente estruturas de banco de dados adicionais para o módulo:
weblate migrate
Edite os documentos jurídicos na pasta
weblate/legal/templates/legal/
para corresponder ao seu serviço.
Uso¶
Após a instalação e edição, os documentos legais são exibidos na interface de utilizador do Weblate.
Avatares¶
Os avatares são descarredaos e armazenados em cache no lado do servidor para reduzir o vazamento de informações para os sites que os servem por predefiniçã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:
Veja também
Proteção contra spam¶
Pode se proteger contra spam por utilizadores usando o serviço Akismet.
Instale o módulo Python akismet (ele já está incluído na imagem Docker oficial).
Obtenha a chave de API do Akismet.
Armazene-a como
AKISMET_API_KEY
ouWEBLATE_AKISMET_API_KEY
no Docker.
O seguinte conteúdo é enviado ao Akismet para verificação:
Sugestões de utilizador não autenticados
Descrições e ligações de projetos e componentes
Nota
Este (entre outras coisas) depende do endereço IP do cliente, veja Executar por trás de um proxy reverso para configurá-lo apropriadamente.
Assinando commits do Git com GnuPG¶
Todos os commits podem ser assinados pela chave GnuPG da instância Weblate.
Turn on
WEBLATE_GPG_IDENTITY
. (Weblate will generate a GnuPG key when needed and will use it to sign all translation commits.)Este recurso precisa do GnuPG 2.1 ou mais recente instalado.
Pode encontrar a chave em
DATA_DIR
e a chave pública é mostrada na página «Sobre»:Alternatively you can also import existing keys into Weblate, just set
HOME=$DATA_DIR/home
when invoking gpg.
Dica
O material da chave é armazenado em cache pelo Weblate por um longo período. Caso 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 partilhar 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.
Veja também
Limitação de taxa¶
Alterado na versão 4.6: The rate limiting no longer applies to signed in superusers.
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 utilizador é 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 |
Âmbito |
Tentativas permitidas |
Janela de limite de tempo |
Período de bloqueio |
---|---|---|---|---|
Registo |
|
5 |
300 |
600 |
Enviando mensagem para administradores |
|
2 |
300 |
600 |
Autenticação de palavra-passe ao entrar |
|
5 |
300 |
600 |
Pesquisa em todo o site |
|
6 |
60 |
60 |
Traduzir |
|
30 |
60 |
600 |
Adicionando ao glossário |
|
30 |
60 |
600 |
Iniciando a tradução para um novo idioma |
|
2 |
300 |
600 |
Criando um novo projeto |
|
5 |
600 |
600 |
The rate limiting is based on sessions when user is signed in and on IP address if not.
Se um utilizador falhar ao fazer o login AUTH_LOCK_ATTEMPTS
vezes, a autenticação da palavra-passe será desativada na conta até ter passado pelo processo de redefinição da palavra-passe.
As configurações também podem ser aplicadas no contentor 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.
Integração com Fedora Messaging¶
Fedora Messaging é um editor baseado em AMQP para todas as mudanças que acontecem no Weblate. Pode conectar serviços adicionais nas mudanças que acontecem no Weblate usando isso.
A integração com Fedora Messaging está disponível como um módulo Python separado weblate-fedora-messaging
. Consulte <https://github.com/WeblateOrg/fedora_messaging/> para obter instruções de configuração.
Veja também