Plantilla:Lang

De Wikipedia, la enciclopedia libre
Icono de documentación de plantilla Documentación de la plantilla[ver] [editar] [historial] [purgar]

El propósito de esta plantilla es indicar que un texto en concreto pertenece a un idioma. A menudo no realiza cambios visibles pero puede ayudar a los navegadores web a realizar cambios en el renderizado o a los lectores de pantalla a adaptar la pronunciación y un largo etcétera. Véase § Razones para más información.

Sintaxis y uso

     {{lang|etiqueta de idioma|texto}}

La etiqueta de idioma deberá consistir en un código de idioma ISO 639. La plantilla también soporta códigos de idioma IETF utilizando sub-etiquetas para identificar el sistema de escritura, región y/o variante del idioma. El código de idioma ISO 639 es una abreviación de dos o tres letras en minúscula del nombre del idioma. El francés, por ejemplo, tiene el código fr:

  • Ella dijo: "{{lang|fr|Je suis française.}}" → Ella dijo: "Je suis française."

Como todas las lenguas representadas por un código de dos letras en el ISO 639-1 también disponen de equivalentes de tres cifras en el ISO 639-2 y superiores, se recomienda utilizar el código de idioma más corto posible que identifique de forma suficiente el idioma.[1]​ Así que aunque el francés puede ser representado por el código fra (ISO 639‑2), se utiliza el código fr (ISO 639‑1) en su lugar. De la misma forma, la información de sistema de escritura, región y variante solo se debe incluir cuando presenten una distinción necesaria del idioma base. Una lista actualizada de todos los códigos disponibles de idioma, sistema de escritura, región y variante se puede encontrar en el registro de sub-etiquetas (language subtag registry) del IANA.

Por defecto, esta plantilla colocará los artículos en la sub-categoría relevante de Categoría:Wikipedia:Artículos que contienen texto en otros idiomas. Para evitar esto – e.g. al utilizar {{lang}} dentro de un wikilink o el título de una cita – añade el parámetro |nocat=true.

Formato

Cursiva automática

{{lang}} introduce la cursiva automáticamente cuando el texto introducido en {{{2}}} está escrito enteramente en el sistema de escritura Latn (el alfabeto latino y sus extensiones), ya sea porque es el sistema por defecto para el idioma elegido o porque se ha especificado un código xx-Latn:

  • {{lang|fr|Je suis française.}}Je suis française.
  • ''{{lang|fr|Je suis française.}}''Je suis française. – se ignora el marcado externo
  • {{lang|he-Latn|la`az}} ({{lang|he|לעז}})la`az (לעז)
  • ''{{lang|he-Latn|la`az}}'' (''{{lang|he|לעז}}'')la`az (לעז) – se ignora el marcado externo alrededor del texto con he-Latn, pero se aplicará incorrectamente el estilo al segundo.

Cuando no se deba mostrar en cursiva el texto en Latn existen varias alternativas: |italic=no – renderiza {{{2}}} en redonda; se ignora el marcado de cursivas alrededor de la plantilla; el marcado de cursivas dentro de la plantilla causa un mensaje de error:

  • {{lang|fr|Je suis française.|italic=no}}Je suis française.
  • ''{{lang|fr|Je suis française.|italic=no}}''Je suis française.
  • ''{{lang|fr|Je suis ''française''.|italic=no}}''Je suis française. – el marcado de cursivas entra en conflicto con |italic=no

|italic=unset – deshabilita los estilos incorporados en la plantilla; {{{2}}} se estila de acuerdo al marcado externo o interno introducido por el usuario:

  • {{lang|fr|Je suis française.|italic=unset}}Je suis française.
  • ''{{lang|fr|Je suis française.|italic=unset}}''Je suis française.
  • {{lang|fr|''Je suis'' English.|italic=unset}}Je suis English.

{{sin cursiva}} también se puede utilizar:

  • {{lang|fr|Je suis {{sin cursiva|English}}.}}Je suis English.

Plantillas específicas de idioma

También existen versiones de esta plantilla específicas por idiomas, como {{lang-fr}} and {{lang-ru}}, que se deben utilizar la primera vez que aparece un idioma en el artículo y que insertan el nombre del idioma y, cuando sea apropiado, formatear el texto en cursiva:

  • Un '''kremlin''' ({{lang-ru|кремль}}, 'castillo') es un complejo central fortificado ... → Un kremlin (en ruso: кремль, 'castillo') es un complejo central fortificado ...

A pesar de que las plantillas {{lang-xx}} presentan el texto en cursiva para idiomas que utilizan el alfabeto latino, si se necesita el texto en redonda, como es el caso de los nombres propios, se puede utilizar |italic=no o {{sin cursiva}}:

  • la ciudad fronteriza de Ventimiglia ({{lang-fr|Vintimille}}) → la ciudad fronteriza de Ventimiglia (en francés: Vintimille)
  • la ciudad fronteriza de Ventimiglia ({{lang-fr|italic=no|Vintimille}}) → la ciudad fronteriza de Ventimiglia (en francés: Vintimille)
  • la ciudad fronteriza de Ventimiglia ({{lang-fr|{{sin cursiva|Vintimille}}}}) → la ciudad fronteriza de Ventimiglia (en francés: Vintimille)

Al formatear texto en un idioma extranjero es mejor excluir el marcado de estilos de la plantilla de tal forma que ningún marcado extraño a la lengua contenida en la plantilla reciba los metadatos incorrectos. Esto incluye: Algún tipo de comillas rodeando títulos de obras en cuyo idioma se utiliza otro signo diferente; introducir cursivas en títulos para idiomas que no se atienen a esa convención; y énfasis que no se encuentra (en ningún estilo) en el texto original; entre otros casos. Si tienes dudas, mantén este tipo de marcado fuera de la plantilla cuando sea posible.


Lenguas escritas de derecha a izquierda

Para incrustar una cadena de texto RtL (como en el árabe o hebreo) dentro del habitual contexto LtR, se debería añadir el parámetro |rtl=yes para indicar la dirección de escritura. Por razones de conveniencia, la plantilla {{rtl-lang}} obtiene el mismo resultado incluyendo automáticamente |rtl=yes. Para introducir marcado para un párrafo entero escrito de derecha a izquierda, se debe utilizar {{rtl-para}} en su lugar.

Cualquiera de estas opciones encapsulará el texto en un contenedor con el atributo dir="rtl". Para asegurar el correcto renderizado en navegadores que no soportan el texto bidireccional de HTML5, se añade un caracter LRM al final del texto (véase el W3C para más detalles).

Nótese que la dirección del texto no necesita ser especificada al utilizar las plantillas {{lang-xx}} ya que esta está implícita en el idioma de la plantilla. Por lo tanto no es necesaria la existencia de {{rtl-lang-ar}}, solo {{lang-ar}}.

Parámetros

parámetros soportados por lang
parámetro definición da preferencia a alias
code Código de idioma IETF para el contenido de text {{{1}}}
text texto en otro idioma {{{2}}}
rtl yes indica que el sistema de escritura utilizado en el contenido de text es de derecha a izquierda (RTL); los valores aceptados son: no (por defecto), yes sub-etiqueta IETF de sistema de escritura del code (si se incluye)
italic véase la tabla "funcionamiento del parámetro |italic= en lang-xx"; los valores aceptados son: yes, no, unset, invert, default italics,i
size especifica el tamaño de fuente del contenido de text; úsese un valor compatible con la propiedad CSS font-size; debería ser siempre un valor relativo en las unidades % o em, en vez de uno fijo en px.
nocat evita la categorización automática; espejo de cat; los valores aceptados son: yes, y, true, t, on, 1
cat evita la categorización automática; espejo de nocat; los valores aceptados son: no, n, false, f, off, 0
funcionamiento del parámetro |italic= en lang
|italic= valor descripción código de ejemplo resultado marcado html
  • parámetro no presente;
  • parámetro presente, sin valor;
  • valor no válido
  • se aplican los estilos de:
  •   auto-cursiva o
  •   la sub-etiqueta de escritura latn;
  • en otros casos se hereda del marado externo;
  • los valores no válidos se tratan como por defecto
{{lang|ru|тундра}} тундра <span lang="ru" title="Texto en idioma ruso">тундра</span>
{{lang|ru|tûndra}} tûndra <i lang="ru" title="Texto en idioma ruso">tûndra</i>
Marcado incorrecto; se debería usar |ru-latn.
{{lang|fr|toundra}} toundra <i lang="fr" title="Texto en idioma francés">toundra</i>
{{lang|ru-latn|tûndra}} tûndra <i lang="ru-Latn" title="Texto en idioma ruso">tûndra</i>
default {{lang|ru|тундра|italic=default}} тундра <span lang="ru" title="Texto en idioma ruso">тундра</span>
{{lang|fr|toundra|italic=default}} toundra <i lang="fr" title="Texto en idioma francés">toundra</i>
{{lang|ru-latn|tûndra|italic=default}} tûndra <i lang="ru-Latn" title="Texto en idioma ruso">tûndra</i>
no
  • se aplica el estilo normal;
  • sobrescribe las auto-cursivas
  • sobrescribe la sub-etiqueta de escritura latn;
  • se sobrescribe el marcado externo
{{lang|ru|тундра|italic=no}} тундра <span lang="ru" title="Texto en idioma ruso" style="font-style:normal">тундра</span>
{{lang|fr|toundra|italic=no}} toundra <span lang="fr" title="Texto en idioma francés" style="font-style:normal">toundra</span>
{{lang|ru-latn|tûndra|italic=no}} tûndra <span lang="ru-Latn" title="Texto en idioma ruso" style="font-style:normal">tûndra</span>
''{{lang|fr|toundra|italic=no}}'' toundra ''<span lang="fr" title="Texto en idioma francés" style="font-style:normal">toundra</span>''
yes
  • se aplica la cursiva;
  • ignora las auto-cursivas
  • se ignora la sub-etiqueta de escritura latn
{{lang|ru|тундра|italic=yes}} тундра <i lang="ru" title="Texto en idioma ruso">тундра</i>
{{lang|ru-latn|tûndra|italic=yes}} tûndra <i lang="ru-Latn" title="Texto en idioma ruso">tûndra</i>
unset
  • no se aplican estilos;
  • se heredan estilos del marcado externo;
  • se desactivan las auto-cursivas
  • sobrescribe la sub-etiqueta de escritura latn;
{{lang|ru|тундра|italic=unset}} тундра <span lang="ru" title="Texto en idioma ruso">тундра</span>
''{{lang|ru|тундра|italic=unset}}'' тундра ''<span lang="ru" title="Texto en idioma ruso">тундра</span>''
{{lang|ru-latn|tûndra|italic=unset}} tûndra <span lang="ru-Latn" title="Texto en idioma ruso">tûndra</span>
''{{lang|ru-latn|tûndra|italic=unset}}'' tûndra ''<span lang="ru-Latn" title="Texto en idioma ruso">tûndra</span>''
invert
  • no se aplican estilos;
  • se invierte el marcado externodagger;
  • se desactivan las auto-cursivas
  • sobrescribe la sub-etiqueta de escritura latn;
{{lang|ru|тундра|italic=invert}} тундра <span lang="ru" title="Texto en idioma ruso">''тундра''</span>
{{lang|ru|''тундра''|italic=invert}} тундра <span lang="ru" title="Texto en idioma ruso">тундра</span>
{{lang|ru-latn|tûndra|italic=invert}} tûndra <span lang="ru-Latn" title="Texto en idioma ruso">''tûndra''</span>
{{lang|ru-latn|''tûndra''|italic=invert}} tûndra <span lang="ru-Latn" title="Texto en idioma ruso">tûndra</span>

dagger comparación entre |italic=invert y |italic=unset:

{{Lang|de|... ein neues Opernprojekt in Angriff: ''Das Käthchen von Heilbronn'', nach Heinrich von Kleists gleichnamigem Drama.|italic=invert}}
... ein neues Opernprojekt in Angriff: Das Käthchen von Heilbronn, nach Heinrich von Kleists gleichnamigem Drama.
{{Lang|de|''... ein neues Opernprojekt in Angriff: ''Das Käthchen von Heilbronn'', nach Heinrich von Kleists gleichnamigem Drama.''|italic=unset}}
... ein neues Opernprojekt in Angriff: Das Käthchen von Heilbronn, nach Heinrich von Kleists gleichnamigem Drama.

El selector de función

{{lang}} utiliza la función lang() de Módulo:Lang. Este módulo también soporta todas las plantillas {{lang-??}} utilizando las funciones lang_xx_inherit() y lang_xx_italic(). El módulo contiene otras funciones que podrían resultar de utilidad y el parámetro de selector de función, |fn= le indica al módulo cual ejecutar en vez de la ejecutada por defecto. Las funciones disponibles son:

  • is_ietf_tag – retorna true si el código de idioma IETF proporcionado es válido; nil en caso contrario
    • {{lang|fn=is_ietf_tag|nv}} →true←
    • {{lang|fn=is_ietf_tag|xx}} →←
  • is_lang_name – retorna true si el nombre de idioma introducido es válido; nil en caos contrario
    • {{lang|fn=is_lang_name|navajo}} →true←
    • {{lang|fn=is_lang_name|xxxxx}} →←
  • lang – la función que renderiza {{lang}}; se incluye en esta lista por completitud pero su uso no tiene mucho sentido
  • lang_xx_inherit – la función que renderiza las plantillas {{lang-??}} en las que el texto no se muestra en cursiva; puede ser utilizada cuando no existe una plantilla {{lang-??}} determinada, por ejemplo {{lang-aao}}, no existe para ese idioma concreto:
    • {{lang|fn=lang_xx_inherit|code=aao|texto en árabe sahariano}} → en árabe sahariano: texto en árabe sahariano
  • lang_xx_italic – la función que renderiza las plantillas {{lang-??}} en las que el texto se muestra en cursiva; puede ser utilizada cuando no existe una plantilla {{lang-??}} determinada, por ejemplo {{lang-svc}}, no existe para ese idioma concreto:
    • {{lang|fn=lang_xx_italic|code=svc|texto en Vincentian Creole English}} → en Vincentian Creole English: texto en Vincentian Creole English
  • name_from_tag – retorna el nombre de idioma asociado al código IETF introducido:
    • {{lang|fn=name_from_tag|apa}} → lenguas apaches
  • tag_from_name – retorna el código de idioma ISO 639 (en ocasiones la etiqueta IETF) asociado con el nombre introducido:
    • {{lang|fn=tag_from_name|havasupai}} → yuf-x-hav
  • transl – la función que renderiza la plantilla {{transl}}; se incluye en la lista por completitud pero su uso no tiene mucho sentido
    • {{lang|fn=transl|ar|DIN|al-Ḫawārizmī}}al-Ḫawārizmī

Indicando el sistema de escritura

Si fuese necesario, se puede añadir un código ISO 15924 al código de idioma para indicar el uso de un sistema de escritura específico. Por ejemplo, el tayiko (tg) es un idioma que se puede encontrar escrito en los alfabetos árabe (Arab), latino (Latn), y cirílico (Cyrl), haciendo necesario que siempre se especifique cual se está utilizando. En estos casos, con cuidado de mantener la mayúscula del código, terminaríamos utilizando los siguientes códigos (los de idioma en negrita):

  • Tajik ({{rtl-lang|tg-Arab|تاجیکی}}, ''{{lang|tg-Latn|toçikī}}'', {{lang|tg-Cyrl|тоҷикӣ}})
Tajik (تاجیکی‎, toçikī, тоҷикӣ)

Muchos idiomas en cambio, se escriben tan a menudo en un solo alfabeto que no es necesario especificarlo. El ruso, por ejemplo, se escribe casi exclusivamente en cirílico así que no es necesario utilizar ru-Cyrl, de la misma forma que es-Latn sería innecesario para el español. El registro de sub-etiquetas contiene información actualizada de que lenguas entran en estos casos y que códigos de sistema de escritura pueden ser "suprimidos" en cada caso.

Transliteración

Para marcar que un idioma ha sido transliterado de un alfabeto a otro, añádase el código del nuevo alfabeto al código de idioma original. De esta forma si se translitera el ruso del cirílico al latino, el código de idioma en la transliteración sería ru-Latn. Si el esquema de transliteración se conoce, y está listado como "variante" (variant) en el registro de sub-etiquetas, puede ser agregado tras cualquier código de alfabeto o región. Por ejemplo, el chino transliterado al alfabeto latino mediante el sistema pinyin sería zh-Latn-pinyin. Por conveniencia, para transliterar al alfabeto latino, y para evitar algunos problemas de estilos por parte de los navegadores para ciertas combinaciones de idioma y alfabeto, {{transl}} puede ser usada en lugar de {{lang}}:

  • Moscú ({{lang|ru|Москва́}}, {{transl|ru|Moskva}})
Moscú (Москва́, Moskva)

Para especificar un esquema de transliteración, como el estándar ISO para transliterar el cirílico, utilícese {{transl|ru|ISO|Moskva}}.

Idiomas indefinidos

La plantilla {{lang}} no solo se puede utilizar para especificar palabras en otros idiomas, también permite especificar un único símbolo o caracter en un alfabeto concreto, sin relacionarlo con un idioma. En muchos casos un símbolo o caracter se utiliza en muchos idiomas, pero cuando el artículo se refiere al grafema en sí mismo se debería utilizar el código ISO 639-2 und (idioma indeterminado):

  • El caracter Han {{lang|und-Hani|字}} tiene 6 trazos.
El caracter Han tiene 6 trazos.

Estos caracteres se utilizan en chino, japonés, en ocasiones en coreano y antiguamente en vietnamita, en este caso no se utiliza en ningún idioma concreto. Nótese que el código de sistema de escritura utilizado es Hani, que especifica sinogramas genéricos (Hanzi, Kanji, Hanja).

Comparación con {{script}}:

  • El caracter Han {{script|Hani|字}} tiene 6 trazos.
El caracter Han tiene 6 trazos.

Indicando variantes regionales

Cuando es necesario indicar idiomas específicos de una región, se debería incluir en la etiqueta de idioma un código de país ISO 3166-1 alpha-2, o uno de región UN M49, con cuidado de mantener las mayúsculas. Por ejemplo, El portugués (pt) utilizado en brasil (BR) podría ser representado como pt-BR, y el español utilizado en américa latina como es-419.

Adicionalmente, los códigos de idioma, alfabeto y región pueden aparecer todos en la misma etiqueta. Por ejemplo, el código zh-Hant-TW se debe utilizar para textos chinos escritos con caracteres chinos tradicionales, que contienen palabras o expresiones específicas de Taiwán:

  • Taiwán ({{lang|zh-Hant-TW|臺灣}}, {{transl|zh|Táiwān}})
Taiwán (臺灣, Táiwān)

Razones

El uso de {{lang}} frente a ''cursiva'' manual es preferible por las siguientes razones:

  • Los navegadores web pueden utilizar la información generada por las plantillas de soporte de idiomas para escoger una fuente adecuada.
    • Esto es muy útil para los sinogramas chinos, japoneses y coreanos para los que se puede mostrar el caracter en su forma específica en función del idioma pero, en caso de no existir una fuente apropiada, se mostrará de otra forma.
  • En cuanto a la accesibilidad, los lectores de pantalla necesitan información sobre el idioma para escoger el acento y para satisfacer las guías de accesibilidad.
  • Para los correctores ortográficos y de gramática, a los que se facilita comprobar cada palabra con el idioma correcto.
  • Para facilitar a los navegadores escoger las comillas apropiadas,[2]​ y tomar decisiones sobre cómo guionizar,[2]ligaduras,[3]​ y espaciado.[2]
  • Los usuarios además pueden aplicar estilos a cada idioma utilizando hojas de estilos (útil para editores).
  • Los motores de búsqueda pueden utilizar la información a la hora de indexar un texto.
  • Facilita el scraping, parseo y reutilización de los datos.
  • Útil para investigar y recoger estadísticas sobre el uso de idiomas en Wikipedia.

Aplicando estilos

Los usuarios registrados pueden aplicar estilos CSS personalizados colocando las declaraciones en su hoja personal. Dicha hoja de estilos se puede crear en Special:Mypage/common.css. Los siguientes ejemplos deberían funcionar en la mayoría de los navegadores modernos.

Para aplicar una fuente específica a todo el texto marcado como ruso sin importar el alfabeto o la región:

[lang|=ru] { font-family: fonteskaya; }
/*   or   */
:lang(ru) { font-family: fonteskaya; }

Para aplicar una fuente específica al texto marcado simplemente como ruso:

[lang=ru] { font-family: fonteskaya; }

Para aplicar un color a todo el texto marcado con cualquier idioma:

[lang] { color: green; }

Si el nombre de una fuente contiene caracteres que no sean el alfabeto latino o guiones, conviene rodearlo con comillas porque algún caracter podría tener un efecto inesperado (el caso más habitual para necesitar comillas es cuando el nombre de la fuente consiste en varias palabras separadas por espacios). Las comillas también se deben utilizar para familias de fuentes que contienen palabras clave de familias genéricas ('inherit', 'serif', 'sans-serif', 'monospace', 'fantasy', and 'cursive'). Véase el W3C para más detalles.

Puedes combinar esto con la importación de fuentes en tu hoja de estilos para, por ejemplo, mostrar todo el texto alemán en Fraktur y todo el texto urdu en Noto Nastaliq Urdu Regular:

@import url(https://fonts.googleapis.com/css?family=UnifrakturMaguntia);
@import url(http://fonts.googleapis.com/earlyaccess/notonastaliqurdudraft.css);

:lang(de) {
   font-family: UnifrakturMaguntia;
   font-style: normal;
   font-weight: normal;
}

:lang(ur) {
    font-family: "Noto Nastaliq Urdu Regular", "Noto Nastaliq Urdu";
}

entonces el siguiente wikitexto se mostrará como se ve en la imagen de debajo:

Victor jagt zwölf Boxkämpfer quer über den Sylter Deich

{{lang|de-Latf|Victor jagt zwölf Boxkämpfer quer über den Sylter Deich}}

ٹھنڈ میں، ایک قحط زدہ گاؤں سے گزرتے وقت ایک چڑچڑے، بااثر و فارغ شخص کو بعض جل پری نما اژدہے نظر آئے۔

{{lang|ur|ٹھنڈ میں، ایک قحط زدہ گاؤں سے گزرتے وقت ایک چڑچڑے، بااثر و فارغ شخص کو بعض جل پری نما اژدہے نظر آئے۔}}


Categorías de seguimiento

TemplateData

Esta es la documentación de la plantilla, generada mediante TemplateData, que es utilizada también para su inserción y modificación en el editor visual.

TemplateData para Lang

Indique que un intervalo determinado de texto pertenece a un idioma determinado. Permite que los navegadores presenten y pronuncien correctamente idiomas extranjeros.

Parámetros de la plantilla[Editar los datos de la plantilla]

Es preferible escribir los parámetros en una sola línea.

ParámetroDescripciónTipoEstado
Etiqueta de idioma1 code

Una etiqueta de idioma, o código ISO 639.

Ejemplo
fr
Cadenaobligatorio
Texto2 text

El texto en el idioma especificado.

Ejemplo
Je suis française.
Cadenaobligatorio
Derecha a izquierdartl

Indica que el idioma se debe mostrar de derecha a izquierda.

Predeterminado
no
Ejemplo
yes
Cadenaopcional
Cursivasitalic italics

Gestiona las cursivas del texto

Predeterminado
yes
Ejemplo
no
Lógicoopcional
Tamaño de fuentesize

Configura el font-size

Ejemplo
120%, 1.2em
Cadenaopcional
No categoríasnocat

Evita la generación de categorías (por defecto se generan)

Predeterminado
no
Lógicoopcional

Véase también

Referencias

  1. "Language tags in HTML and XML" at World Wide Web Consortium
  2. a b c Ishida, Richard (18 November 2014). «Why use the language attribute?» (Previously by Deborah Cawkwell, BBC World Service). World Wide Web Consortium. Consultado el 1 de marzo de 2015. 
  3. «6.4 Ligatures: the font-variant-ligatures property». CSS Fonts Module Level 3 W3C Candidate Recommendation 3 October 2013. 

Enlaces externos

Esta documentación está transcluida desde Plantilla:Lang/doc.
Los editores pueden experimentar en la zona de pruebas (editar) y en los casos de prueba (editar) de la plantilla.
Por favor, añade las categorías en la subpágina de documentación. Subpáginas de esta plantilla.