Fluxos de tradução

Usar o Weblate aumenta a qualidade, reduz o trabalho manual e aproxima todos os envolvidos no processo de localização. Cabe a você decidir quais funcionalidades do Weblate você quer usar.

A lista a seguir não é uma lista completa de maneiras de configurar o Weblate. Você pode basear outros fluxos de trabalho nos exemplos listados aqui.

Personalização do fluxo de trabalho

Além da configuração em Configuração de projeto e Configuração de componente (como Habilitar revisões, Habilitar sugestões, Votação de sugestões e Aceitar sugestões automaticamente), o fluxo de tradução pode ser personalizado por idioma.

A personalização do fluxo de trabalho em todo o site pode ser feita quando se está Alterando as definições de idioma.

A personalização por projeto pode ser feita em cada página de idioma do projeto.

Review and suggestion settings can be overridden, the only limitation is that Habilitar revisões needs to be turned on and can only be disabled in the per-language customization.

A primeira configuração existente se aplica:

  1. Personalização do idioma do projeto

  2. Personalização do idioma

  3. As configurações de projeto/componente

Nota

Tenha cuidado ao usar a substituição para todo o site, pois isso se aplica a todos os projetos (a menos que eles tenham substituições próprias para um determinado idioma).

Custom source language

Select Source language in a project’s language workflow settings to translate from another language in the same project. For example, you can translate a regional language variant from its parent language. Leave the selection empty to use the component’s source language.

The selected language’s translation is displayed as the source in the editor and used for translation checks, automatic translation, and translation memory. The original source strings and file identifiers remain unchanged.

Changing a parent translation marks its translated children as needing editing. Children are read-only while their parent is untranslated or needs editing, including when reviews are disabled. A parent that is translated (waiting for review) or approved permits editing. This restriction also applies through multiple levels of parent languages. Languages cannot depend on themselves or form a cycle.

If a component lacks the selected language or a matching string, its children are read-only until that source becomes available. Weblate preserves their translations and the configured source language; it does not fall back to the component source. Clearing the setting or selecting the component source language restores the canonical source. Moving a component applies the destination project’s workflow settings. Changing workflow settings updates affected strings and their editing restrictions before returning; on large projects, this can delay translation edits. Expensive quality checks run in background batches after the settings are saved. Their warnings and check statistics can take longer to reflect the new source language.

Languages selected as custom sources cannot be deleted until these workflow settings are cleared or changed to another language.

This setting can only be configured per project and language. Existing intermediate language configuration continues to control the component source.

Workflow changes affect new translation-memory updates. Previously stored source and target pairs remain subject to the existing translation-memory retention and cleanup settings. A missing source does not create an active memory entry.

Limiting translation languages

Several settings can limit translation languages. They address different stages of the translation lifecycle and can be combined:

Control requests for languages that do not exist yet

Configure Adição de nova tradução at workspace, project, category, or component level. Categories and components can inherit this setting; see Settings inheritance. You can let users contact maintainers, point them to translation instructions, create the language file automatically, or disable adding new translations.

Project admins can still add a translation when Weblate can create its file. For components that do not inherit the project setting, change Adição de nova tradução individually or automate the changes using PATCH /api/components/(string:project)/(string:component)/.

To allow existing project languages while requesting approval for new ones, select Create existing project languages; contact maintainers for new languages. A language qualifies when any non-glossary component in the project has a target translation for it, even with no translated strings. Source-only languages and glossary translations do not qualify. This applies across categories, including shared components and components the contributor cannot access.

Maintainers approve a language by creating its first target translation. Removing the last qualifying translation removes eligibility. Component overrides that allow unrestricted language creation can also introduce an eligible language. Project and category submissions use the languages present at the start of the operation, so component processing order does not affect the result.

Project and category submissions modify only components owned by that project or category. To add a language to a shared component, use its own language creation page; the owning project’s eligibility and permissions apply there.

The REST translation creation endpoint returns HTTP 403 for languages requiring approval; submit these requests through the web interface. The permission to add several languages does not bypass this policy. Maintainers and trusted add-ons retain their existing creation permissions, and repository file discovery is unaffected.

Disabling new translations controls user requests. It does not stop discovery of translation files added to the repository or automatic glossary language synchronization.

Limit which translation files Weblate discovers or creates

Configure Filtro de idioma on each component. For example, ^(de|en|fr)$ limits the component to translation files whose language code is de, en, or fr. The filter applies while scanning the component file mask and when creating a new translation file; it does not change permissions for translations that are already present.

Language filters are configured per component, with no project-wide language allowlist. To apply a filter across many components, automate the changes using PATCH /api/components/(string:project)/(string:component)/.

Grant translation access only for selected languages

Use language-scoped teams when different users should be able to translate different languages. A team can only grant permissions, so remove any broader translation permission that would otherwise apply to the same users.

Restrict direct editing of an existing language

Open the language settings in the project, enable Customize translation workflow for this language in this project, and turn on Restrict direct editing.

Users with the Edit string when suggestions are enforced permission can continue editing directly. Other users can add suggestions when Turn on suggestions is enabled. Turn off suggestions as well to make the language editable only by privileged users.

The restriction can also be configured site-wide while Alterando as definições de idioma. A project-language customization takes precedence over the site-wide language setting.

Use suggestion voting

Turn on Suggestion voting to let users vote on suggestions. Voting alone does not restrict direct editing. A positive Automatically accept suggestions threshold also requires users without the Edit string when suggestions are enforced permission to submit suggestions. Use Restrict direct editing when this restriction should not depend on automatic acceptance.

Acesso à tradução

The access control is not discussed in detail as a whole in the workflows, as most of its options can be applied to any workflow. Please consult the respective documentation on how to manage access to translations.

Nos capítulos a seguir, qualquer usuário significa um usuário que tenha acesso à tradução. Pode ser qualquer usuário autenticado se o projeto for público, ou um usuário que com uma permissão Traduzir para o projeto.

Status de tradução

Cada texto traduzido pode estar em um dos seguintes status:

Não traduzido

A tradução está vazia, pode ou não estar armazenada no arquivo, dependendo do formato do arquivo.

Necessita de edição

Translation needs editing, this is usually the result of fuzzy matching or translator action. Depending on the file format it might be marked as needing edit (for example as it gets a fuzzy flag in the gettext file).

Needs rewriting

Translation needs to be rewritten because of a source string change.

Needs checking

State used for source/template strings that need developer review. It is typically set for new source strings imported from the VCS when the Source edit addon is enabled, or when a source string is reported for checking.

Translated / Waiting for review

Translation is made. The translated state is shown as “Waiting for review” if reviews are enabled.

Aprovado

A tradução foi aprovada na revisão. Não pode mais ser alterada por tradutores, mas apenas por revisores. Tradutores só podem adicionar sugestões a ela.

Este status está disponível apenas quando revisões estão habilitadas.

Somente leitura

String is read-only as a result of having read-only flag, being a non-editable source string, or marked such in the translation file.

Sugestões

As sugestões estão armazenadas apenas no Weblate e não no arquivo de tradução.

The states are represented in the translation files when possible. A state change only rewrites the file when the format can represent the change or when it makes pending content eligible for commit under the Filtro de qualidade de tradução.

Dica

If the file format you use does not support storing states, you might want to use the Marcar traduções não alteradas como “Precisa ser editado” add-on to flag unchanged strings as needing rewriting.

Nota

The Filtro de qualidade de tradução determines which translation states are stored in the file.

Tradução direta

A configuração mais comum para equipes menores, sendo que qualquer um pode traduzir diretamente. Esta também é a configuração padrão no Weblate.

  • Qualquer usuário pode editar traduções.

  • Sugestões são formas opcionais de sugerir alterações, quando os tradutores não têm certeza sobre a alteração.

Configuração

Valor

Nota

Habilitar revisões

desativada

Configurada a nível de projeto.

Habilitar sugestões

ativada

Útil para os usuários serem capazes de sugerir quando não têm certeza.

Votação de sugestões

desativada

Aceitar sugestões automaticamente

0

Grupo de tradutores

Usuários

Or Translate with per-project access control.

Grupo de revisores

N/D

Não usada.

Revisão por pares

Com este fluxo de trabalho, qualquer pessoa pode adicionar uma sugestão que precisa de aprovação de membros adicionais antes de ser aceita como tradução.

  • Qualquer usuário pode adicionar sugestões.

  • Qualquer usuário pode votar em sugestões.

  • Sugestões tornam-se traduções quando dado um número predeterminado de votos.

Configuração

Valor

Nota

Habilitar revisões

desativada

Configurada a nível de projeto.

Habilitar sugestões

ativada

Votação de sugestões

ativada

Aceitar sugestões automaticamente

2

Você pode definir um valor mais alto para mostrar mais revisões por pares.

Grupo de tradutores

Usuários

Or Translate with per-project access control.

Grupo de revisores

N/D

Não usada, todos os tradutores revisam.

Revisores dedicados

Com revisores dedicados você tem dois grupos de usuários, um capaz de enviar traduções e outro capaz de revisá-los para garantir que as traduções sejam consistentes e que a qualidade seja boa.

  • Qualquer usuário pode editar traduções não aprovadas.

  • Revisor pode aprovar / retirar a aprovação de textos.

  • Revisor pode editar todas as traduções (incluindo as aprovadas).

  • Sugestões também podem ser usadas para sugerir alterações para textos aprovados.

Configuração

Valor

Nota

Habilitar revisões

ativada

Configurada a nível de projeto.

Habilitar sugestões

ativada

Útil para os usuários serem capazes de sugerir quando não têm certeza.

Votação de sugestões

desativada

Aceitar sugestões automaticamente

0

Grupo de tradutores

Usuários

Or Translate with per-project access control.

Grupo de revisores

Revisores

Or Review with per-project access control.

Ativando revisões

Reviews can be turned on in the project configuration, from the Workflow subpage of project settings (to be found in the Operations → Settings menu):

_images/project-workflow.webp

Per-language reviews

To require review only for selected languages, first turn on Habilitar revisões for the whole project. Then open each project language page that should use different behavior, enable Customize translation workflow for this language in this project, and turn Enable reviews off for languages that should not require review.

Reviewers also need review access for the same language. Add them to a team whose roles include Review strings, and limit that team or the user membership to the language they should review. See Gerenciando controle de acesso por projeto and Controle de acesso em todo o site for language-scoped access setup.

If approval buttons are not visible, check both parts of the setup: reviews have to be enabled for that translation, and the signed-in user has to have review permission for that language.

Machine translation and LLM workflows

Machine translation services, including large language model (LLM) services, can assist human translators or generate translations for them to edit or approve. Choose a workflow based on when humans should check the generated text and when it should reach the repository.

First, configure the services under Translation services in the project settings or site administration; see Serviços de tradução. For LLM services, see LLM translation context for the context and instructions used to guide translation.

To process strings in bulk, run Tradução automática, select Machine translation as the source, and choose the services to use. For ongoing automation, configure the Tradução automática add-on on the component with the same source and desired mode. Use the query state:empty to fill empty translations without replacing existing human work; see Buscando textos.

Human translation assisted by services

Use this workflow when translators should choose when to use machine translation for each string.

Translators consult the Sugestões automáticas tab in the editor, choose a service result, edit it as needed, and save the translation. These service results are distinct from stored suggestions awaiting acceptance: a human decides what to save. This workflow does not require the Automatic translation add-on and can be combined with Revisores dedicados.

Service translation with human editing

Use this workflow to fill translations automatically and let humans improve them directly.

The service output becomes a translation that humans can edit in the usual editor. It can be committed to the repository without human approval.

For machine drafts that should remain visibly unfinished, choose Add as “Needing edit” instead. Humans edit these drafts and clear the Needs editing state when finished. To keep unfinished drafts out of repository commits, set Filtro de qualidade de tradução to Skip translations marked as needing editing.

Service suggestions with human acceptance

Use this workflow when humans should check service output before it becomes a translation.

Humans check the stored suggestions and accept suitable ones, or edit the proposed text before saving a translation. Suggestions are stored only in Weblate and do not enter translation files until accepted as translations. Accepting a suggestion is separate from approving a translation in the dedicated review workflow.

Service translation with review and a quality gateway

Use this workflow when humans should edit machine translations in Weblate, but only reviewer-approved translations should reach the repository.

Generated translations appear as Waiting for review. Translators can edit them, and reviewers check and approve the finished translations. Only after approval are these translations eligible for repository commits. Translators can suggest further changes to approved strings, while reviewers can edit them directly.

Enabling reviews alone does not keep unapproved translations out of commits. The translation quality filter provides that gateway. Keep reviews enabled for every language that should follow this workflow; check any workflow customization overrides.

AI-assisted quality evaluation

Use the Avaliação da qualidade da IA add-on to check existing human or machine translations for accuracy, fluency, terminology, style, and formatting. It records quality checks without editing translations or approving them.

Configure an LLM service under Translation services, then install AI quality evaluation and select the Evaluation service. Choose a query to limit the translations evaluated. Run the add-on manually, choose an Evaluation frequency, or enable evaluation after translation changes or repository updates. Installation does not run evaluation. See the add-on documentation for provider costs and the data sent to the service.

Translators and reviewers can inspect the findings in the editor or search for checks such as check:ai_accuracy. Correct the translation or ignore a finding when appropriate. Combine this with Revisores dedicados when human approval is required; AI evaluation does not replace approval or change the translation quality filter used for repository commits.

The component’s Diagnostics recommends the add-on when an LLM service is configured. If the selected service becomes unavailable, an error diagnostic links maintainers to the installed add-on’s configuration.

Reusing existing translations

Use existing translations to bootstrap a new language or component, then have humans adapt matches and fill the remaining gaps.

Run Tradução automática with Other translation components as the source, or select the Memória de tradução service under Machine translation. Choose whether matches become translations, drafts needing editing, or suggestions using the modes described above. Use state:empty to preserve existing translations. The Tradução automática add-on can apply this reuse automatically as strings arrive.

For ongoing consistency, Propagação de tradução can copy edits to matching strings across components in the same project. Propagation happens while translating; it does not copy translations merely loaded from the repository. See Mantendo traduções iguais entre componentes for its requirements and for checks that help humans resolve differences.

Rota de qualidade para os textos fonte

The original source language strings usually come from developers, since they write the code and provide the initial strings. However, developers are often not native speakers of the source language and do not provide the desired quality of the source strings. The intermediate translation can help you address this - there is an additional quality gateway for the strings between developers and translators.

By setting the Arquivo de idioma intermediário, this file is used for translating strings to the source language by translators/editors while it is owned by the developers (often using arbitrary languages such as en_devel). Once this stage is done, strings are available for translations to target languages, based on what is now a polished source language stored in the Arquivo de idioma da base monolíngue.

digraph translations { graph [fontname = "sans-serif", fontsize=10]; node [fontname = "sans-serif", fontsize=10, margin=0.1, height=0, style=filled, fillcolor=white, shape=note]; edge [fontname = "sans-serif", fontsize=10]; subgraph cluster_dev { style=filled; color=lightgrey; label = "Development process"; "Developers" [shape=box, fillcolor="#144d3f", fontcolor=white]; "Developers" -> "Intermediate file"; } subgraph cluster_l10n { style=filled; color=lightgrey; label = "Localization process"; "Translators" [shape=box, fillcolor="#144d3f", fontcolor=white]; "Editors" [shape=box, fillcolor="#144d3f", fontcolor=white]; "Editors" -> "Monolingual base language file"; "Translators" -> "Translation language file"; } "Intermediate file" -> "Monolingual base language file" [constraint=false]; "Monolingual base language file" -> "Translation language file" [constraint=false]; }

Consolidação de textos usando idioma secundário

Quando o Arquivo de idioma intermediário não puder ser usado para consolidar os textos, você poderá escolher uma das traduções para atuar como idioma secundário. O idioma pode ser configurado em um projeto (Idioma secundário) ou em um componente (Idioma secundário). Ele é então mostrado aos tradutores durante a tradução (consulte Idiomas secundários) e pode ser usado opcionalmente como fonte para traduções automáticas (consulte Texto fonte para tradução automática).

Essa configuração pode ser útil com o texto fonte em idiomas mistos e consolidá-las em uma única tradução, que é então usada como base para outros trabalhos.

Revisões de textos fonte

Com o Habilitar revisões de fontes ativado, o processo de revisão pode ser aplicado em textos fonte. Uma vez ativado, os usuários podem relatar problemas nos textos fonte. O processo real depende se você usa formatos bilíngues ou monolíngues.

Para formatos monolíngues, a revisão do texto fonte funciona de forma semelhante a Revisores dedicados — quando um problema com um texto fonte é relatado, o texto fonte é marcado como Necessita de edição.

Os formatos bilíngues não permitem a edição direta de textos fonte (estes são normalmente extraídos diretamente do código-fonte). Neste caso, a etiqueta Fonte precisa de revisão é anexado aos textos relatados por tradutores. Você deve revisar esses textos e editá-los na fonte ou remover a etiqueta.