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 las traducciones han sido ya hechas, por favor evitar hacer cualquier edición la cuál haría obsoleta la traducción, incluso si el etiquetado no sigue estas directrices. |
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, 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 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 name="name"></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 insidetvar
), - tag attributes (e.g.
<span 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]]
|
[[<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.
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}} }}