Aller au contenu

« Module:Type d'apparition » : différence entre les versions

De Stargate Wiki Sémantique
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"
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 = {
local types = {
-- Main character
-- 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 ",


-- Personnage secondaire
-- 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 ",
["récurrent"] = "Personnage récurrent de ",
["recurrent"] = "Personnage récurrent de ",
["personnage récurrent"] = "Personnage récurrent de ",
["recurent"] = "Personnage récurrent de ",
["personnage recurrent"] = "Personnage récurrent de ",


-- One shot character
-- One shot
["one shot"] = "Personnage one shot de ",
["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 ",
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 ",
["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 ",
["#default"] = "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 ",


-- 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 ",
["mentionné"] = "Mentionné dans ",
["mentionne"] = "Mentionné dans ",


-- Visual presence only
-- 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 ",


-- Vocal presence only
-- Voix seule
voice = "Voix seule dans ",
["voice"] = "Voix seule dans ",
voix = "Voix seule dans ",
["voix"] = "Voix seule dans ",


-- Corpse
-- 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 ",


-- Deleted scenes only
-- 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 ",
["scène supprimée"] = "Apparaît uniquement dans les scènes supprimées de ",
["scene supprimee"] = "Apparaît uniquement dans les scènes supprimées de ",
["scènes supprimées"] = "Apparaît uniquement dans les scènes supprimées de ",
["scenes supprimees"] = "Apparaît uniquement dans les scènes supprimées de ",


-- Flashback only
-- 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 ",

-- Name visible only
-- Nom visible
name = "Nom visible dans ",
["name"] = "Nom visible dans ",
nom = "Nom visible dans ",
["nom"] = "Nom visible dans ",
}
}


-- Récupération sécurisée
function p.render(frame)
local function safe_get(param)
local param = mw.ustring.lower(frame.args[1] or "yes")
return types[param] or types["#default"]
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
end



Version du 16 juin 2026 à 18:49

Documentation icon Documentation module[créer]
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