« Module:Type d'apparition » : différence entre les versions
Apparence
Contenu supprimé Contenu ajouté
Page créée avec « local p = {} local types = { -- Main character main = "Personnage principal de ", ["main character"] = "Personnage principal de ", m = "Personnage principal de ", ma = "Personnage principal de ", p = "Personnage principal de ", principal = "Personnage principal de ", ["personnage principal"] = "Personnage principal de ", -- Supporting character supporting = "Personnage secondaire de ", ["supporting character"] = "Personn... » |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
local p = {} |
local p = {} |
||
-- Normalisation Unicode + accents + espaces |
|||
local function normalize(str) |
|||
if not str or str == "" then |
|||
return "#default" |
|||
| ⚫ | |||
-- Trim |
|||
str = mw.text.trim(str) |
|||
-- Minuscules Unicode |
|||
| ⚫ | |||
-- Remplacement tirets/underscores par espace |
|||
str = str:gsub("[%-%_]", " ") |
|||
-- Suppression accents |
|||
str = mw.ustring.toNFD(str) |
|||
str = str:gsub("[%z\1-\127\194-\244][\128-\191]*", function(c) |
|||
-- enlève les diacritiques |
|||
if mw.ustring.match(c, "[\204-\208][\128-\191]") then |
|||
return "" |
|||
end |
|||
return c |
|||
end) |
|||
-- Collapse espaces multiples |
|||
str = str:gsub("%s+", " ") |
|||
return str |
|||
end |
|||
-- Table des types |
|||
local types = { |
local types = { |
||
-- |
-- Personnage principal |
||
main = "Personnage principal de ", |
["main"] = "Personnage principal de ", |
||
["main character"] = "Personnage principal de ", |
["main character"] = "Personnage principal de ", |
||
m = "Personnage principal de ", |
["m"] = "Personnage principal de ", |
||
ma = "Personnage principal de ", |
["ma"] = "Personnage principal de ", |
||
p = "Personnage principal de ", |
["p"] = "Personnage principal de ", |
||
principal = "Personnage principal de ", |
["principal"] = "Personnage principal de ", |
||
["personnage principal"] = "Personnage principal de ", |
["personnage principal"] = "Personnage principal de ", |
||
| ⚫ | |||
-- Supporting character |
|||
supporting = "Personnage secondaire de ", |
["supporting"] = "Personnage secondaire de ", |
||
["supporting character"] = "Personnage secondaire de ", |
["supporting character"] = "Personnage secondaire de ", |
||
s = "Personnage secondaire de ", |
["s"] = "Personnage secondaire de ", |
||
su = "Personnage secondaire de ", |
["su"] = "Personnage secondaire de ", |
||
se = "Personnage secondaire de ", |
["se"] = "Personnage secondaire de ", |
||
secondaire = "Personnage secondaire de ", |
["secondaire"] = "Personnage secondaire de ", |
||
ps = "Personnage secondaire de ", |
["ps"] = "Personnage secondaire de ", |
||
["personnage secondaire"] = "Personnage secondaire de ", |
["personnage secondaire"] = "Personnage secondaire de ", |
||
-- Récurrent |
|||
-- Reccuring character |
|||
recurring = "Personnage récurrent de ", |
["recurring"] = "Personnage récurrent de ", |
||
["recurring character"] = "Personnage récurrent de ", |
["recurring character"] = "Personnage récurrent de ", |
||
re = "Personnage récurrent de ", |
["re"] = "Personnage récurrent de ", |
||
[" |
["recurrent"] = "Personnage récurrent de ", |
||
[" |
["recurent"] = "Personnage récurrent de ", |
||
| ⚫ | |||
-- One shot |
|||
["one shot"] = "Personnage one shot de ", |
["one shot"] = "Personnage one shot de ", |
||
| ⚫ | |||
["one shot character"] = "Personnage one shot de ", |
["one shot character"] = "Personnage one shot de ", |
||
guest = "Personnage one shot de ", |
["guest"] = "Personnage one shot de ", |
||
os = "Personnage one shot de ", |
["os"] = "Personnage one shot de ", |
||
g = "Personnage one shot de ", |
["g"] = "Personnage one shot de ", |
||
["personnage one shot"] = "Personnage one shot de ", |
["personnage one shot"] = "Personnage one shot de ", |
||
-- Mineur |
|||
-- Minor character |
|||
minor = "Personnage mineur de ", |
["minor"] = "Personnage mineur de ", |
||
["minor character"] = "Personnage mineur de ", |
["minor character"] = "Personnage mineur de ", |
||
mi = "Personnage mineur de ", |
["mi"] = "Personnage mineur de ", |
||
["mineur"] = "Personnage mineur de ", |
|||
["personnage mineur"] = "Personnage mineur de ", |
["personnage mineur"] = "Personnage mineur de ", |
||
| ⚫ | |||
-- Présence générique |
-- Présence générique |
||
yes = "Apparaît dans ", |
["yes"] = "Apparaît dans ", |
||
[ |
["true"] = "Apparaît dans ", |
||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
["#default"] = "Apparaît dans ", |
["#default"] = "Apparaît dans ", |
||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
-- Mention |
-- Mention |
||
mention = "Mentionné dans ", |
["mention"] = "Mentionné dans ", |
||
mentioned = "Mentionné dans ", |
["mentioned"] = "Mentionné dans ", |
||
me = "Mentionné dans ", |
["me"] = "Mentionné dans ", |
||
men = "Mentionné dans ", |
["men"] = "Mentionné dans ", |
||
[" |
["mentionne"] = "Mentionné dans ", |
||
-- |
-- Photo seule |
||
picture = "Photo seule dans ", |
["picture"] = "Photo seule dans ", |
||
photo = "Photo seule dans ", |
["photo"] = "Photo seule dans ", |
||
["photo seule"] = "Photo seule dans ", |
["photo seule"] = "Photo seule dans ", |
||
-- |
-- Voix seule |
||
voice = "Voix seule dans ", |
["voice"] = "Voix seule dans ", |
||
voix = "Voix seule dans ", |
["voix"] = "Voix seule dans ", |
||
-- |
-- Corps visible |
||
body = "Corps visible dans", |
["body"] = "Corps visible dans ", |
||
corpse = "Corps visible dans", |
["corpse"] = "Corps visible dans ", |
||
corps = "Corps visible dans", |
["corps"] = "Corps visible dans ", |
||
cadavre = "Corps visible dans", |
["cadavre"] = "Corps visible dans ", |
||
-- |
-- Scènes supprimées |
||
["deleted scenes"] = "Apparaît uniquement dans les scènes supprimées de ", |
["deleted scenes"] = "Apparaît uniquement dans les scènes supprimées de ", |
||
del = "Apparaît uniquement dans les scènes supprimées de ", |
["del"] = "Apparaît uniquement dans les scènes supprimées de ", |
||
sup = "Apparaît uniquement dans les scènes supprimées de ", |
["sup"] = "Apparaît uniquement dans les scènes supprimées de ", |
||
supp = "Apparaît uniquement dans les scènes supprimées de ", |
["supp"] = "Apparaît uniquement dans les scènes supprimées de ", |
||
[" |
["scene supprimee"] = "Apparaît uniquement dans les scènes supprimées de ", |
||
[" |
["scenes supprimees"] = "Apparaît uniquement dans les scènes supprimées de ", |
||
-- |
-- Flashbacks |
||
flash = "Apparaît uniquement dans des flashbacks de ", |
["flash"] = "Apparaît uniquement dans des flashbacks de ", |
||
flashback = "Apparaît uniquement dans des flashbacks de ", |
["flashback"] = "Apparaît uniquement dans des flashbacks de ", |
||
flashbacks = "Apparaît uniquement dans des flashbacks de ", |
["flashbacks"] = "Apparaît uniquement dans des flashbacks de ", |
||
| ⚫ | |||
-- |
-- Nom visible |
||
name = "Nom visible dans ", |
["name"] = "Nom visible dans ", |
||
nom = "Nom visible dans ", |
["nom"] = "Nom visible dans ", |
||
} |
} |
||
-- Récupération sécurisée |
|||
| ⚫ | |||
local function safe_get(param) |
|||
| ⚫ | |||
return types[param] or types["#default"] |
return types[param] or types["#default"] |
||
end |
|||
| ⚫ | |||
local raw = frame.args[1] or "yes" |
|||
local key = normalize(raw) |
|||
return safe_get(key) |
|||
end |
end |
||
Version du 16 juin 2026 à 18:49
| Il sera peut-être nécessaire de créer une page documentation pour ce module Scribunto programmé dans la page créer Les éditeurs peuvent faire des tests sur les pages bac à sable (créer | miroir) et études de cas (créer) du module. Veuillez ajouter les catégories dans la sous-page /documentation. Sous-pages de ce module. |
local p = {}
-- Normalisation Unicode + accents + espaces
local function normalize(str)
if not str or str == "" then
return "#default"
end
-- Trim
str = mw.text.trim(str)
-- Minuscules Unicode
str = mw.ustring.lower(str)
-- Remplacement tirets/underscores par espace
str = str:gsub("[%-%_]", " ")
-- Suppression accents
str = mw.ustring.toNFD(str)
str = str:gsub("[%z\1-\127\194-\244][\128-\191]*", function(c)
-- enlève les diacritiques
if mw.ustring.match(c, "[\204-\208][\128-\191]") then
return ""
end
return c
end)
-- Collapse espaces multiples
str = str:gsub("%s+", " ")
return str
end
-- Table des types
local types = {
-- Personnage principal
["main"] = "Personnage principal de ",
["main character"] = "Personnage principal de ",
["m"] = "Personnage principal de ",
["ma"] = "Personnage principal de ",
["p"] = "Personnage principal de ",
["principal"] = "Personnage principal de ",
["personnage principal"] = "Personnage principal de ",
-- Personnage secondaire
["supporting"] = "Personnage secondaire de ",
["supporting character"] = "Personnage secondaire de ",
["s"] = "Personnage secondaire de ",
["su"] = "Personnage secondaire de ",
["se"] = "Personnage secondaire de ",
["secondaire"] = "Personnage secondaire de ",
["ps"] = "Personnage secondaire de ",
["personnage secondaire"] = "Personnage secondaire de ",
-- Récurrent
["recurring"] = "Personnage récurrent de ",
["recurring character"] = "Personnage récurrent de ",
["re"] = "Personnage récurrent de ",
["recurrent"] = "Personnage récurrent de ",
["recurent"] = "Personnage récurrent de ",
["personnage recurrent"] = "Personnage récurrent de ",
-- One shot
["one shot"] = "Personnage one shot de ",
["one shot character"] = "Personnage one shot de ",
["guest"] = "Personnage one shot de ",
["os"] = "Personnage one shot de ",
["g"] = "Personnage one shot de ",
["personnage one shot"] = "Personnage one shot de ",
-- Mineur
["minor"] = "Personnage mineur de ",
["minor character"] = "Personnage mineur de ",
["mi"] = "Personnage mineur de ",
["mineur"] = "Personnage mineur de ",
["personnage mineur"] = "Personnage mineur de ",
-- Présence générique
["yes"] = "Apparaît dans ",
["true"] = "Apparaît dans ",
["y"] = "Apparaît dans ",
["t"] = "Apparaît dans ",
["o"] = "Apparaît dans ",
["oui"] = "Apparaît dans ",
["v"] = "Apparaît dans ",
["vrai"] = "Apparaît dans ",
["#default"] = "Apparaît dans ",
-- Mention
["mention"] = "Mentionné dans ",
["mentioned"] = "Mentionné dans ",
["me"] = "Mentionné dans ",
["men"] = "Mentionné dans ",
["mentionne"] = "Mentionné dans ",
-- Photo seule
["picture"] = "Photo seule dans ",
["photo"] = "Photo seule dans ",
["photo seule"] = "Photo seule dans ",
-- Voix seule
["voice"] = "Voix seule dans ",
["voix"] = "Voix seule dans ",
-- Corps visible
["body"] = "Corps visible dans ",
["corpse"] = "Corps visible dans ",
["corps"] = "Corps visible dans ",
["cadavre"] = "Corps visible dans ",
-- Scènes supprimées
["deleted scenes"] = "Apparaît uniquement dans les scènes supprimées de ",
["del"] = "Apparaît uniquement dans les scènes supprimées de ",
["sup"] = "Apparaît uniquement dans les scènes supprimées de ",
["supp"] = "Apparaît uniquement dans les scènes supprimées de ",
["scene supprimee"] = "Apparaît uniquement dans les scènes supprimées de ",
["scenes supprimees"] = "Apparaît uniquement dans les scènes supprimées de ",
-- Flashbacks
["flash"] = "Apparaît uniquement dans des flashbacks de ",
["flashback"] = "Apparaît uniquement dans des flashbacks de ",
["flashbacks"] = "Apparaît uniquement dans des flashbacks de ",
-- Nom visible
["name"] = "Nom visible dans ",
["nom"] = "Nom visible dans ",
}
-- Récupération sécurisée
local function safe_get(param)
return types[param] or types["#default"]
end
function p.render(frame)
local raw = frame.args[1] or "yes"
local key = normalize(raw)
return safe_get(key)
end
return p