Projetos de tradução
Organização de tradução
O Weblate organiza o conteúdo VCS traduzível do projeto/componentes numa estrutura semelhante a uma árvore.
O objeto de nível inferior é Configuração de projeto, que deve conter todas as traduções pertencentes a um conjunto (por exemplo, tradução de uma aplicação em várias versões e/ou documentação que o acompanha).
No nível acima, Configuração de componente, que é na verdade o componente a ser traduzido, define o repositório VCS a ser usado e a máscara dos ficheiros a serem traduzidos.
Acima da Configuração de componente existem traduções individuais, manipuladas automaticamente pelo Weblate como ficheiros de tradução (que correspondem a Máscara de ficheiros definido em Configuração de componente) aparecem no repositório VCS.
O Weblate tem suporte a uma ampla gama de formatos de tradução (bilíngues e monolíngues) suportados pelo Translate Toolkit, veja Formatos de ficheiros suportados.
Nota
Pode compartilhar repositórios VCS clonados a usar URLs internas do Weblate. Usar este recurso é altamente recomendado quando tem muitos componentes a compartilhar o mesmo VCS. Ele melhora o desempenho e diminui o espaço em disco necessário.
Adicionando projetos e componentes de tradução
Alterado na versão 3.2: Uma interface para adicionar projetos e componentes está incluída e não precisa mais usar A interface administrativa do Django.
Alterado na versão 3.4: O processo de adição de componentes agora tem vários estágios, com descoberta automatizada da maioria dos parâmetros.
Com base nas suas permissões, novos projetos e componentes de tradução podem ser criados. É sempre permitido para utilizadores com a permissão Adicionar novos projetos e se a sua instância usa cobrança (por exemplo, como https://hosted.weblate.org/, veja Faturação), também pode criar aqueles com base na permissão dos seus planos da conta de utilizador que gere a cobrança.
Pode visualizar o seu plano de cobrança atual numa página separada:
A criação do projeto pode ser iniciada a partir daí, ou a utilizar o menu da barra de navegação, a preencher informações básicas sobre o projeto de tradução para completar a adição dele:
Depois de criar o projeto, é levado diretamente à página do projeto:
A criação de um novo componente de tradução pode ser iniciada com um único clique lá. O processo de criação de um componente possui vários estágios e detecta automaticamente a maioria dos parâmetros de tradução. Existem várias abordagens para a criação de componentes:
- Do controle de versão
Cria um componente do repositório de controle de versão remoto.
- Do componente existente
Cria um componente adicional ao existente, a escolher ficheiros diferentes.
- Ramo adicional
Cria um componente adicional ao existente, apenas para um ramo diferente.
- Enviar ficheiros de tradução
Envia os ficheiros de tradução para o Weblate caso não tenha controle de versão ou não queira integrá-lo ao Weblate. Pode atualizar o conteúdo posteriormente a usar a interface web ou API REST do Weblate.
- Traduzir documento
Envia um único documento ou ficheiro de tradução e o traduz.
- Começar do zero
Cria um projeto de tradução vazio e adiciona cadeias manualmente.
Depois de ter os componentes de tradução existentes, também pode adicionar facilmente novos para ficheiros adicionais ou ramos a usar o mesmo repositório.
Primeiro precisa preencher o nome e a localização do repositório:
Na próxima página, verá uma lista de recursos traduzíveis descobertos:
Como última etapa, analisa as informações do componente de tradução e preenche os detalhes opcionais:
Configuração de projeto
Cria um projeto de tradução e, em seguida, adiciona um novo componente para tradução nele. O projeto é como uma estante, na qual as traduções reais estão empilhadas. Todos os componentes no mesmo projeto compartilham sugestões e o dicionário deles; as traduções também são propagadas automaticamente por todos os componentes num único projeto (a menos que desligado na configuração do componente), veja Memória de Tradução.
Veja também
Esses atributos básicos configuram e informam os tradutores de um projeto:
Nome do projeto
Nome detalhado do projeto, usado para exibir o nome do projeto.
URL amigável
Nome do projeto adequado para URLs.
Site da Web do Projeto
URL onde os tradutores podem encontrar mais informações sobre o projeto.
Este é um parâmetro obrigatório, a menos que seja desligado por WEBSITE_REQUIRED
.
Instruções para tradução
Texto que descreve o processo de localização no projeto e qualquer outra informação útil para tradutores. Markdown pode ser usado para a formatação de texto ou inserção de ligações.
Definir cabeçalho «Language-Team»
Se o Weblate deve gerir o cabeçalho Language-Team
(este é um recurso apenas do GNU gettext no momento).
Controlo de acesso
Configura o controle de acesso por projeto, veja Controlo de acesso ao projeto para mais detalhes.
O valor padrão pode ser alterado por DEFAULT_ACCESS_CONTROL
.
Activar revisões
Ativa o fluxo de trabalho de revisão para traduções, veja Revisores dedicados.
Ativar revisões de fontes
Ativa o fluxo de trabalho de revisão para cadeia fonte, veja Revisões de cadeias fonte.
Veja também
Ativar hooks
Se Hooks de notificação não autenticados devem ser usados para este repositório.
Aliases do idioma
Define o mapeamento dos códigos de idioma ao importar traduções para o Weblate. Use isso quando os códigos de idioma forem inconsistentes nos seus repositórios e quiser obter uma visualização consistente no Weblate ou no caso de desejar usar uma nomenclatura fora do padrão dos seus ficheiros de tradução.
O caso de uso típico pode ser mapear inglês americano para inglês: en_US:en
Vários mapeamentos devem ser separados por vírgula: en_GB:en,en_US:en
Usando código não padrão: ia_FOO:ia
Dica
Os códigos de idioma são mapeados ao combinar os ficheiros de tradução e as correspondências diferenciam maiúsculas de minúsculas, por isso certifique-se de usar os códigos de idioma fonte na mesma forma usada nos nomes dos ficheiros.
Veja também
Configuração de componente
Um componente é um agrupamento de algo para tradução. Insere um local de repositório VCS e uma máscara de ficheiros para os ficheiros que deseja traduzir e o Weblate busca automaticamente neste VCS e encontra todos os ficheiros traduzíveis correspondentes.
Veja também
Pode encontrar alguns exemplos de configurações típicas nos Formatos de ficheiros suportados.
Nota
Recomenda-se manter os componentes de tradução num tamanho razoável – divida a tradução por qualquer coisa que faça sentido no seu caso (apps ou complementos individuais, capítulos de livros ou sites).
O Weblate lida facilmente com traduções com 10000s de cadeias, mas é mais difícil dividir o trabalho e coordenar entre os tradutores com componentes de tradução tão grandes.
Se a definição do idioma de uma tradução estiver a faltar, uma definição vazia é criada e nomeada como «cs_CZ (generated)». Deve ajustar a definição e relatar isso aos autores do Weblate, para que os idiomas em falta possam ser incluídos na próxima versão.
O componente contém todos os parâmetros importantes para trabalhar com o VCS e para obter traduções dele:
Nome do componente
Nome detalhado do componente, usado para exibir o nome do componente.
URL amigável do componente
Nome do componente adequado para URLs.
Projeto do componente
Configuração de projeto ao qual o componente pertence.
Sistema de controlo de versões
VCS para usar, veja Integração de controlo de versões para detalhes.
Veja também
Repositório do código-fonte
Repositório VCS usado para fazer pull das alterações.
Veja também
Veja Acessando repositórios para mais detalhes sobre especificar URLs.
Dica
Pode ser uma URL VCS real ou weblate://projeto/componente
a indicar que o repositório deve ser compartilhado com outro componente. Veja URLs internas do Weblate para mais detalhes.
URL de submissão do repositório
URL do repositório usado para fazer push. Esta configuração é usada apenas para Git e Mercurial e o suporte a push é desativado para estes quando está vazio.
Para repositórios vinculados, isto não é usado e a definição do componente vinculado é aplicada.
Veja também
Veja Acessando repositórios para mais detalhes sobre como especificar uma URL de repositório e Fazendo push das alterações do Weblate para mais detalhes sobre como fazer push de mudanças do Weblate.
Navegador do repositório
URL de navegação do repositório usada para exibir os ficheiros fonte (localização das mensagens usadas). Quando vazio, nenhuma dessas ligações será gerado. Pode usar Marcação de modelo.
Por exemplo, no GitHub, use algo como: https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename}}#L{{line}}
No caso de os seus caminhos serem relativos a pastas diferentes (caminho contém ..
), pode remover o diretório principal pelo filtro parentdir
(veja Marcação de modelo): https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename|parentdir}}#L{{line}}
URL do repositório exportado
URL para onde as alterações feitas pelo Weblate são exportadas. Isso é importante quando Tradução contínua não é usada, ou quando há a necessidade de mesclar manualmente as alterações. Pode usar Exportador git para automatizar isso para repositórios Git.
Ramo do repositório
De qual ramo fazer checkout do VCS e onde procurar traduções.
Para repositórios vinculados, isto não é usado e a definição do componente vinculado é aplicada.
Ramo do push
Ramo para fazer push de alterações, deixe vazio para usar Ramo do repositório.
Para repositórios vinculados, isto não é usado e a definição do componente vinculado é aplicada.
Nota
Atualmente, isso é compatível apenas com Git, GitLab e GitHub, mas é ignorado para outras integrações VCS.
Veja também
Máscara de ficheiros
Máscara de ficheiros a traduzir, incluindo caminho. Deve incluir um «*» a substituir o código de idioma (veja Definições de idioma para informações sobre como isso é processado). Caso seu repositório contenha mais de um ficheiro de tradução (por exemplo, mais domínios gettext), precisa criar um componente para cada um deles.
Por exemplo, po/*.po
ou locale/*/LC_MESSAGES/django.po
.
No caso do seu nome de ficheiro conter caracteres especiais como [
, ]
, eles precisam ser escapados como [[]
ou []]
.
Ficheiro de idioma base monolingue
Ficheiro base a conter definições de cadeias para Componentes monolínguas.
Editar ficheiro base
Permite a edição do ficheiro base para Componentes monolínguas.
Ficheiro de idioma intermédio
Ficheiro de idioma intermediário para Componentes monolínguas. Na maioria dos casos, este é um ficheiro de tradução fornecido por programadores e é usado ao criar cadeias de origem reais.
Quando definido, as cadeias fonte são baseadas neste ficheiro, mas todos os outros idiomas são baseados no Ficheiro de idioma base monolingue. Caso o texto não esteja traduzido para o idioma fonte, a tradução para outros idiomas é proibida. Isso fornece uma Portal de qualidade para cadeias fonte.
Modelo para novas traduções
Ficheiro base usado para gerar novas traduções, por exemplo, um ficheiro .pot
com gettext.
Dica
Em muitos formatos monolíngues, o Weblate começa com um ficheiro vazio por padrão. Use-o no caso de desejar que todas as cadeias estejam presentes com um valor vazio ao criar uma nova tradução.
Formato de ficheiro
Formato do ficheiro de tradução, veja também Formatos de ficheiros suportados.
Endereço para reportar erros na cadeia fonte
Endereço de e-mail usado para relatar bugs upstream. Este endereço também receberá notificação sobre quaisquer comentários da cadeia fonte feitos no Weblate.
Permitir propagação da tradução
Pode desativar a propagação de traduções para este componente de outros componentes dentro do mesmo projeto. Isso realmente depende do que está a traduzir, às vezes é desejável ter feito uso de uma tradução mais de uma vez.
Normalmente, é uma boa ideia desligar isso para traduções monolíngues, a menos que esteja a usar os mesmos IDs em todo o projeto.
O valor padrão pode ser alterado por DEFAULT_TRANSLATION_PROPAGATION
.
Veja também
Ativar sugestões
Se sugestões de tradução são aceitas para este componente.
Votação de sugestão
Ativa a emissão de votos para sugestões, veja Votação de sugestão.
Aceitar sugestões automaticamente
Aceita automaticamente sugestões votadas, veja Votação de sugestão.
Marcadores de tradução
Personalização de verificações de qualidade e outros comportamentos do Weblate, veja Personalizando comportamento a usar marcadores.
Verificações impostas
Lista de verificações que não podem ser ignoradas, veja Forçar verificações.
Nota
Forçar a verificação não a ativa automaticamente, ainda deve ativá-la Personalizando comportamento a usar marcadores em Marcadores de tradução ou Informações adicionais sobre cadeias fonte.
Licença da tradução
Licença da tradução (não precisa ser igual à licença do código-fonte).
Acordo de contribuidor
Acordo do utilizador que tem de ser aprovado antes do utilizador poder traduzir este componente.
Adicionar nova tradução
Como lidar com solicitações de criação de novos idiomas. Opções disponíveis:
- Contactar gestores
O utilizador pode selecionar o idioma desejado e os mantenedores do projeto receberão uma notificação sobre isso. Cabe adiciona-los (ou não) o idioma ao repositório.
- Apontar para URL com instruções de tradução
É apresentado ao utilizador uma ligação para a página que descreve o processo de iniciar novas traduções. Use-o caso deseje um processo mais formal (por exemplo, formar uma equipa antes de iniciar a tradução real).
- Criar novo ficheiro de idioma
O utilizador pode selecionar o idioma e o Weblate cria automaticamente o ficheiro para ele e a tradução pode começar.
- Desativar adição de novas traduções
Não haverá a opção para o utilizador iniciar uma nova tradução.
Dica
Os administradores do projeto podem adicionar novas traduções mesmo se estiver desativado aqui quando for possível (tanto Modelo para novas traduções ou o formato de ficheiro tem suporte a partir de um ficheiro vazio).
Veja também
Gerir cadeias
Novo na versão 4.5.
Configura se os utilizadores no Weblate terão permissão para adicionar novos textos e remover os existentes. Ajuste isso para corresponder ao seu fluxo de trabalho de localização – como os novos textos devem ser introduzidos.
Para formatos bilíngues, os textos são normalmente extraídos do código-fonte (por exemplo, usando xgettext) e adicionar novas strings no Weblate deve ser desativado (elas seriam descartadas na próxima vez que atualizasse os ficheiros de tradução). No Weblate, pode gerir textos para cada tradução e não exige que os textos em todas as traduções sejam consistentes.
Para formatos monolingues, as cadeias são geridas apenas no idioma fonte e são automaticamente adicionadas ou removidas nas traduções. As cadeias aparecem nos ficheiros de tradução assim que são traduzidas.
Estilo de código de idioma
Personalizar o código de idioma usado para gerar o nome do ficheiro para traduções criadas por Weblate.
Estilo de união
Pode configurar como as atualizações a partir do repositório upstream são tratadas. A implementação real depende do VCS, veja :doc:`/vcs”.
- Re-basear
Faz um rebase dos commits do Weblate no topo do repositório upstream ao atualizar. Isso fornece um histórico limpo sem commits de mesclagem adicionais.
Rebasing pode causar problemas em caso de mesclagens complicadas, então considere cuidadosamente se quer ou não ativá-los.
Pode precisar ativar o push forçado a escolher Git com push forçado como Sistema de controlo de versões, especialmente ao fazer push para um branch diferente.
- Unir
Alterações no repositório upstream são mesclados com o do Weblate. Esta configuração utiliza fast-forward quando possível. Esta é a maneira mais segura, mas pode produzir muitos commits de mesclagem.
- Mesclar sem fast-forward
As alterações do repositório upstream são mescladas com o do Weblate fazendo uma mesclagem de commits toda vez (mesmo quando fast-forward era possível). Toda alteração no Weblate vai aparecer como um commit de merge no repositório do Weblate.
Valor predefindo pode ser alterado por DEFAULT_MERGE_STYLE
.
Mensagens de commit, add, merge, extensão e merge request
Mensagem usada ao fazer commit uma tradução, veja Marcação de modelo.
O valor padrão pode ser alterado por DEFAULT_ADD_MESSAGE
, DEFAULT_ADDON_MESSAGE
, DEFAULT_COMMIT_MESSAGE
, DEFAULT_DELETE_MESSAGE
, DEFAULT_MERGE_MESSAGE
, DEFAULT_PULL_MESSAGE
.
Enviar ao submeter
Se as alterações confirmadas devem ser enviadas automaticamente para o repositório upstream. Quando ativado, o push é iniciado assim que o Weblate confirma as alterações no repositório subjacente dele (veja Commits adiados). Para ativar o push URL de push do repositório também deve ser configurado.
Idade das alterações a fazer commit
Define a idade (em horas) das alterações antes de ser feito commit pela tarefa em segundo plano ou pelo comando de gestão commit_pending
. Todas as alterações num componente tem commit feito quando houver pelo menos uma alteração anterior a esse período.
O valor predefinido pode ser alterado por COMMIT_PENDING_HOURS
.
Dica
Existem outras situações onde mudanças pendentes podem ter o commit feito, veja Commits adiados.
Bloquear com erro
Bloqueia o componente (e os componentes vinculados, consulte URLs internas do Weblate) no primeiro push ou mesclagem com falha no repositório upstream dele, ou extraia dele. Isso evita adicionar outros conflitos, que teriam que ser resolvidos manualmente.
O componente será desbloqueado automaticamente quando não houver mais erros de repositório.
Idioma fonte
Linguagem usada para textos fonte. Altere isso se estiver a traduzir de algo diferente do inglês.
Dica
Caso esteja a traduzir ficheiros bilíngues do inglês, mas também queira fazer correções na tradução para o inglês, escolha Inglês (Programador) como idioma fonte para evitar conflito entre o nome do idioma fonte e a tradução existente.
Para traduções monolíngues, pode usar tradução intermediária neste caso, veja Ficheiro de idioma intermédio.
Filtro de idioma
Expressão regular usada para filtrar a tradução ao examinar por uma máscara de ficheiros. Pode ser usada para limitar a lista de idiomas gerenciados pelo Weblate.
Nota
Precisa listar os códigos de idioma conforme aparecem no nome do ficheiro.
Alguns exemplos de filtragem:
Descrição do filtro |
Expressão regular |
---|---|
Apenas idiomas selecionados |
|
Exclui idiomas |
|
Filtra apenas códigos de duas letras |
|
Exclui ficheiros que não são idiomas |
|
Inclui todos os ficheiros (predfinição) |
|
Expressão regular das variantes
Expressão regular usada para determinar as variantes de um texto, veja Variantes de cadeias.
Nota
A maioria dos campos pode ser editada por proprietários ou administradores de projetos, na interface do Weblate.
Prioridade
Componentes de prioridade mais elevada são oferecidos primeiro aos tradutores.
Acesso restrito
Por predefinição, o componente é visível para todos que tenham acesso ao projeto, mesmo se a pessoa não puder realizar nenhuma alteração no componente. Isso torna mais fácil manter a consistência da tradução dentro do projeto.
Restringir o acesso num componente ou nível de lista de componentes assume a permissão de acesso a um componente, independentemente das permissões de nível de projeto. Terá que conceder-lhe acesso explicitamente. Isso pode ser feito concedendo acesso a um novo grupo de utilizadores e colocando utilizadores nele, ou usando os grupos de controle de acesso predefinido personalizado ou privado.
O valor predefinido pode ser alterado em DEFAULT_RESTRICTED_COMPONENT
.
Dica
Isso se aplica aos administradores do projeto também – certifique-se de não perder o acesso ao componente após alternar o status.
Usar como um glossário
Novo na versão 4.5.
Permite usar este componente como glossário. Pode configurar como ele será listado a usar a Cor do glossário.
O glossário estará acessível em todos os projetos definidos por Compartilhar em projetos.
É recomendado ativar Gerir cadeias em glossários para permitir adicionar-lhes novas palavras.
Veja também
Cor do glossário
Cor de exibição para um glossário usado ao mostrar correspondências de palavras.
Marcação de modelo
O Weblate usa uma linguagem de marcação simples em vários lugares onde a renderização de texto é necessária. É baseado em The Django template language, então pode ser bastante poderoso.
Atualmente isso é usado em:
Formatação de mensagens de commit, veja Configuração de componente
As seguintes variáveis estão disponíveis nos modelos de componentes:
{{ language_code }}
Código do idioma
{{ language_name }}
Nome do idioma
{{ component_name }}
Nome do componente
{{ component_slug }}
URL amigável do componente
{{ project_name }}
Nome do projeto
{{ project_slug }}
URL amigável do projeto
{{ url }}
URL de tradução
{{ filename }}
Nome do ficheiro de tradução
{{ stats }}
Estatísticas de tradução, isso tem outros atributos, exemplos abaixo.
{{ stats.all }}
Contagem total de textos
{{ stats.fuzzy }}
Contagem de textos que precisam de revisão
{{ stats.fuzzy_percent }}
Percentagem de textos que precisam de revisão
{{ stats.translated }}
Contagem de textos traduzidos
{{ stats.translated_percent }}
Percentagem de textos traduzidos
{{ stats.allchecks }}
Quantidade de textos com falhas nas verificações
{{ stats.allchecks_percent }}
Percentagem de textos com falhas nas verificações
{{ author }}
Autor do commit atual, disponível apenas no escopo do commit.
{{ addon_name }}
Nome da extensão atualmente em execução, disponível apenas na mensagem de commit da extensão.
As seguintes variáveis estão disponíveis nos modelos de navegador ou editor de repositório:
{{branch}}
ramo atual
{{line}}
linha no ficheiro
{{filename}}
nome do ficheiro, também pode remover as partes principais usando o filtro
parentdir
, por exemplo{{filename|parentdir}}
Pode combiná-los com filtros:
{{ component|title }}
Pode usar as condições:
{% if stats.translated_percent > 80 %}Well translated!{% endif %}
Há uma tag adicional disponível para substituir caracteres:
{% replace component "-" " " %}
Pode combiná-lo com filtros:
{% replace component|capfirst "-" " " %}
Existem também filtros adicionais para manipular com nomes de ficheiros:
Directory of a file: {{ filename|dirname }}
File without extension: {{ filename|stripext }}
File in parent dir: {{ filename|parentdir }}
It can be used multiple times: {{ filename|parentdir|parentdir }}
…e outros recursos de modelos do Django.
Velocidade de importação
Obter o repositório VCS e importar traduções ao Weblate pode ser um processo demorado, dependendo do tamanho das suas traduções. Aqui estão algumas dicas:
Otimizar a configuração
A configuração predefinida é útil para testar e depurar o Weblate, enquanto para uma configuração de produção, deve fazer alguns ajustes. Muitas delas têm um grande impacto no desempenho. Por favor, confira Configuração de produção para mais detalhes, especialmente:
Configure o Celery para executar tarefas em segundo plano (veja Tarefas de fundo a usar o Celery)
Verificar limites de recursos
Se estiver a importar grandes traduções ou repositórios, pode ser atingido por limitações de recursos do seu servidor.
Verifique a quantidade de memória livre, pois os ficheiros de tradução armazenados em cache pelo sistema operacional melhorará muito o desempenho.
As operações de disco podem ser um gargalo se houver muitos textos a serem processadas – o disco é enviado pelo Weblate e pelo banco de dados.
Núcleos de CPU adicionais podem ajudar a melhorar o desempenho de tarefas em segundo plano (veja Tarefas de fundo a usar o Celery).
Desativar verificações desnecessárias
Algumas verificações de qualidade podem ser bastante custosas e, se não forem necessárias, podem economizar algum tempo durante a importação, se omitidas. Veja CHECK_LIST
para informações sobre configuração.
Criação automática de componentes
Caso seu projeto tenha dezenas de ficheiros de tradução (por exemplo, para diferentes domínios gettext ou partes de aplicações Android), pode importá-los automaticamente. Isso pode ser feito na linha de comando usando import_project
ou import_json
, ou instalando a extensão Descoberta de componentes.
Para usar a extensão, primeiro precisa criar um componente para um ficheiro de tradução (escolha aquele que tem menos probabilidade de ser renomeado ou removido no futuro) e instalar a extensão neste componente.
Para os comandos de gestão, precisa criar um projeto que conterá todos os componentes e então executar import_project
ou import_json
.
Veja também