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.
![]() | 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. |
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.
Nuevos requisitos de sintaxis en 2020
- Si deseas dividir una lista en varias unidades, no pongas saltos de línea dentro de textos que deban convertirse en una sola unidad. Excluye también los caracteres de elementos de lista (
*
y#
) de la etiquetatranslate
. - 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, como1=
).
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 pueda ser traducida debe ser enlazada con el prefijo Special:MyLanguage/
, aunque en la actualidad no esté internacionalizada. Las principales páginas que no necesitan este prefijo son páginas de discusiones y plantillas sin contexto textual. Para facilitar la traducción, envuelve el destino de los enlaces internos en la etiqueta <tvar name=1> … </tvar>
(el nombre de tvar
puede ser simplemente un número, esto es suficiente).
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
.
Mala sintaxis | Buena sintaxis |
---|---|
<translate> Este es un texto con un [[enlace interno]] y un [https://openstreetmap.org enlace externo]. </translate> |
<translate> Este 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 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}}
.
Mala sintaxis | Buena sintaxis |
---|---|
<translate> [[File:paisaje.jpg |thumb |left |alt=puesta de sol |Foto de un hermoso paisaje]] </translate> |
[[File:paisaje.jpg |thumb |{{dirleft}} |alt=<translate nowrap>puesta de sol</translate> |<translate>Foto de un hermoso paisaje</translate>]] |
[[File:Captura de pantalla de Wikipedia en inglés.png|thumb|right|<translate>página principal de Wikipedia</translate>]] |
<translate> [[File:Captura de pantalla de Wikipedia en inglés.png|thumb|página principal de Wikipedia]] </translate> |
Iconos
Los iconos a nivel de línea se pueden envolver simplemente en <tvar name="img">
.
Mala sintaxis | Buena sintaxis |
---|---|
<translate> [[File:hola hermoso mundo.png|alt=¡Hola a todos!]], [[File:sonrisa.png|alt=🙂]] ¿Cómo estás? </translate> |
<translate> [[File:hola hermoso mundo.png|alt=¡Hola a todos!]], <tvar name="icon">[[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…).
Mala sintaxis | Buena sintaxis |
---|---|
[[<tvar name="HelpLink">Special:MyLanguage/Help:Links|Consulta la página de ayuda]] |
[[<tvar name="1">Special:MyLanguage/Help:Links</tvar>|Consulta la página de ayuda]] |
La reunión tendrá lugar el <tvar name=1>{{dateT||9|24}}</tvar> por <tvar name=2>{{int string|Zoom}}</tvar>. |
La reunión tendrá lugar el <tvar name="date">{{dateT||9|24}}</tvar> por <tvar name="software">{{int string|Zoom}}</tvar>. |
Evita asimismo utilizar espacios, guiones bajos o letras acentuadas en los nombres de las etiquetas tvar
.
Mala sintaxis | Buena sintaxis |
---|---|
<tvar name="max_count of café">84</tvar> cafés |
<tvar name="max-count">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 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}} }}