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 ficheiro traduzível (por exemplo, GNU gettext ou Recurso de cadeias de Android). Os projetos existem para ajudá-lo a organizar componentes em conjuntos lógicos (por exemplo, para agrupar todas as traduções usadas dentro de uma aplicação).

Internamente, cada projeto tem traduções para cadeias comuns propagadas em outros componentes dentro dele por predefinição. Isso alivia o fardo da tradução repetitiva e de várias versões. A propagação da tradução pode ser desativada por Configuração de componente a utilizar Permitir propagação da tradução caso as traduções devam divergir.

Importar 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 das suas traduções em componentes.

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

Obtendo traduções atualizadas do Weblate#

Weblate stores updated strings in a database and commits them to a local version control repository. You can add Weblate repository (when Exportador git is turned on) as additional remote and fetch translations update from it.

Prior to this, you might want to commit any pending changes (see Commits adiados). You can do so in the user interface (in the Repository maintenance) or from the command-line using Cliente Weblate.

Pushing changes can be automated if you grant Weblate push access to your repository and configure URL de submissão do repositório in the Configuração de componente, see Fazendo push das alterações do Weblate.

Alternativamente, 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 no seu repositório para o Weblate, apenas deixe-o fazer pull do repositório upstream. Isso pode ser feito na interface do utilizador (em Manutenção do repositório) ou na linha de comando a usar o Cliente Weblate.

Isso pode ser automatizado a configurar um webhook no seu repositório para acionar o Weblate sempre que houver um novo commit. Veja Atualizar repositórios para mais detalhes.

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

A adicionar novas cadeias#

No caso que os seus ficheiros de tradução serem armazenados num VCS com o código, provavelmente tem um fluxo de trabalho existente para os programadores introduzirem novos textos. Qualquer forma de adicionar cadeias será escolhida, mas considere usar Portal de qualidade para cadeias fonte para evitar a introdução de erros.

Quando os ficheiros de tradução são separados do código, existem as seguintes maneiras de introduzir novas cadeias no Weblate.

Nota

A disponibilidade de adicionar cadeias no Weblate depende de Gerir cadeias.

Atualizar ficheiro de idioma de destino#

Para ficheiros monolingues (veja Formatos de ficheiros suportados), o Weblate pode adicionar novos textos de tradução não presentes no Ficheiro de idioma base monolingue e não nas traduções reais. No entanto, ele não executa nenhuma limpeza automática de cadeias obsoletas, pois isso pode ter resultados inesperados. Se quiser fazer isso, instale a extensão Limpeza de ficheiros de tradução que fará a limpeza conforme os seus requisitos.

Weblate também não tentará atualizar ficheiros bilingues de nenhuma forma, então se precisar que os ficheiros po sejam atualizados de pot, precisa fazer isso sozinho usando Métodos de importação de Atualizar cadeias fonte: ou usando a extensão Atualizar ficheiros PO para coincidir com POT (msgmerge).

Introducing new strings#

You can add new strings in Weblate with Gerir cadeias turned on, but it is usually better to introduce new strings together with the code changes that introduced them.

Monolingual formats need addition of the new string to Ficheiro de idioma base monolingue. This is typically done by the developers during developing the code. You might want to introduce review of those strings using Portal de qualidade para cadeias fonte.

Bilingual formats typically extract strings from the source code using some tooling. Follow your localization framework documentation for instructions how to do that. Once the strings are extracted, there might be an additional step needed to update existing translations, see Atualizar ficheiro de idioma de destino.

Dica

You might want to integrate this into your continuous integration pipelines to make new strings automatically appear for translation. Such pipeline should also cover Evitar conflitos de mesclagem.

A gerir 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 Traduçã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.webp