Module:Episode/index
Apparence
| 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 data = mw.loadData("Module:Episode/index/data")
local p = {}
local function normalize(s)
s = s or ""
s = mw.text.trim(s)
-- Décomposition Unicode
s = mw.ustring.toNFD(s)
-- Tentative de suppression des accents (ancienne version)
-- (pattern invalide mais qui ne supprimait rien → cohérent avec tes alias)
s = mw.ustring.gsub(s, "[\u0300-\u036F]", "")
-- Apostrophes typographiques → apostrophe simple
s = mw.ustring.gsub(s, "[’‘´`]", "'")
-- Guillemets typographiques → guillemets simples
s = mw.ustring.gsub(s, "[“”]", "\"")
-- Tirets typographiques → tiret simple
s = mw.ustring.gsub(s, "[–—−]", "-")
-- Espaces multiples → un seul espace
s = mw.ustring.gsub(s, "%s+", " ")
return mw.ustring.lower(mw.text.trim(s))
end
function p.get(key)
return data[normalize(key)]
end
return p