Jump to content

Ajuda:Extensão:Translate/Administração de tradução de páginas

From mediawiki.org
This page is a translated version of the page Help:Extension:Translate/Page translation administration and the translation is 100% complete.

O que. O recurso de marcar as páginas para tradução torna possível a conversão organizada dum texto duma língua para outra. O conteúdo de cada tradução será, geralmente, igual ao da página de origem. Isso difere das Wikipedias em cada língua, que são independentes umas das outras. Supõe-se que as páginas são traduzidas de uma língua principal para outros idiomas, mas os tradutores podem usufruir de traduções em outras línguas.

Por que. Sem qualquer ajuda, traduzir mais do que algumas páginas para outros idiomas torna-se uma perda de tempo na melhor das hipóteses, uma bagunça insustentável, na pior. Com o recurso de tradução de páginas você pode evitar a confusão e trazer estrutura para o processo de tradução. A ideia central é que o texto de origem seja segmentado em unidades menores, cada uma das quais vai ser traduzida individualmente. Quando o texto de origem é segmentado em unidades, todas as alterações podem ser isoladas e tradutores só precisam atualizar as traduções de unidades que tiveram alterações no texto-fonte. Isso também permite que tradutores trabalhem em unidades de tamanho gerenciável e compartilhem o trabalho entre vários tradutores ou continuem a tradução em sessões posteriores, porque não precisam fazer tudo de uma vez.

Quem. Esta página desenvolve o tutorial de tradução de páginas proporcionando uma análise mais profunda sobre a forma como o sistema funciona, e sugere que as melhores práticas para uma ampla variedade de casos. Esta página destina-se a administradores de tradução de páginas e, em geral para todos que editam o texto de origem de páginas traduzíveis, mesmo que eles não tenham o acesso aos recursos administrativos de aprovação de mudanças para a tradução.

Vida de uma página traduzível

Papéis. Várias pessoas estão envolvidas no processo de escrita e tradução de uma página wiki: o escritor cria uma página inicial, alguém corrige erros de ortografia, um administrador de página de tradução marca a página para a tradução, os tradutores traduzem, alguém faz alterações na página, um administrador de tradução marca essas alterações para tradução e tradutores atualizam as traduções. Esses papéis podem se sobrepor mais ou menos, mas a responsabilidade final de uma tradução livre de problemas é deixado para o administrador de tradução. O administrador decide quando a página está pronta para a tradução pela primeira vez, garante que a segmentação sirva a um propósito e aprova (ou corrige) as mudanças.

Preparação. Para ter algo traduzido você tem que escrever primeiro. Se você já fez a tradução sem a extensão Translate, veja abaixo a seção sobre migração de traduções. Se você quer um monte de tradução e rapidamente, é fundamental para o texto de origem estar em boa forma. Antes de marcar a página para tradução, peça a alguém para corrigi-la e se possível peça a um especialista em linguagem para tornar o texto mais claro e conciso. Palavras raras e frases complexas são difíceis de traduzir. Marcações demais podem causar problemas para os tradutores, mas como administrador de tradução, você pode evitar esses problemas (veja abaixo a seção sobre manipulação de marcação). Naturalmente as alterações feitas no texto original forçam a atualização de todas as traduções existentes, por isso é melhor esperar até que o conteúdo da página tenha se estabilizado. Por outro lado, mudanças acontecem e o sistema as processa da melhor maneira, então confira a seção sobre como lidar com as mudanças abaixo.

Marcação. Quando o texto está pronto para a tradução, qualquer um pode marcar as partes traduzíveis envolvendo-as entre as tags ‎<translate> e adicionando a barra ‎<languages /> no topo da página. Esta última acrescenta uma lista de todas as traduções da página, com as porcentagens de sua conclusão e atualização. Não há nenhuma outra indicação de que as traduções existem. Veja abaixo como fazer esta marcação. O sistema irá detectar quando as tags são colocadas na página traduzível, e a página terá um link para marcá-la para tradução. Ele também irá notificar e evitar o salvamento se você, por exemplo, esqueceu de adicionar uma tag de fechamento. A página traduzida também será listada na página especial Special:PageTranslation como “pronto para marcar”.

Marcação para tradução. Após a marcação, um administrador de tradução marca a página para tradução. A interface é explicada neste exemplo de tradução de página. A responsabilidade do administrador de tradução é certificar-se que a segmentação faz sentido e que a marcação foi correta. A página pode ser marcada de novo se ela foi alterada nesse meio tempo. Veja abaixo como fazer alterações que causam o mínimo de interrupções. A marcação da página começa um processo de fundo que usa a fila de tarefas do MediaWiki. Este processo passa por cada página de tradução e regenera-a: mudanças na predefinição de tradução de página será refletida e traduções desatualizadas será substituído temporariamente com o texto original. Pelo contrário, a interface de tradução é atualizada imediatamente.

Alterações. Os usuários podem continuar a fazer alterações no código fonte da página traduzível. As alterações ficarão visíveis para os usuários que visualizam a página no idioma de origem, mas as traduções são feitas com base nas unidades de tradução extraídas da última versão da página traduzível que foi marcada para tradução: as páginas de tradução são reportadas como 100 % up atualizadas se todas as unidades de tradução tiverem sido traduzidas, mesmo que a página de origem tenha novas alterações. Você pode ver facilmente se há alterações não marcadas ao visualizar a página traduzível no idioma de origem: há um aviso na parte superior que diz que você pode traduzir esta página e também links para alterações, se houver alguma.

Invalidação. Se forem feitas alterações na fonte da página traduzível, o administrador da tradução terá a opção de “Necessário atualizar a tradução” para cada seção. Se uma seção for invalidada, os idiomas traduzidos terão uma cor de fundo rosa para essas seções e um ícone de relógio será mostrado aos tradutores na interface de tradução. Se uma seção não for invalidada, nenhuma alteração será visível para os leitores das páginas traduzidas, e os tradutores terão que examinar a seção na interface de tradução para ver as alterações.

Idioma de origem. Há também uma página de tradução com o código de idioma do idioma de origem: ele não contém as tags extras e outras marcações relacionadas à tradução da página que são utilizadas no código fonte da página traduzível. Esta página não está ligada a partir da interface, mas é útil, por exemplo, quando você quer transcluir a página (normalmente para predefinições traduzíveis) ou exportá-la. Por exemplo, a página em que você está está disponível sem marcações em Help:Extension:Translate/Page translation administration/en.

Alterando o idioma de origem. A extensão normalmente assume que a página de origem traduzível está no idioma padrão do wiki. Os administradores podem alterar a configuração de idioma de uma página específica, usando a página Special:PageLanguage, para que ela possa ser usada como uma página de origem para tradução. Consulte Linguagem do conteúdo da página para obter detalhes.

Idioma de tradução. As páginas de tradução podem conter texto em diferentes idiomas se não estiver totalmente traduzido. Nas páginas de tradução, as unidades de tradução não traduzidas serão marcadas com a linguagem apropriada e a direção do texto para que as regras do CSS sejam aplicadas corretamente. O MediaWiki, no entanto, não permite atualmente a linguagem para analisar além do nível de página. Todas as funções mágicas de palavras e analisadores usam a linguagem de destino da tradução, mesmo que o texto circundante não seja traduzido. Isso pode criar uma incompatibilidade indesejada, por exemplo, quando formatar números ou datas. Algumas funções mágicas e tags de analisador permitem definir o idioma de saída e, nesse caso, você pode usar a palavra mágica {{TRANSLATIONLANGUAGE}} que retorna o idioma de origem para unidades não traduzidas ou o idioma de destino para unidades traduzidas.

Pedidos de tradução fechados. Algumas páginas traduzíveis têm um conteúdo que só é interessante por um determinado período de tempo. Por exemplo, anúncios e atualizações regulares de status, como os destaques mensais da Wikimedia. Você pode manter essas páginas com traduções, mas ocultá-las da interface de tradução. Isso não impede outras traduções para as páginas, mas reduz muito a chance de um usuário começar a traduzir a página acidentalmente. O desencorajamento e sua reversão são feitos a partir de Special:PageTranslation.

Priorizando idiomas. Você também pode definir uma lista de idiomas que você especificamente quer traduções incluídas; deixar a lista de idiomas vazia é interpretado como todos os idiomas permitidos. A página se comportará como uma página desencorajada (consulte o parágrafo anterior) para os idiomas que não estão na lista de prioridade e, ao traduzir para eles, os tradutores receberão um aviso. Você também pode impedir a tradução em outros idiomas, por exemplo, se as traduções forem realmente usadas em outros lugares e você não puder usá-las em outros idiomas.

Agrupamento. É possível agrupar páginas relacionadas. Esses grupos funcionam como todos os outros grupos de mensagens. Eles têm as suas próprias estatísticas e contêm todas as mensagens dos subgrupos: neste caso, páginas traduzíveis. Esta funcionalidade está atualmente na página especial Special:AggregateGroups. Grupos de mensagens agregados estão recolhidos por padrão em Special:LanguageStats no seletor de grupo de Special:Translate.

Movimentação. Você pode mover páginas traduzíveis como faria com qualquer outra página. Ao mover, você pode escolher se você deseja mover qualquer subpáginas não traduzíveis também. O movimento utiliza uma tarefa de fundo para mover as muitas páginas relacionadas. Enquanto o movimento está em andamento, não é possível traduzir a página. A conclusão é anotada no registro da página de tradução. Para obter mais informações, consulte o guia para mover uma página traduzida .

Exclusão. Como a movimentação, a exclusão é acessada a partir do local normal. Você pode delete a página traduzível inteira ou apenas uma página de tradução, a partir do botão de exclusão nela. A exclusão também excluirá todas as páginas de unidades de tradução relacionadas. Como no movimento, um processo em segundo plano excluirá as páginas ao longo do tempo e a conclusão será anotada no registro de tradução de páginas. A exclusão requer a permissão "delete" e "pagetranslation", mas as páginas individuais da unidade de tradução sempre podem ser excluídas com o "delete" padrão.

Reversão. Da mesma forma, reverter edições incorretas funciona como de costume (inclusive o botão de reversão): você só tem que editar a unidade de tradução afetada e a página de tradução será atualizada. Para encontrar a edição da unidade de tradução a partir da edição da página de tradução, basta clicar no link "contribs" do editor e procurar uma edição em um momento semelhante. No sistema de tradução, você pode marcar uma tradução existente como desatualizada adicionando !!FUZZY!! no início da caixa de mensagem traduzida da unidade de tradução.

Proteção. É possível proteger a página traduzível. Páginas de tradução não podem ser protegidas, nem a proteção da página traduzível se estender a elas. Para evitar mais alterações em traduções, você deve adicionar o idioma de origem como apenas idioma prioritário e desabilitar as traduções para outros idiomas, consulte priorizando idiomas acima. Juntas, essas duas ações efetivamente previnem alterações, tanto a página de origem quanto as páginas de tradução com suas páginas de unidades de tradução. É possível proteger unidades de páginas de tradução individuais, embora não seja aconselhável.

Remoção da tradução. Também é possível desmarcar uma página para tradução. Você pode usar Special:PageTranslation ou seguir o link na parte superior da página traduzível para removê-lo da tradução. Isso removerá qualquer estrutura relacionada à conversão de páginas, mas deixará todas as páginas existentes no local, livremente editáveis. Esta ação não é recomendada.

Transclusão consciente da linguagem. É possível transcluir uma página traduzível em outra página como um modelo. Nesse caso, a página traduzível será carregada no idioma da página de destino se ela tiver sido traduzida para esse idioma. Se essa tradução não existir, a página traduzível será carregada no idioma de origem. Esse comportamento de uma página traduzível é controlado pela opção Ativar transclusão com reconhecimento de tradução para esta página ao marcar a página para tradução. Novas páginas traduzíveis terão esse comportamento ativado por padrão.

Anatomia de uma página traduzível

A tradução de uma página traduzível irá produzir muitas páginas, que em conjunto compõem a página traduzível no sentido mais amplo: o título é determinado pelo título traduzível Page:

  • Página – a página de origem
  • Página/<código de idioma> – as páginas de tradução, além de uma cópia da página de origem, sem marcação
  • Translations:Página/<identificador da unidade de tradução>/<código de idioma> – todas as páginas de unidades de tradução

Além disso, há a predefinição da página de tradução e as fontes de unidades de tradução, extraídas da página de origem e armazenadas no banco de dados. O sistema mantém o controle de quais versões da página de origem contêm tags de tradução e de qual versão delas foi marcada para tradução.

Sempre que uma página de unidade de tradução é atualizada, o sistema também gerará a página de tradução correspondente. Isto resultará em duas edições. A edição da página de unidade de tradução está oculta por padrão nas mudanças recentes e pode ser mostrada ao escolher Mostrar traduções do filtro de tradução. Qualquer ação que não seja a edição (como a exclusão e a movimentação) das páginas de unidade de tradução não acionará a regeneração da página de tradução correspondente.

Se você precisa da cópia da página de origem, sem marcação, por exemplo, para ser colado em outra wiki sem a extensão Translate,

  • identifique o código do idioma de origem (para inglês, en) e viste Page/<language code>
  • clique no botão "Ver histórico" para chegar a um endereço como este e substitua action=history por action=raw na barra de endereços, pressione enter
  • o texto será exibido ou salvo.

Segmentação

Princípios gerais:
  1. Todo o texto destinado à tradução deve ser colocado entre marcadores ‎<translate>. Pode haver vários pares de marcadores em uma página.
  2. Tudo que estiver fora dessas tags não será alterado em qualquer página de tradução. Este texto estático, juntamente com os espaços reservados que marcam o lugar onde a tradução de cada unidade de tradução será substituída, é chamado de modelo de página de tradução.
  3. O excesso de marcação no texto dificulta a tradução por parte dos tradutores. Coloque as tags ‎<translate> mais próximas umas das outras, contendo menos wikitexto, quando houver muita marcação.
  4. O texto dentro das tags ‎<translate> é dividida em unidades de tradução em que há uma ou mais linhas em branco entre elas (duas ou mais novas linhas).

Restrições. O recurso de página de tradução coloca algumas restrições sobre o texto. Não deve haver qualquer marcação que se estenda por mais de duas ou mais unidades de tradução. Em outras palavras, cada parágrafo deve ser auto-suficiente. Atualmente, isso não é aplicado no software, mas a violação invalidará a renderização da página, a gravidade, dependendo se o próprio MediaWiki é capaz de corrigir a saída HTML resultante ou não.

Ordem de análise. Cuidado, as tags ‎<translate> funcionam de forma diferente das outras tags, pois não passam pelo analisador. Normalmente, isso não deve causar problemas, mas pode acontecer se você estiver tentando algo sofisticado. Em mais detalhes, elas são analisadas antes de quaisquer outras tags, como ‎<pre> ou ‎<source>, exceto ‎<nowiki>, que é reconhecida pela extensão Translate.

Posicionamento da tag

Requisitos específicos do ‎<translate> para que ele funcione corretamente, especialmente relacionados ao tratamento de espaços em branco, ao uso em parâmetros e tabelas sem nome e ao espaçamento entre o marcador de unidade e o texto, mencionados abaixo.

Colocação de tags. Se possível, tente colocar as tags em suas próprias linhas, sem linhas vazias entre o conteúdo e as tags. Às vezes isso não é possível, por exemplo, se você quiser traduzir algum conteúdo cercado pela marcação, mas não a própria marcação. Isso é bom também, por exemplo:

{{Template|1=<translate>Algum parâmetro localizado</translate>}}

Para fazer este trabalho, a extensão tem um manuseio simples de espaços em branco: o espaço em branco é preservado, exceto se uma tag ‎<translate>‎</translate> de abertura ou fechamento é a única coisa em uma linha. Nesse caso, a nova linha após a tag de abertura ou antes da tag de fechamento é ignorada. Isso significa que eles não causam espaço extra na versão renderizada da página.

Unidades de tradução menores são mais fáceis de traduzir e de manter. Considere dividir parágrafos longos em várias unidades de tradução usando vários conjuntos de tags de ‎<translate>.

Se você inserir uma tag dentro de um valor de parâmetro de uma chamada de modelo, certifique-se de que o parâmetro seja nomeado (caso contrário, adicione um nome numérico, como 1=).

Se você inserir uma tag dentro de uma célula de tabela, certifique-se de que não haja excesso de espaço em branco entre as tags e a marcação table , pois isso atrapalhará a saída do HTML.

Nota Nota: Você deve deixar o espaço entre o conteúdo e o marcador de unidade (esse espaço é adicionado automaticamente pelo software). Caso contrário, o editor exibirá uma mensagem de erro: "Marcadores de unidade de tradução em posição inesperada", e você não conseguirá publicar. Por exemplo:

Correto: <translate><!--T:1--> Hello, world.</translate>
Incorreto: <translate><!--T:1-->Hello, world.</translate>

Revisão: Variáveis

Consulte também Meta:Internationalization guidelines#Translation variables.

Para ocultar elementos não traduzíveis do tradutor, ou para garantir que o conteúdo que está no meio de uma unidade de tradução não seja submetido ao processo de tradução, como destinos de links e nomes de arquivos, use a marcação variável, conforme descrito abaixo, como um escape.

É possível usar variáveis semelhantes às variáveis de uma predefinição. A sintaxe para isso é ‎<tvar name="name">contents‎</tvar> (as aspas são opcionais se o valor não contiver espaços ou qualquer um dos " ' ` = < >). Nota Nota: as variáveis devem ser nomeadas, caso contrário, isso pode causar uma renderização inválida da página. Para os tradutores, as variáveis aparecerão apenas como $name e, nas páginas de tradução, serão substituídas pelo conteúdo da tvar denominada name. Portanto, elas são "constantes" globais em todas as suas páginas de tradução). Isso também funciona para itens como números que precisam ser atualizados com frequência. Você pode atualizar o número em todas as traduções alterando o valor da variável na fonte da página traduzível e marcando novamente a página para que seja aplicada universalmente em todas as versões de idioma. Não é necessário invalidar as traduções, pois o número não faz parte das páginas da unidade de tradução.

Observe que as variáveis não são compartilhadas entre unidades de tradução diferentes. Se você quiser usar a mesma variável em mais de uma unidade, deverá repetir o código em cada unidade. Você pode usar o mesmo nome. As variáveis de tradução podem ser usadas para separar e ocultar elementos ou conteúdos não traduzíveis, como destinos de links e nomes de arquivos, do processo de tradução ou do meio da unidade de tradução. Por exemplo, isso pode ser usado para mostrar um link cujo rótulo deve ser traduzido, mas não o URL real:

[[<tvar name="example">Special:MyLanguage/Help:Extension:Translate</tvar>|Translation extension]]

Valores separados por virgula. Para conteúdo como dados do Graph, que precisa ser analisado pelo software como valores separados por vírgula, você deve separar as unidades de tradução entre cada vírgula, para que os editores da tradução não usem vírgulas localizadas que confundirão o software.

Valores de texto simples. Para evitar qualquer tipo de modificação no valor da tradução, use o atributo nowrap da seguinte forma: <translate nowrap>...</translate>. Por padrão, os valores desatualizados e não traduzidos são modificados para dar suporte ao destaque e à marcação de idioma.

‎<nowiki> de manuseio: Antes da versão 2020.10 do Translate, ‎<nowiki> não era tratado de forma consistente e as páginas ainda apareciam em Special:PageTranslation. Escapes como "&lt;translate>...&lt;/translate>" foram usados como uma solução alternativa.

Sintaxe anterior: Antes da versão 2021.04 do Translate, a sintaxe era <tvar|name>contents</> (T274881). Essa sintaxe ainda é compatível, mas está obsoleta.

Exemplos de marcação

Abaixo estão listadas algumas alternativas e maneiras sugeridas de lidar com diferentes tipos de marcação wiki.

Atributos

Por padrão, a extensão de tradução pode envolver unidades de tradução desatualizadas para destacá-los e unidades não traduzidas para definir metadados de idioma adequados.

Em algumas circunstâncias, a marcação adicional adicionada por este embrulho não é adequada.

<abbr title="<translate nowrap>Frequently asked questions</translate>"><translate>FAQ</translate></abbr>

Categorias

Categorias podem ser adicionadas de duas maneiras: no modelo da página de tradução ou em uma das unidades de tradução.

Se você tiver as categorias no modelo da página de tradução, todas as traduções acabarão na mesma categoria.

Se você tiver categorias dentro das unidades de tradução, deverá ensinar aos usuários um esquema de nomenclatura.

À direita, mostramos dois esquemas possíveis que são independentes dos meios técnicos para adotá-los.

Tradução pela adição do sufixo de idioma: Category:Cars/fi (recomendado)

[...]
</translate>

[[Category:Cars{{#translation:}}]]
  • Category page name not translated (just like the page names).
  • Uma categoria para cada linguagem.
  • A tradução da página podia ser utilizada para a própria categoria: as categorias seriam ligadas entre si e os cabeçalhos seriam traduzidos (mas não o nome da categoria em links e afins).

Sem tradução: Category:Cars

  • Todas as traduções na mesma categoria (bom, se for em apenas alguns idiomas, e ruim se for em muitos).
  • Nome da categoria não traduzido (pode ser colocado como está no modelo de tradução).

Comentários do código

Embora as amostras de código não devam ser traduzidas, você pode traduzir comentários em amostras de código usando tags ‎<translate> e o atributo nowrap.
<syntaxhighlight lang="php">
public static function registrationCallback() {
   // <translate nowrap>Deve corresponder ao nome usado na configuração da extensão</translate>
   define( 'CONTENT_MODEL_EXAMPLE', 'example' );
}
</syntaxhighlight>

Cabeçalhos

Marcação recomendada em títulos de seção de marcação de tradução:
  • Inclua a marcação dos títulos dentro das tags de tradução, para que o tradutor obtenha o contexto.
  • Insira um newline entre a tag translate de abertura e o título, ou o MediaWiki não o identificará corretamente como um título. Por exemplo, edição de seção não funciona se a marcação recomendada não for usada.

Os títulos devem ser separados por uma linha em branco. Dessa forma, alguém pode traduzir rapidamente o índice antes de entrar no conteúdo. Além disso, ele garante que âncoras vinculáveis sejam geradas para o título.

Correto:

<translate>
== Cultura == 

Lorem ipsum dolor.
</translate>

Incorreto: (sem nova linha após a tag ‎<translate>, cabeçalho fora das tags de tradução)

== <translate>Cultura</translate> ==

Incorreto: (sem nova linha)

<translate>== Cultura ==</translate>

Ligações

Se a página de destino for ou deva ser traduzível, o wikilink deverá ser precedido de Special:MyLanguage/.

Qualquer página que possa ser traduzida deve ser vinculada com Special:MyLanguage/, mesmo que não seja de fato internacionalizada. Assim, somente o rótulo do link precisará ser traduzido, pois o wikilink redireciona automaticamente os usuários para a página de tradução em seu próprio idioma de interface, conforme selecionado, por exemplo, por meio do UniversalLanguageSelector. Entretanto, para obter um comportamento consistente, a sintaxe deve ser usada para todos os links.

Os links devem ser incluídos nas tags do parágrafo, pois isso permite que o tradutor altere o rótulo do link e também altere o destino do link para uma versão localizada , se houver.

Os elementos intraduzíveis dos wikilinks podem ser ocultados do tradutor usando a variable syntax.

No mediawiki.org, você pode usar Template:Localized link para criar links para páginas no mesmo wiki como uma alternativa mais simples a Special:MyLanguage/. Isso também funciona no Meta-Wiki e em outros wikis multilíngues da Wikimedia com um modelo semelhante.

Links para páginas traduzíveis:

<translate>
Os desenvolvedores podem [[<tvar name=1>Special:MyLanguage/Manual:Extensions</tvar>|escrever novas extensões]].
</translate>

Links para páginas com uma versão separada e localizada:

<translate>
Helsinque é a capital da [[w:Finland|Finlândia]].
</translate>

Links para páginas não traduzíveis:

<translate>
A barra lateral é definida em <tvar name=1>[[MediaWiki:Sidebar]]</tvar>.
</translate>

Links externos:

<translate>
O PHP ([<tvar name=url>http://php.net</tvar> website]) é uma linguagem de programação.
</translate>

Listas

Considere segmentar listas longas em várias partes com um item de lista por unidade. Faça isso somente se os itens forem independentes o suficiente para serem traduzidos separadamente em todos os idiomas. Evite criar "mensagens lego", dividindo uma única frase em várias unidades ou separando partes logicamente conectadas, pois isso pode afetar a pontuação ou o estilo da lista.

Não insira linhas vazias entre os itens da lista, pois isso dividirá a lista, causando aparência incorreta e problemas de acessibilidade ("list gap").

Nota Nota: Ao segmentar uma lista, use as tags ‎<translate> para cada item da lista, excluindo os asteriscos, hashes ou pontos e vírgulas iniciais no texto que são usados para a marcação da lista. Caso contrário, a lista será dividida em várias listas quando qualquer uma das unidades de tradução estiver desatualizada, e as tags ‎<translate>...‎</translate> e o conteúdo entre elas serão marcados como não editáveis no editor visual.

Correto:

<translate>
Por favor, visite:
* nossa página principal
* e depois a página de perguntas frequentes.
</translate>

ou

* <translate>Princípios gerais</translate>
* <translate>Cabeçalhos</translate>
* <translate>Imagens</translate>
* <translate>Tabelas</translate>
Incorreto:
<translate>* Princípios gerais</translate>
<translate>* Cabeçalhos</translate>
<translate>* Imagens</translate>
<translate>* Tabelas</translate>

Mídia

Se for necessária uma versão diferente de um arquivo de mídia para idiomas diferentes, inclua a sintaxe completa do arquivo dentro das tags translate. Por exemplo, um diagrama que inclua texto deve ser substituído por uma nova imagem em cada idioma.

Se um arquivo de mídia permanecer o mesmo em diferentes idiomas, traduza apenas a legenda ou outros parâmetros de texto.

Arquivo diferente para cada idioma:

<translate>
[[File:Europe countries map en.png|thumb|Mapa da Europa com nomes de países]]
</translate>

O mesmo arquivo para cada idioma:

[[File:Ball.png|50px|<translate>Ícone bola</translate>]]

Números

Com os números e outros elementos não linguísticos você pode querer remover o número da tradução e torná-lo uma variável. Isto traz vários benefícios:
  • Você pode atualizar o número sem invalidar traduções.
  • A memória de tradução pode funcionar melhor quando o número alterado é ignorado.
<translate>
Renda este mês <tvar name=income>{{FORMATNUM:3567800}}</tvar> EUR
</translate>

Observe que isso impede que os tradutores de localizarem o número, fazendo a conversão de moeda. A chamada do código FORMATNUM garante que o número seja formatado corretamente no idioma-alvo.

Criando tabelas

Para traduzir tabelas, adicione tags ‎<translate> ao redor apenas do texto traduzível.
{| class="wikitable"
! <translate>Versão<translate>
! <translate>Status<translate>
|-
| 1.0.0
| <translate>Estável</translate>
|}

Predefinições

As predefinições têm funções e objetivos diferentes, por isso a melhor solução depende do que a predefinição se destina. Se a predefinição não é uma parte do parágrafo mais longo, deve ser deixada de fora, a menos que ela tenha parâmetros que precisam ser traduzidos.

Para um exemplo de predefinições traduzidas com a tradução de páginas, consulte Predefinição:Extensão Translate .

Outra maneira para traduzir a predefinição é usar a tradução desestruturada de elementos, mas, em seguida, o idioma da predefinição seguirá o idioma da interface do usuário, e não o idioma da página que ele está vendo.

Traduzir predefinições sem parâmetros:

{{Subpáginas}}

Modelos com parâmetros traduzíveis:

{{MyTemplate|1=<translate>Olá!</translate>}}
Ao traduzir um parâmetro de modelo, certifique-se de que o parâmetro seja nomeado ou use um nome numérico, como 1=.

Transclusão

Você pode transcluir uma página traduzida em outra página traduzida usando a sintaxe padrão Transclusão . Se não houver tradução disponível para o idioma de destino, o conteúdo transcluído será exibido no idioma de origem.
<translate>
== Dicas de comunicação ==
</translate>

{{:Dicas de comunicação}}

Página traduzível

(introduzido na a582f3ad21bd)

Ele pode ser usado em modelos que são transcluídos em páginas traduzíveis e não traduzíveis, e deve se comportar de forma diferente dependendo se a página é traduzível (por exemplo, usar o idioma do usuário em páginas não traduzíveis). Ele retorna o título da página de tradução (a página da qual outros idiomas são traduzidos) se uma página for traduzível (incluindo páginas traduzidas) e nada se a página não for traduzível. Da mesma forma que a tag ‎<languages> parser, ela não retorna nada se a página contiver marcação de tradução, mas ainda não tiver sido marcada para tradução.
{{#if:{{TRANSLATABLEPAGE}}|{{Alguns modelos}}|{{Alguns modelos/{{int:lang}}}}}}

Supondo que Template:Algum modelo seja um modelo traduzível com a transclusão com reconhecimento de idioma (veja acima) ativada e que MediaWiki:lang e suas traduções estejam configuradas no wiki fornecido de forma semelhante a mediawiki.org, o código acima o transclui no idioma da página em páginas traduzíveis e no idioma da interface do usuário em outras páginas.

Idioma da página traduzido

(introduzido na 98b6958a2471)

Os modelos traduzidos podem querer definir o idioma em que estão de fato (por exemplo, em um elemento HTML de wrapper). Quando usado fora das tags ‎<translate>, {{TRANSLATIONLANGUAGE}} retorna o idioma da página em que está diretamente (em oposição ao idioma da página em que o leitor o vê). Suponha que {{1/en}} seja transcluído na página intitulada 2/de.
  • Se {{PAGELANGUAGE}} for usado no texto de {{1/en}}, ele retornará de.
  • Se {{TRANSLATIONLANGUAGE}} for usado no texto de {{1/en}} (fora das tags ‎<translate>), ele retornará en.

Idioma de tradução

(introduzido na 5e8106cdc353)

Quando o texto está usando métodos de formatação dependentes de linguagem, uma incompatibilidade pode aparecer para seções não traduzidas.

{{TRANSLATIONLANGUAGE}} pode ser usado para evitar isso.

2020-09-15 is {{#time:l|2020-09-15|pt-br}}

A entrada acima pode ser renderizada como:

  • inglês: 2020-09-15 is Tuesday.
  • finlandês: 2020-09-15 on tiistai.

Sem a palavra mágica, o texto não traduzido em uma página de tradução em finlandês seria renderizado como:

  • 2020-09-15 is tiistai

Variáveis de tradução

Use tags ‎<tvar> para ocultar elementos não traduzíveis dos tradutores.

Cada variável de tradução deve ter um name: uma palavra curta ou, se os tradutores não precisarem saber o conteúdo da variável, um número. Cada variável em um conjunto de tags ‎<translate> deve ter um name diferente.

Correto:
<translate>
Se você definir a variável em <tvar name=1>LocalSettings.php</tvar>, o valor padrão em <tvar name=2>extension.json</tvar> não será usado.
</translate>

Incorreto: (sem name)

<translate>
O nome do arquivo deve ser <tvar>extension.json</tvar>.
</translate>

Incorreto: (o mesmo name para múltiplas variáveis em um conjunto de tags ‎<translate>)

<translate>
Para usar o Markdown, adicione a extensão de arquivo <tvar name=1>.md</tvar>, como <tvar name=1>README.md</tvar>.
</translate>

Mudando o texto fonte

Não adicione marcadores de unidade (<!--T:1-->) você mesmo, o sistema fará isso automaticamente.
Princípios gerais:
  • Evite alterações desnecessárias que invalidem as unidades de tradução
  • Faça as alterações da forma mais isolada possível
  • Se você fizer pequenas alterações em uma unidade de tradução existente, mantenha o marcador. Se você modificar significativamente um parágrafo inteiro, exclua o marcador
  • Não adicione você mesmo marcadores de unidades de tradução
  • Ao editar, os marcadores de unidade devem ser deixados em paz e sua posição em relação à unidade à qual pertencem não deve ser alterada.
  • Ao mover uma unidade, mova também o marcador da unidade.
  • Ao excluir uma unidade, exclua também o marcador.

Embora você possa editar o conteúdo traduzido usando o VisualEditor, é necessário usar o editor de código-fonte para adicionar ou alterar a marcação de tradução. Para facilitar a adição de marcações de tradução, use os botões na caixa abaixo da interface de edição.

Não use a edição de seção ao editar páginas traduzidas, pois isso adiciona espaço em branco extra à página.[1] Sempre selecione a opção para editar a página inteira.

Marcadores de unidade

Quando uma página é marcada para tradução, o sistema atualiza a fonte da página traduzível e adiciona identificadores exclusivos, chamados de "marcadores de unidade", para cada unidade de tradução. Veja o exemplo abaixo. Um exemplo de um marcador de unidade é <!--T:1-->. Esses marcadores de unidade são cruciais para o sistema, que os utiliza para rastrear alterações em cada unidade de tradução. Você nunca deve adicionar marcadores de unidade por conta própria. Os marcadores de unidade estão sempre na linha antes da unidade; ou, se inicia com um cabeçalho, após o primeiro cabeçalho na mesma linha. O posicionamento diferente para cabeçalhos é necessário para manter a edição de seção funcionando como esperado.

<translate>
== Birds == <!--T:1-->
Birds are animals which....

<!--T:2-->
Birds can fly and...
</translate>

Alterando o texto da unidade

A alteração é a operação mais comum para unidades de tradução. Você pode corrigir erros de ortografia, corrigir a gramática ou fazer outras alterações na unidade. Ao alterar o texto da unidade, os marcadores de unidade não devem ser removidos, e sua posição em relação à unidade à qual pertencem não deve ser alterada. Isso ocorre porque a maioria das edições mantém a estrutura original da unidade de tradução e, portanto, há a possibilidade de reutilizar traduções existentes. Ao marcar novamente a página para tradução, você verá a diferença no texto da unidade. A mesma diferença também é mostrada aos tradutores quando eles atualizam suas traduções. Para correções ortográficas simples e outros casos em que você não deseja que as traduções existentes sejam destacadas nas páginas traduzidas, você pode evitar invalidá-las: os tradutores ainda verão a diferença se atualizarem a tradução por qualquer motivo. Deixar marcadores destaca as alterações nas unidades de tradução na interface do administrador de tradução, mesmo para edições menores, e permite que os administradores de tradução comparem as alterações e decidam se devem invalidar as traduções existentes. A remoção de marcadores trata as unidades modificadas como totalmente novas, dificultando a comparação das alterações na interface do administrador de tradução.

Adição de novo texto

Você pode adicionar livremente texto novo dentro das tags ‎<translate>. Certifique-se de que há uma linha em branco entre as unidades adjacentes, de modo que o sistema irá vê-lo como uma nova unidade. Você também pode adicionar tags ‎<translate> ao redor do novo texto, se ele não está dentro de tags ‎<translate> existentes. Mais uma vez, não adicione marcadores de unidade manualmente, o sistema irá fazê-lo.

Ao adicionar texto, sua meta é alterar o mínimo possível de unidades de tradução existentes. Por exemplo, aqui estão dois parágrafos de uma página traduzida:

<translate>
<!--T:1-->
O uso de resumos de edição ajuda outros usuários a entender suas edições sem precisar se aprofundar nos detalhes.

<!--T:2-->
Se for encontrada uma violação de direitos autorais, ele também manterá as informações de autoria após a exclusão de uma revisão significativa.
</translate>

Para adicionar um novo parágrafo, adicione o texto separado por novas linhas:

<translate>
<!--T:1-->
O uso de resumos de edição ajuda outros usuários a entender suas edições sem precisar se aprofundar nos detalhes.

Os resumos de edição são opcionais, mas recomendados.

<!--T:2-->
Se for encontrada uma violação de direitos autorais, ele também manterá as informações de autoria após a exclusão de uma revisão significativa.
</translate>

Para adicionar uma frase a um parágrafo existente, crie uma nova unidade de tradução. Neste exemplo, o texto agora está dividido em três conjuntos de tags de ‎<translate>. Isso permite que você adicione uma frase ao primeiro parágrafo sem invalidar a unidade de T:1.

<translate>
<!--T:1-->
O uso de resumos de edição ajuda outros usuários a entender suas edições sem precisar se aprofundar nos detalhes.
</translate>
<translate>Os resumos de edição são opcionais, mas recomendados.</translate>

<translate>
<!--T:2-->
Se for encontrada uma violação de direitos autorais, ele também manterá as informações de autoria após a exclusão de uma revisão significativa.
</translate>

Exclusão de texto

Você pode excluir unidades inteiras. Se você fizer isso, remova também o marcador de unidade.

Por exemplo, aqui está um trecho de uma página traduzida:

* <translate><!--T:1--> Não adicione você mesmo os marcadores de unidade de tradução.</translate>
* <translate><!--T:2--> Ao mover uma unidade, mova também o marcador da unidade.</translate>
* <translate><!--T:3--> Ao excluir uma unidade, exclua também o marcador.</translate>

Para remover o segundo ponto, remova a linha inteira, incluindo o marcador de unidade e as tags de ‎<translate>:

* <translate><!--T:1--> Não adicione você mesmo os marcadores de unidade de tradução.</translate>
* <translate><!--T:3--> Ao excluir uma unidade, exclua também o marcador.</translate>

Unidades de divisão

É possível dividir unidades existentes através da adição de uma linha vazia no meio de uma unidade, ou pela colocação de tags ‎<translate>, de modo que separem a unidade. Você pode manter o marcador de unidade com a primeira unidade ou removê-lo por completo. No primeiro caso, os tradutores consultam o texto antigo ao atualizar a tradução antiga. Se você removeu o marcador de unidade, ambas as unidades se comportarão como se nenhuma tradução já existisse, depois que a página for remarcada para tradução.

Estado original Mantendo o marcador Removendo o marcador
<!--T:1-->
Cat purrs. Dog barks.
<!--T:1-->
Cat purrs.

<!--T:2--> (Adicionado após a remarcação)
Dog barks.
<!--T:2--> (Adicionado após a remarcação)
Cat purrs.

<!--T:3--> (Adicionado após a remarcação)
Dog barks.
Kissa kehrää. Koira haukkuu. Kissa kehrää. Koira haukkuu.

Dog barks.

Cat purrs.

Dog barks.

Fusão de unidades

Se você fundir unidades, deverá remover pelo menos todos os marcadores de unidade, exceto um.

Unidades móveis

Você pode mover as unidades sem invalidar as traduções: basta mover o marcador de unidade junto com o restante da unidade.

Antes de marcar a nova versão da página para tradução, assegure-se que as melhores práticas sejam seguidas, especialmente que os tradutores obtenham uma nova unidade de tradução, se o conteúdo foi alterado. Certifique-se também de que não haja alterações desnecessárias para não desperdiçar o tempo dos tradutores. Se a página de origem estiver sofrendo muitas alterações, talvez valha a pena esperar que ela se estabilize e, só depois disso, enviar o trabalho para os tradutores.

Unidades de tradução não utilizadas não são excluídas automaticamente, mas isso não deve causar problemas.

Mover páginas traduzidas

Os administradores de tradução podem mover as páginas traduzidas como moveriam qualquer outra página. Também é possível mover páginas traduzidas entre wikis multilíngues usando um script. Para obter mais informações, consulte o guia para mover uma página traduzida .

Migrando para a tradução de páginas

Esta seção aborda os recursos do sistema de conversão de páginas disponíveis somente para administradores de tradução de páginas e não é relevante para outros usuários.

Se você tem traduzido páginas antes de utilizar o sistema de tradução da página, você pode querer migrar as páginas para o novo sistema, pelo menos as que você espera ter novas traduções e quer estatísticas. Provavelmente, você terá modelos existentes para a troca de idiomas e talvez convenções de nomenclatura de páginas diferentes.

Você pode iniciar a migração pela limpeza, etiquetagem e marcação da página fonte. Você pode manter as predefinições de mudança de idioma existentes, enquanto você migra as traduções antigas. Se as suas páginas seguem as convenções de nomenclatura de subpáginas de código de idioma, elas serão substituídas pelo texto de origem depois de marcar a página de origem para a tradução, mas você ainda será capaz de acessar traduções a partir do histórico.

Essa tarefa do manual foi parcialmente automatizada pela página especial Special:PageMigration, que mostra as unidades de origem e de destino, uma ao lado da outra e permite ao usuário ajustar as unidades, fornecendo um conjunto de características mencionadas no final desta página.

Como usar?

Captura de tela mostrando um exemplo de uso de Special:PageMigration para "Help:Special pages" como nome da página e "fr" como código de idioma.
  1. Vá para Special:PageMigration
  2. Digite o título da página e o código de idioma. Por exemplo, "Help:Special pages" e "fr"
  3. O texto original, que foi dividido em unidades pela extensão Translate e as traduções importadas serão mostrados um ao lado do outro com um certo alinhamento inicial.
  4. Use as ações disponíveis para cada unidade, para fazer manualmente o alinhamento restante
  5. Com as unidades traduzidas editáveis, faça as melhorias manuais exigidas (para adicionar variáveis de tradução, corrigir links e marcações, etc)
  6. Clique no botão "Salvar". Isso criará páginas no espaço de nome Translations com o formato Translations:Page/<translation unit identifier>/<language code>. As traduções antigas foram importadas para o Translate.
  7. Caso contrário, se desejar abortar a importação, clique no botão Cancelar.

Ações disponíveis

Cada linha que consiste em unidade de origem e de destino tem um conjunto de ícones de ações. Eles são usados como segue:

  1. Adicionar: Ao clicar neste ícone, é adicionada uma nova unidade vazia abaixo da atual. Use esse recurso se você quer dividir a unidade atual e precisa de uma unidade abaixo.
  2. Trocar: Ao clicar neste ícone é trocado o conteúdo da unidade atual com a unidade abaixo dela. Você pode usar esse recurso quando as unidades se alinharem de forma inadequada devido a uma diferente ordenação das seções. Ou quando você precisa arrastar uma unidade abaixo ou acima. Em ambos os casos, lembre-se que ele troca com a unidade abaixo e não cria quaisquer unidades adicionais.
  3. Excluir: Ao clicar neste ícone é removido completamente a unidade alvo correspondente da página e muda as unidades alvo restantes em uma unidade para cima. Use-a para remover conteúdo indesejado, como código ou importados traduções que estão presentes completamente no idioma de origem. Nota: esta ação é irreversível (na sessão atual).

Solução de problemas

  1. Se você marcar uma página para tradução e ir imediatamente para a página especial e tentar importar traduções, você pode receber uma mensagem de erro como "A página <page-name>/<language-name> não contém traduções antigas.". Isto porque o FuzzyBot não fundiu as mensagens da página antiga ainda: a ferramenta não vai encontrar uma edição do FuzzyBot na página de tradução. Neste caso, basta esperar que o FuzzyBot faça seu trabalho. Assim que uma edição é visualizada, você pode prosseguir com as importações.
  2. Por favor, aguarde algum tempo depois de apertar o botão "Salvar". Enquanto o preenchimento do botão estiver cinza, há um processo de importação de unidades não vazias em andamento. Uma vez que o botão estiver colorido novamente, a importação está concluída.
  3. No sistema de tradução, você pode marcar uma tradução existente como desatualizada adicionando !!FUZZY!! no início da caixa de mensagem traduzida da unidade de tradução.

Dicas

  1. A migração será mais fácil se você primeiro (antes de marcar para tradução) verificar se as traduções existentes são semelhantes aos do texto original em Inglês, e editar manualmente a estrutura de páginas: quebrar parágrafos e listas, adicionar cabeçalhos em falta (mesmo se estiverem vazios).
  2. Será útil verificar o resultado na interface de tradução principal - algumas das unidades podem ser imediatamente marcadas como obsoletas por causa de erros de marcação ou se nem todas as variáveis de tradução foram adicionadas.
  3. A tradução do título da página terá de ser adicionada manualmente. Se você não sabe muito bem o idioma da página importada, você pode tentar encontrar a tradução do título da página no ícone "links here" ou, algumas vezes, em redirecionamentos.

Referências