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:

../_images/user-billing.png

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:

../_images/user-add-project.png

Depois de criar o projeto, é levado diretamente à página do projeto:

../_images/user-add-project-done.png

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 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:

../_images/user-add-component-init.png

Na próxima página, verá uma lista de recursos traduzíveis descobertos:

../_images/user-add-component-discovery.png

Como última etapa, analisa as informações do componente de tradução e preenche os detalhes opcionais:

../_images/user-add-component.png

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

Integrando com Weblate

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

URL para mais sites com instruções mais detalhadas para tradutores.

Definir cabeçalho «Language-Team»

Se o Weblate deve gerir o cabeçalho Language-Team (este é um recurso apenas do GNU gettext no momento).

Utilizar memória de tradução partilhada

Para usar memória de tradução compartilhada, veja Memória de tradução compartilhada para mais detalhes.

O valor padrão é determinado por DEFAULT_SHARED_TM.

Contribuir à memória de tradução compartilhada

Para contribuir com a memória de tradução compartilhada, veja Memória de tradução compartilhada para mais detalhes.

O valor padrão é determinado por DEFAULT_SHARED_TM.

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.

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.

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

Integrando com Weblate

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.

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.

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 Template markup.

Por exemplo, no GitHub, use algo como: https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename}}#L{{line}}

No caso dos seus caminhos serem relativos a pastas diferentes, pode querer remover o diretório principal pelo filtro parentdir (veja Template markup): 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.

Ramo do push

Ramo para fazer push de alterações, deixe vazio para usar Ramo do repositório.

Nota

Atualmente, isso é compatível apenas com Git, GitLab e GitHub, mas é ignorado para outras integrações VCS.

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 baseados neste ficheiro, mas todos os outros idiomas são baseados em Ficheiro de idioma base monolingue. Caso a cadeia não seja traduzida 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 em branco por padrão. Use-o no caso de desejar que todas as cadeias estejam presentes com um valor vazio ao criar uma 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.

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

The project admins can add new translations even if it is disabled here when it is possible (either Modelo para novas traduções or the file format supports starting from an empty file).

Gerir cadeias

Novo na versão 4.5.

Configures whether users in Weblate will be allowed to add new strings and remove existing ones. Adjust this to match your localization workflow - how the new strings are supposed to be introduced.

For bilingual formats, the strings are typically extracted from the source code (for example by using xgettext) and adding new strings in Weblate should be disabled (they would be discarded next time you update the translation files). In Weblate you can manage strings for every translation and it does not enforce the strings in all translations to be consistent.

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

You can configure how updates from the upstream repository are handled. This might not be supported for some VCSs. See Mesclar ou rebase for more details.

Default value can be changed by DEFAULT_MERGE_STYLE.

Mensagens de commit, add, merge e extensão

Message used when committing a translation, see Template markup.

Default value can be changed by DEFAULT_ADD_MESSAGE, DEFAULT_ADDON_MESSAGE, DEFAULT_COMMIT_MESSAGE, DEFAULT_DELETE_MESSAGE, DEFAULT_MERGE_MESSAGE.

Enviar ao submeter

Whether committed changes should be automatically pushed to the upstream repository. When enabled, the push is initiated once Weblate commits changes to its underlying repository (see Commits adiados). To actually enable pushing Repository push URL has to be configured as well.

Idade das alterações a fazer commit

Sets how old (in hours) changes have to be before they are committed by background task or the commit_pending management command. All changes in a component are committed once there is at least one change older than this period.

Default value can be changed by COMMIT_PENDING_HOURS.

Dica

There are other situations where pending changes might be committed, see Commits adiados.

Bloquear com erro

Locks the component (and linked components, see URLs internas do Weblate) upon the first failed push or merge into its upstream repository, or pull from it. This avoids adding another conflicts, which would have to be resolved manually.

The component will be automatically unlocked once there are no repository errors left.

Idioma fonte

Language used for source strings. Change this if you are translating from something else than English.

Dica

In case you are translating bilingual files from English, but want to be able to do fixes in the English translation as well, choose English (Developer) as a source language to avoid conflict between the name of the source language and the existing translation.

For monolingual translations, you can use intermediate translation in this case, see Ficheiro de idioma intermédio.

Filtro de idioma

Expressão regular usada para filtrar a tradução ao examinar por uma máscara de ficheiro. Pode ser usada para limitar a lista de idiomas geridos pelo Weblate.

Nota

You need to list language codes as they appear in the filename.

Some examples of filtering:

Filter description

Expressão regular

Selected languages only

^(cs|de|es)$

Exclude languages

^(?!(it|fr)$).+$

Filter two letter codes only

^..$

Exclude non language files

^(?!(blank)$).+$

Include all files (default)

^[^.]+$

Expressão regular das variantes

Regular expression used to determine the variants of a string, see Variantes de cadeias.

Nota

Most of the fields can be edited by project owners or managers, in the Weblate interface.

Prioridade

Componentes de prioridade mais elevada são oferecidos primeiro aos tradutores.

Acesso restrito

By default the component is visible to anybody who has access to the project, even if the person can not perform any changes in the component. This makes it easier to keep translation consistency within the project.

Restricting access at a component, or component-list level takes over access permission to a component, regardless of project-level permissions. You will have to grant access to it explicitly. This can be done through granting access to a new user group and putting users in it, or using the default custom or private access control groups.

The default value can be changed in DEFAULT_RESTRICTED_COMPONENT.

Dica

This applies to project admins as well — please make sure you will not loose access to the component after toggling the status.

Compartilhar em projetos

You can choose additional projects where the component will be visible. Useful for shared libraries which you use in several projects.

Nota

Sharing a component doesn’t change its access control. It only makes it visible when browsing other projects. Users still need access to the actual component to browse or translate it.

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.

The glossary will be accessible in all projects defined by Compartilhar em projetos.

It is recommended to enable Gerir cadeias on glossaries in order to allow adding new words to them.

Veja também

Glossário

Cor do glossário

Display color for a glossary used when showing word matches.

Template markup

Weblate uses simple markup language in several places where text rendering is needed. It is based on The Django template language, so it can be quite powerful.

Currently it is used in:

There following variables are available in the component templates:

{{ 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 }}

Translation URL

{{ filename }}

Nome do ficheiro de tradução

{{ stats }}

Translation stats, this has further attributes, examples below.

{{ stats.all }}

Total strings count

{{ stats.fuzzy }}

Count of strings needing review

{{ stats.fuzzy_percent }}

Percent of strings needing review

{{ stats.translated }}

Translated strings count

{{ stats.translated_percent }}

Translated strings percent

{{ stats.allchecks }}

Number of strings with failing checks

{{ stats.allchecks_percent }}

Percent of strings with failing checks

{{ author }}

Author of current commit, available only in the commit scope.

{{ addon_name }}

Name of currently executed addon, available only in the addon commit message.

The following variables are available in the repository browser or editor templates:

{{branch}}

current branch

{{line}}

line in file

{{filename}}

filename, you can also strip leading parts using the parentdir filter, for example {{filename|parentdir}}

You can combine them with filters:

{{ component|title }}

You can use conditions:

{% if stats.translated_percent > 80 %}Well translated!{% endif %}

There is additional tag available for replacing characters:

{% replace component "-" " " %}

You can combine it with filters:

{% replace component|capfirst "-" " " %}

There are also additional filter to manipulate with filenames:

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 }}

…and other Django template features.

Importing speed

Fetching VCS repository and importing translations to Weblate can be a lengthy process, depending on size of your translations. Here are some tips:

Optimize configuration

The default configuration is useful for testing and debugging Weblate, while for a production setup, you should do some adjustments. Many of them have quite a big impact on performance. Please check Configuração de produção for more details, especially:

Check resource limits

If you are importing huge translations or repositories, you might be hit by resource limitations of your server.

  • Check the amount of free memory, having translation files cached by the operating system will greatly improve performance.

  • Disk operations might be bottleneck if there is a lot of strings to process—the disk is pushed by both Weblate and the database.

  • Additional CPU cores might help improve performance of background tasks (see Tarefas de fundo a usar o Celery).

Disable unneeded checks

Some quality checks can be quite expensive, and if not needed, can save you some time during import if omitted. See CHECK_LIST for info on configuration.

Automatic creation of components

In case your project has dozen of translation files (e.g. for different gettext domains, or parts of Android apps), you might want to import them automatically. This can either be achieved from the command line by using import_project or import_json, or by installing the Descoberta de componentes addon.

To use the addon, you first need to create a component for one translation file (choose the one that is the least likely to be renamed or removed in future), and install the addon on this component.

For the management commands, you need to create a project which will contain all components and then run import_project or import_json.