Meta:Guía de internacionalización

This page is a translated version of the page Meta:Internationalization guidelines and the translation is 65% complete.

Meta-Wiki pretende ser una wiki multilingüe, por lo que se espera que la mayoría de páginas sean traducibles y traducidas. Para ser traducible a través de Extensión de traducción, una página debe etiquetarse con <translate>...</translate> (es decir, internacionalizado) y luego marcada para traducción con un administrador de traducción. Esta página tiene como objetivo presentar pautas para la internacionalización de páginas en Meta-Wiki.

Principios generales

Generalmente, deberías seguir Pautas de la extensión traducción sobre cómo marcar una página para su traducción: siempre que sea posible, por favor evite dividir manualmente las unidades de traducción cerrando la etiqueta translate, debe dejar que las líneas vacías hagan el trabajo en su lugar.

Nuevos requisitos principales de sintaxis 2020

  • Si desea dividir una lista en varias unidades, tenga cuidado de no poner ningún carácter de línea nueva dentro de las unidades. También debe excluir el punto de viñeta / hash de la etiqueta translate.
  • Si inserta una etiqueta translate dentro de un valor de parámetro de una llamada de plantilla, asegúrese de que el parámetro tenga un nombre (de lo contrario, agregue un nombre numérico, como 1=).

Ejemplos de segmentación

Mala sintaxis Buena sintaxis
== <translate>Título de sección</translate> ==
<translate>Este es un párrafo.</translate>

<translate>Este es otro párrafo.</translate>

{{Plantilla}}

== <translate>Otro título<translate> ==
<translate>
== Título de sección ==

Este es un párrafo.

Este es otro párrafo.
</translate>

{{Plantilla}}

<translate>
== Otro título ==
</translate>
<translate>
* Este es una lista larga:
** Hay más de 160 palabras en esta lista,
** o hay más de 8 elementos.
</translate>
<translate>
* Por lo tanto, es mejor dividirlo en varias unidades más pequeñas.
* Pero debemos excluir los puntos de bala de las etiquetas de traducción para mantener la lista accesible.
</translate>
* <translate>Este es una lista larga:</translate>
** <translate>Hay más de 160 palabras en esta lista,</translate>
** <translate>o hay más de 8 elementos.</translate>
* <translate>Por lo tanto, es mejor dividirlo en varias unidades más pequeñas.</translate>
* <translate>Pero debemos excluir los puntos de bala de las etiquetas de traducción para mantener la lista accesible.</translate>

Elementos específicos

Enlaces

Cualquier página que puede ser traducida debe ser enlazado con el prefijo Special:MyLanguage/, incluso si no fue actualmente internacionalizado. Los páginas principales que no necesitan este prefijo son páginas de discusiones y plantillas sin contexto textual. Para facilitar el traducción, por favor envuelve el objetivo de los enlaces internos adentro de <tvar name=1> … </tvar> (el nombre de tvar sólo puede ser un número, esto es suficiente).

Para enlaces a un artículo de Wikipedia, debe usar la plantilla {{lwp}} para el objetivo y envuelvelo adentro de un tvar. Por ejemplo, el código [[{{lwp|Rosa Parks}}</tvar>]] produce en:Rosa Parks en páginas en inglés y fr:Rosa Parks en páginas en francés.

Para otros enlaces transversales y externos, si existe una traducción, no debes colocar el enlace objetivo dentro de tvar. Por supuesto, si el sitio web objetivo tiene un sistema de detección de idiomas (como el Special:MyLanguage/ de MediaWiki), puede usar este sistema y poner el enlace completo dentro de tvar.

Mala sintaxis Buena sintaxis
<translate>
Esto es un texto con un [[enlace interno]] y un [https://openstreetmap.org enlace externo].
</translate>
<translate>
Esto es un texto con un [[<tvar name=1>Special:MyLanguage/internal link</tvar>|enlace interno]] y un [<tvar name="url">https://openstreetmap.org</tvar> enlace externo].
</translate>

Categorización

Debes excluir declaraciones de categoría de las etiquetas translate. En cambio, agrega {{#translation:}} despues del nombre de la categoría: [[Category:Target category{{#translation:}}]]. En esta manera, solo la página principal en inglés está categorizada en categorías por idiomas.

Mala sintaxis Buena sintaxis
<translate>[[Category:Wikipedia]]</translate>
[[Category:Wikipedia{{#translation:}}]]

Imágenes

Miniaturas y imágenes largas

Si la imágen puede ser localizada (por ejemplo, contiene algún texto y existe una version traducida), debe ser incluido por completo en etiquetas translate.

De lo contrario, sólo debe envuelver el valor alt= en etiquetas de <translate nowrap> y la leyenda en etiquetas <translate>.

Si se utilizan left o right como un parámetro de imagen: elimínalo si es inútil (miniaturas por defecto a la derecha en inglés), o reemplaza con {{dirstart}} o {{dirend}}.

Mala sintaxis Buena sintaxis
<translate>
[[File:landscape.jpg |thumb |left |alt=sunset |Foto de un hermoso paisaje]]
</translate>
[[File:landscape.jpg |thumb |{{dirleft}} |alt=<translate nowrap>sunset</translate> |<translate>Foto de un hermoso paisaje</translate>]]
[[File:English Wikipedia screenshot.png|thumb|right|<translate>página principal de Wikipedia</translate>]]
<translate>
[[File:English Wikipedia screenshot.png|thumb|página principal de Wikipedia]]
</translate>

Iconos

Los iconos en línea pueden ser simplemente envueltos en <tvar name="img">.

Mala sintaxis Buena sintaxis
<translate>
[[File:pretty hello word.png|alt=¡Hola]] a todos! [[File:smiley.png|alt=🙂]] ¿Cómo estás?
</translate>
<translate>
[[File:pretty hello word.png|alt=¡Hola]] a todos! <tvar name="icon">[[File:smiley.png|alt=🙂]] ¿Cómo estás?
</translate>

Variables de traducción

Las variables de traducción (sintaxis de </tvar>) deben usarse para ocultar el texto a los traductores para evitar que lo traduzcan.

Los siguientes ejemplos deben ser envueltos dentro de tvar:

  • automatically-localized or non-localizable link targets,
  • usernames,
  • numbers likely to change (they should be wrapped inside {{formatnum:}} then inside tvar),
  • tag attributes (e.g. <span <tvar name="attr">class="css_class" style="background-color:blue"</tvar>>hello</span>),
  • template name and parameters (e.g. {{<tvar name=1>center|5px</tvar>|hello}}),
  • parts of complex wikitext or HTML (but please ensure the resulting wikitext for translators is balanced).

The following examples should not be wrapped inside tvar:

  • people and place names (even if they are rarely translated, they may be transliterated),
  • XML tags without attributes, like <code> (the translation interface handles them),
  • localizable link targets (i.e. links to multilingual website).

Translation variable names

To help translators, please keep tvar names as short and readable as possible. If translators don’t need to know their content, using numbered names is a good idea because digits are quick to type for most translators and are common in many languages (so that most beginners do not accidentally translate them).

However if tvar is inside a sentence, it should have an explicit name to allow translators to understand what it contains and so write it easily in the right place in their translation (it is pretty common for an email address, URL, wikitext tag name…).

Mala sintaxis Buena sintaxis
[[<tvar name="HelpLink">Special:MyLanguage/Help:Links|See help page]]
[[Special:MyLanguage/Help:Links|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.

Mala sintaxis Buena sintaxis
<tvar name="max_count of café">84</tvar> cafés
<tvar name="max-count">84</tvar> cafés

Templates

You may prepare a template for translation like any page, but you should ensure the “Habilitar la transclusión con reconocimiento de traducción para esta página” checkbox is checked when you mark the page for translation.

If your template is expected to be included in non-translatable pages (e.g. user pages) and should be even translated in these pages, you can use the pre-2021 hack with switch, replacing uselang={{PAGELANGUAGE}} with uselang={{int:lang}} in the code shown below.

Pre-2021 hacks

Before MediaWiki 1.36.0-wmf.32 (2021-02-23), you should ensure English pages include the /en subpage of a template instead of a template directly.

One way was to replace each occurrence of {{my translated template|param}} with {{TNT|my translated template|param}}, except in templates or transcluded pages which should contain {{ {{TNTN|my translated template}} |param}} instead.

Another way was to edit the template to make it call itself {{TNT}}. To this end, you should put the full template code inside a switch which evaluated an empty translate tag, with a default case which called {{TNT}}.

{{#switch:<translate></translate>
|=<span lang="en" dir="ltr" class="mw-content-ltr"><full template code></span>
|#default={{#invoke:Template translation|renderTranslatedTemplate|template={{subst:FULLPAGENAME}}|uselang={{PAGELANGUAGE}}|noshift=1}}
}}

See also