Meta: Diretrizes para internacionalização

This page is a translated version of the page Meta:Internationalization guidelines and the translation is 39% complete.
Outdated translations are marked like this.
Other languages:

A Meta-Wiki visa ser um wiki multilíngue, portanto, espera-se que a maioria das páginas seja traduzível e traduzida. Para poder ser traduzida através de extenção de tradução, uma página deve ser etiquetada com <translate>...</translate> (i.e. internacionalizada) e depois marcada para tradução por um administrador de tradução. Esta página visa apresentar as diretrizes para internacionalização de páginas na Meta-Wiki.

Diretrizes gerais

Em regra, você deve seguir as diretrizes da extensão de tradução sobre a marcação de uma página para tradução: quando possível, por favor, evite dividir manualmente as unidades de tradução fechando a etiqueta translate, você deve deixar as linhas vazias fazerem este trabalho.

Principais novas exigências da sintaxe de 2020

  • Se você quiser dividir uma lista em várias unidades, tome cuidado para não colocar nenhum novo caractere de linha dentro das unidades. Você também deve excluir o ponto-parágrafo) da etiqueta translate.
  • Se você inserir uma etiqueta translate dentro de um parâmetro de valor de uma predefinição, certifique-se de que o parâmetro seja nomeado (caso contrário, adicione um nome numérico, como 1=).

Segmentation examples

Bad syntax Good syntax
== <translate>Section heading</translate> ==
<translate>
== Section heading ==
</translate>
<translate>This is a paragraph.</translate>

<translate>This is another paragraph.</translate>
<translate>
This is a paragraph.

This is another paragraph.
</translate>
<translate>
* This is a long list:
** There are more than 160 words in this list,
** or there are more than 8 items.
</translate>
<translate>
* So it is better to split it in several smaller units.
* But we must exclude bullet points from translate tags to keep the list accessible.
</translate>
* <translate>This is a long list:</translate>
** <translate>There are more than 160 words in this list,</translate>
** <translate>or there are more than 8 items.</translate>
* <translate>So it is better to split it in several smaller units.</translate>
* <translate>But we must exclude bullet points from translate tags to keep the list accessible.</translate>

Elementos específicos

Ligações

Qualquer página que possa ser traduzida deve ser ligada com o prefixo Special:MyLanguage/, mesmo que não seja realmente internacionalizada. As páginas principais que não precisam deste prefixo são páginas de discussão e predefinições sem conteúdo textual. Para facilitar a tradução, por favor, "envelope" os links internos dentro de <tvar name=1> … </tvar> (o nome da tvar pode ser apenas um número, isto é suficiente).

Para ligações cross-wiki e externos, se houver uma tradução, você não deve colocar o link alvo dentro da tvar. Por exemplo, se a página conecta um artigo da Wikipedia, você deve permitir que os tradutores conectem um artigo equivalente em seu próprio idioma da Wikipedia. Naturalmente, se o site alvo incluir um sistema de detecção de idioma (como o MediaWiki's Special:MyLanguage/), você pode usar este sistema e colocar o link completo dentro de tvar.

Bad syntax Good syntax
<translate>
This is a text with an [[internal link]] and an [https://openstreetmap.org external link].
</translate>
<translate>
This is a text with an [[<tvar name=1>Special:MyLanguage/internal link</tvar>|internal link]] and an [<tvar name=url>https://openstreetmap.org</tvar> external link].
</translate>

Categorização

Você deve excluir as declarações de categoria das etiquetas de translate. Ao invés disso, adicione {{#translation:}} após o nome da categoria: [[Category:Target category{{#translation:}}]]. Desta forma, apenas a página principal em inglês é categorizada dentro das categorias alvo, as páginas de tradução são categorizadas em categorias por idioma.

Bad syntax Good syntax
<translate>[[Category:Wikipedia]]</translate>
[[Category:Wikipedia{{#translation:}}]]

Images

Thumbs and large images

If the image can be localized (e.g. it contains some text and a translated version exists), it should be fully included in translate tags.

Else, you should only wrap alt= value in <translate nowrap> tags and caption in <translate> tags.

If left or right is used as image parameter: remove it if it is useless (thumbnails default to right in English), or replace it with {{dir|{{PAGELANGUAGE}}|right|left}}.

Bad syntax Good syntax
<translate>
[[File:landscape.jpg|thumb |alt=sunset |Photo of a beautiful landscape]]
</translate>
[[File:landscape.jpg|thumb |alt=<translate nowrap>sunset</translate> |<translate>Photo of a beautiful landscape</translate>]]
[[File:English Wikipedia screenshot.png|thumb|<translate>Wikipedia homepage</translate>]]
<translate>
[[File:English Wikipedia screenshot.png|thumb|Wikipedia homepage]]
</translate>

Icons

Inline icons may be simply wrapped in a <tvar name=img>.

Bad syntax Good syntax
<translate>
[[File:pretty hello word.png|alt=Hello]] everybody! [[File:smiley.png|alt=🙂]] How are you?
</translate>
<translate>
[[File:pretty hello word.png|alt=Hello]] everybody! <tvar name=icon>[[File:smiley.png|alt=🙂]]</tvar> How are you?
</translate>

Traduzindo variáveis

As variáveis de tradução (sintaxe do <tvar name=name></tvar>) devem ser usadas para esconder o texto dos tradutores, a fim de evitar que eles o traduzam.

Os exemplos a seguir devem ser envelopados dentro de uma etiqueta tvar:

  • automaticamente-localizado ou nãolocalizável alvos de ligações,
  • nomes de usuário,
  • números que provavelmente mudarão (devem ser envelopados dentro de {{formatnum:}} e depois dentro de tvar),
  • atributos da etiqueta (por exemplo, <span <tvar name=attr>class="css_class" style="background-color:blue"</tvar>>hello</span>),
  • nome e parâmetros das predefinições (por exemplo, {{<tvar name=1>center|5px</tvar>|hello}}).

Os exemplos a seguir não devem ser envelopados dentro de uma etiqueta tvar:

  • nomes de pessoas e lugares (mesmo que raramente sejam traduzidos, podem ser transliterados),
  • Tag XML sem atributos, como <code> (a interface de tradução lida com eles),
  • Alvos de links localizáveis (por exemplo, links para artigos da Wikipedia).

Tradução de nomes de variáveis

Para ajudar os tradutores, por favor, mantenha nomes de etiquetas o mais curtos e legíveis possível. Se os tradutores não precisam saber seu conteúdo, usar nomes numerados é uma boa idéia, pois os dígitos são rápidos de digitar para a maioria dos tradutores e são comuns em muitos idiomas (para que a maioria dos iniciantes não os traduza acidentalmente).

Entretanto, se tvar estiver dentro de uma frase, ela deve ter um nome explícito para permitir que os tradutores entendam o que ela contém e assim escrevam facilmente no lugar certo em sua tradução (é bastante comum para endereço de e-mail, URL, etiquetas de wikitexto ...).

Evite colocar nomes próprios (pessoas, lugares...) dentro da tvar, mesmo que raramente sejam traduzidos, pois eles podem ser transliterados em vários idiomas.

Você pode colocar partes complexas de wikitexto ou HTML dentro de tvar, mas certifique-se de que o wikitexto resultante para tradutores seja equilibrado.

Predefinições

Você pode preparar uma predefinição para tradução como qualquer página, mas você deve garantir que a caixa de seleção "Ativar transclusão com reconhecimento de tradução para esta página" esteja marcada quando você marcar a página para tradução.

Se for esperado que sua predefinição seja incluída em páginas não traduzíveis (por exemplo páginas de usuário) e deve até mesmo ser traduzida nestas páginas, você pode usar o "hack pré-2021 com switch", substituindo uselang={{PAGELANGUAGE}} por uselang={{int:lang}} no código mostrado abaixo.

Hacks Pré-2021

Antes da MediaWiki 1.36.0-wmf.32 (23.02.2021), você deve garantir que as páginas em inglês incluam a subpágina /en em vez da predefinição diretamente.

Uma maneira era substituir cada ocorrência de {{minha predefinição traduzida|param}} por {{TNT|minha predefinição traduzida|param}}, exceto nos modelos ou páginas transcluídas que devem conter <código>{{ {{TNTN|meu modelo traduzido}} |param}}.

Outra maneira era editar a predefinição para que ela se chamasse {{TNT}}. Para isso, você deve colocar o código completo da prédefinição dentro de uma chave que avaliou uma etiqueta translate vazia, com uma caixa padrão que se chamava {{TNT}}.

{{#switch:<translate></translate>
|=<código completo da predefinição>
|#default={{#invoke:Template translation|renderTranslatedTemplate|template={{subst:FULLPAGENAME}}|uselang={{PAGELANGUAGE}}|noshift=1}}
}}