Module:Infobox/Fonctions/Personne
Cette page contient des fonctions aidant à la création de modèles d'infobox Biographique. Elle utilise deux variables globales définies par Module:Infobox : localdata
(les paramètres passés à l'infobox) et item
la table Lua de l'élément Wikidata utilisé.
Variables locales
- gender : sexe de la personne, telle que récupéré de Wikidata. Valeur « m », « f », ou « ? ». Il permet essentiellement d'accorder en genre une partie du texte rendu.
- linktopic = sujet à utiliser pour créer les liens dans les dates provenant de Wikidata. Celui-ci dépend de la profession de la personne, telle que définie par la propriété P106 (« occupation ») de Wikidata.
Propriétés à activer
Par défaut les fonctions cherchent à afficher toutes les valeurs de Wikidata. Pour certaines propriétés, par défaut aucune valeur n'est affichée et le contributeur doit préciser qu'il désire l'affichage. La syntaxe à utiliser : | <nom du paramètre> = {{WD}}
. Ces propriétés wikidata sont suivies par la signalisation ….
Qualificatifs temporels
Certaines valeurs ne sont valables qu'à une certaine date ou pour une période donnée. Ces informations sont ajoutées aux propriétés de l'élément en tant que qualificateurs. Ces informations :
- apparaîtrons, éventuellement, entre parenthèse après la valeur de la propriété,
- permettront de trier chronologiquement les valeurs affichées,
- de n'afficher que la valeur actuelle d'une propriété.
Les qualificatifs temporels sont : P585 (« date »), P580 (« date de début ») et P582 (« date de fin »).
Dans l'exemple du Comité international de la Croix-Rouge qui figure en haut de cette documentation, l'effectif est donné avec une année. Mais dans certains cas, les informations n’apparaîtront pas, car elles ne sont pas pertinentes dans le contexte d'une infobox, c'est par exemple le cas d'un président qui n'est plus en fonction. Seules les personnes en fonction doivent apparaître.
Fonctions exportables
title(icon, style)
Simple appel à la fonction Module:Infobox/Fonctions.title et permettant de construire un titre d'infobox. Elle prend deux paramètres optionnels:
icon
l'icône à afficher à droite du titre, en utilisant les noms définis sur MediaWiki:Common.css.style
paramètres html de style, si différents du style par défaut.
Libellé | Paramètre | Wikidata | Description |
---|---|---|---|
|
Texte à afficher dans la barre de titre de l'infobox.
Par défaut c'est le libellé en français de l'élément wikidata lié à la page. En son absence, c'est le nom de la page Wikipédia. |
mainimage(cat)
Retourne l'image principale de l'infobox.
Appel à la fonction Module:Infobox/Fonctions.mainimage adaptée aux infobox biographiques. En l'absence d'image, la page est catégorisée dans la catégorie cat
(paramètre optionnel) ou dans Article à illustrer Biographie. Pour les personnes nées après 1900, Fichier:Defaut 2.svg.
Argument | Type | Description |
---|---|---|
cat |
chaîne | Catégorie à laquelle sera ajoutée la page contenant l'infobox si cette denière n'a pas d'image. |
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
|
Fichier de l'image ou de la photographie à afficher dans l'infobox. | ||
|
Qualificatif de l'image affichée : |
Légende de l'image. Exemples : | |
|
Facteur de redimensionnement de l'image. Utile en particulier lorsque l'image est en mode portrait[2]. Exemples : | ||
|
Largeur de l'image, en pixels. Exemples : | ||
alt
|
Texte alternatif de l'image (attribut HTML alt=). Ce texte alternatif n'est pas affiché par défaut et ne sera restitué que lorsque l'image elle-même ne l'est pas. Exemples : |
othernames()
Affiche une liste de noms alternatifs d'une personne. Si le paramètre "autres noms" est utilisé, les données de Wikidata sont désactivées pour limiter les risques de doublon.
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Nom dans la langue maternelle Noms dans la langue maternelle |
nom dans la langue maternelle
|
P1559 (« nom dans la langue maternelle de la personne ») Non affiché si identique au P1477 (« nom de naissance ») ou au nom de naissance renseigné localement.Qualificateur : P1721 (« hanyu pinyin »). |
Nom dans la langue maternelle.
Exemples : Amrita Sher-Gil |
Nom de naissance Noms de naissance |
nom de naissance
|
P1477 (« nom de naissance ») Qualificateur : P1721 (« hanyu pinyin ») |
Nom complet de la personne à sa naissance, s'il est différent de son nom actuel ou connu. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemples : Hergé |
Nom officiel Noms officiels |
nom officiel
|
P1448 (« nom officiel ») Qualificateur : P1721 (« hanyu pinyin ») |
Nom complet de la personne dans la ou les langues officielles de ce sujet (lieu, organisation...). Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemples : Maria Manton |
Surnom Surnoms |
surnom
|
P1449 (« surnom ») Qualificateur : P1721 (« hanyu pinyin ») |
Surnom donné à la personne. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Jan Asselyn |
Romanisation révisée | romanisation révisée
|
P2001 (« romanisation révisée ») Qualificateur : P1721 (« hanyu pinyin ») |
Nom de la personne romanisé dans le système de révisée du coréen. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Sin Saimdang |
McCune-Reischauer | McCune-Reischauer
|
P1942 (« romanisation McCune-Reischauer ») Qualificateur : P1721 (« hanyu pinyin ») |
Nom de la personne romanisé dans le système McCune-Reischauer. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Sin Saimdang |
Pseudonyme Pseudonymes |
pseudonyme
|
P742 (« pseudonyme ») Qualificateur : P1721 (« hanyu pinyin ») |
Pseudonyme de la personne. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Sophie Germain |
Prénom social Prénoms sociaux |
prénom social
|
P1782 (« prénom social ») Qualificateur : P1721 (« hanyu pinyin ») |
Prénom social de la personne. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Kang Youwei |
Nom posthume Noms posthumes |
nom posthume
|
P1786 (« nom posthume ») Qualificateur : P1721 (« hanyu pinyin ») |
Nom posthume de la personne. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Sima Guang |
Nom de temple Noms de temple |
nom de temple
|
P1785 (« nom de temple ») Qualificateur : P1721 (« hanyu pinyin ») |
Nom de temple de la personne. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Sin Saimdang |
Nom de pinceau Noms de pinceau |
nom de pinceau
|
P1787 (« nom d'artiste ») Qualificateur : P1721 (« hanyu pinyin ») |
Nom d'artiste de la personne. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Wang Fuzhi |
Nom court Noms courts |
nom court
|
P1813 (« nom court ») Qualificateur : P1721 (« hanyu pinyin ») |
Abréviation de la personne. Pour éviter des doublons, l'utilisation du paramètre autres noms désactive la récupération à partir de la propriété Wikidata.
Exemple : Abdul Qadeer Khan |
Autres noms | autres noms
|
Autres noms de la personne. L'utilisation de ce paramètre désactive tous les autres noms venant de Wikidata pour éviter des doublons.
Exemple : Adèle Decerf |
birth()
Date et le lieu de naissance.
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Naissance | naissance date de naissance
|
P569 (« date de naissance »)
|
Date de naissance de la personne. Si plusieurs dates existent dans les wikidata, elles seront listées chronologiquement. Si dans les wikidata la date et le lieu de naissance ont pour valeur valeur inconnue la rubrique affichera « Date et lieu inconnus ».
Exemples : François Boitard et Maître du Haut Rhin |
Naissance | lieu de naissance
|
P19 (« lieu de naissance ») Qualificateurs : P131 (« localisation administrative ») et P17 (« pays ») |
Lieu de naissance de la personne. Si plusieurs lieux existent dans les wikidata la valeur preferred sera sélectionnée, à défaut la valeur normal sera affichée.Si dans les wikidata la date et le lieu de naissance ont pour valeur valeur inconnue la rubrique affichera « Date et lieu inconnus ».
Exemples : Jacob Gestman Geradts et Maître du Haut Rhin |
death()
Date et le lieu de décès. Dans certains cas, on ne connaît pas exactement la date de décès, mais simplement celle de disparition. Le champ « disparition » a la priorité sur le champ « date de décès », et la propriété P746 (« date de disparition ») sur P570 (« date de mort »).
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Disparition | disparition
|
P746 (« date de disparition ») Qualificateur : P276 (« lieu ») |
Date et éventuellement lieu de disparition de la personne. Si plusieurs dates existent dans les wikidata, elles seront listées chronologiquement. Si le wikidata a pour valeur valeur inconnue , l'infobox affichera « date inconnue ».
Exemples : Bas Jan Ader |
Décès | décès date de décès
|
P570 (« date de mort »)
|
Date de décès de la personne. Si plusieurs dates existent dans les wikidata, elles seront listées chronologiquement. Exemples : Joseph-François Foulquier |
Décès | lieu de décès
|
P20 (« lieu de mort ») Qualificateurs : P131 (« localisation administrative ») et P17 (« pays ») |
Lieu de décès de la personne. Si plusieurs lieux existent dans les wikidata la valeur preferred sera sélectionnée, à défaut la valeur normal sera affichée.Si dans les wikidata la date et le lieu de décès ont pour valeur valeur inconnue la rubrique affichera « Date et lieu inconnus ». Il faut se demander si la propriété P746 (« date de disparition ») n'est pas plus appropriée.
Exemples : |
floruit()
Période pendant laquelle la personne a été active.
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Période d'activité | période d'activité
|
Soit P2031 (« début de la période d'activité ») et P2032 (« fin de la période d'activité ») soit P1317 (« actif en/en vie »)
|
Période pendant laquelle la personne a été active. Si plusieurs dates existent dans les wikidata, elles seront listées chronologiquement. Exemples : Moronobu, Cristóvão de Morais et Praxitèle |
nationality()
Nationalité.
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Nationalité Nationalités |
nationalité
|
P27 (« pays de nationalité ») |
Nationalité de la personne, mais afin d'éviter trop d'imprécisions et d'anachronismes seules les informations postérieures à 1789 sont retenues. Les valeurs sont triées chronologiquement avec éventuellement l'affichage des dates de début et de fin. La mise en forme est réaliée par le module Country data.
Exemples :
|
places()
Lieu de vie
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Dème Dèmes |
dème
|
P2462 (« membre du dème »)
|
nom du dème (athénien antique) auquel appartient la personne.
Exemples : Démade |
Domicile Domiciles |
domicile
|
P551 (« résidence »)
|
Lieu où la personne réside ou a résidé.
Exemples : Samuel Selvon |
placeofburial()
Lieu d'enterrement.
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Sépulture | sépulture
|
P119 (« lieu de sépulture ») |
Lieu de sépulture.
Exemples : |
nativelanguage()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Langue maternelle | langue maternelle
|
P103 (« langue maternelle »)
|
Première langue apprise par la personne.
Exemples : |
writinglanguage()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Langue d'écriture Langues d'écriture |
langue d'écriture
|
P6886 (« langues d'écriture ») …
|
Pour les auteurs publiés seulement, liste les langues dans lesquelles la personne a écrit/publié.
Exemples : |
education()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Formation | éducation formation
|
P69 (« scolarité ») les qualificatifs utilisables sont : P512 (« diplôme universitaire ») et |
Établissements éducatifs fréquentés. Les établissements sont classés par ordre chnonologique. Exemples : |
occupation()
haswrittenfor()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Rédactrice à Rédacteur à |
rédacteur à
|
P6872 (« rédacteur ou rédactrice à ») |
Journaux et revues où la personne a publié. Aucun classement n'est réalisé. Exemple : Séverine |
employer()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
A travaillé pour |
employeur
|
P108 (« employé(e) par ») Qualificatifs : |
Personne ou organisation pour laquelle la personne travaille ou a travaillé la personne. Remarque : pour les journalistes le paramètre rédacteur à doit être préféré.
Exemple : |
intitulé employeur
|
Intitulé de la rubrique employeur, si « A travaillé pour » ne convient pas.
Exemple : |
victories()
Liste des victoires.
Paramètre local | Propriété Wikidata |
---|---|
victoires |
P2522 (« victoire ») |
officialposition()
specialrole()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Statut notable Statuts notables |
statut notable
|
P2868 (« rôle du sujet ») N'affiche que Q254917 (« être humain le plus âgé ») ou ses sous-classes. |
Liste de statuts remarquables de la personne en commençant par les plus récentes en utilisant le format « C » de timeline(). Importe de Wikidata seulement les statuts de doyen d'une population. Exemple : Sœur André
|
appearance()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Taille | taille
|
P2048 (« hauteur »)
|
Taille de la personne.
Exemple : Mai Nakachi |
Poids | poids masse
|
P2067 (« masse »)
|
Poids (au sens strict, masse) de la personne.
Exemple : Cao Yuan |
Cheveux | cheveux
|
P1884 (« couleur des cheveux »)
|
Couleur des cheveux de la personne. Utilisez P585 (« date ») s'il y a plus d'une valeur. Les qualificatifs temporels ne sont pas utilisés ! Exemple : Madeleine Béjart |
Yeux | yeux
|
P1340 (« couleur des yeux »)
|
Couleur des yeux de la personne.
Exemple : Richard Stallman |
gens()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Gens | gens
|
P5025 (« gens »)
|
Gens : groupe familial patrilinéaire portant le même nomen.
Exemple : Quintus Fabius Maximus Allobrogicus |
family()
Liste de membres de la famille.
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Famille | famille
|
P53 (« famille, dynastie ou maison noble ») |
Famille à laquelle la personne appartient.
Exemples : |
Père | père
|
P22 (« père »)
|
Père de la personne.
Exemples : |
Mère | mère
|
P25 (« mère »)
|
Mère de la personne.
Exemples : |
Beau-parent Beaux-parents |
beau-parent beau-père belle-mère
|
P3448 (« beau-parent »)
|
Conjointe du père de la personne quand celle-ci n’est pas sa mère (belle-mère ou marâtre) ou conjoint de la mère de la personne quand celui-ci n’est pas son père (beau-père ou parâtre).
Exemples : |
Fratrie | fratrie
|
P3373 (« frère ou sœur »)
|
Frères et sœurs de la personne classés par âge. Lorsqu'il est renseigné sur Wikidata le lien de parenté exact est affiché entre parenthèses (par exemple pour les demi-frères ou -sœurs).
Exemples : |
Conjoint Conjoints |
conjoint
|
P26 (« conjoint ou conjointe ») |
Époux ou épouse de la personne. Lorsqu'il y en a eu plusieurs ils sont classés chronologiquement.
Exemples : Edwige Jagellon (1457-1502) |
Enfant | enfant
|
P40 (« enfant »)
|
Enfants de la personne classés par âge.
Exemples : |
Parentèle | parentèle
|
P1038 (« membre de la famille »)
|
Membres de la famille de la personne en dehors de la famille proche. Lorsqu'il est renseigné sur Wikidata (ce qui est recommandé) le lien de parenté exact est affiché entre parenthèses.
Exemples : Shirkuh |
slavery()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Statut Statuts |
statut
|
P3716 (« statut social ou civil »)
|
Classe sociale ou statut social ou civil tel qu'ils sont reconnus par la coutume ou le droit. Ne doit pas décrire la profession. Sur Wikidata les valeurs possibles sont listés sur les pages suivantes : Exclut Q11573099 (« membre de la famille royale ») et Q10076267 (« esclavagiste »). Exemples : Joseph Cinqué |
Propriétaire Propriétaires |
propriétaire
|
P127 (« propriétaire »)
|
Propriétaire de la personne quand cette dernière était esclave.
Exemples : Claudia Acte et Estevanico |
works(params)
Argument | Type | Description |
---|---|---|
params.title |
chaîne | Libellé de la rubrique. |
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Œuvres principales | |||
œuvres principales
|
P800 (« œuvre notable ») Mise en italique automatique en fonction de la P31 (« nature de l’élément ») de l'objet. |
Cinq des principales œuvres de la personne.
Exemples : |
nobilitytitle()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Titres de noblesse Titre de noblesse |
titre de noblesse
|
P97 (« titre de noblesse ») valid .Qualificateur utilisé : |
Liste les titres de noblesse de la personne en commençant par les plus récentes en utilisant le format « B » de la fonction timeline(). Lorsque les propriétés wikidata sont utilisées les qualificateurs P2354 (« liste d'éléments ») , P361 (« partie de ») sont utilisées pour créer des liens.
Exemple : Maldras |
honorifictitle()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Titre honorifique Titres honorifiques | |||
titre honorifique
|
P511 (« titre honorifique ») valid .Qualificateurs utilisés pour indiqué la succession au même titre: P155 (« précédé par ») ou P1365 (« remplace »), P1706 (« avec ») P156 (« suivi par ») ou P1366 (« remplacé par ») |
Liste les distinctions de la personne en commençant par les plus récentes en utilisant le format « C » de la fonction timeline().
Exemple : Cécile de Bade |
tombe()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
tombe
|
P1442 (« image de la tombe »)
|
Fichier de l'image de la tombe à afficher dans l'infobox.
Exemples : | |
légende tombe
|
P2096 (« légende de média ») de P1442 (« image de la tombe »)[4] | Légende de la tombe. Si la tombe provient de Wikidata, la légende doit être précisée dans le qualificateur P2096 (« légende de média ») de la tombe, sinon il y a un risque d'incohérence. La légende ne s'affiche que si la tombe s'affiche. La légende par défaut est « Vue de la sépulture ». Exemples : | |
upright tombe
|
Facteur de redimensionnement de la tombe. Utile en particulier lorsque la tombe est en mode portrait[5] Valeur par défaut : 0.5. Voir l'aide sur la mise en forme des images Exemple : | ||
taille tombe
|
Largeur de la tombe en pixels. L'utilisation de ce paramètre est déconseillée dans l'aide sur la mise en forme des images. Le paramètre |
plaque()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
plaque
|
P1801 (« image de plaque commémorative »)
|
Fichier de l'image de la plaque commémorative à afficher dans l'infobox.
Exemples : | |
légende plaque
|
P2096 (« légende de média ») de P1801 (« image de plaque commémorative »)[4] | Légende de la plaque. Si la plaque provient de Wikidata, la légende doit être précisée dans le qualificateur P2096 (« légende de média ») de la plaque, sinon il y a un risque d'incohérence. La légende ne s'affiche que si la plaque s'affiche. Exemples : | |
upright plaque
|
Facteur de redimensionnement de la plaque. Utile en particulier lorsque la plaque est en mode portrait[5] Valeur par défaut : 0.5. Voir l'aide sur la mise en forme des images Exemple : | ||
taille plaque
|
Largeur de la plaque en pixels. L'utilisation de ce paramètre est déconseillée dans l'aide sur la mise en forme des images. Le paramètre |
blason()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
blason
|
P94 (« image du blason »)
|
Fichier du blason à afficher dans l'infobox.
Exemples : | |
légende blason
|
P2096 (« légende de média ») de P94 (« image du blason »)[4] | Légende du blason. Si le blason provient de Wikidata, la légende doit être précisée dans le qualificateur P2096 (« légende de média ») du blason, sinon il y a un risque d'incohérence. La légende ne s'affiche que si le blason s'affiche. Exemples : | |
upright blason
|
Facteur de redimensionnement du blason. Utile en particulier lorsque le blason est en mode portrait[5] Valeur par défaut : 0.5. Voir l'aide sur la mise en forme des images Exemple : | ||
taille blason
|
Largeur du blason en pixels. L'utilisation de ce paramètre est déconseillée dans l'aide sur la mise en forme des images. Le paramètre |
sceau()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
sceau
|
P158 (« image du sceau »)
|
Fichier du sceau à afficher dans l'infobox.
Exemples : | |
légende sceau
|
P2096 (« légende de média ») de P158 (« image du sceau »)[4] | Légende du sceau. Si le sceau provient de Wikidata, la légende doit être précisée dans le qualificateur P2096 (« légende de média ») du sceau , sinon il y a un risque d'incohérence. La légende ne s'affiche que si le sceau s'affiche. Exemples : | |
upright sceau
|
Facteur de redimensionnement du sceau. Utile en particulier lorsque le sceau est en mode portrait[5] Valeur par défaut : 0.5. Voir l'aide sur la mise en forme des images Exemples : | ||
taille sceau
|
Largeur du sceau en pixels. L'utilisation de ce paramètre est déconseillée dans l'aide sur la mise en forme des images. Le paramètre |
monogram()
Libellé | Paramètres | Wikidata | Description | |||
---|---|---|---|---|---|---|
monogramme
|
P1543 (« monogramme »)
|
Fichier du monogramme à afficher dans l'infobox.
Exemples : | ||||
légende monogramme
|
P2096 (« légende de média ») de P1543 (« monogramme »)[4] | Légende du monogramme. Si le monogramme provient de Wikidata, la légende doit être précisée dans le qualificateur P2096 (« légende de média ») du monogramme , sinon il y a un risque d'incohérence. La légende ne s'affiche que si le monogramme s'affiche. Exemples : |
upright monogramme
|
Facteur de redimensionnement du monogramme. Utile en particulier lorsque le monogramme est en mode portrait[5] Valeur par défaut : 0.5. Voir l'aide sur la mise en forme des images Exemples : | ||
taille monogramme
|
Largeur du monogramme en pixels. L'utilisation de ce paramètre est déconseillée dans l'aide sur la mise en forme des images. Le paramètre |
flag()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
drapeau
|
P41 (« image du drapeau »)
|
Fichier du drapeau à afficher dans l'infobox.
Exemples : | |
légende drapeau
|
P2096 (« légende de média ») de P41 (« image du drapeau »)[4] | Légende du drapeau. Si le drapeau provient de Wikidata, la légende doit être précisée dans le qualificateur P2096 (« légende de média ») du drapeau , sinon il y a un risque d'incohérence. La légende ne s'affiche que si le drapeau s'affiche. Exemples : | |
taille drapeau
|
Largeur du drapeau en pixels. L'utilisation de ce paramètre est déconseillée dans l'aide sur la mise en forme des images. Le paramètre |
logo()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
logo
|
P154 (« image du logotype »)
|
Fichier du logo à afficher dans l'infobox.
Exemples : | |
légende logo
|
P2096 (« légende de média ») de P154 (« image du logotype »)[4] | Légende du logo. Si le logo provient de Wikidata, la légende doit être précisée dans le qualificateur P2096 (« légende de média ») du logo , sinon il y a un risque d'incohérence. La légende ne s'affiche que si le logo s'affiche. Exemples : | |
taille logo
|
Largeur du logo en pixels. L'utilisation de ce paramètre est déconseillée dans l'aide sur la mise en forme des images. Le paramètre |
politicalparty()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Parti politique Partis politiques |
parti politique
|
P102 (« parti politique ») Qualificatifs : |
Parti politique dont la personne est ou était membre.
Exemples : Marius Paquereaux |
memberof()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Ordre de chevalerie Ordres de chevalerie |
ordre de chevalerie
|
P550 (« ordre de chevalerie ») Qualificatifs : |
Ordre de chevalerie auquel appartient la personne.
Exemple : Guillaume-Maurice de Nassau-Siegen |
Membre de | membre de
|
P463 (« membre de ») Qualificatifs : |
Organisation dont la personne est membre. Pour les groupe ethniques et sociaux utiliser ethnicité / P172 (« groupe ethnique »).
Exemple : Joseph-Marc Barrigue de Fontainieu |
awards()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Distinctions Distinction |
prix récompenses distinction distinctions
|
P166 (« distinction reçue »). Qualificatifs : P642 (« de »)[3].
|
Prix, récompenses, distinctions reçus par la personne. Lorsque les données viennent de wikidata, elles sont classées par ordre chronologique. Les distinctions les plus importantes sont mises en valeur (voir : module Distinctions). S'il y en a plus de 4 une liste déroulante permet de les afficher. Des liens peuvent être générés en fonction des propriétés P2354 (« liste d'éléments »), P361 (« partie de »), P1027 (« décerné par ») (le résultat n'est pas très clair). Exemples :
|
influencedby()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Influencée par Influencé par |
influencé par
|
P737 (« influencé par ») |
Personnes, idée, etc., ayant influencé la personne décrite par l'infobox.
Exemples : |
influenced()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
A influencé | a influencé influence de
|
Personnes, mouvements, etc., ayant été influencés par la personne décrite par l'infobox.
Exemples : |
movement()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Mouvement Mouvements |
mouvement
|
P135 (« mouvement ») |
Mouvement littéraire, artistique ou philosophique associé avec cette personne. Les qualificatifs temporels permettent de les classer par ordre chronologique.
Exemples : |
religion()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Religion | religion
|
Pas d'appel à Wikidata. | Religion ou conception du monde, si elle est vérifiée et importante dans la vie publique de la personne. Sur l'utilisation de la propriété P140 (« religion ou conception du monde ») voir la disucssion Religion (p140) Exemple : Akbar |
Date de baptême | date de baptême
|
P1636 (« date de baptême »)
|
Date de baptême, elle utile lorsque la date de naissance est inconnue ou qu'il s'agit d'une conversion.
Exemples : Marco Boschini, Harald Klak |
Nom en religion Noms en religion |
nom en religion
|
P1635 (« nom religieux »)
|
Nom utilisé par au sein d'une communauté religieuse. Affiche toutes les langues ! Exemples : Amélie Rigard |
Ordre religieux Ordres religieux |
ordre religieux
|
P611 (« ordre religieux ») Qualificatif : |
Nom de l'ordre religieux auquel appartient la personne.
Exemples : Bernard de Give |
Consécrateur Consécrateurs |
consécrateur
|
P1598 (« consécrateur ») La valeur Q7066 (« athéisme ») est exclue. Qualificatif : |
Évêque qui a consacré ou co-consacré cet évêque
Exemples : Dimitri Ier de Constantinople |
Vénéré par Vénérée par |
vénéré par
|
P1049 (« fait l'objet d'une vénération par »)
|
Religion, groupe ou civilisation par lequel la personne est vénérée.
Exemples : Richarde de Souabe |
Vénéré à Vénérée à |
vénéré à
|
Lieu où la personne est vénérée.
Exemple : | |
Étape de canonisation | étape de canonisation
|
P411 (« étape de canonisation »)
|
Étape dans le processus de canonisation à laquelle la personne se trouve : serviteur de Dieu, vénérable, bienheureux ou saint.
Exemples : Franziska Lechner, Maria Dolores Segarra Gestoso. |
military()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Arme Armes |
arme
|
P241 (« corps militaire ») Qualificatifs : |
Corps militaire auquel la personne est rattachée, par exemple : armée de l'air, armée de terre, marine, etc..
Exemple : Gurgen Margarian |
Unité Unités |
unité
|
P7779 (« unité militaire ») Qualificatifs : |
Unité militaire à laquelle appartient ou a appartenu la personne. Exemples : Friedrich Robert von Beringe |
Grade militaire Grades militaires |
grade militaire
|
P410 (« grade militaire ou de la police ») Qualificatifs : |
Grade militaire atteint par la personne. Exemples : Thierry Burkhard |
Conflit Conflits |
conflit
|
P607 (« a participé au conflit ») Qualificatifs : |
Guerres ou batailles auxquelles la personne a participé. Exemples : Lauri Törni |
filmography()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Films notables | films notables
|
P1283 (« filmographie »)
|
Élément (Film) pour la liste de films auxquels la personne a contribué.
Exemples : Alison Wheeler |
discography()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Discographie | discographie
|
P358 (« discographie »)
|
Lien vers la discographie de la personne.
Exemples : Françoise Hardy |
signature(default)
Argument | Type | Description |
---|---|---|
default |
texte | Image par défaut à afficher. |
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
signature
|
P109 (« signature »)
|
Image de la signature de la personne.
Exemples : | |
légende signature
|
P2096 (« légende de média ») de P109 (« signature »)[4]
|
Légende de la signature de la personne. Par défaut c'est : Signature Exemples : Eugène Guillaume | |
upright signature
|
Facteur de redimensionnement de l'image. Utile en particulier lorsque l'image est en mode portrait[5]. Voir l'aide sur la mise en forme des images. |
voice()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
voix
|
P990 (« échantillon de voix »)
|
Fichier audio représentant la voix d’une personne s'exprimant en français.
Exemples : Alexandre Lacroix, Rémi Mathis | |
légende voix
|
P2096 (« légende de média ») de P990 (« échantillon de voix ») | Légende affichée sous le lecteur audio. Par défaut : Enregistrement vocal Exemples : Alexandre Lacroix |
website()
C'est un appel de la fonction du module Infobox/Fonctions.
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
|
|
P856 (« site officiel ») |
URL du site internet.
Remarques :
|
|
Texte affiché pour le lien du site. Ce paramètre ne fonctionne que lorsque l'adresse est spécifiée par un paramètre. Exemples : |
prononciation()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
prononciation |
|
Fichier de la prononciation à afficher dans l'infobox. | |
|
Légende affichée sous le lecteur audio |
feast()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Fête | fête
|
P841 (« fête ») Qualificatif : P276 (« lieu »). |
Jour de l'année où est fêté la personne, généralement un saint. Pour Wikidata c'est un élément qui doit être du type jour de l'année. Exemples : Bon Larron, Bar Hebraeus et Martin Luther King. |
torero()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Alternative | alternative
|
P793 (« événement clé ») ( Q2840411 (« alternative ») )
|
Date de l'alternative, cérémonie au cours de laquelle la personne est devenu matador.
Exemple : Morenito de Aranda |
Confirmation d'alternative | confirmation alt
|
P793 (« événement clé ») ( Q23308805 (« confirmation d'alternative ») )
|
Date de la confirmation de l'alternative. Ne fonctionne pas actuellement car l'évènement recherché devrait être Q42844457 (« confirmation d'alternative ») et non Q23308805. Exemple : Morenito de Aranda |
sport()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Sport Sports |
sport sport pratiqué
|
P641 (« sport »)
|
Sport pratiqué par la personne ou auquel elle est associée. Attention : ce n'est pas la discipline !
Exemple : Irina Mushailova |
Équipe Équipes |
équipe
|
P54 (« membre de l'équipe de sport ») Qualificatifs : P1350 (« nombre de matchs joués »), P1351 (« nombre de points/buts marqués »), |
La ou les équipes dont a fait partie la personne. Les qualificatifs temporels permettent de classer par ordre chronologique les équipes. Il n'y a hélas pas de distinction entre les équipes de « club » et les équipes nationales comme dans la version en catalan de l'infobox Exemple : Jennifer Pareja |
Position Positions |
position poste spécialité
|
P413 (« position de jeu ou spécialité »)
|
Position à laquelle joue la personne dans l'équipe.
Exemples : Hans Gamper et Petar Skansi |
Discipline sportive Disciplines sportives |
discipline sportive
|
P2416 (« discipline sportive pratiquée en compétition »)
|
Disciplines ou événements sportifs dans laquelle la personne fait des compétitions.
Exemples : Lornah Kiplagat, Gaétan Boucher |
Prise de raquette | prise de raquette
|
P741 (« prise de raquette »)
|
Main dont la personne tient sa raquette. La propriété peux être utilisée pour des sports qui n'utilisent pas une raquette, comme le cricket et le curling ! Pour les femme la valeur affichée est droitier ! Exemples : Pia Zebadiah Bernadeth et Anette Norberg |
Tire de la | tire
|
P423 (« tir (gauche/droite) »)
|
Si le hockeyeur passe ou tire de la main gauche ou droite.
Exemples : Joseph Jean Bougie |
Repêchage par Repêchages par |
repêchage
|
P647 (« repêchage par ») Qualificatifs : P793 (« événement clé »), P585 (« date ») et P1836 (« rang de repêchage »). |
Équipe ayant repêché ce joueur[pas clair].
Exemples : Dave Budd |
Capes internationales | capes
|
P1129 (« nombre de capes internationales »)
|
Nombre d'apparitions de la personne en équipe nationale.
Exemple : |
Titre aux échecs Titres aux échecs |
titre aux échecs
|
P2962 (« titre au jeu d'échecs ») Qualificatifs : |
Titre décerné à la personne aux échecs.
Exemple : Anish Giri |
Classement Elo | classement elo
|
P1087 (« points Elo ») Qualificatifs : |
Dernier classement elo connu.
Exemple : Levon Aronian |
Record détenu Records détenus |
record détenu
|
P1000 (« record détenu ») Qualificatifs : |
Record détenu par la personne.
Exemple : Zofia Bielczyk |
Entraîneur Entraîneurs |
entraîneur
|
P286 (« entraîneur ou directeur sportif ») Qualificatifs : |
Personne chargée de la préparation physique et mentale de la personne.
Exemple : Emma Jørgensen |
Copilote Copilotes |
copilote
|
P2095 (« copilote ») Qualificatifs : |
Sportif qui en rallye guide le pilote.
Exemple : Saeed Al-Hajri |
Mécène Mécènes |
mécène mécènes sponsor sponsors
|
P859 (« sponsor ou mécène ») Qualificatifs : |
Organisation ou personne qui parraine la personne.
Exemple : Núria Picas |
contacts()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Maître Maîtres |
maître maîtres
|
P1066 (« élève de ») |
La ou les personnes qui ont formé la personne. Les qualificatifs temporels permettent de classer par ordre chronologique.
Exemples : |
intitulé maître
|
Lorsque les libellés par défaut de la rubrique ne convienent pas cet attribut permet de forcer un autre libellé de rubrique.
Exemples : | ||
Dir. de thèse | directeur de thèse dir. de thèse
|
P184 (« directeur ou directrice de thèse ») |
La ou les personnes qui ont dirigé la thèse de la personne. Les qualificatifs temporels permettent de classer par ordre chronologique.
Exemples : |
Représenté par Représentée par |
représenté par
|
P1875 (« représenté par ») |
L'agent artistique, le représentant, le manager ou l'agence qui représente la personne. Les qualificatifs temporels permettent de classer par ordre chronologique.
Exemples : |
Partenaire Partenaires |
partenaire
|
P1327 (« partenaire professionnel ou sportif ») |
Personne avec laquelle il ou elle travaille, ce peut être un partenaire professionnel ou sportif, un collaborateur, un collègue ou un associé. Les qualificatifs temporels permettent de classer par ordre chronologique.
Exemples : |
Élève Élèves |
élève élèves
|
P802 (« élève ») |
Élève, étudiant (à l'exception des étudiants de thèse), disciple ou apprenti de la personne. Lorsque les données viennent de wikidata, les qualificatifs temporels permettent de les classer par ordre chronologique. La liste est limitée à 5.
Exemples : |
intitulé élève
|
Lorsque les libellés par défaut de la rubrique ne convienent pas, cet attribut permet de forcer un autre libellé de rubrique.
Exemples : | ||
Étudiant de thèse Étudiants de thèse |
étudiant de thèse élèves
|
P185 (« doctorant ou doctorante ») |
Étudiants de thèse de la personne. Lorsque les données viennent de wikidata, les qualificatifs temporels permettent de les classer par ordre chronologique. La liste est limitée à 5.
Exemples : |
Personne liée Personnes liées |
personne liée
|
P3342 (« personne clé ») Qualificatif: P3831 (« rôle de l’objet de la déclaration ») |
Personnes liées à la personne décrite par l'article pour d'autres raisons que celles mentionnées précédemment.
Exemples : |
patron()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Mécène Mécènes |
mécène
|
P859 (« sponsor ou mécène ») |
Organisation ou personne qui parraine, sponsorise la personne décrite par l'infobox. Les qualificatifs temporels permettent de classer par ordre chronologique. Exemple : |
music()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Tessiture | tessiture
|
P412 (« tessiture »)
|
Type de voix - exemples : soprano, mezzo-soprano, contralto, contreténor, ténor, baryton, basse.
Exemple : Édith Piaf |
Fach | fach
|
P1731 (« Fach »)
|
Méthode de classification des chanteurs d'opéra.
Exemple : Alice Coote |
Instrument Instruments |
instrument
|
P1303 (« instrument de musique pratiqué »)
|
Instrument de musique joué par la personne.
Exemples : François de Roubaix, Josef Gusikov |
Label Labels |
label
|
P264 (« label discographique ») |
Société éditrice de musique, chargée de produire, d'éditer et de distribuer les enregistrements, et par extension, la marque déposée.
Exemple : Boby Lapointe. |
victims()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Victimes | victimes
|
P1345 (« nombre de victimes d'un tueur »)
|
Nombre de victimes de la personne.
Exemple : Frédéric d'Isenberg. |
penalties()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Condamné pour Condamnée pour |
condamné pour
|
P1399 (« condamné pour ») Qualificatifs : |
Crime duquel la personne a été reconnue coupable.
Exemple : Melchior de la Vallée. |
Q853735 Condamnations |
condamnation
|
P1596 (« condamnation ») Qualificatifs : |
Peine à laquelle la personne a été condamné à l'issue d'un procès. Pour les wikidata les valeurs possibles sont des sous-classes de Q1763090 (« peine ») ou Q186361 (« châtiment »). En particulier : Q853735 (« emprisonnement »). Exemple : Liu Xiaobo. |
Lieu de détention Lieux de détention |
lieu de détention
|
P2632 (« lieu de détention ») Qualificatifs : |
Lieu où la personne est ou a été détenue.
Exemple : Arthur Koestler. |
archivesat()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Archives conservées par | archivé par
|
P485 (« archives conservées par ») Qualificatifs : P217 (« numéro d'inventaire »), P7328 (« nombre d'éléments décrits »), P585 (« date »), P7103 (« début de période couverte »), P7104 (« fin de période couverte »). |
Organisation qui archive les travaux de la personne.
Exemples : Aristide Maillol avec numéro d'inventaire. |
Fonctions internes
timeline()
Sert à afficher des lignes. Prend 3 paramètres (statements, propriété, format)
Format | A | B | C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Propriété et fonction appelantes |
P511 (« titre honorifique ») : honorifictitle() |
P2522 (« victoire ») : victories() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rendu (exemple fait avec les fonctions (P39) de Nicolas François de Lorraine)
|
|
|
|
Exemples
Albert Einstein
Enregistrement vocal Prononciation
|
Mustafa Kemal Atatürk
|
Références
- Légende en français de l'image si elle existe.
- Image dont la hauteur est supérieur à la largeur.
- Attention : cette propriété va être dépréciée.
- Légende en français de l'image si elle existe.
- Image dont la hauteur est supérieur à la largeur.
- « http://archivdatenbank-online.ethz.ch/hsa/#/content/b9b4178f95254672b981174aaee8f06b » (consulté le )
- « https://finding-aids.lib.unc.edu/03048/ »
Modules inclus
- Module:Dictionnaire Wikidata/Distinctions -- comme liste de distinctions considérées comme à mettre en avant, ou au contraire à exclure
Requête SPARQL permettant de retrouver des personnes ayant certaines propriétés
Cette requête permet de retrouver des éléments ayant certaines propriétés. Elle doit être modifiée en fonction des besoins.
SELECT ?item ?itemLabel ?article ?activitéLabel # ?disparition # ?débutDActivité # ?fintDActivité # ?nomDansLaLangueMaternelle # ?nomDeNaissance # ?nomOfficiel # ?surnom # ?romanisationRévisée # ?pseudonyme # ?prénomSocial # ?nomPosthume # ?nomDeTemple # ?nomDePinceau # ?abréviationEnBotanique # ?abréviationEnZoologie # ?abréviation # ?nationalitéLabel # ?éducationLabel ?distinctionLabel ?deLabel WHERE { ?item wdt:P31 wd:Q5 ; # doit être une personne wdt:P101/wdt:P279* wd:Q735 ; wdt:P101 ?activité ; # wdt:P746 ?disparition ; # wdt:P2031 ?débutDActivité ; # wdt:P2032 ?fintDActivité ; # wdt:P1559 ?nomDansLaLangueMaternelle . # wdt:P1477 ?nomDeNaissance . # wdt:P1448 ?nomOfficiel . # wdt:P1449 ?surnom . # wdt:P2001 ?romanisationRévisée . # wdt:P742 ?pseudonyme . # wdt:P1782 ?prénomSocial . # wdt:P1782 ?nomPosthume . # wdt:P1785 ?nomDeTemple . # wdt:P1787 ?nomDePinceau . # wdt:P428 ?abréviationEnBotanique . # wdt:P835 ?abréviationEnZoologie . # wdt:P1813 ?abréviation . # wdt:P27 ?nationalité . # wdt:P69 ?éducation . p:P166 [ps:P166 ?distinction; pq:P642 ?de; ]. ?article schema:about ?item ; schema:isPartOf <https://fr.wikipedia.org/>. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } # le label viendra de préférence dans votre langue, et autrement en anglais } LIMIT 1000
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
--[[
Avant de mettre en production une nouvelle version avez-vous :
- mis en place des tests dans au moins une des pages de test d'un des modèles utilisant la fonction ?
- testé avec la version bac à sable ?
- modifié la documentation ?
]]
-- Functions utilisées par les infobox personnes
local p = {}
local localdata = require 'Module:Infobox/Localdata'
local item = localdata.item
local wikidata = require 'Module:Wikidata'
local general = require 'Module:Infobox/Fonctions'
local datemodule = require 'Module:Date'
local complexdate = require 'Module:Date complexe'
local linguistic = require 'Module:Linguistique'
local militaryranks = require 'Module:Dictionnaire Wikidata/Grades militaires'
local ppath = require 'Module:Wikidata/Chemin'
local noble = require 'Module:Noble'
-- == Accord en genre
local gender = wikidata.getgender(item) -- genre de la personne dont c'est l'infobox
-- Version locale de wikidata.genderedlabel où si le genre n'est pas indiqué, c'est celui de la personne dont c'est l'infobox
local function genderedlabel(id, labelgender)
if not labelgender then labelgender = gender end
return wikidata.genderedlabel(id, labelgender)
end
-- === Gestion des dates
-- Liens thématiques vers les dates
local datelinks = { -- lien vers le domaine d'activité approprié
Q483501 = 'en arts plastiques', -- artiste
Q1028181 = 'en arts plastiques', -- peintre
Q1281618 = 'en arts plastiques', -- sculpteur
Q2309784 = 'en cyclisme', -- cycliste
Q16947657 = 'en arts plastiques', -- lithographe
Q11569986 = 'en arts plastiques', -- graveur
Q13365770 = 'en arts plastiques', -- graveur sur cuivre
Q21925567 = 'en arts plastiques', -- sérigraphe
Q10862983 = 'en arts plastiques', -- aquafortiste
Q36180 = 'en littérature', -- écrivain
}
local function getdatetopic() -- obtient le lien le plus approprié pour une date en fonction de la profession
local claims = wikidata.stringTable{entity = item, property = 'P106', excludespecial = true, displayformat = 'raw'}
if not claims then
return nil
end
for i, j in pairs(claims) do
if datelinks[j] then
return datelinks[j]
end
end
end
local linktopic = getdatetopic()
local unknowndatelabel = 'date inconnue'
local birthdate = localdata['naissance'] or
localdata['date de naissance'] or
wikidata.formatAndCat{
entity = item,
property = 'P569',
unknownlabel = unknowndatelabel,
conjtype = 'or',
sorttype = 'chronological',
removedupesdate = 'cat',
minprecision = 8, --précision minimale pour être affichée : décennie
}
local dead = wikidata.getClaims{entity = item, property = 'P570'} --utilisé comme booléen qui dit si une personne est morte pour modifier certaines élément d'affichage
local stillvalid
if dead then
stillvalid = "?" -- permet de remplacer des "depuis" par des "à partir de"
end
local deathdate = localdata['décès'] or localdata['date de décès']
local wddeathdate = wikidata.formatAndCat{
entity = item,
property = 'P570',
unknownlabel = unknowndatelabel,
conjtype = 'or',
sorttype = 'chronological',
removedupesdate = 'cat',
minprecision = 8,
}
local disappeardate = localdata['disparition']
local wddisappeardate = wikidata.formatAndCat{
entity = item,
property = 'P746',
unknownlabel = unknowndatelabel,
conjtype = 'or',
sorttype = 'chronological',
removedupesdate = 'cat',
showqualifiers = 'P276',
minprecision = 8,
}
local function format1(event, period, predecessor, together, successor, displayformat)
local mainstr = event
if predecessor then
local s = 'précédé par ' .. predecessor
if gender == 'f' then
s = 'précédée par ' .. predecessor
end
mainstr = mainstr .. '<small><br /> ' .. s .. '</small>'
end
if together then
local s = 'avec ' .. together
mainstr = mainstr .. '<small><br /> ' .. s .. '</small>'
end
if successor then
local s = 'suivi par ' .. successor
if gender == 'f' then
s = 'suivie par ' .. successor
end
mainstr = mainstr .. '<small><br /> ' .. s .. '</small>'
end
return {type = 'row', label = period or '', value = function() return mainstr end}
end
-----------------
local function format2(event, period, predecessor, together, successor, displayformat)
if (not event) then
return nil
end
local rows = {}
local eventrow = {type = 'row1col', color = 'secondcolor', value = event }
table.insert(rows, eventrow)
if period then
period = '<span style="font-weight:normal">' .. period .. '</span>'
local periodrow = {type = 'row1col', color = '#F9F9F9', value = period }
table.insert(rows, periodrow)
end
if predecessor then
local prederow = {type = 'row', label = 'Prédécesseur', value = function() return predecessor end}
table.insert(rows, prederow)
end
if together then
local succrow = {type = 'row', label = 'Avec', value = function() return together end}
table.insert(rows, succrow)
end
if successor then
local succrow = {type = 'row', label = 'Successeur', value = function() return successor end}
table.insert(rows, succrow)
end
return {type = 'multi', rows = rows}
end
local function format3(event, period, predecessor, together, successor, displayformat, details)
if together then together = 'avec ' .. together end
if details or together then details = linguistic.conj({details, together}, 'lowercase new line') end
if details then
details = '<span style="font-weight:normal">' .. details .. '</span>'
event = linguistic.conj({event, details}, 'lowercase new line')
end
local mainrow = {type = 'row1col', color = 'secondcolor', value = event }
if period then
period = '<span style="font-weight:normal">' .. period .. '</span>'
end
local periodrow = {type = 'row1col', color = '#F9F9F9', value = period }
local successionrow = {
style = {['background-color'] = '#F9F9F9', ['color'] = 'var( --color-base )', ['padding-bottom'] = '2%'},
type = 'navigator',
inner = true,
previousval = function() return predecessor end,
nextval = function() return successor end,
}
return {type = 'multi', rows = {mainrow, periodrow, successionrow}}
end
local function timeline(localparam, wdconf, timelineformat, title, singtitle, details) -- affiche date : événement (suppose les événements déjà triés)
local rows = {}
local function returnTable()
return {
type = 'table',
title = title,
rows = rows
}
end
-- avec données locales
local val = localdata[localparam]
if val == '-' then
return nil
elseif val then
table.insert(rows, {type = 'row1col', color = 'secondcolor', value = val})
return returnTable()
end
-- avec données wikidata
if not wdconf then
return nil
end
wdconf.entity = wdconf.entity or item
wdconf.sorttype = wdconf.sorttype or 'chronological'
wdconf.labelformat = wdconf.labelformat or genderedlabel
wdconf.linktopic = wdconf.linktopic or '-'
local statements = wikidata.getClaims(wdconf)
if not statements then
return nil
end
if #statements == 1 then
title = singtitle
end
local displayformats = {
A = format1,
B = format2,
C = format3,
}
local applyformat = displayformats[timelineformat] or displayformats['A']
rows = {}
for i, statement in pairs(statements) do
local event = linguistic.ucfirst(wikidata.formatStatement(statement, wdconf))
local predecessor = wikidata.getFormattedQualifiers(statement, {'P155', 'P1365'}, {labelformat2 = noble.labelInfobox})
local together = wikidata.getFormattedQualifiers(statement, {'P1706', ''}, {labelformat2 = noble.labelInfobox})
local successor = wikidata.getFormattedQualifiers(statement, {'P156', 'P1366'}, {labelformat2 = noble.labelInfobox})
local period = wikidata.getFormattedDate(statement, {linktopic = wdconf.linktopic, stilltrue = stillvalid } ) -- dont pass all wdconf or else qualifiers will show up
local detailstr
if type(details) == 'function' then
detailstr = details(statement)
end
local row = applyformat(event, period, predecessor, together, successor, wdconf, detailstr)
if row then
table.insert(rows, row)
end
end
table.insert(rows, {type = 'external text', value = function() return wikidata.addTrackingCat(wdconf.property) end})
return returnTable()
end
local function dateandplace(thedate, theplace)
if thedate and theplace and mw.ustring.find(thedate, 'inconnu') and mw.ustring.find(theplace, 'inconnu') then
theplace = nil
thedate = mw.ustring.gsub(thedate, linguistic.ucfirst(unknowndatelabel), 'Date et lieu inconnus')
end
return linguistic.conj({thedate, theplace}, 'new line')
end
--Titre
function p.title(icon, style)
local title = general.title(icon, style)
title.value = function()
return localdata['nom'] or localdata['association_nom'] or localdata['nom_think'] or localdata['acronymelaboratoire'] or localdata['titre']
or wikidata.getLabel(localdata.item) and noble.labelInfobox( mw.language.getContentLanguage():ucfirst( wikidata.getLabel(localdata.item) ) )
or noble.labelInfobox( mw.title.getCurrentTitle().text )
end
return title
end
--Image
function p.mainimage(cat)
-- demande d'illustration que si la personne est née ou morte après 1900, sinon c'est souvent impossible à trouver
local defaultimage = 'Defaut 2.svg'
local age = wikidata.stringTable{property = 'P569,P570', entity = item, displayformat = 'raw', excludespecial = true}
if age and age[1] then
local pattern = '(%W)(%d+)%-(%d+)%-(%d+)'
local era, year = age[1]:match(pattern)
if (era == '-') or (tonumber(year)) < 1900 then
defaultimage = nil
end
end
return general.mainimage({cat = cat or 'Article à illustrer Biographie', altparameter = 'alt'}, defaultimage)
end
-- Noms
function p.othernames()
local names = {
{'P1477', 'Nom de naissance', 'Noms de naissance', 'nom de naissance'},
{'P1448', 'Nom officiel', 'Noms officiels', 'nom officiel'},
{'P1449', 'Surnom', 'Surnoms', 'surnom'},
{'P2001', 'Romanisation révisée', 'Romanisation révisée', 'romanisation révisée'},
{'P1942', 'McCune-Reischauer', 'McCune-Reischauer', 'McCune-Reischauer'},
{'P742', 'Pseudonyme', 'Pseudonymes', 'pseudonyme'},
{'P1782', 'Prénom social', 'Prénoms sociaux', 'prénom social'},
{'P1786', 'Nom posthume', 'Noms posthumes', 'nom posthume'},
{'P1785', 'Nom de temple', 'Noms de temple', 'nom de temple'},
{'P1787', 'Nom de pinceau', 'Noms de pinceau', 'nom de pinceau'},
{'P1813', 'Nom court', 'Noms courts', 'nom court'},
{nil, 'Autres noms', 'Autres noms', 'autres noms'},
}
local nativelangnamerow = { -- un peu particulier, donc à part
type = 'row',
wikidata = function()
local s = wikidata.formatAndCat{entity = item, property = 'P1559', showqualifiers = 'P1721', conjtype = 'or'}
if (not s) then
return nil
end
-- regarde si le nom de la valeur ressemble au libellé (en tenant compte de la pollution des marqueurs de langue)
local label = mw.ustring.lower(wikidata.getLabel(item) or '')
local useless
if mw.ustring.find(mw.ustring.lower(s), mw.ustring.lower(label), 1, true) then
useless = true
end
if localdata['nom de naissance'] then useless = true end
if not useless then --inutile si duplique le "nom de naissance"
local birthname = localdata['nom de naissance'] or wikidata.formatStatements{entity = item, property = 'P1477', displayformat='raw'}
if wikidata.formatStatements{entity = item, property = 'P1559'} == birthname then useless = true end
end
if useless then
return nil
end
return s
end,
label = 'Nom dans la langue maternelle',
plurallabel = 'Noms dans la langue maternelle',
value = 'nom dans la langue maternelle',
}
local rows = {type = 'multi', rows = {nativelangnamerow}}
for i, j in pairs(names) do
local query
if j[1] and not localdata['autres noms'] then -- lorsqu'il y a un paramètre "autres noms", Wikidata est désactivée pour éviter risques de doublon
query = {property = j[1], showqualifiers = {'P1721'}, conjtype = 'comma'}
end
table.insert(rows.rows, {type = 'row', value = j[4], wikidata = query, label = j[2], plurallabel = j[3]})
end
return rows
end
-- NAISSANCE ET MORT
function p.birth() -- date de naissance en première ligne, lieu de naissance en deuxième
return {
type = 'row',
label = 'Naissance',
value =
function()
local thedate = datemodule.dateInfobox{args = {[1] = 'naissance', [2] = birthdate or '', [3] = deathdate or wddeathdate or disappeardate or wddisappeardate or '', qualificatif = linktopic}}
local theplace = localdata['lieu de naissance'] or
wikidata.formatAndCat({entity =item, -- affichage du nom du lieu de naissance en vigueur à la date de naissance
property= 'P19',
rank = 'best',
labelformat = function(val) return wikidata.getLabel(val) end,
conjtype= ' ou ',
defaultlinkquery = {property = {'P361'}}, -- liens par défaut : "partie de",
unknownlabel = "lieu inconnu",
showqualifiers = {'P131', 'P17'},
qualifconjtype = 'comma'
}
)
return dateandplace(thedate, theplace)
end
}
end
function p.death() -- même fonctionnement que la fonction p.birth
-- date de disparition
local ldisappeardate = disappeardate
if (not ldisappeardate ) and (not deathdate) then -- récupérée de Wikidata seulement si la date de décès n'est pas fournie en locale
ldisappeardate = wddisappeardate
end
if ldisappeardate and birthdate then
ldisappeardate = datemodule.dateInfobox{args = {[1] = 'événement', [2] = birthdate or '', [3] = ldisappeardate or '', qualificatif = linktopic, unknownlabel = 'date inconnue'}}
end
-- date de décès
local ddate = deathdate --déclarée pour l'ensemble du module
if (not ddate) and (not ldisappeardate) then
deathdate = wddeathdate -- récupérée de Wikidata seulement si la date de disparition n'est pas fournie en locale
end
local thedate = datemodule.dateInfobox{args = {[1] = 'mort', [2] = birthdate or '', [3] = deathdate or '', qualificatif = linktopic, unknownlabel = 'date inconnue'}}
local theplace = localdata['lieu de décès'] or
wikidata.formatAndCat{entity =item,
property= 'P20',
rank = 'best',
-- affichage du nom du lieu de décès en vigueur à la date de décès
labelformat = function(val) return wikidata.getLabel(val) end,
conjtype= ' ou ',
defaultlinkquery = {property = {'P361'}}, -- liens par défaut : "partie de",
unknownlabel = "lieu inconnu",
showqualifiers = {'P131', 'P17'},
qualifconjtype = 'comma'
}
local val = dateandplace(thedate, theplace)
return
{type = 'multi', rows = {
{ -- disparition
type = 'row',
label = 'Disparition',
value = function() return ldisappeardate end
},
{ -- décès
type = 'row',
label = 'Décès',
value = function() return val end,
}
}}
end
function p.floruit()
return {
type = 'row',
label = "Période d'activité",
value = "période d'activité",
wikidata = function()
local startDateObj, endDateObj
local startDate = wikidata.formatAndCat{entity = item, property = 'P2031', conjtype = 'or', sorttype = 'chronological', linkback = '-', ucfirst = '-', excludespecial = true} --texte à afficher
if startDate then --
local startDateClaims = wikidata.getClaims{entity = item, property = 'P2031', sorttype = 'chronological', excludespecial = true}
startDateObj = complexdate.dateObject(startDateClaims[1].mainsnak.datavalue.value) --objet date correspondant à la première des dates (pour faire des adaptations linguistiques)
startDateObj.string = startDate
end
local endDate = wikidata.formatAndCat{entity = item, property = 'P2032', conjtype = 'or', sorttype = 'chronological', ucfirst = '-', excludespecial = true}
if endDate then
local endDateClaims = wikidata.getClaims{entity = item, property = 'P2032', sorttype = 'chronological', excludespecial = true}
endDateObj = complexdate.dateObject(endDateClaims[1].mainsnak.datavalue.value)
endDateObj.string = endDate
end
if not (startDate or endDate) then
return wikidata.formatAndCat{entity = item, property = 'P1317', conjtype = 'or', sorttype = 'chronological'}
end
if startDate and not endDate then
startDateObj.string = wikidata.formatAndCat{entity = item, property = 'P2031', conjtype = 'or', sorttype = 'chronological', ucfirst = '-', excludespecial = true}
end
return complexdate.daterange(startDateObj, endDateObj, {precision = 11, stilltrue = stillvalid, ucfirst = true})
end
}
end
function p.placeofburial()
return
{type = 'row', label = 'Sépulture', value = 'sépulture', wikidata = {property = "P119", showdate = true, novaluelabel = 'aucune'}}
end
function table.slice(tbl, first, last, step)
local sliced = {}
for i = first or 1, last or #tbl, step or 1 do
sliced[#sliced+1] = tbl[i]
end
return sliced
end
-- function that creates a filter function
-- if the main country "base_country_item" is (replaced by)+
-- the subsequent statement main value that the function will receive as a parameter
-- then the created function will return true for this statement to be filtered out
local function filter_replaces_builder(base_country_item)
-- P1365 = remplace
-- P1366 = remplacé par
local replaced_query = {property = 'P1365'}
return function(may_be_replacing_stmt)
local may_be_replacing_item = wikidata.getMainId(may_be_replacing_stmt)
local replaces = wikidata.inTransitiveVals(may_be_replacing_item, base_country_item, replaced_query)
return not(wikidata.inTransitiveVals(may_be_replacing_item, base_country_item, replaced_query))
end
end
-- filter parameterized by each of the values of the claims, in the order
-- « filter_function_builder » will be called by all the values (remaining after filtering) in « claims »
-- to filter the rest of the claims, starting from the first one in the list.
local function iterated_filter(claims, filter_function_builder)
-- the first country in the list, if any of the following value replaces this one
-- we remove them. So we split the list
local first_country_claim = claims[1]
local to_test = table.slice(claims, 2, #claims)
if #to_test > 0 then
-- building the filter function with the first country as base value
-- (a closure)
local condition = filter_function_builder(wikidata.getMainId(first_country_claim))
-- keeping the number of values before the filter
local nb_before = #to_test
to_test = wikidata.filterClaims(to_test, {condition = condition}) or {}
local nb_after = #to_test
-- if some country was filtered out, we remove the dates of the main statement to avoid showing incomplete dates
if (nb_before ~= nb_after and first_country_claim.qualifiers) then
first_country_claim.qualifiers["P580"] = nil
first_country_claim.qualifiers["P582"] = nil
end
-- if there still exists candidate countries, filter them recursively
if #to_test > 0 then
to_test = iterated_filter(to_test, filter_function_builder)
end
-- reconstruct the list of statement by readding our first country to the filtered list
to_test = to_test or {}
table.insert(to_test, 1, first_country_claim)
return to_test
end
-- if there were nothing to filter, just return the first statement
return {first_country_claim}
end
function p.nationality()
local cmp = wikidata.compare
-- à améliorer étant donnée les mœurs Wikidata comme nationalité : Empire allemand (1901-1918) République de Weimar (1918-1933)
local function wdDate()
local nation = require 'Module:Country data'.nationality
-- désactivation si date de naissance avant l'Ère contemporaine : trop d'imprécisions et d'anachronismes
local mindate = '1789'
local birthdate = wikidata.formatStatements{entity = item, property = 'P569', displayformat = 'raw', numval = 1}
local deathdate = wikidata.formatStatements{entity = item, property = 'P570', displayformat = 'raw', numval = 1}
if ((not birthdate) or complexdate.before(mindate, birthdate)) and ((not deathdate) or complexdate.before(mindate, deathdate)) then
return nil
end
-- preprocessing the "P27" statements
-- if there is statements about a country that changed its regime, like France before and after the french Revolution
-- then we just want to show "France" and not "France and France" because there is two statement (or worse)
-- so we take advantage of the fact that the French Kingdom was "replaced by" French Republic (P1366)
-- to detect and filter out such «redundant» values
-- (we also remove the begin/end dates of statements in such cases to avoid wrong dating)
local statements = wikidata.getClaims{entity = item, property = 'P27', rank='best', excludespecial=true} or {}
-- sort nationality statements by statement dates or regime creation date if statement is not dated
local sort_by_statement_or_regime = wikidata.chrono_key_sort{
sort_key="RegimeKey", -- use another key than « chronosort »
snak_key_get_function = ppath.snak_key_by_paths{">P580","P571"}, --[[ either by « begin date » qualifier or « inception » of the nationality
if the statement is not dated ]]
key_compare_function = cmp.rev(function(v1, v2) return v1 < v2 end) -- sort in reverse chronological order to remove all values the first nationalities replaces
}
-- ordering statement by dates so that we can test only "A replaces B" and not "B replaces A" because A is an older regime than B
statements = sort_by_statement_or_regime(statements)
-- actual statement filtering
statements = iterated_filter(statements, filter_replaces_builder)
-- re-sorting in chronological ordering
statements = wikidata.sortClaims(statements, cmp.chronoCompare)
return {
property = 'P27',
claims = statements, -- our filtered statement as claims instead of the regular query
showdate = true,
entity = item,
conjtype = 'new line',
removedupes = true,
linktopic = '-',
sorttype = 'chronological',
ucfirst = '-',
stilltrue = not dead,
displayformat =
function(snak)
-- local g = gender -- genre de la personne, pour affichage du gentilé
-- if g == '?' then -- si inconnu, au masculin
-- g = 'm'
-- end
local val, success = nation(wikidata.getId(snak), 'f') -- au féminin pour accorder au mot nationalité
if not success then
val = wikidata.formatSnak(snak)
end
return val
end
}
end
return {
type = 'row',
label = 'Nationalité',
plurallabel = 'Nationalités',
value = 'nationalité',
wikidata = wdDate() -- wdDate() retourne une table
}
end
function p.nativelanguage()
return
{type = 'row', label = 'Langue maternelle', value = 'langue maternelle', property = 'P103'}
end
function p.writinglanguage()
return
{type = 'row', label = "Langue d\'écriture", value = 'langue d\'écriture', plurallabel = "Langues d\'écriture" , wikidata = {property = 'P6886' , expl = true}}
end
-- Domiciles
function p.places()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Dème',
plurallabel = 'Dèmes',
value = 'dème',
wikidata = {property = 'P2462', showdate = true, sorttype= 'chronological', stilltrue = not dead, precision = 'year'},
},
{
type = 'row',
label = 'Domicile',
plurallabel = 'Domiciles',
value = 'domicile',
wikidata = {property = 'P551', showdate = true, sorttype= 'chronological', stilltrue = not dead, precision = 'year'},
},
}}
end
-- lieu de travail (pour Infobox Artiste)
function p.workplace()
return {
type = 'row',
label = 'Lieu de travail',
plurallabel = 'Lieux de travail',
value = 'lieu de travail',
wikidata = {property = 'P937', showdate = true, stilltrue = false, sorttype = 'chronological', conjtype = 'comma'}
}
end
-- parcours professionel
function p.education()
local query = {sorttype= 'chronological', property = 'P69', showdate = true, stilltrue = '?', showqualifiers = 'P512', conjtype = 'new line', linktopic = '-', unknownlabel = 'inconnue'}
return {
type = 'row',
value = {'éducation', 'formation'},
wikidata = query,
label = 'Formation',
}
end
function p.occupation()
local speciallabels = {
f = {
['Q33999'] = '[[Acteur|actrice]]',
['Q10798782'] = '[[Acteur|actrice]]',
['Q10800557'] = '[[Acteur|actrice]]',
['Q2405480'] = '[[Acteur|actrice]]',
['Q2259451'] = '[[Acteur|actrice]]',
['Q948329'] = '[[Acteur|actrice]]'
},
m = {
['Q33999'] = '[[acteur]]',
['Q10798782'] = '[[acteur]]',
['Q10800557'] = '[[acteur]]',
['Q10798782'] = '[[acteur]]',
['Q2405480'] = '[[acteur]]',
['Q2259451'] = '[[acteur]]',
['Q948329'] = '[[acteur]]'
}
}
return {
type = 'row',
value = {'activité', 'activités'},
wikidata = {
property = 'P106',
defaultlink = '-',
defaultlinkquery = {property = {'P425','P1056'}},
labelformat = genderedlabel,
speciallabels = speciallabels[gender] or speciallabels['m'],
removedupes = true,
showdate = true,
sorttype = 'chronological',
stilltrue = not dead,
unknownlabel = 'inconnue',
excludevalues = { -- les occupations qui ne méritent pas d'être affichées
'Q482980', -- auteur
'Q15980158', --"auteur de non-fiction"
'Q12144794', --prosateur
'Q18814623', -- autobiographe
'Q1209498', -- juriste-poète
'Q1097498', -- "dirigeant"
'Q2478141', -- aristocrate
'Q116', -- monarque
'Q115088092', -- participant à un forum international
}
},
label = 'Activité',
plurallabel = 'Activités'
}
end
function p.haswrittenfor()
return
{type = 'row', label =
function(localdata, item)
if gender == 'f' then
return 'Rédactrice à'
else
return 'Rédacteur à'
end
end,
value = 'rédacteur à',
wikidata = {property = "P6872",
showdate = true,
stilltrue = not dead,
labelformat2 = function(label) return '<i>' .. label .. '</i>' end
}
}
end
function p.employer()
return {
type = 'row',
value = 'employeur',
wikidata = {property = 'P108', showdate = true, linktopic = '-', sorttype= 'inverted', stilltrue = not dead, conjtype = 'new line'},
label = function() return localdata['intitulé employeur'] or 'A travaillé pour' end,
}
end
function p.victories()
local title, singtitle = 'Victoires', 'Victoire'
local localparam = 'victoire'
local wdconf = {property = 'P2522'}
local displayformat = 'B'
return timeline(localparam, wdconf, displayformat, title, singtitle)
end
function p.officialposition()
local title, singtitle = 'Fonctions', 'Fonction'
local localparam = 'fonction'
local wdconf = {
property = 'P39',
showqualifiers = 'P5102',
qualiflink = '-',
rank = 'valid',
sorttype = 'inverted',
defaultlinkquery = {property = {'P2354', 'P2389', 'P453', 'P361', 'P108', 'P276', 'P1001'}}, -- liens par défaut : liste, puise organisme dirigé, "membre de", "partie de", employeur, ressort territorial
}
-- sur une ligne séparée : gouvernement, législature, juridiction, "de", circonscription, diocèse, affiliation, assemblée, parti, employeur
local details = function(statement) return wikidata.getFormattedQualifiers(statement, {'P5054', 'P2937', 'P1001', 'P642', 'P2389', 'P768', 'P708', 'P1416', 'P194', 'P108', 'P937' , 'P1268' , 'P7779'}, {conjtype = 'new line'}) end
local displayformat = 'C'
return timeline(localparam, wdconf, displayformat, title, singtitle, details)
end
function p.specialrole()
local localparam = 'statut notable'
local wdconf = {
property = 'P2868',
rank = 'valid',
sorttype = 'inverted',
targetsuperclass = 'Q254917',
defaultlinkquery = {property = {'P2354'}}, -- lien par défaut : liste d'éléments
}
local displayformat = 'C'
return timeline(localparam, wdconf, displayformat)
end
function p.nobilitytitle()
local title, singtitle = 'Titres de noblesse', 'Titre de noblesse'
local localparam = 'titre de noblesse'
local wdconf = {
property = 'P97',
entity = item, rank = 'valid',
showqualifiers = {'P642'},
defaultlinkquery = {property = {'P2354', 'P361'}}, -- liens par défaut : liste, puise organisme dirigé, "membre de" et "partie de"
}
local displayformat = 'B'
return timeline(localparam, wdconf, displayformat, title, singtitle)
end
function p.honorifictitle()
local title, singtitle = 'Titres honorifiques', 'Titre honorifique'
local localparam = 'titre honorifique'
local wdconf = {property = 'P511', entity = item, rank = 'valid'}
local displayformat = 'C'
return timeline(localparam, wdconf, displayformat, title, singtitle)
end
function p.tombe()
return {
type = 'images',
imageparameters = {'tombe'},
defaultimages = nil,
defaultupright = 1,
uprightparameter = 'upright tombe',
sizeparameter = 'taille tombe', -- obsolète
captionparameter = 'légende tombe',
defaultcaption = 'Vue de la sépulture.',
property = 'P1442',
numval = 1,
}
end
function p.plaque()
return {
type = 'images',
imageparameters = {'plaque'},
defaultimages = nil,
defaultupright = 1,
uprightparameter = 'upright plaque',
sizeparameter = 'taille plaque', -- obsolète
captionparameter = 'légende plaque',
defaultcaption = 'Plaque commémorative',
property = 'P1801',
numval = 1,
}
end
function p.blason()
return {
type = 'images',
imageparameters = {'blason'},
defaultimages = nil,
defaultupright = 0.5,
uprightparameter = 'upright blason',
sizeparameter = 'taille blason', -- obsolète
captionparameter = 'légende blason',
defaultcaption = 'Blason',
property = 'P94',
numval = 1,
}
end
function p.sceau()
return {
type = 'images',
imageparameters = {'sceau'},
defaultimages = nil,
defaultupright = 0.7,
uprightparameter = 'upright sceau',
sizeparameter = 'taille sceau', -- obsolète
captionparameter = 'légende sceau',
defaultcaption = 'Sceau',
property = 'P158',
numval = 1,
}
end
function p.monogram()
return {
type = 'images',
imageparameters = {'monogramme'},
defaultimages = nil,
defaultsize = '100px',
sizeparameter = 'taille monogramme',
captionparameter = 'légende monogramme',
defaultcaption = 'Monogramme',
property = 'P1543',
numval = 1,
}
end
function p.flag()
return {
type = 'images',
imageparameters = {'drapeau'},
defaultimages = nil,
defaultsize = '150px',
sizeparameter = 'taille drapeau',
captionparameter = 'légende drapeau',
defaultcaption = 'Drapeau',
property = 'P41',
numval = 1,
}
end
function p.logo()
return {
type = 'images',
imageparameters = {'logo'},
defaultimages = nil,
defaultsize = '150px',
sizeparameter = 'taille logo',
captionparameter = 'légende logo',
defaultcaption = 'Marque ou logotype',
property = 'P154',
numval = 1,
}
end
function p.politicalparty()
return {
type = 'row',
value = 'parti politique',
label = 'Parti politique',
plurallabel = 'Partis politiques',
wikidata = { property = 'P102', sorttype= 'chronological', showdate = true, conjtype = 'new line', excludespecial = true, stilltrue = not dead,
labelformat = function(id) if id == 'Q327591' and gender == 'f' then return 'indépendante' end end}
}
end
function p.memberof()
return {type = 'multi', rows = {
{
type = 'row',
value = 'ordre de chevalerie',
label = 'Ordre de chevalerie',
plurallabel = 'Ordres de chevalerie',
wikidata = {property = 'P550', sorttype= 'chronological', showdate = true, stilltrue = not dead},
},
{
type = 'row',
label = 'Membre de',
value = 'membre de',
wikidata = {property = 'P463', sorttype= 'chronological', showdate = true, stilltrue = not dead, precision = 'year', linktopic = '-', textformat = 'minimum', conjtype = 'new line'},
},
}}
end
local masclabelitems = {a='Q10855271', b='Q10855195', c='Q10855212', d='Q10855216', e='Q13422138', f='Q13422140', g='Q13422141', h='Q13452524', i='Q13452528', j='Q13452531', k='Q14637182', l='Q14637176', m='Q14637188',}
-- grades de la légion d'Honneur, de l'ordre national du Mérite, de l'ordre des Palmes académiques et de l'ordre des Arts et Lettres en France, de genre grammatical masculin y compris pour les femmes
function p.awards()
local function awardsList()
local majorawards = require 'Module:Dictionnaire Wikidata/Distinctions'
local query = {
entity = item,
property= 'P166',
sorttype= 'chronological',
grouped = true,
showqualifiers = 'P642',
showdate= true,
precision = 'year',
conjtype = 'new line',
textformat = 'minimum',
linktopic = '-',
defaultlinkquery = {property = {'P2354', 'P361' , 'P1027'}},
excludevalues = majorawards.exclude, -- membre de la Royal Society, redondance avec le champ « membre de » (P463)
speciallabels = majorawards,
labelformat = function(id)
masclabel = false
for _, item in pairs(masclabelitems) do
if id == item then masclabel = true end
end
if masclabel then
return genderedlabel(id, 'm')
else
return genderedlabel(id)
end
end,
}
local claims = wikidata.getClaims(query)
if (not claims) then
return nil
end
local str = wikidata.formatAndCat(query)
if #claims < 4 then
return str, #claims
end
--si trop de valeurs, n'afficher que les importantes de [[Module:Dictionnaire Wikidata/Distinctions]], et mettre les autrs dans un menu pliant
--- récupération des importantes
local majorStr
local targetvalues = {}
for i, j in pairs(majorawards) do
table.insert(targetvalues, i)
end
query.targetvalue = targetvalues
query.value, query.claims, query.valuetable = nil, nil, nil -- apparemment sinon ce n'est pas le cas, pourquoi ? BUG IMPORTANT
majorStr = wikidata.formatAndCat(query)
--- repliage des autres
local message = "'''Liste détaillée'''"
local allAwardsTable = mw.html.create('div')
:addClass('toccolours mw-collapsible mw-collapsed')
:wikitext(message)
:css{border = 'none'}
:tag('div')
:addClass('mw-collapsible-content')
:css{['line-height'] = '150%'} -- sinon c'est vraiment serré
:wikitext( str)
:done()
:allDone()
return linguistic.conj({majorStr, tostring(allAwardsTable)}, '<br>'), #claims
end
return {
type = 'row',
value = {'prix', 'récompenses', 'distinction', 'distinctions'},
label = 'Distinctions',
singularlabel = 'Distinction',
wikidata = function() return awardsList() end
}
end
-- Influences
function p.influencedby()
return {
type = 'row',
label =
function(localdata, item)
if gender == 'f' then
return 'Influencée par'
else
return 'Influencé par'
end
end,
value = 'influencé par',
wikidata = {property = 'P737'},
}
end
function p.influenced()
return {
type = 'row',
label = 'A influencé',
value = {'a influencé', 'influence de'},
}
end
-- Appartenances
function p.movement()
return
{
type = 'row',
label = 'Mouvement',
value = 'mouvement',
plurallabel = 'Mouvements',
wikidata = {property = 'P135', sorttype= 'chronological', showdate = true, precision = 'year'},
}
end
-- Religion
function p.religion()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Religion',
value = 'religion',
},
{
type = 'row',
label = 'Date de baptême',
value = 'date de baptême',
property = 'P1636',
},
--{
-- type = 'row', En l'état, afficherait "parrain" y compris pour la marraine. Quoi qu'il en soit, pertinence douteuse.
-- label = 'Parrain',
-- plurallabel = 'Parrains',
-- value = 'parrain',
-- property = 'P1290',
--},
{
type = 'row',
label = 'Nom en religion',
plurallabel = 'Noms en religion',
value = 'nom en religion',
property = 'P1635',
},
{
type = 'row',
label = 'Ordre religieux',
plurallabel = 'Ordres religieux',
value = 'ordre religieux',
wikidata = {property = 'P611', showdate = true, sorttype= 'chronological', precision = 'year', stilltrue = not dead},
},
{
type = 'row',
label = 'Consécrateur',
plurallabel = 'Consécrateurs',
value = 'consécrateur',
property = 'P1598',
},
{
type = 'row',
label =
function(localdata, item)
if gender == 'f' then
return 'Vénérée par'
elseif gender == 'm' then
return 'Vénéré par'
else
return 'Vénéré par'
end
end,
value = 'vénéré par',
property = 'P1049',
},
{
type = 'row',
label =
function(localdata, item)
if gender == 'f' then
return 'Vénérée à'
elseif gender == 'm' then
return 'Vénéré à'
else
return 'Vénéré à'
end
end,
value = 'vénéré à',
-- property = ,
},
{
type = 'row',
label = 'Étape de canonisation',
value = 'étape de canonisation',
wikidata = {
property = 'P411',
labelformat = genderedlabel,
unknownlabel = 'inconnue'
},
},
}}
end
-- Carrière militaire
function p.military()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Arme',
plurallabel = 'Armes',
value = 'arme',
wikidata = {property = 'P241', showdate = true, stilltrue = not dead, sorttype= 'chronological', precision = 'year', unknownlabel = 'inconnue'},
},
{
type = 'row',
label = 'Unité',
plurallabel = 'Unités',
value = 'unité',
wikidata = {property = 'P7779', showdate = true, stilltrue = not dead, sorttype= 'chronological', precision = 'year', unknownlabel = 'inconnue', conjtype = 'new line'},
},
{
type = 'row',
label = 'Grade militaire',
plurallabel = 'Grades militaires',
value = 'grade militaire',
blockers = {'grade'}, -- paramètre théoriquement dédié aux arts martiaux et au go mais souvent rempli avec des grades militaires
wikidata = {
property = 'P410',
showdate = true, sorttype= 'chronological', precision = 'year',
speciallabels = militaryranks,
conjtype ='new line',
labelformat = genderedlabel,
stilltrue = not dead
},
},
{
type = 'row',
label = 'Conflit',
plurallabel = 'Conflits',
value = 'conflit',
wikidata = {property = 'P607', conjtype = 'new line', showdate = true, stilltrue = not dead, sorttype= 'chronological', precision = 'year'},
},
}}
end
-- Carrière de torero
function p.torero()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Alternative',
value = 'alternative',
wikidata = function() return wikidata.keyDate('Q2840411', item) end
},
{
type = 'row',
label = "Confirmation d'alternative",
value = 'confirmation alt',
wikidata = function() return wikidata.keyDate('Q23308805', item) end
},
}}
end
-- Sport
function p.sport()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Sport',
plurallabel = 'Sports',
value = {'sport', 'sport pratiqué'},
wikidata = {property = 'P641'},
},
{
type = 'row',
label = 'Équipe',
plurallabel = 'Équipes',
value = 'équipe',
wikidata = {
property = 'P54',
sorttype= 'chronological',
conjtype = 'new line',
statementformat = function(statement)
local str = wikidata.formatStatement(statement, {showdate = true})
local compets = wikidata.getFormattedQualifiers(statement, {'P1350'})
if tonumber(compets) and (tonumber(compets) > 1) then
compets = compets .. ' matchs joués'
elseif compets then
compets = compets .. ' match joué'
end
local points = wikidata.getFormattedQualifiers(statement, {'P1351'})
if tonumber(points) and (tonumber(points) > 1) then
points = points .. ' points marqués'
elseif points then
points = points .. 'point marqué'
end
local qualifiers = linguistic.conj{compets, points}
if qualifiers then
str= str .. ' <small> – ' .. qualifiers .. ' </small>'
end
return str
end
}
},
{
type = 'row',
label = 'Position',
plurallabel = 'Positions',
value = {'position', 'poste', 'spécialité'},
wikidata = {property = 'P413',
labelformat = genderedlabel,
unknownlabel = 'inconnue'
},
},
{
type = 'row',
label = 'Discipline sportive',
plurallabel = 'Disciplines sportives',
value = 'discipline sportive',
wikidata = {property = 'P2416', unknownlabel = 'inconnue'},
},
{
type = 'row',
label = 'Prise de raquette',
value = 'prise de raquette',
wikidata = {property = 'P741', unknownlabel = 'inconnue'},
},
{
type = 'row',
label = 'Tire de la',
value = 'tire',
wikidata = {property = 'P423'},
},
{
type = 'row',
label = 'Repêchage par',
plurallabel = 'Repêchages par',
value = 'repêchage',
wikidata = {
property = 'P647',
statementformat = function(statement)
local team = wikidata.formatStatement(statement)
local moment = wikidata.getFormattedQualifiers(statement, {'P793'}) or wikidata.getFormattedQualifiers(statement, {'P585'})
local rank = wikidata.getFormattedQualifiers(statement, {'P1836'})
if rank then
rank = require 'Module:Nombre2texte'.ordinal(rank) .. ' choix'
end
local qualifs = linguistic.conj({moment, rank}, ' – ')
if not qualifs then
return team
end
return team .. ' <small>(' .. qualifs .. ')</small>'
end
},
},
{
type = 'row',
label = 'Capes internationales',
value = 'capes',
wikidata = {property = 'P1129', numval = 1},
},
{
type = 'row',
label = 'Titre aux échecs',
plurallabel = 'Titres aux échecs',
value = 'titre aux échecs',
wikidata = {property = 'P2962', sorttype= 'chronological', showdate = true, stilltrue = not dead, precision = 'year'},
},
{
type = 'row',
label = 'Classement Elo',
value = 'classement elo',
wikidata = {property = 'P1087', numval = '1', sorttype = 'inverted', showdate = true, precision = 'year', removedupes = true},
},
{
type = 'row',
label = 'Record détenu',
plurallabel = 'Records détenus',
value = 'record détenu',
wikidata = {property = 'P1000', sorttype= 'chronological', showdate = true},
},
{
type = 'row',
label = 'Entraîneur',
plurallabel = 'Entraîneurs',
value = 'entraîneur',
wikidata = {property = 'P286', sorttype= 'chronological', showdate = true, stilltrue = not dead, precision = 'year'},
},
{
type = 'row',
label = 'Copilote',
plurallabel = 'Copilotes',
value = 'copilote',
wikidata = {property = 'P2095', sorttype= 'chronological', showdate = true, stilltrue = not dead, precision = 'year'},
},
{
type = 'row',
label = 'Mécène',
plurallabel = 'Mécènes',
value = {'mécène', 'mécènes', 'sponsor', 'sponsors'},
wikidata = {property = 'P859', sorttype= 'chronological', showdate = true, stilltrue = not dead, precision = 'year'},
},
}}
end
-- Contacts
function p.contacts()
return {type = 'multi', rows = {
{
type = 'row',
label = localdata['intitulé maître'] or 'Maître',
plurallabel = 'Maîtres',
value = {'maître', 'maîtres'},
wikidata = {property = 'P1066', sorttype= 'chronological', showdate = true, stilltrue = not dead, precision = 'year'},
},
{
type = 'row',
label = {
ms = 'Directeur de thèse',
fs = 'Directrice de thèse',
mp = 'Directeurs de thèse',
fp = 'Directrices de thèse',
default = '<abbr class="abbr" title="Direction">Dir.</abbr> de thèse'
},
value = {'directeur de thèse', 'dir. de thèse'},
wikidata = {property = 'P184', sorttype= 'chronological', showdate = true, precision = 'year'},
},
{
type = 'row',
label = 'Agent',
label =
function(localdata, item)
if gender == 'f' then
return 'Représentée par'
elseif gender == 'm' then
return 'Représenté par'
else
return 'Représenté par'
end
end,
value = 'représenté par',
wikidata = {property = 'P1875'},
},
{ -- Partenaire professionnel ou sportif
type = 'row',
label = 'Partenaire',
plurallabel = 'Partenaires',
value = 'partenaire',
wikidata = {property = 'P1327', showdate = true, sorttype= 'chronological'},
},
{
type = 'row',
label = localdata['intitulé élève'] or 'Élève',
plurallabel = 'Élèves',
value = {'élève', 'élèves'},
wikidata = {property = 'P802', sorttype= 'chronological', showdate = true, stilltrue = not dead, precision = 'year', numval = '5', expl = ''},
},
{
type = 'row',
label = 'Étudiant de thèse',
plurallabel = 'Étudiants de thèse',
value = 'étudiant de thèse',
wikidata = {property = 'P185', sorttype= 'chronological', showdate = true, precision = 'year', numval = '5', expl = ''},
},
{
type = 'row',
label = 'Personne liée',
plurallabel = 'Personnes liées',
value = 'personne liée',
wikidata = {property = 'P3342', numval = 5, showqualifiers = 'P3831',qualiflink="-",qualiflabelformat="objectgender"}, --objectgender à créer dans Module:Wikidata
},
}}
end
-- Mécénat
function p.patron()
return {
type = 'row',
label = '[[Mécénat|Mécènes]]',
singularlabel = '[[Mécénat|Mécène]]',
plurallabel = '[[Mécénat|Mécènes]]',
value = 'mécènes',
wikidata = {property = 'P859', showdate = true, stilltrue = not dead, sorttype = 'chronological', conjtype = 'comma'},
}
end
-- Musique
function p.music()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Tessiture',
value = 'tessiture',
wikidata = {property = 'P412', unknownlabel = 'inconnue'}
},
{
type = 'row',
label = 'Fach',
value = 'fach',
property = 'P1731',
},
{
type = 'row',
label = 'Instrument',
plurallabel = 'Instruments',
value = 'instrument',
wikidata = {property = 'P1303', sorttype= 'chronological', excludevalues='Q17172850'}, --probablement jugée redondante avec l'occupation "chanteur"
},
{
type = 'row',
label = 'Label',
plurallabel = 'Labels',
value = 'label',
wikidata = {property = 'P264', sorttype= 'chronological', showdate = true, precision = 'year'},
},
}}
end
-- Victimes
function p.victims()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Victimes',
value = 'victimes',
wikidata = {property = 'P1345'},
},
}}
end
-- Condamnations
function p.penalties()
return {type = 'multi', rows = {
{
type = 'row',
label = function(localdata, item)
if gender == 'f' then
return 'Condamnée pour'
elseif gender == 'm' then
return 'Condamné pour'
else
return 'Condamné pour'
end
end,
value = 'condamné pour',
wikidata = {property = 'P1399', showdate = true, sorttype = 'chronological', precision = 'year', conjtype = 'comma'},
},
{
type = 'row',
label = 'Condamnation',
plurallabel = 'Condamnations',
value = 'condamnation',
wikidata = {property = 'P1596', showdate = true, sorttype = 'chronological', precision = 'year', conjtype = 'comma'},
},
{
type = 'row',
label = 'Lieu de détention',
plurallabel = 'Lieux de détention',
value = 'lieu de détention',
wikidata = {property = 'P2632', showdate = true, sorttype = 'chronological', precision = 'year', conjtype = 'comma'},
},
}}
end
-- Physique
function p.appearance()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Taille',
value = 'taille',
wikidata = {property = 'P2048', targetunit = 'metre', rounding = '2', unknownlabel = 'inconnue'},
},
{
type = 'row',
label = '[[masse corporelle|Poids]]',
value = {'poids','masse'},
wikidata = {property = 'P2067', targetunit = 'kilogram', conjtype = 'new line', showdate=true, rounding = '1'},
},
{
type = 'row',
label = 'Cheveux',
value = 'cheveux',
wikidata = {property = 'P1884'},
},
{
type = 'row',
label = 'Yeux',
value = 'yeux',
wikidata = {property = 'P1340'},
},
}}
end
-- Famille
function p.gens()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Gens',
value = 'gens',
wikidata = {property = 'P5025', unknownlabel = 'inconnue',},
},
}}
end
function p.family()
local function showkinship(statement)
local personid = wikidata.getMainId(statement)
local personlabel = wikidata.formatEntity(personid, {
labelformat2 = noble.labelInfobox
})
local persongender = wikidata.getgender(personid)
local kintype = wikidata.getFormattedQualifiers(
statement,
'P1039',
{
labelformat = function(id) return genderedlabel(id, persongender) end,
link = '-'
}
)
if kintype then
return personlabel .. ' ' .. linguistic.inparentheses(kintype)
end
return personlabel
end
return {type = 'multi', rows = {
{
type = 'row',
label = 'Famille',
plurallabels = 'Familles',
value = 'famille',
property = 'P53',
},
{
type = 'row',
label = 'Père',
value = 'père',
wikidata = {
property = 'P22',
showqualifiers = "P1039",
conjtype = ' ou ',
labelformat2 = noble.labelInfobox
},
},
{
type = 'row',
label = 'Mère',
value = 'mère',
wikidata = {property = 'P25',
showqualifiers = "P1039",
unknownlabel = 'inconnue',
conjtype = ' ou ',
labelformat2 = noble.labelInfobox
},
},
{
type = 'row',
label = 'Beau-parent',
plurallabel = 'Beaux-parents',
value = {'beau-parent', 'beau-père', 'belle-mère'},
wikidata = {
property = 'P3448',
labelformat2 = noble.labelInfobox
},
},
{
type = 'row',
label = 'Fratrie',
value = 'fratrie',
wikidata = {
property = 'P3373',
sorttype = 'age',
conjtype = 'new line',
textformat = 'long',
precision = 'year',
stilltrue = not dead,
statementformat = showkinship,
excludespecial = true,
labelformat2 = noble.labelInfobox,
}
},
{
type = 'row',
label = 'Conjoint', -- todo : adapter le libellé en genre ?
plurallabel = 'Conjoints',
value = 'conjoint',
wikidata = {
property = 'P26',
showdate = true,
linktopic = '-',
sorttype = 'chronological',
conjtype = 'new line',
textformat = 'long',
precision = 'year',
stilltrue = not dead,
precision = 'year',
excludespecial = true,
labelformat2 = noble.labelInfobox,
}
},
{
type = 'row',
label = localdata['intitulé enfant'] or 'Enfant',-- todo : adapter le libellé en genre ?
plurallabel = 'Enfants',
value = 'enfant',
wikidata = {
property = 'P40',
conjtype = 'new line',
showdate = false,
sorttype = 'age',
labelformat2 = noble.labelInfobox,
}
},
{
type = 'row',
label = 'Parentèle',
value = 'parentèle',
wikidata = {
property = 'P1038',
excludespecial = true,
conjtype = 'new line',
statementformat = showkinship
}
},
}}
end
-- Esclavage
function p.slavery()
return {type = 'multi', rows = {
{
type = 'row',
label = 'Statut',
plurallabel = 'Statuts',
value = 'statut',
wikidata = {property = 'P3716',
showdate = true,
labelformat = genderedlabel,
excludevalues = {'Q11573099','Q10076267'}, --membre de la famille royale (doublon avec les propriétés familiales) et propriétaire d'esclaves (pas vraiment un statut)
defaultlinkquery = 'P425'},
},
{
type = 'row',
label = 'Propriétaire',
plurallabels = 'Propriétaires',
value = 'propriétaire',
wikidata = {property = 'P127'},
},
}}
end
-- Œuvres
function p.works(params)
params = params or {}
local title = params.title or 'Œuvres principales'
params.title = nil
local wikidata = {
excludespecial = true,
numval = 5,
property = 'P800',
defaultlink = 'image',
showdate= true,
labelformat = function(id)
local label = wikidata.getLabel(id)
if label then
if wikidata.isInstance('Q386724', id, 6) then --italique pour les instances d' "œuvre" ou ses sous-classes
if wikidata.isInstance('Q14897293', id, 5) or wikidata.isInstance('Q13226383', id, 5) or wikidata.isInstance('Q3622126', id, 5) or wikidata.isInstance('Q12894677', id, 5) then
--sauf les instances d'"entité fictionnelle", "équipement", "système de concepts", "moyen pour une fin" ou leurs sous-classes
return label
else
return '<i>' .. label .. '</i>'
end
else
return label
end
end
end,
}
for i, j in pairs(params) do
wikidata[i] = j
end
return
{type = 'table', title = title, singulartitle = singulartitle, rows =
{
{
type = 'row',
value = 'œuvres principales',
wikidata = wikidata
}
}
}
end
function p.filmography()
local title = 'Films notables'
return
{type = 'row', label = 'Films notables', value = 'films notables', property = 'P1283'}
end
function p.discography()
local title = 'Discographie'
return
{type = 'row', label = 'Discographie', value = 'discographie', property = 'P358'}
end
-- Signature
function p.signature(default)
local nom = localdata.nom or mw.title.getCurrentTitle().text
local alt = 'signature de ' .. nom
if mw.ustring.match( nom, '^[AEÈÉIOUY]' ) then
alt = "signature d'" .. nom
end
return {
type = 'images',
imageparameters = {'signature'},
defaultimage = default,
captionparameter = 'légende signature',
defaultcaption = 'Signature',
uprightparameter = 'upright signature',
defaultupright = 0.75,
defaultalt = alt,
property = 'P109',
numval = 1
}
end
-- Enregistrement vocal
function p.voice()
return {
type = 'images',
style = {['padding-top'] = '25px'},--{['border-width'] = '10px', ['border-style'] = 'solid'},
defaultcaption = 'Enregistrement vocal',
captionparameter = 'légende voix',
imageparameters = 'voix',
defaultsize = '280',
wikidata = general.selectSound('P990'),
numval = 1,
}
end
-- Site web
p.website = general.website
-- Prononciation
p.prononciation = general.prononciation
-- fête du saint
function p.feast()
local title = 'Fête'
return {
type = 'row',
label = 'Fête',
value = 'fête',
wikidata = {property = 'P841' , showqualifiers = 'P276', unknownlabel = 'inconnue'}
}
end
-- archivé par
function p.archivesat()
return {type = 'row', label = 'Archives conservées par', value = "archivé par",
wikidata = {
property = 'P485', conjtype = 'new line',
showqualifiers = {'P217','P7328','P585','P7103','P7104'}, qualifprecision = 'year',
qualifformat = function(statement, qualifs, params) -- basé sur wikidata.getFormattedQualifiers dans [[Module:Wikidata]]
local str = ''
if not params then params = {} end
local qualiftable = wikidata.getQualifiers(statement, qualifs)
if not qualiftable then
return nil
end
qualiftable = wikidata.filterClaims(qualiftable, params) or {}
for i, snak in pairs(qualiftable) do
if (snak.datatype == 'time' and snak.property == 'P7104') then -- fin de période couverte
str = str .. '-'
elseif i > 1 then
str = str .. ', '
end
qualiftable[i] = wikidata.formatSnak(snak, params)
if snak.datatype == 'quantity' and tonumber(snak.datavalue.value.amount) > 1 then -- pluriel
qualiftable[i] = qualiftable[i] .. 's'
end
str = str .. qualiftable[i]
end
return str
end,
showsource = true
}
}
end
return p