Este módulo está pensado para ser utilizado dentro de {{ infobox }} (las letras Wikidata IB significan Info Box , de ahí el nombre) u otras plantillas y está diseñado específicamente para permitir a los editores de un artículo (a diferencia de los editores del infobox que utiliza el artículo) controlar si se muestran los valores de Wikidata.
Uno de los dos entornos sandbox debe utilizarse para probar cualquier cosa que no sean modificaciones triviales.
Están disponibles ejemplos de pruebas para el módulo principal y los dos entornos sandbox.
El módulo proporciona estas llamadas específicamente para su uso en cuadros de información en la actualidad:
getValue
- llamada principal, utilizada para obtener los valores de una propiedad determinadagetQualifierValue
- dado: (1) una propiedad; (2) su valor; (3) el propertyID de un calificador, devuelve valores que coincidengetValueByQual
Obtiene el valor de una propiedad que tiene un calificador con un valor de entidad dadogetValueByLang
obtiene el valor de una propiedad que tiene un calificador P407 ("idioma de la obra o nombre") cuyo valor tiene el código de idioma dadogetValueByRefSource
obtiene el valor de una propiedad que tiene una referencia "establecida en" (P248) cuyo valor tiene el ID de entidad dadogetPropOfProp
Si los valores de prop1 son del tipo "wikibase-item", entonces devuelve los valores de prop2 de cada uno de esos elementos de wikibase.getAwardCat
Si el artículo tiene valores de P166 (premio recibido), entonces examina cada uno de esos premios para P2517 (categoría para los destinatarios de este premio) y devuelve la categoría correspondiente, con P734 (apellido) del artículo como clave de clasificación, o sin clave de clasificación si no hay apellido.getIntersectCat
Para cada valor de la propiedad1, obtiene la categoría principal del valor y luego cada valor de la propiedad2, luego devuelve todas las categorías que representan la intersección de esas propiedades.getSumOfParts
Escanea la propiedad 'tiene parte' (P527) en busca de valores que coincidan con una lista. Si los valores coincidentes tienen un calificador 'cantidad' (P1114), esas cantidades se suman y se devuelven (pero cero devuelve nulo)getCoords
obtiene las coordenadas y las pasa a través de {{ Coord }}getPreferredValue
- Obsoleto , pero se conserva por compatibilidad con versiones anteriores. Utilice los |getValue|rank=best
parámetros en su lugarLa llamada obsoleta getSourcedValue ahora se ha eliminado ya que es redundante con getValue, que puede hacer el mismo trabajo utilizando el |onlysourced=true
parámetro (que está configurado de manera predeterminada).
getLink
Si hay un enlace de sitio a un artículo en la Wiki local, devuelve un enlace al artículo con la etiqueta Wikidata como texto mostrado. Si no hay ningún enlace de sitio, devuelve la etiqueta como texto sin formato. Si no hay ninguna etiqueta en el idioma local, devuelve el identificador de entidad.getAT
(Título del artículo) Si hay un enlace de sitio a un artículo en la Wiki local, devuelve el enlace de sitio como texto sin formato; de lo contrario, no aparece nada.getSiteLink
Obtiene el enlace de texto simple a un artículo en una wiki determinadagetLabel
Devuelve la etiqueta Wikidata para el idioma local como texto sin formato. Si no hay ninguna etiqueta en el idioma local, devuelve el identificador de entidad.getAllLabels
Obtiene el conjunto de etiquetas y lo formatea para mostrarlo como wikitexto.labelorid
Devuelve la etiqueta con todo el wikitexto eliminado, o el ID de entidad si no hay etiqueta.getDescription
devuelve la descripción del artículo de la entidad Wikidata si el parámetro local es "Wikidata"getAllDescriptions
Obtiene el conjunto de descripciones y lo formatea para mostrarlo como wikitexto.getAliases
Devuelve los alias de la entidad en el idioma actual o en el idioma dado.getAllAliases
Obtiene el conjunto de alias y lo formatea para mostrarlo como wikitexto.pageId
Devuelve el ID de la página Wikidata conectada (ID de entidad, número Q) de la página actualformatDate
Toma una fecha y hora del formato habitual de mw.wikibase.entity:formatPropertyValues y la formatea de acuerdo con los parámetros df (formato de fecha) y bcformatNumber
formatea un número según el código de idioma proporcionadocheckBlacklist
devuelve verdadero si el campo no está en la lista negra (es decir, permitido)emptyor
devuelve nulo si el parámetro es solo puntuación, espacios en blanco o etiquetas html; de lo contrario, devuelve el argumento sin cambiosgetLang
devuelve el código de idioma de MediaWiki o el nombre completo del idioma del contenido actualgetItemLangCode
busca el país (P17), luego el idioma oficial de ese país (P37) y devuelve su código de idioma (P424)findLanguage
devuelve (1) el idioma suministrado si es válido; o (2) el idioma establecido por el usuario; o (3) el idioma del wiki actualgetQid
devuelve (1) el ID de entidad, si se proporciona; o (2) el ID de entidad del "tema principal de la categoría (P301)"; o (3) el ID de entidad asociado con la página actual; o (4) nadafollowQid
Dada una lista de propiedades, busca cada propiedad por turno y devuelve el ID de entidad del primer valor que coincide (opcionalmente, devuelve todos los ID de entidad que coinciden)getGlobe
devuelve el ID de entidad del globo utilizado en P625 (ubicación de coordenadas), o nulo si no hay ningunogetCommonsLink
devuelve uno de los siguientes en orden de preferencia: el enlace del sitio Commons del elemento Wikidata vinculado; el enlace del sitio Commons de la categoría principal del tema del elemento Wikidata vinculadositeID
devuelve la raíz del globalSiteID, por ejemplo, "en" para "enwiki", "enwikisource", "en-gb", etc.projID
Lo mismo que siteIDlocation
escanea desde la ubicación actual hacia arriba a lo largo de la cadena de ubicaciones de nivel superior, regresando a cada una hasta que llega a un paísexamine
Devuelve un volcado formateado de la propiedad dada.url2
toma un parámetro que es una URL adecuada y lo formatea para usarlo en un cuadro de información; acepta su propia salida como entradagetWebsite
Obtiene el sitio web oficial (P856) y lo formatea para usarlo en un cuadro de información.checkvalue
Busca en una propiedad un ID de entidad dado como su valor y devuelve ese ID de entidad si lo encuentra; de lo contrario, es nulocheckValidity
Devuelve si el primer parámetro sin nombre representa un ID de entidad válido.showNoLinks
Muestra los títulos de los artículos que no deben estar vinculados.{{#invoke:WikidataIB |getValue |<PropertyID> |name=<fieldname> |suppressfields=<lista de campos que nunca se mostrarán> |fetchwikidata=<lista de campos de los que obtener valores en Wikidata> |onlysourced=<yes/no> |noicon=<yes/no> |df=<dmy/mdy/y> |bc=<BC/BCE> |qual=<ALL/DATES/P999> |list=<ubl/hlist/prose> |linked=<yes/no> |<parámetro local>}}
{{#invoke:WikidataIB |getCoords |name=<nombre del campo> |suppressfields=<lista de campos que nunca se mostrarán> |fetchwikidata=<lista de campos para obtener valores de Wikidata> |<parámetro local>}}
{{#invoke:WikidataIB |getQualifierValue |<PropertyID> |pval=<ID del valor de destino para la propiedad> |qual=<ID del calificador para ese valor de destino> |name=<nombre del campo> |suppressfields=<lista de campos que nunca se mostrarán> |fetchwikidata=<lista de campos para obtener valores de Wikidata> |onlysourced=<sí/no>}}
{{#invoke:WikidataIB |getValueByQual |<PropertyID> |qualID=<ID de la propiedad calificadora con la que se va a hacer coincidir> |qvalue=<QID del valor de destino para la propiedad calificadora> |name=<nombre del campo> |suppressfields=<lista de campos que nunca se mostrarán> |fetchwikidata=<lista de campos de los que obtener valores en Wikidata> |onlysourced=<sí/no>}}
{{#invoke:WikidataIB |getValueByLang |<PropertyID> |lang=<código de idioma a buscar> |name=<nombre de campo> |suppressfields=<lista de campos que nunca se mostrarán> |fetchwikidata=<lista de campos de los que extraer valores Wikidata> |onlysourced=<sí/no>}}
|qid=
que sea el ID de Wikidata para un artículo. Normalmente, esto no se usará, ya que si se omite, se tomará el artículo actual de manera predeterminada.|name=
, que primero se compara con una lista negra de campos que nunca se deben mostrar (es decir, la llamada debe devolver nil en todas las circunstancias). Si el campo no está en la lista negra, se compara con una lista blanca. Si el nombre del campo coincide, la llamada devolverá cualquier valor suministrado localmente si se suministra como el segundo parámetro sin nombre, o el valor de Wikidata en caso contrario.|fetchwikidata=ALL
es un atajo para devolver todos los campos que no están en la lista negra.|fetchwikidata=ALL
.|suppressfields=
|fetchwikidata=
La función getValue aceptará un parámetro booleano onlysourced
que suprimirá la devolución de valores de Wikidata que no tienen fuentes o que solo tienen fuentes de un proyecto Wikimedia. La ausencia del parámetro, un parámetro vacío ( |onlysourced=
) y la cadena vacía ( ""
) tienen todos el valor predeterminado verdadero (es decir, solo se devuelven los valores referenciados). Los valores no
, false
y 0
se tratan como falsos (es decir, se devuelven todos los valores); cualquier otro valor es verdadero (aunque |onlysourced=yes/no
se recomienda para facilitar la lectura).
La función getValue aceptará un parámetro booleano noicon
que suprimirá el icono y el enlace "editar en Wikidata" en los casos en los que el valor devuelto se procesará posteriormente en el cuadro de información (por ejemplo, una URL). La ausencia del parámetro o un parámetro vacío ( |noicon=
) tiene el valor predeterminado falso (es decir, se añade el icono). La cadena vacía ( ""
) y los valores no
, false
y 0
se tratan como falsos; cualquier otro valor es verdadero (aunque |noicon=true
se recomienda para facilitar la lectura).
Siguiendo una discusión en el Módulo de discusión: WikidataIB #Visibilidad del icono del bolígrafo , el icono del bolígrafo está oculto para los usuarios que no están autoconfirmados. Esto significa que la mayoría de los lectores no ven el icono del bolígrafo y representa un equilibrio entre la estética y el vandalismo en Wikidata por un lado, y el deseo de fomentar la edición de Wikidata por el otro.
Para gestionar el requisito de fechas en formatos mdy, dmy o simplemente año, getValue acepta un parámetro con nombre |df=
que puede tomar los valores "dmy", "mdy" o "y" (el valor predeterminado es "dmy").
Como un artículo puede requerir cualquiera de los sufijos BC y BCE, getValue acepta un parámetro con nombre |bc=
que puede tomar los valores "BC" o "BCE" (el valor predeterminado es "BCE"). Algunos casos de prueba se muestran en Módulo discusión:WikidataIB/testing #Llamadas a getValue para fechas .
El |rank=
parámetro, cuando se establece en preferido, devuelve solo valores preferidos; cuando se establece en normal, devuelve solo valores normales; cuando se establece en obsoleto, devuelve solo valores obsoletos. Si el parámetro se establece en mejor, devuelve valores preferidos si están presentes, de lo contrario, valores normales. Cualquier valor de parámetro que comience con "p" es "preferido"; cualquier valor de parámetro que comience con "n" es "normal"; cualquier valor de parámetro que comience con "d" es "obsoleto"; cualquier valor de parámetro que comience con "b" es "mejor". Se permiten combinaciones de valores, por ejemplo, |rank=p n
devuelve todos los valores preferidos y normales (que es el valor predeterminado), aunque "mejor" anula cualquier otro parámetro.
El módulo tiene controladores específicos para los siguientes tipos de datos:
Los elementos que representan otros tipos de datos no se manejan actualmente.
La tercera clase de tipos de datos se puede utilizar con los parámetros:
|prefix=
, |postfix=
, |linkprefix=
,|linkpostfix=
Si no proporciona al menos uno de los siguientes |linkprefix=
: o |linkpostfix=
, entonces se utilizan únicamente |prefix=
y . Por ejemplo, al obtener el código del observatorio Minor Planet Center (P717) en el Observatorio de Viena (Q532127):|postfix=
{{#invoke:WikidataIB/sandbox|getValue|P717|fetchwikidata=ALL|onlysourced=no |prefix="before " |postfix=" after" |qid=Q532127}}
→ antes 045 después Utilice comillas dobles para encerrar el valor del parámetro si tiene espacios al principio o al final (de lo contrario, se eliminan). Si proporciona |linkprefix=
o |linkpostfix=
, se utilizan los cuatro parámetros y se crea un vínculo para cada valor de la siguiente manera:
[[ linkprefix WikidataValue1 linkpostfix | prefix WikidataValue1 postfix]], [[ linkprefix WikidataValue2 linkpostfix | prefix WikidataValue2 postfix]], etc.
Esto permite realizar múltiples enlaces a diferentes secciones de un artículo de lista, como Lista de códigos de observatorios . Por ejemplo, al obtener el código del observatorio Minor Planet Center (P717) en Observatorio de Viena (Q532127), podemos realizar los enlaces:
{{#invoke:WikidataIB/sandbox|getValue|P717|fetchwikidata=ALL|onlysourced=no |prefix= |postfix= |linkprefix="List of observatory codes#" |linkpostfix= |qid=Q532127}}
→ [Lista de códigos de observatorios#045 045] Los parámetros |prefix=
, |postfix=
, |linkprefix=
, |linkpostfix=
también se aplican a los elementos de wikibase si están vinculados.
|sorted=<yes|no>
es un valor booleano que se pasa para habilitar la clasificación de los valores devueltos. Ningún parámetro, una cadena vacía, "falso", "no" o "0" deshabilitan la clasificación. Es solo una clasificación alfabética muy tonta y ordena los valores vinculados como "[[ ..."|sep=<separator characters>
permite definir el separador entre varios valores devueltos. El valor predeterminado es ", "
(coma más espacio normal). Si el separador tiene espacios iniciales o finales, enciérrelo entre comillas dobles (por ejemplo, |sep=" - "
). Las comillas dobles se eliminan del separador. El carácter de barra vertical ( |
) debe escaparse como {{!}}
. Por razones de accesibilidad (consulte MOS:PLIST ), no lo use |sep=<br>
para listas verticales sin viñetas; use |list=ubl
en su lugar.|list=<prose|cslist|hlist|ubl|blist|olist>
permite que los valores devueltos múltiples se muestren como una oración con los dos últimos valores separados por "y" ( |list=prose
), una lista horizontal separada por comas ( |list=cslist
, no debe usarse en prosa), una lista horizontal ( |list=hlist
), una lista vertical sin viñetas ( |list=ubl
), una lista vertical con viñetas ( |list=blist
) o una lista vertical ordenada ( |list=olist
). Estas opciones anulan el separador y no muestran el "icono de lápiz" vinculado a "Editar en Wikidata".|list=p-1
Muestra el último valor. Combina con para mostrar el valor n .|maxvals=n
A veces se espera que una propiedad tenga un único valor, como imagen (P18), pero puede tener múltiples valores en Wikidata. La configuración |maxvals=1
limitará la cantidad de valores devueltos a 1. Cualquier otro valor es posible y funciona como se espera, pero cero se considera "sin límite".
Un valor devuelto que representa un artículo en la wiki local se vinculará de forma predeterminada. Esto incluye redirecciones, pero no páginas dab. A veces, es necesario no vincular esos valores devueltos y esto se puede lograr configurando |linked=no
.
Cuando el valor devuelto es una cantidad, se añade el nombre de las unidades en las que se expresa. Es posible que los cuadros de información deseen utilizar abreviaturas en lugar de unidades comunes. Esto se puede hacer configurando |unitabbr=true
.
Se puede proporcionar un parámetro |qual=
que devolverá calificadores de la propiedad requerida, si existen. Si el valor se establece en una lista separada por puntuación de identificadores de propiedad (por ejemplo, P123, P456), solo se devolverán los valores de calificadores con esa propiedad. Si el valor se establece en |qual=ALL
, se devuelven todos los valores de calificador. Si el valor se establece en , se devuelven |qual=DATES
la hora de inicio (P580) y la hora de finalización (P582) de la propiedad con un separador de fecha. En cada caso, los valores de calificador devueltos siguen al valor de la propiedad y se encierran entre paréntesis. Si se devuelven varios valores de calificador, se separarán con comas de forma predeterminada, aunque el separador se puede cambiar especificando |qsep=
(que puede estar entre comillas dobles, que se eliminan para que se puedan incluir espacios). Al establecer el parámetro, |qsorted=yes
se ordenarán los valores de calificador devueltos alfanuméricamente.
Algunos de los parámetros más largos se pueden abreviar para que los diseños de los cuadros de información sean más compactos:
fwd → fetchwikidata
osd → onlysourced
spf → suppressfields
wdl → wdlinks
Generalmente, getValue
tiene un conjunto de valores predeterminados para sus parámetros que representan decisiones de consenso de los editores. Por ejemplo, |onlysourced=
el valor predeterminado es true
que solo se devuelvan los valores de Wikidata que tengan una fuente mejor que "Wikipedia", y |fetchwikidata=
el valor predeterminado es none
que no se devuelva nada hasta que se habilite configurando algunos nombres de campo o "ALL". Esto representa la condición de seguridad y permite que los cuadros de información sean compatibles con Wikidata sin cambiar ningún artículo hasta que se habilite para ese artículo .
Para simplificar el uso de getValue
en otras circunstancias, se pueden especificar combinaciones comunes de parámetros con |parameterset=
o su alias |ps=
para mayor comodidad. Actualmente se implementan dos combinaciones, que son:
|rank="mejor"|fetchwikidata="TODOS"|onlysourced="no"|noicon="verdadero"
|rank = "mejor"|fetchwikidata = "TODOS"|onlysourced = "no"|noicon = "verdadero"|vinculado = "no"|plaindate = "verdadero"
Se podrían crear otros conjuntos si hubiera demanda.
La plantilla {{ wdib }} se puede utilizar como un contenedor conveniente para {{#invoke:WikidataIB |getValue}}
.
La función getPreferredValue funciona exactamente como getValue, tomando los mismos parámetros, pero si algún valor de una propiedad tiene establecido el rango preferido, solo devolverá esos valores. Esta función ya no se utiliza y se reemplaza por getValue|rank=best
.
|qid=
que sea el ID de Wikidata para un artículo. Normalmente, esto no se usará, ya que si se omite, se tomará el artículo actual de manera predeterminada.|suppressfields=
y|fetchwikidata=
format
parámetro establece el formato de visualización en decimal o dms. Cualquier valor que comience con "dec" establece decimal; cualquier otro valor establece dms.display
parámetro establece la posición de visualización en "en línea", "título" o "en línea, título". El valor predeterminado es nada (por lo que se utiliza el valor predeterminado para {{ Coord }} , actualmente "en línea").La función getQualifierValue se utiliza cuando queremos obtener el valor de un calificador. Necesitamos conocer la propiedad y el valor de la propiedad a la que se relaciona el calificador. Los parámetros son:
|1=
)|pval=
|qual=
|onlysourced=
|qid=
En el Telescopio del Polo Sur (Q1513315) hay un evento significativo de propiedad (P793), que tiene una construcción de valor (Q385378). Esto tiene dos calificadores, hora de inicio (P580) y hora de finalización (P582). Para obtener la fecha de inicio:
{{#invoke:WikidataIB |getQualifierValue |qid=Q1513315 |P793 |pval=Q385378 |qual=P580 |name=xyz |fetchwikidata=ALL }}
En el Telescopio del Polo Sur se muestra:
La función getValueByQual devuelve el valor de una propiedad que tiene un calificador con un valor de entidad determinado. Los parámetros son:
|1=
)|qualID=
|qvalue=
|onlysourced=
|qid=
En la carne (Q10990) hay una propiedad pronunciación audio (P443) que tiene múltiples valores, cada uno de los cuales tiene un calificador idioma de trabajo o nombre (P407). Podemos devolver el valor de la propiedad cuyo calificador tiene el valor árabe (Q13955)
{{#invoke:WikidataIB |getValueByQual |qid=Q10990 |P443 |qualID=P407 |qvalue=Q13955 |fwd=ALL |osd=no |noicon=true}}
→ Ar-لحم.oggLa función getValueByLang devuelve el valor de una propiedad que tiene un calificador de idioma de trabajo o nombre (P407) cuyo valor tiene el código de idioma indicado. Los parámetros son:
|1=
)|lang=xx[-yy]
. Si no se proporciona ningún código, se utiliza el idioma predeterminado.|onlysourced=
|qid=
En OSDN (Q7565108) hay una propiedad official website (P856) que tiene múltiples valores, cada uno de los cuales tiene un calificador de idioma de la obra o nombre (P407). Podemos devolver el valor de la propiedad cuyo valor calificador de idioma de la obra o nombre (P407) (un elemento WD) tiene la propiedad de código de idioma de Wikimedia (P424) que es "ja", es decir, japonés (Q5287)
{{#invoke:WikidataIB |getValueByLang |qid=Q7565108 |P856 |lang=ja |fwd=ALL |osd=no |noicon=true}}
→ https://ja.osdn.net/Si |lang=
no se especifica, podemos obtener el mismo valor con el idioma predeterminado (aquí es inglés (Q1860) y su código de idioma Wikimedia (P424) es "en")
{{#invoke:WikidataIB |getValueByLang |qid=Q7565108 |P856 |fwd=ALL |osd=no |noicon=true}}
→ https://osdn.net/getLink tiene el qid de una entidad Wikidata pasada como el primer parámetro sin nombre o como |qid=
Si hay un enlace de sitio a un artículo en la Wiki local, devuelve un enlace al artículo con la etiqueta Wikidata como texto mostrado. Si no hay ningún enlace de sitio, devuelve la etiqueta como texto sin formato. Si no hay ninguna etiqueta en el idioma local, muestra el qid en su lugar.
{{#invoke:WikidataIB |getLink |Q29016906}}
→ Corisca y el Sátiro{{#invoke:WikidataIB |getLink |Q3621491}}
→ arqueólogogetLabel tiene el qid de una entidad Wikidata pasada como el primer parámetro sin nombre o como|qid=
Devuelve la etiqueta Wikidata en el idioma local para un elemento según el qid indicado. Si no hay ninguna etiqueta en el idioma local, devuelve el qid en su lugar. Tenga en cuenta que esta es la etiqueta asignada a la entrada Wikidata en el mismo idioma que el Wiki actual, si la etiqueta existe.
{{#invoke:WikidataIB |getLabel |Q29016906}}
→ Corisca y el Sátiro{{#invoke:WikidataIB |getLabel |Q3621491}}
→ arqueólogo{{#invoke:WikidataIB |getLabel |Q19805408}}
→ Módulo:Biblioteca/ObraLa etiqueta tiene el qid de una entidad Wikidata pasada como el primer parámetro sin nombre o como|qid=
Devuelve la etiqueta Wikidata en el idioma local de un elemento según el qid indicado o vinculado a la página actual. Si no hay ninguna etiqueta en el idioma local, devuelve una cadena vacía. Tenga en cuenta que esta es la etiqueta asignada a la entrada Wikidata en el mismo idioma que la Wiki actual, si la etiqueta existe.
{{#invoke:WikidataIB |label |Q29016906}}
→ Corisca y el Sátiro{{#invoke:WikidataIB |label |Q3621491}}
→ arqueólogo{{#invoke:WikidataIB |label |Q19805408}}
→ Módulo:Biblioteca/ObragetAT tiene el qid de una entidad Wikidata pasado como el primer parámetro sin nombre o como |qid=
Si hay un enlace de sitio a un artículo en la Wiki local, devuelve el enlace de sitio como texto sin formato, es decir, el título del artículo. Si no hay ningún enlace de sitio, no devuelve nada. Tenga en cuenta que este es el título del artículo en la Wikipedia actual, si el enlace entre idiomas existe en la entrada de Wikidata.
{{#invoke:WikidataIB |getAT |Q29016906}}
→ Corisca y el Sátiro{{#invoke:WikidataIB |getAT |Q3621491}}
→ ArqueólogogetDescription tiene el qid de una entidad Wikidata pasada como |qid= (si se omite, el valor predeterminado es el qid asociado del artículo actual). Tiene un parámetro local pasado como el primer parámetro sin nombre. Cualquier parámetro local pasado (excepto "Wikidata" o "none") se convierte en el valor de retorno. Devuelve la descripción del artículo para la entidad Wikidata en texto sin formato si el parámetro local es "Wikidata". No se devuelve nada si la descripción no existe o se pasa "none" como parámetro local.
{{#invoke:WikidataIB |getDescription |qid=Q29016906 |wikidata}}
→ pintura de Artemisia Gentileschi{{#invoke:WikidataIB |getDescription |qid=Q29016906 |A painting}}
→ Una pintura{{#invoke:WikidataIB |getDescription |qid=Q29016906 |none}}
→{{#invoke:WikidataIB |getDescription |qid=Q3621491 |wikidata}}
→ persona que estudia la actividad humana en el pasado{{#invoke:WikidataIB |getDescription |qid=Q3621491 |A profession}}
→ Una profesión{{#invoke:WikidataIB |getDescription |qid=Q3621491 |none}}
→formatDate acepta una fecha y hora con el formato habitual de mw.wikibase.entity:formatPropertyValues, como "1 de agosto de 30 a. C." como parámetro 1 y la formatea de acuerdo con los parámetros df (formato de fecha) y bc.
{{#invoke:WikidataIB |formatDate | 1 August 30 BCE |bc=BCE |df=dmy}}
→ 1 de agosto del año 30 a. C.{{#invoke:WikidataIB |formatDate | 1 August 30 BCE |bc=BC |df=mdy}}
→ 1 de agosto del año 30 a. C.checkBlacklist permite realizar una prueba para verificar si un campo con nombre está permitido. Devuelve verdadero si el campo no está en la lista negra (es decir, permitido). Devuelve falso si el campo está en la lista negra (es decir, no permitido).
Ejemplo:
{{#if:{{#invoke:WikidataIB |checkBlacklist |name=nationality |suppressfields=residence; nationality; citizenship}} | not blacklisted | blacklisted}}
→ no está en la lista negra{{#if:{{#invoke:WikidataIB |checkBlacklist |name=birth_place |suppressfields=residence; nationality; citizenship}} | not blacklisted | blacklisted}}
→ no está en la lista negraemptyor devuelve nil si su primer argumento sin nombre es solo puntuación, espacios en blanco o etiquetas html; de lo contrario, devuelve el argumento sin cambios (incluido el espacio inicial y final).
Si el argumento pudiera contener "=", entonces debe llamarse explícitamente:
| 1 = whatever-the-argument-is
En ese caso, se recortan los espacios iniciales y finales.
Se utiliza en cuadros de información donde puede reemplazar pruebas como:
{{#if: {{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}} | <span class="xxx">{{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}}</span> | }}
con un formulario que utiliza sólo una única llamada a Wikidata:
{{#invoke |WikidataIB |emptyor |1= <span class="xxx">{{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}}</span> }}
labelorid es una función pública para exponer la salida de labelOrId().
El número Q (ID de entidad) se pasa como |qid= o como un parámetro sin nombre.
Devuelve la etiqueta Wikidata para esa entidad o el qid si no existe ninguna etiqueta.
|qid=
;examine proporciona un volcado de toda la propiedad proporcionada en el primer parámetro sin nombre (o como |pid=
un alias con nombre) del elemento proporcionado por el parámetro 'qid', o del elemento correspondiente a la página actual si no se proporciona qid. Ambos parámetros pueden no tener nombre y proporcionarse en cualquier orden.
Funciona de manera similar a la función Dump , pero solo carga un único reclamo, en lugar de la entrada completa de Wikidata.
{{#invoke:WikidataIB |examine |qid=Q1396889 |P50}}
Hay una plantilla:Examine que actúa como contenedor para la llamada.
{{examine |Q4048254 |P31}}
→tabla#1 { tabla#2 { ["id"] = "Q4048254$9af461b4-a1d0-4c67-a7f0-f668944a17d6", ["snack principal"] = tabla#3 { ["tipo de datos"] = "elemento de wikibase", ["valor_dato"] = tabla#4 { ["tipo"] = "wikibase-entityid", ["valor"] = tabla#5 { ["tipo-entidad"] = "elemento", ["id"] = "Q4656150", ["id-numérico"] = 4656150, }, }, ["propiedad"] = "P31", ["snaktype"] = "valor", }, ["rango"] = "normal", ["referencias"] = tabla#6 { tabla#7 { ["hash"] = "3bf39867b037e8e494a8389ae8a03bad6825a7fc", ["snaks"] = tabla#8 { ["P143"] = tabla#9 { tabla#10 { ["tipo de datos"] = "elemento de wikibase", ["valor_dato"] = tabla#11 { ["tipo"] = "wikibase-entityid", ["valor"] = tabla#12 { ["tipo-entidad"] = "elemento", ["id"] = "Q191168", ["id-numérico"] = 191168, }, }, ["propiedad"] = "P143", ["snaktype"] = "valor", }, }, }, ["pedido de bocadillos"] = tabla#13 { "P143", }, }, }, ["tipo"] = "declaración", }, tabla#14 { ["id"] = "q4048254$d1f08825-499b-8d4a-d1ee-304b2498a7fd", ["snack principal"] = tabla#15 { ["tipo de datos"] = "elemento de wikibase", ["valor_dato"] = tabla#16 { ["tipo"] = "wikibase-entityid", ["valor"] = tabla#17 { ["tipo-entidad"] = "elemento", ["id"] = "Q14204246", ["id-numérico"] = 14204246, }, }, ["propiedad"] = "P31", ["snaktype"] = "valor", }, ["rango"] = "normal", ["tipo"] = "declaración", },}
url2 toma un parámetro url= que es una URL adecuada y lo formatea para usarlo en un cuadro de información.
Ejemplos:
{{#invoke:WikidataIB |url2 |url= http://www.example.com/ }}
→ www.ejemplo.com <span class="url">[http://www.ejemplo.com/ www<wbr/>.ejemplo<wbr/>.com]</span>
{{#invoke:WikidataIB |url2 |url= http://www.example.com/path/ }}
→ www.ejemplo.com/ruta/ <span class="url">[http://www.ejemplo.com/ruta/ www<wbr/>.ejemplo<wbr/>.com<wbr/>/ruta<wbr/>/]</span>
{{#invoke:WikidataIB |url2 |url= {{wdib |P856 |qid=Q23317 |fwd=ALL |osd=no}} }}
→ https://www.audi.co.za/, https://www.audi.de/, https://www.audi.fr/ www.audi.com, https://www.audi.co .za/, https://www.audi.de/, https://www.audi.fr/ <span class="url">[https://www.audi.com, https://www.audi.co.za/, https://www.audi.de/, https://www.audi.fr/ www<wbr/>.audi<wbr/>.com, https:<wbr/>/<wbr/>/www<wbr/>.audi<wbr/>.co<wbr/>.za<wbr/>/, https:<wbr/>/<wbr/>/www<wbr/>.audi<wbr/>.de<wbr/>/, https:<wbr/>/<wbr/>/www<wbr/>.audi<wbr/>.fr<wbr/>/]</span> <span class='penicon autoconfirmed-show'>[[Archivo:OOjs UI icon edit-ltr-progressive.svg |sin marco |texto superior |10px |alt=Editar esto en Wikidata|link=https://www.wikidata.org/wiki/Module:WikidataIB/Q23317?uselang=es#P856|Editar esto en Wikidata]]</span>
{{wdib |P856 |qid=Q23317 |fwd=ALL |osd=no}}
→ https://www.audi.com, https://www.audi.co.za/, https://www.audi.de/, https://www.audi.fr/ https://www.audi.com, https://www.audi.co.za/, https://www.audi.de/, https://www.audi.fr/ <span class='penicon autoconfirmed-show'>[[Archivo:OOjs UI icon edit-ltr-progressive.svg |sin marco |texto superior |10px |alt=Editar esto en Wikidata|enlace=https://www.wikidata.org/wiki/Module:WikidataIB/Q23317?uselang=es#P856|Editar esto en Wikidata]]</span>
{{#invoke:WikidataIB |url2 |url= {{url|http://www.example.com/}} }}
→ www.ejemplo.com www <span class="url">[http://www.ejemplo.com/ www<wbr/>.ejemplo<wbr/>.com]</span> www<wbr/>.ejemplo<wbr/>.com<wbr/>/ www<wbr<wbr/>/><wbr/>.ejemplo<wbr<wbr/>/><wbr/>.com]<<wbr/>/span>]</span>
Comparación con la salida de {{ URL }} :
{{URL | http://www.example.com/ }}
→ www.ejemplo.com<span class="url">[http://www.ejemplo.com/ www<wbr/>.ejemplo<wbr/>.com]</span>
{{URL | http://www.example.com/path/ }}
→ www.ejemplo.com/ruta/<span class="url">[http://www.ejemplo.com/ruta/ www<wbr/>.ejemplo<wbr/>.com<wbr/>/ruta<wbr/>/]</span>
{{URL | {{wikidata|property|Q23317|P856}} }}
→ www.audi.com<span class="url">[https://www.audi.com www<wbr/>.audi<wbr/>.com]</span>
{{wikidata|property|Q23317|P856}}
→ https://www.audi.comhttps://www.audi.com
Normalmente, la llamada getValue se invocará en una definición de cuadro de información, utilizando los parámetros de plantilla adecuados. En Template:Infobox book/Wikidata/Sandbox se ofrece una implementación sencilla como ejemplo . A modo de ejemplo, el campo "autor" del cuadro de información está codificado de la siguiente manera:
| etiqueta2 = Autor{{#if:{{{autores|}}}|s}}| data2 = {{#invoke:WikidataIB |getValue |P50 |name=author |fetchwikidata={{{fetchwikidata|}}} |suppressfields={{{suppressfields|}}} |{{{autores|{{{autor|}}}}}} }}
La propiedad que se debe obtener es el primer parámetro sin nombre. En este caso, es autor (P50).
Se pasa el nombre del campo |name=
y se comprueba su contenido en la lista negra y en la lista blanca. Para suprimir siempre el campo de autor en un artículo en particular, un editor lo configurará |suppressfields=author
en el cuadro de información. De este modo, el campo de autor nunca se mostrará.
Si el campo no está en la lista negra, entonces el cuadro de información puede configurarse para mostrar un valor suministrado localmente para el autor simplemente configurando , por ejemplo, en el cuadro de información. También acepta . Si el nombre del campo está en la lista blanca, por ejemplo , y no se suministra el valor local, entonces el cuadro de información mostrará el valor obtenido de Wikidata. Se puede utilizar cualquier separador, excepto | y {}.|author=George Orwell
|authors=
|fetchwikidata=author; genre; pub_date; pages; dewey; congress
Como forma abreviada, |fetchwikidata=ALL
buscará todos los campos que no estén en la lista negra, siempre que no se haya proporcionado ningún valor local en el artículo para un campo determinado.
Dado que las etiquetas de Wikidata normalmente están en minúsculas, se puede utilizar la función ucfirst de Module:String2 para poner en mayúscula la primera letra del texto devuelto, por ejemplo
{{#invoke:String2 | ucfirst | {{#invoke:WikidataIB |getValue |P136 |name=genre |fetchwikidata=ALL |onlysourced=false}} }}
En Rebelión en la Granja (Q1396889) se produce:Uso básico de getValue:
{{#invoke:WikidataIB |getValue |P000 |name=fieldname |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|}}} |onlysourced={{{onlysourced|}}} |{{{localparameter|}}} }}
Colección completa de parámetros:
{{#invoke:WikidataIB |getValue |P000 |name=fieldname |qid={{{qid|}}} |suppressfields={{{suppressfields|}}} |fetchwikidata={{{fetchwikidata|}}} |onlysourced={{{onlysourced|}}} |noicon={{{noicon|}}} |wdl={{{wikidatalink|}}} |df={{dateformat|}} |bc={{{bc|}}} |prefix= |postfix= |linkprefix= |linkpostfix= |sorted={{{sorted|}}} |sep={{{separator|}}} |list={{listtype|}}} |{{{localparameter|}}} }}
Por supuesto, cualquiera de los parámetros puede fijarse para un campo determinado en un cuadro de información, en lugar de tomar el parámetro suministrado al cuadro de información, lo que afectará a todos los campos. Por ejemplo, un campo puede establecer |list=hlist
dónde se espera una serie de palabras cortas, mientras que otro campo podría utilizar |list=ubl
dónde se requiere una lista vertical sin viñetas de varias palabras en cada línea.
La llamada getCoords mostrará la salida de Template:Coord cuando se proporcionen las coordenadas devueltas desde Wikidata. Se puede codificar de la siguiente manera:
|label20 = Coordenadas| data20 = {{#invoke:WikidataIB |getCoords |name=coordenadas |suppressfields={{{suppressfields|}}} |fetchwikidata={{{fetchwikidata|}}} |{{{coordenadas|}}} }}
Un ejemplo es Template:Infobox reserva de la biosfera
{{Infobox reserva de la biosfera| fetchwikidata = TODOS}}
Muestra las coordenadas en las posiciones habituales cuando se utiliza en un artículo donde Wikidata tiene coordenadas.
Dado que el parámetro |fetchwikidata=
es necesario para cualquier funcionalidad de Wikidata, un cuadro de información existente puede reemplazarse por un cuadro de información que incorpore estas llamadas sin realizar ningún cambio en ningún artículo. Cada artículo que utilice el nuevo cuadro de información puede habilitarse posteriormente proporcionando |fetchwikidata=ALL
, o una lista de campos obligatorios para ese artículo. En ese momento, el editor que habilita la funcionalidad tiene la responsabilidad de comprobar que no se muestren campos no deseados. Si es así, se pueden agregar a una lista negra para el artículo configurando |suppressfields=
la lista de campos no deseados.
Cuando siempre sea esencial que un campo en particular contenga únicamente valores a los que se haga referencia, utilice getValue
, asegurándose de que no|onlysourced=
esté configurado como 'false', '0' o 'no'. De forma predeterminada, excluirá los valores que no tengan fuentes o que solo tengan fuentes de Wikipedia, lo que facilita la tarea de verificación a nivel de artículo. Si los datos sin fuentes son aceptables (!), configure . Como está más allá de mi ingenio producir un mecanismo automatizado que sepa si una fuente existente es confiable o no en un contexto determinado, ese trabajo aún debe ser realizado a nivel de artículo por un editor familiarizado con el tema. Siempre debe hacerse cuando se habilita Wikidata por primera vez para ese artículo.|onlysourced=no
{{#invoke:
un módulo Lua que devuelve un valor para el que se requiere una excepción específica.|code=
y utiliza un formateador URL como |url=
para construir un enlace al recurso externo, que utiliza el código como visualización.Esta sección está tomada de Plantilla:Infobox book/Wikidata/Sandbox/doc .
{{Libro Infobox/Wikidata/Sandbox| campos de supresión =| buscarwikidata =| nombre = Rebelión en la granja| title_orig = Rebelión en la granja: un cuento de hadas| imagen = Rebelión en la granja - 1ª edición.jpg| tamaño_imagen = 200px| caption = Portada de la primera edición| autor = [[George Orwell]]| país = Reino Unido| idioma = español| género = Sátira política}}
Funciona como un cuadro de información no consciente: solo se muestran los parámetros suministrados localmente.
{{Libro Infobox/Wikidata/Sandbox| nombre = Rebelión en la granja| title_orig = Rebelión en la granja: un cuento de hadas| imagen = Rebelión en la granja - 1ª edición.jpg| tamaño_imagen = 200px| caption = Portada de la primera edición| autor = [[George Orwell]]| país = Reino Unido| idioma = español| género = Sátira política}}
La lista negra y la lista blanca se pueden omitir si no se utilizan.
{{Libro Infobox/Wikidata/Sandbox| fetchwikidata = autor; género; fecha de publicación; páginas; dewey; congreso}}
Obtiene el autor, la fecha de publicación, el número de páginas, el índice Dewey y el número de catálogo de la Biblioteca del Congreso de Wikidata.
{{Libro Infobox/Wikidata/Sandbox| fetchwikidata = TODOS}}
Como forma abreviada, el |fetchwikidata=
parámetro se puede configurar como ALL para obtener todos los campos disponibles. Se puede suprimir cualquier campo nombrándolo en |suppressfields=
, o reemplazarlo proporcionando un valor local.
{{Libro Infobox/Wikidata/Sandbox| suprimir campos = género| fetchwikidata = autor; género; fecha de publicación; páginas; dewey; congreso}}
El campo de género siempre se suprimirá, incluso si se suministra un valor local.
{{Libro Infobox/Wikidata/Sandbox| suprimir campos = género| fetchwikidata = autor; género; fecha de publicación; páginas; dewey; congreso| género = Sátira política}}
{{Libro Infobox/Wikidata/Sandbox| fetchwikidata = autor; género; fecha de publicación; páginas; dewey; congreso| género = Sátira política}}
El campo de género está configurado para mostrar "Sátira política", sin importar lo que esté almacenado en Wikidata.
{{Libro Infobox/Wikidata/Sandbox| fetchwikidata = TODOS| género = novela}}
El campo de género está configurado para mostrar "Novela", sin importar lo que esté almacenado en Wikidata.
{{Libro Infobox/Wikidata/Sandbox| campos de supresión =| fetchwikidata = autor; fecha de publicación; páginas; dewey; congreso}}
El campo de género no se obtendrá de Wikidata. Solo se importarán el autor, la fecha de publicación, el número de páginas, el índice Dewey y el número de catálogo de la Biblioteca del Congreso. Se mostrará un valor local para el género.
WikidataIB ha sido desarrollado para funcionar en cualquier wiki de idioma (o proyecto Wikimedia) con un mínimo de modificaciones. Se puede crear un submódulo opcional Módulo:WikidataIB/i18n para reemplazar los valores de los mensajes de error, sufijos ordinales, etc., como se muestra en las definiciones i18n locales en el módulo. Aunque se puede llegar al mismo resultado editando directamente esos valores en WikidataIB, el uso del submódulo permitirá que una versión actualizada de WikidataIB reemplace directamente el módulo anterior sin tener que volver a editar las definiciones i18n.
Si el Wiki de destino tiene una convención según la cual ciertos elementos normalmente no se vinculan (ver en:Wikipedia:Manual de estilo/Enlaces #Lo que generalmente no se debe vincular para un ejemplo), entonces se puede crear un submódulo Módulo :WikidataIB/nolinks para enumerar los elementos que no se deben vincular, usando el submódulo Wikipedia en inglés como ejemplo.
Si el Wiki de destino tiene una convención según la cual ciertas obras deben estar en cursiva o entre citas (ver en:Wikipedia:Manual de estilo/Formato de texto #Nombres y títulos para un ejemplo), entonces se puede crear un submódulo Módulo :WikidataIB/titleformats para enumerar los elementos que deben estar en cursiva o entre citas, usando el submódulo Wikipedia en inglés como ejemplo.
La mayor parte de la salida del módulo utilizará el idioma local (o cualquier idioma especificado por el usuario en wikis multilingües) donde exista el enlace o la etiqueta en Wikidata. Sin embargo, las fechas son más complicadas y no se manejan perfectamente en todos los idiomas. Para resolver esto, WikidataIB utiliza el módulo:Complex date (desarrollado en Commons por Jarekt ), que permite la expansión para admitir una variedad más amplia de idiomas. Como resultado, es necesario instalar Complex date y sus dependencias junto con WikidataIB cuando se realiza la instalación en otro proyecto Wikimedia.
Módulo:Complex_date se basa en los siguientes módulos:
A menos que se indique lo contrario, la versión autorizada de cada módulo se puede encontrar en Commons, aunque las versiones en Wikipedia en inglés generalmente se mantienen sincronizadas.
|fetch=
y |ifeq=
es similar a la de este módulo |fetchwikidata=
o|fwd=
-- Versión: 2023-07-10-- Módulo para implementar el uso de una lista negra y una lista blanca para los campos del cuadro de información-- Puede tomar un parámetro con nombre |qid que es el ID de Wikidata para el artículo-- si no se proporciona, se utilizará el ID de Wikidata asociado con la página actual.-- Los campos en la lista negra nunca se deben mostrar, es decir, el módulo debe devolver nil en todas las circunstancias-- Los campos en la lista blanca devuelven el valor local si existe o el valor de Wikidata en caso contrario-- El nombre del campo desde el que se llama a esta función se pasa en el parámetro nombrado |nombre-- El nombre es obligatorio cuando se utiliza una lista negra o una lista blanca.-- por lo que el módulo devuelve nil si no se proporciona.-- la lista negra se pasa en el parámetro nombrado |suppressfields (o |spf)-- la lista blanca se pasa en el parámetro nombrado |fetchwikidata (o |fwd)requerir("estricto")p local = {}cdate local: inicializar como nulo y cargar la función _complex_date solo si es necesario-- Módulo:La fecha compleja se carga de forma diferida y tiene las siguientes dependencias:-- Módulo: Calendario-- Módulo: ISOdate-- Módulo:FechaI18n-- Módulo: I18n/fecha compleja-- Módulo:Ordinal-- Módulo: I18n/ordinal-- Módulo:SíNo-- Módulo:Formatnum-- Módulo: Lingüística---- Lo siguiente, tomado de https://www.mediawiki.org/wiki/Module:WikidataIB/Wikibase/DataModel#Dates_and_times,-- es necesario utilizar el Módulo:Fecha compleja que aparentemente requiere precisión de fecha como una cadena.-- Funcionaría mejor si sólo los autores de la página de mediawiki pudieran escribir "milenio".dp local = {[6] = "milenio",[7] = "siglo",[8] = "década",[9] = "año",[10] = "mes",[11] = "día",}i18n locales ={["errores"] ={["property-not-found"] = "Propiedad no encontrada.",["No se ha suministrado ninguna propiedad"] = "No se ha suministrado ninguna propiedad",["entity-not-found"] = "Entidad de Wikidata no encontrada.",["unknown-claim-type"] = "Tipo de reclamo desconocido.",["unknown-entity-type"] = "Tipo de entidad desconocida.",["qualifier-not-found"] = "Calificador no encontrado.",["site-not-found"] = "Proyecto Wikimedia no encontrado.",["labels-not-found"] = "No se encontraron etiquetas.",["descriptions-not-found"] = "No se encontraron descripciones.",["aliases-not-found"] = "No se encontraron alias.",["unknown-datetime-format"] = "Formato de fecha y hora desconocido.",["local-article-not-found"] = "El artículo está disponible en Wikidata, pero no en Wikipedia",["dab-page"] = " (dab)",},["meses"] ={"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio","Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"},["siglo"] = "siglo",["A.C."] = "A.C.",["AEC"] = "AEC",["ordinal"] ={[1] = "st",[2] = "nd",[3] = "rd",["predeterminado"] = "th"},["filespace"] = "Archivo",["Desconocido"] = "Desconocido",["NaN"] = "No es un número",-- Establezca lo siguiente en el nombre de una categoría de seguimiento,-- por ejemplo "[[Categoría:Artículos con información faltante de Wikidata]]", o "" para deshabilitar:["missingininfocat"] = "[[Categoría:Artículos con información faltante de Wikidata]]",["editonwikidata"] = "Editar esto en Wikidata",["latestdatequalifier"] = función (fecha) devuelve "antes de " .. fecha de finalización,-- algunos idiomas, por ejemplo el bosnio, utilizan un punto como sufijo después de cada número en una fecha["sufijonuméricofecha"] = "",["separador de lista"] = ", ",["multiplicadores"] = {[0] = "",[3] = "mil",[6] = " millón",[9] = "mil millones",[12] = " billón",}}-- Esto permite que un módulo de internacionalización anule la tabla anterior.si 'en' ~= mw.getContentLanguage():getCode() entoncesrequire("Módulo:i18n").loadI18n("Módulo:WikidataIB/i18n", i18n)fin-- Este fragmento de código HTML implementa un contenedor plegable. Compruebe que las clases existen en su wiki.colapso localdiv = '<div clase="mw-collapsible mw-collapsed" estilo="ancho:100%; desbordamiento:automático;" datos-expandtext="{{int:mostrar}}" datos-collapsetext="{{int:ocultar}}">'--Algunos elementos no deberían estar vinculados.-- Cada wiki puede crear una lista de aquellos en Módulo:WikidataIB/nolinks-- Debe devolver una tabla llamada itemsindex, que contenga el valor verdadero para cada elemento que no se vincularáenlace local no válido = {}nolinks_exists local, nolinks = pcall(mw.loadData, "Módulo:WikidataIB/nolinks")Si no hay enlaces, entoncesnolink = sin enlaces.itemsindexfin-- Para satisfacer las necesidades de Wikipedia: Manual de estilo/Títulos, ciertos tipos de elementos aparecen en cursiva y otros entre comillas.-- El submódulo [[Module:WikidataIB/titleformats]] enumera los identificadores de entidad utilizados en 'instancia de' (P31),-- que permite a este módulo identificar los valores que deben formatearse.-- WikidataIB/titleformats exporta una tabla p.formats, que está indexada por id de entidad y contiene el valor " o ''formatos locales = {}titleformats_exists local, titleformats = pcall(mw.loadData, "Módulo:WikidataIB/titleformats")Si titleformats_exists entoncesformatos = títuloformatos.formatosfin-------------------------------------------------- ------------------------- Funciones privadas-------------------------------------------------- --------------------------------------------------------------------------- -------------------------makeOrdinal debe internacionalizarse junto con lo anterior:-- toma el número cardinal como numérico y devuelve el ordinal como una cadena--Necesitamos tres excepciones en inglés para 1º, 2º, 3º, 21º, 31º, etc.-------------------------------------------------- ------------------------- Dependencias: ninguna-------------------------------------------------- -----------------------local makeOrdinal = función(cardinal)sufijo ordlocal = i18n.ordinal.defaultSi el cardinal % 10 == 1 entoncessufijoOrd = i18n.ordinal[1]De lo contrario, si el cardinal % 10 == 2 entoncessufijoOrd = i18n.ordinal[2]De lo contrario, si el cardinal % 10 == 3 entoncessufijoOrd = i18n.ordinal[3]fin-- En inglés, 1, 21, 31, etc. usan 'st', pero 11, 111, etc. usan 'th'--Lo mismo ocurre con el 12 y el 13, etc.si (cardinal % 100 == 11) o (cardinal % 100 == 12) o (cardinal % 100 == 13) entoncesordsuffix = i18n.ordinal.predeterminadofinvolver a cadena(cardinal) .. sufijo de ordenfin-------------------------------------------------- ------------------------- findLang toma un parámetro "langcode" si se proporciona y es válido-- de lo contrario, intenta crearlo a partir del idioma configurado por el usuario ({{int:lang}})- en su defecto, utiliza el lenguaje del contenido del wiki.-- Devuelve un objeto de lenguaje-------------------------------------------------- ------------------------- Dependencias: ninguna-------------------------------------------------- -----------------------local findLang = función(código de idioma)idioma localcódigo de idioma = mw.text.trim(código de idioma o "")Si mw.language.isKnownLanguageTag(código de idioma), entoncesidiomaobj = mw.idioma.nuevo (código de idioma)demáscódigo de idioma = mw.getCurrentFrame():callParserFunction('int', {'lang'})Si mw.language.isKnownLanguageTag(código de idioma), entoncesidiomaobj = mw.idioma.nuevo (código de idioma)demásidiomaobj = mw.language.getContentLanguage()finfinvolver langobjfin-------------------------------------------------- ------------------------- _getItemLangCode toma un parámetro qid (utilizando el qid de la página actual si está en blanco)-- Si el artículo para ese qid tiene propiedad país (P17), mira el primer valor preferido-- Si el país tiene un idioma oficial (P37), se mira el primer valor preferido-- Si ese idioma oficial tiene un código de idioma (P424), devuelve el primer valor preferido- De lo contrario no devuelve nada.-------------------------------------------------- ------------------------- Dependencias: ninguna-------------------------------------------------- -----------------------local _getItemLangCode = función(qid)qid = mw.text.trim(qid o ""):upper()si qid == "" entonces qid = mw.wikibase.getEntityIdForCurrentPage() finalSi no es qid entonces regresa finprop17 local = mw.wikibase.getBestStatements(qid, "P17")[1]Si no es prop17 o prop17.mainsnak.snaktype ~= "valor", entonces devuelve finqid17 local = prop17.mainsnak.valordedatos.valor.idlocal prop37 = mw.wikibase.getBestStatements(qid17, "P37")[1]Si no es prop37 o prop37.mainsnak.snaktype ~= "valor", entonces devuelve fin.qid37 local = prop37.mainsnak.valordedatos.valor.idlocal prop424 = mw.wikibase.getBestStatements(qid37, "P424")[1]Si no es prop424 o prop424.mainsnak.snaktype ~= "valor", entonces devuelve findevolver prop424.mainsnak.datavalue.valuefin-------------------------------------------------- ------------------------- roundto toma un número (x)-- y lo devuelve redondeado a (sf) cifras significativas-------------------------------------------------- ------------------------- Dependencias: ninguna-------------------------------------------------- -----------------------redondeo local = función(x, sf)si x == 0 entonces devuelve 0 finlocal s = 1Si x < 0 entoncesx = -xs = -1finsi sf < 1 entonces sf = 1 finp local = 10 ^ (matemática.floor(math.log10(x)) - sf + 1)x = matemáticas.piso(x / p + 0,5) * p * s-- si es integral, convertir a un entero:si x == math.floor(x) entonces x = math.floor(x) findevolver xfin-------------------------------------------------- ------------------------- decimalToDMS toma grados decimales (x) con precisión (p)-- y devuelve grados/minutos/segundos según la precisión-------------------------------------------------- ------------------------- Dependencias: ninguna-------------------------------------------------- -----------------------decimalToDMS local = función(x, p)-- si no se proporciona p, utilice una precisión de alrededor de 0,1 segundossi no es tonumber(p) entonces p = 1e-4 finlocal d = matemáticas.piso(x)ms locales = (x - d) * 60Si p > 0,5 entonces la precisión es > 1/2 gradosi ms > 30 entonces d = d + 1 finms = 0finlocal m = matemáticas.piso(ms)local s = (ms - m) * 60Si p > 0,008 entonces la precisión es > 1/2 minuto.si s > 30 entonces m = m +1 fins = 0De lo contrario, si p > 0,00014 entonces la precisión es > 1/2 segundos = math.floor(s + 0.5)De lo contrario, si p > 0,000014 entonces la precisión es > 1/20 de segundos = matemáticas.piso(10 * s + 0.5) / 10De lo contrario, si p > 0,0000014 entonces la precisión es > 1/200 de segundos = matemáticas.piso(100 * s + 0.5) / 100De lo contrario, limite el límite a 3 lugares dec por ahoras = matemáticas.piso(1000 * s + 0.5) / 1000findevuelve d, m, sfin-------------------------------------------------- ------------------------- decimalPrecision toma un decimal (x) con precisión (p)