---
description: 'Como entrar para a equipe de tradutores do FreeBSD e traduzir online no Weblate'
next: books/fdp-primer/manual-pages
params:
  path: "/books/fdp-primer/weblate/"
prev: books/fdp-primer/po-translations
showBookMenu: 'true'
tags: ["weblate", "po", "translations", "tutorial", "quick start"]
title: 'Capítulo 10. Traduções Weblate'
weight: 10
---

[[weblate-translations]]
= Traduções Weblate
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumoffset: 10
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/fdp-primer/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[[weblate-introduction]]
== Introdução

Este capítulo descreve alguns passos básicos para ingressar na equipe de tradutores do FreeBSD, traduzindo online no Weblate ou offline, e algumas sugestões simples sobre tradução, revisão e teste. O foco é na parte da tradução.

Os documentos originais (artigos e livros) estão no {main-site-en}[portal de documentação].

https://weblate.org/en/[Weblate] é um software web de código aberto com foco em idiomas; o projeto FreeBSD possui uma instância local.

[[weblate-become-translator]]
== Como se Tornar um Tradutor do FreeBSD

A seguir seguem os passos para começar a traduzir artigos e livros do Projeto de Documentação do FreeBSD.

. Crie uma conta na https://translate-dev.freebsd.org/[instância Weblate do FreeBSD] com um endereço de e-mail ou sua conta GitHub.
. Inscreva-se na {freebsd-translators}.
. Apresente-se e peça para participar de uma equipe de idiomas. Se a equipe de idiomas não existir, peça para criá-la. A auto-apresentação é essencial. Isso aumenta suas chances de ser aprovado para acesso de escrita.
. Acesse o https://translate-dev.freebsd.org/[Weblate] com a nova conta.
. Encontre a equipe de idiomas e escolha um documento inicial para traduzir.
. Crie uma conta no Bugzilla para enviar as traduções depois de terminar um documento. O projeto de documentação também está aceitando Pull Requests do GitHub com envio de traduções.

[WARNING]
====
Todos os arquivos de tradução e documentos devem seguir a https://www.freebsd.org/copyright/freebsd-doc-license/[Licença de Documentação do FreeBSD]; se isso não for aceitável, por favor, não se inscreva ou envie patches ou traduções.
====

[[weblate-introduce-yourself]]
== Apresente-se

Forneça uma breve auto-apresentação na {freebsd-translators} para iniciar o processo de concessão de acesso. Isso permitirá que um coordenador ou administrador de idiomas forneça as permissões necessárias para que o novo usuário do Weblate comece a traduzir.

A seguir está um exemplo de como tal e-mail poderia parecer.

[.programlisting]
....
Subject: Self-Introduction: Name and language

Name:      Name (usar nome preferido)
Location:  City, country (opcional)
Login:     username or email (essencial)
Language:  Language to translate (essencial)
Profession or student status: (opcional)
About You: (formato livre -- informações com as quais você se sente à vontade para compartilhar
  others: empresa, escola, outra afiliação, habilitações históricas, outras
  projetos em que você trabalhou, nível e tipo de conhecimento de informática, outras habilidades relevantes,
  etc.)
You and the FreeBSD Project: (formato livre: outros projetos FreeBSD de interesse, comentários, etc.)
....

[[weblate-login]]
== Entrar no Weblate

Abra https://translate-dev.freebsd.org/[] e `Entre`.

image::weblate-login.png["Login Weblate", 800]

Use um nome de usuário, endereço de e-mail ou conta do GitHub para fazer login.

O perfil do usuário contém suas preferências, nome e endereço de e-mail. O nome e o endereço serão usados nos commits; mantenha esta informação atualizada.

Na instância Weblate do FreeBSD, todas as traduções serão enviadas para o https://github.com/freebsd/freebsd-doc-translate[freebsd-doc-translate] (um repositório intermediário no GitHub), e não diretamente para o https://github.com/freebsd/freebsd-doc[freebsd-doc]. Os tradutores devem pegar os arquivos PO gettext (`.po`), converte-los para `.adoc` e submete-los via https://bugs.freebsd.org/bugzilla/[Bugzilla] ou https://github.com/freebsd/freebsd-doc/pulls[GitHub] para publicar ou atualizar o documento traduzido no portal de documentação. Veja mais nas seções a seguir.

O Weblate irá enviar os commits diariamente, pelo menos, para o `freebsd-doc-translate`, se quaisquer novas strings forem traduzidas.

[[weblate-find-language-team]]
== Encontre uma Equipe de Idiomas para Participar

Clique em `Projetos`, escolha `Documentação`, depois clique em `Idiomas` e veja todos os idiomas disponíveis.

image::weblate-languages.png["Idiomas Weblate", 500]

Observe que alguns idiomas e documentos traduzidos já existem no portal de documentação e repositórios.

Se o idioma desejado para tradução não estiver disponível no Weblate, entre em contato com os https://www.freebsd.org/docproj/translations/[coordenadores de idiomas] antes de solicitar a criação de um novo idioma. Se não houver resposta, entre em contato com a {doceng}.

[[weblate-translating-online]]
== Traduzindo Online no Weblate

Traduzir documentos online tende a ser o método mais fácil para tradução de documentos no FreeBSD, pois permite que os usuários trabalhem no mesmo arquivo, distribuindo a carga de trabalho.

Assim que um coordenador ou administrador conceder acesso a um idioma específico para um usuário, o botão salvar será habilitado para que esse usuário possa começar a traduzir.

image::weblate-documents.png["Documentos Weblate", 800]
image::weblate-translate.png["Weblate Translate", 800]

O Weblate possui um conjunto de links que levam à tradução. A tradução é dividida em verificações individuais, como `Não traduzido` ou `Precisando de revisão`. Se todo o documento estiver traduzido sem nenhum erro, o link `Todas as traduções` ainda estará disponível caso uma revisão seja necessária. Como alternativa, o campo de pesquisa pode ser usado para localizar uma string ou termo específico.

Na https://docs.weblate.org/en/latest/user/translating.html#translation-projects[documentação do Weblate], há mais informações sobre traduções, como atalhos de teclado e outras dicas sobre a ferramenta de tradução.

[[weblate-translating-offline]]
== Traduzindo Offline

O Weblate no FreeBSD usa arquivos PO gettext para traduções. Os usuários familiarizados com os arquivos PO gettext que desejam traduzir offline podem baixar e enviar as traduções através da página do documento no Weblate clicando na seção `Arquivos`.

image::weblate-offline.png["Weblate Offline", 800]

[[weblate-automatic-suggestions]]
== Tradução baseada em Sugestões Automáticas

Os idiomas que usavam Weblate antes da migração para Hugo/Asciidoctor podem usar esse recurso do Weblate para economizar tempo.

Este recurso do Weblate usa a Memória de Tradução gerada pelos outros componentes e projetos no mesmo servidor. As antigas traduções do Weblate estão hospedadas no mesmo servidor como somente leitura por causa disso.

Strings que correspondem a `100/100` em similaridade podem ser copiadas e salvas diretamente. Outras strings precisarão de pelo menos um pequeno ajuste.

Alguns exemplos:

image::weblate_automatic_suggestion_01.png["Weblate Sugestões Automáticas 01", 800]

Com a migração para Hugo/Asciidoctor, os documentos passaram a utilizar UTF-8. Algumas entidades HTML devem ser substituídas. Algumas strings, como links, requerem alterações na marcação.

image::weblate_automatic_suggestion_02.png["Weblate Sugestões Automáticas 02", 800]

Links:

image::weblate_automatic_suggestion_03.png["Weblate Sugestões Automáticas 03", 800]

[[weblate-proofreading-qa]]
== Revisão e Verificações de Qualidade do Weblate

O dashboard do documento `Projeto/Idioma/Documento` mostra o status da tradução e o status das strings desse documento. Esta página é útil para revisão e verificações de qualidade.

image::weblate-revision1.png["Weblate Revisão 01", 800]

Neste exemplo, falta o ponto final em duas strings; clicando nesse link será mostrado apenas as strings a serem revisadas/traduzidas.

image::weblate-revision2.png["Weblate Revisão 02", 800]

Tradutores e revisores geralmente gostam da visualização das strings traduzidas em seu contexto.

[[weblate-building]]
== Compilando o Documento Traduzido

O projeto não usa integração contínua e entrega contínua (CI/CD) para gerar as traduções. Existem estudos para a sua disponibilização.

[NOTE]
====
O exemplo a seguir usa o GitHub, pois o Weblate também está no GitHub. Observe que este repositório é um espelho somente leitura, mas as Pull Requests são aceitas.
====

Para gerar a tradução localmente, siga estas etapas:

[[weblate-clone-repositories]]

[.procedure]
====
.Procedimento: Clone os repositórios necessários
. Clone o repositório `freebsd-doc`:
+
[source, console?prompt=%]
....
% git clone https://github.com/freebsd/freebsd-doc.git ~/freebsd-doc
....

. Clone o repositório `freebsd-doc-translate`:
+
[source, console?prompt=%]
....
% git clone https://github.com/freebsd/freebsd-doc-translate.git ~/freebsd-doc-translate
....
====

[[weblate-copy-translation]]

[.procedure]
====
.Procedimento: Copie um arquivo de tradução para `freebsd-doc`

Com ambos os repositórios, copie a tradução de `freebsd-doc-translate` para `freebsd-doc`. Exemplo de tradução do artigo do Committer's Guide em espanhol.

[source, console?prompt=%]
....
% cp ~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po \
~/freebsd-doc/documentation/content/es/articles/committers-guide/
....
====

[[weblate-translate]]

[.procedure]
====
.Procedimento: Converter um arquivo de tradução (`.po`) para `.adoc`

Vá para a raiz do `freebsd-doc`.

[source, console?prompt=%]
....
% cd ~/freebsd-doc
....

Traduzir (converter) o arquivo `.po` para `.adoc`

[source, console?prompt=%]
....
% ./tools/translate.sh documentation es articles/committers-guide
....

Por padrão: apenas arquivos com mais de oitenta por cento de strings traduzidas serão convertidos para `.adoc`.

Para ignorar esse limite:

[source, console?prompt=%]
....
% KEEP_ENV=0 ./tools/translate.sh documentation es articles/committers-guide
....

====

Alguns documentos, como livros, possuem muitos arquivos PO gettext. Sempre copie todos eles ao traduzir e compilar. Arquivos que não foram traduzidos serão convertidos com as strings de origem (inglês).

[WARNING]
====
A estrutura de diretórios é fundamental. Siga sempre a estrutura de diretórios dos documentos em inglês.
====

[[weblate-build]]

[.procedure]
====
.Procedimento: Gerar o documento traduzido

Por último, a parte da compilação.

Entre no diretório de documentação porque não há necessidade de compilar o site do FreeBSD.

[source, console?prompt=%]
....
% cd documentation
....

E compile a documentação. Observe que `en` é sempre adicionado por padrão ao compilar qualquer outro idioma.

[source, console?prompt=%]
....
% DOC_LANG=es make
....

Este comando irá compilar apenas os documentos em inglês e espanhol do portal de documentação do FreeBSD. A saída estará no diretório [.filename]#public#; abra-o em um navegador. Observe que alguns arquivos de índice podem redirecionar o navegador para a página online.

Outra boa opção é compilar e servir o conteúdo com o servidor web interno do Hugo:

[source, console?prompt=%]
....
% DOC_LANG=es make run
....

Por padrão, o servidor web escuta em `localhost`; Para substituir esse comportamento, especifique o endereço IP desejado no valor do parâmetro `BIND`.

[source, console?prompt=%]
....
% DOC_LANG=es make run BIND=192.168.15.10
....

Isso compila e serve o conteúdo com o servidor web interno de Hugo e deixa ele em espera, quando algum arquivo for alterado, ele o recompila automaticamente.
====

Para fazer os ajustes necessários na tradução, siga as etapas abaixo para sincronizar novamente todos os componentes:

- Corrija a string de tradução em https://translate-dev.freebsd.org/[Weblate].
- Force o Weblate a realizar o commit das alterações na aba `Document/Manage/Commit`.
- Sincronize o repositório Weblate local `freebsd-doc-translate` com o comando `git pull origin main`.
- Copie a tradução novamente para `freebsd-doc`.
- Converta a tradução para .adoc com o script `./tools/translate.sh`.
- Hugo irá recompilar o arquivo e não todo o conjunto se `make run` foi utilizado; ou execute novamente o `make`.

[IMPORTANT]
====
Siga os passos anteriores quantas vezes forem necessárias até que o documento esteja pronto para ser publicado.
====

O capítulo crossref:doc-build[doc-build-rendering,Processo de Compilação da Documentação] inclui informações sobre a renderização para HTML e PDF.

[[weblate-submitting-translations]]
== Enviando Traduções

Exemplo de envio de atualização do artigo Committer's Guide em Português do Brasil.


[[weblate-git-repo-status]]

[.procedure]
====
.Verifique o repositório

Depois de seguir os passos em crossref:weblate[weblate-building,Compilando o Documento Traduzido], vá para a raiz do `freebsd-doc` e visualize o que deve ser submetido. Para obter uma visão geral dos arquivos a serem alterados e das diferenças no conteúdo do arquivo:

[source, console?prompt=%]
....
% git status
% git diff
....

Revise a saída e, se algum arquivo não relacionado à atualização da tradução do Committer's Guide foi alterado ou adicionado, tome a ação apropriada de revertê-lo ou removê-lo, respectivamente, antes de continuar.

Sempre inclua o arquivo PO gettext (`.po`) e o documento traduzido em Hugo/Asciidoctor (`.adoc`).
====

[[weblate-git-new-branch]]

[.procedure]
====
.Crie uma nova branch e faça o commit

Crie outra branch para separar o trabalho, o que ajudará em futuras atualizações no repositório local.

[source, console?prompt=%]
....
% git checkout -b committers-guide_pt-br
....

Registre o commit local.

[source, console?prompt=%]
....
% git add .
% git commit
....

Exemplo de mensagens de commit para traduções:

[.programlisting]
....
pt-br/committers-guide: Sincronizar com en XXXXXXX
....

Onde `XXXXXXX` é a revisão man:git[1] armazenada no repositório Weblate [.filename]#~/freebsd-doc-translate/revision.txt#.

Se for a primeira tradução de um artigo:

[.programlisting]
....
Adicionar tradução Coreana do artigo Leap Seconds
....

Uma mensagem será exibida após o commit se o man:git[1] não tiver sido configurado anteriormente. Siga as instruções e forneça o nome e o endereço de e-mail usado no Weblate. Esta etapa é crucial para creditar o trabalho dos contribuidores.

Em seguida, verifique todo o commit, revise as alterações e o nome e e-mail do autor.

[source, console?prompt=%]
....
% git show
....
====

[[weblate-git-patch-submit]]

[.procedure]
====
.Gerar um patch

Em seguida, gere um arquivo man:git-format-patch[1].

[source, console?prompt=%]
....
% git format-patch main
0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch
....
====

Anexe o patch [.filename]#0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch# a um relatório de problema no https://bugs.freebsd.org/bugzilla/[Bugzilla do FreeBSD].

Inclua as seguintes informações no relatório:

[[weblate-bugzilla-fields]]
.Campos do Bugzilla
[cols="1,1", frame="none", options="header"]
|===
| Campo
| Valor

| *produto*
| Documentação

| *Componente*
| Artigos e Livros

| *Resumo*
| O mesmo que o commit local

| *Descrição*
| Declare que as instruções deste guia foram seguidas, incluindo revisão e outras etapas necessárias.
Inclua informações que podem ajudar na triagem e no progresso do relatório.


| *CC* (Opcional)
| Se o idioma tiver coordenadores, inclua seus endereços de e-mail no campo CC.
|===

Para pessoas familiarizadas com man:git[1] e GitHub: em vez de enviar o patch através do https://bugs.freebsd.org/bugzilla/[Bugzilla], um https://github.com/freebsd/freebsd-doc/pulls[pull request do GitHub] pode ser usado (use o nome e o endereço de e-mail utilizado no Weblate).

https://github.com/freebsd/freebsd-doc/ é um espelho secundário. Alterações na árvore `doc` podem ser feitas apenas por pessoas que possuem um `doc` commit bit.

Quando os tradutores continuam enviando patches de boa qualidade, eles podem ser nomeados por outros committers para receber acesso de escrita (um extref:{committers-guide}[doc commit bit, committer.types] para traduções), uma conta FreeBSD e todas as vantagens associadas.

A lista de extref:{contributors}[Contribuidores Adicionais do FreeBSD, contrib-additional] inclui não-committers cujas contribuições são submetidas à árvore `doc`.

Em caso de dúvida sobre algum procedimento, escreva para a {freebsd-translators}.

[[weblate-faq]]
== FAQ (Perguntas Frequentes)

[[weblate-copyrights]]
=== É necessário traduzir todas as mensagens de Copyright?

Cada equipe de idiomas decide isso para o seu próprio idioma; na equipe `pt-br` (Português do Brasil), foi decidido não traduzir essas mensagens.
