Meta:Guía de internacionalización
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.
For a step-by-step guide to marking a page for translation, see the tutorial.
Aviso general: cuando ya se hayan completado traducciones, procura evitar hacer una edición que las deje obsoletas, incluso aunque el etiquetado <translate> no siga estas pautas. This would place an unnecessary burden on our translators, who are already voluntarily carrying a heavy workload. |
Principios generales
En general, se recomienda que sigas las pautas de la extensión Translate sobre cómo marcar una página para su traducción: siempre que sea posible, evita dividir manualmente las unidades de traducción cerrando la etiqueta </translate> y en lugar de ello deja que las líneas vacías hagan el trabajo.
Although you can edit translated content using the visual editor, you must use the source editor to add or change translation markup. To make it easier to add translation markup, use the buttons in the box under the editing interface.
Do not use section editing when editing translated pages since this adds extra whitespace to the page.[1] Always select the option to edit the entire page.
Ejemplos de segmentación
| Buena sintaxis | Mala sintaxis |
|---|---|
Add <translate> tags on new lines around headings and paragraphs.
<translate>
== Título de sección ==
Este es un párrafo.
Este es otro párrafo.
</translate>
{{Plantilla}}
<translate>
== Otro título ==
</translate>
|
Heading markup (for example: ==) must be included in translation units.
== <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> ==
|
Split list items into individual translation units without line breaks. Exclude list markup from the translation unit.
* <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> |
List markup (for example: * or #) must be excluded from translation units.
<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> |
Elementos específicos
Enlaces
Links require special markup to link to the correct language variant of the target page. Use localized link syntax for any page that could be translated, even if it hasn't been marked for translation. Pages which do not need localized link syntax include talk pages and templates without textual content.
To link to a page on a multilingual wiki, prefix links with Special:MyLanguage/. To make translation easier, include only the link text in the translation unit, not the link target. If the link is part of a larger translation unit, like a paragraph, you can exclude the link target from the translation unit by wrapping it inside a translation variable (<tvar name=1> … </tvar>).
For a standalone link to a page on the same wiki, such as in a list or a table, you can use the localized link template to simplify the syntax. This works on Meta-Wiki, mediawiki.org, Outreach Wiki, and other wikis where this template is available.
Para enlaces a un artículo de Wikipedia, utiliza la plantilla {{lwp}} para el destino y envuélvelo en una etiqueta 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 interwiki y externos, si existe una traducción, no coloques el destino del enlace dentro de tvar. Por supuesto, si el sitio web objetivo tiene un sistema de detección de idiomas (como el Special:MyLanguage/ de MediaWiki), puedes usar este sistema y poner el enlace completo dentro de tvar.
| Buena sintaxis | Mala sintaxis |
|---|---|
To link to a page on a multilingual wiki, prefix the link target with Special:MyLanguage/, and add link text. Use a translation variable to ensure that only the link text is included in the translation unit.
<translate> Learn about [[<tvar name=1>Special:MyLanguage/Wikimedia projects</tvar>|Wikimedia projects]] and how to request a [[<tvar name=2>Special:MyLanguage/New project process</tvar>|new project]]. </translate> |
The translation variable should include only the link target, not the link text.
<translate> Learn about [[<tvar name=1>Special:MyLanguage/Wikimedia projects</tvar>|Wikimedia projects]] and how to request a [[<tvar name=2>Special:MyLanguage/New project process|new project</tvar>]]. </translate> |
For a standalone link to a page on the same wiki, such as in a list or a table, use Template:ll, and translate only custom link text. You can use |nsp=0 to simplify the link text by omitting the namespace.
<translate>
See also:
</translate>
* {{ll|Help:Contents|2=<translate>Help pages</translate>}}
* {{ll|Meta:Discussion pages|nsp=0}}
|
A parameter name (2=) is required when adding <translate> tags inside template syntax.
<translate>
See also:
</translate>
* {{ll|Help:Contents|<translate>Help pages</translate>}}
* {{ll|Meta:Discussion pages|nsp=0}}
|
For external links, exclude the link target from the translation unit using a translation variable.
<translate> This is a text with an [<tvar name=url>https://openstreetmap.org</tvar> external link]. </translate> |
A translation variable is required to exclude the external link target from the translation unit.
<translate> Este es un texto con un [[enlace interno]] y un [https://openstreetmap.org 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.
| Buena sintaxis | Mala sintaxis |
|---|---|
[[Category:Wikipedia{{#translation:}}]]
|
<translate>[[Category:Wikipedia]]</translate> |
Imágenes
Miniaturas y imágenes largas
Si la imagen puede ser localizada (por ejemplo, contiene algún texto y existe una version traducida), debe ser incluida por completo en etiquetas <translate>.
En otro caso, envuelve solo el valor alt= en etiquetas de <translate nowrap> y la leyenda en etiquetas <translate>.
Si se utilizan left o right como parámetro de imagen: elimínalo si es inútil (las miniaturas se alinean por defecto a la derecha en inglés), o reemplázalo por {{dirstart}} o {{dirend}}.
| Buena sintaxis | Mala sintaxis |
|---|---|
[[File:paisaje.jpg |thumb |{{dirstart}} |alt=<translate nowrap>puesta de sol</translate> |<translate>Foto de un hermoso paisaje</translate>]]
|
<translate>
[[File:paisaje.jpg |thumb |left |alt=puesta de sol |Foto de un hermoso paisaje]]
</translate>
|
<translate> [[File:Captura de pantalla de Wikipedia en inglés.png|thumb|alt=Homepage of English Wikipedia with featured article and news topics|página principal de Wikipedia]] </translate> |
[[File:Captura de pantalla de Wikipedia en inglés.png|thumb|right|alt=<translate nowrap>Homepage of English Wikipedia with featured article and news topics</translate>|<translate>página principal de Wikipedia</translate>]]
|
Iconos
Los iconos a nivel de línea se pueden envolver simplemente en <tvar name="icon">.
| Buena sintaxis | Mala sintaxis |
|---|---|
<translate> [[File:hola hermoso mundo.png|alt=¡Hola a todos!]], <tvar name="icon">[[File:sonrisa.png|alt=🙂]] ¿Cómo estás? </translate> |
<translate> [[File:hola hermoso mundo.png|alt=¡Hola a todos!]], [[File:sonrisa.png|alt=🙂]] ¿Cómo estás? </translate> |
Variables de traducción
Deben utilizarse variables de traducción (sintaxis de <tvar name="name"></tvar>) para ocultar texto a los traductores y así evitar que lo traduzcan.
Los siguientes ejemplos deberían estar envueltos dentro de una etiqueta tvar:
- destinos de enlaces localizados automáticamente o no localizables,
- nombres de usuario,
- números susceptibles de cambiar (deberían estar envueltos dentro de
{{formatnum:}}y a su vez dentro detvar), - atributos de etiquetas (por ejemplo,
<span class="css_class" style="background-color:blue"</tvar>>hello</span>), - nombre y parámetros de plantillas (por ejemplo,
{{<tvar name=1>center|5px</tvar>|hello}}), - fragmentos de wikitexto o HTML complejo (pero procura que el wikitexto resultante para los traductores sea simétrico).
Los siguientes ejemplos no deberían estar envueltos dentro de una etiqueta tvar:
- nombres de personas y lugares (incluso aunque raramente se traduzcan, se pueden transliterar),
- etiquetas XML sin atributos, como
<code>(la interfaz de traducción las gestiona), - destinos de enlaces localizables (por ejemplo, enlaces a sitios web multilingües).
Nombres de variables de traducción
Para facilitar la traducción, procura que los nombres de las etiquetas tvar sean tan cortos y legibles como sea posible. Si no es necesario que los traductores conozcan su contenido, es buena idea utilizar nombres numerados, ya que los números son rápidos de escribir para la mayoría de traductores y son comunes en muchos idiomas (lo que permite evitar que los principiantes los traduzcan de forma accidental).
Sin embargo, si la etiqueta tvar se encuentra dentro de una frase, debería tener un nombre explícito para permitir que los traductores entiendan qué contiene y por tanto la puedan situar fácilmente en el lugar correcto en su traducción (es bastante habitual para una dirección de correo electrónico, una URL, un nombre de etiqueta de wikitexto…).
| Buena sintaxis | Mala sintaxis |
|---|---|
[[<tvar name="1">Special:MyLanguage/Help:Links|Consulta la página de ayuda]] |
[[Special:MyLanguage/Help:Links|Consulta la página de ayuda]] |
La reunión tendrá lugar el <tvar name="date">{{dateT||9|24}}</tvar> por <tvar name="software">{{int string|Zoom}}</tvar>.
|
La reunión tendrá lugar el <tvar name=1>{{dateT||9|24}}</tvar> por <tvar name=2>{{int string|Zoom}}</tvar>.
|
Evita asimismo utilizar espacios, guiones bajos o letras acentuadas en los nombres de las etiquetas tvar.
| Buena sintaxis | Mala sintaxis |
|---|---|
<tvar name="max-count">84</tvar> cafés |
<tvar name="max_count of café">84</tvar> cafés |
Plantillas
Puedes preparar una plantilla para la traducción al igual que cualquier otra página, pero debes asegurarte de que la casilla de verificación «Habilitar la transclusión con reconocimiento de traducción para esta página» esté marcada cuando marques la página para traducir.
Si insertas una etiqueta <translate> dentro del valor de un parámetro de una llamada de plantilla, asegúrate de que el parámetro tenga nombre (de lo contrario, dale un nombre numérico, como 1=).
Si está previsto que tu plantilla esté incluida en páginas no traducibles (por ejemplo, páginas de usuario) y aun así debe estar traducida en esas páginas, puedes utilizar el apaño pre-2021 con switch, reemplazando uselang={{PAGELANGUAGE}} por uselang={{int:lang}} en el código mostrado a continuación.
Apaños pre-2021
Antes de MediaWiki 1.36.0-wmf.32 (2021-02-23), debías asegurarte de que las páginas en inglés incluyeran la subpágina /en de una plantilla en lugar de directamente la plantilla.
Una forma de conseguirlo era reemplazar cada ocurrencia de {{mi plantilla traducida|parámetro}} por {{TNT|mi plantilla traducida|parámetro}}, excepto en plantillas o páginas transcluidas, que en su lugar debían contener {{ {{TNTN|mi plantilla traducida}} |parámetro}}
Otra forma que editar la plantilla para hacer que se llamara a sí misma {{TNT}}. Para ello, había que poner el código completo de la plantilla dentro de un switch que evaluara una etiqueta vacía <translate> con un caso predeterminado que llamara a {{TNT}}.
{{#switch:<translate></translate>
|=<código completo de la plantilla>
|#default={{#invoke:Template translation|renderTranslatedTemplate|template={{subst:FULLPAGENAME}}|uselang={{PAGELANGUAGE}}|noshift=1}}
}}