Integrando com Weblate

Básico do Weblate

Estrutura de projetos e componentes

No Weblate, as traduções são organizadas em projetos e componentes. Cada projeto pode conter vários componentes, os quais contêm traduções para idiomas individuais. O componente corresponde a um arquivo traduzível (por exemplo, GNU gettext ou Recurso de textos de Android). Os projetos estão lá para ajudá-lo a organizar componentes em conjuntos lógicos (por exemplo, para agrupar todas as traduções usadas dentro de um aplicativo).

Internamente, cada projeto tem traduções para textos comuns propagados em outros componentes dentro dele por padrão. Isso alivia o fardo da tradução repetitiva e de várias versões. A propagação da tradução pode ser desabilitada por Configuração de componente usando Permitir propagação de tradução caso as traduções devam divergir.

Importando projeto de localização para o Weblate

O Weblate foi desenvolvido com a integração VCS em mente como seu recurso principal, então a maneira mais fácil é conceder ao Weblate o acesso ao seu repositório. O processo de importação o guiará pela configuração de suas traduções em componentes.

Alternativamente, você pode usar o Weblate para configurar um repositório local contendo todas as traduções sem integração.

Obtendo traduções atualizadas do Weblate

Para buscar textos atualizados do Weblate, você pode simplesmente buscar o repositório Git subjacente (tanto do sistema de arquivos, ou pode ser disponibilizado através de Exportador git). Antes disso, você pode querer submeter quaisquer alterações pendentes (veja Commits adiados). Você pode fazer isso na interface do usuário (em Manutenção do repositório) ou na linha de comando usando o Weblate Client.

Isso pode ser automatizado se você conceder acesso push do Weblate ao seu repositório e configurar URL de push do repositório na Configuração de componente. Veja Fazendo push das alterações do Weblate.

Alternativamente, você pode usar API REST do Weblate para atualizar as traduções para corresponder às suas versões mais recentes.

Buscando alterações remotas para o Weblate

Para buscar os textos recém-atualizados em seu repositório para o Weblate, apenas deixe-o fazer pull do repositório upstream. Isso pode ser feito na interface do usuário (em Manutenção do repositório) ou na linha de comando usando o Weblate Client.

Isso pode ser automatizado configurando um webhook em seu repositório para acionar o Weblate sempre que houver um novo commit. Veja Atualizando repositórios para mais detalhes.

Se você não estiver usando uma integração VCS, você pode usar a UI ou API REST do Weblate para atualizar as traduções para corresponder à sua base de código.

Adicionando novos textos

No caso de seus arquivos de tradução serem armazenados em um VCS junto com o código, você provavelmente tem um fluxo de trabalho existente para os desenvolvedores introduzirem novos textos. Qualquer forma de adicionar textos será escolhida, mas considere usar Rota de qualidade para os textos fonte para evitar a introdução de erros.

Quando os arquivos de tradução são separados do código, existem as seguintes maneiras de introduzir novos textos no Weblate.

Nota

A disponibilidade de adicionar textos no Weblate depende de Gerenciar textos.

Atualizando arquivos de idioma de destino

Para arquivos monolíngues (veja Formatos de arquivos suportados), o Weblate pode adicionar novos textos de tradução não presentes no Arquivo de idioma da base monolíngue, e não nas traduções reais. No entanto, ele não executa nenhuma limpeza automática de strings obsoletas, pois isso pode ter resultados inesperados. Se você quiser fazer isso, instale a extensão Limpar arquivos de tradução que fará a limpeza de acordo com seus requisitos.

Weblate também não tentará atualizar arquivos bilíngues de nenhuma forma, então se você precisar que os arquivos po sejam atualizados de pot, você precisa fazer isso sozinho usando Métodos de importação de Atualizar textos fonte: ou usando a extensão Atualizar arquivos PO para corresponder ao POT (msgmerge).

Gerenciando repositório de controle de versão

O Weblate armazena todas as traduções no repositório de controle de versão. Ele pode ser conectado a um upstream ou apenas interno. O Manutenção do repositório permite que você manipule com o repositório.

Dica

Com Localização contínua o repositório é automaticamente empurrado sempre que houver mudanças e normalmente não há necessidade de manipulá-lo manualmente.

../_images/component-repository.png

As seguintes operações estão disponíveis:

Commit

Faz commit de quaisquer alterações pendentes que estejam presentes no banco de dados do Weblate, mas não no repositório, veja Commits adiados.

Push

Faz um push das alterações para o repositório upstream, se configurado pela URL de push do repositório.

Atualizar, Pull, Rebase

Atualiza o repositório Weblate com mudanças upstream. Ele usa Estilo de mesclagem ao escolher Atualizar ou você pode escolher um diferente no menu suspenso.

Bloquear

O bloqueio impede que os tradutores façam alterações

Redefinir de Manutenção

Redefine todas as alterações feitas no Weblate para corresponder ao repositório upstream. Isso descartará todas as traduções feitas no Weblate e não presentes no repositório upstream.

Limpar de Manutenção

Remove arquivos não rastreados do repositório. Isso pode ser resultado de bugs ou extensões com comportamento incorreto.

Forçar sincronização de Manutenção

Força a escrita de todos os textos nos arquivos de tradução. Use-o quando os arquivos do repositório ficarem fora de sincronia com o Weblate por algum motivo.