freeCodeCamp/docs/i18n/portuguese/how-to-translate-files.md

17 KiB
Raw Blame History

Como traduzir arquivos do freeCodeCamp

É nosso sonho fornecer recursos para você aprender, não importando qual idioma fala. Para nos ajudar com isso, integramos nossa base de código open-source e nosso currículo com o Crowdin, uma ferramenta que nos ajuda a traduzir nosso código.

O fluxo de tradução é dividido em duas principais atividades:

  • Traduzir arquivos do currículo, documentação e elementos da interface como botões, rótulos e etc.:

    Como um tradutor, você pode se cadastrar em nossa plataforma de tradução e contribuir com traduções em mais de 30 idiomas disponíveis.

  • Revisar as traduções de todo conteúdo.

    Os revisores verificam se as traduções da comunidade têm um tom uniforme e não contêm problemas como erros de digitação, entre outros. Resumidamente, eles garantem a alta qualidade das traduções. Note que nós não usamos tradução automática por um motivo.

[!WARNING] Não usamos mais o GitHub para traduzir arquivos diretamente. Se você está voltando a contribuir, vá para nossa plataforma de tradução.

Prepare-se para as contribuições

O roadmap de localização da freeCodeCamp - não há limites

Você pode traduzir o quanto você quiser e quando você puder. O que realmente importa é o quanto de tempo e energia você estará disposto a investir como um voluntário de tradução.

Pedimos apenas que entenda os seguintes pontos:

  1. As traduções são um esforço em equipe.

    A tradução dos recursos do freeCodeCamp é uma das mais divertidas e gratificantes como um contribuidor. Ela fica ainda melhor quando envolve amigos e colegas que falam o mesmo idioma que você.

    Nós recomendamos que entre em nosso fórum da comunidade e na sala de chat dos tradutores com seus amigos e mostre seu interesse antes de começar a traduzir. A ferramenta Crowdin facilita a contribuição com traduções, mas ainda há bastante trabalho.

    Nós esperamos que você goste de contribuir e não venha a se sentir esgotado ou perder o interesse.

    Um grupo pequeno de 4 à 5 indivíduos é um bom tamanho para iniciar o nicho para o seu idioma. Você pode, então, recrutar cada vez mais amigos para se juntarem ao time.

  2. Custa muito aos servidores rodar cada linguagem.

    Na superfície, os componentes técnicos não parecem ser tão complicados, mas, para que os componentes continuem rodando, há um alto custo. Nisto está incluso o provisionamento adicional de servidores e uma equipe dedicada poder cuidar deles.

    O freeCodeCamp.org comprometeu-se em providenciar de forma gratuita como sempre. No entanto, precisamos priorizar os recursos para os que mais necessitam deles. A última coisa que queremos é desligar os servidores para uma linguagem se a atividade de tradução encerrar e se tornar desatualizada.

    Quando cada linguagem alcançar pelo menos algumas certificações no currículo, nós podemos começar a implantar a linguagem no /learn enquanto você continua a traduzir o restante das certificações.

    Por exemplo, gostaríamos de implantar pelo menos todo o conjunto de certificações de front-end quando entregarmos uma nova linguagem pela primeira vez.

  3. E quanto às linguagens que não estão listadas na plataforma de tradução?

    Nós buscamos em nossa base de usuários e adicionamos os mais de 30 idiomas mais falados para a lista de idiomas habilitados na plataforma de traduções. Alguns idiomas, como o chinês e o espanhol já estão implantados no /learn neste momento.

    Infelizmente, a lista não inclui as centenas de idiomas existentes. Nós recebemos dezenas de requisições de contribuidores como você, todos os dias. Eles também gostariam de ajudar na tradução do site no idioma que falam.

    Nós estamos definitivamente torcendo para adicionar mais idiomas na lista, mas, como você já sabe, só seria viável se conseguíssemos um impulso suficiente em torno de um idioma.

    Se você gostaria que nós incluíssemos um novo idioma, recomendamos que você deixe seus amigos animados com isso.

    Quando você tiver um pequeno grupo de pessoas (pelo menos 4-5) interessadas e comprometidas, nós poderemos entrar em contato. Explicaremos todos os detalhes e orientaremos você em algumas das ferramentas e processos.

Primeiros passos

Primeiro, não se esqueça de vir dar um "Oi" na nossa sala de chat de tradutores. Nós postamos atualizações regulares sobre recursos de tradução e respondemos a muitas de suas dúvidas lá.

Depois, vá para a nossa plataforma de tradução e faça o login (se você não contribuiu com traduções anteriormente, você precisará criar uma conta).

Finalmente, faça o nosso passo a passo abaixo para entender as ferramentas de tradução e fluxos de trabalho à sua disposição.

Boa tradução.

Selecione um projeto e um arquivo

Quando você visita a plataforma de tradução, você deve ver vários "projetos" disponíveis para tradução:

  1. Projeto de Contribuição de documentação, que contém os arquivos para a documentação deste site.
  2. Projeto do Currículo de programação, que contém nossos arquivos de desafios para nosso currículo.
  3. Projeto de Interface de aprendizagem do usuário, que contém as "strings" para elementos de UI como botões, "labels", etc. para nossa plataforma de aprendizagem.

Selecione qualquer projeto no qual que deseje contribuir e você verá uma lista de idiomas disponíveis para tradução.

Imagem - Lista de idiomas disponíveis

Selecione o idioma que deseja trabalhar e você verá a estrutura completa do arquivo.

Imagem - Lista de arquivos disponíveis

Cada arquivo e pasta aparecerá na barra de progresso. A porção azul da barra de progresso indica a porcentagem de tradução do arquivo, enquanto a porção verde da barra indica a porcentagem aprovada pelo time de revisão.

Selecione um arquivo para traduzir e o Crowdin vai abrir o editor.

[!NOTE] Quando o editor abrir, você precisará clicar no ícone de configurações (mostrado como uma engrenagem) e mudar a configuração 'HTML tags displaying' para 'SHOW'. Isso garantirá que você veja as tags como <code></code> ao invés de <0></0>.

Traduzir o currículo

Imagem - janela do editor

O Crowdin separa o documento em "strings" traduzíveis, geralmente frases. Cada string é traduzida individualmente. Referente à imagem acima:

  1. Uma string marcada em verde já tem uma proposta de tradução.
  2. Uma string em vermelho ainda não possui uma proposta de tradução.
  3. Uma string com texto acinzentado não é traduzível. Esse é o caso para blocos de código e outros conteúdos que não devem ser traduzidos. Você não poderá selecionar essas strings no editor.
  4. Se um contribuidor propôs uma tradução para uma string, o Crowdin vai mostrar a proposta aqui. Você não pode salvar uma tradução idêntica - ao invés disso, se a tradução estiver precisa, você deve clicar no ícone + para "aprová-la". Uma tradução imprecisa pode ser "desaprovada" com o ícone -.
  5. O Crowdin vai recomendar traduções baseadas na TM (Translation Memory) ou na MT (Machine Translation). Translation Memory se refere a strings similares ou idênticas que já foram traduzidas/aprovadas em outros arquivos. Machine Translation refere-se a traduções recomendadas por bibliotecas integradas.
  6. Esse é o painel do editor, onde você pode propor traduções para a string selecionada.
  7. A string selecionada no editor estará marcada em amarelo.
  8. Aqui você verá tags indicando o estado da string. Done significa que a string possui pelo menos uma proposta de tradução. Todo significa que a string não possui nenhuma proposta de tradução.
  9. Aqui você pode ver a janela de comentários. Se você tem perguntas ou preocupações acerca de uma string em particular, você pode comentar aqui para que outros tradutores vejam.
  10. Esses dois "botões de painel" esconderão o documento à esquerda e os comentários à direita.

[!NOTE] Se você encontrar uma string escondida que inclui traduções, notifique-a na sala de chat dos tradutores para que possamos remover a tradução da memória.

Quando tiver terminado de traduzir uma string, clique em Save para salvar sua tradução no Crowdin. Outros contribuintes poderão votar em sua tradução e os revisores poderão aprová-la.

Fique à vontade para traduzir quantas strings quiser - não há nenhuma etapa adicional requerida quando você completar um arquivo inteiro ou propor uma nova tradução. Clicar em Save é tudo de que você precisa para salvar sua tradução.

[!NOTE] Se você ver algo no arquivo fonte em inglês que esteja impreciso ou incorreto, não conserte pelo mecanismo de tradução. Em vez disso, deixe um comentário na string para nos notificar de uma discrepância ou crie uma issue no GitHub.

Traduzir a documentação

Traduzir nossa documentação de contribuição é similar a traduzir nossos arquivos de currículo.

[!NOTE] Nossa documentação de contribuição utiliza o docsify. Nós temos uma análise especial para caixas de mensagem como essa. Caso veja strings iniciadas com [!NOTE], [!WARNING], ou [!TIP], essas palavras NÃO devem ser traduzidas.

Traduzir o RPG LearnToCode

O RPG LearnToCode é executado no Ren'Py, que usa uma sintaxe especial para strings traduzidas: (Consulte a documentação sobre textos do Ren'Py)

  • As frases a serem traduzidas estarão sempre entre "". Elas são diálogos ou strings da UI. As palavras-chave que vêm antes ou depois do diálogo são palavras-chave de controle do mecanismo do jogo e serão explicadas em detalhes nas regras subsequentes. Observe que esta primeira regra rege todas as regras subsequentes listadas.
  • No caso de new "...", não traduza a palavra-chave new.
  • Prefixos como player, annika, layla, marco (ou variantes como player happy, player @ happy) não devem ser traduzidos. Eles são palavras-chave de controle para exibir corretamente a imagem do personagem no jogo.
  • Textos após as aspas do diálogo, como nointeract, não devem ser traduzidos.
  • Não traduza o que estiver entre [] e {}. Estas são interpolações de variáveis e tags de texto. Estes parênteses devem permanecer com metade da largura [] e {} em vez de seus equivalentes de largura total 【】 e 「」
  • Não traduza a palavra-chave nointeract ao final da frase.
  • Se tentarmos usar parênteses de largura total , receberemos um aviso de controle de qualidade (QA). Para evitar o aviso de QA, use parênteses com metade da largura ()

Exemplos


Antes da tradução

# "[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."
"[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."  <--- esta é a linha que precisa ser traduzida. veja a tradução abaixo

Após a tradução

# "[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."
"[player_name]Que coincidência! Nosso membro VIP da equipe, {a=[vip_profile_url]}[player_name]{/a} ficará honrado ao saber disso."

Observação: as tags [] e {} devem permanecer intactas.


Antes da tradução

old "{icon=icon-fast-forward} Skip"
new "{icon=icon-fast-forward} Skip" <-- traduza essa linha, ver abaixo

Após a tradução

old "{icon=icon-fast-forward} Skip"
new "{icon=icon-fast-forward} Avançar"

Observação: novamente, o prefixo new e a tag {icon=icon-fast-forward} devem ser mantidos intactos.


Antes da tradução

# layla @ neutral "Hehe, [player_name], you are a fun one. I'm sure you will enjoy your work as a developer."
layla @ neutral "Hehe, [player_name], you are a fun one. I'm sure you will enjoy your work as a developer."

Após a tradução

# layla @ neutral "Hehe, [player_name], you are a fun one. I'm sure you will enjoy your work as a developer."
layla @ neutral "Ha ha, [player_name], é divertido falar com você. Tenho certeza de que você vai gostar de trabalhar em desenvolvimento."

Observação: layla @ neutral e [player_name] permanecem inalterados.


Antes da tradução

# player "Maybe this is all a dream?" nointeract
player "Maybe this is all a dream?" nointeract

Após a tradução

# player "Maybe this is all a dream?" nointeract
player "Será que isso tudo é um sonho?" nointeract

Uma observação sobre o modo como o Crowdin segmenta uma frase

Preste atenção na maneira como o Crowdin segmenta uma linha de diálogo envolvida por aspas de abertura e fechamento "". Quando traduzirmos o diálogo, temos de manter as aspas de abertura e fechamento, mesmo que as aspas apareçam em diferentes segmentos.

Esta é a linha que precisa ser traduzida:

player @ surprised "{b}Full-stack{/b}... What is that? I better take notes so I can learn more about it."

O Crowdin segmenta a string em três partes, como vemos abaixo:

Screen Shot 2022-01-23 at 10 36 43
# original
player @ surprised "{b}Full-stack{/b}
# translated, keeping the opening quotes `"`
player @ surprised "{b}Full-stack{/b}
Screen Shot 2022-01-23 at 10 36 49
# original
What is that?
# tradução, sem aspas dos dois lados
O que é isso?
Screen Shot 2022-01-23 at 10 36 54
# original
I better take notes so I can learn more about it."
# traduzido, mantendo as aspas de fechamento `"`
É melhor eu anotar para saber mais a respeito."

Avaliar as traduções

O Crowdin permite que você avalie propostas de tradução existentes. Se você tentar salvar uma tradução, você pode ver uma mensagem indicando que você não pode salvar a duplicata de uma tradução - isso significa que outro contribuinte já propôs uma tradução idêntica. Se você concorda com aquela tradução, clique em + para "aprová-la".

Se você ver uma tradução que não possui a mesma clareza da string original, clique em - para "desaprová-la".

O Crowdin usa esses votos para pontuar cada proposta de tradução de cada string, o que ajuda o time de revisão a determinar qual tradução é a melhor para cada string.

Verificações de qualidade

Nós disponibilizamos algumas verificações de qualidade para assegurar que as traduções estejam precisas - isso ajuda nossos revisores a analisarem as traduções propostas.

Quando você tenta salvar uma tradução, talvez veja uma mensagem de aviso aparecer a respeito da sua tradução proposta.

Imagem - Mensagem de aviso de QA

Essa mensagem aparece quando o sistema QA (Verificação de Qualidade) do Crowdin identificou algum erro em potencial na tradução proposta. Nesse exemplo, nós modificamos o texto da tag <code> e o sistema viu isto.

[!WARNING] Você tem a opção de salvar uma tradução apesar dos erros. Se fizer isso, clicando em "Save Anyway", você também deve marcar um revisor ou gerenciador do projeto e explicar o motivo do aviso ter sido ignorado nesse caso.

Boas práticas na tradução

Siga essas diretrizes para se certificar de que nossas traduções estão o mais precisas possível:

  • Não traduza o conteúdo dentro de tags <code>. Essas tags indicam que o texto está formatado para o código e deve ser deixado em inglês.
  • Não adicione conteúdo extra. Se você acha que um desafio necessita de mudanças no texto e conteúdo adicional, você deve propor as mudanças através de uma issue no GitHub ou um pull request que modifique o arquivo em inglês.
  • Não mude a ordem do conteúdo.

Se você tiver alguma dúvida, sinta-se à vontade para entrar em contato conosco através da sala de chat dos tradutores e nós ficaremos felizes em ajudar você.