Meta: Diretrizes para internacionalização
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.
Aviso geral: quando as traduções já tiverem sido feitas, evite fazer qualquer edição que as torne obsoletas, mesmo que a etiquetagem não siga estas diretrizes. |
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, como1=
).
Segmentation examples
Bad syntax | Good syntax |
---|---|
== <translate>Section heading</translate> == <translate>This is a paragraph.</translate> <translate>This is another paragraph.</translate> {{Template}} == <translate>Another heading<translate> == |
<translate> == Section heading == This is a paragraph. This is another paragraph. </translate> {{Template}} <translate> == Another heading == </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).
For links to Wikipedia article, you should use {{lwp}} template for the target and wrap it inside a tvar. E.g. [[{{lwp|Rosa Parks}}</tvar>]]
produces en:Rosa Parks in English pages and fr:Rosa Parks in French pages.
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 respectively with {{dirstart}}
or {{dirend}}
.
Bad syntax | Good syntax |
---|---|
<translate> [[File:landscape.jpg |thumb |left |alt=sunset |Photo of a beautiful landscape]] </translate> |
[[File:landscape.jpg |thumb |{{dirleft}} |alt=<translate nowrap>sunset</translate> |<translate>Photo of a beautiful landscape</translate>]] |
[[File:English Wikipedia screenshot.png|thumb|right|<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=🙂]] 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 detvar
), - atributos da etiqueta (por exemplo,
<span 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}}
), - Você pode colocar partes complexas de wikitexto ou HTML dentro de $tag, mas certifique-se de que o wikitexto resultante para tradutores seja equilibrado.
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 ...).
Bad syntax | Good syntax |
---|---|
[[<tvar name="HelpLink">Special:MyLanguage/Help:Links|See help page]]
|
[[<tvar name="1">Special:MyLanguage/Help:Links</tvar>|See help page]] |
The meeting will take place on <tvar name=1>{{dateT||9|24}}</tvar> on <tvar name=2>{{int string|Zoom}}</tvar>.
|
The meeting will take place on <tvar name="date">{{dateT||9|24}}</tvar> on <tvar name="software">{{int string|Zoom}}</tvar>.
|
Avoid using spaces, underscores or letters with diatrics in tvar
names as well.
Bad syntax | Good syntax |
---|---|
<tvar name="max_count of café">84</tvar> cafés
|
<tvar name="max-count">84</tvar> cafés
|
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}} }}